Releases: google/cel-go
Release v0.13.0
This release introduces new extension libraries for working with protobuf message extensions, simple mathematical operations for least and greatest, as well as a significant new feature for working with optional values as defined in https://github.com/google/cel-spec/wiki/proposal-246.
In addition to these features, several fixes have been made to address bugs or security hardening issues.
Fixes
- Fix invalid get function assigned to MutableList [#575]
- Example of a stateful binding using environment extension [#577]
- ExprHelper.Copy to assist with unique id tagging of macro expanded ASTs [#579]
- Enable comparison of wrapped errors via errors.Is [#580]
- Refinement on recursion depth checking [#585]
- Add the missing global matches() declaration [#589]
- Parser refactor to improve syntactic correctness [#588]
- Harden field visiting parser paths [#611]
- Support assignment of a wrapper field to null [#604]
Features
- Library for creating and working with optional values. [#581]
- Proto extension library [#592]
- Math extension library for supporting least and greatest macros [#608]
- Extension to support Golang structs as CEL types [#612]
- Allow macros to return an empty Expr to indicate a non-expansion [#605]
- Add support for configuring parse recursion limits in EnvOptions. [#594]
- Stringer functions for list and map values [#578]
New Contributors
Full Changelog: v0.12.5...v0.13.0
Release v0.12.5
Release v0.12.4
Fixes
- Ensure overloads are searched in the order they are declared [#566]
- Augment dynamic dispatch to consider list and map element type information during overload resolution.
Full Changelog: v0.12.3...v0.12.4
Release v0.12.3
Fixes
- Add the duration declarations in the new style when UTC is enabled [#565]
Full Changelog: v0.12.2...v0.12.3
Release v0.12.2
Features
- Support formatting options when unparsing ASTs to strings [#559]
Fixes
- Add an applied features map for one-time only features [#564]
New Contributors
Full Changelog: v0.12.1...v0.12.2
Release v0.12.1
Fixes
- Fix the signature overlap check for parameterized types by [#563]
Full Changelog: v0.12.0...v0.12.1
Release v0.12.0
Features
- Introduce a REPL for testing basic CEL expressions. [#539]
- Add basic readme for REPL [#545]
- Add REPL support for loading protobuf descriptors [#555]
- Dispatcher refactor to improve function declaration, definition, and extension [#556]
- Export the built-in parser macros individually [#429]
Fixes
Note, the cel-spec indicates that time operations should be UTC by default. To opt-in to this behavior see #560 for more details. In v0.13.+ this feature is expected to be enabled by default.
- Provide an option to ensure time operations are in UTC by default [#560]
- Ensure the recursion depth is being checked during parser AST visit [#542]
- Add missing type specializations into the type-checker. [#543]
- Support for proto2 group fields [#547]
- Ensure that type substitutions consistently perform the 'occurs' check.[#550]
- Ensure that the
CheckedType
is populated for group fields [#552]
New Contributors
- @jnthntatum made their first contribution in #539
Full Changelog: v0.11.4...v0.12.0
Release v0.11.4
Fixes
- Omit large error strings [#537]
- Fix the occurs check to prevent tagging types as substitutions for themselves [#540]
Full Changelog: v0.11.3...v0.11.4
Release v0.11.3
Features
- Allow functions to accept error and unknown args [#525]
Fixes
- Minor adjustment to type-tests to support custom Bool types by [#521]
- Minor simplification of ValOrErr [#522]
- Fix protobuf merge when types have different descriptor instances [#526]
- Prevent clobbering vars maps provided by previous libs [#528]
- Use gazelle-compatible repository name for antlr [#529]
- Upgrade to ANTLR v4.10.1 and remove binary ANTLR tools [#533]
- Set the error reporting limit to 100 for parity with C++ [#534]
New Contributors
Full Changelog: v0.11.2...v0.11.3