This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/ui/eslint-3515529389
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 718a8f915eb chore(deps-dev): bump the eslint group across 1 directory
with 6 updates
add d1455c892fe Fix AIR004* in multiple example DAGs (#62529)
add a9a9c5a57fb Update providers metadata 2026-03-13 (#63560)
add d9bab113ff9 Add import shim for opentelemetry.trace (#63554)
add 00dc4203e77 Fix duplicate log reads when resuming from log_pos (#63531)
add 356961f8be9 Add ModelRetry handling to DataFusionToolset (#63501)
add 9516a771f40 Bump pydantic min version to 2.12.3 (#63570)
add 181b39800f9 Improve Playwright test patterns in dag-grid-view.spec.ts
#63411 (#63415)
add 2f0efaedd52 cleanup completed TODO (#62177)
add 21ba9d8e34d Fix broken import of `aiofiles` in `BaseDatabricksHook`
(#63518)
add 3eae5bca9b0 fix: Map Airflow trigger_rule to Databricks run_if in
`DatabricksWorkflowTaskGroup` (#63420)
add 9c8114f1f94 Fix KubernetesJobOperator failing when pods are deleted
after job completion (#63569)
add 6a616c5738c Use dedicated exception classes over AirflowException for
AGENTS.md (#63495)
add 0d2f4cf9df3 CI: Upgrade important CI environment (#63593)
add 48b08b1b51d Close German Translation Gaps 2026-03-11 (#63384)
add a775aa2b639 Fix dependabot warning regarding flatten lib - core
(#63585)
add 75d0a9d789e Fix dependabot warning regarding flatten lib - providers
(#63586)
add 63d9d874a66 fix(providers/cncf-kubernetes): apply verify_ssl=False to
returned ApiClient in KubernetesHook (#63478)
add c5e77ce251e fix(providers/amazon): handle multi-node job log streams
in BatchClientHook (#63476)
add 56090bd8e46 Migrate yandex connection UI metadata to YAML (#63506)
add 7bfdc8e0933 Add rebase instruction to AGENTS.md before pushing PRs
(#63601)
add e248b24a376 Validate `thread_ts` requires single channel in
`SlackAPIFileOperator` (#63523)
add 1e5dc4b7729 k8s executor - ensure pods cleaned up (#61839)
add 4395fe94773 Add tests for scripts and remove redundant sys.path.insert
calls (#63598)
add 30895ff8b06 Add .claude/ to .gitignore (#63603)
add e3b5e77ca05 [providers] Airbyte add submit_reset_connection func
(#63578)
add 7cea0b83acc Refactor: Replace get_console().print() with
console_print() helper (#63561)
add 263d3f80796 Improve PyCharm/IntelliJ IDEA setup with multi-module
support and IDE auto-detection (#63508)
add e49d6c09947 Add cooldown period to upgrade-important-versions check
(#63606)
add 0e11c841f31 Fix IDEA setup to skip .claude directory and add scripts
module (#63607)
add 577c958a78a AGENTS: Add instruction to format and check Python files
with ruff after editing (#63599)
add 6a1c3b5bc36 Breeze: Fix cache test for supported Python versions
(#63589)
add d22813d0e3f Standardize connection docs labels across providers
(#63455)
add 27a716431f9 Fix airflowctl boolean flags on Python 3.14 (#63587)
add 58c768d05bc Add helper to tie Airflow version to the min supported
Python version (#63596)
add fe706de1f7a Add testing instructions to the quick start guide for new
contributors (#63576)
add 49f48e3bfbf Refactor HttpAsyncHook to support session-based async HTTP
operations and simplify LivyAsyncHook (#60458)
add 8729e21fb5f Bump cadwyn to 6.0.4 for py3.14 support (#63605)
add 5502cbf1282 Task SDK: Fix nondumpable supervisor tests for Python 3.14
(#63597)
add 8f6b362defd Fix new pytest on min airflow version per python (#63616)
add 6160327370c feat(elasticsearch): enable e2e remote logging test for
elasticsearch (#63519)
add b0207a9b340 [breaking] Make pyspark-client as default and pyspark
package optional (#60031)
add b93d3798cf4 Fix import errors updating DAGs in other bundles (#63615)
add e4dbc55b032 Add --open-ide flag and enhance --confirm in setup_idea.py
(#63632)
add 23dec8d2a6e fix(task-sdk): exclude pathlib.Path from
Resolvable.resolve() in templater (#63306)
add a011c3adaad Remove `sqlean.py` dependency from Amazon provider (#63623)
add 444d45c6ce3 Add *.iml to .gitignore in all distributions (#63636)
add afda438816b Warn instead of failing on missing 3rd-party doc
inventories (#63630)
add 598c9a93224 Fix LLM model list variability in generated command
documentation (#63641)
add 489471afd09 Switch CI dependency management from constraints to
uv.lock (#63609)
add a6f9357dbf3 docs: How to propose an Airflow best practice and a
corresponding Ruff AIR rules (#63190)
add cc5730e6725 chore(deps): bump cryptography from 44.0.3 to 46.0.5
(#63649)
add d204ff8fd71 Drop joserfc dependency (#63660)
add 7e04b97b39a Make the failure link in Slack having a deep link into the
job (#63666)
add 93b74e322c7 Fix typo in HTTP hook test comment (#63654)
add 4c0b2c10879 fix(helm): omit api-server replicas when HPA is enabled
(#62052)
add fa2b4acbe82 Remove JWT secrets from triggerer, worker and
dag-processor (#63204)
add 0355644de7d Add prek hook to enforce *.iml in distribution .gitignore
files (#63647)
add 3af2538ef2d Add clickable links to PR numbers in auto-triage timing
table (#63493)
add 23ac06a4a66 Generate constraints from uv.lock instead of skipping
constraints download (#63675)
add 5640d5480c7 Make the failure link in Slack having a deep link into the
job, 2nd attempt (#63670)
add e7538ec60db Add LLM code review mode, enhanced triage UX, and CI
failure detection to auto-triage (#63672)
add 60e4393bfc8 Deduplicate Slack CI notifications with artifact-based
state tracking (#63676)
add 5bc30505776 Fix pr auto-triage output (#63681)
add 20486bbb9fa Make prek cache restoration resilient to corrupted
tarballs (#63684)
add c3348af0972 Add parallel download and upload support to
`GCSTimeSpanFileTransformOperator` by introducing `max_download_workers` and
`max_upload_workers` (defaulting to 1) and executing both phases via
`ThreadPoolExecutor` when configured. The implementation reuses a single
`storage.Client` per phase, filters out directory placeholder objects before
download, and preserves existing error propagation and `*_continue_on_fail`
semantics. (#62196)
add 8dd6a5b2db5 Added working pandas url to THIRD_PARTY_INDEXES (#63618)
add ab64b8cc362 Fix punctuation in PROVIDERS.rst (#63652)
add 998e722fa81 chore(deps): bump joserfc from 1.5.0 to 1.6.3 (#63667)
add a4f9ccd05dc Fix `breeze pr auto-triage` command hash instability in CI
(#63698)
add 0f43a55e1d1 Fix minor typos and documentation issues (#63658)
add 10caacb4757 Delay selector init until DFPManager.start (#63556)
add 138d45f2009 Remove redundant period in help text (#63695)
add 87a23f3d21d Adds match_glob to template_fields in GCS operators
(#61819)
add 3155c298554 Fix auto-triage user_confirm accepting unrecognized keys
as default answer (#63579)
add dd1a69c6f9c Fix backward compatibility for deadline alert
serialization (#63701)
add 5a339ebb1e2 Refactor Playwright E2E tests to use locator-based waiting
and web-first assertions in configuration.spec.ts (#63108)
add b24de014798 Migrate cloudant connection UI metadata to YAML (#62744)
add fb640dfc4ff docs: Fix typos and file naming inconsistencies in
provider documentation (#63683)
add 253be09a001 docs: clarify plugin folder module registration in
modules_management (#63634)
add 0b43077a26e Fix structlog JSON serialization crash on non-serializable
objects (#62656)
add df77f37266b docs: Clarify HLL in extraction precedence (#63723)
add e15e50931b6 chore(deps): bump i18next (#63537)
add d0ef12de7c2 Revert "Add .json template_ext to
BigQueryCreateTableOperator (#62058)" (#63725)
add 76bea5421ac Move otel tracing helper stuff to _shared (#63566)
add f6341440218 Add bucket_namespace support to `S3Hook.create_bucket` and
`S3CreateBucketOperator` (#63622)
add ae2f8147abd Improve historical metrics endpoint performance (#63526)
add b87ed1d2c45 chore(deps-dev): bump the auth-ui-package-updates group
across 1 directory with 10 updates (#63732)
add e8d11fc4b3a Introduce Sigstore verification for python source packages
(#63345)
add 36bbb0dfad8 Bugfix/63173 k8s unicode log read (#63673)
add 66d8fe02c82 Update security issues announcement section in
`README_RELEASE_PROVIDERS` (#63751)
add 59192ef23ae Add uv-sync prek hook to keep uv.lock updated after
dependency changes (#63754)
add 23233760c43 Improve auto-triage display labels and log extraction
(#63687)
add a3652001860 Remove automatic `KUBERNETES_ENVIRONMENT_VARIABLES` and
`KUBERNETES_SECRETS` prefixes from chart helpers (#60750)
add e3cd88f8012 Bump sphinx-airflow-theme to 0.3.1 (#63758)
add fac3cca9fd8 Avoid log warning team removal for bundles without a team
(#63756)
add 9a33a25c487 Fix registry providers page not sorting by downloads on
initial load (#63764)
add 51f8620be2a Fix registry workflow failures due to workspace dependency
resolution (#63766)
add aade25537b2 Fix registry build failure when logos directory is empty
(#63767)
add c78fd98418a fix --github-token logic bug (#63762)
add 9f300004703 refactor: remove modules that are supposed to be removed
in Airflow 3.2 (#62927)
add 5c77949d28f Auto-upgrade sphinx-airflow-theme version in prek hook
(#63763)
add 4e17fd98cd5 Fix grammar in baseoperator docstring (#63655)
add 910ec333450 Batch workflow approval in pr auto-triage for faster
review (#63771)
add b3055d7bb8c Add row lock to ADRQ before Dag run creation (#60773)
add d2d91e69414 Log rtif overwrite error with simpler context (#63705)
add 741439075ce Reduce verbose OTel output in integration test CI logs
(#63731)
add 10ccbd0295f Prefetch next page and add detailed progress for
auto-triage (#63770)
add a8c12067fbe Enable TLS certificate verification for K8s token exchange
in `DatabricksHook` (#63704)
add abb42c21ef2 Bump sqlglot range to 30+ in common ai (#63784)
add 00d6777573e Deprecate get_connection_form_widgets &
get_ui_field_behaviour hook methods (#63711)
add 8977f9597c0 Fix flaky DagRunTab E2E test for Dag runs state filtering
(#63794)
add bc1bf437172 fix(api): allow null dag_run_conf in BackfillResponse
serialization (#63259)
add 67ec9552d8e Relax note about rebase/merge (#63752)
add c8dd3574272 Fix SQLite downgrade failures caused by FK constraints
during batch table recreation (#63437)
add eb6a4d88815 feat: Improve Playwright test patterns in plugins.spec.ts
and PluginsPage.ts (#63562)
add c4b11d579c6 fix mysql query of serialize_dag when migrating deadline
(#63804)
add b8c26aefefa fix: quote reserved MySQL keyword 'interval' in
deadline_alert queries using SQLAlchemy table/column (#63494)
add ca401d00cfd Fix CLI asset materialization to use correct dag run type
(#63815)
add bc9535536f9 Fix asset materialization run type display on the UI
(#63819)
add 3c5348fd05b Fix fullscreen log dropdown z-index after Chakra 3.34.0
upgrade (#63816)
add 210158e670f Hooks: use uv lock instead of sync (#63796)
add 48ec002f4eb Fix test infrastructure for Python-version-excluded
providers (#63793)
add 03c6388f400 Re-introducing `--use-migration-files` and fix
inconsistences between ORM/migration files (#62234)
add cefb52eb078 Update tasks clear CLI to use SerializedDAG instead of SDK
DAG (#63827)
add bc996523186 Fix an import in providers/sftp to be Airflow 2 compatible
(#63822)
add 6fd0c6f3ff1 chore(deps-dev): bump the fab-ui-package-updates group
across 1 directory with 3 updates (#63743)
add ec8f59fbd4b Add missing deprecation warnings for workers section
(#63659)
add 2af60775f3e Added documentation explaining difference deferred vs
async operators (#63500)
add 7f9c310fa0a Fix SageMakerNotebookOperator
domain_id/project_id/domain_region params (#62962)
add af239855e76 Fix edge executor UI navigation when behind reverse proxy
with subpath (#63777)
add 208eab43bc8 Fix registry incremental build processing all providers
(#63769)
add 434c1cc9f2b K8s: use joinable manager queues (#63789)
add cc4a0bc1873 chore(deps): bump pyasn1 from 0.6.2 to 0.6.3 in
/dev/breeze (#63840)
add 9bb4c2075cf Add .claude to IntelliJ IDEA excluded directories (#63843)
add ffa2fb21e01 Fix airflowctl version command prompting for keyring
credentials (#63772)
add 1685c9f1e71 Fix misaligned `queued_tasks` types in hybrid executors
(#63744)
add e17ca631f8b airflowctl: fix flaky xcom add test by using unique keys
per test run (#63832)
add f0018f8b2dc Adding Russian translation for UI (#63450)
add d273d99262f Update Helm Chart release notes for 1.20.0 (#63759)
add f386dd99cee Fix missing permissions on docsbuild (#63858)
add 32f3fcc28ad Do not backfill old DagRun.created_at (#63825)
add 0f4c354e158 Support partitioned Dags in calendar view (#63631)
add 8f73a7ec4de Fix workflow permissions for registry build in docs
publishing (#63864)
add 7659c4303fc Fix E2E ConfigurationPage object file naming (#63861)
add 7c77a6d2480 Stream grid task-instance summaries as NDJSON to eliminate
N+1 requests (#62369)
add 0e1832cd3cd Fix make_partial_model (#63716)
add 914bdbfd4b3 Remove PyOpenSSL from dependencies (#63869)
add 447771d5f5b Fix callback starvation across DAG bundles (#63795)
add c7eaa64d92d Fix slow downgrade performance by adding index to
deadline.callback_id (#63612)
add e7e188d453c Fix race condition in FabAuthManager when workers
concurrently create permissions, roles, and resources (#63842)
add efce3b19955 fix: eliminate duplicate JOINs in get_task_instances
endpoint (#62910)
add 1fa624d0aa1 Fix RenderedJsonField collapse behavior (#63831)
add dfca2cd9e6d revert run test not to skip pytest by breeze (#63870)
add 9a0fb150e8c Fix flaky backfill E2E test by targeting clickable label
element (#63837)
add 1843eca780e Fix breeze picking wrong Docker image for E2E tests
(#63778)
add 7c648ab63a4 Add filter with run_after field in dags/:dagid/runs page
(#62797)
add b02141b0f9e Fix getDuration not showing elapsed time for running tasks
#63602 (#63619)
add 717c0fb9e1e Fix 63573 task duration tooltip (#63639)
add 6d8e0e1b525 Fix @task decorator to use identity check instead of
truthiness (#63788)
add 5189c8d9185 Add marshmallow to fab provider dependencies (#63896)
add 643c91deb90 chore(deps-dev): bump webpack-cli (#63892)
add c438e2aa66d Fix XCom edit modal value not repopulating on reopen.
(#62798)
add 1de65a70b98 Fix spacing in get_status_emoji (#63894)
add 7fa400745ac Add GetDag endpoint to execution_api (#56955)
add e752b4ac069 Remove version cap from qdrant-client (#63745)
add fe200b6fe24 chore(deps): bump google.golang.org/grpc in /go-sdk
(#63903)
add e3d08811832 Add cancel_on_kill and safe_to_cancel support to
KubernetesPodOperator and trigger (#62401)
add b9faa656dfb Fix: Removed the stray 's' and added a unit test to lock
the formatting. (#63712)
add 2d2d8a2f503 Set task name for 2.11.X path (#63746)
add 293bc55dd74 Deselect DB tests at collection time instead of skipping
at runtime (#63791)
add cad63ce86af Add audit log if target dag partition mapper is wrong
(#62509)
add f645261dc09 Fix stats page showing 0 for per-type module counts
(#63911)
add 402fc1e85f7 Isolate per-dag-run failures in _schedule_all_dag_runs()
to prevent single DagRun crashing the Scheduler (#62893)
add a31db1fb010 Fix duplicate task execution when running multiple
schedulers (#60330)
add 9454b0a451b Fix typo in DAG processing logging (#63909)
add 6d1794ac49e Fix downstream tasks being incorrectly skipped in HA
scheduler mode (#63266)
add 0b18161d50c Fix flaky DagRuns E2E test race condition in markRunAs
(#63890)
add 11bc5913869 Improve Playwright test patterns in requiredAction.spec.ts
(#63447)
add e3c10eae08c refactor: rename temporal partition mappers (#63783)
add 4869b941fd7 fix: replace savepoint-per-DAG with per-DAG transaction in
migration … (#63591)
add 008b60f97d3 Fix version detection for airflow-ctl and task-sdk in docs
script (#63917)
add c36ce1b34bc Remove module-level import from `airflow.configuration`
(#63787)
add 214f28fbaca Fix process_utils force-kill test race on Python 3.14
(#63792)
add bc788418d95 Fix excluded provider tests crashing pytest (#63918)
add 7b29d3b02ab Fix missing required rich-click dependency in scripts
(#63912)
add 2337d802108 feat: Replace Playwright anti-patterns with web-first
assertions in dag-list (#63559)
add 91eeb9d5597 Remove various upper version bounds in the FAB provider
(#63868)
add 6dea00cdb5e Add a pre-commit script for checking code & metrics
registry are synced (#63757)
add 0fddb7342ae Restore nullable ORM fields and drop unreleased corrective
migration (#63899)
add 6be209eae78 Fix 299 blank lines in registry homepage HTML (#63935)
add f7b199a23b9 Temporarily ignore flaky e2e specs until stabilized
(#63936)
add 60bb60e4dc9 Fix registry provider redirect to preserve URL fragment
(#63943)
add 961b8f74996 docs: readme 2.11.2 (#63908)
add b7ef55a495d Fix mypy errors in kubernetes, fab, google, and amazon
providers (#63947)
add be8252e6287 Add Python 3.14 Support (#63520)
add 41dfac70a22 Deleting spark job before raising exception "Job took too
long to start" in start_spark_job method (#63824) (#63922)
add 98ef18d7f0a Show HITL review tab only for review-enabled task
instances (#63477)
add df21b557ca0 fix(ui/e2e): improve Playwright test patterns in
dag-runs.spec.ts (#63199)
add c57fba0e5e9 Fix registry explore page showing wrong provider counts
and empty Top Providers (#63961)
add 07c3d0790c0 Replace Playwright locator anti-patterns with web-first
assertions in dag-tasks (#63445)
add 4b2adf4c4c0 Rework check-execution-api-versions hook with schema
comparison (#63968)
add 124990c21ca CI: Upgrade important CI environment (#63953)
add 6ec60283b38 Add SSH auth parameters to GitHook for bastion hosts,
custom ports, and passphrases (#63942)
add dd015d9abbf Improve Playwright test patterns in TaskInstancePage
#63963 (#63970)
add 9b665c52733 CI: enable e2e remote logging elasticsearch test (#63693)
add 5d5592b2e29 Fix unauthenticated GitHub API calls in `breeze ci
upgrade` (#63974)
add 122e4a21d18 Add Dag readiness checks to E2E tests to prevent flaky
failures (#63980)
add 7a28183ebbd Fix remote reference in execution API version prek hook
(#63973)
add 8d4f6592b34 Align key/id path validation for variables and connections
(#63897)
add 9235bd777fb Add runtime_class_name to KubernetesPodOperator (#63952)
add 4e981d77056 Docs: Add RedisTaskHandler configuration example (#63898)
add 2bc999d2ea1 Temporarily ignore flaky e2e specs until stabilized
(#63987)
add 53623783094 Fix dependabot alarms for Flatted in Fab (#63956)
add d732d17267c Fix dependabot alarms for Flatted (#63955)
add 9147e79643e Fix newline rendering in DAG warning alert UI (#63588)
new e4f5025a7d6 chore(deps-dev): bump the eslint group across 1 directory
with 6 updates
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 (718a8f915eb)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/eslint-3515529389
(e4f5025a7d6)
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.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.dockerignore | 1 +
.github/CODEOWNERS | 1 +
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 39 +-
.github/actions/migration_tests/action.yml | 28 +-
.github/boring-cyborg.yml | 3 +
.github/workflows/additional-prod-image-tests.yml | 21 +
.github/workflows/airflow-e2e-tests.yml | 4 +-
.github/workflows/basic-tests.yml | 26 +-
.github/workflows/ci-amd-arm.yml | 97 +-
.github/workflows/ci-image-checks.yml | 111 +-
.github/workflows/ci-notification.yml | 69 +-
.github/workflows/finalize-tests.yml | 11 +-
.github/workflows/publish-docs-to-s3.yml | 26 +-
.github/workflows/registry-backfill.yml | 2 +-
.github/workflows/registry-build.yml | 127 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.github/workflows/run-unit-tests.yml | 4 +-
.github/workflows/update-constraints-on-push.yml | 148 +
.gitignore | 8 +-
.pre-commit-config.yaml | 73 +-
AGENTS.md | 21 +-
Dockerfile | 222 +-
Dockerfile.ci | 205 +-
PROVIDERS.rst | 6 +-
README.md | 4 +-
airflow-core/.gitignore | 1 +
.../logging-monitoring/traces.rst | 25 +
.../modules_management.rst | 26 +
.../production-deployment.rst | 4 +-
.../docs/authoring-and-scheduling/deferring.rst | 11 +
airflow-core/docs/best-practices.rst | 13 +-
airflow-core/docs/installation/prerequisites.rst | 2 +-
.../docs/installation/supported-versions.rst | 2 +-
airflow-core/docs/migrations-ref.rst | 6 +-
airflow-core/newsfragments/62369.significant.rst | 30 +
airflow-core/newsfragments/63266.bugfix.rst | 1 +
airflow-core/pyproject.toml | 26 +-
airflow-core/src/airflow/__init__.py | 2 +-
airflow-core/src/airflow/api/common/trigger_dag.py | 13 +-
.../auth/managers/simple/ui/package.json | 23 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 647 +-
.../api_fastapi/common/db/task_instances.py | 34 +-
.../src/airflow/api_fastapi/core_api/base.py | 4 +-
.../api_fastapi/core_api/datamodels/backfills.py | 2 +-
.../core_api/datamodels/ui/dashboard.py | 11 +-
.../api_fastapi/core_api/openapi/_private_ui.yaml | 121 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 6 +-
.../core_api/routes/public/task_instances.py | 31 +-
.../api_fastapi/core_api/routes/ui/calendar.py | 2 +
.../api_fastapi/core_api/routes/ui/dashboard.py | 112 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 187 +-
.../api_fastapi/core_api/services/ui/calendar.py | 126 +-
.../execution_api/datamodels/dags.py} | 23 +-
.../api_fastapi/execution_api/routes/__init__.py | 2 +
.../execution_api/routes/connections.py | 5 +-
.../api_fastapi/execution_api/routes/dags.py | 59 +
.../execution_api/routes/task_instances.py | 20 +-
.../api_fastapi/execution_api/routes/variables.py | 23 +-
.../api_fastapi/execution_api/versions/__init__.py | 2 +
.../execution_api/versions/v2026_04_13.py | 17 +-
airflow-core/src/airflow/assets/manager.py | 66 +-
airflow-core/src/airflow/cli/cli_config.py | 16 +-
.../src/airflow/cli/commands/asset_command.py | 8 +-
.../src/airflow/cli/commands/db_command.py | 24 +-
.../src/airflow/cli/commands/db_manager_command.py | 7 +-
.../src/airflow/cli/commands/task_command.py | 3 +-
.../src/airflow/dag_processing/bundles/manager.py | 4 +-
.../src/airflow/dag_processing/collection.py | 3 +-
airflow-core/src/airflow/dag_processing/manager.py | 32 +-
airflow-core/src/airflow/datasets/__init__.py | 63 -
.../example_dags/example_asset_partition.py | 22 +-
airflow-core/src/airflow/exceptions.py | 2 +-
.../src/airflow/jobs/scheduler_job_runner.py | 57 +-
airflow-core/src/airflow/migrations/utils.py | 215 +-
.../versions/0000_2_6_2_squashed_migrations.py | 211 +-
.../versions/0047_3_0_0_add_dag_versioning.py | 10 +
...0_replace_deadline_inline_callback_with_fkey.py | 10 +-
.../0095_3_2_0_update_orm_asset_partitioning.py | 15 +-
..._enforce_log_event_and_dag_is_stale_not_null.py | 22 +-
...3_2_0_add_exceeds_max_runs_flag_to_dag_model.py | 7 +-
...0_3_2_0_add_timetable_type_to_dag_table_for_.py | 14 +-
.../0101_3_2_0_ui_improvements_for_deadlines.py | 338 +-
.../0105_3_2_0_add_allowed_run_types_to_dag.py | 7 +-
..._3_2_0_add_partition_key_to_backfill_dag_run.py | 17 +-
.../0107_3_2_0_add_partition_fields_to_dag.py | 15 +-
...3_2_0_fix_migration_file_ORM_inconsistencies.py | 120 +
...0109_3_2_0_add_bundle_name_to_callback_table.py | 94 +
airflow-core/src/airflow/models/callback.py | 6 +-
airflow-core/src/airflow/models/connection.py | 3 +-
airflow-core/src/airflow/models/dag.py | 2 +-
airflow-core/src/airflow/models/dagrun.py | 53 +-
airflow-core/src/airflow/models/deadline.py | 5 +-
airflow-core/src/airflow/models/log.py | 2 +-
airflow-core/src/airflow/models/pool.py | 2 +-
airflow-core/src/airflow/models/serialized_dag.py | 4 +
airflow-core/src/airflow/models/taskinstance.py | 12 +-
.../src/airflow/partition_mappers/temporal.py | 12 +-
airflow-core/src/airflow/providers_manager.py | 18 +-
.../serialization/definitions/baseoperator.py | 2 +-
airflow-core/src/airflow/serialization/encoders.py | 48 +-
airflow-core/src/airflow/settings.py | 4 +-
airflow-core/src/airflow/timetables/datasets.py | 34 -
airflow-core/src/airflow/typing_compat.py | 1 +
.../src/airflow/ui/openapi-gen/queries/common.ts | 20 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 40 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 40 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 40 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 40 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 45 +-
.../ui/openapi-gen/requests/services.gen.ts | 44 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 34 +-
airflow-core/src/airflow/ui/package.json | 9 +-
airflow-core/src/airflow/ui/playwright.config.ts | 10 +
airflow-core/src/airflow/ui/pnpm-lock.yaml | 83 +-
.../airflow/ui/public/i18n/locales/de/assets.json | 1 -
.../airflow/ui/public/i18n/locales/de/common.json | 17 +
.../ui/public/i18n/locales/de/components.json | 1 -
.../src/airflow/ui/public/i18n/locales/de/dag.json | 3 +-
.../airflow/ui/public/i18n/locales/en/common.json | 1 +
.../airflow/ui/public/i18n/locales/ru/admin.json | 189 +
.../airflow/ui/public/i18n/locales/ru/assets.json | 37 +
.../airflow/ui/public/i18n/locales/ru/browse.json | 46 +
.../airflow/ui/public/i18n/locales/ru/common.json | 362 +
.../ui/public/i18n/locales/ru/components.json | 176 +
.../src/airflow/ui/public/i18n/locales/ru/dag.json | 191 +
.../airflow/ui/public/i18n/locales/ru/dags.json | 101 +
.../ui/public/i18n/locales/ru/dashboard.json | 47 +
.../airflow/ui/public/i18n/locales/ru/hitl.json | 39 +
.../airflow/ui/public/i18n/locales/ru/tasks.json | 10 +
.../ui/src/components/DataTable/TableList.tsx | 2 +-
.../ui/src/components/RenderedJsonField.tsx | 68 +-
.../ui/src/components/TaskInstanceTooltip.test.tsx | 59 +-
.../ui/src/components/TaskInstanceTooltip.tsx | 8 +-
.../src/components/TriggerDag/TriggerDAGForm.tsx | 1 +
.../src/airflow/ui/src/components/WarningAlert.tsx | 4 +-
.../src/airflow/ui/src/constants/localStorage.ts | 2 +
.../src/airflow/ui/src/hooks/useHITLReviewTabs.ts | 110 +
airflow-core/src/airflow/ui/src/i18n/config.ts | 1 +
.../ui/src/layouts/Details/DetailsLayout.tsx | 10 +
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 11 +-
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 5 +-
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 21 +-
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 1 +
.../ui/src/layouts/Details/Grid/RunTypeLegend.tsx | 8 +-
.../layouts/Details/Grid/TaskInstancesColumn.tsx | 15 +-
.../ui/src/layouts/Details/Grid/TaskNames.tsx | 1 +
.../ui/src/layouts/Details/PanelButtons.tsx | 71 +-
.../airflow/ui/src/pages/Dag/Calendar/Calendar.tsx | 29 +-
.../Dashboard/HistoricalMetrics/DagRunMetrics.tsx | 21 +-
.../HistoricalMetrics/HistoricalMetrics.tsx | 16 +-
.../Dashboard/HistoricalMetrics/MetricSection.tsx | 22 +-
.../HistoricalMetrics/TaskInstanceMetrics.tsx | 21 +-
.../pages/GroupTaskInstance/GroupTaskInstance.tsx | 5 +-
.../MappedTaskInstance/MappedTaskInstance.tsx | 5 +-
.../src/airflow/ui/src/pages/Run/Details.tsx | 4 +-
.../src/airflow/ui/src/pages/Run/Header.tsx | 2 +-
.../src/pages/TaskInstance/Logs/TaskLogHeader.tsx | 6 +-
.../ui/src/pages/TaskInstance/TaskInstance.tsx | 13 +-
.../src/airflow/ui/src/pages/XCom/XComModal.tsx | 4 +-
.../src/airflow/ui/src/queries/useClearRun.ts | 2 -
.../ui/src/queries/useClearTaskInstances.ts | 9 -
.../ui/src/queries/useDeleteTaskInstance.ts | 2 -
.../src/airflow/ui/src/queries/useGridRuns.ts | 6 +
.../airflow/ui/src/queries/useGridTISummaries.ts | 134 +-
.../src/airflow/ui/src/queries/usePatchDagRun.ts | 2 -
.../airflow/ui/src/queries/usePatchTaskInstance.ts | 19 +-
.../src/airflow/ui/src/utils/datetimeUtils.test.ts | 15 +
.../src/airflow/ui/src/utils/datetimeUtils.ts | 5 +-
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 18 +-
.../{configurationpage.ts => ConfigurationPage.ts} | 39 +-
.../airflow/ui/tests/e2e/pages/DagCalendarTab.ts | 5 +-
.../src/airflow/ui/tests/e2e/pages/DagCodePage.ts | 5 +-
.../src/airflow/ui/tests/e2e/pages/DagRunsPage.ts | 32 +-
.../airflow/ui/tests/e2e/pages/DagRunsTabPage.ts | 58 +-
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 269 +-
.../src/airflow/ui/tests/e2e/pages/EventsPage.ts | 11 +-
.../src/airflow/ui/tests/e2e/pages/GridPage.ts | 52 +-
.../src/airflow/ui/tests/e2e/pages/PluginsPage.ts | 59 +-
.../ui/tests/e2e/pages/RequiredActionsPage.ts | 29 +-
.../airflow/ui/tests/e2e/pages/TaskInstancePage.ts | 9 +-
.../ui/tests/e2e/specs/configuration.spec.ts | 14 +-
.../ui/tests/e2e/specs/dag-calendar-tab.spec.ts | 12 +
.../ui/tests/e2e/specs/dag-grid-view.spec.ts | 24 +-
.../airflow/ui/tests/e2e/specs/dag-runs.spec.ts | 13 +
.../airflow/ui/tests/e2e/specs/dag-tasks.spec.ts | 6 +-
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 35 +-
.../src/airflow/ui/tests/e2e/specs/plugins.spec.ts | 30 +-
.../ui/tests/e2e/specs/requiredAction.spec.ts | 27 +-
.../ui/tests/e2e/specs/task-instances.spec.ts | 12 +
.../src/airflow/utils/dag_parsing_context.py | 35 -
airflow-core/src/airflow/utils/db.py | 87 +-
airflow-core/src/airflow/utils/db_manager.py | 66 +-
.../src/airflow/utils/log/file_task_handler.py | 2 +-
.../tests/integration/otel/dags/otel_test_dag.py | 3 +-
airflow-core/tests/integration/otel/test_otel.py | 24 +-
.../tests/unit/always/test_example_dags.py | 3 +
.../tests/unit/always/test_providers_manager.py | 39 +
.../unit/always/test_secrets_local_filesystem.py | 7 +
.../tests/unit/api/common/test_trigger_dag.py | 22 +-
.../api_fastapi/auth/managers/simple/conftest.py | 3 +-
.../api_fastapi/common/test_http_access_log.py | 2 +-
.../core_api/routes/public/test_backfills.py | 12 +
.../core_api/routes/public/test_task_instances.py | 93 +
.../core_api/routes/ui/test_calendar.py | 138 +
.../core_api/routes/ui/test_dashboard.py | 31 +-
.../api_fastapi/core_api/routes/ui/test_grid.py | 68 +-
.../tests/unit/api_fastapi/core_api/test_base.py | 30 +
.../execution_api/versions/head/test_dags.py | 128 +
.../versions/head/test_task_instances.py | 89 +
.../execution_api/versions/head/test_variables.py | 16 +-
.../versions/v2026_03_31/test_dags.py | 20 +-
airflow-core/tests/unit/assets/test_manager.py | 1 -
.../tests/unit/cli/commands/test_asset_command.py | 4 +-
.../tests/unit/cli/commands/test_db_command.py | 36 +-
.../unit/cli/commands/test_db_manager_command.py | 41 +-
.../bundles/test_dag_bundle_manager.py | 18 +
.../tests/unit/dag_processing/test_collection.py | 36 +
.../tests/unit/dag_processing/test_manager.py | 55 +
.../tests/unit/dag_processing/test_processor.py | 2 +
airflow-core/tests/unit/datasets/test_dataset.py | 93 -
.../tests/unit/executors/test_local_executor.py | 65 +-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 263 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 2 +
airflow-core/tests/unit/models/test_callback.py | 23 +-
airflow-core/tests/unit/models/test_dagrun.py | 214 +-
.../tests/unit/partition_mappers/test_product.py | 34 +-
.../tests/unit/partition_mappers/test_temporal.py | 38 +-
.../unit/serialization/test_serialized_objects.py | 70 +-
airflow-core/tests/unit/utils/test_db.py | 51 +-
airflow-core/tests/unit/utils/test_db_compare.py | 64 +
airflow-core/tests/unit/utils/test_db_manager.py | 151 +-
airflow-core/tests/unit/utils/test_log_handlers.py | 29 +
.../tests/unit/utils/test_process_utils.py | 123 +-
airflow-ctl-tests/.gitignore | 1 +
airflow-ctl-tests/pyproject.toml | 2 +-
.../airflowctl_tests/test_airflowctl_commands.py | 39 +-
airflow-ctl/.gitignore | 1 +
airflow-ctl/docs/installation/prerequisites.rst | 4 +-
airflow-ctl/pyproject.toml | 9 +-
.../src/airflowctl/api/datamodels/generated.py | 2 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 5 +-
.../src/airflowctl/ctl/commands/version_command.py | 14 +-
.../ctl/commands/test_version_command.py | 16 +-
.../tests/airflow_ctl/ctl/test_cli_config.py | 17 +
airflow-e2e-tests/.gitignore | 1 +
.../docker/elasticsearch.yml | 27 +-
airflow-e2e-tests/pyproject.toml | 2 +-
.../tests/airflow_e2e_tests/conftest.py | 26 +-
.../tests/airflow_e2e_tests/constants.py | 1 +
.../airflow_e2e_tests/e2e_test_utils/clients.py | 5 +
.../remote_log_elasticsearch_tests}/__init__.py | 0
.../test_remote_logging_elasticsearch.py | 103 +
chart/.gitignore | 1 +
chart/Chart.yaml | 421 +-
chart/RELEASE_NOTES.rst | 134 +
chart/newsfragments/61018.significant.rst | 4 -
chart/newsfragments/61414.significant.rst | 1 -
chart/newsfragments/61820.significant.rst | 1 -
chart/newsfragments/61890.significant.rst | 1 -
chart/newsfragments/62334.significant.rst | 5 -
chart/newsfragments/63019.feature.rst | 1 -
chart/newsfragments/63392.significant.rst | 3 -
chart/pyproject.toml | 3 +-
chart/reproducible_build.yaml | 4 +-
chart/templates/NOTES.txt | 196 +-
chart/templates/_helpers.yaml | 29 +-
.../api-server/api-server-deployment.yaml | 4 +-
.../dag-processor/dag-processor-deployment.yaml | 4 +-
.../templates/scheduler/scheduler-deployment.yaml | 4 +-
.../templates/triggerer/triggerer-deployment.yaml | 4 +-
chart/templates/workers/worker-deployment.yaml | 8 +-
chart/values.schema.json | 42 +-
chart/values.yaml | 81 +-
clients/python/.gitignore | 1 +
clients/python/pyproject.toml | 3 +-
contributing-docs/03_contributors_quick_start.rst | 2 +-
.../03a_contributors_quick_start_beginners.rst | 16 +-
contributing-docs/05_pull_requests.rst | 4 +
contributing-docs/06_development_environments.rst | 2 +-
contributing-docs/07_local_virtualenv.rst | 2 +-
contributing-docs/11_documentation_building.rst | 31 +-
contributing-docs/14_metadata_database_updates.rst | 3 +
.../24_proposing_best_practices_and_air_rules.rst | 42 +
contributing-docs/25_maintainer_pr_triage.md | 346 +
contributing-docs/README.rst | 7 +
contributing-docs/quick-start-ide/README.rst | 2 +-
.../contributors_quick_start_pycharm.rst | 206 -
.../contributors_quick_start_pycharm_intellij.rst | 341 +
contributing-docs/testing/integration_tests.rst | 7 +-
contributing-docs/testing/unit_tests.rst | 2 +-
dev/.gitignore | 1 +
dev/README_RELEASE_HELM_CHART.md | 3 +-
dev/README_RELEASE_PROVIDERS.md | 5 +-
dev/breeze/.gitignore | 1 +
dev/breeze/doc/03_developer_tasks.rst | 13 +
dev/breeze/doc/09_release_management_tasks.rst | 4 +
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/doc/images/output-commands.svg | 190 +-
dev/breeze/doc/images/output_build-docs.svg | 82 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci-image_build.svg | 4 +-
dev/breeze/doc/images/output_ci-image_build.txt | 2 +-
dev/breeze/doc/images/output_ci-image_load.svg | 2 +-
dev/breeze/doc/images/output_ci-image_load.txt | 2 +-
dev/breeze/doc/images/output_ci-image_pull.svg | 4 +-
dev/breeze/doc/images/output_ci-image_pull.txt | 2 +-
dev/breeze/doc/images/output_ci-image_save.svg | 2 +-
dev/breeze/doc/images/output_ci-image_save.txt | 2 +-
dev/breeze/doc/images/output_ci-image_verify.svg | 4 +-
dev/breeze/doc/images/output_ci-image_verify.txt | 2 +-
dev/breeze/doc/images/output_ci_upgrade.svg | 60 +-
dev/breeze/doc/images/output_ci_upgrade.txt | 2 +-
.../doc/images/output_k8s_build-k8s-image.svg | 4 +-
.../doc/images/output_k8s_build-k8s-image.txt | 2 +-
.../doc/images/output_k8s_configure-cluster.svg | 4 +-
.../doc/images/output_k8s_configure-cluster.txt | 2 +-
.../doc/images/output_k8s_create-cluster.svg | 4 +-
.../doc/images/output_k8s_create-cluster.txt | 2 +-
.../doc/images/output_k8s_delete-cluster.svg | 2 +-
.../doc/images/output_k8s_delete-cluster.txt | 2 +-
.../doc/images/output_k8s_deploy-airflow.svg | 4 +-
.../doc/images/output_k8s_deploy-airflow.txt | 2 +-
dev/breeze/doc/images/output_k8s_dev.svg | 2 +-
dev/breeze/doc/images/output_k8s_dev.txt | 2 +-
dev/breeze/doc/images/output_k8s_k9s.svg | 2 +-
dev/breeze/doc/images/output_k8s_k9s.txt | 2 +-
dev/breeze/doc/images/output_k8s_logs.svg | 2 +-
dev/breeze/doc/images/output_k8s_logs.txt | 2 +-
.../doc/images/output_k8s_run-complete-tests.svg | 4 +-
.../doc/images/output_k8s_run-complete-tests.txt | 2 +-
dev/breeze/doc/images/output_k8s_shell.svg | 2 +-
dev/breeze/doc/images/output_k8s_shell.txt | 2 +-
dev/breeze/doc/images/output_k8s_status.svg | 2 +-
dev/breeze/doc/images/output_k8s_status.txt | 2 +-
dev/breeze/doc/images/output_k8s_tests.svg | 4 +-
dev/breeze/doc/images/output_k8s_tests.txt | 2 +-
.../doc/images/output_k8s_upload-k8s-image.svg | 4 +-
.../doc/images/output_k8s_upload-k8s-image.txt | 2 +-
dev/breeze/doc/images/output_pr_auto-triage.svg | 100 +-
dev/breeze/doc/images/output_pr_auto-triage.txt | 2 +-
dev/breeze/doc/images/output_prod-image_build.svg | 4 +-
dev/breeze/doc/images/output_prod-image_build.txt | 2 +-
dev/breeze/doc/images/output_prod-image_load.svg | 2 +-
dev/breeze/doc/images/output_prod-image_load.txt | 2 +-
dev/breeze/doc/images/output_prod-image_pull.svg | 4 +-
dev/breeze/doc/images/output_prod-image_pull.txt | 2 +-
dev/breeze/doc/images/output_prod-image_save.svg | 2 +-
dev/breeze/doc/images/output_prod-image_save.txt | 2 +-
dev/breeze/doc/images/output_prod-image_verify.svg | 4 +-
dev/breeze/doc/images/output_prod-image_verify.txt | 2 +-
.../doc/images/output_registry_extract-data.svg | 2 +-
.../doc/images/output_registry_extract-data.txt | 2 +-
...elease-management_constraints-version-check.svg | 2 +-
...elease-management_constraints-version-check.txt | 2 +-
...put_release-management_generate-constraints.svg | 4 +-
...put_release-management_generate-constraints.txt | 2 +-
...e-management_install-provider-distributions.svg | 2 +-
...e-management_install-provider-distributions.txt | 2 +-
...output_release-management_merge-prod-images.svg | 2 +-
...output_release-management_merge-prod-images.txt | 2 +-
...tput_release-management_release-prod-images.svg | 2 +-
...tput_release-management_release-prod-images.txt | 2 +-
...se-management_verify-provider-distributions.svg | 2 +-
...se-management_verify-provider-distributions.txt | 2 +-
dev/breeze/doc/images/output_run.svg | 22 +-
dev/breeze/doc/images/output_run.txt | 2 +-
.../output_sbom_build-all-airflow-images.svg | 2 +-
.../output_sbom_build-all-airflow-images.txt | 2 +-
.../output_sbom_export-dependency-information.svg | 2 +-
.../output_sbom_export-dependency-information.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 2 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
.../images/output_sbom_update-sbom-information.svg | 4 +-
.../images/output_sbom_update-sbom-information.txt | 2 +-
dev/breeze/doc/images/output_setup_config.svg | 2 +-
dev/breeze/doc/images/output_setup_config.txt | 2 +-
dev/breeze/doc/images/output_shell.svg | 322 +-
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.svg | 278 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
...utput_testing_airflow-ctl-integration-tests.svg | 2 +-
...utput_testing_airflow-ctl-integration-tests.txt | 2 +-
.../images/output_testing_airflow-ctl-tests.svg | 2 +-
.../images/output_testing_airflow-ctl-tests.txt | 2 +-
.../images/output_testing_airflow-e2e-tests.svg | 4 +-
.../images/output_testing_airflow-e2e-tests.txt | 2 +-
.../output_testing_core-integration-tests.svg | 22 +-
.../output_testing_core-integration-tests.txt | 2 +-
.../doc/images/output_testing_core-tests.svg | 38 +-
.../doc/images/output_testing_core-tests.txt | 2 +-
.../images/output_testing_docker-compose-tests.svg | 2 +-
.../images/output_testing_docker-compose-tests.txt | 2 +-
.../output_testing_providers-integration-tests.svg | 2 +-
.../output_testing_providers-integration-tests.txt | 2 +-
.../doc/images/output_testing_providers-tests.svg | 42 +-
.../doc/images/output_testing_providers-tests.txt | 2 +-
.../output_testing_python-api-client-tests.svg | 18 +-
.../output_testing_python-api-client-tests.txt | 2 +-
.../doc/images/output_testing_system-tests.svg | 22 +-
.../doc/images/output_testing_system-tests.txt | 2 +-
.../output_testing_task-sdk-integration-tests.svg | 2 +-
.../output_testing_task-sdk-integration-tests.txt | 2 +-
.../doc/images/output_testing_task-sdk-tests.svg | 2 +-
.../doc/images/output_testing_task-sdk-tests.txt | 2 +-
.../doc/images/output_testing_ui-e2e-tests.svg | 2 +-
.../doc/images/output_testing_ui-e2e-tests.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 22 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
dev/breeze/pyproject.toml | 5 +-
.../src/airflow_breeze/commands/ci_commands.py | 207 +-
.../airflow_breeze/commands/ci_commands_config.py | 2 +
.../airflow_breeze/commands/ci_image_commands.py | 102 +-
.../airflow_breeze/commands/developer_commands.py | 98 +-
.../commands/developer_commands_config.py | 7 +-
.../src/airflow_breeze/commands/issues_commands.py | 32 +-
.../airflow_breeze/commands/kubernetes_commands.py | 124 +-
.../src/airflow_breeze/commands/main_command.py | 70 +-
.../src/airflow_breeze/commands/pr_commands.py | 3847 +++-
.../airflow_breeze/commands/pr_commands_config.py | 2 +
.../commands/production_image_commands.py | 68 +-
.../airflow_breeze/commands/registry_commands.py | 4 +-
.../commands/release_management_commands.py | 478 +-
.../src/airflow_breeze/commands/sbom_commands.py | 60 +-
.../src/airflow_breeze/commands/setup_commands.py | 114 +-
.../airflow_breeze/commands/testing_commands.py | 117 +-
.../src/airflow_breeze/commands/ui_commands.py | 9 +-
.../airflow_breeze/commands/workflow_commands.py | 37 +-
.../commands/workflow_commands_config.py | 6 +
dev/breeze/src/airflow_breeze/global_constants.py | 28 +-
.../src/airflow_breeze/params/build_prod_params.py | 6 +-
.../airflow_breeze/params/common_build_params.py | 4 +-
.../src/airflow_breeze/params/doc_build_params.py | 6 +
.../src/airflow_breeze/params/shell_params.py | 50 +-
.../prepare_providers/provider_distributions.py | 40 +-
.../prepare_providers/provider_documentation.py | 112 +-
.../airflow_breeze/utils/add_back_references.py | 24 +-
dev/breeze/src/airflow_breeze/utils/cache.py | 8 +-
dev/breeze/src/airflow_breeze/utils/cdxgen.py | 10 +-
dev/breeze/src/airflow_breeze/utils/ci_group.py | 8 +-
dev/breeze/src/airflow_breeze/utils/confirm.py | 198 +-
.../utils/constraints_version_check.py | 66 +-
.../src/airflow_breeze/utils/custom_param_types.py | 10 +-
.../airflow_breeze/utils/debug_pyproject_toml.py | 4 +-
.../airflow_breeze/utils/docker_command_utils.py | 143 +-
.../airflow_breeze/utils/docker_compose_utils.py | 96 +-
.../src/airflow_breeze/utils/gh_workflow_utils.py | 34 +-
dev/breeze/src/airflow_breeze/utils/github.py | 95 +-
dev/breeze/src/airflow_breeze/utils/image.py | 6 +-
.../src/airflow_breeze/utils/kubernetes_utils.py | 36 +-
dev/breeze/src/airflow_breeze/utils/llm_utils.py | 329 +-
.../src/airflow_breeze/utils/md5_build_check.py | 18 +-
dev/breeze/src/airflow_breeze/utils/packages.py | 74 +-
dev/breeze/src/airflow_breeze/utils/parallel.py | 44 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 26 +-
dev/breeze/src/airflow_breeze/utils/platforms.py | 12 +-
.../utils/projects_google_spreadsheet.py | 26 +-
.../airflow_breeze/utils/provider_dependencies.py | 60 +-
.../src/airflow_breeze/utils/publish_docs_to_s3.py | 58 +-
.../src/airflow_breeze/utils/python_versions.py | 8 +-
dev/breeze/src/airflow_breeze/utils/reinstall.py | 20 +-
dev/breeze/src/airflow_breeze/utils/run_tests.py | 76 +-
dev/breeze/src/airflow_breeze/utils/run_utils.py | 70 +-
.../src/airflow_breeze/utils/selective_checks.py | 220 +-
.../src/airflow_breeze/utils/virtualenv_utils.py | 10 +-
.../src/airflow_breeze/utils/workflow_status.py | 39 +-
dev/breeze/tests/test_cache.py | 3 +-
dev/breeze/tests/test_docker_command_utils.py | 59 +-
dev/breeze/tests/test_run_test_args.py | 45 +
dev/breeze/tests/test_run_utils.py | 18 +-
dev/breeze/tests/test_selective_checks.py | 115 +-
dev/breeze/uv.lock | 340 +-
dev/ide_setup/AGENTS.md | 22 +
dev/ide_setup/setup_idea.py | 1219 +-
dev/pyproject.toml | 2 +-
.../react_plugin_template/package.json | 3 +-
.../react_plugin_template/pnpm-lock.yaml | 26 +-
dev/registry/.gitignore | 1 +
dev/registry/extract_connections.py | 18 +-
dev/registry/extract_metadata.py | 7 +-
dev/registry/merge_registry_data.py | 4 +-
dev/registry/tests/test_merge_registry_data.py | 35 +
devel-common/.gitignore | 1 +
devel-common/pyproject.toml | 4 +-
devel-common/src/docs/build_docs.py | 34 +-
devel-common/src/docs/utils/conf_constants.py | 31 +-
.../sphinx_exts/docs_build/fetch_inventories.py | 47 +-
.../docs_build/third_party_inventories.py | 2 +-
.../sphinx_exts/templates/openlineage.rst.jinja2 | 3 +
devel-common/src/tests_common/pytest_plugin.py | 78 +-
devel-common/src/tests_common/test_utils/db.py | 39 +-
docker-stack-docs/.gitignore | 1 +
docker-stack-docs/pyproject.toml | 3 +-
docker-tests/.gitignore | 1 +
docker-tests/pyproject.toml | 2 +-
docker-tests/tests/docker_tests/test_prod_image.py | 59 +-
docs/spelling_wordlist.txt | 2 +
generated/PYPI_README.md | 2 +-
generated/devel_deps.txt | 1 -
generated/provider_metadata.json | 274 +-
go-sdk/go.mod | 19 +-
go-sdk/go.sum | 56 +-
helm-tests/.gitignore | 1 +
helm-tests/pyproject.toml | 2 +-
.../helm_tests/airflow_aux/test_airflow_common.py | 17 +-
.../tests/helm_tests/apiserver/test_apiserver.py | 28 +
kubernetes-tests/.gitignore | 1 +
kubernetes-tests/pyproject.toml | 2 +-
performance/.gitignore | 1 +
performance/pyproject.toml | 2 +-
providers-summary-docs/.gitignore | 1 +
providers-summary-docs/pyproject.toml | 3 +-
providers/.pre-commit-config.yaml | 7 +
providers/airbyte/.gitignore | 1 +
providers/airbyte/docs/connections.rst | 2 +-
providers/airbyte/pyproject.toml | 1 +
.../src/airflow/providers/airbyte/hooks/airbyte.py | 14 +
.../tests/unit/airbyte/hooks/test_airbyte.py | 10 +
providers/alibaba/.gitignore | 1 +
providers/alibaba/docs/connections/alibaba.rst | 2 +
providers/alibaba/pyproject.toml | 1 +
providers/amazon/.gitignore | 1 +
providers/amazon/README.rst | 4 +-
providers/amazon/docs/index.rst | 7 +-
.../docs/operators/sagemakerunifiedstudio.rst | 8 +
providers/amazon/provider.yaml | 3 +
providers/amazon/pyproject.toml | 15 +-
.../amazon/aws/executors/ecs/ecs_executor.py | 4 +-
.../providers/amazon/aws/hooks/batch_client.py | 16 +-
.../src/airflow/providers/amazon/aws/hooks/s3.py | 25 +-
.../amazon/aws/hooks/sagemaker_unified_studio.py | 11 +-
.../airflow/providers/amazon/aws/operators/s3.py | 13 +-
.../aws/operators/sagemaker_unified_studio.py | 10 +
.../providers/amazon/aws/transfers/gcs_to_s3.py | 1 +
.../amazon/aws/example_sagemaker_unified_studio.py | 46 +-
.../amazon/tests/system/amazon/aws/example_ssm.py | 10 +-
.../unit/amazon/aws/hooks/test_batch_client.py | 79 +
.../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 29 +
.../tests/unit/amazon/aws/operators/test_s3.py | 20 +-
providers/apache/beam/.gitignore | 1 +
providers/apache/beam/docs/index.rst | 3 +-
providers/apache/beam/pyproject.toml | 7 +-
providers/apache/cassandra/.gitignore | 1 +
.../cassandra/docs/connections/cassandra.rst | 2 +-
providers/apache/cassandra/docs/index.rst | 3 +-
providers/apache/cassandra/provider.yaml | 3 +
providers/apache/cassandra/pyproject.toml | 5 +-
providers/apache/drill/.gitignore | 1 +
providers/apache/drill/pyproject.toml | 1 +
providers/apache/druid/.gitignore | 1 +
providers/apache/druid/pyproject.toml | 1 +
providers/apache/flink/.gitignore | 1 +
providers/apache/flink/pyproject.toml | 1 +
providers/apache/hdfs/.gitignore | 1 +
providers/apache/hdfs/docs/connections.rst | 2 +
providers/apache/hdfs/docs/index.rst | 12 +-
providers/apache/hdfs/pyproject.toml | 7 +-
providers/apache/hive/.gitignore | 1 +
providers/apache/hive/docs/index.rst | 9 +-
providers/apache/hive/pyproject.toml | 4 +-
providers/apache/iceberg/.gitignore | 1 +
providers/apache/iceberg/pyproject.toml | 1 +
providers/apache/impala/.gitignore | 1 +
providers/apache/impala/pyproject.toml | 1 +
providers/apache/kafka/.gitignore | 1 +
providers/apache/kafka/docs/connections/kafka.rst | 2 +-
providers/apache/kafka/docs/index.rst | 12 +-
providers/apache/kafka/pyproject.toml | 7 +-
providers/apache/kylin/.gitignore | 1 +
providers/apache/kylin/docs/connections.rst | 2 +
providers/apache/kylin/pyproject.toml | 1 +
providers/apache/livy/.gitignore | 1 +
providers/apache/livy/docs/connections.rst | 2 +
providers/apache/livy/docs/index.rst | 1 -
providers/apache/livy/pyproject.toml | 4 +-
.../airflow/providers/apache/livy/hooks/livy.py | 128 +-
.../livy/tests/unit/apache/livy/hooks/test_livy.py | 213 +-
providers/apache/pig/.gitignore | 1 +
providers/apache/pig/pyproject.toml | 1 +
providers/apache/pinot/.gitignore | 1 +
providers/apache/pinot/pyproject.toml | 1 +
providers/apache/spark/.gitignore | 1 +
providers/apache/spark/README.rst | 3 +-
providers/apache/spark/docs/changelog.rst | 13 +
.../spark/docs/connections/spark-connect.rst | 2 +-
.../apache/spark/docs/connections/spark-sql.rst | 2 +-
.../apache/spark/docs/connections/spark-submit.rst | 2 +-
providers/apache/spark/docs/index.rst | 4 +-
providers/apache/spark/pyproject.toml | 9 +-
.../providers/apache/spark/hooks/spark_jdbc.py | 2 +-
.../apache/spark/hooks/spark_jdbc_script.py | 10 +-
.../providers/apache/spark/hooks/spark_submit.py | 2 +-
.../providers/apache/spark/operators/spark_jdbc.py | 2 +-
.../apache/spark/operators/spark_pipelines.py | 2 +-
.../apache/spark/operators/spark_submit.py | 2 +-
providers/apache/tinkerpop/.gitignore | 1 +
.../tinkerpop/docs/connections/tinkerpop.rst | 2 +-
providers/apache/tinkerpop/pyproject.toml | 1 +
providers/apprise/.gitignore | 1 +
providers/apprise/pyproject.toml | 1 +
providers/arangodb/.gitignore | 1 +
providers/arangodb/pyproject.toml | 1 +
providers/asana/.gitignore | 1 +
providers/asana/docs/connections/asana.rst | 2 +-
providers/asana/pyproject.toml | 1 +
providers/atlassian/jira/.gitignore | 1 +
providers/atlassian/jira/docs/connections.rst | 2 +
providers/atlassian/jira/pyproject.toml | 1 +
providers/celery/.gitignore | 1 +
providers/celery/pyproject.toml | 3 +-
.../celery/executors/celery_executor_utils.py | 4 +-
.../celery/executors/celery_kubernetes_executor.py | 5 +-
providers/cloudant/.gitignore | 1 +
providers/cloudant/provider.yaml | 8 +
providers/cloudant/pyproject.toml | 1 +
.../providers/cloudant/get_provider_info.py | 4 +
.../tests/unit/cloudant/hooks/test_cloudant.py | 44 +-
providers/cncf/kubernetes/.gitignore | 1 +
providers/cncf/kubernetes/docs/index.rst | 9 +-
providers/cncf/kubernetes/docs/operators.rst | 32 +
providers/cncf/kubernetes/pyproject.toml | 4 +-
.../kubernetes/executors/kubernetes_executor.py | 14 +-
.../executors/local_kubernetes_executor.py | 6 +-
.../providers/cncf/kubernetes/hooks/kubernetes.py | 73 +-
.../kubernetes/operators/custom_object_launcher.py | 3 +
.../providers/cncf/kubernetes/operators/job.py | 12 +-
.../providers/cncf/kubernetes/operators/pod.py | 18 +
.../providers/cncf/kubernetes/triggers/pod.py | 121 +
.../providers/cncf/kubernetes/utils/pod_manager.py | 7 +
.../executors/test_kubernetes_executor.py | 4 +-
.../unit/cncf/kubernetes/hooks/test_kubernetes.py | 81 +-
.../operators/test_custom_object_launcher.py | 12 +
.../unit/cncf/kubernetes/operators/test_job.py | 86 +
.../unit/cncf/kubernetes/operators/test_pod.py | 15 +
.../unit/cncf/kubernetes/triggers/test_pod.py | 140 +
providers/cohere/.gitignore | 1 +
providers/cohere/docs/index.rst | 9 +-
providers/cohere/pyproject.toml | 4 +-
providers/common/ai/.gitignore | 1 +
.../common/ai/docs/connections/pydantic_ai.rst | 2 +-
providers/common/ai/docs/hooks/pydantic_ai.rst | 2 +-
providers/common/ai/docs/operators/agent.rst | 2 +-
providers/common/ai/docs/operators/llm.rst | 2 +-
providers/common/ai/docs/operators/llm_branch.rst | 2 +-
.../ai/docs/operators/llm_schema_compare.rst | 2 +-
providers/common/ai/docs/operators/llm_sql.rst | 2 +-
providers/common/ai/pyproject.toml | 5 +-
.../providers/common/ai/operators/llm_sql.py | 2 +-
.../providers/common/ai/toolsets/datafusion.py | 19 +
.../providers/common/ai/utils/sql_validation.py | 10 +-
.../unit/common/ai/toolsets/test_datafusion.py | 63 +-
providers/common/compat/.gitignore | 1 +
providers/common/compat/docs/index.rst | 9 +-
providers/common/compat/pyproject.toml | 4 +-
.../tests/unit/common/compat/test__compat_utils.py | 19 -
providers/common/io/.gitignore | 1 +
providers/common/io/pyproject.toml | 1 +
providers/common/messaging/.gitignore | 1 +
providers/common/messaging/pyproject.toml | 1 +
providers/common/sql/.gitignore | 1 +
providers/common/sql/pyproject.toml | 4 +-
providers/databricks/.gitignore | 1 +
providers/databricks/docs/changelog.rst | 18 +
.../databricks/docs/connections/databricks.rst | 4 +-
providers/databricks/docs/index.rst | 12 +-
providers/databricks/pyproject.toml | 12 +-
.../providers/databricks/hooks/databricks_base.py | 30 +-
.../providers/databricks/operators/databricks.py | 34 +
.../providers/databricks/utils/databricks.py | 9 +-
.../tests/system/databricks/example_databricks.py | 4 +-
.../unit/databricks/hooks/test_databricks_base.py | 80 +-
.../unit/databricks/operators/test_databricks.py | 57 +
.../tests/unit/databricks/utils/test_databricks.py | 13 +
providers/datadog/.gitignore | 1 +
providers/datadog/docs/connections/datadog.rst | 2 +-
providers/datadog/pyproject.toml | 1 +
providers/dbt/cloud/.gitignore | 1 +
providers/dbt/cloud/docs/connections.rst | 2 +-
providers/dbt/cloud/docs/index.rst | 9 +-
providers/dbt/cloud/pyproject.toml | 4 +-
.../src/airflow/providers/dbt/cloud/hooks/dbt.py | 2 +-
providers/dingding/.gitignore | 1 +
providers/dingding/pyproject.toml | 1 +
providers/discord/.gitignore | 1 +
.../discord/docs/connections/discord-webhook.rst | 2 +-
providers/discord/pyproject.toml | 1 +
providers/docker/.gitignore | 1 +
providers/docker/pyproject.toml | 1 +
providers/edge3/.gitignore | 1 +
providers/edge3/.pre-commit-config.yaml | 14 +-
providers/edge3/docs/index.rst | 1 +
providers/{fab => edge3}/docs/migrations-ref.rst | 18 +-
providers/edge3/pyproject.toml | 1 +
.../versions/0001_3_0_0_create_edge_tables.py | 3 +-
...3_2_0_fix_migration_file_orm_inconsistencies.py | 88 +
.../edge3/src/airflow/providers/edge3/models/db.py | 34 +-
.../providers/edge3/plugins/www/package.json | 4 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 10 +-
.../edge3/plugins/www/src/layouts/NavTabs.tsx | 3 +-
.../edge3/plugins/www/src/pages/JobsPage.tsx | 2 +-
.../edge3/plugins/www/src/pages/WorkerPage.tsx | 4 +-
providers/edge3/tests/unit/edge3/models/test_db.py | 4 +-
providers/elasticsearch/.gitignore | 1 +
providers/elasticsearch/pyproject.toml | 1 +
providers/exasol/.gitignore | 1 +
providers/exasol/docs/index.rst | 9 +-
providers/exasol/pyproject.toml | 4 +-
providers/fab/.gitignore | 1 +
providers/fab/.pre-commit-config.yaml | 14 +-
providers/fab/docs/index.rst | 22 +-
providers/fab/docs/migrations-ref.rst | 12 +-
providers/fab/pyproject.toml | 20 +-
.../fab/auth_manager/cli_commands/db_command.py | 15 +-
.../providers/fab/auth_manager/fab_auth_manager.py | 2 +-
.../providers/fab/auth_manager/models/__init__.py | 55 +-
.../providers/fab/auth_manager/models/db.py | 39 +-
.../fab/auth_manager/security_manager/override.py | 32 +
.../src/airflow/providers/fab/cli/definition.py | 10 +-
.../0000_1_4_0_create_ab_tables_if_missing.py | 355 +-
.../0001_3_5_0_fix_fab_db_inconsistencies.py | 327 +
.../fab/src/airflow/providers/fab/www/package.json | 12 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 181 +-
.../auth_manager/cli_commands/test_db_command.py | 23 +-
.../tests/unit/fab/auth_manager/models/test_db.py | 67 +-
.../auth_manager/security_manager/test_override.py | 71 +
.../tests/unit/fab/auth_manager/test_security.py | 20 +-
.../unit/fab/db_manager/test_fab_db_manager.py | 6 +-
providers/facebook/.gitignore | 1 +
providers/facebook/pyproject.toml | 1 +
providers/ftp/.gitignore | 1 +
providers/ftp/pyproject.toml | 1 +
providers/git/.gitignore | 1 +
providers/git/docs/connections/git.rst | 34 +-
providers/git/pyproject.toml | 1 +
.../git/src/airflow/providers/git/hooks/git.py | 113 +-
providers/git/tests/unit/git/hooks/test_git.py | 139 +-
providers/github/.gitignore | 1 +
providers/github/pyproject.toml | 1 +
providers/google/.gitignore | 1 +
providers/google/docs/connections/bigquery.rst | 2 +-
providers/google/docs/connections/gcp.rst | 6 +-
providers/google/docs/connections/gcp_looker.rst | 2 +
providers/google/docs/connections/gcp_sql.rst | 2 +-
providers/google/docs/connections/gcp_ssh.rst | 2 +
providers/google/docs/index.rst | 16 +-
.../google-cloud-secret-manager-backend.rst | 2 +-
providers/google/provider.yaml | 3 +
providers/google/pyproject.toml | 12 +-
.../google/cloud/log/stackdriver_task_handler.py | 2 +-
.../providers/google/cloud/operators/bigquery.py | 1 -
.../providers/google/cloud/operators/gcs.py | 147 +-
.../providers/google/cloud/transfers/gcs_to_gcs.py | 1 +
.../google/cloud/dataplex/example_dataplex_dp.py | 2 +-
.../google/cloud/dataplex/example_dataplex_dq.py | 2 +-
.../cloud/gcs/example_gcs_transform_timespan.py | 16 +
.../cloud/vision/example_vision_autogenerated.py | 14 +-
.../google/cloud/hooks/test_kubernetes_engine.py | 6 +-
.../tests/unit/google/cloud/operators/test_gcs.py | 330 +-
providers/grpc/.gitignore | 1 +
providers/grpc/docs/connections/grpc.rst | 2 +-
providers/grpc/pyproject.toml | 1 +
providers/hashicorp/.gitignore | 1 +
providers/hashicorp/pyproject.toml | 1 +
providers/http/.gitignore | 1 +
providers/http/docs/index.rst | 9 +-
providers/http/pyproject.toml | 4 +-
.../http/src/airflow/providers/http/hooks/http.py | 339 +-
providers/http/tests/unit/http/hooks/test_http.py | 2 +-
providers/imap/.gitignore | 1 +
providers/imap/pyproject.toml | 1 +
providers/influxdb/.gitignore | 1 +
providers/influxdb/pyproject.toml | 1 +
providers/informatica/.gitignore | 1 +
providers/informatica/pyproject.toml | 1 +
providers/jdbc/.gitignore | 1 +
providers/jdbc/pyproject.toml | 1 +
providers/jenkins/.gitignore | 1 +
providers/jenkins/docs/connections.rst | 2 +-
providers/jenkins/pyproject.toml | 1 +
providers/keycloak/.gitignore | 1 +
providers/keycloak/pyproject.toml | 1 +
providers/microsoft/azure/.gitignore | 1 +
providers/microsoft/azure/docs/connections/acr.rst | 2 +-
providers/microsoft/azure/docs/connections/adf.rst | 2 +-
providers/microsoft/azure/docs/connections/adl.rst | 2 +-
providers/microsoft/azure/docs/connections/adx.rst | 2 +-
.../azure/docs/connections/azure_synapse.rst | 2 +-
providers/microsoft/azure/pyproject.toml | 1 +
.../airflow/providers/microsoft/azure/hooks/adx.py | 2 +-
.../microsoft/azure/hooks/container_registry.py | 2 +-
.../microsoft/azure/hooks/data_factory.py | 4 +-
.../providers/microsoft/azure/hooks/data_lake.py | 2 +-
.../providers/microsoft/azure/hooks/synapse.py | 8 +-
.../providers/microsoft/azure/operators/adls.py | 6 +-
.../providers/microsoft/azure/operators/adx.py | 2 +-
providers/microsoft/mssql/.gitignore | 1 +
providers/microsoft/mssql/docs/index.rst | 9 +-
providers/microsoft/mssql/pyproject.toml | 4 +-
providers/microsoft/psrp/.gitignore | 1 +
providers/microsoft/psrp/pyproject.toml | 1 +
providers/microsoft/winrm/.gitignore | 1 +
providers/microsoft/winrm/pyproject.toml | 1 +
providers/mongo/.gitignore | 1 +
providers/mongo/pyproject.toml | 1 +
providers/mysql/.gitignore | 1 +
providers/mysql/pyproject.toml | 1 +
providers/neo4j/.gitignore | 1 +
providers/neo4j/pyproject.toml | 1 +
providers/odbc/.gitignore | 1 +
providers/odbc/docs/connections/odbc.rst | 2 +-
providers/odbc/pyproject.toml | 1 +
providers/openai/.gitignore | 1 +
providers/openai/pyproject.toml | 1 +
providers/openfaas/.gitignore | 1 +
providers/openfaas/pyproject.toml | 1 +
providers/openlineage/.gitignore | 1 +
providers/openlineage/docs/guides/developer.rst | 10 +-
providers/openlineage/pyproject.toml | 1 +
providers/opensearch/.gitignore | 1 +
.../opensearch/docs/connections/opensearch.rst | 2 +-
providers/opensearch/pyproject.toml | 1 +
providers/opsgenie/.gitignore | 1 +
providers/opsgenie/docs/connections.rst | 2 +
providers/opsgenie/pyproject.toml | 1 +
providers/oracle/.gitignore | 1 +
providers/oracle/pyproject.toml | 7 +-
providers/pagerduty/.gitignore | 1 +
.../docs/connections/pagerduty-events.rst | 2 +-
.../connections/{pagerdurty.rst => pagerduty.rst} | 2 +-
providers/pagerduty/pyproject.toml | 1 +
providers/papermill/.gitignore | 1 +
providers/papermill/docs/index.rst | 9 +-
providers/papermill/pyproject.toml | 4 +-
providers/pgvector/.gitignore | 1 +
providers/pgvector/pyproject.toml | 1 +
providers/pinecone/.gitignore | 1 +
providers/pinecone/pyproject.toml | 1 +
providers/postgres/.gitignore | 1 +
providers/postgres/pyproject.toml | 7 +-
providers/presto/.gitignore | 1 +
providers/presto/docs/connections.rst | 2 +
providers/presto/docs/index.rst | 9 +-
providers/presto/pyproject.toml | 4 +-
providers/qdrant/.gitignore | 1 +
providers/qdrant/docs/index.rst | 8 +-
providers/qdrant/pyproject.toml | 4 +-
providers/redis/.gitignore | 1 +
providers/redis/docs/connections.rst | 2 +
providers/redis/docs/logging/index.rst | 26 +
providers/redis/pyproject.toml | 1 +
providers/salesforce/.gitignore | 1 +
.../salesforce/docs/connections/salesforce.rst | 2 +-
providers/salesforce/docs/index.rst | 9 +-
providers/salesforce/pyproject.toml | 4 +-
.../airflow/providers/salesforce/operators/bulk.py | 2 +-
.../salesforce/operators/salesforce_apex_rest.py | 2 +-
providers/samba/.gitignore | 1 +
providers/samba/docs/connections.rst | 2 +
providers/samba/pyproject.toml | 1 +
providers/segment/.gitignore | 1 +
providers/segment/pyproject.toml | 1 +
providers/sendgrid/.gitignore | 1 +
providers/sendgrid/docs/index.rst | 9 +-
providers/sendgrid/pyproject.toml | 4 +-
providers/sftp/.gitignore | 1 +
providers/sftp/docs/index.rst | 9 +-
providers/sftp/pyproject.toml | 4 +-
.../sftp/src/airflow/providers/sftp/fs/sftp.py | 2 +-
providers/singularity/.gitignore | 1 +
providers/singularity/pyproject.toml | 1 +
providers/slack/.gitignore | 1 +
.../docs/connections/slack-incoming-webhook.rst | 2 +-
providers/slack/docs/index.rst | 9 +-
providers/slack/pyproject.toml | 4 +-
.../src/airflow/providers/slack/hooks/slack.py | 6 +
.../airflow/providers/slack/hooks/slack_webhook.py | 2 +-
.../src/airflow/providers/slack/operators/slack.py | 4 +-
.../slack/tests/unit/slack/hooks/test_slack.py | 10 +
providers/smtp/.gitignore | 1 +
providers/smtp/pyproject.toml | 1 +
providers/snowflake/.gitignore | 1 +
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/pyproject.toml | 7 +-
providers/sqlite/.gitignore | 1 +
providers/sqlite/docs/connections/sqlite.rst | 2 +-
providers/sqlite/pyproject.toml | 1 +
providers/ssh/.gitignore | 1 +
providers/ssh/pyproject.toml | 1 +
providers/standard/.gitignore | 1 +
providers/standard/pyproject.toml | 1 +
.../tests/unit/standard/decorators/test_python.py | 21 +-
providers/tableau/.gitignore | 1 +
providers/tableau/pyproject.toml | 1 +
providers/telegram/.gitignore | 1 +
providers/telegram/pyproject.toml | 1 +
providers/teradata/.gitignore | 1 +
providers/teradata/pyproject.toml | 1 +
.../teradata/transfers/azure_blob_to_teradata.py | 2 +-
.../providers/teradata/transfers/s3_to_teradata.py | 2 +-
.../teradata/transfers/teradata_to_teradata.py | 2 +-
providers/trino/.gitignore | 1 +
providers/trino/docs/connections.rst | 2 +
providers/trino/docs/index.rst | 9 +-
providers/trino/pyproject.toml | 4 +-
providers/vertica/.gitignore | 1 +
providers/vertica/pyproject.toml | 1 +
providers/weaviate/.gitignore | 1 +
providers/weaviate/docs/index.rst | 9 +-
providers/weaviate/pyproject.toml | 4 +-
providers/yandex/.gitignore | 1 +
providers/yandex/docs/connections/yandexcloud.rst | 2 +-
.../yandex-cloud-lockbox-secret-backend.rst | 2 +-
providers/yandex/provider.yaml | 66 +
providers/yandex/pyproject.toml | 1 +
.../airflow/providers/yandex/get_provider_info.py | 35 +
providers/ydb/.gitignore | 1 +
providers/ydb/pyproject.toml | 1 +
providers/zendesk/.gitignore | 1 +
providers/zendesk/docs/connections.rst | 2 +
providers/zendesk/pyproject.toml | 1 +
pyproject.toml | 42 +-
registry/AGENTS.md | 5 +-
registry/README.md | 20 +-
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 41 +-
registry/pnpm-workspace.yaml | 2 +
registry/src/_data/exploreCategoryProviders.js | 3 -
registry/src/_data/statsData.js | 1 +
registry/src/explore.njk | 6 +-
registry/src/index.njk | 14 +-
registry/src/js/provider-filters.js | 41 +-
registry/src/provider-detail.njk | 3 +-
scripts/.gitignore | 1 +
.../src/airflow/_shared => scripts/ci}/__init__.py | 0
scripts/ci/docker-compose/local.yml | 3 +
.../_shared => scripts/ci/docs}/__init__.py | 0
scripts/ci/docs/store_stable_versions.py | 42 +-
.../_shared => scripts/ci/prek}/__init__.py | 0
scripts/ci/prek/breeze_cmd_line.py | 2 -
scripts/ci/prek/capture_airflowctl_help.py | 4 -
scripts/ci/prek/changelog_duplicates.py | 49 +-
.../ci/prek/check_airflow_bug_report_template.py | 3 -
scripts/ci/prek/check_airflow_imports.py | 1 -
scripts/ci/prek/check_airflow_imports_in_shared.py | 1 -
.../ci/prek/check_airflow_v_imports_in_tests.py | 5 +-
.../ci/prek/check_airflowctl_command_coverage.py | 2 -
.../prek/check_base_operator_partial_arguments.py | 2 -
scripts/ci/prek/check_cli_definition_imports.py | 1 -
scripts/ci/prek/check_common_sql_dependency.py | 4 +-
scripts/ci/prek/check_connection_doc_labels.py | 149 +
scripts/ci/prek/check_core_imports_in_sdk.py | 1 -
scripts/ci/prek/check_core_imports_in_shared.py | 1 -
scripts/ci/prek/check_default_configuration.py | 4 -
scripts/ci/prek/check_distribution_gitignore.py | 65 +
scripts/ci/prek/check_excluded_provider_markers.py | 130 +
scripts/ci/prek/check_execution_api_versions.py | 136 +-
scripts/ci/prek/check_extra_packages_ref.py | 10 +-
scripts/ci/prek/check_i18n_json.py | 3 -
scripts/ci/prek/check_imports_in_providers.py | 6 +-
scripts/ci/prek/check_init_decorator_arguments.py | 2 -
scripts/ci/prek/check_integrations_list.py | 1 -
scripts/ci/prek/check_k8s_schemas_published.py | 2 -
scripts/ci/prek/check_kubeconform.py | 2 -
.../prek/check_metrics_synced_with_the_registry.py | 309 +
scripts/ci/prek/check_min_python_version.py | 3 -
scripts/ci/prek/check_order_dockerfile_extras.py | 4 +-
scripts/ci/prek/check_provider_docs.py | 7 +-
scripts/ci/prek/check_provider_yaml_files.py | 2 -
.../check_providers_subpackages_all_have_init.py | 1 -
scripts/ci/prek/check_revision_heads_map.py | 2 -
scripts/ci/prek/check_schema_defaults.py | 4 -
scripts/ci/prek/check_sdk_imports.py | 1 -
.../prek/check_shared_distributions_structure.py | 1 -
.../ci/prek/check_shared_distributions_usage.py | 1 -
.../ci/prek/check_system_tests_hidden_in_index.py | 1 -
.../check_template_context_variable_in_sync.py | 3 -
scripts/ci/prek/check_template_fields.py | 2 -
scripts/ci/prek/check_test_only_imports_in_src.py | 1 -
scripts/ci/prek/check_tests_in_right_folders.py | 2 -
scripts/ci/prek/check_ti_vs_tis_attributes.py | 2 -
scripts/ci/prek/check_version_consistency.py | 8 +-
scripts/ci/prek/common_prek_utils.py | 31 +-
scripts/ci/prek/compile_ui_assets.py | 2 -
scripts/ci/prek/compile_ui_assets_dev.py | 3 -
scripts/ci/prek/download_k8s_schemas.py | 3 -
scripts/ci/prek/generate_airflow_diagrams.py | 1 -
...ference.py => generate_execution_api_schema.py} | 32 +-
scripts/ci/prek/generate_openapi_spec.py | 4 -
scripts/ci/prek/generate_openapi_spec_providers.py | 2 -
scripts/ci/prek/generate_volumes_for_sources.py | 4 -
scripts/ci/prek/lint_helm.py | 2 -
scripts/ci/prek/lint_json_schema.py | 2 -
scripts/ci/prek/local_yml_mounts.py | 3 -
scripts/ci/prek/migration_reference.py | 4 -
scripts/ci/prek/mypy.py | 6 +-
scripts/ci/prek/mypy_folder.py | 3 -
scripts/ci/prek/newsfragments.py | 57 +-
scripts/ci/prek/ruff_format.py | 2 +-
scripts/ci/prek/supported_versions.py | 2 +-
scripts/ci/prek/sync_translation_namespaces.py | 2 -
scripts/ci/prek/ts_compile_lint_common_ai.py | 1 -
scripts/ci/prek/ts_compile_lint_edge.py | 1 -
.../prek/ts_compile_lint_simple_auth_manager_ui.py | 1 -
scripts/ci/prek/ts_compile_lint_ui.py | 1 -
scripts/ci/prek/update_airflow_pyproject_toml.py | 4 +-
scripts/ci/prek/update_chart_dependencies.py | 3 -
scripts/ci/prek/update_example_dags_paths.py | 1 -
scripts/ci/prek/update_providers_build_files.py | 1 -
scripts/ci/prek/update_providers_dependencies.py | 2 -
scripts/ci/prek/update_source_date_epoch.py | 4 -
scripts/ci/prek/update_versions.py | 3 -
scripts/ci/prek/upgrade_important_versions.py | 81 +-
scripts/ci/prek/validate_chart_annotations.py | 3 -
scripts/ci/slack_notification_state.py | 210 +
.../testing/get_min_airflow_version_for_python.py | 60 +
scripts/cov/cli_coverage.py | 5 -
scripts/cov/core_coverage.py | 5 -
scripts/cov/other_coverage.py | 5 -
scripts/cov/restapi_coverage.py | 5 -
scripts/docker/common.sh | 20 +-
scripts/docker/entrypoint_ci.sh | 12 +-
scripts/docker/get_distribution_specs.py | 26 +
.../docker/install_airflow_when_building_images.sh | 72 +-
.../docker/install_from_docker_context_files.sh | 6 +-
scripts/docker/install_os_dependencies.sh | 96 +-
.../in_container/install_airflow_and_providers.py | 1 -
.../in_container/install_airflow_python_client.py | 2 -
.../install_development_dependencies.py | 2 -
.../in_container/run_capture_airflowctl_help.py | 2 -
.../in_container/run_check_imports_in_providers.py | 1 -
scripts/in_container/run_generate_constraints.py | 2 -
scripts/in_container/run_generate_migration.sh | 12 +-
scripts/in_container/run_generate_openapi_spec.py | 5 +-
.../run_generate_openapi_spec_providers.py | 1 -
scripts/in_container/run_migration_reference.py | 51 +-
.../in_container/run_provider_yaml_files_check.py | 12 +-
{dev => scripts}/pyproject.toml | 40 +-
.../airflow/_shared => scripts/tests}/__init__.py | 0
.../_shared => scripts/tests/ci}/__init__.py | 0
.../_shared => scripts/tests/ci/docs}/__init__.py | 0
.../tests/ci/docs/test_store_stable_versions.py | 281 +
.../_shared => scripts/tests/ci/prek}/__init__.py | 0
scripts/tests/ci/prek/conftest.py | 76 +
scripts/tests/ci/prek/test_changelog_duplicates.py | 101 +
scripts/tests/ci/prek/test_check_deprecations.py | 206 +
.../prek/test_check_excluded_provider_markers.py | 83 +
.../test_check_metrics_synced_with_the_registry.py | 277 +
.../ci/prek/test_check_order_dockerfile_extras.py | 118 +
.../tests/ci/prek/test_checkout_no_credentials.py | 251 +
scripts/tests/ci/prek/test_common_prek_utils.py | 425 +
.../ci/prek/test_new_session_in_provide_session.py | 243 +
scripts/tests/ci/prek/test_newsfragments.py | 81 +
scripts/tests/ci/prek/test_unittest_testcase.py | 93 +
.../tests/ci/testing}/__init__.py | 0
.../test_get_min_airflow_version_for_python.py | 64 +
.../_shared => scripts/tests/docker}/__init__.py | 0
.../tests/docker/test_get_distribution_specs.py | 152 +
scripts/tools/setup_breeze | 2 +-
shared/configuration/.gitignore | 1 +
shared/dagnode/.gitignore | 1 +
shared/listeners/.gitignore | 1 +
shared/logging/.gitignore | 1 +
.../src/airflow_shared/logging/structlog.py | 26 +-
shared/logging/tests/logging/test_structlog.py | 67 +
shared/module_loading/.gitignore | 1 +
shared/observability/.gitignore | 1 +
.../observability/metrics/metrics_template.yaml | 94 +-
.../observability/traces/__init__.py | 11 +-
shared/plugins_manager/.gitignore | 1 +
shared/providers_discovery/.gitignore | 1 +
shared/secrets_backend/.gitignore | 1 +
shared/secrets_masker/.gitignore | 1 +
shared/template_rendering/.gitignore | 1 +
shared/template_rendering/pyproject.toml | 9 +-
shared/timezones/.gitignore | 1 +
task-sdk-integration-tests/.gitignore | 1 +
task-sdk-integration-tests/pyproject.toml | 2 +-
task-sdk/.gitignore | 1 +
task-sdk/docs/api.rst | 12 +-
task-sdk/docs/deferred-vs-async-operators.rst | 287 +
task-sdk/docs/index.rst | 8 +
task-sdk/pyproject.toml | 15 +-
task-sdk/src/airflow/sdk/__init__.py | 36 +-
task-sdk/src/airflow/sdk/__init__.pyi | 24 +-
task-sdk/src/airflow/sdk/api/client.py | 19 +
.../src/airflow/sdk/api/datamodels/_generated.py | 17 +-
task-sdk/src/airflow/sdk/bases/decorator.py | 6 +-
.../airflow/sdk/definitions/_internal/templater.py | 3 +-
.../sdk/definitions/partition_mappers/temporal.py | 12 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 23 +
.../src/airflow/sdk/execution_time/supervisor.py | 7 +
.../src/airflow/sdk/execution_time/task_runner.py | 18 +-
task-sdk/src/airflow/sdk/observability/__init__.py | 5 +
task-sdk/src/airflow/sdk/types.py | 4 +
task-sdk/tests/task_sdk/api/test_client.py | 88 +-
.../definitions/_internal/test_templater.py | 20 +
.../task_sdk/execution_time/test_supervisor.py | 51 +-
.../task_sdk/execution_time/test_task_runner.py | 29 +-
uv.lock | 23062 +++++++++++++++++++
1099 files changed, 49163 insertions(+), 8370 deletions(-)
create mode 100644 .github/workflows/update-constraints-on-push.yml
create mode 100644 airflow-core/.gitignore
create mode 100644 airflow-core/newsfragments/62369.significant.rst
create mode 100644 airflow-core/newsfragments/63266.bugfix.rst
rename airflow-core/src/airflow/{datasets/metadata.py =>
api_fastapi/execution_api/datamodels/dags.py} (67%)
create mode 100644
airflow-core/src/airflow/api_fastapi/execution_api/routes/dags.py
copy registry/pnpm-workspace.yaml =>
airflow-core/src/airflow/api_fastapi/execution_api/versions/v2026_04_13.py (72%)
delete mode 100644 airflow-core/src/airflow/datasets/__init__.py
create mode 100644
airflow-core/src/airflow/migrations/versions/0108_3_2_0_fix_migration_file_ORM_inconsistencies.py
create mode 100644
airflow-core/src/airflow/migrations/versions/0109_3_2_0_add_bundle_name_to_callback_table.py
delete mode 100644 airflow-core/src/airflow/timetables/datasets.py
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/ru/admin.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/ru/assets.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/ru/browse.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/ru/common.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/ru/components.json
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ru/dag.json
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ru/dags.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/ru/dashboard.json
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/ru/hitl.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/ru/tasks.json
create mode 100644 airflow-core/src/airflow/ui/src/hooks/useHITLReviewTabs.ts
rename airflow-core/src/airflow/ui/tests/e2e/pages/{configurationpage.ts =>
ConfigurationPage.ts} (62%)
delete mode 100644 airflow-core/src/airflow/utils/dag_parsing_context.py
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/head/test_dags.py
copy scripts/cov/restapi_coverage.py =>
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_03_31/test_dags.py
(70%)
delete mode 100644 airflow-core/tests/unit/datasets/test_dataset.py
create mode 100644 airflow-core/tests/unit/utils/test_db_compare.py
create mode 100644 airflow-ctl-tests/.gitignore
create mode 100644 airflow-e2e-tests/.gitignore
copy registry/pnpm-workspace.yaml =>
airflow-e2e-tests/docker/elasticsearch.yml (58%)
copy {airflow-core/src/airflow/_shared =>
airflow-e2e-tests/tests/airflow_e2e_tests/remote_log_elasticsearch_tests}/__init__.py
(100%)
create mode 100644
airflow-e2e-tests/tests/airflow_e2e_tests/remote_log_elasticsearch_tests/test_remote_logging_elasticsearch.py
delete mode 100644 chart/newsfragments/61018.significant.rst
delete mode 100644 chart/newsfragments/61414.significant.rst
delete mode 100644 chart/newsfragments/61820.significant.rst
delete mode 100644 chart/newsfragments/61890.significant.rst
delete mode 100644 chart/newsfragments/62334.significant.rst
delete mode 100644 chart/newsfragments/63019.feature.rst
delete mode 100644 chart/newsfragments/63392.significant.rst
create mode 100644
contributing-docs/24_proposing_best_practices_and_air_rules.rst
create mode 100644 contributing-docs/25_maintainer_pr_triage.md
delete mode 100644
contributing-docs/quick-start-ide/contributors_quick_start_pycharm.rst
create mode 100644
contributing-docs/quick-start-ide/contributors_quick_start_pycharm_intellij.rst
create mode 100644 dev/.gitignore
create mode 100644 dev/breeze/.gitignore
create mode 100644 dev/ide_setup/AGENTS.md
create mode 100644 devel-common/.gitignore
create mode 100644 docker-stack-docs/.gitignore
create mode 100644 docker-tests/.gitignore
create mode 100644 helm-tests/.gitignore
create mode 100644 performance/.gitignore
create mode 100644 providers-summary-docs/.gitignore
create mode 100644 providers/airbyte/.gitignore
create mode 100644 providers/alibaba/.gitignore
create mode 100644 providers/amazon/.gitignore
create mode 100644 providers/apache/beam/.gitignore
create mode 100644 providers/apache/cassandra/.gitignore
create mode 100644 providers/apache/drill/.gitignore
create mode 100644 providers/apache/druid/.gitignore
create mode 100644 providers/apache/flink/.gitignore
create mode 100644 providers/apache/hdfs/.gitignore
create mode 100644 providers/apache/hive/.gitignore
create mode 100644 providers/apache/iceberg/.gitignore
create mode 100644 providers/apache/impala/.gitignore
create mode 100644 providers/apache/kafka/.gitignore
create mode 100644 providers/apache/kylin/.gitignore
create mode 100644 providers/apache/livy/.gitignore
create mode 100644 providers/apache/pig/.gitignore
create mode 100644 providers/apache/pinot/.gitignore
create mode 100644 providers/apache/spark/.gitignore
create mode 100644 providers/apache/tinkerpop/.gitignore
create mode 100644 providers/apprise/.gitignore
create mode 100644 providers/arangodb/.gitignore
create mode 100644 providers/asana/.gitignore
create mode 100644 providers/atlassian/jira/.gitignore
create mode 100644 providers/celery/.gitignore
create mode 100644 providers/cloudant/.gitignore
create mode 100644 providers/cncf/kubernetes/.gitignore
create mode 100644 providers/cohere/.gitignore
create mode 100644 providers/common/compat/.gitignore
create mode 100644 providers/common/io/.gitignore
create mode 100644 providers/common/messaging/.gitignore
create mode 100644 providers/common/sql/.gitignore
create mode 100644 providers/databricks/.gitignore
create mode 100644 providers/datadog/.gitignore
create mode 100644 providers/dbt/cloud/.gitignore
create mode 100644 providers/dingding/.gitignore
create mode 100644 providers/discord/.gitignore
create mode 100644 providers/docker/.gitignore
copy providers/{fab => edge3}/docs/migrations-ref.rst (56%)
create mode 100644
providers/edge3/src/airflow/providers/edge3/migrations/versions/0003_3_2_0_fix_migration_file_orm_inconsistencies.py
create mode 100644 providers/elasticsearch/.gitignore
create mode 100644 providers/exasol/.gitignore
create mode 100644
providers/fab/src/airflow/providers/fab/migrations/versions/0001_3_5_0_fix_fab_db_inconsistencies.py
create mode 100644 providers/facebook/.gitignore
create mode 100644 providers/ftp/.gitignore
create mode 100644 providers/git/.gitignore
create mode 100644 providers/github/.gitignore
create mode 100644 providers/google/.gitignore
create mode 100644 providers/grpc/.gitignore
create mode 100644 providers/hashicorp/.gitignore
create mode 100644 providers/http/.gitignore
create mode 100644 providers/imap/.gitignore
create mode 100644 providers/influxdb/.gitignore
create mode 100644 providers/informatica/.gitignore
create mode 100644 providers/jdbc/.gitignore
create mode 100644 providers/jenkins/.gitignore
create mode 100644 providers/keycloak/.gitignore
create mode 100644 providers/microsoft/azure/.gitignore
create mode 100644 providers/microsoft/mssql/.gitignore
create mode 100644 providers/microsoft/psrp/.gitignore
create mode 100644 providers/microsoft/winrm/.gitignore
create mode 100644 providers/mongo/.gitignore
create mode 100644 providers/mysql/.gitignore
create mode 100644 providers/neo4j/.gitignore
create mode 100644 providers/odbc/.gitignore
create mode 100644 providers/openai/.gitignore
create mode 100644 providers/openfaas/.gitignore
create mode 100644 providers/openlineage/.gitignore
create mode 100644 providers/opensearch/.gitignore
create mode 100644 providers/opsgenie/.gitignore
create mode 100644 providers/oracle/.gitignore
create mode 100644 providers/pagerduty/.gitignore
rename providers/pagerduty/docs/connections/{pagerdurty.rst => pagerduty.rst}
(97%)
create mode 100644 providers/papermill/.gitignore
create mode 100644 providers/pgvector/.gitignore
create mode 100644 providers/pinecone/.gitignore
create mode 100644 providers/postgres/.gitignore
create mode 100644 providers/presto/.gitignore
create mode 100644 providers/qdrant/.gitignore
create mode 100644 providers/redis/.gitignore
create mode 100644 providers/salesforce/.gitignore
create mode 100644 providers/samba/.gitignore
create mode 100644 providers/segment/.gitignore
create mode 100644 providers/sendgrid/.gitignore
create mode 100644 providers/sftp/.gitignore
create mode 100644 providers/singularity/.gitignore
create mode 100644 providers/slack/.gitignore
create mode 100644 providers/smtp/.gitignore
create mode 100644 providers/snowflake/.gitignore
create mode 100644 providers/sqlite/.gitignore
create mode 100644 providers/ssh/.gitignore
create mode 100644 providers/standard/.gitignore
create mode 100644 providers/tableau/.gitignore
create mode 100644 providers/telegram/.gitignore
create mode 100644 providers/teradata/.gitignore
create mode 100644 providers/trino/.gitignore
create mode 100644 providers/vertica/.gitignore
create mode 100644 providers/weaviate/.gitignore
create mode 100644 providers/yandex/.gitignore
create mode 100644 providers/ydb/.gitignore
create mode 100644 providers/zendesk/.gitignore
create mode 100644 scripts/.gitignore
copy {airflow-core/src/airflow/_shared => scripts/ci}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared => scripts/ci/docs}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared => scripts/ci/prek}/__init__.py (100%)
create mode 100755 scripts/ci/prek/check_connection_doc_labels.py
create mode 100755 scripts/ci/prek/check_distribution_gitignore.py
create mode 100644 scripts/ci/prek/check_excluded_provider_markers.py
create mode 100644 scripts/ci/prek/check_metrics_synced_with_the_registry.py
copy scripts/ci/prek/{migration_reference.py =>
generate_execution_api_schema.py} (61%)
mode change 100755 => 100644
create mode 100644 scripts/ci/slack_notification_state.py
create mode 100644 scripts/ci/testing/get_min_airflow_version_for_python.py
copy {dev => scripts}/pyproject.toml (62%)
copy {airflow-core/src/airflow/_shared => scripts/tests}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared => scripts/tests/ci}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared => scripts/tests/ci/docs}/__init__.py
(100%)
create mode 100644 scripts/tests/ci/docs/test_store_stable_versions.py
copy {airflow-core/src/airflow/_shared => scripts/tests/ci/prek}/__init__.py
(100%)
create mode 100644 scripts/tests/ci/prek/conftest.py
create mode 100644 scripts/tests/ci/prek/test_changelog_duplicates.py
create mode 100644 scripts/tests/ci/prek/test_check_deprecations.py
create mode 100644
scripts/tests/ci/prek/test_check_excluded_provider_markers.py
create mode 100644
scripts/tests/ci/prek/test_check_metrics_synced_with_the_registry.py
create mode 100644 scripts/tests/ci/prek/test_check_order_dockerfile_extras.py
create mode 100644 scripts/tests/ci/prek/test_checkout_no_credentials.py
create mode 100644 scripts/tests/ci/prek/test_common_prek_utils.py
create mode 100644 scripts/tests/ci/prek/test_new_session_in_provide_session.py
create mode 100644 scripts/tests/ci/prek/test_newsfragments.py
create mode 100644 scripts/tests/ci/prek/test_unittest_testcase.py
copy {airflow-core/src/airflow/_shared =>
scripts/tests/ci/testing}/__init__.py (100%)
create mode 100644
scripts/tests/ci/testing/test_get_min_airflow_version_for_python.py
copy {airflow-core/src/airflow/_shared => scripts/tests/docker}/__init__.py
(100%)
create mode 100644 scripts/tests/docker/test_get_distribution_specs.py
create mode 100644 shared/configuration/.gitignore
create mode 100644 shared/dagnode/.gitignore
create mode 100644 shared/listeners/.gitignore
create mode 100644 shared/logging/.gitignore
create mode 100644 shared/module_loading/.gitignore
create mode 100644 shared/observability/.gitignore
rename {airflow-core/src/airflow =>
shared/observability/src/airflow_shared}/observability/traces/__init__.py (95%)
create mode 100644 shared/plugins_manager/.gitignore
create mode 100644 shared/providers_discovery/.gitignore
create mode 100644 shared/secrets_backend/.gitignore
create mode 100644 shared/secrets_masker/.gitignore
create mode 100644 shared/template_rendering/.gitignore
create mode 100644 shared/timezones/.gitignore
create mode 100644 task-sdk/docs/deferred-vs-async-operators.rst
create mode 100644 uv.lock