This is an automated email from the ASF dual-hosted git repository.
kaxil pushed a change to branch adapters-wrapped-toolsets
in repository https://gitbox.apache.org/repos/asf/airflow.git
from d354d265b0c Say when an adapter's filter runs, and keep the approval
error true either way
add 71a19df58c5 Write container logs to the task log in deferrable
AzureContainerInstancesOperator (#76330)
add 6bacb63888f Complete Dutch translations (2026-10-05) (#74286)
add 77762c256df Add `partition_key` to the `DagRun Finished` log line
(#76557)
add 1f4bc05aa0a Allow Human-in-the-loop tasks to be answered while still
running (#75413)
add c7fcba0106a Stop holding openai below 3 in Airflow's CI image and
constraints (#76503)
add 322c178e05b Fix duplicated asset events when name_prefix_pattern
matches all (#74816)
add 1fe65f5f13a Keep parallel tool results replayable across retries in
OpenAI Agents durable runs (#76015)
add 3204b6ebebb Fix enum names and non-ISO dates in airflowctl dags output
(#76354)
add cc1dfb94296 Remove deprecated project_id from BigQueryGetDataOperator
(#76115)
add 2e9ae2a1999 Split mixed OpenLineage tests into unit and integration
(#75642)
add 1e0e003cea8 Template conn_id and config_kwargs in @task.pyspark
(#75764)
add a04fda49d1a Mark MSGraphAsyncOperator as durable capable (#76576)
add 92fa9b36b09 Fix skill call counts and source links in the AI Model tab
(#76541)
add e10575d5479 Release the Java SDK 1.0.0 and pin its schema URL to the
published docs site (#75944)
add 48a35ccd2d8 Fix S3ToAzureBlobStorageOperator failing on S3 folder
markers (#76408)
add e0b7126d573 Let a final release override the
pending-provider-candidate guard (#76592)
add 1f764a2e118 Add Russian (ru) translation agent skill guideline (#76579)
add f90d2607dd4 Return 404 when a DagRun disappears during task API writes
(#72907)
add f5234c744a1 Harden OpenLineage task outcomes system test (#76595)
add 82b33126d3a Chart: Default airflow version to 3.4.0 (#76601)
add c2ff56eff6b UI: Complete the Portuguese translation (#76412)
add a0924b53f86 Mark Airflow 3.4.0 as the latest released version (#76602)
add f396a3b2271 Add Cloud SQL Auth Proxy v2 support to CloudSqlProxyRunner
(#73646)
add a7b8dc96928 Give the SMTP emailer its own defaults for the [smtp]
options (#76346)
add 498c1cd470c Fix CeleryExecutor failing to load with Celery 5.7 (#76591)
add c8e01650d56 Add a regression test for WITH in the asset orphanage
DELETE (#75127)
add 887f6d2b559 Keep Dag parse results tied to their source snapshot
(#74789)
add dac96bcf61c Publish Dag results and inventories through the Execution
API (#74790)
add f2edf564af4 Recover Dag processor work and expire inactive processors
(#74791)
add 2c69a21eb65 Add HTTP publication to the Dag processor manager (#74793)
add f01f7ef65d6 Make the Variable value non-nullable in the Execution API
(#76007)
add 335fd71f58f Stop AWS Glue job run when a deferred task is cleared
(#73702)
add abc3a20f080 Escape server and user text in airflowctl command messages
(#76265)
add 2cc7bb0c702 Fix scheduler crash loop from large Edge deadline
callbacks (#74445)
add 6ae6994206a Stop deferred AWS tasks failing on a botocore Config
object (#74843)
add ea5cd982f6b Bump the registry-package-updates group across 1 directory
with 2 updates (#76608)
add 0b9bf0cd855 Stream remote task logs from S3 instead of reading whole
objects (#73517)
add 3e076e8a64e Edge: Return 400 instead of 500 on invalid worker version
(#72925)
add 92b4e57df13 Bump oauthlib from 4.0.0 to 4.0.1 in /dev/breeze (#76569)
add 4d54940ceef Fix PgBouncer NetworkPolicy using namespace labels of
disabled triggerer KEDA (#74565)
add 81b487227dc Use airflowHome for logs mount in wait-for-migrations init
container (#75060)
add a694dc8281f Honor API server worker timeout configuration (#72859)
add 696d09de527 Add annotations to helm chart priorityclasses (#74457)
add a2d88223bc8 Fix providers release guide steps that use wrong dates or
labels (#76625)
add 2a1961ac68c Allow extra init containers for PgBouncer (#74612)
add 553c41633ed Fix Deadline Alert SmtpNotifier example in Dag docs
(#75597)
add 46321fb722f UI: Reduce duplicate Grid polling (#75979)
add e5ce464abab Fix S3 remote log test for streaming responses (#76632)
add 05d86b21c28 Post the first fork CI comment without waiting for the
next run (#76510)
add 7b8d8f15405 Inline the GPG keys into the PROD Dockerfile (#76644)
add 3776ea3fd7c Use get_github_repo to check the release candidate remote
(#76641)
add db434a8afbe Revert "Fix formatting in chart/NOTICE file (#76237)"
(#76637)
add ce124900b5d Bump the edge-ui-package-updates group across 1 directory
with 15 updates (#76615)
add 2e265688748 Bump the github-actions-updates group across 1 directory
with 6 updates (#76618)
add 9ff996841a0 Bump the typescript group across 1 directory with 4
updates (#76610)
add 66f69ec977f Bump the uv-dependency-updates group in /dev/breeze with 3
updates (#76609)
add 96e157acba9 Bump the ui-plugin-template-package-updates group across 1
directory with 7 updates (#76614)
add 6aa279481bb Bump the auth-ui-package-updates group across 1 directory
with 13 updates (#76613)
add 538d34a8b64 Bump the ts-sdk-package-updates group across 1 directory
with 6 updates (#76059)
add ea64ed6757c Bump happy-dom from 20.14.6 to 21.0.4 in
/dev/react-plugin-tools/react_plugin_template (#76098)
add 1cc29251f50 Bump happy-dom from 20.14.6 to 21.0.4 in edge plugin UI
(#76097)
add 5d744b59810 Update AGENTS.md to instruct local Kubernetes clusters
setup with breeze k8s (#76482)
add 9c3a807d76b Bump the core-ui-package-updates group across 1 directory
with 13 updates (#76619)
add 2adbce7e7b2 Explain a BASE_IMAGE without Python in hardened image
builds (#76645)
add 1cd300be4a2 i18n(Ko): add missing translations in browse.json
common.json components.json dags.json (#76506)
add fcc55294185 Document JSON connections in Google Secret Manager backend
(#76649)
add 6773d728c60 Fix tag-providers not finding a push remote without .git
suffix (#76624)
add b37cd0ddb00 Clarify Google connection secret settings and retry
default (#76622)
add 92a4e3ebea7 Fix XComArg.map() failing when the upstream XCom is a dict
(#75022)
add 1dd57153412 Add missing zh-CN UI translations (#74294)
add 37ab48778c9 Preserve explicit falsy partial() values on mapped
operators (#75679)
add 9c032199799 Fix xcom_pull() ignoring default parameter when
map_indexes not set (#64614)
add cb3568622c2 Require rich-argparse 1.4.0 for airflowctl (#76661)
add a41e1b38794 Fix Google Cloud Workflows docs links to operator and
sensor classes (#76667)
add 7c828d22fe6 Bump paramiko in
/providers/informatica/dev/informatica_simulator (#76648)
add 3bd5f761f5c Stop Task SDK client identifiers from reaching other API
endpoints (#68617)
add be08e1eda83 Correct the Bluesky URL in pyproject.toml (#76357)
add 8ad4d615e74 Bump Java SDK Jackson to 2.22.4 for high-severity
advisories (#76670)
add 79a1dd12ee5 Fix dag.test() hanging when a task reads a Variable in a
subprocess (#65587)
add 804eee944b4 Expose Dag run configuration and metadata to Go tasks
(#74674)
add 8f2f9f34f10 i18n(ko): Add missing dag and dashboard translations (Nov
7) (#76675)
add 43657c8b504 i18n(ko): add missing translaction in common.json (Nov 7)
(#76674)
add 69e21655071 i18n(ko): translate backfill status/running and array
validation labels (#76678)
add 66a9df22abc Add new Translation Owner in Ko (#76673)
add 54f9083f753 Load consumed asset events of a run in bulk when a task
starts (#76513)
add ecdfb67f2b3 TS SDK: Expose the Dag run conf on the task context
(#75563)
add 0e7068d9c2c Add yuseok89 to fork-ci-gate (#76677)
add 8930bc3db2d Document supported `databricks_retry_args` usage for
deferrable Databricks operators (#68017)
add de147260bee Unexclude Cassandra on Python 3.14 (#74696)
add 09a06a5f572 Move the Dag list folder toggle next to the filters
(#76691)
add 5aadb5571ae Add a Databricks toolset for Unity Gateway MCP Services
(#74198)
add 84a2037827b Keep CSV quoting in LLMFileAnalysisOperator sample rows
(#76389)
add 9491792d270 Fail fast on permanent Anthropic batch poll errors (#70177)
add 72502d61652 Keep SQL deep scan on for custom read-only allowed_types
(#76688)
add 5925de6d01e Fail fast when an init container image cannot be pulled
(#76393)
add 665e91fc7d0 Go SDK: Reject a task priority weight outside the int32
range (#76284)
add 7fc063d5964 Reduce SSL setup overhead in async Kubernetes triggers
(#73399)
add 47d0c64c9cd Fix GcpBodyFieldValidator warning on valid
version-specific fields (#74930)
add d021d1e5352 Decrement dag_processing.processes when a parse finishes
(#76651)
add a12bf56a328 Honor cancel_on_kill in deferred GCS to BigQuery loads
(#74358)
add 2e541862b7f Task success should be agnostic of clear_on_success
cleanup failure (#76021)
add bfe56db36f1 Add on_kill support to SageMakerProcessingOperator (#76413)
add e7ca5f1c2d3 Don't retry Java tasks if classpath can't be built (#76707)
add 4726281b5ec Keep common.ai tripwires and module_loading types working
after dependency upgrades (#76715)
add b4501418ddb Vendor the Java SDK supervisor schema from this repository
(#75942)
add 921b4b3c0f3 Update python client version/changelog for 3.4.0 release
(#76727)
add 7e176c79bc7 Fix Dag bundle sync losing updates when a bundle reads a
connection (#76188)
add fba7573923b UI: Complete and fix Polish translations (#76428)
add ce5104d35d1 Fix SparkConnectHook unsupported-path error message
(#74847)
add 13a5ac09f97 Fix Databricks retry parameter names in deferrable-mode
docs (#76744)
add 525f1e4dabb Complete Spanish translations for parsed bundle files
(#76647)
add 8a119894a17 Document Italian translation conventions (#75727)
add 6c364f7e29b Raise errors from all statements of multi-statement SQL in
VerticaHook (#75967)
add 1327f828e6d Revert "Remove deprecated TimeDeltaSensorAsync (#76131)"
(#76732)
add 97240872160 Replace Prettier with oxfmt (#76472)
add 22a339029e0 Fix ExternalTaskSensor link pointing to the wrong external
Dag run (#74528)
add a0b0c4dd6f8 Reuse stored credentials only when testing an unchanged
connection (#76453)
add b26e77632dd Collapse detail tabs that do not fit into a More menu
(#76742)
add df93716a6bc Say in the AI Model tab which values are kept in external
storage (#76747)
add b7c89dec8d7 Fix Grid horizontal scrolling (#76083)
add d26160dbf39 Parse HookToolset :param descriptions by indentation
(#76701)
add e13f0d7add5 Update providers metadata 2026-11-09 (#76780)
add 4744db9eca9 Warn when AwsDuckDBHook ignores the AWS connection's
credentials (#76639)
add a139b9d8c66 Add missing unit tests for the apache.hive macros plugin
(#72447)
add 89b92c3221f Return 0 instead of None from FTPHook.get_size for empty
files (#76665)
add 73fae2472c7 Apply Default Security Context to OTel Collector Container
(#74268)
add ce8bc76baa9 Fix FTP test connection passing without contacting the
server (#76355)
add 8ee310e38cb Add a connection page for the DuckDB on AWS connection
(#76634)
add dfe9cc6ef3c Add Ollama model readiness check to PydanticAIHook (#75369)
add c8e7deb10a5 Add an ADR for how mapped tasks works across language SDKs
(#76297)
add 9ecd53d3a90 Fix Celery workers rejecting deadline callbacks on Airflow
3.2 (#75438)
add 382e487e5d9 Prepare amazon provider RC2 for 2026-11-10 (#76789)
add d23f21fa312 Always build airflow core and task sdk docs together in CI
(#76443)
add da7dab32a84 Stop API responses from resolving their items on the event
loop (#76537)
add 8f7f1c803a8 Bump the core-ui-package-updates group across 1 directory
with 10 updates (#76770)
add 3a3fc3ef1e4 Bump the uv-dependency-updates group in /dev/breeze with 3
updates (#76768)
add c540289ad94 Bump the github-actions-updates group with 5 updates
(#76767)
add 99c838f6968 Bump the edge-ui-package-updates group across 1 directory
with 4 updates (#76763)
add 32876923113 Bump the ui-plugin-template-package-updates group across 1
directory with 2 updates (#76760)
add 8ca83d897f2 Bump the auth-ui-package-updates group across 1 directory
with 3 updates (#76758)
add 546405f2407 Bump @11ty/eleventy (#76756)
add 175d0278691 Decode Go SDK date-times from the supervisor in UTC
(#75737)
add dd44cc0ea56 Add an ADR for task loops across language SDKs (#76364)
add a8031341e0e Resubmit lost Databricks runs instead of failing every
retry (#76718)
add bbe3eac9a9c Fix flaky OpenLineage manual state e2e test on airflow 3+
(#76796)
add 762495647a9 Add task loop authoring ADRs for the TypeScript, Java and
Go SDKs (#76365)
add 76a27275c7a [main] Upgrade important CI environment (#76334)
add 6a8bc716a39 Add meel-ayush to fork CI pilot and exempt pilot users
from PR cap (#76782)
add eeab7a877df Redact Connection extra fields that providers declare as
secrets (#73797)
add 367d619c756 Build published slim images with constraints without
providers (#76798)
add 5cdfa8571b0 Use Python 3.14 as the default Python of the 3.5.0 images
(#76800)
add 15adc8a492a Add Durable Execution to the registry header navigation
(#76775)
add 2b59699b0fe Rework fork CI draft and label rules into one state table
(#76681)
add 057f0099281 Make db clean --skip-archive delete rows directly (#74113)
add 8699a93e659 Bound job loading for component health checks (#76751)
add e1150d774f8 Stop generating constraints for PRs that do not use them
(#76685)
add 6b31eaa7f38 UI: Load the ELK graph layout engine only when a graph is
drawn (#75986)
add 0c6be7cad0f Close German Translation Gaps 2026-11-09 (#76781)
add aac29ec1bbb Split the Common AI sandbox backends page into one page
per backend (#76853)
add 0d2b5559004 Skip provider tests that cannot import a changed file
(#76686)
add 6d0ad1ee1af Run the always-on CI jobs only when their inputs change
(#76690)
add 402d7a58ad2 Skip provider compatibility tests for changes hidden from
them (#76722)
add 27e807b5f1e Add Execution API endpoint for callback terminal state
(#75253)
add ffac35fc92b Add a task switcher to the Dag breadcrumb (#76850)
add 89c89fdb3f1 Simplify attribute assertions in Connection URI tests
(#76876)
add 975edc02c50 Use uvicorn-worker package for the gunicorn API server
worker (#76856)
add 6b68dacdab3 Correct sbx swap guidance in Common AI sandbox docs
(#76879)
add 4d1bc90d0d4 Add Hugging Face Provider (#76317)
add 53134ff6a69 Go SDK: Return XCom and task state store integers as int64
(#75700)
add e429795ce4b Fix the last loop iteration index in the task loops docs
(#76831)
add 5667fb5044b Skip the Go SDK rule constants test outside the Airflow
repository (#76888)
add 5a9e21ac1b4 Skip upstream-only push workflows when a fork syncs main
(#76695)
add b9a3082904d Make SDK release verification steps work on macOS and with
backports (#76897)
add 48ccf8119b5 Fix unexpected stdout output in async S3Hook decorator
(#76855)
add 5e2e1417f22 Count replayed tool errors against the retry limit in
OpenAI Agents durable runs (#76790)
add 3591d7e4b77 Tidy the ESLint config before the oxlint move (#76477)
add 5081d2810f7 Correct what clearing a durable agent task replays in
common.ai docs (#76860)
add 2402f77482b Merge commit '5081d2810f7d639fc28a9a445fdabcf8815922c6'
into adapters-wrapped-toolsets
No new revisions were added by this update.
Summary of changes:
.agents/skills/airflow-translations/SKILL.md | 1 +
.agents/skills/airflow-translations/locales/it.md | 28 +
.agents/skills/airflow-translations/locales/pt.md | 26 +
.agents/skills/airflow-translations/locales/ru.md | 242 ++
.../prepare-providers-documentation/SKILL.md | 5 +-
.asf.yaml | 16 +
.github/CODEOWNERS | 2 +-
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 1 +
.github/boring-cyborg.yml | 3 +
.github/dependabot.yml | 3 +
.github/fork-ci-gate.toml | 4 +-
.github/workflows/agent-framework-tests.yml | 2 +-
.github/workflows/airflow-e2e-tests.yml | 4 +-
.github/workflows/automatic-backport.yml | 1 +
.github/workflows/basic-tests.yml | 19 +-
.github/workflows/ci-amd.yml | 46 +-
.github/workflows/ci-arm.yml | 46 +-
.github/workflows/ci-image-checks.yml | 5 +
.github/workflows/ci-notification.yml | 2 +-
.github/workflows/codeql-analysis.yml | 8 +-
.../java-sdk-dependabot-verification-metadata.yml | 2 +-
.github/workflows/java-sdk-dependency-security.yml | 10 +-
.github/workflows/java-sdk-release-verify.yml | 4 +-
.github/workflows/k8s-tests.yml | 4 +-
.github/workflows/milestone-tag-assistant.yml | 1 +
.github/workflows/notify-uv-lock-conflicts.yml | 3 +-
.github/workflows/registry-backfill.yml | 2 +-
.github/workflows/registry-build.yml | 2 +-
.github/workflows/registry-tests.yml | 2 +-
.github/workflows/release-constraints.yml | 16 +-
.../scheduled-verify-release-calendar.yml | 2 +-
.github/workflows/test-providers.yml | 6 +-
.github/workflows/ui-e2e-tests.yml | 2 +-
.github/workflows/update-constraints-on-push.yml | 5 +-
.pre-commit-config.yaml | 13 +-
.rat-excludes | 2 +
AGENTS.md | 3 +-
Dockerfile | 205 +-
Dockerfile.ci | 34 +-
README.md | 12 +-
RELEASE_NOTES.rst | 1099 +++++-
airflow-core/.pre-commit-config.yaml | 2 +-
.../0007-taskflow-across-language-boundary.md | 4 +
.../lang-sdk/0016-mapped-tasks-across-lang-sdks.md | 584 +++
.../lang-sdk/0017-task-loops-across-lang-sdks.md | 252 ++
airflow-core/adr/lang-sdk/README.md | 2 +
.../administration-and-deployment/dag-bundles.rst | 43 +
.../administration-and-deployment/listeners.rst | 13 +
.../dynamic-task-mapping.rst | 1 +
.../authoring-and-scheduling/language-sdks/go.rst | 21 +-
.../language-sdks/java.rst | 6 +-
.../language-sdks/typescript.rst | 7 +-
.../docs/authoring-and-scheduling/loops.rst | 2 +-
airflow-core/docs/core-concepts/dags.rst | 23 +-
.../docs/core-concepts/task-state-store.rst | 16 +
airflow-core/docs/extra-packages-ref.rst | 2 +
airflow-core/docs/howto/usage-cli.rst | 2 +-
.../docs/installation/supported-versions.rst | 2 +-
airflow-core/docs/migrations-ref.rst | 8 +-
airflow-core/newsfragments/74789.significant.rst | 12 +
airflow-core/newsfragments/76007.significant.rst | 22 +
airflow-core/newsfragments/76453.significant.rst | 16 +
airflow-core/pyproject.toml | 3 +-
.../src/airflow/api/common/airflow_health.py | 34 +-
.../auth/managers/simple/ui/package.json | 28 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 2043 +++++------
.../airflow/api_fastapi/common/parameters/misc.py | 40 +-
.../api_fastapi/core_api/datamodels/dag_run.py | 3 +-
.../api_fastapi/core_api/routes/public/assets.py | 2 +-
.../core_api/routes/public/connections.py | 43 +-
.../core_api/routes/public/dag_parsing.py | 18 +
.../api_fastapi/core_api/routes/public/dag_run.py | 2 +-
.../api_fastapi/core_api/routes/public/hitl.py | 6 +-
.../core_api/routes/public/task_state_store.py | 5 +-
.../airflow/api_fastapi/core_api/routes/ui/dags.py | 9 +-
.../execution_api/datamodels/callback.py} | 22 +-
.../execution_api/datamodels/dag_parsing.py | 201 ++
.../api_fastapi/execution_api/datamodels/job.py | 4 +-
.../execution_api/datamodels/variable.py | 4 +-
.../api_fastapi/execution_api/in_process.py | 30 +-
.../api_fastapi/execution_api/routes/__init__.py | 2 +
.../api_fastapi/execution_api/routes/callbacks.py | 58 +-
.../execution_api/routes/dag_parsing.py | 630 ++++
.../api_fastapi/execution_api/routes/hitl.py | 16 +-
.../api_fastapi/execution_api/routes/jobs.py | 22 +-
.../execution_api/routes/task_instances.py | 5 +-
.../execution_api/routes/task_state_store.py | 17 +-
.../api_fastapi/execution_api/versions/__init__.py | 12 +-
.../execution_api/versions/v2026_10_30.py | 7 +
.../execution_api/versions/v2027_02_28.py | 50 +-
.../src/airflow/api_fastapi/gunicorn_app.py | 2 +-
airflow-core/src/airflow/cli/cli_config.py | 4 +-
.../src/airflow/cli/commands/api_server_command.py | 4 +-
.../src/airflow/config_templates/config.yml | 21 +-
.../src/airflow/dag_processing/api_client.py | 115 +-
.../src/airflow/dag_processing/bundles/base.py | 21 +-
.../src/airflow/dag_processing/bundles/local.py | 1 +
.../src/airflow/dag_processing/bundles/manager.py | 52 +-
.../importerrors.py => dag_processing/claims.py} | 19 +-
.../src/airflow/dag_processing/collection.py | 282 +-
.../src/airflow/dag_processing/maintenance.py | 155 +
airflow-core/src/airflow/dag_processing/manager.py | 1323 +++++--
.../src/airflow/dag_processing/processor.py | 77 +-
.../src/airflow/dag_processing/requested_work.py | 139 +
.../src/airflow/dag_processing/timeouts.py | 22 +-
airflow-core/src/airflow/jobs/job.py | 26 +-
.../src/airflow/jobs/scheduler_job_runner.py | 57 +-
.../src/airflow/jobs/triggerer_job_runner.py | 23 +-
.../src/airflow/listeners/spec/importerrors.py | 20 +-
...154_3_5_0_add_idempotency_key_to_hitl_detail.py | 53 +
...55_3_5_0_add_dag_processor_publication_state.py | 78 +
.../0156_3_5_0_add_processor_work_claims.py | 74 +
airflow-core/src/airflow/models/__init__.py | 2 +
airflow-core/src/airflow/models/callback.py | 4 +
airflow-core/src/airflow/models/connection.py | 6 +-
airflow-core/src/airflow/models/dag.py | 1 +
.../models/dag_processor_publication_receipt.py | 46 +
.../dag_processor_work_claim.py} | 30 +-
airflow-core/src/airflow/models/dagbag.py | 16 +-
airflow-core/src/airflow/models/dagbundle.py | 3 +
airflow-core/src/airflow/models/dagcode.py | 2 +-
airflow-core/src/airflow/models/dagrun.py | 4 +-
airflow-core/src/airflow/models/dagwarning.py | 30 +-
airflow-core/src/airflow/models/errors.py | 4 +-
airflow-core/src/airflow/models/hitl.py | 43 +
airflow-core/src/airflow/models/variable.py | 10 +-
airflow-core/src/airflow/process_context.py | 53 +
airflow-core/src/airflow/sensors/__init__.py | 1 +
.../src/airflow/serialization/definitions/dag.py | 2 +
.../airflow/serialization/serialized_objects.py | 22 +-
airflow-core/src/airflow/state/metastore.py | 5 +-
airflow-core/src/airflow/ui/.oxfmtrc.json | 51 +
airflow-core/src/airflow/ui/.prettierignore | 9 -
airflow-core/src/airflow/ui/.prettierrc | 23 -
airflow-core/src/airflow/ui/eslint.config.js | 8 -
airflow-core/src/airflow/ui/package.json | 52 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 1356 +++----
airflow-core/src/airflow/ui/public/i18n/README.md | 1 +
.../airflow/ui/public/i18n/locales/de/browse.json | 1 +
.../airflow/ui/public/i18n/locales/de/common.json | 2 +
.../airflow/ui/public/i18n/locales/en/common.json | 2 +
.../airflow/ui/public/i18n/locales/es/browse.json | 7 +-
.../airflow/ui/public/i18n/locales/it/README.md | 34 +
.../airflow/ui/public/i18n/locales/ko/browse.json | 1 +
.../airflow/ui/public/i18n/locales/ko/common.json | 11 +-
.../ui/public/i18n/locales/ko/components.json | 4 +
.../src/airflow/ui/public/i18n/locales/ko/dag.json | 4 +-
.../airflow/ui/public/i18n/locales/ko/dags.json | 1 +
.../ui/public/i18n/locales/ko/dashboard.json | 1 +
.../airflow/ui/public/i18n/locales/nl/admin.json | 26 +-
.../airflow/ui/public/i18n/locales/nl/assets.json | 18 +-
.../airflow/ui/public/i18n/locales/nl/browse.json | 34 +
.../airflow/ui/public/i18n/locales/nl/common.json | 227 +-
.../ui/public/i18n/locales/nl/components.json | 57 +-
.../src/airflow/ui/public/i18n/locales/nl/dag.json | 139 +-
.../airflow/ui/public/i18n/locales/nl/dags.json | 60 +-
.../ui/public/i18n/locales/nl/dashboard.json | 24 +-
.../airflow/ui/public/i18n/locales/nl/hitl.json | 1 +
.../airflow/ui/public/i18n/locales/pl/admin.json | 8 +-
.../airflow/ui/public/i18n/locales/pl/assets.json | 12 +-
.../airflow/ui/public/i18n/locales/pl/browse.json | 4 +-
.../airflow/ui/public/i18n/locales/pl/common.json | 61 +-
.../ui/public/i18n/locales/pl/components.json | 71 +-
.../src/airflow/ui/public/i18n/locales/pl/dag.json | 96 +-
.../airflow/ui/public/i18n/locales/pl/dags.json | 50 +-
.../ui/public/i18n/locales/pl/dashboard.json | 21 +-
.../airflow/ui/public/i18n/locales/pl/hitl.json | 1 +
.../airflow/ui/public/i18n/locales/pt/admin.json | 33 +-
.../airflow/ui/public/i18n/locales/pt/assets.json | 39 +-
.../airflow/ui/public/i18n/locales/pt/browse.json | 60 +
.../airflow/ui/public/i18n/locales/pt/common.json | 314 +-
.../ui/public/i18n/locales/pt/components.json | 92 +-
.../src/airflow/ui/public/i18n/locales/pt/dag.json | 236 +-
.../airflow/ui/public/i18n/locales/pt/dags.json | 65 +-
.../ui/public/i18n/locales/pt/dashboard.json | 44 +-
.../airflow/ui/public/i18n/locales/pt/hitl.json | 15 +
.../ui/public/i18n/locales/zh-CN/admin.json | 1 +
.../ui/public/i18n/locales/zh-CN/assets.json | 1 +
.../ui/public/i18n/locales/zh-CN/common.json | 16 +-
.../ui/public/i18n/locales/zh-CN/components.json | 16 +-
.../airflow/ui/public/i18n/locales/zh-CN/dag.json | 56 +
.../airflow/ui/public/i18n/locales/zh-CN/dags.json | 9 +
.../ui/rules/{off.js => airflow-plugin/index.js} | 19 +-
.../airflow-plugin/no-react-namespace-types.js | 59 +
.../no-react-namespace-types.test.js | 38 +
airflow-core/src/airflow/ui/rules/core.js | 90 +-
airflow-core/src/airflow/ui/rules/i18n.js | 167 -
airflow-core/src/airflow/ui/rules/jsonc.js | 45 -
airflow-core/src/airflow/ui/rules/levels.js | 3 -
airflow-core/src/airflow/ui/rules/perfectionist.js | 11 +-
airflow-core/src/airflow/ui/rules/prettier.js | 38 -
airflow-core/src/airflow/ui/rules/react.js | 7 -
airflow-core/src/airflow/ui/rules/rem.js | 146 -
airflow-core/src/airflow/ui/rules/typescript.js | 150 +-
airflow-core/src/airflow/ui/rules/unicorn.js | 21 +-
.../ui/src/components/Breadcrumb/CrumbSwitcher.tsx | 7 +-
.../ui/src/components/FilterBar/FilterBar.test.tsx | 45 +
.../ui/src/components/FilterBar/FilterBar.tsx | 12 +-
.../airflow/ui/src/components/FilterBar/types.ts | 13 +-
.../ui/src/components/Graph/useGraphLayout.ts | 45 +-
.../ui/src/components/NeedsReviewButton.tsx | 3 +-
.../components/PluginActions/PluginReactAction.tsx | 6 +-
.../ui/src/components/TaskInstanceTooltip.tsx | 4 +-
.../airflow/ui/src/hooks/useRequiredActionTabs.ts | 6 +-
.../ui/src/layouts/Details/DagBreadcrumb.test.tsx | 213 +-
.../ui/src/layouts/Details/DagBreadcrumb.tsx | 22 +
.../ui/src/layouts/Details/DetailsLayout.test.tsx | 108 +
.../ui/src/layouts/Details/DetailsLayout.tsx | 26 +-
.../ui/src/layouts/Details/Gantt/Gantt.test.tsx | 41 +-
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 6 +-
.../ui/src/layouts/Details/Grid/Grid.test.tsx | 72 +
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 79 +-
.../layouts/Details/Grid/GridPaginationButtons.tsx | 127 +-
.../ui/src/layouts/Details/Grid/constants.ts | 11 +
.../layouts/Details/Grid/useGridPagination.test.ts | 36 +-
.../src/layouts/Details/Grid/useGridPagination.ts | 14 +-
.../Details/Grid/useGridScrollRestore.test.ts | 617 +++-
.../layouts/Details/Grid/useGridScrollRestore.ts | 183 +-
.../airflow/ui/src/layouts/Details/Grid/utils.ts | 5 +-
.../ui/src/layouts/Details/NavTabs.test.tsx | 207 ++
.../src/airflow/ui/src/layouts/Details/NavTabs.tsx | 182 +-
.../airflow/ui/src/layouts/Details/SearchTasks.tsx | 190 +
.../ui/src/layouts/Details/TaskSwitcherButton.tsx | 64 +
.../src/pages/Asset/CreateAssetEventModal.test.tsx | 6 +-
.../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx | 6 +-
.../src/pages/DagsList/DagsFilters/DagsFilters.tsx | 15 +-
.../ui/src/pages/DagsList/DagsList.test.tsx | 33 +
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 66 +-
.../HITLTaskInstances/HITLTaskInstances.test.tsx | 11 +-
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 4 +-
.../src/airflow/ui/src/pages/ReactPlugin.tsx | 7 +-
.../ui/src/queries/useCreateBackfill.test.tsx | 3 +-
.../airflow/ui/src/queries/useGridRuns.test.tsx | 48 +
.../src/airflow/ui/src/queries/useGridRuns.ts | 50 +-
.../src/airflow/ui/src/queries/useTrigger.test.tsx | 3 +-
airflow-core/src/airflow/ui/src/utils/hitl.test.ts | 48 +-
airflow-core/src/airflow/ui/src/utils/hitl.ts | 12 +-
.../ui/src/utils/useFiltersHandler.test.tsx | 21 +
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 6 +-
.../airflow/ui/tests/e2e/specs/task-tries.spec.ts | 4 +-
airflow-core/src/airflow/ui/tsconfig.dev.json | 2 +-
airflow-core/src/airflow/utils/db.py | 2 +-
airflow-core/src/airflow/utils/db_cleanup.py | 93 +-
airflow-core/tests/unit/always/test_connection.py | 14 +-
.../tests/unit/always/test_providers_manager.py | 32 +
.../tests/unit/api/common/test_airflow_health.py | 80 +-
.../core_api/routes/public/test_assets.py | 2 +
.../core_api/routes/public/test_connections.py | 35 +-
.../core_api/routes/public/test_dag_parsing.py | 118 +
.../core_api/routes/public/test_hitl.py | 46 +
.../routes/public/test_task_state_store.py | 51 +-
.../api_fastapi/core_api/routes/ui/test_dags.py | 30 +
.../unit/api_fastapi/execution_api/test_app.py | 33 +
.../execution_api/test_dag_processor_client.py | 2 +
.../execution_api/test_token_scope_boundaries.py | 10 +
.../execution_api/versions/head/test_callbacks.py | 188 +
.../versions/head/test_connections.py | 34 +
.../versions/head/test_dag_parsing.py | 2137 +++++++++++
.../execution_api/versions/head/test_hitl.py | 45 +
.../execution_api/versions/head/test_jobs.py | 56 +
.../versions/head/test_task_instances.py | 47 +
.../versions/head/test_task_state_store.py | 38 +-
.../execution_api/versions/head/test_variables.py | 63 +
.../versions/v2026_10_30/test_task_state_store.py | 51 +
.../versions/v2027_02_28/test_callbacks.py | 43 +
.../versions/v2027_02_28/test_jobs.py | 10 +
.../versions/v2027_02_28/test_variables.py | 65 +
.../unit/api_fastapi/test_lazy_response_fields.py | 338 ++
.../unit/cli/commands/test_api_server_command.py | 37 +
.../unit/cli/commands/test_gunicorn_monitor.py | 2 +-
.../tests/unit/dag_processing/bundles/test_base.py | 6 +-
.../bundles/test_dag_bundle_manager.py | 261 +-
.../unit/dag_processing/bundles/test_local.py | 3 +
airflow-core/tests/unit/dag_processing/conftest.py | 67 +
.../tests/unit/dag_processing/test_api_client.py | 422 ++-
.../tests/unit/dag_processing/test_claims.py | 39 +
.../tests/unit/dag_processing/test_collection.py | 59 +-
.../tests/unit/dag_processing/test_maintenance.py | 408 +++
.../tests/unit/dag_processing/test_manager.py | 3495 ++++++++++++++++--
.../dag_processing/test_manager_api_failures.py | 351 ++
.../dag_processing/test_manager_api_inventory.py | 453 +++
.../dag_processing/test_manager_api_isolation.py | 206 ++
.../dag_processing/test_manager_api_results.py | 72 +
.../tests/unit/dag_processing/test_processor.py | 154 +-
.../unit/dag_processing/test_requested_work.py | 141 +
airflow-core/tests/unit/jobs/test_base_job.py | 29 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 187 +-
.../tests/unit/listeners/test_importerrors.py | 85 +
.../test_0156_add_processor_work_claims.py | 165 +
airflow-core/tests/unit/models/test_connection.py | 21 +
airflow-core/tests/unit/models/test_dagrun.py | 33 +
airflow-core/tests/unit/models/test_dagwarning.py | 54 -
.../unit/serialization/test_dag_serialization.py | 64 +
airflow-core/tests/unit/state/test_metastore.py | 5 +-
airflow-core/tests/unit/utils/test_db_cleanup.py | 350 +-
airflow-core/tests/unit/utils/test_log_handlers.py | 2 +-
airflow-ctl/pyproject.toml | 4 +-
.../airflowctl/api/datamodels/auth_generated.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 2 +-
.../src/airflowctl/ctl/commands/auth_command.py | 5 +-
.../src/airflowctl/ctl/commands/config_command.py | 3 +-
.../airflowctl/ctl/commands/connection_command.py | 5 +-
.../src/airflowctl/ctl/commands/dag_command.py | 15 +-
.../src/airflowctl/ctl/commands/task_command.py | 11 +-
airflow-ctl/src/airflowctl/ctl/utils/dag_run.py | 9 +-
.../airflow_ctl/ctl/commands/test_auth_command.py | 52 +-
.../ctl/commands/test_config_command.py | 14 +-
.../ctl/commands/test_connections_command.py | 25 +
.../airflow_ctl/ctl/commands/test_dag_command.py | 96 +-
.../airflow_ctl/ctl/commands/test_task_command.py | 48 +
.../tests/airflow_ctl/ctl/utils/test_dag_run.py | 29 +
.../java-native-bundle/gradle.properties | 2 +-
.../java-test-bundle/gradle.properties | 2 +-
airflow-e2e-tests/pyproject.toml | 2 +-
chart/Chart.yaml | 20 +-
chart/NOTICE | 2 +-
chart/README.md | 1 +
chart/docs/using-additional-containers.rst | 11 +-
chart/newsfragments/76601.significant.rst | 3 +
.../otel-collector/otel-collector-deployment.yaml | 5 +-
.../templates/pgbouncer/pgbouncer-deployment.yaml | 4 +
.../pgbouncer/pgbouncer-networkpolicy.yaml | 2 +-
.../priorityclasses/priority-classes.yaml | 3 +
.../templates/scheduler/scheduler-deployment.yaml | 2 +-
.../templates/triggerer/triggerer-deployment.yaml | 2 +-
chart/templates/workers/worker-deployment.yaml | 2 +-
.../airflow_aux/test_basic_helm_chart.py | 8 +-
.../helm_tests/airflow_core/test_scheduler.py | 27 +-
.../helm_tests/airflow_core/test_triggerer.py | 31 +-
chart/tests/helm_tests/airflow_core/test_worker.py | 31 +-
.../otel_collector/test_otel_collector.py | 21 +
chart/tests/helm_tests/other/test_pgbouncer.py | 75 +
.../helm_tests/security/test_security_context.py | 16 +-
chart/values.schema.json | 20 +-
chart/values.yaml | 11 +-
clients/python/CHANGELOG.md | 76 +
clients/python/version.txt | 2 +-
contributing-docs/12_provider_distributions.rst | 6 +-
.../13_airflow_dependencies_and_extras.rst | 5 +
contributing-docs/15_node_environment_setup.rst | 5 +-
contributing-docs/18_contribution_workflow.rst | 5 +-
contributing-docs/25_maintainer_pr_triage.md | 14 +-
.../31_task_execution_architecture.rst | 7 +-
contributing-docs/32_open_pull_request_limit.rst | 11 +-
.../diagram_task_sdk_execution_architecture.md5sum | 2 +-
.../diagram_task_sdk_execution_architecture.png | Bin 184731 -> 170906
bytes
.../diagram_task_sdk_execution_architecture.py | 8 +-
contributing-docs/testing/unit_tests.rst | 2 +-
dev/README_RELEASE_AIRFLOW.md | 18 +-
dev/README_RELEASE_AIRFLOWCTL.md | 2 +-
dev/README_RELEASE_HELM_CHART.md | 2 +-
dev/README_RELEASE_PROVIDERS.md | 30 +-
dev/breeze/doc/ci/02_images.md | 6 +-
dev/breeze/doc/ci/04_selective_checks.md | 74 +-
dev/breeze/doc/ci/05_workflows.md | 14 +-
.../doc/ci/08_fork_ci_for_external_contributors.md | 128 +-
dev/breeze/doc/images/output_build-docs.svg | 12 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
...tput_release-management_add-back-references.svg | 12 +-
...tput_release-management_add-back-references.txt | 2 +-
...elease-management_classify-provider-changes.svg | 4 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.svg | 4 +-
...management_generate-issue-content-providers.txt | 2 +-
...ease-management_generate-providers-metadata.svg | 12 +-
...ease-management_generate-providers-metadata.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 4 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 4 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 12 +-
.../output_release-management_publish-docs.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 14 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 12 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
.../output_workflow-run_release-constraints.svg | 52 +-
.../output_workflow-run_release-constraints.txt | 2 +-
dev/breeze/pyproject.toml | 2 +-
.../airflow_breeze/commands/kubernetes_commands.py | 2 +-
.../commands/release_candidate_command.py | 16 +-
.../src/airflow_breeze/commands/release_command.py | 37 +-
.../commands/release_management_commands.py | 12 +-
.../src/airflow_breeze/commands/ui_commands.py | 7 +-
.../airflow_breeze/commands/workflow_commands.py | 14 +-
.../commands/workflow_commands_config.py | 1 +
.../files/hardened_os_deps_image_digests.json | 15 +-
.../files/hardened_python_image_digests.json | 16 +-
dev/breeze/src/airflow_breeze/global_constants.py | 14 +-
.../src/airflow_breeze/utils/fork_ci_gate.py | 2 +-
.../src/airflow_breeze/utils/fork_ci_messages.py | 28 +-
.../src/airflow_breeze/utils/fork_ci_reconcile.py | 187 +-
.../src/airflow_breeze/utils/import_graph.py | 308 ++
.../airflow_breeze/utils/release_constraints.py | 67 +-
.../src/airflow_breeze/utils/selective_checks.py | 169 +-
.../src/airflow_breeze/utils/verification_plan.py | 29 +-
dev/breeze/tests/test_fork_ci_gate.py | 2 +-
dev/breeze/tests/test_fork_ci_messages.py | 17 +
dev/breeze/tests/test_fork_ci_reconcile.py | 247 +-
dev/breeze/tests/test_import_graph.py | 122 +
dev/breeze/tests/test_os_deps_images.py | 52 +-
dev/breeze/tests/test_release_candidate_command.py | 22 +
dev/breeze/tests/test_release_command.py | 77 +-
dev/breeze/tests/test_release_constraints.py | 65 +
.../tests/test_release_management_commands.py | 83 +-
dev/breeze/tests/test_selective_checks.py | 377 +-
dev/breeze/tests/test_verification_plan.py | 31 +-
dev/breeze/tests/test_verify_commands.py | 2 +-
dev/breeze/tests/test_workflow_commands.py | 21 +
dev/breeze/uv.lock | 146 +-
dev/mypy/pyproject.toml | 2 +-
.../react_plugin_template/package.json | 18 +-
.../react_plugin_template/pnpm-lock.yaml | 1821 +++++-----
dev/skill-evals/last-eval-hash.txt | 2 +-
.../src/tests_common/test_utils/markers.py | 19 +
docker-stack-docs/README.md | 8 +-
docker-stack-docs/build-arg-ref.rst | 5 +-
docker-stack-docs/build.rst | 4 +-
docker-stack-docs/changelog.rst | 7 +
.../customizing/add-build-essential-custom.sh | 2 +-
.../docker-examples/customizing/custom-sources.sh | 2 +-
.../customizing/pypi-dev-runtime-deps.sh | 2 +-
.../customizing/pypi-extras-and-deps.sh | 2 +-
.../customizing/pypi-selected-version.sh | 2 +-
.../restricted/restricted_environments.sh | 2 +-
docker-stack-docs/index.rst | 8 +-
docs/spelling_wordlist.txt | 28 +
generated/PYPI_README.md | 10 +-
generated/known_sdk_imports_in_core.txt | 4 +-
generated/provider_metadata.json | 554 +--
go-sdk/DEVELOPMENT.md | 7 +-
go-sdk/adr/0008-native-dag-interface.md | 2 +-
go-sdk/adr/0009-task-loop-authoring-interface.md | 245 ++
go-sdk/airflow/context.go | 2 +-
go-sdk/airflow/dag.go | 1 +
go-sdk/airflow/enums.go | 34 +-
go-sdk/airflow/enums_test.go | 28 +-
go-sdk/airflow/serialize.go | 15 +
go-sdk/airflow/serialize_test.go | 30 +
go-sdk/airflow/serve_test.go | 89 +
go-sdk/example/bundle/main.go | 3 +
go-sdk/pkg/execution/client.go | 28 +-
go-sdk/pkg/execution/client_test.go | 20 +-
.../pkg/execution/genmodels/discriminators.gen.go | 4 +
go-sdk/pkg/execution/genmodels/gen.go | 5 +-
go-sdk/pkg/execution/genmodels/gen/main.go | 225 +-
go-sdk/pkg/execution/genmodels/gen/main_test.go | 169 +
go-sdk/pkg/execution/genmodels/models.gen.go | 157 +-
go-sdk/pkg/execution/genmodels/time.go | 84 +
go-sdk/pkg/execution/genmodels/time_test.go | 236 ++
go-sdk/pkg/execution/integration_test.go | 20 +-
go-sdk/pkg/execution/messages.go | 128 +-
go-sdk/pkg/execution/messages_test.go | 218 +-
go-sdk/pkg/execution/task_runner.go | 29 +-
go-sdk/pkg/execution/trigger_runner.go | 11 +-
go-sdk/schema/supervisor-schema.json | 105 +-
go-sdk/sdk/context.go | 19 +-
java-sdk/DEVELOPMENT.md | 17 +-
java-sdk/adr/0003-task-loop-authoring-interface.md | 327 ++
java-sdk/gradle.properties | 2 +-
java-sdk/gradle/verification-metadata.xml | 64 +-
java-sdk/sdk/build.gradle.kts | 57 +-
java-sdk/sdk/schema/schema.json | 853 +++--
.../lang_sdk/java_example/gradle.properties | 2 +-
.../test_kubernetes_pod_operator.py | 2 +-
providers/.last_release_date.txt | 2 +-
providers/.pre-commit-config.yaml | 2 +-
providers/amazon/README.rst | 4 +-
providers/amazon/docs/changelog.rst | 9 +-
providers/amazon/docs/connections/duckdb_aws.rst | 104 +
providers/amazon/docs/index.rst | 4 +-
providers/amazon/docs/operators/duckdb.rst | 37 +-
providers/amazon/provider.yaml | 2 +-
providers/amazon/pyproject.toml | 4 +-
.../src/airflow/providers/amazon/aws/exceptions.py | 4 +
.../airflow/providers/amazon/aws/hooks/duckdb.py | 48 +-
.../src/airflow/providers/amazon/aws/hooks/s3.py | 1 -
.../providers/amazon/aws/hooks/sagemaker.py | 38 +-
.../providers/amazon/aws/log/s3_task_handler.py | 86 +-
.../airflow/providers/amazon/aws/operators/glue.py | 51 +-
.../providers/amazon/aws/operators/sagemaker.py | 36 +-
.../airflow/providers/amazon/aws/triggers/glue.py | 30 +-
.../providers/amazon/aws/triggers/sagemaker.py | 31 +-
.../airflow/providers/amazon/aws/utils/mixins.py | 26 +-
.../tests/unit/amazon/aws/hooks/test_duckdb.py | 44 +-
.../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 13 +
.../tests/unit/amazon/aws/hooks/test_sagemaker.py | 36 +
.../unit/amazon/aws/log/test_s3_task_handler.py | 84 +
.../tests/unit/amazon/aws/operators/test_glue.py | 141 +-
.../aws/operators/test_sagemaker_processing.py | 124 +
.../aws/operators/test_sagemaker_training.py | 14 +-
.../tests/unit/amazon/aws/triggers/test_glue.py | 41 +
.../unit/amazon/aws/triggers/test_sagemaker.py | 19 +-
.../tests/unit/amazon/aws/utils/test_mixins.py | 62 +-
.../airflow/providers/anthropic/hooks/anthropic.py | 21 +-
.../airflow/providers/anthropic/triggers/batch.py | 7 +-
.../tests/unit/anthropic/hooks/test_anthropic.py | 46 +-
.../tests/unit/anthropic/triggers/test_batch.py | 28 +
providers/apache/cassandra/README.rst | 3 +-
providers/apache/cassandra/docs/changelog.rst | 6 +
providers/apache/cassandra/docs/index.rst | 1 +
providers/apache/cassandra/provider.yaml | 3 -
providers/apache/cassandra/pyproject.toml | 4 +-
.../tests/unit/apache/hive/plugins/test_hive.py | 21 +-
providers/apache/spark/docs/decorators/pyspark.rst | 4 +
.../providers/apache/spark/decorators/pyspark.py | 2 +
.../providers/apache/spark/hooks/spark_connect.py | 2 +-
.../unit/apache/spark/decorators/test_pyspark.py | 22 +
.../unit/apache/spark/hooks/test_spark_connect.py | 2 +-
.../celery/executors/celery_executor_utils.py | 22 +-
.../integration/celery/test_celery_executor.py | 7 +-
.../unit/celery/executors/test_celery_executor.py | 42 +
providers/cncf/kubernetes/docs/changelog.rst | 7 +
.../providers/cncf/kubernetes/hooks/kubernetes.py | 52 +-
.../providers/cncf/kubernetes/operators/pod.py | 5 +-
.../providers/cncf/kubernetes/triggers/job.py | 5 +
.../providers/cncf/kubernetes/triggers/pod.py | 80 +-
.../providers/cncf/kubernetes/utils/pod_manager.py | 41 +-
.../cncf/kubernetes/utils/xcom_sidecar.py | 2 +-
.../system/cncf/kubernetes/example_kubernetes.py | 2 +-
.../cncf/kubernetes/example_kubernetes_async.py | 2 +-
.../unit/cncf/kubernetes/hooks/test_kubernetes.py | 308 +-
.../unit/cncf/kubernetes/operators/test_pod.py | 48 +-
.../unit/cncf/kubernetes/triggers/test_job.py | 8 +
.../unit/cncf/kubernetes/triggers/test_pod.py | 43 +-
.../unit/cncf/kubernetes/utils/test_pod_manager.py | 133 +-
providers/common/ai/README.rst | 1 +
.../common/ai/docs/connections/pydantic_ai.rst | 5 +-
providers/common/ai/docs/durable_execution.rst | 32 +-
providers/common/ai/docs/frameworks/index.rst | 28 +-
.../common/ai/docs/frameworks/openai_agents.rst | 18 +-
providers/common/ai/docs/hooks/llamaindex.rst | 6 +
providers/common/ai/docs/index.rst | 1 +
providers/common/ai/docs/observability.rst | 14 +-
providers/common/ai/docs/operators/agent.rst | 6 +-
providers/common/ai/docs/redirects.txt | 1 +
providers/common/ai/docs/sandbox/backends.rst | 827 -----
providers/common/ai/docs/sandbox/backends/boat.rst | 151 +
.../common/ai/docs/sandbox/backends/custom.rst | 95 +
.../common/ai/docs/sandbox/backends/index.rst | 82 +
providers/common/ai/docs/sandbox/backends/islo.rst | 107 +
.../common/ai/docs/sandbox/backends/modal.rst | 183 +
.../ai/docs/sandbox/backends/opensandbox.rst | 93 +
.../common/ai/docs/sandbox/backends/openshell.rst | 206 ++
providers/common/ai/docs/sandbox/backends/sbx.rst | 71 +
providers/common/ai/docs/sandbox/configuration.rst | 2 +-
providers/common/ai/docs/sandbox/index.rst | 6 +-
providers/common/ai/docs/self_hosted_models.rst | 103 +
providers/common/ai/docs/stability.rst | 5 +-
providers/common/ai/docs/toolsets/index.rst | 2 +-
providers/common/ai/docs/toolsets/skills.rst | 19 +-
.../ai/docs/use_cases/explain_revenue_anomaly.rst | 8 +-
providers/common/ai/provider.yaml | 1 +
providers/common/ai/pyproject.toml | 11 +-
.../providers/common/ai/durable/fingerprint.py | 8 +-
.../airflow/providers/common/ai/durable/journal.py | 70 +-
.../providers/common/ai/durable/openai_agents.py | 90 +-
.../providers/common/ai/durable/replay_usage.py | 3 +-
.../providers/common/ai/get_provider_info.py | 5 +-
.../airflow/providers/common/ai/hooks/ollama.py | 98 +
.../providers/common/ai/hooks/pydantic_ai.py | 106 +-
.../airflow/providers/common/ai/operators/agent.py | 11 +-
.../ai/plugins/www/src/components/ModelPanel.tsx | 30 +-
.../plugins/www/src/components/SkillsSection.tsx | 13 +-
.../ai/plugins/www/src/hooks/useModelInfo.ts | 14 +-
.../common/ai/plugins/www/src/model-api.ts | 35 +-
.../common/ai/plugins/www/src/skill-source.ts | 43 +-
.../common/ai/plugins/www/tests/model-api.test.ts | 22 +
.../common/ai/plugins/www/tests/model.test.mjs | 75 +
.../ai/plugins/www/tests/skill-source.test.ts | 27 +-
.../ai/src/airflow/providers/common/ai/skills.py | 5 +-
.../providers/common/ai/tools/_from_toolset.py | 145 +-
.../providers/common/ai/tools/openai_agents.py | 51 +-
.../airflow/providers/common/ai/toolsets/hook.py | 22 +-
.../airflow/providers/common/ai/toolsets/skills.py | 61 +-
.../providers/common/ai/utils/file_analysis.py | 13 +-
.../providers/common/ai/utils/sql_validation.py | 27 +-
.../tests/unit/common/ai/durable/test_journal.py | 76 +
.../unit/common/ai/durable/test_openai_agents.py | 812 ++++-
.../tests/unit/common/ai/hooks/test_llamaindex.py | 11 +
.../ai/tests/unit/common/ai/hooks/test_ollama.py | 139 +
.../tests/unit/common/ai/hooks/test_pydantic_ai.py | 204 +-
.../ai/operators/test_llamaindex_embedding.py | 8 +-
.../ai/operators/test_llamaindex_retrieval.py | 11 +-
.../common/ai/tests/unit/common/ai/test_skills.py | 11 +
.../unit/common/ai/tools/test__from_toolset.py | 54 +-
.../ai/tests/unit/common/ai/toolsets/test_hook.py | 69 +
.../tests/unit/common/ai/toolsets/test_skills.py | 232 +-
.../unit/common/ai/utils/test_file_analysis.py | 28 +
.../unit/common/ai/utils/test_sql_validation.py | 60 +-
providers/databricks/docs/index.rst | 5 +-
providers/databricks/docs/operators/run_now.rst | 43 +-
providers/databricks/docs/operators/submit_run.rst | 43 +-
providers/databricks/docs/toolsets/index.rst | 33 +
providers/databricks/docs/toolsets/unity_mcp.rst | 126 +
providers/databricks/provider.yaml | 8 +
providers/databricks/pyproject.toml | 10 +-
.../src/airflow/providers/databricks/exceptions.py | 36 +-
.../providers/databricks/get_provider_info.py | 5 +
.../providers/databricks/hooks/databricks_base.py | 6 +-
.../providers/databricks/operators/databricks.py | 38 +-
.../providers/databricks/toolsets}/__init__.py | 0
.../providers/databricks/toolsets/unity_mcp.py | 629 ++++
.../airflow/providers/databricks/version_compat.py | 2 +
.../databricks/example_databricks_unity_mcp.py | 69 +
.../tests/unit/databricks/hooks/test_databricks.py | 25 +
.../unit/databricks/operators/test_databricks.py | 73 +-
.../tests/unit/databricks/toolsets}/__init__.py | 0
.../unit/databricks/toolsets/test_unity_mcp.py | 902 +++++
providers/edge3/docs/migrations-ref.rst | 4 +-
.../versions/0008_5_2_0_widen_edge_job_command.py | 55 +
.../edge3/src/airflow/providers/edge3/models/db.py | 1 +
.../src/airflow/providers/edge3/models/edge_job.py | 3 +-
.../providers/edge3/plugins/www/package.json | 36 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 2306 ++++++------
.../providers/edge3/worker_api/routes/worker.py | 33 +-
.../unit/edge3/executors/test_edge_executor.py | 13 +
.../unit/edge3/worker_api/routes/test_worker.py | 68 +-
.../ftp/src/airflow/providers/ftp/hooks/ftp.py | 10 +-
providers/ftp/tests/unit/ftp/hooks/test_ftp.py | 37 +-
.../git/src/airflow/providers/git/bundles/git.py | 51 +-
providers/git/tests/unit/git/bundles/test_git.py | 147 +-
providers/google/README.rst | 37 +-
providers/google/docs/changelog.rst | 10 +
providers/google/docs/connections/gcp.rst | 8 +-
providers/google/docs/connections/gcp_sql.rst | 55 +-
providers/google/docs/index.rst | 37 +-
providers/google/docs/operators/cloud/bigquery.rst | 4 -
.../google/docs/operators/cloud/workflows.rst | 20 +-
.../google-cloud-secret-manager-backend.rst | 23 +-
providers/google/pyproject.toml | 48 +-
.../providers/google/cloud/hooks/cloud_sql.py | 116 +-
.../providers/google/cloud/operators/bigquery.py | 20 -
.../google/cloud/transfers/gcs_to_bigquery.py | 1 +
.../google/cloud/utils/field_validator.py | 8 +-
.../marketing_platform/hooks/display_video.py | 4 +-
.../unit/google/cloud/hooks/test_cloud_sql.py | 234 ++
.../google/cloud/transfers/test_gcs_to_bigquery.py | 29 +
.../google/cloud/utils/test_field_validator.py | 42 +
providers/hashicorp/docs/index.rst | 2 +-
providers/hashicorp/pyproject.toml | 2 +-
{airflow-core => providers/huggingface}/.gitignore | 0
{chart => providers/huggingface}/LICENSE | 0
NOTICE => providers/huggingface/NOTICE | 0
.../{apache/cassandra => huggingface}/README.rst | 32 +-
providers/huggingface/docs/artifacts.rst | 63 +
providers/huggingface/docs/changelog.rst | 33 +
providers/huggingface/docs/commits.rst | 23 +
.../huggingface/docs/conf.py | 11 +-
.../huggingface/docs/connections/huggingface.rst | 43 +
providers/huggingface/docs/connections/index.rst | 24 +
providers/huggingface/docs/index.rst | 164 +
.../docs/installing-providers-from-sources.rst | 0
.../docs/integration-logos/HuggingFace.png | Bin 0 -> 12072 bytes
providers/huggingface/docs/operators/datasets.rst | 217 ++
providers/huggingface/docs/security.rst | 52 +
providers/huggingface/provider.yaml | 60 +
providers/{standard => huggingface}/pyproject.toml | 31 +-
.../huggingface/src/airflow}/__init__.py | 0
.../huggingface/src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/huggingface}/__init__.py | 6 +-
.../providers/huggingface/assets}/__init__.py | 0
.../providers/huggingface/assets/huggingface.py | 53 +
.../providers/huggingface/get_provider_info.py | 70 +
.../providers/huggingface/hooks}/__init__.py | 0
.../providers/huggingface/hooks/huggingface.py | 156 +
.../providers/huggingface/operators}/__init__.py | 0
.../providers/huggingface/operators/datasets.py | 782 ++++
.../{airbyte => huggingface}/tests/conftest.py | 0
.../huggingface/tests/system}/__init__.py | 0
.../tests/system/huggingface}/__init__.py | 0
.../tests/system/huggingface/example_read_only.py | 69 +
.../tests/system/huggingface/example_write.py | 250 ++
.../huggingface/tests/unit}/__init__.py | 0
.../tests/unit/huggingface}/__init__.py | 0
.../tests/unit/huggingface/assets}/__init__.py | 0
.../unit/huggingface/assets/test_huggingface.py | 66 +
.../tests/unit/huggingface/hooks}/__init__.py | 0
.../unit/huggingface/hooks/test_huggingface.py | 174 +
.../tests/unit/huggingface/operators}/__init__.py | 0
.../unit/huggingface/operators/test_datasets.py | 768 ++++
.../dev/informatica_simulator/requirements.txt | 2 +-
.../azure/operators/container_instances.py | 26 +-
.../providers/microsoft/azure/operators/msgraph.py | 4 +
.../microsoft/azure/transfers/s3_to_wasb.py | 36 +
.../azure/operators/test_container_instances.py | 143 +
.../microsoft/azure/transfers/test_s3_to_wasb.py | 59 +
.../tests/unit/openai/operators/test_openai.py | 20 +-
providers/openlineage/pyproject.toml | 1 +
.../example_openlineage_task_outcomes_dag.py | 4 +-
.../openlineage_task_outcomes_dag.json | 6 +-
.../tests/system/openlineage/manual_state.py | 38 +-
.../unit/openlineage/extractors/test_manager.py | 49 +-
providers/smtp/docs/connections/smtp.rst | 9 +-
.../src/airflow/providers/smtp/utils/emailer.py | 24 +-
.../smtp/tests/unit/smtp/utils/test_emailer.py | 108 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 16 +-
providers/standard/docs/index.rst | 6 +-
providers/standard/provider.yaml | 2 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../providers/standard/sensors/external_task.py | 53 +-
.../providers/standard/sensors/time_delta.py | 23 +
.../unit/standard/sensors/test_external_task.py | 281 +-
.../tests/unit/standard/sensors/test_time_delta.py | 47 +-
.../src/airflow/providers/vertica/hooks/vertica.py | 81 +-
.../tests/unit/vertica/hooks/test_vertica.py | 122 +-
.../tests/unit/vertica/hooks/test_vertica_sql.py | 19 +-
pyproject.toml | 53 +-
registry/package.json | 6 +-
registry/pnpm-lock.yaml | 170 +-
registry/src/_includes/base.njk | 2 +
registry/src/css/main.css | 41 +-
registry/src/durable.njk | 4 +-
registry/src/explore.njk | 2 +-
registry/src/stats.njk | 2 +-
reproducible_build.yaml | 4 +-
scripts/ci/docker-compose/integration-redis.yml | 2 +-
scripts/ci/docker-compose/remove-sources.yml | 1 +
scripts/ci/docker-compose/tests-sources.yml | 1 +
scripts/ci/install_breeze.sh | 2 +-
scripts/ci/prek/check_i18n_json.py | 65 +-
scripts/ci/prek/inline_scripts_in_docker.py | 12 +
scripts/ci/prek/supported_versions.py | 2 +-
scripts/ci/prek/sync_java_sdk_supervisor_schema.py | 95 +-
scripts/ci/prek/ts_compile_lint_ui.py | 8 +-
scripts/docker/entrypoint_ci.sh | 20 +-
scripts/docker/install_os_dependencies.sh | 7 +
scripts/in_container/run_agent_framework_tests.sh | 64 +-
scripts/tests/ci/prek/test_check_i18n_json.py | 98 +
.../prek/test_sync_java_sdk_supervisor_schema.py | 157 +
scripts/tools/setup_breeze | 2 +-
.../src/airflow_shared/module_loading/__init__.py | 4 +-
.../observability/metrics/metrics_template.yaml | 24 +
.../secrets_masker/secrets_masker.py | 22 +
.../tests/secrets_masker/test_secrets_masker.py | 29 +
task-sdk/pyproject.toml | 3 +-
task-sdk/src/airflow/sdk/api/client.py | 79 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 333 +-
.../airflow/sdk/coordinators/java/coordinator.py | 26 +-
task-sdk/src/airflow/sdk/definitions/xcom_arg.py | 5 +-
task-sdk/src/airflow/sdk/exceptions.py | 11 +
task-sdk/src/airflow/sdk/execution_time/cache.py | 2 +-
.../sdk/execution_time/callback_supervisor.py | 26 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 15 +-
task-sdk/src/airflow/sdk/execution_time/context.py | 28 +-
.../airflow/sdk/execution_time/request_handlers.py | 10 +
.../airflow/sdk/execution_time/schema/schema.json | 105 +-
.../sdk/execution_time/schema/versions/__init__.py | 7 +-
.../execution_time/schema/versions/v2027_02_28.py | 38 +-
.../sdk/execution_time/secrets/execution_api.py | 4 +-
.../src/airflow/sdk/execution_time/supervisor.py | 56 +-
.../src/airflow/sdk/execution_time/task_runner.py | 64 +-
task-sdk/tests/task_sdk/api/test_client.py | 169 +
.../task_sdk/coordinators/java/test_coordinator.py | 10 +-
.../tests/task_sdk/definitions/test_variables.py | 39 +-
.../tests/task_sdk/definitions/test_xcom_arg.py | 22 +
.../execution_time/schema/test_migrator.py | 65 +-
.../execution_time/test_callback_supervisor.py | 88 +-
.../task_sdk/execution_time/test_supervisor.py | 206 +-
.../task_sdk/execution_time/test_task_runner.py | 201 +-
ts-sdk/adr/0003-task-loop-authoring-interface.md | 214 ++
ts-sdk/pnpm-lock.yaml | 283 +-
ts-sdk/schema/supervisor-schema.json | 105 +-
ts-sdk/src/coordinator/client.ts | 8 +-
ts-sdk/src/coordinator/runtime.ts | 1 +
ts-sdk/src/generated/supervisor.ts | 183 +-
ts-sdk/src/sdk/client.ts | 2 +-
ts-sdk/src/sdk/task.ts | 16 +-
ts-sdk/tests/coordinator/client.test.ts | 17 +-
ts-sdk/tests/coordinator/integration.test.ts | 30 +
ts-sdk/tests/public-api.test.ts | 5 +-
ts-sdk/tests/sdk/task-scope.test.ts | 1 +
uv.lock | 3816 +++++++++++---------
775 files changed, 48208 insertions(+), 11717 deletions(-)
create mode 100644 .agents/skills/airflow-translations/locales/ru.md
create mode 100644
airflow-core/adr/lang-sdk/0016-mapped-tasks-across-lang-sdks.md
create mode 100644
airflow-core/adr/lang-sdk/0017-task-loops-across-lang-sdks.md
create mode 100644 airflow-core/newsfragments/74789.significant.rst
create mode 100644 airflow-core/newsfragments/76007.significant.rst
create mode 100644 airflow-core/newsfragments/76453.significant.rst
copy airflow-core/src/airflow/{listeners/spec/importerrors.py =>
api_fastapi/execution_api/datamodels/callback.py} (65%)
create mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/datamodels/dag_parsing.py
create mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/routes/dag_parsing.py
copy airflow-core/src/airflow/{listeners/spec/importerrors.py =>
dag_processing/claims.py} (58%)
create mode 100644 airflow-core/src/airflow/dag_processing/maintenance.py
create mode 100644 airflow-core/src/airflow/dag_processing/requested_work.py
copy devel-common/src/tests_common/test_utils/markers.py =>
airflow-core/src/airflow/dag_processing/timeouts.py (62%)
create mode 100644
airflow-core/src/airflow/migrations/versions/0154_3_5_0_add_idempotency_key_to_hitl_detail.py
create mode 100644
airflow-core/src/airflow/migrations/versions/0155_3_5_0_add_dag_processor_publication_state.py
create mode 100644
airflow-core/src/airflow/migrations/versions/0156_3_5_0_add_processor_work_claims.py
create mode 100644
airflow-core/src/airflow/models/dag_processor_publication_receipt.py
copy
airflow-core/src/airflow/{api_fastapi/execution_api/datamodels/variable.py =>
models/dag_processor_work_claim.py} (53%)
create mode 100644 airflow-core/src/airflow/process_context.py
create mode 100644 airflow-core/src/airflow/ui/.oxfmtrc.json
delete mode 100644 airflow-core/src/airflow/ui/.prettierignore
delete mode 100644 airflow-core/src/airflow/ui/.prettierrc
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/it/README.md
rename airflow-core/src/airflow/ui/rules/{off.js => airflow-plugin/index.js}
(67%)
create mode 100644
airflow-core/src/airflow/ui/rules/airflow-plugin/no-react-namespace-types.js
create mode 100644
airflow-core/src/airflow/ui/rules/airflow-plugin/no-react-namespace-types.test.js
delete mode 100644 airflow-core/src/airflow/ui/rules/i18n.js
delete mode 100644 airflow-core/src/airflow/ui/rules/jsonc.js
delete mode 100644 airflow-core/src/airflow/ui/rules/prettier.js
delete mode 100644 airflow-core/src/airflow/ui/rules/rem.js
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/DetailsLayout.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/NavTabs.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/SearchTasks.tsx
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/TaskSwitcherButton.tsx
create mode 100644 airflow-core/src/airflow/ui/src/queries/useGridRuns.test.tsx
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_dag_parsing.py
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_10_30/test_task_state_store.py
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2027_02_28/test_callbacks.py
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2027_02_28/test_variables.py
create mode 100644
airflow-core/tests/unit/api_fastapi/test_lazy_response_fields.py
create mode 100644 airflow-core/tests/unit/dag_processing/conftest.py
create mode 100644 airflow-core/tests/unit/dag_processing/test_claims.py
create mode 100644 airflow-core/tests/unit/dag_processing/test_maintenance.py
create mode 100644
airflow-core/tests/unit/dag_processing/test_manager_api_failures.py
create mode 100644
airflow-core/tests/unit/dag_processing/test_manager_api_inventory.py
create mode 100644
airflow-core/tests/unit/dag_processing/test_manager_api_isolation.py
create mode 100644
airflow-core/tests/unit/dag_processing/test_manager_api_results.py
create mode 100644
airflow-core/tests/unit/dag_processing/test_requested_work.py
create mode 100644 airflow-core/tests/unit/listeners/test_importerrors.py
create mode 100644
airflow-core/tests/unit/migrations/test_0156_add_processor_work_claims.py
create mode 100644 chart/newsfragments/76601.significant.rst
create mode 100644 dev/breeze/src/airflow_breeze/utils/import_graph.py
create mode 100644 dev/breeze/tests/test_import_graph.py
create mode 100644 go-sdk/adr/0009-task-loop-authoring-interface.md
create mode 100644 go-sdk/pkg/execution/genmodels/gen/main_test.go
create mode 100644 go-sdk/pkg/execution/genmodels/time.go
create mode 100644 go-sdk/pkg/execution/genmodels/time_test.go
create mode 100644 java-sdk/adr/0003-task-loop-authoring-interface.md
create mode 100644 providers/amazon/docs/connections/duckdb_aws.rst
delete mode 100644 providers/common/ai/docs/sandbox/backends.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/boat.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/custom.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/index.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/islo.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/modal.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/opensandbox.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/openshell.rst
create mode 100644 providers/common/ai/docs/sandbox/backends/sbx.rst
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/hooks/ollama.py
create mode 100644
providers/common/ai/tests/unit/common/ai/hooks/test_ollama.py
create mode 100644 providers/databricks/docs/toolsets/index.rst
create mode 100644 providers/databricks/docs/toolsets/unity_mcp.rst
copy {airflow-core/src/airflow/api/common =>
providers/databricks/src/airflow/providers/databricks/toolsets}/__init__.py
(100%)
create mode 100644
providers/databricks/src/airflow/providers/databricks/toolsets/unity_mcp.py
create mode 100644
providers/databricks/tests/system/databricks/example_databricks_unity_mcp.py
copy {airflow-core/src/airflow/_shared =>
providers/databricks/tests/unit/databricks/toolsets}/__init__.py (100%)
create mode 100644
providers/databricks/tests/unit/databricks/toolsets/test_unity_mcp.py
create mode 100644
providers/edge3/src/airflow/providers/edge3/migrations/versions/0008_5_2_0_widen_edge_job_command.py
copy {airflow-core => providers/huggingface}/.gitignore (100%)
copy {chart => providers/huggingface}/LICENSE (100%)
copy NOTICE => providers/huggingface/NOTICE (100%)
copy providers/{apache/cassandra => huggingface}/README.rst (60%)
create mode 100644 providers/huggingface/docs/artifacts.rst
create mode 100644 providers/huggingface/docs/changelog.rst
create mode 100644 providers/huggingface/docs/commits.rst
copy java-sdk/gradle.properties => providers/huggingface/docs/conf.py (74%)
create mode 100644 providers/huggingface/docs/connections/huggingface.rst
create mode 100644 providers/huggingface/docs/connections/index.rst
create mode 100644 providers/huggingface/docs/index.rst
copy providers/{airbyte =>
huggingface}/docs/installing-providers-from-sources.rst (100%)
create mode 100644 providers/huggingface/docs/integration-logos/HuggingFace.png
create mode 100644 providers/huggingface/docs/operators/datasets.rst
create mode 100644 providers/huggingface/docs/security.rst
create mode 100644 providers/huggingface/provider.yaml
copy providers/{standard => huggingface}/pyproject.toml (83%)
copy {airflow-core/tests/integration =>
providers/huggingface/src/airflow}/__init__.py (100%)
copy {airflow-core/tests/integration =>
providers/huggingface/src/airflow/providers}/__init__.py (100%)
copy providers/{standard/src/airflow/providers/standard =>
huggingface/src/airflow/providers/huggingface}/__init__.py (90%)
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/src/airflow/providers/huggingface/assets}/__init__.py
(100%)
create mode 100644
providers/huggingface/src/airflow/providers/huggingface/assets/huggingface.py
create mode 100644
providers/huggingface/src/airflow/providers/huggingface/get_provider_info.py
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/src/airflow/providers/huggingface/hooks}/__init__.py
(100%)
create mode 100644
providers/huggingface/src/airflow/providers/huggingface/hooks/huggingface.py
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/src/airflow/providers/huggingface/operators}/__init__.py
(100%)
create mode 100644
providers/huggingface/src/airflow/providers/huggingface/operators/datasets.py
copy providers/{airbyte => huggingface}/tests/conftest.py (100%)
copy {airflow-core/tests/integration =>
providers/huggingface/tests/system}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/tests/system/huggingface}/__init__.py (100%)
create mode 100644
providers/huggingface/tests/system/huggingface/example_read_only.py
create mode 100644
providers/huggingface/tests/system/huggingface/example_write.py
copy {airflow-core/tests/integration =>
providers/huggingface/tests/unit}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/tests/unit/huggingface}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/tests/unit/huggingface/assets}/__init__.py (100%)
create mode 100644
providers/huggingface/tests/unit/huggingface/assets/test_huggingface.py
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/tests/unit/huggingface/hooks}/__init__.py (100%)
create mode 100644
providers/huggingface/tests/unit/huggingface/hooks/test_huggingface.py
copy {airflow-core/src/airflow/_shared =>
providers/huggingface/tests/unit/huggingface/operators}/__init__.py (100%)
create mode 100644
providers/huggingface/tests/unit/huggingface/operators/test_datasets.py
create mode 100644 scripts/tests/ci/prek/test_check_i18n_json.py
create mode 100644
scripts/tests/ci/prek/test_sync_java_sdk_supervisor_schema.py
create mode 100644 ts-sdk/adr/0003-task-loop-authoring-interface.md