Jose Quintana
bc7b7cdde2
chore: update Alpine (3.22.2) & Debian (13.3) Docker images ( #619 )
2026-01-22 22:00:01 +01:00
Jose Quintana
d76106fc10
refactor: replace unmaintained rustls-pemfile dependency in tls module ( #616 )
2026-01-13 17:55:36 +01:00
Jose Quintana
df5fb001e8
fix: custom header is not applied when redirect-trailing-slash is disabled ( #613 )
...
It fixes an issue where custom headers were not applied for directory requests when the `redirect-trailing-slash` was disabled.
2026-01-11 22:38:37 +01:00
Jose Quintana
865e8e4e89
refactor: improve SWS installer script functionality for Linux/BSDs ( #611 )
...
* refactor: improve installer script functionality
* refactor: simplify installer script and installation docs
* fix: typos
2026-01-08 19:21:02 +01:00
Jose Quintana
9fbafcf3f5
fix: installer script failure when used in alpine linux ( #610 )
2026-01-05 03:53:40 +01:00
Shahar "Dawn" Or
1a31f005bc
fix: hidden root path ignored by --ignore-hidden-files feature ( #606 )
...
* test: hidden base path not ignored
* fix: hidden base path not ignored
* feat: trace when ignoring a hidden file
2025-12-27 10:31:00 +01:00
Jose Quintana
be04262464
refactor: prefer 'gnueabihf' binary for Debian linux/arm/v7 Docker image ( #609 )
2025-12-26 16:07:00 +01:00
Jose Quintana
c298a6d0ab
chore: remove pull_request trigger from release-docker-devel workflow ( #608 )
2025-12-26 15:41:12 +01:00
Jose Quintana
beacdbc023
docs: initial showcases page ( #605 )
...
https://static-web-server.net/showcases/
2025-12-20 12:47:28 +01:00
github-actions[bot]
520af20a03
docs: v2.40.1 [skip ci] ( #601 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-12-08 04:03:19 +01:00
Jose Quintana
8a930ca88e
v2.40.1
v2.40.1
2025-12-08 03:46:49 +01:00
Jose Quintana
9b7297cc49
chore: update dependencies 08-12-2025 ( #599 )
2025-12-08 03:19:15 +01:00
Jose Quintana
308f0d26ce
Merge commit from fork
...
* refactor: re-organize directory listing module
* chore: skip broken symlinks in directory listing
2025-12-08 02:58:12 +01:00
Matthias Schoettle
dd43d06551
refactor: format check support Markdown files via mdformat ( #597 )
...
* chore: format Markdown files with mdformat
* chore: switch to mdformat config file
* chore: add missing trailing slash
* docs: add section about formatting Markdown files
2025-12-07 10:40:21 +01:00
Jose Quintana
ce3a51c6ac
refactor: dedicated CI workflow for project documentation checks ( #596 )
...
* refactor: dedicated CI workflow for project documentation checks
* chore: remove deprecated v1 references in README.md
2025-12-05 02:05:32 +01:00
github-actions[bot]
f58d6355c1
docs: v2.40.0 [skip ci] ( #591 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-11-30 23:36:09 +01:00
Jose Quintana
068d1ea7c4
v2.40.0
v2.40.0
2025-11-30 23:05:23 +01:00
Jose Quintana
5fae6f7eb6
chore: update dependencies 30.11.2025 ( #589 )
2025-11-30 22:06:54 +01:00
Jose Quintana
c66c791ca9
refactor: prefer dynamically-linked binaries for Debian Docker images ( #588 )
...
* refactor: prefer dynamically-linked binaries for debian docker images
* fix: disable dynamically-linked binary execution tests
As dynamically-linked binaries can not be executed for obvious reasons
* docs: improve os/arch section
2025-11-29 03:04:56 +01:00
Jose Quintana
afddfd6e58
refactor: drop jemalloc in favor of mimalloc for musl targets ( #587 )
2025-11-28 01:38:35 +01:00
Jose Quintana
ee4b049d3b
feat: armv7-unknown-linux-gnueabihf target ( #586 )
2025-11-27 23:03:54 +01:00
Jose Quintana
ea9f43f404
refactor: move perfcheck workflow behind a PR comment trigger ( #584 )
2025-11-26 04:47:08 +01:00
Jose Quintana
0fedeb36b4
fix: crate documentation issues ( #583 )
...
* chore: improve crate doc checks on ci
* fix: doc_auto_cfg feature has been removed (error)
* fix: bare URLs are not automatically turned into clickable links (warning)
2025-11-26 04:12:17 +01:00
Jose Quintana
55562a1c35
chore: update dependencies 26.11.2025 ( #582 )
2025-11-26 03:17:33 +01:00
Jose Quintana
557363e128
refactor: replace regex crate with regex-lite to reduce binary size ( #581 )
...
It optimizes for binary size by replacing the `regex` crate with its lightweight equivalent (`regex-lite`).
The change reports a binary size reduction of approximately `~500KB`.
x86_64-unknown-linux-musl example:
before (v2.39.0):
8,9M static-web-server
after:
8,4M static-web-server
2025-11-20 01:19:38 +01:00
Jose Quintana
ce5b4fab30
refactor: drop lazy_static for fixed text mime types in compression ( #580 )
...
It removes the `lazy_static` dependency in favor of a fixed text-mime type list in the `compression` module.
2025-11-20 00:53:08 +01:00
Jose Quintana
b23498458f
refactor: Rootless Debian and Alpine Docker images by default ( #567 )
...
* chore: setup user public directory, permissions and symlink
* chore: alpine and debian rootless
* docs: rootless information
2025-11-17 23:22:20 +01:00
Jose Quintana
d48da4ca06
refactor: simplify public dir for docker image & default error pages ( #579 )
2025-11-15 21:48:54 +01:00
Francis Tseng
326abbe7d5
feat: add exit_on_error option to Server::run_server_on_rt function ( #578 )
...
* feat: add `exit_on_error` option when starting server to choose if the
entire process exits if the server fails to start
* Update src/server.rs
* style: formatting fix
---------
Co-authored-by: Francis Tseng <accounts@frnsys.com >
Co-authored-by: Jose Quintana <1700322+joseluisq@users.noreply.github.com >
2025-11-15 10:58:18 +01:00
David Legrand
2c25d823f2
feat: content negotiation for markdown files via Accept header ( #577 )
...
* feat: add accept markdown
* docs: add accept markdown feature
* fix: cors error detected by clippy in CI
* fix: simplify markdown handling
* chore: add accept markdown integration tests
* chore: move accept markdown test files
* fix: after review
2025-11-06 15:44:20 +01:00
Jose Quintana
db22a69a7b
docs: v2.39.0 [skip ci] ( #575 )
...
Add missing freebsd x86_64 artifact
- static-web-server-v2.39.0-x86_64-unknown-freebsd.tar.gz
- SHA256SUM: 8ed7e75844f952ad9f20f303187084af4c433ecac4558b2c3268af7f36d0983c
2025-10-26 02:21:44 +01:00
github-actions[bot]
c21d896f5f
docs: v2.39.0 [skip ci] ( #575 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-10-26 02:02:46 +01:00
Jose Quintana
a6b181e347
v2.39.0
v2.39.0
2025-10-26 02:47:35 +02:00
Jose Quintana
57025e3321
chore: update dependencies 23-10-2025 & MSRV to Rust 1.85.0 (2024 Edition) ( #572 )
...
* fix: update dependencies 23-10-2025
* chore: update dependencies 26-10-2025
* chore: update dependencies 26.10.2025 & bump up MSRV to 1.85.0
* fix: lint errors
* fix: style edition 2024
SWS now requires Rust 1.85.0 (Rust 2024 Edition) or later
https://blog.rust-lang.org/2025/02/20/Rust-1.85.0/
2025-10-26 02:04:21 +02:00
Jose Quintana
a7e8fa3272
chore: update Alpine (3.21.5) & Debian (12.12) Docker images ( #573 )
2025-10-23 22:35:51 +02:00
Jose Quintana
2549119abd
fix: virtual hosts don't work with HTTP/2 ( #571 )
...
* virtual hosts: support HTTP/2 using :authority
So far, the HTTP host header has been used to determine the hostname
that is being accessed. In HTTP/2, this header is not guaranteed to be
sent. Instead, the ":authority" pseudo-header field is used. This commit
adds a check for that header to make virtual hosts also work with
HTTP/2.
Additionally, this commit adds code to check and remove the port number,
which may or may not be sent as part of the HTTP host header.
* chore: add test cases
---------
Co-authored-by: CrazyCraftix <>
Co-authored-by: joseluisq <1700322+joseluisq@users.noreply.github.com >
2025-10-18 06:35:38 +02:00
github-actions[bot]
648170dc2b
docs: v2.38.1 [skip ci] ( #565 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-09 00:22:54 +02:00
Jose Quintana
71c54dd1f2
v2.38.1
v2.38.1
2025-09-09 00:05:06 +02:00
Jose Quintana
2a0923866f
chore: update docker alpine images to 3.21.4 ( #563 )
2025-09-08 11:05:26 +02:00
Jose Quintana
0b5577085d
chore: remove public from Cache-Control header value ( #562 )
...
It removes `public` from `Cache-Control` value, leaving max-age=<VALUE>, which can prevent CDN and Basic Authentication issues. See details on #560 .
This applies to the "Cache-Control Headers" feature, with no user-breaking changes expected.
2025-09-06 09:20:09 +02:00
Jose Quintana
a522274430
chore: update dependencies 05-09-2025 ( #561 )
2025-09-05 21:48:50 +02:00
Jose Quintana
c5477fe785
chore: update dependencies 2025-08-23 ( #556 )
2025-08-23 14:22:41 +02:00
github-actions[bot]
840522c4b2
docs: v2.38.0 [skip ci] ( #555 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-07-21 23:02:33 +02:00
Jose Quintana
e15d42fb4c
v2.38.0
v2.38.0
2025-07-21 22:37:26 +02:00
Jose Quintana
47ce050388
chore: update Alpine (3.20.7) & Debian (12.11) Docker images ( #553 )
2025-07-21 22:00:43 +02:00
Jose Quintana
8c435ad010
chore: update dependencies 21.07.2025 & fix clippy lint warnings ( #552 )
...
* fix: clippy lint warnings
* chore: update dependencies 21.07.2025
* core: rust version on FreeBSD CI has been bumped up to 1.88.0.
2025-07-21 21:43:51 +02:00
David Legrand
acd838877b
feat: prefer a less-generic config file sws.toml as default ( #551 )
...
- `sws.toml` used if present
- But `config.toml` has priority if it exists
- A warning message is printed if `config.toml` is used, as it will be removed in a future release previous advice.
2025-07-02 11:09:04 +02:00
Jose Quintana
ac72d4e6be
docs: v2.37.0 [skip ci]
2025-06-03 23:28:19 +02:00
Jose Quintana
b67202baea
v2.37.0
v2.37.0
2025-06-03 22:31:24 +02:00
Jose Quintana
b56e3c4a96
chore: update dependencies 30.05.2025 and MSRV to 1.82.0 ( #546 )
...
* chore: update dependencies 30.05.2025
* chore: format and lint checks for test files on CI
* fix: clippy lint warnings in test files
2025-05-31 23:31:50 +02:00