<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Release on Apache Airflow</title>
    <link>/blog/tags/release/</link>
    <description>Recent content in Release on Apache Airflow</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 16 Apr 2026 01:48:55 +0100</lastBuildDate>
    <atom:link href="/blog/tags/release/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Introducing the Common AI Provider: LLM and AI Agent Support for Apache Airflow</title>
      <link>/blog/common-ai-provider/</link>
      <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
      <guid>/blog/common-ai-provider/</guid>
      <description>&lt;p&gt;At &lt;a href=&#34;https://airflowsummit.org/sessions/2025/airflow-as-an-ai-agents-toolkit-unlocking-1000-integrations-with-mcp/&#34;&gt;Airflow Summit 2025&lt;/a&gt;, we previewed what native AI integration in Apache Airflow could look like. Today we&amp;rsquo;re shipping it.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://pypi.org/project/apache-airflow-providers-common-ai/&#34;&gt;&lt;code&gt;apache-airflow-providers-common-ai&lt;/code&gt;&lt;/a&gt; 0.1.0&lt;/strong&gt; adds LLM and agent capabilities directly to Airflow. Not a wrapper around another framework, but a provider package that plugs into the orchestrator you already run. It&amp;rsquo;s built on &lt;a href=&#34;https://ai.pydantic.dev/&#34;&gt;Pydantic AI&lt;/a&gt; and supports 20+ model providers (OpenAI, Anthropic, Google, Azure, Bedrock, Ollama, and more) through a single install.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s1&#34;&gt;&amp;#39;apache-airflow-providers-common-ai&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Requires Apache Airflow 3.0+.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 3.2.0: Data-Aware Workflows at Scale</title>
      <link>/blog/airflow-3.2.0/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-3.2.0/</guid>
      <description>&lt;p&gt;We&amp;rsquo;re proud to announce the release of &lt;strong&gt;Apache Airflow 3.2.0&lt;/strong&gt;! Airflow 3.1 puts humans at the center of automated workflows. 3.2 brings that same precision to data: Asset partitioning for granular pipeline orchestration, multi-team deployments for enterprise scale, synchronous deadline alert callbacks, and continued progress toward full Task SDK separation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/3.2.0/&#34;&gt;https://pypi.org/project/apache-airflow/3.2.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/3.2.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/3.2.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠️ Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/3.2.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/3.2.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: &lt;code&gt;docker pull apache/airflow:3.2.0&lt;/code&gt; &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-3.2.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-3.2.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;-asset-partitioning-aip-76-only-the-right-work-gets-triggered&#34;&gt;🗂️ Asset Partitioning (AIP-76): Only the Right Work Gets Triggered&lt;/h1&gt;&#xA;&lt;p&gt;Asset partitioning has been one of the most requested additions to data-aware scheduling. If you work with date-partitioned S3 paths, Hive table partitions, BigQuery partitions, or really any partitioned data store, you&amp;rsquo;ve dealt with this: An upstream task updates one partition, and every downstream Dag fires regardless of which slice actually changed. It&amp;rsquo;s wasteful, and for large deployments it creates real operational noise.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow CTL aka airflowctl 0.1.0</title>
      <link>/blog/airflowctl-0.1.0/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>/blog/airflowctl-0.1.0/</guid>
      <description>&lt;p&gt;We are thrilled to announce the first major release of &lt;strong&gt;&lt;code&gt;airflowctl&lt;/code&gt; 0.1.0&lt;/strong&gt;, the new &lt;strong&gt;secure, API-driven command-line interface (CLI)&lt;/strong&gt; for Apache Airflow — built under &lt;a href=&#34;https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-81&amp;#43;Enhanced&amp;#43;Security&amp;#43;in&amp;#43;CLI&amp;#43;via&amp;#43;Integration&amp;#43;of&amp;#43;API&#34;&gt;&lt;strong&gt;AIP-81&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This release marks CLI to join the general posture on communicating through API. Airflow CLI joins the modern era of secure, auditable, and remote-first operations.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 &lt;strong&gt;PyPI:&lt;/strong&gt; &lt;a href=&#34;https://pypi.org/project/apache-airflow-ctl/0.1.0/&#34;&gt;https://pypi.org/project/apache-airflow-ctl/0.1.0/&lt;/a&gt;  &lt;br&gt;&#xA;🛠️ &lt;strong&gt;Release Notes:&lt;/strong&gt; &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow-ctl/stable/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow-ctl/stable/release_notes.html&lt;/a&gt;  &lt;br&gt;&#xA;🪶 &lt;strong&gt;Source Code:&lt;/strong&gt; &lt;a href=&#34;https://github.com/apache/airflow/tree/main/airflow-ctl&#34;&gt;https://github.com/apache/airflow/tree/main/airflow-ctl&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;-what-is-airflowctl&#34;&gt;🎯 What is airflowctl?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;airflowctl&lt;/code&gt; is a new command-line interface for Apache Airflow that interacts exclusively with the Airflow REST API.&#xA;It provides a secure, auditable, and consistent way to manage Airflow deployments — without direct access to the metadata database.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 3.1.0: Human-Centered Workflows</title>
      <link>/blog/airflow-3.1.0/</link>
      <pubDate>Thu, 25 Sep 2025 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-3.1.0/</guid>
      <description>&lt;p&gt;We are thrilled to announce the release of &lt;strong&gt;Apache Airflow 3.1.0&lt;/strong&gt;, an update that puts humans at the center of data&#xA;workflows. This release introduces powerful new capabilities for human decision-making in automated&#xA;processes, comprehensive internationalization support, and significant developer experience improvements.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/3.1.0/&#34;&gt;https://pypi.org/project/apache-airflow/3.1.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Core Airflow Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/3.1.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/3.1.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Task SDK Docs: &lt;a href=&#34;https://airflow.apache.org/docs/task-sdk/1.1.0/&#34;&gt;https://airflow.apache.org/docs/task-sdk/1.1.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠️ Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/3.1.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/3.1.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🪶 Sources: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/3.1.0/installation/installing-from-sources.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/3.1.0/installation/installing-from-sources.html&lt;/a&gt; &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-3.1.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-3.1.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;-human-in-the-loop-hitl-when-automation-meets-human-judgment&#34;&gt;🤝 Human-in-the-Loop (HITL): When Automation Meets Human Judgment&lt;/h2&gt;&#xA;&lt;p&gt;This powerful capability bridges the gap between automated processes and human expertise, making Airflow invaluable for:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow® 3 is Generally Available!</title>
      <link>/blog/airflow-three-point-oh-is-here/</link>
      <pubDate>Tue, 22 Apr 2025 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-three-point-oh-is-here/</guid>
      <description>&lt;p&gt;We announced our intent to focus on Apache Airflow 3.0® as the next big milestone for the Airflow project at the Airflow Summit in September 2024. We are delighted to announce that Airflow 3.0 is now released!&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-major-release-four-years-in-the-making&#34;&gt;A Major Release, Four Years in the Making&lt;/h2&gt;&#xA;&lt;p&gt;Airflow 3.0 is the biggest release in Airflow’s history—2.0 was released in 2020, and the last 4 years have seen incremental updates and releases every quarter with version 2.10 released in Q4 2024. With over 30 million monthly downloads (up over 30x since 2020) and 80,000 organizations (up from 25,000 in 2020) now using Airflow, we’ve seen an incredible growth in popularity since 2.0.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.10.0 is here</title>
      <link>/blog/airflow-2.10.0/</link>
      <pubDate>Thu, 08 Aug 2024 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.10.0/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m happy to announce that Apache Airflow 2.10.0 is now available, bringing an array of noteworthy enhancements and new features that will greatly serve our community.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.10.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.10.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.10.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.10.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠 Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.10.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.10.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: &amp;ldquo;docker pull apache/airflow:2.10.0&amp;rdquo; &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.10.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.10.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;airflow-now-collects-telemetry-data-by-default&#34;&gt;Airflow now collects Telemetry data by default&lt;/h2&gt;&#xA;&lt;p&gt;With the release of Airflow 2.10.0, we’ve introduced the collection of basic telemetry data, as outlined &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.10.0/faq.html#does-airflow-collect-any-telemetry-data&#34;&gt;here&lt;/a&gt;. This data will play a crucial role in helping Airflow maintainers gain a deeper understanding of how Airflow is utilized across various deployments. The insights derived from this information are invaluable in guiding the prioritization of patches, minor releases, and security fixes. Moreover, this data will inform key decisions regarding the development roadmap, ensuring that Airflow continues to evolve in line with community needs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.9.0: Dataset and UI Improvements</title>
      <link>/blog/airflow-2.9.0/</link>
      <pubDate>Mon, 08 Apr 2024 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.9.0/</guid>
      <description>&lt;p&gt;I’m happy to announce that Apache Airflow 2.9.0 has been released! This time around we have new features for data-aware scheduling and a bunch of UI-related improvements.&lt;/p&gt;&#xA;&lt;p&gt;Apache Airflow 2.9.0 contains over 550 commits, which include 38 new features, 70 improvements, 31 bug fixes, and 18 documentation changes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.9.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.9.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.9.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.9.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠 Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.9.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.9.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: &amp;ldquo;docker pull apache/airflow:2.9.0&amp;rdquo; &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.9.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.9.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Airflow 2.9.0 is also the first release that supports Python 3.12. However, Pendulum 2 does not support Python 3.12, so you’ll need to use &lt;a href=&#34;https://pendulum.eustace.io/blog/announcing-pendulum-3-0-0.html&#34;&gt;Pendulum 3&lt;/a&gt; if you upgrade to Python 3.12.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.8.0 is here</title>
      <link>/blog/airflow-2.8.0/</link>
      <pubDate>Fri, 15 Dec 2023 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.8.0/</guid>
      <description>&lt;p&gt;I am thrilled to announce the release of Apache Airflow 2.8.0, featuring a host of significant enhancements and new features that will greatly benefit our community.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.8.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.8.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.8.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.8.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠 Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.8.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.8.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: &amp;ldquo;docker pull apache/airflow:2.8.0&amp;rdquo; &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.8.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.8.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;airflow-object-storage-aip-58&#34;&gt;Airflow Object Storage (AIP-58)&lt;/h2&gt;&#xA;&lt;p&gt;&lt;em&gt;This feature is experimental and subject to change.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Airflow now offers a generic abstraction layer over various object stores like S3, GCS, and Azure Blob Storage, enabling the use of different storage systems in DAGs without code modification.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.7.0 is here</title>
      <link>/blog/airflow-2.7.0/</link>
      <pubDate>Fri, 18 Aug 2023 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.7.0/</guid>
      <description>&lt;p&gt;I’m happy to announce that Apache Airflow 2.7.0 has been released! Some notable features have been added that we are excited for the community to use.&lt;/p&gt;&#xA;&lt;p&gt;Apache Airflow 2.7.0 contains over 500 commits, which include 40 new features, 49 improvements, 53 bug fixes, and 15 documentation changes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.7.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.7.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.7.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.7.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠 Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.7.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.7.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: &amp;ldquo;docker pull apache/airflow:2.7.0&amp;rdquo; &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.7.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.7.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Airflow 2.7.0 is a release that focuses on security. The Airflow security team, working together with security researchers, identified a number of areas that required strengthening of security. This resulted in, among others things, an improved description of the &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/stable/security/security_model/&#34;&gt;Airflow security model&lt;/a&gt;, a better explanation of our &lt;a href=&#34;https://github.com/apache/airflow/security/policy&#34;&gt;security policy&lt;/a&gt; and the disabling of certain, potentially dangerous, features by default - like, for example, connection testing (#32052).&lt;/p&gt;</description>
    </item>
    <item>
      <title>what&#39;s new in Apache Airflow 2.6.0</title>
      <link>/blog/airflow-2.6.0/</link>
      <pubDate>Sun, 30 Apr 2023 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.6.0/</guid>
      <description>&lt;p&gt;I am excited to announce that Apache Airflow 2.6.0 has been released, bringing many minor features and improvements to the community.&lt;/p&gt;&#xA;&lt;p&gt;Apache Airflow 2.6.0 contains over 500 commits, which include 42 new features, 58 improvements, 38 bug fixes, and 17 documentation changes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.6.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.6.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.6.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.6.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠 Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.6.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.6.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: &amp;ldquo;docker pull apache/airflow:2.6.0&amp;rdquo; &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.6.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.6.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;As the changelog is quite large, the following are some notable new features that shipped in this release.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.5.0: Tick-Tock</title>
      <link>/blog/airflow-2.5.0/</link>
      <pubDate>Fri, 02 Dec 2022 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.5.0/</guid>
      <description>&lt;p&gt;Apache Airflow 2.5 has just been released, barely two and a half months after 2.4!&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.5.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.5.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.5.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.5.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠️ Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.5.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.5.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: docker pull apache/airflow:2.5.0 &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.5.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.5.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;This quicker release cadence is a departure from our previous habit of releasing every five-to-seven months and was a deliberate effort to listen to you, our users, and get the changes and improvements into your workflows earlier.&lt;/p&gt;&#xA;&lt;h2 id=&#34;usability-improvements-to-the-datasets-ui&#34;&gt;Usability improvements to the Datasets UI&lt;/h2&gt;&#xA;&lt;p&gt;When we released Dataset aware scheduling in September we knew that the tools we gave to manage the Datasets were very much a Minimum Viable Product, and in the last two months the committers and contributors have been hard at work at making the UI much more usable when it comes to Datasets.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.4.0: That Data Aware Release</title>
      <link>/blog/airflow-2.4.0/</link>
      <pubDate>Mon, 19 Sep 2022 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.4.0/</guid>
      <description>&lt;p&gt;Apache Airflow 2.4.0 contains over 650 &amp;ldquo;user-facing&amp;rdquo; commits (excluding commits to providers or chart) and over 870 total. That includes 46 new features, 39 improvements, 52 bug fixes, and several documentation changes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.4.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.4.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.4.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.4.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠️ Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.4.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.4.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: docker pull apache/airflow:2.4.0 &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.4.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.4.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;data-aware-scheduling-aip-48&#34;&gt;Data-aware scheduling (AIP-48)&lt;/h2&gt;&#xA;&lt;p&gt;This one is big. Airflow now has the ability to schedule DAGs based on other tasks updating datasets.&lt;/p&gt;&#xA;&lt;p&gt;What does this mean, exactly? This is a great new feature that lets DAG authors create smaller, more self-contained DAGs, which chain together into a larger data-based workflow. If you are currently using &lt;code&gt;ExternalTaskSensor&lt;/code&gt; or &lt;code&gt;TriggerDagRunOperator&lt;/code&gt; you should take a look at datasets &amp;ndash; in most cases you can replace them with something that will speed up the scheduling!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.3.0 is here</title>
      <link>/blog/airflow-2.3.0/</link>
      <pubDate>Sat, 30 Apr 2022 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.3.0/</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.3.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.3.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠️ Release Notes: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.3.0/release_notes.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: docker pull apache/airflow:2.3.0 &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.3.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.3.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;As the changelog is quite large, the following are some notable new features that shipped in this release.&lt;/p&gt;&#xA;&lt;h2 id=&#34;dynamic-task-mappingaip-42&#34;&gt;Dynamic Task Mapping(AIP-42)&lt;/h2&gt;&#xA;&lt;p&gt;There&amp;rsquo;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 &lt;code&gt;for&lt;/code&gt; loop&#xA;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.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What&#39;s new in Apache Airflow 2.2.0</title>
      <link>/blog/airflow-2.2.0/</link>
      <pubDate>Mon, 11 Oct 2021 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-2.2.0/</guid>
      <description>&lt;p&gt;I’m proud to announce that Apache Airflow 2.2.0 has been released. It contains over 600 commits since 2.1.4 and includes 30 new features, 84 improvements, 85 bug fixes, and many internal and doc changes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;📦 PyPI: &lt;a href=&#34;https://pypi.org/project/apache-airflow/2.2.0/&#34;&gt;https://pypi.org/project/apache-airflow/2.2.0/&lt;/a&gt; &lt;br&gt;&#xA;📚 Docs: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.2.0/&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.2.0/&lt;/a&gt; &lt;br&gt;&#xA;🛠️ Changelog: &lt;a href=&#34;https://airflow.apache.org/docs/apache-airflow/2.2.0/changelog.html&#34;&gt;https://airflow.apache.org/docs/apache-airflow/2.2.0/changelog.html&lt;/a&gt; &lt;br&gt;&#xA;🐳 Docker Image: docker pull apache/airflow:2.2.0 &lt;br&gt;&#xA;🚏 Constraints: &lt;a href=&#34;https://github.com/apache/airflow/tree/constraints-2.2.0&#34;&gt;https://github.com/apache/airflow/tree/constraints-2.2.0&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;As the changelog is quite large, the following are some notable new features that shipped in this release.&lt;/p&gt;&#xA;&lt;h2 id=&#34;custom-timetables-aip-39&#34;&gt;Custom Timetables (AIP-39)&lt;/h2&gt;&#xA;&lt;p&gt;Airflow has historically used cron expressions and timedeltas to represent when a DAG should run. This worked for a lot of use cases, but not all. For example, running daily on Monday-Friday, but not on weekends wasn’t possible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 2.0 is here!</title>
      <link>/blog/airflow-two-point-oh-is-here/</link>
      <pubDate>Thu, 17 Dec 2020 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-two-point-oh-is-here/</guid>
      <description>&lt;p&gt;I am proud to announce that Apache Airflow 2.0.0 has been released.&lt;/p&gt;&#xA;&lt;p&gt;The full changelog is about 3,000 lines long (already excluding everything backported to 1.10), so for now I&amp;rsquo;ll simply share some of the major features in 2.0.0 compared to 1.10.14:&lt;/p&gt;&#xA;&lt;h2 id=&#34;a-new-way-of-writing-dags-the-taskflow-api-aip-31&#34;&gt;A new way of writing dags: the TaskFlow API (AIP-31)&lt;/h2&gt;&#xA;&lt;p&gt;(Known in 2.0.0alphas as Functional DAGs.)&lt;/p&gt;&#xA;&lt;p&gt;DAGs are now much much nicer to author especially when using PythonOperator. Dependencies are handled more clearly and XCom is nicer to use&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 1.10.12</title>
      <link>/blog/airflow-1.10.12/</link>
      <pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-1.10.12/</guid>
      <description>&lt;p&gt;Airflow 1.10.12 contains 113 commits since 1.10.11 and includes 5 new features, 23 improvements, 23 bug fixes,&#xA;and several doc changes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;PyPI&lt;/strong&gt;: &lt;a href=&#34;https://pypi.org/project/apache-airflow/1.10.12/&#34;&gt;https://pypi.org/project/apache-airflow/1.10.12/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.12/&#34;&gt;https://airflow.apache.org/docs/1.10.12/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Changelog&lt;/strong&gt;: &lt;a href=&#34;http://airflow.apache.org/docs/1.10.12/changelog.html&#34;&gt;http://airflow.apache.org/docs/1.10.12/changelog.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Airflow 1.10.11 has breaking changes with respect to&#xA;KubernetesExecutor &amp;amp; KubernetesPodOperator so I recommend users to directly upgrade to Airflow 1.10.12 instead&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Some of the noteworthy new features (user-facing) are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/8560&#34;&gt;Allow defining custom XCom class&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/9645&#34;&gt;Get Airflow configs with sensitive data from Secret Backends&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/10282&#34;&gt;Add AirflowClusterPolicyViolation support to Airflow local settings&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;allow-defining-custom-xcom-class&#34;&gt;Allow defining Custom XCom class&lt;/h3&gt;&#xA;&lt;p&gt;Until Airflow 1.10.11, the XCom data was only stored in Airflow Metadatabase. From Airflow 1.10.12, users&#xA;would be able to define custom XCom classes. This will allow users to transfer larger data between tasks.&#xA;An example here would be to store XCom in S3 or GCS Bucket if the size of data that needs to be stored is larger&#xA;than &lt;code&gt;XCom.MAX_XCOM_SIZE&lt;/code&gt; (48 KB).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 1.10.10</title>
      <link>/blog/airflow-1.10.10/</link>
      <pubDate>Thu, 09 Apr 2020 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-1.10.10/</guid>
      <description>&lt;p&gt;Airflow 1.10.10 contains 199 commits since 1.10.9 and includes 11 new features, 43 improvements, 44 bug fixes, and several doc changes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;PyPI&lt;/strong&gt;: &lt;a href=&#34;https://pypi.org/project/apache-airflow/1.10.10/&#34;&gt;https://pypi.org/project/apache-airflow/1.10.10/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.10/&#34;&gt;https://airflow.apache.org/docs/1.10.10/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Changelog&lt;/strong&gt;: &lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/changelog.html&#34;&gt;http://airflow.apache.org/docs/1.10.10/changelog.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Some of the noteworthy new features (user-facing) are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/8046&#34;&gt;Allow user to choose timezone to use in the RBAC UI&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7832&#34;&gt;Add Production Docker image support&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/howto/use-alternative-secrets-backend.html&#34;&gt;Allow Retrieving Airflow Connections &amp;amp; Variables from various Secrets backend&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.10/dag-serialization.html&#34;&gt;Stateless Webserver using DAG Serialization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7880&#34;&gt;Tasks with Dummy Operators are no longer sent to executor&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7312&#34;&gt;Allow passing DagRun conf when triggering dags via UI&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;allow-user-to-choose-timezone-to-use-in-the-rbac-ui&#34;&gt;Allow user to choose timezone to use in the RBAC UI&lt;/h3&gt;&#xA;&lt;p&gt;By default the Web UI will show times in UTC. It is possible to change the timezone shown by using the menu in the top&#xA;right (click on the clock to activate it):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Apache Airflow 1.10.8 &amp; 1.10.9</title>
      <link>/blog/airflow-1.10.8-1.10.9/</link>
      <pubDate>Sun, 23 Feb 2020 00:00:00 +0000</pubDate>
      <guid>/blog/airflow-1.10.8-1.10.9/</guid>
      <description>&lt;p&gt;Airflow 1.10.8 contains 160 commits since 1.10.7 and includes 4 new features, 42 improvements, 36 bug fixes, and several doc changes.&lt;/p&gt;&#xA;&lt;p&gt;We released 1.10.9 on the same day as one of the Flask dependencies (Werkzeug) released 1.0 which broke Airflow 1.10.8.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;PyPI&lt;/strong&gt;: &lt;a href=&#34;https://pypi.org/project/apache-airflow/1.10.9/&#34;&gt;https://pypi.org/project/apache-airflow/1.10.9/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Docs&lt;/strong&gt;: &lt;a href=&#34;https://airflow.apache.org/docs/1.10.9/&#34;&gt;https://airflow.apache.org/docs/1.10.9/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Changelog (1.10.8)&lt;/strong&gt;: &lt;a href=&#34;http://airflow.apache.org/docs/1.10.8/changelog.html#airflow-1-10-8-2020-01-07&#34;&gt;http://airflow.apache.org/docs/1.10.8/changelog.html#airflow-1-10-8-2020-01-07&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Changelog (1.10.9)&lt;/strong&gt;: &lt;a href=&#34;http://airflow.apache.org/docs/1.10.9/changelog.html#airflow-1-10-9-2020-02-10&#34;&gt;http://airflow.apache.org/docs/1.10.9/changelog.html#airflow-1-10-9-2020-02-10&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Some of the noteworthy new features (user-facing) are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/6489&#34;&gt;Add tags to DAGs and use it for filtering in the UI (RBAC only)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://airflow.apache.org/docs/1.10.9/executor/debug.html&#34;&gt;New Executor: DebugExecutor for Local debugging from your IDE&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7281&#34;&gt;Allow passing conf in &amp;ldquo;Add DAG Run&amp;rdquo; (Triggered Dags) view&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/apache/airflow/pull/7038&#34;&gt;Allow dags to run for future execution dates for manually triggered DAGs (only if &lt;code&gt;schedule_interval=None&lt;/code&gt;)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://airflow.apache.org/docs/1.10.9/configurations-ref.html&#34;&gt;Dedicated page in documentation for all configs in airflow.cfg&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;add-tags-to-dags-and-use-it-for-filtering-in-the-ui&#34;&gt;Add tags to DAGs and use it for filtering in the UI&lt;/h3&gt;&#xA;&lt;p&gt;In order to filter DAGs (e.g. by team), you can add tags in each dag. The filter is saved in a cookie and can be reset by the reset button.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
