Skip to content

v0.9.0

Latest
Compare
Choose a tag to compare
@l46kok l46kok released this 26 Dec 20:55

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

  • Fix feature_request.md config blocks by @sergiitk in #485

  • 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