python-werkzeug: bump to 3.1.6
authorAlexandru Ardelean <redacted>
Sat, 21 Mar 2026 06:44:59 +0000 (06:44 +0000)
committerAlexandru Ardelean <redacted>
Mon, 23 Mar 2026 16:22:15 +0000 (18:22 +0200)
Changelog since 3.1.3:
- v3.1.4: Fix special device name access on Windows in send_from_directory
  (security); fix multipart parser \r\n handling at chunk boundaries;
  improve Watchdog reloader CPU efficiency
- v3.1.5: Extend Windows path protection against special device names
  (security); fix multipart form parser \r\n at chunk boundaries; fix
  AttributeError in DebuggedApplication with pin_security=False
- v3.1.6: Block special device names in multi-segment paths on Windows
  via safe_join (security)

Add test.sh.

Full changelog:
https://werkzeug.palletsprojects.com/en/stable/changes/

Signed-off-by: Alexandru Ardelean <redacted>
lang/python/python-werkzeug/Makefile
lang/python/python-werkzeug/test.sh [new file with mode: 0644]

index 5f0b8b8546f086d8bb3d3166bb01d3a4ccc2121d..157560606114ecd576a9061072574f72c97146ed 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-werkzeug
-PKG_VERSION:=3.1.3
+PKG_VERSION:=3.1.6
 PKG_RELEASE:=1
 
 PYPI_NAME:=Werkzeug
 PYPI_SOURCE_NAME:=werkzeug
-PKG_HASH:=60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746
+PKG_HASH:=210c6bede5a420a913956b4791a7f4d6843a43b6fcee4dfa08a65e93007d0d25
 
 PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
diff --git a/lang/python/python-werkzeug/test.sh b/lang/python/python-werkzeug/test.sh
new file mode 100644 (file)
index 0000000..e0b93f4
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+[ "$1" = python3-werkzeug ] || exit 0
+
+python3 - <<'EOF'
+from werkzeug.test import Client
+from werkzeug.wrappers import Request, Response
+
+def app(environ, start_response):
+    request = Request(environ)
+    text = f"Hello, {request.args.get('name', 'world')}!"
+    response = Response(text, mimetype='text/plain')
+    return response(environ, start_response)
+
+client = Client(app)
+
+resp = client.get('/')
+assert resp.status_code == 200
+assert resp.data == b'Hello, world!'
+
+resp = client.get('/?name=OpenWrt')
+assert resp.status_code == 200
+assert resp.data == b'Hello, OpenWrt!'
+EOF
git clone https://git.99rst.org/PROJECT