From c141017cad99a0963e5e436b9cdbf4f78086a63e Mon Sep 17 00:00:00 2001 From: Sean Huh Date: Wed, 5 Aug 2026 14:53:44 -0700 Subject: [PATCH] Prepare 0.14.0 release PiperOrigin-RevId: 959884362 --- BUILD.bazel | 1 + MODULE.bazel | 55 +++++++++++-------- README.md | 4 +- .../src/test/java/dev/cel/maven/BUILD.bazel | 2 + .../cel/policy/CelPolicyCompilerImplTest.java | 10 ++-- publish/BUILD.bazel | 2 +- publish/cel_version.bzl | 2 +- repositories.bzl | 8 +-- verifier/tools/README.md | 29 +++++++--- 9 files changed, 68 insertions(+), 45 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index d2bf2124b..3ff862d3a 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -81,6 +81,7 @@ java_library( neverlink = 1, exports = [ "@maven//:com_google_auto_value_auto_value_annotations", + "@maven//:org_jspecify_jspecify", ], ) diff --git a/MODULE.bazel b/MODULE.bazel index 3dcf8b0e5..bec7543d6 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -16,23 +16,23 @@ module( name = "cel_java", ) -bazel_dep(name = "bazel_skylib", version = "1.9.0") -bazel_dep(name = "rules_jvm_external", version = "6.10") -bazel_dep(name = "protobuf", version = "33.4", repo_name = "com_google_protobuf") # see https://github.com/bazelbuild/rules_android/issues/373 -bazel_dep(name = "googleapis", version = "0.0.0-20260223-edfe7983", repo_name = "com_google_googleapis") +bazel_dep(name = "bazel_skylib", version = "1.9.2") +bazel_dep(name = "rules_jvm_external", version = "7.1") +bazel_dep(name = "protobuf", version = "35.1", repo_name = "com_google_protobuf") # see https://github.com/bazelbuild/rules_android/issues/373 +bazel_dep(name = "googleapis", version = "0.0.0-20260728-b8486a2f", repo_name = "com_google_googleapis") bazel_dep(name = "rules_pkg", version = "1.2.0") bazel_dep(name = "rules_license", version = "1.0.0") bazel_dep(name = "rules_proto", version = "7.1.0") -bazel_dep(name = "rules_java", version = "9.3.0") -bazel_dep(name = "rules_android", version = "0.7.1") -bazel_dep(name = "rules_shell", version = "0.6.1") -bazel_dep(name = "googleapis-java", version = "1.0.0") -bazel_dep(name = "cel-spec", version = "0.25.1", repo_name = "cel_spec") -bazel_dep(name = "rules_go", version = "0.50.1") +bazel_dep(name = "rules_java", version = "9.7.0") +bazel_dep(name = "rules_android", version = "0.7.3") +bazel_dep(name = "rules_shell", version = "0.8.0") +bazel_dep(name = "googleapis-java", version = "1.1.5") +bazel_dep(name = "cel-spec", version = "0.25.2", repo_name = "cel_spec") +bazel_dep(name = "rules_go", version = "0.62.0") # Required by cel-spec to satisfy gazelle transitive dependency go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk") -go_sdk.download(version = "1.23.0") +go_sdk.download(version = "1.26.5") switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules") switched_rules.use_languages(java = True) @@ -40,13 +40,17 @@ use_repo(switched_rules, "com_google_googleapis_imports") maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") -GUAVA_VERSION = "33.5.0" +AUTO_VALUE_VERSION = "1.11.1" -TRUTH_VERSION = "1.4.4" +GUAVA_VERSION = "33.6.0" -PROTOBUF_JAVA_VERSION = "4.33.5" +JLINE_VERSION = "3.30.16" -CEL_VERSION = "0.13.1" +TRUTH_VERSION = "1.4.5" + +PROTOBUF_JAVA_VERSION = "4.35.1" + +CEL_VERSION = "0.14.0" # Compile only artifacts [ @@ -58,7 +62,7 @@ CEL_VERSION = "0.13.1" ) for group, artifact, version in [coord.split(":") for coord in [ "com.google.code.findbugs:annotations:3.0.1", - "com.google.errorprone:error_prone_annotations:2.42.0", + "com.google.errorprone:error_prone_annotations:2.50.0", ]] ] @@ -72,8 +76,8 @@ CEL_VERSION = "0.13.1" ) for group, artifact, version in [coord.split(":") for coord in [ "org.mockito:mockito-core:4.11.0", - "io.github.classgraph:classgraph:4.8.179", - "com.google.testparameterinjector:test-parameter-injector:1.18", + "io.github.classgraph:classgraph:4.8.186", + "com.google.testparameterinjector:test-parameter-injector:1.22", "com.google.guava:guava-testlib:" + GUAVA_VERSION + "-jre", "com.google.truth.extensions:truth-java8-extension:" + TRUTH_VERSION, "com.google.truth.extensions:truth-proto-extension:" + TRUTH_VERSION, @@ -86,8 +90,8 @@ maven.install( name = "maven", # keep sorted artifacts = [ - "com.google.auto.value:auto-value:1.11.0", - "com.google.auto.value:auto-value-annotations:1.11.0", + "com.google.auto.value:auto-value:" + AUTO_VALUE_VERSION, + "com.google.auto.value:auto-value-annotations:" + AUTO_VALUE_VERSION, "com.google.guava:guava:" + GUAVA_VERSION + "-jre", "com.google.protobuf:protobuf-java:" + PROTOBUF_JAVA_VERSION, "com.google.protobuf:protobuf-java-util:" + PROTOBUF_JAVA_VERSION, @@ -95,13 +99,14 @@ maven.install( "info.picocli:picocli:4.7.7", "org.antlr:antlr4-runtime:4.13.2", "org.freemarker:freemarker:2.3.34", - "org.jline:jline-reader:3.26.1", - "org.jline:jline-terminal:3.26.1", + "org.jline:jline-reader:" + JLINE_VERSION, + "org.jline:jline-terminal:" + JLINE_VERSION, "org.jspecify:jspecify:1.0.0", - "org.threeten:threeten-extra:1.8.0", - "org.yaml:snakeyaml:2.5", + "org.threeten:threeten-extra:1.10.0", + "org.yaml:snakeyaml:2.6", "tools.aqua:z3-turnkey:4.14.1", ], + known_contributing_modules = ["protobuf"], repositories = [ "https://maven.google.com", "https://repo1.maven.org/maven2", @@ -129,10 +134,12 @@ maven.install( "dev.cel:compiler:" + CEL_VERSION, "dev.cel:runtime:" + CEL_VERSION, ], + fail_on_missing_checksum = not CEL_VERSION.endswith("-SNAPSHOT"), repositories = [ "https://maven.google.com", "https://repo1.maven.org/maven2", "https://central.sonatype.com/repository/maven-snapshots/", + "m2local", ], ) use_repo(maven, "maven", "maven_android", "maven_conformance") diff --git a/README.md b/README.md index dbcceb7d8..bf81ad6dc 100644 --- a/README.md +++ b/README.md @@ -55,14 +55,14 @@ CEL-Java is available in Maven Central Repository. [Download the JARs here][8] o dev.cel cel - 0.13.1 + 0.14.0 ``` **Gradle** ```gradle -implementation 'dev.cel:cel:0.13.1' +implementation 'dev.cel:cel:0.14.0' ``` Then run this example: diff --git a/conformance/src/test/java/dev/cel/maven/BUILD.bazel b/conformance/src/test/java/dev/cel/maven/BUILD.bazel index 895339521..e06f78c0f 100644 --- a/conformance/src/test/java/dev/cel/maven/BUILD.bazel +++ b/conformance/src/test/java/dev/cel/maven/BUILD.bazel @@ -20,6 +20,7 @@ MAVEN_RUNTIME_JAR_DEPS = [ java_test( name = "compiler_artifact_test", srcs = ["CompilerArtifactTest.java"], + tags = ["conformance_maven"], test_class = "dev.cel.maven.CompilerArtifactTest", deps = MAVEN_COMPILER_JAR_DEPS + [ @@ -33,6 +34,7 @@ java_test( java_test( name = "runtime_artifact_test", srcs = ["RuntimeArtifactTest.java"], + tags = ["conformance_maven"], test_class = "dev.cel.maven.RuntimeArtifactTest", deps = MAVEN_RUNTIME_JAR_DEPS + [ diff --git a/policy/src/test/java/dev/cel/policy/CelPolicyCompilerImplTest.java b/policy/src/test/java/dev/cel/policy/CelPolicyCompilerImplTest.java index 5f697e0b9..b657b6b7b 100644 --- a/policy/src/test/java/dev/cel/policy/CelPolicyCompilerImplTest.java +++ b/policy/src/test/java/dev/cel/policy/CelPolicyCompilerImplTest.java @@ -712,12 +712,10 @@ private enum TestErrorYamlPolicy { DUPLICATE_VARIABLE("duplicate_variable"), IMPORT("import"), INCOMPATIBLE_OUTPUTS("incompatible_outputs"), - UNDECLARED_REFERENCE("undeclared_reference"); - // TODO: Re-enable once cel-policy OSS dependency is updated with aggregate - // testdata. - // AGGREGATE_ERRORS("aggregate_errors"), - // AGGREGATE_LIST_ERRORS("aggregate_list_errors"), - // AGGREGATE_NESTED_MIXED_SEMANTICS("aggregate_nested_mixed_semantics"); + UNDECLARED_REFERENCE("undeclared_reference"), + AGGREGATE_ERRORS("aggregate_errors"), + AGGREGATE_LIST_ERRORS("aggregate_list_errors"), + AGGREGATE_NESTED_MIXED_SEMANTICS("aggregate_nested_mixed_semantics"); private final String name; private final String policyFilePath; diff --git a/publish/BUILD.bazel b/publish/BUILD.bazel index 69766290e..eb22657df 100644 --- a/publish/BUILD.bazel +++ b/publish/BUILD.bazel @@ -335,7 +335,7 @@ pom_file( "CEL_VERSION": CEL_VERSION, "CEL_ARTIFACT_ID": "verifier", "PACKAGE_NAME": "CEL Java Verifier", - "PACKAGE_DESC": "Formal verification tools for Common Expression Language for Java.", + "PACKAGE_DESC": "Formal verification library for Common Expression Language for Java.", }, targets = VERIFIER_TARGETS, template_file = "pom_template.xml", diff --git a/publish/cel_version.bzl b/publish/cel_version.bzl index 4ceb4bfa4..a98746092 100644 --- a/publish/cel_version.bzl +++ b/publish/cel_version.bzl @@ -12,4 +12,4 @@ # See the License for the specific language governing permissions and # limitations under the License. """Maven artifact version for CEL.""" -CEL_VERSION = "0.13.1" +CEL_VERSION = "0.14.0" diff --git a/repositories.bzl b/repositories.bzl index cbb7b3832..9fa3d3edb 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -24,8 +24,8 @@ def antlr4_jar_dependency(): ) def bazel_common_dependency(): - bazel_common_tag = "aaa4d801588f7744c6f4428e4f133f26b8518f42" - bazel_common_sha = "1f85abb0043f3589b9bf13a80319dc48a5f01a052c68bab3c08015a56d92ab7f" + bazel_common_tag = "768dbe0b3247e2e5def0b9ac6c4cde95e214f18a" + bazel_common_sha = "b3f1fe7e26ade37712b00b82a0ab3760bb340e9307d57166872dacc679b78da1" http_archive( name = "bazel_common", sha256 = bazel_common_sha, @@ -34,8 +34,8 @@ def bazel_common_dependency(): ) def cel_policy_dependency(): - cel_policy_tag = "e4c38defbbf34dfff2dc448dc58e93a9733ae8b1" - cel_policy_sha = "46378e0d17a16465899f9fefc94c3d44e1f40aedd8a31c9c0b2b6198048eabd6" + cel_policy_tag = "01bcc1c3f7c9c5e442fa940013cd6d029af2baf7" + cel_policy_sha = "8e3ddc74e918c2a5910794387354a236da601694dbf7b6921f8a7babf7b78181" http_archive( name = "cel_policy", sha256 = cel_policy_sha, diff --git a/verifier/tools/README.md b/verifier/tools/README.md index 09b83ad70..6ece8dc25 100644 --- a/verifier/tools/README.md +++ b/verifier/tools/README.md @@ -14,16 +14,34 @@ directly from Maven Central and invoke it with `java -jar`: ```bash # Download the latest CLI JAR -curl -LO https://repo1.maven.org/maven2/dev/cel/verifier-cli/0.13.1/verifier-cli-0.13.1.jar +curl -LO https://repo1.maven.org/maven2/dev/cel/verifier-cli/0.14.0/verifier-cli-0.14.0.jar -# Run the verifier CLI / REPL -java -jar verifier-cli-0.13.1.jar --help +# Launch interactive REPL shell +java -jar verifier-cli-0.14.0.jar repl + +# Run a one-shot verification command +java -jar verifier-cli-0.14.0.jar check-sat \ + --expr "role == 'editor' && port > 1024" \ + --var "role:string" \ + --var "port:int" + +# Run with JSON output format for CI/CD integrations +java -jar verifier-cli-0.14.0.jar check-sat \ + --expr "role == 'editor'" \ + --var "role:string" \ + --output_format=json + +# Display help and available commands +java -jar verifier-cli-0.14.0.jar --help ``` ### Running via Bazel ```bash -# Run CLI verification commands +# Launch interactive REPL shell +bazel run //verifier/tools:cel_verifier_tool -- repl + +# Run a one-shot verification command bazel run //verifier/tools:cel_verifier_tool -- \ check-sat \ --expr "role == 'editor' && port > 1024" \ @@ -36,9 +54,6 @@ bazel run //verifier/tools:cel_verifier_tool -- \ --expr "role == 'editor'" \ --var "role:string" \ --output_format=json - -# Launch interactive REPL shell -bazel run //verifier/tools:cel_verifier_tool -- repl ``` ## CLI Commands