Skip to content

build(deps): update module github.com/google/cel-go to v0.32.0 - #29

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-google-cel-go-0.x
Open

build(deps): update module github.com/google/cel-go to v0.32.0#29
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/github.com-google-cel-go-0.x

Conversation

@renovate

@renovate renovate Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/google/cel-go v0.27.0v0.32.0 age confidence

Release Notes

google/cel-go (github.com/google/cel-go)

v0.32.0

Compare Source

Summary of Changes

This release of cel-go (v0.32.0) introduces significant library expansions alongside a major infrastructure migration. Key highlights include the addition of native support for JWT and HMAC operations, Go-based JSON handling via NativeToValue, and robust timestamp parsing helpers.

Critical Upgrade: This release changes the module and import paths to cel.dev/cel-go. Users must update their import statements when upgrading to this version.

A variety of concurrency and stability fixes are also included, such as addressing nil pointer panics during native object traversals, and fixing cost observability when combined with state tracking or exhaustive eval

Breaking Changes

Change PR Link
Switch module and import paths to cel.dev/cel-go #​1413

Features

Feature PR Link
JWT data types with Parse and claim helpers #​1415
HMAC verify / compute library #​1416
NativeToValue Go-based JSON type support #​1402
Parsing helper for working with different types and formats of timestamp #​1414
Support aggregate size computations over list, maps, and structs #​1404
Aggregate semantics in Policy Compiler #​1408
Report every evaluation step to every observer #​1419
Enable list_ext conformance tests #​1412

Fixes & Performance Improvements

Change / Optimization PR Link
mem-track: Fix data race for aggregate size computation #​1423
Fix panic in native object traversal with nil valued struct pointers #​1417
Fix shorthand type specifier parsing to allow newlines and tab chars #​1411
Fix agent_tool_execution_governance policy example to match cel-policy conformance test #​1424
Scale sizes for strings and bytes #​1421
Consolidate saturating cost arithmetic into common/cost #​1420
Add parser benchmarks #​1422

Full Changelog: v0.31.0...v0.32.0

v0.31.0

Compare Source

This release introduces critical performance breakthroughs, simplifies integration with native Go structures, and hardens the safety limits of evaluated expressions.

Features

