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

potiuk pushed a change to branch run-scripts-from-current-version
in repository https://gitbox.apache.org/repos/asf/airflow.git


 discard f53e24e4b8d Publish docs to s3 uses current version of 
workflows/scripts
     add 70866cf4dbd Change FAB asset compilation from yarn to pnpm (#61958)
     add 32e414d9c10 Support Python 3.13 in apache beam provider (#61978)
     add d07aec28c90 Switch Cloud Run operators to use regional endpoints 
(#61857)
     add 63ea296047d Use the regular OTel environment variables for configuring 
traces and metrics (#56150)
     add 7829000cad8 Override `tar` dependency in Simple auth manager (#62053)
     add ae8cdf76eb5 Add support for multi-team in Simple auth manager (#61861)
     add 9880716dc07 Fix scheduler heartbeat misses caused by slow reschedule 
dependency check (#61983)
     add 8064eb91d02 Add temporal for partition_mappers (#61522)
     add b3ffaaf67c2 Extend PartitionedAssetTimetable to allow per asset 
partition (#60966)
     add 1835b69f7fd feat: Add Hook Level Lineage to SQL hooks (#61535)
     add b4ff259c650 Migrate connection UI metadata to YAML for some providers 
(#62011)
     add 0ae12a1560c Correct compat shim routing for XCom models and introduce 
deprecation warning (#62067)
     add fb2ea69165c Make provider dependency comment matching more flexible 
(#62074)
     add aa8f9c40f14 Databricks OIDC token federation for Kubernetes deployment 
(#61458)
     add d5ca4b0f4ba Feature/enable dynamic build of fab UI assets (#61959)
     add dc1baec36d9 feat: Make Hook Level Lineage limits configurable (#62010)
     add d39aca4a32d Add segmented state bar for collapsed task groups and 
mapped tasks (#61854)
     add e9b05f9f649 Handle CrawlerRunningException gracefully in 
GlueCrawlerOperator (#62016)
     add a2042149bfa Replace `apache-beam` with 
`apache-airflow-providers-apache-beam` (#62071)
     add a6e24198b34 Fix typo in config key: missing_dag_retires -> 
missing_dag_retries (#62087)
     add 31c030a82c5 Bump @hey-api/openapi-ts (#62080)
     add f4f8853888f Fix `DepContext` mutation leak and restore 
`reschedule-mode` guard (#62089)
     add 78dccfdbceb fix(amazon): flush file buffer in S3Hook.download_file() 
before returning path (#62078)
     add 7f0fbd67e6f Remove docs mentioning old, unsupported hybrid executors 
(#62093)
     add f4d602ffbc1 Make backport responsibility clearer v2 (#62092)
     add 370c1dc2796 Helm chart 1.19.0 released (#62091)
     add 1dbbac39c20 Update Helm chart release guide (#62095)
     add eb968372fcb Allow to use short SPDX licence identifier for selected 
files (#62073)
     add 66b54f8cf51 Remove `UV_HTTP_TIMEOUT` (#62029)
     add 086f4d827a8 Updated test_file_task_handler_when_ti_value_is_invalid 
and test_file_task_handler to use structlog-based logging. (#61354)
     add 55840375594 Return list of GCS URIs from 
FacebookAdsReportToGcsOperator (#61349)
     add 159f9ce5df2 Route providers to consume Stats from common compat 
provider (#61812)
     add 8d8048c1699 Add missing ti.start and ti.finish metrics in Airflow 3 
(#62019)
     add 5af913ddc3c Do not dilute task failures with finalization errors 
during execution (#62070)
     add 7c01e0b3f7a Add data-testid attributes to UI components (#61874)
     add 0d3a0349023 feat: Add Dag Edge Labels to OpenLineage event (#62018)
     add f1f778b7616 E2E tests for Dag Calendar Tab (#61977)
     add c7627afbb13 Fix typo in pre-commit config for protobuf (#62115)
     add 9d7b2a1c19e Add readable dags checks for the dependencies endpoint 
(#62046)
     add b0355f996a2 [DOCS] Extension on System Tests, documenting dag.test() 
(#59390)
     add bcfcebca9d7 docs: mention HTTP/2 in API/UI performance guide (#62038)
     add b2a806fea87 Add multi-team section in simple auth manager 
documentation (#62077)
     add 4ed9873db7e Keycloak auth manager: enforce team‑scoped authorization 
(AIP‑67) (#61351)
     add 4c828052cd6 fix: format zero durations as under one second (#62123)
     add 060532bddbc Fix grid view crash when task converted to TaskGroup 
(#61208) (#61279)
     add 05eda5643d3 perf: optimize grid view refresh pressure on the API 
(#62085)
     add edd97b440f3 Use start_date and end_date to calculate duration when 
duration is null for running taskinstance (#61898)
     add ce9584e5617 fix(ui): show active backfill in banner instead of first 
one (#61851)
     add 05c3386ef4f Fixed Variable Page tests (#62133)
     add 4990e07b95a Add Filtering to Edge UI Plugin Jobs Page (#61934)
     add 0a307cce79a Fix webserver.defaultUser.enabled=false not honored 
(#62143)
     add f055d7d615c Bump the edge-ui-package-updates group across 1 directory 
with 11 updates (#62040)
     add 32d242f18ac Add display_filename parameter to SlackAPIFileOperator 
(#62112)
     add 446b6ae6359 Add SageMaker Unified Studio domain_id, project_id, 
domain_region as new parameters to SageMakerNotebookOperator (#62147)
     add 4404bc05b3e Add missing conn-fields for providers migrated to yaml 
(#62116)
     add fcb2eb64704 Introduce EdgeDBManager: Independent Provider Specific 
Database Schema Management (#61155)
     add 13fd146bf27 [Part 2] Migrate connection UI metadata to YAML for more 
providers (#62109)
     add bdf8977d07d feat(i18n): Complete Hindi (hi) translations to 100% 
coverage (#62130)
     add 10cd08dff89 Use contextlib.suppress({exception}) instead of 
try-except-pass (#62156)
     add 84c2f7bac15 Bump react and react-dom version (#61649)
     add e8c261fb606 Fix SPDX licence to move URL to separate line (#62145)
     add b5e546d36dc add SKILL.md and zh-CN agent skill instruction (#62059)
     add 76abfd5ee22 modified command in breeze readme (#62173)
     add 29a0a99b58d [Part 3] Migrate connection UI metadata to YAML for more 
providers (#62165)
     add 2ada89f8c70 fix(providers/fab): restore OAuth callback route exposure 
(#62151)
     add d2377a9bed1 fix(ui): only apply elk.portConstraints for LR orientation 
in graph view (#62144)
     add 73a9bc56239 fix spdx license for SKILL.md and zh-CN.md (#62185)
     add 61e5e8992ad Keycloak CLI: provision multi‑team resources for auth 
manager (AIP‑67) (#61256)
     add 99ae6d79cc2 fix: fab deserialize issue (#62153)
     add 29358761fe6 AwsLambdaExecutor: Support multi-team configuration 
(#61321)
     add 16ee44cdc5b General documentation for Multi-Team Airflow (#62102)
     add b27f874e693 Close German Translation Gaps 2026-02-17 (#62101)
     add 4c2cb7caa8c CI: Upgrade important CI environment (#62191)
     add ad29cc5520c Cap qdrant_client (#62193)
     add e9fc6bccbed Add `lifecycle` field to provider.yaml schema and all 
providers per AIP-95 (#62190)
     add a35ab8b8daa Support for client-side certificates using task-sdk 
(#62105)
     add 0d294caab3d Refactor imports from 'airflow-core' out of 'shared/stats' 
(#62127)
     add 9d678164f89 Update README link in PYTEST_FUNCTION comment to point to 
the correct documentation (#62197)
     add f132c8a8b91 [main] Upgrade important CI environment (#62200)
     add aeec6818178 fix the write-to-es feature for Airflow 3 (#53821)
     add 9a222357bee Get rid of airflow-core related imports in shared 
observability tests (#62208)
     add acf7818ef27 Providers ad-hoc 2026-02-20 (#62209)
     add 66cd0894563 Add note support to TriggerDagRunOperator (#60810)
     add b1a3d3bc209 Unify grid and graph view tooltips with dates, duration, 
and child states (#62119)
     add 01318970138 Add allowed_run_types to whitelist specific dag run types 
(#61833)
     new 4cc6e0e1bb3 Publish docs to s3 uses current version of 
workflows/scripts

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   (f53e24e4b8d)
            \
             N -- N -- N   refs/heads/run-scripts-from-current-version 
(4cc6e0e1bb3)

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.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitattributes                                     |    8 +-
 .../4-airflow_helmchart_bug_report.yml             |    3 +-
 .github/PULL_REQUEST_TEMPLATE.md                   |    3 +
 .github/SECURITY.md                                |   20 +-
 .github/actions/breeze/action.yml                  |    2 +-
 .github/actions/install-prek/action.yml            |    4 +-
 .github/skills/airflow-translations/SKILL.md       |  165 +
 .../skills/airflow-translations/locales/zh-CN.md   |  125 +
 .github/workflows/basic-tests.yml                  |    2 +-
 .github/workflows/prod-image-build.yml             |    7 +
 .github/workflows/publish-docs-to-s3.yml           |    2 +-
 .github/workflows/release_dockerhub_image.yml      |    2 +-
 .pre-commit-config.yaml                            |   68 +-
 AGENTS.md                                          |   20 +-
 Dockerfile                                         |   31 +-
 Dockerfile.ci                                      |   32 +-
 .../logging-monitoring/metrics.rst                 |   16 +-
 .../logging-monitoring/traces.rst                  |   14 +-
 .../production-deployment.rst                      |    6 -
 airflow-core/docs/best-practices.rst               |    2 +-
 .../core-concepts/auth-manager/simple/index.rst    |   36 +
 airflow-core/docs/core-concepts/dags.rst           |   39 +
 airflow-core/docs/core-concepts/index.rst          |    1 +
 airflow-core/docs/core-concepts/multi-team.rst     |  376 +
 airflow-core/docs/extra-packages-ref.rst           |    4 +-
 airflow-core/docs/howto/performance.rst            |   34 +
 airflow-core/docs/img/airflow_erd.sha256           |    2 +-
 airflow-core/docs/img/airflow_erd.svg              | 3254 +++----
 airflow-core/docs/img/multi_team_arch_diagram.png  |  Bin 0 -> 82565 bytes
 airflow-core/docs/migrations-ref.rst               |   12 +-
 airflow-core/src/airflow/api/common/trigger_dag.py |    7 +
 .../auth/managers/simple/services/login.py         |    5 +-
 .../auth/managers/simple/simple_auth_manager.py    |   60 +-
 .../auth/managers/simple/ui/package-lock.json      |   59 +-
 .../auth/managers/simple/ui/package.json           |    7 +-
 .../auth/managers/simple/ui/pnpm-lock.yaml         |  156 +-
 .../api_fastapi/auth/managers/simple/user.py       |   13 +-
 .../api_fastapi/core_api/datamodels/dags.py        |    2 +
 .../api_fastapi/core_api/openapi/_private_ui.yaml  |    8 +
 .../core_api/openapi/v2-rest-api-generated.yaml    |   28 +
 .../api_fastapi/core_api/routes/public/assets.py   |   11 +-
 .../core_api/routes/public/backfills.py            |   11 +-
 .../api_fastapi/core_api/routes/public/dag_run.py  |    6 +
 .../api_fastapi/core_api/routes/ui/dependencies.py |    7 +-
 .../airflow/api_fastapi/core_api/routes/ui/grid.py |    6 +-
 .../src/airflow/api_fastapi/core_api/security.py   |    7 +-
 .../core_api/services/ui/dependencies.py           |   17 +-
 .../api_fastapi/core_api/services/ui/grid.py       |   16 +-
 .../api_fastapi/execution_api/datamodels/dagrun.py |    1 +
 .../execution_api/datamodels/taskinstance.py       |   35 +
 .../api_fastapi/execution_api/routes/dag_runs.py   |   16 +-
 .../api_fastapi/execution_api/versions/__init__.py |    3 +-
 .../execution_api/versions/v2026_03_31.py          |   20 +-
 airflow-core/src/airflow/assets/manager.py         |   12 +-
 .../src/airflow/cli/commands/dag_command.py        |    1 +
 .../src/airflow/config_templates/config.yml        |  150 +-
 .../src/airflow/dag_processing/collection.py       |    6 +
 airflow-core/src/airflow/dag_processing/manager.py |    8 +-
 airflow-core/src/airflow/exceptions.py             |    4 +
 .../src/airflow/executors/base_executor.py         |    8 +-
 .../src/airflow/jobs/scheduler_job_runner.py       |   18 +-
 .../src/airflow/jobs/triggerer_job_runner.py       |    8 +-
 ...86_3_1_8_add_index_to_task_reschedule_ti_id.py} |   38 +-
 ..._2_0_replace_asset_trigger_table_with_asset.py} |    4 +-
 ..._change_serialized_dag_data_column_to_jsonb.py} |    0
 ..._2_0_add_length_dag_bundle_team_bundle_name.py} |    0
 ..._3_2_0_add_human_in_the_loop_detail_history.py} |    0
 ...py => 0091_3_2_0_add_fail_fast_to_dag_table.py} |    0
 ...py => 0092_3_2_0_restructure_callback_table.py} |    0
 ..._replace_deadline_inline_callback_with_fkey.py} |    0
 ...=> 0094_3_2_0_update_orm_asset_partitioning.py} |    0
 ...ove_team_id.py => 0095_3_2_0_remove_team_id.py} |    0
 ...enforce_log_event_and_dag_is_stale_not_null.py} |    0
 ...y => 0097_3_2_0_add_queue_column_to_trigger.py} |    0
 ..._2_0_add_exceeds_max_runs_flag_to_dag_model.py} |    0
 ..._3_2_0_add_timetable_type_to_dag_table_for_.py} |    0
 ...=> 0100_3_2_0_ui_improvements_for_deadlines.py} |    0
 .../0101_3_2_0_make_external_executor_id_text.py   |    4 +-
 ... => 0104_3_2_0_add_allowed_run_types_to_dag.py} |   20 +-
 airflow-core/src/airflow/models/backfill.py        |   16 +-
 airflow-core/src/airflow/models/dag.py             |    1 +
 airflow-core/src/airflow/models/dagrun.py          |    2 +
 airflow-core/src/airflow/models/taskinstance.py    |   15 +-
 airflow-core/src/airflow/models/taskreschedule.py  |    2 +-
 airflow-core/src/airflow/models/xcom.py            |   17 +-
 .../airflow/observability/metrics/otel_logger.py   |   27 +-
 .../metrics/stats_utils.py}                        |   28 +-
 .../airflow/observability/traces/otel_tracer.py    |   17 +-
 .../__init__.py                                    |    0
 .../base.py                                        |    0
 .../identity.py                                    |    3 +-
 .../src/airflow/partition_mappers/temporal.py      |  144 +
 airflow-core/src/airflow/plugins_manager.py        |    2 +-
 airflow-core/src/airflow/provider.yaml.schema.json |   11 +
 airflow-core/src/airflow/serialization/decoders.py |    2 +-
 .../airflow/serialization/definitions/assets.py    |    4 +
 .../src/airflow/serialization/definitions/dag.py   |    6 +
 airflow-core/src/airflow/serialization/encoders.py |   64 +-
 airflow-core/src/airflow/serialization/helpers.py  |    8 +-
 airflow-core/src/airflow/serialization/schema.json |    6 +
 .../airflow/serialization/serialized_objects.py    |   15 +
 .../airflow/ti_deps/deps/ready_to_reschedule.py    |    8 +
 airflow-core/src/airflow/timetables/simple.py      |   85 +-
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts |   48 +-
 .../ui/openapi-gen/requests/services.gen.ts        |    2 +
 .../airflow/ui/openapi-gen/requests/types.gen.ts   |   11 +
 airflow-core/src/airflow/ui/package.json           |    6 +-
 airflow-core/src/airflow/ui/pnpm-lock.yaml         |  350 +-
 .../airflow/ui/public/i18n/locales/de/admin.json   |   17 +
 .../airflow/ui/public/i18n/locales/de/common.json  |    2 +
 .../ui/public/i18n/locales/en/components.json      |    1 +
 .../airflow/ui/public/i18n/locales/hi/admin.json   |   26 +-
 .../airflow/ui/public/i18n/locales/hi/assets.json  |   10 +-
 .../airflow/ui/public/i18n/locales/hi/browse.json  |   26 +-
 .../airflow/ui/public/i18n/locales/hi/common.json  |   46 +-
 .../ui/public/i18n/locales/hi/components.json      |   30 +
 .../src/airflow/ui/public/i18n/locales/hi/dag.json |   66 +-
 .../airflow/ui/public/i18n/locales/hi/dags.json    |    5 +
 .../ui/public/i18n/locales/hi/dashboard.json       |    3 +-
 .../airflow/ui/public/i18n/locales/hi/hitl.json    |   14 +
 .../airflow/ui/public/i18n/locales/hi/tasks.json   |   10 +
 .../ui/src/components/Banner/BackfillBanner.tsx    |    3 +-
 .../ui/src/components/ConfirmationModal.tsx        |    9 +-
 .../src/airflow/ui/src/components/DeleteDialog.tsx |   18 +-
 .../components/Graph/SegmentedStateBar.test.tsx    |   81 +
 .../SegmentedStateBar.tsx}                         |   48 +-
 .../airflow/ui/src/components/Graph/TaskNode.tsx   |   15 +-
 .../ui/src/components/Graph/reactflowUtils.ts      |    1 +
 .../ui/src/components/Graph/useGraphLayout.ts      |    8 +-
 .../ui/src/components/TaskInstanceTooltip.test.tsx |  144 +
 .../ui/src/components/TaskInstanceTooltip.tsx      |  111 +-
 .../src/airflow/ui/src/components/TeamSelector.tsx |    1 +
 .../src/airflow/ui/src/components/Time.tsx         |    1 +
 .../src/airflow/ui/src/components/TogglePause.tsx  |    1 +
 .../airflow/ui/src/components/TrendCountButton.tsx |    1 +
 .../airflow/ui/src/components/TrendCountChart.tsx  |    2 +-
 .../src/components/TriggerDag/TriggerDAGButton.tsx |   39 +-
 .../airflow/ui/src/components/TruncatedText.tsx    |    1 +
 .../src/airflow/ui/src/components/WarningAlert.tsx |    2 +-
 .../src/airflow/ui/src/layouts/BaseLayout.tsx      |    1 +
 .../ui/src/layouts/Details/DetailsLayout.tsx       |    1 +
 .../airflow/ui/src/layouts/Details/Grid/GridTI.tsx |   84 +-
 .../layouts/Details/Grid/TaskInstancesColumn.tsx   |    9 +-
 .../src/airflow/ui/src/layouts/Nav/Nav.tsx         |    5 +-
 .../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx |    8 +-
 .../ui/src/pages/Dag/Calendar/CalendarCell.tsx     |    6 +
 .../ui/src/pages/Dag/Calendar/CalendarTooltip.tsx  |    4 +-
 .../src/pages/Dag/Calendar/HourlyCalendarView.tsx  |    4 +-
 .../airflow/ui/src/pages/DagsList/DagCard.test.tsx |    1 +
 .../src/airflow/ui/src/pages/DagsList/DagCard.tsx  |    1 +
 .../src/airflow/ui/src/pages/DagsList/DagsList.tsx |    1 +
 .../airflow/ui/src/pages/TaskInstance/Header.tsx   |   11 +-
 .../airflow/ui/src/queries/useGridTISummaries.ts   |    9 +-
 .../src/airflow/ui/src/utils/datetimeUtils.test.ts |    7 +
 .../src/airflow/ui/src/utils/datetimeUtils.ts      |   14 +-
 airflow-core/src/airflow/ui/src/utils/index.ts     |    1 +
 .../src/airflow/ui/src/utils/stateUtils.test.ts    |   97 +
 .../src/airflow/ui/src/utils/stateUtils.ts         |   64 +
 .../airflow/ui/tests/e2e/pages/DagCalendarTab.ts   |  127 +
 .../ui/tests/e2e/specs/dag-calendar-tab.spec.ts    |  158 +
 .../airflow/ui/tests/e2e/specs/variable.spec.ts    |    6 +-
 airflow-core/src/airflow/utils/db.py               |    3 +-
 airflow-core/tests/integration/otel/test_otel.py   |   13 +-
 .../tests/unit/api/common/test_trigger_dag.py      |   63 +
 .../auth/managers/simple/services/test_login.py    |   32 +-
 .../managers/simple/test_simple_auth_manager.py    |   85 +-
 .../api_fastapi/auth/managers/simple/test_user.py  |    3 -
 airflow-core/tests/unit/api_fastapi/conftest.py    |    4 +-
 .../core_api/routes/public/test_assets.py          |   21 +-
 .../core_api/routes/public/test_backfills.py       |   28 +
 .../core_api/routes/public/test_dag_run.py         |   19 +
 .../core_api/routes/public/test_dags.py            |    3 +
 .../core_api/routes/ui/test_dependencies.py        |   73 +-
 .../api_fastapi/core_api/routes/ui/test_grid.py    |   99 +-
 .../api_fastapi/core_api/routes/ui/test_teams.py   |    8 +-
 .../api_fastapi/core_api/services/ui/test_grid.py  |   66 +
 .../execution_api/versions/head/test_dag_runs.py   |   28 +
 .../versions/head/test_task_instances.py           |    1 +
 .../tests/unit/dag_processing/test_manager.py      |    4 +-
 airflow-core/tests/unit/jobs/test_scheduler_job.py |   28 +-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |    4 +-
 airflow-core/tests/unit/models/test_dag.py         |   16 +
 airflow-core/tests/unit/models/test_dagrun.py      |    1 +
 .../tests/unit/models/test_taskinstance.py         |   27 +-
 .../unit/observability/metrics}/__init__.py        |    0
 .../tests/unit/observability/metrics/test_stats.py |   97 +
 .../unit/observability/traces/test_otel_tracer.py  |  307 +-
 .../unit/partition_mappers}/__init__.py            |    0
 .../unit/partition_mappers/test_identity.py}       |   18 +-
 .../tests/unit/partition_mappers/test_temporal.py  |   83 +
 .../unit/serialization/test_dag_serialization.py   |   46 +
 .../unit/serialization/test_serialized_objects.py  |   92 +-
 .../ti_deps/deps/test_ready_to_reschedule_dep.py   |    8 +
 .../unit/timetables/test_partitioned_timetable.py  |  181 +
 airflow-core/tests/unit/utils/test_log_handlers.py |   32 +-
 .../src/airflowctl/api/datamodels/generated.py     |    2 +
 chart/Chart.yaml                                   |    4 +-
 chart/dockerfiles/pgbouncer-exporter/Dockerfile    |   27 +-
 chart/templates/NOTES.txt                          |   10 +-
 chart/templates/_helpers.yaml                      |   13 +
 chart/templates/jobs/create-user-job.yaml          |    2 +-
 .../security-context-constraint-rolebinding.yaml   |    2 +-
 contributing-docs/testing/system_tests.rst         |  100 +-
 dev/README_RELEASE_HELM_CHART.md                   |   33 +-
 dev/backport/update_backport_status.py             |   39 +-
 dev/breeze/README.md                               |    2 +-
 dev/breeze/doc/09_release_management_tasks.rst     |    3 +-
 dev/breeze/doc/ci/02_images.md                     |    4 +-
 dev/breeze/doc/images/output-commands.svg          |   94 +-
 dev/breeze/doc/images/output_ci-image_build.svg    |   84 +-
 dev/breeze/doc/images/output_ci-image_build.txt    |    2 +-
 dev/breeze/doc/images/output_prod-image_build.svg  |  134 +-
 dev/breeze/doc/images/output_prod-image_build.txt  |    2 +-
 dev/breeze/doc/images/output_run.svg               |   50 +-
 dev/breeze/doc/images/output_run.txt               |    2 +-
 dev/breeze/doc/images/output_shell.svg             |  198 +-
 dev/breeze/doc/images/output_shell.txt             |    2 +-
 dev/breeze/doc/images/output_start-airflow.svg     |  156 +-
 dev/breeze/doc/images/output_start-airflow.txt     |    2 +-
 dev/breeze/pyproject.toml                          |    2 +-
 .../airflow_breeze/commands/ci_image_commands.py   |    4 -
 .../commands/ci_image_commands_config.py           |    1 -
 .../src/airflow_breeze/commands/common_options.py  |    8 +-
 .../airflow_breeze/commands/developer_commands.py  |   21 +-
 .../commands/developer_commands_config.py          |    4 -
 .../src/airflow_breeze/commands/main_command.py    |    2 -
 .../commands/production_image_commands.py          |    4 -
 .../commands/production_image_commands_config.py   |    1 -
 .../commands/release_management_commands.py        |    8 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |    5 +-
 .../src/airflow_breeze/params/build_ci_params.py   |    4 -
 .../src/airflow_breeze/params/build_prod_params.py |    4 -
 .../airflow_breeze/params/common_build_params.py   |    2 -
 .../src/airflow_breeze/params/shell_params.py      |    2 -
 dev/breeze/src/airflow_breeze/utils/packages.py    |    8 +-
 dev/breeze/src/airflow_breeze/utils/path_utils.py  |    6 +
 dev/breeze/src/airflow_breeze/utils/run_utils.py   |    6 +
 .../src/airflow_breeze/utils/selective_checks.py   |    2 +-
 dev/breeze/src/airflow_breeze/utils/uv_utils.py    |   43 -
 .../tests/test_pytest_args_for_test_types.py       |    1 +
 dev/breeze/tests/test_selective_checks.py          |    2 +-
 dev/breeze/uv.lock                                 |  181 +-
 devel-common/pyproject.toml                        |    2 +-
 .../src/tests_common/test_utils/otel_utils.py      |    4 +-
 docker-stack-docs/build-arg-ref.rst                |    2 -
 .../extending/add-airflow-configuration/Dockerfile |   26 +-
 .../extending/add-apt-packages/Dockerfile          |   26 +-
 .../add-build-essential-extend/Dockerfile          |   26 +-
 .../extending/add-providers/Dockerfile             |   26 +-
 .../add-pypi-packages-constraints/Dockerfile       |   26 +-
 .../extending/add-pypi-packages-uv/Dockerfile      |   26 +-
 .../extending/add-pypi-packages/Dockerfile         |   26 +-
 .../extending/add-requirement-packages/Dockerfile  |   26 +-
 .../extending/custom-providers/Dockerfile          |   26 +-
 .../extending/embedding-dags/Dockerfile            |   26 +-
 .../extending/writable-directory/Dockerfile        |   26 +-
 .../docker-images-recipes/gcloud.Dockerfile        |   27 +-
 .../docker-images-recipes/go-beam.Dockerfile       |   27 +-
 .../docker-images-recipes/hadoop.Dockerfile        |   27 +-
 docs/spelling_wordlist.txt                         |    5 +
 go-sdk/.pre-commit-config.yaml                     |    2 +-
 .../helm_tests/airflow_aux/test_create_user_job.py |   63 +
 .../helm_tests/security/test_scc_rolebinding.py    |   29 +
 providers/.last_release_date.txt                   |    2 +-
 providers/airbyte/provider.yaml                    |    1 +
 providers/alibaba/provider.yaml                    |    1 +
 providers/amazon/provider.yaml                     |   92 +
 providers/amazon/pyproject.toml                    |    2 +-
 .../aws/executors/aws_lambda/lambda_executor.py    |   35 +-
 .../airflow/providers/amazon/aws/hooks/athena.py   |    6 +
 .../providers/amazon/aws/hooks/redshift_data.py    |   14 +
 .../src/airflow/providers/amazon/aws/hooks/s3.py   |    1 +
 .../amazon/aws/hooks/sagemaker_unified_studio.py   |   44 +-
 .../providers/amazon/aws/operators/glue_crawler.py |   38 +-
 .../aws/operators/sagemaker_unified_studio.py      |   36 +-
 .../airflow/providers/amazon/get_provider_info.py  |   40 +-
 .../executors/aws_lambda/test_lambda_executor.py   |   87 +-
 .../tests/unit/amazon/aws/hooks/test_athena.py     |   15 +
 .../unit/amazon/aws/hooks/test_redshift_data.py    |   24 +
 .../unit/amazon/aws/hooks/test_redshift_sql.py     |   78 +
 .../amazon/tests/unit/amazon/aws/hooks/test_s3.py  |   12 +-
 .../aws/hooks/test_sagemaker_unified_studio.py     |   98 +-
 .../unit/amazon/aws/operators/test_glue_crawler.py |  111 +
 .../aws/operators/test_sagemaker_unified_studio.py |   76 +
 providers/apache/beam/docs/index.rst               |    6 +-
 providers/apache/beam/provider.yaml                |    4 +-
 providers/apache/beam/pyproject.toml               |   11 +-
 providers/apache/cassandra/provider.yaml           |    1 +
 providers/apache/drill/provider.yaml               |    1 +
 providers/apache/drill/pyproject.toml              |    2 +-
 .../tests/unit/apache/drill/hooks/test_drill.py    |   37 +
 providers/apache/druid/provider.yaml               |    1 +
 providers/apache/druid/pyproject.toml              |    2 +-
 .../tests/unit/apache/druid/hooks/test_druid.py    |   37 +
 providers/apache/flink/provider.yaml               |    1 +
 providers/apache/hdfs/provider.yaml                |    1 +
 providers/apache/hive/provider.yaml                |    1 +
 providers/apache/hive/pyproject.toml               |    2 +-
 .../airflow/providers/apache/hive/hooks/hive.py    |    4 +
 .../hive/tests/unit/apache/hive/hooks/test_hive.py |   41 +
 providers/apache/iceberg/provider.yaml             |    1 +
 providers/apache/impala/provider.yaml              |    1 +
 providers/apache/impala/pyproject.toml             |    2 +-
 .../tests/unit/apache/impala/hooks/test_impala.py  |   54 +
 providers/apache/kafka/provider.yaml               |    1 +
 providers/apache/kylin/provider.yaml               |    1 +
 providers/apache/livy/provider.yaml                |    1 +
 providers/apache/pig/provider.yaml                 |    1 +
 providers/apache/pinot/provider.yaml               |    1 +
 providers/apache/pinot/pyproject.toml              |    2 +-
 .../airflow/providers/apache/pinot/hooks/pinot.py  |    3 +
 .../tests/unit/apache/pinot/hooks/test_pinot.py    |   69 +
 providers/apache/spark/provider.yaml               |    1 +
 providers/apache/tinkerpop/provider.yaml           |    1 +
 providers/apprise/provider.yaml                    |   22 +
 .../airflow/providers/apprise/get_provider_info.py |   11 +
 providers/arangodb/provider.yaml                   |    1 +
 providers/asana/provider.yaml                      |    1 +
 providers/atlassian/jira/provider.yaml             |    1 +
 providers/celery/provider.yaml                     |    1 +
 providers/cloudant/provider.yaml                   |    1 +
 providers/cncf/kubernetes/provider.yaml            |   65 +
 .../providers/cncf/kubernetes/get_provider_info.py |   29 +
 providers/cohere/provider.yaml                     |    1 +
 providers/common/ai/provider.yaml                  |    1 +
 providers/common/compat/provider.yaml              |    1 +
 .../src/airflow/providers/common/compat/sdk.py     |    2 +-
 providers/common/io/provider.yaml                  |    1 +
 providers/common/messaging/provider.yaml           |    1 +
 providers/common/sql/README.rst                    |    6 +-
 providers/common/sql/docs/changelog.rst            |   13 +
 providers/common/sql/docs/index.rst                |    6 +-
 providers/common/sql/provider.yaml                 |    5 +-
 providers/common/sql/pyproject.toml                |    6 +-
 .../src/airflow/providers/common/sql/__init__.py   |    2 +-
 .../providers/common/sql/get_provider_info.py      |    1 +
 .../airflow/providers/common/sql/hooks/handlers.py |    9 +
 .../providers/common/sql/hooks/handlers.pyi        |    1 +
 .../airflow/providers/common/sql/hooks/lineage.py  |  136 +
 .../common/sql/hooks/{handlers.pyi => lineage.pyi} |   36 +-
 .../src/airflow/providers/common/sql/hooks/sql.py  |   51 +-
 .../sql/tests/unit/common/sql/hooks/test_dbapi.py  |   55 +
 .../tests/unit/common/sql/hooks/test_lineage.py    |  201 +
 .../databricks/docs/connections/databricks.rst     |  306 +-
 providers/databricks/provider.yaml                 |    1 +
 providers/databricks/pyproject.toml                |    2 +-
 .../providers/databricks/hooks/databricks.py       |   13 +-
 .../providers/databricks/hooks/databricks_base.py  |  395 +-
 .../tests/unit/databricks/hooks/test_databricks.py |   27 +-
 .../unit/databricks/hooks/test_databricks_base.py  |  913 +-
 .../unit/databricks/hooks/test_databricks_sql.py   |   73 +
 providers/datadog/provider.yaml                    |   36 +
 .../airflow/providers/datadog/get_provider_info.py |   11 +
 providers/dbt/cloud/provider.yaml                  |    1 +
 providers/dingding/provider.yaml                   |    1 +
 providers/discord/provider.yaml                    |    8 +
 .../airflow/providers/discord/get_provider_info.py |    3 +
 providers/docker/provider.yaml                     |   23 +
 .../airflow/providers/docker/get_provider_info.py  |   13 +
 providers/edge3/.pre-commit-config.yaml            |   10 +
 providers/edge3/provider.yaml                      |    1 +
 providers/edge3/pyproject.toml                     |    2 +-
 .../src/airflow/providers/edge3}/alembic.ini       |    0
 .../providers/edge3/executors/edge_executor.py     |   59 +-
 .../airflow/providers/edge3/migrations}/README.md  |    2 +
 .../providers/edge3/migrations}/__init__.py        |    0
 .../src/airflow/providers/edge3}/migrations/env.py |    6 +-
 .../providers/edge3}/migrations/script.py.mako     |    2 +-
 .../versions/0001_3_0_0_create_edge_tables.py      |   89 +
 .../edge3/migrations/versions}/__init__.py         |    0
 .../edge3/src/airflow/providers/edge3/models/db.py |   88 +
 .../airflow/providers/edge3/models/edge_worker.py  |   11 +-
 .../plugins/www/openapi-gen/queries/common.ts      |    9 +-
 .../plugins/www/openapi-gen/queries/queries.ts     |    9 +-
 .../www/openapi-gen/requests/services.gen.ts       |   19 +-
 .../providers/edge3/plugins/www/package.json       |   28 +-
 .../providers/edge3/plugins/www/pnpm-lock.yaml     |  731 +-
 .../providers/edge3/plugins/www/src/constants.ts   |   17 +-
 .../edge3/plugins/www/src/pages/JobsPage.tsx       |  204 +-
 .../edge3/plugins/www/src/pages/WorkerPage.tsx     |   21 +-
 .../providers/edge3/worker_api/routes/jobs.py      |   17 +-
 .../providers/edge3/worker_api/routes/ui.py        |   21 +-
 .../providers/edge3/worker_api/routes/worker.py    |   15 +-
 .../edge3/worker_api/v2-edge-generated.yaml        |   63 +-
 providers/edge3/tests/conftest.py                  |   18 +
 .../edge3/tests/unit/edge3/cli/test_worker.py      |   11 +-
 .../edge3/tests/unit/edge3/migrations}/__init__.py |    0
 .../edge3/tests/unit/edge3/migrations/test_env.py  |   26 +-
 providers/edge3/tests/unit/edge3/models/test_db.py |  241 +
 providers/elasticsearch/README.rst                 |    6 +-
 providers/elasticsearch/docs/changelog.rst         |   24 +
 providers/elasticsearch/docs/index.rst             |    8 +-
 providers/elasticsearch/provider.yaml              |    4 +-
 providers/elasticsearch/pyproject.toml             |    9 +-
 .../airflow/providers/elasticsearch/__init__.py    |    2 +-
 .../providers/elasticsearch/log/es_response.py     |   28 +
 .../providers/elasticsearch/log/es_task_handler.py |  537 +-
 .../providers/elasticsearch/version_compat.py      |    3 +-
 providers/elasticsearch/tests/conftest.py          |   14 +
 .../unit/elasticsearch/hooks/test_elasticsearch.py |   37 +
 .../log/elasticmock/fake_elasticsearch.py          |  131 +-
 .../unit/elasticsearch/log/test_es_task_handler.py |  251 +-
 providers/exasol/provider.yaml                     |    1 +
 providers/exasol/pyproject.toml                    |    2 +-
 .../src/airflow/providers/exasol/hooks/exasol.py   |   20 +
 .../exasol/tests/unit/exasol/hooks/test_exasol.py  |   59 +
 providers/{edge3 => fab}/.gitignore                |    0
 providers/fab/.pre-commit-config.yaml              |    3 +-
 providers/{edge3 => fab}/hatch_build.py            |   14 +-
 providers/fab/provider.yaml                        |    2 +
 providers/fab/pyproject.toml                       |   51 +-
 .../providers/fab/auth_manager/fab_auth_manager.py |    9 +-
 .../providers/fab/auth_manager/views/auth_oauth.py |    2 +
 .../airflow/providers/fab/www/package-lock.json    | 9337 --------------------
 .../fab/src/airflow/providers/fab/www/package.json |   10 +-
 .../src/airflow/providers/fab/www/pnpm-lock.yaml   | 6149 +++++++++++++
 .../airflow/providers/fab/www/static/.gitignore    |    1 +
 .../fab/www/static/dist/48f0ea180c40270a5b05.png   |    1 -
 .../fab/www/static/dist/649c0b07771e68fafdeb.png   |    1 -
 .../www/static/dist/743.8fb7d21632ed892227fe.js    |    2 -
 .../dist/743.8fb7d21632ed892227fe.js.LICENSE.txt   |   11 -
 .../airflowDefaultTheme.51e5d14856ee1ebc83ca.css   |   33 -
 .../airflowDefaultTheme.51e5d14856ee1ebc83ca.js    |    1 -
 .../fab/www/static/dist/f7490d556a6c42e49ba4.png   |    1 -
 .../www/static/dist/flash.865b6940c00b2a9041b3.css |   18 -
 .../www/static/dist/flash.865b6940c00b2a9041b3.js  |    1 -
 .../fab/www/static/dist/jquery-ui.min.css          |    5 -
 .../providers/fab/www/static/dist/jquery-ui.min.js |    2 -
 .../www/static/dist/jquery-ui.min.js.LICENSE.txt   |    4 -
 .../dist/loadingDots.07f5b9805847242736e1.css      |   18 -
 .../dist/loadingDots.07f5b9805847242736e1.js       |    1 -
 .../www/static/dist/main.8cffe40bcf7cca998f4e.css  |   18 -
 .../www/static/dist/main.8cffe40bcf7cca998f4e.js   |    2 -
 .../dist/main.8cffe40bcf7cca998f4e.js.LICENSE.txt  |   18 -
 .../providers/fab/www/static/dist/manifest.json    |   22 -
 .../dist/materialIcons.4fe84ae36604d84dec78.css    |   18 -
 .../dist/materialIcons.4fe84ae36604d84dec78.js     |    1 -
 .../www/static/dist/moment.0ec3ee3fb60dc999b1fd.js |    1 -
 .../fab/www/static/dist/oss-licenses.json          |   20 -
 .../static/dist/runtime.45b36fb8335446865b53.js    |    1 -
 .../unit/fab/auth_manager/test_fab_auth_manager.py |   62 +
 .../unit/fab/auth_manager/views/test_auth_oauth.py |    8 +
 providers/fab/www-hash.txt                         |    1 -
 providers/facebook/provider.yaml                   |    1 +
 providers/ftp/provider.yaml                        |    1 +
 providers/git/provider.yaml                        |   10 +
 .../src/airflow/providers/git/get_provider_info.py |   16 +-
 providers/github/provider.yaml                     |    1 +
 providers/google/docs/index.rst                    |    3 +-
 .../google/docs/operators/cloud/cloud_run.rst      |   21 +
 providers/google/provider.yaml                     |  144 +-
 providers/google/pyproject.toml                    |    9 +-
 .../providers/google/cloud/hooks/bigquery.py       |   50 +-
 .../providers/google/cloud/hooks/cloud_run.py      |  229 +-
 .../providers/google/cloud/hooks/spanner.py        |    6 +
 .../providers/google/cloud/operators/cloud_run.py  |   82 +-
 .../google/cloud/transfers/facebook_ads_to_gcs.py  |   40 +-
 .../providers/google/cloud/triggers/cloud_run.py   |   18 +-
 .../airflow/providers/google/get_provider_info.py  |  118 +-
 .../google/cloud/cloud_run/example_cloud_run.py    |   15 +-
 .../cloud/cloud_run/example_cloud_run_service.py   |   12 +-
 .../tests/unit/google/cloud/hooks/test_bigquery.py |  149 +
 .../unit/google/cloud/hooks/test_cloud_run.py      |  153 +-
 .../tests/unit/google/cloud/hooks/test_spanner.py  |   26 +
 .../unit/google/cloud/operators/test_cloud_run.py  |   55 +-
 .../cloud/transfers/test_facebook_ads_to_gcs.py    |   53 +-
 .../unit/google/cloud/triggers/test_cloud_run.py   |    9 +-
 providers/grpc/provider.yaml                       |   28 +
 .../airflow/providers/grpc/get_provider_info.py    |   18 +-
 providers/hashicorp/provider.yaml                  |  106 +
 .../providers/hashicorp/get_provider_info.py       |   26 +
 providers/http/provider.yaml                       |    1 +
 providers/imap/provider.yaml                       |    1 +
 providers/influxdb/provider.yaml                   |   23 +
 .../providers/influxdb/get_provider_info.py        |   15 +
 providers/informatica/provider.yaml                |    1 +
 providers/jdbc/provider.yaml                       |    1 +
 providers/jdbc/pyproject.toml                      |    4 +-
 providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py  |   55 +
 providers/jenkins/provider.yaml                    |    1 +
 .../docs/auth-manager/manage/permissions.rst       |   44 +-
 providers/keycloak/provider.yaml                   |    1 +
 .../keycloak/auth_manager/cli/commands.py          |  920 +-
 .../keycloak/auth_manager/keycloak_auth_manager.py |   62 +-
 .../airflow/providers/keycloak/cli/definition.py   |   23 +-
 .../keycloak/auth_manager/cli/test_commands.py     |  384 +-
 .../auth_manager/test_keycloak_auth_manager.py     |  246 +-
 .../tests/unit/keycloak/cli/test_definition.py     |    2 +-
 providers/microsoft/azure/provider.yaml            |  476 +
 .../providers/microsoft/azure/get_provider_info.py |  423 +
 providers/microsoft/mssql/provider.yaml            |    1 +
 providers/microsoft/mssql/pyproject.toml           |    2 +-
 .../tests/unit/microsoft/mssql/hooks/test_mssql.py |   83 +
 providers/microsoft/psrp/provider.yaml             |    1 +
 providers/microsoft/winrm/provider.yaml            |    1 +
 providers/mongo/provider.yaml                      |    1 +
 providers/mysql/provider.yaml                      |    1 +
 providers/mysql/pyproject.toml                     |    2 +-
 .../src/airflow/providers/mysql/hooks/mysql.py     |   27 +-
 .../mysql/tests/unit/mysql/hooks/test_mysql.py     |   89 +
 providers/neo4j/provider.yaml                      |    1 +
 providers/odbc/provider.yaml                       |    1 +
 providers/odbc/pyproject.toml                      |    2 +-
 providers/odbc/tests/unit/odbc/hooks/test_odbc.py  |   39 +
 providers/openai/provider.yaml                     |    1 +
 providers/openfaas/provider.yaml                   |    1 +
 providers/openlineage/provider.yaml                |    1 +
 providers/openlineage/pyproject.toml               |    2 +-
 .../providers/openlineage/plugins/adapter.py       |   11 +-
 .../airflow/providers/openlineage/utils/utils.py   |  118 +-
 .../tests/unit/openlineage/utils/test_utils.py     |  400 +-
 providers/opensearch/provider.yaml                 |    8 +
 .../providers/opensearch/get_provider_info.py      |    5 +
 providers/opsgenie/provider.yaml                   |    9 +
 .../providers/opsgenie/get_provider_info.py        |    4 +
 providers/oracle/provider.yaml                     |    1 +
 providers/oracle/pyproject.toml                    |    2 +-
 .../src/airflow/providers/oracle/hooks/oracle.py   |    9 +
 .../oracle/tests/unit/oracle/hooks/test_oracle.py  |   64 +
 providers/pagerduty/provider.yaml                  |   27 +
 .../providers/pagerduty/get_provider_info.py       |   14 +
 providers/papermill/provider.yaml                  |    1 +
 providers/pgvector/provider.yaml                   |    1 +
 providers/pgvector/pyproject.toml                  |    2 +-
 .../tests/unit/pgvector/hooks/test_pgvector.py     |   84 +-
 providers/pinecone/provider.yaml                   |    1 +
 providers/postgres/provider.yaml                   |    1 +
 providers/postgres/pyproject.toml                  |    2 +-
 .../airflow/providers/postgres/hooks/postgres.py   |   22 +-
 .../tests/unit/postgres/hooks/test_postgres.py     |   88 +
 providers/presto/provider.yaml                     |    1 +
 providers/presto/pyproject.toml                    |    2 +-
 .../presto/tests/unit/presto/hooks/test_presto.py  |   54 +
 providers/qdrant/docs/index.rst                    |    8 +-
 providers/qdrant/provider.yaml                     |    1 +
 providers/qdrant/pyproject.toml                    |    3 +-
 providers/redis/provider.yaml                      |    1 +
 providers/salesforce/provider.yaml                 |    1 +
 providers/samba/provider.yaml                      |    1 +
 providers/segment/provider.yaml                    |    1 +
 providers/sendgrid/provider.yaml                   |    1 +
 providers/sftp/provider.yaml                       |    7 +
 .../airflow/providers/sftp/get_provider_info.py    |   10 +-
 providers/singularity/provider.yaml                |    1 +
 providers/slack/provider.yaml                      |   66 +
 .../airflow/providers/slack/get_provider_info.py   |   55 +-
 .../src/airflow/providers/slack/operators/slack.py |   19 +-
 .../slack/tests/unit/slack/operators/test_slack.py |   50 +
 providers/smtp/provider.yaml                       |   89 +
 .../airflow/providers/smtp/get_provider_info.py    |   41 +
 providers/snowflake/provider.yaml                  |  112 +
 providers/snowflake/pyproject.toml                 |    2 +-
 .../providers/snowflake/get_provider_info.py       |   49 +
 .../airflow/providers/snowflake/hooks/snowflake.py |    6 +-
 .../providers/snowflake/hooks/snowflake_sql_api.py |   24 +
 .../unit/snowflake/hooks/test_snowflake_sql_api.py |   34 +
 providers/sqlite/provider.yaml                     |    1 +
 providers/sqlite/pyproject.toml                    |    2 +-
 .../sqlite/tests/unit/sqlite/hooks/test_sqlite.py  |   50 +
 providers/ssh/provider.yaml                        |    7 +
 .../src/airflow/providers/ssh/get_provider_info.py |   10 +-
 providers/standard/provider.yaml                   |   33 +
 .../providers/standard/get_provider_info.py        |   23 +
 .../providers/standard/operators/trigger_dagrun.py |   13 +-
 .../unit/standard/operators/test_trigger_dagrun.py |   14 +-
 providers/tableau/provider.yaml                    |    1 +
 providers/telegram/provider.yaml                   |    7 +
 .../providers/telegram/get_provider_info.py        |    1 +
 providers/teradata/provider.yaml                   |    1 +
 providers/teradata/pyproject.toml                  |    2 +-
 .../tests/unit/teradata/hooks/test_teradata.py     |   49 +
 providers/trino/provider.yaml                      |    1 +
 providers/trino/pyproject.toml                     |    2 +-
 .../trino/tests/unit/trino/hooks/test_trino.py     |   54 +
 providers/vertica/provider.yaml                    |    1 +
 providers/vertica/pyproject.toml                   |    2 +-
 .../tests/unit/vertica/hooks/test_vertica.py       |   77 +
 providers/weaviate/provider.yaml                   |    1 +
 providers/yandex/provider.yaml                     |    1 +
 providers/ydb/provider.yaml                        |    1 +
 providers/ydb/pyproject.toml                       |    2 +-
 providers/ydb/tests/unit/ydb/hooks/test_ydb.py     |  107 +
 providers/zendesk/provider.yaml                    |    1 +
 pyproject.toml                                     |    6 +-
 scripts/ci/docker-compose/integration-otel.yml     |   13 +-
 scripts/ci/license-templates/SHORT_LICENSE.md      |    2 +
 scripts/ci/license-templates/SHORT_LICENSE.rst     |    2 +
 scripts/ci/license-templates/SHORT_LICENSE.txt     |    2 +
 scripts/ci/prek/check_imports_in_providers.py      |    2 +-
 .../check_providers_subpackages_all_have_init.py   |    1 +
 scripts/ci/prek/check_revision_heads_map.py        |   12 +-
 scripts/ci/prek/check_system_tests.py              |    2 +-
 scripts/ci/prek/check_tests_in_right_folders.py    |    1 +
 scripts/ci/prek/compile_provider_assets.py         |   14 +-
 scripts/ci/prek/compile_ui_assets.py               |    2 +-
 scripts/ci/prek/ruff_format.py                     |    2 +-
 scripts/ci/prek/sync_translation_namespaces.py     |   49 +
 scripts/tools/generate_yaml_format_for_hooks.py    |   38 +-
 scripts/tools/setup_breeze                         |    2 +-
 .../src/airflow_shared/configuration/parser.py     |    1 +
 .../src/airflow_shared/observability/common.py     |  109 +
 .../observability/metrics/base_stats_logger.py     |   11 +-
 .../observability/metrics/otel_logger.py           |   39 +-
 .../airflow_shared/observability/metrics/stats.py  |   21 +-
 .../observability/otel_env_config.py               |  114 +
 .../observability/traces/otel_tracer.py            |   45 +-
 .../observability/metrics/test_otel_logger.py      |  103 +
 .../tests/observability/metrics/test_stats.py      |  408 +-
 .../src/airflow_shared/timezones/timezone.py       |    2 +-
 shared/timezones/tests/timezones/test_timezone.py  |    6 +
 task-sdk/docs/api.rst                              |   21 +-
 task-sdk/src/airflow/sdk/__init__.py               |   28 +-
 task-sdk/src/airflow/sdk/__init__.pyi              |   18 +-
 task-sdk/src/airflow/sdk/api/client.py             |   13 +-
 .../src/airflow/sdk/api/datamodels/_generated.py   |    2 +
 task-sdk/src/airflow/sdk/definitions/dag.py        |   44 +
 .../sdk/definitions/partition_mapper/__init__.py   |   16 -
 .../sdk/definitions/partition_mappers}/__init__.py |    0
 .../base.py                                        |    0
 .../identity.py                                    |    6 +-
 .../sdk/definitions/partition_mappers/temporal.py  |   67 +
 .../airflow/sdk/definitions/timetables/assets.py   |    6 +-
 task-sdk/src/airflow/sdk/exceptions.py             |    2 +
 .../src/airflow/sdk/execution_time/supervisor.py   |    6 +-
 .../src/airflow/sdk/execution_time/task_runner.py  |   32 +-
 task-sdk/src/airflow/sdk/lineage.py                |    5 +-
 .../sdk/observability/metrics/otel_logger.py       |   29 +-
 .../sdk/observability/metrics/stats_utils.py       |   28 +-
 .../sdk/observability/metrics/statsd_logger.py     |    2 +-
 task-sdk/src/airflow/sdk/observability/stats.py    |    3 +-
 .../sdk/observability/traces/otel_tracer.py        |   17 +-
 task-sdk/src/airflow/sdk/serde/__init__.py         |    8 +-
 task-sdk/tests/task_sdk/api/test_client.py         |   27 +
 task-sdk/tests/task_sdk/definitions/test_dag.py    |   93 +
 .../task_sdk/execution_time/test_supervisor.py     |   23 +-
 .../task_sdk/execution_time/test_task_runner.py    |  137 +-
 task-sdk/tests/task_sdk/test_lineage.py            |   78 +-
 637 files changed, 26172 insertions(+), 14753 deletions(-)
 create mode 100644 .github/skills/airflow-translations/SKILL.md
 create mode 100644 .github/skills/airflow-translations/locales/zh-CN.md
 create mode 100644 airflow-core/docs/core-concepts/multi-team.rst
 create mode 100644 airflow-core/docs/img/multi_team_arch_diagram.png
 rename 
airflow-core/src/airflow/migrations/versions/{0100_3_2_0_add_index_to_task_reschedule_ti_id.py
 => 0086_3_1_8_add_index_to_task_reschedule_ti_id.py} (51%)
 rename 
airflow-core/src/airflow/migrations/versions/{0086_3_2_0_replace_asset_trigger_table_with_asset.py
 => 0087_3_2_0_replace_asset_trigger_table_with_asset.py} (98%)
 rename 
airflow-core/src/airflow/migrations/versions/{0087_3_2_0_change_serialized_dag_data_column_to_jsonb.py
 => 0088_3_2_0_change_serialized_dag_data_column_to_jsonb.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0088_3_2_0_add_length_dag_bundle_team_bundle_name.py
 => 0089_3_2_0_add_length_dag_bundle_team_bundle_name.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0089_3_2_0_add_human_in_the_loop_detail_history.py
 => 0090_3_2_0_add_human_in_the_loop_detail_history.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0090_3_2_0_add_fail_fast_to_dag_table.py
 => 0091_3_2_0_add_fail_fast_to_dag_table.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0091_3_2_0_restructure_callback_table.py
 => 0092_3_2_0_restructure_callback_table.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0092_3_2_0_replace_deadline_inline_callback_with_fkey.py
 => 0093_3_2_0_replace_deadline_inline_callback_with_fkey.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0093_3_2_0_update_orm_asset_partitioning.py
 => 0094_3_2_0_update_orm_asset_partitioning.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0094_3_2_0_remove_team_id.py => 
0095_3_2_0_remove_team_id.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0095_3_2_0_enforce_log_event_and_dag_is_stale_not_null.py
 => 0096_3_2_0_enforce_log_event_and_dag_is_stale_not_null.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0096_3_2_0_add_queue_column_to_trigger.py
 => 0097_3_2_0_add_queue_column_to_trigger.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0097_3_2_0_add_exceeds_max_runs_flag_to_dag_model.py
 => 0098_3_2_0_add_exceeds_max_runs_flag_to_dag_model.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0098_3_2_0_add_timetable_type_to_dag_table_for_.py
 => 0099_3_2_0_add_timetable_type_to_dag_table_for_.py} (100%)
 rename 
airflow-core/src/airflow/migrations/versions/{0099_3_2_0_ui_improvements_for_deadlines.py
 => 0100_3_2_0_ui_improvements_for_deadlines.py} (100%)
 copy 
airflow-core/src/airflow/migrations/versions/{0062_3_0_0_remove_dag_default_view.py
 => 0104_3_2_0_add_allowed_run_types_to_dag.py} (71%)
 copy airflow-core/src/airflow/{api_fastapi/core_api/routes/public/monitor.py 
=> observability/metrics/stats_utils.py} (53%)
 rename airflow-core/src/airflow/{partition_mapper => 
partition_mappers}/__init__.py (100%)
 rename airflow-core/src/airflow/{partition_mapper => 
partition_mappers}/base.py (100%)
 rename airflow-core/src/airflow/{partition_mapper => 
partition_mappers}/identity.py (94%)
 create mode 100644 airflow-core/src/airflow/partition_mappers/temporal.py
 create mode 100644 
airflow-core/src/airflow/ui/public/i18n/locales/hi/tasks.json
 create mode 100644 
airflow-core/src/airflow/ui/src/components/Graph/SegmentedStateBar.test.tsx
 copy airflow-core/src/airflow/ui/src/components/{StateBadge.tsx => 
Graph/SegmentedStateBar.tsx} (51%)
 create mode 100644 
airflow-core/src/airflow/ui/src/components/TaskInstanceTooltip.test.tsx
 create mode 100644 airflow-core/src/airflow/ui/src/utils/stateUtils.test.ts
 create mode 100644 airflow-core/src/airflow/ui/src/utils/stateUtils.ts
 create mode 100644 
airflow-core/src/airflow/ui/tests/e2e/pages/DagCalendarTab.ts
 create mode 100644 
airflow-core/src/airflow/ui/tests/e2e/specs/dag-calendar-tab.spec.ts
 create mode 100644 airflow-core/tests/unit/api/common/test_trigger_dag.py
 copy airflow-core/{src/airflow/_shared => 
tests/unit/observability/metrics}/__init__.py (100%)
 create mode 100644 airflow-core/tests/unit/observability/metrics/test_stats.py
 copy airflow-core/{src/airflow/_shared => 
tests/unit/partition_mappers}/__init__.py (100%)
 copy airflow-core/{src/airflow/api_fastapi/core_api/datamodels/extra_links.py 
=> tests/unit/partition_mappers/test_identity.py} (67%)
 create mode 100644 airflow-core/tests/unit/partition_mappers/test_temporal.py
 create mode 100644 
airflow-core/tests/unit/timetables/test_partitioned_timetable.py
 delete mode 100644 dev/breeze/src/airflow_breeze/utils/uv_utils.py
 create mode 100644 
providers/common/sql/src/airflow/providers/common/sql/hooks/lineage.py
 copy providers/common/sql/src/airflow/providers/common/sql/hooks/{handlers.pyi 
=> lineage.pyi} (63%)
 create mode 100644 
providers/common/sql/tests/unit/common/sql/hooks/test_lineage.py
 copy providers/{fab/src/airflow/providers/fab => 
edge3/src/airflow/providers/edge3}/alembic.ini (100%)
 copy providers/{neo4j/src/airflow/providers/neo4j => 
edge3/src/airflow/providers/edge3/migrations}/README.md (93%)
 copy {airflow-core/src/airflow/_shared => 
providers/edge3/src/airflow/providers/edge3/migrations}/__init__.py (100%)
 copy providers/{fab/src/airflow/providers/fab => 
edge3/src/airflow/providers/edge3}/migrations/env.py (96%)
 copy providers/{fab/src/airflow/providers/fab => 
edge3/src/airflow/providers/edge3}/migrations/script.py.mako (98%)
 create mode 100644 
providers/edge3/src/airflow/providers/edge3/migrations/versions/0001_3_0_0_create_edge_tables.py
 copy {airflow-core/src/airflow/_shared => 
providers/edge3/src/airflow/providers/edge3/migrations/versions}/__init__.py 
(100%)
 create mode 100644 providers/edge3/src/airflow/providers/edge3/models/db.py
 copy {airflow-core/src/airflow/_shared => 
providers/edge3/tests/unit/edge3/migrations}/__init__.py (100%)
 copy airflow-core/src/airflow/api_fastapi/core_api/datamodels/dag_tags.py => 
providers/edge3/tests/unit/edge3/migrations/test_env.py (60%)
 create mode 100644 providers/edge3/tests/unit/edge3/models/test_db.py
 copy providers/{edge3 => fab}/.gitignore (100%)
 copy providers/{edge3 => fab}/hatch_build.py (86%)
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/package-lock.json
 create mode 100644 providers/fab/src/airflow/providers/fab/www/pnpm-lock.yaml
 create mode 100644 
providers/fab/src/airflow/providers/fab/www/static/.gitignore
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/48f0ea180c40270a5b05.png
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/649c0b07771e68fafdeb.png
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/743.8fb7d21632ed892227fe.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/743.8fb7d21632ed892227fe.js.LICENSE.txt
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.51e5d14856ee1ebc83ca.css
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/airflowDefaultTheme.51e5d14856ee1ebc83ca.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/f7490d556a6c42e49ba4.png
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/flash.865b6940c00b2a9041b3.css
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/flash.865b6940c00b2a9041b3.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.css
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/jquery-ui.min.js.LICENSE.txt
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/loadingDots.07f5b9805847242736e1.css
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/loadingDots.07f5b9805847242736e1.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/main.8cffe40bcf7cca998f4e.css
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/main.8cffe40bcf7cca998f4e.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/main.8cffe40bcf7cca998f4e.js.LICENSE.txt
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/manifest.json
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.4fe84ae36604d84dec78.css
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/materialIcons.4fe84ae36604d84dec78.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/moment.0ec3ee3fb60dc999b1fd.js
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/oss-licenses.json
 delete mode 100644 
providers/fab/src/airflow/providers/fab/www/static/dist/runtime.45b36fb8335446865b53.js
 delete mode 100644 providers/fab/www-hash.txt
 create mode 100644 scripts/ci/license-templates/SHORT_LICENSE.md
 create mode 100644 scripts/ci/license-templates/SHORT_LICENSE.rst
 create mode 100644 scripts/ci/license-templates/SHORT_LICENSE.txt
 create mode 100755 scripts/ci/prek/sync_translation_namespaces.py
 create mode 100644 
shared/observability/src/airflow_shared/observability/common.py
 create mode 100644 
shared/observability/src/airflow_shared/observability/otel_env_config.py
 delete mode 100644 
task-sdk/src/airflow/sdk/definitions/partition_mapper/__init__.py
 copy {airflow-core/src/airflow/_shared => 
task-sdk/src/airflow/sdk/definitions/partition_mappers}/__init__.py (100%)
 rename task-sdk/src/airflow/sdk/definitions/{partition_mapper => 
partition_mappers}/base.py (100%)
 rename task-sdk/src/airflow/sdk/definitions/{partition_mapper => 
partition_mappers}/identity.py (86%)
 create mode 100644 
task-sdk/src/airflow/sdk/definitions/partition_mappers/temporal.py
 copy airflow-core/src/airflow/api_fastapi/core_api/routes/public/monitor.py => 
task-sdk/src/airflow/sdk/observability/metrics/stats_utils.py (52%)

Reply via email to