Security
- Bumped vulnerable dependencies in
uv.lock:urllib32.6.3 → 2.7.0 (high, GHSA-48p4-8xcf-vxj5 sensitive headers forwarded across origins in proxied redirects; GHSA-pq67-6m6q-mj2v decompression-bomb bypass in streaming API)lxml6.0.2 → 6.1.0 (GHSA-pp7h-53gx-mx7r, high, XXE initerparse/ETCompatXMLParser)pillow12.1.1 → 12.2.0 (GHSA-2vfv-wwj6-7q47, high, FITS GZIP decompression bomb)pypdf6.10.0 → 6.10.2 (medium, three RAM-exhaustion advisories)python-dotenv1.2.1 → 1.2.2 (medium, symlink-following inset_key)Mako1.3.10 → 1.3.11 (medium, path traversal inTemplateLookup)pytest9.0.2 → 9.0.3 (dev, medium, vulnerabletmpdirhandling)
- Bumped
axios1.15.0 → 1.16.0 (frontend dep, GHSA-4hjh-wcwx-04pq DoS via large response).
Fixed
- Admin "Reload" button now actually reloads the app.
uwsgi.iniwas missing thetouch-reload=reload.inidirective, so the maintenance task touched the file with no effect on the running workers. After upgrading, existing installs should also appendtouch-reload=reload.inito/bayanat/uwsgi.iniif they have local edits to that file. - Allowed-extensions validator now accepts up to 5-character file extensions (previously capped at 4 characters). The cap rejected valid extensions like
mhtml,xhtml, andjhtmlfromMEDIA_ALLOWED_EXTENSIONSandSHEETS_ALLOWED_EXTENSIONS. - Restored the native browser PDF viewer for inline preview.
Full changelog: v4.0.1...v4.0.2