Skip to content

Release v0.15.0

Compare
Choose a tag to compare
@TristonianJones TristonianJones released this 02 May 18:42
· 160 commits to master since this release
0e0af4a

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 and strings.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