Changes for version 0.111 - 2026-09-03

  • Complete the post-0.110 public-surface audit so current architecture, lifecycle, transport, benchmark, and introspection documentation describe the released IO/Kernel taxonomy rather than an unfinished migration.
  • Align Loop introspection with public resource semantics. Stable type labels are now pipe, tty, stream, listener, dgram, timer, signal, event, and process; stream means IO::Sock::Stream, and the obsolete stream_kind field has been removed.
  • Restrict installed manpages to the public module list from Makefile.PL. Retained no_index implementation and native ABI host packages remain available internally without being installed as application documentation.
  • Add a current-document taxonomy regression test that rejects stale migration-state wording and retired top-level subclass examples while preserving historical release records and development history.
  • Add a dedicated public-API overhead benchmark and CI gate comparing the retained implementation paths with the public IO/Kernel leaves. Pipe lifecycle comparison now performs equivalent resource validation on both sides, while the one-time F_GETPIPE_SZ semantic-validation cost is reported separately as a diagnostic rather than misclassified as wrapper overhead.
  • Extend the public stream overhead gate through 64-byte, 4 KiB, 64 KiB, and 200 KiB payloads and retain the full performance-regression comparison. The audited public/private architecture remains within the regression threshold without adding steady-state Perl dispatch to the hot path.
  • Refresh benchmark guidance, manifests, release metadata, and public module versions for the corrected 0.111 distribution while leaving historical private XS/ABI identifiers unchanged.

Modules

Linux-native reactor, I/O, and kernel event facilities
lazy socket-address value
structured Linux::Event failure details
native framing for ordered-byte I/O
native decimal-length framing declaration
native delimiter framing declaration
native fixed-size framing declaration
native binary length framing declaration
native netstring framing declaration
native 32-bit big-endian framing declaration
native unsigned LEB128 framing declaration
application data I/O namespace
asynchronous ordered-byte I/O for pipes and FIFOs
Linux socket I/O namespace
asynchronous Linux SOCK_DGRAM I/O
asynchronous listening SOCK_STREAM socket
asynchronous Linux SOCK_STREAM connections
asynchronous ordered-byte I/O for terminals and PTYs
kernel event and state namespace
eventfd-backed Loop notification
pidfd process lifecycle and asynchronous stdio
synchronous signalfd delivery on a Loop
monotonic one-shot and recurring Loop timers
Linux-native epoll event loop
declare OpenSSL TLS policy for stream-socket subclasses