This is an automated email from the ASF dual-hosted git repository.
jason810496 pushed a change to branch backport-f3cf550-v3-4-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 833b6e31d26 [v3-4-test] TS SDK: Bump to 1.0.0-beta1 and align README
with the guide (#74693)
add 7163b30d1ba [v3-4-test] Fix Dag run filtering for null start dates
(#71654) (#75233)
add abacaaf6b09 [v3-4-test] Bump uv used for release sdist checks to
0.13.4 (#75305) (#75308)
add 6d9bbf9b97f [v3-4-test] Add latest-package-managers flag to breeze ci
upgrade and upgrade check CI (#75298) (#75311)
add 5869b0e184d [v3-4-test] Bump certifi to 2026.10.19 to drop the
compromised emSign ECC Root CA - G3 (#75302) (#75312)
add 0e98a35a152 [v3-4-test] Add time range filtering to the Gantt view
(#73555) (#75261)
add fde0ce23d0e [v3-4-test] UI: Add regression tests for Dags list rows
remounting on refresh (#75005) (#75252)
add 311080013f8 [v3-4-test] Fix task Clear and callback bundles after
code-only Dag changes (#73915) (#75256)
add 352cbf6370c [v3-4-test] Number task loop iterations from one instead
of zero (#74773) (#75260)
add 097b1be223f [v3-4-test] Expose task instance loop pass and expansion
size to listeners (#75132) (#75309)
add 63504d29972 [v3-4-test] Reject blank pool names and variable keys in
the REST API (#74896) (#75258)
add 6bc9a6a5ebd [v3-4-test] UI: Preload base React plugin bundles with the
page (#74777) (#75259)
add cf572db9553 [v3-4-test] CI: Upgrade important CI environment (#75313)
add 726da9b7a72 Bump the 3-4-auth-ui-package-updates group across 1
directory with 15 updates (#75290)
add b3df7d847e8 [v3-4-test] Skip inclusive-language check for non-English
UI translations (#75247) (#75249)
add da27a72a271 [v3-4-test] Fix task instance filtering for null start
dates (#75321) (#75324)
add 3e6f2d96f27 Bump the github-actions-updates group with 7 updates
(#75292)
add 99ff4e13c19 Bump the 3-4-ui-plugin-template-package-updates group
across 1 directory with 8 updates (#75283)
add 2976fe3a48e Bump the 3-4-registry-package-updates group across 1
directory with 2 updates (#75280)
add 46f3badb3df [v3-4-test] Warn about oversized task state values from
language SDK tasks (#74945) (#75299)
add 6494b4e2802 [v3-4-test] Show errors when the task clear confirmation
check fails (#75269) (#75331)
add 824fef04e72 [v3-4-test] Add missing Taiwanese Mandarin UI translations
(#75278)
add 832602523ea [v3-4-test] Enforce execution_timeout for tasks run by a
language SDK (#74869) (#75376)
add 02c43a1dd58 [v3-4-test] Fix duplicate pending Dag runs for the same
asset partition key (#71074) (#75382)
add 9cd18837534 [v3-4-test] Make Java SDK context signal-aware (#74690)
(#75386)
add d2e3c4efe38 [v3-4-test] UI: Render Arabic durations with the correct
plural form (#72604) (#75323)
add dc0c47de6bd [v3-4-test] Go SDK: Write the edge label text before the
task (#75185) (#75365)
add 906677b700e [v3-4-test] Add missing Taiwanese Mandarin translations
for Dag start/end date trigger messages (#75371) (#75372)
add 40cc196f740 [v3-4-test] Go SDK: Rewrite the user docs around Dag
definition (#74698) (#75383)
add a78538543b8 [v3-4-test] TS SDK: Bump to 1.0.0-beta1 and align README
with the guide (#74693)
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 (833b6e31d26)
\
N -- N -- N refs/heads/backport-f3cf550-v3-4-test (a78538543b8)
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:
.github/workflows/airflow-e2e-tests.yml | 2 +-
.github/workflows/asf-allowlist-check.yml | 2 +-
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/ci-amd.yml | 2 +-
.github/workflows/ci-arm.yml | 2 +-
.github/workflows/ci-image-build.yml | 8 +-
.github/workflows/ci-image-checks.yml | 2 +-
.github/workflows/codeql-analysis.yml | 8 +-
.../java-sdk-dependabot-verification-metadata.yml | 2 +-
.github/workflows/java-sdk-dependency-security.yml | 2 +-
.github/workflows/java-sdk-release-verify.yml | 4 +-
.github/workflows/k8s-tests.yml | 2 +-
.github/workflows/prod-image-build.yml | 2 +-
.github/workflows/publish-docs-to-s3.yml | 2 +-
.../scheduled-legacy-prod-image-canary.yml | 2 +-
.github/workflows/upgrade-check.yml | 1 +
.pre-commit-config.yaml | 2 +-
Dockerfile | 4 +-
Dockerfile.ci | 4 +-
.../docs/administration-and-deployment/plugins.rst | 1 +
.../authoring-and-scheduling/language-sdks/go.rst | 997 ++++++++++++---------
.../language-sdks/java.rst | 47 +
.../docs/authoring-and-scheduling/loops.rst | 53 +-
airflow-core/docs/core-concepts/tasks.rst | 8 +-
airflow-core/docs/migrations-ref.rst | 5 +-
airflow-core/newsfragments/74896.bugfix.rst | 1 +
.../auth/managers/simple/ui/package.json | 30 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 938 +++++++++----------
.../airflow/api_fastapi/common/parameters/range.py | 39 +-
.../src/airflow/api_fastapi/core_api/app.py | 24 +-
.../api_fastapi/core_api/datamodels/pools.py | 6 +-
.../core_api/datamodels/task_instances.py | 2 +-
.../api_fastapi/core_api/datamodels/variables.py | 7 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 74 ++
.../core_api/openapi/v2-rest-api-generated.yaml | 12 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 9 +-
.../api_fastapi/core_api/routes/public/pools.py | 4 +-
.../core_api/routes/public/task_instances.py | 19 +-
.../api_fastapi/core_api/routes/ui/gantt.py | 24 +-
.../api_fastapi/core_api/services/ui/grid.py | 4 +-
.../execution_api/datamodels/taskinstance.py | 54 +-
.../execution_api/routes/task_instances.py | 32 +-
.../execution_api/services/task_instances.py | 32 +-
.../api_fastapi/execution_api/versions/__init__.py | 4 +
.../execution_api/versions/v2026_10_30.py | 30 +-
airflow-core/src/airflow/assets/manager.py | 281 +++---
.../src/airflow/example_dags/example_task_loops.py | 10 +-
.../src/airflow/jobs/scheduler_job_runner.py | 60 +-
...0148_3_4_0_add_pending_partition_key_to_apdr.py | 84 ++
airflow-core/src/airflow/models/asset.py | 33 +-
airflow-core/src/airflow/models/dag_version.py | 22 +-
airflow-core/src/airflow/models/dagrun.py | 5 +-
airflow-core/src/airflow/models/dynamic_region.py | 22 +-
airflow-core/src/airflow/models/serialized_dag.py | 6 +-
.../src/airflow/models/task_coordinates.py | 83 +-
airflow-core/src/airflow/models/taskinstance.py | 5 +
airflow-core/src/airflow/models/trigger.py | 21 +-
.../airflow/serialization/serialized_objects.py | 9 +-
airflow-core/src/airflow/ui/dev/index.html | 3 +
airflow-core/src/airflow/ui/index.html | 3 +
.../src/airflow/ui/openapi-gen/queries/common.ts | 12 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 22 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 22 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 22 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 22 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 6 +-
.../ui/openapi-gen/requests/services.gen.ts | 20 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 13 +-
.../ui/public/i18n/locales/zh-TW/admin.json | 2 +
.../ui/public/i18n/locales/zh-TW/common.json | 11 +
.../ui/public/i18n/locales/zh-TW/components.json | 8 +
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 43 +-
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 1 +
.../ClearTaskInstanceConfirmationDialog.test.tsx | 185 ++++
.../ClearTaskInstanceConfirmationDialog.tsx | 20 +-
.../TaskInstance/ClearTaskInstanceDialog.test.tsx | 137 ++-
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 9 +-
.../airflow/ui/src/i18n/dayjsArabicPlurals.test.ts | 126 +++
.../src/airflow/ui/src/i18n/dayjsArabicPlurals.ts | 82 ++
.../src/airflow/ui/src/i18n/dayjsLocale.test.ts | 5 +-
.../src/airflow/ui/src/i18n/dayjsLocale.ts | 4 +
.../ui/src/layouts/Details/Gantt/Gantt.test.tsx | 133 +++
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 9 +-
.../layouts/Details/Gantt/GanttTimeline.test.tsx | 2 +-
.../ui/src/layouts/Details/GridFilters.test.tsx | 79 ++
.../airflow/ui/src/layouts/Details/GridFilters.tsx | 24 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 2 +-
.../ui/src/pages/DagsList/DagsList.test.tsx | 80 +-
.../ui/src/queries/useLoopFilterOptions.test.ts | 10 +-
airflow-core/src/airflow/utils/db.py | 2 +-
.../src/airflow/utils/log/task_log_address.py | 10 +-
.../unit/api_fastapi/common/test_parameters.py | 19 +
.../core_api/routes/public/test_dag_run.py | 21 +-
.../core_api/routes/public/test_event_logs.py | 8 +-
.../core_api/routes/public/test_execution.py | 4 +-
.../core_api/routes/public/test_extra_links.py | 2 +-
.../core_api/routes/public/test_pools.py | 48 +
.../core_api/routes/public/test_task_instances.py | 168 ++--
.../core_api/routes/public/test_variables.py | 44 +-
.../api_fastapi/core_api/routes/ui/test_gantt.py | 123 ++-
.../api_fastapi/core_api/routes/ui/test_grid.py | 58 +-
.../tests/unit/api_fastapi/core_api/test_app.py | 68 +-
.../versions/head/test_task_instances.py | 148 ++-
.../execution_api/versions/head/test_xcoms.py | 107 ++-
.../versions/v2026_10_30/test_task_instances.py | 34 +
airflow-core/tests/unit/assets/test_manager.py | 283 +++++-
.../tests/unit/dag_processing/test_processor.py | 2 +-
.../tests/unit/executors/test_workloads.py | 2 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 92 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 2 +-
.../test_0148_add_pending_partition_key_to_apdr.py | 187 ++++
airflow-core/tests/unit/models/conftest.py | 7 +-
airflow-core/tests/unit/models/test_cleartasks.py | 42 +-
airflow-core/tests/unit/models/test_dag_version.py | 8 +-
airflow-core/tests/unit/models/test_dagrun.py | 107 ++-
.../tests/unit/models/test_dynamic_region.py | 69 +-
.../tests/unit/models/test_task_coordinates.py | 82 ++
.../tests/unit/models/test_taskinstance.py | 21 +-
airflow-core/tests/unit/models/test_trigger.py | 63 +-
.../unit/serialization/test_dag_serialization.py | 18 +
.../unit/ti_deps/deps/test_trigger_rule_dep.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 8 +-
.../org/apache/airflow/e2e/TestBundleBuilder.java | 33 +-
.../src/resources/dags/java_test_dags.py | 12 +
airflow-e2e-tests/pyproject.toml | 2 +-
.../airflow_e2e_tests/e2e_test_utils/clients.py | 8 +
.../java_sdk_tests/test_java_sdk_dag.py | 56 ++
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/doc/images/output_ci_upgrade.svg | 92 +-
dev/breeze/doc/images/output_ci_upgrade.txt | 2 +-
dev/breeze/pyproject.toml | 11 +
.../src/airflow_breeze/commands/ci_commands.py | 11 +
.../airflow_breeze/commands/ci_commands_config.py | 1 +
.../commands/release_management_commands.py | 4 +-
dev/breeze/src/airflow_breeze/global_constants.py | 4 +-
dev/breeze/tests/test_ci_upgrade.py | 5 +
dev/breeze/uv.lock | 54 +-
.../react_plugin_template/package.json | 16 +-
.../react_plugin_template/pnpm-lock.yaml | 406 ++++-----
go-sdk/DEVELOPMENT.md | 215 +++++
go-sdk/README.md | 507 ++---------
go-sdk/adr/0008-native-dag-interface.md | 20 +-
go-sdk/airflow/conformance_test.go | 2 +-
go-sdk/airflow/dag.go | 6 +-
go-sdk/airflow/if_test.go | 2 +-
go-sdk/airflow/node.go | 240 +++--
go-sdk/airflow/node_test.go | 241 ++++-
go-sdk/airflow/serialize_test.go | 8 +-
go-sdk/airflow/task_group_test.go | 33 +-
go-sdk/example/README.md | 129 +++
go-sdk/example/native/main.go | 2 +-
go-sdk/internal/genspec/authoring.go | 2 +-
go-sdk/pkg/execution/client.go | 4 -
.../pkg/execution/genmodels/discriminators.gen.go | 8 +-
go-sdk/pkg/execution/genmodels/models.gen.go | 175 ++--
go-sdk/schema/supervisor-schema.json | 143 +--
.../main/kotlin/org/apache/airflow/sdk/Client.kt | 2 -
.../main/kotlin/org/apache/airflow/sdk/Context.kt | 50 ++
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 29 +-
.../apache/airflow/sdk/execution/Cancellation.kt | 134 +++
.../org/apache/airflow/sdk/execution/Logger.kt | 4 +
.../kotlin/org/apache/airflow/sdk/ContextTest.kt | 14 +
.../kotlin/org/apache/airflow/sdk/ServerTest.kt | 292 ++++++
.../airflow/sdk/execution/CancellationTest.kt | 205 +++++
.../apache/airflow/sdk/execution/LogSenderTest.kt | 94 ++
providers/amazon/README.rst | 4 +-
providers/amazon/docs/index.rst | 4 +-
providers/amazon/pyproject.toml | 4 +-
.../unit/common/ai/plugins/test_hitl_review.py | 16 +-
providers/hashicorp/docs/index.rst | 2 +-
providers/hashicorp/pyproject.toml | 2 +-
pyproject.toml | 17 +-
registry/package.json | 4 +-
registry/pnpm-lock.yaml | 160 ++--
scripts/ci/install_breeze.sh | 2 +-
scripts/ci/prek/upgrade_important_versions.py | 7 +-
.../ci/prek/test_upgrade_important_versions.py | 50 ++
scripts/tools/setup_breeze | 2 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 8 +-
.../src/airflow/sdk/coordinators/_subprocess.py | 35 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 9 +-
task-sdk/src/airflow/sdk/execution_time/loop.py | 25 +-
.../airflow/sdk/execution_time/schema/schema.json | 143 +--
.../sdk/execution_time/schema/versions/__init__.py | 4 +
.../execution_time/schema/versions/v2026_10_30.py | 29 +
.../src/airflow/sdk/execution_time/supervisor.py | 33 +-
.../src/airflow/sdk/execution_time/task_runner.py | 30 +-
task-sdk/src/airflow/sdk/types.py | 11 +
.../tests/task_sdk/coordinators/test_subprocess.py | 86 ++
.../execution_time/schema/test_migrator.py | 15 +
.../tests/task_sdk/execution_time/test_loop.py | 100 ++-
.../task_sdk/execution_time/test_supervisor.py | 84 +-
.../task_sdk/execution_time/test_task_runner.py | 4 +-
ts-sdk/schema/supervisor-schema.json | 143 +--
ts-sdk/src/coordinator/client.ts | 3 -
ts-sdk/src/generated/supervisor.ts | 56 +-
uv.lock | 611 +++++++------
197 files changed, 7864 insertions(+), 3249 deletions(-)
create mode 100644 airflow-core/newsfragments/74896.bugfix.rst
create mode 100644
airflow-core/src/airflow/migrations/versions/0148_3_4_0_add_pending_partition_key_to_apdr.py
create mode 100644
airflow-core/src/airflow/ui/src/components/Clear/TaskInstance/ClearTaskInstanceConfirmationDialog.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/i18n/dayjsArabicPlurals.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/i18n/dayjsArabicPlurals.ts
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/Gantt/Gantt.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/GridFilters.test.tsx
create mode 100644
airflow-core/tests/unit/migrations/test_0148_add_pending_partition_key_to_apdr.py
create mode 100644 go-sdk/DEVELOPMENT.md
create mode 100644 go-sdk/example/README.md
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/execution/Cancellation.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/CancellationTest.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/LogSenderTest.kt