This is an automated email from the ASF dual-hosted git repository.
ephraimbuddy pushed a change to branch dag-processor-deployment
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 9467a8a4047 Fix the isolated Dag processor deployment examples and
chart checks
discard 83e99cdf606 Handle invalid input in the Dag processor token provisioner
discard 65fba26d586 Use the trusted bundle catalog command in deployment
guidance
discard d06e3402dba Clarify the Dag processor rollout status check
discard 0cdda7f3c39 Clarify isolated Dag processor credential and migration
guidance
discard edc6d7b4d38 Rotate Dag processor session tokens in Kubernetes Secrets
discard c6065c0ef3b Add API-mode Dag processor deployment support
discard 69098900853 Find the Breeze container for the isolation test from its
mounts
discard 96c41ac8737 Stop logging callback processes for removed Dags as
abnormal exits
discard ffe02d2bc10 Stop repeating Dag callbacks after an Execution API
request fails
discard 17375e1f968 Keep Dag processor callbacks and reparses through
transient failures
discard 66e9c3802d2 Correct the Dag processor API-mode docs and Compose example
discard 002ad342c1b Fix Dag processor API-mode shutdown, completion and claim
capacity
discard 08b1837b8f5 Release Dag processor claims for unpublishable sources
discard d61cf65ece3 Separate trusted Dag bundle catalog provisioning from
processing
discard 1869e423918 Restore isolated Dag processor regression coverage
discard d60a2e34931 Keep API Dag processors recoverable through delivery
failures
discard 0cc9a4c18a0 Move API work delivery state out of the Dag processor
manager
discard 16464b79990 Allow independent priority parses to finish in either
order in recovery tests
discard 2e33c1ce6d7 Preserve requested Dag processing work during bundle
failures
discard 1c800b64282 Wait for fresh inventories before running priority parses
discard 72feb1f53e7 Preserve Dag processor work across retries and reparses
discard f6b4f23bca1 Run Dag processors without metadata database access
omit 4f67859e8b3 Avoid a word the docs spelling check rejects in the Dag
bundles docs
omit 5c9861c736d Retry a failed Dag bundle listing at the next refresh check
omit 97ba211d4ea Resume Dag parsing soon after a transient bundle listing
failure
omit 13d719bc624 Show a failed parse's import error at once without
deactivating Dags
omit 12b0663309f Keep publishing a Dag archive that has an unrepresentable
member
omit b42516028e5 Close gaps in the Dag processor's API-mode tests
omit 64d121fd1c1 Handle Execution API failures in the API-mode Dag processor
omit 8eb5e83a914 Filter invalid Dag discovery paths and deduplicate parse
sources
omit 024fe7bc497 Recover failed Dag parses and bound inventory publication
omit 737a89d36af Introduce a source interface for requested Dag processing
work
omit 1467bb4654f Avoid database sessions when collecting API-mode Dag
results
omit 23f75dcc343 Back off inventory retries and report results the API
would refuse
omit 06a87bfc1c7 Publish Dag processor results through the Execution API
omit 99e077af0e2 Renumber the work-claims migration after main's 0154
omit 9b520d5822b Clarify which Dag processors parsing cleanup expires
omit bd39b80cc35 Tighten test coverage of Dag processor requested-work
delivery
omit 8da4d47d02d Fix Dag processor maintenance logs and stale Dag warning
cleanup
omit 591cdcebe1d Carry publication receipts through Dag processor
maintenance
omit 3e38e05d8c2 Preserve Dag cleanup and exact priority reparse targets
omit cec37e0f1c4 Fix Dag processor requested-work cleanup and delivery
omit 01c1f41ae3f Adapt legacy Dag upgrade regression to bundle discovery
results
omit c353fc45499 Align Dag processor claim migrations with main
omit a062f90d249 Test legacy Dag deactivation after bundle-name backfill
omit 28abbe58224 Fix Dag processor work retries and metadata cleanup
omit 0d44ea0001f Retain Dag processor work until delivery is acknowledged
omit 8d65973f4e8 Renumber the publication-state migration after main's 0154
omit 83ef0e5e7df Keep a file's Dags schedulable after a failed parse is
reported
omit e07f820e05f Fix which Dags a Dag processor publication marks stale
omit 5f67d7c7b72 Reject only the invalid Dags in a Dag processor publication
omit 64ab92d37ab Cover publication API rejections and clarify its docs and
names
omit 7530cd2bc33 Reject Dags without a timetable or with incomplete
deadline alerts
omit 8582245856a Preserve compact source publications and actionable Dag
diagnostics
omit 0c6b8d27c67 Clean asset references for stale Dags removed from bundles
omit 4e27e96ff86 Align API-mode Dag publication with DB-mode cleanup
omit 0292f97fbde Allow Dag processors to publish metadata through the
Execution API
omit 4552a6bc204 Clarify refresh retry timing and note the bundle parsing
pause
omit 57427115ce0 Describe the git provider's refresh-error probe accurately
omit a0c3b301e94 Stop repeated bundle drains and keep cleanup overrides
working
omit 62870a2972e Keep Dag parsing and metrics healthy during bundle outages
omit abe254a9828 Revise Dag bundle refresh compatibility guidance
omit 0ae0d380721 Clarify bundle refresh compatibility and simplify its
regression test
omit 2485e4ebc66 Keep Git bundles importable on Airflow 3.4
omit 120dd5c728b Keep Dag parsing responsive during bundle refresh failures
omit b14c938945f Make the bundle refresh regression test independent of
uptime
omit f15d358847a Avoid parsing stalls while a bundle refresh waits for
imports
omit 57be3ff441d Keep Dag parsing results aligned with refreshed bundle
sources
add 2e9ae2a1999 Split mixed OpenLineage tests into unit and integration
(#75642)
add 1e0e003cea8 Template conn_id and config_kwargs in @task.pyspark
(#75764)
add a04fda49d1a Mark MSGraphAsyncOperator as durable capable (#76576)
add 92fa9b36b09 Fix skill call counts and source links in the AI Model tab
(#76541)
add e10575d5479 Release the Java SDK 1.0.0 and pin its schema URL to the
published docs site (#75944)
add 48a35ccd2d8 Fix S3ToAzureBlobStorageOperator failing on S3 folder
markers (#76408)
add e0b7126d573 Let a final release override the
pending-provider-candidate guard (#76592)
add 1f764a2e118 Add Russian (ru) translation agent skill guideline (#76579)
add f90d2607dd4 Return 404 when a DagRun disappears during task API writes
(#72907)
add f5234c744a1 Harden OpenLineage task outcomes system test (#76595)
add 82b33126d3a Chart: Default airflow version to 3.4.0 (#76601)
add c2ff56eff6b UI: Complete the Portuguese translation (#76412)
add a0924b53f86 Mark Airflow 3.4.0 as the latest released version (#76602)
add f396a3b2271 Add Cloud SQL Auth Proxy v2 support to CloudSqlProxyRunner
(#73646)
add a7b8dc96928 Give the SMTP emailer its own defaults for the [smtp]
options (#76346)
add 498c1cd470c Fix CeleryExecutor failing to load with Celery 5.7 (#76591)
add c8e01650d56 Add a regression test for WITH in the asset orphanage
DELETE (#75127)
add 887f6d2b559 Keep Dag parse results tied to their source snapshot
(#74789)
add dac96bcf61c Publish Dag results and inventories through the Execution
API (#74790)
add f2edf564af4 Recover Dag processor work and expire inactive processors
(#74791)
add 2c69a21eb65 Add HTTP publication to the Dag processor manager (#74793)
add 0665c8cf46f Run Dag processors without metadata database access
add 820c368c73c Preserve Dag processor work across retries and reparses
add 115447491b7 Wait for fresh inventories before running priority parses
add 961ad1b721b Preserve requested Dag processing work during bundle
failures
add f2aafe76697 Allow independent priority parses to finish in either
order in recovery tests
add 3070e246708 Move API work delivery state out of the Dag processor
manager
add 1bd14a3d145 Keep API Dag processors recoverable through delivery
failures
add 698a3135af5 Restore isolated Dag processor regression coverage
add 7ca68c6d4c1 Separate trusted Dag bundle catalog provisioning from
processing
add e3c4c9de23c Release Dag processor claims for unpublishable sources
add 5dee7fd99a2 Fix Dag processor API-mode shutdown, completion and claim
capacity
add a974227f45a Correct the Dag processor API-mode docs and Compose example
add f7deb176fe2 Keep Dag processor callbacks and reparses through
transient failures
add deb1843e525 Stop repeating Dag callbacks after an Execution API
request fails
add f10203030da Stop logging callback processes for removed Dags as
abnormal exits
add 6185d029f0f Find the Breeze container for the isolation test from its
mounts
add 649b653ebcf Add API-mode Dag processor deployment support
add de63329b29e Rotate Dag processor session tokens in Kubernetes Secrets
add 2566b7c0834 Clarify isolated Dag processor credential and migration
guidance
add 1d1aba72f2c Clarify the Dag processor rollout status check
add 22e55265059 Use the trusted bundle catalog command in deployment
guidance
add 1c79c2bce1f Handle invalid input in the Dag processor token provisioner
add fdfc01c8e12 Fix the isolated Dag processor deployment examples and
chart checks
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (9467a8a4047)
\
N -- N -- N refs/heads/dag-processor-deployment (fdfc01c8e12)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.agents/skills/airflow-translations/SKILL.md | 1 +
.agents/skills/airflow-translations/locales/pt.md | 26 +
.agents/skills/airflow-translations/locales/ru.md | 242 +++++
.github/workflows/release-constraints.yml | 16 +-
Dockerfile | 2 +-
README.md | 12 +-
RELEASE_NOTES.rst | 1099 +++++++++++++++++++-
.../docs/installation/supported-versions.rst | 2 +-
.../core_api/routes/public/task_state_store.py | 5 +-
.../execution_api/routes/task_state_store.py | 17 +-
.../api_fastapi/execution_api/versions/__init__.py | 2 +
.../execution_api/versions/v2026_10_30.py | 7 +
airflow-core/src/airflow/state/metastore.py | 5 +-
airflow-core/src/airflow/ui/public/i18n/README.md | 1 +
.../airflow/ui/public/i18n/locales/pt/admin.json | 33 +-
.../airflow/ui/public/i18n/locales/pt/assets.json | 39 +-
.../airflow/ui/public/i18n/locales/pt/browse.json | 60 ++
.../airflow/ui/public/i18n/locales/pt/common.json | 314 +++++-
.../ui/public/i18n/locales/pt/components.json | 92 +-
.../src/airflow/ui/public/i18n/locales/pt/dag.json | 236 ++++-
.../airflow/ui/public/i18n/locales/pt/dags.json | 65 +-
.../ui/public/i18n/locales/pt/dashboard.json | 44 +-
.../airflow/ui/public/i18n/locales/pt/hitl.json | 15 +
.../routes/public/test_task_state_store.py | 51 +-
.../versions/head/test_task_state_store.py | 38 +-
.../versions/v2026_10_30/test_task_state_store.py | 51 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 35 +-
airflow-core/tests/unit/state/test_metastore.py | 5 +-
.../java-native-bundle/gradle.properties | 2 +-
.../java-test-bundle/gradle.properties | 2 +-
chart/Chart.yaml | 20 +-
chart/newsfragments/76601.significant.rst | 3 +
chart/values.schema.json | 4 +-
chart/values.yaml | 4 +-
dev/README_RELEASE_AIRFLOW.md | 16 +
.../output_workflow-run_release-constraints.svg | 52 +-
.../output_workflow-run_release-constraints.txt | 2 +-
.../src/airflow_breeze/commands/release_command.py | 37 +-
.../airflow_breeze/commands/workflow_commands.py | 14 +-
.../commands/workflow_commands_config.py | 1 +
dev/breeze/src/airflow_breeze/global_constants.py | 6 +
.../airflow_breeze/utils/release_constraints.py | 67 +-
dev/breeze/tests/test_release_command.py | 77 +-
dev/breeze/tests/test_release_constraints.py | 65 ++
dev/breeze/tests/test_workflow_commands.py | 21 +
.../src/tests_common/test_utils/markers.py | 19 +
docs/spelling_wordlist.txt | 26 +
generated/PYPI_README.md | 10 +-
java-sdk/gradle.properties | 2 +-
java-sdk/sdk/build.gradle.kts | 2 +-
.../lang_sdk/java_example/gradle.properties | 2 +-
providers/apache/spark/docs/decorators/pyspark.rst | 4 +
.../providers/apache/spark/decorators/pyspark.py | 2 +
.../unit/apache/spark/decorators/test_pyspark.py | 22 +
.../celery/executors/celery_executor_utils.py | 12 +-
.../integration/celery/test_celery_executor.py | 7 +-
providers/common/ai/docs/observability.rst | 3 +-
providers/common/ai/docs/toolsets/skills.rst | 19 +-
.../ai/plugins/www/src/components/ModelPanel.tsx | 2 +-
.../plugins/www/src/components/SkillsSection.tsx | 13 +-
.../common/ai/plugins/www/src/skill-source.ts | 43 +-
.../common/ai/plugins/www/tests/model.test.mjs | 36 +
.../ai/plugins/www/tests/skill-source.test.ts | 27 +-
.../ai/src/airflow/providers/common/ai/skills.py | 5 +-
.../airflow/providers/common/ai/toolsets/skills.py | 61 +-
.../common/ai/tests/unit/common/ai/test_skills.py | 11 +
.../tests/unit/common/ai/toolsets/test_skills.py | 232 ++++-
providers/google/docs/connections/gcp_sql.rst | 55 +-
.../providers/google/cloud/hooks/cloud_sql.py | 116 ++-
.../unit/google/cloud/hooks/test_cloud_sql.py | 234 +++++
.../providers/microsoft/azure/operators/msgraph.py | 4 +
.../microsoft/azure/transfers/s3_to_wasb.py | 36 +
.../microsoft/azure/transfers/test_s3_to_wasb.py | 59 ++
providers/openlineage/pyproject.toml | 1 +
.../example_openlineage_task_outcomes_dag.py | 4 +-
.../openlineage_task_outcomes_dag.json | 6 +-
.../tests/system/openlineage/manual_state.py | 28 +-
.../unit/openlineage/extractors/test_manager.py | 49 +-
providers/smtp/docs/connections/smtp.rst | 9 +-
.../src/airflow/providers/smtp/utils/emailer.py | 24 +-
.../smtp/tests/unit/smtp/utils/test_emailer.py | 108 +-
reproducible_build.yaml | 4 +-
scripts/ci/prek/supported_versions.py | 2 +-
uv.lock | 2 +
84 files changed, 3889 insertions(+), 320 deletions(-)
create mode 100644 .agents/skills/airflow-translations/locales/ru.md
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_10_30/test_task_state_store.py
create mode 100644 chart/newsfragments/76601.significant.rst