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.
- Drop Django 3.2 and 4.1 support.
- Any errors from threads in the
servestatic.compress
command are now raised. - Compression code has been refactored to match upstream (WhiteNoise).
- Add
asgiref
to dependencies to fix import error.
2.1.1 - 2024-10-27
- Make sure WSGI
SlicedFile
is closed properly to prevent subtle bugs.
2.1.0 - 2024-10-02
- Support Python 3.13.
- Query strings are now preserved during HTTP redirection.
2.0.1 - 2024-09-13
- Fix crash when running
manage.py collectstatic
when Django'ssettings.py:STATIC_ROOT
is aPath
object.
2.0.0 - 2024-09-12
- Django
settings.py:SERVESTATIC_USE_MANIFEST
will allow ServeStatic to use the Django manifest rather than scanning the filesystem.- When also using ServeStatic's
CompressedManifestStaticFilesStorage
backend, ServeStatic will no longer need to callos.stat
.
- When also using ServeStatic's
- Minimum python version is now 3.9.
- Django
setings.py:SERVESTATIC_USE_FINDERS
will now discover files strictly using the finders API. Previously, ServeStatic would also scansettings.py:STATIC_ROOT
for files not found by the finders API. - Async file reading is now done via threads rather than
aiofiles
due recent performance tests. BaseServeStatic
has been renamed toServeStaticBase
.AsgiFileServer
has been renamed toFileServerASGI
.- Lots of internal refactoring to improve performance, code quality, and maintainability.
1.2.0 - 2024-08-30
- Verbose Django
404
error page whensettings.py:DEBUG
isTrue
- 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_NAME
configuration value.
1.1.0 - 2024-08-27
- Files are now compressed within a thread pool to increase performance.
- Fix Django
StreamingHttpResponse must consume synchronous iterators
warning. - Fix Django bug where file paths could fail to be followed on Windows.
1.0.0 - 2024-05-08
- Forked from
whitenoise
to add ASGI support.