Skip to content

Releases: google/cel-go

v0.20.1

07 Mar 15:56
7654578
Compare
Choose a tag to compare

Minor release to capture a couple bug fixes and API / build visibility changes.

What's Changed

  • Track sizes of comprehension results by [#901]
  • Introduce new helper APIs for optimizers by [#903]
  • Make the CEL ast package public. [#904]

New Contributors

Full Changelog: v0.20.0...v0.21.0

Release v0.20.0

15 Feb 22:25
f221e70
Compare
Choose a tag to compare

What's Changed

  • Minor adjustment to inlining to fix a bad bind [#888]
  • Ensure error typed variables are returned as errors from Resolve b [#889]
  • ext.NativeTypes: Recursively add sub-types [#892]
  • DefaultTypeAdapter: Add support for missing custom scalars [#893]
  • Lists: Fix handling of go arrays [#894]

New Contributors

Full Changelog: v0.19.0...v0.20.0

Release v0.19.0

19 Jan 16:41
df07208
Compare
Choose a tag to compare

Features

  • Add AST node IDs to types.Err for errorable expressions [#862]
  • Set membership test rewriting optimizer [#865]
  • Introduce 'wither' method for changing type traits [#871]
  • Add option to include test types in the repl [#855]

Fixes

  • Fix MaxID to consider macro keys and expressions [#861]
  • Update builtin macros to use unique IDs. [#866]
  • Fix incorrect example in string formatting docs. [#873]
  • Fix the optional type name and type identifier resolution [#870]
  • Fix type substitution within parameterized type names [#880]
  • Bump follow-redirects from 1.15.2 to 1.15.4 in /repl/appengine/web [882]

New Contributors

Full Changelog: v0.18.2...v0.19.0

Release v0.18.2

10 Nov 19:50
cfbf821
Compare
Choose a tag to compare

What's Changed

  • Add support for ext.Bindings() to REPL [#843]
  • Add basic examples to the appengine repl [#848]
  • Sets cost estimation and tracking options [#850]
  • Fix expression inlining when working with macros [#853]
  • ANTLR v4.13 update [#857]

Full Changelog: v0.18.1...v0.18.2

Release v0.17.7

30 Oct 16:35
cfefae0
Compare
Choose a tag to compare

What's Changed

  • Backport #850: Sets cost estimation and tracking options [#852]

Full Changelog: v0.17.6...v0.17.7

Release v0.18.1

25 Sep 17:55
5840875
Compare
Choose a tag to compare

What's Changed

  • Add support for a relative offset within ast.SourceInfo by [#836]
  • Fix last optional element to be retained as an optional index while folding [#841]
  • Fix deprecation notice for string format validation [#840]
  • Update cel-spec and enable wrappers conformance tests [#842]
  • refactor: remove lexer and parser pools [#838]

New Contributors

Full Changelog: v0.18.0...v0.18.1

Release v0.18.0

01 Sep 19:36
5db3640
Compare
Choose a tag to compare

Features

The latest release of CEL introduces validators (#775) and optimizers (#804, #827) and migrates the core CEL internals off of the
protobuf expression and type representations (#789).

  • String format validator [#775]
  • Create a Function that Reverses a String [#796]
  • Introduce pre-order / post-order visitor pattern [#813]
  • Add Libraries() function to Env [#822]
  • Static optimizer for constant folding [#804]
  • Inlining optimizer [#827]
  • FindStructTypeFields support for types.Provider [#814]

Breaking Changes

The following PR changes the API signature of the checker.AstNode method Expr to return an ast.Expr.

  • Migrate the checker.Coster to the ast.Expr [#798]

Fixes

  • Nil safety checks for cel.Ast [#784]
  • Fix cost estimates to propagate result sizes [#787]
  • Catch invalid literals created from expression factories [#810]
  • Ensure stable ordering of overload candidates [#817]
  • Clarify replace with/by empty string [#820]
  • Fix functional exemptions for homogeneous literal checks [#832]
  • Fix logical operator folding that only involve literals [#833]
  • Upgrade go-genproto to latest [#831]

New Contributors

Full Changelog: v0.17.1...v0.18.0

Release v0.17.1

19 Jul 21:40
e517cf5
Compare
Choose a tag to compare

Minor release to address documentation gaps and additional methods to make unknowns more useful

Fixes

  • Helpers for accessing unknown state information [#781]

Full Changelog: v0.17.0...v0.17.1

Release v0.17.0

18 Jul 22:05
c2302e2
Compare
Choose a tag to compare

At a high-level this release introduces several changes which should improve ease of use
while also improving the evaluation safety and quality:

  • Standard library functions may be extended by using cel.Function options.
  • The unknown type now contains information about which field references were unknown.
  • Type representations have been consolidated to *types.Type.
  • New options have been added to add custom AST validations which are run after type-checking.
  • Additional macros were added for optional types, and a new extension was added for list slicing.
  • The cel.ContextProtoVars method has been added to bind proto fields to variable names,
    complementing cel.DeclareContextProto.

Features

  • Unify decls.Type with types.Type [#745]
  • Introduce optFlatMap and OptionalTypes documentation [#744]
  • Include expression id on parser and checker errors [#725]
  • Implement errors.Unwrap for types.Err. [#728]
  • Allow extension of stdlib functions [#747]
  • Add list library with slice method [#753]
  • Export FormatCELType in the 'cel' package [#763]
  • Validators for common literals and use cases [#765]
  • Comprehension nesting limit validator [#769]
  • Unify type adapter / provider representations [#770]
  • Benchmark harness with some initial reference cases [#750]
  • Simplified partial state evaluation [#766]
  • Update types.Unknown with attribute trails [#776]
  • ContextProtoVars() to simplify proto-based inputs [#779]
  • Variadic logical operator AST support [#726]

Fixes

  • Add the overload reference for optional field selection [#730]
  • Correct a typo in the README [#731]
  • Clear iteration variable data during expression pruning [#740]
  • Restore iter range pruning on comprehension ASTs [#757]

Breaking Changes

The following API changes may break users of cel-go:

  • Removal of *types.TypeValue, replaced by *types.Type
  • Removal of *exprpb.Type from public interfaces such as the checker.AstNode
  • Change in type definition for *types.Unknown. Switch from a type alias for []int64 to a structured type.

New Contributors

Full Changelog: v0.16.0...v0.17.0

Release v0.16.0

30 May 21:10
6548b40
Compare
Choose a tag to compare

Features

  • Expose ExpressionSizeCodePointLimit as env option. [#720]
  • Presence test cost tracking options [#721]
  • Support for optMap() optional value macro [#717]

Fixes

  • Bump socket.io-parser from 4.2.2 to 4.2.3 in /repl/appengine/web [#713]
  • Fix for macro call tracking with optional list elements by [#712]
  • Bump google.golang.org/genproto [#714]
  • Add vendor integrity check [#716]
  • Fix overload collision checks by ignoring type param names [#718]

New Contributors

Full Changelog: v0.15.3...v0.16.0