Release v0.5.0
TristonianJones
released this
08 May 20:49
·
474 commits
to master
since this release
Improvements
- [#342] Introduced
decls.NewVar
anddecls.NewConst
as a replacement fordecls.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.