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

potiuk pushed a change to branch fork-ci-gate-protect-ci-passed
in repository https://gitbox.apache.org/repos/asf/airflow.git


 discard 2d08a5302e9 Close fork CI pull requests that change jobs running in 
gated runs
     add ee62251fc26 Show why external contributors' workflow runs wait for 
approval (#75832)
     add b4320026a31 Stop importing airflow.utils.email in the SendGrid emailer 
(#75771)
     add c24242eea52 Load the serialized Dag in ti_run only for stub tasks 
(#75795)
     add 819902bb943 Accept datetime in InletEventsAccessor.after() and 
before() (#75773)
     add 5df209d1835 Isolate otel config-priority test from ambient OTEL env 
vars (#75842)
     add 41519146043 Skip spotless and the Java SDK Dag schema sync on 
unrelated PRs (#75268)
     add 402ab11a4b0 Avoid loading timetables for dags in Execution API 
endpoints (#75765)
     add 27c7624430a Support multimodal prompts with require_approval in LLM 
operators (#74388)
     add ce75cee3b44 Use task instance end date as OpenLineage terminal event 
time (#75328)
     add 62934e405ed Support Python 3.11.0 in prek cache test (#75520)
     add ea2aae77d1e Keep extra cookies set by a route in JWTRefreshMiddleware 
(#75411)
     add ddb02d81b26 Remove unused Breeze snippet helpers (#75854)
     add fd9298bf795 Chart: Bump PgBouncer to 1.25.2 and exporter to 0.21.0 to 
fix CVEs (#74647)
     add 7839f4a2da0 Type the durable default of the common.compat 
ResumableJobMixin stand-in as bool | None (#75271)
     add ec9d0df48c9 Remove unused selective checks exclusion helper (#75855)
     add 60d692ba674 Stop requesting the details of an empty Dag id after a 
bulk selection (#75862)
     add 2f5c1c4b26b Remove unused UI page-object methods (#75853)
     add 320b0c5d03d Let Claude Agent SDK agent loops use common.ai toolsets 
through a new AirflowTools adapter (#74026)
     add 863440537b7 Keep service logs and OpenLineage e2e noise out of the job 
output (#75811)
     add 49bdd34d922 Add async aget_conn and acreate_agent to PydanticAIHook 
(#74150)
     add d60e8d39408 i18n(ko): Add missing translations (Oct 23) (#75415)
     add 7c75cd9d036 Make refresh_token optional in Keycloak login and token 
services (#75871)
     add 54171ff7cc8 Fix MSGraphSensor timeout being reset on every re-defer 
(#75774)
     add 3293ced6410 [AIP-94] Add airflowctl providers get (#68854)
     add d8532e28ac6 Remove duplicate Keycloak token-binding test (#75882)
     add af2c3efed7b Remove unused FAB test log assertion helpers (#75876)
     add 107c2c0a447 Remove obsolete SQLAlchemy 1 driver compatibility check 
(#75892)
     add c84db2fa3a2 Fix async SmtpHook connections failing when STARTTLS is 
enabled (#75529)
     add 3722c7f84d7 Add unit tests for auth manager login datamodels (#72265) 
(#75544)
     add d5ca289f414 Add CLI login discovery to auth managers (#75672)
     add 71bdce5fa51 Run lang-SDK serialization conformance checks in CI 
instead of prek (#75872)
     add 2c560aad523 Let a generic pydanticai connection set a default model 
provider (#75909)
     add eeae004bd25 Keep release-candidate provider pins until each is 
released or yanked (#75919)
     add aec750da2e4 Remove duplicate GCS wildcard transfer test (#75897)
     add 5376be8924c Remove duplicate Calendar-to-GCS transfer test (#75895)
     add 0a07c9ac1f1 Remove unused milestone selection helpers (#75848)
     add f7abf6fec2d Remove unused decorator default comparison helper (#75849)
     add a7e1de351a4 Remove unused HITL browser workflow helpers (#75851)
     add ef1162a158b Remove duplicate default Kerberos chart tests (#75878)
     add 8bf71ce1069 Parametrize Spark sensor waiting-state tests (#75879)
     add 50189f81dfe Remove unused operator-helper test scaffolding (#75880)
     add 983b387136e Remove unused S3 bundle test upload helper (#75888)
     add 6edfe624bc9 Remove duplicate Teradata suspend-success test (#75881)
     add 6056deb572e Remove unused CLI process test helpers (#75883)
     add 5f337adeb19 Remove unused API and SDK test helpers (#75884)
     add 7e1a4504fcc Remove unused Sphinx snippet renderer (#75886)
     add d72dd42520a Remove orphaned model, asset and timetable test helpers 
(#75887)
     add 69b1ce81da3 Remove duplicate Databricks retry test (#75889)
     add 67301393a50 Remove unrequested core test fixtures (#75890)
     add 1387cd96177 Remove duplicate Databricks timeout retry test (#75891)
     add 99bd160d063 Remove empty Databricks mixin test placeholders (#75893)
     add 652da05dc1e Remove duplicate task-instance 404 tests (#75894)
     add eb4803e6d63 Remove duplicate HTTP header override test (#75899)
     add 7e6bccecd8e Parametrize airflowctl environment output tests (#75900)
     add 6061e081f6c Remove duplicate SFTP missing-file sensor test (#75901)
     add c6690015a28 Parametrize airflowctl partition-date tests (#75902)
     add ddb89d5e006 Run the slow root prek checks in parallel (#75437)
     add a211be1c115 Fix MySQL HITL responded-by filters (#67323)
     add 24f33707582 Add query and report inspection operators for Google Bid 
Manager (#71947)
     add 6a8e8642939 Don't force dags reserialize in e2e startup (races 
dag-processor) (#75739)
     add dac3da4ccfd Add missing tests for google.cloud.utils BigQuery helpers 
(#72276) (#72448)
     add d561f37ea54 Fix OpenLineage task events lost for Dags with mapped 
tasks (#75860)
     add d9ca6241562 Match file datasets in exclude_datasets without a doubled 
slash (#75921)
     add 20e4e570971 Avoid unbounded IN lists for queued asset events (#75943)
     add fa160f83538 Fix dashboard Active Dags filtering (#75350)
     add eafb6ed8a7d Reject non-object JSON files when importing variables 
(#75384)
     add e0a95793c95 Preserve XCom value types when editing in the UI (#75496)
     add 226de8a1911 Publish usage, run id and model name from LLMOperator's 
subclasses (#75208)
     add b394b884046 Add OpenLineage system tests for the emission policy 
(#75678)
     add 1040a319e0e Fix the durable MSGraph and PowerBI operators from 
post-merge review (#75272)
     add 6f0a4b5d519 Fix hourly cron schedules running an hour off across a DST 
change (#75847)
     add fb6534f1db4 Prepare deferred providers RC2 for 2026-10-29 (#75947)
     add 97d4d4e2aa9 Skip log accumulator disk spill when reading finished task 
logs (#70671)
     add 7468d3145cc Show UI doc screenshots in synced dark/light tabs (#75957)
     add cd1ed360b9a Refresh Dag cards after deleting Dag runs (#75931)
     add 040173d818a Refresh the Magpie reconciliation stamp (#75952)
     add 34ad14c27b3 i18n(ko): add missing translations(Oct 27) (#75740)
     add 9b37c269b4a Use only file:// URIs in the OpenLineage exclude_datasets 
authoring system test (#75961)
     add f605f1040f3 UI: Fix the Dag filters test that fails lint and vitest 
(#75963)
     add 5761c2ac1ea Remove the unused React SWC plugin from the UI (#75875)
     add 90628f4fbdc Preserve task instance bulk selections across pages 
(#75905)
     add 38b3c45415b Make the bundle name less prominent in the Dag import 
error modals (#75958)
     add 92bbf67c362 Refuse to publish constraints when the branch moved during 
generation (#75989)
     add 7a6acca54be Allow selecting several task instances in the Grid view 
(#75221)
     add 37b6b04e723 Add name filtering to the Deadline Alerts API (#74127)
     add 083b82d7c4d Size CI test jobs on RunsOn runners to the parallelism 
they can use (#75833)
     add 6e6ae1ab7d2 UI: Show a loop's iterations and why each one decided 
(#75984)
     add 212fe09e1d0 UI: Stop Recent Configurations flashing on the trigger 
form (#75991)
     add 0f2563f232b Document the zh-TW translation workflow (#75702)
     add 406474723a2 Add an end-to-end test for a Dag written in YAML (#75928)
     add 8401a190fa8 Run the lang-SDK native Dag tests on Kubernetes (#75930)
     add c6a077b0efe Serialise the workflows that publish shared state (#75996)
     add 9e662c23fc0 Fix stale queued asset rows in scheduler cleanup and 
readiness (#76002)
     add 56b44decc8f Sync the session's copy with the DB for removed task 
instances when scheduling (#75974)
     add 1df83c5dff6 Type the ORM declarative base as a value of type Any 
(#76025)
     add 155560df668 Store and show the retry deadline; start retries with 
empty run fields (#76027)
     add 5af4c5bf12d Freeze the GC before the triggerer's forks so memory stays 
flat (#76016)
     add 5cc2413925a Honor Airflow logging levels in TypeScript SDK (#76005)
     add acb2208f15f Let the ECS executor start tasks in parallel (#75907)
     add 48435351c42 Pin the hardened base images to digests the CI has passed 
on (#76023)
     add a3a4f4f168e Stop bundling the ELK worker twice in the UI (#75864)
     add ecb95734544 UI: Fix select filter pills staying open in Safari (#76013)
     add 527f92e15ca Allow selecting task groups in the Grid view (#75856)
     add d2e60aefea2 Retry GitHub calls that drop the connection in the Spot 
interruption notices (#75829)
     add c7de0ef6e50 Close fork CI pull requests that change jobs running in 
gated runs

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   (2d08a5302e9)
            \
             N -- N -- N   refs/heads/fork-ci-gate-protect-ci-passed 
(c7de0ef6e50)

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:
 .../skills/airflow-translations/locales/zh-TW.md   |   44 +-
 .apache-magpie.lock                                |    6 +-
 .github/actions/breeze/action.yml                  |    6 +
 .../actions/prepare_breeze_and_image/action.yml    |    5 +
 .github/actions/runs-on-cost-summary/action.yml    |    4 +-
 .github/workflows/additional-prod-image-tests.yml  |   26 +-
 .github/workflows/airflow-e2e-tests.yml            |   12 +-
 .github/workflows/auto-approve-workflow-runs.yml   |   12 +-
 .github/workflows/basic-tests.yml                  |    4 +-
 .github/workflows/ci-amd.yml                       |  100 +-
 .github/workflows/ci-arm.yml                       |  100 +-
 .github/workflows/finalize-tests.yml               |    2 +-
 .github/workflows/generate-constraints.yml         |   14 +-
 .github/workflows/helm-tests.yml                   |    2 +-
 .github/workflows/integration-system-tests.yml     |    2 +-
 .github/workflows/mark-workflow-runs-approved.yml  |   85 ++
 .github/workflows/mirror-hardened-base-images.yml  |   84 +-
 .github/workflows/publish-docs-to-s3.yml           |   74 +-
 .github/workflows/refresh-image-registry-cache.yml |    7 +-
 .github/workflows/registry-backfill.yml            |    6 +
 .github/workflows/registry-build.yml               |    9 +
 .github/workflows/release-constraints.yml          |   15 +-
 .github/workflows/release_dockerhub_image.yml      |   11 +-
 .../scheduled-legacy-prod-image-canary.yml         |    9 +-
 .github/workflows/scheduled-upgrade-check-main.yml |    2 +
 .../scheduled-upgrade-check-v3-4-test.yml          |    2 +
 .github/workflows/special-tests.yml                |   22 +-
 .../update-constraints-on-push-stable.yml          |   11 +-
 .github/workflows/update-constraints-on-push.yml   |   40 +-
 .github/workflows/upgrade-check.yml                |   78 +-
 .pre-commit-config.yaml                            |  106 +-
 Dockerfile                                         |   83 +-
 Dockerfile.ci                                      |   79 +-
 .../docs/authoring-and-scheduling/assets.rst       |    7 +-
 .../docs/core-concepts/auth-manager/index.rst      |   25 +
 airflow-core/docs/migrations-ref.rst               |    4 +-
 airflow-core/docs/security/api_permissions_ref.rst |    8 +
 airflow-core/docs/ui.rst                           |  438 ++++--
 .../api_fastapi/auth/managers/base_auth_manager.py |   11 +-
 .../api_fastapi/auth/middlewares/refresh_token.py  |   24 +-
 .../src/airflow/api_fastapi/common/types.py        |   21 +-
 .../core_api/datamodels/{providers.py => auth.py}  |   21 +-
 .../api_fastapi/core_api/datamodels/providers.py   |  168 +++
 .../core_api/datamodels/task_instance_history.py   |    4 +
 .../core_api/datamodels/task_instances.py          |    5 +
 .../api_fastapi/core_api/datamodels/ui/grid.py     |    1 +
 .../api_fastapi/core_api/openapi/_private_ui.yaml  |   31 +-
 .../core_api/openapi/v2-rest-api-generated.yaml    |  658 +++++++++
 .../api_fastapi/core_api/routes/public/auth.py     |   14 +
 .../core_api/routes/public/providers.py            |   23 +-
 .../api_fastapi/core_api/routes/ui/deadlines.py    |   10 +-
 .../airflow/api_fastapi/core_api/routes/ui/grid.py |    2 +
 .../core_api/services/public/providers.py          |   17 +-
 .../api_fastapi/core_api/services/ui/grid.py       |    5 +
 .../execution_api/datamodels/taskinstance.py       |    5 +-
 .../execution_api/routes/task_instances.py         |   14 +-
 airflow-core/src/airflow/assets/manager.py         |   27 +-
 .../src/airflow/cli/commands/triggerer_command.py  |    9 +-
 .../src/airflow/jobs/scheduler_job_runner.py       |  367 ++---
 .../src/airflow/jobs/triggerer_job_runner.py       |    7 +
 .../0142_3_4_0_unify_task_attempt_ownership.py     |    3 +-
 ... => 0149_3_4_0_add_is_stub_to_task_instance.py} |   32 +-
 ..._job.py => 0150_3_5_0_add_session_id_to_job.py} |    4 +-
 ...51_3_5_0_add_dag_run_dag_id_run_after_index.py} |    0
 airflow-core/src/airflow/models/asset.py           |   44 +-
 airflow-core/src/airflow/models/base.py            |   13 +-
 airflow-core/src/airflow/models/dag.py             |   13 +-
 airflow-core/src/airflow/models/dagrun.py          |   13 +-
 airflow-core/src/airflow/models/hitl.py            |   17 +-
 airflow-core/src/airflow/models/taskinstance.py    |   95 +-
 .../serialization/definitions/baseoperator.py      |    2 +-
 .../src/airflow/serialization/definitions/dag.py   |   29 +-
 .../serialization/definitions/mappedoperator.py    |    2 +-
 .../airflow/serialization/serialized_objects.py    |   28 +-
 .../ti_deps/deps/not_in_retry_period_dep.py        |    6 +-
 airflow-core/src/airflow/timetables/_cron.py       |   69 +-
 airflow-core/src/airflow/timetables/base.py        |    4 +-
 .../src/airflow/ui/openapi-gen/queries/common.ts   |   15 +-
 .../ui/openapi-gen/queries/ensureQueryData.ts      |   26 +-
 .../src/airflow/ui/openapi-gen/queries/prefetch.ts |   26 +-
 .../src/airflow/ui/openapi-gen/queries/queries.ts  |   26 +-
 .../src/airflow/ui/openapi-gen/queries/suspense.ts |   26 +-
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts | 1395 +++++++++++++++++---
 .../ui/openapi-gen/requests/services.gen.ts        |   43 +-
 .../airflow/ui/openapi-gen/requests/types.gen.ts   |  251 ++++
 airflow-core/src/airflow/ui/package.json           |    2 -
 airflow-core/src/airflow/ui/pnpm-lock.yaml         |  181 ---
 .../airflow/ui/public/i18n/locales/en/common.json  |    3 +
 .../ui/public/i18n/locales/en/dashboard.json       |    1 +
 .../airflow/ui/public/i18n/locales/ko/admin.json   |    2 +
 .../airflow/ui/public/i18n/locales/ko/browse.json  |    1 +
 .../airflow/ui/public/i18n/locales/ko/common.json  |   12 +
 .../ui/public/i18n/locales/ko/components.json      |    9 +
 .../src/airflow/ui/public/i18n/locales/ko/dag.json |   47 +-
 .../airflow/ui/public/i18n/locales/ko/dags.json    |    1 +
 .../airflow/ui/public/i18n/locales/ko/hitl.json    |    1 +
 ...learTaskInstanceDialog.emptySelection.test.tsx} |   47 +-
 .../Clear/TaskInstance/ClearTaskInstanceDialog.tsx |    9 +-
 .../ui/src/components/DagImportErrorDetails.tsx    |   14 +-
 .../ui/src/components/DagImportErrorModal.test.tsx |   27 +-
 .../components/DataTable/useRowSelection.test.tsx  |   86 ++
 .../src/components/DataTable/useRowSelection.tsx   |   19 +-
 .../ui/src/components/FilterBar/FilterBar.test.tsx |   20 +
 .../components/FilterBar/filters/LoopFilter.tsx    |   17 +-
 .../FilterBar/filters/RunStateFilter.tsx           |   27 +-
 .../components/FilterBar/filters/SelectFilter.tsx  |   21 +-
 .../FilterBar/filters/pausedStateParams.ts         |   19 +-
 .../ui/src/components/Graph/useGraphLayout.ts      |    3 +-
 .../ui/src/components/TaskInstanceTooltip.test.tsx |   46 +-
 .../ui/src/components/TaskInstanceTooltip.tsx      |    7 +
 .../TriggerDag/RecentConfigSelect.test.tsx         |   39 +-
 .../components/TriggerDag/RecentConfigSelect.tsx   |   79 +-
 .../components/TriggerDag/TriggerDAGForm.test.tsx  |    4 +-
 .../src/airflow/ui/src/constants/filterConfigs.tsx |    2 +
 .../ui/src/context/gridSelection/Context.ts        |   56 +
 .../gridSelection/GridSelectionProvider.tsx}       |   16 +-
 .../gridSelection}/index.ts                        |    5 +-
 .../ui/src/context/keyboardShortcuts/shortcuts.ts  |   10 +
 .../src/airflow/ui/src/layouts/BaseLayout.tsx      |    3 +-
 .../ui/src/layouts/Details/Grid/Grid.test.tsx      |   17 +-
 .../airflow/ui/src/layouts/Details/Grid/Grid.tsx   |   38 +-
 .../Details/Grid/GridSelectionActionBar.test.tsx   |   69 +
 .../Details/Grid/GridSelectionActionBar.tsx        |   98 ++
 .../ui/src/layouts/Details/Grid/GridTI.test.tsx    |   19 +
 .../airflow/ui/src/layouts/Details/Grid/GridTI.tsx |    9 +-
 .../layouts/Details/Grid/TaskInstancesColumn.tsx   |   16 +-
 .../Grid/useGridSelectedTaskInstances.test.tsx     |  139 ++
 .../Details/Grid/useGridSelectedTaskInstances.ts   |   79 ++
 .../layouts/Details/Grid/useGridSelection.test.tsx |  324 +++++
 .../src/layouts/Details/Grid/useGridSelection.ts   |  258 ++++
 .../src/airflow/ui/src/mocks/handlers/dags.ts      |    4 +
 .../DagsList/DagsFilters/DagsFilters.test.tsx      |   24 +-
 .../src/airflow/ui/src/pages/DagsList/DagsList.tsx |    4 +-
 .../pages/Dashboard/Stats/DagImportErrorsModal.tsx |   14 +-
 .../pages/GroupTaskInstance/GroupTaskInstance.tsx  |   11 +-
 .../ui/src/pages/GroupTaskInstance/Header.tsx      |   26 +-
 .../LoopIterations/LoopIterations.test.tsx         |  136 ++
 .../LoopIterations/LoopIterations.tsx              |  137 ++
 .../GroupTaskInstance/LoopIterations/loopUtils.ts  |    2 +-
 .../ui/src/pages/GroupTaskInstance/index.ts        |    1 +
 .../ui/src/pages/MappedTaskInstance/Header.tsx     |   23 +-
 .../src/airflow/ui/src/pages/Run/Header.tsx        |   13 +-
 .../ui/src/pages/TaskInstance/Details.test.tsx     |   24 +
 .../airflow/ui/src/pages/TaskInstance/Details.tsx  |    8 +
 .../ui/src/pages/TaskInstance/Header.test.tsx      |   21 +
 .../airflow/ui/src/pages/TaskInstance/Header.tsx   |   28 +-
 .../src/pages/TaskInstances/TaskInstances.test.tsx |   50 +-
 .../ui/src/pages/TaskInstances/TaskInstances.tsx   |   19 +-
 .../pages/Variables/ImportVariablesForm.test.tsx   |   83 ++
 .../ui/src/pages/Variables/ImportVariablesForm.tsx |   12 +-
 .../airflow/ui/src/pages/XCom/XComModal.test.tsx   |   60 +
 .../src/airflow/ui/src/pages/XCom/XComModal.tsx    |    6 +-
 .../airflow/ui/src/queries/useBulkDeleteDagRuns.ts |    6 +
 .../ui/src/queries/useDeleteDagRun.test.tsx        |   82 ++
 .../src/airflow/ui/src/queries/useDeleteDagRun.ts  |    6 +
 .../useHasMultipleDagBundles.ts}                   |   10 +-
 .../src/queries/useRecentTaskStateCounts.test.tsx  |   20 +
 .../ui/src/queries/useRecentTaskStateCounts.tsx    |    9 +-
 airflow-core/src/airflow/ui/src/router.tsx         |    7 +-
 .../airflow/ui/tests/e2e/pages/DagCalendarTab.ts   |   11 -
 .../src/airflow/ui/tests/e2e/pages/DagsPage.ts     |    8 +-
 .../airflow/ui/tests/e2e/pages/ProvidersPage.ts    |   13 -
 .../ui/tests/e2e/pages/RequiredActionsPage.ts      |  357 +----
 .../airflow/ui/tests/e2e/pages/TaskInstancePage.ts |   36 +-
 airflow-core/src/airflow/utils/db.py               |   10 +-
 .../src/airflow/utils/log/file_task_handler.py     |   40 +-
 airflow-core/tests/conftest.py                     |   36 -
 .../tests/unit/always/test_project_structure.py    |    4 -
 .../auth/managers/test_base_auth_manager.py        |    5 +-
 .../auth/middlewares/test_refresh_token.py         |   92 +-
 .../unit/api_fastapi/common/test_exceptions.py     |   11 -
 .../core_api/datamodels/test_providers.py          |   50 +
 .../core_api/routes/public/test_assets.py          |   10 -
 .../core_api/routes/public/test_auth.py            |   47 +-
 .../core_api/routes/public/test_hitl.py            |    1 +
 .../core_api/routes/public/test_providers.py       |  149 +++
 .../core_api/routes/public/test_task_instances.py  |  110 +-
 .../core_api/routes/public/test_variables.py       |    6 -
 .../api_fastapi/core_api/routes/test_routes.py     |    1 +
 .../core_api/routes/ui/test_deadlines.py           |   91 +-
 .../api_fastapi/core_api/routes/ui/test_grid.py    |   25 +
 .../versions/head/test_task_instances.py           |   48 +-
 airflow-core/tests/unit/assets/test_manager.py     |   14 +-
 .../tests/unit/cli/commands/_common_cli_classes.py |   43 -
 .../unit/cli/commands/test_triggerer_command.py    |   27 +
 .../lang_sdk_fixtures/go_native.json               |    2 +
 .../lang_sdk_fixtures/java_native.json             |    3 +
 .../tests/unit/dag_processing/test_dagbag.py       |    9 +
 airflow-core/tests/unit/jobs/test_scheduler_job.py |  471 ++++++-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |   24 +
 airflow-core/tests/unit/models/test_dag.py         |   65 +-
 airflow-core/tests/unit/models/test_dagrun.py      |   25 +
 airflow-core/tests/unit/models/test_hitl.py        |   55 +
 .../tests/unit/models/test_taskinstance.py         |  157 ++-
 airflow-core/tests/unit/models/test_trigger.py     |    4 +-
 .../unit/serialization/test_dag_serialization.py   |   25 +-
 .../tests/unit/timetables/test_assets_timetable.py |   18 -
 .../tests/unit/timetables/test_cron_mixin.py       |  279 +++-
 .../tests/unit/utils/log/test_log_reader.py        |    4 +-
 airflow-core/tests/unit/utils/test_log_handlers.py |  109 +-
 .../tests/unit/utils/test_operator_helpers.py      |   37 -
 .../airflowctl_tests/test_airflowctl_commands.py   |    1 +
 airflow-ctl/docs/images/command_hashes.txt         |    2 +-
 airflow-ctl/docs/images/output_providers.svg       |   70 +-
 .../src/airflowctl/api/datamodels/generated.py     |  213 +++
 airflow-ctl/src/airflowctl/api/operations.py       |    6 +
 airflow-ctl/src/airflowctl/ctl/cli_config.py       |   43 +-
 .../airflowctl/ctl/commands/provider_command.py    |   27 +-
 airflow-ctl/src/airflowctl/ctl/help_texts.yaml     |    1 +
 .../tests/airflow_ctl/api/test_operations.py       |   22 +
 .../airflow_ctl/ctl/commands/test_auth_command.py  |   40 +-
 .../airflow_ctl/ctl/commands/test_dag_command.py   |   46 +-
 .../ctl/commands/test_provider_command.py          |  107 ++
 .../tests/airflow_ctl/ctl/test_cli_config.py       |   21 +
 airflow-e2e-tests/docker/openlineage.yml           |   88 +-
 .../docker/yaml-dag.yml                            |   27 +-
 .../tests/airflow_e2e_tests/conftest.py            |   99 +-
 .../tests/airflow_e2e_tests/constants.py           |    6 +
 .../airflow_e2e_tests/openlineage_tests/README.md  |   13 +-
 .../openlineage_tests/task_logs.py                 |   59 +-
 .../airflow_e2e_tests/yaml_dag_tests}/__init__.py  |    0
 .../yaml_dag_tests/test_yaml_dag.py                |  204 +++
 airflow-e2e-tests/yaml-dags/yaml_s3_roundtrip.yaml |   88 ++
 chart/dockerfiles/pgbouncer-exporter/Dockerfile    |    9 +-
 .../pgbouncer-exporter/build_and_push.sh           |    8 +-
 chart/dockerfiles/pgbouncer/Dockerfile             |    8 +-
 chart/dockerfiles/pgbouncer/build_and_push.sh      |    8 +-
 chart/newsfragments/74647.significant.rst          |   19 +
 .../airflow_aux/test_pod_template_file.py          |    8 -
 chart/tests/helm_tests/airflow_core/test_worker.py |   10 -
 chart/values.schema.json                           |    4 +-
 chart/values.yaml                                  |    4 +-
 contributing-docs/05_pull_requests.rst             |    6 +-
 contributing-docs/08_static_code_checks.rst        |    6 +
 contributing-docs/25_maintainer_pr_triage.md       |    2 +-
 ...UALLY_GENERATING_IMAGE_CACHE_AND_CONSTRAINTS.md |    6 +
 dev/README_RELEASE_AIRFLOW.md                      |   88 +-
 dev/breeze/doc/05_test_commands.rst                |    2 +-
 dev/breeze/doc/08_ci_tasks.rst                     |    8 +-
 dev/breeze/doc/09_release_management_tasks.rst     |   62 +-
 dev/breeze/doc/ci/02_images.md                     |    2 +-
 dev/breeze/doc/ci/04_selective_checks.md           |   92 +-
 dev/breeze/doc/ci/05_workflows.md                  |   24 +-
 .../doc/ci/08_fork_ci_for_external_contributors.md |    3 +-
 dev/breeze/doc/images/output_ci.svg                |    4 +-
 dev/breeze/doc/images/output_ci.txt                |    2 +-
 .../doc/images/output_ci_approve-workflow-runs.svg |   46 +-
 .../doc/images/output_ci_approve-workflow-runs.txt |    2 +-
 dev/breeze/doc/images/output_ci_upgrade.svg        |  114 +-
 dev/breeze/doc/images/output_ci_upgrade.txt        |    2 +-
 ...put_release-management_generate-constraints.svg |   78 +-
 ...put_release-management_generate-constraints.txt |    2 +-
 ...utput_release-management_publish-docs-to-s3.svg |   64 +-
 ...utput_release-management_publish-docs-to-s3.txt |    2 +-
 .../output_setup_check-all-params-in-groups.svg    |   24 +-
 .../output_setup_check-all-params-in-groups.txt    |    2 +-
 .../output_setup_regenerate-command-images.svg     |    4 +-
 .../output_setup_regenerate-command-images.txt     |    2 +-
 .../images/output_testing_airflow-e2e-tests.svg    |    2 +-
 .../images/output_testing_airflow-e2e-tests.txt    |    2 +-
 dev/breeze/doc/images/output_workflow-run.svg      |   34 +-
 dev/breeze/doc/images/output_workflow-run.txt      |    2 +-
 .../output_workflow-run_mirror-base-images.svg     |  111 ++
 .../output_workflow-run_mirror-base-images.txt     |    1 +
 .../images/output_workflow-run_upgrade-check.svg   |  116 ++
 .../images/output_workflow-run_upgrade-check.txt   |    1 +
 .../src/airflow_breeze/commands/ci_commands.py     |  166 ++-
 .../airflow_breeze/commands/ci_commands_config.py  |    2 +
 .../src/airflow_breeze/commands/common_options.py  |    7 +
 .../airflow_breeze/commands/kubernetes_commands.py |  106 +-
 .../commands/release_management_commands.py        |  129 +-
 .../commands/release_management_commands_config.py |    3 +
 .../airflow_breeze/commands/testing_commands.py    |   30 +-
 .../airflow_breeze/commands/workflow_commands.py   |   72 +-
 .../commands/workflow_commands_config.py           |   24 +-
 .../files/hardened_python_image_digests.json       |   10 +
 .../files/legacy_python_versions.json              |    6 +
 dev/breeze/src/airflow_breeze/global_constants.py  |   78 +-
 .../src/airflow_breeze/params/build_prod_params.py |   11 +-
 .../src/airflow_breeze/params/shell_params.py      |    4 +
 .../airflow_breeze/utils/ci_minutes_estimate.py    |    6 +-
 .../src/airflow_breeze/utils/gh_workflow_utils.py  |   42 +
 .../airflow_breeze/utils/publish_docs_helpers.py   |   32 -
 .../src/airflow_breeze/utils/publish_docs_to_s3.py |    6 +-
 dev/breeze/src/airflow_breeze/utils/run_tests.py   |  101 +-
 .../src/airflow_breeze/utils/selective_checks.py   |  168 ++-
 .../src/airflow_breeze/utils/verification_plan.py  |    1 +
 .../airflow_breeze/utils/workflow_run_approval.py  |  103 +-
 .../src/airflow_breeze/utils/workflow_status.py    |    4 +
 dev/breeze/tests/test_build_prod_params.py         |   44 +-
 dev/breeze/tests/test_ci_upgrade.py                |  100 ++
 dev/breeze/tests/test_gh_workflow_utils.py         |   54 +
 .../tests/test_kubernetes_lang_sdk_commands.py     |   44 +-
 dev/breeze/tests/test_mirror_base_images.py        |  142 +-
 dev/breeze/tests/test_publish_docs_to_s3.py        |   25 +
 .../tests/test_pytest_args_for_test_types.py       |   65 +-
 .../tests/test_release_management_commands.py      |   70 +
 dev/breeze/tests/test_run_test_args.py             |   93 ++
 dev/breeze/tests/test_selective_checks.py          |  365 ++++-
 dev/breeze/tests/test_set_milestone.py             |   48 -
 dev/breeze/tests/test_shell_params.py              |   21 +-
 dev/breeze/tests/test_workflow_commands.py         |   57 +
 dev/breeze/tests/test_workflow_run_approval.py     |  198 ++-
 .../breeze/tests/test_workflow_status.py           |   24 +-
 .../src/sphinx_exts/docs_build/code_utils.py       |   45 -
 docker-stack-docs/build-arg-ref.rst                |   26 +-
 docker-stack-docs/build.rst                        |   21 +-
 .../customizing/add-build-essential-custom.sh      |    3 +-
 .../docker-examples/customizing/custom-sources.sh  |    3 +-
 .../customizing/pypi-dev-runtime-deps.sh           |    3 +-
 .../customizing/pypi-extras-and-deps.sh            |    3 +-
 .../customizing/pypi-selected-version.sh           |    3 +-
 .../restricted/restricted_environments.sh          |    3 +-
 .../test_examples_of_prod_image_building.py        |    2 +
 generated/known_airflow_exceptions.txt             |    2 +-
 go-sdk/DEVELOPMENT.md                              |   10 +-
 go-sdk/airflow/conformance_test.go                 |    4 +-
 go-sdk/airflow/serialize.go                        |    9 +-
 go-sdk/airflow/serialize_test.go                   |    3 +-
 .../cmd/airflow-go-pack/pack_integration_test.go   |    3 +
 go-sdk/example/bundle/main.go                      |    5 +
 go-sdk/example/bundle/yamldag/handlers.go          |   43 +
 java-sdk/sdk/build.gradle.kts                      |    2 +-
 .../org/apache/airflow/sdk/execution/Serde.kt      |   11 +-
 .../org/apache/airflow/sdk/TriggerDagRunTest.kt    |    5 +-
 kubernetes-tests/lang_sdk/README.md                |   18 +-
 kubernetes-tests/lang_sdk/config/values.yaml       |    9 +-
 .../kubernetes_tests/test_lang_sdk_native_dag.py   |  110 +-
 providers/.last_release_date.txt                   |    2 +-
 providers/amazon/docs/executors/ecs-executor.rst   |    4 +
 providers/amazon/provider.yaml                     |    9 +
 .../amazon/aws/executors/ecs/ecs_executor.py       |  230 +++-
 .../providers/amazon/aws/executors/ecs/utils.py    |    3 +
 .../airflow/providers/amazon/get_provider_info.py  |    7 +
 .../aws/auth_manager/datamodels}/__init__.py       |    0
 .../aws/auth_manager/datamodels/test_login.py      |   46 +
 .../tests/unit/amazon/aws/bundles/test_s3.py       |   10 -
 .../amazon/aws/executors/ecs/test_ecs_executor.py  |  265 +++-
 .../unit/amazon/aws/log/test_s3_task_handler.py    |    4 +-
 .../kubernetes/sensors/test_spark_kubernetes.py    |   78 +-
 providers/common/ai/README.rst                     |   55 +-
 providers/common/ai/docs/changelog.rst             |   42 +-
 .../common/ai/docs/connections/pydantic_ai.rst     |   61 +-
 providers/common/ai/docs/features.rst              |   12 +-
 .../common/ai/docs/frameworks/claude_agent_sdk.rst |  282 ++++
 providers/common/ai/docs/frameworks/index.rst      |   27 +-
 providers/common/ai/docs/hooks/pydantic_ai.rst     |   20 +
 providers/common/ai/docs/index.rst                 |   55 +-
 providers/common/ai/docs/model_providers.rst       |    4 +-
 providers/common/ai/docs/observability.rst         |   47 +-
 providers/common/ai/docs/operators/llm.rst         |    6 +-
 providers/common/ai/docs/operators/llm_batch.rst   |    8 +-
 providers/common/ai/docs/operators/llm_branch.rst  |   10 +-
 .../common/ai/docs/operators/llm_file_analysis.rst |   10 +
 .../ai/docs/operators/llm_schema_compare.rst       |    7 +-
 providers/common/ai/docs/operators/llm_sql.rst     |    3 +
 providers/common/ai/docs/provider_fallback.rst     |    8 +-
 providers/common/ai/docs/self_hosted_models.rst    |   19 +-
 providers/common/ai/docs/stability.rst             |    3 +
 providers/common/ai/docs/structured_output.rst     |   10 +-
 providers/common/ai/docs/toolsets/index.rst        |    2 +-
 providers/common/ai/docs/troubleshooting.rst       |    9 +-
 providers/common/ai/provider.yaml                  |   11 +-
 providers/common/ai/pyproject.toml                 |    3 +
 .../src/airflow/providers/common/ai/batch/base.py  |   14 +-
 .../airflow/providers/common/ai/batch/dispatch.py  |   13 +-
 .../airflow/providers/common/ai/decorators/llm.py  |   11 +-
 .../providers/common/ai/decorators/llm_branch.py   |   11 +-
 .../common/ai/decorators/llm_schema_compare.py     |   11 +-
 .../providers/common/ai/decorators/llm_sql.py      |   11 +-
 .../ai/example_dags/example_claude_agent_sdk.py    |   90 ++
 .../providers/common/ai/get_provider_info.py       |    7 +-
 .../providers/common/ai/hooks/pydantic_ai.py       |  221 +++-
 .../airflow/providers/common/ai/mixins/approval.py |   20 +-
 .../airflow/providers/common/ai/operators/llm.py   |  107 +-
 .../providers/common/ai/operators/llm_batch.py     |   31 +-
 .../providers/common/ai/operators/llm_branch.py    |    3 +-
 .../common/ai/operators/llm_schema_compare.py      |    3 +-
 .../providers/common/ai/plugins/model_panel.py     |   14 +-
 .../providers/common/ai/plugins/www/src/model.tsx  |    4 +-
 .../airflow/providers/common/ai/tools/__init__.py  |    5 +-
 .../providers/common/ai/tools/claude_agent_sdk.py  |  369 ++++++
 .../airflow/providers/common/ai/utils/prompt.py    |   65 +
 .../providers/common/ai/utils/tool_metrics.py      |    4 +-
 .../ai/tests/unit/common/ai/batch/test_base.py     |    8 +
 .../ai/tests/unit/common/ai/batch/test_dispatch.py |    4 +
 .../common/ai/tests/unit/common/ai/conftest.py     |   57 +
 .../ai/tests/unit/common/ai/decorators/test_llm.py |   93 +-
 .../unit/common/ai/decorators/test_llm_branch.py   |   34 +-
 .../common/ai/decorators/test_llm_file_analysis.py |    8 +-
 .../ai/decorators/test_llm_schema_compare.py       |   26 +-
 .../unit/common/ai/decorators/test_llm_sql.py      |   30 +-
 .../tests/unit/common/ai/hooks/test_pydantic_ai.py |  496 ++++++-
 .../tests/unit/common/ai/mixins/test_approval.py   |   26 +-
 .../ai/tests/unit/common/ai/operators/test_llm.py  |  100 +-
 .../unit/common/ai/operators/test_llm_batch.py     |   80 ++
 .../unit/common/ai/operators/test_llm_branch.py    |  100 +-
 .../common/ai/operators/test_llm_file_analysis.py  |   42 +-
 .../common/ai/operators/test_llm_schema_compare.py |   62 +-
 .../tests/unit/common/ai/operators/test_llm_sql.py |   44 +-
 .../unit/common/ai/plugins/test_model_panel.py     |   34 +-
 .../unit/common/ai/tools/test_claude_agent_sdk.py  | 1060 +++++++++++++++
 .../ai/tests/unit/common/ai/utils/test_prompt.py   |   92 ++
 .../common/compat/_resumable_job_mixin.py          |   10 +-
 .../common/compat/test__resumable_job_mixin.py     |    5 +-
 .../tests/unit/databricks/hooks/test_databricks.py |   19 -
 .../unit/databricks/hooks/test_databricks_base.py  |    4 -
 .../tests/unit/databricks/utils/test_mixins.py     |   10 -
 providers/fab/docs/auth-manager/access-control.rst |    8 +
 .../api_fastapi/datamodels/test_login.py           |   45 +
 providers/fab/tests/unit/fab/utils.py              |  109 --
 .../operators/marketing_platform/bid_manager.rst   |   76 +-
 .../google/marketing_platform/hooks/bid_manager.py |   21 +-
 .../marketing_platform/operators/bid_manager.py    |  237 +++-
 .../marketing_platform/sensors/bid_manager.py      |    6 +-
 .../marketing_platform/example_bid_manager.py      |   37 +-
 .../unit/google/cloud/log/test_gcs_task_handler.py |    4 +-
 .../google/cloud/transfers/test_calendar_to_gcs.py |   54 -
 .../unit/google/cloud/transfers/test_gcs_to_gcs.py |   18 -
 .../tests/unit/google/cloud/utils/test_bigquery.py |   58 +
 .../google/cloud/utils/test_bigquery_get_data.py   |   77 ++
 .../marketing_platform/hooks/test_bid_manager.py   |   37 +-
 .../operators/test_bid_manager.py                  |  135 +-
 .../marketing_platform/sensors/test_bid_manager.py |   23 +-
 providers/http/tests/unit/http/hooks/test_http.py  |    4 -
 .../keycloak/auth_manager/routes/login.py          |   13 +-
 .../keycloak/auth_manager/services/token.py        |    2 +-
 .../keycloak/auth_manager/routes/test_login.py     |   34 +
 .../keycloak/auth_manager/services/test_token.py   |   25 +
 .../auth_manager/test_keycloak_auth_manager.py     |   23 -
 providers/microsoft/azure/docs/changelog.rst       |   20 +-
 .../microsoft/azure/docs/operators/msgraph.rst     |    5 +-
 .../microsoft/azure/docs/operators/powerbi.rst     |   14 +-
 providers/microsoft/azure/provider.yaml            |    2 +-
 .../providers/microsoft/azure/exceptions.py        |    9 +
 .../providers/microsoft/azure/operators/msgraph.py |  124 +-
 .../providers/microsoft/azure/operators/powerbi.py |   53 +-
 .../providers/microsoft/azure/sensors/msgraph.py   |   44 +-
 .../providers/microsoft/azure/version_compat.py    |    2 +
 .../microsoft/azure/log/test_wasb_task_handler.py  |    2 +-
 .../unit/microsoft/azure/operators/test_msgraph.py |  145 +-
 .../unit/microsoft/azure/operators/test_powerbi.py |   87 +-
 .../unit/microsoft/azure/sensors/test_msgraph.py   |  161 ++-
 providers/openlineage/docs/changelog.rst           |   24 +
 providers/openlineage/docs/emission_policy.rst     |   13 +-
 providers/openlineage/provider.yaml                |    2 +-
 .../providers/openlineage/api/emission_policy.py   |    3 +-
 .../openlineage/facets/AirflowRunFacet.json        |   10 +
 .../providers/openlineage/plugins/listener.py      |   28 +-
 .../providers/openlineage/utils/emission_policy.py |    8 +-
 .../airflow/providers/openlineage/utils/utils.py   |  124 +-
 .../providers/openlineage/version_compat.py        |    9 +-
 .../example_openlineage_defer_simple_dag.py        |    2 +
 ...le_openlineage_policy_authoring_controls_dag.py |  140 ++
 ...example_openlineage_policy_conf_controls_dag.py |  200 +++
 ..._openlineage_policy_conf_locked_controls_dag.py |  156 +++
 .../example_openlineage_policy_conf_locked_dag.py  |    2 +-
 ...mple_openlineage_policy_conf_source_code_dag.py |    2 +-
 ...xample_openlineage_policy_dag_emit_false_dag.py |    2 +-
 ...mple_openlineage_policy_dag_events_false_dag.py |    4 +-
 ...le_openlineage_policy_dag_events_trigger_dag.py |  123 ++
 ...ple_openlineage_policy_dag_override_task_dag.py |    2 +-
 ...ineage_policy_exclude_datasets_authoring_dag.py |  285 ++++
 ...openlineage_policy_exclude_datasets_conf_dag.py |  246 ++++
 ...enlineage_policy_exclude_datasets_global_dag.py |  224 ++++
 ...nlineage_policy_exclude_datasets_sources_dag.py |  342 +++++
 ...ineage_policy_exclude_datasets_versioned_dag.py |  125 ++
 ...mple_openlineage_policy_extract_metadata_dag.py |    2 +-
 ...xample_openlineage_policy_full_task_info_dag.py |    2 +-
 .../example_openlineage_policy_hook_lineage_dag.py |    2 +-
 .../example_openlineage_policy_source_code_dag.py  |    2 +-
 ...ample_openlineage_policy_task_emit_false_dag.py |    7 +-
 .../system/openlineage/expected_events/__init__.py |   18 +-
 .../openlineage_base_complex_dag__af2.json         |   63 +-
 .../openlineage_base_complex_dag__af3.json         |   70 +-
 .../openlineage_custom_operator_failure_dag.json   |    5 +-
 ...json => openlineage_defer_simple_dag__af2.json} |   10 +-
 ...json => openlineage_defer_simple_dag__af3.json} |   10 +-
 ...penlineage_defer_simple_dag__af3_2_2_plus.json} |   10 +-
 .../openlineage_policy_authoring_controls_dag.json |  455 +++++++
 .../openlineage_policy_conf_controls_dag.json      |  759 +++++++++++
 ...penlineage_policy_conf_locked_controls_dag.json |  308 +++++
 .../openlineage_policy_dag_events_trigger_dag.json |  487 +++++++
 ...eage_policy_exclude_datasets_authoring_dag.json |  494 +++++++
 ...enlineage_policy_exclude_datasets_conf_dag.json |  614 +++++++++
 ...lineage_policy_exclude_datasets_global_dag.json |  410 ++++++
 ...ineage_policy_exclude_datasets_sources_dag.json |  765 +++++++++++
 ...eage_policy_exclude_datasets_versioned_dag.json |  172 +++
 ...exclude_datasets_versioned_dag__af3_1_plus.json |  201 +++
 ...exclude_datasets_versioned_dag__af3_2_plus.json |  201 +++
 .../openlineage_policy_task_emit_false_dag.json    |   17 +-
 .../expected_events/openlineage_retry_dag.json     |   12 +
 .../openlineage_retry_dag__af2.json                |   20 +-
 .../openlineage_retry_dag__af3_0.json              |   12 +
 .../openlineage_sensor_reschedule_dag.json         |   10 +-
 .../openlineage_sensor_reschedule_dag__af2.json    |   10 +-
 .../openlineage_sensor_reschedule_dag__af3_0.json  |   10 +-
 .../openlineage_task_states_dag.json               |   12 +
 .../openlineage_task_states_dag__af3_0.json        |    6 +
 .../tests/system/openlineage/operator.py           |   82 +-
 .../unit/openlineage/plugins/test_listener.py      |  110 +-
 .../tests/unit/openlineage/plugins/test_utils.py   |   48 +-
 .../unit/openlineage/utils/test_emission_policy.py |    7 +
 .../tests/unit/openlineage/utils/test_utils.py     |  311 ++++-
 .../airflow/providers/sendgrid/utils/emailer.py    |   23 +-
 .../tests/unit/sendgrid/utils/test_emailer.py      |   35 +-
 .../sftp/tests/unit/sftp/sensors/test_sftp.py      |   13 -
 providers/smtp/README.rst                          |    2 +-
 providers/smtp/docs/index.rst                      |    2 +-
 providers/smtp/pyproject.toml                      |    2 +-
 .../smtp/src/airflow/providers/smtp/hooks/smtp.py  |    6 +-
 providers/smtp/tests/unit/smtp/hooks/test_smtp.py  |   31 +-
 .../triggers/test_teradata_compute_cluster.py      |   21 -
 scripts/ci/configure_runner_for_parallel_tests.sh  |   46 +
 .../check_go_sdk.py}                               |    2 +-
 .../ci/lang_sdk_serialization/check_java_sdk.py    |    4 +-
 .../ci/lang_sdk_serialization/check_ts_sdk.py      |    7 +-
 scripts/ci/lang_sdk_serialization/compare.py       |    4 +-
 scripts/ci/prek/AGENTS.md                          |   30 +-
 scripts/ci/prek/check_init_decorator_arguments.py  |   15 -
 scripts/ci/prek/check_prek_parallel_hooks.py       |   97 ++
 scripts/ci/prek/upgrade_important_versions.py      |  141 +-
 scripts/ci/spot_interruptions.py                   |    5 +-
 scripts/docker/entrypoint_ci.sh                    |    2 +
 scripts/docker/install_os_dependencies.sh          |   62 +-
 scripts/docker/install_postgres.sh                 |    6 +
 scripts/in_container/run_generate_constraints.py   |  129 +-
 .../test_check_go_sdk.py}                          |    4 +-
 .../ci/prek/test_check_prek_parallel_hooks.py      |   75 ++
 .../ci/prek/test_upgrade_important_versions.py     |  153 +++
 scripts/tests/ci/test_prek_cache_optimizations.py  |   38 +-
 scripts/tests/ci/test_spot_interruptions.py        |   36 +-
 .../in_container/test_run_generate_constraints.py  |  167 ++-
 .../observability/metrics/metrics_template.yaml    |   10 +-
 .../observability/metrics/test_otel_logger.py      |    9 +
 task-sdk/src/airflow/sdk/execution_time/context.py |   15 +-
 .../task_sdk/definitions/test_asset_decorators.py  |    7 -
 .../tests/task_sdk/execution_time/test_context.py  |   41 +
 ts-sdk/.pre-commit-config.yaml                     |   16 -
 ts-sdk/src/coordinator/log-channel.ts              |   94 +-
 ts-sdk/src/coordinator/serde.ts                    |    8 +-
 ts-sdk/tests/conformance/serialize_typescript.ts   |    2 +-
 ts-sdk/tests/coordinator/log-channel.test.ts       |  173 +++
 uv.lock                                            |   29 +-
 544 files changed, 27083 insertions(+), 4269 deletions(-)
 create mode 100644 .github/workflows/mark-workflow-runs-approved.yml
 copy airflow-core/src/airflow/api_fastapi/core_api/datamodels/{providers.py => 
auth.py} (72%)
 copy 
airflow-core/src/airflow/migrations/versions/{0150_3_5_0_add_dag_run_dag_id_run_after_index.py
 => 0149_3_4_0_add_is_stub_to_task_instance.py} (54%)
 rename 
airflow-core/src/airflow/migrations/versions/{0149_3_5_0_add_session_id_to_job.py
 => 0150_3_5_0_add_session_id_to_job.py} (97%)
 rename 
airflow-core/src/airflow/migrations/versions/{0150_3_5_0_add_dag_run_dag_id_run_after_index.py
 => 0151_3_5_0_add_dag_run_dag_id_run_after_index.py} (100%)
 copy 
airflow-core/src/airflow/ui/src/{pages/GroupTaskInstance/LoopIterations/loopUtils.ts
 => 
components/Clear/TaskInstance/ClearTaskInstanceDialog.emptySelection.test.tsx} 
(51%)
 create mode 100644 
airflow-core/src/airflow/ui/src/components/DataTable/useRowSelection.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/context/gridSelection/Context.ts
 copy airflow-core/src/airflow/ui/src/{pages/GroupTaskInstance/index.ts => 
context/gridSelection/GridSelectionProvider.tsx} (59%)
 copy airflow-core/src/airflow/ui/src/{pages/GroupTaskInstance => 
context/gridSelection}/index.ts (87%)
 create mode 100644 
airflow-core/src/airflow/ui/src/layouts/Details/Grid/GridSelectionActionBar.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/layouts/Details/Grid/GridSelectionActionBar.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/layouts/Details/Grid/useGridSelectedTaskInstances.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/layouts/Details/Grid/useGridSelectedTaskInstances.ts
 create mode 100644 
airflow-core/src/airflow/ui/src/layouts/Details/Grid/useGridSelection.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/layouts/Details/Grid/useGridSelection.ts
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/GroupTaskInstance/LoopIterations/LoopIterations.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/GroupTaskInstance/LoopIterations/LoopIterations.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/Variables/ImportVariablesForm.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/queries/useDeleteDagRun.test.tsx
 copy airflow-core/src/airflow/ui/src/{pages/GroupTaskInstance/index.ts => 
queries/useHasMultipleDagBundles.ts} (70%)
 create mode 100644 
airflow-core/tests/unit/api_fastapi/core_api/datamodels/test_providers.py
 create mode 100644 airflow-core/tests/unit/models/test_hitl.py
 copy airflow-core/src/airflow/api_fastapi/core_api/datamodels/providers.py => 
airflow-ctl/src/airflowctl/ctl/commands/provider_command.py (52%)
 create mode 100644 
airflow-ctl/tests/airflow_ctl/ctl/commands/test_provider_command.py
 copy .github/actions/runs-on-cost-summary/action.yml => 
airflow-e2e-tests/docker/yaml-dag.yml (54%)
 copy {airflow-core/src/airflow/_shared => 
airflow-e2e-tests/tests/airflow_e2e_tests/yaml_dag_tests}/__init__.py (100%)
 create mode 100644 
airflow-e2e-tests/tests/airflow_e2e_tests/yaml_dag_tests/test_yaml_dag.py
 create mode 100644 airflow-e2e-tests/yaml-dags/yaml_s3_roundtrip.yaml
 create mode 100644 chart/newsfragments/74647.significant.rst
 create mode 100644 
dev/breeze/doc/images/output_workflow-run_mirror-base-images.svg
 create mode 100644 
dev/breeze/doc/images/output_workflow-run_mirror-base-images.txt
 create mode 100644 dev/breeze/doc/images/output_workflow-run_upgrade-check.svg
 create mode 100644 dev/breeze/doc/images/output_workflow-run_upgrade-check.txt
 create mode 100644 
dev/breeze/src/airflow_breeze/files/hardened_python_image_digests.json
 create mode 100644 
dev/breeze/src/airflow_breeze/files/legacy_python_versions.json
 copy 
airflow-core/src/airflow/api_fastapi/core_api/services/public/providers.py => 
dev/breeze/tests/test_workflow_status.py (57%)
 create mode 100644 go-sdk/example/bundle/yamldag/handlers.go
 copy {airflow-core/src/airflow/_shared => 
providers/amazon/tests/unit/amazon/aws/auth_manager/datamodels}/__init__.py 
(100%)
 create mode 100644 
providers/amazon/tests/unit/amazon/aws/auth_manager/datamodels/test_login.py
 create mode 100644 providers/common/ai/docs/frameworks/claude_agent_sdk.rst
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_claude_agent_sdk.py
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/tools/claude_agent_sdk.py
 create mode 100644 
providers/common/ai/src/airflow/providers/common/ai/utils/prompt.py
 create mode 100644 
providers/common/ai/tests/unit/common/ai/tools/test_claude_agent_sdk.py
 create mode 100644 
providers/common/ai/tests/unit/common/ai/utils/test_prompt.py
 create mode 100644 
providers/fab/tests/unit/fab/auth_manager/api_fastapi/datamodels/test_login.py
 create mode 100644 
providers/google/tests/unit/google/cloud/utils/test_bigquery.py
 create mode 100644 
providers/google/tests/unit/google/cloud/utils/test_bigquery_get_data.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_authoring_controls_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_conf_controls_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_conf_locked_controls_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_dag_events_trigger_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_exclude_datasets_authoring_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_exclude_datasets_conf_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_exclude_datasets_global_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_exclude_datasets_sources_dag.py
 create mode 100644 
providers/openlineage/tests/system/openlineage/example_openlineage_policy_exclude_datasets_versioned_dag.py
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_defer_simple_dag.json
 => openlineage_defer_simple_dag__af2.json} (58%)
 copy 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_defer_simple_dag.json
 => openlineage_defer_simple_dag__af3.json} (62%)
 rename 
providers/openlineage/tests/system/openlineage/expected_events/{openlineage_defer_simple_dag.json
 => openlineage_defer_simple_dag__af3_2_2_plus.json} (58%)
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_authoring_controls_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_conf_controls_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_conf_locked_controls_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_dag_events_trigger_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_exclude_datasets_authoring_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_exclude_datasets_conf_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_exclude_datasets_global_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_exclude_datasets_sources_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_exclude_datasets_versioned_dag.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_exclude_datasets_versioned_dag__af3_1_plus.json
 create mode 100644 
providers/openlineage/tests/system/openlineage/expected_events/openlineage_policy_exclude_datasets_versioned_dag__af3_2_plus.json
 create mode 100755 scripts/ci/configure_runner_for_parallel_tests.sh
 rename scripts/ci/{prek/check_go_sdk_serialization_conformance.py => 
lang_sdk_serialization/check_go_sdk.py} (96%)
 rename java-sdk/scripts/ci/prek/check_serialization_conformance.py => 
scripts/ci/lang_sdk_serialization/check_java_sdk.py (94%)
 rename ts-sdk/scripts/ci/prek/check_serialization_conformance.py => 
scripts/ci/lang_sdk_serialization/check_ts_sdk.py (92%)
 create mode 100755 scripts/ci/prek/check_prek_parallel_hooks.py
 rename scripts/tests/ci/{prek/test_check_go_sdk_serialization_conformance.py 
=> lang_sdk_serialization/test_check_go_sdk.py} (94%)
 create mode 100644 scripts/tests/ci/prek/test_check_prek_parallel_hooks.py

Reply via email to