Releases: google/cel-go
v0.20.1
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
- @ShahedAlMashni made their first contribution in #904
Full Changelog: v0.20.0...v0.21.0
Release v0.20.0
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
- @alvaroaleman made their first contribution in #892
Full Changelog: v0.19.0...v0.20.0
Release v0.19.0
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
- @nicksnyder made their first contribution in #873
Full Changelog: v0.18.2...v0.19.0
Release v0.18.2
Release v0.17.7
What's Changed
Full Changelog: v0.17.6...v0.17.7
Release v0.18.1
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
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
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
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,
complementingcel.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 thechecker.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
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
- @liggitt made their first contribution in #714
- @notyourusualaccountname2 made their first contribution in #720
Full Changelog: v0.15.3...v0.16.0