Releases: Archmonger/ServeStatic
Releases · Archmonger/ServeStatic
3.1.0
3.0.2
Fixed
- Fixed a bug where
ServeStaticASGIwas preventing compatibility with thelifespanprotocol. All non-HTTP requests are now properly forwarded to the user's ASGI app.
3.0.1
Fixed
- Fixed compatibility between the two following Django settings:
SERVESTATIC_KEEP_ONLY_HASHED_FILESandSERVESTATIC_USE_MANIFEST
3.0.0
Changed
- Drop Django 3.2 and 4.1 support.
- Any errors from threads in the
servestatic.compresscommand are now raised. - Compression code has been refactored to match upstream (WhiteNoise).
Fixed
- Add
asgirefto dependencies to fix import error.
2.1.1
Fixed
- Make sure WSGI
SlicedFileis closed properly to prevent subtle bugs.
2.1.0
Added
- Support Python 3.13.
Changed
- Query strings are now preserved during HTTP redirection.
2.0.1
Fixed
- Fix crash when running
manage.py collectstaticwhen Django'ssettings.py:STATIC_ROOTis aPathobject.
2.0.0
Added
- Django
settings.py:SERVESTATIC_USE_MANIFESTutilize the Django manifest rather than scanning the filesystem.- When also using ServeStatic's
CompressedManifestStaticFilesStoragebackend, ServeStatic will no longer need to callos.stat.
- When also using ServeStatic's
Changed
- Minimum python version is now 3.9.
- Django
setings.py:SERVESTATIC_USE_FINDERSwill now discover files strictly using the finders API. Previously, ServeStatic would also scansettings.py:STATIC_ROOTfor files not found by the finders API. - Async file reading is now done via threads rather than
aiofilesdue recent performance tests. BaseServeStatichas been renamed toServeStaticBase.AsgiFileServerhas been renamed toFileServerASGI.- Lots of internal refactoring to improve performance, code quality, and maintainability.
1.2.0
Added
- Verbose Django
404error page whensettings.py:DEBUGisTrue(Upstream PR)
Fixed
- Fix Django compatibility with third-party sync middleware
- ServeStatic Django middleware now only runs in async mode to avoid clashing with Django's internal usage of
asgiref.AsyncToSync
- ServeStatic Django middleware now only runs in async mode to avoid clashing with Django's internal usage of
- Respect Django
settings.py:FORCE_SCRIPT_NAMEconfiguration value (Upstream PR)
1.1.0
Added
- Files are now compressed within a thread pool to increase performance (Upstream PR)
Fixed
- Fix Django
StreamingHttpResponse must consume synchronous iteratorswarning - Fix Django bug where file paths could fail to be followed on Windows (Upstream PR)