diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ef62dd5..35d49ed3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ In the future, this is expected to change. It's likely that at 0.5.0, we will de Format [Keep A ChangeLog](https://keepachangelog.com/en/1.0.0/) +## [0.5.0-beta.1] + +### Changed +- [185](https://github.com/evinism/mistql/pull/185) + JS: Updated `filterkeys`, `filtervalues`, `matchkeys`,`matchvalues` to reject non-objects. +- [203](https://github.com/evinism/mistql/pull/203)Python: Made typeguard opt-in via env var. +- [201](https://github.com/evinism/mistql/pull/201)Python: Enabled an LRU cache for the parser. +- [202](https://github.com/evinism/mistql/pull/202)Python: Enabled lazy conversion and evaluation of input objects via an opt-in instance flag. + +### Fixed +- [185](https://github.com/evinism/mistql/pull/185) Made `string` throw errors for deeply-nested non-stringable values. +- [185](https://github.com/evinism/mistql/pull/185) JS: Modulo operator now throws an error for division by zero. + ## [0.4.12] ### Changed diff --git a/js/package.json b/js/package.json index 5017ec5a..3123f3f4 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "mistql", - "version": "0.4.12", + "version": "0.5.0-beta.1", "description": "JS implementation of miniature query language", "main": "dist/umd/index.js", "module": "dist/esm/index.js", @@ -12,7 +12,7 @@ "bin" ], "bin": { - "mq": "./bin/mq.js" + "mq": "bin/mq.js" }, "exports": { ".": { diff --git a/meta.json b/meta.json index c5eb82b2..a77380ca 100644 --- a/meta.json +++ b/meta.json @@ -1,3 +1,3 @@ { - "version": "0.4.12" + "version": "0.5.0-beta.1" } \ No newline at end of file diff --git a/py/mistql/__init__.py b/py/mistql/__init__.py index dba05e08..4025bca7 100644 --- a/py/mistql/__init__.py +++ b/py/mistql/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.4.12" +__version__ = "0.5.0b1" from .query import query # noqa: F401 from .instance import MistQLInstance # noqa: F401 diff --git a/py/pyproject.toml b/py/pyproject.toml index 9c541fd5..ed0c193a 100644 --- a/py/pyproject.toml +++ b/py/pyproject.toml @@ -7,7 +7,7 @@ packages = ["mistql"] [project] name = "mistql" -version = "0.4.12" +version = "0.5.0b1" description = "Python implementation of MistQL query language" readme = "README.md" requires-python = ">=3.8.1" diff --git a/py/tests/test_mistql.py b/py/tests/test_mistql.py index 39cc7649..33ab18fd 100644 --- a/py/tests/test_mistql.py +++ b/py/tests/test_mistql.py @@ -9,7 +9,7 @@ def test_version(): meta_file_path = os.path.join(os.path.dirname(__file__), "..", "..", "meta.json") assert __version__ == toml.load(pyproject_path)["project"]["version"] with open(meta_file_path) as f: - assert __version__ == json.load(f)["version"] + assert __version__ == json.load(f)["version"].replace("-beta.", "b") def test_query_is_callable(): diff --git a/py/uv.lock b/py/uv.lock index d73634c4..10168d82 100644 --- a/py/uv.lock +++ b/py/uv.lock @@ -266,7 +266,7 @@ wheels = [ [[package]] name = "mistql" -version = "0.4.12" +version = "0.5.0b1" source = { editable = "." } dependencies = [ { name = "json-lines" }, diff --git a/version-cutting.md b/version-cutting.md index 29c0d2b0..24770c18 100644 --- a/version-cutting.md +++ b/version-cutting.md @@ -7,12 +7,17 @@ This is a checklist (mostly for me) on how to cut a new version of MistQL. 1. Update the version in `py/mistql/__init__.py` 1. Update the version in `py/pyproject.toml` 1. Update the version in `js/package.json` -1. Update the version in `meta.yaml` +1. Update the version in `meta.json` +1. Build the python via `talc build py` to update the version in the wheel. 1. One final test via `talc test all` -1. Commit the changes (You should have 5 files changed) +1. Commit the changes (You should have 6 files changed) 1. Publish the npm and pypi packages via `talc publish js` and `talc publish py` 1. Update the doc version of MistQL 1. Version the docs via `npm run docusaurus docs:version X.Y.Z` 1. Commit the changes 1. Push the branch 1. Create a PR and merge it + + +Notes: +- Beta versions are formatted as `X.Y.Z-beta.N` for JS and `X.Y.ZbN` for Python, starting with N=1.