Skip to content

Releases: marcbachmann/cel-js

v7.0.3

02 Jan 21:12

Choose a tag to compare

7.0.3 (2026-01-02)

Bug Fixes

  • Migrate macros to comprehensions and fix error behavior (beb17de)

v7.0.2

31 Dec 13:12
5ce9621

Choose a tag to compare

7.0.2 (2025-12-31)

Performance Improvements

  • Reduce memory allocations in parser (9d54477)
  • Remove one layer of contexts to make variable lookups slightly faster (5ce9621)

v7.0.1

30 Dec 20:11
cf2a428

Choose a tag to compare

7.0.1 (2025-12-30)

Bug Fixes

  • Always verify type of nested dyn properties (4e0787b)

Performance Improvements

  • Make map and list detection faster by inlining constructor comparison into debugType (a0ae2f9)

v7.0.0

30 Dec 12:21

Choose a tag to compare

7.0.0 (2025-12-30)

Changelog

  • 🚀 Refactored evaluator & type-checker to share operator declarations and speed up performance
  • 💥 AST nodes now encapsulate their evaluation/type-check logic and expose richer metadata.
  • 🐛 Fix type checking of arguments of receiver calls when the receiver uses type dyn

💥 Breaking Change

In case anybody accessed the .ast of the .parse(expression) call or .node property on error instances, that code now needs adjustments. ast.toOldStructure() can be used to generate the old array based structure.

v6.5.1

23 Dec 15:44
c8a255c

Choose a tag to compare

6.5.1 (2025-12-23)

Bug Fixes

  • perf: Skip check on subsequent runs (c8a255c)

v6.5.0

22 Dec 09:00

Choose a tag to compare

6.5.0 (2025-12-22)

Changelog

  • 🐛 Improve type declarations of ternaries to correctly support optional types and also mixed types by find the least granular common type using type.unify(registry, otherType) (38f4708)
  • 🐛 Teach optional.or() to accept only other optionals and short-circuit evaluation so expensive fallback expressions aren’t executed unnecessarily. (ad0916f)
  • 👷 Update type-checker call paths to use the new cached candidate objects and improved error messaging (found no matching overload…).
  • 🎁 Add cel.bind(var, value, expr) macro to bind a value to an identifier within an expression. (e7b99d2)

v6.4.0

19 Dec 16:09

Choose a tag to compare

6.4.0 (2025-12-19)

Features

  • optional-chaining: Support optional types and together with that optional chaining (997cdef)

v6.3.4

10 Dec 00:45
cbd6216

Choose a tag to compare

6.3.4 (2025-12-10)

Bug Fixes

  • double: Fix 1.0 / 0.0 == double('Inf'), 1.0 / -0.0 == double('-Inf') and 0.0 / 0.0 == double('NaN') cases (70900d1)
  • number: Support exponent in number parser (75fecab)

v6.3.3

06 Dec 12:09

Choose a tag to compare

6.3.3 (2025-12-06)

Bug Fixes

  • performance: Reduce macro iterator complexity & improve async (7afc554)

v6.3.2

01 Dec 13:55
253e803

Choose a tag to compare

6.3.2 (2025-12-01)

Bug Fixes