FrankenPHP 1.12.6 fixes a crash that could take down the whole process on HTTP/2. If a PHP script calls frankenphp_finish_request() (or closes its context early) and then lazily reads php://input — common with enable_post_data_reading=Off — FrankenPHP set a read deadline on an already-finalized HTTP/2 stream and segfaulted. HTTP/1 was unaffected. Anyone serving over HTTP/2 should upgrade.
🐛 Bug Fixes
- HTTP/2: Don't set a request body read deadline after the request is finished. Reading
php://inputafterfrankenphp_finish_request()dereferenced the nil'd-out HTTP/2 stream state and crashed the process; the deadline is now skipped once the context is done by @dunglas in #2538. Fixes #2535.
📖 Documentation
- Add a PSR-15 worker example by @dunglas in #2539.
- Remove title case in docs by @alexandre-daubois in #2534.
- Update translations by @github-actions in #2537.
Full Changelog: v1.12.5...v1.12.6