Note
If you encounter any compatibility issues with protobuf-java 4.x, use CEL-Java version 0.9.0-proto3
as a workaround. This is the same version as CEL-Java 0.9.0 with protobuf dependency pinned to 3.25.5.
Breaking Changes
In an effort to make protobuf an optional dependency in CEL-Java, the following PR changes the resolution of type(expr)
from proto based cel.expr type value into native equivalent dev.cel.common.types.CelType:
- Expose CelType as a native representation for runtime type value. in #505
The following PR changes the resolution of unknown values from cel.expr unknown expr value into native equivalent dev.cel.runtime.CelUnknownSet:
- Enable adaptUnknownValueSetToNativeType by default in CelOptions in #490
- Remove adaptUnknownValueSetToNativeType flag from CEL in #496
The following PR removes previously deprecated methods that deal with canonical CEL expr values from CelTypes
and CelAbstractSyntaxTree
classes. The removed methods have been moved to CelProtoAbstractSyntaxTree and CelProtoTypes:
- Create CelProtoTypes utility class to handle CelExpr in proto format in #524
- Remove deprecated methods in CelTypes in #531
- Remove deprecated CelAbstractSyntaxTree#getProtoResultType in #533
What's Changed
- Add CelStandardDeclaration to allow environment subsetting for type-checker in #448
- Add CelStandardFunctions to allow environment subsetting for the runtime in #461
- Introduce late-bound functions into CEL-Java in #494
- Add option to enable updated accumulator variable. in #538
- Add CelOptions to disable string conversion and list/string concatenation in #506
- Add CelOptions to disable comprehension in #507
Fixes
- Enforce strictness of type function #474
- Fix macro parsing with receiver style args by @oridag in #481
- Use an immutable copy of
DefaultDispatcher
to avoid synchronization in #477
Miscellaneous
-
Remove unused test_java_proto package in #526
-
Remove reference to CheckedExpr proto in DefaultMetadata in #521
-
Migrate CelAttributeParser away from proto based expr to canonical cel expr in #522
-
Add expr ID set as a field to CelUnknownSet. in #471
-
Add a policy example that compiles then evaluates late bound functions in #497
-
Migrate dev/cel/common/ tests to use proto3 canonical conformance protos follow up will address proto2. in #512
-
Migrate dev/cel/extensions tests to use canonical conformance protos. in #513
-
Remove unnecessary unknown value adaptation in ProtoAdapter in #499
-
Migrate away from deprecated CelTypes methods in #525
-
Remove the legacy createInterpretable(CheckedExpr) in #487
-
Update runtime tests to refer to canonical cel conformance protos. in #510
-
Correctly suppress AutoValueMutable warnings in #475
-
Deprecate enableUnsignedLong option. Remove associated base interpreter tests. in #515
-
Cleanup of unused methods and build targets in #469
-
Move evaluateExpr utility methods to validator and optimizer in #470
-
Update WORKSPACE dependencies in #530
-
Remove references to deprecated type resolvers in the runtime. in #520
-
Remove retainComprehensionStructure flag in SubexpressionOptimizer in #493
New Contributors
Full Changelog: v0.8.0...v0.9.0