Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
c1c4510
Replace ANTLR parser with CongoCC
snazy Jul 17, 2026
53fa573
Implement CEL optional conformance support
snazy Jul 17, 2026
7034d05
END OT CEL-SPEC 0.25.2 WORK
snazy Jul 17, 2026
3a4210d
Remove `jmh` from CI and `check`
snazy Jul 27, 2026
14f1f25
Replace `Arrays.asList()` with single element with `List.of()`
snazy Jul 17, 2026
865ae7d
[style] Replace with enhanced switch expression
snazy Jul 17, 2026
5707d86
[style] replace with pattern variable
snazy Jul 17, 2026
b1ac113
Use String.repeat()
snazy Jul 17, 2026
2eb4113
Use `.isEmpty()`
snazy Jul 17, 2026
ce0f4a7
Fix AstPruner / struct-pruning
snazy Jul 17, 2026
f1dbf23
Remove unused `ParseError`
snazy Jul 17, 2026
bdd4623
Remove unused function in TypeErrors
snazy Jul 17, 2026
e9fbc24
Remove duplicate `if`
snazy Jul 21, 2026
d3bd5eb
Optimize protobuf map construction
snazy Jul 21, 2026
e73dd8d
Optimize Jackson 2 field access
snazy Jul 21, 2026
c908d33
Optimize Jackson 3 field access
snazy Jul 21, 2026
a6105b4
Optimize generated protobuf field access
snazy Jul 21, 2026
ffbe306
Centralize native value conversion
snazy Jul 21, 2026
3e5fe29
Specialize ternary/quaternary/quinary overload evaluation
snazy Jul 21, 2026
95d8aeb
Optimize generated protobuf field access
snazy Jul 21, 2026
2f7ebcd
Optimize CEL collection and map operations
snazy Jul 21, 2026
1c26ff2
Optimize native collection traversal
snazy Jul 21, 2026
38c3a9c
Cache common CEL scalar values
snazy Jul 21, 2026
1c8a551
Minor optimizations & style fixes
snazy Jul 21, 2026
605f8c0
Allocation-free activation lookup
snazy Jul 22, 2026
079cf96
Benchmark evaluator boundaries and centralize numeric semantics
snazy Jul 22, 2026
5faa648
Add native-value planned evaluation
snazy Jul 22, 2026
1412a55
baseline
snazy Jul 24, 2026
08cb70c
list-concat
snazy Jul 24, 2026
27b0f14
exact protobuf fields and dynamic string-map lookup
snazy Jul 24, 2026
be81628
Optimize exact aggregate map and list consumers
snazy Jul 24, 2026
c3d6b62
Compose OptOptimize with native evaluation
snazy Jul 25, 2026
921fe07
Extend native list-concat consumer optimizations
snazy Jul 25, 2026
03eb423
Add native map traversal, folds, and equality
snazy Jul 25, 2026
00c6b7c
representative benchmarks
snazy Jul 25, 2026
36424a6
Exact Jackson object-valued map indexing
snazy Jul 27, 2026
d1d20cc
Constant-regex planning
snazy Jul 27, 2026
fabb38d
Gateway nested-quantifier allocation
snazy Jul 27, 2026
0555311
more tests
snazy Jul 27, 2026
da898c7
comparison benchmarks
snazy Jul 27, 2026
f123bf8
Return parse issues from Env compilation
snazy Jul 27, 2026
84e54a3
Restore protobuf type-value adaptation
snazy Jul 27, 2026
980e2bc
Isolate partial activation patterns
snazy Jul 27, 2026
85ed759
Preserve registry identity when extending Env
snazy Jul 27, 2026
861df6d
Remove unpublished conformance BOM entry
snazy Jul 27, 2026
b0b2385
Register transitive protobuf dependencies
snazy Jul 27, 2026
1a7a9e9
Reject unsupported Jackson map keys
snazy Jul 27, 2026
0df187f
Support repeated protobuf message fields
snazy Jul 27, 2026
3fe364a
Clarify lifecycle benchmark compilation
snazy Jul 27, 2026
b9ac6ae
Protect source line offsets from mutation
snazy Jul 27, 2026
551f744
Support only the latest release
snazy Jul 27, 2026
e6c1137
Drop ignored Quarkus JaCoCo properties
snazy Jul 27, 2026
612679f
Point release POMs at version tags
snazy Jul 27, 2026
ba5cb06
Restore Protobuf 3 support
snazy Jul 27, 2026
0536699
RE2/J + CEL-Spec compliance for regular expressions
snazy Jul 27, 2026
e01285d
Support standalone Jackson enum registration
snazy Jul 27, 2026
a94c5e8
Align Jackson array field types
snazy Jul 27, 2026
c30739a
Support configured recursive Jackson registries
snazy Jul 27, 2026
fafa8e6
Fix potential pb type override
snazy Jul 28, 2026
cb4e3dc
Use live ListT size
snazy Jul 28, 2026
59527f9
Prevent mutating `Env` after freeze
snazy Jul 28, 2026
f4d0fad
Fix map value handling, values via `Supplier`
snazy Jul 28, 2026
bbbfd34
Fix IteratorT
snazy Jul 28, 2026
13f2b7c
Make Db.copy() safe (deep copy)
snazy Jul 28, 2026
e6c6d32
Fix `TypeRegistry` usage in `ScriptHost`, introduce `ScriptCompiler`
snazy Jul 28, 2026
d624397
Fix UnknownT handling
snazy Jul 28, 2026
0000315
Fix `Source` and its locations
snazy Jul 28, 2026
7b66278
Fix shared EvalState
snazy Jul 28, 2026
ea7c43b
Javadoc updates
snazy Jul 28, 2026
dfec2ef
public docs
snazy Jul 28, 2026
c721ebd
Publish cel-standalone with CEL-Java sources
snazy Jul 28, 2026
606ec1e
Add resource limits
snazy Aug 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 0 additions & 10 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,10 @@ jobs:
with:
cache-read-only: ${{ github.event_name != 'push' || github.ref != 'refs/heads/main' }}

