Bug Fixes
- [TypeChecker]: fixed a bug where a recursive type would be inferred leading to an eventual crash.
Features
- added most of the remaining functions in the canonical strings extension
API Changes
- cel::Ast is no longer opaque, the members are visible without downcasting to a private implementation.
- cel::NavigableAst -> cel::NavigableProtoAst
- cel::NavigableAst added (operating on cel::Expr and co.)
Other
- various refactors
What's Changed
- Add validations for types in TypeChecker declarations by @copybara-service[bot] in #1616
- Deprecating the regex_functions.cc by @copybara-service[bot] in #1634
- Only ignore warning in clang >= 20 by @copybara-service[bot] in #1636
- Enable type param name validation by default. by @copybara-service[bot] in #1629
- No public description by @copybara-service[bot] in #1641
- No public description by @copybara-service[bot] in #1642
- No public description by @copybara-service[bot] in #1640
- Address a few compiler warnings for clang. by @copybara-service[bot] in #1652
- No public description by @copybara-service[bot] in #1650
- Add ast_internal::NullType for internal AST type representation. by @copybara-service[bot] in #1638
- Add
transformMapEntrymacros and a map-merging overload forcel.@mapInsert. by @copybara-service[bot] in #1654 - Initial interpreter implementation by @copybara-service[bot] in #1656
- Add ComprehensionsV2CompilerLibrary and BindingsCompilerLibrary by @copybara-service[bot] in #1657
- Add validation that type declarations don't contain empty
MessageTypes. by @copybara-service[bot] in #1658 - Export test runner library. by @copybara-service[bot] in #1660
- Support for error message assertion. by @copybara-service[bot] in #1661
- Move AST metadata types from cel::ast_internal namespace to cel. by @copybara-service[bot] in #1653
- Minor naming changes to AstImpl for consistency by @copybara-service[bot] in #1659
- Make AST fields visible on public AST interface. by @copybara-service[bot] in #1664
- Add tests for CelValue runtime using the RegexExtension. by @copybara-service[bot] in #1669
- Cleanup for navigable ast. by @copybara-service[bot] in #1665
- Add accessors for subtree size and height for navigable AST. by @copybara-service[bot] in #1666
- Factor out and consolidate internals for NavigableAst implementation in common_internal. by @copybara-service[bot] in #1667
- Rename NavigableAst -> NavigableProtoAst. by @copybara-service[bot] in #1671
- Extract implementation details for NavigableAst to internal template base class. by @copybara-service[bot] in #1668
- Make Expr and Ast copy constructible/assignable. by @copybara-service[bot] in #1237
- Remove downcasting from cel::Ast to AstImpl. by @copybara-service[bot] in #1672
- Remove remaining references to AstImpl. by @copybara-service[bot] in #1673
- Delete AstImpl, everything should just use Ast directly now. by @copybara-service[bot] in #1674
- Minor usability update to the set functions enablement for legacy CEL expression builder users by @copybara-service[bot] in #1676
- Support for compiler for raw cel expressions or .cel files by @copybara-service[bot] in #1662
- Mark
arenaas nullable by @copybara-service[bot] in #1678 - Automated Code Change by @copybara-service[bot] in #1627
- Support custom variable bindings (Activations) via cel test context by @copybara-service[bot] in #1677
- Remove back-compatibility aliases for old names for NavigableProtoAst. by @copybara-service[bot] in #1682
- Clean up references to old aliases for AST metadata types. by @copybara-service[bot] in #1683
- Add cel_cc_test demonstrating configuring a CelTestContext with a raw expression and custom cel::Compiler. by @copybara-service[bot] in #1679
- Clean up remaining references to old aliases for AST metadata types. by @copybara-service[bot] in #1684
- No public description by @copybara-service[bot] in #1685
- Refactor UTF8 encoding/decoding functions by @copybara-service[bot] in #1687
- No public description by @copybara-service[bot] in #1691
- Adding find and substring functions into byte_string by @copybara-service[bot] in #1689
- Setup of the coverage index. by @copybara-service[bot] in #1686
- Make
CustomMapValueInterface::arenanullable. by @copybara-service[bot] in #1715 - No public description by @copybara-service[bot] in #1716
- Support for Dot graph via graphviz by @copybara-service[bot] in #1712
- Internal Changes by @copybara-service[bot] in #1713
- Print the returned error if a value was expected. by @copybara-service[bot] in #1725
- Add utility function to add minimally required descriptors to pool by @copybara-service[bot] in #1727
- Fix order of assertion parameters in the C++ testrunner. by @copybara-service[bot] in #1735
- [checker] Fix bug where recursive type could be inferred by @copybara-service[bot] in #1738
- Introduce
string(bool)support at runtime by @copybara-service[bot] in #1739 - Custom activation factory for the C++ testrunner. by @copybara-service[bot] in #1737
- Custom assertion function for the C++ testrunner. by @copybara-service[bot] in #1741
- Fix crash in coverage collection of bool nodes which return an error. by @copybara-service[bot] in #1751
- cel_cc_test: Allow passing arguments to the underlying cc_test rule. by @copybara-service[bot] in #1752
- Add arbitrary count version for function adapter helpers. by @copybara-service[bot] in #1755
- Enable coverage collection via the runner library for a single test. by @copybara-service[bot] in #1747
- fixing compilation issues: clang, c++23 by @bomkvilt in #1764
- Use perfect forwarding in the function adapter instead of wrapping it into two layers of
absl::AnyInvocableby @copybara-service[bot] in #1765 - Drop const qualification on built cel::Runtime. by @copybara-service[bot] in #1773
- Add is_contextual flag to FunctionDescriptor. by @copybara-service[bot] in #1775
- Add cel::Runtime version of memory safety test. by @copybara-service[bot] in #1776
- Replace call to
proto2::Arena::Destroywithdelete. by @copybara-service[bot] in #1785 - Enhance core string types with built-in manipulation methods by integrating common string operations, previously in extensions, as methods in the
StringValueclass. by @copybara-service[bot] in #1699
New Contributors
Full Changelog: v0.13.0...v0.14.0