This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/gradle/java-sdk/java-sdk-security-updates-4bdd38abdc
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 3161209114c Bump org.jetbrains.kotlin:kotlin-gradle-plugin
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 f65d0580d34 Bump org.jetbrains.kotlin:kotlin-gradle-plugin
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 (3161209114c)
\
N -- N -- N
refs/heads/dependabot/gradle/java-sdk/java-sdk-security-updates-4bdd38abdc
(f65d0580d34)
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:
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 2 -
.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 +
.pre-commit-config.yaml | 6 +-
AGENTS.md | 2 +-
Dockerfile | 2 +-
Dockerfile.ci | 6 +-
RELEASE_NOTES.rst | 11 +
.../cluster-policies.rst | 21 +-
.../task-and-asset-state-store.rst | 20 +
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 | 19 +
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/70923.bugfix.rst | 1 +
airflow-core/newsfragments/71767.bugfix.rst | 1 +
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/core_api/app.py | 8 +-
.../api_fastapi/core_api/routes/public/assets.py | 6 +
.../api_fastapi/core_api/routes/public/dags.py | 4 +-
.../api_fastapi/core_api/routes/ui/assets.py | 3 +
.../src/airflow/api_fastapi/core_api/security.py | 73 +-
.../api_fastapi/core_api/services/ui/calendar.py | 26 +-
.../execution_api/routes/task_instances.py | 2 +-
.../api_fastapi/execution_api/routes/xcoms.py | 14 +-
.../api_fastapi/execution_api/versions/__init__.py | 2 +
.../execution_api/versions/v2026_04_06.py | 7 +-
.../execution_api/versions/v2026_06_30.py | 23 +
airflow-core/src/airflow/cli/cli_config.py | 3 +-
.../src/airflow/cli/commands/info_command.py | 7 +-
.../example_dags/example_task_state_store_async.py | 94 +
airflow-core/src/airflow/models/asset.py | 8 +
.../src/airflow/serialization/definitions/dag.py | 16 +
.../airflow/serialization/definitions/deadline.py | 9 +-
.../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 | 220 +-
.../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/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 +-
.../{WarningAlert.tsx => DurationCell.tsx} | 29 +-
.../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 +-
.../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/pages/Dag/Backfills/Backfills.tsx | 21 +-
.../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 +-
.../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 +-
.../ui/src/pages/GroupTaskInstance/Header.tsx | 5 +-
.../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 +-
.../airflow/ui/src/pages/TaskInstance/Details.tsx | 3 +-
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 5 +-
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 5 +-
.../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/tests/e2e/pages/XComsPage.ts | 7 +-
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 | 6 +-
.../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_dag_versions.py | 175 +-
.../core_api/routes/public/test_dags.py | 124 +-
.../core_api/routes/public/test_task_instances.py | 126 +-
.../api_fastapi/core_api/routes/ui/test_assets.py | 24 +-
.../core_api/routes/ui/test_calendar.py | 121 +-
.../unit/api_fastapi/core_api/test_security.py | 99 +
.../versions/head/test_task_instances.py | 27 +
.../execution_api/versions/head/test_xcoms.py | 4 +
.../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 +
.../tests/unit/cli/commands/test_asset_command.py | 46 +-
.../tests/unit/cli/commands/test_info_command.py | 10 +
airflow-core/tests/unit/cli/test_cli_parser.py | 15 +
.../tests/unit/dag_processing/bundles/test_base.py | 75 +-
airflow-core/tests/unit/models/test_dagrun.py | 58 +
airflow-core/tests/unit/models/test_deadline.py | 35 +-
airflow-core/tests/unit/utils/test_db_cleanup.py | 316 +-
airflow-core/tests/unit/utils/test_helpers.py | 23 +
.../airflowctl/api/datamodels/auth_generated.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 2 +-
airflow-ctl/src/airflowctl/api/operations.py | 3 +-
chart/values.schema.json | 2 +-
chart/values.yaml | 2 +-
contributing-docs/03_contributors_quick_start.rst | 7 +-
.../contributors_quick_start_gitpod.rst | 5 +-
dev/README_AIRFLOW3_DEV.md | 3 +-
dev/README_RELEASE_AIRFLOW.md | 2 +-
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 | 22 +-
...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 +-
.../commands/release_management_commands.py | 6 +-
.../src/airflow_breeze/commands/ui_commands.py | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 10 +-
dev/breeze/src/airflow_breeze/utils/reinstall.py | 13 +-
dev/breeze/tests/test_packages.py | 4 +-
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/providers.py | 2 +-
docs/spelling_wordlist.txt | 3 +
generated/known_airflow_exceptions.txt | 4 +-
java-sdk/gradle/verification-metadata.xml | 60 +
java-sdk/sdk/build.gradle.kts | 6 +-
.../.ast-grep/rules/no-httpx-import.yml | 58 +-
.../pod.yaml => providers/.ast-grep/sgconfig.yml | 27 +-
providers/.pre-commit-config.yaml | 9 +
.../src/airflow/providers/airbyte/hooks/airbyte.py | 3 +
providers/akeyless/README.rst | 2 +-
providers/akeyless/docs/index.rst | 2 +-
providers/akeyless/pyproject.toml | 2 +-
.../airflow/providers/akeyless/secrets/akeyless.py | 61 +-
.../tests/unit/akeyless/secrets/test_akeyless.py | 136 +
.../amazon/aws/auth_manager/aws_auth_manager.py | 30 +
.../src/airflow/providers/amazon/aws/exceptions.py | 7 +-
.../airflow/providers/amazon/aws/operators/glue.py | 2 +
.../airflow/providers/amazon/aws/sensors/glue.py | 2 +
.../providers/amazon/aws/transfers/gcs_to_s3.py | 35 +
.../providers/amazon/aws/triggers/step_function.py | 5 +-
.../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/operators/test_glue.py | 29 +
.../tests/unit/amazon/aws/sensors/test_glue.py | 25 +
.../tests/unit/amazon/aws/test_exceptions.py | 137 +
.../unit/amazon/aws/transfers/test_gcs_to_s3.py | 67 +
.../unit/amazon/aws/triggers/test_step_function.py | 130 +
providers/apache/beam/README.rst | 2 +-
providers/apache/beam/docs/index.rst | 39 +-
providers/apache/beam/provider.yaml | 4 +-
providers/apache/beam/pyproject.toml | 4 +-
providers/apache/iceberg/pyproject.toml | 2 +-
.../providers/apache/iceberg/triggers/iceberg.py | 15 +-
.../unit/apache/iceberg/triggers/test_iceberg.py | 51 +-
.../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/docs/index.rst | 7 +-
providers/cohere/docs/operators/rerank.rst | 71 +
providers/cohere/provider.yaml | 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} | 29 +-
.../cohere/tests/unit/cohere/hooks/test_cohere.py | 49 +-
.../tests/unit/cohere/operators/test_rerank.py | 86 +
providers/common/ai/docs/operators/llm_branch.rst | 19 +-
.../providers/common/ai/operators/llm_branch.py | 19 +-
.../tests/unit/common/ai/hooks/test_pydantic_ai.py | 99 +-
.../unit/common/ai/operators/test_llm_branch.py | 42 +-
.../providers/common/compat/lineage/entities.py | 10 +-
.../common/compat/{standard => }/triggers.py | 18 +-
.../unit/common/compat/lineage/test_entities.py | 47 +
.../tests/unit/common/compat/test_triggers.py | 42 +
.../providers/common/io/state_store/backend.py | 12 +-
.../unit/common/io/state_store/test_backend.py | 84 +
.../tests/unit/common/sql/datafusion/test_base.py | 74 +
.../unit/common/sql/datafusion}/test_exceptions.py | 26 +-
providers/databricks/docs/changelog.rst | 10 +
providers/databricks/docs/operators/run_now.rst | 29 +
providers/databricks/docs/operators/submit_run.rst | 16 +
.../providers/databricks/hooks/databricks.py | 57 +-
.../providers/databricks/hooks/databricks_sql.py | 2 +-
.../providers/databricks/operators/databricks.py | 93 +-
.../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 | 211 +
.../unit/databricks/sensors/test_databricks.py | 93 +-
.../tests/unit/databricks/utils/test_databricks.py | 106 +
.../unit/databricks/utils/test_openlineage.py | 140 +
.../docs/auth-manager/webserver-authentication.rst | 19 +
.../fab/auth_manager/api_fastapi/services/roles.py | 21 +-
.../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 | 33 +-
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 | 22 +-
.../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 -
.../auth_manager/security_manager/test_override.py | 149 +
.../unit/fab/auth_manager/test_fab_auth_manager.py | 6 +
providers/fab/tests/unit/fab/decorators.py | 4 -
.../fab/tests/unit/fab/www/test_app.py | 28 +-
providers/fab/tests/unit/fab/www/test_db.py | 75 +
providers/fab/tests/unit/fab/www/views/conftest.py | 1 -
providers/google/README.rst | 2 +-
providers/google/docs/changelog.rst | 7 +
providers/google/docs/index.rst | 6 +-
providers/google/pyproject.toml | 6 +-
.../providers/google/cloud/hooks/cloud_sql.py | 10 +-
.../google/cloud/hooks/vertex_ai/pipeline_job.py | 10 +
.../cloud/operators/vertex_ai/pipeline_job.py | 6 +
.../unit/google/cloud/hooks/test_cloud_sql.py | 25 +
.../tests/unit/google/cloud/hooks/test_dataflow.py | 23 +-
.../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 | 5 +-
.../unit/google/cloud/sensors/test_dataflow.py | 3 -
.../unit/google/cloud/triggers/test_dataflow.py | 50 +-
.../utils/test_mlengine_prediction_summary.py | 4 -
providers/hashicorp/README.rst | 2 +-
providers/hashicorp/docs/index.rst | 2 +-
providers/hashicorp/pyproject.toml | 2 +-
providers/http/docs/triggers.rst | 8 +
.../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 +-
.../keycloak/auth_manager/keycloak_auth_manager.py | 32 +
.../auth_manager/test_keycloak_auth_manager.py | 38 +
providers/microsoft/azure/docs/email-backend.rst | 72 +
providers/microsoft/azure/docs/index.rst | 2 +
.../azure/docs/notifications}/index.rst | 4 +-
.../microsoft/azure/docs/notifications/msgraph.rst | 65 +
providers/microsoft/azure/provider.yaml | 6 +
.../providers/microsoft/azure/exceptions.py | 60 +
.../providers/microsoft/azure/get_provider_info.py | 2 +
.../providers/microsoft/azure/hooks/msgraph.py | 277 +
.../microsoft/azure/notifications}/__init__.py | 0
.../microsoft/azure/notifications/msgraph.py | 131 +
.../providers/microsoft/azure/operators/batch.py | 30 +-
.../unit/microsoft/azure/hooks/test_msgraph.py | 309 ++
.../microsoft/azure/notifications}/__init__.py | 0
.../microsoft/azure/notifications/test_msgraph.py | 113 +
.../unit/microsoft/azure/operators/test_batch.py | 110 +-
.../tests/unit/microsoft/azure/test_exceptions.py | 61 +
.../{amazon => odbc}/docs/configurations-ref.rst | 0
providers/odbc/docs/connections/odbc.rst | 2 +-
providers/odbc/docs/index.rst | 1 +
providers/odbc/provider.yaml | 14 +
.../airflow/providers/odbc/get_provider_info.py | 14 +
providers/odbc/tests/unit/odbc/hooks/test_odbc.py | 16 +
providers/openlineage/docs/spark.rst | 6 +
.../providers/opensearch/log/os_task_handler.py | 5 +
.../unit/opensearch/log/test_os_task_handler.py | 23 +
providers/pagerduty/README.rst | 2 +-
providers/pagerduty/docs/changelog.rst | 5 +
providers/pagerduty/docs/index.rst | 2 +-
providers/pagerduty/pyproject.toml | 2 +-
.../unit/pagerduty/hooks/test_pagerduty_events.py | 10 +-
providers/smtp/README.rst | 2 +-
providers/smtp/docs/index.rst | 2 +-
providers/smtp/pyproject.toml | 2 +-
.../example_external_task_marker_dag.py | 11 +-
.../providers/standard/sensors/time_delta.py | 19 +-
.../tests/unit/standard/sensors/test_time_delta.py | 30 +
.../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 | 3 +-
providers/yandex/docs/index.rst | 3 +-
providers/yandex/pyproject.toml | 7 +-
pyproject.toml | 12 +-
reproducible_build.yaml | 4 +-
scripts/ci/install_breeze.sh | 7 +-
scripts/ci/prek/breeze_cmd_line.py | 40 +-
scripts/ci/prek/check_imports_in_providers.py | 2 +-
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/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 | 22 +
...duler.service => airflow-dag-processor.service} | 4 +-
scripts/tests/ci/prek/test_breeze_cmd_line.py | 10 +-
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/tools/setup_breeze | 18 +-
.../src/airflow_shared/timezones/timezone.py | 13 +-
shared/timezones/tests/timezones/test_timezone.py | 11 +
.../src/airflow/sdk/api/datamodels/_generated.py | 2 +-
task-sdk/src/airflow/sdk/bases/operator.py | 19 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 92 +-
.../task_sdk/definitions/test_mappedoperator.py | 23 +-
.../tests/task_sdk/execution_time/test_context.py | 225 +-
ts-sdk/adr/0001-mixed-lang-dag-interface.md | 182 +
ts-sdk/adr/0002-native-dag-interface.md | 161 +
uv.lock | 5411 ++++++++++----------
401 files changed, 15606 insertions(+), 6842 deletions(-)
create mode 100644 airflow-core/newsfragments/70923.bugfix.rst
create mode 100644 airflow-core/newsfragments/71767.bugfix.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/components/{WarningAlert.tsx =>
DurationCell.tsx} (55%)
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/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
copy scripts/ci/dockerfiles/krb5-kdc-server/krb5.conf =>
providers/.ast-grep/rules/no-httpx-import.yml (52%)
copy kubernetes-tests/tests/kubernetes_tests/pod.yaml =>
providers/.ast-grep/sgconfig.yml (62%)
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_step_function.py
create mode 100644 providers/cohere/docs/operators/rerank.rst
create mode 100644
providers/cohere/src/airflow/providers/cohere/operators/rerank.py
copy providers/{opsgenie/tests/system/opsgenie/example_opsgenie_notifier.py =>
cohere/tests/system/cohere/example_cohere_rerank_operator.py} (58%)
create mode 100644 providers/cohere/tests/unit/cohere/operators/test_rerank.py
copy providers/common/compat/src/airflow/providers/common/compat/{standard =>
}/triggers.py (55%)
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
create mode 100644
providers/common/sql/tests/unit/common/sql/datafusion/test_base.py
copy providers/{openai/tests/unit/openai =>
common/sql/tests/unit/common/sql/datafusion}/test_exceptions.py (62%)
create mode 100644 providers/fab/src/airflow/providers/fab/www/db.py
copy task-sdk/tests/task_sdk/dags/dag_parsing_context.py =>
providers/fab/tests/unit/fab/www/test_app.py (56%)
create mode 100644 providers/fab/tests/unit/fab/www/test_db.py
create mode 100644 providers/microsoft/azure/docs/email-backend.rst
copy providers/{amazon/docs/secrets-backends =>
microsoft/azure/docs/notifications}/index.rst (93%)
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/test_exceptions.py
copy providers/{amazon => odbc}/docs/configurations-ref.rst (100%)
copy scripts/systemd/{airflow-scheduler.service =>
airflow-dag-processor.service} (94%)
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