github rapira-rs/rapira v0.9.0

latest releases: nightly, v0.9.1
26 days ago

0.9.0 (2026-10-05)

๐ŸŽฏ Core

  • โœจ Plugin Worker Pools: Added independent worker pools under [http.pool] and [grpc.pool], FR #104.
  • ๐Ÿงน Pool Configuration: Each pool runs a fixed processes count. The server command is rapira serve <CONFIG>, #149, #116.
  • โœจ Worker Boot Environment: Added process environment values, script paths, argv, and argc to $_SERVER at worker and dispatcher boot, FR #129 (thanks @FluffyDiscord).
  • ๐Ÿงน Plugin API: Consolidated the PHP runtime in rapira_sapi and simplified the Rust plugin API. Each plugin owns its PHP classes and configuration, #144, #145, #194.
  • ๐Ÿ› Worker Memory: Disabled transparent huge pages on Linux to reduce worker memory use, #151.
  • ๐Ÿ› Temporary Streams: Kept retained SplTempFileObject streams usable across worker requests, #111.
  • ๐Ÿ› Worker Lifecycle: Workers can drain active requests after the master exits unexpectedly. The request watchdog stays active during pool reloads, #130, #116.

๐Ÿ“ฆ http plugin

  • โšก Request Performance: Reduced request copies, allocations, and system calls. On Linux, one waiting worker wakes for each new connection, #127, #130.
  • ๐Ÿงน Classic Working Directory: Classic workers keep their working directory across requests, so a chdir() applies until the worker exits, #127.
  • ๐Ÿ› Exchange Completion: Fixed false cancellation after a complete response. Dispatchers can accept new work after client cancellation, #113.

๐Ÿ“ฆ grpc plugin

  • โœจ Unary RPCs: Added PHP handlers for gRPC, binary gRPC-Web, and Connect with protobuf or JSON messages. Includes health checks and optional server reflection, FR #132.
  • โœจ Authentication: Added interceptor chains and a built-in bearer-token check before calls reach PHP, FR #36.
  • โœจ HTTP/2 Keepalive: Added keepalive_interval_secs and keepalive_timeout_secs to [grpc], #148.

๐Ÿ“Š Observability

  • โœจ Prometheus Metrics: Added /metrics for worker state, requests, queues, exits, and Linux memory use. Counters persist across worker respawns, FR #83 (thanks @Zylius).
  • โœจ Health Probes: Added /livez and /readyz for master liveness and PHP pool readiness, FR #49 (thanks @rauanmayemir).
  • ๐Ÿงน Log Timestamps: JSON logs include microseconds in timestamp, #194.

๐Ÿ“ฆ PHP Packages

  • โœจ Pre-built Extensions: Added pdo_pgsql, pgsql, bcmath, intl, igbinary, and redis to release builds and Docker images, FR #103 (thanks @FluffyDiscord).
  • ๐Ÿ› Release Bundles: Included OPcache in PHP 8.4 packages and required shared libraries in macOS archives, #117, #130.
  • ๐Ÿ› PHP 8.7 Builds: Fixed builds against PHP 8.7 development headers, #156.

Don't miss a new rapira release

NewReleases is sending notifications on new releases.