blob: b1189de7cbe7098eccec5644e657434d9ab85cee [file] [view]
# Module sdk
<!--
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.
-->
The Apache Airflow Java SDK author and run Airflow task implementations in JVM languages.
## Language SDK compatibility matrix
Which Airflow TaskInstance states and capabilities the Java SDK currently supports. The normative
meaning of each dimension is defined in the
[Language SDK conformance specification](https://github.com/apache/airflow/blob/main/contributing-docs/30_new_language_sdk.rst).
<!-- BEGIN AUTO-GENERATED LANG-SDK COMPAT MATRIX -->
*Min. Airflow version: 3.3 · supervisor schema: 2026-06-16*
| Dimension | Tier | Supported | Since | Notes |
|---|---|---|---|---|
| **TaskInstance states** | | | | |
| state: `success` | MUST | | 3.3 | |
| state: `failed` | MUST | | 3.3 | |
| state: `up_for_retry` | MUST | | 3.3 | RetryTask |
| state: `skipped` | SHOULD | | | runtime does not emit TaskState skipped yet |
| state: `deferred` | MAY | | | runtime does not emit DeferTask yet |
| state: `up_for_reschedule` | MAY | | | runtime does not emit RescheduleTask yet |
| state: `awaiting_input` | MAY | | | runtime does not emit AwaitInputTask yet |
| state: `removed` | MAY | | 3.3 | |
| **Runtime capabilities** | | | | |
| capability: `mixed-lang-stub-target` | MUST | | 3.3 | @task.stub |
| capability: `task-logging` | MUST | | 3.3 | SLF4J + JPL bridged to the task log |
| capability: `xcom-read-write` | MUST | | 3.3 | |
| capability: `connection-read` | MUST | | 3.3 | |
| capability: `variable-read-write` | MUST | | | getVariable only; no write over the comm socket yet |
| capability: `self-contained-bundle` | MUST | | 3.3 | Airflow metadata embedded in the jar artifact |
| capability: `retry-policy` | MAY | | | no task-facing retry-policy API yet |
| capability: `task-state-store` | MAY | | | no task-facing state-store API yet |
| capability: `asset-state-store` | MAY | | | no task-facing state-store API yet |
| capability: `asset-event-emit` | MAY | | | runtime does not emit asset events yet |
| capability: `asset-event-read` | MAY | | | no task-facing asset-event API yet |
| **Native-Dag authoring** | | | | |
| capability: `native-dag-authoring` | SHOULD | | | native Dag authoring not implemented yet |
| capability: `task-args` | MUST | n/a | | |
| capability: `dag-params` | MUST | n/a | | |
| capability: `taskflow-dependencies` | MUST | n/a | | |
| capability: `branching` | SHOULD | n/a | | |
| capability: `dag-test` | SHOULD | n/a | | |
| capability: `task-group` | MAY | n/a | | |
| capability: `dynamic-task-mapping` | MAY | n/a | | |
| capability: `asset-inlets-outlets` | MAY | n/a | | |
| capability: `asset-scheduling` | MAY | n/a | | |
| capability: `object-store` | MAY | n/a | | |
*Marks: supported · not supported · n/a not applicable. A tier marked applies only when `native-dag-authoring` is supported.*
<!-- END AUTO-GENERATED LANG-SDK COMPAT MATRIX -->