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/react-4ec730f73f
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard fdcd127c88e Bump the react group across 1 directory with 2 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 7c71aa51f9e Bump the react group across 1 directory with 2 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 (fdcd127c88e)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/react-4ec730f73f
(7c71aa51f9e)
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 | 2 +-
.github/skills/airflow-translations/locales/th.md | 26 +-
.../prepare-providers-documentation/SKILL.md | 1 -
.github/workflows/ci-amd-arm.yml | 41 +
.pre-commit-config.yaml | 2 +-
AGENTS.md | 15 +
Dockerfile | 2 +-
Dockerfile.ci | 4 +-
airflow-core/.pre-commit-config.yaml | 8 +
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/tasks.rst | 148 ++
.../docs/installation/upgrading_to_airflow3.rst | 1 +
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/docs/security/security_model.rst | 7 +
airflow-core/newsfragments/66210.bugfix.rst | 1 +
airflow-core/pyproject.toml | 8 +-
.../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 | 14 +-
.../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 +-
.../execution_api/datamodels/asset_state.py} | 18 +-
.../execution_api/datamodels/task_state.py} | 18 +-
.../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/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 | 5 +-
.../execution_api/versions/v2026_04_17.py | 23 +-
.../versions/{v2025_09_23.py => v2026_06_16.py} | 11 +-
airflow-core/src/airflow/assets/manager.py | 95 +-
.../src/airflow/cli/commands/config_command.py | 13 +-
airflow-core/src/airflow/cli/hot_reload.py | 5 +-
.../src/airflow/config_templates/config.yml | 4 +
.../src/airflow/dag_processing/processor.py | 9 +-
.../airflow/example_dags/example_retry_policy.py | 81 +
.../src/airflow/jobs/scheduler_job_runner.py | 29 +-
...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 | 71 +-
.../src/airflow/models/taskinstancehistory.py | 6 +
.../serialization/definitions/baseoperator.py | 1 +
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 +
.../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 | 2 +-
airflow-core/src/airflow/ui/playwright.config.ts | 11 -
airflow-core/src/airflow/ui/pnpm-lock.yaml | 40 +-
.../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 | 28 +
.../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 +-
.../airflow/ui/src/components/SearchBar.test.tsx | 27 +
.../src/airflow/ui/src/components/SearchBar.tsx | 12 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 1 +
.../src/airflow/ui/src/pages/Events/Events.tsx | 1 +
.../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/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 | 57 +-
.../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 | 313 ++--
.../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/utils/db.py | 2 +-
.../core_api/routes/public/test_assets.py | 6 +-
.../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 +
.../tests/unit/dag_processing/test_processor.py | 75 +-
.../dags/test_dag_test_with_dynamic_trigger.py | 55 +
..._existense.py => test_dag_test_with_trigger.py} | 38 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 286 +++
airflow-core/tests/unit/jobs/test_triggerer_job.py | 6 +-
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 | 1 -
.../tests/unit/models/test_taskinstance.py | 101 +-
airflow-core/tests/unit/models/test_xcom.py | 11 -
.../unit/serialization/test_dag_serialization.py | 3 +
.../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/docs/index.rst | 1 +
chart/docs/upgrading-to-airflow-3.rst | 119 ++
chart/pyproject.toml | 6 +-
chart/templates/NOTES.txt | 12 +-
chart/templates/_helpers.yaml | 7 -
.../dag-processor-serviceaccount.yaml | 2 +-
chart/templates/jobs/create-user-job.yaml | 2 +-
chart/templates/rbac/job-launcher-rolebinding.yaml | 6 +-
chart/templates/rbac/pod-launcher-rolebinding.yaml | 6 +-
.../security-context-constraint-rolebinding.yaml | 2 +-
clients/python/pyproject.toml | 6 +-
contributing-docs/14_metadata_database_updates.rst | 9 +
.../26_migration_round_trip_check.rst | 174 ++
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 | 4 +-
dev/breeze/doc/images/output-commands.svg | 90 +-
dev/breeze/doc/images/output_down.svg | 67 +-
dev/breeze/doc/images/output_down.txt | 2 +-
dev/breeze/pyproject.toml | 2 +-
.../airflow_breeze/commands/developer_commands.py | 59 +-
.../commands/developer_commands_config.py | 7 +
.../airflow_breeze/commands/registry_commands.py | 30 +-
.../commands/release_management_commands.py | 8 +-
dev/breeze/src/airflow_breeze/global_constants.py | 26 +-
.../utils/airflow_release_validator.py | 9 +-
.../airflow_breeze/utils/docker_command_utils.py | 79 +
.../src/airflow_breeze/utils/reproducible.py | 6 +-
dev/breeze/tests/test_docker_command_utils.py | 97 +
dev/breeze/uv.lock | 300 +--
dev/ide_setup/setup_idea.py | 9 +-
dev/mypy/pyproject.toml | 6 +-
dev/pyproject.toml | 6 +-
dev/registry/pyproject.toml | 6 +-
devel-common/pyproject.toml | 2 +-
devel-common/src/sphinx_exts/redirects.py | 2 +-
docker-stack-docs/pyproject.toml | 6 +-
docker-tests/pyproject.toml | 6 +-
docs/spelling_wordlist.txt | 4 +
generated/provider_metadata.json | 14 +
helm-tests/pyproject.toml | 6 +-
helm-tests/tests/chart_utils/log_groomer.py | 78 +-
.../helm_tests/airflow_aux/test_airflow_common.py | 6 -
.../helm_tests/airflow_aux/test_annotations.py | 2 -
.../airflow_aux/test_basic_helm_chart.py | 3 -
.../airflow_aux/test_container_lifecycle.py | 1 -
.../helm_tests/airflow_aux/test_create_user_job.py | 5 +-
.../airflow_aux/test_job_launcher_role.py | 19 +
.../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 +-
.../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_worker_sets.py | 58 +
.../helm_tests/apiserver/test_hpa_apiserver.py | 5 +-
helm-tests/tests/helm_tests/other/test_hpa.py | 5 +-
helm-tests/tests/helm_tests/other/test_keda.py | 5 +-
.../helm_tests/security/test_fernetkey_secret.py | 6 +-
.../security/test_rbac_pod_log_reader.py | 5 +-
.../helm_tests/security/test_scc_rolebinding.py | 1 -
kubernetes-tests/pyproject.toml | 6 +-
providers-summary-docs/pyproject.toml | 6 +-
providers/AGENTS.md | 6 +-
providers/amazon/docs/operators/bedrock.rst | 14 +
providers/amazon/docs/operators/glue_catalog.rst | 14 +
.../amazon/docs/operators/mwaa_serverless.rst | 56 +
providers/amazon/docs/operators/s3_tables.rst | 28 +
providers/amazon/docs/operators/s3_vectors.rst | 38 +-
.../docs/operators/sagemakerunifiedstudio.rst | 49 +-
providers/amazon/provider.yaml | 13 +
.../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 | 68 +
.../amazon/aws/operators/mwaa_serverless.py | 159 ++
.../providers/amazon/aws/operators/s3_tables.py | 72 +
.../providers/amazon/aws/operators/s3_vectors.py | 123 ++
.../aws/operators/sagemaker_unified_studio.py | 2 +-
.../operators/sagemaker_unified_studio_notebook.py | 219 +++
.../sensors/sagemaker_unified_studio_notebook.py | 133 ++
.../triggers/sagemaker_unified_studio_notebook.py | 106 ++
.../aws/waiters/{athena.json => datazone.json} | 18 +-
.../airflow/providers/amazon/get_provider_info.py | 31 +-
.../system/amazon/aws/example_bedrock_guardrail.py | 9 +
.../system/amazon/aws/example_dms_serverless.py | 9 +-
.../system/amazon/aws/example_glue_catalog.py | 36 +-
.../tests/system/amazon/aws/example_http_to_s3.py | 2 +-
.../system/amazon/aws/example_mwaa_serverless.py | 140 ++
.../tests/system/amazon/aws/example_s3_tables.py | 35 +-
.../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 +-
.../test_sagemaker_unified_studio_notebook.py | 471 +++++
.../unit/amazon/aws/operators/test_bedrock.py | 47 +
.../unit/amazon/aws/operators/test_glue_catalog.py | 73 +
.../amazon/aws/operators/test_mwaa_serverless.py | 148 ++
.../unit/amazon/aws/operators/test_s3_tables.py | 85 +-
.../unit/amazon/aws/operators/test_s3_vectors.py | 110 ++
.../test_sagemaker_unified_studio_notebook.py | 475 +++++
.../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 +-
.../unit/apache/kafka/operators/test_consume.py | 6 +-
.../unit/celery/executors/test_celery_executor.py | 85 +
providers/common/ai/docs/operators/agent.rst | 5 +
providers/common/ai/docs/operators/llm.rst | 32 +
providers/common/ai/pyproject.toml | 6 +-
.../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/docs/changelog.rst | 13 +
.../common/sql/operators/generic_transfer.py | 40 +-
.../common/sql/operators/generic_transfer.pyi | 4 +
.../common/sql/operators/test_generic_transfer.py | 54 +-
providers/edge3/docs/architecture.rst | 6 -
providers/edge3/provider.yaml | 79 +
providers/edge3/pyproject.toml | 6 +-
.../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/pyproject.toml | 6 +-
.../fab/src/airflow/providers/fab/www/package.json | 2 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 35 +-
providers/google/README.rst | 2 +-
providers/google/docs/index.rst | 2 +-
providers/google/pyproject.toml | 2 +-
.../providers/google/cloud/operators/dataproc.py | 6 +
.../providers/google/cloud/operators/pubsub.py | 8 +-
.../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 +-
.../unit/google/cloud/operators/test_dataproc.py | 7 +
providers/informatica/provider.yaml | 2 +-
.../providers/informatica/get_provider_info.py | 2 +-
providers/mongo/tests/conftest.py | 5 +-
providers/openlineage/provider.yaml | 2 +-
.../providers/openlineage/get_provider_info.py | 2 +-
.../providers/openlineage/plugins/listener.py | 32 +-
.../unit/openlineage/plugins/test_listener.py | 104 ++
pyproject.toml | 8 +-
scripts/ci/install_breeze.sh | 2 +-
scripts/ci/prek/check_imports_in_providers.py | 4 +-
scripts/ci/prek/common_prek_utils.py | 31 +-
scripts/ci/prek/generate_openapi_spec_providers.py | 2 +-
...ration_reference.py => migration_round_trip.py} | 16 +-
scripts/ci/prek/newsfragments.py | 2 +-
scripts/ci/prek/ruff_format.py | 2 +-
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 | 46 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 48 +-
task-sdk/src/airflow/sdk/bases/operator.py | 13 +
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/execution_time/comms.py | 50 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 4 +-
.../sdk/execution_time/secrets/execution_api.py | 20 +
.../src/airflow/sdk/execution_time/supervisor.py | 19 +
.../src/airflow/sdk/execution_time/task_runner.py | 82 +-
task-sdk/src/airflow/sdk/execution_time/xcom.py | 4 +-
.../task_sdk/definitions/test_retry_policy.py | 405 ++++
.../tests/task_sdk/execution_time/test_secrets.py | 43 +
.../task_sdk/execution_time/test_supervisor.py | 48 +
uv.lock | 462 +++--
387 files changed, 13295 insertions(+), 4163 deletions(-)
create mode 100644 airflow-core/newsfragments/66210.bugfix.rst
copy airflow-core/src/airflow/{example_dags/example_simplest_dag.py =>
api_fastapi/execution_api/datamodels/asset_state.py} (74%)
copy airflow-core/src/airflow/{example_dags/example_simplest_dag.py =>
api_fastapi/execution_api/datamodels/task_state.py} (74%)
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
airflow-core/src/airflow/api_fastapi/execution_api/versions/{v2025_09_23.py =>
v2026_06_16.py} (71%)
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/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
copy
airflow-core/tests/unit/dags/{test_external_task_sensor_check_existense.py =>
test_dag_test_with_trigger.py} (56%)
create mode 100644 chart/docs/upgrading-to-airflow-3.rst
create mode 100644 contributing-docs/26_migration_round_trip_check.rst
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/sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/triggers/sagemaker_unified_studio_notebook.py
copy providers/amazon/src/airflow/providers/amazon/aws/waiters/{athena.json =>
datazone.json} (59%)
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_sagemaker_unified_studio_notebook.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/triggers/test_sagemaker_unified_studio_notebook.py
copy scripts/ci/prek/{migration_reference.py => migration_round_trip.py} (71%)
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