FrankenPHP 1.12.6 is a bugfix release that addresses a crash capable of taking down the whole process when serving traffic over HTTP/2.

The fault occurred when a PHP script called frankenphp_finish_request() — or otherwise closed its context early — and then lazily read php://input, a pattern that is common when enable_post_data_reading is set to Off. In that situation FrankenPHP attempted to set a read deadline on an already-finalized HTTP/2 stream, dereferenced the nil stream state, and segfaulted. HTTP/1 connections were not affected.

The fix, contributed by @dunglas in pull request #2538, skips setting the request body read deadline once the request context is done. It resolves issue #2535. Anyone running FrankenPHP over HTTP/2 is advised to upgrade.

The release also ships documentation changes: a new PSR-15 worker example by @dunglas (#2539), removal of title case in the docs by @alexandre-daubois (#2534), and updated translations (#2537). The full changelog compares v1.12.5 to v1.12.6.