Cool ! On Fri, Oct 30, 2026 at 9:32 AM Zhe-You(Jason) Liu <[email protected]> wrote:
> Dear Airflow Community, > > I am excited to announce that the Apache Airflow Java SDK `1.0.0-SNAPSHOT` > prepared on 2026-10-30 is available for testing! > This is a development snapshot, not a release, so do not run it in > production. It may contain significant issues, and a newer build can > replace it under the same version. > > The headline of this snapshot: **you can now define an entire Dag in Java, > with no Python file at all.** > The schedule, the tasks, their options, the dependencies between them, > branching, task groups and triggering another Dag are all written in Java. > Airflow reads the bundled jar like any other Dag file, so the Dag shows up > in the UI, runs on its schedule, and the tasks pass values to each other > through XCom. > You can still keep the Dag in Python and implement only its stub tasks in > Java. > > You will need Java 11 or later, and you can test it with Airflow 3.4.0rc1. > To set up a Java SDK project, follow the Java SDK guide [1] or the API > reference [2], and to set up the Airflow core it runs against, follow the > 3.4.0rc1 announcement [3]. > To test the SDK, add the ASF snapshots repository [4] to your build > configuration: > > Maven: > > ```xml > <repositories> > <repository> > <id>apache-snapshots</id> > <url>https://repository.apache.org/content/repositories/snapshots/ > </url> > <snapshots><enabled>true</enabled></snapshots> > <releases><enabled>false</enabled></releases> > </repository> > </repositories> > > <dependency> > <groupId>org.apache.airflow</groupId> > <artifactId>airflow-sdk</artifactId> > <version>1.0.0-SNAPSHOT</version> > </dependency> > ``` > > Gradle: > > ```groovy > repositories { > maven { > url 'https://repository.apache.org/content/repositories/snapshots/ > ' > mavenContent { snapshotsOnly() } > } > } > > dependencies { > implementation 'org.apache.airflow:airflow-sdk:1.0.0-SNAPSHOT' > } > ``` > > To build a Dag bundle with the Gradle plugin (`org.apache.airflow.sdk`), > add the same repository under `pluginManagement { repositories { ... } }` > in `settings.gradle` as well. > If you use an IDE, it should fetch the corresponding Javadoc automatically > when you install the snapshot. > > If you encounter any issue during setup or would like to provide feedback, > please discuss in the `#sig-lang-sdks` Slack channel [5]. > > Many thanks to everyone who wrote or reviewed the Java SDK changes that > went into this snapshot. > Special thanks to community contributor Po-An Yang (@FrankYang0529), who > carried much of the work. > > [1] Java SDK guide: > > https://airflow.staged.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/language-sdks/java.html > [2] Java SDK API reference: > https://airflow.staged.apache.org/docs/java-sdk/stable/index.html > [3] Apache Airflow 3.4.0rc1 announcement: > https://lists.apache.org/thread/wb9ozmm150jwvsfmhpxhkgb18yskvcw9 > [4] ASF snapshots repository: > > https://repository.apache.org/content/repositories/snapshots/org/apache/airflow/ > [5] `#sig-lang-sdks` Slack channel: > https://apache-airflow.slack.com/archives/C08UCFRNAD8 > > Best regards, > Jason >
