Latest Stable
3.2.1
Released 22 Apr 2026
(1 month ago)
Latest Development
3.2.2rc1
Released 21 May 2026
(3 days ago)
Software
Apache Airflow
IntroductionApache Airflow is an open‑source platform that enables you to programmatically author, schedule, and monitor data workflows. Written in Python, it uses directed acyclic graphs (DAGs) to define tasks, supports extensible operators, integrates with major cloud services, and offers a rich web UI for visualizing runs and handling retries efficiently.
VendorApache Software Foundation
AuthorApache Airflow Community
Written inPython
PlatformCross‑platform (Linux, macOS, Windows via WSL)
Operating systemLinux, macOS, Windows
TypeWorkflow orchestration platform
Repositoryhttps://github.com/apache/airflow
Websitehttps://airflow.apache.org
LicenseApache License 2.0
LATEST RELEASES:
3.2.2rc1 21 May 2026 (3 days ago)
3.2.1 22 Apr 2026 (1 month ago)
3.2.1rc3 21 Apr 2026 (1 month ago)
3.2.1rc2 18 Apr 2026 (1 month ago)
3.2.1rc1 16 Apr 2026 (1 month ago)

All Releases

Apache Airflow support lifecycle 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 3 Version: 3 Status: Supported Limited Maintenance: 2025-04-22 to TBD Version: 3 Status: Supported EOL/Terminated: 2026-05-24 to TBD Version: 3 Status: Supported End date: TBD + 2 Version: 2 Status: EOL Limited Maintenance: 2020-12-17 to 2025-10-22 Version: 2 Status: EOL EOL/Terminated: 2025-10-22 to 2026-04-22 1.10 Version: 1.10 Status: EOL Limited Maintenance: 2018-08-08 to 2020-12-17 Version: 1.10 Status: EOL EOL/Terminated: 2020-12-17 to 2021-06-17 Today: 2026-05-24 Today Limited Maintenance EOL/Terminated + Ongoing (TBD)
VersionEnvironment
requirements
Initial releaseLatest releaseLimited MaintenanceEOL/Terminated
3Python 3.10-3.14
PostgreSQL 13-17
MySQL 8.0/8.4
SQLite ≥3.15 (dev)
Linux/macOS
Debian Bookworm (CI)
Kubernetes 1.30-1.35
≥4GB RAM
3.0.0
22 Apr 2025
(1 year ago)
3.2.2rc1
21 May 2026
(3 days ago)
TBD
(Supported)
TBD
(Supported)
2Python 3.7-3.11
PostgreSQL 12-16
MySQL 8.0, SQLite (dev)
Linux/macOS, Windows via WSL2
≥4GB RAM, ≥2 vCPU
2.0.0
17 Dec 2020
(5 years ago)
2.11.2
14 Mar 2026
(2 months ago)
22 Oct 2025
(Ended 7 months ago)
22 Apr 2026
(Ended 1 month ago)
1.10Python 3.5-3.7
MySQL ≥5.6
PostgreSQL ≥9.6
Linux/macOS
SQLite only for dev/test
1.10.0
08 Aug 2018
(7 years ago)
1.10.15
17 Mar 2021
(5 years ago)
17 Dec 2020
(Ended 5 years, 5 months ago)
17 Jun 2021
(Ended 4 years, 11 months ago)
1.9Python 2.7/3.4-3.6
MySQL ≥5.6
PostgreSQL ≥9.4
Linux/macOS
≥4GB RAM recommended
1.9.0
15 Dec 2017
(8 years ago)
1.9.0-1
10 Oct 2018
(7 years ago)
27 Aug 2018
(Ended 7 years, 8 months ago)
27 Aug 2018
(Ended 7 years, 8 months ago)
1.8Python 2.7/3.4-3.6
MySQL ≥5.6
PostgreSQL ≥9.4
SQLite (dev)
Linux/macOS
Broker (RabbitMQ/Redis) for CeleryExecutor
1.8.0
19 Mar 2017
(9 years ago)
1.8.0-rc.1
20 Dec 2017
(8 years ago)
03 Jan 2018
(Ended 8 years, 4 months ago)
03 Jan 2018
(Ended 8 years, 4 months ago)
1.7Python 2.7/3.4-3.5
MySQL ≥5.6
PostgreSQL ≥9.4
SQLite (dev)
Linux/macOS only
1.7.0
28 Mar 2016
(10 years ago)
1.7.1.3
08 Mar 2017
(9 years ago)
19 Mar 2017
(Ended 9 years, 2 months ago)
19 Mar 2017
(Ended 9 years, 2 months ago)

