Features
- First and last element in list support [#1067]
- Add support for typed conformance tests. [#1089]
- Add syntax for escaped field selectors. [#1002]
- Add optional.unwrap() / .unwrapOpt() function [#1103]
- Cost tracking for two-variable comprehensions and bindings [#1104]
Fixes
PR #1099 enables a change in the internal variable name used for comprehension result accumulation. This change may break some tests which inspect the AST contents in text form; however, will not break any existing uses of CEL during parse, check, or evaluation.
- Improve policy compiler error message for incompatible outputs. [#1082]
- Fix partial evaluation with the comprehension folder objects [#1084]
- Introduce versioning options to all extensions [#1075]
- Fix a crash in mismatched output check for nested rules [#1086]
- improve debug output to properly quote byte strings [#1088]
- Fix two-variable comprehension pruning [#1083]
- Replace checks for valid UTF-8 in strings with go-maintained calls [#1094]
- Policy nested rule fix [#1092]
- Address non-const format string lint findings [#1096]
- Fix typos in ext/README.md [#1098]
- Add option to use inaccessible accumulator var [#1097]
- Add test cases for
string.formatcovering various edge cases [#1101] - Add base_config and partial_config files under restricted_destination testdata [#1106]
- Default enable using hidden accumulator name [#1099]
- Update PruneAst to support constants of optional type [#1109]
New Contributors
- @bigkevmcd made their first contribution in https://github.com/google/cel-go/pull/1067
- @hudlow made their first contribution in https://github.com/google/cel-go/pull/1088
- @dbuduev made their first contribution in https://github.com/google/cel-go/pull/1098
- @zeitgeist87 made their first contribution in https://github.com/google/cel-go/pull/1101
Full Changelog: https://github.com/google/cel-go/compare/v0.22.1...v0.23.0