Skip to content

Releases: static-web-server/static-web-server

v2.38.0

21 Jul 20:53
v2.38.0
e15d42f
Compare
Choose a tag to compare

This new v2.38.0 release brings several security and bug fixes and support for a less-generic sws.toml default config file as well as other improvements.

Fixes

  • 8c435ad Bugfix/security dependency updates including tokio, rustls, serde, toml, async-compression, clap and other crates. PR #552 by @joseluisq
  • 47ce050 Update Alpine (3.20.7) & Debian (12.11) Docker images. PR #553 by @joseluisq

Features

  • acd8388 Add a less-generic config file sws.toml support as default. PR #551 by @davlgd.
    • Migration: The previous default config.toml file name will be supported for a while, but it's recommended to use sws.toml instead.

For more details see the v2.38.0 milestone and the full changelog v2.37.0...v2.38.0.

v2.37.0

03 Jun 21:00
v2.37.0
b67202b
Compare
Choose a tag to compare

This new v2.37.0 release brings several security and bug fixes. New features like the possibility to download directories as tarballs, better control for server log ANSI output, end of support for a few unmaintained Windows platforms and other improvements.

End of support for unmaintained Windows 7, 8, 8.1 platforms

As anticipated in v2.36.1, SWS no longer supports Windows 7, 8, and 8.1 platforms. SWS now requires Rust 1.82.0 or later to build, and the minimum supported Windows platform is Windows 10.

Cargo experimental feature restored

The Cargo experimental feature is part of the binary release again (v2.37.0 and future releases).

Fixes

  • b56e3c4 Bugfix/security dependency updates including tokio, rustls, chrono, flate2, windows-service, serde and other crates. SWS now requires Rust 1.82.0 or later to build. PR #546, #545 by @joseluisq
  • a384d92 Update Alpine 3.20.6 and Debian 12.10 Docker images. PR #539 by @joseluisq
  • cb19995 Generic server log info output even on higher log levels. PR #542 by @joseluisq fixes #541 reported by @Tasssadar.

Features

  • 89f5846 Support for downloading a directory as a compressed tarball (tar.gz) via the new --directory-listing-download=targz option. PR #544 by @ekangmonyet resolves #67 suggested by @shirshak55. See docs.
  • 0236980 Control log ANSI output via new boolean --log-with-ansi=true option (SWS is now no-ANSI by default). PR #543 resolves #540 suggested by @Tasssadar. See docs.

Refactorings

For more details see the v2.37.0 milestone and the full changelog v2.36.1...v2.37.0.

Acknowledgments

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

v2.36.1

01 Apr 22:16
v2.36.1
ab44158
Compare
Choose a tag to compare

This new v2.36.1 release brings several security and bug fixes and is the last version supporting legacy Windows 7, 8, 8.1 platforms.

Security patch for RUSTSEC-2024-0437

