This is an automated email from the ASF dual-hosted git repository.
ashb pushed a change to branch xcom-mapped-length-check-not-valid
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard ce7ee776425 Remove slow-on-MySQL and now needless CHECK CONSTRAINT
add 96582adf66f Respect run on latest version when clearing a running Dag
run (#71425)
add ccd96d21597 Regenerate the stale TS SDK supervisor types (#74412)
add 11cbf4da098 Allow a custom Kubernetes client factory for
KubernetesExecutor (#73014)
add 57183056ca7 Fix AsyncToSync error in Databricks deferrable operators
on Airflow 3.0 (#74406)
add 0b4039e250c Upgrade UI major dependencies: msw, vitest, react-table
and mermaid (#74369)
add 8b115c0be65 Verify SSH host keys by default in SSH and SFTP hooks
(#73419)
add 77e0906dc31 Scope plugin views on any entity field, not a fixed
criteria set (#74278)
add 4da2ad1e2b3 Document HTTP statuses that route helpers raise (#74027)
add 05dec276c72 Let the task endpoint describe a task at a given Dag
version (#74365)
add 19d20a091dc UI: Add 'Mark as Skipped' option to Task Instance actions
(#72425)
add d38e9ceb749 Fix date range filter inputs committing on every keystroke
(#74011)
add 37032a47d49 Bump the fab-ui-package-updates group across 1 directory
with 2 updates (#74418)
add 37dad4c1df2 Fix codespell failure on main in DateRangeFilter test
(#74430)
add fe4481cc8e5 Fix Databricks async connection test on Airflow before 3.1
(#74427)
add 8043c703de1 Java SDK: Group a native Dag's tasks with task groups
(#74230)
add 1921597eeff Go SDK: embed each native Dag's source file in the bundle
(#74342)
add 01b977568e2 Java SDK: Serialize native Dags to DagSerialization v3
(#71190)
add 46d3c59dfec Parse native Go Dags and show each Dag's own source
(#74341)
add ddb905f0ee0 Fix airflowctl dags get-tags crashing whenever a Dag has
tags (#73743)
add 9c9346c8065 Reconnect SMTP hooks after leaving a context manager
(#74416)
add 08205150190 i18n(ko): Align particles after Dag with the agreed
pronunciation (#73799)
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 875f7b60b50 Remove slow-on-MySQL and now needless CHECK CONSTRAINT
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 (ce7ee776425)
\
N -- N -- N refs/heads/xcom-mapped-length-check-not-valid
(875f7b60b50)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.agents/skills/airflow-translations/locales/ko.md | 18 +
.pre-commit-config.yaml | 19 +
.../0007-taskflow-across-language-boundary.md | 5 +
.../0015-per-dag-source-in-bundle-artifact.md | 13 +-
.../docs/administration-and-deployment/plugins.rst | 172 ++++--
.../authoring-and-scheduling/language-sdks/go.rst | 64 ++-
.../language-sdks/java.rst | 76 ++-
airflow-core/docs/core-concepts/tasks.rst | 23 +-
airflow-core/newsfragments/66633.bugfix.rst | 1 +
airflow-core/newsfragments/69148.feature.rst | 1 -
airflow-core/newsfragments/74278.feature.rst | 1 +
.../api_fastapi/core_api/datamodels/plugins.py | 31 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 6 +
.../core_api/openapi/v2-rest-api-generated.yaml | 86 +--
.../core_api/routes/public/task_state_store.py | 2 +-
.../api_fastapi/core_api/routes/public/tasks.py | 29 +-
.../api_fastapi/core_api/routes/ui/calendar.py | 4 +-
.../api_fastapi/execution_api/routes/hitl.py | 6 +-
.../execution_api/routes/task_instances.py | 12 +-
airflow-core/src/airflow/models/dagrun.py | 4 +-
airflow-core/src/airflow/models/taskinstance.py | 107 ++--
airflow-core/src/airflow/plugins_manager.py | 216 +++++++-
.../src/airflow/ui/openapi-gen/queries/common.ts | 5 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 10 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 10 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 10 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 10 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 84 +--
.../ui/openapi-gen/requests/services.gen.ts | 10 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 24 +-
airflow-core/src/airflow/ui/package.json | 10 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 599 ++++++++++-----------
.../ui/public/i18n/locales/ar/components.json | 1 -
.../ui/public/i18n/locales/ca/components.json | 1 -
.../ui/public/i18n/locales/de/components.json | 1 -
.../ui/public/i18n/locales/el/components.json | 1 -
.../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 -
.../airflow/ui/public/i18n/locales/ko/assets.json | 4 +-
.../ui/public/i18n/locales/ko/components.json | 5 +-
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 2 +-
.../airflow/ui/public/i18n/locales/ko/dags.json | 4 +-
.../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/ActionAccordion/columns.tsx | 9 +-
.../ui/src/components/Assets/AssetEvent.test.tsx | 2 +-
.../src/components/Assets/TriggeredRuns.test.tsx | 2 +-
.../src/components/Banner/BackfillBanner.test.tsx | 2 +-
.../src/components/Banner/DrainingBanner.test.tsx | 2 +-
.../TaskInstance/ClearTaskInstanceDialog.test.tsx | 4 +-
.../src/airflow/ui/src/components/ConfigForm.tsx | 71 ++-
.../DagActions/PartitionPreviewTable.tsx | 3 +-
.../components/DagActions/RunBackfillForm.test.tsx | 2 +-
.../components/DagActions/inlineMessage.test.tsx | 2 +-
.../src/components/DagDeactivatedBanner.test.tsx | 2 +-
.../ui/src/components/DataTable/CardList.tsx | 14 +-
.../DataTable/DataTable.columnVisibility.test.tsx | 5 +-
.../DataTable/DataTable.stateChange.test.tsx | 101 ++++
.../ui/src/components/DataTable/DataTable.test.tsx | 40 +-
.../ui/src/components/DataTable/DataTable.tsx | 75 ++-
.../src/components/DataTable/FilterMenuButton.tsx | 12 +-
.../ui/src/components/DataTable/TableList.test.tsx | 11 +-
.../ui/src/components/DataTable/TableList.tsx | 18 +-
.../features.ts} | 27 +-
.../ui/src/components/DataTable/skeleton.tsx | 3 +-
.../airflow/ui/src/components/DataTable/types.ts | 18 +-
.../ui/src/components/FilterBar/FilterBar.test.tsx | 2 +-
.../src/components/FilterBar/filters/DateInput.tsx | 10 +-
.../FilterBar/filters/DateRangeFilter.test.tsx | 164 +++++-
.../FilterBar/filters/DateRangeFilter.tsx | 4 +
.../FilterBar/filters/DateRangeInputs.tsx | 8 +-
.../components/FlexibleForm/FieldObject.test.tsx | 2 +-
.../src/components/FlexibleForm/FlexibleForm.tsx | 163 ++----
.../ui/src/components/Graph/TaskLink.test.tsx | 2 +-
.../ui/src/components/ImportErrorCount.test.tsx | 2 +-
.../airflow/ui/src/components/JsonEditor.test.tsx | 2 +-
.../TaskInstance/MarkTaskInstanceAsButton.tsx | 17 +-
.../TaskInstance/MarkTaskInstanceAsDialog.test.tsx | 71 ++-
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 26 +-
.../airflow/ui/src/components/MarkAs/utils.test.ts | 46 +-
.../src/airflow/ui/src/components/MarkAs/utils.ts | 12 +-
.../ui/src/components/MarkdownModal.test.tsx | 2 +-
.../airflow/ui/src/components/NotePreview.test.tsx | 2 +-
.../src/airflow/ui/src/components/PoolBar.test.tsx | 2 +-
.../ui/src/components/PresetFiltersMenu.test.tsx | 2 +-
.../ui/src/components/RenderedJsonField.test.tsx | 2 +-
.../airflow/ui/src/components/StatsCard.test.tsx | 2 +-
.../ui/src/components/TaskInstanceTooltip.test.tsx | 2 +-
.../airflow/ui/src/components/TeamName.test.tsx | 2 +-
.../airflow/ui/src/components/TogglePause.test.tsx | 2 +-
.../TriggerDag/PausedDagOptions.test.tsx | 2 +-
.../TriggerDag/TriggerDAGAdvancedOptions.tsx | 12 +-
.../TriggerDag/TriggerDAGButton.test.tsx | 2 +-
.../components/TriggerDag/TriggerDAGForm.test.tsx | 16 +-
.../components/TriggerDag/TriggerDAGModal.test.tsx | 2 +-
.../src/components/VersionCompareSelect.test.tsx | 2 +-
.../ui/src/components/renderStructuredLog.test.tsx | 2 +-
.../src/airflow/ui/src/hooks/useDateRangeFilter.ts | 117 ++--
.../ui/src/hooks/usePluginAppliesToContext.test.ts | 12 +
.../ui/src/hooks/usePluginAppliesToContext.ts | 12 +-
.../airflow/ui/src/hooks/usePluginTabs.test.tsx | 10 +-
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 2 +-
.../ui/src/layouts/Details/Grid/Grid.test.tsx | 2 +-
.../src/layouts/Details/Grid/GridButton.test.tsx | 2 +-
.../ui/src/layouts/Details/Grid/GridTI.test.tsx | 2 +-
.../ui/src/layouts/Details/PanelButtons.test.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/DocsButton.test.tsx | 2 +-
.../ui/src/layouts/Nav/LanguageSelector.test.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/Nav.test.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/NavButton.test.tsx | 2 +-
.../ui/src/layouts/Nav/PluginMenus.test.tsx | 2 +-
.../ui/src/layouts/Nav/UserSettingsButton.test.tsx | 2 +-
.../Asset/AssetStateStore/AssetStateStore.tsx | 6 +-
.../src/pages/Asset/CreateAssetEventModal.test.tsx | 2 +-
.../src/airflow/ui/src/pages/Asset/Header.test.tsx | 2 +-
.../ui/src/pages/AssetsList/AssetsList.test.tsx | 4 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 3 +-
.../pages/AssetsList/DependencyPopover.test.tsx | 2 +-
.../src/airflow/ui/src/pages/Configs/Configs.tsx | 3 +-
.../src/pages/Connections/ConnectionForm.test.tsx | 18 +-
.../ui/src/pages/Connections/ConnectionForm.tsx | 84 ++-
.../pages/Connections/ConnectionStandardFields.tsx | 2 +-
.../ui/src/pages/Connections/Connections.tsx | 5 +-
.../pages/Connections/NothingFoundInfo.test.tsx | 2 +-
.../pages/Dag/Backfills/BackfillDagRunsModal.tsx | 3 +-
.../ui/src/pages/Dag/Backfills/Backfills.test.tsx | 2 +-
.../ui/src/pages/Dag/Backfills/Backfills.tsx | 3 +-
.../Dag/Backfills/BackfillsDateFilter.test.tsx | 2 +-
.../ui/src/pages/Dag/Code/FileLocation.test.tsx | 2 +-
.../airflow/ui/src/pages/Dag/DagHeader.test.tsx | 4 +-
.../ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx | 2 +-
.../src/airflow/ui/src/pages/Dag/Header.test.tsx | 2 +-
.../ui/src/pages/Dag/Overview/Overview.test.tsx | 4 +-
.../src/airflow/ui/src/pages/Dag/Tasks/Tasks.tsx | 3 +-
.../pages/Dag/Versions/VersionDiff.i18n.test.tsx | 2 +-
.../ui/src/pages/Dag/Versions/VersionDiff.test.tsx | 2 +-
.../ui/src/pages/Dag/Versions/Versions.test.tsx | 2 +-
.../airflow/ui/src/pages/DagBundle/BundleFiles.tsx | 3 +-
.../ui/src/pages/DagBundles/DagBundles.test.tsx | 4 +-
.../airflow/ui/src/pages/DagBundles/DagBundles.tsx | 3 +-
.../src/pages/DagRuns/BulkDeleteDagRunsButton.tsx | 3 +-
.../airflow/ui/src/pages/DagRuns/DagRuns.test.tsx | 2 +-
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 8 +-
.../DagsList/DagFolderTree/DagFolderTree.test.tsx | 2 +-
.../DagsList/DagsFilters/DagsFilters.test.tsx | 2 +-
.../ui/src/pages/DagsList/DagsList.test.tsx | 4 +-
.../ui/src/pages/DagsList/DagsListColumns.tsx | 3 +-
.../src/pages/DagsList/PartitionScheduleModal.tsx | 3 +-
.../pages/DagsList/RecentTaskStateCountsColumn.tsx | 4 +-
.../ui/src/pages/Dashboard/AlertContent.test.tsx | 2 +-
.../ui/src/pages/Dashboard/Dashboard.test.tsx | 2 +-
.../ui/src/pages/Dashboard/Health/Health.test.tsx | 2 +-
.../Dashboard/PoolSummary/PoolSummary.test.tsx | 2 +-
.../ui/src/pages/Dashboard/Stats/Stats.test.tsx | 2 +-
.../src/airflow/ui/src/pages/Deadlines/index.tsx | 6 +-
.../src/airflow/ui/src/pages/Events/Events.tsx | 3 +-
.../pages/HITLTaskInstances/HITLResponseForm.tsx | 1 -
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 3 +-
airflow-core/src/airflow/ui/src/pages/Jobs.tsx | 8 +-
.../src/airflow/ui/src/pages/LandingPage.test.tsx | 2 +-
.../src/airflow/ui/src/pages/Providers.tsx | 3 +-
.../src/airflow/ui/src/pages/ReactPlugin.test.tsx | 2 +-
.../src/airflow/ui/src/pages/Run/Header.test.tsx | 2 +-
.../ui/src/pages/Task/Overview/Overview.test.tsx | 4 +-
.../ui/src/pages/TaskInstance/DefaultTab.test.tsx | 2 +-
.../ui/src/pages/TaskInstance/Details.test.tsx | 2 +-
.../ui/src/pages/TaskInstance/ExtraLinks.test.tsx | 2 +-
.../ui/src/pages/TaskInstance/Header.test.tsx | 2 +-
.../TaskInstance/Logs/LogSearchInput.test.tsx | 2 +-
.../ui/src/pages/TaskInstance/Logs/Logs.test.tsx | 2 +-
.../pages/TaskInstance/Logs/LogsSelection.test.tsx | 2 +-
.../pages/TaskInstance/RenderedTemplates.test.tsx | 2 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 3 +-
.../ui/src/pages/TaskStateStore/TaskStateStore.tsx | 3 +-
.../airflow/ui/src/pages/Variables/Variables.tsx | 7 +-
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 3 +-
.../airflow/ui/src/pages/XCom/XComEntry.test.tsx | 4 +-
.../airflow/ui/src/queries/useTogglePause.test.tsx | 2 +-
.../airflow/ui/src/utils/pluginAppliesTo.test.ts | 303 +++++++----
.../src/airflow/ui/src/utils/pluginAppliesTo.ts | 202 ++++---
.../renderMermaid.test.ts} | 31 +-
.../src/airflow/ui/src/utils/renderMermaid.ts | 10 +-
airflow-core/src/airflow/ui/testsSetup.ts | 2 +-
.../core_api/routes/public/test_plugins.py | 30 +-
.../core_api/routes/public/test_tasks.py | 35 ++
.../unit/cli/commands/test_plugins_command.py | 4 +-
airflow-core/tests/unit/models/test_cleartasks.py | 232 ++++++++
airflow-core/tests/unit/plugins/test_plugin.py | 4 +-
.../tests/unit/plugins/test_plugins_manager.py | 220 +++++++-
.../airflowctl_tests/test_airflowctl_commands.py | 1 +
.../src/airflowctl/api/datamodels/generated.py | 20 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 12 +-
.../tests/airflow_ctl/ctl/test_cli_config.py | 96 ++++
dev/breeze/doc/ci/04_selective_checks.md | 6 +
.../src/airflow_breeze/utils/selective_checks.py | 14 +
dev/breeze/tests/test_selective_checks.py | 88 ++-
generated/known_airflow_exceptions.txt | 2 +-
go-sdk/README.md | 4 +-
go-sdk/airflow/bundle.go | 53 +-
go-sdk/airflow/bundle_test.go | 27 +
go-sdk/airflow/dag.go | 11 +-
.../level.go => airflow/dag_factory_test.go} | 11 +-
go-sdk/airflow/dag_source_test.go | 65 +++
go-sdk/airflow/serve.go | 6 +-
go-sdk/cmd/airflow-go-pack/inspect.go | 59 +-
go-sdk/cmd/airflow-go-pack/inspect_test.go | 89 ++-
go-sdk/cmd/airflow-go-pack/main.go | 9 +-
go-sdk/cmd/airflow-go-pack/pack.go | 123 +++--
.../cmd/airflow-go-pack/pack_integration_test.go | 21 +-
go-sdk/cmd/airflow-go-pack/pack_test.go | 102 +++-
go-sdk/cmd/airflow-go-pack/sources.go | 256 +++++++++
go-sdk/cmd/airflow-go-pack/sources_test.go | 430 +++++++++++++++
.../airflow-go-pack/testdata/handlersonly/main.go} | 23 +-
.../testdata/multidag/factory/factory.go} | 18 +-
.../airflow-go-pack/testdata/multidag}/main.go | 38 +-
.../testdata/multidag/reports/reports.go} | 18 +-
go-sdk/example/bundle/Justfile | 4 +-
go-sdk/internal/airflowmetadata/airflowmetadata.go | 3 +
go-sdk/internal/bundle/doc.go | 9 +-
go-sdk/internal/bundle/task.go | 5 +
go-sdk/pkg/execution/metadata.go | 5 +
go-sdk/pkg/execution/metadata_test.go | 36 ++
java-sdk/README.md | 22 +-
java-sdk/capabilities.yaml | 17 +-
.../example/nativedag/AnnotationExample.java | 17 +-
.../org/apache/airflow/sdk/BuilderProcessor.kt | 324 +++++++++--
.../kotlin/org/apache/airflow/sdk/BuilderTest.kt | 511 +++++++++++++++++-
.../ci/prek/check_serialization_conformance.py | 30 +-
java-sdk/sdk/build.gradle.kts | 52 +-
java-sdk/sdk/module.md | 22 +-
.../main/kotlin/org/apache/airflow/sdk/Bundle.kt | 4 +-
.../main/kotlin/org/apache/airflow/sdk/DagDef.kt | 150 +++++-
.../src/main/kotlin/org/apache/airflow/sdk/Deps.kt | 99 +++-
.../main/kotlin/org/apache/airflow/sdk/Endpoint.kt | 15 +-
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 11 +
.../kotlin/org/apache/airflow/sdk/TaskGroupRef.kt | 111 ++++
.../org/apache/airflow/sdk/execution/Serde.kt | 490 +++++++++++++++++
.../org/apache/airflow/sdk/internal/ArgValues.kt | 24 +-
.../kotlin/org/apache/airflow/sdk/internal/Ids.kt | 15 +-
.../kotlin/org/apache/airflow/sdk/internal/Refs.kt | 67 ++-
.../org/apache/airflow/sdk/internal/TaskArgs.kt | 2 +-
.../org/apache/airflow/sdk/ArgTestSupport.kt | 2 +-
.../kotlin/org/apache/airflow/sdk/ArgValuesTest.kt | 11 +
.../kotlin/org/apache/airflow/sdk/ServerTest.kt | 63 +++
.../kotlin/org/apache/airflow/sdk/TaskGroupTest.kt | 286 ++++++++++
.../airflow/sdk/conformance/SerializeJava.kt | 140 +++++
.../org/apache/airflow/sdk/execution/SerdeTest.kt | 428 +++++++++++++++
.../apache/airflow/sdk/internal/ArgValuesTest.kt | 2 +-
.../org/apache/airflow/sdk/internal/RefsTest.kt | 82 ++-
.../unit/amazon/aws/transfers/test_s3_to_sftp.py | 12 +
.../unit/amazon/aws/transfers/test_sftp_to_s3.py | 12 +
providers/cncf/kubernetes/provider.yaml | 24 +
.../kubernetes/executors/kubernetes_executor.py | 19 +-
.../executors/kubernetes_executor_utils.py | 17 +-
.../providers/cncf/kubernetes/get_provider_info.py | 14 +
.../providers/cncf/kubernetes/kube_client.py | 43 ++
.../executors/test_kubernetes_executor.py | 175 +++++-
.../tests/unit/cncf/kubernetes/test_kube_client.py | 96 +++-
providers/databricks/pyproject.toml | 2 +-
.../providers/databricks/hooks/databricks_base.py | 8 +
.../tests/unit/databricks/hooks/test_databricks.py | 27 +
.../providers/3rd-party-licenses/LICENSES-ui.txt | 2 +-
.../fab/src/airflow/providers/fab/www/package.json | 4 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 30 +-
.../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/sftp/docs/changelog.rst | 16 +
providers/sftp/docs/connections/sftp.rst | 2 +-
providers/sftp/pyproject.toml | 2 +-
.../sftp/src/airflow/providers/sftp/hooks/sftp.py | 38 +-
.../src/airflow/providers/sftp/operators/sftp.py | 1 +
.../src/airflow/providers/sftp/triggers/sftp.py | 22 +-
providers/sftp/tests/unit/sftp/hooks/test_sftp.py | 205 ++++++-
.../sftp/tests/unit/sftp/operators/test_sftp.py | 31 +-
.../smtp/src/airflow/providers/smtp/hooks/smtp.py | 10 +-
providers/smtp/tests/unit/smtp/hooks/test_smtp.py | 42 ++
.../tests/unit/smtp/notifications/test_smtp.py | 27 +
providers/ssh/docs/changelog.rst | 15 +
providers/ssh/docs/connections/ssh.rst | 2 +-
.../ssh/src/airflow/providers/ssh/hooks/ssh.py | 71 ++-
providers/ssh/tests/unit/ssh/hooks/test_ssh.py | 67 ++-
.../ssh/tests/unit/ssh/hooks/test_ssh_async.py | 64 +++
scripts/ci/lang_sdk_serialization/compare.py | 17 +-
scripts/ci/lang_sdk_serialization/test_dags.yaml | 4 +-
.../ci/prek/check_openapi_exception_doc_in_sync.py | 201 ++++++-
.../ci/lang_sdk_serialization/test_compare.py | 11 +
.../test_check_openapi_exception_doc_in_sync.py | 114 +++-
.../plugins_manager/plugins_manager.py | 12 +-
task-sdk/docs/airflow-metadata.schema.json | 49 +-
task-sdk/docs/executable-bundle-spec.rst | 86 ++-
.../airflow/sdk/coordinators/_bundle_metadata.py | 16 +
.../src/airflow/sdk/coordinators/_dag_importer.py | 1 +
.../sdk/coordinators/executable/_bundle_reader.py | 195 +++++++
.../sdk/coordinators/executable/_dag_importer.py | 105 ++++
.../sdk/coordinators/executable/coordinator.py | 108 +++-
task-sdk/src/airflow/sdk/log.py | 15 +-
.../coordinators/executable/_bundle_test_utils.py | 98 ++++
.../coordinators/executable/test_bundle_reader.py | 217 ++++++++
.../coordinators/executable/test_coordinator.py | 168 +++++-
.../coordinators/executable/test_dag_importer.py | 283 ++++++++++
task-sdk/tests/task_sdk/test_log.py | 89 +++
ts-sdk/src/generated/supervisor.ts | 104 ++--
318 files changed, 10019 insertions(+), 2117 deletions(-)
create mode 100644 airflow-core/newsfragments/66633.bugfix.rst
delete mode 100644 airflow-core/newsfragments/69148.feature.rst
create mode 100644 airflow-core/newsfragments/74278.feature.rst
create mode 100644
airflow-core/src/airflow/ui/src/components/DataTable/DataTable.stateChange.test.tsx
copy airflow-core/src/airflow/ui/src/components/{DAGWarningsModal.test.tsx =>
DataTable/features.ts} (62%)
copy
providers/edge3/src/airflow/providers/edge3/plugins/www/src/components/StateBadge.tsx
=> airflow-core/src/airflow/ui/src/components/MarkAs/utils.test.ts (57%)
copy airflow-core/src/airflow/ui/src/{components/StatsCard.test.tsx =>
utils/renderMermaid.test.ts} (58%)
copy go-sdk/{pkg/logging/level.go => airflow/dag_factory_test.go} (79%)
create mode 100644 go-sdk/airflow/dag_source_test.go
create mode 100644 go-sdk/cmd/airflow-go-pack/sources.go
create mode 100644 go-sdk/cmd/airflow-go-pack/sources_test.go
copy go-sdk/{pkg/logging/attrs.go =>
cmd/airflow-go-pack/testdata/handlersonly/main.go} (65%)
copy go-sdk/{pkg/logging/attrs.go =>
cmd/airflow-go-pack/testdata/multidag/factory/factory.go} (74%)
copy go-sdk/{airflow/testdata/foreignnode =>
cmd/airflow-go-pack/testdata/multidag}/main.go (56%)
copy go-sdk/{pkg/logging/attrs.go =>
cmd/airflow-go-pack/testdata/multidag/reports/reports.go} (73%)
copy {ts-sdk => java-sdk}/scripts/ci/prek/check_serialization_conformance.py
(62%)
copy airflow-core/src/airflow/ui/src/hooks/useShowTeam.ts =>
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Endpoint.kt (69%)
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/TaskGroupRef.kt
create mode 100644
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/execution/Serde.kt
copy airflow-core/src/airflow/ui/src/hooks/useShowTeam.ts =>
java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/internal/Ids.kt (71%)
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/TaskGroupTest.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/conformance/SerializeJava.kt
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/execution/SerdeTest.kt
create mode 100644
task-sdk/src/airflow/sdk/coordinators/executable/_bundle_reader.py
create mode 100644
task-sdk/src/airflow/sdk/coordinators/executable/_dag_importer.py
create mode 100644
task-sdk/tests/task_sdk/coordinators/executable/_bundle_test_utils.py
create mode 100644
task-sdk/tests/task_sdk/coordinators/executable/test_bundle_reader.py
create mode 100644
task-sdk/tests/task_sdk/coordinators/executable/test_dag_importer.py
create mode 100644 task-sdk/tests/task_sdk/test_log.py