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

jason810496 pushed a change to branch jason/lang-sdk-e2e/06-ts-sdk
in repository https://gitbox.apache.org/repos/asf/airflow.git


    omit c6574595604 TS SDK: add triggerDagRun to the native Dag surface
    omit 72ec6b106fe TS SDK: add multi-way branching with dag.switch
    omit 0cfef3fddf5 TS SDK: add conditional branching with dag.if
    omit 4663a325ec2 Show each native Dag's own source in the Code tab (#74249)
    omit 7dbaafe8c52 Say tasks list runs a native TypeScript Dag's bundle
    omit 443941ac9c4 Document how a NodeCoordinator is picked for parsing 
TypeScript Dags
    omit b38787ed046 Run a native TypeScript Dag's own bundle through the 
native task branch
    omit 917caaad9e5 Let the Node Dag importer find its coordinator
    omit 38b7748b3a4 Hand out the Node Dag importer through get_dag_importer
    omit 7a78614b099 Pin the Code view to the entry module in Node bundle tests
    omit 348e95bf675 Let NodeDagImporter source read errors reach the caller
    omit 102546d73bf Import NodeDagImporter at the top of the Node coordinator
    omit 62ab930e65e Warn against defining a Dag in both TypeScript and Python
    omit b940fd7c3cc Align the TypeScript build docs with the Code view
    omit 3497a0ccd1c Say when the Dag processor needs Node.js for TypeScript 
bundles
    omit ba5b8cc06a6 Run a native TypeScript Dag's task from its own bundle
    omit 47ba6da22b4 Share the bundle section mutation helper between Node tests
    omit 4b88cfa0481 Document parsing native TypeScript Dags
    omit 9addf2f20ba Parse native TypeScript Dags with the Node coordinator
    omit cab56f42a9e Show both .airflowignore cases and syntaxes for the 
task-handler JAR
    omit d243b2bfcb0 Move a deferred secrets_masker import to the top of the 
module
    omit 705c315b7a7 Autospec the bundles this test class mocks
    omit 87236e5c5e6 Assert execute_task never asks for the parsing coordinator
    omit bce7efc0478 Say the native Java ignore bullet applies with one 
coordinator too
    omit 8ecee9ec935 Let the first executable JAR's Main-Class win, not the 
last one found
    omit 9f08bce28d2 Keep a JAR whose manifest cannot be read, not only for 
OSError and BadZipFile
    omit 37759fb9c26 Put the JAR a Dag was parsed from first on its classpath
    omit 3b6a9d0d48b Say a JRE parses native Java Dags, and keep main's bundle 
test mocks
    omit 7a243c19d33 Say tasks list runs a native Java Dag's main class
    omit b5f144dc0ad Fail a native task cleanly when its file or coordinator 
class cannot load
    omit 03ac85138ab Run a native Dag's task from its own Dag file
    omit d1ffa7d818d Fail a task cleanly when its runtime cannot be launched
    omit e63ffc3be9e Let the Java Dag importer find its coordinator
    omit 3cd507c37b9 Read Java Dag sources from the bundle's sources.json index
    omit f950fb8b502 Hand out the Java Dag importer through get_dag_importer
    omit 2f3c1b7271c Keep the Java parse_dag test from changing the pytest 
worker
    omit cb7ff0320fb Stop promising that Java dependency JARs are not parsed
    omit 1e5f033d9fc Reject a Java Dag JAR whose SDK cannot answer a parse
    omit e6933d81c5b Run the JAR a native Java Dag was parsed from
    omit 4c9eaf9b573 Report why a Java Dag JAR cannot be read
    omit 801e5a1f843 Pass the task's Dag file to the coordinator's command 
builder
    omit 45761df8bb7 Run a task on its run's version when dag_bundle_name names 
its bundle
    omit a28bdee1c03 Document native Java Dag parsing
    omit 1e85316e871 Name the JAR manifest attributes the Java coordinator reads
    omit bb23794a6af Test the Java Dag source placeholder for a JAR without a 
manifest
    omit f6b87a7cae4 Treat an unreadable JAR like one without a manifest
    omit c1a0bd225e1 Parse native Java Dags with their coordinator
    omit 1f361c2bcbc Build the JVM command that parses a Dag JAR
    omit 9c6cd0e3396 Read JAR manifests per the JAR specification
     add e08216d0081 Go SDK: delete the XComs of earlier tries before a task 
