This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/ui/v3-4-test/3-4-core-ui-package-updates-5962d568ad
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 5ac467cb871 Bump the 3-4-core-ui-package-updates group across 1
directory with 29 updates
add 51267833d3e [v3-4-test] Re-enable Dependabot and the scheduled upgrade
check for v3-4-test (#75276) (#75284)
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 87081ed4621 [v3-4-test] Upgrade important CI environment (#75375)
add 0873fcdab3b [v3-4-test] TS SDK: Bump to 1.0.0-beta1 and align README
with the guide (#74693) (#75300)
add 37fcddf4c1d [v3-4-test] Show source code lines in task log tracebacks
(#75100) (#75355)
add 8f1ee9b9262 [v3-4-test] Close German Translation Gaps 2026-10-19
(#75137) (#75389)
add dafddb2220e [v3-4-test] Keep the multiselect filter pill's focus ring
visible (#75307) (#75398)
add af57a7a6a73 [v3-4-test] Wait for variable form validation before
asserting Save is enabled (#75239) (#75353)
add 65a67bb411f [v3-4-test] TS SDK: Reject blank edge labels and label
task edges into groups (#75190) (#75385)
add 78b65180b16 [v3-4-test] Fix empty audit log dag_id for DAG.cli()
subcommands (#73379) (#75388)
add 63f9ab0e144 [v3-4-test] Read a team's running task logs through the
team's executor (#75255) (#75408)
add c07dc92d5dc [v3-4-test] Fix tasks clear --task-regex matching as a
plain substring (#72941) (#75325)
add 2024aace3bc [v3-4-test] Show secondary states of mapped tasks in Grid
view (#74883) (#75426)
add a9afa0d323f Let plugins add their own actions to Dag, run and task
instance rows (#75229) (#75427)
add fa6b47b160d [v3-4-test] Clean up Dag Version Tab UX (#75244) (#75318)
add 38cbd426fe4 [v3-4-test] Run full CI on release branches on a schedule
instead of every push (#75420) (#75435)
add fa07926f3bd [v3-4-test] Java SDK: Let a native Java Dag set one queue
for all its tasks (#74538) (#75402)
add 217ec2d9432 Java SDK: Rewrite the user docs around Dag definition
(#74701) (#75439)
add fa7d9c01ff9 [v3-4-test] Migrate airflow-core to `httpx2` (#74244)
(#75424)
add f4bf6e1c01a [v3-4-test] Hide assets the caller may not read from the
UI dependencies graph (#73008) (#75390)
add 8c885416574 [v3-4-test] Reveal selected Dag folders when names contain
pipes (#75196) (#75319)
add 30497ebea4e [v3-4-test] Speed up API server requests by keeping JWT
checks off the event loop (#74856) (#75409)
add 78a9bdc17c2 [v3-4-test] Run team tasks on the team executor when named
by class or path (#75362) (#75436)
add 557d6072bb2 [v3-4-test] Java SDK: register the Scala Spark example as
task handlers (#75444) (#75456)
add c6a547ea138 [v3-4-test] TypeScript SDK: take the task state store
retention in seconds (#75445) (#75460)
add 0b5c545ed30 [v3-4-test] Allow TypeScript SDK releases from core
release branches (#75447) (#75451)
add bdd847f5b5d [v3-4-test] Fix upgrade guide sections showing as separate
pages in the docs sidebar (#75468) (#75470)
add 562230169a4 Revert "Make Java SDK context signal-aware (#74690)"
(#75421) (#75462)
add de6d3193c35 [v3-4-test] Bump sphinx-airflow-theme to 0.3.15 for a more
readable docs sidebar (#75471) (#75475)
add 9d0f56657f4 [v3-4-test] Go SDK: fail a task whose return-value XCom
push fails (#75443) (#75476)
add 7ec2757290c Revert "[v3-4-test] Enforce execution_timeout for tasks
run by a language SDK (#74869)" (#75376) (#75469)
add bdf2384d0ff [v3-4-test] Show Dag version diff occurrence count on the
path (#75433) (#75441)
add c2563f04074 [v3-4-test] Fix docs pages listing their sections as
separate pages in the sidebar (#75478) (#75481)
add dc00fa69a9a [v3-4-test] Add consolidated Language SDK compatibility
matrix (#71757) (#75482)
add e2426205e2f [v3-4-test] Remove the gap above docs pages left from the
old site banner (#75485) (#75487)
add d4706f122b9 [v3-4-test] Bump sphinx-airflow-theme to 0.3.16 to align
the docs' On this page list (#75491) (#75495)
add 81cc1caf39e [v3-4-test] Add missing zh-TW translations for Dag version
path tooltips (#75450) (#75484)
add 9e16507b5a3 [v3-4-test] Keep the token cookie set by a route in
JWTRefreshMiddleware (#75217) (#75454)
add 57e21d22ecf [v3-4-test] Limit the CLI reference's page contents to
top-level commands (#75483) (#75501)
add b4deae42bf2 Bump the 3-4-core-ui-package-updates group across 1
directory with 29 updates
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 (5ac467cb871)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/v3-4-test/3-4-core-ui-package-updates-5962d568ad
(b4deae42bf2)
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-java-sdk/SKILL.md | 9 +-
.github/dependabot.yml | 21 -
.github/workflows/airflow-e2e-tests.yml | 2 +-
.github/workflows/asf-allowlist-check.yml | 2 +-
.github/workflows/basic-tests.yml | 37 +-
.github/workflows/ci-amd.yml | 124 +-
.github/workflows/ci-arm.yml | 128 +-
.github/workflows/ci-image-build.yml | 8 +-
.github/workflows/ci-image-checks.yml | 25 +-
.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 | 6 +-
.github/workflows/k8s-tests.yml | 2 +-
.github/workflows/prod-image-build.yml | 2 +-
.github/workflows/publish-docs-to-s3.yml | 2 +-
.github/workflows/refresh-image-registry-cache.yml | 11 +-
.github/workflows/release-branch-ci.yml | 161 ++
.../scheduled-legacy-prod-image-canary.yml | 2 +-
.../scheduled-upgrade-check-v3-4-test.yml | 9 +-
.github/workflows/ts-sdk-release.yml | 14 +-
.github/workflows/upgrade-check.yml | 1 +
.pre-commit-config.yaml | 31 +-
Dockerfile | 4 +-
Dockerfile.ci | 4 +-
.../dagfile-processing.rst | 12 +-
.../logging-monitoring/metrics.rst | 2 +-
.../docs/administration-and-deployment/plugins.rst | 50 +
.../authoring-and-scheduling/language-sdks/go.rst | 998 ++++++-----
.../language-sdks/index.rst | 251 +++
.../language-sdks/java.rst | 1729 ++++++++------------
.../language-sdks/typescript.rst | 138 +-
.../docs/authoring-and-scheduling/loops.rst | 53 +-
airflow-core/docs/cli-and-env-variables-ref.rst | 3 +
airflow-core/docs/core-concepts/debug.rst | 2 +-
.../docs/howto/create-custom-decorator.rst | 2 +-
airflow-core/docs/howto/custom-action-plugin.rst | 348 ++++
airflow-core/docs/howto/custom-view-plugin.rst | 22 +-
airflow-core/docs/howto/customize-ui.rst | 12 +-
airflow-core/docs/howto/index.rst | 1 +
airflow-core/docs/howto/notifications.rst | 2 +-
airflow-core/docs/howto/set-config.rst | 2 +-
.../docs/installation/upgrading_to_airflow3.rst | 6 +-
airflow-core/docs/migrations-ref.rst | 5 +-
airflow-core/newsfragments/74896.bugfix.rst | 1 +
airflow-core/pyproject.toml | 9 +-
.../src/airflow/api/client/local_client.py | 6 +-
.../api_fastapi/auth/managers/base_auth_manager.py | 4 +-
.../auth/managers/simple/ui/package.json | 30 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 938 +++++------
.../api_fastapi/auth/middlewares/refresh_token.py | 169 +-
.../src/airflow/api_fastapi/auth/tokens.py | 4 +-
.../airflow/api_fastapi/common/parameters/range.py | 39 +-
.../src/airflow/api_fastapi/core_api/app.py | 30 +-
.../api_fastapi/core_api/datamodels/plugins.py | 58 +-
.../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 | 111 +-
.../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/dependencies.py | 20 +-
.../api_fastapi/core_api/routes/ui/gantt.py | 24 +-
.../core_api/services/ui/dependencies.py | 74 +-
.../api_fastapi/core_api/services/ui/grid.py | 4 +-
.../execution_api/datamodels/taskinstance.py | 47 +-
.../api_fastapi/execution_api/in_process.py | 1 -
.../execution_api/routes/task_instances.py | 21 +-
.../api_fastapi/execution_api/versions/__init__.py | 2 +
.../execution_api/versions/v2026_10_30.py | 16 +-
airflow-core/src/airflow/assets/manager.py | 281 ++--
.../src/airflow/cli/commands/task_command.py | 12 +-
.../airflow/example_dags/example_dag_decorator.py | 4 +-
.../src/airflow/example_dags/example_task_loops.py | 10 +-
.../src/airflow/executors/executor_loader.py | 36 +
.../src/airflow/jobs/scheduler_job_runner.py | 108 +-
...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-core/src/airflow/plugins_manager.py | 109 +-
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 | 148 +-
.../ui/openapi-gen/requests/services.gen.ts | 20 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 49 +-
airflow-core/src/airflow/ui/package.json | 12 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 100 +-
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 1 -
.../airflow/ui/public/i18n/locales/de/admin.json | 2 +
.../airflow/ui/public/i18n/locales/de/common.json | 4 +
.../src/airflow/ui/public/i18n/locales/de/dag.json | 25 +-
.../airflow/ui/public/i18n/locales/de/dags.json | 1 +
.../src/airflow/ui/public/i18n/locales/el/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/en/dag.json | 5 +-
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/he/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/hi/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 1 -
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 1 -
.../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 | 48 +-
.../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 +-
.../FilterBar/filters/MultiSelectPill.tsx | 9 +-
.../ui/src/components/JsonPreviewBadges.tsx | 42 +-
.../PluginActions/PluginActionBoundary.tsx | 63 +
.../components/PluginActions/PluginActionIcon.tsx | 36 +-
.../PluginActions/PluginActions.test.tsx | 431 +++++
.../src/components/PluginActions/PluginActions.tsx | 90 +
.../PluginActions/PluginActionsContext.tsx | 45 +
.../components/PluginActions/PluginLinkAction.tsx | 96 ++
.../components/PluginActions/PluginReactAction.tsx | 98 ++
.../{Breadcrumb => PluginActions}/index.ts | 7 +-
.../PluginActions/pluginActionContext.test.ts | 138 ++
.../PluginActions/pluginActionContext.ts | 97 ++
.../ui/src/components/PluginActions/types.ts | 82 +
.../ui/src/components/RenderedJsonField.test.tsx | 19 +
.../ui/src/components/RenderedJsonField.tsx | 36 +-
.../ui/src/components/renderStructuredLog.test.tsx | 30 +
.../ui/src/components/renderStructuredLog.tsx | 10 +-
.../airflow/ui/src/hooks/usePluginActions.test.ts | 142 ++
.../src/airflow/ui/src/hooks/usePluginActions.ts | 50 +
.../src/airflow/ui/src/hooks/usePluginTabs.tsx | 13 +-
.../airflow/ui/src/hooks/useScopedPluginViews.ts | 14 +-
.../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/Grid/GridTI.test.tsx | 92 +-
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 46 +-
.../ui/src/layouts/Details/Grid/constants.ts | 2 +-
.../ui/src/layouts/Details/GridFilters.test.tsx | 79 +
.../airflow/ui/src/layouts/Details/GridFilters.tsx | 24 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 2 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 8 +
.../Versions/DiffUnavailableAlert.tsx} | 43 +-
.../ui/src/pages/Dag/Versions/DiffValue.tsx | 60 +
.../pages/Dag/Versions/MaxChangesField.test.tsx | 71 +
.../ui/src/pages/Dag/Versions/MaxChangesField.tsx | 119 ++
.../Dag/Versions/MonoText.tsx} | 24 +-
.../airflow/ui/src/pages/Dag/Versions/PathText.tsx | 78 +
.../pages/Dag/Versions/SelectedVersionsDiff.tsx | 81 +
.../ui/src/pages/Dag/Versions/VersionDiff.test.tsx | 96 +-
.../ui/src/pages/Dag/Versions/VersionDiff.tsx | 131 +-
.../airflow/ui/src/pages/Dag/Versions/Versions.tsx | 98 +-
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 58 +-
.../ui/src/pages/DagsList/DagCardActions.tsx | 2 +
.../DagsList/DagFolderTree/DagFolderTree.test.tsx | 29 +
.../pages/DagsList/DagFolderTree/DagFolderTree.tsx | 2 +-
.../ui/src/pages/DagsList/DagsList.test.tsx | 80 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 185 ++-
.../ui/src/pages/DagsList/DagsListColumns.tsx | 9 +-
airflow-core/src/airflow/ui/src/pages/Iframe.tsx | 28 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 8 +
.../ui/src/pages/TaskInstance/ExtraLinks.tsx | 14 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 8 +
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 36 +-
.../Variables/ManageVariable/VariableForm.test.tsx | 7 +-
.../ui/src/queries/useLoopFilterOptions.test.ts | 10 +-
.../src/airflow/ui/src/utils/links.test.ts | 218 ++-
airflow-core/src/airflow/ui/src/utils/links.ts | 168 +-
.../airflow/ui/src/utils/pluginAppliesTo.test.ts | 41 +
.../src/airflow/ui/src/utils/pluginAppliesTo.ts | 54 +-
.../src/airflow/ui/src/utils/pluginIcon.test.ts | 59 +
.../DurationCell.tsx => utils/pluginIcon.ts} | 25 +-
.../airflow/ui/src/utils/pluginTemplate.test.ts | 72 +
.../src/airflow/ui/src/utils/pluginTemplate.ts | 54 +
airflow-core/src/airflow/utils/db.py | 2 +-
.../src/airflow/utils/log/file_task_handler.py | 17 +-
.../src/airflow/utils/log/task_log_address.py | 10 +-
.../auth/managers/test_base_auth_manager.py | 28 +
.../auth/middlewares/test_refresh_token.py | 438 ++---
.../tests/unit/api_fastapi/auth/test_tokens.py | 10 +-
.../unit/api_fastapi/common/test_parameters.py | 19 +
.../core_api/routes/public/test_dag_run.py | 21 +-
.../core_api/routes/public/test_dag_sources.py | 2 +-
.../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_plugins.py | 64 +
.../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 +-
.../core_api/routes/ui/test_dependencies.py | 189 ++-
.../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 +-
.../execution_api/versions/head/test_hitl.py | 11 +-
.../versions/head/test_task_instances.py | 101 +-
.../execution_api/versions/head/test_xcoms.py | 107 +-
airflow-core/tests/unit/api_fastapi/test_app.py | 10 +
airflow-core/tests/unit/assets/test_manager.py | 283 +++-
.../unit/cli/commands/test_plugins_command.py | 33 +
.../tests/unit/cli/commands/test_task_command.py | 23 +
.../tests/unit/executors/test_executor_loader.py | 48 +-
.../tests/unit/executors/test_workloads.py | 2 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 177 +-
.../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 +-
.../tests/unit/plugins/test_plugins_manager.py | 317 ++++
.../unit/ti_deps/deps/test_trigger_rule_dep.py | 2 +-
airflow-core/tests/unit/utils/test_cli_util.py | 16 +
airflow-core/tests/unit/utils/test_log_handlers.py | 30 +
airflow-ctl/docs/cli-and-env-variables-ref.rst | 3 +
.../src/airflowctl/api/datamodels/generated.py | 63 +-
.../apache/airflow/e2e/NativeBundleBuilder.java | 36 +-
.../airflow/e2e/nativedag/AnnotationDag.java | 25 +-
.../apache/airflow/e2e/nativedag/DynamicDags.java | 5 +-
.../apache/airflow/e2e/nativedag/TargetDag.java | 5 +-
airflow-e2e-tests/pyproject.toml | 2 +-
.../java_sdk_tests/test_java_sdk_native_dag.py | 17 +-
contributing-docs/30_new_language_sdk.rst | 171 +-
dev/README_AIRFLOW3_DEV.md | 9 +-
dev/README_RELEASE_AIRFLOW.md | 59 +-
dev/README_RELEASE_AIRFLOWCTL.md | 12 +-
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/doc/ci/04_selective_checks.md | 49 +-
dev/breeze/doc/ci/05_workflows.md | 66 +-
.../doc/images/output_ci_selective-check.svg | 54 +-
.../doc/images/output_ci_selective-check.txt | 2 +-
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 | 71 +-
.../airflow_breeze/commands/ci_commands_config.py | 3 +
.../airflow_breeze/commands/kubernetes_commands.py | 2 +-
.../commands/release_management_commands.py | 4 +-
dev/breeze/src/airflow_breeze/global_constants.py | 4 +-
.../src/airflow_breeze/utils/selective_checks.py | 19 +-
dev/breeze/tests/test_ci_commands.py | 114 ++
dev/breeze/tests/test_ci_upgrade.py | 5 +
dev/breeze/tests/test_pr_info.py | 2 +-
dev/breeze/tests/test_selective_checks.py | 33 +
dev/breeze/uv.lock | 72 +-
.../react_plugin_template/package.json | 16 +-
.../react_plugin_template/pnpm-lock.yaml | 406 ++---
devel-common/pyproject.toml | 2 +-
devel-common/sphinx_design/static/custom.css | 12 +-
docs/spelling_wordlist.txt | 3 +
go-sdk/DEVELOPMENT.md | 215 +++
go-sdk/README.md | 603 ++-----
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/capabilities.yaml | 153 +-
go-sdk/example/README.md | 129 ++
go-sdk/example/native/main.go | 2 +-
go-sdk/internal/bundle/task.go | 58 +-
go-sdk/internal/bundle/task_test.go | 116 +-
go-sdk/internal/genspec/authoring.go | 2 +-
go-sdk/pkg/execution/client.go | 4 -
go-sdk/pkg/execution/genmodels/models.gen.go | 16 +
go-sdk/schema/supervisor-schema.json | 97 +-
java-sdk/{README.md => DEVELOPMENT.md} | 139 +-
java-sdk/README.md | 870 ++--------
java-sdk/capabilities.yaml | 153 +-
java-sdk/example/README.md | 107 ++
.../example/nativedag/AnnotationExample.java | 1 +
.../example/nativedag/InterfaceExample.java | 1 +
.../airflow/example/nativedag/TargetExample.java | 1 +
.../org/apache/airflow/sdk/AirflowProcessor.kt | 6 +-
.../org/apache/airflow/sdk/AirflowProcessorTest.kt | 53 +-
.../apache/airflow/example/ScalaSparkExample.scala | 33 +-
java-sdk/scripts/ci/verify-source-release.sh | 2 +-
java-sdk/sdk/build.gradle.kts | 28 +-
java-sdk/sdk/module.md | 177 +-
.../main/kotlin/org/apache/airflow/sdk/Client.kt | 2 -
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 17 +-
.../kotlin/org/apache/airflow/sdk/TriggerDagRun.kt | 1 +
.../org/apache/airflow/sdk/execution/Serde.kt | 10 +-
.../org/apache/airflow/sdk/internal/Fields.kt | 22 +-
.../kotlin/org/apache/airflow/sdk/DagDefTest.kt | 28 +
.../org/apache/airflow/sdk/execution/SerdeTest.kt | 64 +
kubernetes-tests/lang_sdk/ts_example/package.json | 2 +-
.../test_kubernetes_pod_operator.py | 2 +-
providers/amazon/README.rst | 4 +-
providers/amazon/docs/index.rst | 4 +-
providers/amazon/pyproject.toml | 4 +-
.../cncf/kubernetes/utils/xcom_sidecar.py | 2 +-
.../system/cncf/kubernetes/example_kubernetes.py | 2 +-
.../cncf/kubernetes/example_kubernetes_async.py | 2 +-
.../unit/cncf/kubernetes/operators/test_pod.py | 6 +-
.../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/check_ci_workflows_in_sync.py | 27 +-
scripts/ci/prek/lang_sdk_compat_matrix.py | 326 ++--
scripts/ci/prek/sync_java_sdk_docs.py | 148 ++
scripts/ci/prek/update_go_sdk_readme_matrix.py | 6 +-
scripts/ci/prek/update_java_sdk_readme_matrix.py | 6 +-
scripts/ci/prek/update_lang_sdk_central_matrix.py | 152 ++
scripts/ci/prek/update_ts_sdk_readme_matrix.py | 6 +-
scripts/ci/prek/upgrade_important_versions.py | 7 +-
scripts/tests/ci/prek/conftest.py | 55 +
.../tests/ci/prek/test_lang_sdk_compat_matrix.py | 330 ++--
scripts/tests/ci/prek/test_sync_java_sdk_docs.py | 119 ++
.../ci/prek/test_update_go_sdk_readme_matrix.py | 25 +-
.../ci/prek/test_update_java_sdk_readme_matrix.py | 27 +-
.../ci/prek/test_update_lang_sdk_central_matrix.py | 148 ++
.../ci/prek/test_update_ts_sdk_readme_matrix.py | 27 +-
.../ci/prek/test_upgrade_important_versions.py | 50 +
scripts/tools/setup_breeze | 2 +-
.../src/airflow_shared/logging/structlog.py | 15 +-
shared/logging/tests/logging/test_structlog.py | 1 +
.../observability/metrics/metrics_registry.py | 6 +-
.../src/airflow_shared/plugins_manager/__init__.py | 2 +
.../plugins_manager/plugins_manager.py | 31 +
task-sdk/docs/ts-bundle-spec.rst | 2 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 7 +-
.../src/airflow/sdk/coordinators/_subprocess.py | 18 +
task-sdk/src/airflow/sdk/definitions/dag.py | 3 +
task-sdk/src/airflow/sdk/execution_time/loop.py | 25 +-
.../airflow/sdk/execution_time/schema/schema.json | 97 +-
.../sdk/execution_time/schema/versions/__init__.py | 2 +
.../execution_time/schema/versions/v2026_10_30.py | 14 +
.../src/airflow/sdk/execution_time/task_runner.py | 26 +-
task-sdk/src/airflow/sdk/types.py | 11 +
.../tests/task_sdk/coordinators/test_subprocess.py | 44 +
.../execution_time/schema/test_migrator.py | 5 +
.../tests/task_sdk/execution_time/test_loop.py | 100 +-
ts-sdk/DEVELOPMENT.md | 19 +-
ts-sdk/README.md | 364 ++---
ts-sdk/api-docs/dag-authoring-api.ts | 2 +-
ts-sdk/capabilities.yaml | 172 +-
ts-sdk/docs/index.md | 43 +-
ts-sdk/docs/package-lock.json | 4 +-
ts-sdk/docs/package.json | 2 +-
ts-sdk/docs/tests/deployment-checks.test.mjs | 4 +-
ts-sdk/example/README.md | 80 +-
ts-sdk/example/package.json | 2 +-
ts-sdk/example/src/main.ts | 2 +-
ts-sdk/package.json | 2 +-
ts-sdk/schema/supervisor-schema.json | 97 +-
.../ci/prek/check_serialization_conformance.py | 2 +-
ts-sdk/src/coordinator/client.ts | 35 +-
ts-sdk/src/coordinator/operator-runner.ts | 4 +-
ts-sdk/src/coordinator/serde.ts | 36 +-
ts-sdk/src/generated/supervisor.ts | 14 +-
ts-sdk/src/hitl/operator.ts | 2 +-
ts-sdk/src/index.ts | 2 +-
ts-sdk/src/sdk/client-types.ts | 10 +-
ts-sdk/src/sdk/client.ts | 6 +-
ts-sdk/src/sdk/dag-graph.ts | 19 +-
ts-sdk/src/sdk/dag.ts | 209 ++-
ts-sdk/src/sdk/operator.ts | 8 +-
ts-sdk/tests/conformance/serialize_typescript.ts | 7 +-
ts-sdk/tests/coordinator/client.test.ts | 28 +-
ts-sdk/tests/coordinator/operator-runner.test.ts | 8 +-
ts-sdk/tests/coordinator/serde.test.ts | 220 ++-
ts-sdk/tests/public-api.test.ts | 12 +-
ts-sdk/tests/sdk/branching.test.ts | 8 +-
ts-sdk/tests/sdk/conditional.test.ts | 10 +-
ts-sdk/tests/sdk/dag.test.ts | 133 +-
uv.lock | 899 +++++-----
391 files changed, 17281 insertions(+), 7326 deletions(-)
create mode 100644 .github/workflows/release-branch-ci.yml
create mode 100644 airflow-core/docs/howto/custom-action-plugin.rst
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/components/PluginActions/PluginActionBoundary.tsx
copy dev/react-plugin-tools/react_plugin_template/src/pages/HomePage.tsx =>
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActionIcon.tsx
(54%)
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActions.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActions.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginActionsContext.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginLinkAction.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/PluginReactAction.tsx
copy airflow-core/src/airflow/ui/src/components/{Breadcrumb =>
PluginActions}/index.ts (79%)
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/pluginActionContext.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/pluginActionContext.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/PluginActions/types.ts
create mode 100644
airflow-core/src/airflow/ui/src/hooks/usePluginActions.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/hooks/usePluginActions.ts
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
copy
airflow-core/src/airflow/ui/src/pages/{TaskStateStore/AddTaskStateStoreButton.tsx
=> Dag/Versions/DiffUnavailableAlert.tsx} (55%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/DiffValue.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/MaxChangesField.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/MaxChangesField.tsx
copy airflow-core/src/airflow/ui/src/{components/TruncatedText.tsx =>
pages/Dag/Versions/MonoText.tsx} (69%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/PathText.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Versions/SelectedVersionsDiff.tsx
create mode 100644 airflow-core/src/airflow/ui/src/utils/pluginIcon.test.ts
copy airflow-core/src/airflow/ui/src/{components/DurationCell.tsx =>
utils/pluginIcon.ts} (54%)
create mode 100644 airflow-core/src/airflow/ui/src/utils/pluginTemplate.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/pluginTemplate.ts
create mode 100644
airflow-core/tests/unit/migrations/test_0148_add_pending_partition_key_to_apdr.py
create mode 100644 dev/breeze/tests/test_ci_commands.py
create mode 100644 go-sdk/DEVELOPMENT.md
create mode 100644 go-sdk/example/README.md
copy java-sdk/{README.md => DEVELOPMENT.md} (81%)
create mode 100644 java-sdk/example/README.md
create mode 100755 scripts/ci/prek/sync_java_sdk_docs.py
create mode 100755 scripts/ci/prek/update_lang_sdk_central_matrix.py
create mode 100644 scripts/tests/ci/prek/test_sync_java_sdk_docs.py
create mode 100644 scripts/tests/ci/prek/test_update_lang_sdk_central_matrix.py