- name: Spotless Check
# Spotless must run in a different invocation, because
# it has some weird Gradle configuration/variant issue
if: ${{ matrix.java-version == '21' }}
run: ./gradlew spotlessCheck --scan

- name: Build
run: >
./gradlew --rerun-tasks ${{ env.ADDITIONAL_GRADLE_OPTS }}
assemble check publishToMavenLocal
-x jmh -x spotlessCheck -x testNative
--scan

- name: Quarkus native smoke
Expand All @@ -65,9 +58,6 @@ jobs:
# because these tasks intentionally do not depend on the publishToMavenLocal tasks.
run: ./gradlew buildToolIntegrations

- name: Microbenchmarks
run: ./gradlew jmh

- name: Capture test results
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: failure()
Expand Down
544 changes: 110 additions & 434 deletions README.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Security Policy

The project is in a very early stage.

## Supported Versions

None, yet.
Only the latest published release receives security fixes. Older releases are not supported.

Reports affecting older releases are still welcome, but any fix will target the latest release.

## Reporting a Vulnerability

Expand Down
46 changes: 46 additions & 0 deletions benchmarks/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*
* Copyright (C) 2026 The Authors of CEL-Java
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

plugins {
`java-library`
alias(libs.plugins.jmh)
id("cel-conventions")
}

configurations.all {
exclude(group = "org.projectnessie.cel", module = "cel-generated-pb")
}

dependencies {
implementation(project(":cel-core"))
implementation(project(":cel-jackson3"))
implementation(project(":cel-generated-pb3"))
implementation(testFixtures(project(":cel-generated-pb3")))
implementation(libs.protobuf.java3)

testImplementation(platform(libs.junit.bom))
testImplementation(libs.bundles.junit.testing)
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")

jmhImplementation(libs.jmh.core)
jmhAnnotationProcessor(libs.jmh.generator.annprocess)
jmhImplementation(libs.cel.expr.java)
}

jmh { jmhVersion.set(libs.versions.jmh.get()) }

tasks.named("assemble") { dependsOn(tasks.named("jmhJar")) }
Loading
Loading