This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/ui/typescript-39febf3787
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 14964ee6a04 Bump the typescript group across 1 directory with 4 updates
add 08153a88f83 Use the operator's AWS settings for deferred SageMaker
tasks (#71857)
add e50cc0b15df Drop extraneous "common" tag in i18n (#71517)
add ef32e9f69a5 Surface connection test errors in the UI instead of
failing silently (#71954)
add 50950fa92b7 Document config-backed enum Dag Params (#71180)
add 4406537e36a UI: Preserve Dag tab when switching Dags (#70699)
add b918e7e1b40 Add abhishek to INTHEWILD for Zoom (#71960)
add 047dc2d3b38 Add MukundKulkarni to INTHEWILD for HSBC (#71961)
add 4e4d0608c42 Fix typo in dbt cloud hook docstring (#71971)
add 3dfbef6cafa Add unit tests for HTTP provider exceptions (#69231)
add 28110443797 Add BaseManagedAgentToolset for vendor-managed AI agents
(#71946)
add 0a5c8e60130 Updated tutorial DAGs to use named parameters instead of
kwargs (#71980)
add 8162cd38356 Add IBM Db2 provider with Hook (#67532)
add 7991cd81c77 Add test_connection support to LangChainHook and
LlamaIndexHook (#71841)
add a4b6b77e683 add .md file support in LLMFileAnalysisOperator (#71611)
add 08655577b32 Document LLMFileAnalysisOperator's inherited LLM and HITL
parameters (#71856)
add ef1dc742090 Update providers metadata 2026-08-23 (#72009)
add f44bb16d825 Use common.compat.sdk for the remaining provider timezone
imports (#71209)
add b03e48a875d Support a Unix Domain Socket for the StatsD and Datadog
metrics clients (#70517)
add 98747f873f2 Fix Vertex AI hook silently discarding credentials when
vertexai flag is set (#72012)
add c081c558f1c UI: Show partition preview in backfill form for
partitioned Dags (#68884)
add c8aeb434c51 Fix Azure AD tenant identifier canonicalization in FAB
auth manager (#71920)
add 20229e47c99 Java SDK: Clearer error when a task class cannot be
instantiated (#69827)
add fcac4a1941a Fix OpenSearch remote logging crash if port is empty
(#71170)
add 9b9fc0eec64 Make the FAB roles PATCH endpoint replace permissions, not
just add them (#71933)
add 88df8950444 Bump @7nohe/openapi-react-query-codegen from 2.2.0 to
3.0.2 in /airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui (#71900)
add d4aa2093b80 Support Azure national clouds in FAB Azure AD id_token
validation (#72010)
add 37dd6c8efa2 docs: clarify otel_* options for metrics vs traces (#71158)
add 518fed3ac90 Add Apache Arrow provider (#52330)
add a0d563aa4b3 UI: Add team column and filter to the audit log (#71916)
add fa00af4d044 Update multi-team docs to match the teams CLI and name
rules (#72045)
add abdc023e780 `is_scheduled` REST API parameter (#72029)
add 89591529a0c UI: Stop list pages jumping while a filter loads (#72005)
add 7c2e201c1e8 Add prek hook to catch operators missing from common-ai
docs index (#71783)
add b5ab83f3aab [main] CI: Upgrade important CI environment (#72016)
add 4426974ef45 Surface triggers in provider docs reference (#71975)
add 4ff4030b0ec UI: Visual overhaul of Dag details layout for easier
consumption (#71957)
add 1c65987561a Enable the airflow.utils.timezone ban rule (#72022)
add 829e0c70d43 Tidy DagVersion/DagCode metadata helpers (#68627)
add f27ddea3561 Add Worker Set override tests for Kerberos sidecar startup
probe (#72017)
add 9a21400bcc9 Add GitHub App authentication for git DAG bundles (#64422)
add 5aeba034521 Authorize team-scoped plugin API endpoints in multi-team
mode (#71919)
add 3ac38517090 Add securityContexts.disableDefaults flag for OpenShift
SCC compatibility (#70238)
add aab20fadfad Prepare providers release 2026-08-25 (#72069)
add 0ac572856d5 Bump eslint from 10.8.1 to 10.9.0 in
/providers/fab/src/airflow/providers/fab/www in the fab-ui-package-updates
group across 1 directory (#72065)
add 89b694fd347 Remove TaskFlow recommendation in doc (#71315)
add 637a55f0744 Fix Sphinx error in CLI reference docs for dags test
command (#71120)
add 63f458416cf Allow Niko Oliveira to publish provider docs to S3 (#72080)
add 2cf2a1af91c Explicitly state 'durable execution' in airflow docs
(#71863)
add 68ee32a61f4 Authenticate only once per task process to external
secrets backends (#71756)
add 6da46c47f44 Limit anthropic provider to anthropic SDK below 1.0.0
(#72072)
add 906aab3c2e4 Add TypeScript SDK capability manifest and compatibility
matrix (#71754)
add c4e6ed369ed Add deferrable mode to Databricks SQL warehouse operators
(#71752)
add 11ef1fb2824 Verify TypeScript SDK package contents (#71399)
add cd464f25c80 Publish TypeScript SDK with trusted credentials (#71843)
add d31c984dc67 Fix Publish Docs to S3 failing for ts-sdk and java-sdk
(#72097)
add 57a051997a0 Fix linux/arm64 CI image build broken by the ibm.db2
provider (#72058)
add 549ed6b7468 Split ts-sdk contributor docs out of the npm README
(#72096)
add 21332eab89a Use secrets for fab users `--use-random-password`
generation (#72092)
add 8637df49fcb Increase Comprehend document classifier timeout from 20 to
60 minutes (#71969)
add 9be7b6016cc Fix static checks failing on every PR after the click 8.5
release (#72106)
add be4a1e671e2 Fix unstyled TypeScript SDK API reference on the published
site (#72105)
add 36016dfbe2f Add Redis cluster mode support to RedisHook (#71067)
add 00344cc117f Remove TaskFlow recommendation in doc part2 (#72090)
add 8e14c2960eb Cut the per-file cost of persisting Dag parse results
(#71621)
add dcb63a488b9 Rename Legacy{Foo} to TeamUnaware{Foo} where appropriate
(#72044)
add fc6c8b1b7ca Check Variable write conflicts against the team being
written (#72042)
add f727ea8544d Fix stale TypeScript SDK docs on bundle metadata and
packing setup (#72115)
add 49a129a45ec Complete the Taiwanese Mandarin UI translations (#72056)
add a2ab8e81ce1 Fix flaky test_connection_form_widgets timeout (#72122)
add 5a7118bad78 Clarify to agents that inter provider versions must not be
bumped (#72142)
add 6f78320a8c4 Sync connection UI metadata in provider.yaml with hook
definitions (#72087)
add ecf2842c30f Change google sheets operator and connected system tests
(#66929)
add 56f6db03a14 Add destination_folder_id to GCSToGoogleDriveOperator
templated fields and update google drive system tests (#66930)
add 2c8925e33af Fix cloudsql query proxy iam system test (#72141)
add 49c1e07e3f7 Honor impersonation_chain in deferred Cloud Build tasks
(#71644)
add 1e0f48ce6d0 Support bzip2 and xz compressed inputs in LLM file
analysis (#70302)
add 8dad501a086 Fix multiple client creation inside of the deferrable
operator for the google provider (#72143)
add 14fd8202a5b Honor gzip and mime_type on SFTPToGCS stream path (#72132)
add 44ea07505c6 Skip downstream tasks on LLMBranchOperator reject (#71073)
add dd6d28df3ec i18n(ko): add missing translations(Aug 25) (#72050)
add 562e7307c2c Fix N+1 query in bulk update for Variables and Pools
(#71918)
add 5a7a4bc19b4 Migrate exasol provider to pyexasol 2.x and remove the <2
cap (#72119)
add 02dbd2f6170 Stop backfill endpoints disclosing ids across Dags you
cannot see (#71113)
add d868c8c7144 Make breeze setup recover from a broken legacy uv tool
install (#72059)
add b294df20c32 Be specific on how to create the PyPI token for a provider
release (#72170)
add a26f17fcef4 Document the access a first-time provider release manager
must request (#72169)
add e6691964993 Derive the testing issue title date from RELEASE_DATE
(#72168)
add ee15456649a Clean up comments and tests for the Dag version inflation
checker (#72028)
add 1e6ff912bfc Fill in missing zh-TW translations for common.json (#72154)
add 3d4216a7c1f Fix common.ai Vertex model example to use a valid
pydantic-ai prefix (#72011)
add 6171e2bf992 Remove the unreachable 404 from the create Variable
endpoint (#71245)
add 51ebe32acc1 Stop Breeze container SSH setup from modifying the host
~/.ssh (#72182)
add 9da89e70ac0 Feature expand health endpoint reporting (#70416)
add dca333a6484 Write doc-only marker when change classification overrides
the answer (#72167)
add 62ecde055c8 Reduce Iceberg snapshot watcher thread use (#72173)
add da2d9fde79c Document the missing resource category in common.ai retry
policy docs (#72189)
add 2d82de6f374 Change edge worker heartbeat message from info to debug
(#72197)
add db815a56abb Refactor bigquery_async_query test (#72193)
add 66b942ed2d9 [main] CI: Upgrade important CI environment (#72091)
add fdb8594e6bf Fix /ui/assets picking a stale "last event" under
concurrent asset writes (#71047)
add 9d54ac94826 Fix docs spellcheck failure in the IBM Db2 provider
(#72203)
add f1acbe4ca72 Bump the typescript group across 1 directory with 4 updates
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (14964ee6a04)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/typescript-39febf3787
(f1acbe4ca72)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 2 +
.github/boring-cyborg.yml | 5 +
.github/workflows/publish-docs-to-s3.yml | 8 +-
.github/workflows/registry-tests.yml | 4 +
.github/workflows/ts-sdk-release.yml | 208 ++
.pre-commit-config.yaml | 16 +-
Dockerfile.ci | 42 +-
INTHEWILD.md | 2 +
.../logging-monitoring/check-health.rst | 100 +-
.../logging-monitoring/metrics.rst | 34 +
.../language-sdks/java.rst | 23 +-
.../language-sdks/typescript.rst | 21 +-
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/dags.rst | 2 +-
airflow-core/docs/core-concepts/multi-team.rst | 50 +-
airflow-core/docs/core-concepts/operators.rst | 2 +-
airflow-core/docs/core-concepts/params.rst | 5 +
.../docs/core-concepts/resumable-tasks.rst | 23 +-
.../docs/core-concepts/task-state-store.rst | 3 +
airflow-core/docs/extra-packages-ref.rst | 4 +
airflow-core/docs/migrations-ref.rst | 6 +-
airflow-core/newsfragments/71113.significant.rst | 23 +
airflow-core/newsfragments/71957.improvement.rst | 1 +
airflow-core/newsfragments/72042.bugfix.rst | 1 +
.../src/airflow/api/common/airflow_health.py | 138 +-
airflow-core/src/airflow/api_fastapi/app.py | 35 +
.../simple/ui/openapi-gen/queries/common.ts | 22 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 21 +-
.../simple/ui/openapi-gen/queries/index.ts | 3 +-
.../ui/openapi-gen/queries/infiniteQueries.ts | 2 +-
.../simple/ui/openapi-gen/queries/prefetch.ts | 21 +-
.../simple/ui/openapi-gen/queries/queries.ts | 30 +-
.../simple/ui/openapi-gen/queries/queryOptions.ts | 37 +
.../simple/ui/openapi-gen/queries/suspense.ts | 20 +-
.../simple/ui/openapi-gen/requests/services.gen.ts | 4 +-
.../auth/managers/simple/ui/package.json | 2 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 14 +-
.../auth/middlewares/team_authorization.py | 110 +
.../src/airflow/api_fastapi/common/db/assets.py | 22 +-
.../api_fastapi/core_api/datamodels/event_logs.py | 1 +
.../airflow/api_fastapi/core_api/datamodels/job.py | 2 +
.../api_fastapi/core_api/datamodels/monitor.py | 29 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 12 +
.../core_api/openapi/v2-rest-api-generated.yaml | 161 ++
.../core_api/routes/public/backfills.py | 16 +-
.../api_fastapi/core_api/routes/public/dags.py | 10 +
.../core_api/routes/public/event_logs.py | 7 +
.../api_fastapi/core_api/routes/public/pools.py | 10 +-
.../core_api/routes/public/variables.py | 20 +-
.../src/airflow/api_fastapi/core_api/security.py | 69 +-
.../api_fastapi/core_api/services/public/pools.py | 21 +-
.../core_api/services/public/variables.py | 28 +-
.../src/airflow/api_fastapi/logging/decorators.py | 46 +-
airflow-core/src/airflow/cli/cli_config.py | 4 +-
.../airflow/cli/commands/dag_processor_command.py | 2 +-
.../src/airflow/cli/commands/triggerer_command.py | 4 +-
.../config_templates/airflow_local_settings.py | 5 +-
.../src/airflow/config_templates/config.yml | 47 +-
.../src/airflow/dag_processing/collection.py | 22 +-
.../example_branch_python_dop_operator_3.py | 8 +-
.../example_dags/example_params_trigger_ui.py | 6 +-
.../example_dags/example_params_ui_interfaces.ini | 10 +-
.../example_dags/example_params_ui_tutorial.py | 27 +-
.../src/airflow/example_dags/tutorial_dag.py | 9 +-
.../airflow/example_dags/tutorial_objectstorage.py | 4 +-
airflow-core/src/airflow/jobs/job.py | 8 +-
.../src/airflow/jobs/scheduler_job_runner.py | 11 +-
.../src/airflow/jobs/triggerer_job_runner.py | 4 +-
.../versions/0132_3_4_0_add_team_name_to_log.py | 45 +-
.../0133_3_4_0_add_scope_columns_to_job.py | 58 +
airflow-core/src/airflow/models/dag_version.py | 18 +-
airflow-core/src/airflow/models/dagcode.py | 4 +-
airflow-core/src/airflow/models/log.py | 48 +-
airflow-core/src/airflow/models/serialized_dag.py | 21 +-
airflow-core/src/airflow/models/variable.py | 12 +-
.../observability/metrics/datadog_logger.py | 1 +
.../airflow/observability/metrics/statsd_logger.py | 52 +-
airflow-core/src/airflow/plugins_manager.py | 15 +-
airflow-core/src/airflow/provider.yaml.schema.json | 2 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 10 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 12 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 12 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 12 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 12 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 268 ++-
.../ui/openapi-gen/requests/services.gen.ts | 6 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 43 +
.../airflow/ui/public/i18n/locales/en/common.json | 6 +
.../ui/public/i18n/locales/en/components.json | 4 +
.../airflow/ui/public/i18n/locales/ko/admin.json | 14 +-
.../airflow/ui/public/i18n/locales/ko/browse.json | 2 +
.../airflow/ui/public/i18n/locales/ko/common.json | 53 +-
.../ui/public/i18n/locales/ko/components.json | 4 +
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 2 +
.../airflow/ui/public/i18n/locales/ko/dags.json | 8 +
.../ui/public/i18n/locales/zh-TW/admin.json | 16 +-
.../ui/public/i18n/locales/zh-TW/assets.json | 12 +-
.../ui/public/i18n/locales/zh-TW/browse.json | 2 +
.../ui/public/i18n/locales/zh-TW/common.json | 26 +-
.../ui/public/i18n/locales/zh-TW/components.json | 8 +
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 2 +
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 8 +
.../ui/src/components/AdvancedSearchToggle.tsx | 2 +-
.../src/components/AssetExpression/AndGateNode.tsx | 2 +-
.../components/AssetExpression/AssetExpression.tsx | 2 +-
.../ui/src/components/Assets/TriggeredRuns.tsx | 2 +-
.../airflow/ui/src/components/Breadcrumb/Crumb.tsx | 136 ++
.../{Clear/Run/index.tsx => Breadcrumb/Row.tsx} | 19 +-
.../TaskInstance/index.tsx => Breadcrumb/index.ts} | 5 +-
.../ui/src/components/Breadcrumb/segment.ts | 82 +
.../airflow/ui/src/components/BreadcrumbStats.tsx | 53 -
.../ui/src/components/Clear/Run/ClearRunButton.tsx | 8 +-
.../Clear/TaskInstance/ClearTaskInstanceButton.tsx | 9 +-
.../src/airflow/ui/src/components/Clear/index.tsx | 4 +-
.../ui/src/components/ConfirmationModal.tsx | 2 +-
.../src/components/DagActions/DeleteDagButton.tsx | 7 +-
.../components/DagActions/FavoriteDagButton.tsx | 7 +-
.../src/components/DagActions/ParseDagButton.tsx | 12 +-
.../DagActions/PartitionPreviewTable.tsx | 67 +
.../components/DagActions/RunBackfillForm.test.tsx | 213 ++
.../src/components/DagActions/RunBackfillForm.tsx | 11 +-
.../components/DagActions/inlineMessage.test.tsx | 235 ++
.../ui/src/components/DagActions/inlineMessage.tsx | 67 +-
.../src/airflow/ui/src/components/DagRunInfo.tsx | 2 +-
.../ui/src/components/DataTable/DataTable.test.tsx | 14 +-
.../ui/src/components/DataTable/DataTable.tsx | 17 +-
.../src/components/DataTable/FilterMenuButton.tsx | 2 +-
.../src/airflow/ui/src/components/DeleteDialog.tsx | 2 +-
.../ui/src/components/DisplayMarkdownButton.tsx | 9 +-
.../ui/src/components/EditableMarkdownButton.tsx | 2 +-
.../ui/src/components/FilterBar/FilterBar.tsx | 2 +-
.../ui/src/components/Graph/AssetConditionNode.tsx | 2 +-
.../ui/src/components/Graph/DownloadButton.tsx | 22 +-
.../airflow/ui/src/components/GraphTaskFilters.tsx | 9 +-
.../src/airflow/ui/src/components/HeaderCard.tsx | 59 +-
.../KeyboardShortcuts/KeyboardShortcutsModal.tsx | 2 +-
.../src/components/MarkAs/Run/MarkRunAsButton.tsx | 15 +-
.../MarkAs/TaskGroup/MarkTaskGroupAsButton.tsx | 9 +-
.../ui/src/components/MarkAs/TaskGroup/index.tsx | 20 -
.../TaskInstance/MarkTaskInstanceAsButton.tsx | 15 +-
.../src/components/MarkAs/TaskInstance/index.tsx | 20 -
.../src/airflow/ui/src/components/MarkAs/index.tsx | 6 +-
.../airflow/ui/src/components/MarkdownModal.tsx | 4 +-
.../airflow/ui/src/components/NotePreview.test.tsx | 49 +-
.../src/airflow/ui/src/components/NotePreview.tsx | 102 +-
.../src/airflow/ui/src/components/PoolBar.tsx | 2 +-
.../ui/src/components/PresetFiltersMenu.tsx | 2 +-
.../src/components/SearchDags/SearchDags.test.tsx | 270 +++
.../ui/src/components/SearchDags/SearchDags.tsx | 41 +-
.../src/components/SearchDags/SearchDagsButton.tsx | 65 -
...DropdownIndicator.tsx => SearchDagsControl.tsx} | 18 +-
.../airflow/ui/src/components/SearchDags/index.ts | 2 +-
.../ui/src/components/TaskInstanceTooltip.tsx | 2 +-
.../src/airflow/ui/src/components/TaskName.tsx | 12 +-
.../src/airflow/ui/src/components/TogglePause.tsx | 28 +-
.../ui/src/components/ui/Breadcrumb/Root.tsx | 49 -
.../ui/src/components/ui/ButtonGroupToggle.tsx | 9 +-
.../airflow/ui/src/components/ui/ResetButton.tsx | 2 +-
.../src/airflow/ui/src/components/ui/index.ts | 1 -
.../ui/Breadcrumb/index.ts => constants/tab.ts} | 21 +-
.../src/airflow/ui/src/hooks/useShortcut.ts | 2 +-
.../src/airflow/ui/src/layouts/BaseLayout.tsx | 3 +-
.../src/airflow/ui/src/layouts/DagsLayout.tsx | 2 +-
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 150 ++
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 191 +-
.../ui/src/layouts/Details/DagSwitcherButton.tsx | 100 +
.../ui/src/layouts/Details/DetailsLayout.tsx | 99 +-
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 6 +-
.../Details/Graph/components/GraphControls.tsx | 11 +-
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 20 +-
.../ui/src/layouts/Details/Grid/RunTypeLegend.tsx | 6 +-
.../ui/src/layouts/Details/Grid/TaskNames.tsx | 10 +-
.../src/airflow/ui/src/layouts/Details/NavTabs.tsx | 17 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 49 +-
.../ui/src/layouts/Details/TaskStreamFilter.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/AdminButton.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/BrowseButton.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/DocsButton.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/LogoutModal.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/Nav.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/PluginMenus.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/SecurityButton.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/TimezoneModal.tsx | 2 +-
.../ui/src/layouts/Nav/TimezoneSelector.tsx | 2 +-
.../src/airflow/ui/src/pages/Asset/AssetGraph.tsx | 7 +-
.../src/airflow/ui/src/pages/Asset/AssetLayout.tsx | 97 +-
.../ui/src/pages/Asset/AssetPanelButtons.tsx | 24 +-
.../ui/src/pages/Asset/CreateAssetEvent.tsx | 25 +-
.../src/airflow/ui/src/pages/Asset/Header.tsx | 2 +-
.../ui/src/pages/AssetsList/AssetsList.test.tsx | 40 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 23 +-
.../ui/src/pages/AssetsList/DependencyPopover.tsx | 2 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 22 +-
.../ui/src/pages/DagRuns/DeleteRunButton.tsx | 6 +-
.../ui/src/pages/DagsList/AssetSchedule.tsx | 2 +-
.../ui/src/pages/DagsList/DagsList.test.tsx | 44 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 3 +-
.../src/pages/DagsList/PartitionScheduleModal.tsx | 2 +-
.../src/airflow/ui/src/pages/Events/Events.tsx | 22 +-
.../airflow/ui/src/pages/Events/EventsFilters.tsx | 6 +
.../ui/src/pages/GroupTaskInstance/Header.tsx | 35 +-
.../ui/src/pages/MappedTaskInstance/Details.tsx | 2 +-
.../ui/src/pages/MappedTaskInstance/Header.tsx | 37 +-
.../src/airflow/ui/src/pages/Run/Header.test.tsx | 2 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 13 +-
airflow-core/src/airflow/ui/src/pages/Security.tsx | 2 +-
.../airflow/ui/src/pages/Task/GroupTaskHeader.tsx | 1 +
.../src/airflow/ui/src/pages/Task/Header.tsx | 3 +
.../ui/src/pages/TaskInstance/Header.test.tsx | 2 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 9 +-
.../src/airflow/ui/src/queries/useDags.tsx | 2 +
.../src/airflow/ui/src/queries/useLogs.tsx | 2 +-
.../src/airflow/ui/src/queries/useStoreMutation.ts | 2 +-
.../airflow/ui/src/queries/useTestConnection.ts | 4 +-
.../src/airflow/ui/src/queries/useTogglePause.ts | 2 +-
airflow-core/src/airflow/ui/src/router.test.tsx | 62 +
airflow-core/src/airflow/ui/src/router.tsx | 29 +-
airflow-core/src/airflow/ui/src/utils/option.ts | 1 +
airflow-core/src/airflow/ui/src/utils/tab.test.ts | 54 +
airflow-core/src/airflow/ui/src/utils/tab.ts | 58 +
.../airflow/ui/tests/e2e/pages/TaskInstancePage.ts | 2 +-
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 2 +-
airflow-core/src/airflow/utils/cli.py | 8 +-
.../src/airflow/utils/cli_action_loggers.py | 5 +-
.../airflow/utils/dag_version_inflation_checker.py | 2 -
airflow-core/src/airflow/utils/db.py | 2 +-
.../tests/unit/always/test_project_structure.py | 1 -
.../tests/unit/always/test_providers_manager.py | 8 +-
airflow-core/tests/unit/always/test_secrets.py | 22 +-
.../always/test_secrets_environment_variables.py | 4 +-
.../tests/unit/api/common/test_airflow_health.py | 494 ++++-
.../auth/managers/test_base_auth_manager.py | 6 +-
.../auth/middlewares/test_team_authorization.py | 207 ++
.../core_api/routes/public/test_backfills.py | 64 +-
.../core_api/routes/public/test_dag_sources.py | 12 +
.../core_api/routes/public/test_dag_versions.py | 19 +-
.../core_api/routes/public/test_dags.py | 214 ++
.../core_api/routes/public/test_event_logs.py | 55 +
.../api_fastapi/core_api/routes/public/test_job.py | 21 +
.../core_api/routes/public/test_monitor.py | 63 +-
.../core_api/routes/public/test_pools.py | 42 +
.../core_api/routes/public/test_task_instances.py | 2 +
.../core_api/routes/public/test_variables.py | 31 +
.../api_fastapi/core_api/routes/ui/test_assets.py | 44 +
.../unit/api_fastapi/core_api/test_security.py | 75 +-
.../unit/api_fastapi/logging/test_decorators.py | 137 ++
airflow-core/tests/unit/api_fastapi/test_app.py | 75 +
.../cli/commands/test_dag_processor_command.py | 1 +
.../unit/cli/commands/test_triggerer_command.py | 22 +-
.../test_airflow_local_settings.py | 28 +
.../tests/unit/dag_processing/test_collection.py | 100 +-
.../tests/unit/dag_processing/test_manager.py | 44 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 46 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 21 +-
airflow-core/tests/unit/models/test_dag_version.py | 40 +
airflow-core/tests/unit/models/test_dagcode.py | 48 +
airflow-core/tests/unit/models/test_log.py | 88 +
.../tests/unit/models/test_serialized_dag.py | 106 +
airflow-core/tests/unit/models/test_variable.py | 62 +
.../tests/unit/observability/metrics/test_stats.py | 36 +-
.../tests/unit/plugins/test_plugins_manager.py | 52 +
airflow-core/tests/unit/utils/test_cli_util.py | 58 +
.../utils/test_dag_version_inflation_checker.py | 45 +-
.../airflowctl/api/datamodels/auth_generated.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 77 +-
airflow-e2e-tests/docker/java.yml | 12 +-
airflow-e2e-tests/java-test-bundle/.gitignore | 2 +
.../java-test-bundle/build.gradle | 43 +-
.../java-test-bundle/gradle.properties | 5 +-
.../java-test-bundle/settings.gradle | 17 +-
.../org/apache/airflow/e2e/TestBundleBuilder.java | 62 +
.../src/resources/dags/java_test_dags.py | 31 +-
.../tests/airflow_e2e_tests/conftest.py | 45 +-
.../tests/airflow_e2e_tests/constants.py | 7 +
.../java_sdk_tests/test_java_sdk_dag.py | 130 +-
chart/docs/production-guide.rst | 22 +
chart/newsfragments/70238.significant.rst | 3 +
chart/templates/NOTES.txt | 8 +
chart/templates/_helpers.yaml | 60 +-
.../api-server/api-server-deployment.yaml | 6 +
chart/templates/cleanup/cleanup-cronjob.yaml | 4 +
.../dag-processor/dag-processor-deployment.yaml | 8 +
.../database-cleanup/database-cleanup-cronjob.yaml | 4 +
chart/templates/flower/flower-deployment.yaml | 4 +
chart/templates/jobs/create-user-job.yaml | 4 +
chart/templates/jobs/migrate-database-job.yaml | 4 +
.../templates/pgbouncer/pgbouncer-deployment.yaml | 12 +-
chart/templates/redis/redis-statefulset.yaml | 8 +-
.../templates/scheduler/scheduler-deployment.yaml | 8 +
chart/templates/statsd/statsd-deployment.yaml | 8 +-
.../templates/triggerer/triggerer-deployment.yaml | 8 +
chart/templates/workers/worker-deployment.yaml | 19 +-
.../airflow_aux/test_pod_template_file.py | 37 +
.../helm_tests/airflow_core/test_worker_sets.py | 62 +
.../helm_tests/security/test_security_context.py | 231 ++
chart/values.schema.json | 6 +
chart/values.yaml | 5 +
contributing-docs/testing/integration_tests.rst | 3 +-
dev/README_RELEASE_PROVIDERS.md | 97 +-
dev/airflow_perf/scheduler_dag_execution_timing.py | 2 +-
dev/breeze/doc/ci/04_selective_checks.md | 14 +-
dev/breeze/doc/images/output_build-docs.svg | 22 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci-image_pull.txt | 2 +-
dev/breeze/doc/images/output_ci-image_verify.txt | 2 +-
dev/breeze/doc/images/output_exec.txt | 2 +-
.../doc/images/output_k8s_deploy-airflow.txt | 2 +-
dev/breeze/doc/images/output_k8s_dev.txt | 2 +-
dev/breeze/doc/images/output_k8s_k9s.txt | 2 +-
.../doc/images/output_k8s_run-complete-tests.txt | 2 +-
dev/breeze/doc/images/output_k8s_shell.txt | 2 +-
.../doc/images/output_k8s_smoke-test-overlay.txt | 2 +-
dev/breeze/doc/images/output_k8s_tests.txt | 2 +-
dev/breeze/doc/images/output_prod-image_pull.txt | 2 +-
dev/breeze/doc/images/output_prod-image_verify.txt | 2 +-
...tput_release-management_add-back-references.svg | 22 +-
...tput_release-management_add-back-references.txt | 2 +-
...tput_release-management_check-release-files.txt | 2 +-
...elease-management_classify-provider-changes.svg | 22 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.svg | 22 +-
...management_generate-issue-content-providers.txt | 2 +-
...ease-management_generate-providers-metadata.svg | 26 +-
...ease-management_generate-providers-metadata.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 22 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 22 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 22 +-
.../output_release-management_publish-docs.txt | 2 +-
dev/breeze/doc/images/output_run.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 24 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
...utput_testing_airflow-ctl-integration-tests.txt | 2 +-
.../images/output_testing_airflow-ctl-tests.txt | 2 +-
.../images/output_testing_airflow-e2e-tests.txt | 2 +-
.../output_testing_core-integration-tests.txt | 2 +-
.../doc/images/output_testing_core-tests.txt | 2 +-
.../images/output_testing_docker-compose-tests.txt | 2 +-
.../doc/images/output_testing_helm-tests.txt | 2 +-
.../output_testing_providers-integration-tests.txt | 2 +-
.../doc/images/output_testing_providers-tests.txt | 2 +-
.../output_testing_python-api-client-tests.txt | 2 +-
.../doc/images/output_testing_system-tests.txt | 2 +-
.../output_testing_task-sdk-integration-tests.txt | 2 +-
.../doc/images/output_testing_task-sdk-tests.txt | 2 +-
.../doc/images/output_testing_ui-e2e-tests.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 22 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
.../airflow_breeze/commands/developer_commands.py | 9 +-
.../commands/release_management_commands.py | 2 +-
.../prepare_providers/provider_documentation.py | 4 +
dev/breeze/src/airflow_breeze/utils/packages.py | 11 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 16 +
.../src/airflow_breeze/utils/selective_checks.py | 1 +
dev/breeze/tests/test_provider_documentation.py | 38 +
dev/breeze/tests/test_selective_checks.py | 21 +-
dev/breeze/tests/test_shim_version_check.py | 123 +
dev/breeze/uv.lock | 132 +-
dev/registry/derive_wave_providers.py | 7 +
dev/registry/tests/test_derive_wave_providers.py | 81 +-
devel-common/pyproject.toml | 2 +-
.../src/sphinx_exts/operators_and_hooks_ref.py | 9 +-
.../templates/operators_and_hooks_ref.rst.jinja2 | 3 +
devel-common/src/tests_common/pytest_plugin.py | 2 +-
.../tests_common/test_utils/integration_setup.py | 6 +-
.../src/tests_common/test_utils/version_compat.py | 2 +-
.../sphinx_exts/test_operators_and_hooks_ref.py | 48 +
docs/spelling_wordlist.txt | 10 +
generated/provider_metadata.json | 320 ++-
.../org/apache/airflow/sdk/execution/Task.kt | 37 +-
.../org/apache/airflow/sdk/execution/TaskTest.kt | 119 +
.../test_kubernetes_pod_operator.py | 2 +-
.../performance_dag/performance_dag_utils.py | 6 +-
providers/.last_release_date.txt | 2 +-
providers/.pre-commit-config.yaml | 7 +
providers/AGENTS.md | 8 +-
providers/airbyte/provider.yaml | 4 +-
.../airflow/providers/airbyte/get_provider_info.py | 4 +-
.../providers/alibaba/cloud/hooks/base_alibaba.py | 5 -
.../alibaba/cloud/log/test_oss_task_handler.py | 4 +-
providers/amazon/README.rst | 6 +-
providers/amazon/docs/changelog.rst | 25 +
providers/amazon/docs/index.rst | 6 +-
providers/amazon/provider.yaml | 3 +-
providers/amazon/pyproject.toml | 6 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../executors/utils/exponential_backoff_retry.py | 5 +-
.../providers/amazon/aws/operators/comprehend.py | 4 +-
.../providers/amazon/aws/operators/sagemaker.py | 21 +
.../aws/example_comprehend_document_classifier.py | 1 -
.../tests/system/amazon/aws/example_mongo_to_s3.py | 4 +-
.../amazon/tests/system/amazon/aws/example_mwaa.py | 4 +-
.../amazon/aws/executors/ecs/test_ecs_executor.py | 5 +-
.../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 77 +-
.../amazon/aws/log/test_cloudwatch_task_handler.py | 20 +-
.../unit/amazon/aws/log/test_s3_task_handler.py | 10 +-
.../unit/amazon/aws/operators/test_comprehend.py | 2 +
.../tests/unit/amazon/aws/operators/test_s3.py | 29 +-
.../aws/operators/test_sagemaker_endpoint.py | 22 +
.../aws/operators/test_sagemaker_pipeline.py | 42 +
.../aws/operators/test_sagemaker_processing.py | 35 +
.../aws/operators/test_sagemaker_training.py | 36 +
.../aws/operators/test_sagemaker_transform.py | 31 +
.../amazon/aws/operators/test_sagemaker_tuning.py | 20 +
.../unit/amazon/aws/transfers/test_s3_to_sftp.py | 4 +-
.../unit/amazon/aws/transfers/test_sftp_to_s3.py | 4 +-
providers/anthropic/README.rst | 8 +-
providers/anthropic/docs/index.rst | 20 +-
providers/anthropic/pyproject.toml | 12 +-
.../apache/arrow}/.gitignore | 0
LICENSE => providers/apache/arrow/LICENSE | 0
NOTICE => providers/apache/arrow/NOTICE | 0
providers/apache/arrow/README.rst | 113 +
.../docs/.latest-doc-only-change.txt | 0
providers/apache/arrow/docs/changelog.rst | 46 +
providers/apache/arrow/docs/commits.rst | 35 +
.../ibm/__init__.py => apache/arrow/docs/conf.py} | 12 +-
providers/apache/arrow/docs/connections/adbc.rst | 196 ++
providers/apache/arrow/docs/index.rst | 143 ++
.../docs/installing-providers-from-sources.rst | 0
.../arrow/docs/integration-logos/apache-arrow.png | Bin 0 -> 36163 bytes
providers/apache/arrow/docs/operators.rst | 39 +
providers/apache/arrow/docs/redirects.txt | 1 +
providers/apache/{beam => arrow}/docs/security.rst | 0
providers/{git => apache/arrow}/provider.yaml | 70 +-
providers/{exasol => apache/arrow}/pyproject.toml | 55 +-
.../mq => apache/arrow}/src/airflow/__init__.py | 0
.../arrow/src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/apache}/__init__.py | 0
.../src/airflow/providers/apache/arrow/LICENSE | 0
.../airflow/providers/apache/arrow}/__init__.py | 4 +-
.../providers/apache/arrow/get_provider_info.py | 55 +
.../providers/apache/arrow/hooks}/__init__.py | 0
.../airflow/providers/apache/arrow/hooks/adbc.py | 345 +++
.../{airbyte => apache/arrow}/tests/conftest.py | 0
.../arrow/tests/system}/__init__.py | 0
.../arrow/tests/system/apache}/__init__.py | 0
.../arrow/tests/system/apache/arrow}/__init__.py | 0
.../tests/system/apache/arrow/example_adbc.py | 96 +
.../arrow/tests/unit}/__init__.py | 0
.../arrow/tests/unit/apache}/__init__.py | 0
.../arrow/tests/unit/apache/arrow}/__init__.py | 0
.../tests/unit/apache/arrow/hooks}/__init__.py | 0
.../tests/unit/apache/arrow/hooks/test_adbc.py | 388 ++++
.../unit/apache/hdfs/log/test_hdfs_task_handler.py | 4 +-
.../hive/sensors/test_named_hive_partition.py | 5 +-
.../providers/apache/iceberg/triggers/iceberg.py | 4 +-
.../unit/apache/iceberg/triggers/test_iceberg.py | 21 +-
.../unit/apache/kylin/operators/test_kylin_cube.py | 4 +-
.../airflow/providers/arangodb/hooks/arangodb.py | 2 +-
.../unit/celery/executors/test_celery_executor.py | 5 +-
.../unit/celery/log_handlers/test_log_handlers.py | 4 +-
.../kubernetes/executors/kubernetes_executor.py | 2 +-
.../executors/test_kubernetes_executor.py | 8 +-
.../kubernetes/log_handlers/test_log_handlers.py | 9 +-
.../cncf/kubernetes/test_template_rendering.py | 2 +-
.../ai/docs/connections/pydantic_ai_vertex.rst | 16 +-
providers/common/ai/docs/operators/llm_branch.rst | 14 +-
.../common/ai/docs/operators/llm_file_analysis.rst | 30 +-
providers/common/ai/docs/retry_policies.rst | 2 +-
providers/common/ai/docs/toolsets.rst | 241 +-
providers/common/ai/provider.yaml | 19 +-
.../common/ai/decorators/llm_file_analysis.py | 13 +-
.../ai/example_dags/example_llm_file_analysis.py | 22 +
.../src/airflow/providers/common/ai/exceptions.py | 11 +
.../providers/common/ai/get_provider_info.py | 25 +-
.../airflow/providers/common/ai/hooks/langchain.py | 15 +
.../providers/common/ai/hooks/llamaindex.py | 15 +
.../providers/common/ai/hooks/pydantic_ai.py | 33 +-
.../providers/common/ai/operators/llm_branch.py | 22 +-
.../common/ai/operators/llm_file_analysis.py | 12 +
.../providers/common/ai/toolsets/__init__.py | 6 +
.../airflow/providers/common/ai/toolsets/hook.py | 23 +-
.../providers/common/ai/toolsets/managed_agent.py | 358 +++
.../providers/common/ai/utils/file_analysis.py | 42 +-
.../providers/common/ai/utils/tool_definition.py | 17 +
.../tests/unit/common/ai/hooks/test_langchain.py | 35 +
.../tests/unit/common/ai/hooks/test_llamaindex.py | 35 +
.../tests/unit/common/ai/hooks/test_pydantic_ai.py | 121 +-
.../unit/common/ai/operators/test_llm_branch.py | 34 +
.../ai/tests/unit/common/ai/toolsets/test_hook.py | 16 +-
.../unit/common/ai/toolsets/test_managed_agent.py | 437 ++++
.../unit/common/ai/utils/test_file_analysis.py | 107 +-
.../system/common/sql/example_sql_bulk_load.py | 4 +-
.../system/common/sql/example_sql_execute_query.py | 4 +-
.../system/common/sql/example_sql_insert_rows.py | 4 +-
.../common/sql/example_sql_threshold_check.py | 4 +-
.../tests/unit/common/sql/decorators/test_sql.py | 7 +-
.../tests/unit/common/sql/operators/test_sql.py | 3 +-
.../sql/tests/unit/common/sql/sensors/test_sql.py | 5 +-
providers/databricks/docs/operators/warehouse.rst | 15 +-
.../providers/databricks/hooks/databricks.py | 23 +
.../providers/databricks/operators/warehouse.py | 65 +-
.../providers/databricks/triggers/databricks.py | 122 +-
.../databricks/example_databricks_workflow.py | 4 +-
.../tests/unit/databricks/hooks/test_databricks.py | 30 +
.../unit/databricks/operators/test_warehouse.py | 252 +++
.../unit/databricks/triggers/test_databricks.py | 228 +-
.../src/airflow/providers/dbt/cloud/hooks/dbt.py | 2 +-
.../src/airflow/providers/edge3/cli/worker.py | 2 +-
.../providers/elasticsearch/log/es_task_handler.py | 4 +-
providers/exasol/README.rst | 2 +-
providers/exasol/docs/index.rst | 2 +-
providers/exasol/pyproject.toml | 4 +-
.../src/airflow/providers/exasol/hooks/exasol.py | 64 +-
.../exasol/tests/unit/exasol/hooks/test_exasol.py | 25 +-
providers/fab/docs/auth-manager/sso.rst | 21 +
providers/fab/docs/changelog.rst | 6 +
providers/fab/provider.yaml | 2 +-
.../fab/auth_manager/api_fastapi/services/roles.py | 67 +-
.../fab/auth_manager/cli_commands/user_command.py | 5 +-
.../fab/auth_manager/security_manager/override.py | 314 ++-
.../fab/src/airflow/providers/fab/www/package.json | 2 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 43 +-
.../api_fastapi/services/test_roles.py | 228 +-
.../auth_manager/cli_commands/test_user_command.py | 16 +
.../auth_manager/security_manager/test_override.py | 664 +++++-
providers/git/docs/connections/git.rst | 36 +
providers/git/docs/index.rst | 17 +
providers/git/provider.yaml | 5 +-
providers/git/pyproject.toml | 8 +
.../src/airflow/providers/git/get_provider_info.py | 2 +-
.../git/src/airflow/providers/git/hooks/git.py | 120 +-
providers/git/tests/unit/git/hooks/test_git.py | 288 +++
providers/google/README.rst | 2 +-
providers/google/docs/.latest-doc-only-change.txt | 2 +-
providers/google/docs/connections/gcp_sql.rst | 7 +-
providers/google/docs/index.rst | 2 +-
.../google/docs/operators/transfer/sftp_to_gcs.rst | 14 +
providers/google/provider.yaml | 22 +
providers/google/pyproject.toml | 2 +-
.../providers/google/cloud/hooks/cloud_composer.py | 30 +-
.../cloud/hooks/vertex_ai/batch_prediction_job.py | 10 +-
.../google/cloud/transfers/sftp_to_gcs.py | 21 +-
.../providers/google/cloud/triggers/cloud_build.py | 5 +-
.../airflow/providers/google/get_provider_info.py | 14 +
.../airflow/providers/google/suite/hooks/drive.py | 28 +-
.../providers/google/suite/operators/sheets.py | 44 +-
.../google/suite/transfers/gcs_to_gdrive.py | 3 +-
.../bigquery/example_bigquery_queries_async.py | 3 +-
.../cloud_sql/example_cloud_sql_query_proxy_iam.py | 31 +-
.../google/cloud/gcs/example_gcs_to_gdrive.py | 31 +-
.../google/cloud/gcs/example_gcs_to_sheets.py | 31 +-
.../google/cloud/gcs/example_gdrive_to_gcs.py | 40 +-
.../system/google/cloud/gcs/example_sftp_to_gcs.py | 12 +
.../system/google/cloud/gcs/example_sheets.py | 46 +-
.../google/cloud/gcs/example_sheets_to_gcs.py | 23 +-
.../gcs/resources/openlineage/sftp_to_gcs.json | 36 +
.../cloud/sql_to_sheets/example_sql_to_sheets.py | 23 +-
.../hooks/vertex_ai/test_batch_prediction_job.py | 18 +-
.../unit/google/cloud/log/test_gcs_task_handler.py | 5 +-
.../unit/google/cloud/operators/test_bigquery.py | 4 +-
.../google/cloud/operators/test_cloud_build.py | 5 +-
.../unit/google/cloud/operators/test_looker.py | 5 +-
.../unit/google/cloud/transfers/test_s3_to_gcs.py | 5 +-
.../google/cloud/transfers/test_sftp_to_gcs.py | 80 +-
.../unit/google/cloud/triggers/test_cloud_build.py | 19 +
.../tests/unit/google/suite/hooks/test_drive.py | 23 +-
.../unit/google/suite/operators/test_sheets.py | 49 +-
.../http/tests/unit/http/sensors/test_http.py | 5 +-
.../tests/unit/http/test_exceptions.py} | 29 +-
{airflow-core => providers/ibm/db2}/.gitignore | 0
LICENSE => providers/ibm/db2/LICENSE | 0
NOTICE => providers/ibm/db2/NOTICE | 0
providers/ibm/db2/README.rst | 109 +
providers/ibm/db2/docs/changelog.rst | 32 +
providers/ibm/db2/docs/commits.rst | 34 +
.../providers/ibm/__init__.py => db2/docs/conf.py} | 12 +-
providers/ibm/db2/docs/connections/db2.rst | 69 +
providers/ibm/db2/docs/dialects.rst | 53 +
providers/{exasol => ibm/db2}/docs/index.rst | 62 +-
.../docs/installing-providers-from-sources.rst | 0
providers/ibm/db2/docs/integration-logos/Db2.png | Bin 0 -> 1372 bytes
.../{apache/beam => ibm/db2}/docs/security.rst | 0
providers/ibm/db2/provider.yaml | 99 +
providers/{exasol => ibm/db2}/pyproject.toml | 36 +-
.../ibm/db2/src/airflow}/__init__.py | 0
.../ibm/db2/src/airflow/providers}/__init__.py | 0
.../ibm/db2/src/airflow/providers/ibm}/__init__.py | 0
.../db2/src/airflow/providers/ibm/db2}/__init__.py | 4 +-
.../providers/ibm/db2/dialects}/__init__.py | 0
.../src/airflow/providers/ibm/db2/dialects/db2.py | 128 ++
.../airflow/providers/ibm/db2/get_provider_info.py | 90 +
.../airflow/providers/ibm/db2/hooks}/__init__.py | 0
.../db2/src/airflow/providers/ibm/db2/hooks/db2.py | 171 ++
providers/{airbyte => ibm/db2}/tests/conftest.py | 0
.../ibm/db2/tests/system}/__init__.py | 0
.../ibm/db2/tests/system/ibm}/__init__.py | 0
.../ibm/db2/tests/system/ibm/db2}/__init__.py | 0
.../ibm/db2/tests/system/ibm/db2/example_db2.py | 188 ++
.../ibm/db2/tests/unit}/__init__.py | 0
.../ibm/db2/tests/unit/ibm}/__init__.py | 0
.../ibm/db2/tests/unit/ibm/db2}/__init__.py | 0
.../db2/tests/unit/ibm/db2/dialects}/__init__.py | 0
.../db2/tests/unit/ibm/db2/dialects/test_db2.py | 230 ++
.../ibm/db2/tests/unit/ibm/db2/hooks}/__init__.py | 0
.../ibm/db2/tests/unit/ibm/db2/hooks/test_db2.py | 185 ++
providers/ibm/mq/provider.yaml | 7 +-
.../ibm/mq/src/airflow/providers/ibm/__init__.py | 2 +-
providers/microsoft/azure/README.rst | 6 +-
providers/microsoft/azure/docs/changelog.rst | 17 +
providers/microsoft/azure/docs/index.rst | 6 +-
providers/microsoft/azure/provider.yaml | 9 +-
providers/microsoft/azure/pyproject.toml | 6 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../providers/microsoft/azure/get_provider_info.py | 3 +-
.../airflow/providers/microsoft/azure/hooks/asb.py | 2 +-
.../microsoft/azure/log/test_wasb_task_handler.py | 4 +-
.../unit/microsoft/azure/operators/test_adx.py | 4 +-
.../unit/microsoft/azure/operators/test_msgraph.py | 7 +-
.../unit/microsoft/azure/operators/test_powerbi.py | 8 +-
.../microsoft/azure/operators/test_powerbi_list.py | 8 +-
.../unit/openlineage/plugins/test_listener.py | 8 +-
.../providers/opensearch/log/os_task_handler.py | 5 +-
.../unit/opensearch/operators/test_opensearch.py | 4 +-
providers/redis/docs/connections.rst | 46 +-
providers/redis/provider.yaml | 14 +
.../airflow/providers/redis/get_provider_info.py | 9 +
.../src/airflow/providers/redis/hooks/redis.py | 87 +-
.../tests/integration/redis/hooks/test_redis.py | 66 +
.../redis/tests/unit/redis/hooks/test_redis.py | 114 +
providers/snowflake/docs/operators/snowpark.rst | 4 +-
providers/snowflake/provider.yaml | 5 +-
.../providers/snowflake/get_provider_info.py | 3 +-
.../operators/test_snowflake_cortex_agent.py | 2 +-
providers/standard/docs/operators/bash.rst | 4 +-
providers/standard/docs/operators/python.rst | 28 +-
providers/standard/docs/sensors/python.rst | 4 +-
.../tests/unit/standard/decorators/test_bash.py | 7 +-
.../standard/decorators/test_external_python.py | 5 +-
.../tests/unit/standard/decorators/test_python.py | 5 +-
.../tests/unit/standard/operators/test_datetime.py | 9 +-
.../unit/standard/operators/test_trigger_dagrun.py | 6 +-
.../standard/sensors/test_external_task_sensor.py | 14 +-
.../tests/unit/standard/sensors/test_filesystem.py | 11 +-
.../unit/standard/utils/test_sensor_helper.py | 5 +-
.../tests/unit/standard/utils/test_skipmixin.py | 7 +-
.../airflow/providers/telegram/hooks/telegram.py | 2 +-
pyproject.toml | 19 +-
scripts/ci/docker-compose/forward-credentials.yml | 2 +
scripts/ci/docker-compose/integration-redis.yml | 31 +
scripts/ci/docker-compose/remove-sources.yml | 2 +
scripts/ci/docker-compose/tests-sources.yml | 2 +
scripts/ci/prek/check_common_ai_operators_index.py | 114 +
scripts/ci/prek/check_imports_in_providers.py | 2 +-
scripts/ci/prek/common_prek_utils.py | 18 +-
scripts/ci/prek/ruff_format.py | 2 +-
scripts/ci/prek/update_ts_sdk_readme_matrix.py | 113 +
scripts/docker/entrypoint_ci.sh | 38 +-
scripts/docker/entrypoint_exec.sh | 6 +
.../prek/test_check_excluded_provider_markers.py | 19 +-
.../ci/prek/test_update_ts_sdk_readme_matrix.py | 73 +
scripts/tools/setup_breeze | 31 +-
.../observability/metrics/datadog_logger.py | 5 +-
.../observability/metrics/metrics_template.yaml | 17 +
.../observability/metrics/statsd_logger.py | 77 +-
.../tests/observability/metrics/test_stats.py | 59 +-
.../tests/secrets_backend/test_base.py | 10 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 2 +-
task-sdk/src/airflow/sdk/configuration.py | 30 +-
.../sdk/observability/metrics/datadog_logger.py | 1 +
.../sdk/observability/metrics/statsd_logger.py | 52 +-
task-sdk/tests/conftest.py | 10 +
.../tests/task_sdk/execution_time/test_secrets.py | 38 +
ts-sdk/.pre-commit-config.yaml | 16 +
ts-sdk/DEVELOPMENT.md | 199 ++
ts-sdk/README.md | 130 +-
ts-sdk/capabilities.yaml | 119 +
ts-sdk/docs/package.json | 6 +-
ts-sdk/docs/scripts/deployment-checks.mjs | 102 +
ts-sdk/docs/scripts/strip-remote-fonts.mjs | 43 +
ts-sdk/docs/scripts/verify-deployment-paths.mjs | 71 +
ts-sdk/docs/tests/deployment-checks.test.mjs | 161 ++
ts-sdk/docs/typedoc.config.mjs | 67 +
ts-sdk/docs/typedoc.json | 24 -
ts-sdk/example/README.md | 4 +-
ts-sdk/package.json | 10 +-
.../scripts/ci/prek/verify_ts_sdk_package.py | 34 +-
ts-sdk/scripts/generate-supervisor.mjs | 1 +
ts-sdk/scripts/validate-release-inputs.mjs | 158 ++
ts-sdk/scripts/validate-release-inputs.test.mjs | 134 ++
ts-sdk/scripts/verify-package.mjs | 204 ++
ts-sdk/scripts/verify-package.test.mjs | 165 ++
ts-sdk/tsconfig.build.json | 4 +-
ts-sdk/vitest.config.ts | 2 +-
uv.lock | 2340 ++++++++++++--------
689 files changed, 20848 insertions(+), 3809 deletions(-)
create mode 100644 .github/workflows/ts-sdk-release.yml
create mode 100644 airflow-core/newsfragments/71113.significant.rst
create mode 100644 airflow-core/newsfragments/71957.improvement.rst
create mode 100644 airflow-core/newsfragments/72042.bugfix.rst
create mode 100644
airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/openapi-gen/queries/queryOptions.ts
create mode 100644
airflow-core/src/airflow/api_fastapi/auth/middlewares/team_authorization.py
copy providers/ibm/mq/src/airflow/providers/ibm/__init__.py =>
airflow-core/src/airflow/example_dags/example_params_ui_interfaces.ini (90%)
copy providers/amazon/src/airflow/providers/amazon/__init__.py =>
airflow-core/src/airflow/migrations/versions/0132_3_4_0_add_team_name_to_log.py
(54%)
create mode 100644
airflow-core/src/airflow/migrations/versions/0133_3_4_0_add_scope_columns_to_job.py
create mode 100644
airflow-core/src/airflow/ui/src/components/Breadcrumb/Crumb.tsx
rename airflow-core/src/airflow/ui/src/components/{Clear/Run/index.tsx =>
Breadcrumb/Row.tsx} (61%)
rename
airflow-core/src/airflow/ui/src/components/{Clear/TaskInstance/index.tsx =>
Breadcrumb/index.ts} (91%)
create mode 100644
airflow-core/src/airflow/ui/src/components/Breadcrumb/segment.ts
delete mode 100644
airflow-core/src/airflow/ui/src/components/BreadcrumbStats.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/PartitionPreviewTable.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/RunBackfillForm.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DagActions/inlineMessage.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/MarkAs/TaskGroup/index.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/MarkAs/TaskInstance/index.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/SearchDags/SearchDags.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/components/SearchDags/SearchDagsButton.tsx
rename
airflow-core/src/airflow/ui/src/components/SearchDags/{SearchDagsDropdownIndicator.tsx
=> SearchDagsControl.tsx} (62%)
delete mode 100644
airflow-core/src/airflow/ui/src/components/ui/Breadcrumb/Root.tsx
rename airflow-core/src/airflow/ui/src/{components/ui/Breadcrumb/index.ts =>
constants/tab.ts} (74%)
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/DagBreadcrumb.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/DagSwitcherButton.tsx
create mode 100644 airflow-core/src/airflow/ui/src/router.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/utils/tab.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/tab.ts
create mode 100644
airflow-core/tests/unit/api_fastapi/auth/middlewares/test_team_authorization.py
create mode 100644 airflow-e2e-tests/java-test-bundle/.gitignore
copy airflow-core/src/airflow/ui/src/layouts/Nav/TimezoneModal.tsx =>
airflow-e2e-tests/java-test-bundle/build.gradle (58%)
copy providers/ibm/mq/src/airflow/providers/ibm/__init__.py =>
airflow-e2e-tests/java-test-bundle/gradle.properties (90%)
rename airflow-core/src/airflow/ui/src/components/MarkAs/Run/index.tsx =>
airflow-e2e-tests/java-test-bundle/settings.gradle (68%)
create mode 100644
airflow-e2e-tests/java-test-bundle/src/java/org/apache/airflow/e2e/TestBundleBuilder.java
copy scripts/ci/prek/ruff_format.py =>
airflow-e2e-tests/java-test-bundle/src/resources/dags/java_test_dags.py (67%)
mode change 100755 => 100644
create mode 100644 chart/newsfragments/70238.significant.rst
create mode 100644
devel-common/tests/unit/sphinx_exts/test_operators_and_hooks_ref.py
copy {airflow-core => providers/apache/arrow}/.gitignore (100%)
copy LICENSE => providers/apache/arrow/LICENSE (100%)
copy NOTICE => providers/apache/arrow/NOTICE (100%)
create mode 100644 providers/apache/arrow/README.rst
copy providers/apache/{beam => arrow}/docs/.latest-doc-only-change.txt (100%)
create mode 100644 providers/apache/arrow/docs/changelog.rst
create mode 100644 providers/apache/arrow/docs/commits.rst
copy providers/{ibm/mq/src/airflow/providers/ibm/__init__.py =>
apache/arrow/docs/conf.py} (74%)
create mode 100644 providers/apache/arrow/docs/connections/adbc.rst
create mode 100644 providers/apache/arrow/docs/index.rst
copy providers/apache/{beam =>
arrow}/docs/installing-providers-from-sources.rst (100%)
create mode 100644
providers/apache/arrow/docs/integration-logos/apache-arrow.png
create mode 100644 providers/apache/arrow/docs/operators.rst
create mode 100644 providers/apache/arrow/docs/redirects.txt
copy providers/apache/{beam => arrow}/docs/security.rst (100%)
copy providers/{git => apache/arrow}/provider.yaml (54%)
copy providers/{exasol => apache/arrow}/pyproject.toml (79%)
copy providers/{ibm/mq => apache/arrow}/src/airflow/__init__.py (100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/src/airflow/providers}/__init__.py (100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/src/airflow/providers/apache}/__init__.py (100%)
copy LICENSE =>
providers/apache/arrow/src/airflow/providers/apache/arrow/LICENSE (100%)
copy providers/{amazon/src/airflow/providers/amazon =>
apache/arrow/src/airflow/providers/apache/arrow}/__init__.py (91%)
create mode 100644
providers/apache/arrow/src/airflow/providers/apache/arrow/get_provider_info.py
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/src/airflow/providers/apache/arrow/hooks}/__init__.py
(100%)
create mode 100644
providers/apache/arrow/src/airflow/providers/apache/arrow/hooks/adbc.py
copy providers/{airbyte => apache/arrow}/tests/conftest.py (100%)
copy providers/{ibm/mq/src/airflow => apache/arrow/tests/system}/__init__.py
(100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/tests/system/apache}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/tests/system/apache/arrow}/__init__.py (100%)
create mode 100644
providers/apache/arrow/tests/system/apache/arrow/example_adbc.py
copy providers/{ibm/mq/src/airflow => apache/arrow/tests/unit}/__init__.py
(100%)
copy providers/{ibm/mq/src/airflow =>
apache/arrow/tests/unit/apache}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/tests/unit/apache/arrow}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/apache/arrow/tests/unit/apache/arrow/hooks}/__init__.py (100%)
create mode 100644
providers/apache/arrow/tests/unit/apache/arrow/hooks/test_adbc.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/toolsets/managed_agent.py
create mode 100644
providers/common/ai/tests/unit/common/ai/toolsets/test_managed_agent.py
copy providers/{common/ai/src/airflow/providers/common/ai/exceptions.py =>
http/tests/unit/http/test_exceptions.py} (56%)
copy {airflow-core => providers/ibm/db2}/.gitignore (100%)
copy LICENSE => providers/ibm/db2/LICENSE (100%)
copy NOTICE => providers/ibm/db2/NOTICE (100%)
create mode 100644 providers/ibm/db2/README.rst
create mode 100644 providers/ibm/db2/docs/changelog.rst
create mode 100644 providers/ibm/db2/docs/commits.rst
copy providers/ibm/{mq/src/airflow/providers/ibm/__init__.py =>
db2/docs/conf.py} (74%)
create mode 100644 providers/ibm/db2/docs/connections/db2.rst
create mode 100644 providers/ibm/db2/docs/dialects.rst
copy providers/{exasol => ibm/db2}/docs/index.rst (63%)
copy providers/{apache/beam =>
ibm/db2}/docs/installing-providers-from-sources.rst (100%)
create mode 100644 providers/ibm/db2/docs/integration-logos/Db2.png
copy providers/{apache/beam => ibm/db2}/docs/security.rst (100%)
create mode 100644 providers/ibm/db2/provider.yaml
copy providers/{exasol => ibm/db2}/pyproject.toml (81%)
copy {airflow-core/tests/integration =>
providers/ibm/db2/src/airflow}/__init__.py (100%)
copy {airflow-core/tests/integration =>
providers/ibm/db2/src/airflow/providers}/__init__.py (100%)
copy {airflow-core/tests/integration =>
providers/ibm/db2/src/airflow/providers/ibm}/__init__.py (100%)
copy providers/{amazon/src/airflow/providers/amazon =>
ibm/db2/src/airflow/providers/ibm/db2}/__init__.py (91%)
copy {airflow-core/src/airflow/_shared =>
providers/ibm/db2/src/airflow/providers/ibm/db2/dialects}/__init__.py (100%)
create mode 100644
providers/ibm/db2/src/airflow/providers/ibm/db2/dialects/db2.py
create mode 100644
providers/ibm/db2/src/airflow/providers/ibm/db2/get_provider_info.py
copy {airflow-core/src/airflow/_shared =>
providers/ibm/db2/src/airflow/providers/ibm/db2/hooks}/__init__.py (100%)
create mode 100644 providers/ibm/db2/src/airflow/providers/ibm/db2/hooks/db2.py
copy providers/{airbyte => ibm/db2}/tests/conftest.py (100%)
copy {airflow-core/tests/integration =>
providers/ibm/db2/tests/system}/__init__.py (100%)
copy {task-sdk/src/airflow => providers/ibm/db2/tests/system/ibm}/__init__.py
(100%)
copy {airflow-core/src/airflow/_shared =>
providers/ibm/db2/tests/system/ibm/db2}/__init__.py (100%)
create mode 100644 providers/ibm/db2/tests/system/ibm/db2/example_db2.py
copy {airflow-core/tests/integration =>
providers/ibm/db2/tests/unit}/__init__.py (100%)
copy {airflow-core/tests/integration =>
providers/ibm/db2/tests/unit/ibm}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/ibm/db2/tests/unit/ibm/db2}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/ibm/db2/tests/unit/ibm/db2/dialects}/__init__.py (100%)
create mode 100644 providers/ibm/db2/tests/unit/ibm/db2/dialects/test_db2.py
copy {airflow-core/src/airflow/_shared =>
providers/ibm/db2/tests/unit/ibm/db2/hooks}/__init__.py (100%)
create mode 100644 providers/ibm/db2/tests/unit/ibm/db2/hooks/test_db2.py
create mode 100755 scripts/ci/prek/check_common_ai_operators_index.py
create mode 100644 scripts/ci/prek/update_ts_sdk_readme_matrix.py
create mode 100644 scripts/tests/ci/prek/test_update_ts_sdk_readme_matrix.py
create mode 100644 ts-sdk/DEVELOPMENT.md
create mode 100644 ts-sdk/capabilities.yaml
create mode 100644 ts-sdk/docs/scripts/deployment-checks.mjs
create mode 100644 ts-sdk/docs/scripts/strip-remote-fonts.mjs
create mode 100644 ts-sdk/docs/scripts/verify-deployment-paths.mjs
create mode 100644 ts-sdk/docs/tests/deployment-checks.test.mjs
create mode 100644 ts-sdk/docs/typedoc.config.mjs
delete mode 100644 ts-sdk/docs/typedoc.json
copy scripts/ci/prek/check_imports_in_providers.py =>
ts-sdk/scripts/ci/prek/verify_ts_sdk_package.py (52%)
create mode 100644 ts-sdk/scripts/validate-release-inputs.mjs
create mode 100644 ts-sdk/scripts/validate-release-inputs.test.mjs
create mode 100644 ts-sdk/scripts/verify-package.mjs
create mode 100644 ts-sdk/scripts/verify-package.test.mjs