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

ephraimanierobi pushed a change to branch v3-1-stable
in repository https://gitbox.apache.org/repos/asf/airflow.git


    from 289b888f4b7 [v3-1-test] Fix python client NOTICE and wheel content 
(#60539) (#60551)
     add cc3f95779bf [v3-1-test] Fix docstring for 
RuntimeTaskInstance.xcom_pull (#60220) (#60252)
     add d00c4b6aa3d [v3-1-test] Add virtualization to grid view (#60241) 
(#60285)
     add c3000b14d45 [v3-1-test] Fix sidebar visibility issue when main content 
exceeds viewport height (#59660) (#60286)
     add 14492825c77 [v3-1-test] Fix table filters reseting when deleting a dag 
(#60279) (#60287)
     add 49d08fe87b6 [v3-1-test] Fix flaky release command (#60284) (#60291)
     add 7f99c457101 [v3-1-test] Update version of Test Release command 
(#60289) (#60295)
     add 7bb60487e0c [v3-1-test] CI: Upgrade important CI environment (#60292) 
(#60296)
     add 5014dd32c12 [v3-1-test] Automatically add pydantic extra when 
installing airflow 2 in breeze (#60264) (#60267)
     add cb56e95dd40 [v3-1-test] Fix constraint mode when installing from dist 
or version airflow (#60304) (#60305)
     add 507db91c6f8 [v3-1-test] Move dags list filters to buttongroups 
(#60298) (#60337)
     add 18a55335b73 [v3-1-test] fix: reset pagination on DagList search 
(#60326) (#60336)
     add 22d59af4e3a [v3-1-test] Add description about Gen-AI contributions to 
our guide (#60158) (#60332)
     add e47bc6afd8c [v3-1-test] Cleanup tmp_file.py in DagBag test. (#60272) 
(#60306)
     add 9eb17092ef3 Sync airflowctl to v3-1-test (#60350)
     add 63be2f3ff63 [v3-1-test] Add privacy section to PR guidelines and 
template (#60367) (#60371)
     add fa561ef46a1 [v3-1-test] Limit deltalake again to 1.3.1 due to missing 
ARM .whl files (#60376) (#60378)
     add 2803ec8420b CI: Upgrade important CI environment (#60375)
     add 5d931fb08de [v3-1-test] Improve insert content when generate docker 
file (#60393) (#60397)
     add bf6ba58d984 update version for release test command + allowing svn 
checkout even for dry run (#60309) (#60400)
     add 1460d0b6dae Inherit core theme in React plugins (#60256) (#60405)
     add c1c9625ffd7 [v3-1-test] Clean react plugin tools (#60419) (#60450)
     add 0ce9a558443 [v3-1-test] Fix gantt chart styling (#60347) (#60457)
     add 1edb2976e69 [v3-1-test] Remove experimental note from EdgeExecutor 
(#60446) (#60489)
     add 5810e06fe51 [v3-1-test] Add back template.significant.rst (#60490) 
(#60493)
     add f02a681ec3d [v3-1-test] Correct the access for the externalLogUrl 
(#60412) (#60479)
     add 503611e4fbc Upgrade react-dom-router in Airflow UI (#60316) (#60456)
     add 7b226f1dd9b [v3-1-test] Unique run_id across manually triggered Dags 
with schedules (#59477) (#60468)
     add 0578ddc1e3e [v3-1-test] [main] Upgrade important CI environment 
(#60475) (#60481)
     add f42f2975b40 [v3-1-test] Fix bulletpoint in doc (#60422) (#60426)
     add 4af4bbad220 [v3-1-test] Add Linux favour of installing dependencies 
for release (#60368) (#60381)
     add c79b063bf34 [v3-1-test] Remove unused logic in helm_template_generator 
(#60188) (#60331)
     add 82c7daf252a [v3-1-test] Fix dag-processor crashing due to MySql 
deadlock errors (#60166) (#60418)
     add 023e1577ba1 [v3-1-test] Fix Doc Link to Providers Page (#60277) 
(#60288)
     add 620aa0c4324 [v3-1-test] UI: Update PoolBar to separate Scheduled and 
Deferred slots (#59270) (#60538)
     add cf3863925a4 [v3-1-test] Update AI question header to 5th-level in PR 
template and add separator (#60531) (#60556)
     add 0e4b760e73c Improve Dags Filter UI (#60346) (#60547)
     add 09cc4b38c6d [v3-1-test] Fix/backfill permission error handling 
(#60582) (#60587)
     add 7245988769d [v3-1-test] CI: Upgrade important CI environment (#60552) 
(#60602)
     add 290bed1e762 [v3-1-test] Update release command and guide (#60508) 
(#60607)
     add 1638e866b13 build: upgrade uv to 0.9.26 and ruff to 0.11.3 (#60622)
     add eff3f5d336d [v3-1-test] increase-mysql-healthcheck-timeout (#60338) 
(#60343)
     add 8943b46e005 [v3-1-test] checking session.query() (#60510) (#60530)
     add 9f16920714e [v3-1-test] Move row count and display toggle into 
DataTable (#57680) (#60639)
     add 71d2eed9526 feat: added toasters for permission denied (#57966) 
(#58016) (#60646)
     add 17533014833 [v3-1-test] Remove duplicate 'libgdbm-dev' from 
install_os_dependencies (#60642) (#60660)
     add 1d5f1c648e6 [v3-1-test] Complete missing Hebrew translations 
(2026-01-16) (#60633) (#60686)
     add b5950d1cea9 [v3-1-test] Fix breeze start-airflow mprocs output 
interference (#60652) (#60678)
     add c2260d4ba73 [v3-1-test] CI: Upgrade important CI environment (#60694) 
(#60695)
     add 97fca97f884 [v3-1-test] Relocate internal links from contributing docs 
to COMMITTERS.rst (#60684) (#60691)
     add f5b6be4d581 [v3-1-test] fix type error when date_time is str (#60414) 
(#60578)
     add 87215542bec [v3-1-test] Remove API error from disabling submit 
(#60473) (#60658)
     add 4934192c5d2 [v3-1-test] Fix Vite dev servers not starting in breeze 
(#60735) (#60745)
     add 53d8b706575 Grey out trigger button on API 403 (#60648) (#60777)
     add 69f486d87bd [v3-1-test] Fix Spanish translation (#60775) (#60785)
     add 5d2bd511681 [v3-1-test] Revert Fix breeze start-airflow mprocs output 
interference #60652 (#60786) (#60788)
     add 9f311e59372 [v3-1-test] Complete missing Arabic translations 
(2026-01-16) (#60635) (#60782)
     add 0748bde2f93 [v3-1-test] docs(contributing-docs): fix some typos and 
unmatched parentheses (#60787) (#60790)
     add 41dd6210199 [v3-1-test] improved a log message in the dag parsing. 
(#60789) (#60814)
     add e65328f3480 [v3-1-test] build: upgrade prek to 0.2.30 (#60816) (#60820)
     add 05e7945270a [v3-1-test] CI: Upgrade important CI environment (#60827) 
(#60829)
     add aa566c39e5c [v3-1-test] apply gc.freeze in dag-processor (#60505) 
(#60845)
     add eb304eae6c3 Cache user object fetched per request in FAB auth manager 
for improved performance. (#60274) (#60834)
     add 7107afa130b [v3-1-test] Fix: In the log.exception() , the format 
specifier for the first parameter is missing (#58295) (#60828)
     add 75638013fb1 [v3-1-test] build: upgrade hatch to 1.16.3 (#60850) 
(#60852)
     add cb6e72359df [v3-1-test] Add checksum verification to Apache RAT 
downloading in release instructions (#60841) (#60862)
     add 7e97cce0a7a [v3-1-test] CI: Upgrade important CI environment (#60865) 
(#60872)
     add f21d1991a14 Fix slow log scrolling for large task logs (#60806) 
(#60875)
     add 91cf84df37b Convert Tasks Table from card to table mode (#60830) 
(#60874)
     add 656a5beeed3 Fix connection test API to restore masked password/extra 
from existing connections (#59643) (#60873)
     add a6555273135 Logout the user when the refresh token is no longer valid 
(#60781) (#60881)
     add afab83a7eaf [v3-1-test] Adding Airflow generic version for Breeze 
installations for Airflow (#60809) (#60813)
     add d83c0f50e0b Fix permissions check in import error APIs (#60801) 
(#60884)
     add 4795da45007 upgrade CI environment (#60929)
     add fddf4a72406 Reschedule tasks on worker startup Dag load failures 
instead of exiting (#59604) (#60926)
     add f72116c250f [v3-1-test] Fix mypy checks in CI to also run for scripts 
(#60898) (#60906)
     add b7d1c41e61a Prevent Triggerer from crashing when a trigger event isn't 
serializable (#60152)
     add 95877c9c2e6 Fix DAG processor OOM || Avoid loading all TaskInstances 
when checking DagVersion in write_dag (#60937) (#60962)
     add c86a1831a63 CI: Upgrade important CI environment (#60964)
     add b92722835f1 [v3-1-test] Use log_level for root logger instead of 
hardcoded INFO level (#60784) (#60970)
     add 937f4451a3d Revert "Prevent Triggerer from crashing when a trigger 
event isn't serializable (#60152)" (#60976)
     add 55a7d49bc3b [v3-1-test] Fix dag access control for dag_id in query 
param (#60935) (#60959)
     add 091d852122c [v3-1-test] Fix permissions on get_event_logs endpoint 
(#60936) (#60958)
     add 2b2a1684953 [v3-1-test] Exclude mysql-connector-python 9.6.0 version 
(#60889) (#61000)
     add d9754299155 CI: Upgrade important CI environment (#61006)
     add 0167f876049 Prevent Triggerer from crashing when a trigger event isn't 
serializable (#60152) (#60981)
     add 4bcc723150d [v3-1-test] Add Dheeraj Turaga as codeowner to 
airflow-core/executors (#61016) (#61020)
     add 3a24bb4d841 CI: Upgrade important CI environment (#61030)
     add 8fe044559bb [v3-1-test] CI: Upgrade important CI environment (#61022) 
(#61031)
     add 50a1d465a20 [v3-1-test] Fix ui get dags permission endpoint for user 
without dag run permissions (#60979) (#60988)
     add eda82d6f7d2 [v3-1-test] Simplify typing in TriggerRuleDep (#57733) 
(#57779) (#57719)
     add a5a20fa6baf [v3-1-test] Get rid of the bleeding edge of our prek-hooks 
(#60452) (#61064)
     add 540a96d87f2 [v3-1-test] Respect maximum page limit in API (#60989) 
(#61073)
     add da89723778a Add missing PL translations (#61099)
     add 497f2acf16b [v3-1-test] Add bundle_path temporarily to sys.path during 
DagBag parsing. (#55894) (#61053)
     add dd729277506 Feature/close german translation gaps 2026 01 26 v3 1 
(#61097)
     add 788ed214751 [v3-1-test] Pool API improve slots validation (#61071) 
(#61114)
     add f8e4e46a333 [v3-1-test] Fix Simple Auth Manager UI dev server not 
starting in breeze (#60932) (#61107)
     add 47d7c3457a6 [v3-1-test] Plugins pagination fix  #61055 (#61059) 
(#61129)
     add 7a42423a42a [v3-1-test] Remove unused method `is_default_pool` in Pool 
model (#61084) (#61128)
     add a55657dad18 [v3-1-test] Add possible actions when PR guidelines are 
violated (#61112) (#61120)
     add 83e4b5ffcdd Optimized DAG processing queue order on bundle refresh 
(#60003)
     add 42b2fee69a1 Refactor DAG file queuing and fix redundant processing 
(#60124)
     add 656c50eb712 updated comment for template var callable serialization 
(#60224)
     add 332310ef548 Docs: clarify BaseSensorOperator parameters in Sensors 
guide (#60275)
     add 5adf257d2d2 Use bulk DELETE for XComModel.clear() instead of loading 
records (#60955)
     add 75682e90f89 Update SerializedDagModel query to fetch DagVersion with 
joinedload (#56422)
     add 98aa1bba556 Eliminate serdag loading added in #56422 (#57537)
     add 78ba0568775 Fix DAG processor OOM || Avoid loading all TaskInstances 
when checking DagVersion in write_dag (#60937)
     add 1f7b078c703 Fix `TriggerDagRunOperator` deferring when 
`wait_for_completion=False` (#60052)
     add e34da051d63 Add warning when Bundle path may not be accessible to 
impersonated user (#60278)
     add 5e63159404c Fix unnecessary DAG version churn when DAG file paths 
change (#60799)
     add 505b5f545a7 Close Catalan gap in v3-1-test (#61093)
     add 3e14ad11f36 feat(i18n): fix Taiwaness Mandarian translation gap 
(#61126)
     add 8f644c87371 [v3-1-test] Fix asset scheduling for stale DAGs (#59337) 
(#60022) (#61106)
     add dec59193cab [v3-1-test] Change default mysql client type to mariadb in 
Dockerfile.ci (#60683) (#60697)
     add 45074811ef4 [v3-1-test] Add HITL operators to standard provider index 
docs (#60681) (#60702)
     add 99b57284d60 [v3-1-test] Add missing links to airflow.sdk classes and 
functions in public interface docs (#61005) (#61012)
     add 36c8bc58a79 [v3-1-test] Docs: clarify BaseSensorOperator parameters in 
Sensors guide (#60275) (#60846)
     add 85fbfe8e1af [v3-1-test] Fix release check for Python Client (#60839) 
(#60842)
     add 5a834e03884 Fix broken syntax highlighting in AIR rules note section 
(#59188)
     add 4196c9ed89b Fix airflow.utils.context.Context import path in Airflow 3 
migration doc (#59937)
     add 99c27b0eeda Fix minor display issue with migration to airflow 3 docs 
(#60749)
     add 883cd40c986 Manually backport fix reset pagination (#61169)
     add 24e91316b1c Update year in NOTICE files (#61164)
     add 4ac42ec2c7a [v3-1-test] Add prek hook to check NOTICE files for 
content (#60699) (#60710)
     add 1792f0761b4 Revert "Inherit core theme in React plugins (#60256) 
(#60405)" (#61200)
     add 1fadca98b9a [v3-1-test] Add note about Official Docker Image default 
for load_examples (#60723) (#61179)
     add f31715ce56c Fix react apps plugins router (#61206)
     add 8cba37c6b3b fix(ui): avoid gantt annotation error during resize 
(#60877)
     add 5a2b2404cfe [v3-1-test] Add guardrail to handle DAG deserialization 
errors in scheduler (#61162) (#61210)
     add 52b7aeae508 [v3-1-test] Explicitly set table ordering (#60609) (#61216)
     add dd1a86593f2 Fix import errors not showing on UI (#61163) (#61213)
     add c34d2c36f2a [v3-1-test] Add 404 handling for non-existent Dag (#61131) 
(#61225)
     add 3b41866a2ee dag_processing: initialize versioned bundles for callbacks 
(#52040) (#60734) (#61230)
     add 08a5859832f [v3-1-test] Fix callback files losing priority during 
queue resort (#61232) (#61243)
     add d24ec9a649f Update Airflow Version to 3.1.7
     add d82bb100d73 Update RELEASE_NOTES.rst

No new revisions were added by this update.

Summary of changes:
 .gitattributes                                     |   1 +
 .github/CODEOWNERS                                 |   2 +-
 .github/PULL_REQUEST_TEMPLATE.md                   |  59 ++-
 .github/actions/breeze/action.yml                  |   4 +-
 .github/actions/install-prek/action.yml            |   4 +-
 .github/actions/post_tests_failure/action.yml      |   6 +-
 .github/actions/post_tests_success/action.yml      |   2 +-
 .github/workflows/airflow-distributions-tests.yml  |   2 +-
 .github/workflows/basic-tests.yml                  |  10 +-
 .github/workflows/release_dockerhub_image.yml      |   2 +-
 .pre-commit-config.yaml                            |  27 +-
 COMMITTERS.rst                                     |   6 +
 Dockerfile                                         |   3 +-
 Dockerfile.ci                                      |   9 +-
 NOTICE                                             |   2 +-
 README.md                                          |  12 +-
 RELEASE_NOTES.rst                                  |  74 ++++
 airflow-core/NOTICE                                |   2 +-
 .../administration-and-deployment/dag-bundles.rst  |  17 +
 airflow-core/docs/best-practices.rst               |   2 +-
 airflow-core/docs/core-concepts/executor/index.rst |   2 +-
 airflow-core/docs/core-concepts/sensors.rst        |  64 +++
 .../docs/installation/supported-versions.rst       |   2 +-
 .../docs/installation/upgrading_to_airflow3.rst    |   7 +-
 airflow-core/docs/public-airflow-interface.rst     |  56 +--
 airflow-core/docs/tutorial/hitl.rst                |   9 +
 airflow-core/pyproject.toml                        |   4 +-
 airflow-core/src/airflow/__init__.py               |   2 +-
 .../api_fastapi/auth/managers/exceptions.py        |   4 +-
 .../api_fastapi/auth/middlewares/refresh_token.py  |  34 +-
 .../src/airflow/api_fastapi/common/parameters.py   |   5 +-
 .../api_fastapi/core_api/datamodels/dag_run.py     |   5 +-
 .../core_api/datamodels/import_error.py            |   3 +-
 .../api_fastapi/core_api/datamodels/pools.py       |   6 +-
 .../core_api/openapi/v2-rest-api-generated.yaml    |   3 +
 .../core_api/routes/public/connections.py          |  19 +-
 .../core_api/routes/public/event_logs.py           |   9 +-
 .../core_api/routes/public/import_error.py         |  61 +--
 .../api_fastapi/core_api/routes/public/log.py      |   2 +-
 .../airflow/api_fastapi/core_api/routes/ui/dags.py |   1 -
 .../src/airflow/api_fastapi/core_api/security.py   |  16 +-
 airflow-core/src/airflow/assets/manager.py         |   9 +-
 .../src/airflow/cli/commands/dag_command.py        |  18 +-
 .../src/airflow/config_templates/config.yml        |  36 +-
 .../src/airflow/dag_processing/bundles/base.py     |   2 +-
 airflow-core/src/airflow/dag_processing/manager.py | 101 ++++-
 .../src/airflow/dag_processing/processor.py        |  28 +-
 .../src/airflow/jobs/scheduler_job_runner.py       |  23 +-
 .../src/airflow/jobs/triggerer_job_runner.py       |  89 +++--
 airflow-core/src/airflow/models/asset.py           |  17 +-
 airflow-core/src/airflow/models/dagbag.py          |  34 ++
 airflow-core/src/airflow/models/pool.py            |  17 -
 airflow-core/src/airflow/models/serialized_dag.py  |  18 +-
 airflow-core/src/airflow/models/taskinstance.py    |  12 +
 airflow-core/src/airflow/models/xcom.py            |  10 +-
 airflow-core/src/airflow/serialization/helpers.py  |   4 +-
 .../airflow/serialization/serialized_objects.py    |  21 +-
 .../src/airflow/ti_deps/deps/base_ti_dep.py        |   3 +-
 .../airflow/ti_deps/deps/ready_to_reschedule.py    |  36 +-
 .../src/airflow/ti_deps/deps/trigger_rule_dep.py   |  68 ++--
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts |   5 +-
 airflow-core/src/airflow/ui/package.json           |  10 +-
 airflow-core/src/airflow/ui/pnpm-lock.yaml         | 133 ++++---
 .../airflow/ui/public/i18n/locales/ar/admin.json   |   6 +
 .../airflow/ui/public/i18n/locales/ar/assets.json  |   9 +
 .../airflow/ui/public/i18n/locales/ar/browse.json  |  26 +-
 .../airflow/ui/public/i18n/locales/ar/common.json  |  32 +-
 .../ui/public/i18n/locales/ar/components.json      |  26 ++
 .../src/airflow/ui/public/i18n/locales/ar/dag.json |  12 +
 .../airflow/ui/public/i18n/locales/ar/dags.json    |   5 +
 .../ui/public/i18n/locales/ar/dashboard.json       |   3 +-
 .../airflow/ui/public/i18n/locales/ar/hitl.json    |   3 +-
 .../airflow/ui/public/i18n/locales/ca/common.json  |  10 +-
 .../ui/public/i18n/locales/ca/components.json      |   4 +
 .../airflow/ui/public/i18n/locales/de/common.json  |  10 +-
 .../ui/public/i18n/locales/de/components.json      |   4 +
 .../airflow/ui/public/i18n/locales/en/common.json  |  10 +-
 .../ui/public/i18n/locales/en/components.json      |   4 +
 .../src/airflow/ui/public/i18n/locales/en/dag.json |   6 +
 .../airflow/ui/public/i18n/locales/es/common.json  |   2 +-
 .../airflow/ui/public/i18n/locales/he/admin.json   |   6 +
 .../airflow/ui/public/i18n/locales/he/browse.json  |  26 +-
 .../airflow/ui/public/i18n/locales/he/common.json  |  21 +-
 .../ui/public/i18n/locales/he/components.json      |  16 +
 .../ui/public/i18n/locales/he/dashboard.json       |   3 +-
 .../airflow/ui/public/i18n/locales/pl/common.json  |  12 +-
 .../ui/public/i18n/locales/pl/components.json      |   4 +
 .../ui/public/i18n/locales/zh-TW/common.json       |  10 +-
 .../ui/public/i18n/locales/zh-TW/components.json   |   4 +
 .../components/ActionAccordion/ActionAccordion.tsx |   2 +-
 .../ui/src/components/Assets/AssetEvents.tsx       |   2 +-
 .../src/components/DagActions/DeleteDagButton.tsx  |  10 +-
 .../src/components/DagActions/RunBackfillForm.tsx  |  25 +-
 .../ui/src/components/DataTable/DataTable.test.tsx | 100 ++++-
 .../ui/src/components/DataTable/DataTable.tsx      |  34 +-
 .../components/DataTable/ToggleTableDisplay.tsx    |  58 +--
 .../airflow/ui/src/components/DurationChart.tsx    |   4 +-
 .../src/airflow/ui/src/components/PoolBar.tsx      | 126 +++---
 .../ui/src/components/SearchDags/SearchDags.tsx    |   2 +-
 .../src/components/TriggerDag/TriggerDAGForm.tsx   |  10 +-
 .../src/components/ui/ButtonGroupToggle.test.tsx   |  88 ++++
 .../ui/src/components/ui/ButtonGroupToggle.tsx     |  59 +++
 .../src/airflow/ui/src/components/ui/index.ts      |   1 +
 .../src/airflow/ui/src/context/hover/Context.ts    |   2 +
 .../airflow/ui/src/context/hover/HoverProvider.tsx |   5 +-
 .../src/airflow/ui/src/hooks/navigation/index.ts   |   2 +
 .../src/airflow/ui/src/hooks/navigation/types.ts   |   8 +-
 .../ui/src/hooks/navigation/useNavigation.ts       |  37 +-
 .../airflow/ui/src/hooks/useRequiredActionTabs.ts  |   2 +-
 .../src/airflow/ui/src/layouts/BaseLayout.tsx      |  10 +-
 .../ui/src/layouts/Details/DagRunSelect.tsx        |   8 +-
 .../ui/src/layouts/Details/DetailsLayout.tsx       |   4 +-
 .../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx |  14 +-
 .../airflow/ui/src/layouts/Details/Gantt/utils.ts  |  24 +-
 .../airflow/ui/src/layouts/Details/Grid/Bar.tsx    |  31 +-
 .../airflow/ui/src/layouts/Details/Grid/Grid.tsx   | 127 ++++--
 .../airflow/ui/src/layouts/Details/Grid/GridTI.tsx |  48 +--
 .../layouts/Details/Grid/TaskInstancesColumn.tsx   | 111 ++++--
 .../ui/src/layouts/Details/Grid/TaskNames.tsx      | 249 +++++++-----
 .../src/layouts/Details/Grid/constants.ts}         |  31 +-
 .../ui/src/layouts/Details/PanelButtons.tsx        |   6 +-
 .../airflow/ui/src/pages/AssetsList/AssetsList.tsx |  15 +-
 .../src/airflow/ui/src/pages/Configs/Configs.tsx   |   2 +-
 .../ui/src/pages/Connections/Connections.tsx       |  13 +-
 .../ui/src/pages/Dag/Backfills/Backfills.tsx       |   2 +-
 airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx  |   7 +
 .../src/airflow/ui/src/pages/Dag/DagNotFound.tsx   |  70 ++++
 .../airflow/ui/src/pages/Dag/Tasks/TaskCard.tsx    |  99 -----
 .../pages/Dag/Tasks/TaskFilters/TaskFilters.tsx    |   6 +-
 .../ui/src/pages/Dag/Tasks/TaskRecentRuns.tsx      |  71 ----
 .../src/airflow/ui/src/pages/Dag/Tasks/Tasks.tsx   |  63 ++-
 airflow-core/src/airflow/ui/src/pages/DagRuns.tsx  |   3 +-
 .../src/pages/DagsList/DagsFilters/DagsFilters.tsx |  60 ++-
 .../pages/DagsList/DagsFilters/FavoriteFilter.tsx  |  66 +--
 .../pages/DagsList/DagsFilters/PausedFilter.tsx    |  59 +--
 .../DagsList/DagsFilters/RequiredActionFilter.tsx} |  30 +-
 .../pages/DagsList/DagsFilters/StateFilters.tsx    |  57 ++-
 .../src/pages/DagsList/DagsFilters/TagFilter.tsx   |   7 +-
 .../ui/src/pages/DagsList/DagsList.test.tsx        |   8 +-
 .../src/airflow/ui/src/pages/DagsList/DagsList.tsx |  29 +-
 .../pages/Dashboard/PoolSummary/PoolSummary.tsx    |   4 +-
 airflow-core/src/airflow/ui/src/pages/Error.tsx    |  17 +-
 .../src/airflow/ui/src/pages/Events/Events.tsx     |   3 +-
 .../src/airflow/ui/src/pages/ExternalView.tsx      |   6 +-
 .../pages/HITLTaskInstances/HITLTaskInstances.tsx  |  22 +-
 airflow-core/src/airflow/ui/src/pages/Plugins.tsx  |  13 +-
 .../src/airflow/ui/src/pages/Pools/PoolBarCard.tsx |   5 +-
 .../src/airflow/ui/src/pages/Pools/Pools.tsx       |  11 +-
 .../src/airflow/ui/src/pages/Providers.tsx         |   3 +-
 .../src/airflow/ui/src/pages/ReactPlugin.tsx       |  24 +-
 airflow-core/src/airflow/ui/src/pages/Security.tsx |   2 +-
 .../src/pages/TaskInstance/Logs/TaskLogContent.tsx |  97 +++--
 .../ui/src/pages/TaskInstance/Logs/utils.ts        |  51 +++
 .../ui/src/pages/TaskInstances/TaskInstances.tsx   |   3 +-
 .../airflow/ui/src/pages/Variables/Variables.tsx   |  13 +-
 .../src/airflow/ui/src/pages/XCom/XCom.tsx         |   3 +-
 .../src/airflow/ui/src/queries/useTrigger.ts       |  15 +-
 airflow-core/src/airflow/utils/cli.py              |  15 +-
 airflow-core/src/airflow/utils/module_loading.py   |  23 +-
 .../auth/middlewares/test_refresh_token.py         |   6 +-
 .../core_api/routes/public/test_connections.py     | 136 +++++++
 .../core_api/routes/public/test_dag_run.py         |  35 ++
 .../core_api/routes/public/test_dag_warning.py     |   2 +-
 .../core_api/routes/public/test_event_logs.py      |   4 +-
 .../core_api/routes/public/test_import_error.py    | 127 ++++--
 .../core_api/routes/public/test_pools.py           |  21 +-
 .../core_api/routes/public/test_task_instances.py  |  10 +-
 .../core_api/routes/ui/test_backfills.py           |   2 +-
 .../core_api/routes/ui/test_structure.py           |  10 +-
 .../unit/api_fastapi/core_api/test_security.py     |   3 +
 airflow-core/tests/unit/assets/test_manager.py     |  40 +-
 .../tests/unit/cli/commands/test_dag_command.py    |   9 +-
 .../tests/unit/dag_processing/bundles/test_base.py |  28 +-
 .../tests/unit/dag_processing/test_manager.py      | 178 ++++++++-
 .../tests/unit/dag_processing/test_processor.py    |  29 ++
 airflow-core/tests/unit/jobs/test_scheduler_job.py |  39 +-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |  28 +-
 airflow-core/tests/unit/models/test_dag.py         |   4 +-
 airflow-core/tests/unit/models/test_dagbag.py      | 105 ++++-
 airflow-core/tests/unit/models/test_pool.py        |   8 -
 .../unit/serialization/test_dag_serialization.py   |  41 +-
 .../unit/serialization/test_serialized_objects.py  |  35 ++
 .../ti_deps/deps/test_ready_to_reschedule_dep.py   |  21 +-
 .../tests/unit/utils/test_module_loading.py        |  70 +++-
 airflow-ctl-tests/pyproject.toml                   |   6 +-
 .../tests/airflowctl_tests/conftest.py             | 111 ++----
 .../tests/airflowctl_tests/constants.py            |   7 +-
 .../airflowctl_tests/fixtures/pools_export.json    |  38 ++
 .../fixtures/test_connections.json                 |  11 +
 .../airflowctl_tests/fixtures/test_pools.json      |   8 +
 .../airflowctl_tests/fixtures/test_variables.json  |   7 +
 .../fixtures/variables_export.json                 |   8 +
 .../airflowctl_tests/test_airflowctl_commands.py   | 222 ++++++++---
 airflow-ctl/.pre-commit-config.yaml                |   2 +-
 airflow-ctl/NOTICE                                 |   2 +-
 airflow-ctl/RELEASE_NOTES.rst                      |   4 +-
 airflow-ctl/docs/conf.py                           |  12 +-
 airflow-ctl/docs/images/command_hashes.txt         |   4 +-
 airflow-ctl/docs/images/output_connections.svg     | 141 +++----
 airflow-ctl/docs/images/output_variables.svg       | 114 +++---
 .../docs/installation/installing-from-pypi.rst     |   5 +-
 .../docs/installation/installing-from-sources.rst  |  22 +-
 airflow-ctl/newsfragments/59850.significant.rst    |  30 ++
 airflow-ctl/pyproject.toml                         |  20 +-
 airflow-ctl/src/airflowctl/__init__.py             |   2 +-
 .../src/airflowctl/api/datamodels/generated.py     |  10 +-
 airflow-ctl/src/airflowctl/ctl/cli_config.py       |  30 +-
 .../airflowctl/ctl/commands/variable_command.py    |  22 -
 airflow-ctl/tests/airflow_ctl/api/test_client.py   |   2 +-
 .../tests/airflow_ctl/api/test_operations.py       |   8 +-
 .../airflow_ctl/ctl/commands/test_dag_command.py   |   8 +-
 .../ctl/commands/test_variable_command.py          |  20 -
 chart/.pre-commit-config.yaml                      |   3 +-
 chart/NOTICE                                       |   2 +-
 contributing-docs/01_roles_in_airflow_project.rst  |   5 -
 contributing-docs/03_contributors_quick_start.rst  |   4 +-
 contributing-docs/05_pull_requests.rst             |  95 ++++-
 contributing-docs/11_documentation_building.rst    |   2 +-
 contributing-docs/12_provider_distributions.rst    |   2 +-
 .../13_airflow_dependencies_and_extras.rst         |   6 +-
 contributing-docs/testing/unit_tests.rst           |   2 +-
 dev/README_RELEASE_AIRFLOW.md                      |  39 +-
 dev/README_RELEASE_AIRFLOWCTL.md                   |  15 +-
 dev/README_RELEASE_HELM_CHART.md                   |  11 +-
 dev/README_RELEASE_PROVIDERS.md                    |  17 +-
 dev/README_RELEASE_PYTHON_CLIENT.md                |  15 +-
 dev/breeze/doc/ci/02_images.md                     |   4 +-
 dev/breeze/pyproject.toml                          |   4 +-
 .../src/airflow_breeze/commands/ci_commands.py     |   4 +-
 .../commands/release_candidate_command.py          |  22 +-
 .../src/airflow_breeze/commands/release_command.py |  37 +-
 .../commands/release_management_commands.py        |  18 +-
 dev/breeze/src/airflow_breeze/global_constants.py  |   4 +-
 .../airflow_breeze/utils/check_release_files.py    |  11 +-
 dev/breeze/src/airflow_breeze/utils/run_utils.py   |  17 +-
 dev/breeze/tests/test_release_candidate_command.py |   7 +-
 dev/breeze/uv.lock                                 | 441 +++++++++++----------
 .../react_plugin_template/src/theme.ts             |   4 -
 devel-common/pyproject.toml                        |   3 +-
 docker-stack-docs/README.md                        |  10 +-
 .../extending/add-airflow-configuration/Dockerfile |   2 +-
 .../extending/add-apt-packages/Dockerfile          |   2 +-
 .../add-build-essential-extend/Dockerfile          |   2 +-
 .../extending/add-providers/Dockerfile             |   2 +-
 .../add-pypi-packages-constraints/Dockerfile       |   2 +-
 .../extending/add-pypi-packages-uv/Dockerfile      |   2 +-
 .../extending/add-pypi-packages/Dockerfile         |   2 +-
 .../extending/add-requirement-packages/Dockerfile  |   2 +-
 .../extending/custom-providers/Dockerfile          |   2 +-
 .../extending/embedding-dags/Dockerfile            |   2 +-
 .../extending/writable-directory/Dockerfile        |   2 +-
 docker-stack-docs/entrypoint.rst                   |  14 +-
 docs/spelling_wordlist.txt                         |   2 +
 generated/PYPI_README.md                           |  10 +-
 go-sdk/.pre-commit-config.yaml                     |   3 +-
 go-sdk/NOTICE                                      |   2 +-
 .../tests/chart_utils/helm_template_generator.py   |   5 +-
 .../chart_utils/ingress-networking-v1beta1.json    |  46 ---
 newsfragments/template.significant.rst             |  33 ++
 providers-summary-docs/index.rst                   |  10 +-
 providers/airbyte/NOTICE                           |   2 +-
 providers/alibaba/NOTICE                           |   2 +-
 providers/amazon/NOTICE                            |   2 +-
 providers/apache/beam/NOTICE                       |   2 +-
 providers/apache/cassandra/NOTICE                  |   2 +-
 providers/apache/drill/NOTICE                      |   2 +-
 providers/apache/druid/NOTICE                      |   2 +-
 providers/apache/flink/NOTICE                      |   2 +-
 providers/apache/hdfs/NOTICE                       |   2 +-
 providers/apache/hive/NOTICE                       |   2 +-
 providers/apache/iceberg/NOTICE                    |   2 +-
 providers/apache/impala/NOTICE                     |   2 +-
 providers/apache/kafka/NOTICE                      |   2 +-
 providers/apache/kylin/NOTICE                      |   2 +-
 providers/apache/livy/NOTICE                       |   2 +-
 providers/apache/pig/NOTICE                        |   2 +-
 providers/apache/pinot/NOTICE                      |   2 +-
 providers/apache/spark/NOTICE                      |   2 +-
 providers/apache/tinkerpop/NOTICE                  |   2 +-
 providers/apprise/NOTICE                           |   2 +-
 providers/arangodb/NOTICE                          |   2 +-
 providers/asana/NOTICE                             |   2 +-
 providers/atlassian/jira/NOTICE                    |   2 +-
 providers/celery/NOTICE                            |   2 +-
 providers/cloudant/NOTICE                          |   2 +-
 providers/cncf/kubernetes/NOTICE                   |   2 +-
 providers/cohere/NOTICE                            |   2 +-
 providers/common/compat/NOTICE                     |   2 +-
 .../common/compat/module_loading}/__init__.py      |   0
 providers/common/io/NOTICE                         |   2 +-
 providers/common/messaging/NOTICE                  |   2 +-
 providers/common/sql/NOTICE                        |   2 +-
 providers/databricks/NOTICE                        |   2 +-
 providers/databricks/pyproject.toml                |   2 +-
 providers/datadog/NOTICE                           |   2 +-
 providers/dbt/cloud/NOTICE                         |   2 +-
 providers/dingding/NOTICE                          |   2 +-
 providers/discord/NOTICE                           |   2 +-
 providers/docker/NOTICE                            |   2 +-
 providers/edge3/NOTICE                             |   2 +-
 providers/elasticsearch/NOTICE                     |   2 +-
 providers/exasol/NOTICE                            |   2 +-
 providers/fab/3rd-party-licenses/LICENSES-ui.txt   |   2 +-
 providers/fab/NOTICE                               |   2 +-
 providers/facebook/NOTICE                          |   2 +-
 providers/ftp/NOTICE                               |   2 +-
 providers/git/NOTICE                               |   2 +-
 providers/github/NOTICE                            |   2 +-
 providers/google/NOTICE                            |   2 +-
 .../providers/google/3rd-party-licenses/NOTICE     |   2 +-
 providers/grpc/NOTICE                              |   2 +-
 providers/hashicorp/NOTICE                         |   2 +-
 providers/http/NOTICE                              |   2 +-
 providers/imap/NOTICE                              |   2 +-
 providers/influxdb/NOTICE                          |   2 +-
 providers/jdbc/NOTICE                              |   2 +-
 providers/jenkins/NOTICE                           |   2 +-
 providers/keycloak/NOTICE                          |   2 +-
 providers/microsoft/azure/NOTICE                   |   2 +-
 providers/microsoft/mssql/NOTICE                   |   2 +-
 providers/microsoft/psrp/NOTICE                    |   2 +-
 providers/microsoft/winrm/NOTICE                   |   2 +-
 providers/mongo/NOTICE                             |   2 +-
 providers/mysql/NOTICE                             |   2 +-
 providers/mysql/docs/index.rst                     |  19 +-
 providers/mysql/pyproject.toml                     |   6 +-
 providers/neo4j/NOTICE                             |   2 +-
 providers/odbc/NOTICE                              |   2 +-
 providers/openai/NOTICE                            |   2 +-
 providers/openfaas/NOTICE                          |   2 +-
 providers/openlineage/NOTICE                       |   2 +-
 providers/opensearch/NOTICE                        |   2 +-
 providers/opsgenie/NOTICE                          |   2 +-
 providers/oracle/NOTICE                            |   2 +-
 providers/pagerduty/NOTICE                         |   2 +-
 providers/papermill/NOTICE                         |   2 +-
 providers/pgvector/NOTICE                          |   2 +-
 providers/pinecone/NOTICE                          |   2 +-
 providers/postgres/NOTICE                          |   2 +-
 providers/presto/NOTICE                            |   2 +-
 providers/qdrant/NOTICE                            |   2 +-
 providers/redis/NOTICE                             |   2 +-
 providers/salesforce/NOTICE                        |   2 +-
 providers/samba/NOTICE                             |   2 +-
 providers/segment/NOTICE                           |   2 +-
 providers/sendgrid/NOTICE                          |   2 +-
 providers/sftp/NOTICE                              |   2 +-
 providers/singularity/NOTICE                       |   2 +-
 providers/slack/NOTICE                             |   2 +-
 providers/smtp/NOTICE                              |   2 +-
 providers/snowflake/NOTICE                         |   2 +-
 providers/sqlite/NOTICE                            |   2 +-
 providers/ssh/NOTICE                               |   2 +-
 providers/standard/NOTICE                          |   2 +-
 providers/standard/docs/operators/hitl.rst         |  44 ++
 providers/tableau/NOTICE                           |   2 +-
 providers/telegram/NOTICE                          |   2 +-
 providers/teradata/NOTICE                          |   2 +-
 providers/trino/NOTICE                             |   2 +-
 providers/vertica/NOTICE                           |   2 +-
 providers/weaviate/NOTICE                          |   2 +-
 providers/yandex/NOTICE                            |   2 +-
 providers/ydb/NOTICE                               |   2 +-
 providers/zendesk/NOTICE                           |   2 +-
 pyproject.toml                                     |   8 +-
 reproducible_build.yaml                            |   4 +-
 scripts/ci/docker-compose/backend-mysql.yml        |   4 +-
 .../ci/prek/check_airflowctl_command_coverage.py   | 150 +++++++
 .../prek/check_contextmanager_class_decorators.py  |   0
 scripts/ci/prek/check_imports_in_providers.py      |   2 +-
 ...ck_schema_defaults.py => check_notice_files.py} |  40 +-
 scripts/ci/prek/compile_ui_assets_dev.py           |  36 +-
 scripts/ci/prek/inline_scripts_in_docker.py        |   2 +-
 scripts/ci/prek/mypy_folder.py                     |   1 +
 .../ci/prek/prevent_deprecated_sqlalchemy_usage.py |   6 +-
 scripts/ci/prek/ruff_format.py                     |   2 +-
 scripts/ci/prek/supported_versions.py              |   2 +-
 scripts/ci/prek/upgrade_important_versions.py      |   9 +-
 scripts/docker/install_os_dependencies.sh          |   1 -
 .../in_container/install_airflow_and_providers.py  |  22 +
 .../in_container/run_capture_airflowctl_help.py    |   6 +-
 scripts/tools/setup_breeze                         |   2 +-
 .../src/airflow_shared/logging/structlog.py        |   2 +-
 shared/logging/tests/logging/test_structlog.py     |  13 +
 task-sdk/NOTICE                                    |   2 +-
 task-sdk/pyproject.toml                            |   2 +-
 task-sdk/src/airflow/sdk/__init__.py               |   2 +-
 task-sdk/src/airflow/sdk/definitions/dag.py        |   6 +-
 .../src/airflow/sdk/execution_time/task_runner.py  | 154 +++++--
 .../task_sdk/execution_time/test_task_runner.py    | 193 ++++++++-
 390 files changed, 5137 insertions(+), 2386 deletions(-)
 copy airflow-ctl/src/airflowctl/__init__.py => 
airflow-core/src/airflow/api_fastapi/auth/managers/exceptions.py (86%)
 create mode 100644 
airflow-core/src/airflow/ui/src/components/ui/ButtonGroupToggle.test.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/ui/ButtonGroupToggle.tsx
 copy 
airflow-core/src/airflow/{api_fastapi/auth/managers/simple/ui/src/router.tsx => 
ui/src/layouts/Details/Grid/constants.ts} (54%)
 create mode 100644 airflow-core/src/airflow/ui/src/pages/Dag/DagNotFound.tsx
 delete mode 100644 airflow-core/src/airflow/ui/src/pages/Dag/Tasks/TaskCard.tsx
 delete mode 100644 
airflow-core/src/airflow/ui/src/pages/Dag/Tasks/TaskRecentRuns.tsx
 copy airflow-core/src/airflow/ui/src/{components/ui/ResetButton.tsx => 
pages/DagsList/DagsFilters/RequiredActionFilter.tsx} (60%)
 create mode 100644 
airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/utils.ts
 create mode 100644 
airflow-ctl-tests/tests/airflowctl_tests/fixtures/pools_export.json
 create mode 100644 
airflow-ctl-tests/tests/airflowctl_tests/fixtures/test_connections.json
 create mode 100644 
airflow-ctl-tests/tests/airflowctl_tests/fixtures/test_pools.json
 create mode 100644 
airflow-ctl-tests/tests/airflowctl_tests/fixtures/test_variables.json
 create mode 100644 
airflow-ctl-tests/tests/airflowctl_tests/fixtures/variables_export.json
 create mode 100644 airflow-ctl/newsfragments/59850.significant.rst
 delete mode 100644 helm-tests/tests/chart_utils/ingress-networking-v1beta1.json
 create mode 100644 newsfragments/template.significant.rst
 copy {airflow-core/src/airflow/_shared => 
providers/common/compat/src/airflow/providers/common/compat/module_loading}/__init__.py
 (100%)
 create mode 100644 providers/standard/docs/operators/hitl.rst
 create mode 100755 scripts/ci/prek/check_airflowctl_command_coverage.py
 mode change 100644 => 100755 
scripts/ci/prek/check_contextmanager_class_decorators.py
 copy scripts/ci/prek/{check_schema_defaults.py => check_notice_files.py} (53%)


Reply via email to