Apache Airflow DAG Release Series: Scheduler Support Windows and EOL Phases

Each Apache Airflow major version follows a two-phase support model: an active Maintenance window that receives bug fixes and new minor releases, followed by a Limited Maintenance window restricted to security patches and critical bug fixes only. Once a version exits both phases, it reaches EOL and receives no further updates of any kind.

Airflow does not publish a fixed support duration per major release -- window lengths depend on when the next major version stabilizes and when the community votes to terminate the previous line. In practice, active major versions have remained supported for several years before entering limited maintenance. As shown in the release table above, version transitions follow the cadence of the project's major milestones.

Releases follow Semantic Versioning (SemVer): MAJOR.MINOR.PATCH. Breaking changes trigger a MAJOR bump, new features a MINOR bump, and bug-fix-only patches a PATCH bump. Providers versioning is independent of core Airflow versioning -- a provider can release a new MAJOR without Airflow doing the same.

Phase What You Receive When It Applies
Maintenance (Active) Bug fixes, security patches, new MINOR and PATCH releases From initial MAJOR release until community sets Limited Maintenance date
Limited Maintenance Security and critical bug fixes only -- no new features or non-critical patches From Limited Maintenance date until EOL/Terminated date
EOL / Terminated No fixes, no patches, no support of any kind After EOL date -- version is abandoned by the community

The community always recommends running the latest available MINOR release within your active MAJOR line. Upgrading to the latest MAJOR release before the EOL date is strongly advised. Official lifecycle data is tracked on the Apache Airflow GitHub repository.

Scheduler Integrity Risks: Running Outdated Airflow Workers and Executors

Running an unsupported Airflow version exposes your DAG pipelines to unpatched executor vulnerabilities, broken provider compatibility, and silent task failures that are hard to trace in production.

Unpatched Security Vulnerabilities in the Webserver and API

Airflow's web UI, REST API, and authentication layer have historically been targets for privilege escalation and remote code execution vulnerabilities. The Airflow security team backports CVE fixes to supported versions only. An unsupported version will accumulate unpatched CVEs with no resolution path short of upgrading the entire instance.

Provider and Executor Incompatibility

Airflow providers (GCP, AWS, dbt, Spark, etc.) are versioned independently and regularly drop support for older Airflow core versions. Once your core Airflow version falls outside the provider's support matrix, you lose access to newer provider releases -- which often contain critical fixes for cloud SDK API changes. The same applies to executors: CeleryExecutor and KubernetesExecutor depend on libraries like celery and the Kubernetes Python client, both of which are upper-bounded per release and may no longer be compatible with current infrastructure.

Python and Database Engine Drift

Each Airflow MAJOR version pins support to specific Python and database engine ranges (PostgreSQL, MySQL). As shown in the release table above, older series require older Python interpreters and database versions that have themselves gone EOL. Running a stack of compounded unsupported components -- old Airflow, old Python, old PostgreSQL -- dramatically widens the attack surface for the metadata database that stores all your DAG run state, XCom data, and task logs.

DAG Parsing and Scheduler Regressions

Scheduler bugs that cause missed runs, double-triggered tasks, or incorrect dependency resolution are treated as critical fixes -- but only in supported versions. An unsupported version running in production may exhibit known-broken scheduler behavior with no community-supported path to resolution.

DAG Orchestration After EOL: Termination Status and Pipeline Migration Paths

When an Airflow version reaches EOL/Terminated, the Apache community immediately stops all patch activity -- no security fixes, no bug fixes, no new provider compatibility updates, and no Docker image releases for that version line.

What Stops at EOL

