This is an automated email from the ASF dual-hosted git repository. rahulvats pushed a commit to branch py-client-sync in repository https://gitbox.apache.org/repos/asf/airflow.git
commit cdee0c835a04621f47688d63b523d420bf3a2630 Merge: fc7ab3fe6fd 8eb89dbad18 Author: vatsrahul1001 <[email protected]> AuthorDate: Wed Mar 25 11:54:18 2026 +0530 Merge branch 'main' of github.com:apache/airflow .github/CODEOWNERS | 4 +- .../docs/authoring-and-scheduling/assets.rst | 148 +++++++++++++++ airflow-core/docs/core-concepts/dag-run.rst | 3 +- airflow-core/newsfragments/63296.significant.rst | 16 ++ airflow-core/pyproject.toml | 7 +- .../core_api/services/ui/connections.py | 95 ++++++++-- .../execution_api/routes/task_instances.py | 46 +++++ airflow-core/src/airflow/assets/manager.py | 2 +- .../src/airflow/config_templates/config.yml | 10 + airflow-core/src/airflow/dag_processing/manager.py | 35 ++-- .../src/airflow/executors/workloads/task.py | 1 - .../src/airflow/jobs/triggerer_job_runner.py | 88 ++++++--- airflow-core/src/airflow/models/dag.py | 2 +- airflow-core/src/airflow/models/dagrun.py | 26 ++- airflow-core/src/airflow/models/taskinstance.py | 13 +- airflow-core/src/airflow/models/taskmap.py | 16 ++ .../src/airflow/serialization/definitions/dag.py | 3 + .../airflow/ui/public/i18n/locales/en/common.json | 14 +- .../airflow/ui/public/i18n/locales/he/common.json | 2 +- .../ui/src/components/ui/Toaster/createToaster.ts | 8 +- .../ui/src/components/ui/createErrorToaster.ts | 40 ---- .../src/airflow/ui/src/pages/Pools/PoolForm.tsx | 34 +++- .../ui/src/queries/useBulkDeleteVariables.ts | 4 +- .../src/airflow/ui/src/queries/useClearRun.ts | 17 +- .../ui/src/queries/useClearTaskInstances.ts | 9 + .../src/airflow/ui/src/queries/useDagParsing.ts | 12 +- .../airflow/ui/src/queries/useDeleteConnection.ts | 18 +- .../src/airflow/ui/src/queries/useDeleteDag.ts | 18 +- .../src/airflow/ui/src/queries/useDeleteDagRun.ts | 16 +- .../src/airflow/ui/src/queries/useDeletePool.ts | 18 +- .../ui/src/queries/useDeleteTaskInstance.ts | 16 +- .../airflow/ui/src/queries/useDeleteVariable.ts | 18 +- .../airflow/ui/src/queries/useGridTISummaries.ts | 2 + .../src/airflow/ui/src/queries/usePatchDagRun.ts | 19 +- .../airflow/ui/src/queries/usePatchTaskInstance.ts | 19 +- .../src/airflow/ui/src/queries/useTogglePause.ts | 10 +- .../src/airflow/ui/src/queries/useTrigger.ts | 11 +- .../airflow/ui/src/queries/useUpdateHITLDetail.ts | 9 +- airflow-core/src/airflow/ui/src/queryClient.ts | 30 ++- .../src/airflow/ui/src/utils/errorHandling.ts | 90 +++++++++ airflow-core/src/airflow/ui/src/utils/index.ts | 1 + .../src/airflow/ui/tests/e2e/pages/EventsPage.ts | 116 ++++-------- .../ui/tests/e2e/specs/dag-audit-log.spec.ts | 52 ++---- .../airflow/ui/tests/e2e/specs/task-logs.spec.ts | 12 +- airflow-core/src/airflow/utils/db_manager.py | 33 +++- airflow-core/src/airflow/utils/helpers.py | 4 + airflow-core/tests/integration/otel/test_otel.py | 5 +- .../versions/head/test_task_instances.py | 116 ++++++++++++ airflow-core/tests/unit/assets/test_manager.py | 23 +++ airflow-core/tests/unit/cli/conftest.py | 2 +- .../tests/unit/dag_processing/test_manager.py | 124 +++++++++++- airflow-core/tests/unit/jobs/test_triggerer_job.py | 101 +++++++++- airflow-core/tests/unit/models/test_dag.py | 2 +- airflow-core/tests/unit/models/test_dagrun.py | 53 +++--- .../tests/unit/models/test_taskinstance.py | 104 +++++++++++ airflow-core/tests/unit/utils/test_db_manager.py | 68 ++++++- airflow-core/tests/unit/utils/test_helpers.py | 10 + dev/README_AIRFLOW3_DEV.md | 9 +- dev/README_HELM_CHART2_DEV.md | 133 +++++++++++++ .../utils/constraints_version_check.py | 42 +++-- .../airflow_breeze/utils/docker_command_utils.py | 1 + providers/.last_release_date.txt | 2 +- providers/airbyte/README.rst | 8 +- providers/airbyte/docs/changelog.rst | 19 ++ providers/airbyte/docs/index.rst | 6 +- providers/airbyte/provider.yaml | 3 +- providers/airbyte/pyproject.toml | 6 +- .../src/airflow/providers/airbyte/__init__.py | 2 +- .../airflow/providers/airbyte/operators/airbyte.py | 2 +- providers/alibaba/README.rst | 8 +- providers/alibaba/docs/changelog.rst | 19 ++ providers/alibaba/docs/index.rst | 6 +- providers/alibaba/provider.yaml | 3 +- providers/alibaba/pyproject.toml | 6 +- .../src/airflow/providers/alibaba/__init__.py | 2 +- .../alibaba/cloud/log/oss_task_handler.py | 6 +- .../alibaba/cloud/log/test_oss_task_handler.py | 21 +++ providers/amazon/README.rst | 19 +- providers/amazon/docs/changelog.rst | 46 ++++- providers/amazon/docs/index.rst | 6 +- providers/amazon/docs/logging/s3-task-handler.rst | 4 +- providers/amazon/provider.yaml | 3 +- providers/amazon/pyproject.toml | 6 +- .../src/airflow/providers/amazon/__init__.py | 2 +- providers/apache/cassandra/README.rst | 8 +- providers/apache/cassandra/docs/changelog.rst | 18 ++ 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 +- providers/apache/drill/README.rst | 8 +- providers/apache/drill/docs/changelog.rst | 12 ++ 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 +- providers/apache/druid/README.rst | 8 +- providers/apache/druid/docs/changelog.rst | 12 ++ 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 +- providers/apache/flink/README.rst | 8 +- providers/apache/flink/docs/changelog.rst | 12 ++ providers/apache/flink/docs/index.rst | 6 +- providers/apache/flink/provider.yaml | 3 +- providers/apache/flink/pyproject.toml | 6 +- .../src/airflow/providers/apache/flink/__init__.py | 2 +- providers/apache/hdfs/README.rst | 20 +- providers/apache/hdfs/docs/changelog.rst | 17 ++ 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 | 17 +- providers/apache/hive/docs/changelog.rst | 18 ++ 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 +- providers/apache/iceberg/README.rst | 8 +- providers/apache/iceberg/docs/changelog.rst | 13 ++ 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 +- providers/apache/impala/README.rst | 8 +- providers/apache/impala/docs/changelog.rst | 14 ++ 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 +- providers/apache/kafka/README.rst | 20 +- providers/apache/kafka/docs/changelog.rst | 21 +++ 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 +- providers/apache/kylin/README.rst | 8 +- providers/apache/kylin/docs/changelog.rst | 17 ++ 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 +- providers/apache/livy/README.rst | 11 +- providers/apache/livy/docs/changelog.rst | 23 +++ 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 +- .../airflow/providers/apache/livy/hooks/livy.py | 2 +- .../livy/tests/unit/apache/livy/hooks/test_livy.py | 27 +-- providers/apache/pig/README.rst | 8 +- providers/apache/pig/docs/changelog.rst | 15 ++ 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 +- providers/apache/pinot/README.rst | 8 +- providers/apache/pinot/docs/changelog.rst | 12 ++ 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 +- providers/apache/spark/README.rst | 10 +- providers/apache/spark/docs/changelog.rst | 21 +++ 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 +- .../apache/spark/hooks/spark_jdbc_script.py | 7 +- providers/apache/tinkerpop/README.rst | 30 ++- providers/apache/tinkerpop/docs/changelog.rst | 19 ++ 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 +- providers/apprise/README.rst | 8 +- providers/apprise/docs/changelog.rst | 16 ++ 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 | 8 +- providers/arangodb/docs/changelog.rst | 17 ++ 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 | 8 +- providers/asana/docs/changelog.rst | 22 +++ providers/asana/docs/index.rst | 6 +- providers/asana/provider.yaml | 3 +- providers/asana/pyproject.toml | 6 +- .../asana/src/airflow/providers/asana/__init__.py | 2 +- providers/atlassian/jira/README.rst | 8 +- providers/atlassian/jira/docs/changelog.rst | 17 ++ 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 | 10 +- providers/celery/docs/changelog.rst | 24 +++ providers/celery/docs/index.rst | 8 +- providers/celery/provider.yaml | 3 +- providers/celery/pyproject.toml | 8 +- .../src/airflow/providers/celery/__init__.py | 2 +- .../providers/celery/executors/celery_executor.py | 2 +- .../celery/executors/celery_executor_utils.py | 6 +- .../celery/executors/celery_kubernetes_executor.py | 2 +- .../providers/celery/executors/default_celery.py | 3 +- .../integration/celery/test_celery_executor.py | 86 +++++---- .../unit/celery/executors/test_celery_executor.py | 2 +- .../executors/test_celery_kubernetes_executor.py | 2 +- providers/cloudant/README.rst | 8 +- providers/cloudant/docs/changelog.rst | 16 ++ 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 | 19 +- providers/cncf/kubernetes/docs/changelog.rst | 41 +++- providers/cncf/kubernetes/docs/index.rst | 8 +- providers/cncf/kubernetes/provider.yaml | 3 +- providers/cncf/kubernetes/pyproject.toml | 8 +- .../airflow/providers/cncf/kubernetes/__init__.py | 2 +- .../cncf/kubernetes/operators/spark_kubernetes.py | 3 + providers/cohere/README.rst | 17 +- providers/cohere/docs/changelog.rst | 19 +- providers/cohere/docs/index.rst | 6 +- providers/cohere/provider.yaml | 3 +- providers/cohere/pyproject.toml | 6 +- .../src/airflow/providers/cohere/__init__.py | 2 +- providers/common/compat/README.rst | 17 +- providers/common/compat/docs/changelog.rst | 15 ++ 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 +- providers/common/io/README.rst | 21 +-- providers/common/io/docs/changelog.rst | 15 ++ providers/common/io/docs/index.rst | 6 +- providers/common/io/provider.yaml | 3 +- providers/common/io/pyproject.toml | 6 +- .../io/src/airflow/providers/common/io/__init__.py | 2 +- providers/common/messaging/README.rst | 8 +- providers/common/messaging/docs/changelog.rst | 15 ++ providers/common/messaging/docs/index.rst | 2 +- providers/common/messaging/provider.yaml | 3 +- providers/common/messaging/pyproject.toml | 6 +- .../airflow/providers/common/messaging/__init__.py | 2 +- providers/common/sql/README.rst | 16 +- providers/common/sql/docs/changelog.rst | 24 +++ providers/common/sql/docs/index.rst | 6 +- providers/common/sql/docs/operators.rst | 2 +- providers/common/sql/provider.yaml | 3 +- providers/common/sql/pyproject.toml | 6 +- .../src/airflow/providers/common/sql/__init__.py | 2 +- .../providers/common/sql/datafusion/engine.py | 13 +- .../providers/common/sql/operators/analytics.py | 42 +---- .../unit/common/sql/datafusion/test_engine.py | 39 +++- .../unit/common/sql/operators/test_analytics.py | 11 +- providers/databricks/README.rst | 28 +-- providers/databricks/docs/changelog.rst | 30 +++ providers/databricks/docs/index.rst | 6 +- providers/databricks/provider.yaml | 3 +- providers/databricks/pyproject.toml | 6 +- .../src/airflow/providers/databricks/__init__.py | 2 +- providers/datadog/README.rst | 8 +- providers/datadog/docs/changelog.rst | 18 ++ 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 | 17 +- providers/dbt/cloud/docs/changelog.rst | 19 ++ 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 +- providers/dingding/README.rst | 8 +- providers/dingding/docs/changelog.rst | 15 ++ providers/dingding/docs/index.rst | 6 +- providers/dingding/provider.yaml | 3 +- providers/dingding/pyproject.toml | 6 +- .../src/airflow/providers/dingding/__init__.py | 2 +- providers/discord/README.rst | 8 +- providers/discord/docs/changelog.rst | 18 ++ 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 | 8 +- providers/docker/docs/changelog.rst | 12 ++ providers/docker/docs/index.rst | 6 +- providers/docker/provider.yaml | 3 +- providers/docker/pyproject.toml | 6 +- .../src/airflow/providers/docker/__init__.py | 2 +- providers/edge3/README.rst | 8 +- providers/edge3/docs/changelog.rst | 41 +++- providers/edge3/docs/index.rst | 6 +- providers/edge3/provider.yaml | 3 +- providers/edge3/pyproject.toml | 6 +- .../edge3/src/airflow/providers/edge3/__init__.py | 2 +- .../src/airflow/providers/edge3/cli/api_client.py | 2 +- .../src/airflow/providers/edge3/cli/definition.py | 2 +- .../airflow/providers/edge3/cli/edge_command.py | 2 +- .../src/airflow/providers/edge3/cli/worker.py | 3 +- .../providers/edge3/executors/edge_executor.py | 3 +- .../edge3/src/airflow/providers/edge3/models/db.py | 2 +- .../edge3/plugins/edge_executor_plugin.py | 3 +- .../src/airflow/providers/edge3/worker_api/auth.py | 2 +- .../providers/edge3/worker_api/routes/logs.py | 3 +- providers/elasticsearch/README.rst | 10 +- providers/elasticsearch/docs/changelog.rst | 21 +++ 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_response.py | 11 +- .../providers/elasticsearch/log/es_task_handler.py | 2 +- providers/exasol/README.rst | 17 +- providers/exasol/docs/changelog.rst | 12 ++ providers/exasol/docs/index.rst | 6 +- providers/exasol/provider.yaml | 3 +- providers/exasol/pyproject.toml | 6 +- .../src/airflow/providers/exasol/__init__.py | 2 +- providers/fab/README.rst | 30 +-- providers/fab/docs/changelog.rst | 42 +++++ providers/fab/docs/index.rst | 6 +- providers/fab/provider.yaml | 3 +- providers/fab/pyproject.toml | 6 +- .../providers/3rd-party-licenses/LICENSES-ui.txt | 2 +- .../fab/src/airflow/providers/fab/__init__.py | 2 +- .../auth_manager/api/auth/backend/kerberos_auth.py | 2 +- .../fab/auth_manager/api_fastapi/parameters.py | 2 +- .../fab/auth_manager/api_fastapi/routes/login.py | 2 +- .../fab/auth_manager/api_fastapi/services/login.py | 2 +- .../fab/auth_manager/cli_commands/utils.py | 2 +- .../providers/fab/auth_manager/fab_auth_manager.py | 3 +- .../fab/auth_manager/security_manager/override.py | 2 +- .../providers/fab/auth_manager/views/auth_oauth.py | 2 +- providers/fab/src/airflow/providers/fab/www/app.py | 2 +- .../fab/src/airflow/providers/fab/www/auth.py | 2 +- .../fab/www/extensions/init_appbuilder.py | 2 +- .../fab/www/extensions/init_jinja_globals.py | 2 +- .../providers/fab/www/extensions/init_security.py | 3 +- .../providers/fab/www/extensions/init_session.py | 2 +- .../fab/www/extensions/init_wsgi_middlewares.py | 2 +- .../fab/src/airflow/providers/fab/www/package.json | 8 +- .../src/airflow/providers/fab/www/pnpm-lock.yaml | 208 ++++++++++++--------- .../fab/src/airflow/providers/fab/www/utils.py | 2 +- .../fab/src/airflow/providers/fab/www/views.py | 2 +- providers/facebook/README.rst | 8 +- providers/facebook/docs/changelog.rst | 15 ++ 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 | 19 +- providers/ftp/docs/changelog.rst | 15 ++ 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/git/README.rst | 8 +- providers/git/docs/changelog.rst | 29 +++ providers/git/docs/index.rst | 6 +- providers/git/provider.yaml | 3 +- providers/git/pyproject.toml | 6 +- .../git/src/airflow/providers/git/__init__.py | 2 +- .../git/src/airflow/providers/git/hooks/git.py | 3 +- providers/github/README.rst | 8 +- providers/github/docs/changelog.rst | 17 ++ providers/github/docs/index.rst | 6 +- providers/github/provider.yaml | 3 +- providers/github/pyproject.toml | 6 +- .../src/airflow/providers/github/__init__.py | 2 +- providers/google/docs/changelog.rst | 25 ++- .../marketing_platform/operators/bid_manager.py | 23 ++- .../operators/test_bid_manager.py | 17 +- providers/grpc/README.rst | 8 +- providers/grpc/docs/changelog.rst | 19 ++ 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 | 8 +- providers/hashicorp/docs/changelog.rst | 24 +++ 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 | 17 +- providers/http/docs/changelog.rst | 19 ++ providers/http/docs/index.rst | 6 +- providers/http/provider.yaml | 3 +- providers/http/pyproject.toml | 6 +- .../http/src/airflow/providers/http/__init__.py | 2 +- .../http/src/airflow/providers/http/hooks/http.py | 37 ++-- providers/http/tests/unit/http/hooks/test_http.py | 16 ++ providers/imap/README.rst | 8 +- providers/imap/docs/changelog.rst | 15 ++ 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 | 8 +- providers/influxdb/docs/changelog.rst | 17 ++ providers/influxdb/docs/index.rst | 6 +- providers/influxdb/provider.yaml | 3 +- providers/influxdb/pyproject.toml | 6 +- .../src/airflow/providers/influxdb/__init__.py | 2 +- providers/informatica/README.rst | 8 +- 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 | 8 +- providers/jdbc/docs/changelog.rst | 12 ++ providers/jdbc/docs/index.rst | 6 +- providers/jdbc/provider.yaml | 3 +- providers/jdbc/pyproject.toml | 6 +- .../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +- providers/jenkins/README.rst | 8 +- providers/jenkins/docs/changelog.rst | 14 ++ providers/jenkins/docs/index.rst | 6 +- providers/jenkins/provider.yaml | 3 +- providers/jenkins/pyproject.toml | 6 +- .../src/airflow/providers/jenkins/__init__.py | 2 +- providers/keycloak/README.rst | 8 +- providers/keycloak/docs/changelog.rst | 22 +++ 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 | 9 +- providers/microsoft/azure/docs/changelog.rst | 32 +++- 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 | 10 +- .../azure/hooks/test_container_instance.py | 40 ++-- providers/microsoft/mssql/README.rst | 17 +- providers/microsoft/mssql/docs/changelog.rst | 12 ++ 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 +- providers/microsoft/psrp/README.rst | 8 +- providers/microsoft/psrp/docs/changelog.rst | 15 ++ 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 | 8 +- providers/microsoft/winrm/docs/changelog.rst | 12 ++ 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 +- providers/mongo/README.rst | 8 +- providers/mongo/docs/changelog.rst | 12 ++ 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 | 8 +- providers/mysql/docs/changelog.rst | 13 ++ providers/mysql/docs/index.rst | 6 +- providers/mysql/provider.yaml | 3 +- providers/mysql/pyproject.toml | 6 +- .../mysql/src/airflow/providers/mysql/__init__.py | 2 +- providers/neo4j/README.rst | 8 +- providers/neo4j/docs/changelog.rst | 16 ++ providers/neo4j/docs/index.rst | 6 +- providers/neo4j/provider.yaml | 3 +- providers/neo4j/pyproject.toml | 6 +- .../neo4j/src/airflow/providers/neo4j/__init__.py | 2 +- providers/odbc/README.rst | 8 +- providers/odbc/docs/changelog.rst | 14 ++ 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 | 14 +- providers/openai/docs/changelog.rst | 24 +++ providers/openai/docs/commits.rst | 4 +- providers/openai/docs/index.rst | 6 +- providers/openai/provider.yaml | 3 +- providers/openai/pyproject.toml | 6 +- .../src/airflow/providers/openai/__init__.py | 2 +- providers/openfaas/README.rst | 8 +- providers/openfaas/docs/changelog.rst | 16 ++ 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 | 27 ++- providers/openlineage/docs/index.rst | 6 +- providers/openlineage/provider.yaml | 3 +- providers/openlineage/pyproject.toml | 6 +- .../src/airflow/providers/openlineage/__init__.py | 2 +- providers/opensearch/README.rst | 8 +- providers/opensearch/docs/changelog.rst | 23 +++ providers/opensearch/docs/index.rst | 6 +- providers/opensearch/provider.yaml | 3 +- providers/opensearch/pyproject.toml | 6 +- .../src/airflow/providers/opensearch/__init__.py | 2 +- providers/opsgenie/README.rst | 8 +- providers/opsgenie/docs/changelog.rst | 18 ++ providers/opsgenie/docs/index.rst | 6 +- providers/opsgenie/provider.yaml | 3 +- providers/opsgenie/pyproject.toml | 6 +- .../src/airflow/providers/opsgenie/__init__.py | 2 +- providers/oracle/README.rst | 16 +- providers/oracle/docs/changelog.rst | 12 ++ providers/oracle/docs/index.rst | 6 +- providers/oracle/provider.yaml | 3 +- providers/oracle/pyproject.toml | 6 +- .../src/airflow/providers/oracle/__init__.py | 2 +- providers/pagerduty/README.rst | 8 +- providers/pagerduty/docs/changelog.rst | 22 +++ 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 | 26 +-- providers/papermill/docs/changelog.rst | 15 ++ providers/papermill/docs/index.rst | 6 +- providers/papermill/provider.yaml | 3 +- providers/papermill/pyproject.toml | 6 +- .../src/airflow/providers/papermill/__init__.py | 2 +- providers/pgvector/README.rst | 8 +- providers/pgvector/docs/changelog.rst | 12 ++ providers/pgvector/docs/index.rst | 6 +- providers/pgvector/provider.yaml | 3 +- providers/pgvector/pyproject.toml | 6 +- .../src/airflow/providers/pgvector/__init__.py | 2 +- providers/pinecone/README.rst | 8 +- providers/pinecone/docs/changelog.rst | 17 ++ providers/pinecone/docs/index.rst | 6 +- providers/pinecone/provider.yaml | 3 +- providers/pinecone/pyproject.toml | 6 +- .../src/airflow/providers/pinecone/__init__.py | 2 +- providers/postgres/README.rst | 18 +- providers/postgres/docs/changelog.rst | 17 ++ providers/postgres/docs/index.rst | 6 +- providers/postgres/provider.yaml | 3 +- providers/postgres/pyproject.toml | 6 +- .../src/airflow/providers/postgres/__init__.py | 2 +- providers/presto/README.rst | 17 +- providers/presto/docs/changelog.rst | 14 ++ providers/presto/docs/index.rst | 6 +- providers/presto/provider.yaml | 3 +- providers/presto/pyproject.toml | 6 +- .../src/airflow/providers/presto/__init__.py | 2 +- providers/qdrant/README.rst | 16 +- providers/qdrant/docs/changelog.rst | 16 ++ providers/qdrant/docs/index.rst | 6 +- providers/qdrant/provider.yaml | 3 +- providers/qdrant/pyproject.toml | 6 +- .../src/airflow/providers/qdrant/__init__.py | 2 +- providers/redis/README.rst | 10 +- providers/redis/docs/changelog.rst | 22 +++ providers/redis/docs/index.rst | 6 +- providers/redis/provider.yaml | 3 +- providers/redis/pyproject.toml | 6 +- .../redis/src/airflow/providers/redis/__init__.py | 2 +- providers/salesforce/README.rst | 17 +- providers/salesforce/docs/changelog.rst | 18 ++ 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 | 4 +- .../tests/unit/salesforce/operators/test_bulk.py | 35 ++++ providers/samba/README.rst | 8 +- providers/samba/docs/changelog.rst | 14 ++ providers/samba/docs/index.rst | 6 +- providers/samba/provider.yaml | 3 +- providers/samba/pyproject.toml | 6 +- .../samba/src/airflow/providers/samba/__init__.py | 2 +- providers/segment/README.rst | 8 +- providers/segment/docs/changelog.rst | 15 ++ providers/segment/docs/index.rst | 6 +- providers/segment/provider.yaml | 3 +- providers/segment/pyproject.toml | 6 +- .../src/airflow/providers/segment/__init__.py | 2 +- providers/sendgrid/README.rst | 17 +- providers/sendgrid/docs/changelog.rst | 15 ++ providers/sendgrid/docs/index.rst | 6 +- providers/sendgrid/provider.yaml | 3 +- providers/sendgrid/pyproject.toml | 6 +- .../src/airflow/providers/sendgrid/__init__.py | 2 +- providers/sftp/README.rst | 17 +- providers/sftp/docs/changelog.rst | 18 ++ providers/sftp/docs/index.rst | 6 +- providers/sftp/provider.yaml | 3 +- providers/sftp/pyproject.toml | 6 +- .../sftp/src/airflow/providers/sftp/__init__.py | 2 +- providers/singularity/README.rst | 8 +- providers/singularity/docs/changelog.rst | 15 ++ providers/singularity/docs/index.rst | 6 +- providers/singularity/provider.yaml | 3 +- providers/singularity/pyproject.toml | 6 +- .../src/airflow/providers/singularity/__init__.py | 2 +- providers/slack/README.rst | 17 +- providers/slack/docs/changelog.rst | 23 +++ providers/slack/docs/index.rst | 6 +- providers/slack/provider.yaml | 3 +- providers/slack/pyproject.toml | 6 +- .../slack/src/airflow/providers/slack/__init__.py | 2 +- providers/smtp/README.rst | 8 +- providers/smtp/docs/changelog.rst | 12 ++ 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 | 14 +- providers/snowflake/docs/changelog.rst | 23 +++ providers/snowflake/docs/index.rst | 6 +- providers/snowflake/provider.yaml | 3 +- providers/snowflake/pyproject.toml | 6 +- .../src/airflow/providers/snowflake/__init__.py | 2 +- providers/sqlite/README.rst | 8 +- providers/sqlite/docs/changelog.rst | 14 ++ providers/sqlite/docs/index.rst | 6 +- providers/sqlite/provider.yaml | 3 +- providers/sqlite/pyproject.toml | 6 +- .../src/airflow/providers/sqlite/__init__.py | 2 +- providers/ssh/README.rst | 8 +- providers/ssh/docs/changelog.rst | 12 ++ providers/ssh/docs/index.rst | 6 +- providers/ssh/provider.yaml | 3 +- providers/ssh/pyproject.toml | 6 +- .../ssh/src/airflow/providers/ssh/__init__.py | 2 +- providers/standard/README.rst | 8 +- providers/standard/docs/changelog.rst | 24 +++ providers/standard/docs/index.rst | 6 +- providers/standard/provider.yaml | 3 +- providers/standard/pyproject.toml | 6 +- .../src/airflow/providers/standard/__init__.py | 2 +- .../standard/example_dags/example_hitl_operator.py | 4 +- .../airflow/providers/standard/operators/hitl.py | 27 ++- .../tests/unit/standard/operators/test_hitl.py | 35 +++- providers/tableau/README.rst | 8 +- providers/tableau/docs/changelog.rst | 22 ++- providers/tableau/docs/index.rst | 6 +- providers/tableau/provider.yaml | 3 +- providers/tableau/pyproject.toml | 6 +- .../src/airflow/providers/tableau/__init__.py | 2 +- providers/telegram/README.rst | 8 +- providers/telegram/docs/changelog.rst | 16 ++ providers/telegram/docs/index.rst | 6 +- providers/telegram/provider.yaml | 3 +- providers/telegram/pyproject.toml | 6 +- .../src/airflow/providers/telegram/__init__.py | 2 +- providers/teradata/README.rst | 8 +- providers/teradata/docs/changelog.rst | 14 ++ providers/teradata/docs/index.rst | 6 +- providers/teradata/provider.yaml | 3 +- providers/teradata/pyproject.toml | 6 +- .../src/airflow/providers/teradata/__init__.py | 2 +- providers/trino/README.rst | 17 +- providers/trino/docs/changelog.rst | 15 ++ providers/trino/docs/index.rst | 6 +- providers/trino/provider.yaml | 3 +- providers/trino/pyproject.toml | 6 +- .../trino/src/airflow/providers/trino/__init__.py | 2 +- providers/vertica/README.rst | 8 +- providers/vertica/docs/changelog.rst | 12 ++ providers/vertica/docs/index.rst | 6 +- providers/vertica/provider.yaml | 3 +- providers/vertica/pyproject.toml | 6 +- .../src/airflow/providers/vertica/__init__.py | 2 +- providers/weaviate/README.rst | 17 +- providers/weaviate/docs/changelog.rst | 17 ++ providers/weaviate/docs/index.rst | 6 +- providers/weaviate/provider.yaml | 3 +- providers/weaviate/pyproject.toml | 6 +- .../src/airflow/providers/weaviate/__init__.py | 2 +- providers/yandex/README.rst | 10 +- providers/yandex/docs/changelog.rst | 18 ++ providers/yandex/docs/index.rst | 6 +- providers/yandex/provider.yaml | 3 +- providers/yandex/pyproject.toml | 6 +- .../src/airflow/providers/yandex/__init__.py | 2 +- providers/ydb/README.rst | 8 +- providers/ydb/docs/changelog.rst | 13 ++ 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/zendesk/README.rst | 8 +- providers/zendesk/docs/changelog.rst | 18 ++ providers/zendesk/docs/index.rst | 6 +- providers/zendesk/provider.yaml | 3 +- providers/zendesk/pyproject.toml | 6 +- .../src/airflow/providers/zendesk/__init__.py | 2 +- scripts/ci/docker-compose/local.yml | 3 + scripts/ci/prek/check_cli_definition_imports.py | 2 + scripts/ci/prek/generate_openapi_spec.py | 2 +- .../observability/traces/__init__.py | 12 ++ task-sdk/docs/api.rst | 7 + task-sdk/src/airflow/sdk/__init__.py | 2 + task-sdk/src/airflow/sdk/definitions/connection.py | 2 +- .../src/airflow/sdk/execution_time/task_runner.py | 4 +- .../tests/task_sdk/definitions/test_connection.py | 9 + .../task_sdk/execution_time/test_task_runner.py | 87 ++++++--- uv.lock | 201 ++++++++++---------- 714 files changed, 5449 insertions(+), 2197 deletions(-)
