Static Web Server Versions Save

A cross-platform, high-performance and asynchronous web server for static files-serving. ⚡

v2.23.0

7 months ago

This new v2.23.0 release brings several dependency updates and bug fixes. New features like multiple index files and maintenance mode support, more performance and resource optimizations (~15% less memory usage), a bug fix for the JSON directory listing, documentation for using SWS in WebAssembly and TrueNAS SCALE as well as other improvements.

Fixes

  • 85ea7c4 Bugfix/security dependency updates including tokio, regex, clap, async-compression (zstd, flate2), tracing, serde and other crates (also 27cb09d).
  • 7c5df01 Wrong directory type for empty files in JSON directory listing. PR #271 resolves #270 reported by @carueda.
  • 89d70d0 Docker: Debian 12.2 image update.
  • aeebc6f Installer: Installer script breakage. PR #274 resolves #273 reported by @kzhui125.
  • e3cd810 Crate: Docs links in compression module.

Features

  • efb2c0c Multiple index files support. PR #267 resolves #257 suggested by @moinologics. See docs.
  • 9e50491 Maintenance mode support. PR #272 resolves #268 suggested by @tuxpizza. See docs.

Refactorings

  • d53c252 Optimize buffer size for static file reads (Linux/Unix targets). PR #269.

Docs

  • 7a407c6 WebAssembly page and Wasmer Wasix example. See docs.
  • b70058c TrueNAS SCALE installation via TrueCharts. See docs.
  • ddbf881 Improve content across several pages.

Acknowledgments

Thanks to our new donor @kirillt for supporting the project.

v2.22.1

8 months ago

This new v2.22.1 release brings several dependency updates and bug fixes. In particular, it fixes an issue when capturing glob groups for URL Rewrites and Redirects.

Fixes

  • 0b5f590 Bugfix/security dependency updates including aho-corasick (regex), clap, syn and other crates.
  • 2e3e49f URL Rewrites and Redirects do not capture glob groups like /dir/{*} correctly. PR #265 resolves #264 reported by @clembu.

v2.22.0

8 months ago

This new v2.22.0 release brings several dependency updates and bug fixes. It fixes a performance regression leading to better RAM utilization (~28% less) in comparison to the previous releases with a slight req/sec increase, a new Illumos x86_64 target, as well as improved responsiveness of the directory listing HTML page for mobile and desktop screens.

Fixes

  • 232677c Bugfix/security dependency updates including rustls, async-compression, chrono, clap, serde, regex and other crates. Also b2322a9.

Features

  • 2ec408c Illumos x86_64 target. PR #258.

Refactorings

  • 698a244 Prefer optional slice references for several vector data arguments.
  • 257d47f Remove typed headers when appending cache-control.
  • 48d1910 Improve the responsiveness of the directory listing HTML view. PR #260 resolves #259 reported by @anantakrishna.
  • e551d67 Increase MSRV to 1.70.0.

v2.21.1

9 months ago

This new v2.21.1 release brings several security dependency updates. In particular for serde_derive and rustls-webpki dependencies.

We encourage users to upgrade as soon as possible.

Fixes

  • c6172b4 Security dependency updates including serde_derive, rustls-webpki, h2 and other crates.
    • serde_derive: potential supply chain attack associated with shipping precompiled binaries (silently) serde-rs/serde#2538
    • rustls-webpki: potential CPU denial of service in certificate path building GHSA-fh2r-99q2-6mmg

v2.21.0

9 months ago

This new v2.21.0 release brings several dependency updates and bug fixes, a new NetBSD x86_64 target, Virtual Hosting support, and other improvements.

Fixes

  • 91d8bf1 Bugfix/security dependency updates including tokio, regex, clap, serde, globset and other crates.
  • 2142053 Docker: Alpine 3.17.5 update.
  • 37a5113 Docker: Debian 12.1 update.

Features

  • 94e050b NetBSD x86_64 target (x86_64-unknown-netbsd).
  • 7baf569 Virtual Hosting support. PR #252 by @mac-chaffee resolves #171 suggested by @kshpytsya. See docs.

Docs

  • 3f63a0b docs: improve several feature pages.

v2.20.2

10 months ago

This new v2.20.2 release brings several dependency updates and bug fixes. Also, it fixes a regression in Windows introduced by the previous v2.20.1 release.

Fixes

  • bba9083 Bugfix/security dependency updates including jemallocator, rustls, clap, serde, globset and other crates.
  • 8cc073f Unable to initialize logger in Windows. #248 reported by @tripplet.

Refactorings

  • e9d33ca Basic-auth check request function.

v2.20.1

10 months ago

This new v2.20.1 release brings several dependency updates and bug fixes. In particular, one fix for a regression introduced by the previous v2.20.0 release as well as other improvements.

