From 5d67497eed0306a06066e271bc2d1d5a41597235 Mon Sep 17 00:00:00 2001 From: Jonathan Tatum Date: Tue, 10 Nov 2026 14:29:22 -0800 Subject: [PATCH] Treat an unspecified extension version as version 0 in cel::Config and the env YAML parser, consistent with cel-go and cel-java. PiperOrigin-RevId: 1018554912 --- cel_expr_python/cel_env_test.py | 6 +++++- cel_expr_python/py_cel_env_internal.cc | 4 +--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cel_expr_python/cel_env_test.py b/cel_expr_python/cel_env_test.py index 9c5e924..43a5460 100644 --- a/cel_expr_python/cel_env_test.py +++ b/cel_expr_python/cel_env_test.py @@ -435,7 +435,6 @@ def test_config_export_extension_version(self): extensions: - name: "bindings" - name: "math" - version: 0 - name: "optional" version: 1 - name: "strings" @@ -469,7 +468,9 @@ def test_config_extensions(self): config: cel.EnvConfig = cel.NewEnvConfigFromYaml(""" extensions: - name: math + version: latest - name: strings + version: latest """) env: cel.Env = cel.NewEnv( config=config, @@ -481,7 +482,9 @@ def test_config_extensions(self): normalize_yaml(""" extensions: - name: "math" + version: latest - name: "strings" + version: latest - name: "test_cel_extension" """), ) @@ -494,6 +497,7 @@ def test_standard_extensions_via_config(self): config: cel.EnvConfig = cel.NewEnvConfigFromYaml(""" extensions: - name: lists + version: latest - name: sets - name: two-var-comprehensions - name: optional diff --git a/cel_expr_python/py_cel_env_internal.cc b/cel_expr_python/py_cel_env_internal.cc index 7983bfe..48cdd53 100644 --- a/cel_expr_python/py_cel_env_internal.cc +++ b/cel_expr_python/py_cel_env_internal.cc @@ -176,9 +176,7 @@ PyCelEnvInternal::NewCelEnvInternal( name = extension->name(); } CEL_PYTHON_RETURN_IF_ERROR(config.AddExtensionConfig( - name, extension->version() >= 0 - ? extension->version() - : cel::Config::ExtensionConfig::kLatest)); + name, extension->version() >= 0 ? extension->version() : 0)); extension_handles.push_back(std::move(handle)); }