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

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

commit 650a41837db86f2b1425109023a68f53f44af0d4
Author: Rahul Vats <[email protected]>
AuthorDate: Fri Sep 11 17:43:15 2026 +0530

    Add release notes for 3.3.2rc1
---
 RELEASE_NOTES.rst                                | 204 ++++++++++++++++++
 airflow-core/newsfragments/68518.bugfix.rst      |   1 -
 airflow-core/newsfragments/70923.bugfix.rst      |   1 -
 airflow-core/newsfragments/70977.bugfix.rst      |   1 -
 airflow-core/newsfragments/71113.significant.rst |  22 --
 airflow-core/newsfragments/71704.bugfix.rst      |   1 -
 airflow-core/newsfragments/71767.bugfix.rst      |   1 -
 airflow-core/newsfragments/71802.bugfix.rst      |   1 -
 airflow-core/newsfragments/71814.bugfix.rst      |   1 -
 airflow-core/newsfragments/72042.bugfix.rst      |   1 -
 airflow-core/newsfragments/72225.significant.rst |  27 ---
 airflow-core/newsfragments/72327.bugfix.rst      |   1 -
 airflow-core/newsfragments/72374.bugfix.rst      |   1 -
 docs/spelling_wordlist.txt                       | 251 ++++++++++++-----------
 reproducible_build.yaml                          |   4 +-
 15 files changed, 336 insertions(+), 182 deletions(-)

diff --git a/RELEASE_NOTES.rst b/RELEASE_NOTES.rst
index a02be76362a..f220f7b7c2e 100644
--- a/RELEASE_NOTES.rst
+++ b/RELEASE_NOTES.rst
@@ -24,6 +24,210 @@
 
 .. towncrier release notes start
 
