reactphp-kernel/CHANGELOG.md

30 lines
1.4 KiB
Markdown
Raw Normal View History

# 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).