# Apache Airflow 2.3.0 is here

DevFeed: [Apache Airflow 2.3.0 is here](<https://devfeed.tech/articles/apache-airflow-2-3-0-is-here-32533.md>)

Original publisher: [Read original article](<https://airflow.apache.org/blog/airflow-2.3.0/>)

Author: Apache Airflow

Published: 2022-04-30T00:00:00Z

Content type: release

Language: en

Sources: [Apache Airflow Blog](<https://devfeed.tech/sources/apache-airflow-blog.md>)

Topics: [airflow](<https://devfeed.tech/topics/airflow.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Code](<https://devfeed.tech/topics/code.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [airflow](<https://devfeed.tech/tags/airflow.md>), [apache-airflow](<https://devfeed.tech/tags/apache-airflow.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [cli](<https://devfeed.tech/tags/cli.md>), [database](<https://devfeed.tech/tags/database.md>), [docker](<https://devfeed.tech/tags/docker.md>), [json](<https://devfeed.tech/tags/json.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>)

## AI overview

Apache Airflow 2.3.0 is a release containing over 700 commits since version 2.2.0, with 50 new features, 99 improvements, 85 bug fixes, and documentation changes. Highlighted features include Dynamic Task Mapping, a Grid View, metadata database cleanup, LocalKubernetesExecutor, standalone DAG processing, and JSON connection serialization.

## Source excerpt

Apache Airflow 2.3.0 contains over 700 commits since 2.2.0 and includes 50 new features, 99 improvements, 85 bug fixes, and several doc changes. Details: 📦 PyPI: https://pypi.org/project/apache-airflow/2.3.0/ 📚 Docs: https://airflow.apache.org/docs/apache-airflow/2.3.0/ 🛠 Release Notes: https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html 🐳 Docker Image: docker pull apache/airflow:2.3.0 🚏 Constraints: https://github.com/apache/airflow/tree/constraints-2.3.0 As the changelog is quite large, the following are some notable new features that shipped in this release. Dynamic Task Mapping(AIP-42) There's now first-class support for dynamic tasks in Airflow. What this means is that you can generate tasks dynamically at runtime. Much like using a for loop to create a list of tasks, here you can create the same tasks without having to know the exact number of tasks ahead of time. You can have a task generate the list to iterate over, which is not possible with a for loop. Here is an example: @task def make_list(): # This can also be from an API call, checking a database, -- almost anything you like, as long as the # resulting list/dictionary can be stored in the current XCom backend. return [1, 2, {"a": "b"}, "str"] @task def consumer(arg): print(list(arg)) with DAG(dag_id="dynamic-map", start_date=datetime(2022, 4, 2)) as dag: consumer.expand(arg=make_list()) More information can be found here: Dynamic Task Mapping Grid View replaces Tree View Grid view replaces tree view in Airflow 2.3.0. Screenshots: Purge history from metadata database Airflow 2.3.0 introduces a new airflow db clean command that can be used to purge old data from the metadata database. You would want to use this command if you want to reduce the size of the metadata database. More information can be found here: Purge history from metadata database LocalKubernetesExecutor There is a new executor named LocalKubernetesExecutor. This executor helps you run some tasks using LocalExecutor a