Skip to content

Release v0.5.0

Compare
Choose a tag to compare
@TristonianJones TristonianJones released this 08 May 20:49
· 474 commits to master since this release
f3a4721

Improvements

  • [#342] Introduced decls.NewVar and decls.NewConst as a replacement for decls.NewIdent
  • [#343] Parse and check errors are stable sorted by their source location.
  • [#348] Added sync.Pool in front of ANTLR lexer / parser to improve checker performance.

Fixes

  • [#341] Support for namespaced functions. See Breaking Changes for more information before use.
  • [#345] Doc fix to remove reference to a removed evaluation option.

Breaking Changes

Support for namespaced function resolution means that CEL extension functions can now have qualified names, such as base64.encode. This has always been supported by the CEL type-checker and the CEL specification, but was never properly supported by the evaluators. As part of this fix, the type-checker introduces AST rewrites to ensure that all identifiers in the checked AST are fully-qualified. This change simplifies the execution planning phase for the program, but may introduce structural differences between v0.5+ ASTs and those created with prior releases of CEL.

The structural difference introduced with this change should not affect evaluation. If anything v0.5+ ASTs will improve the conformance of the C++ evaluator with the CEL spec.