| # Licensed to the Apache Software Foundation (ASF) under one | |
| # or more contributor license agreements. See the NOTICE file | |
| # distributed with this work for additional information | |
| # regarding copyright ownership. The ASF licenses this file | |
| # to you 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. | |
| --- | |
| sdk: java | |
| min_airflow_version: "3.3" | |
| # Keep in sync with airflowSupervisorSchemaVersion in gradle.properties, which is what stamps the | |
| # JAR manifest. The render hook fails if the two disagree. | |
| supervisor_schema_version: "2026-10-30" | |
| # The runtime terminates a task with SucceedTask, RetryTask, DeferTask, or TaskState | |
| # (failed/skipped/removed); it does not yet emit RescheduleTask or AwaitInputTask. | |
| states: | |
| success: | |
| supported: true | |
| since: "3.3" | |
| failed: | |
| supported: true | |
| since: "3.3" | |
| up_for_retry: | |
| supported: true | |
| since: "3.3" | |
| note: "RetryTask" | |
| skipped: | |
| supported: true | |
| since: "3.4" | |
| note: "a TriggerDagRun task that skips an existing run" | |
| deferred: | |
| supported: true | |
| since: "3.4" | |
| note: "a TriggerDagRun task that waits with deferrable" | |
| up_for_reschedule: | |
| supported: false | |
| note: "runtime does not emit RescheduleTask yet" | |
| awaiting_input: | |
| supported: false | |
| note: "runtime does not emit AwaitInputTask yet" | |
| removed: | |
| supported: true | |
| since: "3.3" | |
| # Runtime capabilities reflect the task-facing Client surface. Native-Dag capabilities describe | |
| # what a Java-authored Dag can declare and deliver through Dag serialization. | |
| capabilities: | |
| mixed-lang-stub-target: | |
| supported: true | |
| since: "3.3" | |
| note: "@task.stub" | |
| taskflow-binding: | |
| supported: false | |
| note: "bind @task.stub literal/XCom args to the native handler" | |
| task-logging: | |
| supported: true | |
| since: "3.3" | |
| note: "SLF4J + JPL bridged to the task log" | |
| xcom-read-write: | |
| supported: true | |
| since: "3.3" | |
| connection-read: | |
| supported: true | |
| since: "3.3" | |
| variable-read-write: | |
| supported: true | |
| since: "3.3" | |
| self-contained-bundle: | |
| supported: true | |
| since: "3.3" | |
| note: "Airflow metadata embedded in the jar artifact" | |
| retry-policy: | |
| supported: false | |
| note: "no task-facing retry-policy API yet" | |
| task-state-store: | |
| supported: true | |
| since: "3.3" | |
| note: "Client.getTaskStateStore() get/set/delete/clear" | |
| asset-state-store: | |
| supported: false | |
| note: "no task-facing state-store API yet" | |
| asset-event-emit: | |
| supported: false | |
| note: "runtime does not emit asset events yet" | |
| asset-event-read: | |
| supported: false | |
| note: "no task-facing asset-event API yet" | |
| native-dag-authoring: | |
| supported: true | |
| since: "3.4" | |
| task-args: | |
| supported: true | |
| since: "3.4" | |
| dag-params: | |
| supported: false | |
| taskflow-dependencies: | |
| supported: true | |
| since: "3.4" | |
| branching: | |
| supported: true | |
| since: "3.4" | |
| note: "DagDef.If and DagDef.Switch, or @Airflow.If and @Airflow.Switch" | |
| dag-test: | |
| supported: false | |
| task-group: | |
| supported: true | |
| since: "3.4" | |
| dynamic-task-mapping: | |
| supported: false | |
| asset-inlets-outlets: | |
| supported: false | |
| asset-scheduling: | |
| supported: false | |
| object-store: | |
| supported: false |