This is an automated email from the ASF dual-hosted git repository.
jason810496 pushed a change to branch jason/lang-sdk-e2e/08-native-e2e
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit c76d1de6211 Exclude airflowignore_all from the license check
omit f00d8c4111d Rework the lang-SDK k8s harness for mixed-language and
native Dag tests
omit 829a2914506 Keep the k8s lang-SDK values comment within the YAML line
limit
omit dc4b1daac33 Read a native Dag example's served Dags with bundleDags
omit 153d88113ac Say which coordinator runs the native e2e Java tasks
omit fa860ec7d9e Drop the dag_bundle_name reason from the k8s native
TypeScript skip
omit 0c90a7ef4ad Parse native Dags in the e2e by class, not by Dag bundle
name
omit a5c39d85078 Name the skipped-branch e2e test after what it checks
omit 07b3aad7af6 Document how the TypeScript example's native Dag gets
parsed
omit 125ae7d1ee4 Explain why the k8s native TypeScript Dag test is skipped
omit 5fdc0d47dac Pack the TypeScript example against the built SDK
omit c12f8ded57a Build the TypeScript SDK before packing the k8s example
bundle
omit 72a5eeab155 Key the Lang-SDK e2e jobs on native Dag modules only
omit 103793d0c6c Build the k8s TypeScript artifacts only for the native Dag
test
omit e229dc71a89 Share the Dag run lookup and the native Java queue name
omit efa6a836e9c Run the Lang-SDK e2e jobs when native Dag parsing changes
omit e0a6c2bb99e Add a native Java Dag to the compose e2e
omit f0c5ed2dedc Keep the containerized Java build's Maven repository on
the host
omit d89110630d1 Check the native TypeScript Dag's source and triggered run
omit 8b3e71197eb Parse the native TypeScript Dag in the compose e2e
omit 73bdd97f813 TS SDK: cover native TypeScript Dags end to end
omit 01dee954ee2 Cover native Go Dags in the go_sdk e2e test
omit 911c98c70ea Pack and parse native Go Dags in the go_sdk e2e mode
omit 81f7654fba6 Go SDK: add a native Dag example
omit e22559a009e Go SDK: document how the runtime runs a TriggerDagRun task
omit 4d405553a4d Go SDK: give a TriggerDagRun task the Dag's queue
omit b648adfd434 Go SDK: run TriggerDagRun tasks in the Go runtime
omit 4e12db7465b Go SDK: take the logical date of TriggerDagRun as a
time.Time
omit 7802bd64752 Go SDK: add the supervisor calls a TriggerDagRun task makes
omit 542db5dffa7 Java SDK: Trigger another Dag's run from a native Java Dag
omit 8125524010d Java SDK: Choose one of several tasks with a branch
omit e410e22c689 Java SDK: Pick one of two tasks with a condition
omit 1ef47f48ee0 Java SDK: Show each Dag's own source and find it outside
the package layout
omit 1365791abbd Java SDK: Bound the describe run and keep its payload to
the bundle JAR
omit 9c3d305a531 Java SDK: Pack each native Dag's source file into the
bundle JAR
omit 7264093c4fb Java SDK: Record the class that declares each Dag and
describe it on request
add 22afa85809d Remove most accordions from forms (#74422)
add 950fc37bf6c Fix Data Fusion polling after transient 404 responses
(#74237)
add 9068fba9cb7 Fix remote processor injection happening before dictConfig
runs in configure_logging (#66633)
add 599fcb41ac0 Run the XCom column prek hook on Python 3.11 or newer
(#74405)
add a0e9d68b98a Fix common.ai managed agent failover when an identity
cannot resolve (#72786)
add bf3d4022db3 Remove slow-on-MySQL and now needless CHECK CONSTRAINT
(#74409)
add 57ad5d30539 Prepare providers release 2026-10-06 (#74429)
add 3f552272f9f Sync the TS SDK supervisor schema from its Task SDK source
(#74415)
add ef9feefd83f Fix Grid and Graph 500 errors for cyclic TaskGroup
dependencies (#73724)
add 3fa1eb5a27a Add URL param support to calendar view (#73237) (#73762)
add d7c60857bc0 Expose the resolved LLM model name on a dedicated XCom key
(#74272)
add c8de3793a25 Make provider signing resumable after interruption (#74465)
add 88b83d1f0d4 Fix Spark submit standalone status polling to use correct
REST endpoint (#71949)
add 7c014e1b61a Fix plugin applies_to scoping defects found in review
(#74425)
add fb235e6926a Preserve newlines in XCom tab string values (#74112)
add 42b25f5df74 Add documentation and sample DAG for `ExasolToS3Operator`
(#73940)
add 150be723896 Close Catalan gap (#74361)
add bc96a14f776 UI: Move UI-only e2e checks to unit tests (#74367)
add e82b196c065 Dag run breadcrumb switcher (#74471)
add 23cd2c89304 Fix missing end-of-file newline in XComEntry.test.tsx
(#74476)
add bf2de26c7b7 Fix Quick Start installing Airflow 3.1.1 instead of the
documented version (#74474)
add 42dfb20b812 Assert on structured log events in common.ai tests (#74443)
add 386c0ba69eb Export `DataFusionToolset`, `AgentSkillsToolset` and
`LoggingToolset`… (#74449)
add 00967b20550 Bump the ui-plugin-template-package-updates group across 1
directory with 7 updates (#74331)
add 6eae11fb7dc Bump the registry-security-updates group across 1
directory with 2 updates (#74326)
add 30aad96a041 Bump the uv-dependency-updates group across 1 directory
with 6 updates (#74259)
add 23b3e7b4147 Bump the ts-sdk-package-updates group across 1 directory
with 2 updates (#74253)
add f5c535bbae0 Bump swagger-ui-dist (#74251)
add d3899db5079 Bump oauthlib (#74325)
add 7811cbacf5a Reject unsupported output_type and bound HITL XCom pull
retries (#74450)
add 6e5d9ddc185 Update the TypeScript SDK docs for Dags declared in
TypeScript (#73875)
add 2bda1928703 Java SDK: Pack each native Dag's source file into the
bundle JAR (#74096)
add d4013cc2b5b Java SDK: Pick one of two tasks with a condition (#74438)
add c3043c266c6 Java SDK: Choose one of several tasks with a branch
(#74439)
add c5f504366d5 Java SDK: Trigger another Dag's run from a native Java Dag
(#74440)
add 7f945b45d07 Make `SQLToolset` `check_query` follow `allow_writes` like
`query` (#74448)
add 30a3a6d7434 Go SDK: run TriggerDagRun tasks in the Go runtime (#74417)
add 734280ab0d4 TS SDK: cover native TypeScript Dags end to end
add 2c850cbf41a Parse the native TypeScript Dag in the compose e2e
add e96fe6f7a93 Check the native TypeScript Dag's source and triggered run
add 1ea63e74408 Keep the containerized Java build's Maven repository on
the host
add 2dc2e367a8d Add a native Java Dag to the compose e2e
add ac46031814a Run the Lang-SDK e2e jobs when native Dag parsing changes
add 459527076b5 Share the Dag run lookup and the native Java queue name
add 89c61e5f0d2 Build the k8s TypeScript artifacts only for the native Dag
test
add 7d77655d43c Key the Lang-SDK e2e jobs on native Dag modules only
add efbd941d246 Build the TypeScript SDK before packing the k8s example
bundle
add fae6bcfcf2d Pack the TypeScript example against the built SDK
add 42f206e1378 Explain why the k8s native TypeScript Dag test is skipped
add e3174741a82 Document how the TypeScript example's native Dag gets
parsed
add b1cf1b5640c Name the skipped-branch e2e test after what it checks
add 31f965ee89d Parse native Dags in the e2e by class, not by Dag bundle
name
add 9e2a16ccfb8 Drop the dag_bundle_name reason from the k8s native
TypeScript skip
add d695b5501ac Say which coordinator runs the native e2e Java tasks
add 29bc99c26dd Read a native Dag example's served Dags with bundleDags
add e19334afeed Keep the k8s lang-SDK values comment within the YAML line
limit
add 433ceba2ef0 Rework the lang-SDK k8s harness for mixed-language and
native Dag tests
add fc28f40daaf Exclude airflowignore_all from the license check
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 (c76d1de6211)
\
N -- N -- N refs/heads/jason/lang-sdk-e2e/08-native-e2e
(fc28f40daaf)
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:
.pre-commit-config.yaml | 29 +-
.../docs/administration-and-deployment/plugins.rst | 105 ++-
.../language-sdks/index.rst | 81 +-
.../language-sdks/typescript.rst | 884 ++++++++++-----------
airflow-core/docs/start.rst | 9 +-
airflow-core/newsfragments/66633.bugfix.rst | 1 +
airflow-core/newsfragments/74278.feature.rst | 2 +-
..._3_4_0_fold_task_map_into_xcom_mapped_length.py | 2 -
airflow-core/src/airflow/models/xcom.py | 2 -
airflow-core/src/airflow/plugins_manager.py | 93 ++-
.../airflow/serialization/definitions/taskgroup.py | 42 +-
.../ui/public/i18n/locales/ar/components.json | 1 -
.../airflow/ui/public/i18n/locales/ca/assets.json | 3 +-
.../airflow/ui/public/i18n/locales/ca/browse.json | 30 +
.../airflow/ui/public/i18n/locales/ca/common.json | 38 +-
.../ui/public/i18n/locales/ca/components.json | 18 +-
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 68 ++
.../airflow/ui/public/i18n/locales/ca/dags.json | 29 +
.../ui/public/i18n/locales/ca/dashboard.json | 17 +-
.../ui/public/i18n/locales/de/components.json | 1 -
.../ui/public/i18n/locales/el/components.json | 1 -
.../airflow/ui/public/i18n/locales/en/common.json | 2 +
.../ui/public/i18n/locales/en/components.json | 1 -
.../airflow/ui/public/i18n/locales/en/dags.json | 1 +
.../ui/public/i18n/locales/es/components.json | 1 -
.../ui/public/i18n/locales/fr/components.json | 1 -
.../ui/public/i18n/locales/he/components.json | 1 -
.../ui/public/i18n/locales/hi/components.json | 1 -
.../ui/public/i18n/locales/hu/components.json | 1 -
.../ui/public/i18n/locales/it/components.json | 1 -
.../ui/public/i18n/locales/ja/components.json | 1 -
.../ui/public/i18n/locales/ko/components.json | 1 -
.../ui/public/i18n/locales/nl/components.json | 1 -
.../ui/public/i18n/locales/pl/components.json | 1 -
.../ui/public/i18n/locales/pt/components.json | 1 -
.../ui/public/i18n/locales/ru/components.json | 1 -
.../ui/public/i18n/locales/th/components.json | 1 -
.../ui/public/i18n/locales/tr/components.json | 1 -
.../ui/public/i18n/locales/zh-CN/components.json | 1 -
.../ui/public/i18n/locales/zh-TW/components.json | 1 -
.../components/ActionAccordion/ActionAccordion.tsx | 140 ++--
.../ui/src/components/Breadcrumb/CrumbSwitcher.tsx | 85 ++
.../airflow/ui/src/components/Breadcrumb/index.ts | 1 +
.../src/airflow/ui/src/components/ConfigForm.tsx | 71 +-
.../DagActions/RunBackfillForm.dateRange.test.tsx | 118 +++
.../ui/src/components/DataTable/DataTable.test.tsx | 15 +-
.../src/components/FlexibleForm/FlexibleForm.tsx | 163 +---
.../components/SearchDags/SearchDagsControl.tsx | 37 -
.../airflow/ui/src/components/SearchDags/index.ts | 20 -
.../src/airflow/ui/src/components/SearchSelect.tsx | 117 +++
.../TriggerDag/TriggerDAGAdvancedOptions.tsx | 12 +-
.../components/TriggerDag/TriggerDAGForm.test.tsx | 14 +-
.../src/airflow/ui/src/constants/localStorage.ts | 2 -
.../src/airflow/ui/src/constants/searchParams.ts | 3 +
.../ui/src/hooks/usePluginAppliesToContext.test.ts | 32 +-
.../ui/src/hooks/usePluginAppliesToContext.ts | 49 +-
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 71 ++
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 44 +-
.../src/layouts/Details/DagRunSwitcherButton.tsx | 89 +++
.../ui/src/layouts/Details/DagSwitcherButton.tsx | 75 +-
.../ui/src/layouts/Details/SearchDagRuns.test.tsx | 215 +++++
.../ui/src/layouts/Details/SearchDagRuns.tsx | 129 +++
.../Details}/SearchDags.test.tsx | 2 +-
.../SearchDags => layouts/Details}/SearchDags.tsx | 67 +-
.../ui/src/layouts/Details/searchOptions.test.ts | 50 ++
.../ui/src/layouts/Details/searchOptions.ts | 66 ++
.../src/pages/Connections/ConnectionForm.test.tsx | 16 +-
.../ui/src/pages/Connections/ConnectionForm.tsx | 84 +-
.../pages/Connections/ConnectionStandardFields.tsx | 2 +-
.../Dag/Calendar/Calendar.failedView.test.tsx | 140 ++++
.../ui/src/pages/Dag/Calendar/Calendar.test.tsx | 153 ++++
.../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx | 53 +-
.../airflow/ui/src/pages/Dag/Code/Code.test.tsx | 72 ++
...ader.test.tsx => RequiredActionsRoute.test.tsx} | 46 +-
.../airflow/ui/src/pages/Dag/Tasks/Tasks.test.tsx | 114 +++
.../ui/src/pages/DagsList/DagsList.test.tsx | 29 +
.../pages/HITLTaskInstances/HITLResponseForm.tsx | 1 -
.../ui/src/pages/TaskInstance/Logs/Logs.test.tsx | 62 +-
.../src/airflow/ui/src/pages/XCom/XCom.test.tsx | 80 ++
.../airflow/ui/src/pages/XCom/XComEntry.test.tsx | 26 +
.../src/airflow/ui/src/pages/XCom/XComEntry.tsx | 19 +-
airflow-core/src/airflow/ui/src/utils/option.ts | 4 +
.../airflow/ui/src/utils/pluginAppliesTo.test.ts | 7 +-
.../src/airflow/ui/tests/e2e/fixtures/pom.ts | 5 -
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 30 -
.../airflow/ui/tests/e2e/pages/DagCalendarTab.ts | 47 +-
.../src/airflow/ui/tests/e2e/pages/DagCodePage.ts | 20 -
.../airflow/ui/tests/e2e/pages/DagDetailPage.ts | 49 --
.../src/airflow/ui/tests/e2e/pages/DagRunPage.ts | 8 +-
.../src/airflow/ui/tests/e2e/pages/DagRunsPage.ts | 32 -
.../airflow/ui/tests/e2e/pages/DagRunsTabPage.ts | 33 -
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 115 ---
.../src/airflow/ui/tests/e2e/pages/XComsPage.ts | 14 -
.../src/airflow/ui/tests/e2e/specs/asset.spec.ts | 17 +-
.../airflow/ui/tests/e2e/specs/backfill.spec.ts | 64 --
.../airflow/ui/tests/e2e/specs/dag-bundles.spec.ts | 37 +-
.../ui/tests/e2e/specs/dag-calendar-tab.spec.ts | 75 +-
.../ui/tests/e2e/specs/dag-code-tab.spec.ts | 8 -
.../airflow/ui/tests/e2e/specs/dag-detail.spec.ts | 43 -
.../src/airflow/ui/tests/e2e/specs/dag-run.spec.ts | 13 +-
.../ui/tests/e2e/specs/dag-runs-tab.spec.ts | 30 +-
.../airflow/ui/tests/e2e/specs/dag-runs.spec.ts | 10 -
.../airflow/ui/tests/e2e/specs/dag-tasks.spec.ts | 102 ---
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 67 +-
.../src/airflow/ui/tests/e2e/specs/plugins.spec.ts | 35 +-
.../airflow/ui/tests/e2e/specs/providers.spec.ts | 19 +-
.../ui/tests/e2e/specs/task-instances.spec.ts | 5 -
.../airflow/ui/tests/e2e/specs/task-logs.spec.ts | 66 +-
.../src/airflow/ui/tests/e2e/specs/xcoms.spec.ts | 20 +-
.../tests/unit/always/test_project_structure.py | 2 -
.../api_fastapi/core_api/routes/ui/test_grid.py | 26 +
.../core_api/routes/ui/test_structure.py | 22 +
.../lang_sdk_fixtures/go_native.json | 2 +-
.../tests/unit/plugins/test_plugins_manager.py | 158 +++-
airflow-core/tests/unit/utils/test_task_group.py | 134 ++++
airflow-e2e-tests/docker/go.yml | 7 -
.../tests/airflow_e2e_tests/conftest.py | 43 +-
.../tests/airflow_e2e_tests/constants.py | 3 -
.../go_sdk_tests/test_go_sdk_native_dag.py | 211 -----
dev/breeze/doc/ci/04_selective_checks.md | 7 +-
.../src/airflow_breeze/utils/selective_checks.py | 8 +-
dev/breeze/uv.lock | 48 +-
.../react_plugin_template/package.json | 14 +-
.../react_plugin_template/pnpm-lock.yaml | 406 +++++-----
dev/sign.sh | 9 +
generated/known_airflow_exceptions.txt | 2 +-
go-sdk/README.md | 4 +-
go-sdk/airflow/bundle_test.go | 4 +-
go-sdk/airflow/conformance_test.go | 3 +-
go-sdk/airflow/serialize_test.go | 4 +-
go-sdk/airflow/trigger_dag_run.go | 15 +-
go-sdk/airflow/trigger_dag_run_test.go | 16 +-
go-sdk/capabilities.yaml | 15 +-
go-sdk/example/native/main.go | 177 -----
go-sdk/example/native/report.go | 35 -
go-sdk/pkg/execution/trigger_runner_test.go | 6 +-
java-sdk/README.md | 2 +-
java-sdk/capabilities.yaml | 2 +-
.../airflow/example/ExampleBundleBuilder.java | 3 +-
.../example/nativedag/AnnotationExample.java | 19 +-
.../example/nativedag/InterfaceExample.java | 10 +-
.../airflow/example/nativedag/TargetExample.java | 49 ++
.../apache/airflow/sdk/plugin/AirflowSdkPlugin.kt | 32 +-
.../apache/airflow/sdk/plugin/PackDagSources.kt | 44 +-
.../airflow/sdk/plugin/AirflowSdkPluginTest.kt | 32 +
.../org/apache/airflow/sdk/BuilderProcessor.kt | 111 +--
.../kotlin/org/apache/airflow/sdk/BuilderTest.kt | 246 +++---
java-sdk/sdk/build.gradle.kts | 22 +-
java-sdk/sdk/module.md | 2 +-
.../main/kotlin/org/apache/airflow/sdk/Branch.kt | 291 -------
.../main/kotlin/org/apache/airflow/sdk/Bundle.kt | 17 +-
.../kotlin/org/apache/airflow/sdk/Condition.kt | 40 +-
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 31 +-
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 115 +--
.../main/kotlin/org/apache/airflow/sdk/Switch.kt | 240 ++++++
.../kotlin/org/apache/airflow/sdk/TaskGroupRef.kt | 22 +-
.../kotlin/org/apache/airflow/sdk/TriggerDagRun.kt | 163 ++--
.../org/apache/airflow/sdk/execution/Serde.kt | 15 +-
.../apache/airflow/sdk/execution/TriggerRunner.kt | 14 +-
.../org/apache/airflow/sdk/internal/Fields.kt | 33 +
.../kotlin/org/apache/airflow/sdk/BranchTest.kt | 175 ----
.../kotlin/org/apache/airflow/sdk/ClientTest.kt | 5 +-
.../kotlin/org/apache/airflow/sdk/ConditionTest.kt | 83 +-
.../kotlin/org/apache/airflow/sdk/ServerTest.kt | 6 +-
.../kotlin/org/apache/airflow/sdk/SwitchTest.kt | 224 ++++++
.../org/apache/airflow/sdk/TriggerDagRunTest.kt | 85 ++
.../airflow/sdk/conformance/SerializeJava.kt | 138 +++-
.../org/apache/airflow/sdk/execution/CommTest.kt | 39 +-
.../org/apache/airflow/sdk/execution/TaskTest.kt | 107 ++-
.../airflow/sdk/execution/TriggerRunnerTest.kt | 43 +-
.../org/apache/airflow/sdk/internal/RefsTest.kt | 65 ++
providers/.last_release_date.txt | 2 +-
providers/airbyte/README.rst | 6 +-
providers/airbyte/docs/changelog.rst | 22 +
providers/airbyte/docs/index.rst | 6 +-
providers/airbyte/provider.yaml | 3 +-
providers/airbyte/pyproject.toml | 6 +-
.../src/airflow/providers/airbyte/__init__.py | 2 +-
providers/akeyless/README.rst | 6 +-
providers/akeyless/docs/changelog.rst | 20 +
providers/akeyless/docs/index.rst | 6 +-
providers/akeyless/provider.yaml | 3 +-
providers/akeyless/pyproject.toml | 6 +-
.../src/airflow/providers/akeyless/__init__.py | 2 +-
providers/alibaba/README.rst | 6 +-
providers/alibaba/docs/changelog.rst | 17 +
providers/alibaba/docs/index.rst | 6 +-
providers/alibaba/provider.yaml | 3 +-
providers/alibaba/pyproject.toml | 6 +-
.../src/airflow/providers/alibaba/__init__.py | 2 +-
providers/amazon/README.rst | 12 +-
providers/amazon/docs/changelog.rst | 55 ++
providers/amazon/docs/index.rst | 8 +-
.../{redshift_to_s3.rst => exasol_to_s3.rst} | 40 +-
providers/amazon/provider.yaml | 4 +-
providers/amazon/pyproject.toml | 8 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../providers/amazon/aws/transfers/exasol_to_s3.py | 5 +-
.../airflow/providers/amazon/get_provider_info.py | 1 +
...xample_ftp_to_s3.py => example_exasol_to_s3.py} | 37 +-
providers/anthropic/README.rst | 8 +-
providers/anthropic/docs/changelog.rst | 22 +
providers/anthropic/docs/commits.rst | 5 +-
providers/anthropic/docs/index.rst | 8 +-
providers/anthropic/provider.yaml | 3 +-
providers/anthropic/pyproject.toml | 8 +-
.../src/airflow/providers/anthropic/__init__.py | 2 +-
providers/apache/arrow/README.rst | 6 +-
providers/apache/arrow/docs/changelog.rst | 19 +
providers/apache/arrow/docs/commits.rst | 8 +-
providers/apache/arrow/docs/index.rst | 6 +-
providers/apache/arrow/provider.yaml | 3 +-
providers/apache/arrow/pyproject.toml | 6 +-
.../src/airflow/providers/apache/arrow/__init__.py | 2 +-
providers/apache/beam/README.rst | 6 +-
providers/apache/beam/docs/changelog.rst | 17 +
providers/apache/beam/docs/index.rst | 6 +-
providers/apache/beam/provider.yaml | 3 +-
providers/apache/beam/pyproject.toml | 6 +-
.../src/airflow/providers/apache/beam/__init__.py | 2 +-
providers/apache/cassandra/README.rst | 6 +-
providers/apache/cassandra/docs/changelog.rst | 17 +
providers/apache/cassandra/docs/index.rst | 6 +-
providers/apache/cassandra/provider.yaml | 3 +-
providers/apache/cassandra/pyproject.toml | 6 +-
.../airflow/providers/apache/cassandra/__init__.py | 2 +-
providers/apache/drill/README.rst | 6 +-
providers/apache/drill/docs/changelog.rst | 21 +
providers/apache/drill/docs/index.rst | 6 +-
providers/apache/drill/provider.yaml | 3 +-
providers/apache/drill/pyproject.toml | 6 +-
.../src/airflow/providers/apache/drill/__init__.py | 2 +-
providers/apache/druid/README.rst | 6 +-
providers/apache/druid/docs/changelog.rst | 17 +
providers/apache/druid/docs/index.rst | 6 +-
providers/apache/druid/provider.yaml | 3 +-
providers/apache/druid/pyproject.toml | 6 +-
.../src/airflow/providers/apache/druid/__init__.py | 2 +-
providers/apache/flink/README.rst | 6 +-
providers/apache/flink/docs/changelog.rst | 17 +
providers/apache/flink/docs/index.rst | 6 +-
providers/apache/flink/provider.yaml | 3 +-
providers/apache/flink/pyproject.toml | 6 +-
.../src/airflow/providers/apache/flink/__init__.py | 2 +-
providers/apache/hdfs/README.rst | 6 +-
providers/apache/hdfs/docs/changelog.rst | 17 +
providers/apache/hdfs/docs/index.rst | 6 +-
providers/apache/hdfs/provider.yaml | 3 +-
providers/apache/hdfs/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 2 +-
providers/apache/hive/README.rst | 8 +-
providers/apache/hive/docs/changelog.rst | 19 +
providers/apache/hive/docs/index.rst | 6 +-
providers/apache/hive/provider.yaml | 3 +-
providers/apache/hive/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hive/__init__.py | 2 +-
providers/apache/iceberg/README.rst | 6 +-
providers/apache/iceberg/docs/changelog.rst | 20 +
providers/apache/iceberg/docs/index.rst | 6 +-
providers/apache/iceberg/provider.yaml | 3 +-
providers/apache/iceberg/pyproject.toml | 6 +-
.../airflow/providers/apache/iceberg/__init__.py | 2 +-
providers/apache/impala/README.rst | 14 +-
providers/apache/impala/docs/changelog.rst | 24 +
providers/apache/impala/docs/index.rst | 6 +-
providers/apache/impala/provider.yaml | 3 +-
providers/apache/impala/pyproject.toml | 6 +-
.../airflow/providers/apache/impala/__init__.py | 2 +-
providers/apache/kafka/README.rst | 6 +-
providers/apache/kafka/docs/changelog.rst | 29 +
providers/apache/kafka/docs/index.rst | 6 +-
providers/apache/kafka/provider.yaml | 3 +-
providers/apache/kafka/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kafka/__init__.py | 2 +-
providers/apache/kylin/README.rst | 6 +-
providers/apache/kylin/docs/changelog.rst | 17 +
providers/apache/kylin/docs/index.rst | 6 +-
providers/apache/kylin/provider.yaml | 3 +-
providers/apache/kylin/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kylin/__init__.py | 2 +-
providers/apache/livy/README.rst | 6 +-
providers/apache/livy/docs/changelog.rst | 19 +
providers/apache/livy/docs/index.rst | 6 +-
providers/apache/livy/provider.yaml | 3 +-
providers/apache/livy/pyproject.toml | 6 +-
.../src/airflow/providers/apache/livy/__init__.py | 2 +-
providers/apache/pig/README.rst | 6 +-
providers/apache/pig/docs/changelog.rst | 17 +
providers/apache/pig/docs/index.rst | 6 +-
providers/apache/pig/provider.yaml | 3 +-
providers/apache/pig/pyproject.toml | 6 +-
.../src/airflow/providers/apache/pig/__init__.py | 2 +-
providers/apache/pinot/README.rst | 6 +-
providers/apache/pinot/docs/changelog.rst | 21 +
providers/apache/pinot/docs/index.rst | 6 +-
providers/apache/pinot/provider.yaml | 3 +-
providers/apache/pinot/pyproject.toml | 6 +-
.../src/airflow/providers/apache/pinot/__init__.py | 2 +-
providers/apache/spark/README.rst | 6 +-
providers/apache/spark/docs/changelog.rst | 27 +
providers/apache/spark/docs/index.rst | 6 +-
providers/apache/spark/provider.yaml | 3 +-
providers/apache/spark/pyproject.toml | 6 +-
.../src/airflow/providers/apache/spark/__init__.py | 2 +-
.../providers/apache/spark/hooks/spark_submit.py | 48 +-
.../unit/apache/spark/hooks/test_spark_submit.py | 491 +++++++-----
providers/apache/tinkerpop/README.rst | 6 +-
providers/apache/tinkerpop/docs/changelog.rst | 17 +
providers/apache/tinkerpop/docs/index.rst | 6 +-
providers/apache/tinkerpop/provider.yaml | 3 +-
providers/apache/tinkerpop/pyproject.toml | 6 +-
.../airflow/providers/apache/tinkerpop/__init__.py | 2 +-
providers/apprise/README.rst | 6 +-
providers/apprise/docs/changelog.rst | 17 +
providers/apprise/docs/index.rst | 6 +-
providers/apprise/provider.yaml | 3 +-
providers/apprise/pyproject.toml | 6 +-
.../src/airflow/providers/apprise/__init__.py | 2 +-
providers/arangodb/README.rst | 6 +-
providers/arangodb/docs/changelog.rst | 17 +
providers/arangodb/docs/index.rst | 6 +-
providers/arangodb/provider.yaml | 3 +-
providers/arangodb/pyproject.toml | 6 +-
.../src/airflow/providers/arangodb/__init__.py | 2 +-
providers/asana/README.rst | 6 +-
providers/asana/docs/changelog.rst | 17 +
providers/asana/docs/index.rst | 6 +-
providers/asana/provider.yaml | 3 +-
providers/asana/pyproject.toml | 6 +-
.../asana/src/airflow/providers/asana/__init__.py | 2 +-
providers/atlassian/jira/README.rst | 6 +-
providers/atlassian/jira/docs/changelog.rst | 17 +
providers/atlassian/jira/docs/index.rst | 6 +-
providers/atlassian/jira/provider.yaml | 3 +-
providers/atlassian/jira/pyproject.toml | 6 +-
.../airflow/providers/atlassian/jira/__init__.py | 2 +-
providers/celery/README.rst | 6 +-
providers/celery/docs/changelog.rst | 28 +
providers/celery/docs/index.rst | 6 +-
providers/celery/provider.yaml | 3 +-
providers/celery/pyproject.toml | 6 +-
.../src/airflow/providers/celery/__init__.py | 2 +-
providers/clickhousedb/README.rst | 6 +-
providers/clickhousedb/docs/changelog.rst | 28 +
providers/clickhousedb/docs/index.rst | 6 +-
providers/clickhousedb/provider.yaml | 3 +-
providers/clickhousedb/pyproject.toml | 6 +-
.../src/airflow/providers/clickhousedb/__init__.py | 2 +-
providers/cloudant/README.rst | 6 +-
providers/cloudant/docs/changelog.rst | 17 +
providers/cloudant/docs/index.rst | 6 +-
providers/cloudant/provider.yaml | 3 +-
providers/cloudant/pyproject.toml | 6 +-
.../src/airflow/providers/cloudant/__init__.py | 2 +-
providers/cncf/kubernetes/README.rst | 6 +-
providers/cncf/kubernetes/docs/changelog.rst | 30 +
providers/cncf/kubernetes/docs/index.rst | 6 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 6 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
providers/cohere/README.rst | 6 +-
providers/cohere/docs/changelog.rst | 17 +
providers/cohere/docs/index.rst | 6 +-
providers/cohere/provider.yaml | 3 +-
providers/cohere/pyproject.toml | 6 +-
.../src/airflow/providers/cohere/__init__.py | 2 +-
providers/common/ai/README.rst | 13 +-
providers/common/ai/docs/changelog.rst | 82 ++
providers/common/ai/docs/hitl_review.rst | 9 +-
providers/common/ai/docs/index.rst | 8 +-
providers/common/ai/docs/observability.rst | 18 +-
providers/common/ai/docs/toolsets/index.rst | 26 +-
.../common/ai/docs/toolsets/managed_agent.rst | 8 +
providers/common/ai/docs/toolsets/sql.rst | 4 +-
providers/common/ai/provider.yaml | 3 +-
providers/common/ai/pyproject.toml | 8 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../providers/common/ai/mixins/hitl_review.py | 21 +-
.../airflow/providers/common/ai/operators/agent.py | 11 +-
.../airflow/providers/common/ai/operators/llm.py | 27 +-
.../providers/common/ai/operators/llm_branch.py | 6 +-
.../common/ai/operators/llm_schema_compare.py | 4 +
.../providers/common/ai/operators/llm_sql.py | 5 +-
.../providers/common/ai/toolsets/__init__.py | 9 +
.../airflow/providers/common/ai/toolsets/sql.py | 41 +-
.../airflow/providers/common/ai/utils/logging.py | 6 +
.../ai/decorators/test_llm_schema_compare.py | 14 +
.../unit/common/ai/decorators/test_llm_sql.py | 12 +
.../unit/common/ai/managed_agents/test_failover.py | 7 +-
.../unit/common/ai/mixins/test_hitl_review.py | 37 +-
.../tests/unit/common/ai/operators/test_agent.py | 43 +-
.../ai/tests/unit/common/ai/operators/test_llm.py | 19 +-
.../unit/common/ai/operators/test_llm_branch.py | 19 +-
.../common/ai/operators/test_llm_schema_compare.py | 6 +
.../tests/unit/common/ai/operators/test_llm_sql.py | 4 +
.../ai/tests/unit/common/ai/policies/test_retry.py | 18 +-
.../ai/tests/unit/common/ai/sandbox/test_base.py | 2 +-
.../ai/tests/unit/common/ai/sandbox/test_modal.py | 12 +-
.../unit/common/ai/toolsets/test_managed_agent.py | 9 +-
.../tests/unit/common/ai/toolsets/test_sandbox.py | 21 +-
.../ai/tests/unit/common/ai/toolsets/test_sql.py | 62 ++
.../unit/common/ai/utils/test_toolset_base.py | 4 +-
providers/common/compat/README.rst | 6 +-
providers/common/compat/docs/changelog.rst | 27 +
providers/common/compat/docs/index.rst | 6 +-
providers/common/compat/provider.yaml | 3 +-
providers/common/compat/pyproject.toml | 6 +-
.../airflow/providers/common/compat/__init__.py | 2 +-
providers/common/io/README.rst | 6 +-
providers/common/io/docs/changelog.rst | 14 +
providers/common/io/docs/index.rst | 6 +-
providers/common/io/provider.yaml | 3 +-
providers/common/io/pyproject.toml | 6 +-
.../io/src/airflow/providers/common/io/__init__.py | 2 +-
providers/common/messaging/README.rst | 6 +-
providers/common/messaging/docs/changelog.rst | 17 +
providers/common/messaging/docs/index.rst | 6 +-
providers/common/messaging/provider.yaml | 3 +-
providers/common/messaging/pyproject.toml | 6 +-
.../airflow/providers/common/messaging/__init__.py | 2 +-
providers/common/sql/README.rst | 8 +-
providers/common/sql/docs/changelog.rst | 27 +
providers/common/sql/docs/index.rst | 6 +-
providers/common/sql/provider.yaml | 3 +-
providers/common/sql/pyproject.toml | 6 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
providers/databricks/README.rst | 10 +-
providers/databricks/docs/changelog.rst | 25 +
providers/databricks/docs/index.rst | 8 +-
providers/databricks/provider.yaml | 3 +-
providers/databricks/pyproject.toml | 8 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
providers/datadog/README.rst | 6 +-
providers/datadog/docs/changelog.rst | 17 +
providers/datadog/docs/index.rst | 6 +-
providers/datadog/provider.yaml | 3 +-
providers/datadog/pyproject.toml | 6 +-
.../src/airflow/providers/datadog/__init__.py | 2 +-
providers/dbt/cloud/README.rst | 6 +-
providers/dbt/cloud/docs/changelog.rst | 27 +
providers/dbt/cloud/docs/index.rst | 6 +-
providers/dbt/cloud/provider.yaml | 3 +-
providers/dbt/cloud/pyproject.toml | 6 +-
.../src/airflow/providers/dbt/cloud/__init__.py | 2 +-
providers/dingding/README.rst | 6 +-
providers/dingding/docs/changelog.rst | 17 +
providers/dingding/docs/index.rst | 6 +-
providers/dingding/provider.yaml | 3 +-
providers/dingding/pyproject.toml | 6 +-
.../src/airflow/providers/dingding/__init__.py | 2 +-
providers/discord/README.rst | 6 +-
providers/discord/docs/changelog.rst | 26 +
providers/discord/docs/index.rst | 6 +-
providers/discord/provider.yaml | 3 +-
providers/discord/pyproject.toml | 6 +-
.../src/airflow/providers/discord/__init__.py | 2 +-
providers/docker/README.rst | 6 +-
providers/docker/docs/changelog.rst | 17 +
providers/docker/docs/index.rst | 6 +-
providers/docker/provider.yaml | 3 +-
providers/docker/pyproject.toml | 6 +-
.../src/airflow/providers/docker/__init__.py | 2 +-
providers/duckdb/README.rst | 6 +-
providers/duckdb/docs/changelog.rst | 17 +
providers/duckdb/docs/commits.rst | 4 +-
providers/duckdb/docs/index.rst | 6 +-
providers/duckdb/provider.yaml | 3 +-
providers/duckdb/pyproject.toml | 6 +-
.../src/airflow/providers/duckdb/__init__.py | 2 +-
providers/edge3/docs/changelog.rst | 17 +-
providers/edge3/provider.yaml | 2 +-
providers/elasticsearch/README.rst | 6 +-
providers/elasticsearch/docs/changelog.rst | 25 +
providers/elasticsearch/docs/index.rst | 6 +-
providers/elasticsearch/provider.yaml | 3 +-
providers/elasticsearch/pyproject.toml | 6 +-
.../airflow/providers/elasticsearch/__init__.py | 2 +-
providers/exasol/README.rst | 14 +-
providers/exasol/docs/changelog.rst | 22 +
providers/exasol/docs/index.rst | 6 +-
providers/exasol/provider.yaml | 3 +-
providers/exasol/pyproject.toml | 6 +-
.../src/airflow/providers/exasol/__init__.py | 2 +-
providers/fab/README.rst | 6 +-
providers/fab/docs/changelog.rst | 30 +
providers/fab/docs/index.rst | 6 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 6 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
providers/facebook/README.rst | 6 +-
providers/facebook/docs/changelog.rst | 21 +
providers/facebook/docs/index.rst | 6 +-
providers/facebook/provider.yaml | 3 +-
providers/facebook/pyproject.toml | 6 +-
.../src/airflow/providers/facebook/__init__.py | 2 +-
providers/ftp/README.rst | 6 +-
providers/ftp/docs/changelog.rst | 22 +
providers/ftp/docs/index.rst | 6 +-
providers/ftp/provider.yaml | 3 +-
providers/ftp/pyproject.toml | 6 +-
.../ftp/src/airflow/providers/ftp/__init__.py | 2 +-
providers/git/README.rst | 6 +-
providers/git/docs/changelog.rst | 24 +
providers/git/docs/index.rst | 6 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 6 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
providers/github/README.rst | 6 +-
providers/github/docs/changelog.rst | 17 +
providers/github/docs/index.rst | 6 +-
providers/github/provider.yaml | 3 +-
providers/github/pyproject.toml | 6 +-
.../src/airflow/providers/github/__init__.py | 2 +-
providers/google/README.rst | 16 +-
providers/google/docs/changelog.rst | 51 ++
providers/google/docs/index.rst | 8 +-
providers/google/provider.yaml | 3 +-
providers/google/pyproject.toml | 8 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../providers/google/cloud/hooks/datafusion.py | 7 +-
.../providers/google/cloud/sensors/datafusion.py | 11 +-
.../unit/google/cloud/hooks/test_datafusion.py | 38 +
.../unit/google/cloud/sensors/test_datafusion.py | 35 +-
providers/grpc/README.rst | 6 +-
providers/grpc/docs/changelog.rst | 17 +
providers/grpc/docs/index.rst | 6 +-
providers/grpc/provider.yaml | 3 +-
providers/grpc/pyproject.toml | 6 +-
.../grpc/src/airflow/providers/grpc/__init__.py | 2 +-
providers/hashicorp/README.rst | 8 +-
providers/hashicorp/docs/changelog.rst | 22 +
providers/hashicorp/docs/index.rst | 6 +-
providers/hashicorp/provider.yaml | 3 +-
providers/hashicorp/pyproject.toml | 6 +-
.../src/airflow/providers/hashicorp/__init__.py | 2 +-
providers/http/README.rst | 6 +-
providers/http/docs/changelog.rst | 28 +
providers/http/docs/index.rst | 6 +-
providers/http/provider.yaml | 3 +-
providers/http/pyproject.toml | 6 +-
.../http/src/airflow/providers/http/__init__.py | 2 +-
providers/ibm/db2/README.rst | 121 +--
providers/ibm/mq/README.rst | 43 +-
providers/imap/README.rst | 6 +-
providers/imap/docs/changelog.rst | 17 +
providers/imap/docs/index.rst | 6 +-
providers/imap/provider.yaml | 3 +-
providers/imap/pyproject.toml | 6 +-
.../imap/src/airflow/providers/imap/__init__.py | 2 +-
providers/influxdb/README.rst | 6 +-
providers/influxdb/docs/changelog.rst | 22 +
providers/influxdb/docs/index.rst | 6 +-
providers/influxdb/provider.yaml | 3 +-
providers/influxdb/pyproject.toml | 6 +-
.../src/airflow/providers/influxdb/__init__.py | 2 +-
providers/informatica/README.rst | 6 +-
providers/informatica/docs/changelog.rst | 19 +
providers/informatica/docs/index.rst | 6 +-
providers/informatica/provider.yaml | 3 +-
providers/informatica/pyproject.toml | 6 +-
.../src/airflow/providers/informatica/__init__.py | 2 +-
providers/jdbc/README.rst | 8 +-
providers/jdbc/docs/changelog.rst | 15 +
providers/jdbc/docs/index.rst | 6 +-
providers/jdbc/provider.yaml | 3 +-
providers/jdbc/pyproject.toml | 6 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +-
providers/jenkins/README.rst | 6 +-
providers/jenkins/docs/changelog.rst | 23 +
providers/jenkins/docs/index.rst | 6 +-
providers/jenkins/provider.yaml | 3 +-
providers/jenkins/pyproject.toml | 6 +-
.../src/airflow/providers/jenkins/__init__.py | 2 +-
providers/keycloak/README.rst | 6 +-
providers/keycloak/docs/changelog.rst | 23 +
providers/keycloak/docs/index.rst | 6 +-
providers/keycloak/provider.yaml | 3 +-
providers/keycloak/pyproject.toml | 6 +-
.../src/airflow/providers/keycloak/__init__.py | 2 +-
providers/microsoft/azure/README.rst | 8 +-
providers/microsoft/azure/docs/changelog.rst | 27 +
providers/microsoft/azure/docs/index.rst | 8 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 8 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
providers/microsoft/mssql/README.rst | 6 +-
providers/microsoft/mssql/docs/changelog.rst | 21 +
providers/microsoft/mssql/docs/index.rst | 6 +-
providers/microsoft/mssql/provider.yaml | 3 +-
providers/microsoft/mssql/pyproject.toml | 6 +-
.../airflow/providers/microsoft/mssql/__init__.py | 2 +-
providers/microsoft/psrp/README.rst | 6 +-
providers/microsoft/psrp/docs/changelog.rst | 17 +
providers/microsoft/psrp/docs/index.rst | 6 +-
providers/microsoft/psrp/provider.yaml | 3 +-
providers/microsoft/psrp/pyproject.toml | 6 +-
.../airflow/providers/microsoft/psrp/__init__.py | 2 +-
providers/microsoft/winrm/README.rst | 6 +-
providers/microsoft/winrm/docs/changelog.rst | 17 +
providers/microsoft/winrm/docs/index.rst | 6 +-
providers/microsoft/winrm/provider.yaml | 3 +-
providers/microsoft/winrm/pyproject.toml | 6 +-
.../airflow/providers/microsoft/winrm/__init__.py | 2 +-
providers/modal/README.rst | 1 -
providers/mongo/README.rst | 6 +-
providers/mongo/docs/changelog.rst | 17 +
providers/mongo/docs/index.rst | 6 +-
providers/mongo/provider.yaml | 3 +-
providers/mongo/pyproject.toml | 6 +-
.../mongo/src/airflow/providers/mongo/__init__.py | 2 +-
providers/mysql/README.rst | 6 +-
providers/mysql/docs/changelog.rst | 17 +
providers/mysql/docs/index.rst | 6 +-
providers/mysql/provider.yaml | 3 +-
providers/mysql/pyproject.toml | 6 +-
.../mysql/src/airflow/providers/mysql/__init__.py | 2 +-
providers/neo4j/README.rst | 6 +-
providers/neo4j/docs/changelog.rst | 17 +
providers/neo4j/docs/index.rst | 6 +-
providers/neo4j/provider.yaml | 3 +-
providers/neo4j/pyproject.toml | 6 +-
.../neo4j/src/airflow/providers/neo4j/__init__.py | 2 +-
providers/odbc/README.rst | 6 +-
providers/odbc/docs/changelog.rst | 19 +
providers/odbc/docs/index.rst | 6 +-
providers/odbc/provider.yaml | 3 +-
providers/odbc/pyproject.toml | 6 +-
.../odbc/src/airflow/providers/odbc/__init__.py | 2 +-
providers/openai/README.rst | 6 +-
providers/openai/docs/changelog.rst | 27 +
providers/openai/docs/commits.rst | 2 +-
providers/openai/docs/index.rst | 6 +-
providers/openai/provider.yaml | 3 +-
providers/openai/pyproject.toml | 6 +-
.../src/airflow/providers/openai/__init__.py | 2 +-
providers/openfaas/README.rst | 6 +-
providers/openfaas/docs/changelog.rst | 21 +
providers/openfaas/docs/index.rst | 6 +-
providers/openfaas/provider.yaml | 3 +-
providers/openfaas/pyproject.toml | 6 +-
.../src/airflow/providers/openfaas/__init__.py | 2 +-
providers/openlineage/README.rst | 14 +-
providers/openlineage/docs/changelog.rst | 25 +
providers/openlineage/docs/index.rst | 6 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 6 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
providers/opensearch/README.rst | 6 +-
providers/opensearch/docs/changelog.rst | 30 +
providers/opensearch/docs/index.rst | 6 +-
providers/opensearch/provider.yaml | 3 +-
providers/opensearch/pyproject.toml | 6 +-
.../src/airflow/providers/opensearch/__init__.py | 2 +-
providers/opsgenie/README.rst | 6 +-
providers/opsgenie/docs/changelog.rst | 18 +
providers/opsgenie/docs/index.rst | 6 +-
providers/opsgenie/provider.yaml | 3 +-
providers/opsgenie/pyproject.toml | 6 +-
.../src/airflow/providers/opsgenie/__init__.py | 2 +-
providers/oracle/README.rst | 12 +-
providers/oracle/docs/changelog.rst | 17 +
providers/oracle/docs/index.rst | 6 +-
providers/oracle/provider.yaml | 3 +-
providers/oracle/pyproject.toml | 6 +-
.../src/airflow/providers/oracle/__init__.py | 2 +-
providers/pagerduty/README.rst | 6 +-
providers/pagerduty/docs/changelog.rst | 17 +
providers/pagerduty/docs/index.rst | 6 +-
providers/pagerduty/provider.yaml | 3 +-
providers/pagerduty/pyproject.toml | 6 +-
.../src/airflow/providers/pagerduty/__init__.py | 2 +-
providers/papermill/README.rst | 6 +-
providers/papermill/docs/changelog.rst | 20 +
providers/papermill/docs/index.rst | 6 +-
providers/papermill/provider.yaml | 3 +-
providers/papermill/pyproject.toml | 6 +-
.../src/airflow/providers/papermill/__init__.py | 2 +-
providers/pgvector/README.rst | 6 +-
providers/pgvector/docs/changelog.rst | 20 +
providers/pgvector/docs/index.rst | 6 +-
providers/pgvector/provider.yaml | 3 +-
providers/pgvector/pyproject.toml | 6 +-
.../src/airflow/providers/pgvector/__init__.py | 2 +-
providers/pinecone/README.rst | 6 +-
providers/pinecone/docs/changelog.rst | 17 +
providers/pinecone/docs/index.rst | 6 +-
providers/pinecone/provider.yaml | 3 +-
providers/pinecone/pyproject.toml | 6 +-
.../src/airflow/providers/pinecone/__init__.py | 2 +-
providers/postgres/README.rst | 8 +-
providers/postgres/docs/changelog.rst | 23 +
providers/postgres/docs/index.rst | 6 +-
providers/postgres/provider.yaml | 3 +-
providers/postgres/pyproject.toml | 6 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
providers/presto/README.rst | 8 +-
providers/presto/docs/changelog.rst | 22 +
providers/presto/docs/index.rst | 6 +-
providers/presto/provider.yaml | 3 +-
providers/presto/pyproject.toml | 6 +-
.../src/airflow/providers/presto/__init__.py | 2 +-
providers/qdrant/README.rst | 6 +-
providers/qdrant/docs/changelog.rst | 17 +
providers/qdrant/docs/index.rst | 6 +-
providers/qdrant/provider.yaml | 3 +-
providers/qdrant/pyproject.toml | 6 +-
.../src/airflow/providers/qdrant/__init__.py | 2 +-
providers/redis/README.rst | 6 +-
providers/redis/docs/changelog.rst | 17 +
providers/redis/docs/index.rst | 6 +-
providers/redis/provider.yaml | 3 +-
providers/redis/pyproject.toml | 6 +-
.../redis/src/airflow/providers/redis/__init__.py | 2 +-
providers/salesforce/README.rst | 6 +-
providers/salesforce/docs/changelog.rst | 18 +
providers/salesforce/docs/index.rst | 6 +-
providers/salesforce/provider.yaml | 3 +-
providers/salesforce/pyproject.toml | 6 +-
.../src/airflow/providers/salesforce/__init__.py | 2 +-
providers/samba/README.rst | 6 +-
providers/samba/docs/changelog.rst | 17 +
providers/samba/docs/index.rst | 6 +-
providers/samba/provider.yaml | 3 +-
providers/samba/pyproject.toml | 6 +-
.../samba/src/airflow/providers/samba/__init__.py | 2 +-
providers/segment/README.rst | 6 +-
providers/segment/docs/changelog.rst | 17 +
providers/segment/docs/index.rst | 6 +-
providers/segment/provider.yaml | 3 +-
providers/segment/pyproject.toml | 6 +-
.../src/airflow/providers/segment/__init__.py | 2 +-
providers/sendgrid/README.rst | 6 +-
providers/sendgrid/docs/changelog.rst | 23 +
providers/sendgrid/docs/index.rst | 6 +-
providers/sendgrid/provider.yaml | 3 +-
providers/sendgrid/pyproject.toml | 6 +-
.../src/airflow/providers/sendgrid/__init__.py | 2 +-
providers/sftp/README.rst | 8 +-
providers/sftp/docs/changelog.rst | 28 +
providers/sftp/docs/index.rst | 8 +-
providers/sftp/provider.yaml | 3 +-
providers/sftp/pyproject.toml | 8 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 2 +-
providers/singularity/README.rst | 6 +-
providers/singularity/docs/changelog.rst | 21 +
providers/singularity/docs/index.rst | 6 +-
providers/singularity/provider.yaml | 3 +-
providers/singularity/pyproject.toml | 6 +-
.../src/airflow/providers/singularity/__init__.py | 2 +-
providers/slack/README.rst | 6 +-
providers/slack/docs/changelog.rst | 23 +
providers/slack/docs/index.rst | 6 +-
providers/slack/provider.yaml | 3 +-
providers/slack/pyproject.toml | 6 +-
.../slack/src/airflow/providers/slack/__init__.py | 2 +-
providers/smtp/README.rst | 6 +-
providers/smtp/docs/changelog.rst | 23 +
providers/smtp/docs/index.rst | 6 +-
providers/smtp/provider.yaml | 3 +-
providers/smtp/pyproject.toml | 6 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 2 +-
providers/snowflake/README.rst | 16 +-
providers/snowflake/docs/changelog.rst | 31 +
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 6 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
providers/sqlite/README.rst | 6 +-
providers/sqlite/docs/changelog.rst | 23 +
providers/sqlite/docs/index.rst | 6 +-
providers/sqlite/provider.yaml | 3 +-
providers/sqlite/pyproject.toml | 6 +-
.../src/airflow/providers/sqlite/__init__.py | 2 +-
providers/ssh/README.rst | 6 +-
providers/ssh/docs/changelog.rst | 27 +
providers/ssh/docs/index.rst | 6 +-
providers/ssh/provider.yaml | 3 +-
providers/ssh/pyproject.toml | 6 +-
.../ssh/src/airflow/providers/ssh/__init__.py | 2 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 25 +
providers/standard/docs/index.rst | 6 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
providers/tableau/README.rst | 6 +-
providers/tableau/docs/changelog.rst | 17 +
providers/tableau/docs/index.rst | 6 +-
providers/tableau/provider.yaml | 3 +-
providers/tableau/pyproject.toml | 6 +-
.../src/airflow/providers/tableau/__init__.py | 2 +-
providers/telegram/README.rst | 6 +-
providers/telegram/docs/changelog.rst | 18 +
providers/telegram/docs/index.rst | 6 +-
providers/telegram/provider.yaml | 3 +-
providers/telegram/pyproject.toml | 6 +-
.../src/airflow/providers/telegram/__init__.py | 2 +-
providers/teradata/README.rst | 8 +-
providers/teradata/docs/changelog.rst | 19 +
providers/teradata/docs/index.rst | 6 +-
providers/teradata/provider.yaml | 3 +-
providers/teradata/pyproject.toml | 6 +-
.../src/airflow/providers/teradata/__init__.py | 2 +-
providers/trino/README.rst | 6 +-
providers/trino/docs/changelog.rst | 17 +
providers/trino/docs/index.rst | 6 +-
providers/trino/provider.yaml | 3 +-
providers/trino/pyproject.toml | 6 +-
.../trino/src/airflow/providers/trino/__init__.py | 2 +-
providers/vertica/README.rst | 14 +-
providers/vertica/docs/changelog.rst | 28 +
providers/vertica/docs/index.rst | 6 +-
providers/vertica/provider.yaml | 3 +-
providers/vertica/pyproject.toml | 6 +-
.../src/airflow/providers/vertica/__init__.py | 2 +-
providers/vespa/README.rst | 6 +-
providers/vespa/docs/changelog.rst | 21 +
providers/vespa/docs/index.rst | 6 +-
providers/vespa/provider.yaml | 3 +-
providers/vespa/pyproject.toml | 6 +-
.../vespa/src/airflow/providers/vespa/__init__.py | 2 +-
providers/weaviate/README.rst | 6 +-
providers/weaviate/docs/changelog.rst | 17 +
providers/weaviate/docs/index.rst | 6 +-
providers/weaviate/provider.yaml | 3 +-
providers/weaviate/pyproject.toml | 6 +-
.../src/airflow/providers/weaviate/__init__.py | 2 +-
providers/yandex/README.rst | 6 +-
providers/yandex/docs/changelog.rst | 17 +
providers/yandex/docs/index.rst | 6 +-
providers/yandex/provider.yaml | 3 +-
providers/yandex/pyproject.toml | 6 +-
.../src/airflow/providers/yandex/__init__.py | 2 +-
providers/ydb/README.rst | 14 +-
providers/ydb/docs/changelog.rst | 16 +
providers/ydb/docs/index.rst | 6 +-
providers/ydb/provider.yaml | 3 +-
providers/ydb/pyproject.toml | 6 +-
.../ydb/src/airflow/providers/ydb/__init__.py | 2 +-
providers/zendesk/README.rst | 6 +-
providers/zendesk/docs/changelog.rst | 21 +
providers/zendesk/docs/index.rst | 6 +-
providers/zendesk/provider.yaml | 3 +-
providers/zendesk/pyproject.toml | 6 +-
.../src/airflow/providers/zendesk/__init__.py | 2 +-
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 26 +-
scripts/ci/lang_sdk_serialization/test_dags.yaml | 7 +-
scripts/ci/prek/check_applies_to_roots_in_sync.py | 117 +++
scripts/ci/prek/check_xcom_model_columns.py | 2 +-
...nc_go_sdk_schemas.py => sync_ts_sdk_schemas.py} | 66 +-
.../ci/prek/test_check_applies_to_roots_in_sync.py | 84 ++
..._sdk_schemas.py => test_sync_ts_sdk_schemas.py} | 39 +-
shared/dagnode/src/airflow_shared/dagnode/node.py | 113 ++-
shared/dagnode/tests/dagnode/test_node.py | 36 +-
.../observability/metrics/metrics_template.yaml | 6 +-
task-sdk/src/airflow/sdk/definitions/taskgroup.py | 45 +-
task-sdk/src/airflow/sdk/log.py | 15 +-
task-sdk/tests/task_sdk/definitions/test_dag.py | 12 +
task-sdk/tests/task_sdk/test_log.py | 89 +++
ts-sdk/.pre-commit-config.yaml | 1 +
ts-sdk/README.md | 283 ++-----
ts-sdk/docs/index.md | 68 +-
ts-sdk/example/README.md | 30 +-
ts-sdk/pnpm-lock.yaml | 270 ++++---
{go-sdk => ts-sdk}/schema/supervisor-schema.json | 0
ts-sdk/scripts/ci/prek/check_supervisor_schema.py | 4 +-
ts-sdk/scripts/ci/prek/sync_dag_schema.py | 65 --
ts-sdk/scripts/generate-dag-schema.mjs | 2 +-
ts-sdk/scripts/generate-supervisor.mjs | 7 +-
uv.lock | 211 +++--
871 files changed, 10514 insertions(+), 6233 deletions(-)
create mode 100644 airflow-core/newsfragments/66633.bugfix.rst
create mode 100644
airflow-core/src/airflow/ui/src/components/Breadcrumb/CrumbSwitcher.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/RunBackfillForm.dateRange.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/SearchDags/SearchDagsControl.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/SearchDags/index.ts
create mode 100644 airflow-core/src/airflow/ui/src/components/SearchSelect.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/DagRunSwitcherButton.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchDagRuns.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchDagRuns.tsx
rename airflow-core/src/airflow/ui/src/{components/SearchDags =>
layouts/Details}/SearchDags.test.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/SearchDags =>
layouts/Details}/SearchDags.tsx (60%)
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/searchOptions.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/searchOptions.ts
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Calendar/Calendar.failedView.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Calendar/Calendar.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/Dag/Code/Code.test.tsx
copy airflow-core/src/airflow/ui/src/pages/Dag/{DagHeader.test.tsx =>
RequiredActionsRoute.test.tsx} (51%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Tasks/Tasks.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/XCom/XCom.test.tsx
delete mode 100644 airflow-core/src/airflow/ui/tests/e2e/pages/DagDetailPage.ts
delete mode 100644
airflow-core/src/airflow/ui/tests/e2e/specs/dag-detail.spec.ts
delete mode 100644
airflow-e2e-tests/tests/airflow_e2e_tests/go_sdk_tests/test_go_sdk_native_dag.py
delete mode 100644 go-sdk/example/native/main.go
delete mode 100644 go-sdk/example/native/report.go
create mode 100644
java-sdk/example/src/java/org/apache/airflow/example/nativedag/TargetExample.java
delete mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Branch.kt
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Switch.kt
delete mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/BranchTest.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/SwitchTest.kt
copy providers/amazon/docs/transfer/{redshift_to_s3.rst => exasol_to_s3.rst}
(51%)
copy providers/amazon/tests/system/amazon/aws/{example_ftp_to_s3.py =>
example_exasol_to_s3.py} (71%)
create mode 100755 scripts/ci/prek/check_applies_to_roots_in_sync.py
copy scripts/ci/prek/{sync_go_sdk_schemas.py => sync_ts_sdk_schemas.py} (56%)
create mode 100644 scripts/tests/ci/prek/test_check_applies_to_roots_in_sync.py
copy scripts/tests/ci/prek/{test_sync_go_sdk_schemas.py =>
test_sync_ts_sdk_schemas.py} (75%)
create mode 100644 task-sdk/tests/task_sdk/test_log.py
copy {go-sdk => ts-sdk}/schema/supervisor-schema.json (100%)
delete mode 100755 ts-sdk/scripts/ci/prek/sync_dag_schema.py