This is an automated email from the ASF dual-hosted git repository.

dheerajturaga pushed a change to branch aip-125/19-webhooks-docs
in repository https://gitbox.apache.org/repos/asf/airflow.git


 discard 2bec858a6ca AIP-125: Document inbound webhooks
    omit fa4e656327c AIP-125: Serve inbound webhooks with api-server --apps 
webhooks
    omit 48f147bb576 AIP-125: Show the webhook source on asset events
    omit 174cf446357 AIP-125: Add an inbound webhook source to the GitHub 
provider
    omit 72e7567a111 AIP-125: Record webhook topic events for subscribed Dags
    omit d4cf933551c AIP-125: Add WebhookTopic to the Task SDK
    omit 2c8083880a9 AIP-125: Add the webhook name grammar as a shared library
    omit dd7b6983beb AIP-125: Add airflow webhooks check and send-test
    omit 107756da8ab AIP-125: Add a webhook deliveries page to the UI
    omit 9d9f23bae26 AIP-125: Add GET /api/v2/webhooks/{webhook_name}/deliveries
    omit bdce79a1aed AIP-125: Add inbound webhook sources to the standard 
provider
    omit c0754876972 AIP-125: Rate-limit verified webhook deliveries and emit 
metrics
    omit 066c54d993f AIP-125: Add the inbound webhooks app and delivery pipeline
    omit e3f483c483b AIP-125: Add [webhooks] config, name registry and 
