Changes for version 0.002004 - 2026-06-28

  • Bug Fixes
  • The HTTP/2 tests (t/http2/*.t) skipped only when Net::HTTP2::nghttp2 was older than 0.007, but the server treats HTTP/2 as usable only at nghttp2 >= 0.008 (PAGI::Server::Protocol::HTTP2::MIN_NGHTTP2_VERSION) and when the C library reports itself available. On a smoker with nghttp2 0.007 the guards passed, the tests ran, and every HTTP/2 session died "nghttp2 not installed". The tests now gate on PAGI::Server::Protocol::HTTP2->available, the same predicate the server uses, so they skip exactly when the server would decline HTTP/2.
  • t/runner.t and t/integration/runner-server.t guarded PAGI::App::File and PAGI::App::Directory with the `!defined($v) || $v >= 0.002000` undef-loophole that 0.002003 removed elsewhere; a pre-split PAGI install would slip through. They now gate on PAGI::Tools, consistent with the other toolkit-dependent tests.

Documentation

PAGI application server
HTTP/1.1, HTTP/2, WebSocket, and Security Compliance Documentation

Modules

PAGI Reference Server Implementation
Non-blocking file I/O for PAGI::Server internals
Per-connection state machine
Connection state tracking for HTTP requests
Dev-mode event field validation
HTTP/1.1 protocol handler
HTTP/2 protocol handler using nghttp2
PAGI application loader and server runner
Outbound flow-control introspection for a connection

Provides

in lib/PAGI/Server/Protocol/HTTP2.pm