Fixes

  • 1fe464b Bugfix/security dependency updates including zstd, clap, serde, bcrypt, globset, signal and other crates (also b763b50).
  • 3cf13dc URL Rewrites and Redirects don't work properly without replacements. PR #244 fixes #243 reported by @domi2120.
  • 8da2b69 Alpine 3.17.4.

Refactorings

  • 949c539 Initialize log system at config level.
  • 7fc0e1b Improve start-up server log information.
  • 032aaf3 CI: Post-release script and devel Makefile.

v2.20.0

10 months ago

This new v2.20.0 release brings several dependency updates and bug fixes, advanced features like Glob pattern replacements for URL Redirects and Rewrites, a new health-check endpoint, GitHub Container Registry (GHCR) Docker images as well as other improvements.

Fixes

  • 9b84786 Bugfix/security dependency updates including tokio, hyper, h2, rustls, clap, serde and other crates (also 9b84786).
  • b8473aa Potential panic when invalid content range.
  • 2331c88 CI: Post-release update script.

Features

  • 4a10635 Docker: GitHub Container Registry (GHCR) Docker images. PR #232 resolves #225 suggested by @jcgruenhage. See docs.
  • 06955e9 Redirect option for URL Rewrites feature. PR #231. See docs.
  • 3a47ef6 Replacements support for URL Rewrites destination. PR #235. See docs.
  • 7c66c5c Replacements support for URL Redirects destination. PR #239. See docs.
  • b42214b Health-check endpoint. PR #238 resolves #237 by @glehmann. See docs.

Refactorings

  • 1bce204 Improve auto index options.
  • b2e4e49 Improve directory listing styling for HTML display.
  • e23a06d Lib: Crate docs metadata.

Docs

  • 506f54e Systemd service example. See docs.
  • eb2887f Nix package and module maintainers (@figsoda, @mac-chaffee). See docs.
  • 031931f GHCR Docker images description. See docs.
  • 21c90db Several documentation improvements.

Acknowledgments

Thanks to our new donor @kirillt for supporting the project.

v2.19.0

11 months ago

This new v2.19.0 release brings several dependency updates/bug fixes (including minor versions), a new Debian 12 "bookworm" Docker image, more Cargo features for controlling the SWS feature set when building, bug fixes for the SWS crate and one regression for the fallback-page feature, documentation for cross-compiling SWS from source using Zig as a linker as well as other improvements.

Fixes

  • d258803 Bugfix/security dependency updates including clap, async-compression, zstd, tokio-rustls, toml, pin-project, form_urlencoded, percent-encoding and other crates.
  • 3e4bd47 Value is required for fallback-page when passing no CLI or env value. PR #219 fixes #218 reported by @OdyX.
  • 558fd96 Lib: Unresolved/unused imports when building without Cargo features.
  • 911a1c2 Misc: Fix some module typos.
  • b751b40 CI: Wrong release tag for checksums workflow.

Features

  • 3adf75e Docker: Debian 12 "bookworm" Docker image using statically-linked binary (musl libc). See docs.
  • 79a93f6 Lib: directory-listing Cargo feature. PR #220. See docs.
  • a8144d6 Lib: basic-auth Cargo feature. PR #221. See docs.
  • 680c8aa Lib: fallback-page Cargo feature. PR #222. See docs.

Refactorings

  • 986b663 Lib: Enable Crate docsrs config flag.
  • 9e635bd Lib: Improve Cargo docs for some SWS features.
  • a0f92f5 CI: Post-release updates script.

Docs

v2.18.0

1 year ago

This new v2.18.0 release brings several dependency updates/bug fixes, SWS bug fixes for the security-headers and page-fallback features, the C runtime in Windows x86_64 is now statically linked, the possibility to use CLI boolean flags without explicit values as well as some refactorings and improvements.

Fixes

  • ddfc00b Bugfix/security dependency updates including clap, parking_lot, libc, percent-encoding, form_urlencoded, regex and other crates.
  • cbb21c0 security-headers not enabled by default when using http2 via config file. PR #216 fixes #210 resported by @mac-chaffee.
  • 91519c9 Obsolete X-XSS-Protection header on security-headers (also d5279ff). Reported on #213 by @picchietti.
  • e183ea3 Missing SWS base modules when page-fallback is enabled. Reported on #213 by @picchietti. The following SWS modules are now used when page-fallback feature is activated:
    • cors
    • compression
    • cache_control_headers
    • security_headers
    • custom_headers
  • fba6665 CI: Workflow fails to generate proper checksums.

Features

  • 2150c74 Support for CLI boolean flags without explicit values (E.g. static-web-server -d public/ --compression -z). PR #215 resolves #209 suggested by @mac-chaffee.

Refactorings

  • fa0cca5 Statically link the C runtime on Windows MSVC x86_64 to avoid the VCRUNTIME140.dll.
  • a75147e Lib: Rust nightly toolchain for crate docs.
  • 520e66d CI: Increase verbosity of cargo build across pipelines.

Acknowledgments

Thanks to our new donor @picchietti for supporting the project.