connection cache
    omit 7e41d1cd015 AIP-125: Discover webhook-sources from provider.yaml
    omit bbf02e37412 AIP-125: Add WebhookSource base classes
    omit 4d57db52d4c AIP-125: Add inbound_delivery table
    omit d4b24dba0b3 Validate api-server --apps values
    omit b8e8d75d416 UI: Render asset events without a source task as plain text
     add 777bf9b1888 TS SDK: Add edge labels with label() (#74494)
     add a785a717c10 Add documentation for the new YAML Dag format (#74748)
     add 3b0388815f0 Centralize EKS kubeconfig and credential setup in EksHook 
(#74775)
     add 5087893ab02 Add missing Taiwanese Mandarin translations for new UI 
strings (#75061)
     add 2be399f1418 Fix wrong command and API wording in airflowctl docs and 
help (#75058)
     add 26395211972 Document running multiple Airflow instances on the same 
host (#75056)
     add 923a096ee5d Validate connection ports in core model (#74461)
     add 48a0f8e22be Push LLMOperator's token usage and cost to XCom (#74355)
     add d01d3510589 Make the scheduler Dag cache size and TTL configurable 
(#71816)
     add b107f602438 Render XCom values on the API server without rebuilding 
objects (#74829)
     add 8942dd49831 Scope asset-wide queued event deletion to editable Dags 
(#74839)
     add 6f358052a42 Send task inlets and outlets as JSON lists in OpenLineage 
facet (#74666)
     add e0c54d330d0 Clean up deleted worktrees' Breeze resources automatically 
(#74282)
     add 27c8cd7059c Reserve graph header width for loop-group iteration badge 
(#75076)
     add 7cae03be33f Speed up API server requests by keeping JWT checks off the 
event loop (#74856)
     add cffe6dfdcf1 Fix flaky LocalExecutor concurrent result refill test 
(#75030)
     add a26f9f9926c Fix missing and incorrect endpoints in the API permission 
reference (#74871)
     add 5ce21c5ad74 Fix mypy errors from SQLAlchemy 2.1 typing in fab sorting 
and standard sensor_helper (#75075)
     add 1d66775efcb Limit Glue retry task UUID scan (#71546)
     add 57fb394afe8 Validate CallbackTrigger callback path before running the 
callback (#74842)
     add 325360c2b92 Reject reserved serialization keys in Dag run conf (#74834)
     add 99f2b8618df Scope asset Dag and task references to readable Dags 
(#74836)
     add a1109f86030 Mask provider-declared sensitive connection extras on 
every connection type (#73794)
     add 6f408e1715b Scope upstream asset events of a Dag run to assets and 
Dags the caller may read (#72924)
     add fa83bd029cb Remove unused type: ignore comments in airflow-core 
(#75078)
     add 46ff76ec9c2 Fix the @asset example in the asset state store docs 
(#75070)
     add cae1728f127 Add EmrServerlessStopSessionOperator to Amazon provider 
(#74870)
     add ab1acec7aa8 Open the Dags menu from the Dags nav button instead of 
navigating (#75092)
     add d2a8457e768 Run the lang-SDK conformance serializer in its own 
virtualenv (#75085)
     add 233f9c3fc78 Decode deadline callback kwargs where the callback runs 
(#74830)
     add bfa23909190 Mask registered secrets at any nesting depth (#73793)
     add a26eb122498 Mask XCom values in the audit log (#73791)
     add b0239d215e1 Only rebuild built-in value types when converting 
next_kwargs for older workers (#73577)
     add 11174724838 Add the resume event to stored next_kwargs without 
decoding them (#73576)
     add a7ac9379cf9 Read XCom without object reconstruction during dependency 
evaluation (#72718)
     add e26dcc0e005 Fix Hive invalid-port tests after core connection port 
validation (#75119)
     add 486f8368e21 Pass runtime values to example Dag shell commands through 
env (#73787)
     add 173442e7951 Add non serializable asset's extra to openlineage e2e 
tests (#75094)
     add e3110a3092d Fix `Trigger.clean_unused` rejecting a caller-provided 
session (#75096)
     add 9a62eadd2e3 Update providers metadata 2026-10-19 (#75120)
     add 7fbcfeea272 UI: Replace stacked Dag header banners with inline status 
(#74516)
     add a27cd335152 Count declared integrations in the Registry homepage 
Integrations stat (#74862)
     add edcd4a50335 Hide assets the caller may not read from the UI 
dependencies graph (#73008)
     add f04f123b2cc Prevent Dag processor crashes with AWS CloudWatch when its 
log directory is outside `base_log_folder` (#74929)
     add 33e6b5f1fa9 Mock the simple auth manager in the upstream asset events 
permission test (#75126)
     add 604b23bb206 Document that the HITL operator body is rendered as 
Markdown (#75130)
     add 941316b4640 Stop UI unit tests from leaking requests to the network 
(#75084)
     add ac0c20c6ae3 Mock the simple auth manager in permission tests and guard 
against the base-class patch (#75138)
     add f20ff2cfa7a Add a Duplicate action to the Connections list (#75110)
     add 4bbe5f56ce8 Mask CLI secrets in the audit log by parsed argument, not 
argv position (#72650)
     add c1b25527a41 Keep parent DAG folders collapsed after one click (#75079)
     add c581c186987 Keep DAG folder selection distinct across bundle names 
(#75080)
     add b8db2af9cd6 Fix 500 when ordering the Dag list by state or start_date 
(#75025)
     add 3134ac232fa Add AwsEksExecutor to the Amazon provider (#74399)
     add 5a64dfcc78e Java SDK: Add edge labels to native Dags (#74523)
     add 51411acb7e5 Fix empty audit log dag_id for DAG.cli() subcommands 
(#73379)
     add 11ed2049e12 Fix stale-session assertion in mapped placeholder 
promotion test (#75175)
     add 99b90b0e4a4 Update Magpie floor to 0.9.0.dev202610192305 (#75174)
     add c6e4d52f61b Complete Hindi (hi) UI translations (#75057)
     add 9091cd0c7b0 Java SDK: Send log timestamps in UTC (#74783)
     add 3e69e05f0d3 Unexclude Vespa on Python 3.14 (#75062)
     add 94ce2c9f998 TS SDK: Collect dag_dependencies in the tasks pass (#75032)
     add bd29fed01b6 Fix breeze translation key sorting to match the UI ESLint 
rule (#75065)
     add 0a4b5d8e495 [main] Upgrade important CI environment (#73822)
     add 6aee277d4a9 Fix log template sync failing when a custom SQL Alchemy 
schema is configured (#70793)
     add 7126d336e94 Log the retry reason in airflowctl API client retries 
(#75059)
     add 1c4af038874 Java SDK: Reject IDs that collide with task group join 
nodes (#74781)
     add eaefdf9c160 Fix duplicate pyvespa block in uv.lock (#75200)
     add 249e5cbcbc1 Fix Modal contract test importing a private class from its 
old location (#75188)
     add 347dd398d62 Require uv 0.13.1 (#75201)
     add 31bb7edc69c Add emit_message_history to record an agent transcript 
without seeding it (#74811)
     add b7b69d70389 Skip or fail ECS tasks correctly when their CloudWatch log 
stream is missing (#74730)
     add 1d63c9cbedb Exclude minimal and ECS Amazon Linux AMIs in 
get_latest_ami_id (#75171)
     add b0cfa1e1b1b Stop the EKS executor concurrency test from starving its 
own builders (#75197)
     add 12df3270b84 Clean up unused mypy suppressions in standard provider 
tests (#75210)
     add 359d361de93 Base CI and PROD images on hardened Python images (#73038)
     add 1bd0a764d34 Distinguish invalid Dag access control from FAB backend 
failures (#74788)
     add 99eff4608f9 Keep the token cookie set by a route in 
JWTRefreshMiddleware (#75217)
     add 31994976b54 Add emailer utilities to the SMTP provider (#74623)
     add 8a5212c855e Fix Dag run filtering for null start dates (#71654)
     add 4ab76ad9d1f Make KubernetesPodOperator event logging best-effort and 
optional (#75016)
     add 6639577b61e Put the PROD build virtualenv before /usr/python/bin on 
PATH (#75236)
     add 5fa997cf002 Add YAML Dag schema publishing infra (#75055)
     add 9f1be063d49 Skip inclusive-language check for non-English UI 
translations (#75247)
     add 6d8a58bff74 Exempt Google Cloud link modules from provider test-file 
check (#74924)
     add 4ca5754ade4 UI: Show a label instead of a broken link for hidden 
assets (#75178)
     add 57ed6e7bcb6 UI: Add regression tests for Dags list rows remounting on 
refresh (#75005)
     add 89ce7a4ff70 Fix SMTP email backend documentation link (#75243)
     add 5015e74d8b4 UI: Render asset events without a source task as plain text
     add 5984fe35365 Validate api-server --apps values
     add 882d006d9c2 AIP-125: Add inbound_delivery table
     add 3a6ad8afaa4 AIP-125: Add WebhookSource base classes
     add e3e3017dd8d AIP-125: Discover webhook-sources from provider.yaml
     add 9a7cac1c6d4 AIP-125: Add [webhooks] config, name registry and 
connection cache
     add 95344291703 AIP-125: Add the inbound webhooks app and delivery pipeline
     add 728c3546dc8 AIP-125: Rate-limit verified webhook deliveries and emit 
metrics
     add 000967c4b89 AIP-125: Add inbound webhook sources to the standard 
provider
     add 4f8d4164926 AIP-125: Add GET /api/v2/webhooks/{webhook_name}/deliveries
     add 6f2978df8f1 AIP-125: Add a webhook deliveries page to the UI
     add 6a2301db310 AIP-125: Add airflow webhooks check and send-test
     add ea00bcb645f AIP-125: Add the webhook name grammar as a shared library
     add d0d40e5fae8 AIP-125: Add WebhookTopic to the Task SDK
     add 79ddb656761 AIP-125: Record webhook topic events for subscribed Dags
     add 7501dfd3332 AIP-125: Add an inbound webhook source to the GitHub 
provider
     add 3e98123d9c7 AIP-125: Show the webhook source on asset events
     add d4359aa4fe1 AIP-125: Add a webhooks overview to the API and UI
     add 5c2345d1058 AIP-125: Serve inbound webhooks with api-server --apps 
webhooks
     add 3c793bff796 AIP-125: Document inbound webhooks

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   (2bec858a6ca)
            \
             N -- N -- N   refs/heads/aip-125/19-webhooks-docs (3c793bff796)

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:
 .apache-magpie.lock                                |    6 +-
 .../actions/build_ci_image_with_cache/action.yml   |   10 +-
 .github/workflows/ci-image-build.yml               |   19 +-
 .github/workflows/mirror-hardened-base-images.yml  |   80 +
 .github/workflows/prod-image-build.yml             |    9 +-
 .github/workflows/publish-docs-to-s3.yml           |   20 +-
 .github/workflows/push-image-cache.yml             |    4 +-
 .../scheduled-legacy-prod-image-canary.yml         |  262 +
 .pre-commit-config.yaml                            |   20 +-
 Dockerfile                                         |  451 +-
 Dockerfile.ci                                      |  443 +-
 .../dag-importers.rst                              |   25 +-
 .../administration-and-deployment/webhooks.rst     |  185 +-
 .../docs/authoring-and-scheduling/index.rst        |    1 +
 .../language-sdks/java.rst                         |   54 +-
 .../language-sdks/typescript.rst                   |   18 +
 .../authoring-and-scheduling/webhook-topics.rst    |   10 +-
 .../docs/authoring-and-scheduling/yaml-dags.rst    |  454 ++
 airflow-core/docs/best-practices.rst               |    2 +-
 .../docs/core-concepts/asset-state-store.rst       |    4 +-
 airflow-core/docs/faq.rst                          |   52 +-
 airflow-core/docs/howto/run-behind-proxy.rst       |   32 +
 airflow-core/docs/public-airflow-interface.rst     |    5 +-
 airflow-core/docs/security/api_permissions_ref.rst |   62 +-
 airflow-core/docs/tutorial/hitl.rst                |   28 +
 airflow-core/newsfragments/71816.feature.rst       |    1 +
 airflow-core/newsfragments/73038.significant.rst   |   31 +
 airflow-core/newsfragments/73577.significant.rst   |    5 +
 airflow-core/newsfragments/73791.improvement.rst   |    1 +
 airflow-core/newsfragments/73793.improvement.rst   |    1 +
 airflow-core/newsfragments/73794.improvement.rst   |    1 +
 airflow-core/newsfragments/74830.significant.rst   |   10 +
 airflow-core/newsfragments/74834.bugfix.rst        |    1 +
 airflow-core/newsfragments/74836.bugfix.rst        |    1 +
 airflow-core/newsfragments/74839.bugfix.rst        |    1 +
 airflow-core/newsfragments/74842.improvement.rst   |    1 +
 airflow-core/newsfragments/75167.significant.rst   |    3 +-
 airflow-core/pyproject.toml                        |    4 +-
 .../api_fastapi/auth/managers/base_auth_manager.py |    4 +-
 .../api_fastapi/auth/middlewares/refresh_token.py  |  169 +-
 .../airflow/api_fastapi/common/parameters/range.py |   39 +-
 .../src/airflow/api_fastapi/common/types.py        |    1 +
 airflow-core/src/airflow/api_fastapi/compat.py     |    2 +-
 .../src/airflow/api_fastapi/core_api/app.py        |    6 +-
 .../api_fastapi/core_api/datamodels/assets.py      |   19 +-
 .../api_fastapi/core_api/datamodels/backfills.py   |    8 +-
 .../api_fastapi/core_api/datamodels/common.py      |   14 +
 .../api_fastapi/core_api/datamodels/connections.py |   57 +
 .../api_fastapi/core_api/datamodels/dag_run.py     |    8 +-
 .../api_fastapi/core_api/datamodels/webhooks.py    |   38 +
 .../api_fastapi/core_api/openapi/_private_ui.yaml  |    5 +-
 .../core_api/openapi/v2-rest-api-generated.yaml    |  189 +-
 .../api_fastapi/core_api/routes/public/assets.py   |   67 +-
 .../api_fastapi/core_api/routes/public/dag_run.py  |   57 +-
 .../api_fastapi/core_api/routes/public/dags.py     |    2 +-
 .../core_api/routes/public/extra_links.py          |    5 +-
 .../core_api/routes/public/task_instances.py       |   20 +-
 .../api_fastapi/core_api/routes/public/webhooks.py |  139 +-
 .../api_fastapi/core_api/routes/public/xcom.py     |   23 +-
 .../api_fastapi/core_api/routes/ui/assets.py       |    9 +-
 .../airflow/api_fastapi/core_api/routes/ui/dags.py |    2 +-
 .../api_fastapi/core_api/routes/ui/dependencies.py |   20 +-
 .../src/airflow/api_fastapi/core_api/security.py   |   16 +-
 .../core_api/services/public/connections.py        |   12 +-
 .../core_api/services/ui/dependencies.py           |   74 +-
 .../api_fastapi/execution_api/datamodels/dagrun.py |    8 +-
 .../api_fastapi/execution_api/routes/__init__.py   |    2 +-
 .../execution_api/versions/v2025_08_10.py          |    2 +-
 .../execution_api/versions/v2025_10_27.py          |    2 +-
 .../execution_api/versions/v2025_11_05.py          |    2 +-
 .../execution_api/versions/v2026_04_06.py          |  240 +-
 .../execution_api/versions/v2026_06_30.py          |   14 +-
 .../execution_api/versions/v2026_10_30.py          |    6 +-
 .../src/airflow/api_fastapi/logging/decorators.py  |   16 +
 airflow-core/src/airflow/cli/cli_config.py         |    2 +-
 .../src/airflow/cli/commands/webhooks_command.py   |   56 +-
 .../src/airflow/config_templates/config.yml        |   50 +-
 .../airflow/example_dags/example_dag_decorator.py  |   20 +-
 .../src/airflow/executors/base_executor.py         |    8 +
 .../src/airflow/executors/workloads/callback.py    |    6 +
 .../src/airflow/jobs/scheduler_job_runner.py       |   42 +-
 .../src/airflow/jobs/triggerer_job_runner.py       |   15 +-
 .../0149_3_5_0_add_inbound_delivery_table.py       |    2 +
 airflow-core/src/airflow/models/backfill.py        |    9 +-
 airflow-core/src/airflow/models/callback.py        |   52 +-
 airflow-core/src/airflow/models/connection.py      |   44 +-
 airflow-core/src/airflow/models/dag.py             |    7 +-
 airflow-core/src/airflow/models/dagrun.py          |    4 +-
 airflow-core/src/airflow/models/deadline.py        |   33 +-
 .../src/airflow/models/inbound_delivery.py         |    1 +
 airflow-core/src/airflow/models/serialized_dag.py  |    4 +-
 airflow-core/src/airflow/models/taskinstance.py    |   21 +-
 airflow-core/src/airflow/models/trigger.py         |  121 +-
 airflow-core/src/airflow/models/xcom.py            |   43 +
 airflow-core/src/airflow/serialization/decoders.py |   89 +-
 .../serialization/definitions/mappedoperator.py    |    2 +-
 .../serialization/definitions/operatorlink.py      |   14 +-
 airflow-core/src/airflow/serialization/encoders.py |   68 +-
 .../src/airflow/serialization/stringify.py         |   82 +-
 .../ti_deps/deps/not_previously_skipped_dep.py     |   66 +-
 .../src/airflow/ti_deps/deps/prev_dagrun_dep.py    |   14 +
 .../src/airflow/ti_deps/deps/trigger_rule_dep.py   |   12 +-
 airflow-core/src/airflow/timetables/simple.py      |    2 +-
 airflow-core/src/airflow/triggers/callback.py      |   27 +
 .../src/airflow/ui/openapi-gen/queries/common.ts   |   26 +-
 .../ui/openapi-gen/queries/ensureQueryData.ts      |   62 +-
 .../src/airflow/ui/openapi-gen/queries/prefetch.ts |   62 +-
 .../src/airflow/ui/openapi-gen/queries/queries.ts  |   62 +-
 .../src/airflow/ui/openapi-gen/queries/suspense.ts |   62 +-
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts |  106 +-
 .../ui/openapi-gen/requests/services.gen.ts        |   82 +-
 .../airflow/ui/openapi-gen/requests/types.gen.ts   |   96 +-
 .../airflow/ui/public/i18n/locales/en/admin.json   |    2 +
 .../airflow/ui/public/i18n/locales/en/browse.json  |   63 +-
 .../airflow/ui/public/i18n/locales/en/common.json  |    2 +
 .../airflow/ui/public/i18n/locales/hi/admin.json   |   15 +-
 .../airflow/ui/public/i18n/locales/hi/assets.json  |   16 +-
 .../airflow/ui/public/i18n/locales/hi/browse.json  |   32 +
 .../airflow/ui/public/i18n/locales/hi/common.json  |  150 +-
 .../ui/public/i18n/locales/hi/components.json      |   45 +-
 .../src/airflow/ui/public/i18n/locales/hi/dag.json |  133 +-
 .../airflow/ui/public/i18n/locales/hi/dags.json    |   54 +-
 .../ui/public/i18n/locales/hi/dashboard.json       |   17 +-
 .../ui/public/i18n/locales/zh-TW/common.json       |   10 +
 .../ui/public/i18n/locales/zh-TW/components.json   |    2 +
 .../airflow/ui/public/i18n/locales/zh-TW/dag.json  |   43 +-
 .../airflow/ui/public/i18n/locales/zh-TW/dags.json |    1 +
 .../components/AssetExpression/AssetNode.test.tsx  |   52 +
 .../src/components/AssetExpression/AssetNode.tsx   |   13 +-
 .../ui/src/components/Assets/AssetEvent.test.tsx   |   67 +-
 .../components/BackfillInProgressBadge.test.tsx    |   68 +
 .../ui/src/components/BackfillInProgressBadge.tsx  |   63 +
 .../src/components/Banner/BackfillBanner.test.tsx  |   94 -
 .../ui/src/components/Banner/BackfillBanner.tsx    |  150 -
 .../src/components/Banner/DrainingBanner.test.tsx  |   88 -
 .../ui/src/components/Banner/DrainingBanner.tsx    |   68 -
 .../TaskInstance/ClearTaskInstanceDialog.test.tsx  |   15 +-
 ...Banner.test.tsx => DagDeactivatedChip.test.tsx} |   35 +-
 ...eactivatedBanner.tsx => DagDeactivatedChip.tsx} |   43 +-
 .../ui/src/components/DagImportErrorModal.tsx      |   27 +-
 .../ui/src/components/DrainingBadge.test.tsx       |   72 +
 .../airflow/ui/src/components/DrainingBadge.tsx    |   59 +-
 .../FilterBar/filters/MultiSelectPill.tsx          |    6 +
 .../FilterBar/filters/WebhookNameFilter.tsx        |   53 +
 .../ui/src/components/Graph/elkGraphUtils.ts       |    5 +
 .../src/airflow/ui/src/components/HeaderCard.tsx   |    8 +-
 .../airflow/ui/src/components/NeedsReviewBadge.tsx |   18 +-
 .../ui/src/components/NeedsReviewButton.tsx        |   58 +-
 .../src/components/NeedsReviewIndicator.test.tsx   |   58 +
 .../ui/src/components/NeedsReviewIndicator.tsx     |   71 +
 .../airflow/ui/src/components/NotePreview.test.tsx |    8 +-
 .../src/airflow/ui/src/components/StatusChip.tsx   |   67 +
 .../src/airflow/ui/src/constants/filterConfigs.tsx |   21 +-
 .../src/airflow/ui/src/constants/searchParams.ts   |    2 +
 .../src/airflow/ui/src/constants/stateOptions.ts   |   18 +-
 .../src/airflow/ui/src/constants/webhooks.ts       |    2 +-
 .../ui/src/layouts/Details/DagBreadcrumb.test.tsx  |    4 +
 .../ui/src/layouts/Details/DetailsLayout.tsx       |   12 +-
 .../ui/src/layouts/Nav/BrowseButton.test.tsx       |   60 +
 .../airflow/ui/src/layouts/Nav/BrowseButton.tsx    |    9 +-
 .../airflow/ui/src/layouts/Nav/DagsButton.test.tsx |   36 +-
 .../src/airflow/ui/src/layouts/Nav/DagsButton.tsx  |    4 +-
 .../airflow/ui/src/layouts/Nav/NavButton.test.tsx  |   18 -
 .../src/airflow/ui/src/layouts/Nav/NavButton.tsx   |   17 +-
 .../WebhookDeliveriesLayout.tsx}                   |   31 +-
 .../src/airflow/ui/src/mocks/handlers/admin.ts     |   36 +
 .../src/airflow/ui/src/mocks/handlers/app.ts       |   58 +
 .../src/airflow/ui/src/mocks/handlers/assets.ts    |    8 +
 .../src/airflow/ui/src/mocks/handlers/dag.ts       |   53 +
 .../src/airflow/ui/src/mocks/handlers/dag_runs.ts  |   23 +
 .../src/airflow/ui/src/mocks/handlers/dags.ts      |    3 +
 .../src/airflow/ui/src/mocks/handlers/index.ts     |    6 +
 .../ui/src/mocks/handlers/task_instances.test.ts   |   43 +
 .../ui/src/mocks/handlers/task_instances.ts        |  100 +
 .../Banner/index.tsx => mocks/server.ts}           |   10 +-
 .../ui/src/pages/AssetsList/AssetsList.test.tsx    |   15 +-
 .../ui/src/pages/Connections/Connections.tsx       |    2 +
 .../Connections/DuplicateConnectionButton.test.tsx |  114 +
 .../Connections/DuplicateConnectionButton.tsx      |  101 +
 .../ViewWebhookDeliveriesButton.test.tsx           |   27 +-
 .../ui/src/pages/Dag/Backfills/Backfills.test.tsx  |   64 +
 .../ui/src/pages/Dag/Backfills/Backfills.tsx       |   97 +-
 .../airflow/ui/src/pages/Dag/DagHeader.test.tsx    |   14 +-
 .../src/airflow/ui/src/pages/Dag/Header.tsx        |   12 +-
 .../ui/src/pages/Dag/RequiredActionsRoute.test.tsx |   14 +-
 .../airflow/ui/src/pages/Dag/Tasks/Tasks.test.tsx  |   12 +-
 .../ui/src/pages/DagBundles/DagBundles.test.tsx    |   15 +-
 .../src/airflow/ui/src/pages/DagsList/DagCard.tsx  |    2 +-
 .../DagsList/DagFolderTree/DagFolderTree.test.tsx  |   78 +-
 .../pages/DagsList/DagFolderTree/DagFolderTree.tsx |    6 +-
 .../DagsList/DagFolderTree/buildFolderTree.ts      |    3 +-
 .../DagsList/DagsFilters/DagsFilters.test.tsx      |   13 +-
 .../ui/src/pages/DagsList/DagsList.test.tsx        |   92 +-
 .../ui/src/pages/DagsList/DagsListColumns.tsx      |    2 +-
 .../src/airflow/ui/src/pages/ReactPlugin.test.tsx  |   10 +
 .../src/airflow/ui/src/pages/ReactPlugin.tsx       |    7 +-
 .../airflow/ui/src/pages/Run/Callbacks.test.tsx    |    5 +-
 .../src/airflow/ui/src/pages/Run/Header.tsx        |    2 +-
 .../ui/src/pages/TaskInstance/Header.test.tsx      |   31 +-
 .../airflow/ui/src/pages/TaskInstance/Header.tsx   |   45 +-
 .../ui/src/pages/TaskInstance/stateReason.ts       |    8 +-
 .../pages/WebhookDeliveries/DeliveryDetails.tsx    |  150 +
 .../WebhookDeliveries/DeliveryDetailsDrawer.tsx    |   91 +
 .../WebhookDeliveries/WebhookDeliveries.test.tsx   |  483 +-
 .../pages/WebhookDeliveries/WebhookDeliveries.tsx  |  147 +-
 .../src/pages/WebhookDeliveries/Webhooks.test.tsx  |  141 +
 .../ui/src/pages/WebhookDeliveries/Webhooks.tsx    |  191 +
 .../ui/src/pages/WebhookDeliveries/index.ts        |    1 +
 .../ui/src/pages/WebhookDeliveries/outcomes.ts     |   37 +-
 .../src/airflow/ui/src/pages/XCom/XCom.test.tsx    |   14 +-
 .../airflow/ui/src/pages/XCom/XComEntry.test.tsx   |    8 +-
 .../airflow/ui/src/pages/documentTitle.test.tsx    |    2 +
 .../src/airflow/ui/src/queries/useDags.test.tsx    |    9 +-
 .../airflow/ui/src/queries/useTogglePause.test.tsx |   10 +-
 .../ui/src/queries/useWebhooksInfinite.test.tsx    |   75 +
 .../airflow/ui/src/queries/useWebhooksInfinite.ts  |   37 +
 airflow-core/src/airflow/ui/src/router.tsx         |   23 +-
 .../src/airflow/ui/src/utils/useFiltersHandler.ts  |    5 +-
 .../airflow/ui/tests/e2e/specs/backfill.spec.ts    |   12 +-
 airflow-core/src/airflow/ui/testsSetup.ts          |   37 +-
 airflow-core/src/airflow/utils/cli.py              |  391 +-
 .../src/airflow/utils/cli_action_loggers.py        |    2 +-
 airflow-core/src/airflow/utils/db.py               |   14 +-
 airflow-core/src/airflow/utils/db_cleanup.py       |    2 +-
 airflow-core/src/airflow/utils/memray_utils.py     |    2 +
 airflow-core/src/airflow/utils/retries.py          |    2 +-
 airflow-core/src/airflow/webhooks/connections.py   |  133 +-
 airflow-core/src/airflow/webhooks/pipeline.py      |    2 +-
 airflow-core/src/airflow/webhooks/status.py        |  147 +
 airflow-core/src/airflow/webhooks/topics.py        |   22 +-
 airflow-core/tests/unit/always/test_connection.py  |    8 +
 .../tests/unit/always/test_project_structure.py    |   55 +-
 .../auth/managers/test_base_auth_manager.py        |   28 +
 .../auth/middlewares/test_refresh_token.py         |  438 +-
 .../unit/api_fastapi/common/test_parameters.py     |   19 +
 .../core_api/datamodels/test_connections.py        |   60 +
 .../core_api/datamodels/test_dag_run.py            |   66 +-
 .../core_api/routes/public/test_assets.py          |  177 +-
 .../core_api/routes/public/test_backfills.py       |   27 +
 .../core_api/routes/public/test_connections.py     |  133 +
 .../core_api/routes/public/test_dag_run.py         |  130 +-
 .../core_api/routes/public/test_dags.py            |   12 +
 .../core_api/routes/public/test_webhooks.py        |  305 +-
 .../core_api/routes/public/test_xcom.py            |  106 +-
 .../api_fastapi/core_api/routes/ui/test_assets.py  |   42 +-
 .../api_fastapi/core_api/routes/ui/test_dags.py    |   12 +
 .../core_api/routes/ui/test_dependencies.py        |  189 +-
 .../unit/api_fastapi/core_api/test_security.py     |   34 +-
 .../execution_api/versions/head/test_dag_runs.py   |   21 +
 .../versions/v2026_04_06/test_task_instances.py    |  339 +
 .../unit/api_fastapi/logging/test_decorators.py    |   15 +
 airflow-core/tests/unit/api_fastapi/test_app.py    |   10 +
 .../tests/unit/api_fastapi/webhooks/test_app.py    |   13 +-
 .../tests/unit/cli/commands/test_dag_command.py    |    2 +-
 .../tests/unit/executors/test_base_executor.py     |    6 +-
 .../tests/unit/executors/test_local_executor.py    |   31 +-
 .../tests/unit/executors/test_workloads.py         |    4 +-
 airflow-core/tests/unit/jobs/test_scheduler_job.py |   62 +-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |  110 +-
 .../unit/migrations/test_migration_patterns.py     |    2 +-
 airflow-core/tests/unit/models/test_callback.py    |  200 +-
 airflow-core/tests/unit/models/test_connection.py  |   29 +
 .../tests/unit/models/test_connection_test.py      |    2 +-
 airflow-core/tests/unit/models/test_dagbag.py      |   57 +
 airflow-core/tests/unit/models/test_deadline.py    |  167 +-
 .../tests/unit/models/test_mappedoperator.py       |   16 +-
 airflow-core/tests/unit/models/test_trigger.py     |  133 +-
 airflow-core/tests/unit/models/test_xcom.py        |   90 +
 .../tests/unit/plugins/test_plugins_manager.py     |    4 +-
 .../tests/unit/serialization/test_operatorlink.py  |   21 +
 .../unit/serialization/test_serialized_objects.py  |   86 +-
 .../tests/unit/serialization/test_stringify.py     |   91 +-
 .../deps/test_not_previously_skipped_dep.py        |  311 +
 .../unit/ti_deps/deps/test_trigger_rule_dep.py     |   62 +-
 airflow-core/tests/unit/triggers/test_callback.py  |  114 +-
 airflow-core/tests/unit/utils/test_cli_util.py     |  762 +-
 airflow-core/tests/unit/utils/test_db.py           |   50 +-
 airflow-core/tests/unit/utils/test_db_manager.py   |    2 +-
 .../tests/unit/webhooks/test_connections.py        |  129 +-
 airflow-core/tests/unit/webhooks/test_status.py    |  235 +
 airflow-core/tests/unit/webhooks/test_topics.py    |   25 +-
 airflow-ctl/README.md                              |    2 +-
 airflow-ctl/docs/howto/index.rst                   |    2 +-
 airflow-ctl/docs/images/command_hashes.txt         |    4 +-
 airflow-ctl/docs/images/output_auth.svg            |   86 +-
 airflow-ctl/docs/images/output_auth_login.svg      |  104 +-
 airflow-ctl/pyproject.toml                         |    2 +-
 airflow-ctl/src/airflowctl/api/client.py           |    4 +-
 .../airflowctl/api/datamodels/auth_generated.py    |    2 +-
 .../src/airflowctl/api/datamodels/generated.py     |   75 +-
 airflow-ctl/src/airflowctl/ctl/cli_config.py       |   10 +-
 airflow-ctl/tests/airflow_ctl/api/test_client.py   |   31 +
 airflow-e2e-tests/docker/Dockerfile.java           |   23 +-
 airflow-e2e-tests/pyproject.toml                   |    2 +-
 contributing-docs/30_new_language_sdk.rst          |   12 +-
 dev/breeze/doc/01_installation.rst                 |    4 +
 dev/breeze/doc/03_developer_tasks.rst              |   38 +-
 dev/breeze/doc/04_troubleshooting.rst              |    5 +-
 dev/breeze/doc/09_release_management_tasks.rst     |   38 +-
 ...19-isolate-docker-resources-per-git-worktree.md |  154 +
 dev/breeze/doc/ci/02_images.md                     |   24 +-
 dev/breeze/doc/images/output_ci-image_build.svg    |   94 +-
 dev/breeze/doc/images/output_ci-image_build.txt    |    2 +-
 dev/breeze/doc/images/output_prod-image_build.svg  |  164 +-
 dev/breeze/doc/images/output_prod-image_build.txt  |    2 +-
 .../doc/images/output_release-management.svg       |   38 +-
 .../doc/images/output_release-management.txt       |    2 +-
 ...utput_release-management_mirror-base-images.svg |  116 +
 ...utput_release-management_mirror-base-images.txt |    1 +
 ...ut_release-management_publish-schemas-to-s3.svg |   34 +-
 ...ut_release-management_publish-schemas-to-s3.txt |    2 +-
 dev/breeze/doc/images/output_setup.svg             |   14 +-
 dev/breeze/doc/images/output_setup.txt             |    2 +-
 .../output_setup_check-all-params-in-groups.svg    |   20 +-
 .../output_setup_check-all-params-in-groups.txt    |    2 +-
 dev/breeze/doc/images/output_setup_config.svg      |  100 +-
 dev/breeze/doc/images/output_setup_config.txt      |    2 +-
 .../output_setup_regenerate-command-images.svg     |    2 +-
 .../output_setup_regenerate-command-images.txt     |    2 +-
 dev/breeze/pyproject.toml                          |    2 +-
 .../airflow_breeze/commands/ci_image_commands.py   |    4 -
 .../commands/ci_image_commands_config.py           |    1 -
 .../commands/common_image_options.py               |   10 +
 .../airflow_breeze/commands/developer_commands.py  |   15 +-
 .../airflow_breeze/commands/kubernetes_commands.py |   12 +-
 .../commands/production_image_commands.py          |    4 +
 .../commands/production_image_commands_config.py   |    1 +
 .../commands/release_management_commands.py        |  115 +-
 .../commands/release_management_commands_config.py |   10 +
 .../src/airflow_breeze/commands/setup_commands.py  |   28 +-
 .../commands/setup_commands_config.py              |    1 +
 .../src/airflow_breeze/commands/ui_commands.py     |   65 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   42 +-
 .../src/airflow_breeze/params/build_prod_params.py |   11 +
 .../airflow_breeze/params/common_build_params.py   |    6 +-
 .../src/airflow_breeze/params/shell_params.py      |    8 +-
 .../airflow_breeze/utils/check_release_files.py    |    2 +-
 .../airflow_breeze/utils/docker_command_utils.py   |   89 +-
 dev/breeze/src/airflow_breeze/utils/path_utils.py  |   73 +-
 .../src/airflow_breeze/utils/publish_docs_to_s3.py |    6 +-
 .../src/airflow_breeze/utils/worktree_watcher.py   |  168 +
 dev/breeze/tests/conftest.py                       |   16 +
 dev/breeze/tests/test_build_prod_params.py         |   82 +
 dev/breeze/tests/test_developer_commands.py        |   54 +-
 dev/breeze/tests/test_docker_command_utils.py      |  196 +-
 dev/breeze/tests/test_environment_check.py         |    2 +-
 dev/breeze/tests/test_git_worktree.py              |  123 +-
 .../tests/test_kubernetes_lang_sdk_commands.py     |   45 +
 dev/breeze/tests/test_mirror_base_images.py        |   98 +
 dev/breeze/tests/test_selective_checks.py          |    1 -
 dev/breeze/tests/test_shell_params.py              |   31 +-
 dev/breeze/tests/test_ui_commands.py               |   28 +-
 dev/breeze/tests/test_worktree_watcher.py          |  193 +
 dev/breeze/uv.lock                                 | 1132 +--
 dev/mypy/pyproject.toml                            |    2 +-
 devel-common/pyproject.toml                        |    4 +-
 devel-common/src/docs/utils/conf_constants.py      |    1 +
 .../docs_build/third_party_inventories.py          |    1 +
 .../src/tests_common/test_utils/mock_context.py    |    1 +
 .../src/tests_common/test_utils/webhooks.py        |   26 +
 docker-stack-docs/build-arg-ref.rst                |   30 +-
 docker-stack-docs/build.rst                        |  128 +-
 docker-stack-docs/changelog.rst                    |   43 +
 .../customizing/add-build-essential-custom.sh      |    4 +-
 .../docker-examples/customizing/custom-sources.sh  |    4 +-
 .../customizing/pypi-dev-runtime-deps.sh           |    4 +-
 .../customizing/pypi-extras-and-deps.sh            |    4 +-
 .../customizing/pypi-selected-version.sh           |    4 +-
 .../extending/add-providers/Dockerfile             |    4 +-
 .../restricted/restricted_environments.sh          |    4 +-
 docs/spelling_wordlist.txt                         |    4 +
 generated/known_airflow_exceptions.txt             |    2 +-
 generated/known_sdk_imports_in_core.txt            |    4 +-
 generated/provider_metadata.json                   |    4 +
 .../example/nativedag/AnnotationExample.java       |    5 +-
 .../example/nativedag/InterfaceExample.java        |    6 +-
 java-sdk/gradle/verification-metadata.xml          |   13 -
 .../org/apache/airflow/sdk/AirflowProcessor.kt     |   15 +-
 .../org/apache/airflow/sdk/AirflowProcessorTest.kt |  202 +
 .../ci/prek/check_serialization_conformance.py     |    2 +-
 java-sdk/sdk/build.gradle.kts                      |    1 -
 .../main/kotlin/org/apache/airflow/sdk/DagDef.kt   |   84 +-
 .../src/main/kotlin/org/apache/airflow/sdk/Deps.kt |   69 +-
 .../main/kotlin/org/apache/airflow/sdk/Label.kt    |   93 +
 .../kotlin/org/apache/airflow/sdk/TaskGroupRef.kt  |   13 +-
 .../org/apache/airflow/sdk/execution/Logger.kt     |   16 +-
 .../org/apache/airflow/sdk/execution/Serde.kt      |   52 +-
 .../kotlin/org/apache/airflow/sdk/internal/Ids.kt  |   13 +
 .../kotlin/org/apache/airflow/sdk/EdgeLabelTest.kt |  323 +
 .../kotlin/org/apache/airflow/sdk/TaskGroupTest.kt |   98 +
 .../airflow/sdk/conformance/SerializeJava.kt       |    6 +-
 .../org/apache/airflow/sdk/execution/LogTest.kt    |   62 +
 kubernetes-tests/lang_sdk/Dockerfile.runtimes      |   23 +-
 providers/.pre-commit-config.yaml                  |    2 +-
 providers/amazon/README.rst                        |    4 +-
 providers/amazon/docs/executors/eks-executor.rst   |  223 +
 providers/amazon/docs/executors/general.rst        |    6 +-
 providers/amazon/docs/executors/index.rst          |    4 +
 providers/amazon/docs/index.rst                    |    4 +-
 .../amazon/docs/operators/emr/emr_serverless.rst   |   14 +
 providers/amazon/docs/operators/glue.rst           |    4 +-
 providers/amazon/provider.yaml                     |   41 +
 providers/amazon/pyproject.toml                    |    4 +-
 .../providers/amazon/aws/executors/eks/__init__.py |   16 +-
 .../amazon/aws/executors/eks/_client_factory.py    |  170 +
 .../amazon/aws/executors/eks/eks_executor.py       |  189 +
 .../providers/amazon/aws/executors/eks/utils.py    |   36 +-
 .../src/airflow/providers/amazon/aws/hooks/eks.py  |   32 +
 .../amazon/aws/log/cloudwatch_task_handler.py      |   10 +-
 .../airflow/providers/amazon/aws/operators/eks.py  |   46 +-
 .../airflow/providers/amazon/aws/operators/emr.py  |   92 +
 .../airflow/providers/amazon/aws/operators/glue.py |   27 +-
 .../airflow/providers/amazon/aws/triggers/eks.py   |   44 +-
 .../airflow/providers/amazon/aws/triggers/emr.py   |   48 +
 .../providers/amazon/aws/utils/eks_get_token.py    |   17 +-
 .../providers/amazon/aws/utils/task_log_fetcher.py |   24 +-
 .../amazon/aws/waiters/emr-serverless.json         |   19 +
 .../airflow/providers/amazon/get_provider_info.py  |   34 +
 .../src/airflow/providers/amazon/version_compat.py |    2 +
 .../amazon/aws/example_emr_serverless_session.py   |   10 +
 .../amazon/tests/system/amazon/aws/utils/ec2.py    |   29 +-
 .../unit/amazon/aws/executors/eks}/__init__.py     |    0
 .../aws/executors/eks/test__client_factory.py      |  264 +
 .../amazon/aws/executors/eks/test_eks_executor.py  |  238 +
 .../unit/amazon/aws/executors/eks/test_utils.py    |   26 +-
 .../amazon/tests/unit/amazon/aws/hooks/test_eks.py |   84 +
 .../amazon/aws/log/test_cloudwatch_task_handler.py |   15 +
 .../tests/unit/amazon/aws/operators/test_ecs.py    |   22 +
 .../tests/unit/amazon/aws/operators/test_eks.py    |   64 +
 .../aws/operators/test_emr_serverless_session.py   |  115 +-
 .../tests/unit/amazon/aws/operators/test_glue.py   |  107 +
 .../tests/unit/amazon/aws/triggers/test_eks.py     |   29 +
 .../tests/unit/amazon/aws/triggers/test_emr.py     |   60 +
 .../unit/amazon/aws/utils/test_eks_get_token.py    |   53 +-
 .../unit/amazon/aws/utils/test_task_log_fetcher.py |    8 +
 .../hive/tests/unit/apache/hive/hooks/test_hive.py |   10 +-
 providers/cncf/kubernetes/docs/operators.rst       |   37 +
 .../providers/cncf/kubernetes/operators/pod.py     |   20 +-
 .../providers/cncf/kubernetes/triggers/pod.py      |   68 +-
 .../providers/cncf/kubernetes/utils/pod_manager.py |   52 +-
 .../unit/cncf/kubernetes/operators/test_pod.py     |   54 +
 .../unit/cncf/kubernetes/triggers/test_pod.py      |   47 +
 .../unit/cncf/kubernetes/utils/test_pod_manager.py |   69 +
 providers/common/ai/docs/features.rst              |    2 +-
 providers/common/ai/docs/message_history.rst       |   10 +-
 providers/common/ai/docs/observability.rst         |   43 +-
 providers/common/ai/docs/operators/agent.rst       |    3 +
 providers/common/ai/docs/operators/llm.rst         |    8 +
 providers/common/ai/docs/stability.rst             |    4 +
 providers/common/ai/docs/troubleshooting.rst       |    2 +-
 providers/common/ai/provider.yaml                  |    2 +
 .../providers/common/ai/get_provider_info.py       |    2 +
 .../airflow/providers/common/ai/operators/agent.py |   14 +-
 .../airflow/providers/common/ai/operators/llm.py   |  119 +-
 .../providers/common/ai/utils/sql_validation.py    |   12 +-
 .../ai/tests/unit/common/ai/decorators/test_llm.py |   10 +-
 .../tests/unit/common/ai/operators/test_agent.py   |   45 +-
 .../ai/tests/unit/common/ai/operators/test_llm.py  |  282 +-
 .../ai/tests/unit/common/ai/sandbox/test_modal.py  |    3 +-
 .../tests/unit/common/ai/test_provider_metadata.py |   19 +-
 .../unit/common/ai/utils/test_prompt_cache.py      |   38 +-
 .../unit/common/ai/utils/test_sql_validation.py    |    4 +-
 .../edge3/example_dags/integration_test.py         |    5 +-
 providers/fab/docs/auth-manager/access-control.rst |   63 +-
 .../fab/auth_manager/api_fastapi/sorting.py        |    3 +-
 .../providers/fab/auth_manager/fab_auth_manager.py |    6 +
 .../fab/auth_manager/security_manager/override.py  |   10 +-
 .../unit/fab/auth_manager/test_fab_auth_manager.py |   16 +
 .../tests/unit/fab/auth_manager/test_security.py   |   39 +-
 providers/google/README.rst                        |   16 +-
 providers/google/docs/index.rst                    |   16 +-
 providers/google/pyproject.toml                    |   16 +-
 .../tests/unit/google/cloud/links/test_alloy_db.py |   62 -
 .../unit/google/cloud/links/test_managed_kafka.py  |   79 -
 providers/hashicorp/docs/index.rst                 |    2 +-
 providers/hashicorp/pyproject.toml                 |    2 +-
 providers/microsoft/azure/README.rst               |    2 +-
 providers/microsoft/azure/docs/index.rst           |    2 +-
 providers/microsoft/azure/pyproject.toml           |    2 +-
 .../airflow/providers/openlineage/utils/utils.py   |   19 +
 .../example_openlineage_base_complex_dag.py        |   15 +-
 .../openlineage_base_complex_dag__af2.json         |   68 +-
 .../openlineage_base_complex_dag__af3.json         |   70 +-
 .../openlineage_base_simple_dag__af2.json          |    4 +
 .../openlineage_base_simple_dag__af3.json          |    4 +
 .../openlineage_custom_operator_failure_dag.json   |    2 +
 .../openlineage_manual_lineage_dag.json            |    4 +
 .../openlineage_taskflow_simple_dag.json           |    4 +
 .../tests/unit/openlineage/utils/test_utils.py     |  102 +-
 providers/smtp/docs/email-backend.rst              |   35 +
 providers/smtp/docs/index.rst                      |    1 +
 providers/smtp/docs/redirects.txt                  |    4 +
 providers/smtp/provider.yaml                       |    3 +
 .../airflow/providers/smtp/get_provider_info.py    |    1 +
 .../src/airflow/providers/smtp/utils}/__init__.py  |    0
 .../src/airflow/providers/smtp/utils/emailer.py    |  340 +
 .../smtp/tests/unit/smtp/utils}/__init__.py        |    0
 .../smtp/tests/unit/smtp/utils/test_emailer.py     |  525 ++
 providers/snowflake/README.rst                     |    1 +
 providers/snowflake/docs/index.rst                 |    1 +
 providers/snowflake/pyproject.toml                 |    5 +
 .../example_dags/example_bash_decorator.py         |   17 +-
 .../standard/example_dags/example_bash_operator.py |   13 +-
 .../providers/standard/utils/sensor_helper.py      |   31 +-
 .../tests/unit/standard/decorators/test_bash.py    |    2 +-
 .../tests/unit/standard/decorators/test_python.py  |   12 +-
 .../unit/standard/decorators/test_short_circuit.py |    2 +-
 .../unit/standard/operators/test_latest_only.py    |    2 +-
 .../unit/standard/sensors/test_external_task.py    |   12 +-
 .../tests/unit/standard/sensors/test_time_delta.py |    4 +-
 .../tests/unit/standard/sensors/test_weekday.py    |    2 +-
 providers/vespa/README.rst                         |   11 +-
 providers/vespa/docs/changelog.rst                 |    5 +
 providers/vespa/docs/index.rst                     |    9 +-
 providers/vespa/provider.yaml                      |    3 -
 providers/vespa/pyproject.toml                     |    6 +-
 pyproject.toml                                     |    8 +-
 registry/src/_data/statsData.js                    |   15 +-
 registry/src/index.njk                             |    2 +-
 scripts/ci/docker-compose/backend-mysql.yml        |    2 +
 scripts/ci/docker-compose/backend-postgres.yml     |    2 +
 scripts/ci/docker-compose/base.yml                 |    2 +
 .../ci/docker-compose/integration-cassandra.yml    |    2 +
 scripts/ci/docker-compose/integration-celery.yml   |    3 +
 scripts/ci/docker-compose/integration-drill.yml    |    2 +
 .../docker-compose/integration-elasticsearch.yml   |    2 +
 scripts/ci/docker-compose/integration-kafka.yml    |    1 +
 scripts/ci/docker-compose/integration-kerberos.yml |    2 +
 scripts/ci/docker-compose/integration-keycloak.yml |    1 +
 .../ci/docker-compose/integration-localstack.yml   |    1 +
 scripts/ci/docker-compose/integration-mongo.yml    |    2 +
 scripts/ci/docker-compose/integration-mssql.yml    |    2 +
 .../ci/docker-compose/integration-openlineage.yml  |    2 +
 .../ci/docker-compose/integration-opensearch.yml   |    2 +
 scripts/ci/docker-compose/integration-otel.yml     |    4 +
 scripts/ci/docker-compose/integration-pinot.yml    |    1 +
 scripts/ci/docker-compose/integration-qdrant.yml   |    1 +
 scripts/ci/docker-compose/integration-redis.yml    |    3 +
 scripts/ci/docker-compose/integration-statsd.yml   |    3 +
 .../ci/docker-compose/integration-tinkerpop.yml    |    2 +
 scripts/ci/docker-compose/integration-trino.yml    |    2 +
 scripts/ci/docker-compose/integration-ydb.yml      |    1 +
 scripts/ci/docker-compose/local-all-sources.yml    |    2 +
 scripts/ci/docker-compose/local.yml                |    2 +
 scripts/ci/lang_sdk_serialization/compare.py       |   13 +-
 scripts/ci/prek/check_auth_manager_mock_targets.py |   88 +
 .../ci/prek/check_example_dag_shell_commands.py    |  266 +
 scripts/ci/prek/check_imports_in_providers.py      |    2 +-
 scripts/ci/prek/extract_permissions.py             |   35 +-
 scripts/ci/prek/fab_permissions_doc.py             |   13 +-
 scripts/ci/prek/generate_yaml_importer_schema.py   |    1 +
 scripts/ci/prek/ruff_format.py                     |    2 +-
 scripts/ci/prek/update_docker_gpg_keys.py          |    2 +
 scripts/ci/prek/upgrade_important_versions.py      |   82 +-
 scripts/docker/common.sh                           |   16 +-
 scripts/docker/entrypoint_ci.sh                    |    5 +-
 scripts/docker/install_mssql.sh                    |    4 +-
 scripts/docker/install_mysql.sh                    |   17 +-
 scripts/docker/install_os_dependencies.sh          |  353 +-
 scripts/docker/install_postgres.sh                 |    2 +-
 scripts/docker/keys/microsoft-2025.asc             |   29 +
 scripts/in_container/run_ci_tests.sh               |   11 +-
 .../prek/test_check_auth_manager_mock_targets.py   |   88 +
 .../prek/test_check_example_dag_shell_commands.py  |  137 +
 scripts/tests/ci/prek/test_extract_permissions.py  |  148 +
 .../ci/prek/test_upgrade_important_versions.py     |   62 +
 scripts/tools/setup_breeze                         |    2 +-
 .../secrets_masker/secrets_masker.py               |   15 +-
 .../tests/secrets_masker/test_secrets_masker.py    |   11 +-
 .../src/airflow/sdk/api/datamodels/_generated.py   |    2 +-
 task-sdk/src/airflow/sdk/definitions/dag.py        |    3 +
 .../sdk/definitions/decorators/__init__.pyi        |    8 +
 .../sdk/execution_time/callback_supervisor.py      |   29 +
 .../src/airflow/sdk/execution_time/supervisor.py   |   10 +-
 .../airflow/sdk/importers/yaml_importer/builder.py |  155 +-
 .../sdk/importers/yaml_importer/importer.py        |   20 +-
 .../sdk/importers/yaml_importer/schema.json        |    3 +-
 .../execution_time/test_callback_supervisor.py     |  107 +-
 .../task_sdk/execution_time/test_supervisor.py     |   24 +
 .../importers/yaml_importer/test_importer.py       |  139 +-
 ts-sdk/api-docs/dag-authoring-api.ts               |    1 +
 ts-sdk/src/coordinator/serde.ts                    |   56 +-
 ts-sdk/src/index.ts                                |    2 +-
 ts-sdk/src/sdk/dag.ts                              |  112 +-
 ts-sdk/tests/coordinator/serde.test.ts             |   19 +
 ts-sdk/tests/public-api.test.ts                    |    2 +
 ts-sdk/tests/sdk/branching.test.ts                 |   10 +
 ts-sdk/tests/sdk/conditional.test.ts               |   23 +
 ts-sdk/tests/sdk/dag.test.ts                       |  128 +
 uv.lock                                            | 7703 +++++++++++---------
 590 files changed, 28007 insertions(+), 7727 deletions(-)
 create mode 100644 .github/workflows/mirror-hardened-base-images.yml
 create mode 100644 .github/workflows/scheduled-legacy-prod-image-canary.yml
 create mode 100644 airflow-core/docs/authoring-and-scheduling/yaml-dags.rst
 create mode 100644 airflow-core/newsfragments/71816.feature.rst
 create mode 100644 airflow-core/newsfragments/73038.significant.rst
 create mode 100644 airflow-core/newsfragments/73577.significant.rst
 create mode 100644 airflow-core/newsfragments/73791.improvement.rst
 create mode 100644 airflow-core/newsfragments/73793.improvement.rst
 create mode 100644 airflow-core/newsfragments/73794.improvement.rst
 create mode 100644 airflow-core/newsfragments/74830.significant.rst
 create mode 100644 airflow-core/newsfragments/74834.bugfix.rst
 create mode 100644 airflow-core/newsfragments/74836.bugfix.rst
 create mode 100644 airflow-core/newsfragments/74839.bugfix.rst
 create mode 100644 airflow-core/newsfragments/74842.improvement.rst
 create mode 100644 
airflow-core/src/airflow/ui/src/components/AssetExpression/AssetNode.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/BackfillInProgressBadge.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/BackfillInProgressBadge.tsx
 delete mode 100644 
airflow-core/src/airflow/ui/src/components/Banner/BackfillBanner.test.tsx
 delete mode 100644 
airflow-core/src/airflow/ui/src/components/Banner/BackfillBanner.tsx
 delete mode 100644 
airflow-core/src/airflow/ui/src/components/Banner/DrainingBanner.test.tsx
 delete mode 100644 
airflow-core/src/airflow/ui/src/components/Banner/DrainingBanner.tsx
 rename 
airflow-core/src/airflow/ui/src/components/{DagDeactivatedBanner.test.tsx => 
DagDeactivatedChip.test.tsx} (79%)
 rename airflow-core/src/airflow/ui/src/components/{DagDeactivatedBanner.tsx => 
DagDeactivatedChip.tsx} (66%)
 create mode 100644 
airflow-core/src/airflow/ui/src/components/DrainingBadge.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/FilterBar/filters/WebhookNameFilter.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/NeedsReviewIndicator.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/NeedsReviewIndicator.tsx
 create mode 100644 airflow-core/src/airflow/ui/src/components/StatusChip.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/layouts/Nav/BrowseButton.test.tsx
 copy airflow-core/src/airflow/ui/src/{components/DrainingBadge.tsx => 
layouts/WebhookDeliveriesLayout.tsx} (54%)
 create mode 100644 airflow-core/src/airflow/ui/src/mocks/handlers/admin.ts
 create mode 100644 airflow-core/src/airflow/ui/src/mocks/handlers/app.ts
 create mode 100644 
airflow-core/src/airflow/ui/src/mocks/handlers/task_instances.test.ts
 create mode 100644 
airflow-core/src/airflow/ui/src/mocks/handlers/task_instances.ts
 rename airflow-core/src/airflow/ui/src/{components/Banner/index.tsx => 
mocks/server.ts} (60%)
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Connections/DuplicateConnectionButton.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Connections/DuplicateConnectionButton.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/WebhookDeliveries/DeliveryDetails.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/WebhookDeliveries/DeliveryDetailsDrawer.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/WebhookDeliveries/Webhooks.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/WebhookDeliveries/Webhooks.tsx
 copy ts-sdk/api-docs/dag-authoring-api.ts => 
airflow-core/src/airflow/ui/src/pages/WebhookDeliveries/outcomes.ts (56%)
 create mode 100644 
airflow-core/src/airflow/ui/src/queries/useWebhooksInfinite.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/queries/useWebhooksInfinite.ts
 create mode 100644 airflow-core/src/airflow/webhooks/status.py
 create mode 100644 airflow-core/tests/unit/webhooks/test_status.py
 create mode 100644 
dev/breeze/doc/adr/0019-isolate-docker-resources-per-git-worktree.md
 create mode 100644 
dev/breeze/doc/images/output_release-management_mirror-base-images.svg
 create mode 100644 
dev/breeze/doc/images/output_release-management_mirror-base-images.txt
 create mode 100644 dev/breeze/src/airflow_breeze/utils/worktree_watcher.py
 create mode 100644 dev/breeze/tests/test_build_prod_params.py
 create mode 100644 dev/breeze/tests/test_mirror_base_images.py
 create mode 100644 dev/breeze/tests/test_worktree_watcher.py
 create mode 100644 java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/Label.kt
 create mode 100644 
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/EdgeLabelTest.kt
 create mode 100644 providers/amazon/docs/executors/eks-executor.rst
 copy scripts/ci/prek/ruff_format.py => 
providers/amazon/src/airflow/providers/amazon/aws/executors/eks/__init__.py 
(68%)
 mode change 100755 => 100644
 create mode 100644 
providers/amazon/src/airflow/providers/amazon/aws/executors/eks/_client_factory.py
 create mode 100644 
providers/amazon/src/airflow/providers/amazon/aws/executors/eks/eks_executor.py
 copy scripts/ci/prek/check_imports_in_providers.py => 
providers/amazon/src/airflow/providers/amazon/aws/executors/eks/utils.py (59%)
 mode change 100755 => 100644
 copy {airflow-core/src/airflow/_shared => 
providers/amazon/tests/unit/amazon/aws/executors/eks}/__init__.py (100%)
 create mode 100644 
providers/amazon/tests/unit/amazon/aws/executors/eks/test__client_factory.py
 create mode 100644 
providers/amazon/tests/unit/amazon/aws/executors/eks/test_eks_executor.py
 copy scripts/ci/prek/ruff_format.py => 
providers/amazon/tests/unit/amazon/aws/executors/eks/test_utils.py (62%)
 mode change 100755 => 100644
 delete mode 100644 
providers/google/tests/unit/google/cloud/links/test_alloy_db.py
 delete mode 100644 
providers/google/tests/unit/google/cloud/links/test_managed_kafka.py
 create mode 100644 providers/smtp/docs/email-backend.rst
 create mode 100644 providers/smtp/docs/redirects.txt
 copy {airflow-core/src/airflow/_shared => 
providers/smtp/src/airflow/providers/smtp/utils}/__init__.py (100%)
 create mode 100644 providers/smtp/src/airflow/providers/smtp/utils/emailer.py
 copy {airflow-core/src/airflow/_shared => 
providers/smtp/tests/unit/smtp/utils}/__init__.py (100%)
 create mode 100644 providers/smtp/tests/unit/smtp/utils/test_emailer.py
 create mode 100755 scripts/ci/prek/check_auth_manager_mock_targets.py
 create mode 100755 scripts/ci/prek/check_example_dag_shell_commands.py
 create mode 100644 scripts/docker/keys/microsoft-2025.asc
 create mode 100644 
scripts/tests/ci/prek/test_check_auth_manager_mock_targets.py
 create mode 100644 
scripts/tests/ci/prek/test_check_example_dag_shell_commands.py

Reply via email to