reactphp-kernel/CHANGELOG.md

1.4 KiB

Changelog

All notable changes to blax-software/reactphp-kernel are documented here. This project adheres to Keep a Changelog and Blax Software's backward-compatibility guarantee (every push to master is a potentially-shipped, backward-compatible release).

[Unreleased]

Added

  • Kernel — owns the ReactPHP loop, registers Contracts\Servers, installs signal handlers, run() and graceful stop().
  • Contracts\Server — an attachable protocol server (boot(LoopInterface) + shutdown()).
  • Server\SocketServerFactory — plain-TCP or TLS listening socket, no framework coupling.
  • Ipc\SocketPairIpc — event-driven parent/child IPC over a Unix socket pair (lifted from blax-software/laravel-websockets; it was already framework-agnostic).
  • Process\SignalHandler — SIGINT/SIGTERM → graceful shutdown.
  • Process\ChildReaper — reaps exited forked children (SIGCHLD + periodic backstop); the reusable form of laravel-websockets #982.
  • PSR-3 logging: Kernel accepts an optional LoggerInterface (defaults to NullLogger), exposes logger(), and emits boot/running/shutdown lifecycle lines.
  • Support\ConnectionRegistry — a transport-agnostic id→connection registry (add/remove/get/each/onAdd/onRemove/clear) for presence + broadcast, shared by protocol servers (WS channels, WebRTC peers).