From b93c3db6b1641b0840bd15ac7d05bc58ff2cccbf Mon Sep 17 00:00:00 2001 From: utkarsh sharma Date: Tue, 28 Jan 2025 18:58:21 +0530 Subject: [PATCH] Update RELEASE_NOTES.rst --- RELEASE_NOTES.rst | 53 +++++++++++++++++++++++++++++ airflow/reproducible_build.yaml | 4 +-- newsfragments/44751.bugfix.rst | 1 - newsfragments/44912.bugfix.rst | 1 - newsfragments/44937.bugfix.rst | 1 - newsfragments/44938.bugfix.rst | 1 - newsfragments/44968.misc.rst | 1 - newsfragments/45134.bugfix.rst | 1 - newsfragments/45530.significant.rst | 12 ------- 9 files changed, 55 insertions(+), 20 deletions(-) delete mode 100644 newsfragments/44751.bugfix.rst delete mode 100644 newsfragments/44912.bugfix.rst delete mode 100644 newsfragments/44937.bugfix.rst delete mode 100644 newsfragments/44938.bugfix.rst delete mode 100644 newsfragments/44968.misc.rst delete mode 100644 newsfragments/45134.bugfix.rst delete mode 100644 newsfragments/45530.significant.rst diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst index 9ff9aeb5c4f4c..b922b54f61b9b 100644 --- a/RELEASE_NOTES.rst +++ b/RELEASE_NOTES.rst @@ -21,6 +21,59 @@ .. towncrier release notes start +Airflow 2.10.5 (2025-02-06) +--------------------------- + +Significant Changes +^^^^^^^^^^^^^^^^^^^ + +Ensure teardown tasks are executed when DAG run is set to failed (#45530) +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +Previously when a DAG run was manually set to "failed" or to "success" state the terminal state was set to all tasks. +But this was a gap for cases when setup- and teardown tasks were defined: If teardown was used to clean-up infrastructure +or other resources, they were also skipped and thus resources could stay allocated. + +As of now when setup tasks had been executed before and the DAG is manually set to "failed" or "success" then teardown +tasks are executed. Teardown tasks are skipped if the setup was also skipped. + +As a side effect this means if the DAG contains teardown tasks, then the manual marking of DAG as "failed" or "success" +will need to keep the DAG in running state to ensure that teardown tasks will be scheduled. They would not be scheduled +if the DAG is directly set to "failed" or "success". + + +Bug Fixes +""""""""" + +- Prevent using ``trigger_rule=TriggerRule.ALWAYS`` in a task-generated mapping within bare tasks (#44751) +- Fix ShortCircuitOperator mapped tasks (#44912) +- Fix premature evaluation of tasks with certain trigger rules (e.g. ``ONE_DONE``) in a mapped task group (#44937) +- Fix task_id validation in BaseOperator (#44938) (#44938) +- Allow fetching XCom with forward slash from the API and escape it in the UI (#45134) +- Fix ``FileTaskHandler`` only read from default executor (#46000) +- Fix empty task instance for log (#45702) (#45703) +- Remove ``skip_if`` and ``run_if`` decorators before TaskFlow virtualenv tasks are run (#41832) (#45680) +- Fix request body for json requests in event log (#45546) (#45560) +- Ensure teardown tasks are executed when DAG run is set to failed (#45530) (#45581) +- Do not update DR on TI update after task execution (#45348) +- Fix object and array DAG params that have a None default (#45313) (#45315) +- Fix endless sensor rescheduling (#45224) (#45250) +- Evaluate None in SQLAlchemy's extended JSON type decorator (#45119) (#45120) +- Allow dynamic tasks to be filtered by ``rendered_map_index`` (#45109) (#45122) +- Handle relative paths when sanitizing URLs (#41995) (#45080) +- Set Autocomplete Off on Login Form (#44929) (#44940) +- Add Webserver parameters ``max_form_parts``, ``max_form_memory_size`` (#46243) (#45749) +- Fixed accessing thread local variable in BaseOperators ``execute`` safeguard mechanism (#44646) (#46280) +- Add map_index parameter to extra links API (#46337) + + +Miscellaneous +""""""""""""" + +- Add traceback log output when SIGTERMs was sent (#44880) (#45077) +- Removed the ability for Operators to specify their own "scheduling deps" (#45713) (#45742) +- Deprecate ``conf`` from Task Context (#44993) + Airflow 2.10.4 (2024-12-09) --------------------------- diff --git a/airflow/reproducible_build.yaml b/airflow/reproducible_build.yaml index eef20e83caddf..de660bb380adc 100644 --- a/airflow/reproducible_build.yaml +++ b/airflow/reproducible_build.yaml @@ -1,2 +1,2 @@ -release-notes-hash: 4c64543422c2823b475306f5e634d598 -source-date-epoch: 1737575461 +release-notes-hash: 8e5657e541a0bf44f777a4ec3ee442e3 +source-date-epoch: 1738582969 diff --git a/newsfragments/44751.bugfix.rst b/newsfragments/44751.bugfix.rst deleted file mode 100644 index c85601d0fe13a..0000000000000 --- a/newsfragments/44751.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -``TriggerRule.ALWAYS`` cannot be utilized within a task-generated mapping, either in bare tasks (fixed in this PR) or mapped task groups (fixed in PR #44368). The issue with doing so, is that the task is immediately executed without waiting for the upstreams's mapping results, which certainly leads to failure of the task. This fix avoids it by raising an exception when it is detected during DAG parsing. diff --git a/newsfragments/44912.bugfix.rst b/newsfragments/44912.bugfix.rst deleted file mode 100644 index 6d19c5223f564..0000000000000 --- a/newsfragments/44912.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix short circuit operator in mapped tasks. The operator did not work until now due to a bug in ``NotPreviouslySkippedDep``. Please note that at time of merging, this fix has been applied only for Airflow version > 2.10.4 and < 3, and should be ported to v3 after merging PR #44925. diff --git a/newsfragments/44937.bugfix.rst b/newsfragments/44937.bugfix.rst deleted file mode 100644 index d50da4de82fc9..0000000000000 --- a/newsfragments/44937.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix pre-mature evaluation of tasks in mapped task group. The origins of the bug are in ``TriggerRuleDep``, when dealing with ``TriggerRule`` that is fastly triggered (i.e, ``ONE_FAILED``, ``ONE_SUCCESS`, or ``ONE_DONE``). Please note that at time of merging, this fix has been applied only for Airflow version > 2.10.4 and < 3, and should be ported to v3 after merging PR #40460. diff --git a/newsfragments/44938.bugfix.rst b/newsfragments/44938.bugfix.rst deleted file mode 100644 index 4e6746b223d1d..0000000000000 --- a/newsfragments/44938.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix task_id validation in BaseOperator (#44938) diff --git a/newsfragments/44968.misc.rst b/newsfragments/44968.misc.rst deleted file mode 100644 index 160ccd60855af..0000000000000 --- a/newsfragments/44968.misc.rst +++ /dev/null @@ -1 +0,0 @@ -The ``conf`` variable, which provided access to the full Airflow configuration (``airflow.cfg``), has been deprecated and will be removed in Airflow 3 from the Task (Jinja2) template context for security and simplicity. If you need specific configuration values in your tasks, retrieve them explicitly in your DAG or task code using the ``airflow.configuration.conf`` module. For users retrieving the webserver URL (e.g., to include log links in task or callbacks), one of the most common use-case, use the ``ti.log_url`` property available in the ``TaskInstance`` context instead. diff --git a/newsfragments/45134.bugfix.rst b/newsfragments/45134.bugfix.rst deleted file mode 100644 index 09aaae23a3487..0000000000000 --- a/newsfragments/45134.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -(v2 API & UI) Allow fetching XCom with forward slash from the API and escape it in the UI diff --git a/newsfragments/45530.significant.rst b/newsfragments/45530.significant.rst deleted file mode 100644 index 7e2ae8e8ac6a5..0000000000000 --- a/newsfragments/45530.significant.rst +++ /dev/null @@ -1,12 +0,0 @@ -Ensure teardown tasks are executed when DAG run is set to failed - -Previously when a DAG run was manually set to "failed" or to "success" state the terminal state was set to all tasks. -But this was a gap for cases when setup- and teardown tasks were defined: If teardown was used to clean-up infrastructure -or other resources, they were also skipped and thus resources could stay allocated. - -As of now when setup tasks had been executed before and the DAG is manually set to "failed" or "success" then teardown -tasks are executed. Teardown tasks are skipped if the setup was also skipped. - -As a side effect this means if the DAG contains teardown tasks, then the manual marking of DAG as "failed" or "success" -will need to keep the DAG in running state to ensure that teardown tasks will be scheduled. They would not be scheduled -if the DAG is diorectly set to "failed" or "success".