This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/ui/v3-2-test/3-2-core-ui-package-updates-d272141108
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard f240e643340 Bump the 3-2-core-ui-package-updates group across 1
directory with 29 updates
add bb30ec69ce9 [v3-2-test] Install rustup and cargo in CI and prod build
images (#64725) (#64729)
add 0d465d48d2b [v3-2-test] fix mypy error due to 1.20.0 upgrade (#64832)
add d736ea7450a [v3-2-test] Allow UI theme config without tokens (CSS-only
or empty fallback) (#64552) (#64852)
add 64ac0919840 [v3-2-test] connections import now returns non-zero exit
code on failure (#64416) (#64449)
add 1514e296e1a [v3-2-test] Fix Gantt view "Error invalid date" on running
DagRun (#64752) (#64853)
add 11db4670712 [v3-2-test] fix(ui): prevent duplicate nav sidebar when
iframe navigates away from auth pages (#63873) (#64854)
add 53df2f2d6b5 [v3-2-test] Move "Free up disk space" step into
prepare_breeze_and_image action (#64872) (#64873)
add 13c1521afbd [v3-2-test] Docs: Add gh pr create example to provider
release instructions (#64865) (#64866)
add f99b279923a [v3-2-test] Fix TypeError in GET /dags/{dag_id}/tasks when
order_by field has None values (#64384) (#64587)
add 1f1581d0e21 [v3-2-test] Fix N+1 query pattern in task instance states
and count endpoints (#60352) (#64695)
add 7f73bb76d78 [v3-2-test] Run `uv lock --upgrade` locally in `breeze ci
upgrade` instead of inside CI image (#64804) (#64806)
add 072fda71a3f [v3-2-test] Docs: Add JWT authentication docs and
strengthen security model (#64760) (#64849)
add 2e9276863c9 [v3-2-test] Update ASF allowlist-check action to latest
version (#64728) (#64733)
add 43c21fa4a0e [v3-2-test] Load hook metadata from YAML without importing
Hook class (#63826) (#64723)
add 97deef5f615 [v3-2-test] airflow-ctl: fix variable import to correctly
handle falsy values (#64362) (#64448)
add 93d8984a40e [v3-2-test] fix(scheduler): skip asset-triggered dags
without SerializedDagModel (#64322) (#64738)
add 1d4a55207f7 [v3-2-test] Return 410 Gone for heartbeat when cleared TI
exists in TIH (#61631) (#64693)
add d7421c84ba8 Bump the 3-2-core-ui-package-updates group across 1
directory with 29 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 (f240e643340)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/v3-2-test/3-2-core-ui-package-updates-d272141108
(d7421c84ba8)
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:
.../actions/prepare_breeze_and_image/action.yml | 3 +
.github/instructions/code-review.instructions.md | 2 +-
.github/workflows/additional-ci-image-checks.yml | 8 +-
.github/workflows/asf-allowlist-check.yml | 2 +-
.github/workflows/ci-amd-arm.yml | 3 -
.github/workflows/k8s-tests.yml | 3 -
.github/workflows/test-providers.yml | 6 -
.pre-commit-config.yaml | 14 -
AGENTS.md | 29 +-
Dockerfile | 34 ++
Dockerfile.ci | 35 +-
airflow-core/.pre-commit-config.yaml | 10 +
.../production-deployment.rst | 9 +-
airflow-core/docs/best-practices.rst | 6 +-
airflow-core/docs/configurations-ref.rst | 25 +-
airflow-core/docs/core-concepts/multi-team.rst | 2 +-
airflow-core/docs/howto/customize-ui.rst | 1 +
airflow-core/docs/howto/set-config.rst | 23 +-
.../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 +
.../src/airflow/api_fastapi/common/types.py | 8 +-
.../api_fastapi/core_api/datamodels/ui/config.py | 10 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 85 +++-
.../api_fastapi/core_api/routes/public/tasks.py | 40 +-
.../core_api/services/ui/connections.py | 32 +-
.../execution_api/routes/task_instances.py | 48 +-
airflow-core/src/airflow/assets/manager.py | 2 +
.../config_templates/airflow_local_settings.py | 45 +-
.../src/airflow/config_templates/config.yml | 10 +-
airflow-core/src/airflow/models/dag.py | 14 +
airflow-core/src/airflow/provider.yaml.schema.json | 4 +
airflow-core/src/airflow/provider_info.schema.json | 4 +
airflow-core/src/airflow/providers_manager.py | 55 ++-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 109 ++++-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 26 +-
.../ui/src/layouts/Details/Gantt/utils.test.ts | 261 +++++++++++
.../airflow/ui/src/layouts/Details/Gantt/utils.ts | 8 +-
airflow-core/src/airflow/ui/src/pages/Security.tsx | 12 +
airflow-core/src/airflow/ui/src/theme.ts | 20 +-
.../tests/unit/always/test_providers_manager.py | 8 +
.../tests/unit/api_fastapi/common/test_types.py | 31 +-
.../core_api/routes/public/test_task_instances.py | 4 +-
.../core_api/routes/public/test_tasks.py | 16 +-
.../api_fastapi/core_api/routes/ui/test_config.py | 24 +
.../versions/head/test_task_instances.py | 44 ++
airflow-core/tests/unit/models/test_dag.py | 130 +++++-
.../airflowctl/ctl/commands/connection_command.py | 4 +-
.../airflowctl/ctl/commands/variable_command.py | 2 +-
.../ctl/commands/test_connections_command.py | 3 +-
.../ctl/commands/test_variable_command.py | 31 ++
dev/README_RELEASE_PROVIDERS.md | 17 +
.../src/airflow_breeze/commands/ci_commands.py | 33 +-
docs/spelling_wordlist.txt | 4 +
providers/airbyte/provider.yaml | 1 +
.../airflow/providers/airbyte/get_provider_info.py | 1 +
providers/alibaba/provider.yaml | 4 +
.../airflow/providers/alibaba/get_provider_info.py | 4 +
providers/amazon/provider.yaml | 5 +
.../airflow/providers/amazon/get_provider_info.py | 5 +
providers/apache/cassandra/provider.yaml | 1 +
.../apache/cassandra/get_provider_info.py | 1 +
providers/apache/drill/provider.yaml | 1 +
.../providers/apache/drill/get_provider_info.py | 1 +
providers/apache/druid/provider.yaml | 1 +
.../providers/apache/druid/get_provider_info.py | 1 +
providers/apache/hdfs/provider.yaml | 1 +
.../providers/apache/hdfs/get_provider_info.py | 1 +
providers/apache/hive/provider.yaml | 3 +
.../providers/apache/hive/get_provider_info.py | 3 +
providers/apache/iceberg/provider.yaml | 1 +
.../providers/apache/iceberg/get_provider_info.py | 1 +
providers/apache/impala/provider.yaml | 1 +
.../providers/apache/impala/get_provider_info.py | 1 +
providers/apache/kafka/provider.yaml | 1 +
.../providers/apache/kafka/get_provider_info.py | 1 +
providers/apache/kylin/provider.yaml | 1 +
.../providers/apache/kylin/get_provider_info.py | 1 +
providers/apache/livy/provider.yaml | 1 +
.../providers/apache/livy/get_provider_info.py | 1 +
providers/apache/pig/provider.yaml | 1 +
.../providers/apache/pig/get_provider_info.py | 1 +
providers/apache/pinot/provider.yaml | 2 +
.../providers/apache/pinot/get_provider_info.py | 2 +
providers/apache/spark/provider.yaml | 4 +
.../providers/apache/spark/get_provider_info.py | 4 +
providers/apache/tinkerpop/provider.yaml | 1 +
.../apache/tinkerpop/get_provider_info.py | 1 +
providers/apprise/provider.yaml | 1 +
.../airflow/providers/apprise/get_provider_info.py | 1 +
providers/arangodb/provider.yaml | 1 +
.../providers/arangodb/get_provider_info.py | 1 +
providers/asana/provider.yaml | 1 +
.../airflow/providers/asana/get_provider_info.py | 1 +
providers/atlassian/jira/provider.yaml | 1 +
.../providers/atlassian/jira/get_provider_info.py | 1 +
providers/cloudant/provider.yaml | 1 +
.../providers/cloudant/get_provider_info.py | 1 +
providers/cncf/kubernetes/provider.yaml | 1 +
.../providers/cncf/kubernetes/get_provider_info.py | 1 +
providers/cohere/provider.yaml | 1 +
.../airflow/providers/cohere/get_provider_info.py | 1 +
providers/common/ai/provider.yaml | 5 +
.../providers/common/ai/get_provider_info.py | 5 +
providers/databricks/provider.yaml | 1 +
.../providers/databricks/get_provider_info.py | 1 +
providers/datadog/provider.yaml | 1 +
.../airflow/providers/datadog/get_provider_info.py | 1 +
providers/dbt/cloud/provider.yaml | 1 +
.../providers/dbt/cloud/get_provider_info.py | 1 +
providers/dingding/provider.yaml | 1 +
.../providers/dingding/get_provider_info.py | 1 +
providers/discord/provider.yaml | 1 +
.../airflow/providers/discord/get_provider_info.py | 1 +
providers/docker/provider.yaml | 1 +
.../airflow/providers/docker/get_provider_info.py | 1 +
providers/elasticsearch/provider.yaml | 1 +
.../providers/elasticsearch/get_provider_info.py | 1 +
providers/exasol/provider.yaml | 1 +
.../airflow/providers/exasol/get_provider_info.py | 1 +
providers/facebook/provider.yaml | 1 +
.../providers/facebook/get_provider_info.py | 1 +
providers/ftp/provider.yaml | 1 +
.../src/airflow/providers/ftp/get_provider_info.py | 6 +-
providers/git/provider.yaml | 1 +
.../src/airflow/providers/git/get_provider_info.py | 1 +
providers/github/provider.yaml | 1 +
.../airflow/providers/github/get_provider_info.py | 1 +
providers/google/provider.yaml | 9 +
.../airflow/providers/google/get_provider_info.py | 9 +
providers/grpc/provider.yaml | 1 +
.../airflow/providers/grpc/get_provider_info.py | 1 +
providers/hashicorp/provider.yaml | 1 +
.../providers/hashicorp/get_provider_info.py | 1 +
providers/http/provider.yaml | 1 +
.../airflow/providers/http/get_provider_info.py | 1 +
providers/imap/provider.yaml | 1 +
.../airflow/providers/imap/get_provider_info.py | 6 +-
providers/influxdb/provider.yaml | 1 +
.../providers/influxdb/get_provider_info.py | 1 +
providers/informatica/provider.yaml | 1 +
.../providers/informatica/get_provider_info.py | 1 +
providers/jdbc/provider.yaml | 1 +
.../airflow/providers/jdbc/get_provider_info.py | 1 +
providers/jenkins/provider.yaml | 1 +
.../airflow/providers/jenkins/get_provider_info.py | 1 +
providers/microsoft/azure/provider.yaml | 17 +
.../providers/microsoft/azure/get_provider_info.py | 17 +
.../providers/microsoft/azure/hooks/data_lake.py | 2 +-
providers/microsoft/mssql/provider.yaml | 1 +
.../providers/microsoft/mssql/get_provider_info.py | 1 +
providers/microsoft/psrp/provider.yaml | 1 +
.../providers/microsoft/psrp/get_provider_info.py | 1 +
providers/microsoft/winrm/provider.yaml | 1 +
.../providers/microsoft/winrm/get_provider_info.py | 1 +
providers/mongo/provider.yaml | 1 +
.../airflow/providers/mongo/get_provider_info.py | 1 +
providers/mysql/provider.yaml | 1 +
.../airflow/providers/mysql/get_provider_info.py | 6 +-
providers/neo4j/provider.yaml | 1 +
.../airflow/providers/neo4j/get_provider_info.py | 6 +-
providers/odbc/provider.yaml | 1 +
.../airflow/providers/odbc/get_provider_info.py | 6 +-
providers/openai/provider.yaml | 1 +
.../airflow/providers/openai/get_provider_info.py | 1 +
providers/openfaas/provider.yaml | 1 +
.../providers/openfaas/get_provider_info.py | 1 +
providers/opensearch/provider.yaml | 1 +
.../providers/opensearch/get_provider_info.py | 1 +
providers/opsgenie/provider.yaml | 1 +
.../providers/opsgenie/get_provider_info.py | 1 +
providers/oracle/provider.yaml | 1 +
.../airflow/providers/oracle/get_provider_info.py | 1 +
providers/pagerduty/provider.yaml | 2 +
.../providers/pagerduty/get_provider_info.py | 2 +
providers/papermill/provider.yaml | 1 +
.../providers/papermill/get_provider_info.py | 1 +
providers/pinecone/provider.yaml | 1 +
.../providers/pinecone/get_provider_info.py | 1 +
providers/postgres/provider.yaml | 1 +
.../providers/postgres/get_provider_info.py | 1 +
providers/presto/provider.yaml | 1 +
.../airflow/providers/presto/get_provider_info.py | 1 +
providers/qdrant/provider.yaml | 1 +
.../airflow/providers/qdrant/get_provider_info.py | 1 +
providers/redis/provider.yaml | 1 +
.../airflow/providers/redis/get_provider_info.py | 1 +
providers/salesforce/provider.yaml | 1 +
.../providers/salesforce/get_provider_info.py | 1 +
providers/samba/provider.yaml | 1 +
.../airflow/providers/samba/get_provider_info.py | 1 +
providers/segment/provider.yaml | 1 +
.../airflow/providers/segment/get_provider_info.py | 1 +
providers/sftp/provider.yaml | 1 +
.../airflow/providers/sftp/get_provider_info.py | 1 +
providers/slack/provider.yaml | 2 +
.../airflow/providers/slack/get_provider_info.py | 2 +
providers/smtp/provider.yaml | 1 +
.../airflow/providers/smtp/get_provider_info.py | 1 +
providers/snowflake/provider.yaml | 1 +
.../providers/snowflake/get_provider_info.py | 1 +
providers/sqlite/provider.yaml | 1 +
.../airflow/providers/sqlite/get_provider_info.py | 1 +
providers/ssh/provider.yaml | 1 +
.../src/airflow/providers/ssh/get_provider_info.py | 1 +
providers/standard/provider.yaml | 2 +
.../providers/standard/get_provider_info.py | 2 +
providers/tableau/provider.yaml | 1 +
.../airflow/providers/tableau/get_provider_info.py | 1 +
providers/telegram/provider.yaml | 1 +
.../providers/telegram/get_provider_info.py | 1 +
providers/teradata/provider.yaml | 1 +
.../providers/teradata/get_provider_info.py | 1 +
providers/trino/provider.yaml | 1 +
.../airflow/providers/trino/get_provider_info.py | 1 +
providers/vertica/provider.yaml | 1 +
.../airflow/providers/vertica/get_provider_info.py | 1 +
providers/weaviate/provider.yaml | 1 +
.../providers/weaviate/get_provider_info.py | 1 +
providers/yandex/provider.yaml | 1 +
.../airflow/providers/yandex/get_provider_info.py | 1 +
.../src/airflow/providers/yandex/hooks/yandex.py | 4 +-
providers/ydb/provider.yaml | 1 +
.../src/airflow/providers/ydb/get_provider_info.py | 1 +
providers/zendesk/provider.yaml | 1 +
.../airflow/providers/zendesk/get_provider_info.py | 1 +
scripts/ci/prek/check_security_doc_constants.py | 427 ++++++++++++++++++
scripts/docker/install_os_dependencies.sh | 30 ++
.../src/airflow/sdk/execution_time/supervisor.py | 2 +-
232 files changed, 2869 insertions(+), 222 deletions(-)
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/src/layouts/Details/Gantt/utils.test.ts
create mode 100755 scripts/ci/prek/check_security_doc_constants.py