cel-go v0.5.0 Release Notes

Release Date: 2020-05-08 // almost 4 years ago
  • ๐Ÿ‘Œ 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.