-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deployed 53f2a1d to develop with MkDocs 1.6.1 and mike 2.1.3
- Loading branch information
github-actions
committed
Oct 28, 2024
1 parent
8b5b3d2
commit 7bf3f3a
Showing
2 changed files
with
2 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,4 @@ | |
--> <h1 id=changelog>Changelog<a class=headerlink href=#changelog title="Permanent link">¶</a></h1> <p>All notable changes to this project will be documented in this file.</p> <p>The format is based on <a href=https://keepachangelog.com/en/1.0.0/ >Keep a Changelog</a>, and this project adheres to <a href=https://semver.org/spec/v2.0.0.html>Semantic Versioning</a>.</p> <!-- | ||
Using the following categories, list your changes in this order: | ||
[Added, Changed, Deprecated, Removed, Fixed, Security] | ||
--> <h2 id=unreleased><a href=https://github.com/Archmonger/ServeStatic/compare/2.1.1...HEAD>Unreleased</a><a class=headerlink href=#unreleased title="Permanent link">¶</a></h2> <h3 id=changed>Changed<a class=headerlink href=#changed title="Permanent link">¶</a></h3> <ul> <li>Any errors from threads in the <code>servestatic.compress</code> command are now raised.</li> </ul> <h2 id=211-2024-10-27><a href=https://github.com/Archmonger/ServeStatic/compare/2.1.0...2.1.1>2.1.1</a> - 2024-10-27<a class=headerlink href=#211-2024-10-27 title="Permanent link">¶</a></h2> <h3 id=fixed>Fixed<a class=headerlink href=#fixed title="Permanent link">¶</a></h3> <ul> <li>Make sure WSGI <code>SlicedFile</code> is closed properly to prevent subtle bugs.</li> </ul> <h2 id=210-2024-10-02><a href=https://github.com/Archmonger/ServeStatic/compare/2.0.1...2.1.0>2.1.0</a> - 2024-10-02<a class=headerlink href=#210-2024-10-02 title="Permanent link">¶</a></h2> <h3 id=added>Added<a class=headerlink href=#added title="Permanent link">¶</a></h3> <ul> <li>Support Python 3.13.</li> </ul> <h3 id=changed_1>Changed<a class=headerlink href=#changed_1 title="Permanent link">¶</a></h3> <ul> <li>Query strings are now preserved during HTTP redirection.</li> </ul> <h2 id=201-2024-09-13><a href=https://github.com/Archmonger/ServeStatic/compare/2.0.0...2.0.1>2.0.1</a> - 2024-09-13<a class=headerlink href=#201-2024-09-13 title="Permanent link">¶</a></h2> <h3 id=fixed_1>Fixed<a class=headerlink href=#fixed_1 title="Permanent link">¶</a></h3> <ul> <li>Fix crash when running <code>manage.py collectstatic</code> when Django's <code>settings.py:STATIC_ROOT</code> is a <code>Path</code> object.</li> </ul> <h2 id=200-2024-09-12><a href=https://github.com/Archmonger/ServeStatic/compare/1.2.0...2.0.0>2.0.0</a> - 2024-09-12<a class=headerlink href=#200-2024-09-12 title="Permanent link">¶</a></h2> <h3 id=added_1>Added<a class=headerlink href=#added_1 title="Permanent link">¶</a></h3> <ul> <li>Django <code>settings.py:SERVESTATIC_USE_MANIFEST</code> will allow ServeStatic to use the Django manifest rather than scanning the filesystem.<ul> <li>When also using ServeStatic's <code>CompressedManifestStaticFilesStorage</code> backend, ServeStatic will no longer need to call <code>os.stat</code>.</li> </ul> </li> </ul> <h3 id=changed_2>Changed<a class=headerlink href=#changed_2 title="Permanent link">¶</a></h3> <ul> <li>Minimum python version is now 3.9.</li> <li>Django <code>setings.py:SERVESTATIC_USE_FINDERS</code> will now discover files strictly using the <a href=https://docs.djangoproject.com/en/stable/ref/contrib/staticfiles/#finders-module>finders API</a>. Previously, ServeStatic would also scan <code>settings.py:STATIC_ROOT</code> for files not found by the finders API.</li> <li>Async file reading is now done via threads rather than <a href=https://github.com/Tinche/aiofiles><code>aiofiles</code></a> due <a href=https://github.com/mosquito/aiofile/issues/88#issuecomment-2314380621>recent performance tests</a>.</li> <li><code>BaseServeStatic</code> has been renamed to <code>ServeStaticBase</code>.</li> <li><code>AsgiFileServer</code> has been renamed to <code>FileServerASGI</code>.</li> <li>Lots of internal refactoring to improve performance, code quality, and maintainability.</li> </ul> <h2 id=120-2024-08-30><a href=https://github.com/Archmonger/ServeStatic/compare/1.1.0...1.2.0>1.2.0</a> - 2024-08-30<a class=headerlink href=#120-2024-08-30 title="Permanent link">¶</a></h2> <h3 id=added_2>Added<a class=headerlink href=#added_2 title="Permanent link">¶</a></h3> <ul> <li>Verbose Django <code>404</code> error page when <code>settings.py:DEBUG</code> is <code>True</code></li> </ul> <h3 id=fixed_2>Fixed<a class=headerlink href=#fixed_2 title="Permanent link">¶</a></h3> <ul> <li>Fix Django compatibility with third-party sync middleware.<ul> <li>ServeStatic Django middleware now only runs in async mode to avoid clashing with Django's internal usage of <code>asgiref.AsyncToSync</code>.</li> </ul> </li> <li>Respect Django <code>settings.py:FORCE_SCRIPT_NAME</code> configuration value.</li> </ul> <h2 id=110-2024-08-27><a href=https://github.com/Archmonger/ServeStatic/compare/1.0.0...1.1.0>1.1.0</a> - 2024-08-27<a class=headerlink href=#110-2024-08-27 title="Permanent link">¶</a></h2> <h3 id=added_3>Added<a class=headerlink href=#added_3 title="Permanent link">¶</a></h3> <ul> <li>Files are now compressed within a thread pool to increase performance.</li> </ul> <h3 id=fixed_3>Fixed<a class=headerlink href=#fixed_3 title="Permanent link">¶</a></h3> <ul> <li>Fix Django <code>StreamingHttpResponse must consume synchronous iterators</code> warning.</li> <li>Fix Django bug where file paths could fail to be followed on Windows.</li> </ul> <h2 id=100-2024-05-08><a href=https://github.com/Archmonger/ServeStatic/releases/tag/1.0.0>1.0.0</a> - 2024-05-08<a class=headerlink href=#100-2024-05-08 title="Permanent link">¶</a></h2> <h3 id=changed_3>Changed<a class=headerlink href=#changed_3 title="Permanent link">¶</a></h3> <ul> <li>Forked from <a href=https://github.com/evansd/whitenoise><code>whitenoise</code></a> to add ASGI support.</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">September 9, 2024</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 4a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4"/></svg> </span> <nav> <a href=mailto:[email protected]>Mark Bakhit</a> </nav> </span> </aside> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> ©<div id=year></div> <script>document.getElementById("year").innerHTML = new Date().getFullYear();</script> Mark Bakhit (Archmonger) </div> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["navigation.instant", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "content.code.copy", "search.highlight"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script> <script src=../assets/javascripts/bundle.83f73b43.min.js></script> </body> </html> | ||
--> <h2 id=unreleased><a href=https://github.com/Archmonger/ServeStatic/compare/2.1.1...HEAD>Unreleased</a><a class=headerlink href=#unreleased title="Permanent link">¶</a></h2> <h3 id=changed>Changed<a class=headerlink href=#changed title="Permanent link">¶</a></h3> <ul> <li>Drop Django 3.2 and 4.1 support.</li> <li>Any errors from threads in the <code>servestatic.compress</code> command are now raised.</li> </ul> <h2 id=211-2024-10-27><a href=https://github.com/Archmonger/ServeStatic/compare/2.1.0...2.1.1>2.1.1</a> - 2024-10-27<a class=headerlink href=#211-2024-10-27 title="Permanent link">¶</a></h2> <h3 id=fixed>Fixed<a class=headerlink href=#fixed title="Permanent link">¶</a></h3> <ul> <li>Make sure WSGI <code>SlicedFile</code> is closed properly to prevent subtle bugs.</li> </ul> <h2 id=210-2024-10-02><a href=https://github.com/Archmonger/ServeStatic/compare/2.0.1...2.1.0>2.1.0</a> - 2024-10-02<a class=headerlink href=#210-2024-10-02 title="Permanent link">¶</a></h2> <h3 id=added>Added<a class=headerlink href=#added title="Permanent link">¶</a></h3> <ul> <li>Support Python 3.13.</li> </ul> <h3 id=changed_1>Changed<a class=headerlink href=#changed_1 title="Permanent link">¶</a></h3> <ul> <li>Query strings are now preserved during HTTP redirection.</li> </ul> <h2 id=201-2024-09-13><a href=https://github.com/Archmonger/ServeStatic/compare/2.0.0...2.0.1>2.0.1</a> - 2024-09-13<a class=headerlink href=#201-2024-09-13 title="Permanent link">¶</a></h2> <h3 id=fixed_1>Fixed<a class=headerlink href=#fixed_1 title="Permanent link">¶</a></h3> <ul> <li>Fix crash when running <code>manage.py collectstatic</code> when Django's <code>settings.py:STATIC_ROOT</code> is a <code>Path</code> object.</li> </ul> <h2 id=200-2024-09-12><a href=https://github.com/Archmonger/ServeStatic/compare/1.2.0...2.0.0>2.0.0</a> - 2024-09-12<a class=headerlink href=#200-2024-09-12 title="Permanent link">¶</a></h2> <h3 id=added_1>Added<a class=headerlink href=#added_1 title="Permanent link">¶</a></h3> <ul> <li>Django <code>settings.py:SERVESTATIC_USE_MANIFEST</code> will allow ServeStatic to use the Django manifest rather than scanning the filesystem.<ul> <li>When also using ServeStatic's <code>CompressedManifestStaticFilesStorage</code> backend, ServeStatic will no longer need to call <code>os.stat</code>.</li> </ul> </li> </ul> <h3 id=changed_2>Changed<a class=headerlink href=#changed_2 title="Permanent link">¶</a></h3> <ul> <li>Minimum python version is now 3.9.</li> <li>Django <code>setings.py:SERVESTATIC_USE_FINDERS</code> will now discover files strictly using the <a href=https://docs.djangoproject.com/en/stable/ref/contrib/staticfiles/#finders-module>finders API</a>. Previously, ServeStatic would also scan <code>settings.py:STATIC_ROOT</code> for files not found by the finders API.</li> <li>Async file reading is now done via threads rather than <a href=https://github.com/Tinche/aiofiles><code>aiofiles</code></a> due <a href=https://github.com/mosquito/aiofile/issues/88#issuecomment-2314380621>recent performance tests</a>.</li> <li><code>BaseServeStatic</code> has been renamed to <code>ServeStaticBase</code>.</li> <li><code>AsgiFileServer</code> has been renamed to <code>FileServerASGI</code>.</li> <li>Lots of internal refactoring to improve performance, code quality, and maintainability.</li> </ul> <h2 id=120-2024-08-30><a href=https://github.com/Archmonger/ServeStatic/compare/1.1.0...1.2.0>1.2.0</a> - 2024-08-30<a class=headerlink href=#120-2024-08-30 title="Permanent link">¶</a></h2> <h3 id=added_2>Added<a class=headerlink href=#added_2 title="Permanent link">¶</a></h3> <ul> <li>Verbose Django <code>404</code> error page when <code>settings.py:DEBUG</code> is <code>True</code></li> </ul> <h3 id=fixed_2>Fixed<a class=headerlink href=#fixed_2 title="Permanent link">¶</a></h3> <ul> <li>Fix Django compatibility with third-party sync middleware.<ul> <li>ServeStatic Django middleware now only runs in async mode to avoid clashing with Django's internal usage of <code>asgiref.AsyncToSync</code>.</li> </ul> </li> <li>Respect Django <code>settings.py:FORCE_SCRIPT_NAME</code> configuration value.</li> </ul> <h2 id=110-2024-08-27><a href=https://github.com/Archmonger/ServeStatic/compare/1.0.0...1.1.0>1.1.0</a> - 2024-08-27<a class=headerlink href=#110-2024-08-27 title="Permanent link">¶</a></h2> <h3 id=added_3>Added<a class=headerlink href=#added_3 title="Permanent link">¶</a></h3> <ul> <li>Files are now compressed within a thread pool to increase performance.</li> </ul> <h3 id=fixed_3>Fixed<a class=headerlink href=#fixed_3 title="Permanent link">¶</a></h3> <ul> <li>Fix Django <code>StreamingHttpResponse must consume synchronous iterators</code> warning.</li> <li>Fix Django bug where file paths could fail to be followed on Windows.</li> </ul> <h2 id=100-2024-05-08><a href=https://github.com/Archmonger/ServeStatic/releases/tag/1.0.0>1.0.0</a> - 2024-05-08<a class=headerlink href=#100-2024-05-08 title="Permanent link">¶</a></h2> <h3 id=changed_3>Changed<a class=headerlink href=#changed_3 title="Permanent link">¶</a></h3> <ul> <li>Forked from <a href=https://github.com/evansd/whitenoise><code>whitenoise</code></a> to add ASGI support.</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">September 9, 2024</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 4a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4"/></svg> </span> <nav> <a href=mailto:[email protected]>Mark Bakhit</a> </nav> </span> </aside> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> ©<div id=year></div> <script>document.getElementById("year").innerHTML = new Date().getFullYear();</script> Mark Bakhit (Archmonger) </div> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["navigation.instant", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "content.code.copy", "search.highlight"], "search": "../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script> <script src=../assets/javascripts/bundle.83f73b43.min.js></script> </body> </html> |
Large diffs are not rendered by default.
Oops, something went wrong.