Apache Airflow 3.0.1stable Released May 12, 2025
Impact Score: 5/10

Apache Airflow: Airflow 3.0.1

Source available โ€” automated, not human-reviewed

Component: airflow ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก Executive Summary (TL;DR)

Apache Airflow 3.0.1. Source highlight: ๐Ÿ“ฆ PyPI: https://pypi.org/project/apache-airflow/3.0.1/

Who Does This Impact? (Role-Based Analysis)

๐Ÿ’ป Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

๐Ÿ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

โš™๏ธ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

โœจ New Features & Capabilities (6)

  • Add ``STRAIGHT_JOIN`` prefix for MySQL query optimization in ``get_sorted_triggers`` (#46303)
  • Add backwards compatibility shim for ``get_current_context`` (#49630)
  • Add count to Stats Cards in Dashboard (#49519)
  • Add auto-refresh to health section for live updates. (#49645)
  • Add ``SimpleAllAdminMiddleware`` to allow api usage without auth header in request (#49599)
  • Add redirects for old operators location to standard provider (#49776)

โšก Performance & Enhancements (4)

  • AIP-38: enhance layout for ``RunBackfillForm`` (#49609)
  • Tweak Execution API OpenAPI spec to improve code Generation (#49700)
  • Execution API: Improve task instance logging with structlog context (#50120)
  • Refactor Dashboard to enhance layout (#50026)

๐Ÿ”ง Bug Fixes & Patches (6)

  • Improves the handling of value masking when setting Airflow variables for enhanced security (#43123)
  • Make entire task box clickable to select the task (#49299)
  • Vertically align task log header components in full screen mode (#49569)
  • Remove ``dag_code`` records with no serialized dag (#49478)
  • Clear out the ``dag_code`` and ``serialized_dag`` tables on 3.0 upgrade (#49563)
  • Remove extra slash so that the runs tab is selected (#49600)
๐Ÿ“„ View Raw Release Notes (Original Developer Log)
๐Ÿ“ฆ PyPI: https://pypi.org/project/apache-airflow/3.0.1/ ๐Ÿ“š Docs: https://airflow.apache.org/docs/apache-airflow/3.0.1/index.html ๐Ÿ› ๏ธ Release Notes: https://airflow.apache.org/docs/apache-airflow/3.0.1/release_notes.html ๐Ÿชถ Sources: https://airflow.apache.org/docs/apache-airflow/3.0.1/installation/installing-from-sources.html ## Bug Fixes - Improves the handling of value masking when setting Airflow variables for enhanced security (#43123) - Make entire task box clickable to select the task (#49299) - Vertically align task log header components in full screen mode (#49569) - Remove ``dag_code`` records with no serialized dag (#49478) - Clear out the ``dag_code`` and ``serialized_dag`` tables on 3.0 upgrade (#49563) - Remove extra slash so that the runs tab is selected (#49600) - Null out the ``scheduler_interval`` field on downgrade (#49583) - Logout functionality should respect ``base_url`` in api server (#49545) - Fix bug with showing invalid credentials on Login UI (#49556) - Fix Dag Code text selection when dark mode is enabled (#49649) - Bugfix: ``max_active_tis_per_dag`` is not respected by dynamically mapped tasks (#49708) - Fix infinite redirect caused by mistakenly setting token cookie as secure (#49721) - Better handle safe url redirects in login form for ``SimpleAuthManager`` (#49697)(#49866) - API: Add missing ``bundle_version`` to DagRun response (#49726) - Display bundle version in Dag details tab (#49787) - Fix gcp remote log module import in airflow local settings (#49788) - Bugfix: Grid view stops loading when there is a pending task to be expanded (#49772) - Treat single ``task_ids`` in ``xcom_pull`` the same as multiple when provided as part of a list (#49692) - UI: Auto refresh Home page stats (#49830) - UI: Error alert overflows out of the alert box (#49880) - Show backfill banner after creating a new backfill (#49666) - Mark ``DAGModel`` stale and associate bundle on import errors to aid migration from 2.10.5 (#49769) - Improve detection and handling of timed out DAG processor processes (#49868) - Fix editing port for connections (#50002) - Improve & Fix grid endpoint response time (#49969) - Update time duration format (#49914) - Fix Dashboard overflow and handle no status tasks (#49964) - Fix timezone setting for logical date input on Trigger Run form (#49662) - Help ``pip`` with avoiding resolution too deep issues in Python 3.12 (#49853) - Bugfix: backfill dry run does not use same timezone as create backfill (#49911) - Fix Edit Connection when connection is imported (#49989) - Bugfix: Filtering items from a mapped task is broken (#50011) - Fix Dashboard for queued DagRuns (#49961) - Fix backwards-compat import path for ``BashSensor`` (#49935) - Apply task group sorting based on webserver config in grid structure response (#49418) - Render custom ``map_index_template`` on task completion (#49809) - Fix ``ContinuousTimetable`` false triggering when last run ends in future (#45175) - Make Trigger Dag form warning more obvious (#49981) - Restore task hover and selection indicators in the Grid view (#50050) - Fix datetime validation for backfills (#50116) - Fix duration charts (#50094) - Fix DAG node selections (#50095) - UI: Fix date range field alignment (#50086) - Add auto-refresh for ``Stats`` (#50088) - UI: Fixes validation error and adds error indicator for Params form (#50127) - fix: wrap overflowing texts of asset events (#50173) - Add audit log extra to table and improve UX (#50100) - Handle map indexes for Mapped ``TaskGroup`` (#49996) - Do not use introspection in migration to fix offline SQL generation (#49873) - Fix operator extra links for mapped tasks (#50238) - Fix backfill form (#50249)(#50243) - UI: Fix operator overflow in graph (#50252) - UI: Pass ``mapIndex`` to clear the relevant task instances. (#50256) - Fix markdown rendering on dag docs (#50142) ## Miscellaneous - Add ``STRAIGHT_JOIN`` prefix for MySQL query optimization in ``get_sorted_triggers`` (#46303) - Ensure ``sqlalchemy[asyncio]`` extra is in core deps (#49452) - Remove unused constant ``HANDLER_SUPPORTS_TRIGGERER`` (#49370) - Remove sort indicators on XCom table to avoid confusion (#49547) - Remove ``gitpython`` as a core dependency (#49537) - Bump ``@babel/runtime`` from ``7.26.0`` to ``7.27.0`` (#49479) - Add backwards compatibility shim for ``get_current_context`` (#49630) - AIP-38: enhance layout for ``RunBackfillForm`` (#49609) - AIP-38: merge Backfill and Trigger Dag Run (#49490) - Add count to Stats Cards in Dashboard (#49519) - Add auto-refresh to health section for live updates. (#49645) - Tweak Execution API OpenAPI spec to improve code Generation (#49700) - Stricter validation for ``backfill_id`` (#49691)(#49716) - Add ``SimpleAllAdminMiddleware`` to allow api usage without auth header in request (#49599) - Bump ``react-router`` and ``react-router-dom`` from 7.4.0 to 7.5.2 (#49742) - Remove reference to ``root_dag_id`` in dagbag and restore logic (#49668) - Fix a few SqlAlchemy deprecation warnings (#49477) - Make default execution server URL be relative to API Base URL (#49747)(#49782) - Common ``airflow.cfg`` files across all containers in default ``docker-compose.yaml`` (#49681) - Add redirects for old operators location to standard provider (#49776) - Bump packaging from 24.2 to 25.0 in ``/airflow-core`` (#49512) - Move some non-core dependencies to the ``apache-airflow`` meta package (#49846) - Add more lower-bind limits to address resolution too deep (#49860) - UI: Add counts to pool bar (#49894) - Add type hints for ``@task.kuberenetes_cmd`` (#46913) - Bump ``vite`` from ``5.4.17`` to ``5.4.19`` for Airflow UI (#49162)(#50074) - Add ``map_index`` filter option to ``GetTICount`` and ``GetTaskStates`` (#49818) - Add ``stats`` ui endpoint (#49985) - Add link to tag to filter dags associated with the tag (#49680) - Add keyboard shortcut for full screen and wrap in logs. (#50008) - Update graph node styling to decrease border width on tasks in UI (#50047) (#50073) - Allow non-string valid JSON values in Variable import. (#49844) - Bump min versions of crucial providers (#50076) - Add ``state`` attribute to ``RuntimeTaskInstance`` for easier ``ti.state`` access in Task Context (#50031) - Move SQS message queue to Amazon provider (#50057) - Execution API: Improve task instance logging with structlog context (#50120) - Add ``dag_run_conf`` to ``RunBackfillForm`` (#49763) - Refactor Dashboard to enhance layout (#50026) - Add the download button on the assets page (#50045) - Add ``dateInterval`` validation and error handling (#50072) - Add ``Task Instances [{map_index}]`` tab to mapped task details (#50085) - Add focus view on grid and graph on second click (#50125) - Add formatted extra to asset events (#50124) - Move webserver expose config to api section (#50209) ## Doc Only Changes - Remove flask application configuration from docs for AF3 (#49393) - Docker compose: airflow-cli to depend on airflow common services (#49318) - Better upgrade docs about flask/fab plugins in Airflow 3 (#49632)(#49614)(#49628) - Various Airflow 3.0 Release notes & Updating guide docs updates (#49623)(#49401)(#49654)(#49663)(#49988)(#49954)(#49840)(#50195)(#50264) - Add using the rest api by referring to ``security/api.rst`` (#49675) - Add correct redirects for rest api and upgrade docs (#49764) - Update ``max_consecutive_failed_dag_runs`` default value to zero in TaskSDK dag (#49795) (#49803) - Fix spacing issues in params example dag (``example_params_ui_tutorial``) (#49905) - Doc: Fix Kubernetes duplicated version in maintenance policy (#50030) - Fix links to source examples in Airflow docs (#50082) - Update ruff instructions for migration checks (#50232) - Fix example of backfill command (#50222) - Update docs for running behind proxy for Content-Security-Policy (#50236) **Full Changelog**: https://github.com/apache/airflow/compare/3.0.0...3.0.1