Skip to content

Releases: google/cel-cpp

Release v0.4.0

30 Jan 00:09
bb03a5f

Choose a tag to compare

Fixes

  • e53c05c Enforce utf-8 validity in string() conversion of bytes.
  • bca699e Introduce TypeRegistry with support for the type() function and message creation within a container.
  • f347557 Apply clang-tidy suggestions.

The introduction of a TypeRegistry makes it possible to register the type names of protobuf messages, or other types, as identifiers that can be used within CEL expressions. This is the primary motivation for the creation of a new release, rather than a point release.

Release v0.3.1

18 Dec 03:43
9841e3e

Choose a tag to compare

This release fixes bugs and implements functions and features which are supported by the core CEL specification.

Fixes

  • [Parser] Hex integer notation support.
  • [Conformance] Pipe protocol for evaluation, removing gRPC dependency.
  • [Interpreter] Ensure the lifecycle of rewritten expressions is preserved in CelExpression values.
  • [Interpreter] Division by zero support for doubles, per IEEE754.

Features

  • [Parser] Stable ordering of error messages.
  • [Interpreter] Type conversion support for uint(), double(), bytes(), and dyn() types.

Release v0.3.0

25 Nov 21:43
c804f26

Choose a tag to compare

Notable changes

  • C++17 is required to build the project
  • Fix a race condition in protobuf map accessor, occurring during concurrent access to a shared map (6dfb7c8)
  • Enforce recursion limits in parsing
  • Fix integer overflow on type conversions from double, uint values
  • Fix signed and unsigned integer overflow cases within C++ evaluator
  • Enable timestamp tests and add support for fixed timezones
  • Added support for bool keys to FieldBackedMapImpl
  • Update the has() macro support for C++ and fix enum resolution behavior when the qualified enum id is encoded within an identifier and not just within parse-only select expressions
  • Makes CEL parser tolerate trailing commas in struct constructors
  • Added support for CelType
  • Refactor protobuf wrapper to CelProtoWrapper
  • Removed gRPC as a build requirement, conformance is validated using raw pipes.

Release v0.2.0

11 May 20:23
b416ef7

Choose a tag to compare

Features

  • FlatBuffers support.
  • Enriched parsing support for capturing the end position of parse tokens in addition to the start positions.
  • Expose an option to the Activation binding helper for configuring whether unset proto fields are exposed as their default values.

Fixes

  • Upgrade the ANTLR C++ runtime to v4.7.2 to fix a thread-safety issue.
  • Added an alwayslink = 1 flag to ensure bazel builds work on OS X.
  • Migrate towards absl::Status
  • Fix unknown handling to consider whether a function is strict / non-strict

Initial release of CEL C++ runtime

01 Apr 17:23
80e1cca

Choose a tag to compare

This is the initial release of CEL C++ runtime.

Supported features:

  • interpreter runtime;
  • runtime complexity controls;
  • constant folding optimization pass;
  • adapter for protobuf messages;
  • parser implementation;
  • conformance to a subset of CEL specification.