v0.7.1
Important
enableUnsignedLongs in CelOptions is now enabled by default as of #410. Unsigned integer literals (uint) in CEL expressions will now be represented as com.google.common.primitives.UnsignedLong instead of java.lang.Long when evaluated. If your expressions expose these unsigned integer literals directly or you have custom functions that work with unsigned integers, you may need to explicitly disable this flag and make adjustments to avoid errors.
Features
- Add ListsExtension with flatten function #427, #434
- Introduce ProtoUnsetFieldOptions to support unset handling like C++ in #403
- Include identity functions in the standard definitions in #405
- Add string to boolean conversion function in the standard definition in #407
- Provide an overload to hide all fields on a message with ProtoTypeMask in #415
- Parse explanations in match blocks in #420
- Improved support for nested rules in #422
- Add a validator for enforcing AST depth limit in #421
- Enforce composed AST stays below the configured depth limit in #424
- Improve CSE for comprehensions by taking into their nesting level and types into account in #430
- Add an option to prevent breaking apart a comprehension in CSE in #432
- Enable retainComprehensionStructure by default in #436
- Add unreachable checks in policies in #423
Fixes
- Do not override the container if it's missing from policy config in #401
- Add option to specify folding designated custom functions only in #402
- Fix conditionally nested rules to include its condition in #404
- Fix runtime equality behavior for sets extension in #416
- Reduce count of errors joined together during parsing error in #417 #418
Miscellaneous Changes
- Upgrade protobuf version to 4.28.0 in #439
- Remove unused list/map conversion functions from standard definitions in #406
- Open source Java conformance tests in #413
- Change cel_spec repo url to 0.16.0 in WORKSPACE in #419
- Migrate test_all_types proto over to the cel-spec variant in #433
Full Changelog: v0.6.0...v0.7.1