# Changelog All notable changes to `blax-software/reactphp-kernel` are documented here. This project adheres to [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) 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\Server`s, 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).