Apache Airflow - A platform to programmatically author, schedule, and monitor workflows
0
Release date:
June 6, 2025
Previous version:
3.0.2rc2
(released June 6, 2025)
Magnitude:
0
Diff Delta
Contributors:
0 total committers
Commits:
0 Commits in this Release
Could not find any commits associated with this release.
Browse Other Releases
Latest Pending
Unreleased π
3.0.3rc5
Released July 9, 2025
157 Ξ
3.0.3rc4
Released July 7, 2025
10 Ξ
3.0.3rc3
Released July 4, 2025
28 Ξ
3.0.3rc2
Released July 3, 2025
77 Ξ
3.0.3rc1
Released July 2, 2025
7,980 Ξ
3.0.2
Released June 6, 2025
0 Ξ
3.0.2rc2
Released June 6, 2025
79 Ξ
3.0.2rc1
Released June 3, 2025
7,983 Ξ
3.0.1
Released May 6, 2025
0 Ξ
3.0.1rc1
Released May 6, 2025
5,477 Ξ
Top Contributors in 3.0.2
Could not determine top contributors for this release.
Directory Browser for 3.0.2
We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.
Release Notes Published
What's Changed
π¦ PyPI: https://pypi.org/project/apache-airflow/3.0.2/ π Docs: https://airflow.apache.org/docs/apache-airflow/3.0.2/ π οΈ Release Notes: https://airflow.apache.org/docs/apache-airflow/3.0.2/release_notes.html πͺΆ Sources: https://airflow.apache.org/docs/apache-airflow/3.0.2/installation/installing-from-sources.html
Bug Fixes
- Fix memory leak in dag-processor (#50558)
- Add back invalid inlet and outlet check before running tasks (#50773)
- Implement slice on LazyXComSequence to allow filtering items from a mapped task(#50117)
- Fix execution API server URL handling for relative paths in KE (#51183)
- Add log lookup exception for Empty operator subtypes (#50325)
- Increase the max zoom on the graph view to make it easier to see small dags on big monitor screens (#50772)
- Fix timezone selection and dashboard layout (#50463)
- Creating backfill for a dag is affecting other dags (#50577)
- Fix next asset schedule and dag card UX (#50271)
- Add bundle path to
sys.pathin task runner (#51318) - Add bundle path to
sys.pathin dag processor (#50385) - Prevent CPU spike in task supervisor when heartbeat timeout exceeded (#51023)
- Fix Airflow Connection Form widget error (#51168)
- Add backwards compatibility shim and deprecation warning for EmailOperator (#51004)
- Handle
SIGSEGVsignals during DAG file imports (#51171) - Fix deferred task resumption in
dag.test()(#51182) - Fix get dags query to not have join explosion (#50984)
- Ensure Logical date is populated correctly in Context vars (#50898)
- Mask variable values in task logs only if the variable key is sensitive (#50775)
- Mask secrets when retrieving variables from secrets backend (#50895)
- Deserialize should work while retrieving variables with secrets backend (#50889)
- Fix XCom deserialization for mapped tasks with custom backend (#50687)
- Support macros defined via plugins in Airflow 3 (#50642)
- Fix Pydantic
ForwardReferror by reordering discriminated union definitions (#50688) - Adding backwards compatibility shim for
BaseNotifier(#50340) - Use latest bundle version when clearing / re-running dag (#50040)
- Handle
upstream_mapped_indexwhen xcom access is needed (#50641) - Remove unnecessary breaking flag in config command (#50781)
- Do not flood worker logs with secrets backend loading logs (#50581)
- Persist table sorting preferences across sessions using local storage (#50720)
- Fixed patch_task_instance API endpoint to support task instance summaries and task groups (#50550)
- Fixed bulk API schemas to improve OpenAPI compatibility and client generation (#50852)
- Fixed variable API endpoints to support keys containing slashes (#50841)
- Restored backward compatibility for the
/runAPI endpoint for older Task SDK clients - Fixed dropdown overflow and error text styling in
FlexibleFormcomponent (#50845) - Corrected DAG tag rendering to display
+1 morewhen tags exceed the display limit by one (#50669) - Fix permission check on the ui config endpoint (#50608)
- Fix
default_argshandling in operator.partial()to preventTypeErrorwhen unused keys are present (#50525) - DAG Processor: Fix index to sort by last parsing duration (#50388)
- UI: Fix border overlap issue in the Events page (#50453)
- Fix
airflow tasks clearcommand (#49631) - Restored support for
--localflag indag listanddag list-import-errorsCLI commands (#49380) - CLI: Exclude example dags when a bundle is passed (#50401)
- Fix CLI export to handle stdout without file descriptors (#50328)
- Fix
DagProcessorstats log to show the correct parse duration (#50316) - Fix OpenAPI schema for
get_logAPI (#50547) - Remove
logical_datecheck when validating inlets and outlets (#51464) - Guard
tiupdate state and set task to fail if exception encountered (#51295)
Miscellaneous
- UI: Implement navigation on bar click (#50416)
- UI: Always Show Trends count in Dag Overview (#50183)
- UI: Add basic json check to variable value
- Remove filtering by last dag run state in patch dags endpoint (#51347)
- Ensure that both public and ui dags endpoints map to DagService (#51226)
- Refresh Dag details page on new run (#51173)
- Log fallback to None when no XCom value is found (#51285)
- Move
example_dagsin standard provider toexample_dagsin sources (#51275) - Bring back "standard" example dags to the
airflow-corepackage (#51192) - Faster note on grid endpoint (#51247)
- Port
task.testto Task SDK (#50827) - Port
dag.testto Task SDK (#50300,#50419) - Port
ti.runto Task SDK execution path (#50141) - Support running
airflow dags testfrom local files (#50420) - Move macros to task SDK
execution_timemodule (#50940) - Add a link to the Airflow logo in Nav (#50304)
- UI: Bump minor and patch package json dependencies (#50298)
- Added a direct link to the latest DAG run in the DAG header (#51119,#51148)
- Fetch only the most recent
dagrunvalue for list display (#50834) - Move
secret_keyconfig toapisection (#50839) - Move various
webserverconfigs tofabprovider (#50774,#50269,#50208,#50896) - Make
dag_runnullable in Details page (#50719) - Rename Operation IDs for task instance endpoints to include map indexes (#49608)
- Update default sort for connections and dags (#50600)
- Raise exception if downgrade can't proceed due to no
ab_usertable (#50343) - Enable JSON serialization for variables created via the bulk API (#51057)
- Always display the backfill option in the UI; enable it only for DAGs with a defined schedule (#50969)
- Optimized DAG header to fetch only the most recent DAG run for improved performance (#50767)
- Add
owner_linksfield toDAGDetailsResponsefor enhanced owner metadata in the API (#50557) - UI: Move map index column to be in line with other columns when viewing a summary mapped tasks (#50302)
- Separate configurations for colorized and json logs in Task SDK / Celery Executor (#51082)
- Enhanced task log viewer with virtualized rendering for improved performance on large logs (#50746)
Doc Only Changes
- Add dates for Limited Maintenance & EOL for Airflow 2.x (#50794)
- Add Apache Airflow setup instructions for Apple Silicon (#50179)
- Update recommendation for upgrade path to airflow 3 (#50318)
- Add "disappearing DAGs" section on FAQ doc (#49987)
- Update Airflow 3 migration guide with step about custom operators (#50871) (#50948)
- Use
AssetAliasfor alias in AssetMetadataexample (#50768) - Do not use outdated
schedule_intervalin tutorial dags (#50947) - Add Airflow Version in Page Title (#50358)
- Fix callbacks docs (#50377)
- Updating operator extra links doc (#50197)
- Prune old Airflow versions from release notes (#50860)
- Fix types in config templates reference (#50792)
- Fix wrong import for
PythonOperatorin tutorial dag (#50962) - Better structure of extras documentation (#50495)
Full Changelog: https://github.com/apache/airflow/compare/3.0.1...3.0.2
