shahar1 commented on code in PR #76490:
URL: https://github.com/apache/airflow/pull/76490#discussion_r4473470709
##########
providers/fab/docs/changelog.rst:
##########
@@ -31,6 +34,35 @@ Changelog
authentication types (OAuth, remote user) it no longer issues tokens for a
username and
password; use that type's own login flow instead. Passwords made only of
NUL bytes are rejected.
+Features
+~~~~~~~~
+
+* ``Give Dag bundles their own read permission (#76329)``
Review Comment:
#76329 depends on #76474, which is still open and not in this wave. Per
#76474, these providers also run on Airflow 3.4.0, which has the bundles menu
item but not the view. Without that fix, roles that can read a Dag lose the
menu entry while the page still works for them. Keycloak has the same gap in
`cli/commands.py`.
The notes here already use #76474's 3.4.1 wording but not its code. Should
this wave wait for #76474, or should the notes state the 3.4.0 behaviour?
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/amazon/docs/changelog.rst:
##########
@@ -26,12 +26,63 @@
Changelog
---------
+9.40.0
+......
+
.. note::
In multi-team mode, a team's ``AwsEksExecutor`` now reads
``[aws_eks_executor]`` from the team's
section and no longer falls back to the global one. Set ``cluster_name``
for each team, and
``region_name`` and ``conn_id`` too if the team needs them.
+Features
+~~~~~~~~
+
+* ``Add on_kill support to SageMakerTrainingOperator (#76033)``
+* ``Let the ECS executor start tasks in parallel (#75907)``
+* ``Page SqlToS3Operator like GenericTransfer (#75730)``
+* ``Let the EKS executor run per team and next to KubernetesExecutor (#75449)``
Review Comment:
#75449 builds on `KubernetesExecutor.client_factory` from #75251, so
`AwsEksExecutor` now raises on import with cncf.kubernetes below 11.0.0. Before
this it accepted `>=10.24.0`. The note here covers only multi-team mode, but
this reaches single-team users too, and nothing in the section gives the
version. I suggest adding to the note:
> `AwsEksExecutor` now requires
`apache-airflow-providers-cncf-kubernetes>=11.0.0`, in single-team deployments
too.
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/google/docs/changelog.rst:
##########
@@ -27,11 +27,60 @@
Changelog
---------
+22.9.0
+......
+
.. warning::
Subclasses of ``CloudLoggingRemoteLogIO`` that override
``prepare_log_filter`` must accept a
``log_path`` keyword argument (``log_path: str | None = None``), because
``read`` now passes it.
With the old ``(self, ti_labels)`` signature every task log read fails
with ``TypeError``.
+Features
+~~~~~~~~
+
+* ``Add async 'BigQueryAsyncHook.aget_records' and deprecate 'get_records'
(#72286)``
+* ``Add query and report inspection operators for Google Bid Manager (#71947)``
Review Comment:
#71947 also changes existing behaviour:
- `GoogleBidManagerRunQuerySensor` used to succeed on a `FAILED` report. It
now raises `AirflowFailException`.
- `GoogleBidManagerDownloadReportOperator` raises `AirflowFailException` on
`FAILED`, and `ValueError` where it raised `AirflowException` for other
non-`DONE` states.
- `GoogleBidManagerHook.list_queries` and `list_reports` read all pages, and
`list_reports` returns `{"reports": [...]}` rather than the raw response.
Tasks that passed on a failed report will start failing, so I suggest a
second entry under `Bug Fixes`:
`* ``Fail Bid Manager report sensor and download operator on a FAILED
report, and read all pages in list_queries and list_reports (#71947)`` `
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/google/docs/changelog.rst:
##########
@@ -27,11 +27,60 @@
Changelog
---------
+22.9.0
+......
+
.. warning::
Subclasses of ``CloudLoggingRemoteLogIO`` that override
``prepare_log_filter`` must accept a
``log_path`` keyword argument (``log_path: str | None = None``), because
``read`` now passes it.
With the old ``(self, ti_labels)`` signature every task log read fails
with ``TypeError``.
+Features
+~~~~~~~~
+
+* ``Add async 'BigQueryAsyncHook.aget_records' and deprecate 'get_records'
(#72286)``
+* ``Add query and report inspection operators for Google Bid Manager (#71947)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Enforce execution_timeout in deferrable DataprocSubmitJobOperator
(#72030)``
+* ``Normalize empty project id in credential config file branch (#73886)``
+* ``Stop BigQueryStreamingBufferEmptySensor reporting empty too early
(#69118)``
Review Comment:
The title is true, but #69118 also changes the default:
`empty_confirmations` is 2, which can delay success by up to one
`poke_interval`. Per the docstring, `mode="reschedule"` with
`empty_confirmations > 1` needs a running triggerer, so deployments without one
are affected on upgrade. I suggest a note:
> `BigQueryStreamingBufferEmptySensor` now requires `empty_confirmations`
consecutive empty readings (default 2), which can delay success by up to one
`poke_interval`. With `mode="reschedule"` and `empty_confirmations > 1` it
needs a running triggerer. Set `empty_confirmations=1` to keep the worker-only
behaviour.
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/google/docs/changelog.rst:
##########
@@ -27,11 +27,60 @@
Changelog
---------
+22.9.0
+......
+
.. warning::
Subclasses of ``CloudLoggingRemoteLogIO`` that override
``prepare_log_filter`` must accept a
``log_path`` keyword argument (``log_path: str | None = None``), because
``read`` now passes it.
With the old ``(self, ti_labels)`` signature every task log read fails
with ``TypeError``.
+Features
+~~~~~~~~
+
+* ``Add async 'BigQueryAsyncHook.aget_records' and deprecate 'get_records'
(#72286)``
+* ``Add query and report inspection operators for Google Bid Manager (#71947)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Enforce execution_timeout in deferrable DataprocSubmitJobOperator
(#72030)``
+* ``Normalize empty project id in credential config file branch (#73886)``
+* ``Stop BigQueryStreamingBufferEmptySensor reporting empty too early
(#69118)``
+* ``Stop Google Cloud Logging handler from starting a thread on close
(#75596)``
+* ``Fix BigQuery cancellation and links with inferred job locations (#75717)``
+* ``Fix BigQuery durable recovery for regional jobs (#75430)``
+* ``Cancel the BigQuery job when BigQueryToBigQueryOperator is killed
(#75101)``
+* ``Prevent Dag processor crashes with Google Cloud Logging when its log
directory is outside 'base_log_folder' (#74926)``
+* ``Fix Google Cloud Logging task log reads before Airflow 3.4 (#74923)``
+
+Misc
+~~~~
+
+* ``Remove types-protobuf from google provider runtime dependencies (#73775)``
+* ``Remove unused Cloud SQL settings version helper (#75789)``
+* ``Remove unused Dataproc job template helper (#75790)``
+* ``Remove unused Cloud SQL OS bitness helper (#75788)``
+* ``Remove unused Dataflow job state checker (#75784)``
+* ``Add High Obtainability (HO) mode support to Dataproc operators (#74753)``
+
+Doc-only
+~~~~~~~~
+
+* ``Document all Google Cloud connection fields (#76160)``
Review Comment:
#76160 documents `idp_extra_parameters` as sent in the token request, but
its description says the hook currently ignores it, and the fix (#76161) is
still open. `base_google.py` reads `idp_extra_params`, a different key. So
22.9.0 would ship docs for behaviour it doesn't have. Can #76161 join this
wave, or should the docs or a note state the limit?
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/keycloak/docs/changelog.rst:
##########
@@ -25,12 +25,30 @@
Changelog
---------
+0.12.0
+......
+
.. note::
- Airflow 3.4.0 adds a Dag bundles view, which in multi-team mode is checked
against the
+ Airflow 3.4.1 adds a Dag bundles view, which in multi-team mode is checked
against the
``AdminView`` resource, so only ``SuperAdmin`` holds it. Multi-team
deployments must upgrade this
- provider together with Airflow 3.4.0: older releases check the view
against ``View``, which every
+ provider together with Airflow 3.4.1: older releases check the view
against ``View``, which every
team role can read.
+Features
+~~~~~~~~
+
+* ``Give Dag bundles their own read permission (#76329)``
Review Comment:
This title fits core and FAB, but Keycloak gains no new permission in
#76329. Multi-team mode now checks `DAG_BUNDLES` against `AdminView`,
single-team mode stays on `View`, and team roles lose the menu item. It
restricts access, as the note above says.
```suggestion
* ``Restrict the Dag bundles view to SuperAdmin in multi-team mode (#76329)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/amazon/docs/changelog.rst:
##########
@@ -26,12 +26,63 @@
Changelog
---------
+9.40.0
+......
+
.. note::
In multi-team mode, a team's ``AwsEksExecutor`` now reads
``[aws_eks_executor]`` from the team's
section and no longer falls back to the global one. Set ``cluster_name``
for each team, and
``region_name`` and ``conn_id`` too if the team needs them.
+Features
+~~~~~~~~
+
+* ``Add on_kill support to SageMakerTrainingOperator (#76033)``
Review Comment:
This reads as if killing the task now stops the job, but #76033 is opt-in
through `stop_training_job_on_kill` (default `False`), so by default the
training job keeps running. A deferred task also needs Airflow 3.3 or later.
```suggestion
* ``Add stop_training_job_on_kill to SageMakerTrainingOperator to stop the
job when the task is killed (#76033)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/fab/docs/changelog.rst:
##########
@@ -20,9 +20,12 @@
Changelog
---------
+3.11.0
+......
+
.. note::
- Airflow 3.4.0 gives Dag bundles their own ``Dag Bundles`` resource, which
``Op`` and ``Admin``
- get by default. Upgrade this provider together with Airflow 3.4.0: older
releases deny the Dag
+ Airflow 3.4.1 gives Dag bundles their own ``Dag Bundles`` resource, which
``Op`` and ``Admin``
+ get by default. Upgrade this provider together with Airflow 3.4.1: older
releases deny the Dag
bundle pages and API to every role, including ``Admin``, while still
showing the Browse menu
entry. Custom roles need ``can read`` and ``menu access`` on ``Dag
Bundles`` added by hand.
Review Comment:
The note leaves out who loses access. #76329 moves `/api/v2/dagBundles*`
from `DAGs.can_read` (`Viewer`) to `Dag Bundles.can_read` (`Op`), and its
description says "Viewers lose access".
```suggestion
entry. Custom roles need ``can read`` and ``menu access`` on ``Dag
Bundles`` added by hand.
On Airflow 3.4.1, ``Viewer`` and other roles that reached these pages
through Dag read access lose them.
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/google/docs/changelog.rst:
##########
@@ -27,11 +27,60 @@
Changelog
---------
+22.9.0
+......
+
.. warning::
Subclasses of ``CloudLoggingRemoteLogIO`` that override
``prepare_log_filter`` must accept a
``log_path`` keyword argument (``log_path: str | None = None``), because
``read`` now passes it.
With the old ``(self, ti_labels)`` signature every task log read fails
with ``TypeError``.
+Features
+~~~~~~~~
+
+* ``Add async 'BigQueryAsyncHook.aget_records' and deprecate 'get_records'
(#72286)``
+* ``Add query and report inspection operators for Google Bid Manager (#71947)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Enforce execution_timeout in deferrable DataprocSubmitJobOperator
(#72030)``
+* ``Normalize empty project id in credential config file branch (#73886)``
+* ``Stop BigQueryStreamingBufferEmptySensor reporting empty too early
(#69118)``
+* ``Stop Google Cloud Logging handler from starting a thread on close
(#75596)``
+* ``Fix BigQuery cancellation and links with inferred job locations (#75717)``
+* ``Fix BigQuery durable recovery for regional jobs (#75430)``
+* ``Cancel the BigQuery job when BigQueryToBigQueryOperator is killed
(#75101)``
+* ``Prevent Dag processor crashes with Google Cloud Logging when its log
directory is outside 'base_log_folder' (#74926)``
+* ``Fix Google Cloud Logging task log reads before Airflow 3.4 (#74923)``
Review Comment:
"Before Airflow 3.4" is narrower than #74923. It also fixes an
`AttributeError` for runs without a logical date on any Airflow 3 version, so a
3.4+ reader could wrongly skip this.
```suggestion
* ``Fix Google Cloud Logging task log reads for runs without a logical date,
and for mapped tasks and print() output before Airflow 3.4 (#74923)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/apache/arrow/docs/changelog.rst:
##########
@@ -26,6 +26,24 @@
Changelog
---------
+0.2.0
+.....
+
+.. note::
+ ``AdbcHook.insert_rows`` now defaults to ``fast_executemany=True`` and loads
rows through the
+ driver's bulk ingest (``adbc_ingest``, e.g. ``COPY`` on PostgreSQL). Drivers
without bulk
+ ingest, and ``replace=True``, still bind rows with ``executemany``. Pass
+ ``fast_executemany=False`` to keep the previous path.
+
+Features
+~~~~~~~~
+
+* ``Use bulk ingest in AdbcHook.insert_rows when fast_executemany is set
(#76363)``
Review Comment:
"When `fast_executemany` is set" reads as opt-in, but #76363 makes `True`
the default, as the note above says.
```suggestion
* ``Make AdbcHook.insert_rows use the driver's bulk ingest by default
(#76363)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/smtp/docs/changelog.rst:
##########
@@ -27,6 +27,18 @@
Changelog
---------
+3.2.1
+.....
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Fix async SmtpHook connections failing when STARTTLS is enabled (#75529)``
Review Comment:
#75529 also raises `aiosmtplib` from `>=0.1.6` to `>=5.1.0`. This reaches
sync users too, because the hook imports it at the top level, and the changelog
doesn't mention it in this patch release.
```suggestion
* ``Fix async SmtpHook connections failing when STARTTLS is enabled, and
raise aiosmtplib minimum to 5.1.0 (#75529)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/standard/docs/changelog.rst:
##########
@@ -43,6 +46,30 @@ Changelog
.. warning::
The deprecated ``TimeDeltaSensorAsync`` class has been removed. Use
``TimeDeltaSensor(..., deferrable=True)`` instead.
+ On Airflow 3.0.x, the bundled ``example_time_delta_sensor_async`` example
Dag imports this
+ class, so it fails to import when ``[core] load_examples`` is on. Upgrade to
Airflow 3.1 or turn
+ off ``load_examples``.
+
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+* ``Remove deprecated TimeDeltaSensorAsync (#76131)``
+
+Features
+~~~~~~~~
+
+* ``Add AssetEventSensor to standard provider (#70225)``
+* ``Allow asking for human input from inside a Python task (#75358)``
Review Comment:
`request_input()` raises below Airflow 3.4, and this provider supports
`apache-airflow>=2.11.0`, so the requirement seems worth stating.
```suggestion
* ``Allow asking for human input from inside a Python task on Airflow 3.4+
(#75358)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/mysql/docs/changelog.rst:
##########
@@ -37,6 +40,15 @@ Changelog
to a ``mysql+aiomysql://`` URL. The ``[aiomysql]`` extra also declares this
driver
for installations that need it after it becomes optional.
+Features
+~~~~~~~~
+
+* ``Switch the default async MySQL driver to asyncmy (#75218)``
Review Comment:
The provider doesn't switch the driver: the selection is in core
`settings.py` (#75218), and `3.4.0rc2` doesn't have it. The note above is
accurate, so the entry could match it.
```suggestion
* ``Install asyncmy for the async metadata database engine and add an
aiomysql extra (#75218)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/common/compat/docs/changelog.rst:
##########
@@ -25,6 +25,23 @@
Changelog
---------
+1.23.1
+......
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Surface errors from OpenLineage database info lookups without losing
lineage (#74805)``
Review Comment:
"Without losing lineage" is true for the common.sql part of #74805, but not
here. This provider only changes the fallback used when the OpenLineage
provider lacks `get_openlineage_facets_with_sql`, and it logs the error and
returns `None`.
```suggestion
* ``Log errors from OpenLineage database info lookups in the fallback SQL
facets helper (#74805)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/fab/docs/changelog.rst:
##########
@@ -31,6 +34,35 @@ Changelog
authentication types (OAuth, remote user) it no longer issues tokens for a
username and
password; use that type's own login flow instead. Passwords made only of
NUL bytes are rejected.
+Features
+~~~~~~~~
+
+* ``Give Dag bundles their own read permission (#76329)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Use only the configured auth type when creating tokens in the FAB auth
manager (#76231)``
+* ``Honor next when an authenticated user reaches the FAB login page (#75665)``
+
+Misc
+~~~~
+
+* ``Bump @babel/core to 8.0.9 and webpack to 5.112.2 in the FAB UI (#75807)``
+
+Doc-only
+~~~~~~~~
+
+* ``Add CLI login discovery to auth managers (#75672)``
Review Comment:
The FAB part of #75672 is one row in `access-control.rst`, with no FAB code
change, so this title promises a feature FAB doesn't gain here.
```suggestion
* ``Document the public GET /api/v2/auth/cli/metadata endpoint (#75672)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/google/docs/changelog.rst:
##########
@@ -27,11 +27,60 @@
Changelog
---------
+22.9.0
+......
+
.. warning::
Subclasses of ``CloudLoggingRemoteLogIO`` that override
``prepare_log_filter`` must accept a
``log_path`` keyword argument (``log_path: str | None = None``), because
``read`` now passes it.
With the old ``(self, ti_labels)`` signature every task log read fails
with ``TypeError``.
+Features
+~~~~~~~~
+
+* ``Add async 'BigQueryAsyncHook.aget_records' and deprecate 'get_records'
(#72286)``
+* ``Add query and report inspection operators for Google Bid Manager (#71947)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Enforce execution_timeout in deferrable DataprocSubmitJobOperator
(#72030)``
+* ``Normalize empty project id in credential config file branch (#73886)``
+* ``Stop BigQueryStreamingBufferEmptySensor reporting empty too early
(#69118)``
+* ``Stop Google Cloud Logging handler from starting a thread on close
(#75596)``
+* ``Fix BigQuery cancellation and links with inferred job locations (#75717)``
Review Comment:
#75717 only changes `BigQueryInsertJobOperator`. The new
`BigQueryToBigQueryOperator.on_kill` from #75101 still cancels with
`self.location`, so "BigQuery cancellation" is broader than the fix.
```suggestion
* ``Fix BigQueryInsertJobOperator cancellation and links with inferred job
locations (#75717)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/fab/docs/changelog.rst:
##########
@@ -31,6 +34,35 @@ Changelog
authentication types (OAuth, remote user) it no longer issues tokens for a
username and
password; use that type's own login flow instead. Passwords made only of
NUL bytes are rejected.
+Features
+~~~~~~~~
+
+* ``Give Dag bundles their own read permission (#76329)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Use only the configured auth type when creating tokens in the FAB auth
manager (#76231)``
Review Comment:
The note names only `POST /auth/token`, but #76231 changes
`FabAuthManager.create_token`, which `POST /auth/token/cli` uses too. CLI
tokens change the same way, so I suggest naming both routes in the note.
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/google/docs/changelog.rst:
##########
@@ -27,11 +27,60 @@
Changelog
---------
+22.9.0
+......
+
.. warning::
Subclasses of ``CloudLoggingRemoteLogIO`` that override
``prepare_log_filter`` must accept a
``log_path`` keyword argument (``log_path: str | None = None``), because
``read`` now passes it.
With the old ``(self, ti_labels)`` signature every task log read fails
with ``TypeError``.
+Features
+~~~~~~~~
+
+* ``Add async 'BigQueryAsyncHook.aget_records' and deprecate 'get_records'
(#72286)``
+* ``Add query and report inspection operators for Google Bid Manager (#71947)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Enforce execution_timeout in deferrable DataprocSubmitJobOperator
(#72030)``
+* ``Normalize empty project id in credential config file branch (#73886)``
+* ``Stop BigQueryStreamingBufferEmptySensor reporting empty too early
(#69118)``
+* ``Stop Google Cloud Logging handler from starting a thread on close
(#75596)``
+* ``Fix BigQuery cancellation and links with inferred job locations (#75717)``
+* ``Fix BigQuery durable recovery for regional jobs (#75430)``
+* ``Cancel the BigQuery job when BigQueryToBigQueryOperator is killed
(#75101)``
+* ``Prevent Dag processor crashes with Google Cloud Logging when its log
directory is outside 'base_log_folder' (#74926)``
+* ``Fix Google Cloud Logging task log reads before Airflow 3.4 (#74923)``
+
+Misc
+~~~~
+
+* ``Remove types-protobuf from google provider runtime dependencies (#73775)``
+* ``Remove unused Cloud SQL settings version helper (#75789)``
+* ``Remove unused Dataproc job template helper (#75790)``
+* ``Remove unused Cloud SQL OS bitness helper (#75788)``
+* ``Remove unused Dataflow job state checker (#75784)``
+* ``Add High Obtainability (HO) mode support to Dataproc operators (#74753)``
Review Comment:
The google part of #74753 has no `src/` change: HO config already passes
through the operators' cluster dicts. What ships is a higher
`google-cloud-dataproc` floor (`>=5.27.0` to `>=5.32.0`) plus docs, and the
section doesn't mention the floor.
```suggestion
* ``Raise google-cloud-dataproc minimum to 5.32.0 and document High
Obtainability (HO) mode clusters (#74753)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/fab/docs/changelog.rst:
##########
@@ -31,6 +34,35 @@ Changelog
authentication types (OAuth, remote user) it no longer issues tokens for a
username and
password; use that type's own login flow instead. Passwords made only of
NUL bytes are rejected.
+Features
+~~~~~~~~
+
+* ``Give Dag bundles their own read permission (#76329)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Use only the configured auth type when creating tokens in the FAB auth
manager (#76231)``
+* ``Honor next when an authenticated user reaches the FAB login page (#75665)``
+
+Misc
+~~~~
+
+* ``Bump @babel/core to 8.0.9 and webpack to 5.112.2 in the FAB UI (#75807)``
+
+Doc-only
+~~~~~~~~
+
+* ``Add CLI login discovery to auth managers (#75672)``
+* ``[AIP-94] Add airflowctl providers get (#68854)``
Review Comment:
Same as the entry above: the FAB part of #68854 is one row in
`access-control.rst`, and airflowctl doesn't ship with FAB.
```suggestion
* ``Document the permission for GET /api/v2/providers/{provider_name}
(#68854)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/snowflake/docs/changelog.rst:
##########
@@ -27,6 +27,33 @@
Changelog
---------
+6.21.0
+......
+
+Features
+~~~~~~~~
+
+* ``Align Snowflake Cortex Agent hook with the Common AI managed-agent
contract (#74672)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Fix stale cursor descriptions between SnowflakeHook runs (#76163)``
+* ``Fix lost transaction in SnowflakeHook when 'session_parameters' is set
(#75425)``
Review Comment:
#75457 is a comment-only follow-up to #75425, so together they are one fix,
and the comment says it applies to `snowflake-connector-python < 5`. A combined
entry would state the net change, using the grouped form from the release
skill. The `Misc` line and heading would then go away. Your call, since the
skill's example is an add-then-rework chain and this is a follow-up.
```suggestion
* ``Fix lost transaction in SnowflakeHook when 'session_parameters' is set
with 'snowflake-connector-python' < 5 (#75425, #75457)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/microsoft/azure/docs/changelog.rst:
##########
@@ -27,12 +27,26 @@
Changelog
---------
+15.3.1
+......
+
.. note::
``S3ToAzureBlobStorageOperator`` now verifies S3 TLS certificates by
default: ``s3_verify`` defaults
to ``None``, deferring to the connection and botocore default. Pass
``s3_verify=False`` to keep the
previous behaviour.
+Bug Fixes
+~~~~~~~~~
+
+* ``Verify S3 TLS certificates by default in S3ToAzureBlobStorageOperator
(#76222)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``[main] Upgrade important CI environment (#76278)``
+ * ``[main] Upgrade important CI environment (#75270)``
Review Comment:
These "CI environment" PRs also raise runtime floors, with no published
entry: here `azure-mgmt-compute` moves to a new major (`>=38.0.0`) in a patch
release, and amazon (`boto3`/`botocore>=1.43.4`) and google
(`google-api-python-client>=2.195.0`, `google-cloud-bigtable>=2.37.0`) move
too. Amazon 9.39.0 published the same kind of change as `Raise boto3 and
botocore dependency floors`. Is exclusion intended here? I can see it either
way for the small bumps, but the Azure one seems worth a line.
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/celery/docs/changelog.rst:
##########
@@ -27,9 +27,26 @@
Changelog
---------
+4.0.0
+.....
+
.. warning::
The deprecated ``CeleryExecutor.cleanup_stuck_queued_tasks`` and
``CeleryKubernetesExecutor.cleanup_stuck_queued_tasks`` methods have been
removed. Use ``revoke_task`` instead.
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+* ``Remove deprecated cleanup_stuck_queued_tasks from Celery and Kubernetes
executors (#76129)``
Review Comment:
In this changelog, #76129 only touches the Celery provider's classes. The
`KubernetesExecutor` part belongs to cncf.kubernetes.
```suggestion
* ``Remove deprecated cleanup_stuck_queued_tasks from CeleryExecutor and
CeleryKubernetesExecutor (#76129)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/cncf/kubernetes/docs/changelog.rst:
##########
@@ -41,6 +44,37 @@ Changelog
.. warning::
The deprecated ``KubernetesExecutor.cleanup_stuck_queued_tasks`` and
``LocalKubernetesExecutor.cleanup_stuck_queued_tasks`` methods have been
removed. Use ``revoke_task`` instead.
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+* ``Remove deprecated cleanup_stuck_queued_tasks from Celery and Kubernetes
executors (#76129)``
+
+Features
+~~~~~~~~
+
+* ``Emit resumable_job metrics from KubernetesPodOperator (#75734)``
+* ``Let each team's KubernetesExecutor connect to its own cluster (#75251)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Render only the returned value in TaskFlow decorators that template it
(#76244)``
+* ``Restore the on_operator_resuming callback in KubernetesPodOperator
(#76035)``
+* ``Report Kubernetes API 403 errors from the deferrable pod trigger (#76081)``
+* ``Fix KubernetesJobOperator dry_run printing a Pod instead of a Job
(#75403)``
+
+Misc
+~~~~
+
+* ``Remove unused Spark pod try number helper (#75787)``
+
+.. Below changes are excluded from the changelog. Move them to
+ appropriate section above if needed. Do not delete the lines(!):
+ * ``Remove unused Spark application expectation helper (#75877)``
+ * ``[main] Upgrade important CI environment (#76278)``
+ * ``[main] Upgrade important CI environment (#75270)``
Review Comment:
Unlike most CI bumps, #75270 changes shipped code here: `XCOM_SIDECAR_IMAGE`
moves from `alpine:3.24.2` to `alpine:3.24.3`. Anyone who mirrors that image
for a disconnected cluster needs the new tag, so I suggest a `Misc` entry:
`* ``Bump the default XCom sidecar image to alpine:3.24.3 (#75270)`` `
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/cncf/kubernetes/docs/changelog.rst:
##########
@@ -41,6 +44,37 @@ Changelog
.. warning::
The deprecated ``KubernetesExecutor.cleanup_stuck_queued_tasks`` and
``LocalKubernetesExecutor.cleanup_stuck_queued_tasks`` methods have been
removed. Use ``revoke_task`` instead.
+Breaking changes
+~~~~~~~~~~~~~~~~
+
+* ``Remove deprecated cleanup_stuck_queued_tasks from Celery and Kubernetes
executors (#76129)``
Review Comment:
Same as the celery entry: this provider's part of #76129 only touches its
own executors.
```suggestion
* ``Remove deprecated cleanup_stuck_queued_tasks from KubernetesExecutor and
LocalKubernetesExecutor (#76129)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
##########
providers/common/ai/docs/changelog.rst:
##########
@@ -34,6 +37,28 @@ Changelog
argument the task is called with, positional ones included, can be
referenced in it by name;
see the ``@task.llm`` documentation for how to include text from function
arguments in it.
+Features
+~~~~~~~~
+
+* ``Suggest common model providers in the pydanticai connection form (#76053)``
+* ``Show which skills an agent was offered and used in the AI Model tab
(#76309)``
+
+Bug Fixes
+~~~~~~~~~
+
+* ``Render only the returned value in TaskFlow decorators that template it
(#76244)``
+
+Doc-only
+~~~~~~~~
+
+* ``Add screenshots and a review loop example to the task loops docs (#76435)``
Review Comment:
The only provider file in #76435 is `example_llm_review_loop.py`. The
screenshots and task loops docs are in `airflow-core/docs`.
```suggestion
* ``Add a review loop example Dag (#76435)``
```
---
Drafted-by: Claude Code (Opus 5.5); reviewed by `shahar1` before posting
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]