Skip to content

Release v2.2.9 - "Perform-ata"

Latest

Choose a tag to compare

@github-actions github-actions released this 31 Aug 03:03
· 20 commits to main since this release
0b1cb6f

Release v2.2.9

Overview

  • Material improvements in performance. Pruned dead code, and refactored allocator and dispatch. Some minor conformance improvements. Speed improvements especially in nested array access. Should perform faster than jsonata-js in most use cases now.

Changes

  • Merge pull request #161 from txjmb/claude/lectrec-closure-issue-n2ti8v (0b1cb6f)
  • fix(release): build the aarch64 Linux wheel in the manylinux_2_28 cross image (5d692d6)
  • chore: Bump version to 2.2.9 (5a2a8b5)
  • Merge pull request #160 from txjmb/claude/lectrec-closure-issue-n2ti8v (bc63b77)
  • ci(release): optional release_name input flows into the release title and changelog heading (8572256)
  • refactor(evaluator): typed PartialApplication replaces the marker-string partial protocol (0d01c35)
  • refactor(evaluator): carry the closure in JValue::Lambda; delete the scope side table and escape-analysis GC (2dac8e7)
  • test: letrec/closure stress suite pinning current behavior (#157 prerequisite) (7fe490e)
  • Merge pull request #158 from txjmb/claude/nested-arrays-performance-fvc5ba (e1a32a0)
  • refactor(evaluator): delete the fast path's drifted tuple branch (6087342)
  • fix(evaluator): unify field-extraction onto compiled_field_step; fix ArrayGroup undefined handling (1f5be51)
  • fix(errors): one definition of coded errors; stop burying spec codes (7cf4376)
  • feat(capi): jsonata_set_limits — evaluation guardrails for C embedders (64151bd)
  • fix(numbers): match jsonata-js number stringification exactly (8b1c920)
  • Merge pull request #156 from txjmb/claude/nested-arrays-performance-fvc5ba (59656ab)
  • refactor(evaluator): name the end-of-path result policy (ec7dc1b)
  • refactor(evaluator): share StoredLambda via Rc in the scope side table (cbdca68)
  • fix(evaluator): $var.field skipped nested-array elements (3048374)
  • refactor(evaluator): retire the drifted bare-Name field-access copy (24ef40d)
  • refactor(builtins): one BuiltinSpec table as the single source of truth (a3df4f4)
  • refactor: dedupe signature errors, hofFuncArgs shaping, encoding arms; ast_transform guards (fa21e00)
  • refactor(evaluator): remove vestigial explicit-null plumbing, unify twins (d097f0a)
  • feat: Expression API — bytecode VM for Rust callers, one shared dispatch (ce3283d)
  • fix(regex): stop dropping the m flag in $match and ~> chain-pipe (ec7e8de)
  • refactor: apply whole-codebase cleanup review findings (69ee415)
  • perf(python): faster data conversion via exact-type dispatch and mimalloc (130684d)
  • docs(benchmarks): update performance.md for v2.2.8 (201198d)

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.9

Verification

import jsonatapy
print(jsonatapy.__version__)  # Should print: 2.2.9