This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/ui/chakra-ui-7685d36c64
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard d566936c477 Bump @chakra-ui/react
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 b916de6dab0 UI: Label Dag active runs accurately (#72371)
add 3c26d48ab49 Remove unused Breeze uv timeout and WSL helpers (#72704)
add 12bc0146bb7 Invalidate cached Microsoft Graph request adapter on 401
Unauthorized (#72688)
add d6b45d8e2f4 Resolve the caller from the explicit credential, not the
session cookie (#72225)
add 77cf38b1bc4 Keep MSGraph pagination offset across paginated pages
(#71986)
add 391578af620 Add a command to take a prepared provider back out of a
release (#71836)
add 2d717899a98 Fix Configuration page e2e test failing when the first
option has no value (#72724)
add 98f420e701f Add external access integrations to
SnowparkContainerJobOperator (#72602)
add 9de99f8d29c Allow airflow jobs check --allow-multiple with --limit 0
(#72677)
add 3cf889148a4 Shorten Managed Kafka cluster ID in system tests (#72084)
add 65900463b9b Add Google system test resource cleanup script (#68930)
add ee80d4349d0 Remove redundant ML Engine system test (#72321)
add 88043d0782e Improve Dag run metrics (#70013)
add cb3f5871592 fix ui connection test with null host and port (#72348)
add c1211c48593 Make SQLAlchemy an optional dependency for JDBC and YDB
providers (#72373)
add 67522f253bd Retry prek hook installation when a toolchain download
fails (#72382)
add f424641d05e Change DAG processed log when no action required (#72308)
add 881515b328b Change warning to RemovedInAirflow4Warning and remove
redundant mock setup from test. (#72396)
add 00b1568f452 Restructure spark durable execution docs for all cluster
managers (#72325)
add 5d3e6362601 Improve Java SDK quick start setup (#72440)
add af0704ed5b2 replaced airflow.utils.state (#72446)
add 671ad9dceb8 Fix models selection in genai tests (#72323)
add 6da84b1a458 Add performance_target to Databricks RunNow and CreateJobs
operators (#72148)
add 8daf7b102f8 Add CreateCustomJobOperator for VertexAI service (#71875)
add bb9cc304181 Document DAG.test() behavior change in the Airflow 2.7.0
release notes (#72485)
add 20fb83c2dd1 Fix ExternalTaskSensor example Dag never finding its
parent task (#72480)
add 72f6173c1b2 Fix KubernetesPodOperator XCom loss when container_logs is
a string (#72502)
add 118da9db7ef Fix XCom sidecar helper mutating the caller's pod volumes
(#72522)
add e56fcdffac6 Skip GCS folder-marker keys in GCSToS3Operator (#72497)
add 8416112c589 Fix dead Docker Desktop networking links in the
docker-compose guide (#72467)
add 05cab1db9da Fix template fields check never running against provider
modules (#71386)
add a4320d95df4 Replace generic AirflowException in AzureBatchOperator
input validation (#71981)
add 2e61fa116de Added missing Russian translations x2 (#70502)
add 6751b29429b Bump common-compat lower bound for akeyless, hashicorp and
smtp (#72503)
add 40851502035 Fix HttpOperator deferrable pagination returning only the
last page
add 83149aaf222 Validate DatabricksSQLStatementsSensor exclusivity at
__init__ (#70831)
add f75b69ea028 Bump the ui-plugin-template-package-updates group across 1
directory with 9 updates (#72526)
add edd44b90aee Ignore Amazon Linux preview AMIs in get_latest_ami_id
(#72520)
add 35e7a70cd37 Make Helm chart version optional in bug reports (#72545)
add d5a161024b5 Declare allow_driver_in_extra in the ODBC provider
configuration metadata (#72547)
add caef4f804dc Do not forward an empty ca_certs to the OpenSearch log
client (#72552)
add 98d8b6e1f39 Fix test_get_task_states_with_task_group_id_and_task_id to
actually cover its name (#72294)
add dadef4e9123 Fix flaky bundle version lock concurrency tests (#72572)
add f1f7b8c2cce Drop the redundant re-validation round trip in airflowctl
list pagination (#71928)
add 4dd620f48d8 Fix XCom slice endpoint for crossed bounds (#72584)
add 17ffe26979e Add drift tripwires for common.ai Vertex model prefix
(#72152)
add 754ba31050e Add support for sending emails through Microsoft Graph
(#71565)
add b7a22f0f8e3 Fix docs build crash on newer anyio releases (#72762)
add 17a2cdc343a Add common.compat alias for BaseEventTrigger (#72140)
add 4b1e9d286c8 Add example Dag for checkpointing progress from an async
task (#71870)
add 9d762c4de94 Remove dead dag_versions.hasattr mocks and duplicate
bundle_url tests (#72580)
add fd896f247fe Add rerank support to Cohere provider (#72501)
add edbdb049f53 Add systemd unit file for Airflow Dag processor (#72772)
add 3e8f91818cf Fix td_format rendering of negative durations (#72694)
(#72774)
add c234f63398b Pass verify and botocore_config to GlueJobCompleteTrigger
(#72557)
add 5e65f218508 Fail the Teradata compute cluster trigger on an unknown
operation (#72696)
add 01e0ace414e Speed up provider asset change detection by pruning
dependency directories (#72784)
add a29cd6c881c Skip pnpm store when detecting UI asset changes (#72783)
add 9246fc51e32 Add reserved IP ranges to Vertex AI pipeline jobs (#72560)
add 9e509db2a7b docs - add create_async_metadata_engine example (#71663)
add 01f904b866a documentation - first example more explicit on airflow
syntax (#71316)
add 3b9df4f8c93 TimeDeltaSensor - delta templated (#71314)
add b42de709745 Run breeze from the locked dev/breeze environment (#72113)
add a7342c7210e Add tests for DataFusion base classes (#71983)
add e5ed00fc8f9 Revert "Suspend Apache Beam Provider due to grpcio
limitation (#61926)" (#66952)
add bc7068f292e Clarify when auth managers' is_authorized_hitl_task hook
runs (#72587)
add 91657fe9fde Remove unused FAB app-init helpers that could never run
(#72610)
add 930770211e5 Invalidate a user's sessions when their password is
changed through the API (#72657)
add d1acf31b442 Validate id_token issuer and audience in the FAB Authentik
provider (#72645)
add 132d4526cf0 Bump the fab-ui-package-updates group across 1 directory
with 2 updates (#72726)
add d8d78647229 Propagate OpenLineage context to Databricks job runs
(#72643)
add 860233f3c72 Fix missing HTTP access logs when api-server omits the
core app (#72026)
add 428e873c9fc Support full downstream skip on LLM branch reject (#72183)
add 0e516c37571 Improve deadline diagnostics for null DagRun fields
(#71767)
add d9d0d2cc07a Add tests for the AWS Batch executor boto schemas (#72609)
add 0ade0fba989 providers-fab: close sessions after users and roles
collection reads (#72578)
add a763ae3ea2b Keep HttpEventTrigger asset watchers polling after a
failed request (#72376)
add ff9576347ee Fix region_name being ignored by the Step Functions
execution trigger (#72625)
add ff839573e94 Bound remaining single-row lookups with .limit(1) (#72699)
add 0f5a23a469e Scope asset API responses to the assets a user may read
(#72682)
add 36a9a63ac08 Fix Calendar view computing cron planned runs in UTC
instead of the Dag's timezone (#71243)
add 27e882439f6 Gate asset event partition_key behind execution API
2026-06-30 (#72327)
add 39c6e268811 Fix Iceberg watcher crash by reverting to the sync state
store (#72312)
add c2c8dce0e47 Preserve custom operator defaults in mapped tasks (#72589)
add 7e6eeb0383c Document scope boundaries the security model leaves
implicit (#72172)
add 2aa581ea02b Add async asset store accessors for async tasks and
watcher triggers (#72127)
add 03a6b85690e Avoid retrying XCom expand actions (#72305)
add 4ddb6b46210 Fix clipping of Last run state badge (#72459)
add 777e727372d Bump the auth-ui-package-updates group across 1 directory
with 14 updates (#72813)
add 1b19d73936b Add failure-path and serialization tests for
StepFunctionsExecutionCompleteTrigger (#72570)
add 90787d5a2da Fix airflow info --file-io uploading an empty report
(#72707)
add 251cd91bb24 Migrate google + pagerduty + anthropic providers to
`httpx2` (#72111)
add 082b596dee4 Preview JSON fields as inline badges in tables (#72353)
add c7b14d1b2f4 Close spanish translation gap (#71796)
add 3152d7af90c More human readable duration strings (#72350)
add 0f0fb954230 Fix Postgres tutorial for psycopg3 (#72562)
add 069a973de5b Fix Databricks hook dropping tasks beyond the first page
of a run (#72304)
add e90b59dc3e1 Use non-deprecated user_agent_entry param in
DatabricksSqlHook (#72103)
add 9326946b158 Report a retried Databricks task once, from its last
attempt (#72313)
add ac03ede6f75 Warn about the DatabricksSQLStatementsSensor exclusivity
tightening (#72761)
add 9004b834746 Fix FAB ignoring create_metadata_engine from local
settings (#71674)
add a3bf92fe855 Fix lineage entities sharing mutable defaults across
instances (#72509)
add 77c0f6e35a8 Implement async state store methods for object storage
backend (#72131)
add bdf2abcbc65 Remove ignored --output flag from airflow pools set and
delete (#72833)
add f0449731644 [main] Upgrade important CI environment (#72314)
add 1952520a9ee Add a TypeScript SDK ADR for TaskFlow and native Dag
authoring (#72047)
add 82f6a9163b0 Add missing zh-TW translations for common.json (#72766)
add cf76cd0c8e1 Refuse Akeyless secret ids that address another team's
namespace (#72646)
add 478745af84d Fix airflow db clean never purging the callback table
(#70923)
add bb3e71da466 Fix deprecated imports resolution in airflow.utils.helpers
(#71691)
add ab452960931 Fix pickle round-trip of Amazon provider exceptions and
add their tests (#72824)
add 1685bd6f0ca Run short CI bookkeeping jobs on ubuntu-slim runners
(#72852)
add b738c5aa3fc Bump the java-sdk-dependency-updates group across 1
directory with 5 updates (#72527)
add 6b60399e52b Do not corrupt XCom values that already parse as JSON in
the bytea to JSONB migration (#71926)
add d194da2323b Correct Airflow 3 systemd service and health guidance
(#72872)
add 9bd7d147b83 Add missing unit tests for common.compat lineage entities
(#72506)
add 210a6c60714 Allow plugins to add or override UI translations (#72648)
add b13414865e1 Fix 500 for non-dict JSON bodies on variable/connection
endpoints (#72683)
add 6d9cc2ed37b Fix DagProcessorJob crash on orphan processor kill (#69523)
add 209e34c5022 Prepare providers release 2026-09-09 (#72834)
add 2c2dcce930e Stop one malformed provider from breaking discovery for
all providers (#72854)
add 2bb32e370cc Stop swallowing unexpected keyring errors when saving
airflowctl credentials (#70991)
add d80e2427e61 Add unit tests for BaseBotoWaiter in Amazon provider
(#72819)
add d0577848b68 Fix DeadlockImminentError when a connection is resolved
inside an async task (#71890)
add 853cafd2137 Fix PgBouncer hostname for result backend under standard
naming (#71830)
add 3817ee64aca Fix Helm Chart regression with Kerberos in Kubernetes
(#70688)
add 140c13dc96c Skip legacy models when selecting a Bedrock inference
profile (#72521)
add b4744b10d70 Add redis_conn_id to RedisPublishOperator template_fields
(#72883)
add 1e2ad803f74 Detect Dag subclasses in the Dag version inflation check
(#72861)
add a9f6c898f01 Return 404 instead of 500 when ti_run cannot find the
DagRun (#72890)
add c10185f281d Fix PydanticAI vendor connections not resolving from
secrets backends (#72853)
add 6a6a24f2e1a Remove a misleading connection type warning and explain
lookup failures (#72855)
add 76ffb4693fe Add deferrable mode to QuickSight operator and sensor
(#70218)
add 04df20a4f7e Increase readability of schema validation errors (#72905)
add 438f2bda03b Stop CI duration alerts firing on one-off image rebuilds
(#71548)
add 0ff0645d761 Remove note about airflow 2.7.0 from docs (#72913)
add 987f9c08a89 Add None to Mapped annotations of three nullable ORM
columns (#72579)
add 0a7967017a6 Replace AssertionError as ValueError in production code
(#72763)
add 721fb3a3f59 Add TypedDict type hints for AirflowPlugin list fields
(#69761)
add 6e749f72c2e Document that plugin FastAPI apps are not authenticated by
Airflow (#72655)
add 3f0a5d61fa8 Revoke every credential presented to the Core API logout
endpoint (#72649)
add 6e3743e3f16 Fix flaky Iceberg snapshot trigger test on slow CI runners
(#72931)
add 04e7d6c2a0e Clarify auth and add an authorization example for plugin
FastAPI apps (#72935)
add 677b4ab197c Drop the redundant OAuth2 branch from get_user and
collect_request_tokens (#72889)
add d076a57dcb2 Reuse the explicit dag_run join on the previous-TI lookup
(#72811)
add d3764a6758a Add missing unit tests for the common-messaging provider
base class (#72915)
add 1cf0d2c884c Fix airflow teams list --output json printing prose when
no teams exist (#72945)
add 173871e84ee Document what the LLM can and cannot do in retry policies
(#72947)
add 72e27157974 Add declarative configuration for FAB custom roles (#72820)
add 23f87019e54 Close the session after the FAB permissions collection
read (#72950)
add 2309d05a24c Wait for the EKS cluster to be stable before deleting
Fargate profiles (#72957)
add baabfc5dec7 Bump @chakra-ui/react
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 (d566936c477)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/chakra-ui-7685d36c64
(baabfc5dec7)
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:
.../prepare-providers-documentation/SKILL.md | 22 +
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 2 -
.github/actions/install-prek/action.yml | 18 +-
.github/workflows/automatic-backport.yml | 2 +-
.github/workflows/basic-tests.yml | 4 +-
.github/workflows/check-newsfragment-pr-number.yml | 2 +-
.github/workflows/ci-amd.yml | 4 +-
.github/workflows/ci-arm.yml | 4 +-
.github/workflows/ci-duration-monitor.yml | 2 +-
.github/workflows/ci-notification.yml | 11 +-
.github/workflows/codeql-analysis.yml | 2 +-
.github/workflows/e2e-flaky-tests-report.yml | 2 +-
.github/workflows/java-sdk-dependency-security.yml | 2 +-
.github/workflows/milestone-tag-assistant.yml | 2 +-
.github/workflows/notify-uv-lock-conflicts.yml | 15 +-
.github/workflows/recheck-old-bug-report.yml | 2 +-
.github/workflows/registry-backfill.yml | 2 +-
.github/workflows/registry-tests.yml | 6 +-
.../scheduled-verify-release-calendar.yml | 15 +-
.github/workflows/stale.yml | 2 +-
.github/workflows/ts-sdk-dependency-review.yml | 2 +-
.../update-constraints-on-push-stable.yml | 2 +-
.github/workflows/update-constraints-on-push.yml | 2 +-
.github/zizmor.yml | 18 +
.gitignore | 5 +
.pre-commit-config.yaml | 17 +-
AGENTS.md | 2 +-
Dockerfile | 2 +-
Dockerfile.ci | 6 +-
RELEASE_NOTES.rst | 11 +
.../cluster-policies.rst | 21 +-
.../logging-monitoring/check-health.rst | 4 +
.../docs/administration-and-deployment/plugins.rst | 110 +
.../task-and-asset-state-store.rst | 20 +
.../language-sdks/java.rst | 208 +-
airflow-core/docs/best-practices.rst | 2 +-
.../docs/core-concepts/asset-state-store.rst | 25 +-
.../docs/core-concepts/auth-manager/index.rst | 6 +-
airflow-core/docs/howto/docker-compose/index.rst | 2 +-
airflow-core/docs/howto/run-with-systemd.rst | 22 +
airflow-core/docs/index.rst | 18 +-
airflow-core/docs/security/security_model.rst | 136 +-
airflow-core/docs/security/workload.rst | 18 +
airflow-core/docs/tutorial/pipeline.rst | 24 +-
airflow-core/newsfragments/70013.feature.rst | 1 +
airflow-core/newsfragments/70923.bugfix.rst | 1 +
airflow-core/newsfragments/71767.bugfix.rst | 1 +
airflow-core/newsfragments/72225.significant.rst | 27 +
airflow-core/newsfragments/72327.bugfix.rst | 1 +
airflow-core/newsfragments/72682.feature.rst | 1 +
airflow-core/pyproject.toml | 2 +-
airflow-core/src/airflow/api_fastapi/app.py | 8 +
.../api_fastapi/auth/managers/base_auth_manager.py | 55 +-
.../auth/managers/models/resource_details.py | 2 +
.../auth/managers/simple/simple_auth_manager.py | 4 -
.../auth/managers/simple/ui/package.json | 28 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 1648 +++---
.../src/airflow/api_fastapi/common/parameters.py | 22 +
.../src/airflow/api_fastapi/core_api/app.py | 116 +-
.../api_fastapi/core_api/datamodels/plugins.py | 5 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 184 +
.../core_api/openapi/v2-rest-api-generated.yaml | 3 +
.../api_fastapi/core_api/routes/public/assets.py | 6 +
.../api_fastapi/core_api/routes/public/auth.py | 26 +-
.../core_api/routes/public/connections.py | 39 +-
.../api_fastapi/core_api/routes/public/dags.py | 6 +-
.../api_fastapi/core_api/routes/public/xcom.py | 2 +-
.../api_fastapi/core_api/routes/ui/assets.py | 3 +
.../api_fastapi/core_api/routes/ui/backfills.py | 25 +-
.../src/airflow/api_fastapi/core_api/security.py | 113 +-
.../api_fastapi/core_api/services/ui/calendar.py | 26 +-
.../execution_api/routes/task_instances.py | 14 +-
.../api_fastapi/execution_api/routes/xcoms.py | 18 +-
.../api_fastapi/execution_api/versions/__init__.py | 2 +
.../execution_api/versions/v2026_04_06.py | 7 +-
.../execution_api/versions/v2026_06_30.py | 23 +
.../src/airflow/api_fastapi/gunicorn_app.py | 4 +
.../src/airflow/api_fastapi/logging/decorators.py | 6 +-
airflow-core/src/airflow/cli/cli_config.py | 9 +-
.../src/airflow/cli/commands/api_server_command.py | 14 +
.../src/airflow/cli/commands/info_command.py | 7 +-
.../src/airflow/cli/commands/jobs_command.py | 7 +-
.../src/airflow/cli/commands/team_command.py | 7 +-
.../src/airflow/config_templates/config.yml | 23 +
airflow-core/src/airflow/dag_processing/manager.py | 2 +-
.../src/airflow/dag_processing/processor.py | 1 +
.../example_dags/example_task_state_store_async.py | 94 +
.../src/airflow/jobs/scheduler_job_runner.py | 32 +-
...49_3_0_0_remove_pickled_data_from_xcom_table.py | 227 +-
..._3_0_0_remove_pickled_data_from_dagrun_table.py | 5 +-
airflow-core/src/airflow/models/asset.py | 8 +
airflow-core/src/airflow/models/backfill.py | 2 +-
airflow-core/src/airflow/models/callback.py | 2 +-
airflow-core/src/airflow/models/connection.py | 47 +-
airflow-core/src/airflow/models/dagrun.py | 2 +-
airflow-core/src/airflow/models/taskinstance.py | 2 +-
airflow-core/src/airflow/plugins_manager.py | 139 +-
airflow-core/src/airflow/provider.yaml.schema.json | 5 +-
.../src/airflow/serialization/definitions/dag.py | 16 +
.../airflow/serialization/definitions/deadline.py | 9 +-
airflow-core/src/airflow/timetables/interval.py | 2 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 27 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 48 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 48 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 48 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 48 +-
.../ui/openapi-gen/requests/services.gen.ts | 42 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 21 +
.../airflow/ui/public/i18n/locales/ca/common.json | 1 +
.../airflow/ui/public/i18n/locales/en/common.json | 4 +
.../ui/public/i18n/locales/en/components.json | 4 +
.../airflow/ui/public/i18n/locales/es/admin.json | 29 +-
.../airflow/ui/public/i18n/locales/es/assets.json | 22 +-
.../airflow/ui/public/i18n/locales/es/browse.json | 5 +-
.../airflow/ui/public/i18n/locales/es/common.json | 221 +-
.../ui/public/i18n/locales/es/components.json | 53 +-
.../src/airflow/ui/public/i18n/locales/es/dag.json | 52 +-
.../airflow/ui/public/i18n/locales/es/dags.json | 27 +-
.../ui/public/i18n/locales/es/dashboard.json | 8 +-
.../airflow/ui/public/i18n/locales/es/hitl.json | 20 +-
.../airflow/ui/public/i18n/locales/fr/common.json | 1 +
.../airflow/ui/public/i18n/locales/pt/common.json | 1 +
.../airflow/ui/public/i18n/locales/ru/admin.json | 27 +-
.../airflow/ui/public/i18n/locales/ru/assets.json | 21 +-
.../airflow/ui/public/i18n/locales/ru/browse.json | 20 +
.../airflow/ui/public/i18n/locales/ru/common.json | 226 +-
.../ui/public/i18n/locales/ru/components.json | 60 +-
.../src/airflow/ui/public/i18n/locales/ru/dag.json | 116 +-
.../airflow/ui/public/i18n/locales/ru/dags.json | 36 +-
.../ui/public/i18n/locales/ru/dashboard.json | 29 +-
.../airflow/ui/public/i18n/locales/ru/hitl.json | 21 +-
.../airflow/ui/public/i18n/locales/ru/tasks.json | 8 +-
.../ui/public/i18n/locales/zh-TW/common.json | 23 +
.../ClearTaskInstanceConfirmationDialog.tsx | 5 +-
.../src/airflow/ui/src/components/DagRunInfo.tsx | 8 +-
.../DurationCell.tsx} | 25 +-
.../airflow/ui/src/components/DurationChart.tsx | 32 +-
.../ui/src/components/FilterBar/FilterBar.test.tsx | 27 +-
.../components/FilterBar/filters/SelectFilter.tsx | 12 +-
.../HITLReview/HITLReviewDetailSummary.tsx | 5 +-
.../ui/src/components/JsonPreviewBadges.tsx | 120 +
.../ui/src/components/RenderedJsonField.test.tsx | 149 +
.../ui/src/components/RenderedJsonField.tsx | 216 +-
.../src/components/SlowestTaskInstancesChart.tsx | 42 +-
.../ui/src/components/TaskInstanceTooltip.test.tsx | 7 +-
.../ui/src/components/TaskInstanceTooltip.tsx | 7 +-
.../src/airflow/ui/src/constants/filterConfigs.tsx | 46 +-
.../ui/src/constants/reprocessBehaviourParams.ts | 6 +-
.../src/airflow/ui/src/constants/searchParams.ts | 12 +
.../src/airflow/ui/src/hooks/useIframeUrlSync.ts | 170 +
.../src/airflow/ui/src/i18n/config.test.ts | 38 +-
airflow-core/src/airflow/ui/src/i18n/config.ts | 17 +-
.../src/airflow/ui/src/layouts/BaseLayout.tsx | 3 +
.../ui/src/layouts/Details/Gantt/GanttTimeline.tsx | 11 +-
.../ui/src/layouts/Details/Gantt/utils.test.ts | 25 +-
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 23 +-
.../ui/src/layouts/Details/Grid/DurationTick.tsx | 16 +-
.../src/layouts/Details/Grid/GridButton.test.tsx | 2 +-
.../ui/src/layouts/Details/Grid/GridButton.tsx | 3 +-
.../ui/src/layouts/Nav/LanguageSelector.test.tsx | 73 +
.../ui/src/layouts/Nav/LanguageSelector.tsx | 30 +-
.../src/airflow/ui/src/mocks/handlers/backfills.ts | 86 +
.../src/airflow/ui/src/mocks/handlers/index.ts | 2 +
.../ui/src/pages/Dag/Backfills/Backfills.test.tsx | 21 +-
.../ui/src/pages/Dag/Backfills/Backfills.tsx | 80 +-
.../Dag/Backfills/BackfillsDateFilter.test.tsx | 52 +
.../src/pages/Dag/Backfills/BackfillsFilters.tsx | 48 +
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 3 +-
.../ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx | 4 +-
.../ui/src/pages/Dag/DeadlineAlertsBadge.tsx | 4 +-
.../src/airflow/ui/src/pages/Dag/Details.tsx | 3 +-
.../src/airflow/ui/src/pages/Dag/Header.test.tsx | 11 +
.../src/airflow/ui/src/pages/Dag/Header.tsx | 2 +-
.../ui/src/pages/Dag/Overview/DeadlineRow.tsx | 4 +-
.../ui/src/pages/Dag/Overview/Overview.test.tsx | 6 +-
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 5 +-
.../airflow/ui/src/pages/DagsList/RecentRuns.tsx | 3 +-
.../src/airflow/ui/src/pages/ExternalView.tsx | 1 +
.../ui/src/pages/GroupTaskInstance/Header.tsx | 5 +-
.../src/airflow/ui/src/pages/Iframe.test.tsx | 99 +
airflow-core/src/airflow/ui/src/pages/Iframe.tsx | 21 +-
.../ui/src/pages/MappedTaskInstance/Details.tsx | 5 +-
.../ui/src/pages/MappedTaskInstance/Header.tsx | 5 +-
.../airflow/ui/src/pages/Run/DeadlineStatus.tsx | 9 +-
.../ui/src/pages/Run/DeadlineStatusModal.tsx | 7 +-
.../src/airflow/ui/src/pages/Run/Details.tsx | 5 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 5 +-
.../src/airflow/ui/src/pages/Security.test.tsx | 93 +
airflow-core/src/airflow/ui/src/pages/Security.tsx | 74 +-
.../airflow/ui/src/pages/TaskInstance/Details.tsx | 3 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 5 +-
.../src/pages/TaskInstance/Logs/TaskLogContent.tsx | 8 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 5 +-
airflow-core/src/airflow/ui/src/router.tsx | 2 +-
.../src/airflow/ui/src/utils/datetimeUtils.test.ts | 372 +-
.../src/airflow/ui/src/utils/datetimeUtils.ts | 309 +-
.../src/airflow/ui/src/utils/deadlines.test.ts | 2 +-
airflow-core/src/airflow/ui/src/utils/deadlines.ts | 3 +-
airflow-core/src/airflow/ui/src/utils/index.ts | 2 +-
.../src/airflow/ui/src/utils/jsonPreview.test.ts | 69 +
.../src/airflow/ui/src/utils/jsonPreview.ts | 77 +
.../ui/src/utils/useDurationFormat.test.tsx | 80 +
.../src/airflow/ui/src/utils/useDurationFormat.ts | 64 +
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 6 +
.../ui/tests/e2e/pages/ConfigurationPage.ts | 6 +
.../src/airflow/ui/tests/e2e/pages/XComsPage.ts | 7 +-
.../ui/tests/e2e/specs/configuration.spec.ts | 12 +-
.../ui/tests/e2e/specs/iframe-url-sync.spec.ts | 86 +
.../airflow/utils/dag_version_inflation_checker.py | 40 +-
airflow-core/src/airflow/utils/db_cleanup.py | 49 +-
airflow-core/src/airflow/utils/helpers.py | 4 +-
.../tests/unit/always/test_example_dags.py | 12 -
.../tests/unit/always/test_project_structure.py | 9 +-
.../tests/unit/always/test_provider_yaml_schema.py | 73 +
.../managers/simple/test_simple_auth_manager.py | 2 -
.../auth/managers/test_base_auth_manager.py | 74 +-
.../core_api/routes/public/test_assets.py | 90 +-
.../core_api/routes/public/test_auth.py | 107 +
.../core_api/routes/public/test_connections.py | 84 +
.../core_api/routes/public/test_dag_versions.py | 175 +-
.../core_api/routes/public/test_dags.py | 124 +-
.../core_api/routes/public/test_task_instances.py | 126 +-
.../core_api/routes/public/test_variables.py | 18 +
.../core_api/routes/public/test_xcom.py | 16 +-
.../api_fastapi/core_api/routes/ui/test_assets.py | 24 +-
.../core_api/routes/ui/test_backfills.py | 85 +-
.../core_api/routes/ui/test_calendar.py | 121 +-
.../tests/unit/api_fastapi/core_api/test_app.py | 122 +-
.../unit/api_fastapi/core_api/test_security.py | 141 +-
.../versions/head/test_task_instances.py | 61 +
.../execution_api/versions/head/test_xcoms.py | 81 +
.../versions/v2026_04_06/test_task_instances.py | 54 +-
.../versions/v2026_06_30/test_dag_runs.py | 57 +
.../versions/v2026_06_30/test_task_instances.py | 82 +-
airflow-core/tests/unit/api_fastapi/test_app.py | 13 +
.../unit/cli/commands/test_api_server_command.py | 43 +
.../tests/unit/cli/commands/test_asset_command.py | 46 +-
.../unit/cli/commands/test_gunicorn_monitor.py | 44 +
.../tests/unit/cli/commands/test_info_command.py | 10 +
.../tests/unit/cli/commands/test_jobs_command.py | 17 +
.../tests/unit/cli/commands/test_team_command.py | 20 +-
airflow-core/tests/unit/cli/test_cli_parser.py | 15 +
.../tests/unit/dag_processing/bundles/test_base.py | 75 +-
.../tests/unit/dag_processing/test_manager.py | 67 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 47 +-
...est_0049_remove_pickled_data_from_xcom_table.py | 169 +-
airflow-core/tests/unit/models/test_connection.py | 159 +-
airflow-core/tests/unit/models/test_dagrun.py | 63 +-
airflow-core/tests/unit/models/test_deadline.py | 35 +-
.../tests/unit/models/test_taskinstance.py | 24 +-
airflow-core/tests/unit/plugins/test_plugin.py | 18 +-
.../tests/unit/plugins/test_plugins_manager.py | 234 +-
.../utils/test_dag_version_inflation_checker.py | 673 ++-
airflow-core/tests/unit/utils/test_db_cleanup.py | 316 +-
airflow-core/tests/unit/utils/test_helpers.py | 23 +
airflow-ctl/src/airflowctl/api/client.py | 8 +-
.../airflowctl/api/datamodels/auth_generated.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 2 +-
airflow-ctl/src/airflowctl/api/operations.py | 3 +-
airflow-ctl/tests/airflow_ctl/api/test_client.py | 22 +-
chart/files/pod-template-file.kubernetes-helm-yaml | 2 +-
.../secrets/result-backend-connection-secret.yaml | 2 +-
chart/templates/workers/worker-deployment.yaml | 2 +-
.../airflow_aux/test_pod_template_file.py | 24 +
chart/tests/helm_tests/airflow_core/test_worker.py | 19 +
.../test_result_backend_connection_secret.py | 15 +-
chart/values.schema.json | 12 +-
chart/values.yaml | 8 +-
contributing-docs/03_contributors_quick_start.rst | 7 +-
.../23_provider_hook_migration_to_yaml.rst | 2 +-
.../contributors_quick_start_gitpod.rst | 5 +-
dev/README_AIRFLOW3_DEV.md | 3 +-
dev/README_RELEASE_AIRFLOW.md | 2 +-
dev/README_RELEASE_PROVIDERS.md | 58 +
dev/breeze/README.md | 7 +-
dev/breeze/doc/01_installation.rst | 7 +-
.../doc/adr/0016-use-uv-tool-to-install-breeze.md | 2 +-
...017-use-uvx-to-run-breeze-from-local-sources.md | 74 +-
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/doc/ci/05_workflows.md | 31 +
dev/breeze/doc/images/output_build-docs.svg | 124 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
...tput_release-management_add-back-references.svg | 62 +-
...tput_release-management_add-back-references.txt | 2 +-
...elease-management_classify-provider-changes.svg | 22 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.svg | 22 +-
...management_generate-issue-content-providers.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 22 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 100 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 88 +-
.../output_release-management_publish-docs.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 98 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
dev/breeze/pyproject.toml | 2 +-
.../src/airflow_breeze/commands/common_options.py | 7 -
.../commands/release_management_commands.py | 29 +-
.../commands/release_management_commands_config.py | 1 +
.../src/airflow_breeze/commands/ui_commands.py | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
.../prepare_providers/provider_documentation.py | 45 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 10 +-
dev/breeze/src/airflow_breeze/utils/platforms.py | 62 -
dev/breeze/src/airflow_breeze/utils/reinstall.py | 13 +-
dev/breeze/tests/test_packages.py | 4 +-
dev/breeze/tests/test_provider_documentation.py | 83 +-
dev/breeze/tests/test_selective_checks.py | 52 +-
dev/breeze/tests/test_shim_version_check.py | 8 +-
dev/breeze/uv.lock | 247 +-
.../react_plugin_template/package.json | 18 +-
.../react_plugin_template/pnpm-lock.yaml | 1564 +++---
dev/skill-evals/last-eval-hash.txt | 2 +-
devel-common/pyproject.toml | 4 +-
.../src/sphinx_exts/pagefind_search/builder.py | 1 +
.../src/tests_common/test_utils/asserts.py | 40 +-
.../src/tests_common/test_utils/mock_plugins.py | 1 +
.../src/tests_common/test_utils/providers.py | 2 +-
docs/spelling_wordlist.txt | 5 +
generated/known_airflow_exceptions.txt | 11 +-
java-sdk/gradle/verification-metadata.xml | 60 +
java-sdk/sdk/build.gradle.kts | 10 +-
.../.ast-grep/rules/no-httpx-import.yml | 30 +-
.../zizmor.yml => providers/.ast-grep/sgconfig.yml | 15 +-
providers/.last_release_date.txt | 2 +-
providers/.pre-commit-config.yaml | 9 +
providers/MANAGING_PROVIDERS_LIFECYCLE.rst | 2 +-
.../src/airflow/providers/airbyte/hooks/airbyte.py | 3 +
providers/akeyless/README.rst | 8 +-
providers/akeyless/docs/changelog.rst | 21 +-
providers/akeyless/docs/index.rst | 8 +-
providers/akeyless/provider.yaml | 1 +
providers/akeyless/pyproject.toml | 8 +-
.../src/airflow/providers/akeyless/__init__.py | 2 +-
.../airflow/providers/akeyless/secrets/akeyless.py | 61 +-
.../tests/unit/akeyless/secrets/test_akeyless.py | 136 +
providers/amazon/README.rst | 6 +-
providers/amazon/docs/changelog.rst | 31 +
providers/amazon/docs/index.rst | 6 +-
providers/amazon/docs/operators/quicksight.rst | 6 +
providers/amazon/provider.yaml | 6 +-
providers/amazon/pyproject.toml | 6 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../amazon/aws/auth_manager/aws_auth_manager.py | 30 +
.../src/airflow/providers/amazon/aws/exceptions.py | 7 +-
.../providers/amazon/aws/hooks/quicksight.py | 85 +-
.../airflow/providers/amazon/aws/operators/glue.py | 2 +
.../providers/amazon/aws/operators/quicksight.py | 77 +-
.../airflow/providers/amazon/aws/sensors/glue.py | 2 +
.../providers/amazon/aws/sensors/quicksight.py | 49 +-
.../providers/amazon/aws/transfers/gcs_to_s3.py | 35 +
.../providers/amazon/aws/triggers/quicksight.py | 87 +
.../providers/amazon/aws/triggers/step_function.py | 5 +-
.../providers/amazon/aws/waiters/quicksight.json | 48 +
.../airflow/providers/amazon/get_provider_info.py | 4 +
.../aws/example_eks_with_fargate_in_one_step.py | 10 +
.../amazon/aws/example_eks_with_fargate_profile.py | 10 +
.../tests/system/amazon/aws/utils/bedrock.py | 60 +-
.../amazon/tests/system/amazon/aws/utils/ec2.py | 24 +-
.../aws/auth_manager/test_aws_auth_manager.py | 52 +-
.../amazon/aws/executors/batch/test_boto_schema.py | 124 +
.../tests/unit/amazon/aws/hooks/test_quicksight.py | 77 +-
.../tests/unit/amazon/aws/operators/test_glue.py | 29 +
.../unit/amazon/aws/operators/test_quicksight.py | 100 +-
.../tests/unit/amazon/aws/sensors/test_glue.py | 25 +
.../unit/amazon/aws/sensors/test_quicksight.py | 46 +-
.../tests/unit/amazon/aws/test_exceptions.py | 137 +
.../unit/amazon/aws/transfers/test_gcs_to_s3.py | 67 +
.../unit/amazon/aws/triggers/test_quicksight.py | 64 +
.../unit/amazon/aws/triggers/test_step_function.py | 130 +
.../unit/amazon/aws/waiters/test_base_waiter.py | 109 +
.../unit/amazon/aws/waiters/test_quicksight.py | 76 +
providers/anthropic/README.rst | 6 +-
providers/anthropic/docs/changelog.rst | 20 +
providers/anthropic/docs/index.rst | 6 +-
providers/anthropic/provider.yaml | 3 +-
providers/anthropic/pyproject.toml | 6 +-
.../src/airflow/providers/anthropic/__init__.py | 2 +-
providers/apache/arrow/README.rst | 54 +-
providers/apache/beam/README.rst | 29 +-
providers/apache/beam/docs/changelog.rst | 27 +
providers/apache/beam/docs/index.rst | 45 +-
providers/apache/beam/provider.yaml | 5 +-
providers/apache/beam/pyproject.toml | 10 +-
.../src/airflow/providers/apache/beam/__init__.py | 2 +-
providers/apache/hive/README.rst | 6 +-
providers/apache/hive/docs/changelog.rst | 18 +
providers/apache/hive/docs/index.rst | 6 +-
providers/apache/hive/provider.yaml | 3 +-
providers/apache/hive/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hive/__init__.py | 2 +-
providers/apache/iceberg/README.rst | 8 +-
providers/apache/iceberg/docs/changelog.rst | 14 +
providers/apache/iceberg/docs/index.rst | 8 +-
providers/apache/iceberg/provider.yaml | 3 +-
providers/apache/iceberg/pyproject.toml | 8 +-
.../airflow/providers/apache/iceberg/__init__.py | 2 +-
.../providers/apache/iceberg/triggers/iceberg.py | 15 +-
.../unit/apache/iceberg/triggers/test_iceberg.py | 57 +-
providers/apache/kafka/README.rst | 6 +-
providers/apache/kafka/docs/changelog.rst | 24 +
providers/apache/kafka/docs/configurations-ref.rst | 7 +-
providers/apache/kafka/docs/connections/kafka.rst | 12 +
providers/apache/kafka/docs/index.rst | 6 +-
providers/apache/kafka/provider.yaml | 25 +-
providers/apache/kafka/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kafka/__init__.py | 2 +-
.../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 +
.../apache/spark/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/spark/docs/operators.rst | 90 +-
.../tinkerpop/docs/.latest-doc-only-change.txt | 2 +-
providers/celery/README.rst | 6 +-
providers/celery/docs/celery_executor.rst | 7 -
.../celery/docs/celery_kubernetes_executor.rst | 7 -
providers/celery/docs/changelog.rst | 20 +
providers/celery/docs/index.rst | 6 +-
providers/celery/provider.yaml | 3 +-
providers/celery/pyproject.toml | 6 +-
.../src/airflow/providers/celery/__init__.py | 2 +-
providers/cncf/kubernetes/README.rst | 6 +-
providers/cncf/kubernetes/docs/changelog.rst | 28 +
providers/cncf/kubernetes/docs/index.rst | 6 +-
.../cncf/kubernetes/docs/kubernetes_executor.rst | 8 -
.../kubernetes/docs/local_kubernetes_executor.rst | 7 -
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 6 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../providers/cncf/kubernetes/operators/pod.py | 5 +-
.../cncf/kubernetes/utils/xcom_sidecar.py | 6 +-
.../unit/cncf/kubernetes/operators/test_pod.py | 22 +
.../cncf/kubernetes/utils/test_xcom_sidecar.py | 17 +
providers/cohere/README.rst | 6 +-
providers/cohere/docs/changelog.rst | 14 +
providers/cohere/docs/index.rst | 13 +-
providers/cohere/docs/operators/rerank.rst | 71 +
providers/cohere/provider.yaml | 5 +-
providers/cohere/pyproject.toml | 6 +-
.../src/airflow/providers/cohere/__init__.py | 2 +-
.../airflow/providers/cohere/get_provider_info.py | 13 +-
.../src/airflow/providers/cohere/hooks/cohere.py | 26 +
.../airflow/providers/cohere/operators/rerank.py | 95 +
.../cohere/example_cohere_rerank_operator.py} | 37 +-
.../cohere/tests/unit/cohere/hooks/test_cohere.py | 49 +-
.../tests/unit/cohere/operators/test_rerank.py | 86 +
providers/common/ai/README.rst | 6 +-
providers/common/ai/docs/changelog.rst | 46 +
.../ai/docs/connections/pydantic_ai_azure.rst | 29 +-
.../ai/docs/connections/pydantic_ai_bedrock.rst | 33 +-
.../ai/docs/connections/pydantic_ai_vertex.rst | 31 +-
providers/common/ai/docs/index.rst | 8 +-
providers/common/ai/docs/operators/llm_branch.rst | 19 +-
providers/common/ai/docs/retry_policies.rst | 20 +
providers/common/ai/provider.yaml | 9 +-
providers/common/ai/pyproject.toml | 6 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../providers/common/ai/get_provider_info.py | 6 +-
.../providers/common/ai/hooks/pydantic_ai.py | 6 +-
.../airflow/providers/common/ai/operators/llm.py | 2 +-
.../providers/common/ai/operators/llm_branch.py | 19 +-
.../providers/common/ai/plugins/hitl_review.py | 11 +-
.../tests/unit/common/ai/hooks/test_pydantic_ai.py | 186 +-
.../unit/common/ai/operators/test_llm_branch.py | 42 +-
providers/common/compat/README.rst | 6 +-
providers/common/compat/docs/changelog.rst | 20 +
providers/common/compat/docs/index.rst | 6 +-
providers/common/compat/provider.yaml | 3 +-
providers/common/compat/pyproject.toml | 6 +-
.../airflow/providers/common/compat/__init__.py | 2 +-
.../providers/common/compat/lineage/entities.py | 10 +-
.../airflow/providers/common/compat/triggers.py} | 33 +-
.../unit/common/compat/lineage/test_entities.py | 170 +
.../tests/unit/common/compat/test_triggers.py | 42 +
providers/common/io/README.rst | 6 +-
providers/common/io/docs/changelog.rst | 21 +
providers/common/io/docs/index.rst | 6 +-
providers/common/io/provider.yaml | 1 +
providers/common/io/pyproject.toml | 6 +-
.../io/src/airflow/providers/common/io/__init__.py | 2 +-
.../providers/common/io/state_store/backend.py | 12 +-
.../unit/common/io/state_store/test_backend.py | 84 +
providers/common/messaging/README.rst | 6 +-
providers/common/messaging/docs/changelog.rst | 15 +
providers/common/messaging/docs/index.rst | 6 +-
providers/common/messaging/provider.yaml | 3 +-
providers/common/messaging/pyproject.toml | 6 +-
.../airflow/providers/common/messaging/__init__.py | 2 +-
.../unit/common/messaging/providers}/__init__.py | 0
.../messaging/providers/test_base_provider.py | 71 +
.../tests/unit/common/sql/datafusion/test_base.py | 74 +
.../unit/common/sql/datafusion/test_exceptions.py | 37 +-
providers/databricks/README.rst | 6 +-
providers/databricks/docs/changelog.rst | 37 +
providers/databricks/docs/index.rst | 6 +-
.../databricks/docs/operators/jobs_create.rst | 1 +
providers/databricks/docs/operators/run_now.rst | 30 +
providers/databricks/docs/operators/submit_run.rst | 16 +
providers/databricks/provider.yaml | 3 +-
providers/databricks/pyproject.toml | 6 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
.../providers/databricks/hooks/databricks.py | 57 +-
.../providers/databricks/hooks/databricks_sql.py | 2 +-
.../providers/databricks/operators/databricks.py | 126 +-
.../providers/databricks/sensors/databricks.py | 13 +-
.../providers/databricks/utils/databricks.py | 24 +-
.../providers/databricks/utils/openlineage.py | 101 +
.../tests/unit/databricks/hooks/test_databricks.py | 48 +
.../unit/databricks/operators/test_databricks.py | 240 +
.../unit/databricks/sensors/test_databricks.py | 93 +-
.../tests/unit/databricks/utils/test_databricks.py | 106 +
.../unit/databricks/utils/test_openlineage.py | 140 +
.../dbt/cloud/docs/.latest-doc-only-change.txt | 2 +-
providers/edge3/README.rst | 6 +-
providers/edge3/docs/changelog.rst | 22 +
providers/edge3/docs/index.rst | 6 +-
providers/edge3/provider.yaml | 3 +-
providers/edge3/pyproject.toml | 6 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../edge3/plugins/edge_executor_plugin.py | 7 +-
providers/elasticsearch/README.rst | 6 +-
providers/elasticsearch/docs/changelog.rst | 14 +
providers/elasticsearch/docs/index.rst | 6 +-
providers/elasticsearch/provider.yaml | 3 +-
providers/elasticsearch/pyproject.toml | 6 +-
.../airflow/providers/elasticsearch/__init__.py | 2 +-
providers/exasol/README.rst | 6 +-
providers/exasol/docs/changelog.rst | 15 +
providers/exasol/docs/index.rst | 6 +-
providers/exasol/provider.yaml | 3 +-
providers/exasol/pyproject.toml | 6 +-
.../src/airflow/providers/exasol/__init__.py | 2 +-
providers/fab/README.rst | 6 +-
providers/fab/docs/auth-manager/access-control.rst | 58 +
.../docs/auth-manager/webserver-authentication.rst | 19 +
providers/fab/docs/changelog.rst | 38 +
providers/fab/docs/index.rst | 6 +-
providers/fab/provider.yaml | 16 +-
providers/fab/pyproject.toml | 6 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../fab/auth_manager/api_fastapi/services/roles.py | 76 +-
.../fab/auth_manager/api_fastapi/services/users.py | 69 +-
.../fab/auth_manager/cli_commands/utils.py | 9 +-
.../providers/fab/auth_manager/fab_auth_manager.py | 21 +
.../providers/fab/auth_manager/models/db.py | 4 +-
.../fab/auth_manager/security_manager/override.py | 134 +-
.../src/airflow/providers/fab/get_provider_info.py | 7 +
providers/fab/src/airflow/providers/fab/www/app.py | 16 +-
providers/fab/src/airflow/providers/fab/www/db.py | 50 +
.../providers/fab/www/extensions/init_views.py | 15 -
.../fab/src/airflow/providers/fab/www/package.json | 4 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 235 +-
.../api_fastapi/services/test_roles.py | 69 +-
.../api_fastapi/services/test_users.py | 150 +-
.../fab/auth_manager/cli_commands/test_utils.py | 15 +
.../fab/tests/unit/fab/auth_manager/conftest.py | 1 -
.../security_manager/test_custom_roles.py | 439 ++
.../auth_manager/security_manager/test_override.py | 149 +
.../unit/fab/auth_manager/test_fab_auth_manager.py | 6 +
.../tests/unit/fab/auth_manager/test_security.py | 54 +
providers/fab/tests/unit/fab/decorators.py | 4 -
.../fab/tests/unit/fab/plugins/test_plugin.py | 18 +-
.../tests/unit/fab/www/test_app.py} | 33 +-
providers/fab/tests/unit/fab/www/test_db.py | 75 +
providers/fab/tests/unit/fab/www/views/conftest.py | 1 -
providers/git/README.rst | 15 +-
providers/git/docs/changelog.rst | 13 +
providers/git/docs/index.rst | 6 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 6 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
providers/google/README.rst | 10 +-
providers/google/docs/changelog.rst | 51 +
providers/google/docs/index.rst | 12 +-
providers/google/provider.yaml | 4 +-
providers/google/pyproject.toml | 12 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../providers/google/cloud/hooks/cloud_sql.py | 10 +-
.../google/cloud/hooks/vertex_ai/custom_job.py | 71 +-
.../google/cloud/hooks/vertex_ai/pipeline_job.py | 10 +
.../providers/google/cloud/links/vertex_ai.py | 11 +
.../google/cloud/operators/vertex_ai/custom_job.py | 123 +
.../cloud/operators/vertex_ai/pipeline_job.py | 6 +
.../providers/google/cloud/triggers/vertex_ai.py | 67 +
.../airflow/providers/google/get_provider_info.py | 1 +
.../gen_ai/example_gen_ai_gemini_batch_api.py | 16 +-
.../gen_ai/example_gen_ai_generative_model.py | 116 +-
.../example_gen_ai_generative_model_tuning.py | 84 +-
.../tests/system/google/cloud/gen_ai/llm_models.py | 46 +
.../gemini_batch_embeddings_requests.jsonl | 4 +-
.../managed_kafka/example_managed_kafka_cluster.py | 2 +-
.../example_managed_kafka_consumer_group.py | 2 +-
.../managed_kafka/example_managed_kafka_topic.py | 2 +-
.../google/cloud/ml_engine/example_mlengine.py | 297 -
.../example_vertex_ai_create_custom_job.py | 134 +
.../system/google/resources_cleanup/.airflowignore | 4 +
.../__init__.py => resources_cleanup/.gitignore} | 9 +
.../system/google/resources_cleanup/README.md | 140 +
.../system/google/resources_cleanup}/__init__.py | 0
.../__init__.py | 0
.../__main__.py | 138 +
.../commands}/__init__.py | 0
.../commands/cmd_delete.py | 209 +
.../commands/cmd_list.py | 100 +
.../commands/cmd_list_asset_types.py | 124 +
.../commands/cmd_tree.py | 195 +
.../constants.py | 90 +
.../handlers/__init__.py | 67 +
.../handlers/_base.py | 90 +
.../handlers/ai.py | 260 +
.../handlers/bq.py | 64 +
.../handlers/composer.py | 49 +
.../handlers/compute.py | 51 +
.../handlers/dataflow.py | 44 +
.../handlers/dataform.py | 71 +
.../handlers/dataplex.py | 59 +
.../handlers/dataproc.py | 73 +
.../handlers/dataproc_metastore.py | 49 +
.../handlers/dlp.py | 45 +
.../handlers/kafka.py | 47 +
.../handlers/kubernetes_engine.py} | 31 +-
.../handlers/logging.py} | 37 +-
.../handlers/ray.py | 72 +
.../handlers/spanner.py | 75 +
.../handlers/sqladmin.py | 54 +
.../handlers/storage.py | 46 +
.../helpers.py | 230 +
.../templates}/__init__.py | 0
.../templates/base.html | 145 +
.../templates/macros.html | 37 +
.../templates/resource_name.html | 29 +
.../templates/resources.html | 29 +
.../google/resources_cleanup/config}/__init__.py | 0
.../google/resources_cleanup/tests}/__init__.py | 0
.../unit/google/cloud/hooks/test_cloud_sql.py | 25 +
.../tests/unit/google/cloud/hooks/test_dataflow.py | 23 +-
.../cloud/hooks/vertex_ai/test_custom_job.py | 202 +-
.../cloud/hooks/vertex_ai/test_pipeline_job.py | 38 +
.../unit/google/cloud/operators/test_dataflow.py | 4 -
.../google/cloud/operators/test_datapipeline.py | 3 -
.../unit/google/cloud/operators/test_vertex_ai.py | 54 +-
.../unit/google/cloud/sensors/test_dataflow.py | 3 -
.../unit/google/cloud/triggers/test_dataflow.py | 50 +-
.../unit/google/cloud/triggers/test_vertex_ai.py | 30 +
.../utils/test_mlengine_prediction_summary.py | 4 -
.../unit/google/resources_cleanup}/__init__.py | 0
.../unit/google/resources_cleanup/conftest.py | 64 +
.../google/resources_cleanup/test_cmd_delete.py | 234 +
.../unit/google/resources_cleanup/test_cmd_list.py | 104 +
.../resources_cleanup/test_cmd_list_asset_types.py | 118 +
.../unit/google/resources_cleanup/test_cmd_tree.py | 159 +
.../unit/google/resources_cleanup/test_helpers.py | 250 +
.../resources_cleanup/test_logging_handler.py | 50 +
.../google/resources_cleanup/test_ray_handler.py | 36 +-
providers/hashicorp/README.rst | 2 +-
providers/hashicorp/docs/index.rst | 2 +-
providers/hashicorp/pyproject.toml | 2 +-
providers/http/README.rst | 6 +-
providers/http/docs/changelog.rst | 24 +
providers/http/docs/index.rst | 6 +-
providers/http/docs/triggers.rst | 8 +
providers/http/provider.yaml | 3 +-
providers/http/pyproject.toml | 6 +-
.../http/src/airflow/providers/http/__init__.py | 2 +-
.../src/airflow/providers/http/operators/http.py | 40 +-
.../src/airflow/providers/http/triggers/http.py | 57 +-
.../http/tests/unit/http/operators/test_http.py | 85 +-
.../http/tests/unit/http/triggers/test_http.py | 102 +-
providers/influxdb/README.rst | 6 +-
providers/influxdb/docs/changelog.rst | 15 +
providers/influxdb/docs/index.rst | 6 +-
providers/influxdb/provider.yaml | 3 +-
providers/influxdb/pyproject.toml | 6 +-
.../src/airflow/providers/influxdb/__init__.py | 2 +-
providers/informatica/README.rst | 6 +-
providers/informatica/docs/changelog.rst | 23 +-
providers/informatica/docs/index.rst | 6 +-
providers/informatica/provider.yaml | 3 +-
providers/informatica/pyproject.toml | 6 +-
.../src/airflow/providers/informatica/__init__.py | 2 +-
providers/jdbc/README.rst | 7 +-
providers/jdbc/docs/changelog.rst | 11 +
providers/jdbc/docs/index.rst | 7 +-
providers/jdbc/provider.yaml | 3 +-
providers/jdbc/pyproject.toml | 10 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +-
.../jdbc/src/airflow/providers/jdbc/hooks/jdbc.py | 12 +-
providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py | 12 +
providers/keycloak/README.rst | 6 +-
providers/keycloak/docs/changelog.rst | 18 +
providers/keycloak/docs/index.rst | 6 +-
providers/keycloak/provider.yaml | 3 +-
providers/keycloak/pyproject.toml | 6 +-
.../src/airflow/providers/keycloak/__init__.py | 2 +-
.../keycloak/auth_manager/keycloak_auth_manager.py | 32 +
.../auth_manager/test_keycloak_auth_manager.py | 38 +
providers/microsoft/azure/README.rst | 6 +-
providers/microsoft/azure/docs/changelog.rst | 27 +
providers/microsoft/azure/docs/email-backend.rst | 72 +
providers/microsoft/azure/docs/index.rst | 8 +-
.../microsoft/azure/docs/notifications/index.rst | 27 +
.../microsoft/azure/docs/notifications/msgraph.rst | 65 +
providers/microsoft/azure/provider.yaml | 9 +-
providers/microsoft/azure/pyproject.toml | 6 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../providers/microsoft/azure/exceptions.py | 60 +
.../providers/microsoft/azure/get_provider_info.py | 2 +
.../providers/microsoft/azure/hooks/msgraph.py | 310 +-
.../microsoft/azure/notifications}/__init__.py | 0
.../microsoft/azure/notifications/msgraph.py | 131 +
.../providers/microsoft/azure/operators/batch.py | 30 +-
.../providers/microsoft/azure/operators/msgraph.py | 10 +-
.../unit/microsoft/azure/hooks/test_msgraph.py | 416 +-
.../microsoft/azure/notifications}/__init__.py | 0
.../microsoft/azure/notifications/test_msgraph.py | 113 +
.../unit/microsoft/azure/operators/test_batch.py | 110 +-
.../unit/microsoft/azure/operators/test_msgraph.py | 39 +-
.../unit/microsoft/azure/resources/messages.json | 2 +-
.../microsoft/azure/resources/second_messages.json | 1 +
.../{next_messages.json => third_messages.json} | 2 +-
.../tests/unit/microsoft/azure/test_exceptions.py | 61 +
providers/odbc/README.rst | 6 +-
providers/odbc/docs/changelog.rst | 13 +
.../{amazon => odbc}/docs/configurations-ref.rst | 0
providers/odbc/docs/connections/odbc.rst | 2 +-
providers/odbc/docs/index.rst | 7 +-
providers/odbc/provider.yaml | 17 +-
providers/odbc/pyproject.toml | 6 +-
.../odbc/src/airflow/providers/odbc/__init__.py | 2 +-
.../airflow/providers/odbc/get_provider_info.py | 14 +
providers/odbc/tests/unit/odbc/hooks/test_odbc.py | 16 +
.../openlineage/docs/.latest-doc-only-change.txt | 2 +-
providers/openlineage/docs/spark.rst | 6 +
providers/opensearch/README.rst | 6 +-
providers/opensearch/docs/changelog.rst | 17 +
providers/opensearch/docs/index.rst | 6 +-
providers/opensearch/provider.yaml | 3 +-
providers/opensearch/pyproject.toml | 6 +-
.../src/airflow/providers/opensearch/__init__.py | 2 +-
.../providers/opensearch/log/os_task_handler.py | 5 +
.../unit/opensearch/log/test_os_task_handler.py | 23 +
providers/pagerduty/README.rst | 8 +-
providers/pagerduty/docs/changelog.rst | 19 +
providers/pagerduty/docs/index.rst | 8 +-
providers/pagerduty/provider.yaml | 1 +
providers/pagerduty/pyproject.toml | 8 +-
.../src/airflow/providers/pagerduty/__init__.py | 2 +-
.../unit/pagerduty/hooks/test_pagerduty_events.py | 10 +-
providers/redis/README.rst | 6 +-
providers/redis/docs/changelog.rst | 16 +
providers/redis/docs/index.rst | 6 +-
providers/redis/provider.yaml | 3 +-
providers/redis/pyproject.toml | 6 +-
.../redis/src/airflow/providers/redis/__init__.py | 2 +-
.../providers/redis/operators/redis_publish.py | 4 +-
providers/smtp/README.rst | 8 +-
providers/smtp/docs/changelog.rst | 13 +
providers/smtp/docs/index.rst | 8 +-
providers/smtp/provider.yaml | 3 +-
providers/smtp/pyproject.toml | 8 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 2 +-
providers/snowflake/README.rst | 6 +-
providers/snowflake/docs/changelog.rst | 26 +
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 6 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
.../snowflake/operators/snowpark_containers.py | 9 +
.../operators/test_snowpark_containers.py | 19 +-
.../ssh/tests/unit/ssh/hooks/test_ssh_async.py | 8 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 24 +
providers/standard/docs/index.rst | 6 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../example_external_task_marker_dag.py | 11 +-
.../providers/standard/sensors/time_delta.py | 19 +-
.../tests/unit/standard/sensors/test_time_delta.py | 30 +
providers/teradata/README.rst | 6 +-
providers/teradata/docs/changelog.rst | 13 +
providers/teradata/docs/index.rst | 6 +-
providers/teradata/provider.yaml | 3 +-
providers/teradata/pyproject.toml | 6 +-
.../src/airflow/providers/teradata/__init__.py | 2 +-
.../teradata/triggers/teradata_compute_cluster.py | 77 +-
.../triggers/test_teradata_compute_cluster.py | 43 +
.../airflow/providers/weaviate/hooks/weaviate.py | 3 +
providers/yandex/README.rst | 9 +-
providers/yandex/docs/changelog.rst | 12 +
providers/yandex/docs/index.rst | 9 +-
providers/yandex/provider.yaml | 1 +
providers/yandex/pyproject.toml | 13 +-
.../src/airflow/providers/yandex/__init__.py | 2 +-
providers/ydb/README.rst | 15 +-
providers/ydb/docs/changelog.rst | 14 +
providers/ydb/docs/index.rst | 23 +-
providers/ydb/provider.yaml | 3 +-
providers/ydb/pyproject.toml | 14 +-
.../ydb/src/airflow/providers/ydb/__init__.py | 2 +-
.../ydb/src/airflow/providers/ydb/hooks/ydb.py | 15 +-
providers/ydb/tests/unit/ydb/hooks/test_ydb.py | 29 +
pyproject.toml | 12 +-
reproducible_build.yaml | 4 +-
scripts/ci/analyze_ci_job_durations.py | 78 +-
scripts/ci/install_breeze.sh | 7 +-
scripts/ci/prek/boring_cyborg.py | 3 +-
scripts/ci/prek/breeze_cmd_line.py | 40 +-
scripts/ci/prek/check_core_imports_in_shared.py | 105 -
scripts/ci/prek/check_imports_in_providers.py | 2 +-
.../check_mapped_column_nullable_annotations.py | 227 +
scripts/ci/prek/common_prek_utils.py | 55 +-
scripts/ci/prek/compile_provider_assets.py | 24 +-
scripts/ci/prek/compile_ui_assets.py | 20 +-
scripts/ci/prek/lint_json_schema.py | 2 +-
scripts/ci/prek/ruff_format.py | 2 +-
.../in_container/run_provider_yaml_files_check.py | 13 +-
scripts/in_container/run_template_fields_check.py | 37 +-
scripts/in_container/verify_providers.py | 8 +-
scripts/systemd/README | 24 +
.../airflow-dag-processor.service} | 29 +-
scripts/tests/ci/prek/test_breeze_cmd_line.py | 10 +-
...est_check_mapped_column_nullable_annotations.py | 235 +
scripts/tests/ci/prek/test_common_prek_utils.py | 47 +
.../tests/ci/prek/test_compile_provider_assets.py | 133 +
scripts/tests/ci/prek/test_compile_ui_assets.py | 142 +
scripts/tests/ci/test_analyze_ci_job_durations.py | 143 +-
scripts/tools/setup_breeze | 18 +-
.../observability/metrics/metrics_template.yaml | 14 +-
.../airflow_shared/observability/metrics/stats.py | 10 +
.../tests/observability/metrics/test_stats.py | 8 +-
.../src/airflow_shared/plugins_manager/__init__.py | 6 +
.../plugins_manager/plugins_manager.py | 73 +-
.../providers_discovery/providers_discovery.py | 27 +-
.../test_providers_discovery.py | 142 +
.../src/airflow_shared/timezones/timezone.py | 13 +-
shared/timezones/tests/timezones/test_timezone.py | 11 +
task-sdk/docs/deferred-vs-async-operators.rst | 2 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 2 +-
task-sdk/src/airflow/sdk/bases/operator.py | 19 +-
task-sdk/src/airflow/sdk/definitions/connection.py | 83 +-
task-sdk/src/airflow/sdk/definitions/deadline.py | 4 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 103 +-
.../src/airflow/sdk/execution_time/supervisor.py | 55 +-
.../tests/task_sdk/definitions/test_connection.py | 119 +
.../task_sdk/definitions/test_mappedoperator.py | 23 +-
.../tests/task_sdk/execution_time/test_context.py | 262 +-
.../task_sdk/execution_time/test_supervisor.py | 116 +
ts-sdk/adr/0001-mixed-lang-dag-interface.md | 182 +
ts-sdk/adr/0002-native-dag-interface.md | 161 +
uv.lock | 5672 ++++++++++----------
854 files changed, 30127 insertions(+), 9251 deletions(-)
create mode 100644 airflow-core/newsfragments/70013.feature.rst
create mode 100644 airflow-core/newsfragments/70923.bugfix.rst
create mode 100644 airflow-core/newsfragments/71767.bugfix.rst
create mode 100644 airflow-core/newsfragments/72225.significant.rst
create mode 100644 airflow-core/newsfragments/72327.bugfix.rst
create mode 100644 airflow-core/newsfragments/72682.feature.rst
create mode 100644
airflow-core/src/airflow/example_dags/example_task_state_store_async.py
copy airflow-core/src/airflow/ui/src/{layouts/Details/Grid/DurationTick.tsx =>
components/DurationCell.tsx} (54%)
create mode 100644
airflow-core/src/airflow/ui/src/components/JsonPreviewBadges.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/RenderedJsonField.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/hooks/useIframeUrlSync.ts
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Nav/LanguageSelector.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
create mode 100644
airflow-core/src/airflow/ui/src/pages/Dag/Backfills/BackfillsFilters.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/Iframe.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/Security.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/utils/jsonPreview.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/jsonPreview.ts
create mode 100644
airflow-core/src/airflow/ui/src/utils/useDurationFormat.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/utils/useDurationFormat.ts
create mode 100644
airflow-core/src/airflow/ui/tests/e2e/specs/iframe-url-sync.spec.ts
create mode 100644 airflow-core/tests/unit/always/test_provider_yaml_schema.py
copy .github/zizmor.yml => providers/.ast-grep/rules/no-httpx-import.yml (51%)
copy .github/zizmor.yml => providers/.ast-grep/sgconfig.yml (60%)
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/triggers/quicksight.py
create mode 100644
providers/amazon/src/airflow/providers/amazon/aws/waiters/quicksight.json
create mode 100644
providers/amazon/tests/unit/amazon/aws/executors/batch/test_boto_schema.py
create mode 100644 providers/amazon/tests/unit/amazon/aws/test_exceptions.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/triggers/test_quicksight.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/triggers/test_step_function.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/waiters/test_base_waiter.py
create mode 100644
providers/amazon/tests/unit/amazon/aws/waiters/test_quicksight.py
create mode 100644 providers/cohere/docs/operators/rerank.rst
create mode 100644
providers/cohere/src/airflow/providers/cohere/operators/rerank.py
copy providers/{anthropic/src/airflow/providers/anthropic/__init__.py =>
cohere/tests/system/cohere/example_cohere_rerank_operator.py} (52%)
create mode 100644 providers/cohere/tests/unit/cohere/operators/test_rerank.py
copy providers/{anthropic/src/airflow/providers/anthropic/__init__.py =>
common/compat/src/airflow/providers/common/compat/triggers.py} (50%)
create mode 100644
providers/common/compat/tests/unit/common/compat/lineage/test_entities.py
create mode 100644
providers/common/compat/tests/unit/common/compat/test_triggers.py
copy {airflow-core/src/airflow/_shared =>
providers/common/messaging/tests/unit/common/messaging/providers}/__init__.py
(100%)
create mode 100644
providers/common/messaging/tests/unit/common/messaging/providers/test_base_provider.py
create mode 100644
providers/common/sql/tests/unit/common/sql/datafusion/test_base.py
copy scripts/ci/prek/check_imports_in_providers.py =>
providers/common/sql/tests/unit/common/sql/datafusion/test_exceptions.py (57%)
mode change 100755 => 100644
create mode 100644 providers/fab/src/airflow/providers/fab/www/db.py
create mode 100644
providers/fab/tests/unit/fab/auth_manager/security_manager/test_custom_roles.py
copy providers/{anthropic/src/airflow/providers/anthropic/__init__.py =>
fab/tests/unit/fab/www/test_app.py} (54%)
create mode 100644 providers/fab/tests/unit/fab/www/test_db.py
create mode 100644
providers/google/tests/system/google/cloud/gen_ai/llm_models.py
delete mode 100644
providers/google/tests/system/google/cloud/ml_engine/example_mlengine.py
create mode 100644
providers/google/tests/system/google/cloud/vertex_ai/example_vertex_ai_create_custom_job.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/.airflowignore
rename providers/google/tests/system/google/{cloud/ml_engine/__init__.py =>
resources_cleanup/.gitignore} (90%)
create mode 100644
providers/google/tests/system/google/resources_cleanup/README.md
copy {airflow-core/src/airflow/_shared =>
providers/google/tests/system/google/resources_cleanup}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common =>
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup}/__init__.py
(100%)
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/__main__.py
copy {airflow-core/src/airflow/api/common =>
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/commands}/__init__.py
(100%)
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/commands/cmd_delete.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/commands/cmd_list.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/commands/cmd_list_asset_types.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/commands/cmd_tree.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/constants.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/__init__.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/_base.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/ai.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/bq.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/composer.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/compute.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/dataflow.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/dataform.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/dataplex.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/dataproc.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/dataproc_metastore.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/dlp.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/kafka.py
copy providers/{celery/src/airflow/providers/celery/__init__.py =>
google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/kubernetes_engine.py}
(57%)
copy providers/{anthropic/src/airflow/providers/anthropic/__init__.py =>
google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/logging.py}
(53%)
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/ray.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/spanner.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/sqladmin.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/handlers/storage.py
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/helpers.py
copy {airflow-core/src/airflow/api/common =>
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/templates}/__init__.py
(100%)
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/templates/base.html
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/templates/macros.html
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/templates/resource_name.html
create mode 100644
providers/google/tests/system/google/resources_cleanup/airflow_google_provider_resource_cleanup/templates/resources.html
copy {airflow-core/src/airflow/_shared =>
providers/google/tests/system/google/resources_cleanup/config}/__init__.py
(100%)
copy {airflow-core/src/airflow/_shared =>
providers/google/tests/system/google/resources_cleanup/tests}/__init__.py (100%)
copy {airflow-core/src/airflow/api/common =>
providers/google/tests/unit/google/resources_cleanup}/__init__.py (100%)
create mode 100644
providers/google/tests/unit/google/resources_cleanup/conftest.py
create mode 100644
providers/google/tests/unit/google/resources_cleanup/test_cmd_delete.py
create mode 100644
providers/google/tests/unit/google/resources_cleanup/test_cmd_list.py
create mode 100644
providers/google/tests/unit/google/resources_cleanup/test_cmd_list_asset_types.py
create mode 100644
providers/google/tests/unit/google/resources_cleanup/test_cmd_tree.py
create mode 100644
providers/google/tests/unit/google/resources_cleanup/test_helpers.py
create mode 100644
providers/google/tests/unit/google/resources_cleanup/test_logging_handler.py
copy scripts/ci/prek/check_imports_in_providers.py =>
providers/google/tests/unit/google/resources_cleanup/test_ray_handler.py (57%)
mode change 100755 => 100644
create mode 100644 providers/microsoft/azure/docs/email-backend.rst
create mode 100644 providers/microsoft/azure/docs/notifications/index.rst
create mode 100644 providers/microsoft/azure/docs/notifications/msgraph.rst
create mode 100644
providers/microsoft/azure/src/airflow/providers/microsoft/azure/exceptions.py
copy {airflow-core/src/airflow/_shared =>
providers/microsoft/azure/src/airflow/providers/microsoft/azure/notifications}/__init__.py
(100%)
create mode 100644
providers/microsoft/azure/src/airflow/providers/microsoft/azure/notifications/msgraph.py
copy {airflow-core/src/airflow/_shared =>
providers/microsoft/azure/tests/unit/microsoft/azure/notifications}/__init__.py
(100%)
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/notifications/test_msgraph.py
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/resources/second_messages.json
rename
providers/microsoft/azure/tests/unit/microsoft/azure/resources/{next_messages.json
=> third_messages.json} (95%)
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/test_exceptions.py
copy providers/{amazon => odbc}/docs/configurations-ref.rst (100%)
delete mode 100644 scripts/ci/prek/check_core_imports_in_shared.py
create mode 100755 scripts/ci/prek/check_mapped_column_nullable_annotations.py
copy scripts/{ci/prek/ruff_format.py => systemd/airflow-dag-processor.service}
(62%)
mode change 100755 => 100644
create mode 100644
scripts/tests/ci/prek/test_check_mapped_column_nullable_annotations.py
create mode 100644 scripts/tests/ci/prek/test_compile_provider_assets.py
create mode 100644 scripts/tests/ci/prek/test_compile_ui_assets.py
create mode 100644 ts-sdk/adr/0001-mixed-lang-dag-interface.md
create mode 100644 ts-sdk/adr/0002-native-dag-interface.md