static-web-server

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

APACHE-2.0 License

Downloads
17.2K
Stars
1.2K
Committers
33

Bot releases are visible (Hide)

static-web-server - v2.15.0

Published by github-actions[bot] over 1 year ago

This new v2.15.0 release brings several dependency updates, one bug fix for compression-static, new features like Tokio's --max-blocking-threads or .html auto suffix for directory requests, the possibility to build SWS on non-Unix/Windows platforms and performance optimizations and improvements across several modules including static_file which speeds up SWS around ~4.37% more req/sec for almost the same computing.

Fixes

  • 5d49c09 Bugfix/security dependency updates including hyper, tokio, futures, serde, h2, listenfd, windows-service, bcrypt, chrono and other crates.
  • 06cba46 Compression static auto index.html check missing. PR #186 resolves #178 reported by @glehmann.

Features

  • 40a532e Nix installation support. See docs.
  • b9fa2bf Support for Tokio's --max-blocking-threads via new option. PR #181 by @syrusakbary, @john-sharratt.
  • 7ed7b03 Support for auto .html suffix when a directory request path doesn't exist. PR #180 by @syrusakbary.
  • 87a0896 Optional http2 Cargo feature. PR #183 by @syrusakbary, @john-sharratt.

Refactorings

  • b2cff1b Optimize cache control headers file type detection. PR #175 by @mfontanini.
  • 9796d35 Several performance optimizations and code improvements. PR #177 by @mfontanini.
  • 22123c1 Make signals support optional for non-Unix/Windows targets. PR #185 by @syrusakbary, @john-sharratt.
  • 7490697 Improve compression_static module's result type.
  • 7c68b8c Improve static_file module's composed file metadata.
  • 200fce0 Enable new Cargo sparse protocol on CI for devel/prod pipelines.
  • db063e4 Replace unmaintained actions-rs/clippy-check on CI.

Docs

  • a4250fd Mention Cargo features when running or building from source. See docs.

Acknowledgments

Thanks to our new donnors @marcusbuffett and @scottsweb for supporting the project.

static-web-server - v2.14.2

Published by github-actions[bot] over 1 year ago

Fixes

  • 495f3ae Bugfix/security dependency updates including hyper, tokio, tikv-jemallocator, futures, rustls, toml, serde, parking_lot and other crates. Also (41a9b0b).
  • 7b81f0c Explicit Alpine 3.16.4 Docker images update.
  • e81b277 Unnecessary u32 cast on directory listing last modified function.

Refactorings

  • 2cf9008 Remove TOML incompatibility hacks.
  • d9f9204 Minor clippy syntax and format improvements.
  • 190db74 Project Minimum Supported Rust Version (MSRV) is now 1.66.0.
static-web-server - v1.19.4

Published by github-actions[bot] almost 2 years ago

Fixes

  • ed1a023 Security/bug-fixes updates for openssl, libc, flate2, chrono, once_cell, nix and other dependencies.
  • a7f7cc5 Needless borrow on staticfile module for Rust 1.66.0.

End of Life (2023-01-06): Version 1.x is no longer supported. Please upgrade to latest v2 stable version.
The v2 has similar and added features as well as performance and security improvements.
See how to migrate from v1 to v2 for more details.

static-web-server - v2.14.1

Published by github-actions[bot] almost 2 years ago

Fixes

  • e723716 Bugfix/security dependency updates including tokio-macros, flate2, parking_lot, serde and other crates.
  • b431c68 Panic on compression-static when root dir is a dot and client supports compression. PR #166 fixes #165 by @eduardo-gomes.
static-web-server - v2.14.0

Published by github-actions[bot] almost 2 years ago

Fixes

  • ff69788 Bugfix/security dependency updates including tokio, hyper, chrono, listenfd, num_cpus, windows-service, serde, regex and other crates. (also d1baad6, efda237, 676d7e9)
  • 9d67d9d Unhandled panic when get "last modified" info on directory_listing module.
  • 6f059fd Needless borrow on signals module.
  • edc3fdf Update CI cross dependency to latest 0.2.x.

Breaking

  • a09ff1f Add missing SERVER prefix for the REDIRECT_TRAILING_SLASH env. PR #161.
    NOTE: This is a breaking change only if the previous REDIRECT_TRAILING_SLASH env was used explicitly.
    Otherwise, if not set/used (default behavior) or using the equivalent CLI argument then there is no impact or action required.
    However, we highly encourage users to prefer SERVER_REDIRECT_TRAILING_SLASH env instead.

Features

  • 800416d Ignore hidden files/directories (dotfiles) via the new --ignore-hidden-files option. PR #162. See docs.

Refactorings

  • 6798ff7 Reduce allocations when using the fixed HTTP method list.
  • 2828f58 Strip symbols on release profile via Cargo.
  • ea4c24c Reorder imports on TLS module.
  • 0e538dd Introduce http-related extension traits. PR #160.
  • fb3fb23 Move project to its static-web-server organization.
  • 5435f3c Simplify FreeBSD test and release CI pipelines.
  • d66494c Project files clean up.

