Significant changes
- CEL-Java evaluates the following expressions to their proto equivalent form:
 
timestamp(100) -> google.protobuf.Timestamp
duration("1h") -> google.protobuf.Duration
Starting with this release, the runtime can evaluate these literals to the following Java native type equivalents:
timestamp(100) -> java.time.Instant
duration("1h") -> java.time.Duration
This new behavior is not yet enabled by default. Call CelOptions.Builder.evaluateCanonicalTypesToNativeValues(true) to explicitly enable it.
- Previously only identifiers containing a period were allowed to be aliased. This constraint has been removed, so the following aliasing is now allowed:
 
CelContainer.newBuilder().addAlias("short", "really_long_package_name").build();
What's Changed
Features
- Evaluate CEL's timestamp and duration types to their native equivalent values in #790
 - Relax constraint for fully qualifying a package name when aliasing in #837
 
Optimizations
- Enhance CSE to handle two variable comprehensions in #808
 - Override environment's expected result type during constant folding in #815
 - Allow constant folding to fold equals operator in #822
 - Enhance ConstantFoldingOptimizer to fold arithmetics involving timestamps and durations in #825
 
Safety
- Add comprehension nesting validator. in #829
 
Bug fixes
- Fixed negative zero comparison.  
"0.0 == -0.0"now evaluates totrue - Fixed FileDescriptorSetConverter to always reference WellKnownTypes descriptors from generated ones in #833
 - Fixed bytes(string) standard function to respect evaluateCanonicalTypesToNativeValues flag in #828
 
Testing infra
- Setup of the coverage index. in #811
 
Miscellaneous
- Renaming the CelComprehensionsExtensions docs to align more closely with lib implementation in #807
 - Remove capability to serially increment mangled variable indices in #806
 - Add an overload for 
CelMutableExpr.ofComprehension. in #812 - Fix Typo: "descedent" to "descendent". in #827
 - Include comprehensions in CelEnvironment in #838
 - Update evaluateCanonicalTypesToNativeValues documentation and fix tests in #840
 
Full Changelog: v0.11.0...v0.11.1