FrankenPHP 1.13.3 is a bug fix release. It fixes worker lookup for symlinked document roots, crashes caused by PHP extensions that install asynchronous signal handlers, and SIGILL crashes of musl static binaries on CPUs without SHA-NI.
🐛 Bug Fixes
- Worker mode: Workers are now matched when
resolve_root_symlink falseis set and the document root is a symlink. Since 1.13.0, requests ran on a regular thread and failed with "FrankenPHP must be in worker mode". Workers are now also indexed under their declared path by @dunglas in #2739. - Extensions:
SA_ONSTACKis now re-applied to the signal handlers that extensions install at startup, for every signal and not onlySIGSEGV,SIGBUSandSIGFPE. Asynchronous handlers without the flag, such as theSIGVTALRMhandler of dd-trace-php, overflowed the goroutine stack and crashed the Go runtime later during garbage collection by @mstegmeyer in #2746. - Static builds: musl binaries are now built for the baseline CPU of the architecture instead of the build host's CPU. Release binaries used SHA-NI and AVX-512 without runtime checks, so
hash('sha256')died withSIGILLon CPUs without SHA-NI. SetSPC_TARGET=native-native-muslto opt back into host-tuned builds by @dunglas in #2749.
📖 Documentation
- Update translations by @github-actions[bot] in #2733, #2742 and #2750, and fix their Markdown lint errors by @dunglas in #2752.
💖 New Contributors
- @mstegmeyer made their first contribution in #2746
Full Changelog: v1.13.2...v1.13.3