Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
5e21930
Respect composed adapter for unregistered structs (#1384)
lopster568 Jul 27, 2026
fa407aa
Regex program plan size controls (#1383)
TristonianJones Jul 27, 2026
3224325
Improve the efficiency of optMap / optFlatMap (#1387)
TristonianJones Jul 27, 2026
8bbb639
Fix the expression limit node test (#1390)
TristonianJones Jul 28, 2026
8c1485e
Correct documented default max value for range (#1392)
jnthntatum Jul 29, 2026
c15365a
Simplify support for native object types (#1393)
TristonianJones Jul 30, 2026
7c1df6b
reject out-of-range hours in timezone offset parsing (#1391)
pranit0808 Jul 31, 2026
ba6c27e
Support self-describing, self-adapting struct types (#1395)
TristonianJones Jul 31, 2026
ab72257
Move native type support into the Core CEL library (#1396)
TristonianJones Aug 4, 2026
f10a2e6
Optimize NativeToValue call paths (#1400)
TristonianJones Aug 5, 2026
1a53cb7
Release Tag Automation for go submodules (#1401)
TristonianJones Aug 5, 2026
9d5baaf
Program plan optimizations (#1399)
TristonianJones Aug 5, 2026
b74d303
Fold list concat expressions together (#1406)
TristonianJones Aug 7, 2026
2cf1626
Env copy on write (#1405)
TristonianJones Aug 7, 2026
424f954
Fix shorthand type specifier parsing to allow newlines and tab charac…
l46kok Aug 13, 2026
fc1b523
Switch module and import paths to cel.dev/cel-go
dmitriplotnikov Aug 14, 2026
fc6a53c
Update README.md badges and links for cel.dev/cel-go
dmitriplotnikov Aug 14, 2026
a3027a4
Enable list_ext conformance tests. (#1412)
jnthntatum Aug 14, 2026
b6027c4
Parsing helper for working with different types and formats of timest…
TristonianJones Aug 14, 2026
f74ac42
Add Go-native JSON type support into NativeToValue (#1402)
TristonianJones Aug 14, 2026
931e003
JWT data types with Parse and claim helpers (#1415)
TristonianJones Aug 15, 2026
ef24047
Support aggregate size computations over list, maps, and structs (#1404)
TristonianJones Aug 15, 2026
41262f3
Fix native type panic during field traversal of nil-valued structs (#…
TristonianJones Aug 17, 2026
76c0a6d
Report every evaluation step to every observer (#1419)
TristonianJones Aug 17, 2026
4622a98
HMAC verify / compute library (#1416)
TristonianJones Aug 17, 2026
c9ce5a2
Add parser benchmarks
dmitriplotnikov Aug 17, 2026
f38faa2
Scale sizes for strings and bytes (#1421)
TristonianJones Aug 17, 2026
9f82d07
Aggregate semantics in Policy Compiler (#1408)
TristonianJones Aug 17, 2026
425a3e9
Fix agent_tool_execution_governance policy example to match cel-polic…
l46kok Aug 17, 2026
49f20a1
Consolidate saturating cost arithmetic into common/cost (#1420)
TristonianJones Aug 17, 2026
f513cf8
Fix data race for aggregate size computation (#1423)
TristonianJones Aug 18, 2026
b02bd0a
Fold by-category benchmark tests into parser_test.go
dmitriplotnikov Aug 18, 2026
4715f2f
Merge pull request #1422 from cel-expr/parser-benchmarks
dmitriplotnikov Aug 19, 2026
2628ca8
Merge branch 'master' into vanity-cel-go-import
dmitriplotnikov Aug 19, 2026
aadbbf9
Skip policy conformance tests when run outside Bazel
dmitriplotnikov Aug 19, 2026
7851422
Revert "Skip policy conformance tests when run outside Bazel"
dmitriplotnikov Aug 19, 2026
f2039bc
Merge pull request #1413 from cel-expr/vanity-cel-go-import
dmitriplotnikov Aug 19, 2026
238dcd9
Revert authzed rename for upstream sync
miparnisari Aug 19, 2026
dbbb444
Merge upstream v0.32.0 into fork
miparnisari Aug 19, 2026
3ce516b
Re-apply authzed rename
miparnisari Aug 19, 2026
829691b
sync: follow upstream's move to cel.dev/cel-go
miparnisari Aug 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions .github/workflows/sync-upstream.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,16 @@
# sync-upstream.sh rename [--reverse] # just the rename
#
# This fork differs from upstream in exactly one way: every
# `github.com/google/cel-go` import is rewritten to `github.com/authzed/cel-go`.
# `cel.dev/cel-go` import is rewritten to `github.com/authzed/cel-go`.
# Merging upstream directly means both sides edited the same import lines, so it
# conflicts on nearly every file upstream touched -- ~77 conflicts, none real.
#
# UPSTREAM_PATH is whatever upstream calls itself today; it was
# `github.com/google/cel-go` until v0.32.0 moved it to `cel.dev/cel-go`. A sync
# spanning such a move has to un-rename to the old path (to match the merge
# base) and re-rename from the new one, which means two runs with the constant
# changed in between.
#
# So the rename is applied last, and never merged:
#
# 1. un-rename, making our tree match the upstream commit we last synced from
Expand All @@ -37,7 +43,7 @@ set -euo pipefail

cd "$(git rev-parse --show-toplevel)"

UPSTREAM_PATH="github.com/google/cel-go"
UPSTREAM_PATH="cel.dev/cel-go"
FORK_PATH="github.com/authzed/cel-go"

UPSTREAM_REMOTE="${UPSTREAM_REMOTE:-upstream}"
Expand Down Expand Up @@ -72,8 +78,12 @@ rename() {
to="$UPSTREAM_PATH"
fi

# -I skips binary files, and git grep only looks at tracked ones.
files="$(git grep -I --name-only --fixed-strings -e "$from" -- . || true)"
# -I skips binary files, and git grep only looks at tracked ones. This
# script is excluded because it names both paths itself: renaming it would
# collapse UPSTREAM_PATH and FORK_PATH onto the same value and break the
# next sync.
files="$(git grep -I --name-only --fixed-strings -e "$from" \
-- . ':(exclude).github/workflows/sync-upstream.sh' || true)"
if [[ -z "$files" ]]; then
echo "rename: no occurrences of ${from}; nothing to do"
return 0
Expand Down
42 changes: 42 additions & 0 deletions .github/workflows/tag-submodules.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Tag Go Submodules

on:
release:
types: [published]

jobs:
tag-submodules:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
fetch-depth: 0

- name: Configure Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@://github.com"

- name: Auto-Detect and Tag Submodules
env:
RELEASE_TAG: ${{ github.event.release.tag_name }}
run: |
echo "Finding all subdirectories containing go.mod..."

# Find all go.mod files, exclude root (./go.mod), and get their directory paths
find . -mindepth 2 -name "go.mod" | while read -r gomod_path; do
# Extract directory path (e.g., ./pkg/submod1/go.mod -> pkg/submod1)
SUBDIR=$(dirname "$gomod_path" | sed 's|^\./||')

SUB_TAG="${SUBDIR}/${RELEASE_TAG}"

echo "----------------------------------------"
echo "Found Go module in: $SUBDIR"
echo "Creating tag: $SUB_TAG"

git tag -a "$SUB_TAG" -m "Release $SUB_TAG via GitHub Action"
git push origin "$SUB_TAG"
done
8 changes: 6 additions & 2 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,20 @@ bazel_dep(
bazel_dep(name = "rules_shell", version = "0.6.1")
bazel_dep(name = "rules_license", version = "1.0.0")


# local_path_override(
# module_name = "cel-spec",
# path = "../cel-spec",
# )
bazel_dep(
name = "cel-spec",
version = "0.25.1",
version = "0.25.2",
repo_name = "dev_cel_expr",
)
git_override(
module_name = "cel-spec",
commit = "ba58ae5007845f3a1279b488cdeb79645ce958bb",
remote = "https://github.com/cel-expr/cel-spec",
)

go_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(version = "1.23.0")
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Common Expression Language

[![Go Report Card](https://goreportcard.com/badge/github.com/authzed/cel-go)](https://goreportcard.com/report/github.com/authzed/cel-go)
[![GoDoc](https://godoc.org/github.com/authzed/cel-go?status.svg)][6]
[![GoDoc](https://pkg.go.dev/badge/github.com/authzed/cel-go.svg)][6]

> [!WARNING]
> **On June 16, 2026, this repository will move to
> github.com/cel-expr/cel-go!**
>
> Please update your links and dependencies. See the [pinned
> issue](https://github.com/authzed/cel-go/issues/1329) for details.
> issue](https://github.com/cel-expr/cel-go/issues/1329) for details.

The Common Expression Language (CEL) is a non-Turing complete language designed
for simplicity, speed, safety, and portability. CEL's C-like [syntax][1] looks
Expand Down Expand Up @@ -285,9 +285,9 @@ bazel test ...

Released under the [Apache License](LICENSE).

[1]: https://github.com/google/cel-spec
[1]: https://github.com/cel-expr/cel-spec
[2]: https://groups.google.com/forum/#!forum/cel-go-discuss
[3]: https://github.com/google/cel-cpp
[4]: https://github.com/authzed/cel-go/issues
[3]: https://github.com/cel-expr/cel-cpp
[4]: https://github.com/cel-expr/cel-go/issues
[5]: https://bazel.build
[6]: https://godoc.org/github.com/authzed/cel-go
[6]: https://pkg.go.dev/github.com/authzed/cel-go
Loading