You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Embed supervisor schema version in airflow-metadata.yaml for executable bundles #66941
The cross-language protocol compatibility work in #66590 introduces
Cadwyn-based schema migration so the supervisor can talk to lang-SDK
runtimes pinned to older schema versions. Java will declare the schema
version it was built against via a JAR-manifest attribute
(Airflow-SDK-Supervisor-Schema-Version); the equivalent for an
executable bundle is a key in airflow-metadata.yaml.
Today airflow-metadata.yaml (see providers/sdk/executable/docs/bundle-spec.rst) carries sdk.language
and sdk.version but no schema-version pin.
What needs to happen
Add sdk.supervisor_schema_version (or equivalent) to the airflow-metadata.yaml schema and the published JSON Schema.
Have airflow-go-pack (and any future packer) write the version it
was built against into the manifest.
Have the Python side
(providers/sdk/executable/src/airflow/providers/sdk/executable/bundle_scanner.py)
read the field and pass it to the supervisor's CommsDecoder.bind
call so request/response migration kicks in.
Bump bundle-spec format_version minor.
Acceptance criteria
A bundle built against schema vN keeps working when paired with a
supervisor on schema vN+1, exercised in tests.
Missing field is treated as "head version" (current behaviour).
Activity
jason810496 commentedon Jun 3, 2026
Finished in #66940 and #67153