The community stops merging pull requests targeting the EOL branch. PyPI constraint files -- which Airflow relies on for repeatable installations -- are no longer updated for that version. Docker images on Docker Hub will persist but receive no further updates. The Helm Chart for Kubernetes deployments also stops supporting that Airflow version.

Provider Ecosystem Abandonment

Provider distributions (e.g., apache-airflow-providers-google, apache-airflow-providers-amazon) quickly stop declaring compatibility with the EOL Airflow core version. Within months of EOL, most cloud providers will have dropped their minimum Airflow version requirement past your installed version, meaning you are locked out of bug fixes for cloud integrations regardless of your willingness to update providers independently.

Migration Direction

Migration to the current stable MAJOR version is the only supported path. In practice, the largest migration jump -- from the Airflow 2.x series to the 3.x series -- requires reviewing DAG code that uses deprecated operators and TaskFlow API patterns that were restructured. The official upgrade documentation covers migration steps by series. Most teams find it useful to stand up a parallel Airflow 3 environment and migrate DAGs incrementally, running both environments in parallel during the cutover window rather than doing a hard switch.

CLI and UI Methods for Inspecting Your Running Airflow Scheduler and Metadata Version

The fastest way to check your Apache Airflow version is via the CLI: airflow version prints the exact installed version of the core package to stdout.

Command-Line Inspection

airflow version

This returns the full SemVer string (e.g., 3.x.y or 2.x.y). Run this in the same Python environment or container where the scheduler and workers are running -- not just on the local machine where Airflow CLI is installed.

Python Package Query

If you are inside a Python environment but the Airflow CLI is not on PATH, query the installed package directly:

pip show apache-airflow | grep Version

Or from within Python:

import importlib.metadata
print(importlib.metadata.version("apache-airflow"))

REST API and UI

The Airflow REST API exposes version info at /api/v1/version. A GET request to this endpoint returns a JSON body containing the Airflow version and Git version of the running instance -- useful when checking a remote deployment without shell access.

curl -u admin:password http://<airflow-host>/api/v1/version

The Airflow web UI also displays the version in the footer of every page, making it visible to anyone with UI access without needing CLI or API access.

Docker and Kubernetes Deployments

For Helm-based Kubernetes deployments, check the image tag used in your values.yaml or inspect the running pod:

kubectl exec -n <namespace> <scheduler-pod> -- airflow version

FAQ -- Apache Airflow Support Lifecycle & EOL

How long is each Apache Airflow major version supported?
Airflow does not define a fixed support window by calendar duration. Each major version goes through an active Maintenance phase (full bug fix and minor releases) and then a Limited Maintenance phase (security and critical fixes only). The length of each phase depends on when the community sets transition dates, which are tied to the maturity of the next major version. As shown in the release table above, windows have historically spanned multiple years before EOL.

Does Apache Airflow have Long Term Support (LTS) releases?
Airflow does not use an explicit LTS designation. Instead, the current stable MAJOR version acts as the de-facto long-term track, receiving active maintenance until the community votes to move it to Limited Maintenance. There is typically only one actively maintained MAJOR version at a time, so production environments should target the latest stable MAJOR series to receive the longest remaining support window.

What is the difference between Maintenance and Limited Maintenance in Airflow?
During the Maintenance (active) phase, a version receives new MINOR releases with bug fixes, non-breaking improvements, and security patches. During Limited Maintenance, only security vulnerabilities and critical bug fixes are backported -- no new features and no non-critical patches. Once a version exits Limited Maintenance entirely, it is EOL/Terminated and receives nothing.

How do I know if my Apache Airflow version is still supported?
Check the official version lifecycle table at the Apache Airflow GitHub README. Match your installed MAJOR version (retrieved via airflow version) against the State column. If the state shows EOL or Terminated, no further support is available. If it shows Limited Maintenance, only security fixes are still being released for that version.

What should I do when my Apache Airflow version reaches end of life?
Plan a migration to the current stable MAJOR version before the EOL date, not after. After EOL, provider packages rapidly drop compatibility with the old core version, constraint files stop updating, and Docker images freeze. The recommended approach is to stand up a parallel environment on the new MAJOR version, migrate DAGs incrementally, validate operator and provider compatibility, then cut over. The official Airflow documentation covers upgrade paths between major series.