runs (#74178)
     add ae082ab651f Go SDK: add dag.TaskGroup with nesting and group-level 
edges (#74214)
     add fa65343163d Remove FAB-related exclusion in SQLA tests (#74180)
     add dbee3c6c11b Fix concurrent SFTP directory transfers dropping parent 
hook's connection overrides (#73647)
     add b79acc8a8d6 Fix google provider BQ openlineage checks (#71777)
     add d6ab1aad3c6 Register TypeScript, Java and Go grammars for the Dag Code 
tab (#74231)
     add 747f69b1a8c Warn when db clean skips only some rows of a batch (#73568)
     add 9b2cc1352c3 Handle plain Step Functions execution errors (#73881)
     add d339bb2767a Fix Dataproc triggers swallowing task cancellation (#74192)
     add e0e3454998f Add v3-4-test to CI, dependabot, backport, and fork-sync 
configuration (#74219)
     add 98e753847a3 Distinguish credential failures from AWS waiter exhaustion 
(#73870)
     add 71f98d3ac00 UI: Group digits of counters according to the selected 
locale (#73713)
     add 2d734dc9842 UI: Deflake backfill e2e tests on WebKit (#74200)
     add 20f90a6e105 UI: Keep Dags list table rows on a single line (#74002)
     add dafa0555a0e Bump stylelint (#74252)
     add 08fae625769 Add datafusion handler for google cleanup script (#74234)
     add 11bf87404c2 Restrict the second render pass in 
SqlToSlackWebhookOperator (#71402)
     add a048842a72a Fix google provider system tests dag version increase 
issues (#72194)
     add 48f6b517397 Require moto 5.2.2 or newer for the Amazon provider tests 
(#74224)
     add eb89b4092b9 Fix SSH commands failing when the task holds over 1024 
file descriptors (#74211)
     add 86aef85e35c Keep S3 Dag bundle downloads within the configured 
directory (#73756)
     add 1ab53cd8e38 Keep the Dag asset schedule the same shape for every 
caller (#73805)
     add fbdec9503c7 Support Table objects in BigQueryHook.create_table 
table_resource (#73099)
     add 67853607ab2 Add async Variable methods (aget, aset, adelete, akeys) 
(#72329)
     add 353d856281c Stop Kafka hook tests from leaving live clients behind 
(#74285)
     add b2786de47b7 Close German Translation Gaps 2026-10-05 (#74264)
     add 2b33f02539a UI: Open provider connection fields by default and title 
them by connection type (#74273)
     add d4a47caaf09 Notify downstream Dags when COPY INTO writes a Unity 
(Databricks) table (#74191)
     add 51184d53a52 Clarify Dag processor scoping and team config in 
Multi-Team docs (#73958)
     add c9abbdbdb87 Bump the auth-ui-package-updates group across 1 directory 
with 5 updates (#74254)
     add 2793a170be5 Fix connection screenshots missing from the msgraph and 
IBM MQ docs (#74287)
     add f5774789ea0 Pr/split storage tab (#73989)
     add 3a7e6031c6f corrected label for filter (#74189)
     add 758ebbd35f4 Document decision models served over the System One API in 
common.ai (#74266)
     add 37df9a5a4ac Wait for the Lang-SDK runtime's descriptors to settle 
before checking them (#74288)
     add fd7ac131553 Clarify how the providers vote result lists voters (#73883)
     add ed1435c2b57 UI: Surface Dag run conf in the header (#73987)
     add 9c1bb68c41f Increase worker startup timeout in LocalExecutor process 
death test (#74292)
     add 5ec2045d474 Fix PostgresToGCSOperator fetching one row at a time with 
psycopg3 (#73324)
     add 00bc44480c7 Apply impersonation_chain to deferred BigQuery existence 
checks (#71648)
     add 69f98974344 Look up task logs by task try UUID (#74204)
     add 65596fb5ae6 Bump the eslint group across 1 directory with 5 updates 
(#73488)
     add 9081eda445e Support Pydantic structured outputs in 
`OpenAIResponseOperator` (#69812)
     add 31b774803ce Correct usage_limits=None docstring on AgentOperator and 
LLMOperator (#74307)
     add ab4da0b5636 Java SDK: Declare a Dag's task graph with @Builder.Deps 
(#71189)
     add 0bffacc8740 Update providers metadata 2026-10-05 (#74315)
     add eda8563d983 Keep polling in the BigQuery check triggers while a job is 
running (#74305)
     add af61379fc14 Include prompt cache token counts in AgentOperator's usage 
XCom (#74277)
     add 77b21f34c05 Fix Common AI durable retries and tool-approval resumes on 
pydantic-ai 2.50+ (#74313)
     add dcc9ce6246f Fix Common AI durable retries not replaying tools from a 
capability without an id (#74314)
     add e25f413ff61 Let the Modal sandbox backend read credentials from a 
modal connection (#74302)
     add ac147d07ffe Remove `code_mode` from `AgentOperator` in favor of the 
`CodeMode` capability (#74312)
     add 246e3b231c9 Add `include_traceback` to model-backed retry policies 
(#74308)
     add d18b831afc2 Show staging-only commits before resetting staging to main 
(#74116)
     add 84f5e0990a0 TS SDK: Step over an empty nested task group to the group 
holding it (#74323)
     add 342157f5aed Go SDK: run unit tests with the race detector in CI 
(#74215)
     add 4329cd68465 Pause v3-4-test automation while it is fast-forwarded for 
3.4.0 betas (#74327)
     add 8d37613cba5 Guard the Dag Code tab's Monaco grammar exports against 
drift (#74246)
     add 6038d1156dd Scope audit log rows to a Dag only from the request path 
or body (#74232)
     add 14960cf4624 Add AIP-85 to the AIP progress tracker registry (#74304)
     add 6b6b1fa2d92 Discover executable bundles by footer, not by execute bit 
(#74227)
     add 4cae02cbee1 Update French (fr) UI translations to 100% coverage 
(#74235)
     add 6e5f3136b9b Fix dateless dag.test and tasks test destroying unrelated 
Dag runs (#73813)
     add a13edb47aef Go SDK: add dag.Switch with Case for multi-way branching 
(#74321)
     add 16813192320 Show provider URI schemes in the Provider Registry (#74284)
     add 370606c1065 Fix Dags staying blocked by `max_active_runs` until the 
next parse (#73032)
     add 0609550c022 Lead the `common.ai` sandbox docs with when to use it and 
where each piece runs (#74297)
     add 87be0026872 Keep retried task attempts and their data under the 
attempt UUID (#74222)
     add a6d4ef08dc6 Apply hook_params to deferred dbt Cloud job runs (#74199)
     add 5aa12d3765f Parse native Java Dags and show their source (#74036)
     add 74698a57c68 Parse native TypeScript Dags with the Node coordinator 
(#74037)
     add 2c052c152f5 TS SDK: add conditional branching with dag.if
     add bf85f6e5a06 TS SDK: add multi-way branching with dag.switch
     add 04802469263 TS SDK: add triggerDagRun to the native Dag surface

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   (c6574595604)
            \
             N -- N -- N   refs/heads/jason/lang-sdk-e2e/06-ts-sdk (04802469263)

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:
 .apache-magpie-overrides/release-vote-tally.md     |   63 +
 .codespellignorelines                              |    1 +
 .github/boring-cyborg.yml                          |   33 +-
 .github/dependabot.yml                             |   55 +-
 .github/workflows/automatic-backport.yml           |   14 +-
 .github/workflows/ci-amd.yml                       |    5 +
 .github/workflows/ci-arm.yml                       |    5 +
 .github/workflows/ci-notification.yml              |    2 +-
 .github/workflows/milestone-tag-assistant.yml      |    1 +
 ...t.yml => scheduled-upgrade-check-v3-4-test.yml} |   17 +-
 .pre-commit-config.yaml                            |    7 +
 Dockerfile.ci                                      |    7 +-
 airflow-core/.pre-commit-config.yaml               |   10 -
 .../authoring-and-scheduling/language-sdks/go.rst  |    7 +-
 .../language-sdks/java.rst                         |   77 ++
 .../language-sdks/typescript.rst                   |    4 +
 airflow-core/docs/core-concepts/multi-team.rst     |   69 +-
 airflow-core/docs/howto/usage-cli.rst              |   10 +-
 airflow-core/docs/migrations-ref.rst               |    5 +-
 airflow-core/src/airflow/api/common/delete_dag.py  |    6 +-
 .../auth/managers/simple/ui/package.json           |   10 +-
 .../auth/managers/simple/ui/pnpm-lock.yaml         |  332 ++---
 .../src/airflow/api_fastapi/common/db/dag_runs.py  |   33 +-
 .../api_fastapi/common/db/task_instances.py        |   35 +-
 .../airflow/api_fastapi/common/parameters/sort.py  |    3 +-
 .../api_fastapi/core_api/datamodels/ui/assets.py   |    6 +
 .../api_fastapi/core_api/openapi/_private_ui.yaml  |    4 +
 .../core_api/routes/public/extra_links.py          |   42 +-
 .../api_fastapi/core_api/routes/public/hitl.py     |   61 +-
 .../api_fastapi/core_api/routes/public/log.py      |   17 +-
 .../core_api/routes/public/task_instances.py       |  117 +-
 .../api_fastapi/core_api/routes/public/xcom.py     |  166 +--
 .../api_fastapi/core_api/routes/ui/assets.py       |   18 +-
 .../airflow/api_fastapi/core_api/routes/ui/dags.py |    4 +-
 .../api_fastapi/core_api/routes/ui/gantt.py        |   23 +-
 .../src/airflow/api_fastapi/core_api/security.py   |    6 +-
 .../core_api/services/public/dag_run.py            |   22 +-
 .../core_api/services/public/task_instances.py     |   20 +-
 .../src/airflow/api_fastapi/execution_api/app.py   |   11 +-
 .../execution_api/routes/task_instances.py         |  100 +-
 .../execution_api/routes/task_state_store.py       |    2 +-
 .../api_fastapi/execution_api/routes/xcoms.py      |  140 ++-
 .../airflow/api_fastapi/execution_api/security.py  |   79 +-
 .../api_fastapi/execution_api/versions/__init__.py |    4 +-
 .../execution_api/versions/v2026_10_30.py          |    4 +-
 .../src/airflow/api_fastapi/logging/decorators.py  |   22 +-
 .../src/airflow/jobs/scheduler_job_runner.py       |   23 +-
 .../0142_3_4_0_unify_task_attempt_ownership.py     |  484 +++++++
 airflow-core/src/airflow/models/__init__.py        |    3 -
 airflow-core/src/airflow/models/asset.py           |    1 +
 airflow-core/src/airflow/models/dagrun.py          |   66 +-
 airflow-core/src/airflow/models/hitl_history.py    |   91 --
 airflow-core/src/airflow/models/log.py             |   10 +-
 airflow-core/src/airflow/models/pool.py            |    3 +-
 .../src/airflow/models/renderedtifields.py         |  306 +++--
 airflow-core/src/airflow/models/taskinstance.py    |  373 ++++--
 .../src/airflow/models/taskinstancehistory.py      |  225 ----
 airflow-core/src/airflow/models/trigger.py         |    6 +-
 airflow-core/src/airflow/models/xcom.py            |  501 ++++++--
 airflow-core/src/airflow/plugins_manager.py        |    3 +-
 airflow-core/src/airflow/providers_manager.py      |   36 +-
 .../serialization/definitions/operatorlink.py      |   23 +-
 .../airflow/serialization/definitions/xcom_arg.py  |   28 +-
 .../src/airflow/ti_deps/deps/prev_dagrun_dep.py    |    4 +
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts |    5 +
 .../airflow/ui/openapi-gen/requests/types.gen.ts   |    1 +
 airflow-core/src/airflow/ui/package.json           |   10 +-
 airflow-core/src/airflow/ui/pnpm-lock.yaml         |  490 ++++----
 .../airflow/ui/public/i18n/locales/ar/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/ar/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/ca/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/ca/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/de/admin.json   |    1 -
 .../airflow/ui/public/i18n/locales/de/common.json  |    7 +
 .../ui/public/i18n/locales/de/components.json      |   12 +
 .../src/airflow/ui/public/i18n/locales/de/dag.json |   64 +-
 .../airflow/ui/public/i18n/locales/de/dags.json    |    7 +
 .../airflow/ui/public/i18n/locales/el/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/el/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/en/admin.json   |    2 +-
 .../src/airflow/ui/public/i18n/locales/en/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/es/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/es/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/fr/admin.json   |   19 +-
 .../airflow/ui/public/i18n/locales/fr/assets.json  |   14 +-
 .../airflow/ui/public/i18n/locales/fr/browse.json  |   35 +
 .../airflow/ui/public/i18n/locales/fr/common.json  |  123 +-
 .../ui/public/i18n/locales/fr/components.json      |   32 +-
 .../src/airflow/ui/public/i18n/locales/fr/dag.json |   74 +-
 .../airflow/ui/public/i18n/locales/fr/dags.json    |   35 +
 .../ui/public/i18n/locales/fr/dashboard.json       |   18 +-
 .../airflow/ui/public/i18n/locales/he/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/he/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/hi/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/hi/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/hu/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/hu/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/it/admin.json   |    1 -
 .../airflow/ui/public/i18n/locales/ja/admin.json   |    1 -
 .../airflow/ui/public/i18n/locales/ko/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/ko/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/nl/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/nl/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/pl/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/pl/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/pt/admin.json   |    1 -
 .../airflow/ui/public/i18n/locales/ru/admin.json   |    1 -
 .../src/airflow/ui/public/i18n/locales/ru/dag.json |    1 -
 .../airflow/ui/public/i18n/locales/th/admin.json   |    1 -
 .../airflow/ui/public/i18n/locales/tr/admin.json   |    1 -
 .../ui/public/i18n/locales/zh-CN/admin.json        |    1 -
 .../airflow/ui/public/i18n/locales/zh-CN/dag.json  |    1 -
 .../ui/public/i18n/locales/zh-TW/admin.json        |    1 -
 .../airflow/ui/public/i18n/locales/zh-TW/dag.json  |    1 -
 airflow-core/src/airflow/ui/rules/i18n.js          |    8 +-
 airflow-core/src/airflow/ui/rules/rem.js           |   11 +-
 .../components/ActionAccordion/ActionAccordion.tsx |    6 +-
 .../src/airflow/ui/src/components/AnsiRenderer.tsx |    6 +-
 .../src/components/AssetExpression/AssetNode.tsx   |    7 +-
 .../ui/src/components/AssetProgressCell.tsx        |    6 +-
 .../ui/src/components/Assets/AssetEvents.tsx       |    6 +-
 .../ui/src/components/Assets/ListPopover.tsx       |   46 +-
 .../ui/src/components/Assets/TriggeredRuns.tsx     |    6 +-
 .../ClearTaskInstanceConfirmationDialog.tsx        |    4 +-
 .../Clear/TaskInstance/ClearTaskInstanceDialog.tsx |    3 +-
 .../DAGWarningsModal.test.tsx}                     |   25 +-
 .../airflow/ui/src/components/DAGWarningsModal.tsx |    4 +
 .../components/DagActions/RunBackfillForm.test.tsx |    1 +
 .../ui/src/components/DataTable/DataTable.tsx      |    4 +-
 .../airflow/ui/src/components/DateTimeInput.tsx    |    7 +-
 .../airflow/ui/src/components/DurationChart.tsx    |    2 +-
 .../ui/src/components/FilterBar/FilterBar.tsx      |    6 +-
 .../FilterBar/filters/DateRangeCalendar.tsx        |   10 +-
 .../FilterBar/filters/DateRangeInputs.tsx          |    5 +-
 .../airflow/ui/src/components/FilterBar/utils.ts   |    6 +-
 .../components/FlexibleForm/FieldMultiSelect.tsx   |    9 +-
 .../src/components/FlexibleForm/FieldSelector.tsx  |   14 +-
 .../airflow/ui/src/components/Graph/DagNode.tsx    |    2 +-
 .../ui/src/components/Graph/SegmentedStateBar.tsx  |    8 +-
 .../airflow/ui/src/components/Graph/TaskLink.tsx   |    6 +-
 .../ImportErrorCount.test.tsx}                     |   36 +-
 .../airflow/ui/src/components/ImportErrorCount.tsx |    7 +-
 .../MonacoEditor/configureMonaco.test.ts           |   44 +
 .../src/components/MonacoEditor/configureMonaco.ts |  122 +-
 .../ui/src/components/MonacoEditor/index.tsx       |   12 +-
 .../airflow/ui/src/components/NeedsReviewBadge.tsx |    6 +-
 .../src/airflow/ui/src/components/PoolBar.test.tsx |   24 +-
 .../src/airflow/ui/src/components/PoolBar.tsx      |    7 +-
 .../ui/src/components/ReactMarkdownBlocks.tsx      |   10 +-
 .../ui/src/components/RenderedJsonField.tsx        |    6 +-
 .../ui/src/components/RollupKeyChecklist.tsx       |   51 +-
 .../ui/src/components/SqlParserProvider.tsx        |    6 +-
 .../StatsCard.test.tsx}                            |   23 +-
 .../src/airflow/ui/src/components/StatsCard.tsx    |    7 +-
 .../ui/src/components/TaskInstanceTooltip.test.tsx |   30 +-
 .../ui/src/components/TaskInstanceTooltip.tsx      |    6 +-
 .../src/airflow/ui/src/components/TaskName.tsx     |    9 +-
 .../airflow/ui/src/components/TrendCountButton.tsx |   12 +-
 .../src/airflow/ui/src/constants/filterConfigs.tsx |    2 +-
 .../ui/src/hooks/navigation/useNavigation.ts       |    7 +-
 .../src/airflow/ui/src/hooks/useAdvancedSearch.ts  |    2 +-
 .../ui/src/layouts/Details/DagBreadcrumb.tsx       |    4 +-
 .../ui/src/layouts/Details/DetailsLayout.tsx       |    8 +-
 .../ui/src/layouts/Details/Gantt/GanttTimeline.tsx |   12 +-
 .../Graph/hooks/useFilteredNodesAndEdges.ts        |    5 +-
 .../layouts/Details/Graph/useGraphFilteredNodes.ts |    6 +-
 .../src/airflow/ui/src/layouts/StorageLayout.tsx   |   40 -
 .../src/airflow/ui/src/mocks/handlers/dags.ts      |    5 +-
 .../airflow/ui/src/pages/AssetsList/AssetsList.tsx |    6 +-
 .../ui/src/pages/AssetsList/DependencyPopover.tsx  |    6 +-
 .../src/pages/Connections/ConnectionForm.test.tsx  |  121 ++
 .../ui/src/pages/Connections/ConnectionForm.tsx    |   14 +-
 .../ui/src/pages/Connections/Connections.tsx       |    6 +-
 .../pages/Dag/Backfills/BackfillDagRunsModal.tsx   |   22 +-
 .../ui/src/pages/Dag/Calendar/CalendarCell.tsx     |    5 +-
 .../ui/src/pages/Dag/Calendar/CalendarTooltip.tsx  |   25 +-
 airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx  |   15 +-
 .../src/airflow/ui/src/pages/Dag/Details.tsx       |   12 +-
 .../src/airflow/ui/src/pages/Dag/Header.test.tsx   |   12 +
 .../src/airflow/ui/src/pages/Dag/Header.tsx        |    7 +-
 .../airflow/ui/src/pages/DagBundle/BundleFiles.tsx |    7 +-
 .../src/airflow/ui/src/pages/DagBundle/Header.tsx  |    5 +-
 .../src/pages/DagRuns/BulkDeleteDagRunsButton.tsx  |    5 +-
 .../src/pages/DagRuns/BulkMarkDagRunsAsButton.tsx  |    5 +-
 .../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx   |    6 +-
 .../ui/src/pages/DagsList/AssetSchedule.test.tsx   |  125 ++
 .../ui/src/pages/DagsList/AssetSchedule.tsx        |   12 +-
 .../pages/DagsList/BulkPauseDrainDagsButton.tsx    |    5 +-
 .../src/pages/DagsList/BulkUnpauseDagsButton.tsx   |    5 +-
 .../src/pages/DagsList/DagRunStateCounts.test.tsx  |   13 +-
 .../ui/src/pages/DagsList/DagRunStateCounts.tsx    |    5 +-
 .../ui/src/pages/DagsList/DagsList.test.tsx        |   34 +
 .../src/airflow/ui/src/pages/DagsList/DagsList.tsx |   45 +-
 .../DagsList/Schedule.test.tsx}                    |   47 +-
 .../src/airflow/ui/src/pages/DagsList/Schedule.tsx |    2 +-
 .../Dashboard/HistoricalMetrics/MetricSection.tsx  |    3 +-
 .../Dashboard/PoolSummary/PoolSummary.test.tsx     |    9 +-
 .../pages/Dashboard/PoolSummary/PoolSummary.tsx    |    2 +-
 .../src/pages/Dashboard/Stats/DagImportErrors.tsx  |    4 +-
 .../pages/Dashboard/Stats/DagImportErrorsModal.tsx |    3 +-
 .../pages/Dashboard/Stats/PluginImportErrors.tsx   |    4 +-
 .../ui/src/pages/Dashboard/Stats/Stats.test.tsx    |    5 +-
 .../src/airflow/ui/src/pages/Deadlines/index.tsx   |    3 +-
 .../ui/src/pages/GroupTaskInstance/Header.tsx      |    6 +-
 .../pages/HITLTaskInstances/HITLTaskInstances.tsx  |    2 +-
 .../src/airflow/ui/src/pages/LandingPage.tsx       |    6 +-
 .../ui/src/pages/MappedTaskInstance/Details.tsx    |    6 +-
 .../ui/src/pages/MappedTaskInstance/Header.tsx     |    8 +-
 .../MappedTaskInstance/MappedTaskInstance.tsx      |   10 +-
 .../src/airflow/ui/src/pages/Pools/PoolBarCard.tsx |    7 +-
 .../src/airflow/ui/src/pages/Pools/PoolForm.tsx    |   15 +-
 .../src/airflow/ui/src/pages/Run/AssetEvents.tsx   |    4 +-
 .../src/airflow/ui/src/pages/Run/Details.tsx       |   14 +-
 .../src/airflow/ui/src/pages/Run/Header.tsx        |   19 +-
 airflow-core/src/airflow/ui/src/pages/Run/Run.tsx  |    2 +-
 .../ui/src/pages/TaskInstance/AssetEvents.tsx      |    2 +-
 .../airflow/ui/src/pages/TaskInstance/Details.tsx  |   14 +-
 .../ui/src/pages/TaskInstance/HITLResponse.tsx     |    2 +-
 .../ui/src/pages/TaskInstance/Logs/logSelection.ts |   16 +-
 .../src/pages/TaskInstance/Logs/useLogGroups.tsx   |   14 +-
 .../ui/src/pages/TaskInstance/Logs/utils.ts        |   24 +-
 .../src/pages/TaskInstance/TaskInstance.test.tsx   |    3 +-
 .../ui/src/pages/TaskInstance/TaskInstance.tsx     |   23 +-
 .../BulkDeleteTaskInstancesButton.tsx              |    5 +-
 .../BulkMarkTaskInstancesAsButton.tsx              |    5 +-
 .../ui/src/pages/TaskInstances/TaskInstances.tsx   |    6 +-
 .../ui/src/pages/TaskStateStore/TaskStateStore.tsx |    2 +-
 .../pages/TaskStateStore/TaskStateStoreModal.tsx   |    5 +-
 .../airflow/ui/src/pages/Variables/Variables.tsx   |    6 +-
 .../ui/src/queries/useDagBundleRefetchInterval.ts  |    8 +-
 .../ui/src/queries/useDagRunStateCounts.tsx        |    3 +-
 .../src/airflow/ui/src/queries/useDags.tsx         |   17 +-
 .../src/airflow/ui/src/queries/useDeadlines.ts     |    2 +-
 .../src/airflow/ui/src/queries/useLogs.tsx         |    7 +-
 .../src/airflow/ui/src/queries/useParamStore.ts    |    8 +-
 .../ui/src/queries/useRefreshOnNewDagRuns.ts       |    2 +-
 airflow-core/src/airflow/ui/src/queryClient.ts     |    8 +-
 airflow-core/src/airflow/ui/src/router.tsx         |   10 +-
 .../ui/src/system-components/Pagination/Item.tsx   |    6 +-
 .../src/system-components/Pagination/PageText.tsx  |   10 +-
 .../ui/src/system-components/Select/ValueText.tsx  |   11 +-
 .../src/airflow/ui/src/utils/datetimeUtils.ts      |   65 +-
 .../context.ts => utils/formatNumber.test.ts}      |   24 +-
 .../ui/selectors.ts => src/utils/formatNumber.ts}  |   14 +-
 airflow-core/src/airflow/ui/src/utils/index.ts     |    1 +
 airflow-core/src/airflow/ui/src/utils/intlCache.ts |   48 +
 .../src/airflow/ui/src/utils/jsonPreview.ts        |   16 +-
 airflow-core/src/airflow/ui/src/utils/links.ts     |   21 +-
 airflow-core/src/airflow/ui/src/utils/logs.ts      |    8 +-
 .../src/airflow/ui/src/utils/pluginAppliesTo.ts    |   15 +-
 airflow-core/src/airflow/ui/src/utils/query.ts     |    6 +-
 airflow-core/src/airflow/ui/src/utils/tab.ts       |    6 +-
 airflow-core/src/airflow/ui/src/vite-env.d.ts      |   23 +-
 .../src/airflow/ui/tests/e2e/pages/BackfillPage.ts |   26 +-
 .../airflow/ui/tests/e2e/pages/ConnectionsPage.ts  |   26 +-
 .../src/airflow/ui/tests/e2e/pages/DagsPage.ts     |    8 +-
 .../src/airflow/ui/tests/e2e/pages/EventsPage.ts   |    6 +-
 .../airflow/ui/tests/e2e/specs/dag-tasks.spec.ts   |    8 +-
 .../src/airflow/ui/tests/e2e/utils/shared.ts       |    6 +-
 airflow-core/src/airflow/utils/db.py               |    4 +-
 airflow-core/src/airflow/utils/db_cleanup.py       |  205 ++-
 .../src/airflow/utils/log/file_task_handler.py     |   21 +-
 airflow-core/src/airflow/utils/log/log_reader.py   |    7 +-
 .../tests/unit/always/test_providers_manager.py    |   68 +-
 .../tests/unit/api/common/test_delete_dag.py       |   47 +-
 .../unit/api_fastapi/common/test_parameters.py     |   11 +
 .../core_api/routes/public/test_dag_run.py         |    1 +
 .../core_api/routes/public/test_extra_links.py     |    7 +-
 .../core_api/routes/public/test_hitl.py            |   76 +-
 .../core_api/routes/public/test_task_instances.py  |  255 ++--
 .../core_api/routes/public/test_xcom.py            |   85 +-
 .../api_fastapi/core_api/routes/ui/test_assets.py  |   34 +-
 .../api_fastapi/core_api/routes/ui/test_dags.py    |   18 +
 .../core_api/routes/ui/test_dashboard.py           |   20 +
 .../unit/api_fastapi/execution_api/test_app.py     |   18 +-
 .../api_fastapi/execution_api/test_security.py     |  352 +++++-
 .../versions/head/test_task_instances.py           |  185 +--
 .../versions/head/test_task_state_store.py         |   18 +
 .../execution_api/versions/head/test_xcoms.py      |  281 +++--
 .../versions/v2025_04_28/test_xcom.py              |   10 +-
 .../versions/v2026_10_30/test_task_instances.py    |   49 +
 .../unit/api_fastapi/logging/test_decorators.py    |   52 +
 .../unit/dag_processing/test_lang_sdk_processor.py |   20 +-
 .../tests/unit/executors/test_local_executor.py    |   15 +-
 airflow-core/tests/unit/jobs/test_scheduler_job.py |  202 ++-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |    5 +-
 .../test_0142_unify_task_attempt_ownership.py      |  691 ++++++++++
 airflow-core/tests/unit/models/test_asset.py       |   32 +
 airflow-core/tests/unit/models/test_cleartasks.py  |  269 +++-
 airflow-core/tests/unit/models/test_dag.py         |   39 +-
 airflow-core/tests/unit/models/test_dagrun.py      |  103 +-
 airflow-core/tests/unit/models/test_log.py         |   48 +
 .../tests/unit/models/test_mappedoperator.py       |  139 +-
 airflow-core/tests/unit/models/test_pool.py        |   19 +-
 .../tests/unit/models/test_renderedtifields.py     |  114 +-
 airflow-core/tests/unit/models/test_task_data.py   |  592 +++++++++
 .../tests/unit/models/test_taskinstance.py         |  527 +++++++-
 airflow-core/tests/unit/models/test_trigger.py     |   45 +-
 airflow-core/tests/unit/models/test_xcom.py        |   97 +-
 .../tests/unit/plugins/test_plugins_manager.py     |   75 ++
 airflow-core/tests/unit/utils/test_db_cleanup.py   |  376 +++++-
 airflow-core/tests/unit/utils/test_log_handlers.py |   36 +-
 dev/README_RELEASE_AIRFLOW.md                      |   50 +
 dev/README_RELEASE_PROVIDERS.md                    |   30 +-
 dev/breeze/doc/09_release_management_tasks.rst     |    4 +-
 .../airflow_breeze/commands/workflow_commands.py   |   23 +-
 .../src/airflow_breeze/utils/gh_workflow_utils.py  |   16 +
 .../src/airflow_breeze/utils/verification_plan.py  |    5 +-
 dev/breeze/tests/test_gh_workflow_utils.py         |   31 +
 dev/breeze/tests/test_workflow_commands.py         |   57 +-
 dev/registry/extract_metadata.py                   |   15 +
 dev/registry/extract_versions.py                   |    6 +
 dev/registry/registry_contract_models.py           |   34 +
 dev/registry/registry_tools/uri_schemes.py         |   98 ++
 dev/registry/tests/test_extract_metadata.py        |  118 +-
 dev/registry/tests/test_extract_versions.py        |   56 +
 dev/registry/tests/test_uri_schemes.py             |  128 ++
 dev/sync_fork.sh                                   |    2 +-
 devel-common/src/tests_common/pytest_plugin.py     |   16 +-
 .../src/tests_common/test_utils/asserts.py         |   69 +-
 .../tests_common/test_utils/attempt_ownership.py   |  159 +++
 devel-common/src/tests_common/test_utils/db.py     |   12 +-
 .../src/tests_common/test_utils/mapping.py         |   20 +-
 .../src/tests_common/test_utils/taskinstance.py    |   14 +
 .../tests/unit/tests_common/test_dag_maker.py      |   13 +-
 docker-tests/tests/docker_tests/test_prod_image.py |    3 -
 docs/spelling_wordlist.txt                         |    1 +
 generated/provider_metadata.json                   |   10 +
 go-sdk/Justfile                                    |    2 +-
 go-sdk/README.md                                   |   17 +-
 go-sdk/adr/0008-native-dag-interface.md            |   21 +-
 go-sdk/airflow/bundle.go                           |   14 +-
 go-sdk/airflow/dag.go                              |  226 +++-
 go-sdk/airflow/if.go                               |   54 +-
 go-sdk/airflow/if_test.go                          |   85 +-
 go-sdk/airflow/inputs.go                           |   14 +-
 go-sdk/airflow/inputs_test.go                      |    4 +-
 go-sdk/airflow/node.go                             |  172 ++-
 go-sdk/airflow/node_test.go                        |   11 +-
 go-sdk/airflow/spec.gen.go                         |   31 +-
 go-sdk/airflow/spec.go                             |    6 +-
 go-sdk/airflow/switch.go                           |  253 ++++
 go-sdk/airflow/switch_test.go                      |  583 +++++++++
 go-sdk/airflow/task_group.go                       |  564 +++++++++
 go-sdk/airflow/task_group_test.go                  | 1328 ++++++++++++++++++++
 go-sdk/airflow/task_option.go                      |   10 +-
 go-sdk/airflow/trigger_dag_run.go                  |    4 +-
 go-sdk/internal/bundle/task.go                     |   75 +-
 go-sdk/internal/bundle/task_test.go                |   85 +-
 go-sdk/internal/genspec/authoring.go               |   35 +-
 go-sdk/internal/genspec/authoring_test.go          |   22 +-
 go-sdk/internal/genspec/main.go                    |    4 +-
 go-sdk/internal/genspec/normalize.go               |   14 +-
 go-sdk/internal/genspec/normalize_test.go          |   33 +-
 go-sdk/pkg/execution/client.go                     |   32 +-
 go-sdk/pkg/execution/client_test.go                |   59 +
 go-sdk/pkg/execution/integration_test.go           |  338 ++++-
 go-sdk/pkg/execution/task_runner.go                |   64 +-
 java-sdk/README.md                                 |    6 +-
 java-sdk/adr/0002-native-dag-interface.md          |    7 +-
 .../airflow/example/ExampleBundleBuilder.java      |    3 +
 .../example/nativedag/AnnotationExample.java       |   73 ++
 .../org/apache/airflow/sdk/BuilderProcessor.kt     |  335 ++++-
 .../kotlin/org/apache/airflow/sdk/BuilderTest.kt   |  761 ++++++++++-
 java-sdk/sdk/build.gradle.kts                      |   46 +-
 .../src/main/kotlin/org/apache/airflow/sdk/Arg.kt  |   22 +-
 .../main/kotlin/org/apache/airflow/sdk/Bundle.kt   |   68 +-
 .../src/main/kotlin/org/apache/airflow/sdk/Deps.kt |   17 +-
 .../kotlin/org/apache/airflow/sdk/internal/Refs.kt |  122 ++
 .../org/apache/airflow/sdk/internal/Registrar.kt   |   23 +
 .../org/apache/airflow/sdk/ArgTestSupport.kt       |    5 +-
 .../kotlin/org/apache/airflow/sdk/BundleTest.kt    |  118 +-
 .../kotlin/org/apache/airflow/sdk/InputTaskTest.kt |    6 +-
 .../apache/airflow/sdk/internal/ArgValuesTest.kt   |    5 +-
 .../org/apache/airflow/sdk/internal/RefsTest.kt    |  158 +++
 .../apache/airflow/sdk/internal/RegistrarTest.kt   |   22 +-
 .../apache/airflow/k8sexample/CombinedExample.java |   15 +-
 .../airflow/k8sexample/K8sBundleBuilder.java       |   17 +-
 providers/amazon/docs/bundles/index.rst            |    5 +
 providers/amazon/docs/changelog.rst                |    6 +
 providers/amazon/docs/operators/step_functions.rst |   11 +
 providers/amazon/pyproject.toml                    |    2 +-
 .../src/airflow/providers/amazon/aws/bundles/s3.py |    6 +-
 .../src/airflow/providers/amazon/aws/exceptions.py |    4 +
 .../amazon/aws/operators/step_function.py          |    5 +-
 .../amazon/aws/utils/waiter_with_logging.py        |   24 +-
 .../tests/unit/amazon/aws/bundles/test_s3.py       |   33 +
 .../aws/executors/batch/test_batch_executor.py     |   15 +-
 .../amazon/aws/executors/ecs/test_ecs_executor.py  |   15 +-
 .../amazon/aws/operators/test_step_function.py     |   51 +
 .../amazon/aws/utils/test_waiter_with_logging.py   |  135 +-
 .../tests/unit/apache/kafka/hooks/test_consume.py  |    9 +-
 .../tests/unit/apache/kafka/hooks/test_produce.py  |    9 +-
 .../kubernetes/executors/kubernetes_executor.py    |   25 +-
 .../executors/kubernetes_executor_types.py         |    1 +
 .../executors/kubernetes_executor_utils.py         |    2 +
 .../cncf/kubernetes/kubernetes_helper_functions.py |    6 +-
 .../executors/test_kubernetes_executor.py          |   29 +
 .../kubernetes/log_handlers/test_log_handlers.py   |    9 +-
 .../unit/cncf/kubernetes/operators/test_pod.py     |   18 +-
 .../cncf/kubernetes/test_template_rendering.py     |   11 +-
 providers/common/ai/docs/approval_gates.rst        |    4 +-
 providers/common/ai/docs/capabilities.rst          |    6 +-
 providers/common/ai/docs/changelog.rst             |   10 +
 providers/common/ai/docs/code_mode.rst             |   32 +-
 providers/common/ai/docs/concepts.rst              |    2 +-
 .../{classifier_models.rst => decision_models.rst} |  158 ++-
 providers/common/ai/docs/examples.rst              |    6 +-
 providers/common/ai/docs/features.rst              |    4 +-
 providers/common/ai/docs/index.rst                 |    5 +-
 providers/common/ai/docs/installation.rst          |   10 +-
 providers/common/ai/docs/model_providers.rst       |   12 +-
 providers/common/ai/docs/operators/agent.rst       |   10 +-
 providers/common/ai/docs/operators/llm_branch.rst  |   14 +-
 providers/common/ai/docs/redirects.txt             |    1 +
 providers/common/ai/docs/retry_policies.rst        |  114 +-
 providers/common/ai/docs/sandbox/backends.rst      |   14 +-
 providers/common/ai/docs/sandbox/configuration.rst |    8 +-
 providers/common/ai/docs/sandbox/index.rst         |  431 ++++---
 providers/common/ai/docs/self_hosted_models.rst    |    3 +
 providers/common/ai/docs/stability.rst             |    6 +-
 providers/common/ai/docs/tool_approval.rst         |    8 +-
 providers/common/ai/docs/troubleshooting.rst       |   10 +-
 providers/common/ai/docs/use_cases/index.rst       |    3 +-
 .../ai/docs/use_cases/route_pipeline_failures.rst  |   25 +-
 providers/common/ai/pyproject.toml                 |   15 +-
 .../providers/common/ai/durable/fingerprint.py     |   36 +-
 .../common/ai/example_dags/example_agent.py        |    9 +-
 .../example_dags/example_aip_progress_tracker.py   |   64 +-
 ...assifier_model.py => example_decision_model.py} |   79 +-
 .../common/ai/example_dags/example_llm_branch.py   |    5 +-
 .../ai/example_dags/example_llm_retry_policy.py    |   22 +-
 .../airflow/providers/common/ai/operators/agent.py |   78 +-
 .../airflow/providers/common/ai/operators/llm.py   |   25 +-
 .../providers/common/ai/operators/llm_branch.py    |   14 +-
 .../providers/common/ai/plugins/hitl_review.py     |   83 +-
 .../providers/common/ai/policies/decision.py       |    4 +-
 .../airflow/providers/common/ai/policies/retry.py  |   75 +-
 .../airflow/providers/common/ai/sandbox/modal.py   |   80 +-
 .../airflow/providers/common/ai/utils/decision.py  |   12 +-
 .../airflow/providers/common/ai/utils/logging.py   |    2 +
 .../providers/common/ai/utils/usage_budget.py      |   12 +-
 .../unit/common/ai/durable/test_fingerprint.py     |   87 ++
 .../tests/unit/common/ai/operators/test_agent.py   |  150 +--
 .../ai/operators/test_agent_tool_approval.py       |    1 -
 .../unit/common/ai/operators/test_llm_branch.py    |    2 +-
 .../unit/common/ai/plugins/test_hitl_review.py     |   71 +-
 .../ai/tests/unit/common/ai/policies/test_retry.py |  118 +-
 .../ai/tests/unit/common/ai/sandbox/fake_modal.py  |   47 +-
 .../ai/tests/unit/common/ai/sandbox/test_modal.py  |  148 ++-
 .../ai/tests/unit/common/ai/utils/test_logging.py  |   12 +-
 .../unit/common/ai/utils/test_usage_budget.py      |   42 +
 .../providers/common/compat/version_compat.py      |    2 +
 .../io/tests/unit/common/io/xcom/test_backend.py   |   62 +-
 providers/databricks/docs/operators/copy_into.rst  |   81 ++
 .../providers/databricks/assets/databricks.py      |   37 +
 .../databricks/operators/databricks_sql.py         |   82 +-
 .../unit/databricks/assets/test_databricks.py      |   55 +
 .../databricks/operators/test_databricks_copy.py   |  215 +++-
 .../airflow/providers/dbt/cloud/operators/dbt.py   |    1 +
 .../tests/unit/dbt/cloud/operators/test_dbt.py     |   36 +
 .../providers/edge3/executors/edge_executor.py     |    7 +-
 .../unit/edge3/executors/test_edge_executor.py     |    2 +-
 providers/elasticsearch/docs/logging/index.rst     |    5 +
 .../providers/elasticsearch/log/es_task_handler.py |   43 +-
 .../providers/elasticsearch/version_compat.py      |    2 +
 .../elasticsearch/log/test_es_remote_log_io.py     |   32 +
 .../unit/elasticsearch/log/test_es_task_handler.py |   44 +-
 .../fab/src/airflow/providers/fab/www/package.json |    2 +-
 .../src/airflow/providers/fab/www/pnpm-lock.yaml   |  165 +--
 .../providers/google/cloud/hooks/bigquery.py       |   13 +-
 .../google/cloud/log/cloud_logging_task_handler.py |   26 +-
 .../providers/google/cloud/sensors/bigquery.py     |    2 +
 .../google/cloud/transfers/postgres_to_gcs.py      |   14 +-
 .../providers/google/cloud/triggers/bigquery.py    |   34 +-
 .../providers/google/cloud/triggers/dataproc.py    |    3 +
 .../src/airflow/providers/google/version_compat.py |    9 +-
 .../google/cloud/bigquery/example_bigquery_dts.py  |    3 +-
 .../cloud/bigquery/example_bigquery_sensors.py     |    3 -
 .../cloud/bigquery/example_bigquery_tables.py      |   21 +-
 .../cloud/bigquery/example_bigquery_value_check.py |    2 +-
 .../resources/openlineage/bigquery_dts.json        |   18 +-
 .../resources/openlineage/bigquery_operations.json |    8 +-
 .../resources/openlineage/bigquery_tables.json     |   12 +-
 .../resources/openlineage/bigquery_transfer.json   |    8 +-
 .../cloud/composer/example_cloud_composer.py       |    4 +-
 .../google/cloud/dataplex/example_dataplex_dp.py   |    2 +-
 .../example_cloud_storage_transfer_service_aws.py  |   64 +-
 .../example_cloud_storage_transfer_service_gcp.py  |   55 +-
 .../system/google/cloud/tasks/example_tasks.py     |   15 +-
 .../marketing_platform/example_campaign_manager.py |    6 +-
 .../system/google/resources_cleanup/README.md      |    8 +
 .../handlers/__init__.py                           |    2 +
 .../handlers/{sqladmin.py => datafusion.py}        |   42 +-
 .../tests/unit/google/cloud/hooks/test_bigquery.py |   55 +-
 .../cloud/log/test_cloud_logging_task_handler.py   |  112 +-
 .../unit/google/cloud/sensors/test_bigquery.py     |   37 +
 .../google/cloud/transfers/test_postgres_to_gcs.py |   61 +-
 .../unit/google/cloud/triggers/test_bigquery.py    |  121 ++
 .../unit/google/cloud/triggers/test_dataproc.py    |   63 +-
 .../google/resources_cleanup/test_cmd_delete.py    |    1 +
 .../resources_cleanup/test_datafusion_handler.py   |   67 +
 providers/ibm/mq/docs/connections/ibmmq.rst        |    9 +-
 .../microsoft/azure/docs/connections/msgraph.rst   |    9 +-
 providers/openai/docs/operators/openai.rst         |   42 +-
 .../src/airflow/providers/openai/hooks/openai.py   |   35 +-
 .../airflow/providers/openai/operators/openai.py   |  150 ++-
 .../openai/tests/system/openai/example_openai.py   |   14 +
 .../openai/tests/unit/openai/hooks/test_openai.py  |   34 +
 .../tests/unit/openai/operators/test_openai.py     |  307 ++++-
 .../providers/opensearch/log/os_task_handler.py    |   43 +-
 .../airflow/providers/opensearch/version_compat.py |    2 +
 .../opensearch/log/test_os_remote_log_io.py        |   32 +
 .../unit/opensearch/log/test_os_task_handler.py    |   48 +-
 .../sftp/src/airflow/providers/sftp/hooks/sftp.py  |   44 +-
 providers/sftp/tests/unit/sftp/hooks/test_sftp.py  |   92 ++
 .../slack/transfers/sql_to_slack_webhook.py        |   28 +-
 .../slack/transfers/test_sql_to_slack_webhook.py   |   61 +
 .../ssh/src/airflow/providers/ssh/hooks/ssh.py     |   68 +-
 providers/ssh/tests/unit/ssh/hooks/test_ssh.py     |  106 +-
 .../tests/unit/standard/operators/test_weekday.py  |    8 +-
 registry/.eleventy.js                              |   37 +
 registry/src/css/main.css                          |   77 ++
 registry/src/provider-version.njk                  |   28 +
 scripts/ci/lang_sdk_serialization/test_dags.yaml   |   25 +
 scripts/ci/prek/check_go_sdk_generated_drift.py    |    5 +-
 scripts/ci/prek/check_ti_vs_tis_attributes.py      |   77 --
 scripts/ci/prek/check_xcom_model_columns.py        |  141 +++
 scripts/ci/testing/run_unit_tests.sh               |    2 +-
 scripts/cov/core_coverage.py                       |    1 -
 scripts/docker/entrypoint_ci.sh                    |    7 +-
 .../plugins_manager/plugins_manager.py             |    9 +-
 .../providers_discovery/providers_discovery.py     |    5 +
 task-sdk/docs/executable-bundle-spec.rst           |   19 +-
 task-sdk/src/airflow/sdk/bases/xcom.py             |    2 +-
 .../sdk/coordinators/executable/coordinator.py     |   48 +-
 task-sdk/src/airflow/sdk/definitions/dag.py        |   18 +-
 task-sdk/src/airflow/sdk/definitions/variable.py   |   55 +-
 task-sdk/src/airflow/sdk/execution_time/context.py |  155 +++
 .../src/airflow/sdk/execution_time/supervisor.py   |   17 +-
 task-sdk/tests/task_sdk/bases/test_xcom.py         |   16 +
 .../coordinators/executable/test_coordinator.py    |   80 +-
 .../tests/task_sdk/definitions/test_variables.py   |  139 +-
 .../tests/task_sdk/execution_time/test_context.py  |  350 +++++-
 .../task_sdk/execution_time/test_supervisor.py     |   26 +-
 ts-sdk/src/coordinator/serde.ts                    |   17 +-
 ts-sdk/tests/coordinator/serde.test.ts             |   42 +
 uv.lock                                            |    8 +-
 548 files changed, 20983 insertions(+), 5009 deletions(-)
 create mode 100644 .apache-magpie-overrides/release-vote-tally.md
 rename .github/workflows/{scheduled-upgrade-check-v3-3-test.yml => 
scheduled-upgrade-check-v3-4-test.yml} (66%)
 create mode 100644 
airflow-core/src/airflow/migrations/versions/0142_3_4_0_unify_task_attempt_ownership.py
 delete mode 100644 airflow-core/src/airflow/models/hitl_history.py
 delete mode 100644 airflow-core/src/airflow/models/taskinstancehistory.py
 copy airflow-core/src/airflow/ui/src/{system-components/Pagination/context.ts 
=> components/DAGWarningsModal.test.tsx} (64%)
 copy airflow-core/src/airflow/ui/src/{pages/Dag/Code/FileLocation.test.tsx => 
components/ImportErrorCount.test.tsx} (54%)
 create mode 100644 
airflow-core/src/airflow/ui/src/components/MonacoEditor/configureMonaco.test.ts
 copy 
airflow-core/src/airflow/ui/src/{pages/Connections/NothingFoundInfo.test.tsx => 
components/StatsCard.test.tsx} (63%)
 delete mode 100644 airflow-core/src/airflow/ui/src/layouts/StorageLayout.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Connections/ConnectionForm.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/DagsList/AssetSchedule.test.tsx
 copy airflow-core/src/airflow/ui/src/{layouts/Details/Grid/GridButton.test.tsx 
=> pages/DagsList/Schedule.test.tsx} (52%)
 copy airflow-core/src/airflow/ui/src/{system-components/Pagination/context.ts 
=> utils/formatNumber.test.ts} (64%)
 copy airflow-core/src/airflow/ui/{tests/e2e/utils/ui/selectors.ts => 
src/utils/formatNumber.ts} (54%)
 create mode 100644 airflow-core/src/airflow/ui/src/utils/intlCache.ts
 create mode 100644 
airflow-core/tests/unit/migrations/test_0142_unify_task_attempt_ownership.py
 create mode 100644 airflow-core/tests/unit/models/test_task_data.py
 create mode 100644 dev/registry/registry_tools/uri_schemes.py
 create mode 100644 dev/registry/tests/test_uri_schemes.py
 create mode 100644 
devel-common/src/tests_common/test_utils/attempt_ownership.py
 create mode 100644 go-sdk/airflow/switch.go
 create mode 100644 go-sdk/airflow/switch_test.go
 create mode 100644 go-sdk/airflow/task_group.go
 create mode 100644 go-sdk/airflow/task_group_test.go
 create mode 100644 
java-sdk/example/src/java/org/apache/airflow/example/nativedag/AnnotationExample.java
 create mode 100644 
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/Refs.kt
 create mode 100644 
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/internal/RefsTest.kt
 copy registry/src/_data/utils.js => 
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/internal/RegistrarTest.kt 
(66%)
 rename providers/common/ai/docs/{classifier_models.rst => decision_models.rst} 
(52%)
 rename 
providers/common/ai/src/airflow/providers/common/ai/example_dags/{example_classifier_model.py
 => example_decision_model.py} (60%)
 copy 
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/{sqladmin.py
 => datafusion.py} (56%)
 create mode 100644 
providers/google/tests/unit/google/resources_cleanup/test_datafusion_handler.py
 delete mode 100755 scripts/ci/prek/check_ti_vs_tis_attributes.py
 create mode 100644 scripts/ci/prek/check_xcom_model_columns.py

Reply via email to