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

vatsrahul1001 pushed a commit to branch changes-3.4.0rc3
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit d8f215755ce04f7da457426f4aedfff7c1e3c2b0
Author: Rahul Vats <[email protected]>
AuthorDate: Thu Nov 5 01:17:38 2026 +0530

    Add release notes for 3.4.0rc3
---
 RELEASE_NOTES.rst                                | 34 +++++++++++++++++++++++-
 airflow-core/newsfragments/76234.bugfix.rst      |  1 -
 airflow-core/newsfragments/76430.significant.rst | 11 --------
 reproducible_build.yaml                          |  4 +--
 4 files changed, 35 insertions(+), 15 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index 4bf52b0b58f..187681ded7e 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -24,7 +24,7 @@
 
 .. towncrier release notes start
 
-Airflow 3.4.0 (2026-11-04)
+Airflow 3.4.0 (2026-11-06)
 --------------------------
 
 Significant Changes
@@ -508,6 +508,18 @@ If you call these functions directly:
 * 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.
 
+- The API server uses a second database connection pool
+
+  API server workers now run some database work on the async engine as well as 
the sync one, and each engine has its own connection pool, sized by the same 
``[database] sql_alchemy_pool_size`` and ``[database] 
sql_alchemy_max_overflow`` settings. What uses the async pool depends on the 
``--apps`` option of ``airflow api-server``:
+
+  - ``execution``: task heartbeats and several Execution API reads.
+  - ``core``: the audit log entry recorded for each write request through the 
REST API or the UI.
+  - ``all`` (the default): both of the above.
+
+  In every mode a worker can therefore open up to twice 
``sql_alchemy_pool_size + sql_alchemy_max_overflow`` connections (30 with the 
defaults) and keep up to twice ``sql_alchemy_pool_size`` of them idle. Account 
for this, per ``[api] workers``, when sizing PgBouncer or the database's 
``max_connections``.
+
+  The async pool is used since #67800, #73403, #73407 and #76416. (#76430)
+
 New Features
 ^^^^^^^^^^^^
 
@@ -603,6 +615,14 @@ New Features
 Bug Fixes
 ^^^^^^^^^
 
+- Scope asset-event ``created_dagruns`` to Dags the caller can read (#76234)
+- Keep mapped tasks when clearing with run on latest version (#76420)
+- Load Java Dags from a bundle path that holds a colon (#76432)
+- UI: Fix task groups not expanding when ``localStorage`` is full (#76302)
+- Keep the audit log off the API server event loop (#76416)
+- Keep masked Variable values when saving an edited Variable (#76012)
+- Fix LocalExecutor deadlock when a workload put blocks (#75086)
+- TS SDK: Inherit the Dag queue when a task passes queue undefined (#76123)
 - UI: Fix Portuguese and Hungarian labels that show a raw placeholder (#75964)
 - Fix the 404 on a looped task group's breadcrumb (#76050)
 - Fix stale queued asset rows in scheduler cleanup and readiness (#76002)
@@ -771,6 +791,14 @@ Bug Fixes
 Miscellaneous
 ^^^^^^^^^^^^^
 
+- Let non-task callers set and delete Variables over the Execution API (#76375)
+- Let asset watchers write asset state over the Execution API (#76376)
+- UI: Label the Dag bundle file table as Parsed Files (#76462)
+- UI: Complete the Italian translation (#76464)
+- UI: Update the French translations to 100% coverage (#76461)
+- UI: Complete the Spanish translation (#76087)
+- UI: Complete and fix the Polish translations (#76429)
+- UI: Complete the missing zh-TW translations (#76398)
 - UI: Make asset state store entries scrollable (#75870)
 - UI: Stop bundling the ELK worker twice (#75864)
 - Store and show the retry deadline; start retries with empty run fields 
(#76027)
@@ -988,6 +1016,10 @@ Miscellaneous
 Doc Only Changes
 ^^^^^^^^^^^^^^^^
 
+- Document how to create a TypeScript SDK project (#76374)
+- Add screenshots and a review loop example to the Task Loops docs (#76435)
+- Fix retry policy docs and the example Dag's ``ConnectionError`` rules 
(#76313)
+- Document the Dag Versions comparison tab in the UI overview (#76387)
 - Show UI doc screenshots in synced dark/light tabs (#75957)
 - Document the zh-TW translation workflow (#75702)
 - Go SDK: Correct the documented install command that broke the first bundle 
build (#75574)
diff --git a/airflow-core/newsfragments/76234.bugfix.rst 
b/airflow-core/newsfragments/76234.bugfix.rst
deleted file mode 100644
index d733ae3816a..00000000000
--- a/airflow-core/newsfragments/76234.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-The ``created_dagruns`` list in asset events returned by the asset events and 
upstream asset events API endpoints now only includes Dag runs of Dags the 
requesting user can read.
diff --git a/airflow-core/newsfragments/76430.significant.rst 
b/airflow-core/newsfragments/76430.significant.rst
deleted file mode 100644
index 9a3fde4900b..00000000000
--- a/airflow-core/newsfragments/76430.significant.rst
+++ /dev/null
@@ -1,11 +0,0 @@
-The API server uses a second database connection pool
-
-API server workers now run some database work on the async engine as well as 
the sync one, and each engine has its own connection pool, sized by the same 
``[database] sql_alchemy_pool_size`` and ``[database] 
sql_alchemy_max_overflow`` settings. What uses the async pool depends on the 
``--apps`` option of ``airflow api-server``:
-
-- ``execution``: task heartbeats and several Execution API reads.
-- ``core``: the audit log entry recorded for each write request through the 
REST API or the UI.
-- ``all`` (the default): both of the above.
-
-In every mode a worker can therefore open up to twice ``sql_alchemy_pool_size 
+ sql_alchemy_max_overflow`` connections (30 with the defaults) and keep up to 
twice ``sql_alchemy_pool_size`` of them idle. Account for this, per ``[api] 
workers``, when sizing PgBouncer or the database's ``max_connections``.
-
-The async pool is used since #67800, #73403, #73407 and #76416.
diff --git a/reproducible_build.yaml b/reproducible_build.yaml
index 2f4027fb6a9..93e3b93964c 100644
--- a/reproducible_build.yaml
+++ b/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: 88f7d0afb7978cb264625db575103b4c
-source-date-epoch: 1793431440
+release-notes-hash: f52578a3b27efb7800a658b5c0c35a25
+source-date-epoch: 1793821658

Reply via email to