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

ephraimanierobi pushed a commit to branch v2-9-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit 798946319eee45275b3bd09a038110d166619f43
Author: Ephraim Anierobi <[email protected]>
AuthorDate: Mon Apr 29 12:28:48 2024 +0100

    Update RELEASE_NOTES.rst
---
 RELEASE_NOTES.rst                   | 90 +++++++++++++++++++++++++++++++++++++
 airflow/reproducible_build.yaml     |  4 +-
 newsfragments/38071.significant.rst | 26 -----------
 3 files changed, 92 insertions(+), 28 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index 1f323919ea..cac7563df0 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -21,6 +21,96 @@
 
 .. towncrier release notes start
 
+Airflow 2.9.1 (2024-05-03)
+--------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+Rename the ``name`` attribute of the StackdriverTaskHandler to 
``gcp_log_name`` to avoid name overriding by the the ``DictConfigurator`` 
(#38071).
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+Airflow relies on the ``logging.config.dictConfig`` (`documentation 
<https://docs.python.org/3/library/logging.config.html>`_) method
+to `setup the logging stack 
<https://github.com/apache/airflow/blob/a58441ca1b263cae61a5bb653e6839f0dd29b08e/airflow/logging_config.py#L69>`_.
+However, during this setup, it iterates through the handlers and
+`explicitly sets their name 
<https://github.com/python/cpython/blob/2a4cbf17af19a01d942f9579342f77c39fbd23c4/Lib/logging/config.py#L578>`_:
+
+.. code-block:: python
+
+                for name in sorted(handlers):
+                    try:
+                        handler = self.configure_handler(handlers[name])
+                        handler.name = name
+                        handlers[name] = handler
+                    except Exception as e:
+                        # [...]
+                        pass
+
+So, before this fix:
+
+#. You setup the remote logging through the environment variables 
``AIRFLOW__LOGGING__REMOTE_LOGGING="true"`` and 
``AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER="stackdriver://host/path"``.
+#. Airflow instantiates a ``StackdriverTaskHandler`` with the name of 
``"path"``
+#. **BUT** the ``dictConfig`` call overrides the name of the handler with the 
key of the handlers configuration (i.e. `task 
<https://github.com/apache/airflow/blob/a58441ca1b263cae61a5bb653e6839f0dd29b08e/airflow/config_templates/airflow_local_settings.py#L350>`_).
+#. Hence, the next calls to the ``emit`` method of the handler will generate 
logs to the wrong destination (``task`` instead of ``path``).
+
+Changing the field, from ``name`` to ``gcp_log_name`` prevents the overriding 
from the ``dictConfig``.
+
+Bug Fixes
+"""""""""
+- Make task log messages include run_id (#39280)
+- Copy menu_item ``href`` for nav bar (#39282)
+- Fix trigger kwarg encryption migration (#39246)
+- Add workaround for datetime-local input in ``firefox`` (#39261)
+- Add Grid button to Task Instance view (#39223)
+- Get served logs when remote or executor logs not available for non-running 
task try (#39177)
+- Fixed side effect of menu filtering causing disappearing menus (#39229)
+- Use grid view for Task Instance's ``log_url`` (#39183)
+- Improve task filtering ``UX`` (#39119)
+- Improve rendered_template ``ux`` in react dag page (#39122)
+- Graph view improvements (#38940)
+- Check that the dataset<>task exists before trying to render graph (#39069)
+- Hostname was "redacted", not "redact"; remove it when there is no context 
(#39037)
+- Check whether ``AUTH_ROLE_PUBLIC`` is set in ``check_authentication`` 
(#39012)
+- Move rendering of ``map_index_template`` so it renders for failed tasks as 
long as it was defined before the point of failure (#38902)
+- ``Undeprecate`` ``BaseXCom.get_one`` method for now (#38991)
+- Add ``inherit_cache`` attribute for ``CreateTableAs`` custom SA Clause 
(#38985)
+- Don't wait for DagRun lock in mini scheduler (#38914)
+- Fix calendar view with no DAG Run. (#38964)
+- Changed the background color of external task in graph (#38969)
+- Fix dag run selection (#38941)
+- Fix ``SAWarning`` 'Coercing Subquery object into a select() for use in IN()' 
(#38926)
+- Fix implicit ``cartesian`` product in AirflowSecurityManagerV2 (#38913)
+- Fix problem that links in legacy log view can not be clicked (#38882)
+- Fix dag run link params (#38873)
+- Use async db calls in WorkflowTrigger (#38689)
+- Fix audit log events filter (#38719)
+- Use ``methodtools.lru_cache`` instead of ``functools.lru_cache`` in class 
methods (#37757)
+- Raise deprecated warning in ``airflow dags backfill`` only if ``-I`` / 
``--ignore-first-depends-on-past`` provided (#38676)
+
+Miscellaneous
+"""""""""""""
+- ``TriggerDagRunOperator`` deprecate ``exection_date`` in favor of 
``logical_date`` (#39285)
+- Force to use Airflow Deprecation warnings categories on ``@deprecated`` 
decorator (#39205)
+- Add warning about run/import Airflow under the Windows (#39196)
+- Update ``is_authorized_custom_view`` from auth manager to handle custom 
actions (#39167)
+- Add in Trove classifiers Python 3.12 support (#39004)
+- Use debug level for ``minischeduler`` skip (#38976)
+- Bump ``undici`` from ``5.28.3 to 5.28.4`` in ``/airflow/www`` (#38751)
+
+
+Doc Only Changes
+""""""""""""""""
+- Fix supported k8s version in docs (#39172)
+- Dynamic task mapping ``PythonOperator`` op_kwargs (#39242)
+- Add link to ``user`` and ``role`` commands (#39224)
+- Add ``k8s 1.29`` to supported version in docs (#39168)
+- Data aware scheduling docs edits (#38687)
+- Update ``DagBag`` class docstring to include all params (#38814)
+- Correcting an example taskflow example (#39015)
+- Remove decorator from rendering fields example (#38827)
+
+
+
 Airflow 2.9.0 (2024-04-08)
 --------------------------
 
diff --git a/airflow/reproducible_build.yaml b/airflow/reproducible_build.yaml
index c6683aa2c0..d01ee0908d 100644
--- a/airflow/reproducible_build.yaml
+++ b/airflow/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: aad86522e49984ce17db1b8647cfb54a
-source-date-epoch: 1714165337
+release-notes-hash: 5ca5f2794a289f1739cebe1310599e7d
+source-date-epoch: 1714390122
diff --git a/newsfragments/38071.significant.rst 
b/newsfragments/38071.significant.rst
deleted file mode 100644
index 6193de613f..0000000000
--- a/newsfragments/38071.significant.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-Rename the ``name`` attribute of the StackdriverTaskHandler to 
``gcp_log_name`` to avoid name overriding by the the ``DictConfigurator``.
-
-Airflow relies on the ``logging.config.dictConfig`` (`documentation 
<https://docs.python.org/3/library/logging.config.html>`_) method
-to `setup the logging stack 
<https://github.com/apache/airflow/blob/a58441ca1b263cae61a5bb653e6839f0dd29b08e/airflow/logging_config.py#L69>`_.
-However, during this setup, it iterates through the handlers and
-`explicitly sets their name 
<https://github.com/python/cpython/blob/2a4cbf17af19a01d942f9579342f77c39fbd23c4/Lib/logging/config.py#L578>`_:
-
-.. code-block:: python
-
-                for name in sorted(handlers):
-                    try:
-                        handler = self.configure_handler(handlers[name])
-                        handler.name = name
-                        handlers[name] = handler
-                    except Exception as e:
-                        # [...]
-                        pass
-
-So, before this fix:
-
-#. You setup the remote logging through the environment variables 
``AIRFLOW__LOGGING__REMOTE_LOGGING="true"`` and 
``AIRFLOW__LOGGING__REMOTE_BASE_LOG_FOLDER="stackdriver://host/path"``.
-#. Airflow instantiates a ``StackdriverTaskHandler`` with the name of 
``"path"``
-#. **BUT** the ``dictConfig`` call overrides the name of the handler with the 
key of the handlers configuration (i.e. `task 
<https://github.com/apache/airflow/blob/a58441ca1b263cae61a5bb653e6839f0dd29b08e/airflow/config_templates/airflow_local_settings.py#L350>`_).
-#. Hence, the next calls to the ``emit`` method of the handler will generate 
logs to the wrong destination (``task`` instead of ``path``).
-
-Changing the field, from ``name`` to ``gcp_log_name`` prevents the overriding 
from the dictConfig.

Reply via email to