github php/frankenphp v1.12.7

5 hours ago

FrankenPHP 1.12.7 fixes a bug where output written after fastcgi_finish_request()/frankenphp_finish_request() was silently discarded in classic (non-worker) mode: with the default ignore_user_abort, echoing anything after finishing the request incorrectly marked the connection as aborted and bailed out mid-script. It also quiets noisy debug-level logging for routine client disconnects and fixes an incorrect thread-count metric.

🐛 Bug Fixes

  • Classic mode: Fix output written after fastcgi_finish_request()/frankenphp_finish_request() being silently discarded. With the default ignore_user_abort, echoing anything after finishing the request incorrectly marked the connection as aborted and bailed out mid-script by @dunglas in #2569. Fixes #2548.
  • Metrics: Report frankenphp_total_threads as a gauge instead of accumulating it, so the metric reflects the current thread count instead of growing unbounded by @ousamabenyounes in #2550. Fixes #2481.
  • Opcache: Remove the opcache-invalidation restart hook again; restarting on every opcache reset could cascade into recursive restarts for frameworks that invalidate the cache heavily by @AlliBalliBaba in #2564.
  • Logging: Stop logging routine client-disconnect write/flush errors at warn level; they're now debug, matching Caddy and Mercure's convention, and no longer mislabeled as "not a flusher" by @dunglas in #2589.
  • Build: Take the PHP_CONFIG environment variable into account in go.sh by @henderkes in #2557.

📖 Documentation

  • Explain why the post-force-kill reboot wait must stay unbounded by @dunglas in #2577.

💖 New Contributors

Full Changelog: v1.12.6...v1.12.7

Don't miss a new frankenphp release

NewReleases is sending notifications on new releases.