Static Web Server Versions Save

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

v2.28.0

2 months ago

This new v2.28.0 release brings security dependency updates and bug fixes. Cancellation ability to shut down the server gracefully on demand when using the library, Docker examples and Windows Firewall instructions as well as other improvements.

Fixes

  • 769daf1 Bugfix/security dependency updates including mio, ring, http, rustls-pemfile, regex, chrono, clap and other crates (also a97cc77).
  • e031a7d Docker: Debian 12.5 image update.
  • b6444f4 Crate: TryFrom imported redundantly in Rust nightly. PR #318 by @yonas.

Features

  • afd6a87 Crate: Cancellation ability for server::Server::run_server_on_rt and server::Server::run_standalone functions in Linux/BSDs. PR #319 resolves #315 suggested by @hanaTsuk1.

Refactorings

  • a68349c Crate: Add targets to Crate docs.rs metadata.
  • afa8575 Misc: Refactor the static files module and delegate functionality to separated files. PR #329.

Docs

  • 9fb2111 Windows Firewall rule instructions for the Windows service feature. See docs.
  • 668ecfe Docker, Kubernetes, Treafik and related examples. It resolves #323 suggested by @hanscees. See docs.

v2.27.0

3 months ago

This new v2.27.0 release brings a few dependency updates and bug fixes. Two new Cargo feature flags and fixes a regression introduced by the previous release when building SWS from source.

Fixes

  • ec93d6c Bugfix/security dependency updates including chrono, indexmap, thiserror and other crates.

Features

  • 1a6caa4 Crate: New all and experimental Cargo feature flags. PR #313 also fixes #312 reported by @mattfbacon. See docs.

v2.26.0

3 months ago

This new v2.26.0 release brings several dependency security updates and bug fixes. Support for Range requests out of bounds, experimental Tokio Runtime metrics for Prometheus, new Discord server as well as other improvements.

Fixes

  • 80af0aa Bugfix/security dependency updates including tokio, regex, chrono, libc, toml, serde and other crates. Also 1d4f423
  • 5623799 Docker: Alpine 3.18.6 update.
  • a7dc6ac Docker: linux/s590x and linux/ppc64le images are missing dependencies. PR #309 resolves #308 reported by @glehmann.
    • It is solved by dropping support for the linux/ppc64le and linux/s390x of the Alpine Scratch images because those binaries provided are not static-linked. Prefer the Debian image variant for those targets instead.

Features

  • 71dd54f Support for Range requests out of bounds. PR #306 resolves #295 suggested by @bjornharrtell.
  • d4427eb Experimental Tokio Runtime metrics for Prometheus via the new --experimental-metrics option (Unix/Linux). PR #307 by @pl4nty.
  • fd15914 New SWS Discord server.

Refactorings

  • 563367c Minimum Rust stable version 1.74.0.
  • 370d288 Misc: Base fuzz and micro-benchmark testing for static files module. PR #310.

Acknowledgments

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

v2.25.0

3 months ago

This new v2.25.0 release brings several dependency security updates and bug fixes. An optional Host URI support for the URL Redirects feature, a bug fix when capturing a Glob pattern using brace expansion for URL Rewrites/Redirects as well as other improvements.

Fixes

  • 477ed00 Bugfix/security dependency updates including rustls, h2, regex, chrono, libc, async-compression, serde and other crates (also 32e86aa).
  • 42f52e8 Wrong Glob brace expansion capture in URL Rewrites/Redirects. PR #304.
  • 9f2a4f0 Docker: Alpine 3.18.5 update.

Features

Refactorings

  • 83e4277 Migrate TLS module to use tokio-rustls 0.25. PR #303.
  • 1bbc703 CI: Cache Rust toolchain and Cargo directories for CI devel workflow. PR #300.
  • 67a2403 CI: Prefer cross precompiled binary on CI devel workflow.
  • ef9876a CI: Prefer cross precompiled binary on CI release workflow.

Docs

  • 3076d08 Optional Host uri support for URL Redirects feature. See docs.
  • dedefc5 Fix a few page typos.

Acknowledgments

Thanks to our new donors for supporting the project.

v2.24.2

4 months ago

This new v2.24.2 release brings general dependency security updates, bug fixes and improvements.

Fixes

  • 5554522 Bugfix/security dependency updates including hyper, tokio, rustls/ring, h2, tracing, regex, toml, futures, serde and other crates.
    • Other commit updates: 16f4afd, 76dc853, 12dfb56
  • 8cdb305 Docker: Debian 12.4 update.
  • af203ca Docker: Alpine 3.17.6 update.

Refactorings

  • 96ec477 Consistency when importing several types.
  • ab67bd7 Misc: GitHub issue and pull request template improvements. PR #294. Also a9d509e.

v2.24.1

6 months ago

This new v2.24.1 release brings dependency security updates and bug fixes. In particular, it fixes an issue when executing the previous Windows ARM64 build as well as other minor improvements.

Fixes

  • c0c88f1 Bugfix/security dependency updates including tokio, http, rustls-pemfile, tracing, clap and other crates.
  • f4e9142 Windows ARM64 binary does not execute due to missing DLLs. PR #290.

Refactorings

  • 990bb7c Statically link the C runtime for Windows MSVC x86 (32-bit) build. PR #291.

Docs

  • e99d989 Fix typos in README file. PR #287 by @dynamite-bud (also a987e37).

Misc

  • 3099dba CI: Manual Docker build CI workflow for testing. PR #286.
  • 680323c CI: Manual release build CI workflow for testing. PR #288.

v2.24.0

6 months ago

This new v2.24.0 release brings dependency security updates and bug fixes. It introduces three new targets (PowerPC (PPC64LE), S390x and Windows ARM64). Features like automatic TOML configuration file detection at startup and 404/50x error pages loading at runtime as well as several improvements.

Fixes

  • e767938 Bugfix/security dependency updates including ring, rustls, regex, clap, serde, futures, brotli and other crates (also b0c0775).
  • 4fa09ab CI: cross does not build when using libc 0.2.149+ on NetBSD.

Features

  • e89ce29 Automatic TOML configuration file detection at startup. PR #281. See docs.
  • fd4bfd4 Linux PowerPC (PPC64LE) and S390x targets (also Docker images). PR #159. See docs.
  • 02c6d3e Windows ARM64 target. PR #283. See docs.
  • 1fa9261 Load 404 and 50x error pages at runtime. PR #284 resolves #98 reported by @Dexus.

Refactorings

  • 4de9acd Allowed methods response for OPTIONS file requests. PR #278.
  • d06ad0f Remove some unused TLS configuration APIs and use defaults directly. PR #279.
  • ab16187 Improve the server maintenance mode debug logs. PR #282.

Docs

  • 2798725 Linux PowerPC (PPC64LE) and S390x targets information. See docs.

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

7 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

7 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.