Skip to content

Separate modern CEL runtime configuration, expression compilation, and standard extensions from legacy V1 registries so modern consumers link zero deprecated evaluation code. - #2457

Open
copybara-service[bot] wants to merge 1 commit into
masterfrom
test_1021200960

Conversation

@copybara-service

Copy link
Copy Markdown

Separate modern CEL runtime configuration, expression compilation, and standard extensions from legacy V1 registries so modern consumers link zero deprecated evaluation code.

Even after isolating legacy value types, the modern type registry, flat expression builder, shared runtime environment, and standard extension libraries remained coupled to legacy type and function registries. Because builders shared a single environment and extensions registered handlers through legacy adapter wrappers, modern servers linking the standard runtime paid the full code-size cost of the deprecated V1 evaluation stack.

Moving legacy registry ownership and lifetime management into dedicated wrappers reserved for legacy expression builders lets the modern runtime environment operate standalone without touching legacy symbols. Splitting the extension registrars and protobuf visibility boundaries similarly allows modern callers to initialize standard extension functions directly against the modern function registry while keeping legacy wrapper headers intact for remaining V1 callers.

@copybara-service
copybara-service Bot force-pushed the test_1021200960 branch 3 times, most recently from 5e4d8f6 to 85322db Compare November 13, 2026 21:46
…d standard extensions from legacy V1 registries so modern consumers link zero deprecated evaluation code.

Even after isolating legacy value types, the modern type registry, flat expression builder, shared runtime environment, and standard extension libraries remained coupled to legacy type and function registries. Because builders shared a single environment and extensions registered handlers through legacy adapter wrappers, modern servers linking the standard runtime paid the full code-size cost of the deprecated V1 evaluation stack.

Moving legacy registry ownership and lifetime management into dedicated wrappers reserved for legacy expression builders lets the modern runtime environment operate standalone without touching legacy symbols. Splitting the extension registrars and protobuf visibility boundaries similarly allows modern callers to initialize standard extension functions directly against the modern function registry while keeping legacy wrapper headers intact for remaining V1 callers.

PiperOrigin-RevId: 1021200960
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