Repository navigation
Release v2.2.4
Release v2.2.4
Changes
- Merge pull request #73 from txjmb/fix/vm-math-undefined (f39e2ab)
- fix(vm): propagate undefined through VM math builtins (parity with tree-walker and jsonata-js) (ccf0203)
- Merge pull request #72 from txjmb/fix/tree-walker-math-on-undefined (1da6ce6)
- Merge pull request #71 from txjmb/feature/lazy-python-views (73e6f9d)
- fix(evaluator): propagate undefined through tree-walker math builtins (c679fbb)
- chore(lint): satisfy CI gates — PyConversionError arms in Rust test suites, ruff format/lint fixes (5127720)
- Merge pull request #70 from txjmb/dependabot/cargo/rust-dependencies-d5b263d7fb (1c519d8)
- test: add JSONATAPY_FORCE_TREE_WALKER toggle; fix spec's tree-walker test mechanism (b3a5181)
- fix(lazy): complete conversion-error contract for $distinct and multi-arg by-reference dispatch (c0a3c66)
- fix(lazy): normalize lazy arg in builtin-by-reference dispatch; zero-cost equality guards (31fc5a5)
- fix(lazy): propagate conversion errors through equality/concat/in; doc + gate cleanups (d45f3aa)
- chore: bump version to 2.2.4; changelog and docs for lazy Python views (d3b2e4b)
- chore(deps): bump the rust-dependencies group with 2 updates (8703a8b)
- perf(lazy): cache only heap-typed field conversions; revise perf gate to measured targets (cab8942)
- test(lazy): add performance gate for spec targets (120daa4)
- style: rustfmt lazy-machinery code (2225c4a)
- feat(lazy): evaluate(dict) converts lazily by default — results may alias input dicts (matches jsonata-js) (13771cc)
- test(lazy): pass-through identity, int fidelity, mutation visibility, lazy TypeError semantics (f561b9e)
- test(lazy): full reference suite green in lazy mode on both engines (efbbe8c)
- feat(lazy): object consumers — builtin dispatch normalization, sort, transform, equality, truthiness (10a494e)
- feat(lazy): tree-walker field access on lazy dicts (8 sites) (852c515)
- test(lazy): missing-field test exercises the VM lazy arm (was vacuous via [0] fallback) (5f2ab5f)
- feat(lazy): VM field access on lazy dicts + _evaluate_lazy test hook (db13e1d)
- feat(lazy): LazyPyDict core, JValue variant, and boundary arms (unreachable until flip) (81dfc5e)
- docs(specs): correct stale reference-suite counts (suite is 1682 tests) (270f39c)
- docs(plans): record measured suite baselines (1682 tests; tree-walker 1676/1682 pre-existing) (4724be0)
- test: add JSONATAPY_FORCE_TREE_WALKER toggle; fix spec's tree-walker test mechanism (1221553)
- docs: version bump is 2.2.4 point release — versioning tracks jsonata-js (9d04f3a)
- docs(plans): implementation plan for lazy Python views (10 TDD tasks) (ed15d46)
- docs(specs): design lazy Python views (LazyPyDict) for the evaluate(dict) boundary (36f7561)
- docs(benchmarks): update performance.md for v2.2.3 (d1ea506)
Test Suite Compatibility
See the README for the current
reference-suite pass count -- this changelog no longer hardcodes a number here, since a
stale hardcoded count is exactly the kind of bug this project has previously shipped
and had to correct.
Installation
pip install jsonatapy==2.2.4Verification
import jsonatapy
print(jsonatapy.__version__) # Should print: 2.2.4