This release temporarily removes the experimental Cargo feature from the resulting static-web-server binary (but not the Cargo feature itself) to prevent shipping the security vulnerability (RUSTSEC-2024-0437 #530) in this release.

The experimental Cargo feature (that includes experimental features like metrics and in-memory cache) will be restored to be part of the binary again in the next release.

End support for unmaintained Windows 7, 8, 8.1 platforms

As we mentioned a year ago (#447), SWS would not continue supporting legacy Windows 7, 8, and 8.1 platforms for so long as Microsoft stopped support for Windows 7 in 2020 and Rust requires Windows 10 as the minimum supported platform since 1.78.

Today, we announce that v2.36.1 is the last release supporting such legacy platforms and having Rust 1.76.0 as MSRV.
Future releases will bump up the MSRV when convenient and will require Windows 10 as the minimum supported platform.
However, although we will try to provide a patch for users wanting to build SWS manually for those legacy platforms in the future, we cannot fully guarantee that SWS will continue building for the aforementioned platforms.

Fixes

  • ad4c171 Bugfix/security dependency updates including tokio, httparse, ring, rustls, bytes, serde and other crates. PR #532.
  • 5fbd0c5 CORS: Add missing Origin to the Vary header value when CORS feature is enabled. PR #534 resolves #533 reported by @rbozan.

For more details see the v2.36.1 milestone and the full changelog v2.36.0...v2.36.1.

v2.36.0

10 Feb 20:49
v2.36.0
95b1f7b
Compare
Choose a tag to compare

This new v2.36.0 release brings several security and bug fixes. A bugfix for the trailing slash redirect, a new feature to log from the X-Real-IP HTTP header as well as other improvements.

Fixes

  • aadca81 Bugfix/security dependency updates including httparse, rustls, clap, bcrypt, maud, bytes and other crates. PR #524.
  • 99aa74d Docker: Update Alpine (3.19.6) and Debian (12.9) Docker images. PR #518.
  • a639039 Add missing query string to the URI trailing slash redirect. PR #523.

Features

Refactorings

  • 8fa9cda Improve fallback page path checking and logging. PR #522.
  • 0053d74 CI: Improve post-release updates workflow. PR #525.

For more details see the v2.36.0 milestone and the full changelog v2.35.0...v2.36.0.

v2.35.0

10 Jan 17:33
v2.35.0
82c5483
Compare
Choose a tag to compare

This new v2.35.0 release brings several security and bug fixes. A bugfix for the directory listing, new development Docker images as well as other improvements.

Fixes

  • c236674 Bugfix/security dependency updates including hyper, tokio, rustls, glob, serde, time and other crates. PR #515.
  • 206900b Directory listing HTML content outside of body tag. PR #511 by @alxv-su.
  • 35bb607 CI: NetBSD 9.2 broken source link used by cross CI cross-compiling tool. PR #513

Features

Refactorings

Docs

For more details see the v2.35.0 milestone and the full changelog v2.34.0...v2.35.0.

Acknowledgments

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

v2.34.0

03 Dec 23:25
v2.34.0
49cd6e6
Compare
Choose a tag to compare

This new v2.34.0 release brings several security and bug fixes. Better X-Forwarded-For handling and other improvements.

Breaking

  • URL Redirects/Rewrites: Single Glob wildcard (*) will no longer match a path separator (/) in source but double wildcard (**) can be used instead if wanted. See docs below.
  • Log Remote Address: log-remote-address option will no longer log from the X-Forwarded-For header by default. It has to be opted-in together with the new log-forwarded-for option. See docs below.

Fixes

  • 93479ba Bugfix/security dependency updates including tokio, rustls, regex, tracing, flate2, serde, async-compression and other crates. PR #502.
  • 4ed4bb4 Docker: Update Alpine (3.19.4) and Debian (12.8) Docker images. PR #505.
  • 0768c20 CI: Update deprecated macos-12 Github Actions runner to macos-14.

Features

  • 13e3f38 Better X-Forwarded-For handling via the new log-forwarded-for and trusted-proxies options. PR #495 by @Jeidnx. See docs.

Refactorings

  • 96ed7df breaking: Prevent single Glob wildcard (*) from matching a path separator (/) in URL Redirect's source. PR #501 by @mschoettle. See docs.
  • 2737f4c breaking: Prevent single Glob wildcard (*) from matching a path separator (/) in URL Rewrite's source. PR #506 by @mschoettle. See docs.
  • 5516b6a Misc: Improve tests for URL Redirects feature. PR #503 by @mschoettle.

Docs

For more details see the v2.34.0 milestone and the full changelog v2.33.1...v2.34.0.

v2.33.1

02 Nov 09:26
v2.33.1
f102212
Compare
Choose a tag to compare

This new v2.33.1 release brings several security and bug fixes as well as other minor improvements.

Fixes

  • 93479ba Bugfix/security dependency updates including hyper, tokio, httparse, rustls, regex, once_cell, flate2, async-compression and other crates. PR #490.

Refactorings

Docs

  • 30a6409 Minor tweaks to man-pages-completions.md page.

For more details see the v2.33.1 milestone and the full changelog v2.33.0...v2.33.1.

v2.33.0

17 Sep 21:50
v2.33.0
e6a3487
Compare
Choose a tag to compare

This new v2.33.0 release brings several security and bug fixes. New features like experimental in-memory files cache with eviction policy support, new subcommand to generate man pages and shell completions as well as other improvements.

Note that experimental features are subject to change in future releases. Feel free to give it a try and let us know your feedback.

Fixes

  • e25b586 Bugfix/security dependency updates including tokio, rustls, serde, toml, once_cell, flate2, clap and other crates. PR #479.
  • a3d40b8 Crate: Issues when building SWS without default features. PR #480.
  • 6bb6138 Docker: Update Alpine (3.18.9) and Debian (12.7) Docker images. PR #478.

Features

  • 5bdfcd4 Advanced: Experimental in-memory files cache with eviction policy support via a new advanced config option. See PR #328 description for usage and details.
  • ec85abd Crate: Add in-memory files cache to the experimental Cargo feature. See PR #482 description for more details.
    • MSRV update: Note that due to this change, the SWS's Minimum Supported Rust Version is now 1.76.0 when building from source or using it as a library. See docs.
  • d567b4e CLI: Support for generating man pages and shell completions via new generate subcomand. PR #475 by @jcgruenhage. See docs.

For more details see the v2.33.0 milestone and the full changelog v2.32.2...v2.33.0.

Acknowledgments

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

v2.32.2

13 Aug 22:03
v2.32.2
e61c97e
Compare
Choose a tag to compare

This new v2.32.2 release brings several security and bug fixes as well as other improvements.

Fixes

  • 634dd98 Bugfix/security dependency updates including tokio, rustls, serde, toml, zstd, clap and other crates. PR #472.
  • a72c7b3 Wrong Content-Encoding when serving a pre-compressed file if compression and compression-static features are enabled. PR #471 fixes #470 reported by @davinkevin.
  • dd48972 CLI (regression): Boolean flags without explicit values do not work. PR #468 fixes #467 reported by @stardustman.
  • 915d040 Tests: Not able to run tests via Cargo when passing non-SWS arguments. PR #466 fixes #465 reported by @fpletz.

Refactorings

  • f228a7a Misc: Add a Make task for building all development Docker images.

For more details see the v2.32.2 milestone and the full changelog v2.32.1...v2.32.2.

v2.32.1

20 Jul 22:01
v2.32.1
97da457
Compare
Choose a tag to compare

This new v2.32.1 release brings several security and bug fixes as well as other improvements.

Fixes

  • cfa3567 Bugfix/security dependency updates including hyper, tokio, rustls, jemallocator, url, zstd, toml, mime_guess and other crates. PR #463.
  • 87ce30d Docker: Update Debian Docker images to 12.6. PR #461.
  • 057239d Docker: Update Alpine Docker images to 3.18.7. PR #459.

Refactorings

Docs

  • 25b1b1c Improve feature, versioning pages and remove dead links. PR #460.

For more details see the v2.32.1 milestone and the full changelog v2.32.0...v2.32.1.