Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
- Nothing (yet)!
2.0.1 - 2024-09-13¶
Fixed¶
- Fix crash when running
manage.py collectstaticif Django'ssettings.py:STATIC_ROOTis aPathobject.
2.0.0 - 2024-09-12¶
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 - 2024-08-30¶
Added¶
- Verbose Django
404error page whensettings.py:DEBUGisTrue
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.
1.1.0 - 2024-08-27¶
Added¶
- Files are now compressed within a thread pool to increase performance.
Fixed¶
- Fix Django
StreamingHttpResponse must consume synchronous iteratorswarning. - Fix Django bug where file paths could fail to be followed on Windows.
1.0.0 - 2024-05-08¶
Changed¶
- Forked from
whitenoiseto add ASGI support.