+Airflow 3.3.2 (2026-09-17)
+--------------------------
+
+Significant Changes
+^^^^^^^^^^^^^^^^^^^
+
+- Backfill endpoints no longer disclose which backfill ids exist across Dags
+
+  The four routes that name a backfill in their path -- ``GET 
/backfills/{backfill_id}``
+  and the ``pause``, ``unpause`` and ``cancel`` routes -- resolved the Dag 
they authorize
+  against from the ``dag_id`` supplied on the request whenever the path's id 
matched no row.
+  An unknown id and a backfill on a Dag the caller cannot see therefore 
answered differently,
+  which enumerates backfill ids across Dags.
+
+  The backfill named in the path is now the only thing those routes authorize 
against.
+
+  **Behaviour changes:**
+
+  - A backfill whose Dag the caller may not read returns ``404`` with detail
+    ``Backfill not found``, the same answer an unknown id gets, where it 
previously returned
+    ``403``. A caller who may read the Dag still gets ``403`` for a write they 
are not allowed.
+  - A ``backfill_id`` in the path is never authorized against a ``dag_id`` in 
the request body
+    or query string. ``GET /backfills``, ``POST /backfills`` and ``POST 
/backfills/dry_run``
+    name no backfill in their path and keep authorizing off the request.
+  - All four routes now answer an unknown id with the same detail, ``Backfill 
not found``.
+    The ``pause``, ``unpause`` and ``cancel`` routes previously answered
+    ``Could not find backfill with id {backfill_id}``. Clients matching on 
``detail``
+    must be updated. (#71113)
+- An explicit credential now takes precedence over the session cookie
+
+  ``get_user()`` codes the precedence bearer, then OAuth2, then the session 
cookie, but
+  that block was unreachable whenever a cookie was present. 
``JWTRefreshMiddleware`` runs
+  first, resolves a user from the ``_token`` cookie alone and stamps it on
+  ``request.state``, and ``get_user()`` returned that cached user before 
looking at either
+  explicit credential. The effective order on every core-API route was cookie 
over bearer.
+
+  A request carrying both a session cookie and an explicit credential 
therefore executed,
+  and was recorded in the audit log, as the cookie's principal rather than the 
identity the
+  client presented. The cached user is now honoured only when the request 
carries no
+  explicit credential.
+
+  **Behaviour changes:**
+
+  - A request carrying **both** a ``_token`` cookie and an ``Authorization: 
Bearer`` header
+    is now resolved as the bearer token's principal, where it was previously 
resolved as the
+    cookie's. The same applies to a cookie combined with an OAuth2 token.
+  - An **invalid or expired** explicit credential is now rejected with 
``401``/``403`` even
+    when a valid ``_token`` cookie accompanies it. Previously the cookie 
silently took over
+    and the request succeeded as the cookie's principal; the failure is now 
loud.
+  - Requests carrying a single credential are unaffected. Cookie-only browser 
sessions keep
+    the token-refresh behaviour of ``JWTRefreshMiddleware`` unchanged.
+  - Clients that relied on the cookie winning -- for example a browser-based 
tool that sent a
+    service account's bearer token while a user session cookie was present, 
and expected the
+    user's identity to apply -- will now act as the bearer token's principal. 
Remove the
+    header, or the cookie, to select the intended identity explicitly. (#72225)
+
+
+Bug Fixes
+^^^^^^^^^
+
+- Optimize the previous-task-instance lookup by removing a redundant 
``dag_run`` join (#72944)
+- Revoke every credential presented to the logout endpoint, not just the 
session cookie (#72933)
+- API: Return HTTP 404 instead of 500 when a task starts against a missing Dag 
run (#72900)
+- Fix ``airflow db clean`` never purging the ``callback`` table (#72899)
+- Fix the Dag version inflation check not warning about custom ``DAG`` 
subclasses or aliased-module imports (#72898)
+- Fix ``DeadlockImminentError`` when a connection is resolved inside an async 
task (#72895)
+- Fix dag processor crash when an orphaned processor is killed (#72888)
+- Prevent corruption of ``XCom`` values that already parse as JSON during the 
bytea-to-JSONB migration (#72886)
+- Fix HTTP 500 for non-dict JSON bodies on the Variable and Connection API 
endpoints (#72878)
+- Fix resolution of deprecated imports in ``airflow.utils.helpers`` (#72868)
+- Bound single-row lookups with ``LIMIT 1`` to avoid scanning large tables 
(#72842)
+- UI: Fix clipping of the Last Run state badge (#72841)
+- UI: Fix Calendar view computing planned cron runs in UTC instead of the 
Dag's timezone (#72839)
+- Fix ``airflow info --file-io`` uploading an empty report (#72832)
+- Preserve custom operator defaults in mapped tasks (#72828)
+- Gate the asset event ``partition_key`` behind the 2026-06-30 Execution API 
version (#72827)
+- Improve deadline diagnostics for null ``DagRun`` fields (#72812)
+- Fix missing HTTP access logs when the api-server omits the core app (#72808)
+- Clarify when the auth manager ``is_authorized_hitl_task`` 
(Human-in-the-loop) hook runs (#72807)
+- Fix ``td_format`` rendering of negative durations (#72798)
+- UI: Make copied task log text match the on-screen format (#72771)
+- UI: Fix connection test with a null host and port (#72747)
+- Allow ``airflow jobs check --allow-multiple`` with ``--limit 0`` (#72744)
+- UI: Keep task log selection stable while dragging (#72743)
+- UI: Restore counts on the Dag Run and Task Instance lists (#72739)
+- UI: Fix the Dags list Last Run / Next Run going stale after runs complete 
(#72735)
+- UI: Fix the first startup request being sent to an unset API base URL 
(#72733)
+- UI: Fix task instance links leading to 404s for tasks outside the run's date 
range (#72732)
+- UI: Fix the Human-in-the-loop form crashing on null values (#72731)
+- UI: Fix copying task logs dropping rows that scrolled out of view (#72729)
+- UI: Label Dag active runs accurately (#72722)
+- Bound single-row ``XCom`` existence lookups with ``LIMIT 1`` to avoid full 
scans (#72702)
+- UI: Fix Firefox multi-line drag selection in the task log view (#72700)
+- Fix Dag scheduling stall after switching to a coarser cron (#72679)
+- Fix memray profiling capturing interpreter startup instead of the 
dag-processor job (#72661)
+- Prevent Dag-existence disclosure on the partitioned dag runs listing (#72660)
+- Fix mark-failed ``KeyError`` for removed-task task instances (#72620)
+- UI: Fix ``hierarchical_alphabetical`` sort order breaking the graph and grid 
(#72618)
+- Clarify ``@task``-decorated callable errors when extra positional arguments 
are passed (#72616)
+- Load the correct Dag version when a task starts from a trigger (#72614)
+- Fix db migrate failure to Airflow 2.9.2 under the PyMySQL driver (#72613)
+- Stop ``airflow providers get --full`` mutating cached provider metadata 
(#72601)
+- Fix ``airflow connections test`` returning a success exit code on failure 
(#72583)
+- Stop ``airflow standalone`` leaking components when one fails to start 
(#72568)
+- Fix ``DAG.cli()`` crashing on ``dags pause`` and ``dags unpause`` (#72565)
+- Prevent Dag CLI subcommands from being silently dropped (#72365)
+- Respect the ``limit`` search param in the task overview duration chart 
(#72357)
+- UI: Show duration chart tooltips in the selected timezone (#72339)
+- Export ``AIRFLOW_TEST_MODE`` from ``airflow tasks test`` without 
``--env-vars`` (#72320)
+- Authenticate only once per task process to external secrets backends (#72237)
+- Remove the impossible 404 response from the create Variable API endpoint 
(#72190)
+- Speed up bulk updates of Variables and Pools by fixing an N+1 query (#72160)
+- UI: Fix a React plugin rendering a previously loaded plugin's component 
(#72136)
+- Fix Variable write-conflict checks comparing against the wrong team (#72125)
+- UI: Surface connection test errors instead of failing silently (#71963)
+- Fix the runtime-varying-value checker skipping tasks defined after a nested 
``with`` block (#71956)
+- Speed up marking a Dag run failed when it has many mapped task instances 
(#71955)
+- UI: Include the JSON parse-error message in the Variable form warning 
(#71953)
+- UI: Allow file downloads from plugin external-view iframes (#71952)
+- UI: Make the grid run bar tooltip time zone aware (#71951)
+- Reduce memory used when deleting queued asset events (#71937)
+- UI: Activate assets materialized from an AssetAlias so they appear in the 
Assets tab (#71935)
+- Fix ``Variable.set`` rewriting the ``team_name`` of existing variables 
(#71904)
+- Reduce memory used when deleting a Dag with a large history (#71889)
+- UI: Show an empty object for object params with no value (#71876)
+- Fix Dag callbacks silently dropped when the version inflation check blocks 
parsing (#71865)
+- Return HTTP 404 from task state store endpoints for unknown task instances 
(#71860)
+- Fix deadline never firing after a non-deadline Dag edit (#71859)
+- Honor the API server Dag cache TTL when no size limit is set (#71845)
+- Require Dag edit permission to delete asset queued events (#71828)
+- Bound the scheduler's deserialized Dag cache to prevent unbounded memory 
growth (#71821)
+- Stop variables export/import from silently corrupting values (#71791)
+- UI: Fix datetime pickers unusable on Firefox and Safari (#71788)
+- Scope ``/assets/events`` to the Dags the caller may read (#71785)
+- Serve logs from the scheduler if any executor is LocalExecutor (#71781)
+- Fix cleared tasks getting stuck when a Dag run has no version (#71773)
+- Stop the dag processor warning on every file path normalized for stats 
(#71764)
+- UI: Fix the last section on the page not being clickable (#71755)
+- Fix deadline serialization, repr, and prune edge cases (#71726)
+- Dispatch the highest-priority tasks first in the executor (#71715)
+- Keep ZIP-archived Dags active when ``dag_discovery_safe_mode`` is False 
(#71714)
+- Honor ``FORWARDED_ALLOW_IPS`` when the API server runs under gunicorn 
(#71708)
+- Fix ``airflow config lint`` staying silent on conditional removal rules 
(#71651)
+- Avoid exhausting the DB connection pool when rendering the grid structure 
for large Dags (#71626)
+- Fix Task SDK IPC short reads crashing the subprocess or hanging the 
supervisor (#71609)
+- Fix one bad callback request crashing the Dag processor and dropping the 
rest (#71608)
+- Fix ``clearTaskInstances`` returning HTTP 500 instead of 422 on an invalid 
body (#71559)
+- Mark only a run's most recent asset event as triggering it (#71547)
+- Fix Variables API handling of non-string JSON values (#71526)
+- Include server error detail in Task SDK API error tracebacks (#71491)
+- Show each Dag only once in ``airflow dags list`` (#71481)
+- Keep Dag run Execution API endpoints working for older Task SDK clients 
(#71438)
+- UI: Fix Calendar view hanging for Dags with high-frequency cron schedules 
(#71435)
+- Require existing-connection read access when testing an existing connection 
(#71428)
+- UI: Fix Grid view failing to load large Dags on MySQL (#71370)
+- Catch general Exception when initializing a Dag bundle (#71363)
+- Fix deactivation of stale ZIP-packaged Dags (#71326)
+- Avoid scheduler crash when periodic maintenance actions fail (#71288)
+- Fix ``_team_name`` missing from ``DagRun`` passed to some listener calls 
(#71262)
+
+Miscellaneous
+^^^^^^^^^^^^^
+
+- Add async asset store accessors for async tasks and watcher triggers (#72851)
+- UI: Add Consuming Tasks, Aliases, and Watchers to the assets pages (#72780)
+- Improve confirmation output when connections are added via the CLI (#72779)
+- UI: Sync the browser URL with navigation inside iframe views (#72776)
+- Allow deadline alert UUID references in the serialized Dag schema (#72738)
+- Add ``SerializedVariableInterval`` for deadline alerts (#72244)
+- Report Dag cache metrics under each component's own namespace (#71925)
+- Add a password field type to ``FlexibleForm`` (#71573)
+- Add ``BaseDeadlineReference`` and ``deadline_reference`` to the SDK public 
interface (#71208)
+
+Doc Only Changes
+^^^^^^^^^^^^^^^^
+
+- Clarify authentication and add an authorization example for plugin FastAPI 
apps (#72942)
+- Document that plugin FastAPI apps are not authenticated by Airflow (#72932)
+- Close German UI translation gaps (#72843)
+- Fix the Postgres tutorial for psycopg3 (#72837)
+- Document scope boundaries the security model leaves implicit (#72829)
+- Make the first tutorial example more explicit about Airflow syntax (#72805)
+- Add a ``create_async_metadata_engine`` example to the docs (#72804)
+- Add a systemd unit file for the Airflow Dag processor (#72797)
+- UI: Complete zh-CN Simplified Chinese translations (#72789)
+- Drop the extraneous "common" tag in i18n (#72781)
+- Document the DAG.test() behavior change in the Airflow 2.7.0 release notes 
(#72777)
+- Add missing Russian UI translations (#72755)
+- Adjust the Dag-processed log message when no action is required (#72749)
+- Complete German UI translations (#72736)
+- UI: Complete Polish UI translations (#72624)
+- Record recurring non-issue shapes in the security model (#72617)
+- Complete Taiwanese Mandarin (zh-TW) UI translations (#72615)
+- UI: Translate durations and relative times in the selected language (#72334)
+- Remove the TaskFlow recommendation from the tutorial docs (#72118)
+- Split the task execution architecture docs into an overview and a dev guide 
(#71858)
+- Document service.name and service.instance.id for OpenTelemetry metrics 
(#71854)
+- UI: Improve French translation wording (#71846)
+- Complete French UI translations (#71790)
+- Improve Arabic UI translations (#71789)
+- Document HTTP statuses that API routes raise but never declared (#71622)
+- Recommend ``dag.test()`` for testing custom operators in the docs (#71587)
+
+
 Airflow 3.3.1 (2026-08-12)
 --------------------------
 
diff --git a/airflow-core/newsfragments/68518.bugfix.rst 
b/airflow-core/newsfragments/68518.bugfix.rst
deleted file mode 100644
index db2792de216..00000000000
--- a/airflow-core/newsfragments/68518.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-Keep Dags from ZIP archives active when ``[core] dag_discovery_safe_mode`` is 
``False``. Previously, Dags packaged in ZIP files whose source did not contain 
the ``airflow``/``dag`` keywords were parsed and activated by the Dag file 
processor but then immediately deactivated, because the scan that determines 
which files still exist always applied the keyword heuristic regardless of the 
configured ``dag_discovery_safe_mode``.
diff --git a/airflow-core/newsfragments/70923.bugfix.rst 
b/airflow-core/newsfragments/70923.bugfix.rst
deleted file mode 100644
index b1545b7fb77..00000000000
--- a/airflow-core/newsfragments/70923.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix ``airflow db clean`` never purging the ``callback`` table. The table was 
renamed from ``callback_request`` in Airflow 3.2.0 but the cleanup 
configuration kept the old name, and a configured table that does not exist is 
skipped with only a warning, so the rows were never deleted and the table grew 
without bound. Only callbacks that can no longer run are purged: a callback 
still awaiting execution owns its ``deadline`` row through an ``ON DELETE 
CASCADE`` foreign key, so deleting one w [...]
diff --git a/airflow-core/newsfragments/70977.bugfix.rst 
b/airflow-core/newsfragments/70977.bugfix.rst
deleted file mode 100644
index 0a3f85b63c4..00000000000
--- a/airflow-core/newsfragments/70977.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixed ``airflow config lint`` silently skipping removal rules that only apply 
to a specific value.
diff --git a/airflow-core/newsfragments/71113.significant.rst 
b/airflow-core/newsfragments/71113.significant.rst
deleted file mode 100644
index e4d8b183e64..00000000000
--- a/airflow-core/newsfragments/71113.significant.rst
+++ /dev/null
@@ -1,22 +0,0 @@
-Backfill endpoints no longer disclose which backfill ids exist across Dags
-
-The four routes that name a backfill in their path -- ``GET 
/backfills/{backfill_id}``
-and the ``pause``, ``unpause`` and ``cancel`` routes -- resolved the Dag they 
authorize
-against from the ``dag_id`` supplied on the request whenever the path's id 
matched no row.
-An unknown id and a backfill on a Dag the caller cannot see therefore answered 
differently,
-which enumerates backfill ids across Dags.
-
-The backfill named in the path is now the only thing those routes authorize 
against.
-
-**Behaviour changes:**
-
-- A backfill whose Dag the caller may not read returns ``404`` with detail
-  ``Backfill not found``, the same answer an unknown id gets, where it 
previously returned
-  ``403``. A caller who may read the Dag still gets ``403`` for a write they 
are not allowed.
-- A ``backfill_id`` in the path is never authorized against a ``dag_id`` in 
the request body
-  or query string. ``GET /backfills``, ``POST /backfills`` and ``POST 
/backfills/dry_run``
-  name no backfill in their path and keep authorizing off the request.
-- All four routes now answer an unknown id with the same detail, ``Backfill 
not found``.
-  The ``pause``, ``unpause`` and ``cancel`` routes previously answered
-  ``Could not find backfill with id {backfill_id}``. Clients matching on 
``detail``
-  must be updated.
diff --git a/airflow-core/newsfragments/71704.bugfix.rst 
b/airflow-core/newsfragments/71704.bugfix.rst
deleted file mode 100644
index 5cd2aed7ec0..00000000000
--- a/airflow-core/newsfragments/71704.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-The scheduler's Dag cache is now a bounded LRU of 512 versions, so scheduler 
memory no longer grows with every Dag version the process has ever seen.
diff --git a/airflow-core/newsfragments/71767.bugfix.rst 
b/airflow-core/newsfragments/71767.bugfix.rst
deleted file mode 100644
index 18c2de4a84a..00000000000
--- a/airflow-core/newsfragments/71767.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix misleading deadline warnings when DagRun-based deadline references 
evaluate to None because the referenced timestamp field is null.
diff --git a/airflow-core/newsfragments/71802.bugfix.rst 
b/airflow-core/newsfragments/71802.bugfix.rst
deleted file mode 100644
index 0c173c40e4d..00000000000
--- a/airflow-core/newsfragments/71802.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fixed ``VariableInterval`` deadline intervals to allow zero and negative 
offsets, matching the existing ``timedelta`` interval semantics. 
``VariableInterval`` is now converted to the core-side 
``SerializedVariableInterval`` representation during deadline deserialization 
and resolved during deadline evaluation.
diff --git a/airflow-core/newsfragments/71814.bugfix.rst 
b/airflow-core/newsfragments/71814.bugfix.rst
deleted file mode 100644
index 220e3141d3d..00000000000
--- a/airflow-core/newsfragments/71814.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-The API server now honors ``[api] dag_cache_ttl`` when ``dag_cache_size`` is 
0, so cached serialized Dags can expire even when their count is not limited.
diff --git a/airflow-core/newsfragments/72042.bugfix.rst 
b/airflow-core/newsfragments/72042.bugfix.rst
deleted file mode 100644
index 49651487d55..00000000000
--- a/airflow-core/newsfragments/72042.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-The write-conflict check performed when setting or updating a team-scoped 
Variable now resolves against that team rather than the global scope, so a 
secrets backend shadowing the key within the team is detected and a global-only 
definition no longer warns about a conflict that would not shadow the read.
diff --git a/airflow-core/newsfragments/72225.significant.rst 
b/airflow-core/newsfragments/72225.significant.rst
deleted file mode 100644
index f515ad0c703..00000000000
--- a/airflow-core/newsfragments/72225.significant.rst
+++ /dev/null
@@ -1,27 +0,0 @@
-An explicit credential now takes precedence over the session cookie
-
-``get_user()`` codes the precedence bearer, then OAuth2, then the session 
cookie, but
-that block was unreachable whenever a cookie was present. 
``JWTRefreshMiddleware`` runs
-first, resolves a user from the ``_token`` cookie alone and stamps it on
-``request.state``, and ``get_user()`` returned that cached user before looking 
at either
-explicit credential. The effective order on every core-API route was cookie 
over bearer.
-
-A request carrying both a session cookie and an explicit credential therefore 
executed,
-and was recorded in the audit log, as the cookie's principal rather than the 
identity the
-client presented. The cached user is now honoured only when the request 
carries no
-explicit credential.
-
-**Behaviour changes:**
-
-- A request carrying **both** a ``_token`` cookie and an ``Authorization: 
Bearer`` header
-  is now resolved as the bearer token's principal, where it was previously 
resolved as the
-  cookie's. The same applies to a cookie combined with an OAuth2 token.
-- An **invalid or expired** explicit credential is now rejected with 
``401``/``403`` even
-  when a valid ``_token`` cookie accompanies it. Previously the cookie 
silently took over
-  and the request succeeded as the cookie's principal; the failure is now loud.
-- Requests carrying a single credential are unaffected. Cookie-only browser 
sessions keep
-  the token-refresh behaviour of ``JWTRefreshMiddleware`` unchanged.
-- Clients that relied on the cookie winning -- for example a browser-based 
tool that sent a
-  service account's bearer token while a user session cookie was present, and 
expected the
-  user's identity to apply -- will now act as the bearer token's principal. 
Remove the
-  header, or the cookie, to select the intended identity explicitly.
diff --git a/airflow-core/newsfragments/72327.bugfix.rst 
b/airflow-core/newsfragments/72327.bugfix.rst
deleted file mode 100644
index 05a35cdce40..00000000000
--- a/airflow-core/newsfragments/72327.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix asset-triggered tasks failing before they start for workers running Task 
SDK 1.2.x (Airflow 3.2.x), which request execution API version ``2026-04-06``. 
Those workers received a ``partition_key`` field on the Dag run's consumed 
asset events that their models reject, raising an ``extra_forbidden`` 
validation error. The field is now gated behind version ``2026-06-30``, where 
it was introduced; workers on ``2026-06-30`` or newer are unaffected.
diff --git a/airflow-core/newsfragments/72374.bugfix.rst 
b/airflow-core/newsfragments/72374.bugfix.rst
deleted file mode 100644
index cf444e64b95..00000000000
--- a/airflow-core/newsfragments/72374.bugfix.rst
+++ /dev/null
@@ -1 +0,0 @@
-The UI now configures the generated API client's base URL from ``<base href>`` 
in a module with no application dependencies, so a request issued while the app 
is still initializing -- the i18n version lookup that builds the translation 
cache buster -- is resolved against the configured path prefix instead of being 
sent to the origin root.
diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt
index 439f9295aea..4a5fb503d25 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -3,6 +3,7 @@ abc
 AbstractFileSystem
 AbstractToolset
 accessor
+accessors
 AccessSecretVersionResponse
 aci
 Ack
@@ -12,8 +13,8 @@ acknowledgement
 acks
 acl
 actionCard
-Acyclic
 acyclic
+Acyclic
 adb
 additionalProperties
 adf
@@ -44,6 +45,7 @@ akeyless
 aks
 AlertApi
 alertPolicies
+aliased
 Alibaba
 alibaba
 alibabacloud
@@ -110,16 +112,16 @@ async
 asyncio
 asyncssh
 athena
-Atlassian
 atlassian
+Atlassian
 atomicity
 attr
 attrs
 au
 auditability
 auditable
-Auth
 auth
+Auth
 authenticator
 Authlib
 authMechanism
@@ -145,15 +147,15 @@ awslogs
 backcompat
 Backend
 backend
-Backends
 backends
-Backfill
+Backends
 backfill
+Backfill
 backfillable
 backfilled
 backfilling
-Backfills
 backfills
+Backfills
 backoff
 backport
 backported
@@ -167,8 +169,8 @@ BaseHook
 basename
 BaseOperator
 baseOperator
-BaseOperatorLink
 baseoperatorlink
+BaseOperatorLink
 BaseView
 BaseXCom
 bashrc
@@ -177,26 +179,26 @@ BatchServiceClient
 bc
 bcc
 Beauchemin
-Behaviour
 behaviour
+Behaviour
 behaviours
 BestCandidate
-Bigquery
 bigquery
+Bigquery
 BigQueryHook
-Bigtable
 bigtable
+Bigtable
 bitmask
 Bitnami
 bitshift
 bitwise
 booktabs
-Bool
 bool
+Bool
 boolean
 booleans
-Boto
 boto
+Boto
 botocore
 bq
 bteq
@@ -204,6 +206,7 @@ bugfix
 bugfixes
 buildType
 burstable
+bytea
 bytestring
 cacert
 Cadwyn
@@ -268,6 +271,7 @@ cmake
 cmd
 cmdlet
 cmds
+CN
 cncf
 cnf
 cnt
@@ -294,13 +298,13 @@ conf
 Config
 config
 configfile
-configMap
 configmap
+configMap
 configMapRef
-ConfigMaps
 configmaps
-Configs
+ConfigMaps
 configs
+Configs
 conftest
 conn
 connectTimeoutMS
@@ -322,14 +326,14 @@ cosmosdb
 cp
 cpu
 cpus
-CRD
 crd
+CRD
 CreateQueryOperator
 CreateRunResponse
 creationTimestamp
 credssp
-Cron
 cron
+Cron
 croniter
 cronjob
 crontab
@@ -358,16 +362,16 @@ dagfile
 DagFileProcessorManager
 dagmodel
 DagParam
-DagRun
 dagrun
+DagRun
 DagRunPydantic
 dagruns
-DagRunState
 dagRunState
+DagRunState
 DAGs
 dags
-Dask
 dask
+Dask
 daskexecutor
 dat
 databrew
@@ -395,19 +399,19 @@ datapipe
 Dataplex
 dataplex
 datapoint
-Dataprep
 dataprep
+Dataprep
 Dataproc
 dataproc
 DataprocDiagnoseClusterOperator
 DataScan
 dataScans
-Dataset
 dataset
+Dataset
 DatasetEvent
 datasetId
-Datasets
 datasets
+Datasets
 datasource
 DataSourceConfig
 Datastore
@@ -424,8 +428,8 @@ datetime
 Datetimes
 datetimes
 dbapi
-DBs
 dbs
+DBs
 dbt
 dbutils
 ddl
@@ -436,8 +440,8 @@ Debounce
 debuggability
 declaratively
 decommissioning
-Decrypt
 decrypt
+Decrypt
 decrypted
 Decrypts
 deduplicate
@@ -465,8 +469,8 @@ descendents
 deserialization
 Deserialize
 deserialize
-Deserialized
 deserialized
+Deserialized
 deserializer
 deserializes
 deserializing
@@ -477,8 +481,8 @@ DevOps
 devtools
 df
 dicts
-Dingding
 dingding
+Dingding
 dir
 DirectRunner
 dirs
@@ -490,23 +494,23 @@ DisplayVideo
 distro
 distros
 dkr
-Dlp
 dlp
+Dlp
 DlpJob
 DlpServiceClient
 DLQ
 dlq
 dms
-DNs
 dns
+DNs
 dnspolicy
 Dockerfile
 dockerfiles
 Dockerhub
-Docstring
 docstring
-Docstrings
+Docstring
 docstrings
+Docstrings
 doesn
 doesnt
 dom
@@ -536,8 +540,8 @@ dup
 durable
 durations
 dylib
-Dynamodb
 dynamodb
+Dynamodb
 dynload
 ec
 ecb
@@ -574,10 +578,10 @@ EntryGroups
 entrypoint
 entrypoints
 EntryType
-EntryTypes
 entryTypes
-Enum
+EntryTypes
 enum
+Enum
 enums
 Env
 env
@@ -593,8 +597,8 @@ equest
 errno
 errored
 eslint
-ETag
 etag
+ETag
 etl
 europe
 eval
@@ -604,8 +608,8 @@ EventBufferValueType
 eventlet
 evo
 ExaConnection
-Exasol
 exasol
+Exasol
 exc
 executables
 exitcode
@@ -618,13 +622,13 @@ extensibility
 externalbrowser
 faas
 facebook
-Failover
 failover
+Failover
 fallbacks
 falsy
 faq
-Fargate
 fargate
+Fargate
 FastAPI
 fastapi
 fc
@@ -660,8 +664,8 @@ firestore
 firstname
 Flamegraph
 flamegraph
-Flink
 flink
+Flink
 flinkDeployment
 FluentD
 fluentd
@@ -684,8 +688,8 @@ fsspec
 fullname
 func
 ga
-Gantt
 gantt
+Gantt
 gapic
 gapped
 gb
@@ -718,13 +722,13 @@ GiB
 gid
 gif
 GitDagBundle
-Github
 github
+Github
 gitignore
 gitpython
 gitSync
-Gitter
 gitter
+Gitter
 gke
 globstring
 glyphicon
@@ -742,12 +746,12 @@ Grafana
 graphviz
 Groq
 groupId
-Grpc
-gRPC
 grpc
+gRPC
+Grpc
 gsuite
-Gunicorn
 gunicorn
+Gunicorn
 gz
 Gzip
 gzipped
@@ -775,11 +779,12 @@ hiveserver
 hmsclient
 hoc
 homebrew
+honoured
 hookimpl
 hookspec
 HostAliases
-Hostname
 hostname
+Hostname
 hostnames
 hotfix
 Hou
@@ -787,8 +792,8 @@ howto
 hql
 href
 html
-Http
 http
+Http
 HTTPBasicAuth
 httpbin
 HttpError
@@ -825,8 +830,8 @@ img
 imgcat
 impyla
 infile
-Influxdb
 influxdb
+Influxdb
 Informatica
 informatica
 infoType
@@ -856,13 +861,13 @@ integrations
 ints
 intvl
 io
-IP
 ip
+IP
 ipc
-IPv
 ipv
-IPv4
+IPv
 ipv4
+IPv4
 IPv6
 ipv6
 ipynb
@@ -892,8 +897,8 @@ jenkins
 JenkinsRequest
 Jetson
 Jiajie
-Jinja
 jinja
+Jinja
 Jira
 jira
 jitter
@@ -916,6 +921,7 @@ journald
 js
 Json
 json
+JSONB
 jsonl
 JsonValue
 juli
@@ -923,22 +929,22 @@ Jupyter
 jupyter
 jvm
 jwks
-JWT
 jwt
-Kafka
+JWT
 kafka
+Kafka
 Kamil
 KEDA
 keepalive
 keepalives
-Kerberized
 kerberized
+Kerberized
 Kerberos
 kerberos
 KerberosClient
 keycloak
-Keyfile
 keyfile
+Keyfile
 KeyManagementServiceClient
 keyring
 keyspace
@@ -946,8 +952,8 @@ keytab
 kfp
 KiB
 Kibana
-Kinesis
 kinesis
+Kinesis
 kinit
 kms
 knownHosts
@@ -956,19 +962,19 @@ Kube
 kube
 kubeconfig
 kubelet
-Kubernetes
 kubernetes
+Kubernetes
 KubernetesPodOperator
-Kueue
 kueue
+Kueue
 Kusto
 kv
 kwarg
 Kwargs
 kwargs
 KYLIN
-Kylin
 kylin
+Kylin
 Kyverno
 Lakehouse
 langchain
@@ -981,8 +987,8 @@ LaunchTemplateParameters
 ldap
 len
 leq
-LevelDB
 leveldb
+LevelDB
 lexicographically
 libs
 libz
@@ -996,8 +1002,8 @@ ListDatasetsPager
 ListModelsPager
 ListSecretsPager
 LiteralValue
-Liveness
 liveness
+Liveness
 livy
 llm
 loadBalancerIP
@@ -1009,8 +1015,9 @@ lodash
 logfile
 logformat
 loglevel
-Logstash
+logout
 logstash
+Logstash
 longblob
 lookups
 loopback
@@ -1025,8 +1032,8 @@ makedsn
 manualSelector
 mappable
 mapred
-Mapreduce
 mapreduce
+Mapreduce
 MarketingTeam
 Masternode
 materializations
@@ -1042,8 +1049,8 @@ memcached
 Memorystore
 memorystore
 memray
-Mesos
 mesos
+Mesos
 metaclass
 metadatabase
 metadataStores
@@ -1064,19 +1071,19 @@ milton
 minikube
 misconfiguration
 misconfigured
-Mixin
 mixin
+Mixin
 mkdir
 mkdtemp
 mlengine
 modularity
-Mongo
 mongo
+Mongo
 mongodb
 monospace
 moto
-MQ
 mq
+MQ
 msfabric
 msg
 msgraph
@@ -1090,8 +1097,8 @@ mutex
 mv
 mwaa
 mypy
-Mysql
 mysql
+Mysql
 mysqlclient
 mysqldb
 myVPC
@@ -1121,8 +1128,8 @@ nobr
 nodash
 Nodegroup
 nodegroup
-Nodegroups
 nodegroups
+Nodegroups
 nodeSelector
 nohup
 nonnegative
@@ -1139,9 +1146,9 @@ ntpd
 Nullable
 nullable
 num
-OAuth
-Oauth
 oauth
+Oauth
+OAuth
 objectORfile
 objectstorage
 observability
@@ -1160,8 +1167,8 @@ onboarded
 onboarding
 OnFailure
 Oozie
-OpenAI
 openai
+OpenAI
 openapi
 openfaas
 OpenID
@@ -1174,8 +1181,8 @@ oper
 OperatorLineage
 Opsgenie
 opsgenie
-Optimise
 optimise
+Optimise
 optimizationObjective
 OptIn
 optionality
@@ -1184,8 +1191,8 @@ oracledb
 orchestrator
 orm
 os
-OSS
 oss
+OSS
 ot
 OTel
 otel
@@ -1215,8 +1222,8 @@ pathlib
 pathType
 Paxos
 PDFs
-PEM
 Pem
+PEM
 pem
 performant
 permissibility
@@ -1240,17 +1247,17 @@ plyvel
 png
 PoC
 PodManager
-PodSpec
-podSpec
 podspec
+podSpec
+PodSpec
 polars
 poller
 polyfill
 pooler
 Popen
 positionally
-POSIX
 posix
+POSIX
 postfix
 Postgres
 postgres
@@ -1260,22 +1267,22 @@ Potiuk
 powerbi
 powershell
 prc
-Pre
 pre
+Pre
 prebuilt
 preconfigured
 PredictionServiceClient
-Preemptibility
 preemptibility
-Preemptible
+Preemptibility
 preemptible
+Preemptible
 prefetch
 prefetched
 prefetches
 preflight
 prek
-Preload
 preload
+Preload
 prepend
 prepended
 prepends
@@ -1288,8 +1295,8 @@ presigned
 prestodb
 pretify
 prev
-Proc
 proc
+Proc
 productionalize
 ProductSearchClient
 profiler
@@ -1299,8 +1306,8 @@ proj
 projectId
 projectid
 proto
-Protobuf
 protobuf
+Protobuf
 provisioner
 proxied
 proxies
@@ -1317,8 +1324,8 @@ pullrequest
 PutObject
 PVC
 PVCs
-Py
 py
+Py
 pyarrow
 pydantic
 pydruid
@@ -1390,8 +1397,8 @@ regexes
 reidentify
 reinit
 relativedelta
-Remoting
 remoting
+Remoting
 renderer
 renderers
 renewer
@@ -1486,8 +1493,8 @@ seekable
 segmentGranularity
 selectable
 selectin
-Sendgrid
 sendgrid
+Sendgrid
 sentimentMax
 ser
 serde
@@ -1503,8 +1510,8 @@ ServiceBusReceivedMessage
 ServicePrincipalCredentials
 ServiceResource
 ServicesClient
-SES
 ses
+SES
 sessionmaker
 setattr
 setdefault
@@ -1531,13 +1538,13 @@ SnowflakeHook
 Snowpark
 snowpark
 SnowparkOperator
-SNS
 sns
+SNS
 somecollection
 somedatabase
 sortable
-Source
 source
+Source
 sourceArchiveUrl
 sourceRepository
 sourceUploadUrl
@@ -1556,18 +1563,18 @@ SpeechClient
 spegno
 sphinx_exts
 Splunk
-Sql
 sql
+Sql
 sqla
-Sqlalchemy
 sqlalchemy
+Sqlalchemy
 sqlglot
-Sqlite
 sqlite
+Sqlite
 sqlproxy
 Sqoop
-SQS
 sqs
+SQS
 src
 srv
 ssc
@@ -1580,8 +1587,8 @@ sslkey
 sslmode
 sslrootcert
 ssm
-Stackdriver
 stackdriver
+Stackdriver
 stacklevel
 stacktrace
 Starlette
@@ -1590,15 +1597,15 @@ stateful
 StatefulSet
 StatefulSets
 statics
-StatsD
 statsd
+StatsD
 stderr
 stdin
 stdout
 StorageClass
 storages
-StoredInfoType
 storedInfoType
+StoredInfoType
 str
 Streamable
 strftime
@@ -1610,8 +1617,8 @@ StructuredTool
 STS
 subchart
 subclassed
-Subclasses
 subclasses
+Subclasses
 subclassing
 subcluster
 subcommand
@@ -1619,8 +1626,8 @@ subcommands
 subdag
 subdir
 subdirectories
-Subdirectory
 subdirectory
+Subdirectory
 subfolder
 subfolders
 submodule
@@ -1643,8 +1650,8 @@ SubscriberClient
 subscriptionId
 substring
 subtask
-Subtasks
 subtasks
+Subtasks
 subtype
 subtypes
 SuccessResponse
@@ -1672,17 +1679,17 @@ tagValue
 targetColumn
 task_group
 TaskDecorator
-TaskFlow
 taskflow
+TaskFlow
 TaskGroup
 taskgroup
 TaskGroups
 taskGroups
 TaskInstance
-taskInstance
 taskinstance
-TaskInstanceKey
+taskInstance
 taskinstancekey
+TaskInstanceKey
 taskmeta
 tasksDuration
 tasksetmeta
@@ -1690,24 +1697,24 @@ tasksState
 taskTree
 tblproperties
 tbuild
-TCP
 tcp
+TCP
 tdload
 teamless
 teardown
 teardowns
 templatable
 templateable
-Templated
 templated
+Templated
 templater
 Templating
 templating
 tenantId
 Tensorboard
 tensorflow
-Teradata
 teradata
+Teradata
 TeradataConnection
 teradatasql
 Terraform
@@ -1715,8 +1722,8 @@ testability
 textarea
 texttospeech
 TextToSpeechClient
-Tez
 tez
+Tez
 theService
 thirdparty
 TicketAudit
@@ -1724,11 +1731,11 @@ timedelta
 timeframe
 timespan
 timezones
-TinkerPop
 tinkerpop
+TinkerPop
 tis
-TLS
 tls
+TLS
 tmp
 tnsnames
 todo
@@ -1765,14 +1772,15 @@ TTU
 Ttu
 TTY
 tunables
+TW
 twitterHandle
 txt
 TZ
 tz
 tzinfo
 UA
-UI
 ui
+UI
 uid
 ukey
 ulimit
@@ -1850,10 +1858,10 @@ Vectorizers
 vendored
 venv
 venvs
-Vertica
 vertica
-Vespa
+Vertica
 vespa
+Vespa
 videointelligence
 views
 virtualenv
@@ -1869,23 +1877,23 @@ WaiterModel
 walkthrough
 wape
 warmup
-Wasb
 wasb
+Wasb
 wasn
 weaviate
 WebClient
 webhdfs
-Webhook
 webhook
+Webhook
 WebhookClient
 webhooks
 webpack
 webpage
-Webserver
 webserver
+Webserver
 webservers
-Werkzeug
 werkzeug
+Werkzeug
 whitespace
 whl
 wildcarded
@@ -1899,11 +1907,11 @@ WTF
 wtf
 wtforms
 www
-XCom
 Xcom
 xcom
-XComArg
+XCom
 xcomarg
+XComArg
 XComArgs
 xcomresult
 XComs
@@ -1918,16 +1926,17 @@ yaml
 Yandex
 yandex
 yandexcloud
-YDB
 ydb
+YDB
 yml
 youtube
 yq
 zA
 Zendesk
 zendesk
-Zenpy
 zenpy
+Zenpy
+zh
 Zhong
 Zsh
 zsh
diff --git a/reproducible_build.yaml b/reproducible_build.yaml
index b631113056d..06fc340adb2 100644
--- a/reproducible_build.yaml
+++ b/reproducible_build.yaml
@@ -1,2 +1,2 @@
-release-notes-hash: 450e43a9dd38329434e5f90e2762ff8c
-source-date-epoch: 1788933260
+release-notes-hash: ed9f65ffbfd23f02425c391b01f15fe1
+source-date-epoch: 1789128762

Reply via email to