This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-82fed8f7fc
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard c032a244c61 Bump the ui-plugin-template-package-updates group across 1
directory with 16 updates
add e6170ddb5b1 Fix variable access in triggerer for deferrable operators
(#63387)
add 97b0ef2f2ed Update `register_asset_change` to filter Dags based on
teams (#66168)
add 304ad37c45c Additional Chart Modifications After Airflow 2 Drop
(#66199)
add 8f5ac08c439 Fix launcher RBAC for executor class paths (#66208)
add d24784f3ab3 Add test coverage for per-set queue in default KEDA query
in Helm chart (#65486)
add da0119486b4 Update providers metadata 2026-05-02 (#66242)
add 67a889b3a29 Bump stylelint (#66224)
add 5241f388f00 Bump the auth-ui-package-updates group across 1 directory
with 12 updates (#66226)
add b3343d3b310 Add MwaaServerlessStartWorkflowRunOperator (#66046)
add 29a5adf5510 Bump the edge-ui-package-updates group across 1 directory
with 11 updates (#66227)
add 0b0c35a6608 i18n(ko): add missing translations(Apr 30) (#66163)
add ee0dc3f3867 Use SQLite for import and OpenAPI spec generation scripts
(#66209)
add cbd26985928 Bump the uv-dependency-updates group in /dev/breeze with 3
updates (#66228)
add f83f645ba8a Add pluggable retry policies for Airflow tasks (AIP-105)
(#65474)
add 1442b522d20 Add UsageLimits support to common.ai operators (#66248)
add 5dbfff59266 Fix deprecation warnings for workers.logGroomerSidecar
(#66238) (#66243)
add a52b0a23321 Fix edge3 worker deadlock regression test on Python 3.14
(#66247)
add ea349226ae0 Add Celery worker workload dispatch regression tests
(#65849)
add ac338e05ff4 refactor: word changed from DAG to Dag in
airflow-ctl-tests/ (#66113)
add 5830111c217 Add engine flag support to Dataproc ClusterGenerator and
bump google-cloud-dataproc to 5.27.0 (#65130)
add 47514c0e3f2 Fix heading level for "Alternative: legacy global install"
in breeze docs (#66252)
add 8fc246721e5 Docs: Expand Helm Chart upgrade tasks in Airflow 3
migration guide (#66118)
add 1738252d21a Enable PT007 rule to apache.kafka Provider test (#66147)
add 251fe925b54 Use contextlib.suppress instead of try-except-pass and
re-enable SIM105 (#66193)
add 4a9b5a0f70a Don't re-emit logical_date when previous data_interval is
zero-length (#66132)
add 254758d5093 Fix dag.test() to sync sibling DAGs across calls (#64884)
(#66205)
add 865718c7d97 Clarify 'Fixing released docs' section to cover failed
initial publish case (#66253)
add 8dab708863a Document airflow-site index update for providers (#66281)
add 1f84a568613 Apply AIR201-style replacements (#65197)
add 16db2488268 Remove inactive Korean translation owner (#66295)
add 9b18d230d34 fix(backfill): populate partition_date on partitioned
backfill runs (#65998)
add 170ac6ede16 Align Dag capitalization from "DAG" to "Dag" in core_api
(#66211)
add 263549590ec Breeze: make `breeze down` discover and stop every compose
project (#66311)
add e55e1086111 fix: update dependencies to fix dependabot alarms in
providers.common.ai (#66244)
add 2cde0be3bd1 Iterate file objects directly instead of calling
readlines() (#66291)
add 2d200ecfb75 docs(security): clarify Task Execution API coverage in
DAG-author-isolation chapter (#66194)
add f90f1661795 Fix flaky E2E tests with API-based setup and data
isolation (#64024)
add ffb1b8a6d22 AIP-103: Add Execution API endpoints for task and asset
states (#66073)
add 345ddb8dfb5 Fix max_active_tis_per_dag for deferred task instances
(#61769)
add 6f306eb7809 [main] CI: Upgrade important CI environment (#66068)
add 5b127b870ac AIP-103: Refactor asset state routes to by-name/by-uri and
add AssetUriRef support (#66336)
add 2d419dd7440 Cleanup integration names for consistency (#66287)
add 403a1ebaa77 Fix task run context crash when DagRun state is expired
(#66339)
add 68de71d69dd i18n(Ko): add missing translations in common.json (May 4)
(#66346)
add 06c03bc6908 Fix resolve_xcom_backend to rely on config schema default
(#65938)
add 67d5920496b e2e: Remove redundant timeout: 10_000 matching
playwright.config defaults (#66349)
add 1de99aaf079 i18n: Add missing translation in common.json
taskGroup_one, taskGroup_other (#66267)
add 1a83f11e7a8 Add `S3VectorsCreateIndexOperator` (#66121)
add 29c4565a7e7 Add `S3TablesDeleteTableBucketOperator` (#66120)
add 7abf0487f44 fix: Prevent stats from breaking executor initializer
(#66351)
add a9c0f04e347 GenericTransfer: switch paginated mode to non-deferred
default with opt-in deferral (#64321)
add d00b3821f15 UI: fix Searchbar input rewind (#66284)
add 3e33d2c6f18 Add isExpanded prop on JSON expand/collapse buttons
(#66340)
add 1d3e1342b02 Mask DFP connection and variable responses (#65704)
add a94a38bc541 Distinguish upstream_failed from failed in normal vision
(#66324)
add c5246b54b37 UI: Fix manual copy from Rendered Templates tab adding
extra blank lines (#66221)
add dad2b927f1b Fix AWS auth manager batch team context (#66203)
add 9a917ecaf3b Relax version checks for remote Edge Workers (#66292)
add 966b0ec219c Add `S3TablesCreateNamespaceOperator` (#66360)
add ce2aa7c0481 Avoid rebuilding option filter sets per iteration in
update_config CLI (#66369)
add 2d712c50afe Add `BedrockCreateGuardrailVersionOperator` (#66372)
add 3208cf2198f Add `MwaaServerlessCreateWorkflowOperator` (#66363)
add 166206809aa Add `S3VectorsDeleteIndexOperator` (#66361)
add e9691eed76e Add `GlueCatalogCreateTableOperator` (#66362)
add 558765d1bfb Allow automated edge worker maintenance (#66310)
add 111dc37fc2a Remove `--skip-git-fetch=false` from
`prepare-providers-documentation` skill (#66376)
add f06df11b292 Propagate triggering user to child DAG runs via
TriggerDagRunOperator (#65747)
add 1ca2797d3bb Fix slow and incomplete trigger cleanup in scheduler
(#66210)
add dd3ea3e1e6c Add AWS SageMakerUnifiedStudioNotebookOperator (#62240)
add f68cb3e4a5d Add Korean translations for deadline status UI (#66266)
add 7620f92c352 i18n(Ko): translate deadlines section in dag.json (#66270)
add cdf00afb3db i18n(ko): Add Korean translation for deadlineStatus in
dag.json (May 2) (#66265)
add 1467d5b4bd9 ci: add migration round-trip check for SQLite FK cascade
regressions (#65547)
add 2a89e90b9ea docs(agents): document Dag naming convention (#66393)
add 209c815bc91 feat(ui-i18n): complete zh-TW translations (#66390)
add f481758f04c Propagate task OTel trace context through IPC and into
execution API requests (#66151)
add 3841012290d Bump axios from 1.15.0 to 1.15.2 in
/airflow-core/src/airflow/ui (#66398)
add 1eb84604d6c Add `GlueCatalogDeleteTableOperator` (#66380)
add f9809578ba5 Add `S3TablesDeleteNamespaceOperator` (#66375)
add 1f7ed74c8e2 i18n translation files served stale after Airflow upgrade
due to browser cache (#65720)
add 265e184fc37 Bump the react group across 1 directory with 2 updates
(#65794)
add c6b4192d299 Update the Kubernetes Engine components to be able to work
on "Sovereign Cloud from Google" environments (#66341)
add 23fbf878220 Fix consistent return response from PubSubPullOperator
(#66156)
add 7821429f6b9 Add support of different graph directions in the Asset
graph view. (#65948)
add 632f9b8eb23 Add universe_domain support for GoogleBaseHook (#66159)
add b7629172d03 Bump @chakra-ui/react (#66225)
add 5936cf8b71a Add lychee prek hook (offline mode) and fix internal
markdown links (#66356)
add b3cbcb7d1d3 Return list of GCS URIs from SalesforceToGcsOperator
(#61659)
add c41065bd043 Change the name in rebranding of Google services: "TPC" ->
"Sovereign Cloud from Google" (#66415)
add ab370b3fa89 Fix typo `matchning` -> `matching` (#66427)
add 9b2bce6ddb2 Pass `schedule_timeout_seconds` through to
`GKEStartPodTrigger` from `GKEStartPodOperator` (#66355)
add d984e0c7795 Update Composer naming and add ManagedAirflow aliases
(#66001)
add 9b5fa36ef7a Fix BigQueryInsertJobTrigger not propagating
CancelledError (#63730)
add ece8ebfe53f Fix Dataflow deferrable trigger handling of transient 503
(#66293)
add 565515c18c9 Fix GCSToGCSOperator ignoring replace=False for
single-file copy (#66014)
add eaeec367ead Add optional object-level retention support to
GcsToGcsOperator (#66204)
add decc3bdd9c8 Fix Slack notifier howto guide code example for Airflow 3
(#66111)
add 535e3cca49d Add optional OTel service to the Airflow Helm Chart
(#64902)
add 823b86e006d Fix remote_task_handler_kwargs passing handler params to
RemoteLogIO (#65957)
add 07782105059 Prepare providers release 2026-05-05 (#66424)
add a13fd1841c3 Updated `create_asset_event` endpoint to pass the user
teams (#66367)
add 01720c92afe Bump the fab-ui-package-updates group across 1 directory
with 2 updates (#66429)
add 73f273517ae Skip registry-derive in publish-docs for non-provider
distributions (#66438)
add 84642755ef9 KubernetesExecutor: scope periodic completed-pod adoption
to dead schedulers (#66400)
add 099fd2b03f3 Fix triggerer crash when multiple triggers call sync SDK
methods concurrently (#66412)
add f9ae53c90a9 Trim PR-skill frontmatter to cut per-turn token cost
(#66444)
add 20abcc3ce8e Add `MwaaServerlessWorkflowRunSensor` (#66382)
add 06ca900f304 i18n(Ko): add missing translations in dag.json (May 2)
(#66273)
add 2727606f951 i18n(ko): Add translations for DAG deadline status (May 2)
(#66272)
add 49b0ba213e9 i18n(ko): translate deadline alerts strings (#66274)
add d133f75f3f0 Bump sphinx-airflow-theme to 0.3.10 (#66430)
add c7566378058 Enable plugin tests in test_databricks_workflow.py for
Airflow 3.0+ (#66442)
add e335fadee91 Adjust GCP BigQuery triggers for the private cloud (#66404)
add 4d8eae3f28d Fix SparkKubernetesOperator with deferrable=True falling
through to KubernetesPodOperator.execute() creating a spurious pod (#66448)
add 76f2e8ee7f4 Document timetable switch effects when
create_cron_data_intervals flips (#66441)
add d7e7cd5d44e Fix Azure Batch provider import error by capping
azure-batch<15 (#66452)
add 0d2011a3a52 Support user-assigned managed identity for Azure VM auth
(#66072)
add e3e3f6fad2b fix(hitl): show mapped task instances on /required_actions
listing (#66433)
add 7bbd9a21ba3 Initial overlay example for Keda and Structure pre-commit
hook (#65897)
add 681220708a8 Improve Playwright test patterns in connections e2e tests
(#66058)
add 935c8b9702a Fix SageMaker delete model compat test to handle moto
status code change (#66473)
add 7ca4c7538fe fix(providers-cncf-kubernetes): preserve event resource
version after empty sync polls (#66471)
add 5872e6ce3cb [main] CI: Upgrade important CI environment (#66495)
add 95bbf6ace25 Pin Docker Hub test images against K8s system-test
rate-limit flakes (#66423)
add 38a51dc1faa Fix scheduler callback bundle_version when versioning
disabled (#66485)
add 6d5174494df AIP-103: Wiring up task SDK comms and context accessors
(#66160)
add 69b6c54ef17 Do not deserialize trigger_kwargs when loading serialized
DAGs (#66002)
add 82f0fe9ce09 Move helm-tests/ to chart/tests/ and merge pyproject.toml
into chart's (#66371)
add c986c1f59d7 Bump the ui-plugin-template-package-updates group across 1
directory with 16 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 (c032a244c61)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-82fed8f7fc
(c986c1f59d7)
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/CODEOWNERS | 3 +-
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 2 +-
.github/dependabot.yml | 4 +-
.github/skills/airflow-translations/locales/ar.md | 9 +
.github/skills/airflow-translations/locales/it.md | 9 +
.github/skills/airflow-translations/locales/th.md | 26 +-
.github/skills/airflow-translations/locales/tr.md | 9 +
.github/skills/maintainer-review/SKILL.md | 25 +-
.github/skills/pr-stats/SKILL.md | 19 +-
.github/skills/pr-triage/SKILL.md | 27 +-
.github/skills/pr-triage/actions.md | 4 +
.../prepare-providers-documentation/SKILL.md | 1 -
.github/workflows/ci-amd-arm.yml | 41 +
.github/workflows/helm-tests.yml | 3 +
.github/workflows/publish-docs-to-s3.yml | 34 +-
.pre-commit-config.yaml | 35 +-
AGENTS.md | 15 +
Dockerfile | 2 +-
Dockerfile.ci | 4 +-
RELEASE_NOTES.rst | 4 +-
airflow-core/.pre-commit-config.yaml | 8 +
.../docs/authoring-and-scheduling/timetable.rst | 23 +
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/tasks.rst | 148 ++
.../docs/installation/upgrading_to_airflow3.rst | 17 +-
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/docs/security/security_model.rst | 7 +
airflow-core/newsfragments/66210.bugfix.rst | 1 +
airflow-core/newsfragments/66412.significant.rst | 26 +
airflow-core/pyproject.toml | 8 +-
airflow-core/src/airflow/_shared/AGENTS.md | 2 +-
airflow-core/src/airflow/_shared/README.md | 2 +-
.../auth/managers/simple/ui/package.json | 24 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 1933 +++++++++----------
.../api_fastapi/core_api/openapi/_private_ui.yaml | 2 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 52 +-
.../api_fastapi/core_api/routes/public/assets.py | 22 +-
.../core_api/routes/public/dag_parsing.py | 2 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 28 +-
.../core_api/routes/public/dag_sources.py | 2 +-
.../api_fastapi/core_api/routes/public/dag_tags.py | 2 +-
.../api_fastapi/core_api/routes/public/dags.py | 32 +-
.../core_api/routes/public/import_error.py | 32 +-
.../core_api/routes/public/task_instances.py | 2 +-
.../api_fastapi/core_api/routes/public/tasks.py | 2 +-
.../api_fastapi/core_api/routes/public/xcom.py | 6 +-
.../airflow/api_fastapi/core_api/routes/ui/dags.py | 2 +-
.../core_api/services/public/task_instances.py | 2 +-
.../api_fastapi/core_api/services/ui/calendar.py | 10 +-
.../core_api/services/ui/dependencies.py | 2 +-
.../api_fastapi/core_api/services/ui/grid.py | 6 +-
.../api_fastapi/core_api/services/ui/task_group.py | 2 +-
.../airflow/api_fastapi/execution_api/AGENTS.md | 2 +-
.../execution_api/datamodels/asset_state.py | 16 +
.../execution_api/datamodels/task_state.py | 16 +
.../execution_api/datamodels/taskinstance.py | 9 +-
.../api_fastapi/execution_api/routes/__init__.py | 4 +
.../execution_api/routes/asset_state.py | 179 ++
.../api_fastapi/execution_api/routes/assets.py | 11 +-
.../api_fastapi/execution_api/routes/dag_runs.py | 10 +
.../execution_api/routes/task_instances.py | 15 +-
.../api_fastapi/execution_api/routes/task_state.py | 128 ++
.../api_fastapi/execution_api/versions/__init__.py | 10 +-
.../execution_api/versions/v2026_04_17.py | 31 +-
.../execution_api/versions/v2026_06_16.py | 21 +-
airflow-core/src/airflow/assets/manager.py | 93 +-
.../src/airflow/cli/commands/config_command.py | 13 +-
airflow-core/src/airflow/cli/hot_reload.py | 5 +-
.../config_templates/airflow_local_settings.py | 35 +-
.../src/airflow/config_templates/config.yml | 15 +
.../src/airflow/dag_processing/processor.py | 9 +-
.../airflow/example_dags/example_retry_policy.py | 81 +
.../src/airflow/jobs/scheduler_job_runner.py | 47 +-
.../src/airflow/jobs/triggerer_job_runner.py | 127 +-
...3_2_0_fix_migration_file_ORM_inconsistencies.py | 92 +-
.../0113_3_3_0_add_retry_policy_fields_to_ti.py | 63 +
airflow-core/src/airflow/models/backfill.py | 1 +
airflow-core/src/airflow/models/taskinstance.py | 74 +-
.../src/airflow/models/taskinstancehistory.py | 6 +
airflow-core/src/airflow/models/trigger.py | 3 +-
.../serialization/definitions/baseoperator.py | 1 +
airflow-core/src/airflow/serialization/enums.py | 26 +
.../airflow/serialization/serialized_objects.py | 10 +-
airflow-core/src/airflow/state/__init__.py | 16 +
.../src/airflow/ti_deps/dependencies_states.py | 10 +
.../airflow/ti_deps/deps/task_concurrency_dep.py | 4 +-
airflow-core/src/airflow/timetables/interval.py | 14 +
airflow-core/src/airflow/triggers/base.py | 17 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 28 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 28 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 56 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 28 +-
.../ui/openapi-gen/requests/services.gen.ts | 56 +-
airflow-core/src/airflow/ui/package.json | 8 +-
airflow-core/src/airflow/ui/playwright.config.ts | 11 -
airflow-core/src/airflow/ui/pnpm-lock.yaml | 1684 ++++++++---------
.../airflow/ui/public/i18n/locales/ko/common.json | 8 +
.../ui/public/i18n/locales/ko/components.json | 1 +
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 42 +
.../airflow/ui/public/i18n/locales/ko/dags.json | 5 +
.../ui/public/i18n/locales/zh-TW/common.json | 8 +
.../ui/public/i18n/locales/zh-TW/components.json | 5 +-
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 43 +
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 5 +
.../ui/src/components/ExpandCollapseButtons.tsx | 8 +-
.../ui/src/components/Graph/DirectionDropdown.tsx | 78 +
.../ui/src/components/Graph/elkGraphUtils.ts | 2 +-
.../ui/src/components/Graph/useGraphLayout.ts | 14 +-
.../airflow/ui/src/components/SearchBar.test.tsx | 27 +
.../src/airflow/ui/src/components/SearchBar.tsx | 12 +-
airflow-core/src/airflow/ui/src/i18n/config.ts | 58 +-
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 3 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 42 +-
.../src/airflow/ui/src/pages/Asset/AssetGraph.tsx | 7 +-
.../ui/src/pages/Asset/AssetPanelButtons.tsx | 75 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 1 +
.../src/airflow/ui/src/pages/Events/Events.tsx | 1 +
.../HITLTaskInstances/HITLTaskInstances.test.tsx | 222 +++
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 7 +-
.../src/pages/TaskInstance/RenderedTemplates.tsx | 1 +
.../airflow/ui/src/pages/Variables/Variables.tsx | 1 +
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 1 +
airflow-core/src/airflow/ui/src/theme.ts | 2 +-
airflow-core/src/airflow/ui/tests/e2e/README.md | 2 +-
.../airflow/ui/tests/e2e/pages/AssetDetailPage.ts | 8 +-
.../airflow/ui/tests/e2e/pages/AssetListPage.ts | 11 +-
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 95 +-
.../ui/tests/e2e/pages/ConfigurationPage.ts | 5 +-
.../airflow/ui/tests/e2e/pages/ConnectionsPage.ts | 100 +-
.../src/airflow/ui/tests/e2e/pages/DagCodePage.ts | 8 +-
.../src/airflow/ui/tests/e2e/pages/DagRunsPage.ts | 4 +-
.../airflow/ui/tests/e2e/pages/DagRunsTabPage.ts | 28 +-
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 14 +-
.../src/airflow/ui/tests/e2e/pages/EventsPage.ts | 2 +-
.../src/airflow/ui/tests/e2e/pages/GridPage.ts | 8 +-
.../src/airflow/ui/tests/e2e/pages/HomePage.ts | 2 +-
.../src/airflow/ui/tests/e2e/pages/LoginPage.ts | 2 +-
.../src/airflow/ui/tests/e2e/pages/PluginsPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/PoolsPage.ts | 22 +-
.../airflow/ui/tests/e2e/pages/ProvidersPage.ts | 9 +-
.../ui/tests/e2e/pages/RequiredActionsPage.ts | 26 +-
.../airflow/ui/tests/e2e/pages/TaskInstancePage.ts | 2 +-
.../ui/tests/e2e/pages/TaskInstancesPage.ts | 2 +-
.../src/airflow/ui/tests/e2e/pages/VariablePage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/XComsPage.ts | 8 +-
.../src/airflow/ui/tests/e2e/specs/asset.spec.ts | 1 -
.../airflow/ui/tests/e2e/specs/backfill.spec.ts | 83 +-
.../ui/tests/e2e/specs/configuration.spec.ts | 1 -
.../airflow/ui/tests/e2e/specs/connections.spec.ts | 314 ++--
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 1 -
.../airflow/ui/tests/e2e/specs/events-page.spec.ts | 4 +-
.../src/airflow/ui/tests/e2e/specs/plugins.spec.ts | 1 -
.../src/airflow/ui/tests/e2e/specs/pools.spec.ts | 90 +-
.../airflow/ui/tests/e2e/specs/providers.spec.ts | 1 -
.../ui/tests/e2e/specs/requiredAction.spec.ts | 51 +-
.../airflow/ui/tests/e2e/specs/task-logs.spec.ts | 4 +-
.../airflow/ui/tests/e2e/specs/variable.spec.ts | 174 +-
.../src/airflow/ui/tests/e2e/utils/test-helpers.ts | 8 +-
airflow-core/src/airflow/ui/testsSetup.ts | 1 -
airflow-core/src/airflow/utils/db.py | 2 +-
.../core_api/routes/public/test_assets.py | 64 +-
.../core_api/routes/public/test_dag_run.py | 6 +-
.../core_api/routes/public/test_import_error.py | 6 +-
.../core_api/routes/public/test_task_instances.py | 4 +-
.../tests/unit/api_fastapi/core_api/test_app.py | 5 +-
.../versions/head/test_asset_state.py | 253 +++
.../execution_api/versions/head/test_dag_runs.py | 41 +
.../versions/head/test_task_instances.py | 84 +
.../execution_api/versions/head/test_task_state.py | 274 +++
airflow-core/tests/unit/assets/test_manager.py | 211 +++
.../tests/unit/cli/commands/test_task_command.py | 17 +
.../test_airflow_local_settings.py | 107 +-
.../tests/unit/dag_processing/test_processor.py | 93 +-
.../dags/test_dag_test_with_dynamic_trigger.py | 55 +
.../tests/unit/dags/test_dag_test_with_trigger.py | 51 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 428 ++++-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 265 ++-
airflow-core/tests/unit/models/test_backfill.py | 11 +
airflow-core/tests/unit/models/test_dag.py | 145 +-
airflow-core/tests/unit/models/test_dagrun.py | 83 +-
.../tests/unit/models/test_taskinstance.py | 101 +-
airflow-core/tests/unit/models/test_xcom.py | 11 -
.../unit/serialization/test_dag_serialization.py | 55 +
.../unit/serialization/test_serialized_objects.py | 37 +
.../unit/ti_deps/deps/test_task_concurrency.py | 13 +-
.../unit/timetables/test_interval_timetable.py | 25 +
.../tests/unit/utils/test_process_utils.py | 4 +-
airflow-ctl-tests/pyproject.toml | 6 +-
.../airflowctl_tests/test_airflowctl_commands.py | 8 +-
airflow-ctl/pyproject.toml | 6 +-
airflow-e2e-tests/pyproject.toml | 6 +-
chart/.helmignore | 13 +
chart/.pre-commit-config.yaml | 14 +
chart/docs/index.rst | 1 +
chart/docs/upgrading-to-airflow-3.rst | 119 ++
chart/kustomize-overlays/CONTRIBUTING.rst | 158 ++
chart/kustomize-overlays/README.rst | 71 +
chart/kustomize-overlays/keda/README.rst | 180 ++
.../kustomize-overlays/keda/STATUS.yaml | 18 +-
.../kustomize-overlays/keda/kustomization.yaml | 35 +-
chart/kustomize-overlays/keda/scaledobject.yaml | 53 +
.../keda/triggerauthentication.yaml | 31 +-
chart/pyproject.toml | 34 +-
chart/templates/NOTES.txt | 12 +-
chart/templates/_helpers.yaml | 34 +-
.../configmaps/otel-collector-configmap.yaml | 73 +
.../dag-processor-serviceaccount.yaml | 2 +-
chart/templates/jobs/create-user-job.yaml | 2 +-
.../otel-collector/otel-collector-deployment.yaml | 115 ++
.../otel-collector-networkpolicy.yaml | 59 +
.../otel-collector-service.yaml} | 39 +-
.../otel-collector-serviceaccount.yaml} | 23 +-
chart/templates/rbac/job-launcher-rolebinding.yaml | 6 +-
chart/templates/rbac/pod-launcher-rolebinding.yaml | 6 +-
.../security-context-constraint-rolebinding.yaml | 2 +-
.../tests/chart_utils}/__init__.py | 0
.../tests/chart_utils/helm_template_generator.py | 0
.../tests/chart_utils/keda.sh_scaledobjects.yaml | 0
.../tests/chart_utils/log_groomer.py | 78 +-
{helm-tests => chart}/tests/conftest.py | 0
.../_shared => chart/tests/helm_tests}/__init__.py | 0
.../tests/helm_tests/airflow_aux}/__init__.py | 0
.../helm_tests/airflow_aux/test_airflow_common.py | 18 +-
.../helm_tests/airflow_aux/test_annotations.py | 2 -
.../airflow_aux/test_basic_helm_chart.py | 12 +-
.../helm_tests/airflow_aux/test_chart_quality.py | 0
.../helm_tests/airflow_aux/test_cleanup_pods.py | 0
.../tests/helm_tests/airflow_aux/test_configmap.py | 0
.../airflow_aux/test_container_lifecycle.py | 1 -
.../helm_tests/airflow_aux/test_create_user_job.py | 5 +-
.../airflow_aux/test_database_cleanup.py | 0
.../airflow_aux/test_extra_env_env_from.py | 0
.../airflow_aux/test_job_launcher_role.py | 19 +
.../test_logs_persistent_volume_claim.py | 0
.../airflow_aux/test_migrate_database_job.py | 0
.../airflow_aux/test_pod_launcher_role.py | 19 +
.../airflow_aux/test_pod_template_file.py | 5 +-
.../helm_tests/airflow_aux/test_remote_logging.py | 20 +-
.../tests/helm_tests/airflow_core}/__init__.py | 0
.../helm_tests/airflow_core/test_api_server.py | 6 +-
.../helm_tests/airflow_core/test_dag_processor.py | 103 +-
.../tests/helm_tests/airflow_core/test_env.py | 2 +-
.../helm_tests/airflow_core/test_pdb_api_server.py | 0
.../airflow_core/test_pdb_dag_processor.py | 0
.../helm_tests/airflow_core/test_pdb_scheduler.py | 0
.../helm_tests/airflow_core/test_pdb_triggerer.py | 0
.../helm_tests/airflow_core/test_pdb_worker.py | 0
.../helm_tests/airflow_core/test_scheduler.py | 0
.../helm_tests/airflow_core/test_triggerer.py | 0
.../tests/helm_tests/airflow_core/test_worker.py | 0
.../helm_tests/airflow_core/test_worker_sets.py | 58 +
.../tests/helm_tests/apiserver/test_apiserver.py | 0
.../helm_tests/apiserver/test_hpa_apiserver.py | 5 +-
.../helm_tests/apiserver/test_ingress_apiserver.py | 0
.../tests/helm_tests/dagprocessor}/__init__.py | 0
.../dagprocessor/test_labels_deployment.py | 0
.../dagprocessor/test_labels_service_account.py | 0
.../tests/helm_tests/otel_collector}/__init__.py | 0
.../otel_collector}/test_labels_deployment.py | 26 +-
.../otel_collector}/test_labels_networkpolicy.py | 24 +-
.../otel_collector}/test_labels_service.py | 24 +-
.../otel_collector}/test_labels_serviceaccount.py | 24 +-
.../otel_collector/test_otel_collector.py | 484 +++++
.../tests/helm_tests/other}/__init__.py | 0
.../other/test_dags_persistent_volume_claim.py | 0
.../tests/helm_tests/other/test_flower.py | 0
.../helm_tests/other/test_git_ssh_key_secret.py | 0
.../helm_tests/other/test_git_sync_scheduler.py | 0
.../helm_tests/other/test_git_sync_triggerer.py | 0
.../tests/helm_tests/other/test_git_sync_worker.py | 0
.../tests/helm_tests/other/test_hpa.py | 5 +-
.../tests/helm_tests/other/test_keda.py | 5 +-
.../tests/helm_tests/other/test_limit_ranges.py | 0
.../tests/helm_tests/other/test_pdb_pgbouncer.py | 0
.../tests/helm_tests/other/test_pgbouncer.py | 0
.../tests/helm_tests/other/test_redis.py | 0
.../tests/helm_tests/other/test_resource_quota.py | 0
.../tests/helm_tests/other/test_statsd.py | 0
.../tests/helm_tests/redis}/__init__.py | 0
.../helm_tests/redis/test_labels_networkpolicy.py | 0
.../tests/helm_tests/redis/test_labels_service.py | 0
.../helm_tests/redis/test_labels_serviceaccount.py | 0
.../helm_tests/redis/test_labels_statefulset.py | 0
.../tests/helm_tests/security}/__init__.py | 0
.../security/test_elasticsearch_secret.py | 0
.../security/test_extra_configmaps_secrets.py | 0
.../helm_tests/security/test_fernetkey_secret.py | 6 +-
.../tests/helm_tests/security/test_kerberos.py | 0
.../security/test_metadata_connection_secret.py | 0
.../helm_tests/security/test_opensearch_secret.py | 0
.../tests/helm_tests/security/test_rbac.py | 10 +
.../helm_tests/security/test_rbac_pod_launcher.py | 0
.../security/test_rbac_pod_log_reader.py | 5 +-
.../test_result_backend_connection_secret.py | 0
.../helm_tests/security/test_scc_rolebinding.py | 1 -
.../helm_tests/security/test_security_context.py | 0
.../tests/helm_tests/statsd}/__init__.py | 0
.../helm_tests/statsd/test_labels_deployment.py | 0
.../tests/helm_tests/statsd/test_labels_ingress.py | 0
.../helm_tests/statsd/test_labels_networkpolicy.py | 0
.../tests/helm_tests/statsd/test_labels_service.py | 0
.../statsd/test_labels_serviceaccount.py | 0
chart/values.schema.json | 292 ++-
chart/values.yaml | 121 +-
clients/python/pyproject.toml | 6 +-
contributing-docs/14_metadata_database_updates.rst | 9 +
.../26_migration_round_trip_check.rst | 174 ++
contributing-docs/testing/helm_unit_tests.rst | 12 +-
dev/README_RELEASE_AIRFLOW.md | 2 +-
dev/README_RELEASE_HELM_CHART.md | 2 +-
dev/README_RELEASE_PROVIDERS.md | 39 +-
dev/airflow_perf/sql_queries.py | 2 +-
dev/breeze/doc/01_installation.rst | 2 +-
dev/breeze/doc/03_developer_tasks.rst | 13 +
dev/breeze/doc/ci/02_images.md | 6 +-
dev/breeze/doc/ci/04_selective_checks.md | 2 +-
dev/breeze/doc/images/output-commands.svg | 90 +-
dev/breeze/doc/images/output_down.svg | 67 +-
dev/breeze/doc/images/output_down.txt | 2 +-
.../doc/images/output_testing_helm-tests.svg | 2 +-
.../doc/images/output_testing_helm-tests.txt | 2 +-
dev/breeze/pyproject.toml | 2 +-
.../airflow_breeze/commands/developer_commands.py | 59 +-
.../commands/developer_commands_config.py | 7 +
.../airflow_breeze/commands/kubernetes_commands.py | 101 +
.../airflow_breeze/commands/registry_commands.py | 30 +-
.../commands/release_management_commands.py | 8 +-
dev/breeze/src/airflow_breeze/global_constants.py | 28 +-
.../utils/airflow_release_validator.py | 9 +-
.../airflow_breeze/utils/docker_command_utils.py | 80 +-
.../src/airflow_breeze/utils/reproducible.py | 6 +-
dev/breeze/src/airflow_breeze/utils/run_tests.py | 4 +-
.../src/airflow_breeze/utils/selective_checks.py | 5 +-
dev/breeze/tests/test_docker_command_utils.py | 97 +
.../tests/test_pytest_args_for_test_types.py | 6 +-
dev/breeze/tests/test_selective_checks.py | 6 +-
dev/breeze/uv.lock | 312 ++--
dev/ide_setup/setup_idea.py | 11 +-
dev/mypy/pyproject.toml | 6 +-
dev/pyproject.toml | 6 +-
.../react_plugin_template/package.json | 2 +-
.../react_plugin_template/pnpm-lock.yaml | 152 +-
dev/registry/extract_metadata.py | 2 +-
dev/registry/extract_versions.py | 2 +-
dev/registry/pyproject.toml | 6 +-
dev/system_tests/README.md | 9 +-
dev/update_github_branch_config.py | 2 +-
devel-common/pyproject.toml | 4 +-
devel-common/src/sphinx_exts/redirects.py | 2 +-
docker-stack-docs/pyproject.toml | 6 +-
docker-tests/pyproject.toml | 6 +-
docs/spelling_wordlist.txt | 5 +
generated/provider_metadata.json | 14 +
helm-tests/.gitignore | 1 -
helm-tests/pyproject.toml | 81 -
.../tests/helm_tests/airflow_aux/__init__.py | 16 -
.../tests/helm_tests/airflow_core/__init__.py | 16 -
.../tests/helm_tests/dagprocessor/__init__.py | 16 -
helm-tests/tests/helm_tests/other/__init__.py | 16 -
helm-tests/tests/helm_tests/redis/__init__.py | 16 -
helm-tests/tests/helm_tests/security/__init__.py | 16 -
helm-tests/tests/helm_tests/statsd/__init__.py | 16 -
kubernetes-tests/pyproject.toml | 6 +-
.../test_kubernetes_pod_operator.py | 90 +-
providers-summary-docs/pyproject.toml | 6 +-
providers/.last_release_date.txt | 2 +-
providers/AGENTS.md | 6 +-
providers/airbyte/README.rst | 6 +-
providers/airbyte/docs/changelog.rst | 18 +
providers/airbyte/docs/index.rst | 6 +-
providers/airbyte/provider.yaml | 3 +-
providers/airbyte/pyproject.toml | 6 +-
.../src/airflow/providers/airbyte/__init__.py | 2 +-
.../akeyless/docs/.latest-doc-only-change.txt | 2 +-
providers/amazon/README.rst | 6 +-
providers/amazon/docs/changelog.rst | 51 +
providers/amazon/docs/index.rst | 6 +-
providers/amazon/docs/operators/bedrock.rst | 14 +
providers/amazon/docs/operators/glue_catalog.rst | 28 +
.../amazon/docs/operators/mwaa_serverless.rst | 70 +
providers/amazon/docs/operators/s3_tables.rst | 42 +
providers/amazon/docs/operators/s3_vectors.rst | 38 +-
.../docs/operators/sagemakerunifiedstudio.rst | 49 +-
providers/amazon/provider.yaml | 19 +-
providers/amazon/pyproject.toml | 6 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../amazon/aws/auth_manager/aws_auth_manager.py | 12 +
.../amazon/aws/hooks/sagemaker_unified_studio.py | 2 +-
.../aws/hooks/sagemaker_unified_studio_notebook.py | 324 ++++
.../providers/amazon/aws/operators/bedrock.py | 43 +
.../providers/amazon/aws/operators/glue_catalog.py | 119 ++
.../amazon/aws/operators/mwaa_serverless.py | 159 ++
.../providers/amazon/aws/operators/s3_tables.py | 104 ++
.../providers/amazon/aws/operators/s3_vectors.py | 123 ++
.../aws/operators/sagemaker_unified_studio.py | 2 +-
.../operators/sagemaker_unified_studio_notebook.py | 219 +++
.../amazon/aws/sensors/mwaa_serverless.py | 77 +
.../sensors/sagemaker_unified_studio_notebook.py | 133 ++
.../triggers/sagemaker_unified_studio_notebook.py | 106 ++
.../providers/amazon/aws/waiters/datazone.json | 30 +
.../airflow/providers/amazon/get_provider_info.py | 35 +-
.../system/amazon/aws/example_bedrock_guardrail.py | 9 +
.../system/amazon/aws/example_dms_serverless.py | 9 +-
.../system/amazon/aws/example_glue_catalog.py | 35 +
.../tests/system/amazon/aws/example_http_to_s3.py | 2 +-
.../system/amazon/aws/example_mwaa_serverless.py | 152 ++
.../tests/system/amazon/aws/example_s3_tables.py | 52 +-
.../tests/system/amazon/aws/example_s3_vectors.py | 26 +
.../example_sagemaker_unified_studio_notebook.py | 166 ++
.../aws/auth_manager/test_aws_auth_manager.py | 45 +-
.../tests/unit/amazon/aws/hooks/test_sagemaker.py | 3 +-
.../test_sagemaker_unified_studio_notebook.py | 471 +++++
.../unit/amazon/aws/operators/test_bedrock.py | 47 +
.../unit/amazon/aws/operators/test_glue_catalog.py | 95 +
.../amazon/aws/operators/test_mwaa_serverless.py | 148 ++
.../unit/amazon/aws/operators/test_s3_tables.py | 109 +-
.../unit/amazon/aws/operators/test_s3_vectors.py | 110 ++
.../test_sagemaker_unified_studio_notebook.py | 475 +++++
.../amazon/aws/sensors/test_mwaa_serverless.py | 84 +
.../test_sagemaker_unified_studio_notebook.py | 270 +++
.../test_sagemaker_unified_studio_notebook.py | 100 +
.../system/apache/beam/example_go_dataflow.py | 5 +-
.../system/apache/beam/example_python_dataflow.py | 5 +-
.../apache/druid/docs/.latest-doc-only-change.txt | 2 +-
.../unit/apache/kafka/operators/test_consume.py | 6 +-
.../unit/celery/executors/test_celery_executor.py | 85 +
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 +-
.../kubernetes/executors/kubernetes_executor.py | 106 +-
.../cncf/kubernetes/operators/spark_kubernetes.py | 1 +
.../providers/cncf/kubernetes/utils/pod_manager.py | 2 +
.../cncf/kubernetes/utils/xcom_sidecar.py | 10 +-
.../system/cncf/kubernetes/example_kubernetes.py | 2 +-
.../cncf/kubernetes/example_kubernetes_async.py | 4 +-
.../executors/test_kubernetes_executor.py | 73 +
.../unit/cncf/kubernetes/operators/test_pod.py | 4 +-
.../kubernetes/operators/test_spark_kubernetes.py | 62 +
.../unit/cncf/kubernetes/utils/test_pod_manager.py | 45 +
providers/common/ai/README.rst | 6 +-
providers/common/ai/docs/changelog.rst | 22 +
providers/common/ai/docs/index.rst | 6 +-
providers/common/ai/docs/operators/agent.rst | 5 +
providers/common/ai/docs/operators/llm.rst | 32 +
providers/common/ai/provider.yaml | 3 +-
providers/common/ai/pyproject.toml | 12 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../common/ai/example_dags/example_llm.py | 25 +
.../airflow/providers/common/ai/operators/agent.py | 15 +-
.../airflow/providers/common/ai/operators/llm.py | 10 +-
.../providers/common/ai/operators/llm_branch.py | 2 +-
.../common/ai/operators/llm_file_analysis.py | 2 +-
.../common/ai/operators/llm_schema_compare.py | 2 +-
.../providers/common/ai/operators/llm_sql.py | 2 +-
.../providers/common/ai/plugins/www/package.json | 3 +-
.../providers/common/ai/plugins/www/pnpm-lock.yaml | 9 +-
.../tests/unit/common/ai/decorators/test_agent.py | 4 +-
.../ai/tests/unit/common/ai/decorators/test_llm.py | 4 +-
.../unit/common/ai/decorators/test_llm_branch.py | 2 +-
.../common/ai/decorators/test_llm_file_analysis.py | 4 +-
.../unit/common/ai/decorators/test_llm_sql.py | 2 +-
.../tests/unit/common/ai/operators/test_agent.py | 44 +-
.../ai/tests/unit/common/ai/operators/test_llm.py | 21 +-
.../unit/common/ai/operators/test_llm_branch.py | 2 +-
.../common/ai/operators/test_llm_file_analysis.py | 2 +-
.../common/ai/operators/test_llm_schema_compare.py | 5 +-
.../tests/unit/common/ai/operators/test_llm_sql.py | 2 +-
providers/common/sql/README.rst | 6 +-
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 +-
.../common/sql/operators/generic_transfer.py | 40 +-
.../common/sql/operators/generic_transfer.pyi | 4 +
.../common/sql/operators/test_generic_transfer.py | 54 +-
providers/databricks/README.rst | 6 +-
providers/databricks/docs/changelog.rst | 25 +-
.../databricks/docs/connections/databricks.rst | 1 +
providers/databricks/docs/index.rst | 6 +-
providers/databricks/provider.yaml | 3 +-
providers/databricks/pyproject.toml | 6 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
.../providers/databricks/hooks/databricks_base.py | 13 +-
.../unit/databricks/hooks/test_databricks_base.py | 33 +
.../databricks/plugins/test_databricks_workflow.py | 17 +-
providers/dbt/cloud/README.rst | 6 +-
providers/dbt/cloud/docs/changelog.rst | 13 +
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/discord/README.rst | 6 +-
providers/discord/docs/changelog.rst | 12 +
providers/discord/docs/index.rst | 6 +-
providers/discord/provider.yaml | 3 +-
providers/discord/pyproject.toml | 6 +-
.../src/airflow/providers/discord/__init__.py | 2 +-
providers/edge3/README.rst | 6 +-
providers/edge3/docs/architecture.rst | 6 -
providers/edge3/docs/changelog.rst | 29 +
providers/edge3/docs/index.rst | 6 +-
providers/edge3/provider.yaml | 82 +-
providers/edge3/pyproject.toml | 12 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../edge3/cli/example_extended_sysinfo.py | 14 +-
.../src/airflow/providers/edge3/cli/worker.py | 67 +-
.../airflow/providers/edge3/get_provider_info.py | 28 +
.../providers/edge3/plugins/www/package.json | 22 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 1956 ++++++++++----------
.../providers/edge3/worker_api/datamodels.py | 16 +
.../providers/edge3/worker_api/routes/worker.py | 78 +-
.../edge3/worker_api/v2-edge-generated.yaml | 16 +
.../edge3/tests/unit/edge3/cli/test_worker.py | 148 +-
.../unit/edge3/worker_api/routes/test_worker.py | 24 +
providers/fab/README.rst | 6 +-
providers/fab/docs/changelog.rst | 26 +
providers/fab/docs/index.rst | 6 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 12 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../fab/src/airflow/providers/fab/www/package.json | 6 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 162 +-
providers/git/README.rst | 6 +-
providers/git/docs/changelog.rst | 13 +
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/google/README.rst | 8 +-
providers/google/docs/changelog.rst | 42 +
providers/google/docs/connections/gcp.rst | 23 +
providers/google/docs/connections/gcp_ssh.rst | 18 +-
providers/google/docs/index.rst | 8 +-
.../google/docs/operators/cloud/cloud_composer.rst | 144 +-
.../google/docs/operators/cloud/compute_ssh.rst | 15 +-
.../docs/operators/cloud/kubernetes_engine.rst | 25 +
providers/google/provider.yaml | 14 +-
providers/google/pyproject.toml | 8 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../providers/google/cloud/hooks/alloy_db.py | 1 +
.../providers/google/cloud/hooks/bigquery.py | 9 +-
.../providers/google/cloud/hooks/bigquery_dts.py | 14 +-
.../providers/google/cloud/hooks/bigtable.py | 1 +
.../providers/google/cloud/hooks/cloud_batch.py | 10 +-
.../providers/google/cloud/hooks/cloud_build.py | 33 +-
.../providers/google/cloud/hooks/cloud_composer.py | 11 +-
.../providers/google/cloud/hooks/cloud_logging.py | 6 +-
.../google/cloud/hooks/cloud_memorystore.py | 10 +-
.../providers/google/cloud/hooks/cloud_run.py | 71 +-
.../providers/google/cloud/hooks/cloud_sql.py | 8 +-
.../cloud/hooks/cloud_storage_transfer_service.py | 11 +-
.../providers/google/cloud/hooks/compute.py | 26 +-
.../providers/google/cloud/hooks/compute_ssh.py | 8 +-
.../providers/google/cloud/hooks/dataflow.py | 21 +-
.../providers/google/cloud/hooks/dataform.py | 2 +-
.../providers/google/cloud/hooks/datafusion.py | 1 +
.../providers/google/cloud/hooks/dataplex.py | 25 +-
.../providers/google/cloud/hooks/dataproc.py | 91 +-
.../google/cloud/hooks/dataproc_metastore.py | 12 +-
.../providers/google/cloud/hooks/datastore.py | 6 +-
.../airflow/providers/google/cloud/hooks/dlp.py | 6 +-
.../providers/google/cloud/hooks/functions.py | 6 +-
.../airflow/providers/google/cloud/hooks/gcs.py | 40 +-
.../airflow/providers/google/cloud/hooks/gdm.py | 8 +-
.../airflow/providers/google/cloud/hooks/kms.py | 4 +-
.../google/cloud/hooks/kubernetes_engine.py | 19 +-
.../providers/google/cloud/hooks/managed_kafka.py | 1 +
.../google/cloud/hooks/natural_language.py | 6 +-
.../providers/google/cloud/hooks/os_login.py | 6 +-
.../airflow/providers/google/cloud/hooks/pubsub.py | 15 +-
.../providers/google/cloud/hooks/secret_manager.py | 10 +-
.../providers/google/cloud/hooks/spanner.py | 5 +-
.../providers/google/cloud/hooks/speech_to_text.py | 6 +-
.../providers/google/cloud/hooks/stackdriver.py | 8 +-
.../airflow/providers/google/cloud/hooks/tasks.py | 6 +-
.../providers/google/cloud/hooks/text_to_speech.py | 6 +-
.../providers/google/cloud/hooks/translate.py | 10 +-
.../google/cloud/hooks/vertex_ai/auto_ml.py | 31 +-
.../cloud/hooks/vertex_ai/batch_prediction_job.py | 29 +-
.../google/cloud/hooks/vertex_ai/custom_job.py | 54 +-
.../google/cloud/hooks/vertex_ai/dataset.py | 20 +-
.../cloud/hooks/vertex_ai/endpoint_service.py | 20 +-
.../google/cloud/hooks/vertex_ai/feature_store.py | 26 +-
.../hooks/vertex_ai/hyperparameter_tuning_job.py | 28 +-
.../google/cloud/hooks/vertex_ai/model_service.py | 20 +-
.../google/cloud/hooks/vertex_ai/pipeline_job.py | 31 +-
.../cloud/hooks/vertex_ai/prediction_service.py | 20 +-
.../google/cloud/hooks/video_intelligence.py | 4 +-
.../airflow/providers/google/cloud/hooks/vision.py | 10 +-
.../providers/google/cloud/hooks/workflows.py | 12 +-
.../providers/google/cloud/operators/dataproc.py | 6 +
.../google/cloud/operators/kubernetes_engine.py | 47 +-
.../google/cloud/operators/managed_airflow.py | 40 +
.../providers/google/cloud/operators/pubsub.py | 25 +-
.../providers/google/cloud/sensors/pubsub.py | 4 +-
.../providers/google/cloud/transfers/gcs_to_gcs.py | 47 +-
.../google/cloud/transfers/salesforce_to_gcs.py | 23 +-
.../providers/google/cloud/triggers/bigquery.py | 112 +-
.../providers/google/cloud/triggers/dataflow.py | 17 +-
.../google/cloud/triggers/kubernetes_engine.py | 15 +
.../providers/google/common/hooks/base_google.py | 29 +
.../providers/google/common/hooks/discovery_api.py | 1 +
.../providers/google/firebase/hooks/firestore.py | 4 +-
.../airflow/providers/google/get_provider_info.py | 15 +-
.../marketing_platform/hooks/analytics_admin.py | 4 +-
.../google/marketing_platform/hooks/bid_manager.py | 1 +
.../marketing_platform/hooks/campaign_manager.py | 1 +
.../marketing_platform/hooks/display_video.py | 1 +
.../google/marketing_platform/hooks/search_ads.py | 2 +
.../providers/google/suite/hooks/calendar.py | 8 +-
.../airflow/providers/google/suite/hooks/drive.py | 8 +-
.../airflow/providers/google/suite/hooks/sheets.py | 6 +-
.../cloud/composer/example_cloud_composer.py | 44 +-
.../example_dlp_deidentify_content.py | 3 +-
.../google/cloud/dataflow/example_dataflow_go.py | 9 +-
.../example_dataflow_native_python_async.py | 12 +-
.../example_dataflow_sensors_deferrable.py | 12 +-
.../cloud/dataproc/example_dataproc_batch.py | 3 +-
.../dataproc/example_dataproc_cluster_generator.py | 1 +
.../google/cloud/dataproc/example_dataproc_hive.py | 1 +
.../google/cloud/dataproc/example_dataproc_pig.py | 1 +
.../cloud/dataproc/example_dataproc_pyspark.py | 1 +
...ple_dataproc_metastore_hive_partition_sensor.py | 4 +-
.../cloud/datastore/example_datastore_commit.py | 10 +-
.../google/cloud/gcs/resources/transform_script.py | 2 +-
.../example_cloud_storage_transfer_service_aws.py | 33 +-
.../example_cloud_storage_transfer_service_gcp.py | 20 +-
.../example_vertex_ai_batch_prediction_job.py | 4 +-
.../cloud/vertex_ai/example_vertex_ai_endpoint.py | 2 +-
.../vertex_ai/example_vertex_ai_feature_store.py | 5 +-
.../vertex_ai/example_vertex_ai_model_service.py | 4 +-
.../example_video_intelligence.py | 7 +-
.../cloud/vision/example_vision_annotate_image.py | 3 +-
.../cloud/vision/example_vision_autogenerated.py | 17 +-
.../tests/unit/google/cloud/hooks/test_alloy_db.py | 5 +-
.../tests/unit/google/cloud/hooks/test_bigquery.py | 11 +-
.../tests/unit/google/cloud/hooks/test_bigtable.py | 8 +-
.../unit/google/cloud/hooks/test_cloud_build.py | 12 +-
.../unit/google/cloud/hooks/test_cloud_logging.py | 9 +-
.../unit/google/cloud/hooks/test_cloud_run.py | 16 +-
.../hooks/test_cloud_storage_transfer_service.py | 33 +-
.../tests/unit/google/cloud/hooks/test_compute.py | 9 +-
.../unit/google/cloud/hooks/test_datafusion.py | 11 +-
.../tests/unit/google/cloud/hooks/test_dataproc.py | 60 +-
.../unit/google/cloud/hooks/test_datastore.py | 9 +-
.../tests/unit/google/cloud/hooks/test_dlp.py | 9 +-
.../unit/google/cloud/hooks/test_functions.py | 18 +-
.../tests/unit/google/cloud/hooks/test_gcs.py | 136 +-
.../tests/unit/google/cloud/hooks/test_kms.py | 9 +-
.../google/cloud/hooks/test_kubernetes_engine.py | 16 +-
.../google/cloud/hooks/test_natural_language.py | 11 +-
.../tests/unit/google/cloud/hooks/test_pubsub.py | 25 +-
.../unit/google/cloud/hooks/test_secret_manager.py | 9 +-
.../tests/unit/google/cloud/hooks/test_spanner.py | 8 +-
.../unit/google/cloud/hooks/test_speech_to_text.py | 9 +-
.../tests/unit/google/cloud/hooks/test_tasks.py | 9 +-
.../unit/google/cloud/hooks/test_text_to_speech.py | 9 +-
.../unit/google/cloud/hooks/test_translate.py | 18 +-
.../google/cloud/hooks/test_video_intelligence.py | 13 +-
.../tests/unit/google/cloud/hooks/test_vision.py | 9 +-
.../unit/google/cloud/hooks/test_workflows.py | 8 +-
.../cloud/hooks/vertex_ai/test_feature_store.py | 21 +-
.../unit/google/cloud/operators/test_dataproc.py | 7 +
.../cloud/operators/test_kubernetes_engine.py | 7 +
.../google/cloud/operators/test_managed_airflow.py | 50 +
.../unit/google/cloud/operators/test_pubsub.py | 79 +
.../unit/google/cloud/transfers/test_gcs_to_gcs.py | 129 ++
.../cloud/transfers/test_salesforce_to_gcs.py | 14 +-
.../unit/google/cloud/triggers/test_bigquery.py | 113 +-
.../unit/google/cloud/triggers/test_dataflow.py | 98 +-
.../cloud/triggers/test_kubernetes_engine.py | 9 +-
.../unit/google/common/hooks/test_base_google.py | 61 +
.../unit/google/common/hooks/test_discovery_api.py | 4 +-
.../unit/google/firebase/hooks/test_firestore.py | 18 +-
.../hooks/test_analytics_admin.py | 9 +-
.../marketing_platform/hooks/test_bid_manager.py | 6 +-
.../hooks/test_campaign_manager.py | 6 +-
.../marketing_platform/hooks/test_display_video.py | 12 +-
.../marketing_platform/hooks/test_search_ads.py | 12 +-
.../tests/unit/google/suite/hooks/test_drive.py | 11 +-
providers/informatica/provider.yaml | 2 +-
.../providers/informatica/get_provider_info.py | 2 +-
providers/microsoft/azure/README.rst | 6 +-
providers/microsoft/azure/docs/changelog.rst | 16 +
providers/microsoft/azure/docs/index.rst | 8 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 10 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
providers/mongo/tests/conftest.py | 5 +-
providers/mysql/README.rst | 15 +-
providers/mysql/docs/changelog.rst | 13 +
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/openlineage/README.rst | 10 +-
providers/openlineage/docs/changelog.rst | 28 +
providers/openlineage/docs/index.rst | 6 +-
providers/openlineage/provider.yaml | 5 +-
providers/openlineage/pyproject.toml | 6 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
.../providers/openlineage/get_provider_info.py | 2 +-
.../providers/openlineage/plugins/listener.py | 32 +-
.../unit/openlineage/plugins/test_listener.py | 104 ++
.../notifications/slack_notifier_howto_guide.rst | 5 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 13 +
providers/standard/docs/index.rst | 6 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../tests/unit/standard/operators/test_python.py | 6 +
providers/yandex/README.rst | 6 +-
providers/yandex/docs/changelog.rst | 13 +
providers/yandex/docs/index.rst | 6 +-
providers/yandex/provider.yaml | 3 +-
providers/yandex/pyproject.toml | 6 +-
.../src/airflow/providers/yandex/__init__.py | 2 +-
pyproject.toml | 24 +-
reproducible_build.yaml | 4 +-
scripts/ci/docker-compose/local.yml | 3 -
scripts/ci/install_breeze.sh | 2 +-
scripts/ci/prek/build_kustomize_overlays.py | 226 +++
scripts/ci/prek/check_imports_in_providers.py | 4 +-
.../check_template_context_variable_in_sync.py | 3 +
scripts/ci/prek/common_prek_utils.py | 31 +-
scripts/ci/prek/generate_openapi_spec_providers.py | 2 +-
...i_spec_providers.py => migration_round_trip.py} | 21 +-
scripts/ci/prek/newsfragments.py | 2 +-
scripts/ci/prek/ruff_format.py | 2 +-
...un_mypy_full_dist_local_venv_or_breeze_in_ci.py | 7 +-
scripts/ci/prek/upgrade_important_versions.py | 90 +
scripts/ci/verify_helm_chart_package.py | 181 ++
scripts/in_container/run_migration_round_trip.py | 344 ++++
scripts/pyproject.toml | 6 +-
scripts/tools/setup_breeze | 2 +-
shared/configuration/pyproject.toml | 6 +-
shared/dagnode/pyproject.toml | 6 +-
shared/listeners/pyproject.toml | 6 +-
shared/logging/pyproject.toml | 6 +-
shared/module_loading/pyproject.toml | 6 +-
shared/observability/pyproject.toml | 9 +-
shared/plugins_manager/pyproject.toml | 6 +-
shared/providers_discovery/pyproject.toml | 6 +-
shared/secrets_backend/pyproject.toml | 6 +-
shared/secrets_masker/pyproject.toml | 6 +-
shared/serialization/pyproject.toml | 6 +-
shared/state/pyproject.toml | 6 +-
shared/template_rendering/pyproject.toml | 6 +-
shared/timezones/pyproject.toml | 6 +-
task-sdk-integration-tests/pyproject.toml | 6 +-
task-sdk/docs/api.rst | 16 +
task-sdk/docs/index.rst | 5 +
task-sdk/pyproject.toml | 9 +-
task-sdk/src/airflow/sdk/__init__.py | 17 +
task-sdk/src/airflow/sdk/__init__.pyi | 12 +
task-sdk/src/airflow/sdk/api/client.py | 159 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 48 +-
task-sdk/src/airflow/sdk/bases/operator.py | 13 +
task-sdk/src/airflow/sdk/definitions/context.py | 8 +-
task-sdk/src/airflow/sdk/definitions/dag.py | 70 +-
.../src/airflow/sdk/definitions/mappedoperator.py | 13 +
.../src/airflow/sdk/definitions/retry_policy.py | 344 ++++
task-sdk/src/airflow/sdk/exceptions.py | 2 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 182 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 230 ++-
.../sdk/execution_time/secrets/execution_api.py | 20 -
.../src/airflow/sdk/execution_time/supervisor.py | 85 +
.../src/airflow/sdk/execution_time/task_runner.py | 89 +-
task-sdk/src/airflow/sdk/execution_time/xcom.py | 4 +-
task-sdk/tests/task_sdk/api/test_client.py | 220 +++
.../task_sdk/definitions/test_retry_policy.py | 405 ++++
.../tests/task_sdk/execution_time/test_context.py | 287 ++-
.../tests/task_sdk/execution_time/test_secrets.py | 58 -
.../task_sdk/execution_time/test_supervisor.py | 229 +++
.../task_sdk/execution_time/test_task_runner.py | 238 ++-
uv.lock | 793 ++++----
781 files changed, 23441 insertions(+), 6819 deletions(-)
create mode 100644 .github/skills/airflow-translations/locales/ar.md
create mode 100644 .github/skills/airflow-translations/locales/it.md
create mode 100644 .github/skills/airflow-translations/locales/tr.md
create mode 100644 airflow-core/newsfragments/66210.bugfix.rst
create mode 100644 airflow-core/newsfragments/66412.significant.rst
rename helm-tests/tests/chart_utils/__init__.py =>
airflow-core/src/airflow/api_fastapi/execution_api/datamodels/asset_state.py
(70%)
rename helm-tests/tests/helm_tests/__init__.py =>
airflow-core/src/airflow/api_fastapi/execution_api/datamodels/task_state.py
(70%)
create mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/routes/asset_state.py
create mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/routes/task_state.py
copy
providers/google/tests/system/google/cloud/gcs/resources/transform_script.py =>
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2026_06_16.py (61%)
create mode 100644
airflow-core/src/airflow/example_dags/example_retry_policy.py
create mode 100644
airflow-core/src/airflow/migrations/versions/0113_3_3_0_add_retry_policy_fields_to_ti.py
create mode 100644
airflow-core/src/airflow/ui/src/components/Graph/DirectionDropdown.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/HITLTaskInstances/HITLTaskInstances.test.tsx
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_asset_state.py
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_task_state.py
create mode 100644
airflow-core/tests/unit/dags/test_dag_test_with_dynamic_trigger.py
create mode 100644 airflow-core/tests/unit/dags/test_dag_test_with_trigger.py
create mode 100644 chart/docs/upgrading-to-airflow-3.rst
create mode 100644 chart/kustomize-overlays/CONTRIBUTING.rst
create mode 100644 chart/kustomize-overlays/README.rst
create mode 100644 chart/kustomize-overlays/keda/README.rst
copy
providers/google/tests/system/google/cloud/gcs/resources/transform_script.py =>
chart/kustomize-overlays/keda/STATUS.yaml (69%)
copy helm-tests/.pre-commit-config.yaml =>
chart/kustomize-overlays/keda/kustomization.yaml (55%)
create mode 100644 chart/kustomize-overlays/keda/scaledobject.yaml
rename helm-tests/.pre-commit-config.yaml =>
chart/kustomize-overlays/keda/triggerauthentication.yaml (56%)
create mode 100644 chart/templates/configmaps/otel-collector-configmap.yaml
create mode 100644
chart/templates/otel-collector/otel-collector-deployment.yaml
create mode 100644
chart/templates/otel-collector/otel-collector-networkpolicy.yaml
copy chart/templates/{dag-processor/dag-processor-serviceaccount.yaml =>
otel-collector/otel-collector-service.yaml} (51%)
copy chart/templates/{dag-processor/dag-processor-serviceaccount.yaml =>
otel-collector/otel-collector-serviceaccount.yaml} (59%)
copy {airflow-core/src/airflow/_shared => chart/tests/chart_utils}/__init__.py
(100%)
rename {helm-tests => chart}/tests/chart_utils/helm_template_generator.py
(100%)
rename {helm-tests => chart}/tests/chart_utils/keda.sh_scaledobjects.yaml
(100%)
rename {helm-tests => chart}/tests/chart_utils/log_groomer.py (85%)
rename {helm-tests => chart}/tests/conftest.py (100%)
copy {airflow-core/src/airflow/_shared => chart/tests/helm_tests}/__init__.py
(100%)
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/airflow_aux}/__init__.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_airflow_common.py (97%)
rename {helm-tests => chart}/tests/helm_tests/airflow_aux/test_annotations.py
(99%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_basic_helm_chart.py (98%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_chart_quality.py (100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_aux/test_cleanup_pods.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_aux/test_configmap.py
(100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_container_lifecycle.py (99%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_create_user_job.py (99%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_database_cleanup.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_extra_env_env_from.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_job_launcher_role.py (86%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_logs_persistent_volume_claim.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_migrate_database_job.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_pod_launcher_role.py (86%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_pod_template_file.py (99%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_aux/test_remote_logging.py (96%)
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/airflow_core}/__init__.py (100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_core/test_api_server.py
(99%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_core/test_dag_processor.py (89%)
rename {helm-tests => chart}/tests/helm_tests/airflow_core/test_env.py (93%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_core/test_pdb_api_server.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_core/test_pdb_dag_processor.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_core/test_pdb_scheduler.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/airflow_core/test_pdb_triggerer.py (100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_core/test_pdb_worker.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_core/test_scheduler.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_core/test_triggerer.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_core/test_worker.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/airflow_core/test_worker_sets.py
(98%)
rename {helm-tests => chart}/tests/helm_tests/apiserver/test_apiserver.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/apiserver/test_hpa_apiserver.py
(97%)
rename {helm-tests =>
chart}/tests/helm_tests/apiserver/test_ingress_apiserver.py (100%)
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/dagprocessor}/__init__.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/dagprocessor/test_labels_deployment.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/dagprocessor/test_labels_service_account.py (100%)
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/otel_collector}/__init__.py (100%)
copy {helm-tests/tests/helm_tests/statsd =>
chart/tests/helm_tests/otel_collector}/test_labels_deployment.py (85%)
copy {helm-tests/tests/helm_tests/statsd =>
chart/tests/helm_tests/otel_collector}/test_labels_networkpolicy.py (85%)
copy {helm-tests/tests/helm_tests/statsd =>
chart/tests/helm_tests/otel_collector}/test_labels_service.py (84%)
copy {helm-tests/tests/helm_tests/statsd =>
chart/tests/helm_tests/otel_collector}/test_labels_serviceaccount.py (84%)
create mode 100644 chart/tests/helm_tests/otel_collector/test_otel_collector.py
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/other}/__init__.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/other/test_dags_persistent_volume_claim.py (100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_flower.py (100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_git_ssh_key_secret.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_git_sync_scheduler.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_git_sync_triggerer.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_git_sync_worker.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_hpa.py (98%)
rename {helm-tests => chart}/tests/helm_tests/other/test_keda.py (99%)
rename {helm-tests => chart}/tests/helm_tests/other/test_limit_ranges.py (100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_pdb_pgbouncer.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_pgbouncer.py (100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_redis.py (100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_resource_quota.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/other/test_statsd.py (100%)
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/redis}/__init__.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/redis/test_labels_networkpolicy.py (100%)
rename {helm-tests => chart}/tests/helm_tests/redis/test_labels_service.py
(100%)
rename {helm-tests =>
chart}/tests/helm_tests/redis/test_labels_serviceaccount.py (100%)
rename {helm-tests => chart}/tests/helm_tests/redis/test_labels_statefulset.py
(100%)
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/security}/__init__.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_elasticsearch_secret.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_extra_configmaps_secrets.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_fernetkey_secret.py (94%)
rename {helm-tests => chart}/tests/helm_tests/security/test_kerberos.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_metadata_connection_secret.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_opensearch_secret.py (100%)
rename {helm-tests => chart}/tests/helm_tests/security/test_rbac.py (96%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_rbac_pod_launcher.py (100%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_rbac_pod_log_reader.py (97%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_result_backend_connection_secret.py (100%)
rename {helm-tests => chart}/tests/helm_tests/security/test_scc_rolebinding.py
(99%)
rename {helm-tests =>
chart}/tests/helm_tests/security/test_security_context.py (100%)
copy {airflow-core/src/airflow/_shared =>
chart/tests/helm_tests/statsd}/__init__.py (100%)
rename {helm-tests => chart}/tests/helm_tests/statsd/test_labels_deployment.py
(100%)
rename {helm-tests => chart}/tests/helm_tests/statsd/test_labels_ingress.py
(100%)
rename {helm-tests =>
chart}/tests/helm_tests/statsd/test_labels_networkpolicy.py (100%)
rename {helm-tests => chart}/tests/helm_tests/statsd/test_labels_service.py
(100%)
rename {helm-tests =>
chart}/tests/helm_tests/statsd/test_labels_serviceaccount.py (100%)
create mode 100644 contributing-docs/26_migration_round_trip_check.rst
delete mode 100644 helm-tests/.gitignore
delete mode 100644 helm-tests/pyproject.toml
delete mode 100644 helm-tests/tests/helm_tests/airflow_aux/__init__.py
delete mode 100644 helm-tests/tests/helm_tests/airflow_core/__init__.py
delete mode 100644 helm-tests/tests/helm_tests/dagprocessor/__init__.py
delete mode 100644 helm-tests/tests/helm_tests/other/__init__.py
delete mode 100644 helm-tests/tests/helm_tests/redis/__init__.py
delete mode 100644 helm-tests/tests/helm_tests/security/__init__.py
delete mode 100644 helm-tests/tests/helm_tests/statsd/__init__.py
create mode 100644 providers/amazon/docs/operators/mwaa_serverless.rst
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/hooks/sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/operators/mwaa_serverless.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/operators/sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/sensors/mwaa_serverless.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/sensors/sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/triggers/sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/waiters/datazone.json
create mode 100644
providers/amazon/tests/system/amazon/aws/example_mwaa_serverless.py
create mode 100644
providers/amazon/tests/system/amazon/aws/example_sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/hooks/test_sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/operators/test_mwaa_serverless.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/operators/test_sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/sensors/test_mwaa_serverless.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/sensors/test_sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/triggers/test_sagemaker_unified_studio_notebook.py
create mode 100644
providers/google/src/airflow/providers/google/cloud/operators/managed_airflow.py
create mode 100644
providers/google/tests/unit/google/cloud/operators/test_managed_airflow.py
create mode 100755 scripts/ci/prek/build_kustomize_overlays.py
copy scripts/ci/prek/{generate_openapi_spec_providers.py =>
migration_round_trip.py} (66%)
create mode 100755 scripts/ci/verify_helm_chart_package.py
create mode 100755 scripts/in_container/run_migration_round_trip.py
create mode 100644 task-sdk/src/airflow/sdk/definitions/retry_policy.py
create mode 100644 task-sdk/tests/task_sdk/definitions/test_retry_policy.py