This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-6b1982b9af
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard d2d9c50952a Bump the ui-plugin-template-package-updates group across 1
directory with 18 updates
add d2377a9bed1 fix(ui): only apply elk.portConstraints for LR orientation
in graph view (#62144)
add 73a9bc56239 fix spdx license for SKILL.md and zh-CN.md (#62185)
add 61e5e8992ad Keycloak CLI: provision multi‑team resources for auth
manager (AIP‑67) (#61256)
add 99ae6d79cc2 fix: fab deserialize issue (#62153)
add 29358761fe6 AwsLambdaExecutor: Support multi-team configuration
(#61321)
add 16ee44cdc5b General documentation for Multi-Team Airflow (#62102)
add b27f874e693 Close German Translation Gaps 2026-02-17 (#62101)
add 4c2cb7caa8c CI: Upgrade important CI environment (#62191)
add ad29cc5520c Cap qdrant_client (#62193)
add e9fc6bccbed Add `lifecycle` field to provider.yaml schema and all
providers per AIP-95 (#62190)
add a35ab8b8daa Support for client-side certificates using task-sdk
(#62105)
add 0d294caab3d Refactor imports from 'airflow-core' out of 'shared/stats'
(#62127)
add 9d678164f89 Update README link in PYTEST_FUNCTION comment to point to
the correct documentation (#62197)
add f132c8a8b91 [main] Upgrade important CI environment (#62200)
add aeec6818178 fix the write-to-es feature for Airflow 3 (#53821)
add 9a222357bee Get rid of airflow-core related imports in shared
observability tests (#62208)
add acf7818ef27 Providers ad-hoc 2026-02-20 (#62209)
add 66cd0894563 Add note support to TriggerDagRunOperator (#60810)
add b1a3d3bc209 Unify grid and graph view tooltips with dates, duration,
and child states (#62119)
add 01318970138 Add allowed_run_types to whitelist specific dag run types
(#61833)
add 63f94a74da5 Add date range filter for dag executions (#60772)
add c34a933b097 feat: Add DagRun note to OL events (#62221)
add 4b30eac5293 Bump the ui-plugin-template-package-updates group across 1
directory with 18 updates
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (d2d9c50952a)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/dev/react-plugin-tools/react_plugin_template/ui-plugin-template-package-updates-6b1982b9af
(4b30eac5293)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/actions/breeze/action.yml | 2 +-
.github/actions/install-prek/action.yml | 4 +-
.github/skills/airflow-translations/SKILL.md | 3 +-
.../skills/airflow-translations/locales/zh-CN.md | 4 +-
.github/workflows/basic-tests.yml | 2 +-
.github/workflows/release_dockerhub_image.yml | 2 +-
.pre-commit-config.yaml | 2 +-
Dockerfile | 2 +-
Dockerfile.ci | 4 +-
airflow-core/docs/best-practices.rst | 2 +-
airflow-core/docs/core-concepts/index.rst | 1 +
airflow-core/docs/core-concepts/multi-team.rst | 376 +++
airflow-core/docs/img/airflow_erd.sha256 | 2 +-
airflow-core/docs/img/airflow_erd.svg | 3264 ++++++++++----------
airflow-core/docs/img/multi_team_arch_diagram.png | Bin 0 -> 82565 bytes
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/src/airflow/api/common/trigger_dag.py | 7 +
.../api_fastapi/core_api/datamodels/dags.py | 2 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 8 +
.../core_api/openapi/v2-rest-api-generated.yaml | 28 +
.../api_fastapi/core_api/routes/public/assets.py | 11 +-
.../core_api/routes/public/backfills.py | 11 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 6 +
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 6 +-
.../api_fastapi/execution_api/datamodels/dagrun.py | 1 +
.../execution_api/datamodels/taskinstance.py | 35 +
.../api_fastapi/execution_api/routes/dag_runs.py | 16 +-
.../api_fastapi/execution_api/versions/__init__.py | 3 +-
.../execution_api/versions/v2026_03_31.py | 20 +-
.../src/airflow/cli/commands/dag_command.py | 1 +
.../src/airflow/config_templates/config.yml | 17 +
.../src/airflow/dag_processing/collection.py | 6 +
airflow-core/src/airflow/dag_processing/manager.py | 8 +-
airflow-core/src/airflow/exceptions.py | 4 +
.../src/airflow/executors/base_executor.py | 8 +-
.../src/airflow/jobs/scheduler_job_runner.py | 18 +-
.../src/airflow/jobs/triggerer_job_runner.py | 8 +-
... => 0104_3_2_0_add_allowed_run_types_to_dag.py} | 20 +-
airflow-core/src/airflow/models/backfill.py | 16 +-
airflow-core/src/airflow/models/dag.py | 1 +
airflow-core/src/airflow/models/dagrun.py | 2 +
.../metrics/stats_utils.py} | 28 +-
airflow-core/src/airflow/provider.yaml.schema.json | 11 +
.../src/airflow/serialization/definitions/dag.py | 6 +
airflow-core/src/airflow/serialization/schema.json | 6 +
.../airflow/serialization/serialized_objects.py | 15 +
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 48 +-
.../ui/openapi-gen/requests/services.gen.ts | 2 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 11 +
.../airflow/ui/public/i18n/locales/de/admin.json | 17 +
.../airflow/ui/public/i18n/locales/de/common.json | 2 +
.../ui/public/i18n/locales/en/components.json | 1 +
.../airflow/ui/src/components/Graph/TaskNode.tsx | 2 +
.../ui/src/components/Graph/reactflowUtils.ts | 1 +
.../ui/src/components/Graph/useGraphLayout.ts | 5 +-
.../ui/src/components/TaskInstanceTooltip.test.tsx | 144 +
.../ui/src/components/TaskInstanceTooltip.tsx | 123 +-
.../src/components/TriggerDag/TriggerDAGButton.tsx | 39 +-
.../ui/src/layouts/Details/DetailsLayout.tsx | 1 +
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 84 +-
airflow-core/src/airflow/ui/src/pages/DagRuns.tsx | 18 +-
.../src/airflow/ui/src/pages/DagRunsFilters.tsx | 2 +
.../airflow/ui/src/pages/DagsList/DagCard.test.tsx | 1 +
.../src/airflow/ui/src/pages/DagsList/DagCard.tsx | 1 +
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 1 +
.../src/airflow/ui/src/utils/datetimeUtils.test.ts | 7 +
.../src/airflow/ui/src/utils/datetimeUtils.ts | 14 +-
airflow-core/src/airflow/utils/db.py | 2 +-
.../tests/unit/api/common/test_trigger_dag.py | 63 +
.../core_api/routes/public/test_assets.py | 21 +-
.../core_api/routes/public/test_backfills.py | 28 +
.../core_api/routes/public/test_dag_run.py | 19 +
.../core_api/routes/public/test_dags.py | 3 +
.../api_fastapi/core_api/routes/ui/test_grid.py | 32 +-
.../execution_api/versions/head/test_dag_runs.py | 28 +
.../versions/head/test_task_instances.py | 1 +
.../tests/unit/dag_processing/test_manager.py | 4 +-
airflow-core/tests/unit/jobs/test_triggerer_job.py | 4 +-
airflow-core/tests/unit/models/test_dag.py | 16 +
airflow-core/tests/unit/models/test_dagrun.py | 1 +
.../unit/observability/metrics}/__init__.py | 0
.../tests/unit/observability/metrics/test_stats.py | 97 +
.../unit/serialization/test_dag_serialization.py | 46 +
.../src/airflowctl/api/datamodels/generated.py | 2 +
dev/breeze/doc/ci/02_images.md | 4 +-
dev/breeze/pyproject.toml | 2 +-
.../commands/release_management_commands.py | 8 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
dev/breeze/uv.lock | 181 +-
devel-common/pyproject.toml | 2 +-
.../src/tests_common/test_utils/otel_utils.py | 4 +-
providers/.last_release_date.txt | 2 +-
providers/airbyte/provider.yaml | 1 +
providers/alibaba/provider.yaml | 1 +
providers/amazon/provider.yaml | 1 +
.../aws/executors/aws_lambda/lambda_executor.py | 35 +-
.../executors/aws_lambda/test_lambda_executor.py | 87 +-
providers/apache/beam/provider.yaml | 1 +
providers/apache/cassandra/provider.yaml | 1 +
providers/apache/drill/provider.yaml | 1 +
providers/apache/druid/provider.yaml | 1 +
providers/apache/flink/provider.yaml | 1 +
providers/apache/hdfs/provider.yaml | 1 +
providers/apache/hive/provider.yaml | 1 +
providers/apache/iceberg/provider.yaml | 1 +
providers/apache/impala/provider.yaml | 1 +
providers/apache/kafka/provider.yaml | 1 +
providers/apache/kylin/provider.yaml | 1 +
providers/apache/livy/provider.yaml | 1 +
providers/apache/pig/provider.yaml | 1 +
providers/apache/pinot/provider.yaml | 1 +
providers/apache/spark/provider.yaml | 1 +
providers/apache/tinkerpop/provider.yaml | 1 +
providers/apprise/provider.yaml | 1 +
providers/arangodb/provider.yaml | 1 +
providers/asana/provider.yaml | 1 +
providers/atlassian/jira/provider.yaml | 1 +
providers/celery/provider.yaml | 1 +
providers/cloudant/provider.yaml | 1 +
providers/cncf/kubernetes/provider.yaml | 1 +
providers/cohere/provider.yaml | 1 +
providers/common/ai/provider.yaml | 1 +
providers/common/compat/provider.yaml | 1 +
providers/common/io/provider.yaml | 1 +
providers/common/messaging/provider.yaml | 1 +
providers/common/sql/README.rst | 6 +-
providers/common/sql/docs/changelog.rst | 13 +
providers/common/sql/docs/index.rst | 6 +-
providers/common/sql/provider.yaml | 4 +-
providers/common/sql/pyproject.toml | 6 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
providers/databricks/provider.yaml | 1 +
providers/datadog/provider.yaml | 1 +
providers/dbt/cloud/provider.yaml | 1 +
providers/dingding/provider.yaml | 1 +
providers/discord/provider.yaml | 1 +
providers/docker/provider.yaml | 1 +
providers/edge3/provider.yaml | 1 +
providers/elasticsearch/README.rst | 6 +-
providers/elasticsearch/docs/changelog.rst | 24 +
providers/elasticsearch/docs/index.rst | 8 +-
providers/elasticsearch/provider.yaml | 4 +-
providers/elasticsearch/pyproject.toml | 9 +-
.../airflow/providers/elasticsearch/__init__.py | 2 +-
.../providers/elasticsearch/log/es_response.py | 28 +
.../providers/elasticsearch/log/es_task_handler.py | 537 ++--
.../providers/elasticsearch/version_compat.py | 3 +-
providers/elasticsearch/tests/conftest.py | 14 +
.../log/elasticmock/fake_elasticsearch.py | 131 +-
.../unit/elasticsearch/log/test_es_task_handler.py | 251 +-
providers/exasol/provider.yaml | 1 +
providers/fab/provider.yaml | 1 +
.../providers/fab/auth_manager/fab_auth_manager.py | 9 +-
.../unit/fab/auth_manager/test_fab_auth_manager.py | 62 +
providers/facebook/provider.yaml | 1 +
providers/ftp/provider.yaml | 1 +
providers/git/provider.yaml | 1 +
providers/github/provider.yaml | 1 +
providers/google/provider.yaml | 1 +
providers/grpc/provider.yaml | 1 +
providers/hashicorp/provider.yaml | 1 +
providers/http/provider.yaml | 1 +
providers/imap/provider.yaml | 1 +
providers/influxdb/provider.yaml | 1 +
providers/informatica/provider.yaml | 1 +
providers/jdbc/provider.yaml | 1 +
providers/jenkins/provider.yaml | 1 +
.../docs/auth-manager/manage/permissions.rst | 44 +-
providers/keycloak/provider.yaml | 1 +
.../keycloak/auth_manager/cli/commands.py | 920 +++++-
.../airflow/providers/keycloak/cli/definition.py | 23 +-
.../keycloak/auth_manager/cli/test_commands.py | 384 ++-
.../tests/unit/keycloak/cli/test_definition.py | 2 +-
providers/microsoft/azure/provider.yaml | 1 +
providers/microsoft/mssql/provider.yaml | 1 +
providers/microsoft/psrp/provider.yaml | 1 +
providers/microsoft/winrm/provider.yaml | 1 +
providers/mongo/provider.yaml | 1 +
providers/mysql/provider.yaml | 1 +
providers/neo4j/provider.yaml | 1 +
providers/odbc/provider.yaml | 1 +
providers/openai/provider.yaml | 1 +
providers/openfaas/provider.yaml | 1 +
providers/openlineage/provider.yaml | 1 +
.../airflow/providers/openlineage/utils/utils.py | 2 +
.../tests/unit/openlineage/utils/test_utils.py | 20 +-
providers/opensearch/provider.yaml | 1 +
providers/opsgenie/provider.yaml | 1 +
providers/oracle/provider.yaml | 1 +
providers/pagerduty/provider.yaml | 1 +
providers/papermill/provider.yaml | 1 +
providers/pgvector/provider.yaml | 1 +
providers/pinecone/provider.yaml | 1 +
providers/postgres/provider.yaml | 1 +
providers/presto/provider.yaml | 1 +
providers/qdrant/docs/index.rst | 8 +-
providers/qdrant/provider.yaml | 1 +
providers/qdrant/pyproject.toml | 3 +-
providers/redis/provider.yaml | 1 +
providers/salesforce/provider.yaml | 1 +
providers/samba/provider.yaml | 1 +
providers/segment/provider.yaml | 1 +
providers/sendgrid/provider.yaml | 1 +
providers/sftp/provider.yaml | 1 +
providers/singularity/provider.yaml | 1 +
providers/slack/provider.yaml | 1 +
providers/smtp/provider.yaml | 1 +
providers/snowflake/provider.yaml | 1 +
providers/sqlite/provider.yaml | 1 +
providers/ssh/provider.yaml | 1 +
providers/standard/provider.yaml | 1 +
.../providers/standard/operators/trigger_dagrun.py | 13 +-
.../unit/standard/operators/test_trigger_dagrun.py | 14 +-
providers/tableau/provider.yaml | 1 +
providers/telegram/provider.yaml | 1 +
providers/teradata/provider.yaml | 1 +
providers/trino/provider.yaml | 1 +
providers/vertica/provider.yaml | 1 +
providers/weaviate/provider.yaml | 1 +
providers/yandex/provider.yaml | 1 +
providers/ydb/provider.yaml | 1 +
providers/zendesk/provider.yaml | 1 +
pyproject.toml | 2 +-
scripts/ci/prek/check_imports_in_providers.py | 2 +-
scripts/ci/prek/check_system_tests.py | 2 +-
scripts/ci/prek/ruff_format.py | 2 +-
scripts/tools/setup_breeze | 2 +-
.../observability/metrics/base_stats_logger.py | 11 +-
.../airflow_shared/observability/metrics/stats.py | 21 +-
.../tests/observability/metrics/test_stats.py | 408 +--
task-sdk/src/airflow/sdk/api/client.py | 13 +-
.../src/airflow/sdk/api/datamodels/_generated.py | 2 +
task-sdk/src/airflow/sdk/definitions/dag.py | 44 +
task-sdk/src/airflow/sdk/exceptions.py | 2 +
.../src/airflow/sdk/execution_time/supervisor.py | 6 +-
.../src/airflow/sdk/execution_time/task_runner.py | 9 +-
.../sdk/observability/metrics/otel_logger.py | 2 +-
.../sdk/observability/metrics/stats_utils.py | 28 +-
.../sdk/observability/metrics/statsd_logger.py | 2 +-
task-sdk/src/airflow/sdk/serde/__init__.py | 8 +-
task-sdk/tests/task_sdk/api/test_client.py | 27 +
task-sdk/tests/task_sdk/definitions/test_dag.py | 93 +
.../task_sdk/execution_time/test_supervisor.py | 23 +-
243 files changed, 5906 insertions(+), 2679 deletions(-)
create mode 100644 airflow-core/docs/core-concepts/multi-team.rst
create mode 100644 airflow-core/docs/img/multi_team_arch_diagram.png
copy
airflow-core/src/airflow/migrations/versions/{0062_3_0_0_remove_dag_default_view.py
=> 0104_3_2_0_add_allowed_run_types_to_dag.py} (71%)
copy airflow-core/src/airflow/{api_fastapi/core_api/routes/public/monitor.py
=> observability/metrics/stats_utils.py} (53%)
create mode 100644
airflow-core/src/airflow/ui/src/components/TaskInstanceTooltip.test.tsx
create mode 100644 airflow-core/tests/unit/api/common/test_trigger_dag.py
copy airflow-core/{src/airflow/_shared =>
tests/unit/observability/metrics}/__init__.py (100%)
create mode 100644 airflow-core/tests/unit/observability/metrics/test_stats.py
copy airflow-core/src/airflow/api_fastapi/core_api/routes/public/monitor.py =>
task-sdk/src/airflow/sdk/observability/metrics/stats_utils.py (52%)