This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/vite-8.0.0
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard 2ce59d6b97a chore(deps-dev): bump vite
add c5e7d7bb673 CI: Upgrade important CI environment (#64782)
add 38bd24b7f99 ElasticsearchTaskHandler: Request only required source
fields for task logs (#64562)
add 44323b0cd4b Add --path-to-airflow-svn definitions to release
verification (#64798)
add c3d4905a155 Run `uv lock --upgrade` locally in `breeze ci upgrade`
instead of inside CI image (#64804)
add 0ce1dd766ba Run non-provider mypy checks as regular prek static checks
instead of separate CI jobs (#64780)
add 15f365dfff3 Remove dependabot alarms in common.ai provider npm
dependencies (#64790)
add dcbc5ad5284 Remove dependabot alarms in registry npm dependencies
(#64792)
add 9a9b36d0d33 Increased test coverage of the cli standalone command
(#62081)
add 01603f2ac90 fix: prevent SQL keyword parameterization in MySQL
bulk_load_custom (#63530)
add 0251002b60e Bump vite in
/providers/edge3/src/airflow/providers/edge3/plugins/www (#64800)
add b9441efff87 Fix S3ToGCSOperator deferrable mode to return list of
copied files (#63533)
add 267f4949a4c Update Agents.md for UI dev (#64776)
add 3870e4065eb Bump vite (#64801)
add aff2c4498db Deprecate use_rest_api parameter in
CloudComposerDAGRunSensor and CloudComposerDAGRunTrigger (#64672)
add 9d877b43462 Return empty list when AzureContainerInstanceHook.get_logs
receives Logs(content=None) instead of returning [None]. (#63394)
add 58e5d02302c Improve debuggability of SQS, Lambda, EC2, and RDS hooks
(#64661)
add 0b482e39ef9 Add transient-error retry to SalesforceBulkOperator
(#64575)
add 7346de5eb65 enhance SnowflakeSqlApi docstring (statement_count)
(#64727)
add 87d35caaf99 Fix duplicate deadline callbacks with HA scheduler
replicas (#64737)
add 5c7f0372cc4 GCSHook: Log NotFound error instead of raise on Blob
deletion (#62424)
add cfe840f943f Introduced retries to the TableauSensor (#52770)
add ce87344fce2 i18n: add missing keys and fix Taiwanese Mandarin
terminology (#64762)
add 91270c76da1 Bump `google-cloud-aiplatform[evaluation]>=1.145.0`
(#64786)
add 8c0e5354660 Add `EksPodTrigger` (#64187)
add d53a7ad5c7e CI: Upgrade important CI environment (#64813)
add c2f83ea7c97 Add OpenLineage parent and transport info injection to
`EmrServerlessStartJobOperator` (#64807)
add d5bd2af0a1e Remove dependabot alarms in edge provider plugin (#64788)
add 4b0e876b470 feat: add `write_to_os` writing task logs to opensearch
(#64364)
add 9b3ed326f1c Add cooldown parameter to constraints-version-check
command (#64844)
add dd0ff5ad8d2 Replace upgrade-check build failure with scheduled upgrade
PR workflow (#64836)
add 0a03b4e87db Docs: Add JWT authentication docs and strengthen security
model (#64760)
add bf8de7f97b2 Chart: Default airflow version to 3.2.0 (#64841)
add a06896fe1de Allow UI theme config without tokens (CSS-only or empty
fallback) (#64552)
add 0b2efb99e6f Fix Gantt view "Error invalid date" on running DagRun
(#64752)
add 545baf44bae fix(ui): prevent duplicate nav sidebar when iframe
navigates away from auth pages (#63873)
add da38bd616df Remove dependabot alarms in fab provider npm dependencies
(#64789)
add d9baf3e96b1 Add uv.lock conflict resolution instructions (#64848)
add 8c1d4cc5abf Add workers.celery.waitForMigrations section (#62054)
add 8b03304883c Fix list-envs auth status for env names containing .json
(#64677)
add 063e4829323 Add missing custom command in airflowctl integration tests
(#64795)
add fc315f3d77f Incorrect fallback logic (#64586)
add cacc2eb8dca Add exclude-newer-package=false for all workspace
components in uv config (#64859)
add a02fbaa00cc fix(DagCalendarTab): improve background color retrieval
and loading overlay handling (#64189)
add 59ddf5698ab Add workers.celery.serviceAccount &
workers.kubernetes.serviceAccount (#64730)
add 1f0709c8961 Docs: Add gh pr create example to provider release
instructions (#64865)
add 15faf7eadfa Airflow 3.2.0 has been released (#64839)
add 93552c2bcb5 Bugfix/skip commit checks on automated ci upgrades (#64856)
add c68d1027048 Add workers.celery.hpa (#64734)
add f00a6769ec0 Fix ruff on client-py (#64868)
add f431a3eba7b Prepare providers release 2026-04-07 (#64864)
add 1d679538f21 Move "Free up disk space" step into
prepare_breeze_and_image action (#64872)
add 9096d072030 Fix RST syntax error in SSH provider changelog (#64881)
add 4a499ad4241 Fix spelling issues in ssh (#64883)
add aaab2be5ca9 Fix OpenLineage SQL utils emitting duplicate datasets for
tables in multiple schemas (#64622)
add 47ce5f32b4f Add Ipregistry to INTHEWILD.md (#61955)
add 40902de7e7d Skip newsfragment check on label events to avoid approval
requirement (#64901)
add bdc2747cc41 feat: Add dagrun partition info to OpenLineage events
(#64897)
add 4d75f0ad93b fix(ui): cancel debounce on clear to prevent stale search
value (#64893)
add bc26d6b135d (squashed) adds Vespa provider (#63988)
add c35d1d77fa2 Add workers.celery.affinity & workers.kubernetes.affinity
(#64860)
add 26a700fc7ad docs: remove outdated reference to Dag Dependencies view
(#64787)
add e62a12d06f8 Fix CARGO_HOME location for airflow user builds (#64899)
add 11a0aa8a36d open task group when navigating via group name; preserve
arrow toggl… (#64284)
add 44708bdb2a3 [main] CI: Upgrade important CI environment (#64912)
add 27258d56788 Speed up cleanup_python_generated_files by skipping
irrelevant dirs (#64927)
add 636213e7d33 Add workers.celery.extraContainers &
workers.kubernetes.extraContainers (#64739)
add 06101dc5daa Fix broken RST link in New PMC Member Onboarding steps
(#64934)
add 666879c6735 fix(migrations): move UPDATEs inside disable_sqlite_fkeys
in migration 0097 (#64876)
add 6fd0142229e Fix elasticsearch provider to use SDK imports for Airflow
3.2+ (#64931)
add 3ac0d74db71 Fix read out-of-order issue with send method in
CommsDecoder (#64894)
add f089b5b2e93 Fix trigger template rendering failure when operator
template_fields differ from trigger attributes (#64715)
add 1171c9b397f Fix broken markdown links in boring-cyborg first PR
welcome comment (#64937)
add 1ffd2da4fbe Update python client version/changelog for 3.2.0 release
(#64951)
add a06082660ed fix bulk connection delete banner (#64735)
add a42955b8816 Update accepting provider guide with more examples (#64958)
add 7efa37252e1 Update gen ai batch api system test (#64964)
add f4f48b9abfb Add vault data layer for auto-triage (#64590)
add 35d76bc147b UI: Implement automatic link target detection for
extra_links (#64404)
add 645413bc845 Hide legacy sql connection (#64923)
add 6f56aa1fe0a build(prek-hook): Check whether new "raise
AirflowException" is added (#55416)
add 52c4d32c0c0 Add workers.celery.extraInitContainers &
workers.kubernetes.extraInitContainers (#64741)
add 220ba208844 Fix broken pytest/main after PR 64923 (#64978)
add 431c40ba13d Remove AirflowException from Edge Example Dag (#64975)
add ee27b294c50 Improve auto-triage TUI: vault fallback, check TTL,
search, review questions (#64969)
add bcb489c8880 add more debugging logs when emr_eks system tests fail
(#64817)
add 7348e09bed6 Remove unused/dead code in migration utils (#64947)
add bfa22c05a82 Added plugins command to airflowctl (#64935)
add 9465591c0f6 feat: restore os provider on core library (#64764)
add 8418e1320d2 Fix release check tooling for providers (#64920)
add 7bbd8a79283 Breeze: Show local reproduction commands in all breeze CI
steps (#63901)
add e25114571ec Bump axios from 1.13.6 to 1.15.0 in
/airflow-core/src/airflow/ui (#65005)
add cd851646fba Expose queueing/scheduled time in the Gantt Chart (#63372)
add e55d90f0692 fix(glue): Fix GlueJobOperator verbose logs not showing in
deferrable mode (#64342)
add 6cbf4c8bc41 Add workers.celery.extraVolumes &
workers.kubernetes.extraVolumes (#64746)
add 17c4db97c4e Bump axios in
/providers/edge3/src/airflow/providers/edge3/plugins/www (#65004)
add 34497e5f3c6 fix the bulk (#65015)
add 74283fb2a86 Add FAQ entry for API server memory growth with gunicorn
worker recycling (#65036)
add 3ce9681214d Add v3-2-stable branch protection for Airflow 3.2.0
release (#65038)
add 2c9f34cf778 Fix HITL review plugin crash on Airflow < 3.1 due to
unconditional im… (#64981)
add d5cbfe52e78 Add workers.celery.tolerations &
workers.kubernetes.tolerations (#64976)
add d212f624cf4 Sync default image Python version references (#64994)
add 99e5127f6d5 add ttlSecondsAfterFinished to databaseCleanup job (#64164)
add 7d3364b22f3 Validate operator arg types at decoration time in @task
decorator (#65041)
add 511af0a7dd5 Add workers.celery.topologySpreadConstraints &
workers.kubernetes.topologySpreadConstraints (#64980)
add 3564d44ee3d Add workers.celery.annotations field (#64982)
add cbcd5636f07 Fixed incorrect image path for helm/core issues in breeze
docs (#65060)
add 6d02bae165d fix: update dependencies to fix dependabot alarms in
registry (#65051)
add 4ecbd59c0be Fix missing dag_id in get_task_instance (#64957) (#64968)
add 8a02c43dcb7 Add workers.celery.podAnnotations &
workers.kubernetes.podAnnotations (#65027)
add 7c633b6f8f6 Fix RESOURCE_ASSET compatibility with Airflow 2.x in
common-compat (#64933)
add 9e92ac9e46f Fix stale system test documentation links (#65071)
add 8ff744f7e4a Fix opensearch provider to use SDK imports for Airflow
3.2+ (#65076)
add 88eccf4e939 Add workers.celery.extraVolumeMounts &
workers.kubernetes.extraVolumeMounts (#65059)
add 3a458dea5e9 [Helm]Support tpl rendering in ServiceAccount annotations,
metadataConnection, and config ConfigMap names (#64763)
add 9f8678a3efc Fix CLI error handling and exit codes for failed commands
(#65052)
add 556380f86e4 Add workers.celery.logGroomerSidecar section (#65033)
add 30c170e6748 add yaml-based help texts for auto-generated airflowctl
commands (#65073)
add 6ef5165a2b6 fix(cli): change is_alive default to None in jobs list
(#65065)
add f13b71371da Trigger unit tests when only shared/*.py files change
(#64999)
add eae5f754463 Prevent path traversal via AIRFLOW_CLI_ENVIRONMENT in
airflowctl (#64618)
add 6a63b1e1c6b Fix publishing failure when new providers are added to
main (#65093)
add 2ebfc0ed762 Update providers metadata 2026-04-12 (#65102)
add 977c119a050 Add workers.celery.labels & workers.kubernetes.labels
(#65030)
add 4c0535857bc Generate JWT Secret of recommended length (#65082)
add b24538b0bc3 Added breeze generate issue content for airflow-ctl
(#65042)
add 0ecfcee859b Add workers.celery.env & workers.kubernetes.env (#65056)
add 0c023531d0c Prepare providers release 2026-04-12 (#65106)
add 9bbac9d789c Remove breeze k8s configure-k8s-cluster (#65088)
add fa718454418 Bump aws-actions/configure-aws-credentials (#65021)
add 58fb2fb0938 fix/celery-ssl-skip-empty-key-cert (#64767)
add ef0004035ed Reduce per-DAG queries during DAG serialization with bulk
prefetch (#64929)
add bb5a744d449 Use conf_vars in executor tests to avoid polluting config
instance (#65126)
add cb7f6afe039 fix RedshiftSQLHook._get_conn_params connection mutation
with iam (#64991)
add 552da84cd15 Fix duplicate Date headers in Flask WSGI responses (#64726)
add c97d1a51025 Add fast-path heartbeat UPDATE to avoid row lock in the
common case (#65029)
add 5342d3d437c fix(ui): use fixed menu positioning for dropdowns in
connection forms (#65007) (#65085)
add 11aba6788e6 fix(ui): sync SearchBar value with defaultValue changes
(#65054)
add bcd31b209ea Upgrade to Vite 8. (#65084)
add 709a1f6ade4 Remove v3-1-test dependabot upgrades (#65109)
add f3843d969bc Speed up Publish Docs to S3 workflow with main CI image
cache (#65108)
add 521d5257929 Re export AirflowPlugin to fix mypy errors in plugins
(#65132)
add 7ae29fb7835 Fix E2E Flaky Tests Report failing with gh api 404 (#65120)
add b73a4f3737b update release notes of 3.2.0 specifying
`sqlalchemy[asyncio]>=2.0.48` (#65133)
add 91b60788ca5 Cleanup databricks docs for `DatabricksWorkflowTaskGroup`
(#65135)
add a270ca99801 Bump uv from 0.11.3 to 0.11.6 in /dev/breeze (#65141)
add d34c2c9f0a5 Bump uv from 0.11.3 to 0.11.6 (#65142)
add b98ee239ff5 Bump vite (#64803)
add 2f1da292b04 Bump the fab-ui-package-updates group across 1 directory
with 4 updates (#65145)
add 9e66dae7f7c chore(deps-dev): bump vite
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 (2ce59d6b97a)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/vite-8.0.0
(9e66dae7f7c)
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:
.asf.yaml | 5 +
.github/CODEOWNERS | 1 +
.github/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 1 +
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 2 +-
.../actions/prepare_breeze_and_image/action.yml | 3 +
.github/boring-cyborg.yml | 5 +-
.github/dependabot.yml | 73 -
.github/instructions/code-review.instructions.md | 2 +-
.github/workflows/basic-tests.yml | 85 +-
.github/workflows/check-newsfragment-pr-number.yml | 2 +-
.github/workflows/ci-amd-arm.yml | 50 +-
.github/workflows/ci-image-checks.yml | 59 +-
.github/workflows/k8s-tests.yml | 3 -
.github/workflows/publish-docs-to-s3.yml | 30 +-
.github/workflows/registry-backfill.yml | 4 +-
.github/workflows/registry-build.yml | 2 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.../workflows/scheduled-upgrade-check-main.yml | 27 +-
.../scheduled-upgrade-check-v3-2-test.yml} | 21 +-
.github/workflows/test-providers.yml | 6 -
.github/workflows/upgrade-check.yml | 125 ++
.pre-commit-config.yaml | 48 +-
AGENTS.md | 38 +-
COMMITTERS.rst | 2 +-
Dockerfile | 8 +-
Dockerfile.ci | 6 +-
INTHEWILD.md | 1 +
README.md | 26 +-
RELEASE_NOTES.rst | 654 +++++++++
airflow-core/.pre-commit-config.yaml | 24 +-
.../production-deployment.rst | 9 +-
airflow-core/docs/best-practices.rst | 8 +-
airflow-core/docs/configurations-ref.rst | 25 +-
airflow-core/docs/core-concepts/dags.rst | 5 +-
airflow-core/docs/core-concepts/multi-team.rst | 2 +-
airflow-core/docs/extra-packages-ref.rst | 2 +
airflow-core/docs/faq.rst | 37 +
airflow-core/docs/howto/customize-ui.rst | 1 +
airflow-core/docs/howto/set-config.rst | 23 +-
.../docs/installation/supported-versions.rst | 2 +-
.../docs/installation/upgrading_to_airflow3.rst | 2 +-
airflow-core/docs/public-airflow-interface.rst | 7 +-
.../docs/security/jwt_token_authentication.rst | 398 +++++
airflow-core/docs/security/security_model.rst | 493 ++++++-
airflow-core/docs/security/workload.rst | 83 ++
airflow-core/newsfragments/64552.improvement.rst | 1 +
.../auth/managers/simple/ui/package.json | 2 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 453 +++---
.../src/airflow/api_fastapi/common/types.py | 8 +-
.../api_fastapi/core_api/datamodels/ui/config.py | 10 +
.../api_fastapi/core_api/datamodels/ui/gantt.py | 2 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 99 +-
.../api_fastapi/core_api/routes/ui/gantt.py | 6 +
.../execution_api/routes/task_instances.py | 23 +-
.../config_templates/airflow_local_settings.py | 44 +-
.../src/airflow/config_templates/config.yml | 10 +-
.../src/airflow/dag_processing/collection.py | 21 +-
.../src/airflow/jobs/scheduler_job_runner.py | 16 +-
airflow-core/src/airflow/migrations/utils.py | 246 ----
..._enforce_log_event_and_dag_is_stale_not_null.py | 9 +-
airflow-core/src/airflow/models/serialized_dag.py | 102 +-
airflow-core/src/airflow/models/taskinstance.py | 1 +
airflow-core/src/airflow/plugins_manager.py | 2 +-
airflow-core/src/airflow/triggers/base.py | 23 +-
airflow-core/src/airflow/ui/AGENTS.md | 27 +
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 135 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 28 +-
airflow-core/src/airflow/ui/package.json | 11 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 1545 ++++++++------------
.../ui/public/i18n/locales/zh-TW/admin.json | 3 +-
.../ui/public/i18n/locales/zh-TW/assets.json | 2 +-
.../ui/public/i18n/locales/zh-TW/browse.json | 4 +-
.../ui/public/i18n/locales/zh-TW/common.json | 41 +
.../ui/public/i18n/locales/zh-TW/components.json | 4 +-
.../airflow/ui/public/i18n/locales/zh-TW/dag.json | 3 +-
.../airflow/ui/public/i18n/locales/zh-TW/dags.json | 2 +-
.../src/components/FlexibleForm/FieldDropdown.tsx | 1 +
.../components/FlexibleForm/FieldMultiSelect.tsx | 1 +
.../airflow/ui/src/components/SearchBar.test.tsx | 76 +-
.../src/airflow/ui/src/components/SearchBar.tsx | 17 +-
.../ui/src/layouts/Details/Gantt/utils.test.ts | 350 +++++
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 58 +-
.../ui/src/layouts/Details/Grid/TaskNames.tsx | 19 +-
airflow-core/src/airflow/ui/src/pages/Security.tsx | 12 +
.../ui/src/pages/TaskInstance/ExtraLinks.test.tsx | 124 ++
.../ui/src/pages/TaskInstance/ExtraLinks.tsx | 26 +-
.../ui/src/queries/useBulkDeleteConnections.tsx | 4 +-
airflow-core/src/airflow/ui/src/theme.ts | 20 +-
.../airflow/ui/tests/e2e/pages/DagCalendarTab.ts | 52 +-
airflow-core/src/airflow/ui/vite.config.ts | 10 +-
.../airflow/utils/log/non_caching_file_handler.py | 2 +-
airflow-core/tests/system/example_empty.py | 2 +-
.../tests/unit/api_fastapi/common/test_types.py | 31 +-
.../api_fastapi/core_api/routes/ui/test_config.py | 24 +
.../api_fastapi/core_api/routes/ui/test_gantt.py | 24 +
.../versions/head/test_task_instances.py | 162 ++
.../unit/cli/commands/test_standalone_command.py | 273 +++-
airflow-core/tests/unit/core/test_configuration.py | 1 +
.../tests/unit/dag_processing/test_collection.py | 1 +
.../tests/unit/executors/test_base_executor.py | 216 ++-
airflow-core/tests/unit/jobs/test_scheduler_job.py | 62 +
.../tests/unit/models/test_serialized_dag.py | 42 +
.../tests/unit/models/test_taskinstance.py | 75 +
.../tests/unit/triggers/test_base_trigger.py | 71 +
.../airflowctl_tests/test_airflowctl_commands.py | 23 +-
airflow-ctl/.pre-commit-config.yaml | 23 +-
airflow-ctl/docs/images/command_hashes.txt | 23 +-
airflow-ctl/docs/images/output_assets.svg | 186 +--
airflow-ctl/docs/images/output_backfill.svg | 122 +-
airflow-ctl/docs/images/output_config.svg | 98 +-
airflow-ctl/docs/images/output_connections.svg | 88 +-
airflow-ctl/docs/images/output_dagrun.svg | 86 +-
airflow-ctl/docs/images/output_dags.svg | 170 +--
airflow-ctl/docs/images/output_jobs.svg | 80 +-
airflow-ctl/docs/images/output_main.svg | 130 +-
airflow-ctl/docs/images/output_plugins.svg | 105 ++
airflow-ctl/docs/images/output_pools.svg | 116 +-
airflow-ctl/docs/images/output_providers.svg | 80 +-
airflow-ctl/docs/images/output_variables.svg | 76 +-
airflow-ctl/src/airflowctl/api/client.py | 74 +-
airflow-ctl/src/airflowctl/api/operations.py | 32 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 27 +-
.../src/airflowctl/ctl/commands/auth_command.py | 6 +-
airflow-ctl/src/airflowctl/ctl/help_texts.yaml | 102 ++
airflow-ctl/tests/airflow_ctl/api/test_client.py | 37 +-
.../tests/airflow_ctl/api/test_operations.py | 85 ++
.../airflow_ctl/ctl/commands/test_auth_command.py | 18 +
.../tests/airflow_ctl/ctl/test_cli_config.py | 115 ++
chart/Chart.yaml | 20 +-
chart/docs/customizing-labels.rst | 7 +-
chart/docs/production-guide.rst | 11 +
chart/docs/setting-resources-for-containers.rst | 2 +-
chart/docs/using-additional-containers.rst | 16 +-
chart/files/pod-template-file.kubernetes-helm-yaml | 42 +-
chart/newsfragments/62054.significant.rst | 1 +
chart/newsfragments/64730.significant.rst | 1 +
chart/newsfragments/64734.significant.rst | 1 +
chart/newsfragments/64739.significant.rst | 1 +
chart/newsfragments/64741.significant.rst | 1 +
chart/newsfragments/64746.significant.rst | 1 +
chart/newsfragments/64841.significant.rst | 3 +
chart/newsfragments/64860.significant.rst | 1 +
chart/newsfragments/64976.significant.rst | 1 +
chart/newsfragments/64980.significant.rst | 1 +
chart/newsfragments/64982.significant.rst | 1 +
chart/newsfragments/65027.significant.rst | 1 +
chart/newsfragments/65030.significant.rst | 1 +
chart/newsfragments/65033.significant.rst | 1 +
chart/newsfragments/65056.significant.rst | 1 +
chart/newsfragments/65059.significant.rst | 1 +
chart/templates/NOTES.txt | 280 ++++
chart/templates/_helpers.yaml | 55 +-
.../api-server/api-server-serviceaccount.yaml | 3 +-
.../dag-processor-serviceaccount.yaml | 3 +-
.../database-cleanup/database-cleanup-cronjob.yaml | 3 +
.../pgbouncer/pgbouncer-serviceaccount.yaml | 3 +-
.../scheduler/scheduler-serviceaccount.yaml | 4 +-
chart/templates/secrets/jwt-secret.yaml | 2 +-
.../secrets/metadata-connection-secret.yaml | 9 +-
.../triggerer/triggerer-serviceaccount.yaml | 3 +-
.../webserver/webserver-serviceaccount.yaml | 3 +-
chart/templates/workers/worker-deployment.yaml | 4 +-
.../worker-kubernetes-serviceaccount.yaml} | 24 +-
chart/templates/workers/worker-serviceaccount.yaml | 3 +-
chart/values.schema.json | 1006 +++++++++++--
chart/values.yaml | 385 ++++-
clients/python/CHANGELOG.md | 47 +
clients/python/version.txt | 2 +-
contributing-docs/08_static_code_checks.rst | 48 +-
contributing-docs/10_working_with_git.rst | 7 +-
contributing-docs/12_provider_distributions.rst | 2 +-
contributing-docs/testing/system_tests.rst | 6 +-
dev/README_RELEASE_AIRFLOW.md | 10 +-
dev/README_RELEASE_AIRFLOWCTL.md | 2 +-
dev/README_RELEASE_PROVIDERS.md | 17 +
dev/README_RELEASE_PYTHON_CLIENT.md | 2 +-
dev/breeze/doc/09_release_management_tasks.rst | 14 +-
dev/breeze/doc/ci/02_images.md | 2 +-
dev/breeze/doc/images/output_build-docs.svg | 2 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci_upgrade.svg | 68 +-
dev/breeze/doc/images/output_ci_upgrade.txt | 2 +-
dev/breeze/doc/images/output_pr_auto-triage.svg | 12 +-
dev/breeze/doc/images/output_pr_auto-triage.txt | 2 +-
.../doc/images/output_release-management.svg | 42 +-
.../doc/images/output_release-management.txt | 2 +-
...tput_release-management_add-back-references.svg | 2 +-
...tput_release-management_add-back-references.txt | 2 +-
...elease-management_constraints-version-check.svg | 32 +-
...elease-management_constraints-version-check.txt | 2 +-
...nagement_generate-issue-content-airflow-ctl.svg | 134 ++
...nagement_generate-issue-content-airflow-ctl.txt | 1 +
...management_generate-issue-content-providers.svg | 2 +-
...management_generate-issue-content-providers.txt | 2 +-
...ease-management_generate-providers-metadata.svg | 2 +-
...ease-management_generate-providers-metadata.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 2 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 2 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 2 +-
.../output_release-management_publish-docs.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 2 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
.../output_setup_check-all-params-in-groups.svg | 4 +-
.../output_setup_check-all-params-in-groups.txt | 2 +-
.../output_setup_regenerate-command-images.svg | 72 +-
.../output_setup_regenerate-command-images.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 2 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
.../src/airflow_breeze/commands/ci_commands.py | 146 +-
.../airflow_breeze/commands/ci_commands_config.py | 1 +
.../airflow_breeze/commands/developer_commands.py | 8 +
.../commands/kubernetes_commands_config.py | 21 -
.../src/airflow_breeze/commands/pr_commands.py | 117 +-
.../airflow_breeze/commands/registry_commands.py | 2 +-
.../commands/release_management_commands.py | 78 +-
.../commands/release_management_commands_config.py | 17 +-
dev/breeze/src/airflow_breeze/global_constants.py | 12 +-
.../airflow_breeze/utils/check_release_files.py | 3 +-
dev/breeze/src/airflow_breeze/utils/click_utils.py | 28 +-
.../utils/constraints_version_check.py | 43 +-
.../src/airflow_breeze/utils/docs_publisher.py | 4 +
dev/breeze/src/airflow_breeze/utils/llm_utils.py | 15 +-
dev/breeze/src/airflow_breeze/utils/packages.py | 2 +-
dev/breeze/src/airflow_breeze/utils/path_utils.py | 36 +-
dev/breeze/src/airflow_breeze/utils/pr_cache.py | 43 +-
dev/breeze/src/airflow_breeze/utils/pr_vault.py | 210 +++
.../src/airflow_breeze/utils/reproduce_ci.py | 239 +++
.../src/airflow_breeze/utils/selective_checks.py | 73 +-
dev/breeze/src/airflow_breeze/utils/tui_display.py | 26 +-
dev/breeze/tests/test_author_cache.py | 80 +
dev/breeze/tests/test_cache_validation.py | 117 ++
dev/breeze/tests/test_packages.py | 4 +-
dev/breeze/tests/test_pr_vault.py | 253 ++++
.../tests/test_pytest_args_for_test_types.py | 1 +
dev/breeze/tests/test_reproduce_ci.py | 432 ++++++
dev/breeze/tests/test_selective_checks.py | 271 ++--
dev/breeze/uv.lock | 302 ++--
devel-common/pyproject.toml | 2 +-
.../src/sphinx_exts/docs_build/package_filter.py | 2 +-
docker-stack-docs/build-arg-ref.rst | 2 +-
.../customizing/add-build-essential-custom.sh | 2 +-
.../docker-examples/customizing/custom-sources.sh | 2 +-
.../customizing/pypi-dev-runtime-deps.sh | 2 +-
.../customizing/pypi-extras-and-deps.sh | 2 +-
.../customizing/pypi-selected-version.sh | 2 +-
.../restricted/restricted_environments.sh | 2 +-
docs/spelling_wordlist.txt | 11 +
generated/PYPI_README.md | 24 +-
generated/provider_metadata.json | 612 ++++++--
helm-tests/tests/chart_utils/log_groomer.py | 145 +-
.../helm_tests/airflow_aux/test_annotations.py | 384 ++++-
.../airflow_aux/test_basic_helm_chart.py | 7 +
.../airflow_aux/test_container_lifecycle.py | 71 +-
.../airflow_aux/test_database_cleanup.py | 26 +
.../airflow_aux/test_pod_template_file.py | 483 ++++--
.../helm_tests/airflow_core/test_pdb_worker.py | 31 +-
.../tests/helm_tests/airflow_core/test_worker.py | 1274 ++++++++++++----
.../helm_tests/airflow_core/test_worker_sets.py | 544 +++++--
helm-tests/tests/helm_tests/other/test_hpa.py | 140 +-
.../security/test_metadata_connection_secret.py | 40 +
.../helm_tests/security/test_security_context.py | 75 +-
providers/.last_release_date.txt | 2 +-
providers/ACCEPTING_PROVIDERS.rst | 11 +-
providers/airbyte/README.rst | 6 +-
providers/airbyte/docs/changelog.rst | 11 +
providers/airbyte/docs/index.rst | 6 +-
providers/airbyte/provider.yaml | 3 +-
providers/airbyte/pyproject.toml | 6 +-
.../src/airflow/providers/airbyte/__init__.py | 2 +-
.../system/airbyte/example_airbyte_trigger_job.py | 2 +-
providers/alibaba/README.rst | 17 +-
providers/alibaba/docs/changelog.rst | 14 +
providers/alibaba/docs/index.rst | 6 +-
providers/alibaba/provider.yaml | 3 +-
providers/alibaba/pyproject.toml | 6 +-
.../src/airflow/providers/alibaba/__init__.py | 2 +-
.../system/alibaba/example_adb_spark_batch.py | 2 +-
.../tests/system/alibaba/example_adb_spark_sql.py | 2 +-
.../tests/system/alibaba/example_maxcompute_sql.py | 2 +-
.../tests/system/alibaba/example_oss_bucket.py | 2 +-
.../tests/system/alibaba/example_oss_object.py | 2 +-
providers/amazon/README.rst | 11 +-
providers/amazon/docs/changelog.rst | 38 +
providers/amazon/docs/index.rst | 8 +-
providers/amazon/provider.yaml | 3 +-
providers/amazon/pyproject.toml | 8 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../src/airflow/providers/amazon/aws/hooks/ec2.py | 25 +-
.../src/airflow/providers/amazon/aws/hooks/glue.py | 36 +-
.../providers/amazon/aws/hooks/lambda_function.py | 29 +-
.../src/airflow/providers/amazon/aws/hooks/rds.py | 46 +-
.../providers/amazon/aws/hooks/redshift_sql.py | 20 +-
.../src/airflow/providers/amazon/aws/hooks/sqs.py | 19 +-
.../airflow/providers/amazon/aws/operators/eks.py | 77 +
.../airflow/providers/amazon/aws/operators/emr.py | 37 +-
.../airflow/providers/amazon/aws/triggers/eks.py | 130 ++
.../airflow/providers/amazon/aws/triggers/glue.py | 135 +-
.../amazon/tests/system/amazon/CONTRIBUTING.md | 2 +-
.../tests/system/amazon/aws/example_appflow.py | 2 +-
.../tests/system/amazon/aws/example_appflow_run.py | 2 +-
.../tests/system/amazon/aws/example_athena.py | 2 +-
.../system/amazon/aws/example_azure_blob_to_s3.py | 2 +-
.../tests/system/amazon/aws/example_batch.py | 2 +-
.../tests/system/amazon/aws/example_bedrock.py | 2 +-
.../amazon/aws/example_bedrock_batch_inference.py | 2 +-
.../aws/example_bedrock_retrieve_and_generate.py | 2 +-
.../system/amazon/aws/example_cloudformation.py | 2 +-
.../tests/system/amazon/aws/example_comprehend.py | 2 +-
.../aws/example_comprehend_document_classifier.py | 2 +-
.../tests/system/amazon/aws/example_datasync.py | 2 +-
.../amazon/tests/system/amazon/aws/example_dms.py | 2 +-
.../system/amazon/aws/example_dms_serverless.py | 2 +-
.../tests/system/amazon/aws/example_dynamodb.py | 2 +-
.../system/amazon/aws/example_dynamodb_to_s3.py | 2 +-
.../amazon/tests/system/amazon/aws/example_ec2.py | 2 +-
.../amazon/tests/system/amazon/aws/example_ecs.py | 2 +-
.../tests/system/amazon/aws/example_ecs_fargate.py | 2 +-
.../system/amazon/aws/example_eks_templated.py | 2 +-
.../aws/example_eks_with_fargate_in_one_step.py | 2 +-
.../amazon/aws/example_eks_with_fargate_profile.py | 2 +-
.../aws/example_eks_with_nodegroup_in_one_step.py | 2 +-
.../amazon/aws/example_eks_with_nodegroups.py | 2 +-
.../amazon/tests/system/amazon/aws/example_emr.py | 2 +-
.../tests/system/amazon/aws/example_emr_eks.py | 8 +-
.../amazon/aws/example_emr_notebook_execution.py | 2 +-
.../system/amazon/aws/example_emr_serverless.py | 2 +-
.../tests/system/amazon/aws/example_eventbridge.py | 2 +-
.../tests/system/amazon/aws/example_ftp_to_s3.py | 2 +-
.../tests/system/amazon/aws/example_gcs_to_s3.py | 2 +-
.../system/amazon/aws/example_glacier_to_gcs.py | 2 +-
.../amazon/tests/system/amazon/aws/example_glue.py | 2 +-
.../system/amazon/aws/example_glue_data_quality.py | 2 +-
...xample_glue_data_quality_with_recommendation.py | 2 +-
.../system/amazon/aws/example_glue_databrew.py | 2 +-
.../amazon/aws/example_google_api_sheets_to_s3.py | 2 +-
.../amazon/aws/example_google_api_youtube_to_s3.py | 2 +-
.../system/amazon/aws/example_hive_to_dynamodb.py | 2 +-
.../tests/system/amazon/aws/example_http_to_s3.py | 2 +-
.../amazon/aws/example_imap_attachment_to_s3.py | 2 +-
.../system/amazon/aws/example_kinesis_analytics.py | 2 +-
.../tests/system/amazon/aws/example_lambda.py | 2 +-
.../tests/system/amazon/aws/example_local_to_s3.py | 2 +-
.../tests/system/amazon/aws/example_mongo_to_s3.py | 2 +-
.../amazon/tests/system/amazon/aws/example_mwaa.py | 2 +-
.../system/amazon/aws/example_mwaa_airflow2.py | 2 +-
.../tests/system/amazon/aws/example_neptune.py | 2 +-
.../tests/system/amazon/aws/example_quicksight.py | 2 +-
.../tests/system/amazon/aws/example_rds_event.py | 2 +-
.../tests/system/amazon/aws/example_rds_export.py | 2 +-
.../system/amazon/aws/example_rds_instance.py | 2 +-
.../system/amazon/aws/example_rds_snapshot.py | 2 +-
.../tests/system/amazon/aws/example_redshift.py | 2 +-
.../amazon/aws/example_redshift_s3_transfers.py | 2 +-
.../amazon/tests/system/amazon/aws/example_s3.py | 2 +-
.../system/amazon/aws/example_s3_to_dynamodb.py | 2 +-
.../tests/system/amazon/aws/example_s3_to_ftp.py | 2 +-
.../tests/system/amazon/aws/example_s3_to_sftp.py | 2 +-
.../tests/system/amazon/aws/example_s3_to_sql.py | 2 +-
.../tests/system/amazon/aws/example_sagemaker.py | 2 +-
.../amazon/aws/example_sagemaker_condition.py | 2 +-
.../amazon/aws/example_sagemaker_endpoint.py | 2 +-
.../amazon/aws/example_sagemaker_notebook.py | 2 +-
.../amazon/aws/example_sagemaker_pipeline.py | 2 +-
.../amazon/aws/example_sagemaker_unified_studio.py | 2 +-
.../system/amazon/aws/example_salesforce_to_s3.py | 2 +-
.../amazon/tests/system/amazon/aws/example_ses.py | 2 +-
.../tests/system/amazon/aws/example_sftp_to_s3.py | 2 +-
.../amazon/tests/system/amazon/aws/example_sns.py | 2 +-
.../tests/system/amazon/aws/example_sql_to_s3.py | 2 +-
.../amazon/tests/system/amazon/aws/example_sqs.py | 2 +-
.../amazon/tests/system/amazon/aws/example_ssm.py | 2 +-
.../system/amazon/aws/example_step_functions.py | 2 +-
.../amazon/tests/system/amazon/aws/utils/k8s.py | 38 +-
.../unit/amazon/aws/hooks/test_redshift_sql.py | 27 +
.../tests/unit/amazon/aws/operators/test_eks.py | 58 +
.../amazon/aws/operators/test_emr_serverless.py | 221 +++
.../tests/unit/amazon/aws/triggers/test_eks.py | 128 +-
.../tests/unit/amazon/aws/triggers/test_glue.py | 245 ++++
.../beam/tests/system/apache/beam/example_beam.py | 2 +-
.../system/apache/beam/example_beam_java_flink.py | 2 +-
.../system/apache/beam/example_beam_java_spark.py | 2 +-
.../beam/tests/system/apache/beam/example_go.py | 2 +-
.../system/apache/beam/example_go_dataflow.py | 2 +-
.../system/apache/beam/example_java_dataflow.py | 2 +-
.../tests/system/apache/beam/example_python.py | 2 +-
.../system/apache/beam/example_python_async.py | 2 +-
.../system/apache/beam/example_python_dataflow.py | 2 +-
providers/apache/cassandra/README.rst | 6 +-
providers/apache/cassandra/docs/changelog.rst | 11 +
providers/apache/cassandra/docs/index.rst | 6 +-
providers/apache/cassandra/provider.yaml | 3 +-
providers/apache/cassandra/pyproject.toml | 6 +-
.../airflow/providers/apache/cassandra/__init__.py | 2 +-
.../apache/cassandra/example_cassandra_dag.py | 2 +-
providers/apache/drill/README.rst | 6 +-
providers/apache/drill/docs/changelog.rst | 11 +
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 +-
.../tests/system/apache/drill/example_drill_dag.py | 2 +-
providers/apache/druid/README.rst | 6 +-
providers/apache/druid/docs/changelog.rst | 11 +
providers/apache/druid/docs/index.rst | 6 +-
providers/apache/druid/provider.yaml | 3 +-
providers/apache/druid/pyproject.toml | 6 +-
.../src/airflow/providers/apache/druid/__init__.py | 2 +-
.../tests/system/apache/druid/example_druid_dag.py | 2 +-
providers/apache/hdfs/README.rst | 6 +-
providers/apache/hdfs/docs/changelog.rst | 12 +
providers/apache/hdfs/docs/index.rst | 6 +-
providers/apache/hdfs/provider.yaml | 3 +-
providers/apache/hdfs/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 2 +-
providers/apache/hive/README.rst | 6 +-
providers/apache/hive/docs/changelog.rst | 11 +
providers/apache/hive/docs/index.rst | 6 +-
providers/apache/hive/provider.yaml | 3 +-
providers/apache/hive/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hive/__init__.py | 2 +-
.../hive/tests/system/apache/hive/example_hive.py | 2 +-
.../system/apache/hive/example_twitter_dag.py | 2 +-
providers/apache/iceberg/README.rst | 6 +-
providers/apache/iceberg/docs/changelog.rst | 11 +
providers/apache/iceberg/docs/index.rst | 6 +-
providers/apache/iceberg/provider.yaml | 3 +-
providers/apache/iceberg/pyproject.toml | 6 +-
.../airflow/providers/apache/iceberg/__init__.py | 2 +-
.../tests/system/apache/iceberg/example_iceberg.py | 2 +-
providers/apache/impala/README.rst | 6 +-
providers/apache/impala/docs/changelog.rst | 11 +
providers/apache/impala/docs/index.rst | 6 +-
providers/apache/impala/provider.yaml | 3 +-
providers/apache/impala/pyproject.toml | 6 +-
.../airflow/providers/apache/impala/__init__.py | 2 +-
.../tests/system/apache/impala/example_impala.py | 2 +-
providers/apache/kafka/README.rst | 6 +-
providers/apache/kafka/docs/changelog.rst | 11 +
providers/apache/kafka/docs/index.rst | 6 +-
providers/apache/kafka/provider.yaml | 3 +-
providers/apache/kafka/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kafka/__init__.py | 2 +-
.../apache/kafka/example_dag_event_listener.py | 2 +-
.../system/apache/kafka/example_dag_hello_kafka.py | 2 +-
.../example_dag_kafka_message_queue_trigger.py | 2 +-
.../kafka/example_dag_message_queue_trigger.py | 2 +-
providers/apache/kylin/README.rst | 6 +-
providers/apache/kylin/docs/changelog.rst | 11 +
providers/apache/kylin/docs/index.rst | 6 +-
providers/apache/kylin/provider.yaml | 3 +-
providers/apache/kylin/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kylin/__init__.py | 2 +-
.../tests/system/apache/kylin/example_kylin_dag.py | 2 +-
providers/apache/livy/README.rst | 6 +-
providers/apache/livy/docs/changelog.rst | 11 +
providers/apache/livy/docs/index.rst | 6 +-
providers/apache/livy/provider.yaml | 3 +-
providers/apache/livy/pyproject.toml | 6 +-
.../src/airflow/providers/apache/livy/__init__.py | 2 +-
.../livy/tests/system/apache/livy/example_livy.py | 2 +-
providers/apache/pig/README.rst | 6 +-
providers/apache/pig/docs/changelog.rst | 11 +
providers/apache/pig/docs/index.rst | 6 +-
providers/apache/pig/provider.yaml | 3 +-
providers/apache/pig/pyproject.toml | 6 +-
.../src/airflow/providers/apache/pig/__init__.py | 2 +-
.../pig/tests/system/apache/pig/example_pig.py | 2 +-
providers/apache/pinot/README.rst | 6 +-
providers/apache/pinot/docs/changelog.rst | 11 +
providers/apache/pinot/docs/index.rst | 6 +-
providers/apache/pinot/provider.yaml | 3 +-
providers/apache/pinot/pyproject.toml | 6 +-
.../src/airflow/providers/apache/pinot/__init__.py | 2 +-
.../tests/system/apache/pinot/example_pinot_dag.py | 2 +-
providers/apache/spark/README.rst | 6 +-
providers/apache/spark/docs/changelog.rst | 12 +
providers/apache/spark/docs/index.rst | 6 +-
providers/apache/spark/provider.yaml | 3 +-
providers/apache/spark/pyproject.toml | 6 +-
.../src/airflow/providers/apache/spark/__init__.py | 2 +-
.../tests/system/apache/spark/example_pyspark.py | 2 +-
.../tests/system/apache/spark/example_spark_dag.py | 2 +-
providers/apache/tinkerpop/README.rst | 6 +-
providers/apache/tinkerpop/docs/changelog.rst | 11 +
providers/apache/tinkerpop/docs/index.rst | 6 +-
providers/apache/tinkerpop/provider.yaml | 3 +-
providers/apache/tinkerpop/pyproject.toml | 6 +-
.../airflow/providers/apache/tinkerpop/__init__.py | 2 +-
.../system/apache/tinkerpop/example_gremlin_dag.py | 2 +-
providers/apprise/README.rst | 6 +-
providers/apprise/docs/changelog.rst | 11 +
providers/apprise/docs/index.rst | 6 +-
providers/apprise/provider.yaml | 3 +-
providers/apprise/pyproject.toml | 6 +-
.../src/airflow/providers/apprise/__init__.py | 2 +-
providers/arangodb/README.rst | 6 +-
providers/arangodb/docs/changelog.rst | 11 +
providers/arangodb/docs/index.rst | 6 +-
providers/arangodb/provider.yaml | 3 +-
providers/arangodb/pyproject.toml | 6 +-
.../src/airflow/providers/arangodb/__init__.py | 2 +-
providers/asana/README.rst | 6 +-
providers/asana/docs/changelog.rst | 11 +
providers/asana/docs/index.rst | 6 +-
providers/asana/provider.yaml | 3 +-
providers/asana/pyproject.toml | 6 +-
.../asana/src/airflow/providers/asana/__init__.py | 2 +-
.../asana/tests/system/asana/example_asana.py | 2 +-
providers/atlassian/jira/README.rst | 6 +-
providers/atlassian/jira/docs/changelog.rst | 12 +
providers/atlassian/jira/docs/index.rst | 6 +-
providers/atlassian/jira/provider.yaml | 3 +-
providers/atlassian/jira/pyproject.toml | 6 +-
.../airflow/providers/atlassian/jira/__init__.py | 2 +-
providers/celery/README.rst | 6 +-
providers/celery/docs/changelog.rst | 23 +
providers/celery/docs/index.rst | 6 +-
providers/celery/provider.yaml | 16 +-
providers/celery/pyproject.toml | 6 +-
.../src/airflow/providers/celery/__init__.py | 2 +-
.../providers/celery/executors/default_celery.py | 60 +-
.../airflow/providers/celery/get_provider_info.py | 11 +-
.../unit/celery/executors/test_celery_executor.py | 129 ++
providers/cloudant/README.rst | 6 +-
providers/cloudant/docs/changelog.rst | 11 +
providers/cloudant/docs/index.rst | 6 +-
providers/cloudant/provider.yaml | 3 +-
providers/cloudant/pyproject.toml | 6 +-
.../src/airflow/providers/cloudant/__init__.py | 2 +-
providers/cncf/kubernetes/README.rst | 6 +-
providers/cncf/kubernetes/docs/changelog.rst | 26 +
providers/cncf/kubernetes/docs/index.rst | 6 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 6 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../system/cncf/kubernetes/example_kubernetes.py | 2 +-
.../cncf/kubernetes/example_kubernetes_async.py | 2 +-
.../kubernetes/example_kubernetes_cmd_decorator.py | 2 +-
.../kubernetes/example_kubernetes_decorator.py | 2 +-
.../cncf/kubernetes/example_kubernetes_job.py | 2 +-
.../cncf/kubernetes/example_kubernetes_kueue.py | 2 +-
.../cncf/kubernetes/example_kubernetes_resource.py | 2 +-
.../cncf/kubernetes/example_spark_kubernetes.py | 2 +-
providers/cohere/README.rst | 6 +-
providers/cohere/docs/changelog.rst | 11 +
providers/cohere/docs/index.rst | 6 +-
providers/cohere/provider.yaml | 3 +-
providers/cohere/pyproject.toml | 6 +-
.../src/airflow/providers/cohere/__init__.py | 2 +-
.../cohere/example_cohere_embedding_operator.py | 2 +-
providers/common/ai/README.rst | 59 +-
providers/common/ai/docs/commits.rst | 5 +-
.../providers/common/ai/plugins/hitl_review.py | 858 ++++++-----
.../providers/common/ai/plugins/www/package.json | 8 +-
.../providers/common/ai/plugins/www/pnpm-lock.yaml | 92 +-
.../common/ai/plugins/test_hitl_review_compat.py} | 24 +-
providers/common/compat/README.rst | 6 +-
providers/common/compat/docs/changelog.rst | 14 +
providers/common/compat/docs/index.rst | 6 +-
providers/common/compat/provider.yaml | 3 +-
providers/common/compat/pyproject.toml | 6 +-
.../airflow/providers/common/compat/__init__.py | 2 +-
.../common/compat/openlineage/utils/spark.py | 26 +
.../common/compat/security/permissions.py | 9 +-
.../common/io/example_file_transfer_local_to_s3.py | 2 +-
.../messaging/example_message_queue_trigger.py | 2 +-
.../system/common/sql/example_generic_transfer.py | 2 +-
.../common/sql/example_sql_column_table_check.py | 2 +-
.../system/common/sql/example_sql_execute_query.py | 2 +-
.../system/common/sql/example_sql_insert_rows.py | 2 +-
.../common/sql/example_sql_threshold_check.py | 2 +-
.../system/common/sql/example_sql_value_check.py | 2 +-
providers/databricks/README.rst | 6 +-
providers/databricks/docs/changelog.rst | 11 +
providers/databricks/docs/index.rst | 6 +-
providers/databricks/docs/operators/workflow.rst | 3 +-
providers/databricks/provider.yaml | 3 +-
providers/databricks/pyproject.toml | 6 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
.../tests/system/databricks/example_databricks.py | 2 +-
.../system/databricks/example_databricks_repos.py | 2 +-
.../databricks/example_databricks_sensors.py | 2 +-
.../system/databricks/example_databricks_sql.py | 2 +-
.../databricks/example_databricks_workflow.py | 2 +-
providers/datadog/README.rst | 6 +-
providers/datadog/docs/changelog.rst | 11 +
providers/datadog/docs/index.rst | 6 +-
providers/datadog/provider.yaml | 3 +-
providers/datadog/pyproject.toml | 6 +-
.../src/airflow/providers/datadog/__init__.py | 2 +-
providers/dbt/cloud/README.rst | 6 +-
providers/dbt/cloud/docs/changelog.rst | 11 +
providers/dbt/cloud/docs/index.rst | 6 +-
providers/dbt/cloud/provider.yaml | 3 +-
providers/dbt/cloud/pyproject.toml | 6 +-
.../src/airflow/providers/dbt/cloud/__init__.py | 2 +-
.../tests/system/dbt/cloud/example_dbt_cloud.py | 2 +-
providers/dingding/README.rst | 6 +-
providers/dingding/docs/changelog.rst | 11 +
providers/dingding/docs/index.rst | 6 +-
providers/dingding/provider.yaml | 3 +-
providers/dingding/pyproject.toml | 6 +-
.../src/airflow/providers/dingding/__init__.py | 2 +-
.../tests/system/dingding/example_dingding.py | 2 +-
providers/discord/README.rst | 6 +-
providers/discord/docs/changelog.rst | 11 +
providers/discord/docs/index.rst | 6 +-
providers/discord/provider.yaml | 3 +-
providers/discord/pyproject.toml | 6 +-
.../src/airflow/providers/discord/__init__.py | 2 +-
providers/docker/README.rst | 6 +-
providers/docker/docs/changelog.rst | 11 +
providers/docker/docs/index.rst | 6 +-
providers/docker/provider.yaml | 3 +-
providers/docker/pyproject.toml | 6 +-
.../src/airflow/providers/docker/__init__.py | 2 +-
.../docker/tests/system/docker/example_docker.py | 2 +-
.../system/docker/example_docker_copy_data.py | 2 +-
.../tests/system/docker/example_docker_swarm.py | 2 +-
.../example_taskflow_api_docker_virtualenv.py | 4 +-
providers/edge3/README.rst | 6 +-
providers/edge3/docs/changelog.rst | 27 +
providers/edge3/docs/index.rst | 6 +-
providers/edge3/provider.yaml | 3 +-
providers/edge3/pyproject.toml | 6 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../providers/edge3/example_dags/win_test.py | 11 +-
.../providers/edge3/plugins/www/package.json | 11 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 536 +++----
.../www/src/components/BulkWorkerOperations.tsx | 159 +-
.../providers/edge3/plugins/www/src/constants.ts | 12 +
.../plugins/www/src/hooks/useBulkWorkerActions.ts | 73 +-
providers/elasticsearch/README.rst | 6 +-
providers/elasticsearch/docs/changelog.rst | 23 +
providers/elasticsearch/docs/index.rst | 6 +-
providers/elasticsearch/provider.yaml | 3 +-
providers/elasticsearch/pyproject.toml | 6 +-
.../airflow/providers/elasticsearch/__init__.py | 2 +-
.../providers/elasticsearch/log/es_task_handler.py | 37 +-
.../elasticsearch/example_elasticsearch_query.py | 2 +-
.../unit/elasticsearch/log/test_es_task_handler.py | 48 +
providers/exasol/README.rst | 6 +-
providers/exasol/docs/changelog.rst | 11 +
providers/exasol/docs/index.rst | 6 +-
providers/exasol/provider.yaml | 3 +-
providers/exasol/pyproject.toml | 6 +-
.../src/airflow/providers/exasol/__init__.py | 2 +-
.../exasol/tests/system/exasol/example_exasol.py | 2 +-
providers/fab/README.rst | 7 +-
providers/fab/docs/changelog.rst | 25 +
providers/fab/docs/index.rst | 6 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 6 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
providers/fab/src/airflow/providers/fab/www/app.py | 8 +
.../fab/src/airflow/providers/fab/www/package.json | 12 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 357 ++---
providers/facebook/README.rst | 6 +-
providers/facebook/docs/changelog.rst | 11 +
providers/facebook/docs/index.rst | 6 +-
providers/facebook/provider.yaml | 3 +-
providers/facebook/pyproject.toml | 6 +-
.../src/airflow/providers/facebook/__init__.py | 2 +-
providers/ftp/README.rst | 6 +-
providers/ftp/docs/changelog.rst | 11 +
providers/ftp/docs/index.rst | 6 +-
providers/ftp/provider.yaml | 3 +-
providers/ftp/pyproject.toml | 6 +-
.../ftp/src/airflow/providers/ftp/__init__.py | 2 +-
providers/ftp/tests/system/ftp/example_ftp.py | 2 +-
providers/git/README.rst | 6 +-
providers/git/docs/changelog.rst | 12 +
providers/git/docs/index.rst | 6 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 6 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
providers/github/README.rst | 6 +-
providers/github/docs/changelog.rst | 12 +
providers/github/docs/index.rst | 6 +-
providers/github/provider.yaml | 3 +-
providers/github/pyproject.toml | 6 +-
.../src/airflow/providers/github/__init__.py | 2 +-
.../github/tests/system/github/example_github.py | 2 +-
providers/google/README.rst | 8 +-
providers/google/docs/changelog.rst | 33 +
providers/google/docs/index.rst | 8 +-
providers/google/provider.yaml | 3 +-
providers/google/pyproject.toml | 8 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../providers/google/cloud/hooks/cloud_composer.py | 33 +-
.../airflow/providers/google/cloud/hooks/gcs.py | 19 +-
.../google/cloud/operators/cloud_composer.py | 4 +
.../providers/google/cloud/operators/gcs.py | 5 +-
.../google/cloud/sensors/cloud_composer.py | 83 +-
.../providers/google/cloud/transfers/s3_to_gcs.py | 11 +-
.../google/cloud/triggers/cloud_composer.py | 79 +-
.../triggers/cloud_storage_transfer_service.py | 20 +-
.../google/tests/system/google/ads/example_ads.py | 2 +-
.../google/cloud/alloy_db/example_alloy_db.py | 2 +-
.../cloud/azure/example_azure_blob_to_gcs.py | 2 +-
.../cloud/azure/example_azure_fileshare_to_gcs.py | 2 +-
.../cloud/bigquery/example_bigquery_dataset.py | 2 +-
.../google/cloud/bigquery/example_bigquery_dts.py | 2 +-
.../google/cloud/bigquery/example_bigquery_jobs.py | 2 +-
.../cloud/bigquery/example_bigquery_operations.py | 2 +-
.../cloud/bigquery/example_bigquery_queries.py | 2 +-
.../bigquery/example_bigquery_queries_async.py | 2 +-
.../cloud/bigquery/example_bigquery_sensors.py | 2 +-
.../cloud/bigquery/example_bigquery_tables.py | 2 +-
.../cloud/bigquery/example_bigquery_to_bigquery.py | 2 +-
.../cloud/bigquery/example_bigquery_to_gcs.py | 2 +-
.../cloud/bigquery/example_bigquery_to_mssql.py | 2 +-
.../cloud/bigquery/example_bigquery_to_mysql.py | 2 +-
.../cloud/bigquery/example_bigquery_to_postgres.py | 2 +-
.../cloud/bigquery/example_bigquery_transfer.py | 2 +-
.../cloud/bigquery/example_bigquery_value_check.py | 4 +-
.../google/cloud/bigtable/example_bigtable.py | 2 +-
.../cloud/cloud_batch/example_cloud_batch.py | 2 +-
.../cloud/cloud_build/example_cloud_build.py | 2 +-
.../cloud_build/example_cloud_build_trigger.py | 2 +-
.../cloud/cloud_functions/example_functions.py | 2 +-
.../example_cloud_memorystore_memcached.py | 2 +-
.../example_cloud_memorystore_redis.py | 2 +-
.../google/cloud/cloud_run/example_cloud_run.py | 2 +-
.../cloud/cloud_run/example_cloud_run_service.py | 2 +-
.../google/cloud/cloud_sql/example_cloud_sql.py | 2 +-
.../cloud/cloud_sql/example_cloud_sql_query.py | 2 +-
.../cloud/cloud_sql/example_cloud_sql_query_iam.py | 2 +-
.../cloud/cloud_sql/example_cloud_sql_query_ssl.py | 2 +-
.../cloud/composer/example_cloud_composer.py | 2 +-
.../system/google/cloud/compute/example_compute.py | 2 +-
.../google/cloud/compute/example_compute_igm.py | 2 +-
.../google/cloud/compute/example_compute_ssh.py | 2 +-
.../cloud/compute/example_compute_ssh_os_login.py | 2 +-
.../cloud/compute/example_compute_ssh_parallel.py | 2 +-
.../example_dlp_deidentify_content.py | 2 +-
.../data_loss_prevention/example_dlp_info_types.py | 2 +-
.../example_dlp_inspect_template.py | 2 +-
.../cloud/data_loss_prevention/example_dlp_job.py | 2 +-
.../example_dlp_job_trigger.py | 2 +-
.../google/cloud/dataflow/example_dataflow_go.py | 2 +-
.../dataflow/example_dataflow_java_streaming.py | 2 +-
.../cloud/dataflow/example_dataflow_native_java.py | 2 +-
.../dataflow/example_dataflow_native_python.py | 2 +-
.../example_dataflow_native_python_async.py | 2 +-
.../cloud/dataflow/example_dataflow_pipeline.py | 2 +-
.../example_dataflow_pipeline_streaming.py | 2 +-
.../example_dataflow_sensors_deferrable.py | 2 +-
.../dataflow/example_dataflow_streaming_python.py | 2 +-
.../cloud/dataflow/example_dataflow_template.py | 2 +-
.../google/cloud/dataflow/example_dataflow_yaml.py | 2 +-
.../google/cloud/dataform/example_dataform.py | 2 +-
.../google/cloud/datafusion/example_datafusion.py | 2 +-
.../google/cloud/dataplex/example_dataplex.py | 2 +-
.../cloud/dataplex/example_dataplex_catalog.py | 2 +-
.../google/cloud/dataplex/example_dataplex_dp.py | 2 +-
.../google/cloud/dataplex/example_dataplex_dq.py | 2 +-
.../google/cloud/dataprep/example_dataprep.py | 2 +-
.../cloud/dataproc/example_dataproc_batch.py | 2 +-
.../dataproc/example_dataproc_batch_deferrable.py | 2 +-
.../dataproc/example_dataproc_batch_persistent.py | 2 +-
...proc_cluster_create_existing_stopped_cluster.py | 2 +-
.../example_dataproc_cluster_deferrable.py | 2 +-
.../dataproc/example_dataproc_cluster_diagnose.py | 2 +-
.../dataproc/example_dataproc_cluster_generator.py | 2 +-
.../example_dataproc_cluster_start_stop.py | 2 +-
.../dataproc/example_dataproc_cluster_update.py | 2 +-
.../cloud/dataproc/example_dataproc_flink.py | 2 +-
.../google/cloud/dataproc/example_dataproc_gke.py | 2 +-
.../cloud/dataproc/example_dataproc_hadoop.py | 2 +-
.../google/cloud/dataproc/example_dataproc_hive.py | 2 +-
.../google/cloud/dataproc/example_dataproc_pig.py | 2 +-
.../cloud/dataproc/example_dataproc_presto.py | 2 +-
.../cloud/dataproc/example_dataproc_pyspark.py | 2 +-
.../cloud/dataproc/example_dataproc_spark.py | 2 +-
.../cloud/dataproc/example_dataproc_spark_async.py | 2 +-
.../dataproc/example_dataproc_spark_deferrable.py | 2 +-
.../cloud/dataproc/example_dataproc_spark_sql.py | 2 +-
.../cloud/dataproc/example_dataproc_sparkr.py | 2 +-
.../cloud/dataproc/example_dataproc_trino.py | 2 +-
.../cloud/dataproc/example_dataproc_workflow.py | 2 +-
.../example_dataproc_workflow_deferrable.py | 2 +-
.../example_dataproc_metastore.py | 2 +-
.../example_dataproc_metastore_backup.py | 2 +-
...ple_dataproc_metastore_hive_partition_sensor.py | 2 +-
.../cloud/datastore/example_datastore_commit.py | 2 +-
.../cloud/datastore/example_datastore_query.py | 2 +-
.../cloud/datastore/example_datastore_rollback.py | 2 +-
.../google/cloud/gcs/example_calendar_to_gcs.py | 2 +-
.../system/google/cloud/gcs/example_firestore.py | 2 +-
.../system/google/cloud/gcs/example_gcs_acl.py | 2 +-
.../google/cloud/gcs/example_gcs_copy_delete.py | 2 +-
.../system/google/cloud/gcs/example_gcs_sensor.py | 2 +-
.../google/cloud/gcs/example_gcs_to_bigquery.py | 2 +-
.../cloud/gcs/example_gcs_to_bigquery_async.py | 2 +-
.../system/google/cloud/gcs/example_gcs_to_gcs.py | 2 +-
.../google/cloud/gcs/example_gcs_to_gdrive.py | 2 +-
.../system/google/cloud/gcs/example_gcs_to_sftp.py | 2 +-
.../google/cloud/gcs/example_gcs_to_sheets.py | 2 +-
.../google/cloud/gcs/example_gcs_transform.py | 2 +-
.../cloud/gcs/example_gcs_transform_timespan.py | 2 +-
.../cloud/gcs/example_gcs_upload_download.py | 2 +-
.../google/cloud/gcs/example_gdrive_to_gcs.py | 2 +-
.../system/google/cloud/gcs/example_http_to_gcs.py | 2 +-
.../google/cloud/gcs/example_mssql_to_gcs.py | 2 +-
.../google/cloud/gcs/example_mysql_to_gcs.py | 2 +-
.../google/cloud/gcs/example_oracle_to_gcs.py | 2 +-
.../google/cloud/gcs/example_presto_to_gcs.py | 2 +-
.../system/google/cloud/gcs/example_s3_to_gcs.py | 2 +-
.../google/cloud/gcs/example_salesforce_to_gcs.py | 2 +-
.../system/google/cloud/gcs/example_sftp_to_gcs.py | 2 +-
.../system/google/cloud/gcs/example_sheets.py | 2 +-
.../google/cloud/gcs/example_sheets_to_gcs.py | 2 +-
.../google/cloud/gcs/example_trino_to_gcs.py | 2 +-
.../gen_ai/example_gen_ai_gemini_batch_api.py | 5 +-
.../gen_ai/example_gen_ai_generative_model.py | 2 +-
.../example_gen_ai_generative_model_tuning.py | 2 +-
.../kubernetes_engine/example_kubernetes_engine.py | 2 +-
.../example_kubernetes_engine_async.py | 2 +-
.../example_kubernetes_engine_job.py | 2 +-
.../example_kubernetes_engine_kueue.py | 2 +-
.../example_kubernetes_engine_ray.py | 2 +-
.../example_kubernetes_engine_resource.py | 2 +-
.../system/google/cloud/looker/example_looker.py | 2 +-
.../managed_kafka/example_managed_kafka_cluster.py | 2 +-
.../example_managed_kafka_consumer_group.py | 2 +-
.../managed_kafka/example_managed_kafka_topic.py | 2 +-
.../google/cloud/ml_engine/example_mlengine.py | 2 +-
.../natural_language/example_natural_language.py | 2 +-
.../system/google/cloud/pubsub/example_pubsub.py | 2 +-
.../cloud/pubsub/example_pubsub_deferrable.py | 2 +-
.../system/google/cloud/ray/example_ray_job.py | 2 +-
.../system/google/cloud/spanner/example_spanner.py | 2 +-
.../cloud/speech_to_text/example_speech_to_text.py | 2 +-
.../cloud/sql_to_sheets/example_sql_to_sheets.py | 2 +-
.../cloud/stackdriver/example_stackdriver.py | 2 +-
.../example_cloud_storage_transfer_service_aws.py | 2 +-
.../example_cloud_storage_transfer_service_gcp.py | 2 +-
...le_cloud_storage_transfer_service_gcs_to_gcs.py | 2 +-
.../system/google/cloud/tasks/example_queue.py | 2 +-
.../system/google/cloud/tasks/example_tasks.py | 2 +-
.../cloud/text_to_speech/example_text_to_speech.py | 2 +-
.../cloud/transfers/example_facebook_ads_to_gcs.py | 2 +-
.../google/cloud/transfers/example_gcs_to_sftp.py | 2 +-
.../cloud/transfers/example_gdrive_to_local.py | 2 +-
.../cloud/transfers/example_postgres_to_gcs.py | 2 +-
.../google/cloud/translate/example_translate.py | 2 +-
.../cloud/translate/example_translate_dataset.py | 2 +-
.../cloud/translate/example_translate_document.py | 2 +-
.../cloud/translate/example_translate_glossary.py | 2 +-
.../cloud/translate/example_translate_model.py | 2 +-
.../cloud/translate/example_translate_text.py | 2 +-
.../translate_speech/example_translate_speech.py | 2 +-
...ample_vertex_ai_auto_ml_forecasting_training.py | 2 +-
...ple_vertex_ai_auto_ml_image_object_detection.py | 2 +-
.../example_vertex_ai_auto_ml_list_training.py | 2 +-
.../example_vertex_ai_auto_ml_tabular_training.py | 2 +-
.../example_vertex_ai_batch_prediction_job.py | 2 +-
.../example_vertex_ai_custom_container.py | 2 +-
.../vertex_ai/example_vertex_ai_custom_job.py | 2 +-
.../example_vertex_ai_custom_job_python_package.py | 2 +-
.../cloud/vertex_ai/example_vertex_ai_dataset.py | 2 +-
.../cloud/vertex_ai/example_vertex_ai_endpoint.py | 2 +-
.../example_vertex_ai_experiment_service.py | 2 +-
.../vertex_ai/example_vertex_ai_feature_store.py | 2 +-
.../example_vertex_ai_hyperparameter_tuning_job.py | 2 +-
.../example_vertex_ai_list_custom_jobs.py | 2 +-
.../vertex_ai/example_vertex_ai_model_service.py | 2 +-
.../vertex_ai/example_vertex_ai_pipeline_job.py | 2 +-
.../cloud/vertex_ai/example_vertex_ai_ray.py | 2 +-
.../example_video_intelligence.py | 2 +-
.../cloud/vision/example_vision_annotate_image.py | 2 +-
.../cloud/vision/example_vision_autogenerated.py | 2 +-
.../google/cloud/vision/example_vision_explicit.py | 2 +-
.../google/cloud/workflows/example_workflows.py | 2 +-
.../example_event_schedule_pubsub.py | 2 +-
.../tests/system/google/leveldb/example_leveldb.py | 2 +-
.../marketing_platform/example_analytics_admin.py | 2 +-
.../marketing_platform/example_bid_manager.py | 2 +-
.../marketing_platform/example_campaign_manager.py | 2 +-
.../marketing_platform/example_display_video.py | 2 +-
.../marketing_platform/example_search_ads.py | 2 +-
.../system/google/suite/example_local_to_drive.py | 2 +-
.../unit/google/cloud/hooks/test_cloud_composer.py | 69 +-
.../tests/unit/google/cloud/hooks/test_gcs.py | 44 +-
.../google/cloud/operators/test_cloud_composer.py | 2 +
.../tests/unit/google/cloud/operators/test_gcs.py | 32 +-
.../google/cloud/sensors/test_cloud_composer.py | 122 +-
.../unit/google/cloud/transfers/test_s3_to_gcs.py | 21 +-
.../google/cloud/triggers/test_cloud_composer.py | 33 +-
.../test_cloud_storage_transfer_service.py | 26 +
providers/grpc/README.rst | 6 +-
providers/grpc/docs/changelog.rst | 11 +
providers/grpc/docs/index.rst | 6 +-
providers/grpc/provider.yaml | 3 +-
providers/grpc/pyproject.toml | 6 +-
.../grpc/src/airflow/providers/grpc/__init__.py | 2 +-
providers/hashicorp/README.rst | 6 +-
providers/hashicorp/docs/changelog.rst | 11 +
providers/hashicorp/docs/index.rst | 6 +-
providers/hashicorp/provider.yaml | 3 +-
providers/hashicorp/pyproject.toml | 6 +-
.../src/airflow/providers/hashicorp/__init__.py | 2 +-
providers/http/README.rst | 6 +-
providers/http/docs/changelog.rst | 11 +
providers/http/docs/index.rst | 6 +-
providers/http/provider.yaml | 3 +-
providers/http/pyproject.toml | 6 +-
.../http/src/airflow/providers/http/__init__.py | 2 +-
providers/http/tests/system/http/example_http.py | 2 +-
providers/imap/README.rst | 6 +-
providers/imap/docs/changelog.rst | 11 +
providers/imap/docs/index.rst | 6 +-
providers/imap/provider.yaml | 3 +-
providers/imap/pyproject.toml | 6 +-
.../imap/src/airflow/providers/imap/__init__.py | 2 +-
providers/influxdb/README.rst | 6 +-
providers/influxdb/docs/changelog.rst | 11 +
providers/influxdb/docs/index.rst | 6 +-
providers/influxdb/provider.yaml | 3 +-
providers/influxdb/pyproject.toml | 6 +-
.../src/airflow/providers/influxdb/__init__.py | 2 +-
.../tests/system/influxdb/example_influxdb.py | 2 +-
.../system/influxdb/example_influxdb_query.py | 2 +-
providers/informatica/README.rst | 6 +-
providers/informatica/docs/changelog.rst | 12 +
providers/informatica/docs/index.rst | 6 +-
providers/informatica/provider.yaml | 3 +-
providers/informatica/pyproject.toml | 6 +-
.../src/airflow/providers/informatica/__init__.py | 2 +-
providers/jdbc/README.rst | 6 +-
providers/jdbc/docs/changelog.rst | 11 +
providers/jdbc/docs/index.rst | 6 +-
providers/jdbc/provider.yaml | 3 +-
providers/jdbc/pyproject.toml | 6 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +-
.../jdbc/tests/system/jdbc/example_jdbc_queries.py | 2 +-
providers/jenkins/README.rst | 6 +-
providers/jenkins/docs/changelog.rst | 11 +
providers/jenkins/docs/index.rst | 6 +-
providers/jenkins/provider.yaml | 3 +-
providers/jenkins/pyproject.toml | 6 +-
.../src/airflow/providers/jenkins/__init__.py | 2 +-
.../system/jenkins/example_jenkins_job_trigger.py | 2 +-
providers/keycloak/README.rst | 6 +-
providers/keycloak/docs/changelog.rst | 11 +
providers/keycloak/docs/index.rst | 6 +-
providers/keycloak/provider.yaml | 3 +-
providers/keycloak/pyproject.toml | 6 +-
.../src/airflow/providers/keycloak/__init__.py | 2 +-
providers/microsoft/azure/README.rst | 6 +-
providers/microsoft/azure/docs/changelog.rst | 18 +
providers/microsoft/azure/docs/index.rst | 6 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 6 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../microsoft/azure/hooks/container_instance.py | 2 +-
.../microsoft/azure/example_adf_run_pipeline.py | 2 +-
.../system/microsoft/azure/example_adls_create.py | 2 +-
.../system/microsoft/azure/example_adls_delete.py | 2 +-
.../system/microsoft/azure/example_adls_list.py | 2 +-
.../azure/example_azure_batch_operator.py | 2 +-
.../azure/example_azure_container_instances.py | 2 +-
.../microsoft/azure/example_azure_cosmosdb.py | 2 +-
.../microsoft/azure/example_azure_service_bus.py | 2 +-
.../microsoft/azure/example_azure_synapse.py | 2 +-
.../microsoft/azure/example_event_schedule_asb.py | 2 +-
.../system/microsoft/azure/example_fileshare.py | 2 +-
.../microsoft/azure/example_local_to_adls.py | 2 +-
.../microsoft/azure/example_local_to_wasb.py | 2 +-
.../system/microsoft/azure/example_msfabric.py | 2 +-
.../system/microsoft/azure/example_msgraph.py | 2 +-
.../system/microsoft/azure/example_powerbi.py | 2 +-
.../azure/example_powerbi_dataset_list.py | 2 +-
.../azure/example_powerbi_dataset_refresh.py | 2 +-
.../azure/example_powerbi_workspace_list.py | 2 +-
.../system/microsoft/azure/example_s3_to_wasb.py | 2 +-
.../system/microsoft/azure/example_sftp_to_wasb.py | 2 +-
.../azure/example_synapse_run_pipeline.py | 2 +-
.../system/microsoft/azure/example_wasb_sensors.py | 2 +-
.../azure/hooks/test_container_instance.py | 16 +-
providers/microsoft/mssql/README.rst | 6 +-
providers/microsoft/mssql/docs/changelog.rst | 11 +
providers/microsoft/mssql/docs/index.rst | 6 +-
providers/microsoft/mssql/provider.yaml | 3 +-
providers/microsoft/mssql/pyproject.toml | 6 +-
.../airflow/providers/microsoft/mssql/__init__.py | 2 +-
.../tests/system/microsoft/mssql/example_mssql.py | 2 +-
providers/microsoft/psrp/README.rst | 6 +-
providers/microsoft/psrp/docs/changelog.rst | 11 +
providers/microsoft/psrp/docs/index.rst | 6 +-
providers/microsoft/psrp/provider.yaml | 3 +-
providers/microsoft/psrp/pyproject.toml | 6 +-
.../airflow/providers/microsoft/psrp/__init__.py | 2 +-
providers/microsoft/winrm/README.rst | 6 +-
providers/microsoft/winrm/docs/changelog.rst | 16 +
providers/microsoft/winrm/docs/index.rst | 6 +-
providers/microsoft/winrm/provider.yaml | 3 +-
providers/microsoft/winrm/pyproject.toml | 6 +-
.../airflow/providers/microsoft/winrm/__init__.py | 2 +-
.../tests/system/microsoft/winrm/example_winrm.py | 2 +-
providers/mongo/README.rst | 6 +-
providers/mongo/docs/changelog.rst | 11 +
providers/mongo/docs/index.rst | 6 +-
providers/mongo/provider.yaml | 3 +-
providers/mongo/pyproject.toml | 6 +-
.../mongo/src/airflow/providers/mongo/__init__.py | 2 +-
providers/mysql/README.rst | 6 +-
providers/mysql/docs/changelog.rst | 16 +
providers/mysql/docs/index.rst | 6 +-
providers/mysql/provider.yaml | 3 +-
providers/mysql/pyproject.toml | 6 +-
.../mysql/src/airflow/providers/mysql/__init__.py | 2 +-
.../src/airflow/providers/mysql/hooks/mysql.py | 6 +-
.../mysql/tests/system/mysql/example_mysql.py | 2 +-
.../mysql/tests/unit/mysql/hooks/test_mysql.py | 42 +-
providers/neo4j/README.rst | 6 +-
providers/neo4j/docs/changelog.rst | 11 +
providers/neo4j/docs/index.rst | 6 +-
providers/neo4j/provider.yaml | 3 +-
providers/neo4j/pyproject.toml | 6 +-
.../neo4j/src/airflow/providers/neo4j/__init__.py | 2 +-
.../neo4j/tests/system/neo4j/example_neo4j.py | 2 +-
.../tests/system/neo4j/example_neo4j_query.py | 2 +-
.../tests/system/neo4j/example_neo4j_sensor.py | 2 +-
providers/odbc/README.rst | 6 +-
providers/odbc/docs/changelog.rst | 11 +
providers/odbc/docs/index.rst | 6 +-
providers/odbc/provider.yaml | 3 +-
providers/odbc/pyproject.toml | 6 +-
.../odbc/src/airflow/providers/odbc/__init__.py | 2 +-
providers/openai/README.rst | 6 +-
providers/openai/docs/changelog.rst | 11 +
providers/openai/docs/index.rst | 6 +-
providers/openai/provider.yaml | 3 +-
providers/openai/pyproject.toml | 6 +-
.../src/airflow/providers/openai/__init__.py | 2 +-
.../openai/tests/system/openai/example_openai.py | 2 +-
.../openai/example_trigger_batch_operator.py | 2 +-
providers/openfaas/README.rst | 6 +-
providers/openfaas/docs/changelog.rst | 11 +
providers/openfaas/docs/index.rst | 6 +-
providers/openfaas/provider.yaml | 3 +-
providers/openfaas/pyproject.toml | 6 +-
.../src/airflow/providers/openfaas/__init__.py | 2 +-
providers/openlineage/README.rst | 8 +-
providers/openlineage/docs/changelog.rst | 21 +
providers/openlineage/docs/index.rst | 8 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 8 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
.../airflow/providers/openlineage/utils/spark.py | 90 ++
.../src/airflow/providers/openlineage/utils/sql.py | 36 +-
.../airflow/providers/openlineage/utils/utils.py | 2 +
.../example_openlineage_base_complex_dag.py | 2 +-
.../example_openlineage_base_simple_dag.py | 2 +-
.../example_openlineage_defer_simple_dag.py | 2 +-
.../example_openlineage_docs_file_dag.py | 2 +-
.../example_openlineage_mapped_simple_dag.py | 2 +-
...ample_openlineage_schedule_asset_or_time_dag.py | 2 +-
.../example_openlineage_schedule_cron_dag.py | 2 +-
...openlineage_schedule_list_complex_assets_dag.py | 2 +-
...penlineage_schedule_list_multiple_assets_dag.py | 2 +-
...e_openlineage_schedule_list_single_asset_dag.py | 2 +-
...ple_openlineage_schedule_multiple_assets_dag.py | 2 +-
...xample_openlineage_schedule_single_asset_dag.py | 2 +-
.../example_openlineage_schedule_timetable_dag.py | 2 +-
.../example_openlineage_setup_teardown_dag.py | 2 +-
.../example_openlineage_short_circuit_dag.py | 2 +-
.../example_openlineage_task_groups_dag.py | 2 +-
.../example_openlineage_taskflow_simple_dag.py | 2 +-
.../openlineage/example_openlineage_trigger_dag.py | 2 +-
.../example_openlineage_trigger_dag_deferrable.py | 2 +-
.../example_openlineage_versioned_dag.py | 2 +-
.../tests/unit/openlineage/utils/test_spark.py | 145 ++
.../tests/unit/openlineage/utils/test_sql.py | 100 +-
.../tests/unit/openlineage/utils/test_utils.py | 12 +
providers/opensearch/README.rst | 8 +-
providers/opensearch/docs/changelog.rst | 16 +
providers/opensearch/docs/index.rst | 10 +-
providers/opensearch/docs/logging/index.rst | 22 +
providers/opensearch/provider.yaml | 17 +-
providers/opensearch/pyproject.toml | 8 +-
.../src/airflow/providers/opensearch/__init__.py | 6 +-
.../providers/opensearch/get_provider_info.py | 14 +
.../providers/opensearch/log/os_task_handler.py | 404 ++++-
.../airflow/providers/opensearch/version_compat.py | 2 +
.../opensearch}/tests/integration/__init__.py | 0
.../tests/integration/opensearch}/__init__.py | 0
.../tests/integration/opensearch/log}/__init__.py | 0
.../opensearch/log/test_os_remote_log_io.py} | 79 +-
.../tests/system/opensearch/example_opensearch.py | 2 +-
.../opensearch/tests/unit/opensearch/conftest.py | 49 -
.../unit/opensearch/log/test_os_task_handler.py | 913 ++++++------
providers/opsgenie/README.rst | 6 +-
providers/opsgenie/docs/changelog.rst | 11 +
providers/opsgenie/docs/index.rst | 6 +-
providers/opsgenie/provider.yaml | 3 +-
providers/opsgenie/pyproject.toml | 6 +-
.../src/airflow/providers/opsgenie/__init__.py | 2 +-
.../system/opsgenie/example_opsgenie_alert.py | 2 +-
.../system/opsgenie/example_opsgenie_notifier.py | 2 +-
providers/oracle/README.rst | 6 +-
providers/oracle/docs/changelog.rst | 11 +
providers/oracle/docs/index.rst | 6 +-
providers/oracle/provider.yaml | 3 +-
providers/oracle/pyproject.toml | 6 +-
.../src/airflow/providers/oracle/__init__.py | 2 +-
.../oracle/tests/system/oracle/example_oracle.py | 2 +-
providers/pagerduty/README.rst | 6 +-
providers/pagerduty/docs/changelog.rst | 11 +
providers/pagerduty/docs/index.rst | 6 +-
providers/pagerduty/provider.yaml | 3 +-
providers/pagerduty/pyproject.toml | 6 +-
.../src/airflow/providers/pagerduty/__init__.py | 2 +-
providers/papermill/README.rst | 6 +-
providers/papermill/docs/changelog.rst | 11 +
providers/papermill/docs/index.rst | 6 +-
providers/papermill/provider.yaml | 3 +-
providers/papermill/pyproject.toml | 6 +-
.../src/airflow/providers/papermill/__init__.py | 2 +-
.../tests/system/papermill/example_papermill.py | 2 +-
.../papermill/example_papermill_remote_verify.py | 2 +-
.../system/papermill/example_papermill_verify.py | 2 +-
.../tests/system/pgvector/example_pgvector.py | 2 +-
.../system/pgvector/example_pgvector_openai.py | 2 +-
providers/pinecone/README.rst | 6 +-
providers/pinecone/docs/changelog.rst | 12 +
providers/pinecone/docs/index.rst | 6 +-
providers/pinecone/provider.yaml | 3 +-
providers/pinecone/pyproject.toml | 6 +-
.../src/airflow/providers/pinecone/__init__.py | 2 +-
.../system/pinecone/example_create_pod_index.py | 2 +-
.../pinecone/example_create_serverless_index.py | 2 +-
.../tests/system/pinecone/example_dag_pinecone.py | 2 +-
.../system/pinecone/example_pinecone_cohere.py | 2 +-
.../system/pinecone/example_pinecone_openai.py | 2 +-
providers/postgres/README.rst | 6 +-
providers/postgres/docs/changelog.rst | 11 +
providers/postgres/docs/index.rst | 6 +-
providers/postgres/provider.yaml | 3 +-
providers/postgres/pyproject.toml | 6 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
.../tests/system/postgres/example_postgres.py | 2 +-
providers/presto/README.rst | 6 +-
providers/presto/docs/changelog.rst | 11 +
providers/presto/docs/index.rst | 6 +-
providers/presto/provider.yaml | 3 +-
providers/presto/pyproject.toml | 6 +-
.../src/airflow/providers/presto/__init__.py | 2 +-
.../tests/system/presto/example_gcs_to_presto.py | 2 +-
.../presto/tests/system/presto/example_presto.py | 2 +-
providers/qdrant/README.rst | 6 +-
providers/qdrant/docs/changelog.rst | 11 +
providers/qdrant/docs/index.rst | 6 +-
providers/qdrant/provider.yaml | 3 +-
providers/qdrant/pyproject.toml | 6 +-
.../src/airflow/providers/qdrant/__init__.py | 2 +-
.../tests/system/qdrant/example_dag_qdrant.py | 2 +-
providers/redis/README.rst | 6 +-
providers/redis/docs/changelog.rst | 12 +
providers/redis/docs/index.rst | 6 +-
providers/redis/provider.yaml | 3 +-
providers/redis/pyproject.toml | 6 +-
.../redis/src/airflow/providers/redis/__init__.py | 2 +-
.../redis/example_dag_message_queue_trigger.py | 2 +-
.../tests/system/redis/example_redis_publish.py | 2 +-
providers/salesforce/README.rst | 6 +-
providers/salesforce/docs/changelog.rst | 16 +
providers/salesforce/docs/index.rst | 6 +-
providers/salesforce/provider.yaml | 3 +-
providers/salesforce/pyproject.toml | 6 +-
.../src/airflow/providers/salesforce/__init__.py | 2 +-
.../airflow/providers/salesforce/operators/bulk.py | 125 +-
.../tests/system/salesforce/example_bulk.py | 2 +-
.../salesforce/example_salesforce_apex_rest.py | 2 +-
.../unit/salesforce/operators/test_bulk_retry.py | 199 +++
providers/samba/README.rst | 6 +-
providers/samba/docs/changelog.rst | 11 +
providers/samba/docs/index.rst | 6 +-
providers/samba/provider.yaml | 3 +-
providers/samba/pyproject.toml | 6 +-
.../samba/src/airflow/providers/samba/__init__.py | 2 +-
.../tests/system/samba/example_gcs_to_samba.py | 2 +-
providers/segment/README.rst | 6 +-
providers/segment/docs/changelog.rst | 11 +
providers/segment/docs/index.rst | 6 +-
providers/segment/provider.yaml | 3 +-
providers/segment/pyproject.toml | 6 +-
.../src/airflow/providers/segment/__init__.py | 2 +-
providers/sftp/README.rst | 6 +-
providers/sftp/docs/changelog.rst | 11 +
providers/sftp/docs/index.rst | 8 +-
providers/sftp/provider.yaml | 3 +-
providers/sftp/pyproject.toml | 8 +-
.../sftp/src/airflow/providers/sftp/__init__.py | 2 +-
.../sftp/tests/system/sftp/example_sftp_sensor.py | 2 +-
.../system/singularity/example_singularity.py | 2 +-
providers/slack/README.rst | 6 +-
providers/slack/docs/changelog.rst | 16 +
providers/slack/docs/index.rst | 6 +-
providers/slack/provider.yaml | 3 +-
providers/slack/pyproject.toml | 6 +-
.../slack/src/airflow/providers/slack/__init__.py | 2 +-
.../slack/tests/system/slack/example_slack.py | 2 +-
.../tests/system/slack/example_slack_webhook.py | 2 +-
.../tests/system/slack/example_sql_to_slack.py | 2 +-
.../system/slack/example_sql_to_slack_webhook.py | 2 +-
providers/smtp/README.rst | 6 +-
providers/smtp/docs/changelog.rst | 11 +
providers/smtp/docs/index.rst | 6 +-
providers/smtp/provider.yaml | 3 +-
providers/smtp/pyproject.toml | 6 +-
.../smtp/src/airflow/providers/smtp/__init__.py | 2 +-
providers/snowflake/README.rst | 6 +-
providers/snowflake/docs/changelog.rst | 16 +
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 6 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
.../providers/snowflake/hooks/snowflake_sql_api.py | 3 +-
.../providers/snowflake/operators/snowflake.py | 4 +-
.../snowflake/example_copy_into_snowflake.py | 2 +-
.../tests/system/snowflake/example_snowflake.py | 2 +-
.../system/snowflake/example_snowpark_decorator.py | 2 +-
.../system/snowflake/example_snowpark_operator.py | 2 +-
providers/sqlite/README.rst | 6 +-
providers/sqlite/docs/changelog.rst | 11 +
providers/sqlite/docs/index.rst | 6 +-
providers/sqlite/provider.yaml | 3 +-
providers/sqlite/pyproject.toml | 6 +-
.../src/airflow/providers/sqlite/__init__.py | 2 +-
.../sqlite/tests/system/sqlite/example_sqlite.py | 2 +-
providers/ssh/README.rst | 7 +-
providers/ssh/docs/changelog.rst | 47 +
providers/ssh/docs/index.rst | 8 +-
providers/ssh/provider.yaml | 3 +-
providers/ssh/pyproject.toml | 8 +-
.../ssh/src/airflow/providers/ssh/__init__.py | 2 +-
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 18 +
providers/standard/docs/index.rst | 6 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
providers/tableau/README.rst | 6 +-
providers/tableau/docs/changelog.rst | 16 +
providers/tableau/docs/index.rst | 6 +-
providers/tableau/provider.yaml | 3 +-
providers/tableau/pyproject.toml | 6 +-
.../src/airflow/providers/tableau/__init__.py | 2 +-
.../airflow/providers/tableau/sensors/tableau.py | 12 +
.../tests/system/tableau/example_tableau.py | 2 +-
.../tests/unit/tableau/sensors/test_tableau.py | 33 +
providers/telegram/README.rst | 6 +-
providers/telegram/docs/changelog.rst | 11 +
providers/telegram/docs/index.rst | 6 +-
providers/telegram/provider.yaml | 3 +-
providers/telegram/pyproject.toml | 6 +-
.../src/airflow/providers/telegram/__init__.py | 2 +-
.../tests/system/telegram/example_telegram.py | 2 +-
providers/teradata/README.rst | 6 +-
providers/teradata/docs/changelog.rst | 11 +
providers/teradata/docs/index.rst | 6 +-
providers/teradata/provider.yaml | 3 +-
providers/teradata/pyproject.toml | 6 +-
.../src/airflow/providers/teradata/__init__.py | 2 +-
.../example_azure_blob_to_teradata_transfer.py | 2 +-
.../teradata/tests/system/teradata/example_bteq.py | 2 +-
.../tests/system/teradata/example_remote_bteq.py | 2 +-
.../tests/system/teradata/example_remote_tpt.py | 2 +-
.../teradata/example_s3_to_teradata_transfer.py | 2 +-
.../tests/system/teradata/example_ssl_teradata.py | 2 +-
.../tests/system/teradata/example_teradata.py | 2 +-
.../system/teradata/example_teradata_call_sp.py | 2 +-
.../teradata/example_teradata_compute_cluster.py | 2 +-
.../example_teradata_to_teradata_transfer.py | 2 +-
.../teradata/tests/system/teradata/example_tpt.py | 2 +-
providers/trino/README.rst | 6 +-
providers/trino/docs/changelog.rst | 11 +
providers/trino/docs/index.rst | 6 +-
providers/trino/provider.yaml | 3 +-
providers/trino/pyproject.toml | 6 +-
.../trino/src/airflow/providers/trino/__init__.py | 2 +-
.../tests/system/trino/example_gcs_to_trino.py | 2 +-
.../trino/tests/system/trino/example_trino.py | 2 +-
providers/vertica/README.rst | 6 +-
providers/vertica/docs/changelog.rst | 11 +
providers/vertica/docs/index.rst | 6 +-
providers/vertica/provider.yaml | 3 +-
providers/vertica/pyproject.toml | 6 +-
.../src/airflow/providers/vertica/__init__.py | 2 +-
{airflow-core => providers/vespa}/.gitignore | 0
LICENSE => providers/vespa/LICENSE | 0
NOTICE => providers/vespa/NOTICE | 0
providers/{imap => vespa}/README.rst | 19 +-
.../vespa/docs/changelog.rst | 20 +-
providers/{common/io => vespa}/docs/commits.rst | 6 +-
providers/{vertica => vespa}/docs/conf.py | 2 +-
providers/vespa/docs/connections.rst | 71 +
providers/{imap => vespa}/docs/index.rst | 42 +-
.../docs/installing-providers-from-sources.rst | 0
.../qdrant.rst => vespa/docs/operators/vespa.rst} | 28 +-
providers/{airbyte => vespa}/docs/security.rst | 0
providers/vespa/provider.yaml | 156 ++
providers/{imap => vespa}/pyproject.toml | 17 +-
.../vespa/src/airflow}/__init__.py | 0
.../vespa/src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/vespa}/__init__.py | 4 +-
.../airflow/providers/vespa/get_provider_info.py | 110 ++
.../src/airflow/providers/vespa/hooks}/__init__.py | 0
.../src/airflow/providers/vespa/hooks/vespa.py | 356 +++++
.../airflow/providers/vespa/operators}/__init__.py | 0
.../providers/vespa/operators/vespa_ingest.py | 101 ++
.../airflow/providers/vespa/triggers}/__init__.py | 0
.../providers/vespa/triggers/vespa_feed_trigger.py | 104 ++
providers/{airbyte => vespa}/tests/conftest.py | 0
.../vespa/tests/system}/__init__.py | 0
.../vespa/tests/system/vespa}/__init__.py | 0
.../vespa/tests/system/vespa/example_dag_vespa.py | 112 ++
.../vespa/tests/unit}/__init__.py | 0
.../vespa/tests/unit/vespa}/__init__.py | 0
.../vespa/tests/unit/vespa/hooks}/__init__.py | 0
.../vespa/tests/unit/vespa/hooks/test_vespa.py | 727 +++++++++
.../vespa/tests/unit/vespa/operators}/__init__.py | 0
.../unit/vespa/operators/test_vespa_ingest.py | 243 +++
.../vespa/tests/unit/vespa/triggers}/__init__.py | 0
.../unit/vespa/triggers/test_vespa_feed_trigger.py | 243 +++
providers/weaviate/README.rst | 6 +-
providers/weaviate/docs/changelog.rst | 11 +
providers/weaviate/docs/index.rst | 6 +-
providers/weaviate/provider.yaml | 3 +-
providers/weaviate/pyproject.toml | 6 +-
.../src/airflow/providers/weaviate/__init__.py | 2 +-
.../system/weaviate/example_weaviate_cohere.py | 2 +-
.../example_weaviate_dynamic_mapping_dag.py | 2 +-
.../system/weaviate/example_weaviate_openai.py | 2 +-
.../system/weaviate/example_weaviate_operator.py | 2 +-
.../system/weaviate/example_weaviate_using_hook.py | 2 +-
.../weaviate/example_weaviate_vectorizer_dag.py | 2 +-
.../example_weaviate_without_vectorizer_dag.py | 2 +-
providers/yandex/README.rst | 10 +-
providers/yandex/docs/changelog.rst | 13 +
providers/yandex/docs/index.rst | 6 +-
providers/yandex/provider.yaml | 3 +-
providers/yandex/pyproject.toml | 6 +-
.../src/airflow/providers/yandex/__init__.py | 2 +-
.../tests/system/yandex/example_yandexcloud.py | 2 +-
.../system/yandex/example_yandexcloud_dataproc.py | 2 +-
.../example_yandexcloud_dataproc_lightweight.py | 2 +-
.../tests/system/yandex/example_yandexcloud_yq.py | 2 +-
providers/ydb/README.rst | 6 +-
providers/ydb/docs/changelog.rst | 11 +
providers/ydb/docs/index.rst | 6 +-
providers/ydb/provider.yaml | 3 +-
providers/ydb/pyproject.toml | 6 +-
.../ydb/src/airflow/providers/ydb/__init__.py | 2 +-
providers/ydb/tests/system/ydb/example_ydb.py | 2 +-
providers/zendesk/README.rst | 6 +-
providers/zendesk/docs/changelog.rst | 11 +
providers/zendesk/docs/index.rst | 6 +-
providers/zendesk/provider.yaml | 3 +-
providers/zendesk/pyproject.toml | 6 +-
.../src/airflow/providers/zendesk/__init__.py | 2 +-
.../system/zendesk/example_zendesk_custom_get.py | 2 +-
pyproject.toml | 285 +++-
registry/pnpm-lock.yaml | 72 +-
registry/pnpm-workspace.yaml | 7 +
reproducible_build.yaml | 4 +-
scripts/ci/analyze_e2e_flaky_tests.py | 9 +-
scripts/ci/docker-compose/remove-sources.yml | 7 +-
scripts/ci/docker-compose/tests-sources.yml | 1 +
.../ci/prek/check_airflowctl_command_coverage.py | 34 +-
scripts/ci/prek/check_airflowctl_help_texts.py | 87 ++
scripts/ci/prek/check_extra_packages_ref.py | 2 +-
scripts/ci/prek/check_imports_in_providers.py | 2 +-
.../ci/prek/check_new_airflow_exception_usage.py | 265 ++++
scripts/ci/prek/check_security_doc_constants.py | 427 ++++++
.../prek/check_shared_distributions_structure.py | 2 +-
.../ci/prek/check_shared_distributions_usage.py | 2 +-
scripts/ci/prek/check_version_consistency.py | 2 +-
scripts/ci/prek/common_prek_utils.py | 61 +-
scripts/ci/prek/known_airflow_exceptions.txt | 432 ++++++
scripts/ci/prek/mypy_local_folder.py | 223 +++
scripts/ci/prek/ruff_format.py | 2 +-
scripts/ci/prek/supported_versions.py | 2 +-
scripts/ci/prek/update_airflow_pyproject_toml.py | 45 +-
scripts/ci/prek/update_providers_dependencies.py | 2 +-
scripts/ci/prek/upgrade_important_versions.py | 10 +-
.../in_container/install_airflow_and_providers.py | 5 +-
.../in_container/run_capture_airflowctl_help.py | 1 +
scripts/tests/ci/prek/test_common_prek_utils.py | 14 +
scripts/tests/ci/test_analyze_e2e_flaky_tests.py | 13 +
scripts/tools/initialize_virtualenv.py | 2 +-
scripts/tools/setup_breeze | 2 +-
.../src/airflow_shared/configuration/parser.py | 1 +
task-sdk/.pre-commit-config.yaml | 10 +-
task-sdk/src/airflow/sdk/_shared/AGENTS.md | 2 +-
task-sdk/src/airflow/sdk/bases/decorator.py | 8 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 2 +-
task-sdk/src/airflow/sdk/plugins_manager.py | 2 +-
task-sdk/tests/task_sdk/bases/test_decorator.py | 33 +
.../tests/task_sdk/execution_time/test_comms.py | 49 +-
uv.lock | 1168 +++++++++------
1407 files changed, 26152 insertions(+), 8430 deletions(-)
copy scripts/ci/docker-compose/debug-ports.yml =>
.github/workflows/scheduled-upgrade-check-main.yml (67%)
copy .github/{zizmor.yml => workflows/scheduled-upgrade-check-v3-2-test.yml}
(65%)
create mode 100644 .github/workflows/upgrade-check.yml
create mode 100644 airflow-core/docs/security/jwt_token_authentication.rst
create mode 100644 airflow-core/newsfragments/64552.improvement.rst
create mode 100644 airflow-core/src/airflow/ui/AGENTS.md
create mode 100644
airflow-core/src/airflow/ui/src/layouts/Details/Gantt/utils.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstance/ExtraLinks.test.tsx
create mode 100644 airflow-ctl/docs/images/output_plugins.svg
create mode 100644 airflow-ctl/src/airflowctl/ctl/help_texts.yaml
create mode 100644 chart/newsfragments/62054.significant.rst
create mode 100644 chart/newsfragments/64730.significant.rst
create mode 100644 chart/newsfragments/64734.significant.rst
create mode 100644 chart/newsfragments/64739.significant.rst
create mode 100644 chart/newsfragments/64741.significant.rst
create mode 100644 chart/newsfragments/64746.significant.rst
create mode 100644 chart/newsfragments/64841.significant.rst
create mode 100644 chart/newsfragments/64860.significant.rst
create mode 100644 chart/newsfragments/64976.significant.rst
create mode 100644 chart/newsfragments/64980.significant.rst
create mode 100644 chart/newsfragments/64982.significant.rst
create mode 100644 chart/newsfragments/65027.significant.rst
create mode 100644 chart/newsfragments/65030.significant.rst
create mode 100644 chart/newsfragments/65033.significant.rst
create mode 100644 chart/newsfragments/65056.significant.rst
create mode 100644 chart/newsfragments/65059.significant.rst
copy chart/templates/{dag-processor/dag-processor-serviceaccount.yaml =>
workers/worker-kubernetes-serviceaccount.yaml} (52%)
create mode 100644
dev/breeze/doc/images/output_release-management_generate-issue-content-airflow-ctl.svg
create mode 100644
dev/breeze/doc/images/output_release-management_generate-issue-content-airflow-ctl.txt
create mode 100644 dev/breeze/src/airflow_breeze/utils/pr_vault.py
create mode 100644 dev/breeze/src/airflow_breeze/utils/reproduce_ci.py
create mode 100644 dev/breeze/tests/test_author_cache.py
create mode 100644 dev/breeze/tests/test_cache_validation.py
create mode 100644 dev/breeze/tests/test_pr_vault.py
create mode 100644 dev/breeze/tests/test_reproduce_ci.py
copy providers/{fab/src/airflow/providers/fab/www/airflow_flask_app.py =>
common/ai/tests/unit/common/ai/plugins/test_hitl_review_compat.py} (54%)
copy {airflow-core => providers/opensearch}/tests/integration/__init__.py
(100%)
copy {airflow-core/src/airflow/_shared =>
providers/opensearch/tests/integration/opensearch}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/opensearch/tests/integration/opensearch/log}/__init__.py (100%)
copy
providers/{elasticsearch/tests/integration/elasticsearch/log/test_es_remote_log_io.py
=> opensearch/tests/integration/opensearch/log/test_os_remote_log_io.py} (53%)
create mode 100644
providers/salesforce/tests/unit/salesforce/operators/test_bulk_retry.py
copy {airflow-core => providers/vespa}/.gitignore (100%)
copy LICENSE => providers/vespa/LICENSE (100%)
copy NOTICE => providers/vespa/NOTICE (100%)
copy providers/{imap => vespa}/README.rst (86%)
copy providers-summary-docs/core-extensions/configurations.rst =>
providers/vespa/docs/changelog.rst (66%)
copy providers/{common/io => vespa}/docs/commits.rst (94%)
copy providers/{vertica => vespa}/docs/conf.py (99%)
create mode 100644 providers/vespa/docs/connections.rst
copy providers/{imap => vespa}/docs/index.rst (74%)
copy providers/{airbyte => vespa}/docs/installing-providers-from-sources.rst
(100%)
copy providers/{qdrant/docs/operators/qdrant.rst =>
vespa/docs/operators/vespa.rst} (52%)
copy providers/{airbyte => vespa}/docs/security.rst (100%)
create mode 100644 providers/vespa/provider.yaml
copy providers/{imap => vespa}/pyproject.toml (90%)
copy {airflow-core/tests/integration =>
providers/vespa/src/airflow}/__init__.py (100%)
copy {airflow-core/tests/integration =>
providers/vespa/src/airflow/providers}/__init__.py (100%)
copy providers/{redis/src/airflow/providers/redis =>
vespa/src/airflow/providers/vespa}/__init__.py (94%)
create mode 100644
providers/vespa/src/airflow/providers/vespa/get_provider_info.py
copy {airflow-core/src/airflow/_shared =>
providers/vespa/src/airflow/providers/vespa/hooks}/__init__.py (100%)
create mode 100644 providers/vespa/src/airflow/providers/vespa/hooks/vespa.py
copy {airflow-core/src/airflow/_shared =>
providers/vespa/src/airflow/providers/vespa/operators}/__init__.py (100%)
create mode 100644
providers/vespa/src/airflow/providers/vespa/operators/vespa_ingest.py
copy {airflow-core/src/airflow/_shared =>
providers/vespa/src/airflow/providers/vespa/triggers}/__init__.py (100%)
create mode 100644
providers/vespa/src/airflow/providers/vespa/triggers/vespa_feed_trigger.py
copy providers/{airbyte => vespa}/tests/conftest.py (100%)
copy {airflow-core/tests/integration =>
providers/vespa/tests/system}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/vespa/tests/system/vespa}/__init__.py (100%)
create mode 100644 providers/vespa/tests/system/vespa/example_dag_vespa.py
copy {airflow-core/tests/integration =>
providers/vespa/tests/unit}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/vespa/tests/unit/vespa}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/vespa/tests/unit/vespa/hooks}/__init__.py (100%)
create mode 100644 providers/vespa/tests/unit/vespa/hooks/test_vespa.py
copy {airflow-core/src/airflow/_shared =>
providers/vespa/tests/unit/vespa/operators}/__init__.py (100%)
create mode 100644
providers/vespa/tests/unit/vespa/operators/test_vespa_ingest.py
copy {airflow-core/src/airflow/_shared =>
providers/vespa/tests/unit/vespa/triggers}/__init__.py (100%)
create mode 100644
providers/vespa/tests/unit/vespa/triggers/test_vespa_feed_trigger.py
create mode 100755 scripts/ci/prek/check_airflowctl_help_texts.py
create mode 100755 scripts/ci/prek/check_new_airflow_exception_usage.py
create mode 100755 scripts/ci/prek/check_security_doc_constants.py
create mode 100644 scripts/ci/prek/known_airflow_exceptions.txt
create mode 100755 scripts/ci/prek/mypy_local_folder.py