Changes for version 0.01 - 2026-07-31

  • First release.
  • Event-loop PSGI server: prefork supervisor + per-worker XS loop. Passes the full Plack::Test::Suite; runs any Plack app via `plackup -s Hyperman`.
  • Pluggable readiness backends behind one C vtable: kqueue (macOS/BSD), epoll (Linux), portable poll fallback, and an opt-in io_uring backend (raw syscalls, poll-mode ring). Selection is automatic; force with HYPERMAN_BACKEND.
  • Hyperman::Future: native XS array-slot Future-compatible async result. Handlers may return a Future (or any on_ready-compatible object, e.g. CPAN Future) of the PSGI response; get/await pump the worker's own loop re-entrantly.
  • Async PSGI: psgi.streaming/delayed responder with a streaming writer, psgix.io (dup'd client socket), psgix.loop, cancellation of the response Future on client disconnect, timer and io_ready Futures on the loop.
  • Production: worker respawn with crash-loop throttle, SIGHUP zero-downtime worker recycle, graceful TERM/INT drain, idle and slow-request timeouts, pipelining fairness cap, request size ceiling with 413, opt-in SO_REUSEPORT per-worker listeners (Linux), access_log callback, Hyperman->stats.

Modules

an event-loop PSGI server
epoll readiness backend for Hyperman::Loop
io_uring backend for Hyperman::Loop
kqueue readiness backend for Hyperman::Loop
portable poll(2) backend for Hyperman::Loop
a fast, native, Future-compatible async result
the per-worker event loop
Plack/PSGI adapter for the Hyperman server