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

shahar1 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 1a45a6a4737 Bump flask-appbuilder to 5.2.2 in FAB provider (#69730)
1a45a6a4737 is described below

commit 1a45a6a473794de35599385e28bb9ccda72adc60
Author: Jarek Potiuk <[email protected]>
AuthorDate: Sat Jul 11 07:02:36 2026 +0200

    Bump flask-appbuilder to 5.2.2 in FAB provider (#69730)
    
    Flask-AppBuilder 5.2.2 ships security-manager hardening — LDAP
    search-filter escaping, OAuth email-whitelist regex anchoring, and
    API-login provider validation. Airflow's vendored security manager
    already escapes LDAP filters (and validates the search filter), and it
    inherits the OAuth whitelist matching from FAB's OAuth view via super(),
    so these fixes land without any change to the vendored override; the FAB
    alignment test confirms the vendored code stays structurally in sync
    with the new release.
---
 providers/fab/README.rst                                         | 2 +-
 providers/fab/docs/index.rst                                     | 2 +-
 providers/fab/pyproject.toml                                     | 2 +-
 .../unit/fab/auth_manager/security_manager/test_fab_alignment.py | 2 +-
 uv.lock                                                          | 9 +++++----
 5 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/providers/fab/README.rst b/providers/fab/README.rst
index 0e67134591e..c01caed0470 100644
--- a/providers/fab/README.rst
+++ b/providers/fab/README.rst
@@ -57,7 +57,7 @@ PIP package                                 Version required
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``blinker``                                 ``>=1.6.2``
 ``flask``                                   ``>=2.2.1``
-``flask-appbuilder``                        ``==5.2.1``
+``flask-appbuilder``                        ``==5.2.2``
 ``pyjwt``                                   ``>=2.11.0``
 ``flask-login``                             ``>=0.6.2; python_version < 
"3.14"``
 ``flask-login``                             ``>=0.6.3; python_version >= 
"3.14"``
diff --git a/providers/fab/docs/index.rst b/providers/fab/docs/index.rst
index 8d52382afa9..bfc8be292cd 100644
--- a/providers/fab/docs/index.rst
+++ b/providers/fab/docs/index.rst
@@ -111,7 +111,7 @@ PIP package                                 Version required
 ``apache-airflow-providers-common-compat``  ``>=1.12.0``
 ``blinker``                                 ``>=1.6.2``
 ``flask``                                   ``>=2.2.1``
-``flask-appbuilder``                        ``==5.2.1``
+``flask-appbuilder``                        ``==5.2.2``
 ``pyjwt``                                   ``>=2.11.0``
 ``flask-login``                             ``>=0.6.2; python_version < 
"3.14"``
 ``flask-login``                             ``>=0.6.3; python_version >= 
"3.14"``
diff --git a/providers/fab/pyproject.toml b/providers/fab/pyproject.toml
index ef8314c5388..04875e049ff 100644
--- a/providers/fab/pyproject.toml
+++ b/providers/fab/pyproject.toml
@@ -77,7 +77,7 @@ dependencies = [
     # Every time we update FAB version here, please make sure that you review 
the classes and models in
     # `airflow/providers/fab/auth_manager/security_manager/override.py` with 
their upstream counterparts.
     # In particular, make sure any breaking changes, for example any new 
methods, are accounted for.
-    "flask-appbuilder==5.2.1",  # Whenever updating the version, run 
test_fab_alignment.py to verify.
+    "flask-appbuilder==5.2.2",  # Whenever updating the version, run 
test_fab_alignment.py to verify.
     # Transitive via flask-appbuilder -> flask-jwt-extended; pinned here so 
the FAB
     # provider keeps installing cleanly when paired with older airflow-core 
releases
     # (the compat-3.0.6 matrix job) whose own pyjwt floor predates 
`jwt.types.Options`
diff --git 
a/providers/fab/tests/unit/fab/auth_manager/security_manager/test_fab_alignment.py
 
b/providers/fab/tests/unit/fab/auth_manager/security_manager/test_fab_alignment.py
index 3d248cfe365..e3924bf177e 100644
--- 
a/providers/fab/tests/unit/fab/auth_manager/security_manager/test_fab_alignment.py
+++ 
b/providers/fab/tests/unit/fab/auth_manager/security_manager/test_fab_alignment.py
@@ -40,7 +40,7 @@ from airflow.providers.fab.auth_manager.models import Role
 from airflow.providers.fab.auth_manager.security_manager.override import 
FabAirflowSecurityManagerOverride
 
 # The FAB version that override.py was last aligned with.
-EXPECTED_FAB_VERSION = "5.2.1"
+EXPECTED_FAB_VERSION = "5.2.2"
 
 # FAB public methods that override.py intentionally does NOT implement.
 # Every entry must have a comment explaining why it's excluded.
diff --git a/uv.lock b/uv.lock
index 3f5eeb8478b..7f8c32196b5 100644
--- a/uv.lock
+++ b/uv.lock
@@ -5269,7 +5269,7 @@ requires-dist = [
     { name = "blinker", specifier = ">=1.6.2" },
     { name = "cachetools", specifier = ">=6.0" },
     { name = "flask", specifier = ">=2.2.1" },
-    { name = "flask-appbuilder", specifier = "==5.2.1" },
+    { name = "flask-appbuilder", specifier = "==5.2.2" },
     { name = "flask-limiter", specifier = ">3" },
     { name = "flask-login", marker = "python_full_version < '3.14'", specifier 
= ">=0.6.2" },
     { name = "flask-login", marker = "python_full_version >= '3.14'", 
specifier = ">=0.6.3" },
@@ -11995,7 +11995,7 @@ wheels = [
 
 [[package]]
 name = "flask-appbuilder"
-version = "5.2.1"
+version = "5.2.2"
 source = { registry = "https://pypi.org/simple"; }
 dependencies = [
     { name = "apispec", extra = ["yaml"] },
@@ -12020,9 +12020,9 @@ dependencies = [
     { name = "werkzeug" },
     { name = "wtforms" },
 ]
-sdist = { url = 
"https://files.pythonhosted.org/packages/97/b2/ad1784b3393cda84fd68b90689b1d6db037c13a62a9726ef639068bf8a75/flask_appbuilder-5.2.1.tar.gz";,
 hash = 
"sha256:a5f6f34aa4ae0092a9eeb5051dc210869d9360429a429b0be88416c2616e1281", size 
= 7077970, upload-time = "2026-04-09T11:06:35.649Z" }
+sdist = { url = 
"https://files.pythonhosted.org/packages/31/f1/6aa168038f829eb76f056caa72d8381d64520b3444c185f5121e96e3828c/flask_appbuilder-5.2.2.tar.gz";,
 hash = 
"sha256:0527623394b40b859ff47056e3621a61eefaaa16ccf188f272c64294307587ca", size 
= 7078906, upload-time = "2026-06-23T12:21:39.139Z" }
 wheels = [
-    { url = 
"https://files.pythonhosted.org/packages/e8/af/bdfd96170b1159ddc0e8424dfebbbac93d7270a1a749b0857fdaf384f027/flask_appbuilder-5.2.1-py3-none-any.whl";,
 hash = 
"sha256:c5a134870fc0b780ac8d9de15fea8c470613ebe44feeddf01a2c18d2c066e144", size 
= 2217302, upload-time = "2026-04-09T11:06:32.891Z" },
+    { url = 
"https://files.pythonhosted.org/packages/0c/f9/2c3cb04fac8ef455746d7ab536bf58bf66d39785dc2612d24af514be5b98/flask_appbuilder-5.2.2-py3-none-any.whl";,
 hash = 
"sha256:9dcae59cd15e5a284175d65c682529a6a73b7ba9d53d408e4796ec062d05472a", size 
= 2217171, upload-time = "2026-06-23T12:21:34.926Z" },
 ]
 
 [[package]]
@@ -14268,6 +14268,7 @@ source = { registry = "https://pypi.org/simple"; }
 sdist = { url = 
"https://files.pythonhosted.org/packages/6a/6b/e8e38a3e1b828c029e4b0aa39ecdd940319ffe725273a0f8be6efae88a7c/ibmmq-2.1.0.tar.gz";,
 hash = 
"sha256:63ac906290700b55e88cc7c32232579e4419aba209830b6009d6d89cbb089555", size 
= 436005, upload-time = "2026-06-17T11:48:41.238Z" }
 wheels = [
     { url = 
"https://files.pythonhosted.org/packages/2d/e6/d17301d1171dea40b6ed642557174c0de78fea46568756106d143e98cc88/ibmmq-2.1.0-cp39-abi3-macosx_11_0_arm64.whl";,
 hash = 
"sha256:9dbb2b509ec1e86a8111480e35c5b346fa21bae7266c35634d76dd377da80fdb", size 
= 395482, upload-time = "2026-06-17T11:48:36.803Z" },
+    { url = 
"https://files.pythonhosted.org/packages/d1/2e/f8b4f8088ca697d9d5978fba6e5d9a1adf83421346c51800b3700b179f52/ibmmq-2.1.0-cp39-abi3-manylinux_2_28_x86_64.whl";,
 hash = 
"sha256:81c65da995be055d4fe02eb65ab05b8c5465324d3c320d5def63bbea32c08087", size 
= 435602, upload-time = "2026-07-06T08:02:24.283Z" },
     { url = 
"https://files.pythonhosted.org/packages/20/09/e833b4e18115c94df8b3e6c293755a1cdb5bbd30b935ecc71b89e0206874/ibmmq-2.1.0-cp39-abi3-win_amd64.whl";,
 hash = 
"sha256:5d68c837f216721b2d6d7495cf91c717670a5cec383b28aa584616a9c48c1c30", size 
= 400532, upload-time = "2026-06-17T11:48:38.923Z" },
 ]
 

Reply via email to