This is an automated email from the ASF dual-hosted git repository. vatsrahul1001 pushed a commit to branch changes-3.4.0rc2 in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 3950956d382bfdfdf0a6e28ac2913e2e4361847e Author: Rahul Vats <[email protected]> AuthorDate: Fri Oct 30 22:35:35 2026 +0530 Add release notes for 3.4.0rc2 --- RELEASE_NOTES.rst | 23 +++++++++++++++++++++++ airflow-core/newsfragments/74896.bugfix.rst | 1 - airflow-core/newsfragments/75414.significant.rst | 20 -------------------- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst index fe8d90f0f25..03dc1a203dd 100644 --- a/RELEASE_NOTES.rst +++ b/RELEASE_NOTES.rst @@ -486,6 +486,28 @@ Custom Task State Store backends will likewise need to include ``scope.region_id`` in their storage key to support mapped tasks inside a loop and loop iterations regenerated by clearing. +``airflow.utils.email`` is deprecated in favor of the SMTP provider +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +The functions in ``airflow.utils.email`` (``send_email``, ``send_email_smtp``, ``send_mime_email``, +``build_mime_message`` and ``get_email_address_list``) now live in +``airflow.providers.smtp.utils.emailer``. The old names still work and raise a ``DeprecatedImportWarning``. +Airflow now requires ``apache-airflow-providers-smtp>=3.2.0``. + +Keep ``[email] email_backend`` set to ``airflow.utils.email.send_email_smtp``. Airflow treats that value as +"send task emails with ``SmtpNotifier``", which reads all SMTP settings from the Connection. Changing it to +the provider path sends through the ``[smtp]`` settings instead. + +If you call these functions directly: + +* The SMTP Connection is looked up with ``BaseHook.get_connection``. A script that runs outside Airflow's + processes needs the Connection in an environment variable or a secrets backend, not only in the metadata + database. +* Settings are read through the Task SDK configuration, so values changed at runtime with + ``airflow.configuration.conf.set()`` are not seen. ``airflow.cfg`` and environment variables work as before. +* Tests that patch ``airflow.utils.email.send_mime_email`` no longer intercept the call made by + ``send_email_smtp``. Patch ``airflow.providers.smtp.utils.emailer.send_mime_email`` instead. + New Features ^^^^^^^^^^^^ @@ -601,6 +623,7 @@ Bug Fixes - Clear language SDK task XComs in the coordinator when a try starts (#74936) - Fix dynamically mapped tasks never running on scheduled Dag runs (#74918) - Match camelCase keys against sensitive field names in masker (#74897) +- Reject empty or whitespace-only pool names and variable keys in the REST API (#74896) - Keep queued connection tests from overwriting newer connections (#74895) - Fix Dag version diff max-changes border, limit wording and duplicate count (#74886) - Do not warn about bare postgresql:// metadata DB URLs (#74884) diff --git a/airflow-core/newsfragments/74896.bugfix.rst b/airflow-core/newsfragments/74896.bugfix.rst deleted file mode 100644 index 0ea1420f44e..00000000000 --- a/airflow-core/newsfragments/74896.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -The REST API now rejects a pool name or variable key that is empty or only whitespace. ``POST /api/v2/pools`` and ``POST /api/v2/variables`` return 422 for such a value, and ``PATCH /api/v2/pools/{pool_name}`` returns 400 instead of renaming the pool to the empty string. Pools and variables that already have a blank name can still be read and deleted. diff --git a/airflow-core/newsfragments/75414.significant.rst b/airflow-core/newsfragments/75414.significant.rst deleted file mode 100644 index 8feb51b2682..00000000000 --- a/airflow-core/newsfragments/75414.significant.rst +++ /dev/null @@ -1,20 +0,0 @@ -``airflow.utils.email`` is deprecated in favor of the SMTP provider - -The functions in ``airflow.utils.email`` (``send_email``, ``send_email_smtp``, ``send_mime_email``, -``build_mime_message`` and ``get_email_address_list``) now live in -``airflow.providers.smtp.utils.emailer``. The old names still work and raise a ``DeprecatedImportWarning``. -Airflow now requires ``apache-airflow-providers-smtp>=3.2.0``. - -Keep ``[email] email_backend`` set to ``airflow.utils.email.send_email_smtp``. Airflow treats that value as -"send task emails with ``SmtpNotifier``", which reads all SMTP settings from the Connection. Changing it to -the provider path sends through the ``[smtp]`` settings instead. - -If you call these functions directly: - -* The SMTP Connection is looked up with ``BaseHook.get_connection``. A script that runs outside Airflow's - processes needs the Connection in an environment variable or a secrets backend, not only in the metadata - database. -* Settings are read through the Task SDK configuration, so values changed at runtime with - ``airflow.configuration.conf.set()`` are not seen. ``airflow.cfg`` and environment variables work as before. -* Tests that patch ``airflow.utils.email.send_mime_email`` no longer intercept the call made by - ``send_email_smtp``. Patch ``airflow.providers.smtp.utils.emailer.send_mime_email`` instead.
