This page describes a proposed Airflow Improvement Proposal (AIP) process for proposing a major change to Airflow.
To create your own AIP, click on Create AIP. If you don't have permission, please send an email with your Wiki ID to dev@airflow.apache.org
and request permission
Completed AIPs
Title | Discussion Thread | JIRA | In Release | Created |
---|---|---|---|---|
AIP-3 Drop support for Python 2 | [DISCUSS] AIP-3: Drop Python2 support in Airflow 2.0 |
| 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-6 Enforce the usage of a code formatter & linter | AIP-6: Enforce the usage of a code formatter | 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-7 Simplified development workflow | AIP-7 Simplified development workflow |
| $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-8 Split Providers into Separate Packages for Airflow 2.0 |
| 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-9 Automated Dependency Management | AIP-9 Automated Dependency Management | 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-10 Multi-layered and multi-stage official Airflow CI image | Mutli-layered official image for Airflow |
| 1.10.4 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-11 Create a Landing Page for Apache Airflow | [PROPOSAL] Add a landing page for Apache Airflow |
| 1.10.7 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-15 Support Multiple-Schedulers for HA & Better Scheduling Performance | Multiple Schedulers - "scheduler_lock" A Naive Multi-Scheduler Architecture Experiment of Airflow [PROPOSAL][AIP-15 Support Multiple-Schedulers for HA & Better Scheduling Performance] | 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-16: Use nested commands in CLI |
| 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-17: Consolidate and de-duplicate sensor tasks in airflow Smart Sensor | [Discuss] Airflow sensor optimization |
| 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-21: Changes in import paths |
| 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-23 Migrate out of Travis CI |
| 1.10.10 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-24 DAG Persistence in DB using JSON for Airflow Webserver and (optional) Scheduler | Airflow DAG Serialisation |
| 1.10.7 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-27 Migrate to pytest |
| 1.10.7 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-31: "TaskFlow API" for clearer/simpler DAG definition | 2.0.0 | 2020-02-21 | ||
AIP-32: Airflow REST API | 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-33 Secrets backend | [DISCUSS] AIP-33 secrets backend |
| 1.10.10 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-34 TaskGroup: A UI task grouping concept as an alternative to SubDagOperator | 2.0.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-39 Richer scheduler_interval | Scoping out a new feature for 2.1: improving schedule_interval [DISCUSS][AIP-39] Richer (and pluggable) schedule_interval on DAGs | 2.2.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-40: Deferrable ("Async") Operators | [DISCUSS][AIP-40] Deferrable ("Async") Operators | 2.2.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-42 Dynamic Task Mapping | https://lists.apache.org/thread/xhq5o3b3h879cwsc93xwq0836mwc5k6p | 2.3.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-43 DAG Processor separation | https://lists.apache.org/thread/rgovdphjrxtcqfmcfdrbfntwrdr2nj71 | 2.4.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-43 DAG Processor separation | https://lists.apache.org/thread/rgovdphjrxtcqfmcfdrbfntwrdr2nj71 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-48 Data Dependency Management and Data Driven Scheduling | https://lists.apache.org/thread/vnjv32zv3fqqp92t5nqf0qqy03xphwm8 | 2.4.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-53 OpenLineage in Airflow | 2.7.0 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
Accepted AIPs
AIPs which have been voted on and accepted for inclusion in Airflow, but not yet (fully) implemented.
Title | Discussion Thread | JIRA | InRelease | Created |
---|---|---|---|---|
AIP-26 Production-ready Airflow Docker Image | AIP-26 Discussion |
| ||
AIP-38 Modern Web Application | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |||
AIP-44 Airflow Internal API | https://lists.apache.org/thread/nsmo339m618kjzsdkwq83z8omrt08zh3 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-47 New design of Airflow System Tests | https://lists.apache.org/thread/htd4013yn483qfhwv11vc26jpf2yvjph | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-49 OpenTelemetry Support for Apache Airflow | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |||
AIP-50 Trigger DAG UI Extension with Flexible User Form Concept | https://lists.apache.org/thread/kxkctcbh9drfw065dgvr673zl0xyfl3r | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-51 Removing Executor Coupling from Core Airflow | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIPs under discussion
Abandoned AIPs
Title | State | Discussion Thread | JIRA | Created |
---|---|---|---|---|
AIP-2 Simplify process launching | Draft | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-12 Persist DAG into DB | Abandoned in favour of AIP-24 | [DISCUSS] AIP-12 Persist DAG into DB |
| $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-13: OpenAPI 3 based API definition | Abandoned in favour of AIP-32 |
| $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | |
AIP-18 Persist all information from DAG file in DB | Abandoned in favour of AIP-24 | TBD | TBD | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-19 Making the webserver stateless | Abandoned in favour of AIP-24 | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-25 The Knative Executor | Abandoned | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
AIP-28: Add AsyncExecutor option | Abandoned in favour of AIP-40: Deferrable ("Async") Operators | apache-airflow.slack.com - sig-async-operators |
| $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
AIP-29: AWS Fargate Executor | Abandoned in favour of AIP-51 |
| ||
AIP-37 Virtualenv management inside Airflow | Draft | $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) | ||
Deprecated- AIP-5 DagFetcher | Abandonded in favour of new https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-5+Remote+DAG+Fetcher |
| $action.dateFormatter.formatGivenString("yyyy-MM-dd", $content.getCreationDate()) |
(The above list is automatically generated based on page labels. Do not edit manually)