This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch providers-fab/v1-5
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/providers-fab/v1-5 by this 
push:
     new 3f7f727a747 Better version check for Werkzeug (#56408)
3f7f727a747 is described below

commit 3f7f727a7476a99b66fdb121824ba4cbc7cd1f4b
Author: Jarek Potiuk <[email protected]>
AuthorDate: Thu Oct 16 14:06:28 2025 +0200

    Better version check for Werkzeug (#56408)
    
    Werkzeug 3.0.0 deprecated `__version__` and recommends to use
    importlib version to check for version.
---
 .pre-commit-config.yaml                                    | 14 +++++++-------
 contributing-docs/08_static_code_checks.rst                |  2 --
 dev/breeze/src/airflow_breeze/pre_commit_ids.py            |  1 -
 .../auth-manager/webserver-authentication.rst              |  3 +--
 .../fab/auth_manager/security_manager/override.py          |  8 ++++----
 scripts/ci/pre_commit/mypy_folder.py                       |  4 ++--
 6 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index cd755741e0a..9f42478a9b1 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1387,13 +1387,13 @@ repos:
         pass_filenames: false
         files: 
^airflow/migrations/versions/.*\.py$|^docs/apache-airflow/migrations-ref\.rst$
         additional_dependencies: ['rich>=12.4.4']
-      - id: generate-openapi-spec
-        name: Generate the FastAPI API spec
-        language: python
-        entry: ./scripts/ci/pre_commit/update_fastapi_api_spec.py
-        pass_filenames: false
-        files: ^airflow/api_fastapi/.*\.py$
-        additional_dependencies: ['rich>=12.4.4']
+#      - id: generate-openapi-spec
+#        name: Generate the FastAPI API spec
+#        language: python
+#        entry: ./scripts/ci/pre_commit/update_fastapi_api_spec.py
+#        pass_filenames: false
+#        files: ^airflow/api_fastapi/.*\.py$
+#        additional_dependencies: ['rich>=12.4.4']
       - id: update-er-diagram
         name: Update ER diagram
         language: python
diff --git a/contributing-docs/08_static_code_checks.rst 
b/contributing-docs/08_static_code_checks.rst
index 29eafc713c3..113f8fdd05e 100644
--- a/contributing-docs/08_static_code_checks.rst
+++ b/contributing-docs/08_static_code_checks.rst
@@ -272,8 +272,6 @@ require Breeze Docker image to be built locally.
 
+-----------------------------------------------------------+--------------------------------------------------------+---------+
 | generate-airflow-diagrams                                 | Generate airflow 
diagrams                              |         |
 
+-----------------------------------------------------------+--------------------------------------------------------+---------+
-| generate-openapi-spec                                     | Generate the 
FastAPI API spec                          | *       |
-+-----------------------------------------------------------+--------------------------------------------------------+---------+
 | generate-pypi-readme                                      | Generate PyPI 
README                                   |         |
 
+-----------------------------------------------------------+--------------------------------------------------------+---------+
 | identity                                                  | Print checked 
files                                    |         |
diff --git a/dev/breeze/src/airflow_breeze/pre_commit_ids.py 
b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
index 07cdda31eac..629ebb8d389 100644
--- a/dev/breeze/src/airflow_breeze/pre_commit_ids.py
+++ b/dev/breeze/src/airflow_breeze/pre_commit_ids.py
@@ -101,7 +101,6 @@ PRE_COMMIT_LIST = [
     "fix-encoding-pragma",
     "flynt",
     "generate-airflow-diagrams",
-    "generate-openapi-spec",
     "generate-pypi-readme",
     "identity",
     "insert-license",
diff --git 
a/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst 
b/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst
index 8cc4c3823e2..dcbe4602956 100644
--- 
a/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst
+++ 
b/docs/apache-airflow-providers-fab/auth-manager/webserver-authentication.rst
@@ -64,8 +64,7 @@ methods like OAuth, OpenID, LDAP, REMOTE_USER. It should be 
noted that due to th
 and Authlib, only a selection of OAuth2 providers is supported. This list 
includes ``github``, ``githublocal``, ``twitter``,
 ``linkedin``, ``google``, ``azure``, ``openshift``, ``okta``, ``keycloak`` and 
``keycloak_before_17``.
 
-The default authentication option described in the :ref:`Web Authentication 
<web-authentication>` section is related
-with the following entry in the ``$AIRFLOW_HOME/webserver_config.py``.
+The default authentication option described is related with the following 
entry in the ``$AIRFLOW_HOME/webserver_config.py``.
 
 .. code-block:: ini
 
diff --git 
a/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py 
b/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py
index 6b65981ada1..30d440bcde2 100644
--- 
a/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py
+++ 
b/providers/src/airflow/providers/fab/auth_manager/security_manager/override.py
@@ -19,6 +19,7 @@ from __future__ import annotations
 
 import copy
 import datetime
+import importlib
 import itertools
 import logging
 import os
@@ -68,6 +69,7 @@ from flask_jwt_extended import JWTManager, current_user as 
current_user_jwt
 from flask_login import LoginManager
 from itsdangerous import want_bytes
 from markupsafe import Markup
+from packaging.version import Version
 from sqlalchemy import and_, func, inspect, literal, or_, select
 from sqlalchemy.exc import MultipleResultsFound
 from sqlalchemy.orm import Session, joinedload
@@ -847,10 +849,8 @@ class 
FabAirflowSecurityManagerOverride(AirflowSecurityManagerV2):
         app.config.setdefault("AUTH_ROLES_SYNC_AT_LOGIN", False)
         app.config.setdefault("AUTH_API_LOGIN_ALLOW_MULTIPLE_PROVIDERS", False)
 
-        from packaging.version import Version
-        from werkzeug import __version__ as werkzeug_version
-
-        parsed_werkzeug_version = Version(werkzeug_version)
+        # Werkzeug prior to 3.0.0 does not support scrypt
+        parsed_werkzeug_version = 
Version(importlib.metadata.version("werkzeug"))
         if parsed_werkzeug_version < Version("3.0.0"):
             app.config.setdefault(
                 "AUTH_DB_FAKE_PASSWORD_HASH_CHECK",
diff --git a/scripts/ci/pre_commit/mypy_folder.py 
b/scripts/ci/pre_commit/mypy_folder.py
index 36a7840fff9..33b3bd342f3 100755
--- a/scripts/ci/pre_commit/mypy_folder.py
+++ b/scripts/ci/pre_commit/mypy_folder.py
@@ -49,10 +49,10 @@ if mypy_folder not in ALLOWED_FOLDERS:
     sys.exit(1)
 
 arguments = [mypy_folder]
-if mypy_folder == "providers/src/airflow/providers":
+if mypy_folder == "providers/src/airflow/providers/fab":
     arguments.extend(
         [
-            "providers/tests",
+            "providers/tests/fab",
             "--namespace-packages",
         ]
     )

Reply via email to