This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 63cd85f9503 Copy 2.11.1 release notes to main (#62271)
63cd85f9503 is described below

commit 63cd85f95033075f2a4114d07888c4af0fdff2b0
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Feb 21 16:47:37 2026 +0100

    Copy 2.11.1 release notes to main (#62271)
---
 RELEASE_NOTES.rst       | 85 +++++++++++++++++++++++++++++++++++++++++++++++++
 reproducible_build.yaml |  4 +--
 2 files changed, 87 insertions(+), 2 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index bbf63a5f3a4..598ab1e7fc7 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -2405,6 +2405,91 @@ thank everyone who helped shape this release through 
design discussions, code co
 community feedback. For full details, migration guidance, and upgrade best 
practices, refer to the official Upgrade
 Guide and join the conversation on the Airflow dev and user mailing lists.
 
+Airflow 2.11.1 (2026-02-20)
+---------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+Python 3.9 support removed
+""""""""""""""""""""""""""
+
+Support for Python 3.9 has been removed, as it has reached end-of-life.
+Airflow 2.11.1 requires Python 3.10, 3.11, or 3.12. Note that this is unusual 
to remove
+Python version support in patch-level release of Airflow, but since Python 3.9 
is already
+end-of-life, many libraries do not support it any more, and Airflow 2.11.1 is 
focused on
+improving security by upgrading dependencies, so we decided to remove Python 
3.9 support
+in this patch release, to improve security of the release. Python 3.10 and 
3.11 had almost
+no backward-incompatible changes, so you should be able to upgrade to Python 
3.10 or 3.11
+easily. If you were using Python 3.9 before, it is recommended to first 
upgrade Python version
+in existing installation and then upgrade to Airflow 2.11.1.
+
+Publishing timer and timing metrics in seconds is now deprecated
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+In Airflow 3.0, the ``timer_unit_consistency`` setting in the ``metrics`` 
section will be
+enabled by default and setting itself will be removed. This will standardize 
all timer and timing metrics to
+milliseconds across all metric loggers.
+
+**Users Integrating with Datadog, OpenTelemetry, or other metric backends** 
should enable this setting. For users, using
+``statsd``, this change will not affect you.
+
+If you need backward compatibility, you can leave this setting disabled 
temporarily, but enabling
+``timer_unit_consistency`` is encouraged to future-proof your metrics setup. 
(#39908)
+
+Retrieving historical log templates is disabled in Airflow 2.11.1
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+When you change the log template in Airflow 2.11.1, the historical log 
templates are not retrieved.
+This means that if you have existing logs that were generated using a 
different log template,
+they will not be accessible using the new log template.
+
+This change is due to potential security issues that could arise from 
retrieving historical log templates,
+which allow Dag Authors to execute arbitrary code in webserver when retrieving 
logs.
+By disabling the retrieval of historical log templates, Airflow 2.11.1 aims to 
enhance the security of the
+system and prevent potential vulnerabilities in case the potential of 
executing arbitrary code in webserver
+is important for Airflow deployment.
+
+Users who need to access historical logs generated with a different log 
template will need to manually
+update their log files to match the naming of their historical log files with 
the latest log template
+configured in Airflow configuration, or they can set the 
"core.use_historical_filename_templates"
+configuration option to True to enable the retrieval of historical log 
templates, if they are fine with
+the Dag Authors being able to execute arbitrary code in webserver when 
retrieving logs. (#61880)
+
+Updated dependencies
+""""""""""""""""""""
+
+Airflow 2.11.1 includes updates to a number of dependencies including 
connexion, Flask-Session, Werkzeug,
+that were not possible to upgrade before, because the dependencies did not 
have compatible versions
+with Airflow 2.11.0, but we worked together with the community to update them. 
Many thanks to connexion
+team and a number of community members to help with the updates so that we 
could upgrade to newer
+versions and get rid of some dependency versions that had known security 
vulnerabilities (#51681)
+
+Bug fixes
+"""""""""
+
+- Add proxy values to be masked by secrets manager (#61906)
+- Masking details while creating connections using json & uri (#61882)
+- Fix redaction of illegal args (#61883)
+- Fix stuck queued tasks by calling executor fail method and invoking failure 
callbacks (#53038)
+- Fix recursion depth error in _redact_exception_with_context (#61797)
+- Avoid warning when passing none as dataset alias (#61791)
+- Add pool name validation to avoid XSS from the DAG file (#61732)
+- Prevent scheduler to crash due to RecursionError when making a SQL query 
(#55778)
+- Fix root logger level cache invalidation in LoggerMutationHelper (#61644)
+- update null event values to empty string in downgrade for migration 
revision_id d75389605139 (#57131)
+- Fix WeightRule spec (#53947)
+- Correctly treat request on reschedule sensors as resetting after each 
reschedule (#51410) (#52638)
+- Allow more empty loops before stopping log streaming (#52614) (#52636)
+- Ensuring XCom return value can be mapped for dynamically-mapped 
@task_group's (#51668)
+- Fix archival for cascading deletes by archiving dependent tables first 
(#51952) (#52211)
+- Stop streaming task logs if end of log mark is missing (#51904)
+- Fix bad width w/no options in multi-select DAG parameter (#51516)
+- Fix remove filter button visibility in Pools list page (#51161)
+- Fix delete button visibility in search filters (#51100)
+- Fix migration from 2.2.0 to 2.11.0 for Sqlite (#50745)
+- Check if stand alone dag processor is active in get_health endpoint (#48612)
+
 Airflow 2.11.0 (2025-05-20)
 ---------------------------
 
diff --git a/reproducible_build.yaml b/reproducible_build.yaml
index d64a2256bd2..37f32a0bb8f 100644
--- a/reproducible_build.yaml
+++ b/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: 4a7d5c57fe99617722351ddc3d0721ed
-source-date-epoch: 1770209523
+release-notes-hash: b70d35a9f25bf4c0d4a8e16361becc4b
+source-date-epoch: 1771642162

Reply via email to