Pull Request Description and Impact
Env copy on write (#​1405) Introduces Copy-on-Write (COW) mechanics for environment definitions, dramatically slashing CPU and memory allocation overhead when building child or extended environments.
Optimize NativeToValue call paths (#​1400) Optimizes reflection-heavy conversion paths, significantly improving evaluation speeds when feeding native Go types directly to the runtime engine.
Support self-describing, self-adapting struct types (#​1395) Simplifies struct integration by enabling native Go struct types to self-describe and adapt directly to the CEL type system without verbose boilerplate.
Move native type support into the Core CEL library (#​1396) Moves native Go type mapping utilities directly into the Core CEL package to unify dependency structure and improve native API access.
Regex program plan size controls (#​1383) Introduces critical compiled size constraints on regex expressions to mitigate CPU/memory exhaustion vectors during evaluation.
Simplify support for native object types (#​1393) Streamlines setup workflows for mapping standard Go structures inside the CEL compiler environment.
Tag automation for go submodules (#​1401) Automates the submodule tagging process to streamline multi-module releases.

Fixes

Pull Request Impact and Technical Details
Respect composed adapter for unregistered structs (#​1384) Corrects behavior so that unregistered Go structs properly fall back to composed adapter configurations.
reject out-of-range hours in timezone offset parsing (#​1391) Tightens datetime validation by rejecting invalid out-of-range hour offsets during timezone parsing.
Fix the expression limit node test (#​1390) Restores stability to environment node test suites verifying size-limit assertions.
Correct documented default max value for lists.range (#​1392) Resolves documentation drift regarding the default maximum limit for the lists.range function.

Breaking Changes

There are no breaking changes, but all ext.NativeTypes features are now available via cel.NativeTypes

Notes on Performance

This release targets two primary computational bottlenecks in high-throughput CEL environments: environment construction and reflection-based type coercion.

Expected Impact
  1. Dynamic Environment Extension: Applications that dynamically extend a base CEL environment per request (e.g., policy validation engines or API gateways adding request-scoped variables) will see near-zero initialization costs. The Copy-on-Write (COW) optimization prevents copying underlying maps of variables, functions, and adapters.
  2. Type Coercion Speed: Bypassing heavy reflection paths during NativeToValue conversions significantly cuts down CPU cycle usage and drastically reduces garbage collection overhead in processing hot paths.
  3. AST Pruning: Consolidating sequential list concatenations (#​1406) and optimizing optional macros (#​1387) ensures that generated program plans are leaner, reducing both compilation and execution memory footprints.
Go-lang Benchmark Citation (benchstat)

The performance improvements can be verified running the repository's native benchmark harness with benchstat:

name old time/op new time/op delta
BenchmarkEnvExtension/10_vars 3.56µs ± 1% 0.15µs ± 0% -95.79% (p=0.000 n=10+10)
BenchmarkNativeToValue/struct 120ns ± 2% 42ns ± 1% -65.00% (p=0.000 n=10+10)
BenchmarkOptionalMapEvaluation 245ns ± 1% 195ns ± 1% -20.41% (p=0.000 n=10+10)

name old allocs/op new allocs/op delta
BenchmarkEnvExtension/10_vars 32.0 ± 0% 1.0 ± 0% -96.88% (p=0.000 n=10+10)
BenchmarkNativeToValue/struct 3.00 ± 0% 1.00 ± 0% -66.67% (p=0.000 n=10+10)

New Contributors

Full Changelog: cel-expr/cel-go@v0.30.0...v0.31.0

v0.30.0

Compare Source

What's Changed

New Contributors

Full Changelog: cel-expr/cel-go@v0.29.2...v0.29.3

v0.29.2

Compare Source

What's Changed

Full Changelog: cel-expr/cel-go@v0.29.1...v0.29.2

v0.29.1

Compare Source

What's Changed

Full Changelog: cel-expr/cel-go@v0.29.0...v0.29.1

v0.29.0

Compare Source

What's Changed

New Features
Bug Fixes
Cost Tracking
Testing & Tooling
Documentation

v0.28.1

Compare Source

What's Changed

New Contributors

Full Changelog: cel-expr/cel-go@v0.28.0...v0.28.1

v0.28.0

Compare Source

High-Level Changes

  • Enhanced JSON Interoperability: New support for JSON names across the checker, AST, and runtime allows for more seamless data handling when working with JSON-native structures.
  • Improved Developer Tooling: Integration is now smoother thanks to new utilities for converting Go errors into cel.Issues and more descriptive, context-aware error messages.
  • Greater Environment Flexibility: You can now redeclare variables as constants and export parse limit options, providing finer control over how CEL environments are configured and constrained.
  • Native Struct Improvements: Support for mixing CEL and native values within native structs simplifies the handling of complex, hybrid data types.

🚀 Features

  • Add helper method to check whether a function has a singleton binding in #​1266
  • Helper utility for converting a Go error into cel.Issues in #​1267
  • Policy API improvements in #​1268
  • CEL Test usability requirements in #​1269
  • Better context-related error messages in #​1271
  • Sort env.Config values where reasonable in #​1273
  • Support redeclaring variables as constants in NewEnv in #​1275
  • Add support for exporting parse limit options in #​1277
  • Support mixing CEL values and native values in native structs in #​1270
  • Add checker, AST, and type-provider support for JSON names in #​1283
  • JSON field names runtime support in #​1286
  • Optionally include reachable fieldpaths in prompt in #​1285
  • REPL -- cel-spec pb2 and json name support #​1294

🐞 Bug Fixes

  • Fix support for config-based type references in #​1265
  • Check arg kinds in optional.or and .orValue impl in #​1276
  • Bazel fixes for import in #​1278
  • Support zero-value literals in presence test inlining #​1280
  • Cache concatList.Size() to prevent O(N^2) evaluation time #​1291
  • Preserve runtime error node IDs from Resolve #​1290
  • Default enable identifier escaping with backticks #​1295
  • Cap format string precision to prevent memory exhaustion #​1292

🛠️ Maintenance & Internal

  • chore: Migrate gsutil usage to gcloud storage in #​1274
  • Lint fixes for exported function/type comments in #​1279
  • Lint fixes for import in #​1287

Full Changelog: https://github.com/google/cel-go/compare/v0.27.0...v0.28.0-alpha


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@socket-security

socket-security Bot commented Jul 31, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgolang/​github.com/​google/​cel-go@​v0.27.0 ⏵ v0.32.074 +1100 +2100100100

View full report

@renovate
renovate Bot force-pushed the renovate/github.com-google-cel-go-0.x branch from 3a168ab to 1083a33 Compare August 7, 2026 22:39
@renovate renovate Bot changed the title build(deps): update module github.com/google/cel-go to v0.30.0 build(deps): update module github.com/google/cel-go to v0.31.0 Aug 7, 2026
@renovate
renovate Bot force-pushed the renovate/github.com-google-cel-go-0.x branch from 1083a33 to ef049a2 Compare August 19, 2026 20:58
@renovate renovate Bot changed the title build(deps): update module github.com/google/cel-go to v0.31.0 build(deps): update module github.com/google/cel-go to v0.32.0 Aug 19, 2026
@renovate

renovate Bot commented Aug 19, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: go.sum
Command failed: go get -t ./...
go: github.com/google/cel-go@v0.32.0: parsing go.mod:
	module declares its path as: cel.dev/cel-go
	        but was required as: github.com/google/cel-go

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants