This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a change to branch backport-ffe49c7-v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 3dd083457d0 [v3-3-test] Flag missing conn-fields when hook-only files
change in static checks (#70007)
add 9322e902156 [v3-3-test] Route SQLAlchemyError through global exception
handler (#69267) (#70236)
add ce4af16cc8f [v3-3-test] Populate dag and note before firing dag run
state-change listeners (#69873) (#70245)
add f980c55bdff Call listeners for running task instance when a Dag Run
state is manually set (#69874) (#70286)
add fb05044c6f3 [v3-3-test] Add optional AI agent rules to React plugin
template (#69994) (#70193)
add 98c5a941eb9 [v3-3-test] fix: Patch ti note before state so that
listeners can see it (#70247) (#70252)
add 239a6395648 Add support for filtering Dags by any DagRun state
(#68657) (#70292)
add 5659775b720 Upgrade NPM dependencies (#70254)
add 62423e3e987 [v3-3-test] Add partition date filters to Dag run API
(#68682) (#70304)
add f812def8776 Allow filtering the Dags list by failed and success runs
in any run state filter (#69875) (#70293)
add aedcc5069b8 Mark dags state and next-execution CLI commands as
migrated to airflowctl (#69305) (#70311)
add 3d05e08c8aa [v3-3-test] Run check-provider-yaml-valid when prek
scripts or providers config change (#70230) (#70282)
add bf6c14f1596 [v3-3-test] Fix Trigger Again showing empty config for the
selected run (#70248) (#70288)
add d4e4e576aa3 [v3-3-test] Resolve nested provider paths for conn-fields
check from the real directory tree (#70261) (#70367)
add 3b627816506 [v3-3-test] Stop skipping none_failed_min_one_success
tasks in mapped task groups (#69377) (#70318)
add 75d52154b02 [v3-3-test] Read fresh Dag bundle state during refresh
(#69830) (#70374)
add 983bddecc8a [v3-3-test] Highlight user-code frames in task log
tracebacks (#70294) (#70375)
add 3535f0cb6d0 [v3-3-test] Adding amoghrajesh as codeowner for registry
(#70381) (#70384)
add 32b27ea174f Bump the 3-3-auth-ui-package-updates group across 1
directory with 6 updates (#70407)
add 66a230853bc Fill Taiwanese Mandarin translation gap (#70379)
add faaeab9a611 Bump the github-actions-updates group with 8 updates
(#70412)
add 075c9462b96 [v3-3-test] UI: Fix task states stuck stale when a run
finishes quickly (#70319) (#70397)
add eb056a97fb5 Mark dags list-jobs as migrated to airflowctl (#70153)
(#70442)
add 70329c6d597 [v3-3-test] real example of CronDataIntervalTimetable and
DeltaDataIntervalTimetable (#70303) (#70434)
add d92f5eddc34 Remove no-op ServerResponseError re-raise blocks in
airflowctl operations (#70376) (#70460)
add ac61af57e56 Fix incorrect asset queued-event endpoint paths in
airflowctl (#70461) (#70463)
add ce0fd3f14f6 [v3-3-test] Fix conn-fields check crash for nested
provider packages (#70224) (#70279)
add 396f5f5fdc9 [v3-3-test] Add missing UI translations for Greek(el)
(#70467) (#70471)
add e1964cd2e65 [v3-3-test] Update French (fr) UI translations to 100%
coverage (#70387)
add 7d1bd4f36bd [v3-3-test] Allow multiple routes to show active
NavButtons (#69884) (#70200)
add 043b3ab0984 [v3-3-test] Fix DAG details active runs count to exclude
queued runs (#69769) (#70511)
add 3481ef4540f [v3-3-test] Complete Polish translation of the Airflow UI
(#70476) (#70507)
add da8c25d848a Simplify api docs on pattern search (#70202) (#70509)
add c6e42c90259 [v3-3-test] Bump @chakra-ui/react (#70401) (#70514)
add a2aea284d52 [v3-3-test] Ignore hidden directories when listing UI
translation locales (#70516) (#70518)
add 56dc77ced73 Bump eslint-plugin-unicorn to 72.0.0 (#70520)
add 3db8e458893 [v3-3-test] reject backslash-after-scheme urls in
is_safe_url (#70215) (#70515)
add 247385d642e [v3-3-test] Complete missing Arabic (ar) translations
(#70383) (#70510)
add e2990c55d74 [v3-3-test] Stop registry blips from failing integration
test jobs (#70524) (#70557)
add be661921e37 [v3-3-test] UI: Add Run ID filter to the Grid view
(#70150) (#70553)
add 432fefc6073 [v3-3-test] Clarify how to stop Breeze environments
(#70560) (#70563)
add aa16c245496 [v3-3-test] Complete missing Hebrew (he) translations
(#70382) (#70566)
add ff75d24f032 Fix grid/graph view topological sort for group-level and
cross-group dependencies (#69933) (#70591)
add 655ffab586f Bump the 3-3-fab-ui-package-updates group across 1
directory with 7 updates (#70605)
add 9790a30a1ff Bump the 3-3-auth-ui-package-updates group across 1
directory with 10 updates (#70610)
add bacf9cfbad4 [v3-3-test] Speed up constraints-version-check by
resolving the baseline once (#70559) (#70596)
add 15ec9f0e0b0 [v3-3-test] Catch lang-SDK Go example module drift before
it reaches main (#70568) (#70624)
add 32c4483fcd9 Bump the 3-3-edge-ui-package-updates group across 1
directory with 29 updates (#70615)
add 7d04ece9a46 Bump the 3-3-ui-plugin-template-package-updates group
across 1 directory with 22 updates (#70612)
add 4a548737885 Bump the github-actions-updates group with 5 updates
(#70613)
add 82fe885f4c2 [v3-3-test] Fix Grid view scrollbar hiding latest Dags run
(#69693) (#70555)
add 7c66d3b95be [v3-3-test] UI: Move JSON validation and prettifying into
JsonEditor (#70380) (#70554)
add 4719bb19da7 [v3-3-test] Clarify provider release testing status issue
creation instructions (#70356) (#70633)
add dbac0f19046 Bump the 3-3-registry-package-updates group across 1
directory with 2 updates (#70599)
add 4bc20e6e938 [v3-3-test] Clarify ``logging_config_class`` contract and
document ``REMOTE_TASK_LOG`` (#67104) (#70592)
add 690a64dc2f4 [v3-3-test] Fix #60763: Deactivate legacy DAGs with NULL
bundle_name during upgrade from 2.x to 3.x (#61019) (#70662)
add a877fa89f42 [v3-3-test] Make deadline reads and serialization robust
to dynamic/malformed intervals (#68919) (#70625)
add 41356404c2b [v3-3-test] Regenerate UI client and fix deadline alerts
with no fixed interval (#70637) (#70659)
add ab5532080c6 Add missing Simplified Chinese (zh-CN) translations for
dashboard and HITL (#70418)
add 875ac494a73 Add missing Simplified Chinese (zh-CN) translations for
dags, components, admin (#70419)
add ece81dd2b8e [v3-3-test] Review and update constraint dependencies
(#70652) (#70664)
add cdd806777a2 Bump eslint (#70698)
add 1d6dd85bd1a [v3-3-test] Hide run-on-latest-version option for
non-versioned bundles (#70427) (#70702)
add 4030dc4f598 [v3-3-test] Standardize Alembic migration descriptions and
add a style lint (#69537) (#70262)
add 0e415137601 Add missing Simplified Chinese (zh-CN) translations in
common.json (#70417)
add d08ac289ef8 [v3-3-test] add ownership (#70443) (#70447)
add 1ca02983ac6 [v3-3-test] Docs: clarify Databricks retry_delay uses
exponential backoff (#68622) (#70729)
add f888b94ff64 Revert "[v3-3-test] Docs: clarify Databricks retry_delay
uses exponential backoff (#68622) (#70729)"
add e45fb5c990b [v3-3-test] Document jwt_secret _secret and
LocalFilesystemBackend config support (#67940) (#70730)
add 9235e5c91af [v3-3-test] Fix getsection() dropping env-var overrides on
lazy-registered provider sections (#68895) (#70732)
add 79d52f5ad08 [v3-3-test] Improve SQLite test DB health checks (#68021)
(#70733)
add 07653ca3b83 [v3-3-test] Add run_type tag to dagrun.duration.failed
timeout metric (#67765) (#70731)
add 19cf2f33a07 [v3-3-test] Tidy taskgroup topo-sort tests; note why grid
group_dict is uncached (#70590) (#70686)
add c93ea0cb300 Bump the 3-3-uv-dependency-updates group in /dev/breeze
with 8 updates (#70608)
add ae84ab6935f Fix secrets not masked in Rendered Templates view with
KubernetesPodOperator (#68975) (#70756)
add fcfe46b68f8 Fix NPM vulenaribilities in simple auth manager (#70191)
(#70753)
add 1e07bdae52f Fix sphinx build error (#69505) (#70761)
add 34d9c9c92b2 Fix collapse button overlapping details panel content
(#69240) (#70751)
add a3c04144985 Filter stale Dag tags from public API (#66827) (#69156)
(#70746)
add 389b17a9383 Fix HTTP_422_UNPROCESSABLE_ENTITY deprecation warnings.
(#69415) (#70745)
add 80bda9a92b9 Fix blank Assets dependency graph from missing Dag nodes
(#69171) (#70743)
add 640ba63642b Remove a Dag Run or Task Instance note when its content is
cleared (#69033) (#70735)
add c183d07374a Fix cursor pagination dropping rows when sorting by a
nullable column (#68869) (#70739)
add 3ad7b64c39f Fix trigger kwargs decoding for asset watcher triggers
(#65992) (#70750)
add bb8198f6cab [v3-3-test] Speed up Trigger.clean_unused query to prevent
Triggerer crashes (#68244) (#70668)
add 8560f2ef652 Added deadlock detection in CommsDecoder (#68377) (#70744)
add 9efb0ac3338 [v3-3-test] Fix Gantt tooltip showing wrong end date on
queued/scheduled bars (#68570) (#70742)
add 6a258cd7f21 [v3-3-test] Make Dag pause toggle update immediately on
click (#69134) (#70741)
add e9116a93238 [v3-3-test] Fix N+1 queries in trigger asset event
submission (#65367) (#70738)
add e9df63c2494 [v3-3-test] UI: Wrap long plugin source path in
import-error dialog (#69111) (#70737)
add ef00c94574b [v3-3-test] Fix TaskInstance duration calculation with
SQLite (#68142) (#70734)
add 65563f595b9 [v3-3-test] Fix triggerer CrashLoopBackOff when json_logs
is enabled (#68584) (#70669)
add 179b1f041f6 [v3-3-test] Flag missing conn-fields when hook-only files
change in static checks (#70007)
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 (3dd083457d0)
\
N -- N -- N refs/heads/backport-ffe49c7-v3-3-test (179b1f041f6)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.agents/skills/airflow-translations/locales/el.md | 67 +-
.github/CODEOWNERS | 12 +-
.github/workflows/additional-ci-image-checks.yml | 2 +-
.github/workflows/additional-prod-image-tests.yml | 8 +-
.github/workflows/airflow-distributions-tests.yml | 2 +-
.github/workflows/airflow-e2e-tests.yml | 2 +-
.github/workflows/asf-allowlist-check.yml | 2 +-
.github/workflows/backport-cli.yml | 2 +-
.github/workflows/basic-tests.yml | 24 +-
.github/workflows/ci-amd.yml | 30 +-
.github/workflows/ci-arm.yml | 30 +-
.github/workflows/ci-duration-monitor.yml | 4 +-
.github/workflows/ci-image-build.yml | 2 +-
.github/workflows/ci-image-checks.yml | 18 +-
.github/workflows/ci-notification.yml | 8 +-
.github/workflows/codeql-analysis.yml | 10 +-
.github/workflows/e2e-flaky-tests-report.yml | 4 +-
.github/workflows/finalize-tests.yml | 6 +-
.github/workflows/generate-constraints.yml | 2 +-
.github/workflows/helm-tests.yml | 4 +-
.github/workflows/integration-system-tests.yml | 6 +-
.github/workflows/k8s-tests.yml | 8 +-
.github/workflows/milestone-tag-assistant.yml | 2 +-
.github/workflows/notify-uv-lock-conflicts.yml | 2 +-
.github/workflows/prod-image-build.yml | 4 +-
.github/workflows/publish-docs-to-s3.yml | 12 +-
.github/workflows/push-image-cache.yml | 4 +-
.github/workflows/registry-backfill.yml | 8 +-
.github/workflows/registry-build.yml | 4 +-
.github/workflows/registry-tests.yml | 4 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.../workflows/release_single_dockerhub_image.yml | 4 +-
.github/workflows/run-unit-tests.yml | 2 +-
.../scheduled-verify-release-calendar.yml | 4 +-
.github/workflows/test-providers.yml | 4 +-
.github/workflows/ui-e2e-tests.yml | 2 +-
.../update-constraints-on-push-stable.yml | 10 +-
.github/workflows/update-constraints-on-push.yml | 8 +-
.github/workflows/upgrade-check.yml | 6 +-
.pre-commit-config.yaml | 19 +-
.../advanced-logging-configuration.rst | 53 +-
.../docs/authoring-and-scheduling/timetable.rst | 20 +-
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/howto/set-config.rst | 1 +
airflow-core/docs/migrations-ref.rst | 34 +-
.../local-filesystem-secrets-backend.rst | 47 +-
airflow-core/newsfragments/67765.bugfix.rst | 1 +
airflow-core/newsfragments/69377.bugfix.rst | 1 +
airflow-core/newsfragments/69874.bugfix.rst | 1 +
airflow-core/pyproject.toml | 2 +-
airflow-core/src/airflow/api/common/mark_tasks.py | 44 +-
airflow-core/src/airflow/api_fastapi/app.py | 17 +-
.../auth/managers/simple/ui/package.json | 33 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 950 +--
.../src/airflow/api_fastapi/common/cursors.py | 66 +-
.../src/airflow/api_fastapi/common/exceptions.py | 51 +-
.../src/airflow/api_fastapi/common/parameters.py | 84 +-
.../src/airflow/api_fastapi/core_api/app.py | 7 -
.../api_fastapi/core_api/datamodels/ui/deadline.py | 31 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 250 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 1589 ++---
.../core_api/routes/public/connections.py | 5 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 79 +-
.../api_fastapi/core_api/routes/public/dag_tags.py | 11 +-
.../api_fastapi/core_api/routes/public/dags.py | 2 +-
.../core_api/routes/public/task_instances.py | 84 +-
.../airflow/api_fastapi/core_api/routes/ui/dags.py | 3 +
.../api_fastapi/core_api/routes/ui/dashboard.py | 44 +-
.../api_fastapi/core_api/routes/ui/deadlines.py | 2 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 58 +-
.../api_fastapi/core_api/routes/ui/structure.py | 6 +-
.../src/airflow/api_fastapi/core_api/security.py | 9 +-
.../core_api/services/public/dag_run.py | 31 +-
.../core_api/services/public/task_instances.py | 36 +-
.../core_api/services/ui/dependencies.py | 13 +
.../api_fastapi/core_api/services/ui/grid.py | 7 +-
.../api_fastapi/core_api/services/ui/task_group.py | 56 +-
.../src/airflow/api_fastapi/execution_api/app.py | 2 +
.../execution_api/routes/task_instances.py | 14 +-
.../src/airflow/cli/commands/dag_command.py | 3 +
.../config_templates/airflow_local_settings.py | 8 +
.../src/airflow/config_templates/config.yml | 9 +-
airflow-core/src/airflow/dag_processing/manager.py | 23 +-
.../src/airflow/jobs/scheduler_job_runner.py | 2 +-
.../src/airflow/jobs/triggerer_job_runner.py | 2 +-
airflow-core/src/airflow/logging_config.py | 50 +-
...03_2_7_0_add_include_deferred_column_to_pool.py | 2 +-
.../0004_2_8_0_add_clear_number_to_dag_run.py | 2 +-
...011_2_9_0_add_dataset_expression_in_dagmodel.py | 2 +-
...2_9_0_adding_adding_max_failure_runs_column_.py | 2 +-
...014_2_9_0_add_display_name_for_dag_and_task_.py | 2 +-
.../0015_2_9_0_update_trigger_kwargs_type.py | 2 +-
.../0019_2_10_0_add_new_executor_field_to_db.py | 2 +-
...2_10_0_added_dagpriorityparsingrequest_table.py | 2 +-
.../0043_3_0_0_remove_scheduler_lock_column.py | 2 +-
.../versions/0047_3_0_0_add_dag_versioning.py | 2 +-
...task_instance_trigger_timeout_to_utcdatetime.py | 2 +-
..._3_0_0_remove_pickled_data_from_dagrun_table.py | 2 +-
...3_0_0_add_new_task_instance_field_scheduled_.py | 2 +-
.../0059_3_0_0_remove_external_trigger_field.py | 2 +-
...4_3_1_0_add_last_parse_duration_to_dag_model.py | 2 +-
...3_2_0_replace_asset_trigger_table_with_asset.py | 2 +-
...0_3_2_0_add_timetable_type_to_dag_table_for_.py | 2 +-
airflow-core/src/airflow/models/dagrun.py | 14 +-
airflow-core/src/airflow/models/taskinstance.py | 5 +-
airflow-core/src/airflow/models/trigger.py | 17 +-
.../src/airflow/secrets/local_filesystem.py | 1 +
airflow-core/src/airflow/serialization/decoders.py | 23 +-
.../airflow/serialization/definitions/taskgroup.py | 25 +-
.../src/airflow/ti_deps/deps/trigger_rule_dep.py | 28 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 23 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 290 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 290 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 296 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 290 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 13 +-
.../ui/openapi-gen/requests/services.gen.ts | 284 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 298 +-
airflow-core/src/airflow/ui/package.json | 4 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 276 +-
.../airflow/ui/public/i18n/locales/ar/admin.json | 1 +
.../airflow/ui/public/i18n/locales/ar/assets.json | 20 +-
.../airflow/ui/public/i18n/locales/ar/common.json | 76 +-
.../ui/public/i18n/locales/ar/components.json | 2 +
.../src/airflow/ui/public/i18n/locales/ar/dag.json | 20 +-
.../airflow/ui/public/i18n/locales/ar/dags.json | 11 +
.../ui/public/i18n/locales/ar/dashboard.json | 22 +
.../airflow/ui/public/i18n/locales/ar/hitl.json | 14 +
.../airflow/ui/public/i18n/locales/el/admin.json | 32 +-
.../airflow/ui/public/i18n/locales/el/assets.json | 26 +-
.../airflow/ui/public/i18n/locales/el/browse.json | 44 +-
.../airflow/ui/public/i18n/locales/el/common.json | 207 +-
.../ui/public/i18n/locales/el/components.json | 46 +-
.../src/airflow/ui/public/i18n/locales/el/dag.json | 118 +-
.../airflow/ui/public/i18n/locales/el/dags.json | 23 +-
.../ui/public/i18n/locales/el/dashboard.json | 23 +-
.../airflow/ui/public/i18n/locales/el/hitl.json | 18 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 1 +
.../airflow/ui/public/i18n/locales/en/dags.json | 2 +
.../airflow/ui/public/i18n/locales/fr/admin.json | 1 +
.../airflow/ui/public/i18n/locales/fr/assets.json | 17 +
.../airflow/ui/public/i18n/locales/fr/browse.json | 19 +
.../airflow/ui/public/i18n/locales/fr/common.json | 73 +-
.../ui/public/i18n/locales/fr/components.json | 5 +
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 26 +-
.../airflow/ui/public/i18n/locales/fr/dags.json | 2 +
.../ui/public/i18n/locales/fr/dashboard.json | 21 +
.../airflow/ui/public/i18n/locales/fr/hitl.json | 14 +
.../airflow/ui/public/i18n/locales/he/admin.json | 1 +
.../airflow/ui/public/i18n/locales/he/assets.json | 17 +
.../airflow/ui/public/i18n/locales/he/common.json | 87 +-
.../ui/public/i18n/locales/he/components.json | 2 +
.../src/airflow/ui/public/i18n/locales/he/dag.json | 22 +
.../airflow/ui/public/i18n/locales/he/dags.json | 11 +
.../ui/public/i18n/locales/he/dashboard.json | 19 +
.../airflow/ui/public/i18n/locales/he/hitl.json | 14 +
.../airflow/ui/public/i18n/locales/pl/admin.json | 1 +
.../airflow/ui/public/i18n/locales/pl/assets.json | 23 +-
.../airflow/ui/public/i18n/locales/pl/common.json | 54 +-
.../ui/public/i18n/locales/pl/components.json | 2 +
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 26 +-
.../airflow/ui/public/i18n/locales/pl/dags.json | 6 +-
.../ui/public/i18n/locales/pl/dashboard.json | 22 +-
.../airflow/ui/public/i18n/locales/pl/hitl.json | 14 +
.../ui/public/i18n/locales/zh-CN/admin.json | 1 +
.../ui/public/i18n/locales/zh-CN/common.json | 66 +-
.../ui/public/i18n/locales/zh-CN/components.json | 2 +
.../airflow/ui/public/i18n/locales/zh-CN/dags.json | 2 +
.../ui/public/i18n/locales/zh-CN/dashboard.json | 18 +
.../airflow/ui/public/i18n/locales/zh-CN/hitl.json | 14 +
.../ui/public/i18n/locales/zh-TW/components.json | 1 +
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 2 +
.../src/airflow/ui/src/components/AnsiRenderer.tsx | 2 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 21 +-
.../Clear/TaskInstance/runOnLatestVersion.test.ts | 17 +-
.../Clear/TaskInstance/runOnLatestVersion.ts | 3 +-
.../airflow/ui/src/components/JsonEditor.test.tsx | 86 +
.../src/airflow/ui/src/components/JsonEditor.tsx | 23 +-
.../ui/src/components/MarkdownModal.test.tsx | 1 +
.../components/TriggerDag/TriggerDAGForm.test.tsx | 46 +-
.../src/components/TriggerDag/TriggerDAGForm.tsx | 12 +-
.../ui/src/components/renderStructuredLog.test.tsx | 41 +
.../ui/src/components/renderStructuredLog.tsx | 16 +-
.../src/airflow/ui/src/constants/searchParams.ts | 1 +
.../src/airflow/ui/src/hooks/usePluginTabs.tsx | 9 +-
.../ui/src/layouts/Details/DetailsLayout.tsx | 31 +-
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 4 +
.../ui/src/layouts/Details/Gantt/GanttTimeline.tsx | 2 +-
.../ui/src/layouts/Details/Gantt/utils.test.ts | 66 +-
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 7 +-
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 32 +-
.../airflow/ui/src/layouts/Details/GridFilters.tsx | 1 +
.../src/airflow/ui/src/layouts/Nav/AdminButton.tsx | 23 +-
.../airflow/ui/src/layouts/Nav/BrowseButton.tsx | 23 +-
.../src/airflow/ui/src/layouts/Nav/Nav.tsx | 1 +
.../airflow/ui/src/layouts/Nav/NavButton.test.tsx | 114 +
.../src/airflow/ui/src/layouts/Nav/NavButton.tsx | 37 +-
.../src/airflow/ui/src/layouts/Nav/PluginMenus.tsx | 7 +-
.../airflow/ui/src/layouts/Nav/SecurityButton.tsx | 30 +-
.../src/airflow/ui/src/mocks/handlers/log.ts | 2 +-
.../src/pages/Asset/CreateAssetEventModal.test.tsx | 1 +
.../ui/src/pages/Asset/CreateAssetEventModal.tsx | 21 +-
.../ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx | 89 +
.../ui/src/pages/Dag/DeadlineAlertsBadge.tsx | 13 +-
.../ui/src/pages/Dag/Overview/DeadlineRow.tsx | 20 +-
.../DagsList/DagsFilters/DagsFilters.test.tsx | 7 +-
.../src/pages/DagsList/DagsFilters/DagsFilters.tsx | 46 +-
.../pages/DagsList/DagsFilters/RunStateSelect.tsx | 87 +
.../pages/DagsList/DagsFilters/StateFilters.tsx | 75 -
.../ui/src/pages/DagsList/DagsList.test.tsx | 14 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 3 +
.../Dashboard/Stats/PluginImportErrorsModal.tsx | 23 +-
.../airflow/ui/src/pages/Dashboard/Stats/Stats.tsx | 4 +-
.../airflow/ui/src/pages/Run/DeadlineStatus.tsx | 23 +-
.../ui/src/pages/Run/DeadlineStatusModal.tsx | 16 +-
.../src/pages/TaskInstance/RenderedTemplates.tsx | 2 +-
.../ui/src/pages/TaskInstance/TaskInstance.tsx | 29 +-
.../src/airflow/ui/src/queries/useDags.tsx | 3 +
.../src/airflow/ui/src/queries/useGridRuns.ts | 14 +
.../src/airflow/ui/src/queries/useGridStructure.ts | 14 +
.../ui/src/queries/useGridTISummaries.test.tsx | 93 +
.../airflow/ui/src/queries/useGridTISummaries.ts | 13 +-
.../airflow/ui/src/queries/useTogglePause.test.tsx | 183 +
.../src/airflow/ui/src/queries/useTogglePause.ts | 104 +-
.../src/airflow/ui/src/utils/datetimeUtils.test.ts | 31 +-
.../src/airflow/ui/src/utils/datetimeUtils.ts | 7 +
.../src/airflow/ui/src/utils/deadlines.test.ts | 52 +
airflow-core/src/airflow/ui/src/utils/deadlines.ts | 44 +
airflow-core/src/airflow/ui/src/utils/logs.test.ts | 21 +-
airflow-core/src/airflow/ui/src/utils/logs.ts | 5 +
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 26 +-
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 7 +-
.../ui/tests/e2e/specs/home-dashboard.spec.ts | 2 +-
airflow-core/src/airflow/utils/db_manager.py | 8 +
.../tests/unit/api/common/test_mark_tasks.py | 9 +-
.../tests/unit/api_fastapi/common/test_cursors.py | 123 +-
.../unit/api_fastapi/common/test_exceptions.py | 47 +-
.../core_api/routes/public/test_dag_run.py | 269 +-
.../core_api/routes/public/test_dag_tags.py | 9 +-
.../core_api/routes/public/test_dags.py | 2 +-
.../core_api/routes/public/test_task_instances.py | 176 +
.../api_fastapi/core_api/routes/ui/test_dags.py | 27 +
.../core_api/routes/ui/test_dashboard.py | 2 +-
.../core_api/routes/ui/test_deadlines.py | 83 +-
.../core_api/routes/ui/test_dependencies.py | 30 +
.../api_fastapi/core_api/routes/ui/test_grid.py | 33 +
.../unit/api_fastapi/core_api/test_security.py | 8 +
.../unit/api_fastapi/execution_api/test_app.py | 18 +-
.../versions/head/test_task_instances.py | 60 +-
.../unit/cli/commands/test_command_deprecations.py | 3 +
airflow-core/tests/unit/core/test_configuration.py | 30 +
.../tests/unit/dag_processing/test_manager.py | 70 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 38 +
airflow-core/tests/unit/jobs/test_triggerer_job.py | 123 +-
.../tests/unit/listeners/class_listener.py | 14 +
.../tests/unit/logging/test_logging_config.py | 63 +
.../tests/unit/models/test_mappedoperator.py | 79 +
.../tests/unit/models/test_taskinstance.py | 37 +-
airflow-core/tests/unit/models/test_trigger.py | 22 +
airflow-core/tests/unit/utils/test_db_manager.py | 8 +
airflow-core/tests/unit/utils/test_task_group.py | 129 +-
airflow-ctl/src/airflowctl/api/operations.py | 470 +-
.../tests/airflow_ctl/api/test_operations.py | 31 +
contributing-docs/03_contributors_quick_start.rst | 16 +-
contributing-docs/14_metadata_database_updates.rst | 4 +-
contributing-docs/mprocs/MPROCS_QUICK_REFERENCE.md | 8 +
dev/README_RELEASE_PROVIDERS.md | 88 +-
dev/breeze/doc/03_developer_tasks.rst | 17 +-
dev/breeze/doc/ci/04_selective_checks.md | 13 +-
.../airflow_breeze/commands/testing_commands.py | 7 +
.../src/airflow_breeze/commands/ui_commands.py | 2 +-
.../utils/constraints_version_check.py | 211 +-
.../airflow_breeze/utils/docker_command_utils.py | 79 +
.../src/airflow_breeze/utils/selective_checks.py | 8 +-
dev/breeze/tests/test_constraints_version_check.py | 169 +
dev/breeze/tests/test_docker_command_utils.py | 82 +
dev/breeze/tests/test_selective_checks.py | 31 +
dev/breeze/tests/test_ui_commands.py | 17 +
dev/breeze/uv.lock | 84 +-
dev/react-plugin-tools/README.md | 8 +
dev/react-plugin-tools/bootstrap.py | 23 +-
.../react_plugin_template/ai-agent-rules/README.md | 43 +
.../ai-agent-rules/airflow-plugin.md | 17 +-
.../ai-agent-rules/react-typescript.md | 18 +-
.../ai-agent-rules/testing.md | 13 +-
.../react_plugin_template/package.json | 44 +-
.../react_plugin_template/pnpm-lock.yaml | 2845 ++++----
devel-common/src/tests_common/pytest_plugin.py | 178 +-
.../tests/unit/tests_common/test_pytest_plugin.py | 463 ++
providers/.pre-commit-config.yaml | 8 +
providers/atlassian/jira/provider.yaml | 12 +
.../providers/atlassian/jira/get_provider_info.py | 7 +
.../airflow/providers/atlassian/jira/hooks/jira.py | 1 -
providers/databricks/README.rst | 2 +-
providers/databricks/docs/index.rst | 2 +-
providers/databricks/pyproject.toml | 2 +-
.../providers/edge3/plugins/www/package.json | 58 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 3079 ++++-----
.../fab/src/airflow/providers/fab/www/package.json | 14 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 724 +-
pyproject.toml | 8 +-
registry/package.json | 4 +-
registry/pnpm-lock.yaml | 150 +-
scripts/ci/prek/check_go_example_mod_tidy.py | 126 +
scripts/ci/prek/check_migration_patterns.py | 52 +-
scripts/ci/prek/check_provider_yaml_files.py | 41 +-
scripts/ci/prek/common_prek_utils.py | 2 +-
scripts/ci/prek/update_airflow_pyproject_toml.py | 4 +-
.../ci/testing/run_integration_tests_with_retry.sh | 5 +
scripts/in_container/run_generate_constraints.py | 18 +-
.../ci/prek/test_check_go_example_mod_tidy.py | 99 +
.../tests/ci/prek/test_check_migration_patterns.py | 67 +-
.../ci/prek/test_check_provider_yaml_files.py | 84 +
scripts/tests/test_react_plugin_bootstrap.py | 83 +
.../src/airflow_shared/configuration/parser.py | 2 +-
shared/dagnode/src/airflow_shared/dagnode/node.py | 38 +
.../logging/src/airflow_shared/logging/remote.py | 20 +-
task-sdk/src/airflow/sdk/definitions/taskgroup.py | 23 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 52 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 28 +-
task-sdk/src/airflow/sdk/log.py | 7 +-
.../tests/task_sdk/definitions/test_taskgroup.py | 3 +-
task-sdk/tests/task_sdk/execution_time/conftest.py | 12 +
.../tests/task_sdk/execution_time/test_comms.py | 155 +-
.../tests/task_sdk/execution_time/test_context.py | 93 +
uv.lock | 7275 +++++++++++---------
326 files changed, 17121 insertions(+), 11217 deletions(-)
create mode 100644 airflow-core/newsfragments/67765.bugfix.rst
create mode 100644 airflow-core/newsfragments/69377.bugfix.rst
create mode 100644 airflow-core/newsfragments/69874.bugfix.rst
create mode 100644
airflow-core/src/airflow/ui/src/components/JsonEditor.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Nav/NavButton.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/RunStateSelect.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/StateFilters.tsx
create mode 100644
airflow-core/src/airflow/ui/src/queries/useTogglePause.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/utils/deadlines.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/deadlines.ts
create mode 100644 dev/breeze/tests/test_constraints_version_check.py
create mode 100644
dev/react-plugin-tools/react_plugin_template/ai-agent-rules/README.md
copy devel-common/src/tests_common/test_utils/README.md =>
dev/react-plugin-tools/react_plugin_template/ai-agent-rules/airflow-plugin.md
(52%)
copy devel-common/src/tests_common/test_utils/README.md =>
dev/react-plugin-tools/react_plugin_template/ai-agent-rules/react-typescript.md
(54%)
copy devel-common/src/tests_common/test_utils/README.md =>
dev/react-plugin-tools/react_plugin_template/ai-agent-rules/testing.md (62%)
create mode 100644 devel-common/tests/unit/tests_common/test_pytest_plugin.py
create mode 100755 scripts/ci/prek/check_go_example_mod_tidy.py
mode change 100644 => 100755 scripts/ci/prek/check_migration_patterns.py
create mode 100644 scripts/tests/ci/prek/test_check_go_example_mod_tidy.py
create mode 100644 scripts/tests/ci/prek/test_check_provider_yaml_files.py
create mode 100644 scripts/tests/test_react_plugin_bootstrap.py