This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a change to branch breeze-install-from-lock
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 790126def2e Run breeze from the locked dev/breeze environment
add f5e083dfbbf Bump the github-actions-updates group across 1 directory
with 5 updates (#72224)
add 33222eaeeb5 Drop provider dependency from airflow-core secrets backend
tests (#71677)
add 15217b00c27 Bump the auth-ui-package-updates group across 1 directory
with 7 updates (#72215)
add 449e589da21 Restrict MSGraph deferrable pagination to the configured
host (#71842)
add 964407f66ca Fix static checks randomly failing with "PYTHONWARNINGS
not set" (#72226)
add 96b2af5cbd6 Bump @types/react-dom (#72211)
add 7f81eb4537f Bump swagger-ui-dist (#71893)
add b9e4957975b Bump the eslint group across 1 directory with 2 updates
(#72212)
add cdc5d9facec Accept only the configured client on the Keycloak
client_credentials grant (#72205)
add 188a744c0b9 Reject tokens naming a deactivated account in the FAB auth
manager (#72199)
add b908c63ae63 Use a structured SecretCache key instead of a concatenated
string (#72201)
add ff601cb5b75 Compare session and user identifiers consistently when
resetting a password (#72198)
add e00e53257e9 Add SerializedVariableInterval for deadline alerts (#71802)
add 82215cf97c7 Add single-use callback token for deadline callback
context fetch (#71192)
add 39b48040226 Avoid extra_dejson in ADF and Synapse async hooks (#72130)
add 5dcee04992a Add warning for HttpOperator deferrable with
non-idempotent methods (#69748)
add 39b5871e16f Fix grammar, casing, and typo across testing docs and prek
scripts (#72252)
add e671bcb031e Bump sqlparse from 0.5.5 to 0.6.0 (#71739)
add fbea214082d Monitor the workflow run breeze actually dispatched
(#71305)
add aab7ed86c57 Bump the ui-plugin-template-package-updates group across 1
directory with 9 updates (#72217)
add 144a87dfe94 Bump the core-ui-package-updates group across 1 directory
with 16 updates (#72234)
add f8957f62a46 Bump eslint from 10.9.0 to 10.9.1 in
/airflow-core/src/airflow/ui in the eslint group across 1 directory (#72233)
add 1f51acbed19 Bind Keycloak cookie tokens to the Airflow session
identity (#72207)
add 49789f2846e Fix plugin registration returning early on duplicate names
in Task SDK (#72253)
add 3c011c888b9 Bump the typescript group across 1 directory with 4
updates (#71897)
add c0ae2127e17 Fix passphrase quoting in decrypt_remote_file_to_string
for Windows (#69908)
add 31fb1d28f2f Bump the ts-sdk-package-updates group across 1 directory
with 4 updates (#72213)
add b61f35966ca Remove stale is_async docstring param from await_pod_start
(#72261)
add 7b79b81a1e2 Keep Campaign Manager delete report provision check in
__init__ (#70530)
add 166a1ba1eec Validate deferred trigger classpath resolves to a
BaseTrigger subclass (#69792)
add af0a3770a68 Enable ruff B023 (function-uses-loop-variable) and fix
violations (#70640)
add 40f76fc1080 Add example DAG demonstrating Deadline Alerts (#66269)
add 618d6489b34 Remove redundant _set_context in SnowflakeSqlApiTrigger
(#71659)
add 5dabdb8f586 Improve code coverage for the connection hook metadata
service (#72248)
add caa8f286a06 Update providers metadata 2026-08-29 (#72274)
add f760ac1c03b Stop airflowctl e2e xcom tests failing on a slow compose
stack (#72260)
add 0a13635c64e Cancel Snowflake queries when a user kills the deferred
task (#69635)
add 14397bc547c Make the CI unit test timeout fire before the job timeout
does (#72259)
add f2db94d08d1 Refactor validate_key to raise ValueError instead of
AirflowException (#68890)
add b0721979b92 Fix connection metadata test across Python versions
(#72293)
add 6402213dc52 Export AIRFLOW_TEST_MODE from airflow tasks test without
--env-vars (#72291)
add 7818b16048c UI: Translate durations and relative times in the selected
language (#72309)
add b9b471177c6 Extend user settings with additional configuration (#71699)
add f7a2f4e6b0d UI: Show duration chart tooltips in the selected timezone
(#72024)
add 15c8d68f84d Make Dags list e2e filters wait on the request that
actually fires (#72040)
add 4dae472e41a Respect the limit search param in the task overview
duration chart (#72147)
add c6854682bc5 UI: Add team column and filter to the XComs list (#72158)
add f806187dc85 UI: Add team column and filter to the deadlines list
(#72060)
add c951918e0f5 UI: Rename components/ui to system-components and group
imports (#72349)
add a32662cc0ef IBM Db2 provider: skip None-valued extra parameters to
avoid KEY=None in connection strings (#72025)
add 24d8c66ee11 Prevent Dag CLI subcommands from being silently dropped
(#72340)
add 2aae2829723 Support multiple_outputs in @task.bash (#71808)
add bf976c8805a Fix documentation example for scheduler resources (#72099)
add dbeeb2c71bb Bump the fab-ui-package-updates group across 1 directory
with 4 updates (#72383)
add fb1d49d5d70 Bump the edge-ui-package-updates group across 1 directory
with 13 updates (#72257)
add 3e93c772281 Generate fab permission table (#72230)
add dbaf9c63199 Add KubernetesPodExecOperator for existing Kubernetes Pods
(#71244)
add bdb9580de61 Helm: Point flower extraNetworkPolicies deprecation at the
real key (#72052)
add b9d52f770c3 Remove dead type-mismatched guard in airflow-ctl command
generation (#70945)
add 7036d244b13 Fix Helm chart rendering an invalid label for multi-team
executors (#72200)
add ab0e48e275d Fix to Broken link in Tasks SDK Documentation (#72443)
add 38401f87041 Pin pnpm version for FAB and Edge3 UI so bumps keep
security overrides (#72390)
add d41f589538b Add YashrajG to INTHEWILD (#72418)
add 9b3cc52821e Change the path from airflow.utils.state.TaskInstanceState
to `airflow.sdk.TaskInstanceState` for informatica provider (#72445)
add b3b62fa8cf3 Add unit tests for common AI provider exceptions (#72082)
add e15f0d3bf12 Bump webpack (#72490)
add 760ee9a2d39 Fix SageMaker Unified Studio trigger hook config (#72453)
add dc529a12f1b Keycloak auth manager: keep API tokens usable with the
Authorization (#72381)
add 6815d040ed1 Add dedicated exceptions for terminal waiter failures and
max-attempt exhaustion, and allow AWS triggers to customize exception-to-event
translation without reimplementing the shared waiter lifecycle. (#72455)
add 8cbbf7c62c5 Fix HITL form crashing on null values (#72375)
add 1c23f876f23 UI: Set the API client base URL before the first startup
request (#72374)
add 0f7f45f674c Fix XComs e2e filter tests: scope the filter input by
testid (#72438)
add 90354f166e1 Fix EmrContainerSensor reporting success for an unknown
job state (#72500)
add f23c096635f Stop airflowctl integration tests timing out right after a
Dag run starts (#72523)
add c77ec694d1a Fix LlamaIndexHook docs to stop claiming Ollama/vLLM
support (#72013)
add 6d4808b4e80 Add require_approval preflight check to
@task.llm_schema_compare (#71688)
add bcc430f5835 Fix DAG.cli() crashing on dags pause and unpause (#72109)
add 84128892672 Stop airflow standalone leaking components when one fails
to start (#72464)
add d1587ae4af1 Remove the dead CFullLoader branch from the YAML helpers
(#70943)
add 9f978d30097 Show the test type description in provider compatibility
job names (#72551)
add 6445ba58062 Add tests for edge3 worker API app and JWT auth (#72482)
add 0e0b175ed20 Bump the edge-ui-package-updates group across 1 directory
with 10 updates (#72528)
add 80090d2ddfe Fix mismatched AirflowConfigException in celery and edge3
(#72437)
add 20563781c3d Fix airflow connections test returning success exit code
on failure (#72548)
add a29f0dadcf3 Stop airflow providers get --full mutating cached provider
metadata (#72346)
add 577496acc3b Honor Airflow log levels in Go task logging (#71882)
add d305f889112 Instruct AI agents not to include issue tracker in PR
title (#71327)
add 72d42aebdec Fix airflow dags list --columns help showing wrong default
columns (#72607)
add 80797faf6d0 Fix incorrect documented defaults in Amazon operators and
sensors (#72315)
add 06c58123d6e Reuse Java SDK E2E Dag runs across assertions (#71812)
add 328730cbcd9 Add Azure Analysis Services model refresh support (#71350)
add a3b5b0be783 Reduce per-task DB round trips in the asset dependency
graph API (#71915)
add 08e428ca8ab Fix db migrate failure to Airflow 2.9.2 under PyMySQL
driver (#70235)
add aead4430729 Load the correct DAG version when a task starts from a
trigger (#69988)
add 1a5b65144f4 Clarify `@task` decorated callable errors when extra
positional arguments are passed. (#69157)
add 8e8f8266a53 Record six recurring non-issue shapes in the security
model (#72239)
add adaaf3a01ec Fix hierarchical_alphabetical sort order breaking the
graph and grid (#72137)
add ddc423bbd84 Fix mark-failed KeyError for removed-task TIs (#72338)
(#72394)
add fb8779b7dd1 Fix misleading error for malformed version in airflow db
downgrade (#72331)
add 123b1be6585 Remove unused legacy action logging helper (#72324)
add 4c3ffe8a2f1 i18n(ko): add missing translations(Sep 1) (#72372)
add 2da70dc8d0e Upgrade react-resizable-panels to v4 (#70820)
add b3bcf9f89dd Support a regex for the API's CORS allowed origins (#71778)
add 33d99159929 Improve documentation for the KafkaEventProducer plugin
(#71085)
add 61e8bb8f7a8 Bump the eslint group across 1 directory with 2 updates
(#72525)
add fb512efe2ac Add asset state store commands to airflowctl (#70771)
add 5c40e732444 Prevent Dag-existence disclosure on partitioned dag runs
listing (#72640)
add 4c32caa92ba Trace the dag-processor job instead of its parent process
with memray (#72367)
add 42bbe8d5916 Fix deferrable autofix inserting a forbidden conf import
in providers (#72366)
add baa949fd4b0 Fix Dag metrics dropped when a tag contains invalid
characters (#72364)
add 1be286ecfe4 Fix a bad retry env var taking down the whole airflowctl
CLI (#72429)
add ed90dbb161a Stop Breeze from hanging on unresponsive Docker (#72439)
add 10d9349bccc Document Colima and DOCKER_HOST setup for Breeze
contributors (#72431)
add 093c1cacc72 Fix airflowctl list argument parsing (#72454)
add 688dff54a08 Flag deprecated expose_config=non-sensitive-only in config
lint (#72507)
add 35c1b6830a8 Bump the github-actions-updates group with 4 updates
(#72539)
add ec71f28f2db Show which processes hold the Breeze UI dev ports when
start-airflow fails (#72564)
add 74d7ffabebe Fix the prek cache key so the jobs that read it can hit it
(#72489)
add 437f1b2cc91 Fix GoogleDriveHook.get_file_id parent query operand order
(#72541) (#72543)
add ab6c60c964b Pin devel dependencies to uv.lock in provider compat CI
jobs (#72581)
add 9260ec0dd12 Keep provider_config_fallback_defaults.cfg in sync with
provider.yaml (#72549)
add 8d16905d77e Bump the uv-dependency-updates group across 1 directory
with 8 updates (#72667)
add 31117014f3c Fix Dag scheduling stall after switching to a coarser cron
(#72498)
add 9c96e91c79b Close German Translation Gaps 2026-09-07 (#72630)
add 884c6577070 Java SDK: Document char is not supported for XCom
parameters (#70239)
add 5677af31e96 Migrate anthropic provider to use anthropic 1.x SDK
(#72094)
add dfa9bea7946 Install apache-magpie from its plugin marketplace (#72673)
add d1d0c351c7c Bump webpack (#72653)
add a88aaff4199 Fix breeze --include-mypy-volume not mounting the mypy
cache volume (#72569)
add 0b064f58663 Remove 值 from passwordToggle translations (#72684)
add eb0cf61f7a0 Add deferrable mode to SnowparkContainerJobOperator
(#70103)
add 7e4b35198ac Bump the core-ui-package-updates group across 1 directory
with 17 updates (#72632)
add e47ee93d74a Bump eslint-plugin-unicorn (#72532)
add e88a264e156 Add SSL cipher list option to the api server (#71645)
add d675437ccdf Add an allowlist config option for Kafka connection string
callbacks (#72208)
add 165b4956988 Distinguish empty plugin folder from plugin load failures
in logs (#72432)
add 39a5b937bdc Restore LIMIT 1 on single-row XCom lookups (#72554)
add c9a62d2f835 Fix Firefox multi-line drag selection in task log view
(#72034)
add 80db0f249fd Backfills UI filters (#71467)
add f28c8ce2737 Remove unregistered duplicate shared-library import prek
script (#72686)
add 4277ca890df Fix collection error and timeout assertion in Snowpark
container tests (#72709)
add a93e9a2e5fb Sync the browser URL with navigation inside iframe views
(#72196)
add 7d5fe632a62 Indent the Dag code fixtures in the version inflation
checker tests (#72181)
add 8850c326bdc Stop agent scratch directories from breaking the
boring-cyborg check (#72642)
add 96cb273c72a Run breeze from the locked dev/breeze environment
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 (790126def2e)
\
N -- N -- N refs/heads/breeze-install-from-lock (96cb273c72a)
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/magpie-setup/SKILL.md | 431 ----
.agents/skills/magpie-setup/adopt.md | 1470 -----------
.agents/skills/magpie-setup/agents.md | 199 --
.agents/skills/magpie-setup/overrides.md | 136 -
.agents/skills/magpie-setup/skill-sources.md | 278 ---
.agents/skills/magpie-setup/unadopt.md | 418 ----
.agents/skills/magpie-setup/upgrade.md | 807 ------
.agents/skills/magpie-setup/verify.md | 787 ------
.agents/skills/magpie-setup/worktree-init.md | 285 ---
.apache-magpie-overrides/README.md | 6 +-
.apache-magpie.lock | 6 -
.claude/skills/magpie-setup | 1 -
.github/actions/install-prek/action.yml | 28 +-
.github/skills/magpie-setup | 1 -
.github/workflows/airflow-e2e-tests.yml | 2 +-
.github/workflows/basic-tests.yml | 3 +-
.github/workflows/ci-amd.yml | 4 +-
.github/workflows/ci-arm.yml | 4 +-
.github/workflows/ci-image-checks.yml | 3 +-
.github/workflows/codeql-analysis.yml | 8 +-
.github/workflows/generate-constraints.yml | 13 +-
.github/workflows/java-sdk-dependency-security.yml | 2 +-
.github/workflows/java-sdk-release-verify.yml | 4 +-
.github/workflows/k8s-tests.yml | 2 +-
.github/workflows/prod-image-build.yml | 6 +-
.github/workflows/publish-docs-to-s3.yml | 2 +-
.github/workflows/registry-backfill.yml | 4 +-
.github/workflows/registry-build.yml | 2 +-
.github/workflows/registry-tests.yml | 2 +-
.github/workflows/run-unit-tests.yml | 13 +-
.github/workflows/test-providers.yml | 28 +-
.github/workflows/upgrade-check.yml | 2 -
.gitignore | 37 +-
.pre-commit-config.yaml | 39 +-
AGENTS.md | 57 +-
Dockerfile.ci | 6 +-
INTHEWILD.md | 2 +-
README.md | 37 +-
.../docs/authoring-and-scheduling/deferring.rst | 3 +-
.../authoring-and-scheduling/event-scheduling.rst | 33 +
.../language-sdks/java.rst | 8 +
airflow-core/docs/cli-and-env-variables-ref.rst | 1 -
airflow-core/docs/howto/set-config.rst | 1 -
airflow-core/docs/security/api.rst | 11 +
airflow-core/docs/security/security_model.rst | 101 +
airflow-core/newsfragments/68890.significant.rst | 6 +
airflow-core/newsfragments/69792.bugfix.rst | 1 +
airflow-core/newsfragments/71192.significant.rst | 12 +
airflow-core/newsfragments/71802.bugfix.rst | 1 +
airflow-core/newsfragments/72374.bugfix.rst | 1 +
airflow-core/src/airflow/api/common/mark_tasks.py | 1 +
.../api_fastapi/auth/managers/base_auth_manager.py | 16 +
.../auth/managers/simple/ui/package.json | 16 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 670 ++---
.../src/airflow/api_fastapi/common/parameters.py | 22 +
.../src/airflow/api_fastapi/core_api/app.py | 4 +-
.../api_fastapi/core_api/datamodels/ui/deadline.py | 1 +
.../api_fastapi/core_api/datamodels/xcom.py | 1 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 203 ++
.../core_api/openapi/v2-rest-api-generated.yaml | 23 +
.../api_fastapi/core_api/routes/public/xcom.py | 31 +-
.../api_fastapi/core_api/routes/ui/backfills.py | 25 +-
.../api_fastapi/core_api/routes/ui/deadlines.py | 10 +-
.../core_api/routes/ui/partitioned_dag_runs.py | 12 +-
.../core_api/services/ui/dependencies.py | 56 +-
.../src/airflow/api_fastapi/execution_api/app.py | 8 +-
.../api_fastapi/execution_api/datamodels/token.py | 2 +-
.../api_fastapi/execution_api/routes/__init__.py | 2 +
.../api_fastapi/execution_api/routes/callbacks.py | 85 +
.../execution_api/routes/task_instances.py | 6 +-
.../api_fastapi/execution_api/routes/xcoms.py | 4 +-
.../airflow/api_fastapi/execution_api/security.py | 18 +-
.../api_fastapi/execution_api/versions/__init__.py | 7 +-
.../execution_api/versions/v2026_10_30.py | 12 +
.../src/airflow/api_fastapi/gunicorn_app.py | 4 +
airflow-core/src/airflow/cli/cli_config.py | 25 +-
.../src/airflow/cli/commands/api_server_command.py | 14 +
.../src/airflow/cli/commands/config_command.py | 7 +
.../src/airflow/cli/commands/connection_command.py | 1 +
.../src/airflow/cli/commands/dag_command.py | 16 +-
.../airflow/cli/commands/dag_processor_command.py | 8 +-
.../src/airflow/cli/commands/db_command.py | 8 +
.../src/airflow/cli/commands/provider_command.py | 3 +-
.../src/airflow/cli/commands/standalone_command.py | 4 +-
.../src/airflow/cli/commands/task_command.py | 2 +-
.../src/airflow/config_templates/config.yml | 21 +
.../provider_config_fallback_defaults.cfg | 11 +-
.../airflow/example_dags/example_deadline_alert.py | 61 +
.../src/airflow/executors/workloads/base.py | 11 +-
.../src/airflow/executors/workloads/callback.py | 4 +-
.../src/airflow/jobs/scheduler_job_runner.py | 8 +-
.../src/airflow/jobs/triggerer_job_runner.py | 38 +-
...nconsistency_between_ORM_and_migration_files.py | 132 +-
.../0101_3_2_0_ui_improvements_for_deadlines.py | 6 +
airflow-core/src/airflow/models/dagbag.py | 8 +
airflow-core/src/airflow/models/taskinstance.py | 2 +-
airflow-core/src/airflow/plugins_manager.py | 11 +-
airflow-core/src/airflow/serialization/decoders.py | 10 +-
.../src/airflow/serialization/definitions/dag.py | 9 +-
.../airflow/serialization/definitions/deadline.py | 28 +-
.../airflow/serialization/definitions/taskgroup.py | 14 +
airflow-core/src/airflow/timetables/interval.py | 25 +-
airflow-core/src/airflow/ui/.prettierrc | 12 +-
airflow-core/src/airflow/ui/AGENTS.md | 2 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 37 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 60 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 60 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 60 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 60 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 44 +
.../ui/openapi-gen/requests/services.gen.ts | 49 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 31 +
airflow-core/src/airflow/ui/package.json | 64 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 1208 ++++-----
.../airflow/ui/public/i18n/locales/de/common.json | 34 +-
.../ui/public/i18n/locales/de/components.json | 4 +
.../airflow/ui/public/i18n/locales/de/dags.json | 8 +
.../airflow/ui/public/i18n/locales/en/common.json | 22 +
.../airflow/ui/public/i18n/locales/ko/common.json | 25 +
.../ui/public/i18n/locales/ko/components.json | 4 +
.../ui/public/i18n/locales/zh-TW/components.json | 4 +-
airflow-core/src/airflow/ui/rules/core.js | 8 +-
airflow-core/src/airflow/ui/rules/perfectionist.js | 8 +
airflow-core/src/airflow/ui/src/basePath.ts | 39 +
.../components/ActionAccordion/ActionAccordion.tsx | 7 +-
.../ui/src/components/ActionAccordion/columns.tsx | 4 +-
.../src/airflow/ui/src/components/ActionErrors.tsx | 4 +-
.../ui/src/components/AdvancedSearchToggle.tsx | 2 +-
.../src/airflow/ui/src/components/AnsiRenderer.tsx | 3 +-
.../src/components/AssetExpression/AndGateNode.tsx | 3 +-
.../components/AssetExpression/AssetExpression.tsx | 3 +-
.../src/components/AssetExpression/AssetNode.tsx | 4 +-
.../src/components/AssetExpression/OrGateNode.tsx | 3 +-
.../ui/src/components/AssetProgressCell.tsx | 4 +-
.../ui/src/components/Assets/AssetEvent.test.tsx | 1 +
.../ui/src/components/Assets/AssetEvent.tsx | 4 +-
.../ui/src/components/Assets/AssetEvents.tsx | 4 +-
.../ui/src/components/Assets/AssetEventsFilter.tsx | 1 +
.../ui/src/components/Assets/ListPopover.tsx | 7 +-
.../src/components/Assets/TriggeredRuns.test.tsx | 1 +
.../ui/src/components/Assets/TriggeredRuns.tsx | 3 +-
.../ui/src/components/AttrSelectFilterMulti.tsx | 2 +-
.../src/components/Banner/BackfillBanner.test.tsx | 1 +
.../ui/src/components/Banner/BackfillBanner.tsx | 4 +-
.../src/airflow/ui/src/components/BasicTooltip.tsx | 3 +-
.../airflow/ui/src/components/Breadcrumb/Crumb.tsx | 4 +-
.../ui/src/components/Clear/Run/ClearRunButton.tsx | 4 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 9 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 9 +-
.../Clear/TaskInstance/ClearTaskInstanceButton.tsx | 5 +-
.../ClearTaskInstanceConfirmationDialog.tsx | 7 +-
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 9 +-
.../src/airflow/ui/src/components/ConfigForm.tsx | 6 +-
.../ui/src/components/ConfirmationModal.tsx | 2 +-
.../airflow/ui/src/components/DAGWarningsModal.tsx | 3 +-
.../src/components/DagActions/DeleteDagButton.tsx | 4 +-
.../components/DagActions/FavoriteDagButton.tsx | 3 +-
.../src/components/DagActions/ParseDagButton.tsx | 3 +-
.../DagActions/PartitionPreviewTable.tsx | 4 +-
.../components/DagActions/RunBackfillForm.test.tsx | 3 +-
.../src/components/DagActions/RunBackfillForm.tsx | 10 +-
.../components/DagActions/inlineMessage.test.tsx | 3 +-
.../ui/src/components/DagDeactivatedBanner.tsx | 1 +
.../src/airflow/ui/src/components/DagRunInfo.tsx | 5 +-
.../src/airflow/ui/src/components/DagVersion.tsx | 3 +-
.../ui/src/components/DagVersionDetails.tsx | 1 +
.../airflow/ui/src/components/DagVersionSelect.tsx | 1 +
.../ui/src/components/DataTable/CardList.tsx | 3 +-
.../ui/src/components/DataTable/DataTable.tsx | 6 +-
.../src/components/DataTable/FilterMenuButton.tsx | 3 +-
.../ui/src/components/DataTable/TableList.tsx | 3 +-
.../components/DataTable/ToggleTableDisplay.tsx | 2 +-
.../airflow/ui/src/components/DataTable/types.ts | 3 +-
.../src/components/DataTable/useRowSelection.tsx | 2 +-
.../ui/src/components/DateTimeInput.test.tsx | 3 +-
.../airflow/ui/src/components/DateTimeInput.tsx | 7 +-
.../src/airflow/ui/src/components/DeleteDialog.tsx | 2 +-
.../ui/src/components/DisplayMarkdownButton.tsx | 6 +-
.../ui/src/components/DurationChart.test.tsx | 66 +
.../airflow/ui/src/components/DurationChart.tsx | 6 +-
.../ui/src/components/EditableMarkdownButton.tsx | 3 +-
.../src/airflow/ui/src/components/ErrorAlert.tsx | 2 +-
.../ui/src/components/ExpandCollapseButtons.tsx | 2 +-
.../ui/src/components/FilterBar/FilterBar.test.tsx | 21 +-
.../ui/src/components/FilterBar/FilterBar.tsx | 6 +-
.../ui/src/components/FilterBar/FilterPill.tsx | 6 +-
.../ui/src/components/FilterBar/defaultIcons.tsx | 1 +
.../components/FilterBar/filters/DateFilter.tsx | 3 +-
.../src/components/FilterBar/filters/DateInput.tsx | 6 +-
.../FilterBar/filters/DateRangeFilter.test.tsx | 3 +-
.../FilterBar/filters/DateRangeFilter.tsx | 3 +-
.../FilterBar/filters/DateRangeInputs.tsx | 3 +-
.../FilterBar/filters/MultiSelectPill.tsx | 4 +-
.../components/FilterBar/filters/NumberFilter.tsx | 2 +-
.../components/FilterBar/filters/SelectFilter.tsx | 5 +-
.../components/FilterBar/filters/TagsFilter.tsx | 1 +
.../FilterBar/filters/TextSearchFilter.tsx | 8 +-
.../FilterBar/filters/TimetableTypeFilter.tsx | 1 +
.../ui/src/components/FlexibleForm/FieldBool.tsx | 3 +-
.../components/FlexibleForm/FieldDateTime.test.tsx | 26 +
.../src/components/FlexibleForm/FieldDateTime.tsx | 6 +-
.../components/FlexibleForm/FieldMultiSelect.tsx | 3 +-
.../src/components/FlexibleForm/FieldMultiType.tsx | 3 +-
.../ui/src/components/FlexibleForm/FieldNumber.tsx | 3 +-
.../src/components/FlexibleForm/FieldPassword.tsx | 4 +-
.../ui/src/components/FlexibleForm/FieldRow.tsx | 4 +-
.../src/components/FlexibleForm/FlexibleForm.tsx | 6 +-
.../airflow/ui/src/components/Graph/DagNode.tsx | 4 +-
.../ui/src/components/Graph/DownloadButton.tsx | 2 +-
.../ui/src/components/Graph/NodeWrapper.tsx | 3 +-
.../ui/src/components/Graph/SegmentedStateBar.tsx | 1 +
.../airflow/ui/src/components/Graph/TaskLink.tsx | 2 +
.../ui/src/components/Graph/TaskNode.test.tsx | 4 +-
.../airflow/ui/src/components/Graph/TaskNode.tsx | 3 +-
.../airflow/ui/src/components/GraphTaskFilters.tsx | 10 +-
.../src/components/HITLReview/HITLReviewDetail.tsx | 1 +
.../HITLReview/HITLReviewDetailSummary.tsx | 10 +-
.../src/components/HITLReview/HITLReviewList.tsx | 1 +
.../components/HITLReview/HITLReviewModal.test.tsx | 1 +
.../src/components/HITLReview/HITLReviewModal.tsx | 9 +-
.../useHITLReviewModalRouteSync.test.tsx | 3 +-
.../HITLReview/useHITLReviewModalRouteSync.ts | 1 +
.../src/airflow/ui/src/components/HeaderCard.tsx | 4 +-
.../src/airflow/ui/src/components/JsonEditor.tsx | 1 +
.../KeyboardShortcuts/KeyboardShortcutsModal.tsx | 6 +-
.../airflow/ui/src/components/LimitedItemsList.tsx | 5 +-
.../src/components/MarkAs/Run/MarkRunAsButton.tsx | 8 +-
.../src/components/MarkAs/Run/MarkRunAsDialog.tsx | 8 +-
.../MarkAs/TaskGroup/MarkTaskGroupAsButton.tsx | 8 +-
.../MarkAs/TaskGroup/MarkTaskGroupAsDialog.tsx | 9 +-
.../TaskInstance/MarkTaskInstanceAsButton.tsx | 8 +-
.../TaskInstance/MarkTaskInstanceAsDialog.test.tsx | 1 +
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 9 +-
.../ui/src/components/MarkdownModal.test.tsx | 3 +-
.../airflow/ui/src/components/MarkdownModal.tsx | 7 +-
.../airflow/ui/src/components/MatchModeToggle.tsx | 3 +-
.../airflow/ui/src/components/NeedsReviewBadge.tsx | 4 +-
.../ui/src/components/NeedsReviewButton.tsx | 2 +
.../src/airflow/ui/src/components/NotePreview.tsx | 6 +-
.../airflow/ui/src/components/PasswordToggle.tsx | 2 +-
.../src/airflow/ui/src/components/PoolBar.test.tsx | 1 +
.../src/airflow/ui/src/components/PoolBar.tsx | 5 +-
.../ui/src/components/PresetFiltersMenu.test.tsx | 3 +-
.../ui/src/components/PresetFiltersMenu.tsx | 7 +-
.../airflow/ui/src/components/ReactMarkdown.tsx | 5 +-
.../ui/src/components/ReactMarkdownBlocks.tsx | 6 +-
.../ui/src/components/RenderedJsonField.tsx | 7 +-
.../ui/src/components/RollupKeyChecklist.tsx | 2 +-
.../src/airflow/ui/src/components/SearchBar.tsx | 8 +-
.../src/components/SearchDags/SearchDags.test.tsx | 1 +
.../ui/src/components/SearchDags/SearchDags.tsx | 2 +
.../src/components/SlowestTaskInstancesChart.tsx | 1 +
.../ui/src/components/SqlParserProvider.tsx | 3 +-
.../src/airflow/ui/src/components/Stat.tsx | 3 +-
.../src/airflow/ui/src/components/StateBadge.tsx | 3 +-
.../src/airflow/ui/src/components/StatsCard.tsx | 4 +-
.../airflow/ui/src/components/StoreValueCell.tsx | 1 +
.../ui/src/components/TaskInstanceTooltip.test.tsx | 1 +
.../ui/src/components/TaskInstanceTooltip.tsx | 5 +-
.../src/airflow/ui/src/components/TaskName.tsx | 3 +-
.../ui/src/components/TaskTrySelect.test.tsx | 3 +-
.../airflow/ui/src/components/TaskTrySelect.tsx | 5 +-
.../src/airflow/ui/src/components/TeamName.tsx | 4 +-
.../src/airflow/ui/src/components/TeamSelector.tsx | 3 +-
.../ui/src/components/TimeRangeSelector.tsx | 3 +-
.../src/airflow/ui/src/components/TogglePause.tsx | 3 +-
.../airflow/ui/src/components/TrendCountChart.tsx | 3 +-
.../src/components/TriggerDag/EditableMarkdown.tsx | 3 +-
.../src/components/TriggerDag/TriggerDAGButton.tsx | 6 +-
.../src/components/TriggerDag/TriggerDAGForm.tsx | 7 +-
.../src/components/TriggerDag/TriggerDAGModal.tsx | 8 +-
.../src/airflow/ui/src/components/WarningAlert.tsx | 2 +-
.../ui/src/components/renderStructuredLog.tsx | 7 +-
.../src/airflow/ui/src/components/ui/Tag.tsx | 44 -
.../src/airflow/ui/src/constants/filterConfigs.tsx | 52 +-
.../src/airflow/ui/src/constants/localStorage.ts | 2 +
.../ui/src/constants/reprocessBehaviourParams.ts | 6 +-
.../src/airflow/ui/src/constants/searchParams.ts | 12 +
airflow-core/src/airflow/ui/src/constants/tab.ts | 33 +
.../ui/src/context/ChakraCustomProvider.tsx | 4 +-
.../ui/src/context/groups/GroupsProvider.tsx | 5 +-
.../ui/src/context/timezone/TimezoneProvider.tsx | 1 +
.../src/airflow/ui/src/hooks/navigation/types.ts | 1 +
.../ui/src/hooks/navigation/useNavigation.ts | 3 +
.../src/airflow/ui/src/hooks/useDateRangeFilter.ts | 4 +-
.../src/airflow/ui/src/hooks/useHITLReviewTabs.ts | 4 +-
.../src/airflow/ui/src/hooks/useIframeUrlSync.ts | 170 ++
.../ui/src/hooks/usePluginAppliesToContext.ts | 1 +
.../airflow/ui/src/hooks/usePluginTabs.test.tsx | 1 +
.../src/airflow/ui/src/hooks/usePluginTabs.tsx | 2 +
.../airflow/ui/src/hooks/useRequiredActionTabs.ts | 1 +
.../src/airflow/ui/src/hooks/useSelectedVersion.ts | 1 +
.../src/airflow/ui/src/hooks/useShortcut.test.tsx | 3 +-
.../src/airflow/ui/src/hooks/useShortcut.ts | 1 +
.../airflow/ui/src/hooks/useUserSettings.test.tsx | 58 +
.../src/airflow/ui/src/hooks/useUserSettings.ts | 15 +
airflow-core/src/airflow/ui/src/i18n/config.ts | 14 +-
.../src/airflow/ui/src/i18n/dayjsLocale.test.ts | 86 +
.../src/airflow/ui/src/i18n/dayjsLocale.ts | 90 +
.../src/airflow/ui/src/layouts/BaseLayout.tsx | 8 +-
.../src/airflow/ui/src/layouts/DagsLayout.tsx | 3 +-
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 3 +-
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 2 +
.../ui/src/layouts/Details/DagRunSelect.tsx | 5 +-
.../ui/src/layouts/Details/DagSwitcherButton.tsx | 7 +-
.../ui/src/layouts/Details/DetailsLayout.tsx | 57 +-
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 11 +-
.../layouts/Details/Gantt/GanttTimeline.test.tsx | 4 +-
.../ui/src/layouts/Details/Gantt/GanttTimeline.tsx | 11 +-
.../ui/src/layouts/Details/Gantt/utils.test.ts | 1 +
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 4 +-
.../ui/src/layouts/Details/Graph/Graph.test.tsx | 1 +
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 8 +-
.../Details/Graph/components/FitViewOnLayout.tsx | 3 +-
.../layouts/Details/Graph/useGraphFilteredNodes.ts | 3 +-
.../airflow/ui/src/layouts/Details/Grid/Bar.tsx | 1 +
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 6 +-
.../ui/src/layouts/Details/Grid/GridButton.tsx | 2 +
.../layouts/Details/Grid/GridPaginationButtons.tsx | 2 +-
.../ui/src/layouts/Details/Grid/GridTI.test.tsx | 1 +
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 2 +
.../ui/src/layouts/Details/Grid/RunTypeLegend.tsx | 4 +-
.../layouts/Details/Grid/TaskInstancesColumn.tsx | 1 +
.../ui/src/layouts/Details/Grid/TaskNames.tsx | 4 +-
.../src/layouts/Details/Grid/VersionIndicator.tsx | 2 +-
.../src/layouts/Details/Grid/useGridPagination.ts | 1 +
.../Details/Grid/useGridRunsWithVersionFlags.ts | 1 +
.../airflow/ui/src/layouts/Details/GridFilters.tsx | 1 +
.../src/airflow/ui/src/layouts/Details/NavTabs.tsx | 3 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 23 +-
.../ui/src/layouts/Details/TaskStreamFilter.tsx | 6 +-
.../ui/src/layouts/Details/ToggleGroups.tsx | 1 +
.../src/airflow/ui/src/layouts/Nav/AdminButton.tsx | 4 +-
.../airflow/ui/src/layouts/Nav/BrowseButton.tsx | 4 +-
.../src/airflow/ui/src/layouts/Nav/DocsButton.tsx | 3 +-
.../airflow/ui/src/layouts/Nav/LanguageModal.tsx | 2 +-
.../ui/src/layouts/Nav/LanguageSelector.tsx | 3 +-
.../src/airflow/ui/src/layouts/Nav/LogoutModal.tsx | 1 +
.../src/airflow/ui/src/layouts/Nav/Nav.test.tsx | 78 +
.../src/airflow/ui/src/layouts/Nav/Nav.tsx | 16 +-
.../airflow/ui/src/layouts/Nav/NavButton.test.tsx | 3 +-
.../src/airflow/ui/src/layouts/Nav/NavButton.tsx | 3 +-
.../airflow/ui/src/layouts/Nav/PluginMenuItem.tsx | 1 +
.../ui/src/layouts/Nav/PluginMenus.test.tsx | 1 +
.../src/airflow/ui/src/layouts/Nav/PluginMenus.tsx | 3 +-
.../airflow/ui/src/layouts/Nav/SecurityButton.tsx | 3 +-
.../airflow/ui/src/layouts/Nav/TimezoneModal.tsx | 2 +-
.../ui/src/layouts/Nav/TimezoneSelector.tsx | 3 +-
.../ui/src/layouts/Nav/TokenGenerationModal.tsx | 7 +-
.../ui/src/layouts/Nav/UserSettingsButton.test.tsx | 1 +
.../ui/src/layouts/Nav/UserSettingsButton.tsx | 5 +-
airflow-core/src/airflow/ui/src/main.tsx | 10 +-
.../src/airflow/ui/src/mocks/handlers/backfills.ts | 86 +
.../src/airflow/ui/src/mocks/handlers/index.ts | 2 +
.../src/airflow/ui/src/pages/Asset/Asset.tsx | 2 +-
.../src/airflow/ui/src/pages/Asset/AssetEvents.tsx | 2 +
.../src/airflow/ui/src/pages/Asset/AssetGraph.tsx | 2 +
.../src/airflow/ui/src/pages/Asset/AssetLayout.tsx | 48 +-
.../ui/src/pages/Asset/AssetPanelButtons.tsx | 6 +-
.../Asset/AssetStateStore/AssetStateStore.tsx | 2 +
.../Asset/AssetStateStore/AssetStateStoreModal.tsx | 8 +-
.../ClearAllAssetStateStoreButton.tsx | 2 +
.../DeleteAssetStateStoreButton.tsx | 5 +-
.../AssetStateStore/EditAssetStateStoreButton.tsx | 2 +-
.../ui/src/pages/Asset/CreateAssetEvent.tsx | 3 +-
.../src/pages/Asset/CreateAssetEventModal.test.tsx | 10 +-
.../ui/src/pages/Asset/CreateAssetEventModal.tsx | 9 +-
.../src/airflow/ui/src/pages/Asset/Header.tsx | 1 +
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 8 +-
.../ui/src/pages/AssetsList/DependencyPopover.tsx | 5 +-
.../src/airflow/ui/src/pages/Configs/Configs.tsx | 2 +
.../src/pages/Connections/AddConnectionButton.tsx | 3 +-
.../ui/src/pages/Connections/ConnectionForm.tsx | 7 +-
.../pages/Connections/ConnectionStandardFields.tsx | 4 +-
.../ui/src/pages/Connections/Connections.tsx | 9 +-
.../pages/Connections/DeleteConnectionButton.tsx | 3 +-
.../pages/Connections/DeleteConnectionsButton.tsx | 4 +-
.../src/pages/Connections/EditConnectionButton.tsx | 4 +-
.../src/pages/Connections/TestConnectionButton.tsx | 5 +-
.../pages/Dag/Backfills/BackfillDagRunsModal.tsx | 8 +-
.../ui/src/pages/Dag/Backfills/Backfills.test.tsx | 22 +-
.../ui/src/pages/Dag/Backfills/Backfills.tsx | 61 +-
.../Dag/Backfills/BackfillsDateFilter.test.tsx | 52 +
.../Dag/Backfills/BackfillsFilters.tsx} | 34 +-
.../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx | 9 +-
.../ui/src/pages/Dag/Calendar/CalendarLegend.tsx | 2 +-
.../ui/src/pages/Dag/Calendar/calendarUtils.ts | 1 +
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 9 +-
.../ui/src/pages/Dag/Code/CodeDiffViewer.tsx | 1 +
.../airflow/ui/src/pages/Dag/Code/FileLocation.tsx | 2 +-
.../ui/src/pages/Dag/Code/VersionCompareSelect.tsx | 1 +
airflow-core/src/airflow/ui/src/pages/Dag/Dag.tsx | 7 +-
.../airflow/ui/src/pages/Dag/DagHeader.test.tsx | 1 +
.../ui/src/pages/Dag/DagImportErrorModal.tsx | 4 +-
.../ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx | 1 +
.../ui/src/pages/Dag/DeadlineAlertsBadge.tsx | 4 +-
.../src/airflow/ui/src/pages/Dag/Details.tsx | 5 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 7 +-
.../src/pages/Dag/Overview/AllDeadlinesModal.tsx | 9 +-
.../ui/src/pages/Dag/Overview/DagDeadlines.tsx | 5 +-
.../ui/src/pages/Dag/Overview/DeadlineRow.tsx | 5 +-
.../ui/src/pages/Dag/Overview/FailedLogs.tsx | 7 +-
.../ui/src/pages/Dag/Overview/Overview.test.tsx | 1 +
.../airflow/ui/src/pages/Dag/Overview/Overview.tsx | 8 +-
.../ui/src/pages/Dag/Overview/TaskLogPreview.tsx | 13 +-
.../Dag/Tasks/TaskFilters/AttrSelectFilter.tsx | 2 +-
.../pages/Dag/Tasks/TaskFilters/TaskFilters.tsx | 8 +-
.../src/airflow/ui/src/pages/Dag/Tasks/Tasks.tsx | 8 +-
.../src/pages/DagRuns/BulkClearDagRunsButton.tsx | 9 +-
.../src/pages/DagRuns/BulkDeleteDagRunsButton.tsx | 5 +-
.../src/pages/DagRuns/BulkMarkDagRunsAsButton.tsx | 8 +-
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 6 +-
.../ui/src/pages/DagRuns/DagRunsFilters.tsx | 1 +
.../ui/src/pages/DagRuns/DeleteRunButton.tsx | 5 +-
.../airflow/ui/src/pages/DagRuns/RunNoteButton.tsx | 2 +
.../ui/src/pages/DagsList/AssetSchedule.tsx | 8 +-
.../airflow/ui/src/pages/DagsList/DagCard.test.tsx | 3 +-
.../src/airflow/ui/src/pages/DagsList/DagCard.tsx | 5 +-
.../ui/src/pages/DagsList/DagCardActions.tsx | 1 +
.../airflow/ui/src/pages/DagsList/DagOwners.tsx | 4 +-
.../ui/src/pages/DagsList/DagRunStateCounts.tsx | 5 +-
.../src/airflow/ui/src/pages/DagsList/DagTags.tsx | 5 +-
.../src/pages/DagsList/DagsFilters/DagsFilters.tsx | 1 +
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 8 +-
.../pages/DagsList/PartitionScheduleModal.test.tsx | 10 +-
.../src/pages/DagsList/PartitionScheduleModal.tsx | 8 +-
.../airflow/ui/src/pages/DagsList/RecentRuns.tsx | 2 +
.../src/airflow/ui/src/pages/DagsList/Schedule.tsx | 3 +-
.../airflow/ui/src/pages/DagsList/SortSelect.tsx | 3 +-
.../ui/src/pages/DagsList/usePausedDefault.ts | 1 +
.../ui/src/pages/Dashboard/AlertContent.test.tsx | 1 +
.../ui/src/pages/Dashboard/AlertContent.tsx | 7 +-
.../ui/src/pages/Dashboard/Dashboard.test.tsx | 1 +
.../airflow/ui/src/pages/Dashboard/Dashboard.tsx | 8 +-
.../Dashboard/Deadlines/DashboardDeadlines.tsx | 1 +
.../src/pages/Dashboard/Deadlines/DeadlineItem.tsx | 1 +
.../Dashboard/FavoriteDags/FavoriteDagCard.tsx | 1 +
.../ui/src/pages/Dashboard/Health/Health.tsx | 2 +
.../ui/src/pages/Dashboard/Health/HealthBadge.tsx | 3 +-
.../HistoricalMetrics/HistoricalMetrics.tsx | 5 +-
.../Dashboard/HistoricalMetrics/MetricSection.tsx | 2 +
.../Dashboard/PoolSummary/PoolSummary.test.tsx | 1 +
.../pages/Dashboard/PoolSummary/PoolSummary.tsx | 5 +-
.../src/pages/Dashboard/Stats/DagImportErrors.tsx | 1 +
.../pages/Dashboard/Stats/DagImportErrorsModal.tsx | 8 +-
.../pages/Dashboard/Stats/PluginImportErrors.tsx | 1 +
.../Dashboard/Stats/PluginImportErrorsModal.tsx | 8 +-
.../airflow/ui/src/pages/Dashboard/Stats/Stats.tsx | 2 +
.../src/airflow/ui/src/pages/Deadlines/index.tsx | 25 +-
.../src/airflow/ui/src/pages/Events/Events.tsx | 2 +
.../airflow/ui/src/pages/Events/EventsFilters.tsx | 1 +
.../src/airflow/ui/src/pages/ExternalView.tsx | 4 +-
.../pages/GroupTaskInstance/GroupTaskInstance.tsx | 1 +
.../ui/src/pages/GroupTaskInstance/Header.tsx | 3 +
.../ui/src/pages/HITLTaskInstances/HITLFilters.tsx | 1 +
.../HITLTaskInstances/HITLResponseForm.test.tsx | 1 +
.../pages/HITLTaskInstances/HITLResponseForm.tsx | 5 +-
.../HITLTaskInstances/HITLTaskInstances.test.tsx | 1 +
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 14 +-
.../src/airflow/ui/src/pages/Iframe.test.tsx | 99 +
airflow-core/src/airflow/ui/src/pages/Iframe.tsx | 21 +-
airflow-core/src/airflow/ui/src/pages/Jobs.tsx | 2 +
.../src/airflow/ui/src/pages/LandingPage.test.tsx | 66 +
.../ActionBar/index.ts => pages/LandingPage.tsx} | 19 +-
.../ui/src/pages/MappedTaskInstance/Details.tsx | 2 +
.../ui/src/pages/MappedTaskInstance/Header.tsx | 5 +-
.../MappedTaskInstance/MappedTaskInstance.tsx | 2 +
airflow-core/src/airflow/ui/src/pages/Plugins.tsx | 2 +
.../airflow/ui/src/pages/Pools/AddPoolButton.tsx | 3 +-
.../ui/src/pages/Pools/DeletePoolButton.tsx | 4 +-
.../airflow/ui/src/pages/Pools/EditPoolButton.tsx | 4 +-
.../src/airflow/ui/src/pages/Pools/PoolBarCard.tsx | 4 +-
.../src/airflow/ui/src/pages/Pools/PoolForm.tsx | 4 +-
.../src/airflow/ui/src/pages/Pools/Pools.tsx | 8 +-
.../src/airflow/ui/src/pages/Providers.tsx | 2 +
.../src/airflow/ui/src/pages/ReactPlugin.test.tsx | 1 +
.../src/airflow/ui/src/pages/ReactPlugin.tsx | 3 +-
.../src/airflow/ui/src/pages/Run/AssetEvents.tsx | 2 +
.../airflow/ui/src/pages/Run/DeadlineStatus.tsx | 8 +-
.../ui/src/pages/Run/DeadlineStatusModal.tsx | 9 +-
.../src/airflow/ui/src/pages/Run/Details.tsx | 5 +-
.../src/airflow/ui/src/pages/Run/Header.test.tsx | 1 +
.../src/airflow/ui/src/pages/Run/Header.tsx | 8 +-
airflow-core/src/airflow/ui/src/pages/Run/Run.tsx | 4 +-
.../src/airflow/ui/src/pages/Security.test.tsx | 93 +
airflow-core/src/airflow/ui/src/pages/Security.tsx | 81 +-
.../ui/src/pages/Settings/Settings.test.tsx | 42 +-
.../src/airflow/ui/src/pages/Settings/Settings.tsx | 52 +-
.../src/airflow/ui/src/pages/Task/Header.tsx | 4 +-
.../ui/src/pages/Task/Overview/Overview.test.tsx | 56 +-
.../ui/src/pages/Task/Overview/Overview.tsx | 15 +-
.../src/airflow/ui/src/pages/Task/Task.tsx | 4 +-
.../ui/src/pages/TaskInstance/AssetEvents.tsx | 5 +-
.../ui/src/pages/TaskInstance/DefaultTab.test.tsx | 94 +
.../TaskInstance/DefaultTab.tsx} | 19 +-
.../airflow/ui/src/pages/TaskInstance/Details.tsx | 8 +-
.../ui/src/pages/TaskInstance/ExtraLinks.test.tsx | 1 +
.../ui/src/pages/TaskInstance/ExtraLinks.tsx | 1 +
.../ui/src/pages/TaskInstance/HITLResponse.tsx | 5 +-
.../ui/src/pages/TaskInstance/Header.test.tsx | 1 +
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 5 +-
.../pages/TaskInstance/Logs/HighlightedText.tsx | 3 +-
.../src/pages/TaskInstance/Logs/LogSearchInput.tsx | 6 +-
.../ui/src/pages/TaskInstance/Logs/Logs.tsx | 7 +-
.../src/pages/TaskInstance/Logs/ScrollToButton.tsx | 3 +-
.../src/pages/TaskInstance/Logs/TaskLogContent.tsx | 15 +-
.../src/pages/TaskInstance/Logs/TaskLogHeader.tsx | 6 +-
.../TaskInstance/Logs/logDownloadContent.test.ts | 2 +
.../pages/TaskInstance/Logs/logSelection.test.ts | 1 +
.../ui/src/pages/TaskInstance/Logs/utils.ts | 2 +
.../src/pages/TaskInstance/RenderedTemplates.tsx | 5 +-
.../src/pages/TaskInstance/TaskInstance.test.tsx | 3 +-
.../ui/src/pages/TaskInstance/TaskInstance.tsx | 13 +-
.../ui/src/pages/TaskInstance/TriggererInfo.tsx | 1 +
.../TaskInstances/BulkClearTaskInstancesButton.tsx | 9 +-
.../BulkDeleteTaskInstancesButton.tsx | 5 +-
.../BulkMarkTaskInstancesAsButton.tsx | 9 +-
.../TaskInstances/DeleteTaskInstanceButton.tsx | 5 +-
.../pages/TaskInstances/TaskInstanceNoteButton.tsx | 2 +
.../src/pages/TaskInstances/TaskInstances.test.tsx | 4 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 6 +-
.../pages/TaskInstances/TaskInstancesFilter.tsx | 1 +
.../ClearAllTaskStateStoreButton.tsx | 2 +
.../TaskStateStore/DeleteTaskStateStoreButton.tsx | 5 +-
.../TaskStateStore/EditTaskStateStoreButton.tsx | 2 +-
.../ui/src/pages/TaskStateStore/TaskStateStore.tsx | 2 +
.../pages/TaskStateStore/TaskStateStoreModal.tsx | 8 +-
.../src/pages/Variables/DeleteVariablesButton.tsx | 4 +-
.../src/pages/Variables/ImportVariablesButton.tsx | 2 +-
.../ui/src/pages/Variables/ImportVariablesForm.tsx | 8 +-
.../Variables/ManageVariable/AddVariableButton.tsx | 3 +-
.../ManageVariable/DeleteVariableButton.tsx | 3 +-
.../ManageVariable/EditVariableButton.tsx | 4 +-
.../Variables/ManageVariable/VariableForm.tsx | 4 +-
.../airflow/ui/src/pages/Variables/Variables.tsx | 9 +-
.../airflow/ui/src/pages/XCom/DeleteXComButton.tsx | 4 +-
.../airflow/ui/src/pages/XCom/EditXComButton.tsx | 3 +-
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 26 +-
.../src/airflow/ui/src/pages/XCom/XComEntry.tsx | 5 +-
.../src/airflow/ui/src/pages/XCom/XComFilters.tsx | 7 +
.../src/airflow/ui/src/pages/XCom/XComModal.tsx | 7 +-
.../src/airflow/ui/src/queries/useAddConnection.ts | 7 +-
.../src/airflow/ui/src/queries/useAddPool.ts | 7 +-
.../src/airflow/ui/src/queries/useAddVariable.ts | 7 +-
.../airflow/ui/src/queries/useBulkClearDagRuns.ts | 3 +-
.../airflow/ui/src/queries/useBulkClearDryRun.ts | 3 +-
.../ui/src/queries/useBulkClearTaskInstances.ts | 6 +-
.../ui/src/queries/useBulkDeleteConnections.tsx | 6 +-
.../airflow/ui/src/queries/useBulkDeleteDagRuns.ts | 6 +-
.../ui/src/queries/useBulkDeleteVariables.ts | 6 +-
.../airflow/ui/src/queries/useBulkMarkAsDryRun.ts | 3 +-
.../airflow/ui/src/queries/useBulkPatchDagRun.ts | 6 +-
.../airflow/ui/src/queries/useBulkTaskInstances.ts | 3 +-
.../src/airflow/ui/src/queries/useClearRun.ts | 1 +
.../ui/src/queries/useClearTaskInstances.ts | 3 +-
.../ui/src/queries/useConnectionTypeMeta.ts | 3 +-
.../airflow/ui/src/queries/useCreateBackfill.ts | 6 +-
.../src/airflow/ui/src/queries/useDagParams.ts | 3 +-
.../src/airflow/ui/src/queries/useDagParsing.ts | 4 +-
.../ui/src/queries/useDagRunStateCounts.tsx | 1 +
.../src/airflow/ui/src/queries/useDags.tsx | 1 +
.../src/airflow/ui/src/queries/useDeadlines.ts | 1 +
.../airflow/ui/src/queries/useDeleteConnection.ts | 4 +-
.../src/airflow/ui/src/queries/useDeleteDag.ts | 4 +-
.../src/airflow/ui/src/queries/useDeleteDagRun.ts | 4 +-
.../src/airflow/ui/src/queries/useDeletePool.ts | 4 +-
.../ui/src/queries/useDeleteTaskInstance.ts | 4 +-
.../airflow/ui/src/queries/useDeleteVariable.ts | 4 +-
.../airflow/ui/src/queries/useEditConnection.tsx | 7 +-
.../src/airflow/ui/src/queries/useEditPool.ts | 6 +-
.../src/airflow/ui/src/queries/useEditVariable.ts | 7 +-
.../src/airflow/ui/src/queries/useGridRuns.ts | 1 +
.../src/airflow/ui/src/queries/useGridStructure.ts | 1 +
.../ui/src/queries/useGridTISummaries.test.tsx | 4 +-
.../airflow/ui/src/queries/useGridTISummaries.ts | 4 +-
.../airflow/ui/src/queries/useImportVariables.ts | 6 +-
.../src/airflow/ui/src/queries/useLogs.tsx | 7 +-
.../src/airflow/ui/src/queries/usePatchDagRun.ts | 1 +
.../airflow/ui/src/queries/usePatchTaskGroup.ts | 1 +
.../airflow/ui/src/queries/usePatchTaskInstance.ts | 1 +
.../ui/src/queries/useRefreshOnNewDagRuns.ts | 3 +-
.../src/airflow/ui/src/queries/useStoreMutation.ts | 3 +-
.../airflow/ui/src/queries/useTestConnection.ts | 5 +-
.../airflow/ui/src/queries/useTogglePause.test.tsx | 4 +-
.../src/airflow/ui/src/queries/useTogglePause.ts | 1 +
.../src/airflow/ui/src/queries/useTrigger.ts | 8 +-
.../airflow/ui/src/queries/useUpdateHITLDetail.ts | 7 +-
.../src/airflow/ui/src/queryClient.test.ts | 65 +
airflow-core/src/airflow/ui/src/queryClient.ts | 20 +-
airflow-core/src/airflow/ui/src/router.test.tsx | 17 +-
airflow-core/src/airflow/ui/src/router.tsx | 36 +-
.../Accordion/ItemContent.tsx | 3 +-
.../Accordion/ItemTrigger.tsx | 3 +-
.../ui => system-components}/Accordion/index.tsx | 0
.../ActionBar/BarContent.tsx | 3 +-
.../ActionBar/CloseTrigger.tsx | 3 +-
.../ui => system-components}/ActionBar/index.ts | 0
.../{components/ui => system-components}/Alert.tsx | 3 +-
.../ButtonGroupToggle.test.tsx | 0
.../ui => system-components}/ButtonGroupToggle.tsx | 3 +-
.../ui => system-components}/Checkbox.tsx | 3 +-
.../ui => system-components}/Clipboard.tsx | 3 +-
.../Dialog/CloseTrigger.tsx | 3 +-
.../ui => system-components}/Dialog/Content.tsx | 3 +-
.../ui => system-components}/Dialog/index.ts | 0
.../ui => system-components}/IconButton.tsx | 3 +-
.../ui => system-components}/InputWithAddon.tsx | 3 +-
.../ui => system-components}/LazyClipboard.tsx | 3 +-
.../ui => system-components}/Menu/Menu.tsx | 0
.../ui => system-components}/Menu/MenuContent.tsx | 3 +-
.../ui => system-components}/Menu/MenuRoot.tsx | 3 +-
.../ui => system-components}/Menu/MenuTrigger.tsx | 4 +-
.../ui => system-components}/Menu/index.ts | 0
.../ui => system-components}/Modal/Modal.test.tsx | 0
.../ui => system-components}/Modal/Modal.tsx | 5 +-
.../ui => system-components}/Modal/index.ts | 0
.../ui => system-components}/NumberInput.tsx | 3 +-
.../Pagination/Ellipsis.tsx | 3 +-
.../ui => system-components}/Pagination/Item.tsx | 3 +-
.../ui => system-components}/Pagination/Items.tsx | 3 +-
.../Pagination/NextTrigger.tsx | 3 +-
.../Pagination/PageText.tsx | 3 +-
.../Pagination/PrevTrigger.tsx | 3 +-
.../ui => system-components}/Pagination/Root.tsx | 3 +-
.../ui => system-components}/Pagination/context.ts | 0
.../ui => system-components}/Pagination/index.ts | 0
.../ui => system-components}/Popover/Arrow.tsx | 3 +-
.../Popover/CloseTrigger.tsx | 3 +-
.../ui => system-components}/Popover/Content.tsx | 3 +-
.../ui => system-components}/Popover/index.tsx | 0
.../ui => system-components}/ProgressBar.tsx | 3 +-
.../ui => system-components}/RadioCard.tsx | 3 +-
.../ui => system-components}/ResetButton.tsx | 0
.../ui => system-components}/ResizableWrapper.tsx | 3 +-
.../ui => system-components}/RouterLink.tsx | 0
.../ui => system-components}/SegmentedControl.tsx | 3 +-
.../ui => system-components}/Select/Content.tsx | 3 +-
.../ui => system-components}/Select/Item.tsx | 3 +-
.../ui => system-components}/Select/ItemGroup.tsx | 3 +-
.../ui => system-components}/Select/Root.tsx | 3 +-
.../ui => system-components}/Select/Trigger.tsx | 3 +-
.../ui => system-components}/Select/ValueText.tsx | 3 +-
.../ui => system-components}/Select/index.ts | 0
.../ui => system-components}/Switch.tsx | 3 +-
.../ui => system-components}/Toaster/Toaster.tsx | 0
.../Toaster/createToaster.ts | 0
.../ui => system-components}/Toaster/index.ts | 0
.../ui => system-components}/Tooltip.tsx | 3 +-
.../{components/ui => system-components}/index.ts | 5 +
airflow-core/src/airflow/ui/src/theme.ts | 3 +-
.../src/airflow/ui/src/utils/ChakraWrapper.tsx | 3 +-
.../src/airflow/ui/src/utils/RouterWrapper.tsx | 1 +
airflow-core/src/airflow/ui/src/utils/TrimText.tsx | 2 +-
airflow-core/src/airflow/ui/src/utils/Wrapper.tsx | 3 +-
airflow-core/src/airflow/ui/src/utils/deadlines.ts | 1 +
.../src/airflow/ui/src/utils/errorHandling.ts | 2 +-
airflow-core/src/airflow/ui/src/utils/hitl.test.ts | 52 +
airflow-core/src/airflow/ui/src/utils/hitl.ts | 14 +-
.../src/airflow/ui/src/utils/links.test.ts | 15 +
airflow-core/src/airflow/ui/src/utils/links.ts | 22 +-
airflow-core/src/airflow/ui/src/utils/query.ts | 1 +
airflow-core/src/airflow/ui/src/utils/slots.tsx | 1 +
.../src/airflow/ui/src/utils/syntaxHighlighter.ts | 1 +
.../ui/src/utils/useFiltersHandler.test.tsx | 4 +-
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 7 +
.../ui/tests/e2e/fixtures/audit-log-data.ts | 1 +
.../airflow/ui/tests/e2e/fixtures/calendar-data.ts | 1 +
.../airflow/ui/tests/e2e/fixtures/dag-runs-data.ts | 1 +
.../ui/tests/e2e/fixtures/dashboard-data.ts | 1 +
.../ui/tests/e2e/fixtures/task-instances-data.ts | 1 +
.../src/airflow/ui/tests/e2e/fixtures/xcom-data.ts | 1 +
.../airflow/ui/tests/e2e/pages/AssetListPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 1 +
.../ui/tests/e2e/pages/ConfigurationPage.ts | 1 +
.../airflow/ui/tests/e2e/pages/ConnectionsPage.ts | 1 +
.../airflow/ui/tests/e2e/pages/DagCalendarTab.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/DagCodePage.ts | 1 +
.../airflow/ui/tests/e2e/pages/DagDetailPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/DagRunPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/DagRunsPage.ts | 1 +
.../airflow/ui/tests/e2e/pages/DagRunsTabPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 55 +-
.../src/airflow/ui/tests/e2e/pages/EventsPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/GridPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/HomePage.ts | 5 +-
.../src/airflow/ui/tests/e2e/pages/LoginPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/PluginsPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/PoolsPage.ts | 1 +
.../airflow/ui/tests/e2e/pages/ProvidersPage.ts | 1 +
.../ui/tests/e2e/pages/RequiredActionsPage.ts | 1 +
.../ui/tests/e2e/pages/TaskInstancesPage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/VariablePage.ts | 1 +
.../src/airflow/ui/tests/e2e/pages/XComsPage.ts | 12 +-
.../src/airflow/ui/tests/e2e/specs/asset.spec.ts | 1 +
.../airflow/ui/tests/e2e/specs/backfill.spec.ts | 1 +
.../ui/tests/e2e/specs/dag-calendar-tab.spec.ts | 1 +
.../ui/tests/e2e/specs/dag-code-tab.spec.ts | 1 +
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 1 +
.../ui/tests/e2e/specs/home-dashboard.spec.ts | 1 +
.../ui/tests/e2e/specs/iframe-url-sync.spec.ts | 86 +
.../ui/tests/e2e/specs/requiredAction.spec.ts | 1 +
.../airflow/ui/tests/e2e/specs/task-logs.spec.ts | 1 +
airflow-core/src/airflow/utils/helpers.py | 10 +-
airflow-core/src/airflow/utils/yaml.py | 6 +-
.../tests/unit/always/test_project_structure.py | 3 -
airflow-core/tests/unit/always/test_secrets.py | 98 +-
.../tests/unit/api/common/test_mark_tasks.py | 19 +
.../core_api/routes/public/test_dag_run.py | 71 +-
.../core_api/routes/public/test_task_instances.py | 82 +-
.../core_api/routes/public/test_xcom.py | 120 +-
.../core_api/routes/ui/test_backfills.py | 85 +-
.../core_api/routes/ui/test_deadlines.py | 63 +-
.../core_api/routes/ui/test_dependencies.py | 72 +
.../routes/ui/test_partitioned_dag_runs.py | 27 +
.../core_api/services/ui/test_connections.py | 384 +++
.../tests/unit/api_fastapi/core_api/test_app.py | 22 +
.../unit/api_fastapi/execution_api/conftest.py | 5 +-
.../api_fastapi/execution_api/test_security.py | 10 +
.../execution_api/test_token_scope_boundaries.py | 2 +
.../execution_api/versions/head/test_callbacks.py | 131 +
.../execution_api/versions/head/test_xcoms.py | 77 +
.../versions/v2026_10_30/test_callbacks.py | 43 +
.../unit/cli/commands/test_api_server_command.py | 43 +
.../tests/unit/cli/commands/test_config_command.py | 16 +
.../unit/cli/commands/test_connection_command.py | 5 +-
.../tests/unit/cli/commands/test_dag_command.py | 28 +
.../cli/commands/test_dag_processor_command.py | 17 +
.../tests/unit/cli/commands/test_db_command.py | 29 +-
.../unit/cli/commands/test_gunicorn_monitor.py | 44 +
.../unit/cli/commands/test_provider_command.py | 59 +
.../unit/cli/commands/test_standalone_command.py | 13 +
.../tests/unit/cli/commands/test_task_command.py | 18 +-
airflow-core/tests/unit/cli/test_cli_parser.py | 32 +
airflow-core/tests/unit/core/test_configuration.py | 102 +-
.../tests/unit/executors/test_workloads.py | 19 +
.../tests/unit/jobs/test_schedule_change_stall.py | 173 ++
airflow-core/tests/unit/jobs/test_triggerer_job.py | 108 +-
airflow-core/tests/unit/models/test_dagrun.py | 7 +-
.../tests/unit/models/test_taskinstance.py | 24 +-
.../tests/unit/plugins/test_plugins_manager.py | 23 +
.../serialization/definitions/test_deadline.py | 67 +
.../unit/serialization/test_serialized_objects.py | 33 +-
.../unit/timetables/test_interval_timetable.py | 125 +-
.../utils/test_dag_version_inflation_checker.py | 567 +++--
airflow-core/tests/unit/utils/test_helpers.py | 11 +-
airflow-core/tests/unit/utils/test_task_group.py | 32 +-
.../tests/airflowctl_tests/conftest.py | 160 +-
.../tests/airflowctl_tests/constants.py | 11 +-
.../airflowctl_tests/test_airflowctl_commands.py | 6 +
.../tests/airflowctl_tests/test_dag_run_wait.py | 222 ++
airflow-ctl/docs/cli-and-env-variables-ref.rst | 7 +
airflow-ctl/docs/images/command_hashes.txt | 2 +-
airflow-ctl/docs/images/output_assets.svg | 166 +-
airflow-ctl/src/airflowctl/api/client.py | 28 +-
.../src/airflowctl/api/datamodels/generated.py | 3 +
airflow-ctl/src/airflowctl/api/operations.py | 36 +
airflow-ctl/src/airflowctl/ctl/cli_config.py | 7 +-
.../src/airflowctl/ctl/commands/config_command.py | 7 +
airflow-ctl/src/airflowctl/ctl/help_texts.yaml | 5 +
airflow-ctl/src/airflowctl/ctl/utils/yaml.py | 6 +-
airflow-ctl/tests/airflow_ctl/api/test_client.py | 48 +
.../tests/airflow_ctl/api/test_operations.py | 75 +-
.../ctl/commands/test_config_command.py | 37 +
.../tests/airflow_ctl/ctl/test_cli_config.py | 8 +
.../java_sdk_tests/test_java_sdk_dag.py | 392 ++-
chart/docs/setting-resources-for-containers.rst | 6 +-
chart/templates/NOTES.txt | 2 +-
.../templates/scheduler/scheduler-deployment.yaml | 2 +-
.../helm_tests/airflow_core/test_scheduler.py | 23 +-
contributing-docs/03_contributors_quick_start.rst | 21 +-
contributing-docs/25_maintainer_pr_triage.md | 30 +-
contributing-docs/testing/airflow_ctl_tests.rst | 12 +
contributing-docs/testing/airflow_e2e_tests.rst | 8 +-
contributing-docs/testing/dag_testing.rst | 6 +-
dev/breeze/doc/01_installation.rst | 21 +-
dev/breeze/doc/03_developer_tasks.rst | 6 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci-image_pull.txt | 2 +-
dev/breeze/doc/images/output_ci-image_verify.txt | 2 +-
dev/breeze/doc/images/output_exec.txt | 2 +-
.../doc/images/output_k8s_deploy-airflow.txt | 2 +-
dev/breeze/doc/images/output_k8s_dev.txt | 2 +-
dev/breeze/doc/images/output_k8s_k9s.txt | 2 +-
.../doc/images/output_k8s_run-complete-tests.txt | 2 +-
dev/breeze/doc/images/output_k8s_shell.txt | 2 +-
.../doc/images/output_k8s_smoke-test-overlay.txt | 2 +-
dev/breeze/doc/images/output_k8s_tests.txt | 2 +-
dev/breeze/doc/images/output_prod-image_pull.txt | 2 +-
dev/breeze/doc/images/output_prod-image_verify.txt | 2 +-
...tput_release-management_add-back-references.txt | 2 +-
...tput_release-management_check-release-files.txt | 2 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.txt | 2 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.txt | 2 +-
dev/breeze/doc/images/output_run.svg | 26 +-
dev/breeze/doc/images/output_run.txt | 2 +-
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
...utput_testing_airflow-ctl-integration-tests.txt | 2 +-
.../images/output_testing_airflow-ctl-tests.txt | 2 +-
.../images/output_testing_airflow-e2e-tests.txt | 2 +-
.../output_testing_core-integration-tests.txt | 2 +-
.../doc/images/output_testing_core-tests.txt | 2 +-
.../images/output_testing_docker-compose-tests.txt | 2 +-
.../doc/images/output_testing_helm-tests.txt | 2 +-
.../output_testing_providers-integration-tests.txt | 2 +-
.../doc/images/output_testing_providers-tests.txt | 2 +-
.../output_testing_python-api-client-tests.txt | 2 +-
.../doc/images/output_testing_system-tests.txt | 2 +-
.../output_testing_task-sdk-integration-tests.txt | 2 +-
.../doc/images/output_testing_task-sdk-tests.txt | 2 +-
.../doc/images/output_testing_ui-e2e-tests.txt | 2 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
dev/breeze/pyproject.toml | 2 +-
.../airflow_breeze/commands/developer_commands.py | 3 +
.../commands/developer_commands_config.py | 1 +
.../src/airflow_breeze/commands/ui_commands.py | 4 +-
.../src/airflow_breeze/params/shell_params.py | 9 +-
.../airflow_breeze/utils/docker_command_utils.py | 43 +-
.../src/airflow_breeze/utils/gh_workflow_utils.py | 77 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 2 +-
dev/breeze/src/airflow_breeze/utils/run_utils.py | 53 +-
dev/breeze/tests/test_developer_commands.py | 34 +-
dev/breeze/tests/test_docker_command_utils.py | 58 +
dev/breeze/tests/test_gh_workflow_utils.py | 96 +-
dev/breeze/tests/test_run_utils.py | 97 +-
dev/breeze/tests/test_shell_params.py | 33 +
dev/breeze/uv.lock | 85 +-
.../react_plugin_template/package.json | 18 +-
.../react_plugin_template/pnpm-lock.yaml | 520 ++--
dev/skill-evals/last-eval-hash.txt | 2 +-
.../src/sphinx_exts/providers_extensions.py | 4 +-
.../src/tests_common/test_utils/asserts.py | 40 +-
devel-common/src/tests_common/test_utils/config.py | 2 +-
.../test_utils/fake_secrets_backend.py | 59 +
devel-common/src/tests_common/test_utils/team.py | 68 +
generated/known_airflow_exceptions.txt | 5 +-
generated/known_sdk_imports_in_core.txt | 3 +-
generated/provider_metadata.json | 12 +
go-sdk/README.md | 11 +
go-sdk/pkg/execution/integration_test.go | 69 +
go-sdk/pkg/execution/logger.go | 146 +-
go-sdk/pkg/execution/logger_test.go | 158 +-
go-sdk/pkg/execution/server.go | 2 +-
.../test_kubernetes_pod_operator.py | 2 +-
.../src/airflow/providers/amazon/aws/exceptions.py | 14 +
.../providers/amazon/aws/operators/bedrock.py | 2 +-
.../airflow/providers/amazon/aws/operators/glue.py | 2 +-
.../operators/sagemaker_unified_studio_notebook.py | 3 +
.../airflow/providers/amazon/aws/operators/sqs.py | 2 +-
.../providers/amazon/aws/sensors/bedrock.py | 4 +-
.../airflow/providers/amazon/aws/sensors/emr.py | 2 +-
.../airflow/providers/amazon/aws/triggers/base.py | 13 +-
.../amazon/aws/utils/waiter_with_logging.py | 15 +-
.../test_sagemaker_unified_studio_notebook.py | 19 +
.../unit/amazon/aws/sensors/test_emr_containers.py | 15 +
.../tests/unit/amazon/aws/triggers/test_base.py | 12 +
.../amazon/aws/utils/test_waiter_with_logging.py | 63 +-
providers/anthropic/README.rst | 20 +-
providers/anthropic/docs/connections.rst | 3 +-
providers/anthropic/docs/index.rst | 20 +-
providers/anthropic/pyproject.toml | 17 +-
.../airflow/providers/anthropic/hooks/anthropic.py | 28 +-
.../tests/unit/anthropic/hooks/test_anthropic.py | 41 +-
.../unit/apache/hive/transfers/test_s3_to_hive.py | 4 +-
providers/apache/kafka/docs/configurations-ref.rst | 23 +-
providers/apache/kafka/docs/connections/kafka.rst | 12 +
providers/apache/kafka/provider.yaml | 22 +
.../providers/apache/kafka/get_provider_info.py | 14 +-
.../airflow/providers/apache/kafka/hooks/base.py | 55 +-
.../tests/unit/apache/kafka/hooks/test_base.py | 55 +
.../tests/unit/apache/kafka/hooks/test_consume.py | 3 +
.../tests/unit/apache/kafka/hooks/test_produce.py | 3 +
.../airflow/providers/celery/cli/celery_command.py | 3 +-
.../providers/celery/executors/default_celery.py | 8 +-
.../tests/unit/celery/cli/test_celery_command.py | 9 +
.../unit/celery/executors/test_celery_executor.py | 19 +
providers/cncf/kubernetes/docs/kubernetes_rbac.rst | 21 +
providers/cncf/kubernetes/docs/operators.rst | 32 +
providers/cncf/kubernetes/provider.yaml | 1 +
.../providers/cncf/kubernetes/get_provider_info.py | 1 +
.../cncf/kubernetes/operators/pod_exec.py | 297 +++
.../providers/cncf/kubernetes/utils/pod_manager.py | 1 -
.../cncf/kubernetes/example_kubernetes_pod_exec.py | 119 +
.../unit/cncf/kubernetes/operators/test_pod.py | 2 +-
.../cncf/kubernetes/operators/test_pod_exec.py | 381 +++
providers/common/ai/docs/hooks/llamaindex.rst | 15 +-
providers/common/ai/docs/self_hosted_models.rst | 19 +-
providers/common/ai/provider.yaml | 4 +-
.../common/ai/decorators/llm_schema_compare.py | 11 +-
.../providers/common/ai/get_provider_info.py | 4 +-
.../providers/common/ai/hooks/llamaindex.py | 21 +-
.../ai/decorators/test_llm_schema_compare.py | 21 +
.../ai/tests/unit/common/ai/test_exceptions.py | 55 +
.../edge3/plugins/edge_executor_plugin.py | 3 +-
.../providers/edge3/plugins/www/package.json | 39 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 2597 ++++++++++----------
.../edge3/plugins/test_edge_executor_plugin.py | 7 +
.../edge3/tests/unit/edge3/worker_api/test_app.py | 65 +
.../edge3/tests/unit/edge3/worker_api/test_auth.py | 152 ++
.../exasol/tests/unit/exasol/hooks/test_sql.py | 2 +-
providers/fab/docs/auth-manager/access-control.rst | 656 ++++-
.../providers/fab/auth_manager/fab_auth_manager.py | 10 +-
.../fab/auth_manager/security_manager/override.py | 7 +-
.../fab/src/airflow/providers/fab/www/package.json | 9 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 342 +--
.../unit/fab/auth_manager/test_fab_auth_manager.py | 46 +-
.../fab/www/views/test_views_custom_user_views.py | 48 +-
.../operators/campaign_manager.py | 9 +-
.../airflow/providers/google/suite/hooks/drive.py | 2 +-
.../cloud/cloud_sql/example_cloud_sql_query.py | 8 +-
.../operators/test_campaign_manager.py | 22 +-
.../tests/unit/google/suite/hooks/test_drive.py | 74 +
providers/http/docs/deferrable.rst | 73 +
providers/http/docs/index.rst | 1 +
providers/http/docs/operators.rst | 7 +-
.../src/airflow/providers/http/operators/http.py | 32 +
.../http/tests/unit/http/operators/test_http.py | 184 +-
.../db2/src/airflow/providers/ibm/db2/hooks/db2.py | 4 +
.../ibm/db2/tests/unit/ibm/db2/hooks/test_db2.py | 33 +
.../providers/informatica/plugins/listener.py | 2 +-
providers/keycloak/docs/changelog.rst | 8 +
.../keycloak/auth_manager/keycloak_auth_manager.py | 71 +-
.../keycloak/auth_manager/services/token.py | 21 +-
.../keycloak/auth_manager/services/test_token.py | 50 +-
.../auth_manager/test_keycloak_auth_manager.py | 121 +-
.../azure/docs/connections/analysis_services.rst | 63 +
.../azure/docs/operators/analysis_services.rst | 85 +
providers/microsoft/azure/provider.yaml | 34 +
.../providers/microsoft/azure/get_provider_info.py | 40 +
.../microsoft/azure/hooks/analysis_services.py | 300 +++
.../microsoft/azure/hooks/data_factory.py | 8 +-
.../providers/microsoft/azure/hooks/msgraph.py | 50 +-
.../providers/microsoft/azure/hooks/synapse.py | 7 +-
.../microsoft/azure/operators/analysis_services.py | 136 +
.../providers/microsoft/azure/operators/msgraph.py | 1 +
.../microsoft/azure/sensors/analysis_services.py | 98 +
.../microsoft/azure/triggers/analysis_services.py | 182 ++
.../providers/microsoft/azure/triggers/msgraph.py | 9 +
.../azure/example_azure_analysis_services.py | 80 +
.../azure/hooks/test_analysis_services.py | 500 ++++
.../microsoft/azure/hooks/test_data_factory.py | 68 +-
.../unit/microsoft/azure/hooks/test_msgraph.py | 27 +
.../microsoft/azure/hooks/test_synapse_pipeline.py | 43 +-
.../azure/operators/test_analysis_services.py | 218 ++
.../unit/microsoft/azure/operators/test_msgraph.py | 41 +
.../azure/sensors/test_analysis_services.py | 122 +
.../azure/tests/unit/microsoft/azure/test_utils.py | 8 +-
.../azure/triggers/test_analysis_services.py | 336 +++
.../unit/microsoft/azure/triggers/test_msgraph.py | 16 +
.../smtp/src/airflow/providers/smtp/hooks/smtp.py | 2 +-
providers/snowflake/README.rst | 2 +
providers/snowflake/docs/changelog.rst | 5 +
providers/snowflake/docs/index.rst | 2 +
.../docs/operators/snowpark_containers.rst | 8 +
providers/snowflake/provider.yaml | 1 +
providers/snowflake/pyproject.toml | 2 +
.../providers/snowflake/get_provider_info.py | 5 +-
.../providers/snowflake/operators/snowflake.py | 8 +
.../snowflake/operators/snowpark_containers.py | 149 +-
.../snowflake/triggers/snowflake_trigger.py | 44 +-
.../snowflake/triggers/snowpark_containers.py | 166 ++
.../snowflake/utils/snowpark_containers.py | 52 +
.../unit/snowflake/operators/test_snowflake.py | 17 +
.../operators/test_snowpark_containers.py | 155 ++
.../unit/snowflake/triggers/test_snowflake.py | 71 +
.../snowflake/triggers/test_snowpark_containers.py | 205 ++
.../snowflake/utils/test_snowpark_containers.py | 16 +-
providers/standard/docs/operators/bash.rst | 50 +
.../airflow/providers/standard/decorators/bash.py | 12 +-
.../example_dags/example_bash_decorator.py | 24 +
.../standard/example_dags/example_bash_operator.py | 27 +
.../airflow/providers/standard/triggers/file.py | 2 +-
.../tests/unit/standard/decorators/test_bash.py | 65 +-
.../providers/teradata/utils/encryption_utils.py | 25 +-
.../unit/teradata/utils/test_encryption_utils.py | 43 +-
pyproject.toml | 1 +
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 10 +-
scripts/ci/docker-compose/base.yml | 3 +
scripts/ci/prek/boring_cyborg.py | 3 +-
scripts/ci/prek/check_core_imports_in_shared.py | 105 -
scripts/ci/prek/check_deferrable_default.py | 2 +-
.../check_provider_config_fallback_defaults.py | 200 ++
.../ci/prek/check_supervisor_schemas_versions.py | 2 +-
scripts/ci/prek/fab_permissions_doc.py | 416 ++++
.../ci/prek/validate_operators_init_exemptions.txt | 1 -
.../ci/testing/compute_remaining_test_timeout.py | 55 +
scripts/ci/testing/run_unit_tests.sh | 15 +
scripts/cov/core_coverage.py | 1 -
scripts/docker/entrypoint_ci.sh | 6 +-
.../tests/ci/prek/test_check_deferrable_default.py | 96 +
...test_check_provider_config_fallback_defaults.py | 227 ++
.../testing/test_compute_remaining_test_timeout.py | 79 +
.../tests/ci/testing/test_run_unit_tests.py | 27 +-
.../airflow_shared/observability/metrics/stats.py | 4 +-
.../tests/observability/metrics/test_stats.py | 17 +-
.../secrets_masker/secrets_masker.py | 22 +-
task-sdk/docs/examples.rst | 2 +-
task-sdk/docs/index.rst | 2 +
task-sdk/src/airflow/sdk/__init__.pyi | 6 +
task-sdk/src/airflow/sdk/api/client.py | 17 +
task-sdk/src/airflow/sdk/bases/decorator.py | 45 +-
task-sdk/src/airflow/sdk/definitions/deadline.py | 11 +-
task-sdk/src/airflow/sdk/execution_time/cache.py | 40 +-
.../sdk/execution_time/callback_supervisor.py | 3 +
task-sdk/src/airflow/sdk/plugins_manager.py | 6 +-
task-sdk/src/airflow/sdk/yaml.py | 6 +-
task-sdk/tests/task_sdk/api/test_client.py | 33 +
task-sdk/tests/task_sdk/bases/test_decorator.py | 30 +
.../tests/task_sdk/definitions/test_deadline.py | 15 +-
.../tests/task_sdk/execution_time/test_cache.py | 43 +
.../execution_time/test_callback_supervisor.py | 50 +-
task-sdk/tests/task_sdk/test_plugins_manager.py | 112 +
ts-sdk/pnpm-lock.yaml | 512 +---
ts-sdk/src/sdk/client-types.ts | 7 +-
uv.lock | 22 +-
1019 files changed, 20572 insertions(+), 10719 deletions(-)
delete mode 100644 .agents/skills/magpie-setup/SKILL.md
delete mode 100644 .agents/skills/magpie-setup/adopt.md
delete mode 100644 .agents/skills/magpie-setup/agents.md
delete mode 100644 .agents/skills/magpie-setup/overrides.md
delete mode 100644 .agents/skills/magpie-setup/skill-sources.md
delete mode 100644 .agents/skills/magpie-setup/unadopt.md
delete mode 100644 .agents/skills/magpie-setup/upgrade.md
delete mode 100644 .agents/skills/magpie-setup/verify.md
delete mode 100644 .agents/skills/magpie-setup/worktree-init.md
delete mode 100644 .apache-magpie.lock
delete mode 120000 .claude/skills/magpie-setup
delete mode 120000 .github/skills/magpie-setup
create mode 100644 airflow-core/newsfragments/68890.significant.rst
create mode 100644 airflow-core/newsfragments/69792.bugfix.rst
create mode 100644 airflow-core/newsfragments/71192.significant.rst
create mode 100644 airflow-core/newsfragments/71802.bugfix.rst
create mode 100644 airflow-core/newsfragments/72374.bugfix.rst
create mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/routes/callbacks.py
create mode 100644
airflow-core/src/airflow/example_dags/example_deadline_alert.py
create mode 100644 airflow-core/src/airflow/ui/src/basePath.ts
create mode 100644
airflow-core/src/airflow/ui/src/components/DurationChart.test.tsx
delete mode 100644 airflow-core/src/airflow/ui/src/components/ui/Tag.tsx
create mode 100644 airflow-core/src/airflow/ui/src/hooks/useIframeUrlSync.ts
create mode 100644 airflow-core/src/airflow/ui/src/i18n/dayjsLocale.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/i18n/dayjsLocale.ts
create mode 100644 airflow-core/src/airflow/ui/src/layouts/Nav/Nav.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/mocks/handlers/backfills.ts
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Backfills/BackfillsDateFilter.test.tsx
copy airflow-core/src/airflow/ui/src/{layouts/Details/GridFilters.tsx =>
pages/Dag/Backfills/BackfillsFilters.tsx} (64%)
create mode 100644 airflow-core/src/airflow/ui/src/pages/Iframe.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/LandingPage.test.tsx
copy airflow-core/src/airflow/ui/src/{components/ui/ActionBar/index.ts =>
pages/LandingPage.tsx} (69%)
create mode 100644 airflow-core/src/airflow/ui/src/pages/Security.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstance/DefaultTab.test.tsx
copy airflow-core/src/airflow/ui/src/{constants/reprocessBehaviourParams.ts =>
pages/TaskInstance/DefaultTab.tsx} (63%)
create mode 100644 airflow-core/src/airflow/ui/src/queryClient.test.ts
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Accordion/ItemContent.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Accordion/ItemTrigger.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Accordion/index.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ActionBar/BarContent.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ActionBar/CloseTrigger.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ActionBar/index.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Alert.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ButtonGroupToggle.test.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ButtonGroupToggle.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Checkbox.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Clipboard.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Dialog/CloseTrigger.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Dialog/Content.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Dialog/index.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/IconButton.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/InputWithAddon.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/LazyClipboard.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Menu/Menu.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Menu/MenuContent.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Menu/MenuRoot.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Menu/MenuTrigger.tsx (96%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Menu/index.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Modal/Modal.test.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Modal/Modal.tsx (98%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Modal/index.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/NumberInput.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/Ellipsis.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/Item.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/Items.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/NextTrigger.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/PageText.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/PrevTrigger.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/Root.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/context.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Pagination/index.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Popover/Arrow.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Popover/CloseTrigger.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Popover/Content.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Popover/index.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ProgressBar.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/RadioCard.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ResetButton.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/ResizableWrapper.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/RouterLink.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/SegmentedControl.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Select/Content.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Select/Item.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Select/ItemGroup.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Select/Root.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Select/Trigger.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Select/ValueText.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Select/index.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Switch.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Toaster/Toaster.tsx (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Toaster/createToaster.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Toaster/index.ts (100%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/Tooltip.tsx (99%)
rename airflow-core/src/airflow/ui/src/{components/ui =>
system-components}/index.ts (87%)
create mode 100644
airflow-core/src/airflow/ui/tests/e2e/specs/iframe-url-sync.spec.ts
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_callbacks.py
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_10_30/test_callbacks.py
create mode 100644
airflow-core/tests/unit/cli/commands/test_provider_command.py
create mode 100644 airflow-core/tests/unit/jobs/test_schedule_change_stall.py
create mode 100644
airflow-core/tests/unit/serialization/definitions/test_deadline.py
create mode 100644
airflow-ctl-tests/tests/airflowctl_tests/test_dag_run_wait.py
create mode 100644
devel-common/src/tests_common/test_utils/fake_secrets_backend.py
create mode 100644 devel-common/src/tests_common/test_utils/team.py
create mode 100644
providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/operators/pod_exec.py
create mode 100644
providers/cncf/kubernetes/tests/system/cncf/kubernetes/example_kubernetes_pod_exec.py
create mode 100644
providers/cncf/kubernetes/tests/unit/cncf/kubernetes/operators/test_pod_exec.py
create mode 100644 providers/common/ai/tests/unit/common/ai/test_exceptions.py
create mode 100644 providers/edge3/tests/unit/edge3/worker_api/test_app.py
create mode 100644 providers/edge3/tests/unit/edge3/worker_api/test_auth.py
create mode 100644 providers/http/docs/deferrable.rst
create mode 100644
providers/microsoft/azure/docs/connections/analysis_services.rst
create mode 100644
providers/microsoft/azure/docs/operators/analysis_services.rst
create mode 100644
providers/microsoft/azure/src/airflow/providers/microsoft/azure/hooks/analysis_services.py
create mode 100644
providers/microsoft/azure/src/airflow/providers/microsoft/azure/operators/analysis_services.py
create mode 100644
providers/microsoft/azure/src/airflow/providers/microsoft/azure/sensors/analysis_services.py
create mode 100644
providers/microsoft/azure/src/airflow/providers/microsoft/azure/triggers/analysis_services.py
create mode 100644
providers/microsoft/azure/tests/system/microsoft/azure/example_azure_analysis_services.py
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/hooks/test_analysis_services.py
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/operators/test_analysis_services.py
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/sensors/test_analysis_services.py
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/triggers/test_analysis_services.py
create mode 100644
providers/snowflake/src/airflow/providers/snowflake/triggers/snowpark_containers.py
create mode 100644
providers/snowflake/src/airflow/providers/snowflake/utils/snowpark_containers.py
create mode 100644
providers/snowflake/tests/unit/snowflake/triggers/test_snowpark_containers.py
rename airflow-core/src/airflow/utils/log/action_logger.py =>
providers/snowflake/tests/unit/snowflake/utils/test_snowpark_containers.py (69%)
delete mode 100644 scripts/ci/prek/check_core_imports_in_shared.py
create mode 100755 scripts/ci/prek/check_provider_config_fallback_defaults.py
create mode 100755 scripts/ci/prek/fab_permissions_doc.py
create mode 100644 scripts/ci/testing/compute_remaining_test_timeout.py
create mode 100644 scripts/tests/ci/prek/test_check_deferrable_default.py
create mode 100644
scripts/tests/ci/prek/test_check_provider_config_fallback_defaults.py
create mode 100644
scripts/tests/ci/testing/test_compute_remaining_test_timeout.py
copy airflow-ctl-tests/tests/airflowctl_tests/constants.py =>
scripts/tests/ci/testing/test_run_unit_tests.py (52%)
create mode 100644 task-sdk/tests/task_sdk/test_plugins_manager.py