Docs

  • 2fc36b4 Benchmarks page. PR #155.
  • 5097738 Clarify benchmark context and remarks. PR #157 resolves #156 suggested by @mufeedvh.
  • 70f37f6 Minor environment variables fixes. PR #158 by @funkyfuture.

Advice about the new organization change

Certainly, there is no impact if you still rely on previous Github release links (E.g pre-compiled binaries) because they are always redirected permanently.
However, since we moved to a new organization, we highly encourage you to update your links using the new GitHub address of the static-web-server organization.

static-web-server - v2.13.1

Published by github-actions[bot] about 2 years ago

Fixes

  • 41dd5c6 Bugfix/security dependency updates including cxx and proc-macro2 crates.
  • abef785 Directory listing JSON syntax error when requesting for an empty folder.

Refactorings

  • d1b72fd Significant ~58% performance boost for serving static files and ~10% (CPU) / ~52% (RAM) less resource utilization. PR #153 resolves #146 reported by @jonashaag.
static-web-server - v2.13.0

Published by github-actions[bot] about 2 years ago

Fixes

  • cce7a85 Bugfix/security dependency updates including jemallocator, http headers, async-compression, rustls-pemfile, tracing and other crates (also ed8dec3, ea0facd).
  • 3c863fd Directory listing links not encoded properly. PR #150 fixes #149 reported by @nestor-custodio.

Features

  • f369c80 CORS exposed headers support via new --cors-expose-headers option. PR #144 by @nelsonjchen. See docs.
  • 997e493 HTML/JSON support for directory listing entries via new --directory-listing-format option. PR #151 resolves #128 suggested by @skayo. See docs.

Refactorings

  • 61d4bb2 Restore ANSI terminal colors for Unix systems previously disabled.

Docs

  • 3d8c74b Directory listing format description.

Codebase

  • 6a5ed83 Update CI workflow dependencies.
static-web-server - v2.12.0

Published by github-actions[bot] about 2 years ago

Fixes

  • 467affc Bugfix/security dependency updates including tokio, serde, tracing, h2, httparse, futures and other crates (also 303d1b4, c340f8f).
  • 82caf15 Potential segfault in the time crate. RUSTSEC-2020-0071 #142
  • 76fd7ea Unmaintained ansi_term crate. RUSTSEC-2021-0139 #143

Features

  • 91b6ba2 Relative paths for directory listing entries. PR #137 resolves #136 suggested by @jtackaberry. See docs.
  • 5f10771 Log Real Remote IP in case of proxies. PR #138 by @dlvoy. See docs.
  • 48f9458 Support for serving pre-compressed (Gzip/Brotli) files. PR #139 resolves #114 suggested by @JonasGilg. See docs.

Refactorings

  • e9a4aa3 Directory listing module.
  • eee45f9 Remove indirections on static file module (performance improvement).

Docs

  • 59a75e6 Fix documentation typos. PR #140 by @kianmeng.
  • 3ca743a Page for pre-compressed files serving feature. See docs.
  • 88a886f Building project from source now requires Rust 1.59.0 or later. See docs.

Codebase

  • 5148da9 CI workflow for Rust security audit.
  • 28f8818 CI development job for typos. PR #141 by @kianmeng.
static-web-server - v2.11.0

Published by github-actions[bot] about 2 years ago

Fixes

  • 1b7636c Bugfix/security dependency updates including tokio, serde, tracing, libc, futures and other crates (also 6840d0f, 32517b6).
  • 6570498 Enable the missing windows-service option when used via the config file.

Features

  • 904c3cb New redirect-trailing-slash option. PR #131 by @phartenfeller. See docs.

Docs

  • 10f403f Redirect trailing slash feature page.
  • e4228af Typos and content improvements (also e674940).
static-web-server - v2.10.0

Published by github-actions[bot] over 2 years ago

Fixes

  • b902cb7 Bugfix/security dependency updates including tokio, hyper, tracing, jemallocator and other crates (also 5c9b797, 4cf9a6b).
  • b73959f Fix wrong prefix config file path (\\?\) when logging on Windows.

Features

  • 5163564 URL Rewrites with pattern matching support. PR #122. See docs.
  • 5ef3b62 URL Redirects with pattern matching support. PR #123. See docs.
  • 9072977 Homebrew installation support for MacOS/Linux. See docs.
  • 975132f Scoop installation support for Windows. See docs.
  • 78a5611 Alpine 3.16 Docker image.

Docs

  • b0ca3d1 Several doc typo fixes.
static-web-server - v1.19.3

Published by github-actions[bot] over 2 years ago

Updates

  • 32541ec Security/bug-fixes updates for openssl, jemallocator, flate2, log, httparse, libc and other dependencies.
  • d3ebbf3 Update Alpine Docker image to 3.15.
static-web-server - v2.9.0

Published by github-actions[bot] over 2 years ago

Fixes

  • 446576a Bugfix/security dependency updates including tokio, hyper, rustls, compression, windows-rs, serde, log and other crates (also fa531a0, 0879c84).

