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.path
in task runner (#51318) - Add bundle path to
sys.path
in 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
SIGSEGV
signals 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
ForwardRef
error 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_index
when 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
/run
API endpoint for older Task SDK clients - Fixed dropdown overflow and error text styling in
FlexibleForm
component (#50845) - Corrected DAG tag rendering to display
+1 more
when tags exceed the display limit by one (#50669) - Fix permission check on the ui config endpoint (#50608)
- Fix
default_args
handling in operator.partial()
to preventTypeError
when 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 clear
command (#49631) - Restored support for
--local
flag indag list
anddag list-import-errors
CLI commands (#49380) - CLI: Exclude example dags when a bundle is passed (#50401)
- Fix CLI export to handle stdout without file descriptors (#50328)
- Fix
DagProcessor
stats log to show the correct parse duration (#50316) - Fix OpenAPI schema for
get_log
API (#50547) - Remove
logical_date
check when validating inlets and outlets (#51464) - Guard
ti
update 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_dags
in standard provider toexample_dags
in sources (#51275) - Bring back "standard" example dags to the
airflow-core
package (#51192) - Faster note on grid endpoint (#51247)
- Port
task.test
to Task SDK (#50827) - Port
dag.test
to Task SDK (#50300,#50419) - Port
ti.run
to Task SDK execution path (#50141) - Support running
airflow dags test
from local files (#50420) - Move macros to task SDK
execution_time
module (#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
dagrun
value for list display (#50834) - Move
secret_key
config toapi
section (#50839) - Move various
webserver
configs tofab
provider (#50774,#50269,#50208,#50896) - Make
dag_run
nullable 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_user
table (#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_links
field toDAGDetailsResponse
for 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
AssetAlias
for alias in AssetMetadata
example (#50768) - Do not use outdated
schedule_interval
in 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
PythonOperator
in tutorial dag (#50962) - Better structure of extras documentation (#50495)
Full Changelog: 3.0.1...3.0.2