This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/providers/edge3/src/airflow/providers/edge3/plugins/www/vite-7.1.11
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit bacc4ceffcc Bump vite in
/providers/edge3/src/airflow/providers/edge3/plugins/www
add e24cfb0fae9 Common.Compat: Extract reusable compat utilities and
rename to sdk (#56884)
add 0cc7da3369f Align HITL frontend and backend API sorting parameters
(#56030)
add 8ffb7b17a33 fix(scheduler): load dag_run eagering for execution API
validation (#56916)
add d83e80ff615 FAB: reuse ORM type hints from common-compat (#56903)
add e8194f12e8e Introduce generic Callbacks to support running callbacks
on executors (#54796)
add 4791bbb5206 Fix DAG params API contract broken by #55111 (#56831)
add c99f814ddb2 use AIRFLOW__CELERY__POOL=solo when debugging
celery-worker (#56868)
add 6802605ee8d Fix mypy errors for sqla2 in aws hooks (#56751)
add f32fdf86622 Close Catalan gap (#56905)
add 8d4d4b164e2 Add support of deferable mode for
CloudDataTransferServiceRunJobOperator (#56711)
add 389a34bddd7 Move container-related functions from PodManager to a
separate file (#56700)
add e24d78c3ef2 Add security checkpoints to release processes. (#56927)
add d16a8207b71 Restore timtable active_runs_limit check (#56922)
add 04e59381ef5 Bump psutil from 7.1.0 to 7.1.1 in /dev/breeze (#56899)
add d9790957192 update celery broker_url config description (#56917)
add 4dec042ff31 Pass required remote_host arg to SSHHook (#55664)
add 02cea461679 let PubsubPullTrigger exceptions propagate to triggerer
framework (#56400)
add e33598939d9 Serialize pydantic models in json mode. This ensures the
dict is json serializable. (#56736) (#56878)
add 209fb2e923b Revert "fix(scheduler): load dag_run eagering for
execution API validation (#56916)" (#56943)
add 800f733c22f fix: enable api to clear ti instances by specifying map
indexes (#56346)
add a244a0166a1 Add Thai UI translation (#56353)
add 652dd855aa0 fix MyPy type errors in test_assets.py ,
test_mapped_task_upstream_dep.py and test_serialized_objects.py. for
SQLAlchemy 2 compatibility (#56806)
add a35602c691c Simplify version-specific imports in the Standard provider
(#56867)
add df0e1ae9286 SQLA2/FAB: fix some type hints (#56928)
add d7174df9b81 Fix refresh token middleware error handling (#56892)
add c26fc9334cd Bump vite (#56914)
add 871ff3a010c fix: Add ``max_retry_delay`` to ``MappedOperator`` model
(#56396)
add 0e3312d035e SQLA2: Fix assorted mypy issues in core (#56930)
add 82d2aff08f2 fix mypy type errors in dag_processing for sqlalchemy 2
upgrade (#56843)
add f3ad20aad80 fix: Fix MyPy type errors in CLI commands for SQLAlchemy 2
compatibility (#56907)
add 34ac24fa27b Deprecate old vertex ai generative operators and introduce
new gen ai (#56950)
add 4f7908cc883 docs: Enhance triggering_asset_event retrieval
documentation in DAGs (#52666) (#52674)
add 9b1beb4b51a Bump vite from 7.1.5 to 7.1.11 in
/airflow-core/src/airflow/ui (#56912)
add 9366ab2f559 Update duration format to show milliseconds (#56775)
add 04e6398eaca Bump happy-dom from 17.4.6 to 20.0.2 in
/airflow-core/src/airflow/ui (#56684)
add 657cde25713 SQLA2: fix mypy violations in
`api_fastapi/.../calendar.py` (#56944)
add fbcc0b02edd fix: fix mypy type errors in test_otel.py (#56958)
add 1c62f7541a6 Remove celery code from the Go Worker (#56964)
add 23f97a64651 fix: fix mypy errors in tests/unit/api_fastapi/common/
(#56960)
add 7a81ed0e00f Update go module versions of go-sdk (#56966)
add c3f53b1d598 Fix topological sort for Grid View (#56963)
add 4b5a1c4954e Rename the package for the Airflow go edge worker so it is
`go install`able (#56970)
add 25202a8a703 Fix import datetime in `Job` (#56972)
add 051160409fb Add configurable timeout for Execution API requests
(#56969)
add 62a0eb71731 Fix MyPy type error in workloads.py for SQLAlchemy 2
compatibility (#56906)
add 1a654344f03 Fix main. Fix `test_athena_sql.py` (#56974)
add 0b3a294b51a SQLA2: Partially fix type hints in the edge3 provider
(#56873)
add 21f468cb8ab fix: fix mypy errors in utils/log (#56967)
add ded31721d01 Fix MyPy test errors in api_fastapi/core_api/routes/ui/*
(#56918)
add bfa4a1bb504 Fix deprecated GitHub API authentication in airflow-github
script (#56978)
add 02fef9d6203 Fix FlexibleForm rendering when all params have sections
(#56870)
add d7b440bf431 SQLA2: fix mypy issue with getting the dialect name
(#56941)
add e6e337061ef docs:improve plugin system documentation for clarity and
completeness (#56177)
add 8a537eee323 Migrate asana provider to ``common.compat`` (#57007)
add c61c9e4c6c3 Migrate airbyte provider to ``common.compat`` (#56996)
add 1a610af8ce3 Migrate dbt.cloud provider to ``common.compat`` (#56999)
add 84a467e8e61 Migrate weaviate provider to ``common.compat`` (#57019)
add 339904d9fef Migrate pgvector provider to common.compat (#57024)
add a8c4499af56 Migrate cncf/kubernetes provider to ``common.compat``
(#57023)
add 7decce8ad6b Migrate hashicorp provider to common.compat (#57015)
add 08ff167a7b0 Migrate jdbc and jenkins providers to ``common.compat``
(#57012)
add 44a29da2e67 Migrate openai provider to ``common.compat`` (#57020)
add a04fc1407d6 Migrate sendgrid provider to ``common.compat`` (#57021)
add 28f4379ee4c Migrate ssh provider to ``common.compat`` (#57004)
add a8a0d62186a Migrate apprise provider to ``common.compat`` (#57005)
add b7ee3d759a0 Migrate amazon provider to ``common.compat`` (#56994)
add b52c7e66689 Migrate microsoft providers to ``common.compat`` (#56995)
add d1a58efbc00 Migrate snowflake provider to ``common.compat`` (#57003)
add 29aa4dc9e08 Migrate databricks provider to ``common.compat`` (#56993)
add 6f50f35292c Migrate atlassian-jira provider to ``common.compat``
(#57002)
add dacc23d8748 Migrate arangodb provider to ``common.compat`` (#57001)
add e3a4f703ac2 Migrate zendesk provider to ``common.compat`` (#56997)
add 88406a5fd6c Migrate alibaba provider to ``common.compat`` (#57000)
add 62b441164dd Migrate github provider to ``common.compat`` (#57009)
add d6628a5c6f5 Migrate git provider to ``common.compat`` (#57008)
add b0d396af042 Migrate edge3 provider to ``common.compat`` (#56998)
add e2289f9f90a Remove state dependency from airflow core in sdk (#55292)
add 6eb9d9e578b Fix Outlet Event Extra Data is Empty in Task Instance
Success Listener (#54568)
add bca6675862b ci(github): move Guan Ming as Taiwan translation code
owner (#57034)
add 79738baae90 feat(i18n): fill the Taiwan translation gap (#57035)
add 8d71c0710c5 Fix Extra Links translation key. (#57030)
add 70f9cf6082b docs(ui/grid): add a comment to explain why dag_id need to
be filtered again (#57033)
add c2c81525c05 Update readme docs for Go SDK (#56975)
add 21c15cb3cc5 Enable PT011 rule to airflow-core tests (#57014)
add 757db273916 fix get latest serialized_dag model query to prevent "Out
of sort memory" error (#55589)
add 61e75193178 Enable PT011 rule to provider tests (#56578)
add 833717a53a2 fix(scheduler): load dag_run eagering for execution API
validation (#57010)
add 8668fe57527 Fix dags list not rendering (#57037)
add 4e4621251a7 Fix dag list cache invalidation on favouriting a dag
(#57039)
add 05258c9448c Caught if added commands is not an airflowctl command
(#56991)
add a1951633acf Close German translation gaps for full UI translation
2025-10-21 (#56980)
add 5ed4ffe4ac0 fix: fix mypy errors in /api/common/airflow_health.py
(#57017)
add ea01d3c34a6 Migrate postgres provider to ``common.compat`` (#57022)
add 1e7639dbbab Fix main static checks (#57050)
add 33820c0ef81 Update Cadwyn migrations with v3-1-test changes (#57011)
add f9ddaa62ddb Fix static checks in go-sdk/README.md (#57052)
add ef5977c0b53 Throw NotImplementedError error when
fail_when_dag_is_paused is used in TriggerDagRunOperator with Airflow 3.x
(#56965)
add e6038eee78f Migrate tableau, telegram, trino, teradata providers to
``common.compat`` (#57013)
add 8843d4e71ce Update French local for 3.1.1 (#57043)
add 4c35cd2006a Fix: Adjust PanelButtons spacing and alignment (#56570)
add 9d51b42ded6 Migrate Apache providers & Elasticsearch to
``common.compat`` (#57016)
add ad809637152 Migrate redis provider to ``common.compat`` (#57006)
add 23140992902 Add possibility of removing extra translations missing in
en (#57060)
add b49948152b4 Use the correct backfill command in airflowctl tests
(#57071)
add 7ab6dc2ecf3 Prepare release for Oct 2025 wave of providers (#57029)
add a8f2d975983 Fix grid links for tasks with retries (#57063)
add c3daef9fa93 HTTP Notifier implementation (#56160)
add f78196710b0 fix: fix mypy errors in api_fastapi/logging/ (#57096)
add 3e1b02a1a1a Migrate remaining providers to common.compat compatibility
layer in singularity (#57077)
add cfa11c92ed3 Migrate remaining providers to common.compat compatibility
layer (#57073)
add 8bfd7f1e7e1 Migrate remaining providers to common.compat compatibility
layer in Salesforce (#57088)
add 52dd46d9252 Migrate remaining providers to common.compat compatibility
layer (#57093)
add 6fb4e26f981 Port Airflow Python client changes (#57103)
add 7cec2a78ac8 Fix triggerer errors after Airflow 2 to 3 migration
(#55884)
add b2f78738f7f Extract prek hooks for Edge provider (#57104)
add f1f051c24cd Migrate remaining providers to common.compat compatibility
layer in facebook (#57079)
add 3271d5ff5ea Migrate segment provider to ``common.compat`` (#57078)
add b153d5e9ae6 Migrate discord provider to ``common.compat`` (#57114)
add 44f8479b159 Migrate slack provider to ``common.compat`` (#57110)
add b2f8b9fce27 Make SerializedParam.resolve not raise by default (#56923)
add fa60a7a02f1 Migrate retry handler in task SDK API client to use
tenacity instead of retryhttp (#56762)
add 8a7bc17a57a Expand task sdk integration tests to cover task instance
endpoints (#57056)
add 080eed68466 add my username (#57128)
add f8f976dffcf Remove MySQL client (#57146)
add 6b37361b8bf Bump `common.compat` provider to 1.8 for some providers
(#57115)
add b73f5839d93 Migrate cloudant provider to common.compat compatibility
layer (#57070)
add b55fca0330f Fix mypy type errors in collection.py (#57095)
add d31c7326967 Migrate `common.sql` provider to `common.compat` (#57075)
add 42e73140b53 fix mypy type errors in prev_dagrun_dep.py (#57119)
add 0f1ba974f97 Fix: Fix MyPy type errors in manager.py (#57090)
add da32b682d1b Fix connection access in triggerer for deferrable
operators (#57154)
add 5f2d9610b9d SQLA2 Migration: Fix airflow/utils/context.py MyPy error
(#57122)
add 66bf2c344c9 Migrate `apache/kylin` provider to `common.compat` (#57132)
add 026444b1ad2 Migrate `ftp` provider to `common.compat` (#57127)
add c8f2c967dbb Migrate `opsgenie` provider to `common.compat` (#57121)
add fa5e3fb5ba3 Migrate `Pagerduty` provider to `common.compat` (#57120)
add 68d2fabdbf9 Migrate `Papermill` provider to `common.compat` (#57118)
add fc155f27b49 Migrate `yandex` provider to `common.compat` (#57116)
add bd22d28eb91 Migrate `influxdb` provider to `common.compat` (#57092)
add 6838c82dbac Migrate samba provider to ``common.compat`` (#57082)
add 560a5fe270e Migrate `http` provider to `common.compat` (#57089)
add f9b38d28862 Update UI contributing docs (#56987)
add 93b97d0a671 Migrate neo4j provider to `common.compat` (#57149)
add e155012353b Migrate pinecone provider to `common.compat` (#57137)
add 82bff7e98e8 Migrate presto provider to common.compat (#57136)
add 6092ed468db Migrate Oracle providers to `common.compat` compatibility
layer (#57133)
add e55ab6ea43f Migrate `datadog` provider to `common.compat` (#57074)
add 35bbcd0019d Migrate `opensearch` provider to `common.compat` (#57129)
add 5013aad00b3 Fix dag-processor crash when renaming DAG tag case on
MySQL (#57113)
add 970d7dac23a Use `exc_info` for task instance heartbeat failure
exception logging (#57172)
add 84c882a1d07 Fix DAG bundle retrieval from S3 (#57178)
add 0af0661fb97 Extract prek hooks for Keycloak provider (#57182)
add a158ded9aa8 Migrate smtp provider to `common.compat` (#57105)
add 8ecca1dfbab Resolves the CI failure in the upgrade-important-versions
hook. (#57185)
add 881c0a3cc6e Extract prek hooks for Common.Compat provider (#57183)
add 7289f4f5475 Move subprocess utility closer to usage in google beam
(#57187)
add f52c0f6685f Bump zizmor version to 1.16.0 to fix CI (#57190)
add a14cd327c4d fix MyPy type errors in common (#56807)
add 267882a4672 Extract prek hooks for FAB provider (#57181)
add 23a4d8f5688 refactor: migrate models to use mapped_column for
SQLAlchemy 2.0 compatibility (#56827)
add 7b78a72e6b5 Migrate openfaas provider to common.compat (#57134)
add b92ae3d1d1d Migrate sftp provider to `common.compat` (#57111)
add 78837ef2c4f Update release process for providers to use RAT 0.17
(#57201)
add 063643911ef Deprecate subprocess exec utils from airflow core (#57193)
add 3b97c94376a Fix dag processor crash by ignoring callbacks from other
bundles (#57192)
add 9adb256aba3 fix: Add auto-refresh functionality to Required Actions
page (#56404)
add c54922e0d80 Fix Link to Dag in Plugin (#55642)
add 3eac6805ade Fixing some typos and spelling errors (#57186)
add 9fa5773308f Migrate openlineage provider to common.compat (#57124)
add 57f3d91efb7 Revert "Fix main. Fix `test_athena_sql.py` (#56974)"
(#57098)
add 5f6a2ab5d33 Migrate google provider to `common.compat` (#57130)
add 7bd21a641b4 Add missing `bucket_name` to `get_file_metadata` in
`S3Hook`
add c52c62f3e31 Migrate `common/sql` provider to `common.compat` (#57135)
add cf709afa6a1 Upgrade `flask-appbuilder` to 5.0.1 (#57170)
add 491f4a77313 Move subprocess utility closer to usage in python venv
operators (#57189)
add 60c38de195f Upgrade cloudant provider to use compat provider 1.8.0
(#57202)
add 05e43837f6c Migrate MySQL provider to `common.compat` (#57165)
add d9dd661d2f9 Fix static check (#57211)
add eb6f2c3e387 Migrate Docker provider to `common.compat` (#57117)
add 1d96f675991 Migrate grpc provider to common.compat (#57087)
add a92319ac832 Fix Pagerduty tests for latest version 6.0.0 (#57216)
add cf991d84230 Add task instance integration tests for rtif, heartbeat,
state transitions (#57198)
add 86339245567 Add missing translations PL 2025.10.22 (#57059)
add e75dd479e9a Add dependabot and code-scanning reviews before release
(#57227)
add 880c2703c8a Bump prek to 0.2.11 and pip to 25.3 (#57228)
add 551fb3adf8f Update airflow-api.service (#53842)
add b37016084ed Fix systemd service files issues (#57126)
add cf82ae49a74 Make single workflow to run both AMD and ARM builds
(#56887)
add 427f3fa4ab8 refactor sync_bundles_to_db (#57150)
add 2d3efa900de Fix: Handle string formatted conf param in
TriggerDagRunOperator (#57214)
add c5b7fbb369f Automatically publish "apache-airflow-providers" docs
(#57229)
add 90e3926868d Review and modernize release check process for Airflow:
(#57203)
add 1d422c6fd33 i18n(Ko): add missing translations(Oct 25) (#57240)
add 0ce2f5c866d CI: Fix workflow name (#57246)
add 10ae2b3bf56 Refactor DAG deactivation logic (#57233)
add 1039a4605a6 Fixes inconsistency where other dbt operators already
supported hook_params (#57242)
add 505d9e42392 Auto-compile UI assets on Breeze start-airflow command
(#57219)
add d75002208c6 Update release docs for Helm Chart to use breeze
workflow-run (#57255)
add 4f3cf811c17 Fix runner type assignment in selective checks (#57254)
add 045fbc5d80d Extract prek hooks for Providers (#57250)
add 35ab7af0543 SQLA2: fix mypy violations in core_api/security.py (#57249)
add d75e91340d3 Disable some integration tests for ARM (#57259)
add fb601d89deb CHG: image (#56593)
add a0b4d2979bf Only show latest minor versions in version drop-down in
docs (#57243)
add 4e66830a3d8 Migrate `mongo` provider to `common.compat` (#57147)
add 63a5cfe689d Migrate `imap` provider to `common.compat` (#57091)
add 5a28c4499da Fix n+1 query to fetch tags in the dags list page (#57270)
add f515fe35274 Bump vite from 7.1.5 to 7.1.11 in
/dev/react-plugin-tools/react_plugin_template (#57200)
add 91a355292dc Extract prek hooks for Task-SDK (#57264)
add 46f47554e5e Fix documentation/provider.yaml consistencies (#57283)
add 4219c573a7e Add better platform diagnostics to see which platform is
used (#57284)
add 249f50699f4 Bump happy-dom from 18.0.1 to 20.0.2 in
/providers/edge3/src/airflow/providers/edge3/plugins/www (#56686)
add 5585daf1ce0 Bump vite in
/providers/edge3/src/airflow/providers/edge3/plugins/www
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 (bacc4ceffcc)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/providers/edge3/src/airflow/providers/edge3/plugins/www/vite-7.1.11
(5585daf1ce0)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 6 +-
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 4 +-
.github/boring-cyborg.yml | 3 +
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/{ci-amd.yml => ci-amd-arm.yml} | 150 +-
.github/workflows/ci-arm.yml | 860 ----
.github/workflows/ci-notification.yml | 2 +-
.github/workflows/prod-image-extra-checks.yml | 23 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.gitignore | 4 +
.pre-commit-config.yaml | 397 +-
.rat-excludes | 143 +-
Dockerfile | 91 +-
Dockerfile.ci | 93 +-
README.md | 10 +-
.../docs/administration-and-deployment/plugins.rst | 37 +-
.../authoring-and-scheduling/asset-scheduling.rst | 88 +-
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/img/airflow_erd.sha256 | 2 +-
airflow-core/docs/img/airflow_erd.svg | 4247 ++++++++++----------
airflow-core/docs/migrations-ref.rst | 4 +-
.../src/airflow/api/common/airflow_health.py | 9 +-
.../auth/managers/simple/ui/package-lock.json | 8 +-
.../auth/managers/simple/ui/package.json | 2 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 448 +--
.../api_fastapi/auth/middlewares/refresh_token.py | 38 +-
.../src/airflow/api_fastapi/common/db/common.py | 6 +-
.../src/airflow/api_fastapi/common/db/dags.py | 3 +-
.../api_fastapi/core_api/datamodels/dags.py | 2 +-
.../core_api/datamodels/task_instances.py | 6 +-
.../api_fastapi/core_api/datamodels/tasks.py | 2 +-
.../core_api/openapi/v2-rest-api-generated.yaml | 8 +-
.../api_fastapi/core_api/routes/public/hitl.py | 1 +
.../core_api/routes/public/task_instances.py | 27 +-
.../api_fastapi/core_api/routes/ui/assets.py | 11 +-
.../api_fastapi/core_api/routes/ui/backfills.py | 7 +-
.../airflow/api_fastapi/core_api/routes/ui/dags.py | 8 +-
.../api_fastapi/core_api/routes/ui/dashboard.py | 12 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 4 +-
.../api_fastapi/core_api/routes/ui/structure.py | 2 +-
.../src/airflow/api_fastapi/core_api/security.py | 19 +-
.../api_fastapi/core_api/services/ui/calendar.py | 39 +-
.../api_fastapi/execution_api/versions/__init__.py | 9 +-
.../versions/{v2025_10_10.py => v2025_10_27.py} | 18 +-
.../versions/{v2025_10_10.py => v2026_01_01.py} | 15 -
.../src/airflow/api_fastapi/logging/decorators.py | 6 +-
airflow-core/src/airflow/assets/manager.py | 3 +-
.../src/airflow/cli/commands/dag_command.py | 16 +-
.../src/airflow/cli/commands/task_command.py | 8 +-
.../src/airflow/config_templates/config.yml | 9 +
.../src/airflow/dag_processing/bundles/manager.py | 9 +-
.../src/airflow/dag_processing/collection.py | 83 +-
airflow-core/src/airflow/dag_processing/dagbag.py | 2 +-
airflow-core/src/airflow/dag_processing/manager.py | 30 +-
airflow-core/src/airflow/executors/workloads.py | 73 +-
airflow-core/src/airflow/jobs/job.py | 31 +-
.../src/airflow/jobs/scheduler_job_runner.py | 34 +-
.../src/airflow/jobs/triggerer_job_runner.py | 8 +-
.../0091_3_2_0_restructure_callback_table.py | 101 +
airflow-core/src/airflow/models/__init__.py | 2 +
airflow-core/src/airflow/models/backfill.py | 13 +
airflow-core/src/airflow/models/callback.py | 208 +
airflow-core/src/airflow/models/dag.py | 7 +-
airflow-core/src/airflow/models/dagrun.py | 11 +-
.../src/airflow/models/db_callback_request.py | 39 +-
airflow-core/src/airflow/models/deadline.py | 4 +-
airflow-core/src/airflow/models/hitl_history.py | 39 +-
airflow-core/src/airflow/models/mappedoperator.py | 4 +
airflow-core/src/airflow/models/pool.py | 4 +-
.../src/airflow/models/renderedtifields.py | 2 +-
airflow-core/src/airflow/models/serialized_dag.py | 16 +-
airflow-core/src/airflow/models/trigger.py | 6 +-
.../src/airflow/serialization/definitions/param.py | 83 +-
.../airflow/serialization/definitions/taskgroup.py | 4 +
.../airflow/serialization/serialized_objects.py | 3 +
.../airflow/serialization/serializers/pydantic.py | 2 +-
.../src/airflow/ti_deps/deps/prev_dagrun_dep.py | 10 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 2 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 2 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 2 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 2 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 3 +-
.../ui/openapi-gen/requests/services.gen.ts | 2 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 5 +-
airflow-core/src/airflow/ui/package.json | 4 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 534 +--
airflow-core/src/airflow/ui/public/i18n/README.md | 12 +
.../ui/public/i18n/locales/ar/components.json | 1 -
.../airflow/ui/public/i18n/locales/ar/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/ca/common.json | 9 +-
.../ui/public/i18n/locales/ca/components.json | 5 +-
.../src/airflow/ui/public/i18n/locales/ca/dag.json | 2 +
.../airflow/ui/public/i18n/locales/ca/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/ca/hitl.json | 3 +
.../airflow/ui/public/i18n/locales/de/common.json | 5 +
.../ui/public/i18n/locales/de/components.json | 9 +-
.../airflow/ui/public/i18n/locales/de/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/de/hitl.json | 5 +
.../airflow/ui/public/i18n/locales/el/common.json | 1 -
.../airflow/ui/public/i18n/locales/en/hitl.json | 2 +
.../ui/public/i18n/locales/es/components.json | 1 -
.../airflow/ui/public/i18n/locales/es/dags.json | 3 +-
.../ui/public/i18n/locales/fr/components.json | 7 +-
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 2 +
.../airflow/ui/public/i18n/locales/fr/dags.json | 3 +-
.../ui/public/i18n/locales/he/components.json | 1 -
.../airflow/ui/public/i18n/locales/he/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/hi/common.json | 3 -
.../ui/public/i18n/locales/hi/components.json | 1 -
.../src/airflow/ui/public/i18n/locales/hi/dag.json | 5 +-
.../airflow/ui/public/i18n/locales/hi/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/hu/common.json | 2 -
.../ui/public/i18n/locales/hu/components.json | 1 -
.../airflow/ui/public/i18n/locales/hu/dags.json | 3 +-
.../ui/public/i18n/locales/it/components.json | 1 -
.../airflow/ui/public/i18n/locales/it/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/ko/common.json | 5 +
.../airflow/ui/public/i18n/locales/ko/hitl.json | 2 +
.../ui/public/i18n/locales/nl/components.json | 1 -
.../airflow/ui/public/i18n/locales/nl/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/pl/common.json | 5 +
.../airflow/ui/public/i18n/locales/pl/hitl.json | 2 +
.../ui/public/i18n/locales/pt/components.json | 1 -
.../airflow/ui/public/i18n/locales/pt/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/th/admin.json | 166 +
.../airflow/ui/public/i18n/locales/th/assets.json | 30 +
.../airflow/ui/public/i18n/locales/th/browse.json | 26 +
.../airflow/ui/public/i18n/locales/th/common.json | 318 ++
.../ui/public/i18n/locales/th/components.json | 132 +
.../src/airflow/ui/public/i18n/locales/th/dag.json | 154 +
.../airflow/ui/public/i18n/locales/th/dags.json | 96 +
.../ui/public/i18n/locales/th/dashboard.json | 45 +
.../airflow/ui/public/i18n/locales/th/hitl.json | 34 +
.../airflow/ui/public/i18n/locales/th/tasks.json | 10 +
.../ui/public/i18n/locales/tr/components.json | 1 -
.../airflow/ui/public/i18n/locales/tr/dags.json | 3 +-
.../ui/public/i18n/locales/zh-CN/components.json | 1 -
.../airflow/ui/public/i18n/locales/zh-CN/dags.json | 3 +-
.../ui/public/i18n/locales/zh-TW/common.json | 7 +
.../ui/public/i18n/locales/zh-TW/components.json | 5 +-
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 3 +-
.../airflow/ui/public/i18n/locales/zh-TW/hitl.json | 2 +
.../src/components/FlexibleForm/FlexibleForm.tsx | 2 +-
airflow-core/src/airflow/ui/src/i18n/config.ts | 1 +
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 15 +-
.../layouts/Details/Grid/TaskInstancesColumn.tsx | 5 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 14 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 1 +
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 109 +-
.../ui/src/pages/TaskInstance/ExtraLinks.tsx | 4 +-
.../airflow/ui/src/queries/useToggleFavoriteDag.ts | 11 +-
.../src/airflow/ui/src/utils/datetimeUtils.test.ts | 6 +-
.../src/airflow/ui/src/utils/datetimeUtils.ts | 6 +-
airflow-core/src/airflow/utils/context.py | 3 +
airflow-core/src/airflow/utils/db.py | 2 +-
.../src/airflow/utils/log/file_task_handler.py | 13 +-
airflow-core/src/airflow/utils/log/log_reader.py | 7 +-
airflow-core/src/airflow/utils/process_utils.py | 23 +
airflow-core/src/airflow/utils/sqlalchemy.py | 14 +-
airflow-core/tests/integration/otel/test_otel.py | 2 +
.../tests/unit/always/test_project_structure.py | 6 +
.../auth/middlewares/test_refresh_token.py | 14 +
.../unit/api_fastapi/common/test_exceptions.py | 3 +
.../core_api/routes/public/test_assets.py | 4 +-
.../core_api/routes/public/test_dags.py | 70 +-
.../core_api/routes/public/test_task_instances.py | 141 +-
.../core_api/routes/public/test_tasks.py | 10 +-
.../api_fastapi/core_api/routes/ui/test_dags.py | 67 +
.../versions/v2025_04_28}/__init__.py | 0
.../tests/unit/dag_processing/test_collection.py | 32 +
.../tests/unit/dag_processing/test_manager.py | 137 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 152 +
airflow-core/tests/unit/jobs/test_triggerer_job.py | 32 +
airflow-core/tests/unit/models/test_callback.py | 139 +
airflow-core/tests/unit/models/test_dag.py | 8 +-
.../tests/unit/models/test_mappedoperator.py | 178 +
.../unit/serialization/test_dag_serialization.py | 6 +
.../unit/serialization/test_serialized_objects.py | 4 +-
.../ti_deps/deps/test_mapped_task_upstream_dep.py | 2 +-
airflow-core/tests/unit/utils/test_db.py | 2 +-
airflow-core/tests/unit/utils/test_helpers.py | 8 +-
.../tests/unit/utils/test_operator_helpers.py | 4 +-
airflow-core/tests/unit/utils/test_sqlalchemy.py | 57 +-
airflow-core/tests/unit/utils/test_task_group.py | 34 +-
airflow-core/tests/unit/utils/test_trigger_rule.py | 2 +-
.../airflowctl_tests/test_airflowctl_commands.py | 6 +-
.../src/airflowctl/api/datamodels/generated.py | 8 +-
clients/python/CHANGELOG.md | 36 +
clients/python/version.txt | 2 +-
contributing-docs/15_node_environment_setup.rst | 232 +-
contributing-docs/testing/unit_tests.rst | 4 +-
dev/README_RELEASE_AIRFLOW.md | 54 +-
dev/README_RELEASE_HELM_CHART.md | 78 +-
dev/README_RELEASE_PROVIDERS.md | 41 +-
dev/README_RELEASE_PYTHON_CLIENT.md | 17 +-
dev/airflow-github | 8 +-
dev/breeze/doc/01_installation.rst | 2 +-
dev/breeze/doc/06_managing_docker_images.rst | 2 +-
dev/breeze/doc/09_release_management_tasks.rst | 2 +-
dev/breeze/doc/ci/02_images.md | 6 +-
dev/breeze/doc/images/output_ci-image_build.svg | 2 +-
dev/breeze/doc/images/output_ci-image_build.txt | 2 +-
dev/breeze/doc/images/output_prod-image_build.svg | 2 +-
dev/breeze/doc/images/output_prod-image_build.txt | 2 +-
.../output_release-management_publish-docs.svg | 38 +-
.../output_release-management_publish-docs.txt | 2 +-
dev/breeze/pyproject.toml | 2 +-
.../commands/release_management_commands.py | 26 +-
.../commands/release_management_commands_config.py | 2 -
.../airflow_breeze/commands/workflow_commands.py | 7 +-
dev/breeze/src/airflow_breeze/global_constants.py | 22 +-
dev/breeze/src/airflow_breeze/utils/cdxgen.py | 2 +-
.../src/airflow_breeze/utils/publish_docs_to_s3.py | 35 +-
dev/breeze/src/airflow_breeze/utils/run_tests.py | 2 +-
.../src/airflow_breeze/utils/selective_checks.py | 65 +-
dev/breeze/tests/test_packages.py | 17 +-
dev/breeze/tests/test_provider_dependencies.py | 4 +-
dev/breeze/tests/test_selective_checks.py | 324 +-
dev/breeze/uv.lock | 389 +-
dev/chart/build_changelog_annotations.py | 2 +-
dev/check_files.py | 44 +-
dev/i18n/check_translations_completeness.py | 71 +-
.../react_plugin_template/package.json | 6 +-
.../react_plugin_template/pnpm-lock.yaml | 560 +--
devel-common/pyproject.toml | 2 +-
docker-stack-docs/build.rst | 16 +-
.../docker-examples/customizing/mysql-client.sh | 37 -
generated/PYPI_README.md | 10 +-
go-sdk/Justfile | 5 +-
go-sdk/README.md | 118 +-
go-sdk/bundle/bundlev1/doc.go | 2 +-
go-sdk/celery/app.go | 142 -
go-sdk/celery/cmd/main.go | 33 -
go-sdk/celery/commands/root.go | 55 -
go-sdk/celery/commands/run.go | 69 -
go-sdk/celery/config.go | 24 -
.../cmd => cmd/airflow-go-edge-worker}/main.go | 0
go-sdk/go.mod | 23 +-
go-sdk/go.sum | 44 +-
go-sdk/pkg/config/config.go | 2 +-
go-sdk/sdk/sdk.go | 3 -
providers/.pre-commit-config.yaml | 232 ++
providers/airbyte/README.rst | 40 +-
providers/airbyte/docs/changelog.rst | 21 +
providers/airbyte/docs/index.rst | 45 +-
providers/airbyte/provider.yaml | 3 +-
providers/airbyte/pyproject.toml | 8 +-
.../src/airflow/providers/airbyte/__init__.py | 2 +-
.../src/airflow/providers/airbyte/hooks/airbyte.py | 2 +-
.../airflow/providers/airbyte/operators/airbyte.py | 4 +-
.../airflow/providers/airbyte/sensors/airbyte.py | 4 +-
.../airflow/providers/airbyte/version_compat.py | 17 -
providers/alibaba/README.rst | 44 +-
providers/alibaba/docs/changelog.rst | 16 +
providers/alibaba/docs/index.rst | 49 +-
providers/alibaba/provider.yaml | 12 +-
providers/alibaba/pyproject.toml | 8 +-
.../src/airflow/providers/alibaba/__init__.py | 2 +-
.../alibaba/cloud/hooks/analyticdb_spark.py | 2 +-
.../providers/alibaba/cloud/hooks/base_alibaba.py | 2 +-
.../airflow/providers/alibaba/cloud/hooks/oss.py | 7 +-
.../providers/alibaba/cloud/links/maxcompute.py | 11 +-
.../alibaba/cloud/operators/analyticdb_spark.py | 2 +-
.../alibaba/cloud/operators/maxcompute.py | 2 +-
.../providers/alibaba/cloud/operators/oss.py | 2 +-
.../alibaba/cloud/sensors/analyticdb_spark.py | 2 +-
.../providers/alibaba/cloud/sensors/oss_key.py | 2 +-
.../airflow/providers/alibaba/get_provider_info.py | 15 +-
.../airflow/providers/alibaba/version_compat.py | 13 +-
providers/amazon/README.rst | 8 +-
providers/amazon/docs/changelog.rst | 36 +
providers/amazon/docs/index.rst | 8 +-
.../amazon/docs/integration-logos/Amazon-MWAA.png | Bin 0 -> 36719 bytes
providers/amazon/provider.yaml | 16 +-
providers/amazon/pyproject.toml | 8 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../providers/amazon/aws/hooks/athena_sql.py | 4 +-
.../airflow/providers/amazon/aws/hooks/base_aws.py | 2 +-
.../providers/amazon/aws/hooks/redshift_sql.py | 26 +-
.../src/airflow/providers/amazon/aws/hooks/s3.py | 11 +-
.../amazon/aws/hooks/sagemaker_unified_studio.py | 2 +-
.../airflow/providers/amazon/aws/links/base_aws.py | 2 +-
.../providers/amazon/aws/operators/base_aws.py | 2 +-
.../aws/operators/sagemaker_unified_studio.py | 2 +-
.../providers/amazon/aws/sensors/base_aws.py | 2 +-
.../src/airflow/providers/amazon/aws/sensors/s3.py | 2 +-
.../amazon/aws/sensors/sagemaker_unified_studio.py | 2 +-
.../amazon/aws/transfers/azure_blob_to_s3.py | 2 +-
.../airflow/providers/amazon/aws/transfers/base.py | 2 +-
.../providers/amazon/aws/transfers/exasol_to_s3.py | 2 +-
.../providers/amazon/aws/transfers/ftp_to_s3.py | 2 +-
.../providers/amazon/aws/transfers/gcs_to_s3.py | 2 +-
.../amazon/aws/transfers/glacier_to_gcs.py | 2 +-
.../amazon/aws/transfers/google_api_to_s3.py | 7 +-
.../amazon/aws/transfers/hive_to_dynamodb.py | 2 +-
.../providers/amazon/aws/transfers/http_to_s3.py | 2 +-
.../amazon/aws/transfers/imap_attachment_to_s3.py | 2 +-
.../providers/amazon/aws/transfers/local_to_s3.py | 2 +-
.../providers/amazon/aws/transfers/mongo_to_s3.py | 2 +-
.../amazon/aws/transfers/redshift_to_s3.py | 2 +-
.../amazon/aws/transfers/s3_to_dynamodb.py | 2 +-
.../providers/amazon/aws/transfers/s3_to_ftp.py | 2 +-
.../amazon/aws/transfers/s3_to_redshift.py | 2 +-
.../providers/amazon/aws/transfers/s3_to_sftp.py | 2 +-
.../providers/amazon/aws/transfers/s3_to_sql.py | 2 +-
.../amazon/aws/transfers/salesforce_to_s3.py | 2 +-
.../providers/amazon/aws/transfers/sftp_to_s3.py | 2 +-
.../providers/amazon/aws/transfers/sql_to_s3.py | 2 +-
.../amazon/aws/utils/connection_wrapper.py | 5 +-
.../airflow/providers/amazon/aws/utils/waiter.py | 4 +-
.../airflow/providers/amazon/get_provider_info.py | 14 +
.../src/airflow/providers/amazon/version_compat.py | 22 +-
.../tests/system/amazon/aws/example_appflow.py | 15 +-
.../system/amazon/aws/example_azure_blob_to_s3.py | 14 +-
.../system/amazon/aws/example_cloudformation.py | 14 +-
.../system/amazon/aws/example_eks_templated.py | 14 +-
.../aws/example_eks_with_fargate_in_one_step.py | 14 +-
.../amazon/aws/example_eks_with_fargate_profile.py | 14 +-
.../amazon/tests/system/amazon/aws/example_emr.py | 17 +-
.../amazon/aws/example_emr_notebook_execution.py | 14 +-
.../system/amazon/aws/example_emr_serverless.py | 14 +-
.../tests/system/amazon/aws/example_eventbridge.py | 14 +-
.../tests/system/amazon/aws/example_ftp_to_s3.py | 14 +-
.../amazon/tests/system/amazon/aws/example_glue.py | 11 +-
.../amazon/aws/example_google_api_sheets_to_s3.py | 14 +-
.../amazon/aws/example_imap_attachment_to_s3.py | 14 +-
.../tests/system/amazon/aws/example_local_to_s3.py | 16 +-
.../tests/system/amazon/aws/example_mongo_to_s3.py | 15 +-
.../system/amazon/aws/example_rds_instance.py | 14 +-
.../system/amazon/aws/example_rds_snapshot.py | 14 +-
.../tests/system/amazon/aws/example_redshift.py | 14 +-
.../amazon/aws/example_redshift_s3_transfers.py | 14 +-
.../amazon/tests/system/amazon/aws/example_s3.py | 14 +-
.../tests/system/amazon/aws/example_s3_to_ftp.py | 14 +-
.../tests/system/amazon/aws/example_s3_to_sftp.py | 14 +-
.../amazon/aws/example_sagemaker_notebook.py | 14 +-
.../system/amazon/aws/example_salesforce_to_s3.py | 14 +-
.../tests/system/amazon/aws/example_sftp_to_s3.py | 14 +-
.../tests/unit/amazon/aws/hooks/test_athena_sql.py | 9 +-
.../unit/amazon/aws/hooks/test_redshift_sql.py | 11 +-
.../amazon/tests/unit/amazon/aws/hooks/test_s3.py | 1 +
.../tests/unit/amazon/aws/links/test_base_aws.py | 2 +-
.../unit/amazon/aws/operators/test_base_aws.py | 2 +-
.../tests/unit/amazon/aws/sensors/test_base_aws.py | 2 +-
providers/apache/beam/README.rst | 6 +-
providers/apache/beam/docs/changelog.rst | 17 +
providers/apache/beam/docs/index.rst | 6 +-
providers/apache/beam/provider.yaml | 3 +-
providers/apache/beam/pyproject.toml | 6 +-
.../src/airflow/providers/apache/beam/__init__.py | 2 +-
.../airflow/providers/apache/beam/hooks/beam.py | 2 +-
.../providers/apache/beam/operators/beam.py | 5 +-
.../providers/apache/beam/version_compat.py | 8 -
providers/apache/cassandra/README.rst | 15 +-
.../cassandra/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/cassandra/docs/changelog.rst | 18 +
providers/apache/cassandra/docs/index.rst | 2 +-
providers/apache/cassandra/provider.yaml | 3 +-
providers/apache/cassandra/pyproject.toml | 14 +-
.../airflow/providers/apache/cassandra/__init__.py | 2 +-
.../providers/apache/cassandra/hooks/cassandra.py | 2 +-
.../providers/apache/cassandra/sensors/record.py | 4 +-
.../providers/apache/cassandra/sensors/table.py | 4 +-
.../providers/apache/cassandra/version_compat.py | 13 -
providers/apache/drill/README.rst | 6 +-
providers/apache/drill/docs/changelog.rst | 21 +
providers/apache/drill/docs/index.rst | 6 +-
providers/apache/drill/provider.yaml | 3 +-
providers/apache/drill/pyproject.toml | 6 +-
.../src/airflow/providers/apache/drill/__init__.py | 2 +-
.../apache/druid/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/flink/README.rst | 15 +-
.../apache/flink/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/flink/docs/changelog.rst | 17 +
providers/apache/flink/docs/index.rst | 6 +-
providers/apache/flink/provider.yaml | 3 +-
providers/apache/flink/pyproject.toml | 14 +-
.../src/airflow/providers/apache/flink/__init__.py | 2 +-
.../apache/flink/operators/flink_kubernetes.py | 4 +-
.../apache/flink/sensors/flink_kubernetes.py | 4 +-
.../providers/apache/flink/version_compat.py | 11 -
providers/apache/hdfs/README.rst | 15 +-
.../apache/hdfs/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/hdfs/docs/changelog.rst | 12 +
providers/apache/hdfs/docs/index.rst | 2 +-
providers/apache/hdfs/provider.yaml | 3 +-
providers/apache/hdfs/pyproject.toml | 14 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 2 +-
.../airflow/providers/apache/hdfs/hooks/webhdfs.py | 2 +-
.../providers/apache/hdfs/sensors/web_hdfs.py | 4 +-
.../providers/apache/hdfs/version_compat.py | 13 -
providers/apache/hive/README.rst | 46 +-
providers/apache/hive/docs/changelog.rst | 24 +
providers/apache/hive/docs/index.rst | 31 +-
providers/apache/hive/provider.yaml | 3 +-
providers/apache/hive/pyproject.toml | 8 +-
.../src/airflow/providers/apache/hive/__init__.py | 2 +-
.../airflow/providers/apache/hive/hooks/hive.py | 2 +-
.../providers/apache/hive/operators/hive.py | 4 +-
.../providers/apache/hive/operators/hive_stats.py | 4 +-
.../apache/hive/sensors/hive_partition.py | 4 +-
.../apache/hive/sensors/metastore_partition.py | 2 +-
.../apache/hive/sensors/named_hive_partition.py | 4 +-
.../apache/hive/transfers/hive_to_mysql.py | 4 +-
.../apache/hive/transfers/hive_to_samba.py | 4 +-
.../apache/hive/transfers/mssql_to_hive.py | 4 +-
.../apache/hive/transfers/mysql_to_hive.py | 4 +-
.../providers/apache/hive/transfers/s3_to_hive.py | 4 +-
.../apache/hive/transfers/vertica_to_hive.py | 4 +-
.../providers/apache/hive/version_compat.py | 26 +-
.../system/apache/hive/example_twitter_dag.py | 9 +-
.../hive/tests/unit/apache/hive/hooks/test_hive.py | 8 +-
.../apache/hive/transfers/test_hive_to_mysql.py | 7 +-
.../apache/hive/transfers/test_hive_to_samba.py | 7 +-
providers/apache/iceberg/README.rst | 15 +-
.../iceberg/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/iceberg/docs/changelog.rst | 18 +
providers/apache/iceberg/docs/index.rst | 2 +-
providers/apache/iceberg/provider.yaml | 3 +-
providers/apache/iceberg/pyproject.toml | 14 +-
.../airflow/providers/apache/iceberg/__init__.py | 2 +-
.../providers/apache/iceberg/hooks/iceberg.py | 2 +-
.../providers/apache/iceberg/version_compat.py | 6 -
providers/apache/impala/README.rst | 15 +-
.../apache/impala/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/impala/docs/changelog.rst | 16 +
providers/apache/impala/docs/index.rst | 6 +-
providers/apache/impala/provider.yaml | 5 +-
providers/apache/impala/pyproject.toml | 6 +-
.../airflow/providers/apache/impala/__init__.py | 2 +-
.../providers/apache/impala/get_provider_info.py | 1 +
.../providers/apache/impala/version_compat.py | 4 +
providers/apache/kafka/README.rst | 7 +-
providers/apache/kafka/docs/changelog.rst | 18 +
providers/apache/kafka/docs/index.rst | 6 +-
providers/apache/kafka/provider.yaml | 5 +-
providers/apache/kafka/pyproject.toml | 10 +-
.../src/airflow/providers/apache/kafka/__init__.py | 2 +-
.../providers/apache/kafka/get_provider_info.py | 1 +
.../airflow/providers/apache/kafka/hooks/base.py | 2 +-
.../providers/apache/kafka/operators/consume.py | 2 +-
.../providers/apache/kafka/operators/produce.py | 2 +-
.../providers/apache/kafka/sensors/kafka.py | 2 +-
.../providers/apache/kafka/version_compat.py | 13 +-
.../apache/kylin/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/kylin/provider.yaml | 2 +
providers/apache/kylin/pyproject.toml | 2 +
.../providers/apache/kylin/get_provider_info.py | 1 +
.../airflow/providers/apache/kylin/hooks/kylin.py | 6 +-
.../providers/apache/kylin/operators/kylin_cube.py | 4 +-
.../providers/apache/kylin/version_compat.py | 6 -
providers/apache/livy/README.rst | 8 +-
providers/apache/livy/docs/changelog.rst | 18 +
providers/apache/livy/docs/index.rst | 8 +-
providers/apache/livy/provider.yaml | 3 +-
providers/apache/livy/pyproject.toml | 8 +-
.../src/airflow/providers/apache/livy/__init__.py | 2 +-
.../providers/apache/livy/operators/livy.py | 4 +-
.../airflow/providers/apache/livy/sensors/livy.py | 4 +-
.../providers/apache/livy/version_compat.py | 8 +-
.../livy/tests/unit/apache/livy/hooks/test_livy.py | 38 +-
providers/apache/pig/README.rst | 15 +-
.../apache/pig/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/pig/docs/changelog.rst | 21 +
providers/apache/pig/docs/index.rst | 2 +-
providers/apache/pig/provider.yaml | 3 +-
providers/apache/pig/pyproject.toml | 14 +-
.../src/airflow/providers/apache/pig/__init__.py | 2 +-
.../src/airflow/providers/apache/pig/hooks/pig.py | 2 +-
.../airflow/providers/apache/pig/operators/pig.py | 4 +-
.../airflow/providers/apache/pig/version_compat.py | 12 -
providers/apache/pinot/README.rst | 15 +-
.../apache/pinot/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/pinot/docs/changelog.rst | 21 +
providers/apache/pinot/docs/index.rst | 6 +-
providers/apache/pinot/provider.yaml | 3 +-
providers/apache/pinot/pyproject.toml | 14 +-
.../src/airflow/providers/apache/pinot/__init__.py | 2 +-
.../airflow/providers/apache/pinot/hooks/pinot.py | 2 +-
.../providers/apache/pinot/version_compat.py | 6 -
providers/apache/spark/README.rst | 18 +-
providers/apache/spark/docs/changelog.rst | 22 +
providers/apache/spark/docs/index.rst | 8 +-
providers/apache/spark/provider.yaml | 3 +-
providers/apache/spark/pyproject.toml | 8 +-
.../src/airflow/providers/apache/spark/__init__.py | 2 +-
.../providers/apache/spark/decorators/pyspark.py | 5 +-
.../providers/apache/spark/hooks/spark_connect.py | 2 +-
.../providers/apache/spark/hooks/spark_sql.py | 2 +-
.../providers/apache/spark/hooks/spark_submit.py | 2 +-
.../providers/apache/spark/operators/spark_jdbc.py | 2 +-
.../providers/apache/spark/operators/spark_sql.py | 4 +-
.../apache/spark/operators/spark_submit.py | 4 +-
.../providers/apache/spark/version_compat.py | 25 +-
.../unit/apache/spark/hooks/test_spark_connect.py | 2 +-
providers/apache/tinkerpop/README.rst | 15 +-
.../tinkerpop/docs/.latest-doc-only-change.txt | 2 +-
providers/apache/tinkerpop/docs/changelog.rst | 21 +
providers/apache/tinkerpop/docs/index.rst | 2 +-
providers/apache/tinkerpop/provider.yaml | 3 +-
providers/apache/tinkerpop/pyproject.toml | 14 +-
.../airflow/providers/apache/tinkerpop/__init__.py | 2 +-
.../providers/apache/tinkerpop/hooks/gremlin.py | 2 +-
.../apache/tinkerpop/operators/gremlin.py | 8 +-
.../providers/apache/tinkerpop/version_compat.py | 13 +-
providers/apprise/README.rst | 8 +-
providers/apprise/docs/changelog.rst | 23 +
providers/apprise/docs/index.rst | 8 +-
providers/apprise/provider.yaml | 3 +-
providers/apprise/pyproject.toml | 8 +-
.../src/airflow/providers/apprise/__init__.py | 2 +-
.../src/airflow/providers/apprise/hooks/apprise.py | 2 +-
.../airflow/providers/apprise/version_compat.py | 7 +-
providers/arangodb/README.rst | 38 +-
providers/arangodb/docs/changelog.rst | 21 +
providers/arangodb/docs/index.rst | 43 +-
providers/arangodb/provider.yaml | 3 +-
providers/arangodb/pyproject.toml | 8 +-
.../src/airflow/providers/arangodb/__init__.py | 2 +-
.../airflow/providers/arangodb/hooks/arangodb.py | 2 +-
.../providers/arangodb/operators/arangodb.py | 8 +-
.../airflow/providers/arangodb/sensors/arangodb.py | 8 +-
.../airflow/providers/arangodb/version_compat.py | 14 -
providers/asana/README.rst | 38 +-
providers/asana/docs/changelog.rst | 18 +
providers/asana/docs/index.rst | 43 +-
providers/asana/provider.yaml | 3 +-
providers/asana/pyproject.toml | 8 +-
.../asana/src/airflow/providers/asana/__init__.py | 2 +-
.../src/airflow/providers/asana/hooks/asana.py | 2 +-
.../providers/asana/operators/asana_tasks.py | 8 +-
.../src/airflow/providers/asana/version_compat.py | 17 +-
.../asana/tests/unit/asana/hooks/test_asana.py | 2 +-
providers/atlassian/jira/README.rst | 10 +-
providers/atlassian/jira/docs/changelog.rst | 28 +
providers/atlassian/jira/docs/index.rst | 10 +-
providers/atlassian/jira/provider.yaml | 3 +-
providers/atlassian/jira/pyproject.toml | 8 +-
.../airflow/providers/atlassian/jira/__init__.py | 2 +-
.../airflow/providers/atlassian/jira/hooks/jira.py | 2 +-
.../providers/atlassian/jira/notifications/jira.py | 2 +-
.../providers/atlassian/jira/operators/jira.py | 4 +-
.../providers/atlassian/jira/sensors/jira.py | 4 +-
.../providers/atlassian/jira/version_compat.py | 14 -
providers/celery/README.rst | 6 +-
providers/celery/docs/changelog.rst | 24 +
providers/celery/docs/index.rst | 6 +-
providers/celery/provider.yaml | 7 +-
providers/celery/pyproject.toml | 6 +-
.../src/airflow/providers/celery/__init__.py | 2 +-
.../airflow/providers/celery/get_provider_info.py | 2 +-
.../cloudant/docs/.latest-doc-only-change.txt | 2 +-
providers/cloudant/pyproject.toml | 2 +
.../airflow/providers/cloudant/hooks/cloudant.py | 2 +-
.../airflow/providers/cloudant/version_compat.py | 6 -
providers/cncf/kubernetes/README.rst | 46 +-
providers/cncf/kubernetes/docs/changelog.rst | 30 +
providers/cncf/kubernetes/docs/index.rst | 51 +-
providers/cncf/kubernetes/docs/operators.rst | 4 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 8 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../cncf/kubernetes/decorators/kubernetes.py | 2 +-
.../cncf/kubernetes/decorators/kubernetes_cmd.py | 2 +-
.../providers/cncf/kubernetes/hooks/kubernetes.py | 42 +-
.../providers/cncf/kubernetes/operators/pod.py | 11 +-
.../cncf/kubernetes/sensors/spark_kubernetes.py | 7 +-
.../providers/cncf/kubernetes/utils/container.py | 118 +
.../providers/cncf/kubernetes/utils/pod_manager.py | 137 +-
.../providers/cncf/kubernetes/version_compat.py | 32 +-
.../unit/cncf/kubernetes/hooks/test_kubernetes.py | 2 +-
.../unit/cncf/kubernetes/test_pod_generator.py | 4 +-
.../unit/cncf/kubernetes/utils/test_container.py | 172 +
.../unit/cncf/kubernetes/utils/test_pod_manager.py | 147 -
providers/cohere/docs/.latest-doc-only-change.txt | 2 +-
providers/cohere/pyproject.toml | 2 +
.../src/airflow/providers/cohere/hooks/cohere.py | 2 +-
.../providers/cohere/operators/embedding.py | 4 +-
.../src/airflow/providers/cohere/version_compat.py | 15 -
.../common/compat}/.pre-commit-config.yaml | 18 +-
providers/common/compat/README.rst | 7 +-
providers/common/compat/docs/changelog.rst | 26 +
providers/common/compat/docs/index.rst | 7 +-
providers/common/compat/provider.yaml | 3 +-
providers/common/compat/pyproject.toml | 6 +-
.../airflow/providers/common/compat/__init__.py | 2 +-
.../providers/common/compat/_compat_utils.py | 105 +
.../airflow/providers/common/compat/lazy_compat.py | 310 --
.../providers/common/compat/lazy_compat.pyi | 232 --
.../src/airflow/providers/common/compat/sdk.py | 219 +
.../providers/common/compat/standard/operators.py | 23 +-
.../providers/common/compat/standard/triggers.py | 11 +-
.../providers/common/compat/standard/utils.py | 18 +-
.../tests/unit/common/compat/test__compat_utils.py | 215 +
.../compat/{test_lazy_compat.py => test_sdk.py} | 10 +-
providers/common/io/README.rst | 6 +-
providers/common/io/docs/changelog.rst | 18 +
providers/common/io/docs/index.rst | 6 +-
providers/common/io/provider.yaml | 4 +-
providers/common/io/pyproject.toml | 6 +-
.../io/src/airflow/providers/common/io/__init__.py | 2 +-
.../providers/common/io/get_provider_info.py | 5 +-
.../messaging/docs/.latest-doc-only-change.txt | 2 +-
providers/common/messaging/provider.yaml | 7 +-
.../common/messaging/get_provider_info.py | 9 +-
providers/common/sql/README.rst | 6 +-
providers/common/sql/docs/changelog.rst | 17 +
providers/common/sql/docs/index.rst | 6 +-
providers/common/sql/provider.yaml | 3 +-
providers/common/sql/pyproject.toml | 11 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
.../src/airflow/providers/common/sql/hooks/sql.py | 8 +-
.../common/sql/operators/generic_transfer.py | 8 +-
.../airflow/providers/common/sql/operators/sql.py | 4 +-
.../airflow/providers/common/sql/sensors/sql.py | 4 +-
.../airflow/providers/common/sql/sensors/sql.pyi | 8 +-
.../airflow/providers/common/sql/triggers/sql.py | 2 +-
.../airflow/providers/common/sql/version_compat.py | 14 -
.../sql/tests/unit/common/sql/hooks/test_dbapi.py | 2 +-
providers/databricks/README.rst | 9 +-
providers/databricks/docs/changelog.rst | 23 +
providers/databricks/docs/index.rst | 9 +-
providers/databricks/provider.yaml | 4 +-
providers/databricks/pyproject.toml | 8 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
.../providers/databricks/get_provider_info.py | 1 +
.../providers/databricks/operators/databricks.py | 10 +-
.../databricks/operators/databricks_repos.py | 8 +-
.../databricks/operators/databricks_sql.py | 4 +-
.../databricks/operators/databricks_workflow.py | 10 +-
.../databricks/plugins/databricks_workflow.py | 5 +-
.../providers/databricks/sensors/databricks.py | 9 +-
.../databricks/sensors/databricks_partition.py | 13 +-
.../providers/databricks/sensors/databricks_sql.py | 13 +-
.../airflow/providers/databricks/version_compat.py | 12 -
providers/datadog/docs/.latest-doc-only-change.txt | 2 +-
providers/datadog/pyproject.toml | 2 +
.../src/airflow/providers/datadog/hooks/datadog.py | 2 +-
.../airflow/providers/datadog/sensors/datadog.py | 4 +-
.../airflow/providers/datadog/version_compat.py | 15 -
providers/dbt/cloud/README.rst | 18 +-
providers/dbt/cloud/docs/changelog.rst | 23 +
providers/dbt/cloud/docs/index.rst | 9 +-
providers/dbt/cloud/provider.yaml | 3 +-
providers/dbt/cloud/pyproject.toml | 8 +-
.../src/airflow/providers/dbt/cloud/__init__.py | 2 +-
.../airflow/providers/dbt/cloud/operators/dbt.py | 6 +-
.../src/airflow/providers/dbt/cloud/sensors/dbt.py | 13 +-
.../airflow/providers/dbt/cloud/version_compat.py | 12 -
.../tests/unit/dbt/cloud/operators/test_dbt.py | 2 +-
.../cloud/tests/unit/dbt/cloud/sensors/test_dbt.py | 2 +
.../dingding/docs/.latest-doc-only-change.txt | 2 +-
providers/discord/docs/.latest-doc-only-change.txt | 2 +-
providers/discord/pyproject.toml | 2 +-
.../providers/discord/operators/discord_webhook.py | 6 +-
providers/docker/README.rst | 6 +-
providers/docker/docs/changelog.rst | 16 +
providers/docker/docs/index.rst | 6 +-
providers/docker/provider.yaml | 3 +-
providers/docker/pyproject.toml | 7 +-
.../src/airflow/providers/docker/__init__.py | 2 +-
.../airflow/providers/docker/decorators/docker.py | 7 +-
.../src/airflow/providers/docker/hooks/docker.py | 4 +-
.../airflow/providers/docker/operators/docker.py | 2 +-
.../providers/docker/operators/docker_swarm.py | 6 +-
.../src/airflow/providers/docker/version_compat.py | 3 -
providers/edge3/.pre-commit-config.yaml | 51 +
providers/edge3/README.rst | 40 +-
providers/edge3/docs/changelog.rst | 33 +
providers/edge3/docs/index.rst | 45 +-
providers/edge3/provider.yaml | 3 +-
providers/edge3/pyproject.toml | 10 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../src/airflow/providers/edge3/cli/worker.py | 3 +-
.../providers/edge3/example_dags/win_test.py | 2 +-
.../providers/edge3/executors/edge_executor.py | 5 +-
.../src/airflow/providers/edge3/models/edge_job.py | 31 +-
.../airflow/providers/edge3/models/edge_logs.py | 19 +-
.../airflow/providers/edge3/models/edge_worker.py | 42 +-
.../providers/edge3/openapi/v2-edge-generated.yaml | 6 +-
.../edge3/plugins/edge_executor_plugin.py | 12 +-
.../providers/edge3/plugins/www/dist/main.umd.cjs | 49 +-
.../www/openapi-gen/requests/schemas.gen.ts | 8 +-
.../plugins/www/openapi-gen/requests/types.gen.ts | 2 +-
.../providers/edge3/plugins/www/package.json | 2 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 30 +-
.../edge3/plugins/www/src/layouts/EdgeLayout.tsx | 23 +-
.../edge3/plugins/www/src/layouts/NavTabs.tsx | 9 +-
.../edge3/plugins/www/src/pages/JobsPage.tsx | 15 +-
.../providers/edge3/plugins/www/vite.config.ts | 3 +-
.../src/airflow/providers/edge3/version_compat.py | 6 -
.../providers/edge3/worker_api/routes/jobs.py | 2 +-
.../providers/edge3/worker_api/routes/worker.py | 2 +-
.../edge3/tests/unit/edge3/cli/test_worker.py | 2 +-
.../unit/edge3/executors/test_edge_executor.py | 2 +-
.../unit/edge3/worker_api/routes/test_logs.py | 2 +-
.../unit/edge3/worker_api/routes/test_worker.py | 2 +-
providers/edge3/www-hash.txt | 2 +-
providers/elasticsearch/README.rst | 21 +-
providers/elasticsearch/docs/changelog.rst | 18 +
providers/elasticsearch/docs/index.rst | 21 +-
providers/elasticsearch/provider.yaml | 3 +-
providers/elasticsearch/pyproject.toml | 8 +-
.../airflow/providers/elasticsearch/__init__.py | 2 +-
.../providers/elasticsearch/hooks/elasticsearch.py | 2 +-
.../providers/elasticsearch/log/es_task_handler.py | 20 +-
.../providers/elasticsearch/version_compat.py | 14 +-
.../elasticsearch/example_elasticsearch_query.py | 9 +-
providers/exasol/docs/.latest-doc-only-change.txt | 2 +-
providers/exasol/provider.yaml | 2 +
.../airflow/providers/exasol/get_provider_info.py | 1 +
providers/fab/.pre-commit-config.yaml | 51 +
providers/fab/README.rst | 8 +-
providers/fab/docs/changelog.rst | 23 +-
providers/fab/docs/index.rst | 8 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 10 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../providers/fab/auth_manager/models/__init__.py | 25 +-
.../fab/auth_manager/models/test_user_model.py | 7 +-
.../tests/unit/fab/auth_manager/test_security.py | 14 +-
.../facebook/docs/.latest-doc-only-change.txt | 2 +-
providers/facebook/pyproject.toml | 2 +
.../airflow/providers/facebook/ads/hooks/ads.py | 2 +-
.../airflow/providers/facebook/version_compat.py | 10 +-
providers/ftp/docs/.latest-doc-only-change.txt | 2 +-
providers/ftp/docs/changelog.rst | 4 +-
providers/ftp/pyproject.toml | 1 +
.../ftp/src/airflow/providers/ftp/hooks/ftp.py | 2 +-
.../ftp/src/airflow/providers/ftp/operators/ftp.py | 2 +-
.../ftp/src/airflow/providers/ftp/sensors/ftp.py | 8 +-
.../src/airflow/providers/ftp/version_compat.py | 13 +-
providers/git/README.rst | 38 +-
providers/git/docs/changelog.rst | 23 +-
providers/git/docs/index.rst | 43 +-
providers/git/provider.yaml | 7 +-
providers/git/pyproject.toml | 8 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
.../src/airflow/providers/git/get_provider_info.py | 6 +-
.../git/src/airflow/providers/git/hooks/git.py | 2 +-
.../src/airflow/providers/git/version_compat.py | 7 +-
providers/github/README.rst | 38 +-
providers/github/docs/changelog.rst | 21 +
providers/github/docs/index.rst | 43 +-
providers/github/provider.yaml | 3 +-
providers/github/pyproject.toml | 8 +-
.../src/airflow/providers/github/__init__.py | 2 +-
.../src/airflow/providers/github/hooks/github.py | 2 +-
.../airflow/providers/github/operators/github.py | 4 +-
.../src/airflow/providers/github/sensors/github.py | 4 +-
.../src/airflow/providers/github/version_compat.py | 23 +-
providers/google/README.rst | 8 +-
providers/google/docs/changelog.rst | 54 +
providers/google/docs/index.rst | 8 +-
.../Google-Cloud-Life-Sciences.png | Bin 11622 -> 0 bytes
providers/google/docs/operators/cloud/gen_ai.rst | 112 +
.../google/docs/operators/cloud/vertex_ai.rst | 68 +-
providers/google/provider.yaml | 17 +-
providers/google/pyproject.toml | 8 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../src/airflow/providers/google/ads/hooks/ads.py | 2 +-
.../airflow/providers/google/ads/operators/ads.py | 2 +-
.../providers/google/ads/transfers/ads_to_gcs.py | 2 +-
.../src/airflow/providers/google/assets/gcs.py | 2 +-
.../providers/google/cloud/hooks/cloud_sql.py | 2 +-
.../cloud/hooks/cloud_storage_transfer_service.py | 16 +
.../providers/google/cloud/hooks/dataflow.py | 2 +-
.../providers/google/cloud/hooks/dataprep.py | 2 +-
.../airflow/providers/google/cloud/hooks/gcs.py | 6 +-
.../airflow/providers/google/cloud/hooks/gen_ai.py | 196 +
.../airflow/providers/google/cloud/hooks/looker.py | 2 +-
.../cloud/hooks/vertex_ai/generative_model.py | 30 +
.../providers/google/cloud/hooks/workflows.py | 2 +-
.../airflow/providers/google/cloud/links/base.py | 4 +-
.../google/cloud/links/cloud_storage_transfer.py | 2 +-
.../providers/google/cloud/links/cloud_tasks.py | 2 +-
.../providers/google/cloud/links/dataproc.py | 4 +-
.../google/cloud/links/kubernetes_engine.py | 2 +-
.../providers/google/cloud/links/translate.py | 2 +-
.../providers/google/cloud/links/vertex_ai.py | 2 +-
.../providers/google/cloud/openlineage/utils.py | 2 +-
.../providers/google/cloud/operators/alloy_db.py | 2 +-
.../providers/google/cloud/operators/automl.py | 2 +-
.../providers/google/cloud/operators/bigquery.py | 2 +-
.../google/cloud/operators/bigquery_dts.py | 2 +-
.../providers/google/cloud/operators/bigtable.py | 2 +-
.../google/cloud/operators/cloud_batch.py | 2 +-
.../google/cloud/operators/cloud_build.py | 2 +-
.../google/cloud/operators/cloud_composer.py | 2 +-
.../google/cloud/operators/cloud_logging_sink.py | 2 +-
.../google/cloud/operators/cloud_memorystore.py | 2 +-
.../providers/google/cloud/operators/cloud_run.py | 2 +-
.../providers/google/cloud/operators/cloud_sql.py | 4 +-
.../operators/cloud_storage_transfer_service.py | 33 +-
.../providers/google/cloud/operators/compute.py | 2 +-
.../google/cloud/operators/datacatalog.py | 2 +-
.../providers/google/cloud/operators/dataflow.py | 2 +-
.../providers/google/cloud/operators/dataform.py | 2 +-
.../providers/google/cloud/operators/datafusion.py | 2 +-
.../providers/google/cloud/operators/dataplex.py | 2 +-
.../providers/google/cloud/operators/dataprep.py | 2 +-
.../providers/google/cloud/operators/dataproc.py | 2 +-
.../google/cloud/operators/dataproc_metastore.py | 2 +-
.../providers/google/cloud/operators/datastore.py | 2 +-
.../providers/google/cloud/operators/dlp.py | 2 +-
.../providers/google/cloud/operators/functions.py | 2 +-
.../providers/google/cloud/operators/gcs.py | 2 +-
.../providers/google/cloud/operators/gen_ai.py | 389 ++
.../google/cloud/operators/kubernetes_engine.py | 2 +-
.../providers/google/cloud/operators/looker.py | 2 +-
.../google/cloud/operators/managed_kafka.py | 2 +-
.../providers/google/cloud/operators/mlengine.py | 2 +-
.../google/cloud/operators/natural_language.py | 2 +-
.../providers/google/cloud/operators/pubsub.py | 2 +-
.../providers/google/cloud/operators/spanner.py | 2 +-
.../google/cloud/operators/speech_to_text.py | 2 +-
.../google/cloud/operators/stackdriver.py | 2 +-
.../providers/google/cloud/operators/tasks.py | 2 +-
.../google/cloud/operators/text_to_speech.py | 2 +-
.../providers/google/cloud/operators/translate.py | 2 +-
.../google/cloud/operators/translate_speech.py | 2 +-
.../google/cloud/operators/vertex_ai/auto_ml.py | 2 +-
.../operators/vertex_ai/batch_prediction_job.py | 2 +-
.../google/cloud/operators/vertex_ai/custom_job.py | 2 +-
.../google/cloud/operators/vertex_ai/dataset.py | 2 +-
.../cloud/operators/vertex_ai/endpoint_service.py | 2 +-
.../operators/vertex_ai/experiment_service.py | 2 +-
.../cloud/operators/vertex_ai/feature_store.py | 2 +-
.../cloud/operators/vertex_ai/generative_model.py | 32 +-
.../vertex_ai/hyperparameter_tuning_job.py | 2 +-
.../cloud/operators/vertex_ai/model_service.py | 2 +-
.../cloud/operators/vertex_ai/pipeline_job.py | 2 +-
.../google/cloud/operators/vertex_ai/ray.py | 2 +-
.../google/cloud/operators/video_intelligence.py | 2 +-
.../providers/google/cloud/operators/vision.py | 2 +-
.../providers/google/cloud/sensors/bigquery.py | 4 +-
.../providers/google/cloud/sensors/bigquery_dts.py | 4 +-
.../providers/google/cloud/sensors/bigtable.py | 4 +-
.../google/cloud/sensors/cloud_composer.py | 4 +-
.../sensors/cloud_storage_transfer_service.py | 4 +-
.../providers/google/cloud/sensors/dataflow.py | 4 +-
.../providers/google/cloud/sensors/dataform.py | 4 +-
.../providers/google/cloud/sensors/datafusion.py | 4 +-
.../providers/google/cloud/sensors/dataplex.py | 4 +-
.../providers/google/cloud/sensors/dataprep.py | 4 +-
.../providers/google/cloud/sensors/dataproc.py | 4 +-
.../google/cloud/sensors/dataproc_metastore.py | 4 +-
.../airflow/providers/google/cloud/sensors/gcs.py | 4 +-
.../providers/google/cloud/sensors/looker.py | 4 +-
.../providers/google/cloud/sensors/pubsub.py | 4 +-
.../providers/google/cloud/sensors/tasks.py | 4 +-
.../cloud/sensors/vertex_ai/feature_store.py | 4 +-
.../providers/google/cloud/sensors/workflows.py | 4 +-
.../google/cloud/transfers/adls_to_gcs.py | 2 +-
.../google/cloud/transfers/azure_blob_to_gcs.py | 2 +-
.../cloud/transfers/azure_fileshare_to_gcs.py | 2 +-
.../google/cloud/transfers/bigquery_to_bigquery.py | 2 +-
.../google/cloud/transfers/bigquery_to_gcs.py | 2 +-
.../google/cloud/transfers/bigquery_to_mssql.py | 2 +-
.../google/cloud/transfers/bigquery_to_postgres.py | 2 +-
.../google/cloud/transfers/bigquery_to_sql.py | 2 +-
.../google/cloud/transfers/cassandra_to_gcs.py | 2 +-
.../google/cloud/transfers/facebook_ads_to_gcs.py | 2 +-
.../google/cloud/transfers/gcs_to_bigquery.py | 2 +-
.../providers/google/cloud/transfers/gcs_to_gcs.py | 2 +-
.../google/cloud/transfers/gcs_to_local.py | 2 +-
.../google/cloud/transfers/gcs_to_sftp.py | 2 +-
.../google/cloud/transfers/gdrive_to_gcs.py | 2 +-
.../google/cloud/transfers/gdrive_to_local.py | 2 +-
.../google/cloud/transfers/http_to_gcs.py | 2 +-
.../google/cloud/transfers/local_to_gcs.py | 2 +-
.../providers/google/cloud/transfers/s3_to_gcs.py | 2 +-
.../google/cloud/transfers/salesforce_to_gcs.py | 2 +-
.../google/cloud/transfers/sftp_to_gcs.py | 2 +-
.../google/cloud/transfers/sheets_to_gcs.py | 2 +-
.../providers/google/cloud/transfers/sql_to_gcs.py | 2 +-
.../triggers/cloud_storage_transfer_service.py | 90 +
.../providers/google/cloud/triggers/pubsub.py | 32 +-
.../providers/google/common/hooks/base_google.py | 2 +-
.../google/firebase/operators/firestore.py | 2 +-
.../airflow/providers/google/get_provider_info.py | 21 +-
.../airflow/providers/google/go_module_utils.py | 38 +-
.../providers/google/leveldb/hooks/leveldb.py | 2 +-
.../providers/google/leveldb/operators/leveldb.py | 2 +-
.../marketing_platform/links/analytics_admin.py | 4 +-
.../operators/analytics_admin.py | 2 +-
.../operators/campaign_manager.py | 2 +-
.../marketing_platform/operators/display_video.py | 2 +-
.../marketing_platform/operators/search_ads.py | 2 +-
.../marketing_platform/sensors/campaign_manager.py | 4 +-
.../marketing_platform/sensors/display_video.py | 4 +-
.../providers/google/suite/sensors/drive.py | 4 +-
.../google/suite/transfers/gcs_to_gdrive.py | 2 +-
.../google/suite/transfers/local_to_drive.py | 2 +-
.../src/airflow/providers/google/version_compat.py | 10 +-
.../tests/system/google/cloud/gen_ai}/__init__.py | 0
.../example_gen_ai_generative_model.py} | 138 +-
.../example_gen_ai_generative_model_tuning.py} | 38 +-
.../google/cloud/gen_ai/resources}/__init__.py | 0
.../resources/video_tuning_dataset.jsonl | 0
.../tests/unit/google/cloud/hooks/test_bigquery.py | 6 +-
.../test_cloud_storage_transfer_service_async.py | 18 +
.../tests/unit/google/cloud/hooks/test_gen_ai.py | 193 +
.../cloud/hooks/vertex_ai/test_generative_model.py | 92 +-
.../unit/google/cloud/links/test_base_link.py | 5 +-
.../google/cloud/operators/gen_ai}/__init__.py | 0
.../unit/google/cloud/operators/test_gen_ai.py | 250 ++
.../unit/google/cloud/operators/test_workflows.py | 6 +-
.../operators/vertex_ai/test_generative_model.py | 134 +-
.../test_cloud_storage_transfer_service.py | 93 +
.../unit/google/cloud/triggers/test_pubsub.py | 42 +
.../google/tests/unit/google/test_go_module.py | 4 +-
providers/grpc/docs/.latest-doc-only-change.txt | 2 +-
providers/grpc/docs/changelog.rst | 2 +-
providers/grpc/pyproject.toml | 2 +
.../grpc/src/airflow/providers/grpc/hooks/grpc.py | 2 +-
.../src/airflow/providers/grpc/operators/grpc.py | 2 +-
.../src/airflow/providers/grpc/version_compat.py | 15 +-
providers/hashicorp/README.rst | 42 +-
providers/hashicorp/docs/changelog.rst | 21 +
providers/hashicorp/docs/index.rst | 32 +-
providers/hashicorp/provider.yaml | 3 +-
providers/hashicorp/pyproject.toml | 8 +-
.../src/airflow/providers/hashicorp/__init__.py | 2 +-
.../src/airflow/providers/hashicorp/hooks/vault.py | 2 +-
.../airflow/providers/hashicorp/version_compat.py | 7 +-
providers/http/README.rst | 6 +-
providers/http/docs/changelog.rst | 20 +-
providers/http/docs/index.rst | 2 +-
providers/http/provider.yaml | 6 +-
providers/http/pyproject.toml | 15 +-
.../http/src/airflow/providers/http/__init__.py | 2 +-
.../airflow/providers/http/get_provider_info.py | 1 +
.../http/src/airflow/providers/http/hooks/http.py | 2 +-
.../providers/http/notifications/__init__.py | 5 +-
.../airflow/providers/http/notifications/http.py | 105 +
.../src/airflow/providers/http/operators/http.py | 2 +-
.../src/airflow/providers/http/sensors/http.py | 4 +-
.../src/airflow/providers/http/triggers/http.py | 2 +-
.../src/airflow/providers/http/version_compat.py | 17 +-
.../tests/unit/http/notifications}/__init__.py | 0
.../tests/unit/http/notifications/test_http.py | 95 +
providers/imap/README.rst | 6 +-
providers/imap/docs/changelog.rst | 20 +
providers/imap/docs/index.rst | 2 +-
providers/imap/provider.yaml | 3 +-
providers/imap/pyproject.toml | 8 +-
.../imap/src/airflow/providers/imap/__init__.py | 2 +-
.../imap/src/airflow/providers/imap/hooks/imap.py | 2 +-
.../providers/imap/sensors/imap_attachment.py | 2 +-
.../src/airflow/providers/imap/version_compat.py | 15 +-
.../influxdb/docs/.latest-doc-only-change.txt | 2 +-
providers/influxdb/pyproject.toml | 2 +
.../airflow/providers/influxdb/hooks/influxdb.py | 2 +-
.../providers/influxdb/operators/influxdb.py | 2 +-
.../airflow/providers/influxdb/version_compat.py | 15 +-
providers/jdbc/README.rst | 34 +-
providers/jdbc/docs/changelog.rst | 16 +
providers/jdbc/docs/index.rst | 34 +-
providers/jdbc/provider.yaml | 3 +-
providers/jdbc/pyproject.toml | 8 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +-
.../jdbc/src/airflow/providers/jdbc/hooks/jdbc.py | 6 +-
providers/jenkins/README.rst | 38 +-
providers/jenkins/docs/changelog.rst | 17 +
providers/jenkins/docs/index.rst | 43 +-
providers/jenkins/provider.yaml | 3 +-
providers/jenkins/pyproject.toml | 8 +-
.../src/airflow/providers/jenkins/__init__.py | 2 +-
.../src/airflow/providers/jenkins/hooks/jenkins.py | 2 +-
.../jenkins/operators/jenkins_job_trigger.py | 2 +-
.../airflow/providers/jenkins/sensors/jenkins.py | 6 +-
.../airflow/providers/jenkins/version_compat.py | 17 -
.../keycloak}/.pre-commit-config.yaml | 18 +-
providers/keycloak/README.rst | 6 +-
providers/keycloak/docs/changelog.rst | 23 +
providers/keycloak/docs/index.rst | 2 +-
providers/keycloak/provider.yaml | 3 +-
providers/keycloak/pyproject.toml | 6 +-
.../src/airflow/providers/keycloak/__init__.py | 2 +-
providers/microsoft/azure/README.rst | 74 +-
providers/microsoft/azure/docs/changelog.rst | 28 +
providers/microsoft/azure/docs/index.rst | 74 +-
providers/microsoft/azure/provider.yaml | 8 +-
providers/microsoft/azure/pyproject.toml | 7 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../airflow/providers/microsoft/azure/fs/adls.py | 2 +-
.../providers/microsoft/azure/fs/msgraph.py | 2 +-
.../providers/microsoft/azure/get_provider_info.py | 9 +-
.../airflow/providers/microsoft/azure/hooks/adx.py | 2 +-
.../airflow/providers/microsoft/azure/hooks/asb.py | 2 +-
.../providers/microsoft/azure/hooks/base_azure.py | 2 +-
.../providers/microsoft/azure/hooks/batch.py | 2 +-
.../microsoft/azure/hooks/container_registry.py | 2 +-
.../microsoft/azure/hooks/container_volume.py | 2 +-
.../providers/microsoft/azure/hooks/cosmos.py | 2 +-
.../microsoft/azure/hooks/data_factory.py | 2 +-
.../providers/microsoft/azure/hooks/data_lake.py | 2 +-
.../providers/microsoft/azure/hooks/fileshare.py | 2 +-
.../providers/microsoft/azure/hooks/msgraph.py | 4 +-
.../providers/microsoft/azure/hooks/synapse.py | 2 +-
.../providers/microsoft/azure/hooks/wasb.py | 2 +-
.../providers/microsoft/azure/operators/adls.py | 2 +-
.../providers/microsoft/azure/operators/adx.py | 2 +-
.../providers/microsoft/azure/operators/asb.py | 2 +-
.../providers/microsoft/azure/operators/batch.py | 2 +-
.../azure/operators/container_instances.py | 2 +-
.../providers/microsoft/azure/operators/cosmos.py | 2 +-
.../microsoft/azure/operators/data_factory.py | 14 +-
.../providers/microsoft/azure/operators/msgraph.py | 2 +-
.../providers/microsoft/azure/operators/powerbi.py | 5 +-
.../providers/microsoft/azure/operators/synapse.py | 14 +-
.../microsoft/azure/operators/wasb_delete_blob.py | 2 +-
.../providers/microsoft/azure/sensors/cosmos.py | 7 +-
.../microsoft/azure/sensors/data_factory.py | 7 +-
.../providers/microsoft/azure/sensors/msgraph.py | 2 +-
.../providers/microsoft/azure/sensors/wasb.py | 7 +-
.../microsoft/azure/transfers/local_to_adls.py | 2 +-
.../microsoft/azure/transfers/local_to_wasb.py | 2 +-
.../azure/transfers/oracle_to_azure_data_lake.py | 2 +-
.../microsoft/azure/transfers/s3_to_wasb.py | 2 +-
.../microsoft/azure/transfers/sftp_to_wasb.py | 2 +-
.../providers/microsoft/azure/version_compat.py | 29 -
.../unit/microsoft/azure/operators/test_msgraph.py | 2 +-
.../unit/microsoft/azure/operators/test_powerbi.py | 2 +-
.../microsoft/azure/operators/test_powerbi_list.py | 2 +-
.../azure/tests/unit/microsoft/azure/test_utils.py | 2 +-
.../mssql/docs/.latest-doc-only-change.txt | 2 +-
providers/microsoft/psrp/README.rst | 38 +-
providers/microsoft/psrp/docs/changelog.rst | 16 +
providers/microsoft/psrp/docs/index.rst | 43 +-
providers/microsoft/psrp/provider.yaml | 3 +-
providers/microsoft/psrp/pyproject.toml | 8 +-
.../airflow/providers/microsoft/psrp/__init__.py | 2 +-
.../airflow/providers/microsoft/psrp/hooks/psrp.py | 2 +-
.../providers/microsoft/psrp/operators/psrp.py | 2 +-
.../providers/microsoft/psrp/version_compat.py | 12 -
.../unit/microsoft/psrp/operators/test_psrp.py | 2 +-
providers/microsoft/winrm/README.rst | 38 +-
providers/microsoft/winrm/docs/changelog.rst | 21 +
providers/microsoft/winrm/docs/index.rst | 43 +-
providers/microsoft/winrm/provider.yaml | 3 +-
providers/microsoft/winrm/pyproject.toml | 8 +-
.../airflow/providers/microsoft/winrm/__init__.py | 2 +-
.../providers/microsoft/winrm/hooks/winrm.py | 2 +-
.../providers/microsoft/winrm/operators/winrm.py | 2 +-
.../providers/microsoft/winrm/version_compat.py | 12 -
providers/mongo/docs/.latest-doc-only-change.txt | 2 +-
providers/mongo/pyproject.toml | 2 +
.../src/airflow/providers/mongo/hooks/mongo.py | 2 +-
.../src/airflow/providers/mongo/sensors/mongo.py | 2 +-
.../src/airflow/providers/mongo/version_compat.py | 15 +-
providers/mysql/docs/.latest-doc-only-change.txt | 2 +-
providers/mysql/pyproject.toml | 2 +
.../src/airflow/providers/mysql/hooks/mysql.py | 7 +-
.../providers/mysql/transfers/presto_to_mysql.py | 8 +-
.../providers/mysql/transfers/s3_to_mysql.py | 8 +-
.../providers/mysql/transfers/trino_to_mysql.py | 8 +-
.../providers/mysql/transfers/vertica_to_mysql.py | 8 +-
.../src/airflow/providers/mysql/version_compat.py | 6 -
.../mysql/tests/unit/mysql/hooks/test_mysql.py | 21 +-
.../mysql/hooks/test_mysql_connector_python.py | 4 +-
providers/neo4j/README.rst | 6 +-
providers/neo4j/docs/changelog.rst | 17 +
providers/neo4j/docs/index.rst | 2 +-
providers/neo4j/provider.yaml | 3 +-
providers/neo4j/pyproject.toml | 8 +-
.../neo4j/src/airflow/providers/neo4j/__init__.py | 2 +-
.../src/airflow/providers/neo4j/operators/neo4j.py | 2 +-
.../src/airflow/providers/neo4j/version_compat.py | 6 -
.../neo4j/tests/unit/neo4j/operators/test_neo4j.py | 2 +-
providers/odbc/docs/.latest-doc-only-change.txt | 2 +-
providers/odbc/provider.yaml | 2 +
.../airflow/providers/odbc/get_provider_info.py | 1 +
providers/openai/README.rst | 38 +-
providers/openai/docs/changelog.rst | 21 +
providers/openai/docs/index.rst | 43 +-
providers/openai/provider.yaml | 3 +-
providers/openai/pyproject.toml | 8 +-
.../src/airflow/providers/openai/__init__.py | 2 +-
.../src/airflow/providers/openai/hooks/openai.py | 2 +-
.../airflow/providers/openai/operators/openai.py | 8 +-
.../src/airflow/providers/openai/version_compat.py | 18 +-
.../openai/tests/system/openai/example_openai.py | 8 +-
.../tests/unit/openai/operators/test_openai.py | 7 +-
.../openfaas/docs/.latest-doc-only-change.txt | 2 +-
providers/openfaas/pyproject.toml | 2 +
.../airflow/providers/openfaas/hooks/openfaas.py | 2 +-
.../airflow/providers/openfaas/version_compat.py | 6 -
providers/openlineage/README.rst | 12 +-
providers/openlineage/docs/changelog.rst | 26 +
providers/openlineage/docs/index.rst | 12 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 8 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
.../providers/openlineage/extractors/manager.py | 6 +-
.../providers/openlineage/operators/empty.py | 4 +-
.../providers/openlineage/plugins/listener.py | 2 +-
.../providers/openlineage/plugins/macros.py | 2 +-
.../src/airflow/providers/openlineage/sqlparser.py | 2 +-
.../openlineage/utils/selective_enable.py | 9 +-
.../airflow/providers/openlineage/utils/spark.py | 2 +-
.../src/airflow/providers/openlineage/utils/sql.py | 2 +-
.../airflow/providers/openlineage/utils/utils.py | 25 +-
.../providers/openlineage/version_compat.py | 15 +-
.../example_openlineage_base_complex_dag.py | 2 +-
.../tests/system/openlineage/operator.py | 13 +-
.../openlineage/dags/test_openlineage_execution.py | 2 +-
.../tests/unit/openlineage/extractors/test_base.py | 8 +-
.../unit/openlineage/extractors/test_manager.py | 24 +-
.../unit/openlineage/plugins/test_listener.py | 5 +-
.../tests/unit/openlineage/plugins/test_macros.py | 2 +-
.../tests/unit/openlineage/plugins/test_utils.py | 9 +-
.../unit/openlineage/utils/custom_facet_fixture.py | 2 +-
.../openlineage/utils/test_selective_enable.py | 8 +-
.../tests/unit/openlineage/utils/test_utils.py | 9 +-
providers/opensearch/README.rst | 6 +-
providers/opensearch/docs/changelog.rst | 16 +
providers/opensearch/docs/index.rst | 2 +-
providers/opensearch/provider.yaml | 3 +-
providers/opensearch/pyproject.toml | 8 +-
.../src/airflow/providers/opensearch/__init__.py | 2 +-
.../providers/opensearch/hooks/opensearch.py | 2 +-
.../providers/opensearch/operators/opensearch.py | 2 +-
.../airflow/providers/opensearch/version_compat.py | 13 -
.../opensearch/tests/unit/opensearch/conftest.py | 2 +-
.../opsgenie/docs/.latest-doc-only-change.txt | 2 +-
providers/opsgenie/pyproject.toml | 2 +-
.../airflow/providers/opsgenie/hooks/opsgenie.py | 2 +-
.../providers/opsgenie/notifications/opsgenie.py | 7 +-
.../providers/opsgenie/operators/opsgenie.py | 8 +-
.../airflow/providers/opsgenie/version_compat.py | 12 +-
providers/oracle/docs/.latest-doc-only-change.txt | 2 +-
providers/oracle/provider.yaml | 2 +
providers/oracle/pyproject.toml | 2 +
.../airflow/providers/oracle/get_provider_info.py | 1 +
.../airflow/providers/oracle/operators/oracle.py | 4 +-
.../providers/oracle/transfers/oracle_to_oracle.py | 4 +-
.../src/airflow/providers/oracle/version_compat.py | 9 -
providers/pagerduty/README.rst | 10 +-
providers/pagerduty/docs/changelog.rst | 22 +
providers/pagerduty/docs/index.rst | 10 +-
providers/pagerduty/provider.yaml | 3 +-
providers/pagerduty/pyproject.toml | 8 +-
.../src/airflow/providers/pagerduty/__init__.py | 2 +-
.../airflow/providers/pagerduty/hooks/pagerduty.py | 2 +-
.../providers/pagerduty/hooks/pagerduty_events.py | 2 +-
.../airflow/providers/pagerduty/version_compat.py | 6 -
.../tests/unit/pagerduty/hooks/test_pagerduty.py | 8 +-
.../unit/pagerduty/hooks/test_pagerduty_events.py | 43 +-
.../papermill/docs/.latest-doc-only-change.txt | 2 +-
providers/papermill/pyproject.toml | 1 +
.../airflow/providers/papermill/hooks/kernel.py | 2 +-
.../providers/papermill/operators/papermill.py | 8 +-
.../airflow/providers/papermill/version_compat.py | 12 -
providers/pgvector/README.rst | 30 +-
providers/pgvector/docs/changelog.rst | 20 +
providers/pgvector/docs/index.rst | 21 +-
providers/pgvector/provider.yaml | 3 +-
providers/pgvector/pyproject.toml | 7 +-
.../src/airflow/providers/pgvector/__init__.py | 2 +-
.../tests/system/pgvector/example_pgvector.py | 8 +-
.../system/pgvector/example_pgvector_openai.py | 8 +-
.../pinecone/docs/.latest-doc-only-change.txt | 2 +-
providers/pinecone/pyproject.toml | 2 +
.../airflow/providers/pinecone/hooks/pinecone.py | 2 +-
.../providers/pinecone/operators/pinecone.py | 2 +-
.../airflow/providers/pinecone/version_compat.py | 13 +-
providers/postgres/README.rst | 55 +-
providers/postgres/docs/changelog.rst | 23 +
providers/postgres/docs/index.rst | 34 +-
providers/postgres/provider.yaml | 3 +-
providers/postgres/pyproject.toml | 8 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
.../airflow/providers/postgres/hooks/postgres.py | 6 +-
providers/presto/README.rst | 15 +-
providers/presto/docs/changelog.rst | 21 +
providers/presto/docs/index.rst | 8 +-
.../presto/docs/{ => transfer}/gcs_to_presto.rst | 0
providers/presto/provider.yaml | 7 +-
providers/presto/pyproject.toml | 8 +-
.../src/airflow/providers/presto/__init__.py | 2 +-
.../airflow/providers/presto/get_provider_info.py | 3 +-
.../providers/presto/transfers/gcs_to_presto.py | 2 +-
.../src/airflow/providers/presto/version_compat.py | 6 -
providers/qdrant/docs/.latest-doc-only-change.txt | 2 +-
providers/qdrant/pyproject.toml | 2 +
.../src/airflow/providers/qdrant/hooks/qdrant.py | 2 +-
.../airflow/providers/qdrant/operators/qdrant.py | 2 +-
.../src/airflow/providers/qdrant/version_compat.py | 15 +-
providers/redis/README.rst | 19 +-
providers/redis/docs/.latest-doc-only-change.txt | 2 +-
providers/redis/docs/changelog.rst | 16 +
providers/redis/docs/index.rst | 19 +-
providers/redis/provider.yaml | 3 +-
providers/redis/pyproject.toml | 8 +-
.../redis/src/airflow/providers/redis/__init__.py | 2 +-
.../src/airflow/providers/redis/hooks/redis.py | 2 +-
.../providers/redis/operators/redis_publish.py | 8 +-
.../airflow/providers/redis/sensors/redis_key.py | 8 +-
.../providers/redis/sensors/redis_pub_sub.py | 8 +-
.../src/airflow/providers/redis/version_compat.py | 13 +-
.../unit/redis/log/test_redis_task_handler.py | 5 +-
.../salesforce/docs/.latest-doc-only-change.txt | 2 +-
providers/salesforce/pyproject.toml | 2 +
.../providers/salesforce/hooks/salesforce.py | 2 +-
.../airflow/providers/salesforce/operators/bulk.py | 4 +-
.../salesforce/operators/salesforce_apex_rest.py | 4 +-
.../airflow/providers/salesforce/version_compat.py | 17 +-
providers/samba/docs/.latest-doc-only-change.txt | 2 +-
providers/samba/pyproject.toml | 2 +
.../src/airflow/providers/samba/hooks/samba.py | 2 +-
.../providers/samba/transfers/gcs_to_samba.py | 4 +-
.../src/airflow/providers/samba/version_compat.py | 17 +-
providers/segment/docs/.latest-doc-only-change.txt | 2 +-
providers/segment/pyproject.toml | 2 +
.../src/airflow/providers/segment/hooks/segment.py | 2 +-
.../segment/operators/segment_track_event.py | 4 +-
.../airflow/providers/segment/version_compat.py | 17 +-
providers/sendgrid/README.rst | 42 +-
providers/sendgrid/docs/changelog.rst | 20 +
providers/sendgrid/docs/index.rst | 47 +-
providers/sendgrid/provider.yaml | 3 +-
providers/sendgrid/pyproject.toml | 8 +-
.../src/airflow/providers/sendgrid/__init__.py | 2 +-
.../airflow/providers/sendgrid/utils/emailer.py | 2 +-
.../airflow/providers/sendgrid/version_compat.py | 9 +-
providers/sftp/README.rst | 16 +-
providers/sftp/docs/changelog.rst | 17 +
providers/sftp/docs/index.rst | 6 +-
providers/sftp/provider.yaml | 5 +-
providers/sftp/pyproject.toml | 7 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 2 +-
.../providers/sftp/decorators/sensors/sftp.py | 11 +-
.../airflow/providers/sftp/get_provider_info.py | 1 +
.../sftp/src/airflow/providers/sftp/hooks/sftp.py | 4 +-
.../src/airflow/providers/sftp/operators/sftp.py | 21 +-
.../src/airflow/providers/sftp/sensors/sftp.py | 8 +-
.../src/airflow/providers/sftp/version_compat.py | 14 +-
.../singularity/docs/.latest-doc-only-change.txt | 2 +-
providers/singularity/pyproject.toml | 2 +
.../providers/singularity/operators/singularity.py | 4 +-
.../providers/singularity/version_compat.py | 9 +-
providers/slack/README.rst | 9 +-
providers/slack/docs/changelog.rst | 18 +
providers/slack/docs/index.rst | 9 +-
providers/slack/provider.yaml | 3 +-
providers/slack/pyproject.toml | 8 +-
.../slack/src/airflow/providers/slack/__init__.py | 2 +-
.../src/airflow/providers/slack/hooks/slack.py | 4 +-
.../airflow/providers/slack/hooks/slack_webhook.py | 2 +-
.../src/airflow/providers/slack/operators/slack.py | 8 +-
.../providers/slack/operators/slack_webhook.py | 8 +-
.../providers/slack/transfers/base_sql_to_slack.py | 2 +-
.../providers/slack/transfers/sql_to_slack.py | 6 +-
.../slack/transfers/sql_to_slack_webhook.py | 6 +-
.../src/airflow/providers/slack/utils/__init__.py | 2 +-
.../src/airflow/providers/slack/version_compat.py | 13 -
providers/smtp/docs/.latest-doc-only-change.txt | 2 +-
providers/smtp/pyproject.toml | 2 +-
.../smtp/src/airflow/providers/smtp/hooks/smtp.py | 7 +-
.../airflow/providers/smtp/notifications/smtp.py | 2 +-
.../src/airflow/providers/smtp/operators/smtp.py | 4 +-
.../src/airflow/providers/smtp/version_compat.py | 15 -
providers/snowflake/README.rst | 38 +-
providers/snowflake/docs/changelog.rst | 29 +
providers/snowflake/docs/index.rst | 20 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 8 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
.../providers/snowflake/decorators/snowpark.py | 12 +-
.../airflow/providers/snowflake/hooks/snowflake.py | 6 +-
.../providers/snowflake/operators/snowflake.py | 6 +-
.../snowflake/transfers/copy_into_snowflake.py | 2 +-
.../airflow/providers/snowflake/version_compat.py | 6 -
.../unit/snowflake/decorators/test_snowpark.py | 7 +-
.../unit/snowflake/operators/test_snowflake.py | 7 +-
providers/sqlite/docs/.latest-doc-only-change.txt | 2 +-
providers/ssh/README.rst | 40 +-
providers/ssh/docs/changelog.rst | 22 +
providers/ssh/docs/index.rst | 45 +-
providers/ssh/provider.yaml | 3 +-
providers/ssh/pyproject.toml | 8 +-
.../ssh/src/airflow/providers/ssh/__init__.py | 2 +-
.../ssh/src/airflow/providers/ssh/hooks/ssh.py | 2 +-
.../ssh/src/airflow/providers/ssh/operators/ssh.py | 16 +-
.../src/airflow/providers/ssh/version_compat.py | 12 +-
providers/ssh/tests/unit/ssh/operators/test_ssh.py | 20 +-
providers/standard/README.rst | 36 +-
providers/standard/docs/changelog.rst | 17 +
providers/standard/docs/index.rst | 41 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 8 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
.../airflow/providers/standard/decorators/bash.py | 20 +-
.../standard/decorators/branch_external_python.py | 10 +-
.../providers/standard/decorators/branch_python.py | 9 +-
.../standard/decorators/branch_virtualenv.py | 9 +-
.../standard/decorators/external_python.py | 9 +-
.../providers/standard/decorators/python.py | 9 +-
.../standard/decorators/python_virtualenv.py | 11 +-
.../providers/standard/decorators/sensor.py | 11 +-
.../providers/standard/decorators/short_circuit.py | 10 +-
.../airflow/providers/standard/decorators/stub.py | 18 +-
.../example_dags/example_bash_decorator.py | 7 +-
.../example_dags/example_branch_operator.py | 7 +-
.../example_branch_operator_decorator.py | 7 +-
.../example_external_task_parent_deferrable.py | 8 +-
.../standard/example_dags/example_hitl_operator.py | 2 +-
.../standard/example_dags/example_sensors.py | 7 +-
.../example_short_circuit_decorator.py | 7 +-
.../example_dags/example_short_circuit_operator.py | 7 +-
.../airflow/providers/standard/hooks/filesystem.py | 2 +-
.../providers/standard/hooks/package_index.py | 2 +-
.../airflow/providers/standard/hooks/subprocess.py | 2 +-
.../airflow/providers/standard/operators/bash.py | 15 +-
.../airflow/providers/standard/operators/branch.py | 2 +-
.../providers/standard/operators/datetime.py | 8 +-
.../airflow/providers/standard/operators/empty.py | 2 +-
.../airflow/providers/standard/operators/hitl.py | 2 +-
.../providers/standard/operators/latest_only.py | 7 +-
.../airflow/providers/standard/operators/python.py | 18 +-
.../airflow/providers/standard/operators/smooth.py | 2 +-
.../providers/standard/operators/trigger_dagrun.py | 35 +-
.../providers/standard/operators/weekday.py | 8 +-
.../src/airflow/providers/standard/sensors/bash.py | 8 +-
.../providers/standard/sensors/date_time.py | 8 +-
.../providers/standard/sensors/external_task.py | 9 +-
.../providers/standard/sensors/filesystem.py | 2 +-
.../airflow/providers/standard/sensors/python.py | 8 +-
.../src/airflow/providers/standard/sensors/time.py | 7 +-
.../providers/standard/sensors/time_delta.py | 10 +-
.../airflow/providers/standard/sensors/weekday.py | 9 +-
.../providers/standard/triggers/temporal.py | 6 +-
.../providers/standard/utils/python_virtualenv.py | 39 +-
.../airflow/providers/standard/utils/skipmixin.py | 8 +-
.../airflow/providers/standard/version_compat.py | 24 +-
.../tests/unit/standard/operators/test_python.py | 6 +-
.../unit/standard/operators/test_trigger_dagrun.py | 56 +-
.../unit/standard/utils/test_python_virtualenv.py | 16 +-
providers/tableau/README.rst | 38 +-
providers/tableau/docs/changelog.rst | 22 +
providers/tableau/docs/index.rst | 43 +-
providers/tableau/provider.yaml | 3 +-
providers/tableau/pyproject.toml | 8 +-
.../src/airflow/providers/tableau/__init__.py | 2 +-
.../src/airflow/providers/tableau/hooks/tableau.py | 2 +-
.../airflow/providers/tableau/operators/tableau.py | 8 +-
.../airflow/providers/tableau/sensors/tableau.py | 8 +-
.../airflow/providers/tableau/version_compat.py | 13 +-
providers/telegram/README.rst | 38 +-
.../telegram/docs/.latest-doc-only-change.txt | 2 +-
providers/telegram/docs/changelog.rst | 22 +
providers/telegram/docs/index.rst | 43 +-
providers/telegram/provider.yaml | 3 +-
providers/telegram/pyproject.toml | 8 +-
.../src/airflow/providers/telegram/__init__.py | 2 +-
.../airflow/providers/telegram/hooks/telegram.py | 2 +-
.../providers/telegram/operators/telegram.py | 8 +-
.../airflow/providers/telegram/version_compat.py | 12 +-
providers/teradata/README.rst | 35 +-
providers/teradata/docs/changelog.rst | 20 +
providers/teradata/docs/index.rst | 24 +-
providers/teradata/provider.yaml | 15 +-
providers/teradata/pyproject.toml | 8 +-
.../src/airflow/providers/teradata/__init__.py | 2 +-
.../providers/teradata/get_provider_info.py | 15 +-
.../src/airflow/providers/teradata/hooks/ttu.py | 2 +-
.../airflow/providers/teradata/operators/bteq.py | 7 +-
.../providers/teradata/operators/teradata.py | 8 +-
.../teradata/operators/teradata_compute_cluster.py | 14 +-
.../teradata/transfers/azure_blob_to_teradata.py | 4 +-
.../providers/teradata/transfers/s3_to_teradata.py | 8 +-
.../teradata/transfers/teradata_to_teradata.py | 8 +-
.../airflow/providers/teradata/version_compat.py | 12 +-
.../tests/unit/teradata/operators/test_bteq.py | 2 +-
providers/trino/README.rst | 52 +-
providers/trino/docs/.latest-doc-only-change.txt | 2 +-
providers/trino/docs/changelog.rst | 22 +
providers/trino/docs/index.rst | 44 +-
.../trino/docs/{ => transfer}/gcs_to_trino.rst | 0
providers/trino/provider.yaml | 5 +-
providers/trino/pyproject.toml | 8 +-
.../trino/src/airflow/providers/trino/__init__.py | 2 +-
.../airflow/providers/trino/get_provider_info.py | 2 +-
.../providers/trino/transfers/gcs_to_trino.py | 8 +-
.../src/airflow/providers/trino/version_compat.py | 6 -
providers/vertica/README.rst | 6 +-
providers/vertica/docs/changelog.rst | 21 +
providers/vertica/docs/index.rst | 6 +-
providers/vertica/provider.yaml | 5 +-
providers/vertica/pyproject.toml | 6 +-
.../src/airflow/providers/vertica/__init__.py | 2 +-
.../airflow/providers/vertica/get_provider_info.py | 1 +
providers/weaviate/README.rst | 44 +-
providers/weaviate/docs/changelog.rst | 17 +
providers/weaviate/docs/index.rst | 49 +-
providers/weaviate/provider.yaml | 3 +-
providers/weaviate/pyproject.toml | 8 +-
.../src/airflow/providers/weaviate/__init__.py | 2 +-
.../airflow/providers/weaviate/hooks/weaviate.py | 2 +-
.../providers/weaviate/operators/weaviate.py | 4 +-
.../airflow/providers/weaviate/version_compat.py | 20 +-
providers/yandex/docs/.latest-doc-only-change.txt | 2 +-
providers/yandex/pyproject.toml | 3 +
.../src/airflow/providers/yandex/hooks/yandex.py | 2 +-
.../src/airflow/providers/yandex/links/yq.py | 4 +-
.../airflow/providers/yandex/operators/dataproc.py | 4 +-
.../src/airflow/providers/yandex/operators/yq.py | 4 +-
.../src/airflow/providers/yandex/version_compat.py | 21 -
.../tests/unit/yandex/hooks/test_dataproc.py | 11 +-
.../yandex/tests/unit/yandex/hooks/test_yandex.py | 10 +-
.../yandex/tests/unit/yandex/hooks/test_yq.py | 9 +-
.../yandex/tests/unit/yandex/links/test_yq.py | 6 +-
.../tests/unit/yandex/operators/test_dataproc.py | 10 +-
.../yandex/tests/unit/yandex/operators/test_yq.py | 10 +-
providers/ydb/docs/.latest-doc-only-change.txt | 2 +-
providers/zendesk/README.rst | 38 +-
providers/zendesk/docs/changelog.rst | 17 +
providers/zendesk/docs/index.rst | 43 +-
providers/zendesk/provider.yaml | 3 +-
providers/zendesk/pyproject.toml | 8 +-
.../src/airflow/providers/zendesk/__init__.py | 2 +-
.../src/airflow/providers/zendesk/hooks/zendesk.py | 2 +-
.../airflow/providers/zendesk/version_compat.py | 14 -
pyproject.toml | 2 +-
.../ci/dockerfiles/apache-rat/build_and_push.sh | 4 +-
scripts/ci/install_breeze.sh | 2 +-
.../ci/prek/check_common_compat_lazy_imports.py | 491 +--
scripts/ci/prek/check_imports_in_providers.py | 2 +-
scripts/ci/prek/check_license.py | 12 +-
.../check_template_context_variable_in_sync.py | 18 +-
scripts/ci/prek/mypy.py | 7 +-
scripts/ci/prek/ruff_format.py | 2 +-
scripts/ci/prek/update_providers_build_files.py | 6 +-
scripts/ci/prek/upgrade_important_versions.py | 2 +-
scripts/cov/core_coverage.py | 1 +
scripts/docker/install_mysql.sh | 93 +-
scripts/in_container/bin/run_tmux | 4 +
.../in_container/install_airflow_and_providers.py | 268 +-
.../in_container/run_provider_yaml_files_check.py | 56 +-
scripts/systemd/airflow-api.service | 9 +-
scripts/systemd/airflow-flower.service | 1 -
scripts/systemd/airflow-kerberos.service | 2 +-
scripts/systemd/airflow-triggerer.service | 9 +-
scripts/tools/setup_breeze | 2 +-
task-sdk-tests/tests/task_sdk_tests/conftest.py | 32 +-
.../test_task_instance_operations.py | 190 +
task-sdk/.gitignore | 14 +
task-sdk/.pre-commit-config.yaml | 43 +
task-sdk/pyproject.toml | 4 -
task-sdk/src/airflow/sdk/api/client.py | 34 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 2 +-
.../sdk/definitions/_internal/abstractoperator.py | 4 +-
.../src/airflow/sdk/definitions/asset/__init__.py | 2 +-
task-sdk/src/airflow/sdk/definitions/connection.py | 19 -
task-sdk/src/airflow/sdk/definitions/dag.py | 38 +-
.../sdk/execution_time/secrets/execution_api.py | 20 +
.../src/airflow/sdk/execution_time/supervisor.py | 4 +-
.../src/airflow/sdk/execution_time/task_runner.py | 13 +-
task-sdk/tests/task_sdk/api/test_client.py | 391 +-
task-sdk/tests/task_sdk/bases/test_sensor.py | 45 +-
task-sdk/tests/task_sdk/definitions/test_dag.py | 15 +
.../tests/task_sdk/execution_time/test_secrets.py | 38 +
.../task_sdk/execution_time/test_supervisor.py | 2 +-
.../task_sdk/execution_time/test_task_runner.py | 140 +-
1467 files changed, 17821 insertions(+), 11855 deletions(-)
rename .github/workflows/{ci-amd.yml => ci-amd-arm.yml} (89%)
delete mode 100644 .github/workflows/ci-arm.yml
copy
airflow-core/src/airflow/api_fastapi/execution_api/versions/{v2025_10_10.py =>
v2025_10_27.py} (67%)
rename
airflow-core/src/airflow/api_fastapi/execution_api/versions/{v2025_10_10.py =>
v2026_01_01.py} (72%)
create mode 100644
airflow-core/src/airflow/migrations/versions/0091_3_2_0_restructure_callback_table.py
create mode 100644 airflow-core/src/airflow/models/callback.py
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/th/admin.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/th/assets.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/th/browse.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/th/common.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/th/components.json
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/th/dag.json
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/th/dags.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/th/dashboard.json
create mode 100644 airflow-core/src/airflow/ui/public/i18n/locales/th/hitl.json
create mode 100644
airflow-core/src/airflow/ui/public/i18n/locales/th/tasks.json
copy airflow-core/{src/airflow/_shared =>
tests/unit/api_fastapi/execution_api/versions/v2025_04_28}/__init__.py (100%)
create mode 100644 airflow-core/tests/unit/models/test_callback.py
delete mode 100755
docker-stack-docs/docker-examples/customizing/mysql-client.sh
delete mode 100644 go-sdk/celery/app.go
delete mode 100644 go-sdk/celery/cmd/main.go
delete mode 100644 go-sdk/celery/commands/root.go
delete mode 100644 go-sdk/celery/commands/run.go
delete mode 100644 go-sdk/celery/config.go
rename go-sdk/{edge/cmd => cmd/airflow-go-edge-worker}/main.go (100%)
create mode 100644 providers/.pre-commit-config.yaml
create mode 100644 providers/amazon/docs/integration-logos/Amazon-MWAA.png
create mode 100644
providers/cncf/kubernetes/src/airflow/providers/cncf/kubernetes/utils/container.py
create mode 100644
providers/cncf/kubernetes/tests/unit/cncf/kubernetes/utils/test_container.py
copy {dev => providers/common/compat}/.pre-commit-config.yaml (66%)
create mode 100644
providers/common/compat/src/airflow/providers/common/compat/_compat_utils.py
delete mode 100644
providers/common/compat/src/airflow/providers/common/compat/lazy_compat.py
delete mode 100644
providers/common/compat/src/airflow/providers/common/compat/lazy_compat.pyi
create mode 100644
providers/common/compat/src/airflow/providers/common/compat/sdk.py
create mode 100644
providers/common/compat/tests/unit/common/compat/test__compat_utils.py
rename providers/common/compat/tests/unit/common/compat/{test_lazy_compat.py
=> test_sdk.py} (87%)
create mode 100644 providers/edge3/.pre-commit-config.yaml
create mode 100644 providers/fab/.pre-commit-config.yaml
delete mode 100644
providers/google/docs/integration-logos/Google-Cloud-Life-Sciences.png
create mode 100644 providers/google/docs/operators/cloud/gen_ai.rst
create mode 100644
providers/google/src/airflow/providers/google/cloud/hooks/gen_ai.py
create mode 100644
providers/google/src/airflow/providers/google/cloud/operators/gen_ai.py
copy {airflow-core/src/airflow/_shared =>
providers/google/tests/system/google/cloud/gen_ai}/__init__.py (100%)
rename
providers/google/tests/system/google/cloud/{vertex_ai/example_vertex_ai_generative_model.py
=> gen_ai/example_gen_ai_generative_model.py} (80%)
rename
providers/google/tests/system/google/cloud/{vertex_ai/example_vertex_ai_generative_model_tuning.py
=> gen_ai/example_gen_ai_generative_model_tuning.py} (82%)
copy {airflow-core/src/airflow/_shared =>
providers/google/tests/system/google/cloud/gen_ai/resources}/__init__.py (100%)
copy providers/google/tests/system/google/cloud/{vertex_ai =>
gen_ai}/resources/video_tuning_dataset.jsonl (100%)
create mode 100644
providers/google/tests/unit/google/cloud/hooks/test_gen_ai.py
copy {airflow-core/src/airflow/_shared =>
providers/google/tests/unit/google/cloud/operators/gen_ai}/__init__.py (100%)
create mode 100644
providers/google/tests/unit/google/cloud/operators/test_gen_ai.py
copy airflow-core/src/airflow/example_dags/libs/helper.py =>
providers/http/src/airflow/providers/http/notifications/__init__.py (89%)
create mode 100644
providers/http/src/airflow/providers/http/notifications/http.py
copy {airflow-core/src/airflow/_shared =>
providers/http/tests/unit/http/notifications}/__init__.py (100%)
create mode 100644 providers/http/tests/unit/http/notifications/test_http.py
copy {dev => providers/keycloak}/.pre-commit-config.yaml (67%)
rename providers/presto/docs/{ => transfer}/gcs_to_presto.rst (100%)
rename providers/trino/docs/{ => transfer}/gcs_to_trino.rst (100%)
create mode 100644
task-sdk-tests/tests/task_sdk_tests/test_task_instance_operations.py
create mode 100644 task-sdk/.gitignore
create mode 100644 task-sdk/.pre-commit-config.yaml