Features

  • 3d1776d Windows Service support via new --windows-service option. PR #110 resolves #65 suggested by @bubnenkoff. See docs.
  • bd78034 Include request URI on tracing log for 404/50x errors. #108 suggested by @stappersg.
  • b49395a Log request file with its remote address (IP) via new --log-remote-address option. PR #112 resolves #111 suggested by @nicheath. See docs.

Docs

  • a793b58 Improve basic auth feature page. See docs.
  • ae0dcfd Windows Service feature page. See docs.
  • 2d71de6 Log remote address feature. See docs.
static-web-server - v2.8.0

Published by github-actions[bot] over 2 years ago

Fixes

  • 446576a Bugfix/security dependency updates including http, tokio, httparse, windows-rs, serde, log and other crates.

Features

  • 1fd3e48 Configuration file support. PR #101. See docs.
  • 62ebe52 Custom HTTP headers via config file. See docs.

Refactorings

  • 9f4bbd7 Update tokio-rustls to v0.23.
  • 024531c Move to maintained jemallocator (tikv-jemallocator) on Linux (Musl libc).
  • 3e40153 Remove deprecated git.io link. PR #103 by @renbaoshuo.
  • 959c325 PathBuf data type for cli/file config path options.

Docs

7dda2ea Config file and custom http headers.

static-web-server - v1.19.2

Published by github-actions[bot] over 2 years ago

Updates

  • fb015db Security/bug-fixes updates for httparse, log, libc, native-tls, flate2, nix, ctrlc and other dependencies (also 0ac2a94).

Refactorings

  • ce920bd Move to maintained jemallocator (tikv-jemallocator) on Linux (musl libc).
static-web-server - v2.7.1

Published by github-actions[bot] over 2 years ago

Fixes

  • 9c58496 Bugfix/security dependency updates including httparse, flate2, h2, tracing, brotli, windows-rs and other crates (also bc62634, 8a1d1cb, eabc559).
  • 041f0f8 Prevent arbitrary files access on Windows.
    It mitigates accessing files outside of server root directory on Windows when a drive letter is used as part of a request URL. E.g http://localhost:1234/whatever/c:/windows/win.ini.

Refactorings

  • fa05773 Small performance improvement for tracing.

Docs

  • 9c58496 Build documentation from source. See docs.
static-web-server - v2.7.0

Published by github-actions[bot] over 2 years ago

Fixes

  • dc8bc4d Bugfix/security dependency updates including h2, tracing, listenfd, mio, libc, syn and other crates (also 3b2a287, d57ee2f, 15cf1ac).
  • da85b16 --cors-allow-origins doesn't assign headers properly. PR #87 resolves #86 reported by @mr-moon.
  • dcc8a32 Security Alpine 3.15 Docker image upgrade. PR #92.

Features

  • da85b16 CORS allowed headers support via the new -j, --cors-allow-headers flags. PR #87. See docs.
  • da85b16 Support for HTTP OPTIONS method requests. PR #87. See docs.
  • 6204205 Cache-Control for AVIF and JPEG XL mime types. PR #88 by @csmith. See docs.
  • cba4a83 Fallback page option via the new --page-fallback flag. PR #91 by @firstdorsal. See docs.

Refactorings

  • d33d093 Reduce few allocations on HTTP request handler.
  • 06cc379 Reduce small allocation when encoding headers during compression.
  • a5e87e5 Typed Content-Type header for error pages and dir listing responses.

Docs

  • c84d948 Build from source. See docs.
  • 781ba91 CORS allowed headers. See docs.
  • 0957a11 HTTP methods section. See docs.

Testing

  • 7b6fc0b Cache-Control test cases.
  • f22b952 Stable Rust for ARM CI pipelines.
static-web-server - v1.19.1

Published by github-actions[bot] over 2 years ago

Updates

  • 286a321 Security/bug-fixes updates for OpenSSL, httparse, libc, crc32fast, unicode-segmentation and other dependencies.
static-web-server - v2.6.0

Published by github-actions[bot] over 2 years ago

Fixes

  • fb84c0b Bugfix/security dependency updates including hyper, tokio, httparse, futures, tracing, headers and other crates (also 7f70a13, d3fb137).

Features

  • 7d32a67 Multi-arch Docker images (Scratch/Alpine). PR #82 resolves #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 Compress WebAssembly (application/wasm) files. PR #84 by @acelot. See docs.
  • 70ec60c Arch Linux AUR package support. See docs.

Refactorings

  • e109b77 Improve startup server error messages providing context.
  • c085147 Prefer cfg(unix) instead of cfg(not(windows)).

Docs

  • eb482a4 Documentation for Multi-arch Docker images. See docs.
  • 70ec60c Documentation for Arch Linux support. See docs.
static-web-server - v2.6.0-beta.2

Published by github-actions[bot] over 2 years ago

Fixes

  • 65007f9 Wrong binary path for multi-arch Alpine Docker image.
static-web-server - v2.6.0-beta.1

Published by github-actions[bot] over 2 years ago

Fixes

  • fb84c0b Bugfix dependency updates including httparse, futures and other crates.

Features

  • c2ae6a5 Multi-arch Docker images. PR #82 resolves #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.