Release v0.15.0
TristonianJones
released this
02 May 18:42
·
160 commits
to master
since this release
Features
This release introduces a new feature for CEL which allows you to package up local variable
bindings within your expression, using the following syntax:
cel.bind(<varName>, <varInitExpr>, <remainingExpr>)
An example would look as follows:
cel.bind(vals, msg.nested_msg.repeated_strings,
vals.size() > 2 &&
vals[0].startsWith('prefix') &&
vals[1].endsWith('suffix'))
- CEL variable bindings [#682]
- Expose optional types as a REPL option [#675]
- Extension library for set-based tests over lists [#689]
Fixes
- Parser error reporting limit [#672]
- Prune recursion fixes for nested logic [#677]
- Add help and compile options to the REPL [#676]
- Fix for type guard on optimized set membership step [#678]
- Fix numeric unparsing for floats which represent integer values by [#686]
- Update ANTLR v4 WORKSPACE references [#691]
- Fix error message generation for parse-only expressions [#693]
- Additional string.format() test for message field accesses [#694]
Breaking changes
- Update the
ConvertToNative
API documentation andstrings.join
implementation [#692]
The strings.join
implementation had previously been based on ConvertToNative
, but this
presented some usability issues and the implementation was shifted to rely on ref.Val
and
traits.Iterator
. The new implementation can be opted into by using ext.StringsVersion(2)
,
or opted out of by using a version < 2.
Full Changelog: v0.14.0...v0.15.0