| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| werkzeug-3.1.4-py3-none-any.whl | 2025-11-29 | 225.0 kB | |
| werkzeug-3.1.4.tar.gz | 2025-11-29 | 864.7 kB | |
| 3.1.4 source code.tar.gz | 2025-11-29 | 875.9 kB | |
| 3.1.4 source code.zip | 2025-11-29 | 998.0 kB | |
| README.md | 2025-11-29 | 1.2 kB | |
| Totals: 5 Items | 3.0 MB | 1 | |
This is the Werkzeug 3.1.4 fix release, which fixes bugs but does not otherwise change behavior and should not result in breaking changes compared to the latest feature release.
PyPI: https://pypi.org/project/Werkzeug/3.1.4/ Changes: https://werkzeug.palletsprojects.com/page/changes/#version-3-1-4 Milestone: https://github.com/pallets/werkzeug/milestone/42?closed=1
safe_joinon Windows does not allow special device names. This prevents reading from these when usingsend_from_directory.secure_filenamealready prevented writing to these. ghsa-hgf8-39gv-g3f2- The debugger pin fails after 10 attempts instead of 11. [#3020]
- The multipart form parser handles a
\r\nsequence at a chunk boundary. [#3065] - Improve CPU usage during Watchdog reloader. [#3054]
Request.jsonannotation is more accurate. [#3067]- Traceback rendering handles when the line number is beyond the available source lines. [#3044]
HTTPException.get_responseannotation and doc better conveys the distinction between WSGI and sans-IO responses. [#3056]