Release History
0.2.7
- Moved accepting into nonblocking per-worker epoll/kqueue listeners with automatic dispatcher fallback.
- Selected automatic workers from the highest-capacity CPU cluster where platform topology is available.
- Made cached, memory, buffered-file, and sendfile responses fully resumable through event output state.
- Removed event hash lookups, repeated quadratic idle scans, pipeline-buffer copies, and disabled access-log work.
- Rebuilt the cache around worker-local views and immutable reference-counted generations with complete memory accounting.
- Hardened HTTP/1.1 Host, framing, body-length, and transfer-encoding validation.
- Added weak representation ETags with
If-None-Matchprecedence. - Added normal, open-ended, and suffix byte ranges with
206,416, andIf-Rangesupport. - Added Brotli/gzip sidecar negotiation with q-values, variant ETags, encoded ranges,
Vary, and406handling. - Added a complete example JSON configuration, version-consistency checks, and end-to-end protocol coverage.
0.2.6
- Added prebuilt keep-alive response blobs for cached small-file responses.
- Added indexed cache lookups and vectored cached-response writes.
- Added pending nonblocking write state for cached event-worker responses.
- Added an event-worker fast path for cached
GET,HEAD, and304. - Reduced noisy logs for normal client disconnects during response body transfer.
0.2.5
- Added automatic event-worker backends using platform event APIs where supported.
- Kept the worker pool as fallback on unsupported targets.
- Documented automatic backend behavior and high-concurrency benchmark guidance.
0.2.4
- Added platform sendfile transfer for uncached static
GETbodies. - Added buffered fallback for unsupported platforms and early sendfile failures.
- Added
--sendfile,--no-sendfile, and strict JSONhttp.sendfile. - Documented sendfile defaults and large-file benchmarks.
0.2.3
- Replaced per-connection thread spawning with a bounded fixed worker pool.
- Added async log writing with non-blocking access-log drops under queue pressure.
- Added ordered HTTP/1.1 pipelining coverage.
- Added worker-count CLI and JSON configuration.
- Raised the default connection cap.
0.2.2
- Added a small-file static cache with prebuilt response headers.
- Removed per-request request-buffer allocation.
- Added fast normalization for simple safe paths.
- Added strict JSON cache settings.
- Added CLI overrides for HTTP connection limits.
0.2.1
- Added HTTP keep-alive response handling.
- Added bounded connection workers.
- Added thread-safe logging.
- Added keep-alive configuration and connection parsing rules.
- Added Docker image packaging and Buildx publishing for amd64 and arm64 images.
0.2.0
- Added plain and JSON-lines logging.
- Added default access logs and log-file support.
- Added strict JSON configuration and
qaws check. - Added daemon management with
status,stop,restart, PID files, stale detection, andstop --force. - Added dotfile protection, custom headers,
nosniff,Last-Modified/304, and slash redirects.
0.1.0
- Initial dependency-free Zig static file server.
- Added
GETandHEAD. - Added path normalization.
- Added daemon mode.
- Added release builds.