Download Latest Version v0.8.0 Axum Rewrite source code.tar.gz (239.8 kB)
Email in envelope

Get an email when there's a new version of Simple HTTP Server

Home / v0.8.0
Name Modified Size InfoDownloads / Week
Parent folder
x86_64-pc-windows-msvc-simple-http-server.exe.sha256 2026-03-17 67 Bytes
x86_64-pc-windows-msvc-simple-http-server.exe 2026-03-17 2.5 MB
aarch64-apple-darwin-simple-http-server.sha256 2026-03-17 64 Bytes
aarch64-apple-darwin-simple-http-server 2026-03-17 2.7 MB
x86_64-apple-darwin-simple-http-server.sha256 2026-03-17 64 Bytes
x86_64-apple-darwin-simple-http-server 2026-03-17 2.8 MB
armv7-unknown-linux-musleabihf-simple-http-server.sha256 2026-03-17 64 Bytes
armv7-unknown-linux-musleabihf-simple-http-server 2026-03-17 2.9 MB
aarch64-unknown-linux-musl-simple-http-server.sha256 2026-03-17 64 Bytes
aarch64-unknown-linux-musl-simple-http-server 2026-03-17 3.2 MB
x86_64-unknown-linux-musl-simple-http-server.sha256 2026-03-17 64 Bytes
x86_64-unknown-linux-musl-simple-http-server 2026-03-17 3.3 MB
README.md 2026-03-17 2.5 kB
v0.8.0 Axum Rewrite source code.tar.gz 2026-03-17 239.8 kB
v0.8.0 Axum Rewrite source code.zip 2026-03-17 246.4 kB
Totals: 15 Items   17.9 MB 31

• Compared to the previous Iron-based version, this release changes the server in these ways:

Core

  • Replaced the old iron stack with an axum + tokio implementation.
  • Kept the CLI mostly compatible, but moved the codebase to a modern async HTTP stack.
  • Reorganized the implementation into separate modules for config, server setup, handlers, and utilities.

TLS

  • TLS support is now behind a single tls feature and is disabled by default.
  • --cert and --certpass still accept PKCS#12 files, but they only work when the binary is built with --features tls.
  • On Linux and macOS, TLS uses system OpenSSL.
  • On Windows, TLS uses vendored OpenSSL to avoid CI and toolchain issues.

User-visible behavior changes

  • --upload-size-limit now supports human-readable values such as 30K, 50M, and 1G.
  • Size suffixes are interpreted in powers of 1024.
  • Upload limit errors are clearer: oversized uploads now return a readable 413 message instead of low-level stream errors.
  • Invalid multipart requests now return proper client errors instead of collapsing into 500 responses.
  • Internal 500 errors are now printed to stderr for easier debugging.
  • --open now uses https:// automatically when TLS is enabled.
  • --base-url is normalized consistently.
  • --try-file behavior is explicit: relative paths resolve against the server root, absolute paths are used as-is.
  • CORS preflight OPTIONS requests are handled directly.
  • Error pages escape injected text.

Performance and resource usage

  • File responses are streamed instead of being buffered in full.
  • Compressed responses are streamed.
  • Uploads are streamed to temporary files instead of being fully buffered in memory.
  • Temporary upload files are cleaned up on multipart failures, including size-limit failures.

Behavioral compatibility notes

  • Most existing flags and main server behavior remain aligned with the old version.
  • Colored request logging from the old implementation was removed.
  • Some historical edge-case behavior from the Iron middleware chain, especially around HEAD + compression, was intentionally cleaned up rather than preserved exactly.

Quality

  • Added black-box HTTP tests for directory listing, try-file, basic auth, range requests, cache revalidation, CORS preflight, uploads, and gzip compression.
  • The new implementation passes tests and clippy in both default and tls builds.****
Source: README.md, updated 2026-03-17