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