This is an automated email from the ASF dual-hosted git repository.
vatsrahul1001 pushed a change to branch backport-c22cc6d-v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
from f84e4291ced [v3-3-test] Pin lang-SDK k8s test's Go/Java SDKs to
upstream main (#69545)
add b21256bc7d7 [v3-3-test] Add missing Dutch translations (#68742)
(#70004)
add 7c77f8be7f3 [v3-3-test] Don't deactivate DAG bundles owned by other
dag-processors (#69964) (#70017)
add 5f429f241fa [v3-3-test] Skip Go SDK CI jobs for doc-only changes under
go-sdk/ (#70021) (#70024)
add c5619e74dd2 [v3-3-test] UI: Lazy-mount the pause confirmation dialog
on Dag cards and rows (#70016) (#70025)
add 3efaef322e1 [v3-3-test] Clarify AssetPartitionDagRun provisional-run
docstring (#69982) (#70104)
add a2d3a606d8c [v3-3-test] Discount CI image-build time from
duration-trend alerts (#69789) (#70102)
add 7210bc766dd [v3-3-test] Upgrade http to https in PR template (#70063)
(#70106)
add 67704a79d3d [v3-3-test] docs: fix stale Airflow 2.0 references in
dev/README.md (#69961) (#70107)
add 213649a3e57 [v3-3-test] Let area:e2e-tests label force the
airflow-e2e-tests suite (#69993) (#70108)
add 40d67071dae [v3-3-test] Automate keeping documented "tested with"
versions in sync with the test matrix (#69124) (#70109)
add 95935e09835 [v3-3-test] Fix Breeze OpenLineage integration gate stuck
on stale Postgres versions (#69264) (#70110)
add 2a58b2e02c9 Update documented tested database versions for Airflow 3.3
(#70118)
add c91b6400c90 Authorize Dag reparse against the file's Dags, not the
query-string dag_id (#69471) (#70115)
add 2b68a6293dd Add API endpoint for backfill dag run entries (#67381)
(#70127)
add 649ba73f60b Bump the 3-3-auth-ui-package-updates group across 1
directory with 9 updates (#70036)
add ee5d380a235 [v3-3-test] Fix task instance mark success downstream
default (#67763) (#70143)
add 9eac46f0e05 [v3-3-test] Suppress noisy Alembic plugin setup logs
(#69916) (#70116)
add 1ebf5c9a424 [v3-3-test] Restore pluggable email backend for task
failure and retry alerts (#69877) (#70129)
add 3a157b1ac5a [v3-3-test] Walk nested lists/tuples/sets in secrets
masker key-name redaction (#68422) (#70189)
add ed859a0b122 [v3-3-test] UI: Complete Spanish UI translations (#68743)
(#70196)
add af1e5b8904e [v3-3-test] UI: Make duration charts readable at a glance
(#70142) (#70197)
add a875a3f0a91 Fill Taiwanese Mandarin translation gap (#70195)
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 6b8039c922b Merge branch 'v3-3-test' into backport-c22cc6d-v3-3-test
No new revisions were added by this update.
Summary of changes:
.agents/skills/airflow-translations/locales/el.md | 67 +-
.github/CODEOWNERS | 10 +-
.github/PULL_REQUEST_TEMPLATE.md | 2 +-
.github/boring-cyborg.yml | 3 +
.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 | 23 +
.../advanced-logging-configuration.rst | 53 +-
.../docs/authoring-and-scheduling/timetable.rst | 20 +-
airflow-core/docs/installation/prerequisites.rst | 8 +-
airflow-core/newsfragments/69377.bugfix.rst | 1 +
airflow-core/newsfragments/69874.bugfix.rst | 1 +
airflow-core/newsfragments/69877.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 +-
.../simple/ui/openapi-gen/queries/common.ts | 2 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 2 +-
.../simple/ui/openapi-gen/queries/index.ts | 2 +-
.../ui/openapi-gen/queries/infiniteQueries.ts | 2 +-
.../simple/ui/openapi-gen/queries/prefetch.ts | 2 +-
.../simple/ui/openapi-gen/queries/queries.ts | 2 +-
.../simple/ui/openapi-gen/queries/suspense.ts | 2 +-
.../simple/ui/openapi-gen/requests/client.gen.ts | 4 +-
.../ui/openapi-gen/requests/client/client.gen.ts | 19 +-
.../simple/ui/openapi-gen/requests/client/index.ts | 2 +
.../ui/openapi-gen/requests/client/types.gen.ts | 19 +-
.../ui/openapi-gen/requests/client/utils.gen.ts | 22 +-
.../ui/openapi-gen/requests/core/auth.gen.ts | 7 +
.../requests/core/bodySerializer.gen.ts | 14 +-
.../ui/openapi-gen/requests/core/params.gen.ts | 41 +-
.../requests/core/pathSerializer.gen.ts | 12 +-
.../requests/core/queryKeySerializer.gen.ts | 2 +-
.../requests/core/serverSentEvents.gen.ts | 9 +-
.../ui/openapi-gen/requests/core/types.gen.ts | 8 +-
.../ui/openapi-gen/requests/core/utils.gen.ts | 10 +-
.../simple/ui/openapi-gen/requests/sdk.gen.ts | 14 +-
.../auth/managers/simple/ui/package.json | 38 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 1274 ++--
.../src/airflow/api_fastapi/common/exceptions.py | 48 +-
.../src/airflow/api_fastapi/common/parameters.py | 84 +-
.../src/airflow/api_fastapi/core_api/app.py | 7 -
.../api_fastapi/core_api/datamodels/backfills.py | 22 +
.../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 | 1737 ++---
.../core_api/routes/public/backfills.py | 39 +
.../core_api/routes/public/dag_parsing.py | 49 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 72 +-
.../api_fastapi/core_api/routes/public/dags.py | 2 +-
.../core_api/routes/public/task_instances.py | 73 +-
.../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 | 53 +-
.../api_fastapi/core_api/routes/ui/structure.py | 6 +-
.../src/airflow/api_fastapi/core_api/security.py | 53 +-
.../core_api/services/public/dag_run.py | 25 +-
.../core_api/services/public/task_instances.py | 32 +-
.../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 +-
.../src/airflow/dag_processing/bundles/manager.py | 15 +-
airflow-core/src/airflow/dag_processing/manager.py | 27 +-
airflow-core/src/airflow/logging_config.py | 50 +-
airflow-core/src/airflow/models/asset.py | 12 +-
airflow-core/src/airflow/models/dagrun.py | 14 +-
.../airflow/serialization/definitions/taskgroup.py | 25 +-
.../src/airflow/ti_deps/deps/trigger_rule_dep.py | 28 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 32 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 307 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 307 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 313 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 307 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 115 +-
.../ui/openapi-gen/requests/services.gen.ts | 318 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 360 +-
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 +
.../ui/public/i18n/locales/en/components.json | 1 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 1 +
.../airflow/ui/public/i18n/locales/en/dags.json | 2 +
.../airflow/ui/public/i18n/locales/es/admin.json | 27 +-
.../airflow/ui/public/i18n/locales/es/assets.json | 27 +-
.../airflow/ui/public/i18n/locales/es/browse.json | 45 +-
.../airflow/ui/public/i18n/locales/es/common.json | 120 +-
.../ui/public/i18n/locales/es/components.json | 37 +-
.../src/airflow/ui/public/i18n/locales/es/dag.json | 118 +-
.../airflow/ui/public/i18n/locales/es/dags.json | 10 +
.../ui/public/i18n/locales/es/dashboard.json | 17 +-
.../airflow/ui/public/i18n/locales/es/hitl.json | 17 +-
.../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/nl/assets.json | 17 +
.../airflow/ui/public/i18n/locales/nl/browse.json | 18 +
.../airflow/ui/public/i18n/locales/nl/common.json | 64 +-
.../ui/public/i18n/locales/nl/components.json | 24 +-
.../src/airflow/ui/public/i18n/locales/nl/dag.json | 105 +-
.../airflow/ui/public/i18n/locales/nl/dags.json | 25 +-
.../ui/public/i18n/locales/nl/dashboard.json | 14 +
.../airflow/ui/public/i18n/locales/nl/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/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/common.json | 41 +
.../ui/public/i18n/locales/zh-TW/components.json | 2 +
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 5 -
.../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 +-
.../ui/src/components/ConfirmationModal.tsx | 8 +-
.../airflow/ui/src/components/DurationChart.tsx | 278 +-
.../airflow/ui/src/components/JsonEditor.test.tsx | 86 +
.../src/airflow/ui/src/components/JsonEditor.tsx | 23 +-
.../TaskInstance/MarkTaskInstanceAsDialog.test.tsx | 90 +
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 1 -
.../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 | 5 +
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 4 +
.../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 +-
.../airflow/ui/src/pages/Dag/Overview/Overview.tsx | 12 +-
.../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 +
.../airflow/ui/src/pages/Dashboard/Stats/Stats.tsx | 4 +-
.../airflow/ui/src/pages/Run/DeadlineStatus.tsx | 23 +-
.../ui/src/pages/Run/DeadlineStatusModal.tsx | 16 +-
.../ui/src/pages/Task/Overview/Overview.tsx | 18 +-
.../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 +-
.../src/airflow/ui/src/utils/datetimeUtils.test.ts | 81 +-
.../src/airflow/ui/src/utils/datetimeUtils.ts | 57 +
.../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 +
.../{RouterWrapper.test.tsx => median.test.ts} | 37 +-
.../timezone/useTimezone.ts => utils/median.ts} | 18 +-
.../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 +-
.../tests/unit/api/common/test_mark_tasks.py | 9 +-
.../unit/api_fastapi/common/test_exceptions.py | 40 +
.../core_api/routes/public/test_backfills.py | 167 +
.../core_api/routes/public/test_dag_parsing.py | 11 +-
.../core_api/routes/public/test_dag_run.py | 219 +-
.../core_api/routes/public/test_dags.py | 2 +-
.../core_api/routes/public/test_task_instances.py | 61 +
.../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 +-
.../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 +
.../bundles/test_dag_bundle_manager.py | 56 +
.../tests/unit/dag_processing/test_manager.py | 84 +-
.../tests/unit/dag_processing/test_processor.py | 86 +-
.../tests/unit/listeners/class_listener.py | 14 +
.../tests/unit/logging/test_logging_config.py | 63 +
.../tests/unit/models/test_mappedoperator.py | 79 +
airflow-core/tests/unit/utils/test_task_group.py | 128 +-
.../src/airflowctl/api/datamodels/generated.py | 25 +
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/mprocs/MPROCS_QUICK_REFERENCE.md | 8 +
dev/README.md | 12 +-
dev/README_RELEASE_PROVIDERS.md | 88 +-
dev/breeze/doc/03_developer_tasks.rst | 17 +-
dev/breeze/doc/ci/04_selective_checks.md | 14 +-
.../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 | 87 +-
.../src/airflow_breeze/utils/selective_checks.py | 22 +-
dev/breeze/tests/test_constraints_version_check.py | 169 +
dev/breeze/tests/test_docker_command_utils.py | 164 +
dev/breeze/tests/test_selective_checks.py | 71 +
dev/breeze/tests/test_ui_commands.py | 17 +
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 ++++----
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/analyze_ci_job_durations.py | 276 +-
scripts/ci/prek/check_go_example_mod_tidy.py | 126 +
scripts/ci/prek/check_provider_yaml_files.py | 53 +-
scripts/ci/prek/common_prek_utils.py | 38 +-
scripts/ci/prek/extract_permissions.py | 1 +
scripts/ci/prek/update_airflow_pyproject_toml.py | 4 +-
scripts/ci/prek/update_tested_versions.py | 209 +
.../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 +
.../ci/prek/test_check_provider_yaml_files.py | 84 +
scripts/tests/ci/prek/test_common_prek_utils.py | 40 +
.../tests/ci/prek/test_update_tested_versions.py | 123 +
scripts/tests/ci/test_analyze_ci_job_durations.py | 233 +-
scripts/tests/test_react_plugin_bootstrap.py | 83 +
shared/dagnode/src/airflow_shared/dagnode/node.py | 38 +
.../logging/src/airflow_shared/logging/remote.py | 20 +-
.../src/airflow_shared/logging/structlog.py | 1 +
shared/logging/tests/logging/test_structlog.py | 13 +
.../secrets_masker/secrets_masker.py | 40 +-
.../tests/secrets_masker/test_secrets_masker.py | 14 +
task-sdk/src/airflow/sdk/definitions/taskgroup.py | 23 +-
.../airflow/sdk/execution_time/email_backend.py | 92 +
.../src/airflow/sdk/execution_time/task_runner.py | 48 +-
task-sdk/src/airflow/sdk/log.py | 7 +-
.../tests/task_sdk/definitions/test_taskgroup.py | 3 +-
.../task_sdk/execution_time/test_email_backend.py | 86 +
.../task_sdk/execution_time/test_task_runner.py | 95 +
uv.lock | 7275 +++++++++++---------
342 files changed, 18293 insertions(+), 11763 deletions(-)
create mode 100644 airflow-core/newsfragments/69377.bugfix.rst
create mode 100644 airflow-core/newsfragments/69874.bugfix.rst
create mode 100644 airflow-core/newsfragments/69877.bugfix.rst
create mode 100644
airflow-core/src/airflow/ui/src/components/JsonEditor.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/MarkAs/TaskInstance/MarkTaskInstanceAsDialog.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/utils/deadlines.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/deadlines.ts
copy airflow-core/src/airflow/ui/src/utils/{RouterWrapper.test.tsx =>
median.test.ts} (52%)
copy airflow-core/src/airflow/ui/src/{context/timezone/useTimezone.ts =>
utils/median.ts} (70%)
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 100755 scripts/ci/prek/check_go_example_mod_tidy.py
create mode 100755 scripts/ci/prek/update_tested_versions.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/ci/prek/test_update_tested_versions.py
create mode 100644 scripts/tests/test_react_plugin_bootstrap.py
create mode 100644 task-sdk/src/airflow/sdk/execution_time/email_backend.py
create mode 100644 task-sdk/tests/task_sdk/execution_time/test_email_backend.py