refactor: update links to new static-web-server organization
new organization link https://github.com/static-web-server
Diff
.github/workflows/devel.docker.yml | 2 +-
CHANGELOG.md | 394 ++++++++---------
Cargo.toml | 4 +-
README.md | 10 +-
ci/get_latest_release.sh | 2 +-
docker/alpine/Dockerfile | 10 +-
docker/devel/Dockerfile.alpine | 8 +-
docker/devel/Dockerfile.scratch | 8 +-
docker/public/assets/index.html | 4 +-
docker/public/index.html | 4 +-
docker/scratch/Dockerfile | 8 +-
docs/content/building-from-source.md | 6 +-
docs/content/configuration/command-line-arguments.md | 2 +-
docs/content/configuration/environment-variables.md | 4 +-
docs/content/contributions.md | 4 +-
docs/content/download-and-install.md | 42 +-
docs/content/features/file-descriptor-socket-passing.md | 2 +-
docs/content/features/graceful-shutdown.md | 2 +-
docs/content/index.md | 8 +-
docs/content/license.md | 2 +-
docs/content/semantic-versioning.md | 2 +-
docs/man/static-web-server.1.rst | 2 +-
docs/mkdocs.yml | 6 +-
src/directory_listing.rs | 2 +-
24 files changed, 269 insertions(+), 269 deletions(-)
@@ -8,7 +8,7 @@ on:
- trying
env:
DOCKER_IMAGE: localhost:5000/joseluisq/static-web-server
DOCKER_IMAGE: localhost:5000/github.com/static-web-server/static-web-server
jobs:
docker-alpine:
@@ -5,235 +5,235 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
_**Note:** See changelog for v1 under the [1.x](https://github.com/joseluisq/static-web-server/blob/1.x/CHANGELOG.md) branch._
_**Note:** See changelog for v1 under the [1.x](https://github.com/static-web-server/static-web-server/blob/1.x/CHANGELOG.md) branch._
## v2.13.1 - 2022-10-17
__Fixes__
- [41dd5c6](https://github.com/joseluisq/static-web-server/commit/41dd5c6) Bugfix/security dependency updates including cxx and proc-macro2 crates.
- [abef785](https://github.com/joseluisq/static-web-server/commit/abef785) Directory listing JSON syntax error when requesting for an empty folder.
- [41dd5c6](https://github.com/static-web-server/static-web-server/commit/41dd5c6) Bugfix/security dependency updates including cxx and proc-macro2 crates.
- [abef785](https://github.com/static-web-server/static-web-server/commit/abef785) Directory listing JSON syntax error when requesting for an empty folder.
__Refactorings__
- [d1b72fd](https://github.com/joseluisq/static-web-server/commit/d1b72fd) Significant `~58%` performance boost for serving static files and `~10%` *(CPU)* / `~52%` *(RAM)* less resource utilization. PR [#153](https://github.com/joseluisq/static-web-server/issues/153) resolves [#146](https://github.com/joseluisq/static-web-server/issues/146) reported by [@jonashaag](https://github.com/jonashaag).
- [d1b72fd](https://github.com/static-web-server/static-web-server/commit/d1b72fd) Significant `~58%` performance boost for serving static files and `~10%` *(CPU)* / `~52%` *(RAM)* less resource utilization. PR [#153](https://github.com/static-web-server/static-web-server/issues/153) resolves [#146](https://github.com/static-web-server/static-web-server/issues/146) reported by [@jonashaag](https://github.com/jonashaag).
## v2.13.0 - 2022-10-12
__Fixes__
- [cce7a85](https://github.com/joseluisq/static-web-server/commit/cce7a85) Bugfix/security dependency updates including jemallocator, http headers, async-compression, rustls-pemfile, tracing and other crates (also [ed8dec3](https://github.com/joseluisq/static-web-server/commit/ed8dec3), [ea0facd](https://github.com/joseluisq/static-web-server/commit/ea0facd)).
- [3c863fd](https://github.com/joseluisq/static-web-server/commit/3c863fd) Directory listing links not encoded properly. PR [#150](https://github.com/joseluisq/static-web-server/issues/150) fixes [#149](https://github.com/joseluisq/static-web-server/issues/149) reported by [@nestor-custodio](https://github.com/nestor-custodio).
- [cce7a85](https://github.com/static-web-server/static-web-server/commit/cce7a85) Bugfix/security dependency updates including jemallocator, http headers, async-compression, rustls-pemfile, tracing and other crates (also [ed8dec3](https://github.com/static-web-server/static-web-server/commit/ed8dec3), [ea0facd](https://github.com/static-web-server/static-web-server/commit/ea0facd)).
- [3c863fd](https://github.com/static-web-server/static-web-server/commit/3c863fd) Directory listing links not encoded properly. PR [#150](https://github.com/static-web-server/static-web-server/issues/150) fixes [#149](https://github.com/static-web-server/static-web-server/issues/149) reported by [@nestor-custodio](https://github.com/nestor-custodio).
__Features__
- [f369c80](https://github.com/joseluisq/static-web-server/commit/f369c80) CORS exposed headers support via new `--cors-expose-headers` option. PR [#144](https://github.com/joseluisq/static-web-server/pull/144) by [@nelsonjchen](https://github.com/nelsonjchen). See [docs](https://sws.joseluisq.net/features/cors/#exposed-headers).
- [997e493](https://github.com/joseluisq/static-web-server/commit/997e493) HTML/JSON support for directory listing entries via new `--directory-listing-format` option. PR [#151](https://github.com/joseluisq/static-web-server/pull/151). See [docs](https://sws.joseluisq.net/features/directory-listing/#output-format).
- [f369c80](https://github.com/static-web-server/static-web-server/commit/f369c80) CORS exposed headers support via new `--cors-expose-headers` option. PR [#144](https://github.com/static-web-server/static-web-server/pull/144) by [@nelsonjchen](https://github.com/nelsonjchen). See [docs](https://sws.joseluisq.net/features/cors/#exposed-headers).
- [997e493](https://github.com/static-web-server/static-web-server/commit/997e493) HTML/JSON support for directory listing entries via new `--directory-listing-format` option. PR [#151](https://github.com/static-web-server/static-web-server/pull/151). See [docs](https://sws.joseluisq.net/features/directory-listing/#output-format).
__Refactorings__
- [61d4bb2](https://github.com/joseluisq/static-web-server/commit/61d4bb2) Restore ANSI terminal colors for Unix systems previously disabled.
- [61d4bb2](https://github.com/static-web-server/static-web-server/commit/61d4bb2) Restore ANSI terminal colors for Unix systems previously disabled.
__Docs__
- [3d8c74b](https://github.com/joseluisq/static-web-server/commit/3d8c74b) Directory listing format description.
- [3d8c74b](https://github.com/static-web-server/static-web-server/commit/3d8c74b) Directory listing format description.
__Codebase__
- [6a5ed83](https://github.com/joseluisq/static-web-server/commit/6a5ed83) Update CI workflow dependencies.
- [6a5ed83](https://github.com/static-web-server/static-web-server/commit/6a5ed83) Update CI workflow dependencies.
## v2.12.0 - 2022-09-27
__Fixes__
- [467affc](https://github.com/joseluisq/static-web-server/commit/467affc) Bugfix/security dependency updates including tokio, serde, tracing, h2, httparse, futures and other crates (also [303d1b4](https://github.com/joseluisq/static-web-server/commit/303d1b4), [c340f8f](https://github.com/joseluisq/static-web-server/commit/c340f8f)).
- [82caf15](https://github.com/joseluisq/static-web-server/commit/82caf15) Potential segfault in the `time` crate. `RUSTSEC-2020-0071` [#142](https://github.com/joseluisq/static-web-server/issues/142)
- [76fd7ea](https://github.com/joseluisq/static-web-server/commit/76fd7ea) Unmaintained `ansi_term` crate. `RUSTSEC-2021-0139` [#143](https://github.com/joseluisq/static-web-server/issues/143)
- [467affc](https://github.com/static-web-server/static-web-server/commit/467affc) Bugfix/security dependency updates including tokio, serde, tracing, h2, httparse, futures and other crates (also [303d1b4](https://github.com/static-web-server/static-web-server/commit/303d1b4), [c340f8f](https://github.com/static-web-server/static-web-server/commit/c340f8f)).
- [82caf15](https://github.com/static-web-server/static-web-server/commit/82caf15) Potential segfault in the `time` crate. `RUSTSEC-2020-0071` [#142](https://github.com/static-web-server/static-web-server/issues/142)
- [76fd7ea](https://github.com/static-web-server/static-web-server/commit/76fd7ea) Unmaintained `ansi_term` crate. `RUSTSEC-2021-0139` [#143](https://github.com/static-web-server/static-web-server/issues/143)
__Features__
- [91b6ba2](https://github.com/joseluisq/static-web-server/commit/91b6ba2) Relative paths for directory listing entries. PR [#137](https://github.com/joseluisq/static-web-server/pull/137) resolves [#136](https://github.com/joseluisq/static-web-server/issues/136) suggested by [@jtackaberry](https://github.com/jtackaberry). See [docs](https://sws.joseluisq.net/features/directory-listing/#relative-paths-for-entries).
- [5f10771](https://github.com/joseluisq/static-web-server/commit/5f10771) Log Real Remote IP in case of proxies. PR [#138](https://github.com/joseluisq/static-web-server/pull/138) by [@dlvoy](https://github.com/dlvoy). See [docs](https://sws.joseluisq.net/features/logging/#log-real-remote-ip).
- [48f9458](https://github.com/joseluisq/static-web-server/commit/48f9458) Support for serving pre-compressed (Gzip/Brotli) files. PR [#139](https://github.com/joseluisq/static-web-server/pull/139) resolves [#114](https://github.com/joseluisq/static-web-server/issues/114) suggested by [@JonasGilg](https://github.com/JonasGilg). See [docs](https://sws.joseluisq.net/features/compression-static/).
- [91b6ba2](https://github.com/static-web-server/static-web-server/commit/91b6ba2) Relative paths for directory listing entries. PR [#137](https://github.com/static-web-server/static-web-server/pull/137) resolves [#136](https://github.com/static-web-server/static-web-server/issues/136) suggested by [@jtackaberry](https://github.com/jtackaberry). See [docs](https://sws.joseluisq.net/features/directory-listing/#relative-paths-for-entries).
- [5f10771](https://github.com/static-web-server/static-web-server/commit/5f10771) Log Real Remote IP in case of proxies. PR [#138](https://github.com/static-web-server/static-web-server/pull/138) by [@dlvoy](https://github.com/dlvoy). See [docs](https://sws.joseluisq.net/features/logging/#log-real-remote-ip).
- [48f9458](https://github.com/static-web-server/static-web-server/commit/48f9458) Support for serving pre-compressed (Gzip/Brotli) files. PR [#139](https://github.com/static-web-server/static-web-server/pull/139) resolves [#114](https://github.com/static-web-server/static-web-server/issues/114) suggested by [@JonasGilg](https://github.com/JonasGilg). See [docs](https://sws.joseluisq.net/features/compression-static/).
__Refactorings__
- [e9a4aa3](https://github.com/joseluisq/static-web-server/commit/e9a4aa3) Directory listing module.
- [eee45f9](https://github.com/joseluisq/static-web-server/commit/eee45f9) Remove indirections on static file module (performance improvement).
- [e9a4aa3](https://github.com/static-web-server/static-web-server/commit/e9a4aa3) Directory listing module.
- [eee45f9](https://github.com/static-web-server/static-web-server/commit/eee45f9) Remove indirections on static file module (performance improvement).
__Docs__
- [59a75e6](https://github.com/joseluisq/static-web-server/commit/59a75e6) Fix documentation typos. PR [#140](https://github.com/joseluisq/static-web-server/pull/140) by [@kianmeng](https://github.com/kianmeng).
- [3ca743a](https://github.com/joseluisq/static-web-server/commit/3ca743a) Page for pre-compressed files serving feature. See [docs](https://sws.joseluisq.net/features/compression-static/).
- [88a886f](https://github.com/joseluisq/static-web-server/commit/88a886f) Building project from source now requires Rust `1.59.0` or later. See [docs](https://sws.joseluisq.net/building-from-source/#building-project-from-source).
- [59a75e6](https://github.com/static-web-server/static-web-server/commit/59a75e6) Fix documentation typos. PR [#140](https://github.com/static-web-server/static-web-server/pull/140) by [@kianmeng](https://github.com/kianmeng).
- [3ca743a](https://github.com/static-web-server/static-web-server/commit/3ca743a) Page for pre-compressed files serving feature. See [docs](https://sws.joseluisq.net/features/compression-static/).
- [88a886f](https://github.com/static-web-server/static-web-server/commit/88a886f) Building project from source now requires Rust `1.59.0` or later. See [docs](https://sws.joseluisq.net/building-from-source/#building-project-from-source).
__Codebase__
- [5148da9](https://github.com/joseluisq/static-web-server/commit/5148da9) CI workflow for Rust security audit.
- [28f8818](https://github.com/joseluisq/static-web-server/commit/28f8818) CI development job for typos. PR [#141](https://github.com/joseluisq/static-web-server/pull/141) by [@kianmeng](https://github.com/kianmeng). See [docs](https://sws.joseluisq.net/features/logging/#log-real-remote-ip).
- [5148da9](https://github.com/static-web-server/static-web-server/commit/5148da9) CI workflow for Rust security audit.
- [28f8818](https://github.com/static-web-server/static-web-server/commit/28f8818) CI development job for typos. PR [#141](https://github.com/static-web-server/static-web-server/pull/141) by [@kianmeng](https://github.com/kianmeng). See [docs](https://sws.joseluisq.net/features/logging/#log-real-remote-ip).
## v2.11.0 - 2022-08-15
__Fixes__
- [1b7636c](https://github.com/joseluisq/static-web-server/commit/1b7636c) Bugfix/security dependency updates including tokio, serde, tracing, libc, futures and other crates (also [6840d0f](https://github.com/joseluisq/static-web-server/commit/6840d0f), [32517b6](https://github.com/joseluisq/static-web-server/commit/32517b6)).
- [6570498](https://github.com/joseluisq/static-web-server/commit/6570498) Enable the missing `windows-service` option when used via the config file.
- [1b7636c](https://github.com/static-web-server/static-web-server/commit/1b7636c) Bugfix/security dependency updates including tokio, serde, tracing, libc, futures and other crates (also [6840d0f](https://github.com/static-web-server/static-web-server/commit/6840d0f), [32517b6](https://github.com/static-web-server/static-web-server/commit/32517b6)).
- [6570498](https://github.com/static-web-server/static-web-server/commit/6570498) Enable the missing `windows-service` option when used via the config file.
__Features__
- [5163564](https://github.com/joseluisq/static-web-server/commit/5163564) New `redirect-trailing-slash` option. PR [#131](https://github.com/joseluisq/static-web-server/pull/131) by [@phartenfeller](https://github.com/phartenfeller). See [docs](https://sws.joseluisq.net/features/trailing-slash-redirect/).
- [5163564](https://github.com/static-web-server/static-web-server/commit/5163564) New `redirect-trailing-slash` option. PR [#131](https://github.com/static-web-server/static-web-server/pull/131) by [@phartenfeller](https://github.com/phartenfeller). See [docs](https://sws.joseluisq.net/features/trailing-slash-redirect/).
__Docs__
- [10f403f](https://github.com/joseluisq/static-web-server/commit/10f403f) Redirect trailing slash page.
- [e4228af](https://github.com/joseluisq/static-web-server/commit/e4228af) Typos and content improvements (also [e674940](https://github.com/joseluisq/static-web-server/commit/e674940)).
- [10f403f](https://github.com/static-web-server/static-web-server/commit/10f403f) Redirect trailing slash page.
- [e4228af](https://github.com/static-web-server/static-web-server/commit/e4228af) Typos and content improvements (also [e674940](https://github.com/static-web-server/static-web-server/commit/e674940)).
## v2.10.0 - 2022-07-10
__Fixes__
- [b902cb7](https://github.com/joseluisq/static-web-server/commit/b902cb7) Bugfix/security dependency updates including tokio, hyper, tracing, jemallocator and other crates (also [5c9b797](https://github.com/joseluisq/static-web-server/commit/5c9b797), [4cf9a6b](https://github.com/joseluisq/static-web-server/commit/4cf9a6b)).
- [b73959f](https://github.com/joseluisq/static-web-server/commit/b73959f) Fix wrong prefix config file path (`\\?\`) when logging on Windows.
- [b902cb7](https://github.com/static-web-server/static-web-server/commit/b902cb7) Bugfix/security dependency updates including tokio, hyper, tracing, jemallocator and other crates (also [5c9b797](https://github.com/static-web-server/static-web-server/commit/5c9b797), [4cf9a6b](https://github.com/static-web-server/static-web-server/commit/4cf9a6b)).
- [b73959f](https://github.com/static-web-server/static-web-server/commit/b73959f) Fix wrong prefix config file path (`\\?\`) when logging on Windows.
__Features__
- [5163564](https://github.com/joseluisq/static-web-server/commit/5163564) URL Rewrites with pattern matching support. PR [#122](https://github.com/joseluisq/static-web-server/pull/122). See [docs](https://sws.joseluisq.net/features/url-rewrites/).
- [5ef3b62](https://github.com/joseluisq/static-web-server/commit/5ef3b62) URL Redirects with pattern matching. PR [#123](https://github.com/joseluisq/static-web-server/pull/123). See [docs](https://sws.joseluisq.net/features/url-rewrites/).
- [9072977](https://github.com/joseluisq/static-web-server/commit/9072977) Homebrew installation support for MacOS/Linux. See [docs](https://sws.joseluisq.net/download-and-install/#macos).
- [975132f](https://github.com/joseluisq/static-web-server/commit/975132f) [Scoop](https://scoop.sh/#/apps?q=static-web-server&s=0&d=1&o=true) installation support for Windows. See [docs](https://sws.joseluisq.net/download-and-install/#windows).
- [78a5611](https://github.com/joseluisq/static-web-server/commit/78a5611) Alpine 3.16 Docker image.
- [5163564](https://github.com/static-web-server/static-web-server/commit/5163564) URL Rewrites with pattern matching support. PR [#122](https://github.com/static-web-server/static-web-server/pull/122). See [docs](https://sws.joseluisq.net/features/url-rewrites/).
- [5ef3b62](https://github.com/static-web-server/static-web-server/commit/5ef3b62) URL Redirects with pattern matching. PR [#123](https://github.com/static-web-server/static-web-server/pull/123). See [docs](https://sws.joseluisq.net/features/url-rewrites/).
- [9072977](https://github.com/static-web-server/static-web-server/commit/9072977) Homebrew installation support for MacOS/Linux. See [docs](https://sws.joseluisq.net/download-and-install/#macos).
- [975132f](https://github.com/static-web-server/static-web-server/commit/975132f) [Scoop](https://scoop.sh/#/apps?q=static-web-server&s=0&d=1&o=true) installation support for Windows. See [docs](https://sws.joseluisq.net/download-and-install/#windows).
- [78a5611](https://github.com/static-web-server/static-web-server/commit/78a5611) Alpine 3.16 Docker image.
__Docs__
- [b0ca3d1](https://github.com/joseluisq/static-web-server/commit/b0ca3d1) Several doc typo fixes.
- [b0ca3d1](https://github.com/static-web-server/static-web-server/commit/b0ca3d1) Several doc typo fixes.
## v2.9.0 - 2022-05-28
__Fixes__
- [446576a](https://github.com/joseluisq/static-web-server/commit/446576a) Bugfix/security dependency updates including tokio, hyper, rustls, compression, windows-rs, serde, log and other crates (also [fa531a0](https://github.com/joseluisq/static-web-server/commit/fa531a0), [0879c84](https://github.com/joseluisq/static-web-server/commit/0879c84)).
- [446576a](https://github.com/static-web-server/static-web-server/commit/446576a) Bugfix/security dependency updates including tokio, hyper, rustls, compression, windows-rs, serde, log and other crates (also [fa531a0](https://github.com/static-web-server/static-web-server/commit/fa531a0), [0879c84](https://github.com/static-web-server/static-web-server/commit/0879c84)).
__Features__
- [3d1776d](https://github.com/joseluisq/static-web-server/commit/3d1776d) Windows Service support via new `--windows-service` option. PR [#110](https://github.com/joseluisq/static-web-server/pull/110) resolves [#65](https://github.com/joseluisq/static-web-server/issues/65) suggested by [@bubnenkoff](https://github.com/bubnenkoff). See [docs](https://sws.joseluisq.net/features/windows-service/).
- [bd78034](https://github.com/joseluisq/static-web-server/commit/bd78034) Include request URI on tracing log for 404/50x errors. [#108](https://github.com/joseluisq/static-web-server/issues/108) suggested by [@stappersg](https://github.com/stappersg).
- [b49395a](https://github.com/joseluisq/static-web-server/commit/b49395a) Log request file with its remote address (IP) via new `--log-remote-address` option. PR [#112](https://github.com/joseluisq/static-web-server/pull/112) resolves [#111](https://github.com/joseluisq/static-web-server/issues/111) suggested by [@nicheath](https://github.com/nicheath). See [docs](https://sws.joseluisq.net/features/logging/#log-remote-addresses).
- [3d1776d](https://github.com/static-web-server/static-web-server/commit/3d1776d) Windows Service support via new `--windows-service` option. PR [#110](https://github.com/static-web-server/static-web-server/pull/110) resolves [#65](https://github.com/static-web-server/static-web-server/issues/65) suggested by [@bubnenkoff](https://github.com/bubnenkoff). See [docs](https://sws.joseluisq.net/features/windows-service/).
- [bd78034](https://github.com/static-web-server/static-web-server/commit/bd78034) Include request URI on tracing log for 404/50x errors. [#108](https://github.com/static-web-server/static-web-server/issues/108) suggested by [@stappersg](https://github.com/stappersg).
- [b49395a](https://github.com/static-web-server/static-web-server/commit/b49395a) Log request file with its remote address (IP) via new `--log-remote-address` option. PR [#112](https://github.com/static-web-server/static-web-server/pull/112) resolves [#111](https://github.com/static-web-server/static-web-server/issues/111) suggested by [@nicheath](https://github.com/nicheath). See [docs](https://sws.joseluisq.net/features/logging/#log-remote-addresses).
__Docs__
- [a793b58](https://github.com/joseluisq/static-web-server/commit/a793b58) Improve basic auth feature page. See [docs](https://sws.joseluisq.net/features/basic-authentication/).
- [ae0dcfd](https://github.com/joseluisq/static-web-server/commit/ae0dcfd) Windows Service feature page. See [docs](https://sws.joseluisq.net/features/windows-service/).
- [2d71de6](https://github.com/joseluisq/static-web-server/commit/2d71de6) Log remote address feature. See [docs](https://sws.joseluisq.net/features/logging/#log-remote-addresses).
- [a793b58](https://github.com/static-web-server/static-web-server/commit/a793b58) Improve basic auth feature page. See [docs](https://sws.joseluisq.net/features/basic-authentication/).
- [ae0dcfd](https://github.com/static-web-server/static-web-server/commit/ae0dcfd) Windows Service feature page. See [docs](https://sws.joseluisq.net/features/windows-service/).
- [2d71de6](https://github.com/static-web-server/static-web-server/commit/2d71de6) Log remote address feature. See [docs](https://sws.joseluisq.net/features/logging/#log-remote-addresses).
## v2.8.0 - 2022-05-04
__Fixes__
- [446576a](https://github.com/joseluisq/static-web-server/commit/446576a) Bugfix/security dependency updates including http, tokio, httparse, windows-rs, serde, log and other crates.
- [446576a](https://github.com/static-web-server/static-web-server/commit/446576a) Bugfix/security dependency updates including http, tokio, httparse, windows-rs, serde, log and other crates.
__Features__
- [1fd3e48](https://github.com/joseluisq/static-web-server/commit/1fd3e48) Configuration file support. PR [#101](https://github.com/joseluisq/static-web-server/pull/101). See [docs](https://sws.joseluisq.net/configuration/config-file/).
- [62ebe52](https://github.com/joseluisq/static-web-server/commit/62ebe52) Custom HTTP headers via config file. See [docs](https://sws.joseluisq.net/features/custom-http-headers/).
- [1fd3e48](https://github.com/static-web-server/static-web-server/commit/1fd3e48) Configuration file support. PR [#101](https://github.com/static-web-server/static-web-server/pull/101). See [docs](https://sws.joseluisq.net/configuration/config-file/).
- [62ebe52](https://github.com/static-web-server/static-web-server/commit/62ebe52) Custom HTTP headers via config file. See [docs](https://sws.joseluisq.net/features/custom-http-headers/).
__Refactorings__
- [9f4bbd7](https://github.com/joseluisq/static-web-server/commit/9f4bbd7) Update `tokio-rustls` to `v0.23`.
- [024531c](https://github.com/joseluisq/static-web-server/commit/024531c) Move to maintained jemallocator (`tikv-jemallocator`) on Linux (Musl libc).
- [3e40153](https://github.com/joseluisq/static-web-server/commit/3e40153) Remove deprecated `git.io` link. PR [#103](https://github.com/joseluisq/static-web-server/pull/103) by [@renbaoshuo](https://github.com/renbaoshuo).
- [959c325](https://github.com/joseluisq/static-web-server/commit/959c325) `PathBuf` data type for cli/file config path options.
- [9f4bbd7](https://github.com/static-web-server/static-web-server/commit/9f4bbd7) Update `tokio-rustls` to `v0.23`.
- [024531c](https://github.com/static-web-server/static-web-server/commit/024531c) Move to maintained jemallocator (`tikv-jemallocator`) on Linux (Musl libc).
- [3e40153](https://github.com/static-web-server/static-web-server/commit/3e40153) Remove deprecated `git.io` link. PR [#103](https://github.com/static-web-server/static-web-server/pull/103) by [@renbaoshuo](https://github.com/renbaoshuo).
- [959c325](https://github.com/static-web-server/static-web-server/commit/959c325) `PathBuf` data type for cli/file config path options.
__Docs__
- [7dda2ea](https://github.com/joseluisq/static-web-server/commit/7dda2ea) Config file and custom http headers.
- [7dda2ea](https://github.com/static-web-server/static-web-server/commit/7dda2ea) Config file and custom http headers.
## v2.7.1 - 2022-04-17
__Fixes__
- [9c58496](https://github.com/joseluisq/static-web-server/commit/9c58496) Bugfix/security dependency updates including httparse, flate2, h2, tracing, brotli, windows-rs and other crates (also [bc62634](https://github.com/joseluisq/static-web-server/commit/bc62634), [8a1d1cb](https://github.com/joseluisq/static-web-server/commit/8a1d1cb), [eabc559](https://github.com/joseluisq/static-web-server/commit/eabc559)).
- [041f0f8](https://github.com/joseluisq/static-web-server/commit/041f0f8) Prevent arbitrary files access on Windows.<br>
- [9c58496](https://github.com/static-web-server/static-web-server/commit/9c58496) Bugfix/security dependency updates including httparse, flate2, h2, tracing, brotli, windows-rs and other crates (also [bc62634](https://github.com/static-web-server/static-web-server/commit/bc62634), [8a1d1cb](https://github.com/static-web-server/static-web-server/commit/8a1d1cb), [eabc559](https://github.com/static-web-server/static-web-server/commit/eabc559)).
- [041f0f8](https://github.com/static-web-server/static-web-server/commit/041f0f8) Prevent arbitrary files access on Windows.<br>
It mitigates accessing files outside of server root directory on Windows when a driver label is used as part of a request URL.<br>
E.g `http://localhost:1234/whatever/c:/windows/win.ini`.
__Refactorings__
- [fa05773](https://github.com/joseluisq/static-web-server/commit/fa05773) Small performance improvement for tracing.
- [fa05773](https://github.com/static-web-server/static-web-server/commit/fa05773) Small performance improvement for tracing.
__Docs__
- [9c58496](https://github.com/joseluisq/static-web-server/commit/9c58496) Build documentation from source.
- [9c58496](https://github.com/static-web-server/static-web-server/commit/9c58496) Build documentation from source.
## v2.7.0 - 2022-03-21
__Fixes__
- [dc8bc4d](https://github.com/joseluisq/static-web-server/commit/dc8bc4d) Bugfix/security dependency updates including h2, tracing, listenfd, mio, libc, syn and other crates (also [3b2a287](https://github.com/joseluisq/static-web-server/commit/3b2a287), [d57ee2f](https://github.com/joseluisq/static-web-server/commit/d57ee2f), [15cf1ac](https://github.com/joseluisq/static-web-server/commit/15cf1ac)).
- [da85b16](https://github.com/joseluisq/static-web-server/commit/da85b16) `--cors-allow-origins` doesn't assign headers properly. PR [#87](https://github.com/joseluisq/static-web-server/pull/87) resolves [#86](https://github.com/joseluisq/static-web-server/issues/86) reported by [@mr-moon](https://github.com/mr-moon).
- [dcc8a32](https://github.com/joseluisq/static-web-server/commit/dcc8a32) Security Alpine `3.15` Docker image upgrade. PR [#92](https://github.com/joseluisq/static-web-server/pull/92).
- [dc8bc4d](https://github.com/static-web-server/static-web-server/commit/dc8bc4d) Bugfix/security dependency updates including h2, tracing, listenfd, mio, libc, syn and other crates (also [3b2a287](https://github.com/static-web-server/static-web-server/commit/3b2a287), [d57ee2f](https://github.com/static-web-server/static-web-server/commit/d57ee2f), [15cf1ac](https://github.com/static-web-server/static-web-server/commit/15cf1ac)).
- [da85b16](https://github.com/static-web-server/static-web-server/commit/da85b16) `--cors-allow-origins` doesn't assign headers properly. PR [#87](https://github.com/static-web-server/static-web-server/pull/87) resolves [#86](https://github.com/static-web-server/static-web-server/issues/86) reported by [@mr-moon](https://github.com/mr-moon).
- [dcc8a32](https://github.com/static-web-server/static-web-server/commit/dcc8a32) Security Alpine `3.15` Docker image upgrade. PR [#92](https://github.com/static-web-server/static-web-server/pull/92).
__Features__
- [da85b16](https://github.com/joseluisq/static-web-server/commit/da85b16) CORS allowed headers support via the new `-j, --cors-allow-headers` flags. PR [#87](https://github.com/joseluisq/static-web-server/pull/87). See [docs](https://sws.joseluisq.net/features/cors/#allowed-headers).
- [da85b16](https://github.com/joseluisq/static-web-server/commit/da85b16) Support for HTTP `OPTIONS` method requests. PR [#87](https://github.com/joseluisq/static-web-server/pull/87). See [docs](https://sws.joseluisq.net/features/http-methods/).
- [6204205](https://github.com/joseluisq/static-web-server/commit/6204205) `Cache-Control` for AVIF and JPEG XL mime types. PR [#88](https://github.com/joseluisq/static-web-server/pull/88) by [@csmith](https://github.com/csmith). See [docs](https://sws.joseluisq.net/features/cache-control-headers/#one-year).
- [cba4a83](https://github.com/joseluisq/static-web-server/commit/cba4a83) Fallback page option via the new `--page-fallback` flag. PR [#91](https://github.com/joseluisq/static-web-server/pull/91) by [@firstdorsal](https://github.com/firstdorsal). See [docs](https://sws.joseluisq.net/features/error-pages/#fallback-page-for-use-with-client-routers).
- [da85b16](https://github.com/static-web-server/static-web-server/commit/da85b16) CORS allowed headers support via the new `-j, --cors-allow-headers` flags. PR [#87](https://github.com/static-web-server/static-web-server/pull/87). See [docs](https://sws.joseluisq.net/features/cors/#allowed-headers).
- [da85b16](https://github.com/static-web-server/static-web-server/commit/da85b16) Support for HTTP `OPTIONS` method requests. PR [#87](https://github.com/static-web-server/static-web-server/pull/87). See [docs](https://sws.joseluisq.net/features/http-methods/).
- [6204205](https://github.com/static-web-server/static-web-server/commit/6204205) `Cache-Control` for AVIF and JPEG XL mime types. PR [#88](https://github.com/static-web-server/static-web-server/pull/88) by [@csmith](https://github.com/csmith). See [docs](https://sws.joseluisq.net/features/cache-control-headers/#one-year).
- [cba4a83](https://github.com/static-web-server/static-web-server/commit/cba4a83) Fallback page option via the new `--page-fallback` flag. PR [#91](https://github.com/static-web-server/static-web-server/pull/91) by [@firstdorsal](https://github.com/firstdorsal). See [docs](https://sws.joseluisq.net/features/error-pages/#fallback-page-for-use-with-client-routers).
__Refactorings__
- [d33d093](https://github.com/joseluisq/static-web-server/commit/d33d093) Reduce few allocations on HTTP request handler.
- [06cc379](https://github.com/joseluisq/static-web-server/commit/06cc379) Reduce small allocation when encoding headers during compression.
- [a5e87e5](https://github.com/joseluisq/static-web-server/commit/a5e87e5) Typed `Content-Type` header for error pages and dir listing responses.
- [d33d093](https://github.com/static-web-server/static-web-server/commit/d33d093) Reduce few allocations on HTTP request handler.
- [06cc379](https://github.com/static-web-server/static-web-server/commit/06cc379) Reduce small allocation when encoding headers during compression.
- [a5e87e5](https://github.com/static-web-server/static-web-server/commit/a5e87e5) Typed `Content-Type` header for error pages and dir listing responses.
__Docs__
- [781ba91](https://github.com/joseluisq/static-web-server/commit/781ba91) CORS allowed headers. See [docs](https://sws.joseluisq.net/features/cors/#allowed-headers).
- [0957a11](https://github.com/joseluisq/static-web-server/commit/0957a11) HTTP methods section. See [docs](https://sws.joseluisq.net/features/http-methods/).
- [781ba91](https://github.com/static-web-server/static-web-server/commit/781ba91) CORS allowed headers. See [docs](https://sws.joseluisq.net/features/cors/#allowed-headers).
- [0957a11](https://github.com/static-web-server/static-web-server/commit/0957a11) HTTP methods section. See [docs](https://sws.joseluisq.net/features/http-methods/).
__Testing__
- [7b6fc0b](https://github.com/joseluisq/static-web-server/commit/7b6fc0b) `Cache-Control` test cases.
- [f22b952](https://github.com/joseluisq/static-web-server/commit/f22b952) Stable Rust for ARM CI pipelines.
- [7b6fc0b](https://github.com/static-web-server/static-web-server/commit/7b6fc0b) `Cache-Control` test cases.
- [f22b952](https://github.com/static-web-server/static-web-server/commit/f22b952) Stable Rust for ARM CI pipelines.
## v2.6.0 - 2022-02-28
__Fixes__
- [fb84c0b](https://github.com/joseluisq/static-web-server/commit/fb84c0b) Bugfix/security dependency updates including hyper, tokio, httparse, futures, tracing, headers and other crates (also [7f70a13](https://github.com/joseluisq/static-web-server/commit/7f70a13), [d3fb137](https://github.com/joseluisq/static-web-server/commit/d3fb137)).
- [fb84c0b](https://github.com/static-web-server/static-web-server/commit/fb84c0b) Bugfix/security dependency updates including hyper, tokio, httparse, futures, tracing, headers and other crates (also [7f70a13](https://github.com/static-web-server/static-web-server/commit/7f70a13), [d3fb137](https://github.com/static-web-server/static-web-server/commit/d3fb137)).
__Features__
- [7d32a67](https://github.com/joseluisq/static-web-server/commit/7d32a67) Multi-arch Docker images (Scratch/Alpine). PR [#82](https://github.com/joseluisq/static-web-server/pull/82) resolves [#54](https://github.com/joseluisq/static-web-server/issues/54).
- [7d32a67](https://github.com/static-web-server/static-web-server/commit/7d32a67) Multi-arch Docker images (Scratch/Alpine). PR [#82](https://github.com/static-web-server/static-web-server/pull/82) resolves [#54](https://github.com/static-web-server/static-web-server/issues/54).
- New `armv7-unknown-linux-musleabihf` (armv7) and `arm-unknown-linux-musleabihf` (armv6) binary targets.
- New Docker images for `linux/arm64`, `linux/386`, `linux/arm/v7` and `linux/arm/v6` platforms.
- [50974fe](https://github.com/joseluisq/static-web-server/commit/50974fe) Compress WebAssembly (`application/wasm`) files. PR [#84](https://github.com/joseluisq/static-web-server/pull/84) by [@acelot](https://github.com/acelot). See [docs](https://sws.joseluisq.net/features/compression/).
- [70ec60c](https://github.com/joseluisq/static-web-server/commit/70ec60c) Arch Linux [AUR package](https://aur.archlinux.org/packages/static-web-server-bin) support. See [docs](https://sws.joseluisq.net/download-and-install/).
- [50974fe](https://github.com/static-web-server/static-web-server/commit/50974fe) Compress WebAssembly (`application/wasm`) files. PR [#84](https://github.com/static-web-server/static-web-server/pull/84) by [@acelot](https://github.com/acelot). See [docs](https://sws.joseluisq.net/features/compression/).
- [70ec60c](https://github.com/static-web-server/static-web-server/commit/70ec60c) Arch Linux [AUR package](https://aur.archlinux.org/packages/static-web-server-bin) support. See [docs](https://sws.joseluisq.net/download-and-install/).
__Refactorings__
- [e109b77](https://github.com/joseluisq/static-web-server/commit/e109b77) Improve startup server error messages providing context.
- [c085147](https://github.com/joseluisq/static-web-server/commit/c085147) Prefer `cfg(unix)` instead of `cfg(not(windows))`.
- [e109b77](https://github.com/static-web-server/static-web-server/commit/e109b77) Improve startup server error messages providing context.
- [c085147](https://github.com/static-web-server/static-web-server/commit/c085147) Prefer `cfg(unix)` instead of `cfg(not(windows))`.
__Docs__
- [eb482a4](https://github.com/joseluisq/static-web-server/commit/eb482a4) Documentation for Multi-arch Docker images. See [docs](https://sws.joseluisq.net/features/docker/).
- [70ec60c](https://github.com/joseluisq/static-web-server/commit/70ec60c) Documentation for Arch Linux support. See [docs](https://sws.joseluisq.net/download-and-install/).
- [eb482a4](https://github.com/static-web-server/static-web-server/commit/eb482a4) Documentation for Multi-arch Docker images. See [docs](https://sws.joseluisq.net/features/docker/).
- [70ec60c](https://github.com/static-web-server/static-web-server/commit/70ec60c) Documentation for Arch Linux support. See [docs](https://sws.joseluisq.net/download-and-install/).
## v2.6.0-beta.2 - 2022-02-08
__Fixes__
- [65007f9](https://github.com/joseluisq/static-web-server/commit/65007f9) Wrong binary path for alpine docker image.
- [65007f9](https://github.com/static-web-server/static-web-server/commit/65007f9) Wrong binary path for alpine docker image.
## v2.6.0-beta.1 - 2022-02-08
__Fixes__
- [fb84c0b](https://github.com/joseluisq/static-web-server/commit/fb84c0b) Bugfix dependency updates including httparse, futures and other crates.
- [fb84c0b](https://github.com/static-web-server/static-web-server/commit/fb84c0b) Bugfix dependency updates including httparse, futures and other crates.
__Features__
- [c2ae6a5](https://github.com/joseluisq/static-web-server/commit/c2ae6a5) Multi-arch Docker images. PR [#82](https://github.com/joseluisq/static-web-server/pull/82) resolves [#54](https://github.com/joseluisq/static-web-server/issues/54).
- [c2ae6a5](https://github.com/static-web-server/static-web-server/commit/c2ae6a5) Multi-arch Docker images. PR [#82](https://github.com/static-web-server/static-web-server/pull/82) resolves [#54](https://github.com/static-web-server/static-web-server/issues/54).
- New `armv7-unknown-linux-musleabihf` (armv7) and `arm-unknown-linux-musleabihf` (armv6) binary targets.
- New Docker images for `linux/arm64`, `linux/386`, `linux/arm/v7` and `linux/arm/v6` platforms.
@@ -241,128 +241,128 @@ __Features__
__Fixes__
- [3df07aa](https://github.com/joseluisq/static-web-server/commit/3df07aa) Bugfix dependency updates including Tokio, libc , h2, tracing, brotli other crates. (also [5f9f9f9](https://github.com/joseluisq/static-web-server/commit/5f9f9f9), [3df07aa](https://github.com/joseluisq/static-web-server/commit/3df07aa), [0c1a6c1](https://github.com/joseluisq/static-web-server/commit/0c1a6c1)).
- [3df07aa](https://github.com/static-web-server/static-web-server/commit/3df07aa) Bugfix dependency updates including Tokio, libc , h2, tracing, brotli other crates. (also [5f9f9f9](https://github.com/static-web-server/static-web-server/commit/5f9f9f9), [3df07aa](https://github.com/static-web-server/static-web-server/commit/3df07aa), [0c1a6c1](https://github.com/static-web-server/static-web-server/commit/0c1a6c1)).
__Features__
- [3224261](https://github.com/joseluisq/static-web-server/commit/3224261) Configurable grace period support after a `SIGTERM`. PR [#80](https://github.com/joseluisq/static-web-server/pull/80) resolves [#79](https://github.com/joseluisq/static-web-server/issues/79) suggested by [@jtackaberry](https://github.com/jtackaberry). See [docs](https://sws.joseluisq.net/features/graceful-shutdown/#graceful-shutdown) for more details.
- [3224261](https://github.com/static-web-server/static-web-server/commit/3224261) Configurable grace period support after a `SIGTERM`. PR [#80](https://github.com/static-web-server/static-web-server/pull/80) resolves [#79](https://github.com/static-web-server/static-web-server/issues/79) suggested by [@jtackaberry](https://github.com/jtackaberry). See [docs](https://sws.joseluisq.net/features/graceful-shutdown/#graceful-shutdown) for more details.
__Refactorings__
- [4caf0aa](https://github.com/joseluisq/static-web-server/commit/4caf0aa) Log `info` entry after `ctrl+c` on Windows.
- [4caf0aa](https://github.com/static-web-server/static-web-server/commit/4caf0aa) Log `info` entry after `ctrl+c` on Windows.
## v2.4.0 - 2022-01-06
__Fixes__
- [fd227b3](https://github.com/joseluisq/static-web-server/commit/fd227b3) Bugfix dependency updates including Tokio, futures, http, syn, libc and other crates. (also [fd227b3](https://github.com/joseluisq/static-web-server/commit/fd227b3), [7becd4e](https://github.com/joseluisq/static-web-server/commit/7becd4e)).
- [fd227b3](https://github.com/static-web-server/static-web-server/commit/fd227b3) Bugfix dependency updates including Tokio, futures, http, syn, libc and other crates. (also [fd227b3](https://github.com/static-web-server/static-web-server/commit/fd227b3), [7becd4e](https://github.com/static-web-server/static-web-server/commit/7becd4e)).
__Refactorings__
- [5926c9b](https://github.com/joseluisq/static-web-server/commit/5926c9b) Trailing slash checking and redirection for directory requests. PR [#74](https://github.com/joseluisq/static-web-server/pull/74) resolves [#73](https://github.com/joseluisq/static-web-server/issues/73) suggested by [@knyzorg](https://github.com/knyzorg).
- [5926c9b](https://github.com/static-web-server/static-web-server/commit/5926c9b) Trailing slash checking and redirection for directory requests. PR [#74](https://github.com/static-web-server/static-web-server/pull/74) resolves [#73](https://github.com/static-web-server/static-web-server/issues/73) suggested by [@knyzorg](https://github.com/knyzorg).
__Features__
- [ac8f87c](https://github.com/joseluisq/static-web-server/commit/ac8f87c) Alpine 3.14 Docker images.
- [ac8f87c](https://github.com/static-web-server/static-web-server/commit/ac8f87c) Alpine 3.14 Docker images.
## v2.3.0 - 2021-12-11
__Fixes__
- [366e6a9](https://github.com/joseluisq/static-web-server/commit/366e6a9) Security/bug fixes dependency updates including Hyper, Tokio, h2, libc, futures and other crates. (Also [dfe87c7](https://github.com/joseluisq/static-web-server/commit/dfe87c7), [1231b50](https://github.com/joseluisq/static-web-server/commit/1231b50)).
- [366e6a9](https://github.com/static-web-server/static-web-server/commit/366e6a9) Security/bug fixes dependency updates including Hyper, Tokio, h2, libc, futures and other crates. (Also [dfe87c7](https://github.com/static-web-server/static-web-server/commit/dfe87c7), [1231b50](https://github.com/static-web-server/static-web-server/commit/1231b50)).
__Features__
- [688d1b2](https://github.com/joseluisq/static-web-server/commit/688d1b2) Opt-in sorting by `Name`, `Last Modified` and `File Size` in ascending/descending order via the new `--directory-listing-order` option. More details on [directory listing documentation](https://sws.joseluisq.net/examples/directory-listing/#sorting). PR [#71](https://github.com/joseluisq/static-web-server/pull/71) resolves [#68](https://github.com/joseluisq/static-web-server/issues/68) suggested by [@igoro00](https://github.com/igoro00).
- [688d1b2](https://github.com/static-web-server/static-web-server/commit/688d1b2) Opt-in sorting by `Name`, `Last Modified` and `File Size` in ascending/descending order via the new `--directory-listing-order` option. More details on [directory listing documentation](https://sws.joseluisq.net/examples/directory-listing/#sorting). PR [#71](https://github.com/static-web-server/static-web-server/pull/71) resolves [#68](https://github.com/static-web-server/static-web-server/issues/68) suggested by [@igoro00](https://github.com/igoro00).
## v2.2.0 - 2021-11-04
__Fixes__
- [c264f2f](https://github.com/joseluisq/static-web-server/commit/c264f2f) Update dependencies (also [e127a1f](https://github.com/joseluisq/static-web-server/commit/e127a1f)).
- [c264f2f](https://github.com/static-web-server/static-web-server/commit/c264f2f) Update dependencies (also [e127a1f](https://github.com/static-web-server/static-web-server/commit/e127a1f)).
__Features__
- [0a02da3](https://github.com/joseluisq/static-web-server/commit/0a02da3) [Graceful Shutdown](https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-terminating-with-grace) support for HTTP/1 - HTTP/2 servers by default. PR [#62](https://github.com/joseluisq/static-web-server/pull/62) resolves [#61](https://github.com/joseluisq/static-web-server/issues/53) suggested by [@pdfrod](https://github.com/pdfrod).
- [0a02da3](https://github.com/static-web-server/static-web-server/commit/0a02da3) [Graceful Shutdown](https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-terminating-with-grace) support for HTTP/1 - HTTP/2 servers by default. PR [#62](https://github.com/static-web-server/static-web-server/pull/62) resolves [#61](https://github.com/static-web-server/static-web-server/issues/53) suggested by [@pdfrod](https://github.com/pdfrod).
__Refactorings__
- [6f10ef1](https://github.com/joseluisq/static-web-server/commit/6f10ef1) Disable ANSI for tracing logs on Windows in order to display characters correctly.
- [17ceec0](https://github.com/joseluisq/static-web-server/commit/17ceec0) Log Basic Authentication info.
- [6f10ef1](https://github.com/static-web-server/static-web-server/commit/6f10ef1) Disable ANSI for tracing logs on Windows in order to display characters correctly.
- [17ceec0](https://github.com/static-web-server/static-web-server/commit/17ceec0) Log Basic Authentication info.
__Docs__
- [b501c40](https://github.com/joseluisq/static-web-server/commit/b501c40) Project Website - [sws.joseluisq.net](https://sws.joseluisq.net). PR [#56](https://github.com/joseluisq/static-web-server/pull/56).
- [b501c40](https://github.com/static-web-server/static-web-server/commit/b501c40) Project Website - [sws.joseluisq.net](https://sws.joseluisq.net). PR [#56](https://github.com/static-web-server/static-web-server/pull/56).
## v2.1.0 - 2021-10-23
__Fixes__
* [5f3842b](https://github.com/joseluisq/static-web-server/commit/5f3842b) Update dependencies including Hyper, Tokio, h2, futures, tracing bug/security fixes and related crates (also [5528bcb](https://github.com/joseluisq/static-web-server/commit/5528bcb), [dc98fbb](https://github.com/joseluisq/static-web-server/commit/dc98fbb)).
* [62e98c6](https://github.com/joseluisq/static-web-server/commit/62e98c6) `aarch64-unknown-linux-musl` build fails using Rust nightly.
* [5f3842b](https://github.com/static-web-server/static-web-server/commit/5f3842b) Update dependencies including Hyper, Tokio, h2, futures, tracing bug/security fixes and related crates (also [5528bcb](https://github.com/static-web-server/static-web-server/commit/5528bcb), [dc98fbb](https://github.com/static-web-server/static-web-server/commit/dc98fbb)).
* [62e98c6](https://github.com/static-web-server/static-web-server/commit/62e98c6) `aarch64-unknown-linux-musl` build fails using Rust nightly.
__Features__
- [abc76a8](https://github.com/joseluisq/static-web-server/commit/abc76a8) Basic HTTP Authentication support via the new `--basic-auth` option. PR [#55](https://github.com/joseluisq/static-web-server/pull/55) resolves [#53](https://github.com/joseluisq/static-web-server/issues/53) suggested by [@bjornharrtell](https://github.com/bjornharrtell).
- [abc76a8](https://github.com/static-web-server/static-web-server/commit/abc76a8) Basic HTTP Authentication support via the new `--basic-auth` option. PR [#55](https://github.com/static-web-server/static-web-server/pull/55) resolves [#53](https://github.com/static-web-server/static-web-server/issues/53) suggested by [@bjornharrtell](https://github.com/bjornharrtell).
__Refactorings__
- [0273611](https://github.com/joseluisq/static-web-server/commit/0273611) Prefer `futures-util` over `futures` dependency.
- [c3bfa68](https://github.com/joseluisq/static-web-server/commit/c3bfa68) Use [Rust 1.56.0 (2021 Edition)](https://blog.rust-lang.org/2021/10/21/Rust-1.56.0.html) on CI.
- [0273611](https://github.com/static-web-server/static-web-server/commit/0273611) Prefer `futures-util` over `futures` dependency.
- [c3bfa68](https://github.com/static-web-server/static-web-server/commit/c3bfa68) Use [Rust 1.56.0 (2021 Edition)](https://blog.rust-lang.org/2021/10/21/Rust-1.56.0.html) on CI.
__Docs__
- [f89c5c9](https://github.com/joseluisq/static-web-server/commit/f89c5c9) Describe Basic HTTP Authentication feature.
- [a6d0e53](https://github.com/joseluisq/static-web-server/commit/a6d0e53) Minor general description improvements.
- [f89c5c9](https://github.com/static-web-server/static-web-server/commit/f89c5c9) Describe Basic HTTP Authentication feature.
- [a6d0e53](https://github.com/static-web-server/static-web-server/commit/a6d0e53) Minor general description improvements.
## v2.0.3 - 2021-09-29
__Fixes__
* [5de5874](https://github.com/joseluisq/static-web-server/commit/5de5874) Update dependencies including Hyper, Tokio, http, futures, tracing bug fixes and related crates (also [1c6c873](https://github.com/joseluisq/static-web-server/commit/1c6c873) [34efa49](https://github.com/joseluisq/static-web-server/commit/34efa49), [6fb832b](https://github.com/joseluisq/static-web-server/commit/6fb832b))
* [5de5874](https://github.com/static-web-server/static-web-server/commit/5de5874) Update dependencies including Hyper, Tokio, http, futures, tracing bug fixes and related crates (also [1c6c873](https://github.com/static-web-server/static-web-server/commit/1c6c873) [34efa49](https://github.com/static-web-server/static-web-server/commit/34efa49), [6fb832b](https://github.com/static-web-server/static-web-server/commit/6fb832b))
__Refactorings__
- [b2f09ab](https://github.com/joseluisq/static-web-server/commit/b2f09ab) Remove optional extra Docker volume `/public` of `scratch` and `alpine` images. PR [#52](https://github.com/joseluisq/static-web-server/pull/52) resolves [#51](https://github.com/joseluisq/static-web-server/issues/51) reported by [@bergi9](https://github.com/bergi9).
- [906106f](https://github.com/joseluisq/static-web-server/commit/906106f) Remove never read `origins_str` field on Cors module.
- [6f7a6bc](https://github.com/joseluisq/static-web-server/commit/6f7a6bc) Fix Rust edition idioms.
- [b2f09ab](https://github.com/static-web-server/static-web-server/commit/b2f09ab) Remove optional extra Docker volume `/public` of `scratch` and `alpine` images. PR [#52](https://github.com/static-web-server/static-web-server/pull/52) resolves [#51](https://github.com/static-web-server/static-web-server/issues/51) reported by [@bergi9](https://github.com/bergi9).
- [906106f](https://github.com/static-web-server/static-web-server/commit/906106f) Remove never read `origins_str` field on Cors module.
- [6f7a6bc](https://github.com/static-web-server/static-web-server/commit/6f7a6bc) Fix Rust edition idioms.
__Tests__
* [166e869](https://github.com/joseluisq/static-web-server/commit/166e869) More Cors test cases.
* [166e869](https://github.com/static-web-server/static-web-server/commit/166e869) More Cors test cases.
## v2.0.2 - 2021-08-29
__Fixes__
* [ab83e2a](https://github.com/joseluisq/static-web-server/commit/ab83e2a) Update dependencies including Hyper, h2, httparse bug fixes. Tokio leak fix and related crates (also [adb8ca6](https://github.com/joseluisq/static-web-server/commit/adb8ca6))
* [ab83e2a](https://github.com/static-web-server/static-web-server/commit/ab83e2a) Update dependencies including Hyper, h2, httparse bug fixes. Tokio leak fix and related crates (also [adb8ca6](https://github.com/static-web-server/static-web-server/commit/adb8ca6))
## v2.0.1 - 2021-08-18
__Fixes__
* [2459ec4](https://github.com/joseluisq/static-web-server/commit/2459ec4) Return incorrect first bytes range when final bytes are requested. For example a request using `Range: bytes=-10` header returned incorrectly the first 10 bytes rather than the last 10 ones.
* [2459ec4](https://github.com/static-web-server/static-web-server/commit/2459ec4) Return incorrect first bytes range when final bytes are requested. For example a request using `Range: bytes=-10` header returned incorrectly the first 10 bytes rather than the last 10 ones.
__Updates__
* [122e1bd](https://github.com/joseluisq/static-web-server/commit/122e1bd) Update dependencies including Hyper and Tokio bug fixes, Brotli, Serde and related crates (also [0b413f9](https://github.com/joseluisq/static-web-server/commit/0b413f9), [fa130fa](https://github.com/joseluisq/static-web-server/commit/fa130fa), [167e1de](https://github.com/joseluisq/static-web-server/commit/167e1de), [fa32375](https://github.com/joseluisq/static-web-server/commit/fa32375), [2d1c5f3](https://github.com/joseluisq/static-web-server/commit/2d1c5f3))
* [122e1bd](https://github.com/static-web-server/static-web-server/commit/122e1bd) Update dependencies including Hyper and Tokio bug fixes, Brotli, Serde and related crates (also [0b413f9](https://github.com/static-web-server/static-web-server/commit/0b413f9), [fa130fa](https://github.com/static-web-server/static-web-server/commit/fa130fa), [167e1de](https://github.com/static-web-server/static-web-server/commit/167e1de), [fa32375](https://github.com/static-web-server/static-web-server/commit/fa32375), [2d1c5f3](https://github.com/static-web-server/static-web-server/commit/2d1c5f3))
__Refactorings__
* [8fc1812](https://github.com/joseluisq/static-web-server/commit/8fc1812) Remove needless borrow on static file and handle modules.
* [27f5687](https://github.com/joseluisq/static-web-server/commit/27f5687) UTF-8 for default Docker `index.html` file.
* [ffb2e54](https://github.com/joseluisq/static-web-server/commit/ffb2e54) Update Rust stable to 1.54.0 on CI.
* [8fc1812](https://github.com/static-web-server/static-web-server/commit/8fc1812) Remove needless borrow on static file and handle modules.
* [27f5687](https://github.com/static-web-server/static-web-server/commit/27f5687) UTF-8 for default Docker `index.html` file.
* [ffb2e54](https://github.com/static-web-server/static-web-server/commit/ffb2e54) Update Rust stable to 1.54.0 on CI.
__Tests__
* [5cdcffc](https://github.com/joseluisq/static-web-server/commit/5cdcffc) More directory listing test cases.
* [c7e8ec9](https://github.com/joseluisq/static-web-server/commit/c7e8ec9) More static files test cases.
* [37f2371](https://github.com/joseluisq/static-web-server/commit/37f2371) More static file methods and compression test cases.
* [dd7f995](https://github.com/joseluisq/static-web-server/commit/dd7f995) More static file test cases for during request handling.
* [5cdcffc](https://github.com/static-web-server/static-web-server/commit/5cdcffc) More directory listing test cases.
* [c7e8ec9](https://github.com/static-web-server/static-web-server/commit/c7e8ec9) More static files test cases.
* [37f2371](https://github.com/static-web-server/static-web-server/commit/37f2371) More static file methods and compression test cases.
* [dd7f995](https://github.com/static-web-server/static-web-server/commit/dd7f995) More static file test cases for during request handling.
__Docs__
* [f389cbc](https://github.com/joseluisq/static-web-server/commit/f389cbc) Minor badges and link updates.
* [f389cbc](https://github.com/static-web-server/static-web-server/commit/f389cbc) Minor badges and link updates.
## v2.0.0 - 2021-07-18
@@ -380,9 +380,9 @@ This list only shows new features not present in previous v1.
- Static Web Server is now asynchronous by default powered by latest Hyper and Tokio.
- It supports opt-in GZip, Deflate and Brotli compression for text-based web files only.
- HTTP/2 + TLS support (via `--http2` option).
- [Security headers](https://github.com/joseluisq/static-web-server/pull/44) like STS, CSP and others for HTTP/2 by default.
- [Security headers](https://github.com/static-web-server/static-web-server/pull/44) like STS, CSP and others for HTTP/2 by default.
- Customizable number of worker threads (via `--threads-multiplier` option).
- [Redesigned directory listing](https://github.com/joseluisq/static-web-server/pull/41) (via `--directory-listing` option).
- [Redesigned directory listing](https://github.com/static-web-server/static-web-server/pull/41) (via `--directory-listing` option).
- Cache control header is now optional (via `--cache-control-headers`).
- Ability to accept a socket listener as a file descriptor for use in sandboxing and on-demand applications (E.g [systemd](http://0pointer.de/blog/projects/socket-activation.html)). Via `--fd` option. Thanks to [@tim-seoss](https://github.com/tim-seoss).
- Binaries for various i686/x86_64 targets (Linux/Windows/FreeBSD) and ARM/ARM64 (Linux/Macos M1)
@@ -409,22 +409,22 @@ Changes after the latest `v2.0.0-beta.7` release:
__Performance__
- [157ade1](https://github.com/joseluisq/static-web-server/commit/157ade1) Decrease few allocations during 404/50x error page responses.
- [941572c](https://github.com/joseluisq/static-web-server/commit/941572c) Reduce few allocations on control headers checking.
- [157ade1](https://github.com/static-web-server/static-web-server/commit/157ade1) Decrease few allocations during 404/50x error page responses.
- [941572c](https://github.com/static-web-server/static-web-server/commit/941572c) Reduce few allocations on control headers checking.
__Features__
- [012b626](https://github.com/joseluisq/static-web-server/commit/012b626) Cache control headers optional via `--cache-control-headers`.
- [012b626](https://github.com/static-web-server/static-web-server/commit/012b626) Cache control headers optional via `--cache-control-headers`.
__Refactorings__
- [5aa587f](https://github.com/joseluisq/static-web-server/commit/5aa587f) Minor syntax improvements on static file module.
- [45988db](https://github.com/joseluisq/static-web-server/commit/45988db) Minor style updates on server module.
- [5aa587f](https://github.com/static-web-server/static-web-server/commit/5aa587f) Minor syntax improvements on static file module.
- [45988db](https://github.com/static-web-server/static-web-server/commit/45988db) Minor style updates on server module.
__Docs__
- [5bcc629](https://github.com/joseluisq/static-web-server/commit/5bcc629) FreeBSD targets description.
- [dffdf5c](https://github.com/joseluisq/static-web-server/commit/dffdf5c) Changelog support.
- [5bcc629](https://github.com/static-web-server/static-web-server/commit/5bcc629) FreeBSD targets description.
- [dffdf5c](https://github.com/static-web-server/static-web-server/commit/dffdf5c) Changelog support.
## v2.0.0-beta.7 - 2021-07-09
@@ -432,11 +432,11 @@ Seventh and last beta release `v2.0.0-beta.7` with notable changes.
__Updates__
- [9e90b38](https://github.com/joseluisq/static-web-server/commit/9e90b38) Hyper 0.14.10 dependency update which fixes two [security issues](https://github.com/hyperium/hyper/releases/tag/v0.14.10).
- [9e90b38](https://github.com/static-web-server/static-web-server/commit/9e90b38) Hyper 0.14.10 dependency update which fixes two [security issues](https://github.com/hyperium/hyper/releases/tag/v0.14.10).
__Features__
- [432b591](https://github.com/joseluisq/static-web-server/commit/432b591) FreeBSD i686 and x86_64 targets support.
- [432b591](https://github.com/static-web-server/static-web-server/commit/432b591) FreeBSD i686 and x86_64 targets support.
- i686-unknown-freebsd
- x86_64-unknown-freebsd
@@ -444,11 +444,11 @@ Find the binaries for new targets attached to this release.
__Performance__
- [70a76ed](https://github.com/joseluisq/static-web-server/commit/70a76ed) Optimize root path of static file module which increases performance and reduces memory usage.
- [70a76ed](https://github.com/static-web-server/static-web-server/commit/70a76ed) Optimize root path of static file module which increases performance and reduces memory usage.
__Codebase__
- [2aa130d](https://github.com/joseluisq/static-web-server/commit/2aa130d) Move source `./public` to `./docker` dir.
- [2aa130d](https://github.com/static-web-server/static-web-server/commit/2aa130d) Move source `./public` to `./docker` dir.
## v2.0.0-beta.6 - 2021-07-07
@@ -456,21 +456,21 @@ Sixth beta release `v2.0.0-beta.6` with notable changes.
__Updates__
- [33040d0](https://github.com/joseluisq/static-web-server/commit/33040d0) Update dependencies including latest Tokio and related crates (also [a4ef322](https://github.com/joseluisq/static-web-server/commit/a4ef322), [26b3fbc](https://github.com/joseluisq/static-web-server/commit/26b3fbc), [e07c333](https://github.com/joseluisq/static-web-server/commit/e07c333)).
- [33040d0](https://github.com/static-web-server/static-web-server/commit/33040d0) Update dependencies including latest Tokio and related crates (also [a4ef322](https://github.com/static-web-server/static-web-server/commit/a4ef322), [26b3fbc](https://github.com/static-web-server/static-web-server/commit/26b3fbc), [e07c333](https://github.com/static-web-server/static-web-server/commit/e07c333)).
__Fixes__
- [a1b7836](https://github.com/joseluisq/static-web-server/commit/a1b7836) Missing `Content-Type` header for directory listing index and error pages.
- [a1b7836](https://github.com/static-web-server/static-web-server/commit/a1b7836) Missing `Content-Type` header for directory listing index and error pages.
__Features__
- [e2bf778](https://github.com/joseluisq/static-web-server/commit/e2bf778) Windows 64-bit target support. It also improves Ctrl+C signal handling cross-platform. Note Windows ARM64 is in stand by temporarily, see README file for more details.
- [0fa5015](https://github.com/joseluisq/static-web-server/commit/0fa5015) Windows/Linux i686 targets support and one Windows x86_64
- [e2bf778](https://github.com/static-web-server/static-web-server/commit/e2bf778) Windows 64-bit target support. It also improves Ctrl+C signal handling cross-platform. Note Windows ARM64 is in stand by temporarily, see README file for more details.
- [0fa5015](https://github.com/static-web-server/static-web-server/commit/0fa5015) Windows/Linux i686 targets support and one Windows x86_64
- i686-pc-windows-msvc
- i686-unknown-linux-gnu
- i686-unknown-linux-musl
- x86_64-pc-windows-gnu
- [59cf8bc](https://github.com/joseluisq/static-web-server/commit/59cf8bc) More text-based mime types for compression.
- [59cf8bc](https://github.com/static-web-server/static-web-server/commit/59cf8bc) More text-based mime types for compression.
- text/csv
- text/calendar
- text/markdown
@@ -483,14 +483,14 @@ Find the binaries for new targets attached to this release and all targets suppo
__Refactorings__
- [2a699e4](https://github.com/joseluisq/static-web-server/commit/2a699e4) Follow symlinks during directory listing, displaying the index page properly for symlinks that points to directories or files.
- [b4f1bcc](https://github.com/joseluisq/static-web-server/commit/b4f1bcc) Prefer stabilized `Poll::map_err` on compression stream.
- [55ffd06](https://github.com/joseluisq/static-web-server/commit/55ffd06) Handle potential panic for 404/50x error page responses.
- [920acb2](https://github.com/joseluisq/static-web-server/commit/920acb2) Prefer `to_owned()` for string literals over `to_string()` in some cases.
- [c0dca6e](https://github.com/joseluisq/static-web-server/commit/c0dca6e) Improve directory path scanning when directory listing.
- [0ed6287](https://github.com/joseluisq/static-web-server/commit/0ed6287) Auto compression error result logging.
- [87b8744](https://github.com/joseluisq/static-web-server/commit/87b8744) Minor server config info updates.
- [b025536](https://github.com/joseluisq/static-web-server/commit/b025536) Minor code styling and docs changes.
- [2a699e4](https://github.com/static-web-server/static-web-server/commit/2a699e4) Follow symlinks during directory listing, displaying the index page properly for symlinks that points to directories or files.
- [b4f1bcc](https://github.com/static-web-server/static-web-server/commit/b4f1bcc) Prefer stabilized `Poll::map_err` on compression stream.
- [55ffd06](https://github.com/static-web-server/static-web-server/commit/55ffd06) Handle potential panic for 404/50x error page responses.
- [920acb2](https://github.com/static-web-server/static-web-server/commit/920acb2) Prefer `to_owned()` for string literals over `to_string()` in some cases.
- [c0dca6e](https://github.com/static-web-server/static-web-server/commit/c0dca6e) Improve directory path scanning when directory listing.
- [0ed6287](https://github.com/static-web-server/static-web-server/commit/0ed6287) Auto compression error result logging.
- [87b8744](https://github.com/static-web-server/static-web-server/commit/87b8744) Minor server config info updates.
- [b025536](https://github.com/static-web-server/static-web-server/commit/b025536) Minor code styling and docs changes.
__Release notes__
@@ -502,12 +502,12 @@ Fifth beta release `v2.0.0-beta.5` with notable changes.
__Updates__
- [5343a22](https://github.com/joseluisq/static-web-server/commit/5343a22) Update dependencies including latest Hyper, Tokio and related crates. (also [bcb8493](https://github.com/joseluisq/static-web-server/commit/bcb8493), [e51f969](https://github.com/joseluisq/static-web-server/commit/e51f969), [e51f969](https://github.com/joseluisq/static-web-server/commit/e51f969))
- [5343a22](https://github.com/static-web-server/static-web-server/commit/5343a22) Update dependencies including latest Hyper, Tokio and related crates. (also [bcb8493](https://github.com/static-web-server/static-web-server/commit/bcb8493), [e51f969](https://github.com/static-web-server/static-web-server/commit/e51f969), [e51f969](https://github.com/static-web-server/static-web-server/commit/e51f969))
__Features__
- [c96af53](https://github.com/joseluisq/static-web-server/commit/c96af53) Security headers for HTTP/2 by default (`--security-headers`). PR [#44](https://github.com/joseluisq/static-web-server/pull/44) resolves [#39](https://github.com/joseluisq/static-web-server/issues/39)
- [3c95d1a](https://github.com/joseluisq/static-web-server/commit/3c95d1a) Support five more targets. (also [e6faff8](https://github.com/joseluisq/static-web-server/commit/e6faff8))
- [c96af53](https://github.com/static-web-server/static-web-server/commit/c96af53) Security headers for HTTP/2 by default (`--security-headers`). PR [#44](https://github.com/static-web-server/static-web-server/pull/44) resolves [#39](https://github.com/static-web-server/static-web-server/issues/39)
- [3c95d1a](https://github.com/static-web-server/static-web-server/commit/3c95d1a) Support five more targets. (also [e6faff8](https://github.com/static-web-server/static-web-server/commit/e6faff8))
- `x86_64-unknown-linux-gnu`
- `aarch64-apple-darwin`
- `aarch64-unknown-linux-gnu`
@@ -525,10 +525,10 @@ In any case, please don't hesitate to file an issue or send a PR.
__Refactorings__
- [2b2da3a](https://github.com/joseluisq/static-web-server/commit/2b2da3a) `--http2-tls-cert` and `--http2-tls-key` options now require `--http2` enabled.
- [6fe04a5](https://github.com/joseluisq/static-web-server/commit/6fe04a5) Update Docker files in order to get the new Linux binary source.
- [77d231c](https://github.com/joseluisq/static-web-server/commit/77d231c) Drop redundant reference on CORS module.
- [d5189ec](https://github.com/joseluisq/static-web-server/commit/d5189ec) Drop root arc-path on static files module.
- [2b2da3a](https://github.com/static-web-server/static-web-server/commit/2b2da3a) `--http2-tls-cert` and `--http2-tls-key` options now require `--http2` enabled.
- [6fe04a5](https://github.com/static-web-server/static-web-server/commit/6fe04a5) Update Docker files in order to get the new Linux binary source.
- [77d231c](https://github.com/static-web-server/static-web-server/commit/77d231c) Drop redundant reference on CORS module.
- [d5189ec](https://github.com/static-web-server/static-web-server/commit/d5189ec) Drop root arc-path on static files module.
## v2.0.0-beta.4 - 2021-06-02
@@ -536,29 +536,29 @@ Fourth beta release `v2.0.0-beta.4` with notable changes.
__Updates__
- [a8b9379](https://github.com/joseluisq/static-web-server/commit/a8b9379) Binaries compiled with latest Rust [1.52.1](https://blog.rust-lang.org/2021/05/10/Rust-1.52.1.html) release.
- [c3389cc](https://github.com/joseluisq/static-web-server/commit/c3389cc) Update dependencies including latest Hyper, Tokio and related crates. (also [7cbe483](https://github.com/joseluisq/static-web-server/commit/7cbe483))
- [a8b9379](https://github.com/static-web-server/static-web-server/commit/a8b9379) Binaries compiled with latest Rust [1.52.1](https://blog.rust-lang.org/2021/05/10/Rust-1.52.1.html) release.
- [c3389cc](https://github.com/static-web-server/static-web-server/commit/c3389cc) Update dependencies including latest Hyper, Tokio and related crates. (also [7cbe483](https://github.com/static-web-server/static-web-server/commit/7cbe483))
__Features__
- [21bdf8c](https://github.com/joseluisq/static-web-server/commit/21bdf8c) Support inheriting TCP listener from parent process via file descriptor (`-f`, `--fd`). PR [#40](https://github.com/joseluisq/static-web-server/pull/40) by [@tim-seoss](https://github.com/tim-seoss).
- [5428eb3](https://github.com/joseluisq/static-web-server/commit/5428eb3) Redefined directory listing (`-z`, `--directory-listing`). PR [#41](https://github.com/joseluisq/static-web-server/pull/41)
- [d389803](https://github.com/joseluisq/static-web-server/commit/d389803) Opt-in response body auto compression (Gzip, Deflate, Brotli) based on `Accept-Encoding` header (`-x`, `--compression`).
- [74b9eaf](https://github.com/joseluisq/static-web-server/commit/74b9eaf) Just one file associated metadata per request as possible.
- [af9a329](https://github.com/joseluisq/static-web-server/commit/af9a329) CORS support (`-c`, ` --cors-allow-origins`).
- [6ed3fe5](https://github.com/joseluisq/static-web-server/commit/6ed3fe5) Unix-like termination signals handling.
- [21bdf8c](https://github.com/static-web-server/static-web-server/commit/21bdf8c) Support inheriting TCP listener from parent process via file descriptor (`-f`, `--fd`). PR [#40](https://github.com/static-web-server/static-web-server/pull/40) by [@tim-seoss](https://github.com/tim-seoss).
- [5428eb3](https://github.com/static-web-server/static-web-server/commit/5428eb3) Redefined directory listing (`-z`, `--directory-listing`). PR [#41](https://github.com/static-web-server/static-web-server/pull/41)
- [d389803](https://github.com/static-web-server/static-web-server/commit/d389803) Opt-in response body auto compression (Gzip, Deflate, Brotli) based on `Accept-Encoding` header (`-x`, `--compression`).
- [74b9eaf](https://github.com/static-web-server/static-web-server/commit/74b9eaf) Just one file associated metadata per request as possible.
- [af9a329](https://github.com/static-web-server/static-web-server/commit/af9a329) CORS support (`-c`, ` --cors-allow-origins`).
- [6ed3fe5](https://github.com/static-web-server/static-web-server/commit/6ed3fe5) Unix-like termination signals handling.
__Refactorings__
- [a8d462a](https://github.com/joseluisq/static-web-server/commit/a8d462a) Drop `Warp` in favor of just `Hyper` + `Tokio`. PR [#38](https://github.com/joseluisq/static-web-server/pull/38)
- [04ec1b1](https://github.com/joseluisq/static-web-server/commit/04ec1b1) One worker thread per available core by default (`-n`, `--threads-multiplier`).
- [991d4b8](https://github.com/joseluisq/static-web-server/commit/991d4b8) Introduce a custom Hyper service implementation for the HTTP1 & HTTP2 web servers.
- [58ff9b7](https://github.com/joseluisq/static-web-server/commit/58ff9b7) Reject non `HEAD` or `GET` requests on static assets and error page handlers.
- [5cede7e](https://github.com/joseluisq/static-web-server/commit/5cede7e) Log info for compression and directory listing features.
- [a8d462a](https://github.com/static-web-server/static-web-server/commit/a8d462a) Drop `Warp` in favor of just `Hyper` + `Tokio`. PR [#38](https://github.com/static-web-server/static-web-server/pull/38)
- [04ec1b1](https://github.com/static-web-server/static-web-server/commit/04ec1b1) One worker thread per available core by default (`-n`, `--threads-multiplier`).
- [991d4b8](https://github.com/static-web-server/static-web-server/commit/991d4b8) Introduce a custom Hyper service implementation for the HTTP1 & HTTP2 web servers.
- [58ff9b7](https://github.com/static-web-server/static-web-server/commit/58ff9b7) Reject non `HEAD` or `GET` requests on static assets and error page handlers.
- [5cede7e](https://github.com/static-web-server/static-web-server/commit/5cede7e) Log info for compression and directory listing features.
__Docs__
All feature flags as well as their equivalent environment variables are described on the updated [README](https://github.com/joseluisq/static-web-server#usage) file.
All feature flags as well as their equivalent environment variables are described on the updated [README](https://github.com/static-web-server/static-web-server#usage) file.
## v2.0.0-beta.3 - 2021-04-20
@@ -566,25 +566,25 @@ Third beta release `v2.0.0-beta.3` with notable changes.
__Updates__
- [7f29c90](https://github.com/joseluisq/static-web-server/commit/7f29c90) Binaries compiled with latest Rust [1.51.0](https://blog.rust-lang.org/2021/03/25/Rust-1.51.0.html) release.
- [97d75e0](https://github.com/joseluisq/static-web-server/commit/97d75e0) [Alpine 3.13](https://alpinelinux.org/posts/Alpine-3.13.0-released.html) Docker image.
- [97d75e0](https://github.com/joseluisq/static-web-server/commit/97d75e0) Update dependencies including latest **Tokio** `v1`, **Warp** `v0.3` (with **Hyper** `v0.14`) and related crates (also [e9384e9](https://github.com/joseluisq/static-web-server/commit/e9384e9), [5d4421d](https://github.com/joseluisq/static-web-server/commit/5d4421d))
- [7f29c90](https://github.com/static-web-server/static-web-server/commit/7f29c90) Binaries compiled with latest Rust [1.51.0](https://blog.rust-lang.org/2021/03/25/Rust-1.51.0.html) release.
- [97d75e0](https://github.com/static-web-server/static-web-server/commit/97d75e0) [Alpine 3.13](https://alpinelinux.org/posts/Alpine-3.13.0-released.html) Docker image.
- [97d75e0](https://github.com/static-web-server/static-web-server/commit/97d75e0) Update dependencies including latest **Tokio** `v1`, **Warp** `v0.3` (with **Hyper** `v0.14`) and related crates (also [e9384e9](https://github.com/static-web-server/static-web-server/commit/e9384e9), [5d4421d](https://github.com/static-web-server/static-web-server/commit/5d4421d))
__Refactorings__
- [5d8b266](https://github.com/joseluisq/static-web-server/commit/5d8b266) Static server configuration and static default error pages content.
- [e853410](https://github.com/joseluisq/static-web-server/commit/e853410) Drop support for Deflate compression.
- [bbb5a8f](https://github.com/joseluisq/static-web-server/commit/bbb5a8f) Improve log information on server runtime setup.
- [c05471f](https://github.com/joseluisq/static-web-server/commit/c05471f) Tokio server tasks simplifications.
- [7ea40a7](https://github.com/joseluisq/static-web-server/commit/7ea40a7) Minor CLI typos.
- [5d8b266](https://github.com/static-web-server/static-web-server/commit/5d8b266) Static server configuration and static default error pages content.
- [e853410](https://github.com/static-web-server/static-web-server/commit/e853410) Drop support for Deflate compression.
- [bbb5a8f](https://github.com/static-web-server/static-web-server/commit/bbb5a8f) Improve log information on server runtime setup.
- [c05471f](https://github.com/static-web-server/static-web-server/commit/c05471f) Tokio server tasks simplifications.
- [7ea40a7](https://github.com/static-web-server/static-web-server/commit/7ea40a7) Minor CLI typos.
__Fixes__
- [99b8b7e](https://github.com/joseluisq/static-web-server/commit/99b8b7e) Linking error for `ring` crate during Darwin build.
- [99b8b7e](https://github.com/static-web-server/static-web-server/commit/99b8b7e) Linking error for `ring` crate during Darwin build.
__Docs__
- [3c36c9b](https://github.com/joseluisq/static-web-server/commit/3c36c9b) Minor README description improvements.
- [3c36c9b](https://github.com/static-web-server/static-web-server/commit/3c36c9b) Minor README description improvements.
## v2.0.0-beta.2 - 2021-01-30
@@ -592,39 +592,39 @@ Second beta release `v2.0.0-beta.2` with notable changes.
__Updates__
- [9867d71](https://github.com/joseluisq/static-web-server/commit/9867d71) Update dependencies including latest **Tokio** `v1`, **Warp** `v0.3` (with **Hyper** `v0.14`) and related crates. (also [a4421c6](https://github.com/joseluisq/static-web-server/commit/a4421c6), [960a681](https://github.com/joseluisq/static-web-server/commit/960a681), [960a681](https://github.com/joseluisq/static-web-server/commit/960a681))
- [9867d71](https://github.com/static-web-server/static-web-server/commit/9867d71) Update dependencies including latest **Tokio** `v1`, **Warp** `v0.3` (with **Hyper** `v0.14`) and related crates. (also [a4421c6](https://github.com/static-web-server/static-web-server/commit/a4421c6), [960a681](https://github.com/static-web-server/static-web-server/commit/960a681), [960a681](https://github.com/static-web-server/static-web-server/commit/960a681))
__Features__
- [3007e74](https://github.com/joseluisq/static-web-server/commit/3007e74) **Project sponsor support.** Consider to support the project via [github.com/sponsors/joseluisq](https://github.com/sponsors/joseluisq) or [paypal.me/joseluisqs](https://paypal.me/joseluisqs).
- [360ae99](https://github.com/joseluisq/static-web-server/commit/360ae99) Worker threads multiplier option `--threads-multiplier` which provides the ability to customize number of worker threads.
- [ed0d6ac](https://github.com/joseluisq/static-web-server/commit/ed0d6ac) Custom error pages support.
- [4667b10](https://github.com/joseluisq/static-web-server/commit/4667b10) HTTP/2 + TLS support.
- [8c4ce94](https://github.com/joseluisq/static-web-server/commit/8c4ce94) CORS support.
- [3007e74](https://github.com/static-web-server/static-web-server/commit/3007e74) **Project sponsor support.** Consider to support the project via [github.com/sponsors/joseluisq](https://github.com/sponsors/joseluisq) or [paypal.me/joseluisqs](https://paypal.me/joseluisqs).
- [360ae99](https://github.com/static-web-server/static-web-server/commit/360ae99) Worker threads multiplier option `--threads-multiplier` which provides the ability to customize number of worker threads.
- [ed0d6ac](https://github.com/static-web-server/static-web-server/commit/ed0d6ac) Custom error pages support.
- [4667b10](https://github.com/static-web-server/static-web-server/commit/4667b10) HTTP/2 + TLS support.
- [8c4ce94](https://github.com/static-web-server/static-web-server/commit/8c4ce94) CORS support.
More details about features on [README](https://github.com/joseluisq/static-web-server/) file.
More details about features on [README](https://github.com/static-web-server/static-web-server/) file.
__Refactorings__
- [6d3e2d1](https://github.com/joseluisq/static-web-server/commit/6d3e2d1) Remove redundant `'static` lifetime on constants.
- [866c7cd](https://github.com/joseluisq/static-web-server/commit/866c7cd) Remove Tokio `macros` feature.
- [f7f2bf6](https://github.com/joseluisq/static-web-server/commit/f7f2bf6) Some improvement suggestions by `Clippy`.
- [bff49a0](https://github.com/joseluisq/static-web-server/commit/bff49a0) Few improvement on filter and helper modules.
- [6d3e2d1](https://github.com/static-web-server/static-web-server/commit/6d3e2d1) Remove redundant `'static` lifetime on constants.
- [866c7cd](https://github.com/static-web-server/static-web-server/commit/866c7cd) Remove Tokio `macros` feature.
- [f7f2bf6](https://github.com/static-web-server/static-web-server/commit/f7f2bf6) Some improvement suggestions by `Clippy`.
- [bff49a0](https://github.com/static-web-server/static-web-server/commit/bff49a0) Few improvement on filter and helper modules.
__Codebase__
- [7265f6b](https://github.com/joseluisq/static-web-server/commit/7265f6b) Github Actions as new CI.
- [c63b549](https://github.com/joseluisq/static-web-server/commit/c63b549) Remove Travis CI.
- [65250c0](https://github.com/joseluisq/static-web-server/commit/65250c0) Minor simplications on server module.
- [b94fe72](https://github.com/joseluisq/static-web-server/commit/b94fe72) Update core modules structure.
- [da5bdc3](https://github.com/joseluisq/static-web-server/commit/da5bdc3) Re-export few core lib modules.
- [57c27f4](https://github.com/joseluisq/static-web-server/commit/57c27f4) Deny(warnings) on lib
- [a3744d4](https://github.com/joseluisq/static-web-server/commit/a3744d4) Simplify conditionals on rejection filter.
- [7265f6b](https://github.com/static-web-server/static-web-server/commit/7265f6b) Github Actions as new CI.
- [c63b549](https://github.com/static-web-server/static-web-server/commit/c63b549) Remove Travis CI.
- [65250c0](https://github.com/static-web-server/static-web-server/commit/65250c0) Minor simplications on server module.
- [b94fe72](https://github.com/static-web-server/static-web-server/commit/b94fe72) Update core modules structure.
- [da5bdc3](https://github.com/static-web-server/static-web-server/commit/da5bdc3) Re-export few core lib modules.
- [57c27f4](https://github.com/static-web-server/static-web-server/commit/57c27f4) Deny(warnings) on lib
- [a3744d4](https://github.com/static-web-server/static-web-server/commit/a3744d4) Simplify conditionals on rejection filter.
__Docs__
- [933a3c4](https://github.com/joseluisq/static-web-server/commit/933a3c4) Feature documentations updates (also [0ef21c4](https://github.com/joseluisq/static-web-server/commit/0ef21c4))
- [78033d0](https://github.com/joseluisq/static-web-server/commit/78033d0) CLI arguments and environment variables descriptions.
- [933a3c4](https://github.com/static-web-server/static-web-server/commit/933a3c4) Feature documentations updates (also [0ef21c4](https://github.com/static-web-server/static-web-server/commit/0ef21c4))
- [78033d0](https://github.com/static-web-server/static-web-server/commit/78033d0) CLI arguments and environment variables descriptions.
## v2.0.0-beta.1 - 2021-01-12
@@ -633,7 +633,7 @@ First major beta release `v2.0.0-beta.1` with notable changes.
#### Built-in features
It uses **Tokio** `v0.2` and **Warp** `v0.2` (**Hyper** `v0.13`).
PR [#28](https://github.com/joseluisq/static-web-server/pull/28)
PR [#28](https://github.com/static-web-server/static-web-server/pull/28)
- Environment variables and CLI arguments setup
- Lightweight and configurable logging
@@ -650,8 +650,8 @@ PR [#28](https://github.com/joseluisq/static-web-server/pull/28)
#### Bugfixes
- Resolves [#24](https://github.com/joseluisq/static-web-server/issues/24) - Error on 8GB file
- Resolves [#24](https://github.com/static-web-server/static-web-server/issues/24) - Error on 8GB file
#### Additional features
- Resolves [#17](https://github.com/joseluisq/static-web-server/issues/17) - Make assets directory path optional. Since this major release doesn't include an assets dir just a root.
- Resolves [#17](https://github.com/static-web-server/static-web-server/issues/17) - Make assets directory path optional. Since this major release doesn't include an assets dir just a root.
@@ -3,8 +3,8 @@ name = "static-web-server"
version = "2.13.1"
authors = ["Jose Quintana <https://joseluisq.net>"]
license = "MIT OR Apache-2.0"
description = "A blazing fast and asynchronous web server for static files-serving."
repository = "https://github.com/joseluisq/static-web-server"
description = "A cross-platform, blazing fast and asynchronous web server for static files-serving."
repository = "https://github.com/static-web-server/static-web-server"
readme = "README.md"
keywords = [
"static-web-server",
@@ -13,7 +13,7 @@
</h4>
<div align="center">
<a href="https://github.com/joseluisq/static-web-server/actions/workflows/devel.yml" title="devel ci"><img src="https://github.com/joseluisq/static-web-server/actions/workflows/devel.yml/badge.svg?branch=master"></a>
<a href="https://github.com/static-web-server/static-web-server/actions/workflows/devel.yml" title="devel ci"><img src="https://github.com/static-web-server/static-web-server/actions/workflows/devel.yml/badge.svg?branch=master"></a>
<a href="https://hub.docker.com/r/joseluisq/static-web-server/" title="Docker Image Version (tag latest semver)"><img src="https://img.shields.io/docker/v/joseluisq/static-web-server/2"></a>
<a href="https://hub.docker.com/r/joseluisq/static-web-server/tags" title="Docker Image Size (tag)"><img src="https://img.shields.io/docker/image-size/joseluisq/static-web-server/2"></a>
<a href="https://hub.docker.com/r/joseluisq/static-web-server/" title="Docker Image"><img src="https://img.shields.io/docker/pulls/joseluisq/static-web-server.svg"></a>
@@ -37,7 +37,7 @@ It's cross-platform and available for `Linux`, `macOS`, `Windows` and `FreeBSD`
- Built with [Rust](https://rust-lang.org) which is focused on [safety, speed and concurrency](https://kornel.ski/rust-c-speed).
- Memory safe and very reduced CPU and RAM overhead.
- Blazing fast static files-serving and asynchronous powered by latest [Hyper](https://github.com/hyperium/hyper/), [Tokio](https://github.com/tokio-rs/tokio) and a set of [awesome crates](https://github.com/joseluisq/static-web-server/blob/master/Cargo.toml).
- Blazing fast static files-serving and asynchronous powered by latest [Hyper](https://github.com/hyperium/hyper/), [Tokio](https://github.com/tokio-rs/tokio) and a set of [awesome crates](https://github.com/static-web-server/static-web-server/blob/master/Cargo.toml).
- Single __4MB__ (uncompressed) and fully static binary with no dependencies ([Musl libc](https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html)). Suitable for running on [any Linux distro](https://en.wikipedia.org/wiki/Linux_distribution) or [Docker container](https://hub.docker.com/r/joseluisq/static-web-server/tags).
- Optional GZip, Deflate or Brotli compression for text-based web files only.
- Compression on-demand via [Accept-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding) header.
@@ -71,7 +71,7 @@ For more details about the API, usage and examples please have a look at [The Do
## Releases
- [Docker Images](https://hub.docker.com/r/joseluisq/static-web-server/)
- [Release Binaries](https://github.com/joseluisq/static-web-server/releases)
- [Release Binaries](https://github.com/static-web-server/static-web-server/releases)
- [Platforms/Architectures Supported](https://sws.joseluisq.net/platforms-architectures/)
## Benchmarks
@@ -82,14 +82,14 @@ See more details on [benchmark/BENCHMARKS.md](benchmark/BENCHMARKS.md)
## Notes
- If you're looking for `v1` please go to [1.x](https://github.com/joseluisq/static-web-server/tree/1.x) branch.
- If you're looking for `v1` please go to [1.x](https://github.com/static-web-server/static-web-server/tree/1.x) branch.
- If you want to migrate from `v1` to `v2` please take a look at [Migrating from `v1` to `v2`](https://sws.joseluisq.net/migration/) release.
## Contributions
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in current work by you, as defined in the Apache-2.0 license, shall be dual licensed as described below, without any additional terms or conditions.
Feel free to send some [Pull request](https://github.com/joseluisq/static-web-server/pulls) or file an [issue](https://github.com/joseluisq/static-web-server/issues).
Feel free to send some [Pull request](https://github.com/static-web-server/static-web-server/pulls) or file an [issue](https://github.com/static-web-server/static-web-server/issues).
## License
@@ -7,7 +7,7 @@ echo "Getting latest release number..."
curl \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token $GITHUB_TOKEN" \
"https://api.github.com/repos/joseluisq/static-web-server/releases?per_page=5&page=1" | \
"https://api.github.com/repos/static-web-server/static-web-server/releases?per_page=5&page=1" | \
jq -c "[ .[] | select( .tag_name | contains(\"v2.\")) ] | .[0]" | \
jq -r ".tag_name" > /tmp/version
@@ -14,7 +14,7 @@ RUN set -ex; \
"linux/arm/v6") target='arm-unknown-linux-musleabihf' ;; \
*) echo >&2 "error: unsupported $TARGETPLATFORM architecture"; exit 1 ;; \
esac; \
wget --quiet -O /tmp/static-web-server.tar.gz "https://github.com/joseluisq/static-web-server/releases/download/v${SERVER_VERSION}/static-web-server-v${SERVER_VERSION}-${target}.tar.gz"; \
wget --quiet -O /tmp/static-web-server.tar.gz "https://github.com/static-web-server/static-web-server/releases/download/v${SERVER_VERSION}/static-web-server-v${SERVER_VERSION}-${target}.tar.gz"; \
tar xzvf /tmp/static-web-server.tar.gz; \
cp static-web-server-v${SERVER_VERSION}-${target}/static-web-server /usr/local/bin/; \
rm -rf /tmp/static-web-server.tar.gz static-web-server-v${SERVER_VERSION}-${target}; \
@@ -26,7 +26,7 @@ ARG SERVER_VERSION=0.0.0
ENV SERVER_VERSION=${SERVER_VERSION}
LABEL version="${SERVER_VERSION}" \
description="A blazing fast and asynchronous web server for static files-serving." \
description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
maintainer="Jose Quintana <joseluisq.net>"
RUN apk --no-cache add ca-certificates tzdata
@@ -45,8 +45,8 @@ CMD ["static-web-server"]
LABEL org.opencontainers.image.vendor="Jose Quintana" \
org.opencontainers.image.url="https://github.com/joseluisq/static-web-server" \
org.opencontainers.image.url="https://github.com/static-web-server/static-web-server" \
org.opencontainers.image.title="Static Web Server" \
org.opencontainers.image.description="A blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.version="${SERVER_VERSION}" \
org.opencontainers.image.documentation="https://github.com/joseluisq/static-web-server"
org.opencontainers.image.documentation="https://github.com/static-web-server/static-web-server"
@@ -3,7 +3,7 @@ FROM alpine:3.16
ENV SERVER_VERSION=devel
LABEL version="${SERVER_VERSION}" \
description="A blazing fast and asynchronous web server for static files-serving." \
description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
maintainer="Jose Quintana <joseluisq.net>"
RUN apk --no-cache add ca-certificates tzdata
@@ -22,8 +22,8 @@ CMD ["static-web-server"]
# Metadata
LABEL org.opencontainers.image.vendor="Jose Quintana" \
org.opencontainers.image.url="https://github.com/joseluisq/static-web-server" \
org.opencontainers.image.url="https://github.com/static-web-server/static-web-server" \
org.opencontainers.image.title="Static Web Server" \
org.opencontainers.image.description="A blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.version="${SERVER_VERSION}" \
org.opencontainers.image.documentation="https://github.com/joseluisq/static-web-server"
org.opencontainers.image.documentation="https://github.com/static-web-server/static-web-server"
@@ -3,7 +3,7 @@ FROM scratch
ENV SERVER_VERSION=devel
LABEL version="${SERVER_VERSION}" \
description="A blazing fast and asynchronous web server for static files-serving." \
description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
maintainer="Jose Quintana <joseluisq.net>"
COPY ./docker/devel/static-web-server /
@@ -18,8 +18,8 @@ ENTRYPOINT ["/static-web-server"]
# Metadata
LABEL org.opencontainers.image.vendor="Jose Quintana" \
org.opencontainers.image.url="https://github.com/joseluisq/static-web-server" \
org.opencontainers.image.url="https://github.com/static-web-server/static-web-server" \
org.opencontainers.image.title="Static Web Server" \
org.opencontainers.image.description="A blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.version="${SERVER_VERSION}" \
org.opencontainers.image.documentation="https://github.com/joseluisq/static-web-server"
org.opencontainers.image.documentation="https://github.com/static-web-server/static-web-server"
@@ -10,8 +10,8 @@
<body>
<h1>Assets Page</h1>
<p>A blazing fast and asynchronous web server for static files-serving. ⚡</p>
<p><a href="https://github.com/joseluisq/static-web-server/" target="_blank">View on GitHub</a></p>
<p>A cross-platform, blazing fast and asynchronous web server for static files-serving. ⚡</p>
<p><a href="https://github.com/static-web-server/static-web-server/" target="_blank">View on GitHub</a></p>
<script src="/assets/main.js"></script>
</body>
@@ -8,8 +8,8 @@
</head>
<body>
<h1>Static Web Server</h1>
<p>A blazing fast and asynchronous web server for static files-serving. ⚡</p>
<p><a href="https://github.com/joseluisq/static-web-server/" target="_blank">View on GitHub</a></p>
<p>A cross-platform, blazing fast and asynchronous web server for static files-serving. ⚡</p>
<p><a href="https://github.com/static-web-server/static-web-server/" target="_blank">View on GitHub</a></p>
<script src="/assets/main.js"></script>
</body>
</html>
@@ -8,7 +8,7 @@ ARG SERVER_VERSION=0.0.0
ENV SERVER_VERSION=${SERVER_VERSION}
LABEL version="${SERVER_VERSION}" \
description="A blazing fast and asynchronous web server for static files-serving." \
description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
maintainer="Jose Quintana <joseluisq.net>"
COPY --from=build /usr/local/bin/static-web-server /
@@ -22,8 +22,8 @@ ENTRYPOINT ["/static-web-server"]
LABEL org.opencontainers.image.vendor="Jose Quintana" \
org.opencontainers.image.url="https://github.com/joseluisq/static-web-server" \
org.opencontainers.image.url="https://github.com/static-web-server/static-web-server" \
org.opencontainers.image.title="Static Web Server" \
org.opencontainers.image.description="A blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.description="A cross-platform, blazing fast and asynchronous web server for static files-serving." \
org.opencontainers.image.version="${SERVER_VERSION}" \
org.opencontainers.image.documentation="https://github.com/joseluisq/static-web-server"
org.opencontainers.image.documentation="https://github.com/static-web-server/static-web-server"
@@ -11,7 +11,7 @@ So make sure to install Rust [1.59.0](https://blog.rust-lang.org/2022/02/24/Rust
Then clone the repository and use [Cargo](https://doc.rust-lang.org/cargo/) to build the project from the source.
```sh
git clone https://github.com/joseluisq/static-web-server.git
git clone https://github.com/static-web-server/static-web-server.git
cd static-web-server
cargo build --release
```
@@ -32,7 +32,7 @@ It's only necessary to have [Docker](https://www.docker.com/get-started/) instal
By default the docs will be built in the `/tmp/docs` directory, to do so follow these steps.
```sh
git clone https://github.com/joseluisq/static-web-server.git
git clone https://github.com/static-web-server/static-web-server.git
cd static-web-server
mkdir /tmp/docs
docker run -it --rm \
@@ -48,7 +48,7 @@ docker run -it --rm \
If you want to improve the documentation then run the built-in development server via `docs/docker-compose.yml`.
```sh
git clone https://github.com/joseluisq/static-web-server.git
git clone https://github.com/static-web-server/static-web-server.git
cd static-web-server
docker-compose -f docs/docker-compose.yml up
```
@@ -12,7 +12,7 @@ $ static-web-server -h
static-web-server 2.13.1
Jose Quintana <https://joseluisq.net>
A blazing fast and asynchronous web server for static files-serving.
A cross-platform, blazing fast and asynchronous web server for static files-serving.
USAGE:
static-web-server [OPTIONS]
@@ -61,7 +61,7 @@ Specify an optional CORS list of allowed HTTP headers separated by commas. It re
Specify an optional CORS list of exposed HTTP headers separated by commas. It requires `SERVER_CORS_ALLOW_ORIGINS` to be used along with. Default `origin, content-type`.
### SERVER_COMPRESSION
`Gzip`, `Deflate` or `Brotli` compression on demand determined by the `Accept-Encoding` header and applied to text-based web file types only. See [ad-hoc mime-type list](https://github.com/joseluisq/static-web-server/blob/master/src/compression.rs#L20). Default `true` (enabled).
`Gzip`, `Deflate` or `Brotli` compression on demand determined by the `Accept-Encoding` header and applied to text-based web file types only. See [ad-hoc mime-type list](https://github.com/static-web-server/static-web-server/blob/master/src/compression.rs#L20). Default `true` (enabled).
### SERVER_COMPRESSION_STATIC
Look up the pre-compressed file variant (`.gz` or `.br`) on disk of a requested file and serves it directly if available. Default `false` (disabled). The compression type is determined by the `Accept-Encoding` header.
@@ -79,7 +79,7 @@ Specify a content format for the directory listing entries. Formats supported: `
Enable security headers by default when HTTP/2 feature is activated. Headers included: `Strict-Transport-Security: max-age=63072000; includeSubDomains; preload` (2 years max-age), `X-Frame-Options: DENY`, `X-XSS-Protection: 1; mode=block` and `Content-Security-Policy: frame-ancestors 'self'`. Default `false` (disabled).
### SERVER_CACHE_CONTROL_HEADERS
Enable cache control headers for incoming requests based on a set of file types. The file type list can be found on [`src/control_headers.rs`](https://github.com/joseluisq/static-web-server/blob/master//src/control_headers.rs) file. Default `true` (enabled).
Enable cache control headers for incoming requests based on a set of file types. The file type list can be found on [`src/control_headers.rs`](https://github.com/static-web-server/static-web-server/blob/master//src/control_headers.rs) file. Default `true` (enabled).
### SERVER_BASIC_AUTH
It provides [The "Basic" HTTP Authentication Scheme](https://datatracker.ietf.org/doc/html/rfc7617) using credentials as `user-id:password` pairs, encoded using `Base64`. Password must be encoded using the [BCrypt](https://en.wikipedia.org/wiki/Bcrypt) password-hashing function. Default empty (disabled).
@@ -1,5 +1,5 @@
# Contributions
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in current work by you, as defined in the [Apache License (Version 2.0)](https://github.com/joseluisq/static-web-server/blob/master/LICENSE-APACHE) license, shall be dual licensed as described below, without any additional terms or conditions.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in current work by you, as defined in the [Apache License (Version 2.0)](https://github.com/static-web-server/static-web-server/blob/master/LICENSE-APACHE) license, shall be dual licensed as described below, without any additional terms or conditions.
Feel free to send some [Pull request](https://github.com/joseluisq/static-web-server/pulls) or file an [issue](https://github.com/joseluisq/static-web-server/issues).
Feel free to send some [Pull request](https://github.com/static-web-server/static-web-server/pulls) or file an [issue](https://github.com/static-web-server/static-web-server/issues).
@@ -1,12 +1,12 @@
# Download and Install
Latest **v2.13.1** release `2022-10-17` ([changelog](https://github.com/joseluisq/static-web-server/releases/tag/v2.13.1))
Latest **v2.13.1** release `2022-10-17` ([changelog](https://github.com/static-web-server/static-web-server/releases/tag/v2.13.1))
<div class="featured-downloads">
<a class="md-button md-button-sm" href="https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-linux-gnu.tar.gz">Linux 64-bit</a> <a class="md-button md-button-sm" href="https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-apple-darwin.tar.gz">macOS 64-bit</a>
<a class="md-button md-button-sm" href="https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-pc-windows-msvc.zip">Windows 64-bit</a>
<a class="md-button md-button-sm" href="https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-freebsd.tar.gz">FreeBSD 64-bit</a>
<a class="md-button md-button-sm" href="https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-linux-gnu.tar.gz">Linux 64-bit</a> <a class="md-button md-button-sm" href="https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-apple-darwin.tar.gz">macOS 64-bit</a>
<a class="md-button md-button-sm" href="https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-pc-windows-msvc.zip">Windows 64-bit</a>
<a class="md-button md-button-sm" href="https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-freebsd.tar.gz">FreeBSD 64-bit</a>
</div>
@@ -48,48 +48,48 @@ Pre-compiled binaries grouped by CPU architectures.
### x86_64
- [static-web-server-v2.13.1-x86_64-apple-darwin.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-apple-darwin.tar.gz)<br>
- [static-web-server-v2.13.1-x86_64-apple-darwin.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-apple-darwin.tar.gz)<br>
<small>**SHA256SUM:** `3709aa9a09f3404452281166b2b6618fe2f37b02ed5e31a38a3ed59cd0a6467c`</small>
- [static-web-server-v2.13.1-x86_64-pc-windows-gnu.zip](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-pc-windows-gnu.zip)<br>
- [static-web-server-v2.13.1-x86_64-pc-windows-gnu.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-pc-windows-gnu.zip)<br>
<small>**SHA256SUM:** `5cd916e2506bcd8993d1f84ac2d41839370ed7d471c7eaba5853d7c4d1d2709b`</small>
- [static-web-server-v2.13.1-x86_64-pc-windows-msvc.zip](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-pc-windows-msvc.zip)<br>
- [static-web-server-v2.13.1-x86_64-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-pc-windows-msvc.zip)<br>
<small>**SHA256SUM:** `dc68e7c0005394141487cce757ba6d078efa0ad9a03752df24dc077d16f7dbdf`</small>
- [static-web-server-v2.13.1-x86_64-unknown-freebsd.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-freebsd.tar.gz)<br>
- [static-web-server-v2.13.1-x86_64-unknown-freebsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-freebsd.tar.gz)<br>
<small>**SHA256SUM:** `cf14c5ad2feb68347a5b78900226ba2da626f53fa058c812569e6f2023c39989`</small>
- [static-web-server-v2.13.1-x86_64-unknown-linux-gnu.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-linux-gnu.tar.gz)<br>
- [static-web-server-v2.13.1-x86_64-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-linux-gnu.tar.gz)<br>
<small>**SHA256SUM:** `a337d708010866e605ea8dfc3fd8b54804c7f0ae99ab4072639962928a63ac29`</small>
- [static-web-server-v2.13.1-x86_64-unknown-linux-musl.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-linux-musl.tar.gz)<br>
- [static-web-server-v2.13.1-x86_64-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-x86_64-unknown-linux-musl.tar.gz)<br>
<small>**SHA256SUM:** `c5b255d5d6d869d53836dc4e4d48230116281ba5a5de0dc65a2133e2faf88017`</small>
### ARM64
- [static-web-server-v2.13.1-aarch64-unknown-linux-gnu.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-aarch64-unknown-linux-gnu.tar.gz)<br>
- [static-web-server-v2.13.1-aarch64-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-aarch64-unknown-linux-gnu.tar.gz)<br>
<small>**SHA256SUM:** `1a66a44233c5a8ee3c8960d56bd7297bc3c9ef9cdfef00d1cc9282d712957043`</small>
- [static-web-server-v2.13.1-aarch64-unknown-linux-musl.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-aarch64-unknown-linux-musl.tar.gz)<br>
- [static-web-server-v2.13.1-aarch64-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-aarch64-unknown-linux-musl.tar.gz)<br>
<small>**SHA256SUM:** `189450e4098257a17f354d04ec62274beec68517fa70c1925c49896378a899d1`</small>
- [static-web-server-v2.13.1-aarch64-apple-darwin.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-aarch64-apple-darwin.tar.gz)<br>
- [static-web-server-v2.13.1-aarch64-apple-darwin.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-aarch64-apple-darwin.tar.gz)<br>
<small>**SHA256SUM:** `015579af6123cf9e41b1c90cd9d20bc3f57a4b739b2cd94ebe04be89589380cd`</small>
### x86
- [static-web-server-v2.13.1-i686-pc-windows-msvc.zip](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-pc-windows-msvc.zip)<br>
- [static-web-server-v2.13.1-i686-pc-windows-msvc.zip](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-pc-windows-msvc.zip)<br>
<small>**SHA256SUM:** `7e12e7b04b74d9b9534e04055b6ae9a6f606686b2b415a6413644317c50a47f3`</small>
- [static-web-server-v2.13.1-i686-unknown-freebsd.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-unknown-freebsd.tar.gz)<br>
- [static-web-server-v2.13.1-i686-unknown-freebsd.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-unknown-freebsd.tar.gz)<br>
<small>**SHA256SUM:** `5f7c1e8fb20e0fe3d59d93fbe7fe424d2311571902db6d497c1bf73f0b66e5d7`</small>
- [static-web-server-v2.13.1-i686-unknown-linux-gnu.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-unknown-linux-gnu.tar.gz)<br>
- [static-web-server-v2.13.1-i686-unknown-linux-gnu.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-unknown-linux-gnu.tar.gz)<br>
<small>**SHA256SUM:** `2b2682aad721d6e2fb39d21163c36fac8da4a358840756941440357a1b0118d9`</small>
- [static-web-server-v2.13.1-i686-unknown-linux-musl.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-unknown-linux-musl.tar.gz)<br>
- [static-web-server-v2.13.1-i686-unknown-linux-musl.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-i686-unknown-linux-musl.tar.gz)<br>
<small>**SHA256SUM:** `f56145646bcbe5f25066d7615b14a08b874267391d1232126c7e004385a7c202`</small>
### ARM
- [static-web-server-v2.13.1-arm-unknown-linux-gnueabihf.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-arm-unknown-linux-gnueabihf.tar.gz)<br>
- [static-web-server-v2.13.1-arm-unknown-linux-gnueabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-arm-unknown-linux-gnueabihf.tar.gz)<br>
<small>**SHA256SUM:** `b919e9ffa47fdbb0156749778cfb3acd76c2add7e51d4f943bebf8decd02a106`</small>
- [static-web-server-v2.13.1-arm-unknown-linux-musleabihf.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-arm-unknown-linux-musleabihf.tar.gz)<br>
- [static-web-server-v2.13.1-arm-unknown-linux-musleabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-arm-unknown-linux-musleabihf.tar.gz)<br>
<small>**SHA256SUM:** `90419d620f0d0ad8a962f0820217a40073745d09140b61e57dfbcf5088d97b67`</small>
- [static-web-server-v2.13.1-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/joseluisq/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-armv7-unknown-linux-musleabihf.tar.gz)<br>
- [static-web-server-v2.13.1-armv7-unknown-linux-musleabihf.tar.gz](https://github.com/static-web-server/static-web-server/releases/download/v2.13.1/static-web-server-v2.13.1-armv7-unknown-linux-musleabihf.tar.gz)<br>
<small>**SHA256SUM:** `dd770775ffc2e605e8b043cbb8701c1869911fcc0fffc126e9863ba483e0c892`</small>
## All Releases
See all [available releases](https://github.com/joseluisq/static-web-server/releases).
See all [available releases](https://github.com/static-web-server/static-web-server/releases).
@@ -12,7 +12,7 @@ option.
## Systemd
If you're using `systemd` on Linux, there is a fully working example in the SWS Git repository under the [.`/systemd`](https://github.com/joseluisq/static-web-server/tree/master/systemd) directory.
If you're using `systemd` on Linux, there is a fully working example in the SWS Git repository under the [.`/systemd`](https://github.com/static-web-server/static-web-server/tree/master/systemd) directory.
## Testing
@@ -10,7 +10,7 @@ It means that when a `SIGTERM` [termination signal](https://www.gnu.org/software
## Grace Period
Sometimes one wants to control the graceful shutdown process for different reasons. For example during [Kubernetes rollouts](https://github.com/joseluisq/static-web-server/issues/79).
Sometimes one wants to control the graceful shutdown process for different reasons. For example during [Kubernetes rollouts](https://github.com/static-web-server/static-web-server/issues/79).
In these situations, SWS allows delaying the graceful shutdown process right after a `SIGTERM` providing a *grace period* in seconds.
@@ -13,7 +13,7 @@
</h4>
<div align="center">
<a href="https://github.com/joseluisq/static-web-server/actions/workflows/devel.yml" title="devel ci"><img src="https://github.com/joseluisq/static-web-server/actions/workflows/devel.yml/badge.svg?branch=master"></a>
<a href="https://github.com/static-web-server/static-web-server/actions/workflows/devel.yml" title="devel ci"><img src="https://github.com/static-web-server/static-web-server/actions/workflows/devel.yml/badge.svg?branch=master"></a>
<a href="https://hub.docker.com/r/joseluisq/static-web-server/" title="Docker Image Version (tag latest semver)"><img src="https://img.shields.io/docker/v/joseluisq/static-web-server/2"></a>
<a href="https://hub.docker.com/r/joseluisq/static-web-server/tags" title="Docker Image Size (tag)"><img src="https://img.shields.io/docker/image-size/joseluisq/static-web-server/2"></a>
<a href="https://hub.docker.com/r/joseluisq/static-web-server/" title="Docker Image"><img src="https://img.shields.io/docker/pulls/joseluisq/static-web-server.svg"></a>
@@ -34,14 +34,14 @@ It's cross-platform and available for Linux, macOS, Windows and FreeBSD (`x86`,`

!!! tip "Tips"
- If you're looking for `v1` please go to [1.x branch](https://github.com/joseluisq/static-web-server/tree/1.x).
- If you want to migrate from `v1` to `v2` please take a look at [v2.0.0](https://github.com/joseluisq/static-web-server/releases/tag/v2.0.0) release notes.
- If you're looking for `v1` please go to [1.x branch](https://github.com/static-web-server/static-web-server/tree/1.x).
- If you want to migrate from `v1` to `v2` please take a look at [v2.0.0](https://github.com/static-web-server/static-web-server/releases/tag/v2.0.0) release notes.
## Features
- Built with [Rust](https://rust-lang.org) which is focused on [safety, speed and concurrency](https://kornel.ski/rust-c-speed).
- Memory safe and very reduced CPU and RAM overhead.
- Blazing fast static files-serving and asynchronous powered by latest [Hyper](https://github.com/hyperium/hyper/), [Tokio](https://github.com/tokio-rs/tokio) and a set of [awesome crates](https://github.com/joseluisq/static-web-server/blob/master/Cargo.toml).
- Blazing fast static files-serving and asynchronous powered by latest [Hyper](https://github.com/hyperium/hyper/), [Tokio](https://github.com/tokio-rs/tokio) and a set of [awesome crates](https://github.com/static-web-server/static-web-server/blob/master/Cargo.toml).
- Single __4MB__ (uncompressed) and fully static binary with no dependencies ([Musl libc](https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html)). Suitable for running on [any Linux distro](https://en.wikipedia.org/wiki/Linux_distribution) or [Docker container](https://hub.docker.com/r/joseluisq/static-web-server/tags).
- Optional GZip, Deflate or Brotli compression for text-based web files only.
- Compression on-demand via [Accept-Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding) header.
@@ -1,5 +1,5 @@
# License
This work is primarily distributed under the terms of both the [MIT license](https://github.com/joseluisq/static-web-server/blob/master/LICENSE-MIT) and the [Apache License (Version 2.0)](https://github.com/joseluisq/static-web-server/blob/master/LICENSE-APACHE).
This work is primarily distributed under the terms of both the [MIT license](https://github.com/static-web-server/static-web-server/blob/master/LICENSE-MIT) and the [Apache License (Version 2.0)](https://github.com/static-web-server/static-web-server/blob/master/LICENSE-APACHE).
© 2019-present [Jose Quintana](https://github.com/joseluisq)
@@ -1,6 +1,6 @@
# Semantic Versioning
**`SWS`** project adheres to [Semantic Versioning](https://semver.org/) for every release like [`v1`](https://github.com/joseluisq/static-web-server/blob/1.x/CHANGELOG.md) and the latest [`v2`](https://github.com/joseluisq/static-web-server/blob/master/CHANGELOG.md).
**`SWS`** project adheres to [Semantic Versioning](https://semver.org/) for every release like [`v1`](https://github.com/static-web-server/static-web-server/blob/1.x/CHANGELOG.md) and the latest [`v2`](https://github.com/static-web-server/static-web-server/blob/master/CHANGELOG.md).
## Breaking changes
@@ -114,7 +114,7 @@ REPORTING BUGS
Report bugs and feature requests in the issue tracker. Please do your best to provide a reproducible test case for bugs.
https://github.com/joseluisq/static-web-server/issues
https://github.com/static-web-server/static-web-server/issues
AUTHORS
-------
@@ -7,7 +7,7 @@ dev_addr: 0.0.0.0:8000
repo_name: joseluisq/static-web-server
repo_url: https://github.com/joseluisq/static-web-server/
repo_url: https://github.com/static-web-server/static-web-server/
edit_uri: edit/master/docs/content/
docs_dir: 'content'
@@ -146,8 +146,8 @@ nav:
- 'Trailing Slash Redirect': 'features/trailing-slash-redirect.md'
- 'Platforms & Architectures': 'platforms-architectures.md'
- 'Migration from v1 to v2': 'migration.md'
- 'Changelog v2 (latest stable)': 'https://github.com/joseluisq/static-web-server/blob/master/CHANGELOG.md'
- 'Changelog v1 (stable)': 'https://github.com/joseluisq/static-web-server/blob/1.x/CHANGELOG.md'
- 'Changelog v2 (latest stable)': 'https://github.com/static-web-server/static-web-server/blob/master/CHANGELOG.md'
- 'Changelog v1 (stable)': 'https://github.com/static-web-server/static-web-server/blob/1.x/CHANGELOG.md'
- 'Semantic Versioning': 'semantic-versioning.md'
- 'Contributions': 'contributions.md'
- 'License': 'license.md'
@@ -93,7 +93,7 @@ pub fn auto_index<'a>(
}
const STYLE: &str = r#"<style>html{background-color:#fff;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:20rem;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{padding:1rem;font-family:Consolas,'Liberation Mono',Menlo,monospace;font-size:.875rem;max-width:70rem;margin:0 auto;color:#4a4a4a;font-weight:400;line-height:1.5}h1{margin:0;padding:0;font-size:1.375rem;line-height:1.25;margin-bottom:0.5rem;}table{width:100%;border-spacing: 0;}table th,table td{padding:.2rem .5rem;white-space:nowrap;vertical-align:top}table th a,table td a{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:95%;vertical-align:top}table tr:hover td{background-color:#f5f5f5}footer{padding-top:0.5rem}table tr th{text-align:left;}</style>"#;
const FOOTER: &str = r#"<footer>Powered by <a target="_blank" href="https://github.com/joseluisq/static-web-server">static-web-server</a> | MIT & Apache 2.0</footer>"#;
const FOOTER: &str = r#"<footer>Powered by <a target="_blank" href="https://sws.joseluisq.net">static-web-server</a> | MIT & Apache 2.0</footer>"#;
const DATETIME_FORMAT_UTC: &str = "%FT%TZ";
const DATETIME_FORMAT_LOCAL: &str = "%F %T";