Changes for version 0.02 - 2026-08-01

  • io_uring backend: assign sqe->user_data directly instead of calling io_uring_sqe_set_data64(), which only exists in liburing >= 2.2 and left the .so with an undefined symbol on hosts with older liburing.
  • Supervisor: close a signal lost-wakeup race. The pool loop now keeps TERM/INT/HUP/USR1/USR2/CHLD blocked, reaps with WNOHANG, and waits via sigsuspend(), so a USR1 stats dump (or any signal) arriving while the pool is idle is serviced immediately instead of stalling until a worker happened to exit. Fixes intermittent t/15-process.t failures.

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