Releases: dunglas/frankenphp
Releases ยท dunglas/frankenphp
v1.3.3
What's Changed
- feat: build static binaries with 8.4 by @dunglas in #1193
- fix: properly close context on worker script timeouts and crashes. by @AlliBalliBaba in #1184
- fix: display PHP version in static build by @dunglas in #1213
Full Changelog: v1.3.2...v1.3.3
v1.3.2
What's Changed
- ci: build PHP 8.4 Docker images by @dunglas in #1183
- perf: improve php_server directive by @dunglas in #1180
- fix: ignore watcher dir creation error if the watcher exists by @bk-ty in #1165
- fix: support empty request headers by @Alliballibaba2 in #1182
- fix: remove opcache_reset if opcache isn't installed by @withinboredom in #1173
- fix(metrics): handle the case where the worker is already assigned to a thread by @withinboredom in #1171
- refactor: simplify exponential backoff and refactor env by @withinboredom in #1185
- chore: bump deps by @dunglas in #1187
New Contributors
- @bk-ty made their first contribution in #1165
- @rumpl made their first contribution in #1168
- @aleho made their first contribution in #1170
- @Alliballibaba2 made their first contribution in #1182
Full Changelog: v1.3.1...v1.3.2
v1.3.1
v1.3.0
New Features
- feat: add file watchers to automatically restart the workers on file change by @AlliBalliBaba in #1013
- feat: add Prometheus metrics for FrankenPHP by @withinboredom in #966
- feat: handle worker failures gracefully by @withinboredom in #1038
- feat: add one line install script by @kevincobain2000 in #594
- feat: add build tags to disable Brotli and Watcher support by @dunglas in #1070 and #1076
- feat(static): re-enable ext-parallel by @dunglas in #1081
Bug Fixes
- fix: always ignore SIGPIPE by @dunglas in #1101
- fix: crashes when using
putenv()
by @withinboredom in #1086 and @dunglas in #1142 - fix: restore Caddy env variables support by @AlliBalliBaba in #1018
- fix(static): prevent "cannot find -lgcc_s: No such file or directory" error by @goossda in #1026
- fix: FreeBSD support by @rwv37 in #1058
- fix: always untar embedded app on init by @fastnloud in #1065
- fix: correct split path default for the
php-server
command by @AlliBalliBaba in #1127 - fix: always include
pthread.h
by @dunglas in #1102
Performance Improvements
- perf: only import os environment variables once per worker thread by @AlliBalliBaba in #1080
- perf: Remove all Cgo handles by @AlliBalliBaba in #1073
- perf: optimize $_SERVER import by @AlliBalliBaba in #1106
- perf: use hot worker threads when possible by @AlliBalliBaba in #1126
- perf: use buffered channels for requests by @withinboredom in #1146
New Contributors
- @nicolasbonnici made their first contribution in #1040
- @rwv37 made their first contribution in #1058
- @Spittal made their first contribution in #1028
- @kevincobain2000 made their first contribution in #594
- @e-dant made their first contribution in #1072
- @arnolem made their first contribution in #1091
- @soyuka made their first contribution in #1100
- @fastnloud made their first contribution in #1065
- @esnard made their first contribution in #1111
Full Changelog: v1.2.5...v1.3.0
v1.2.5
Summary
Thanks to the performance improvements in this version, FrankenPHP 1.2.5 can handle about 20% more requests per second than version 1.2.4 (for a โHello, World!โ application). These improvements apply to both worker mode and normal mode.
In addition, we've published a guide explaining how to get the best possible performance from FrankenPHP. The guide is also available in French.
What's Changed
- fix: disabling root symlinks by @AlliBalliBaba in #1001
- perf: cache document root resolution when possible by @dunglas in #1002
- perf: prevent useless logger memory allocations by @dunglas in #1005
- feat(static): add HTTP/2 support for ext-curl by @dunglas in #988
- chore: bump dependencies by @dunglas in #1006
- docs: add performance docs by @dunglas in #1004
- docs: add security policy by @dunglas in #973
- docs: fix and improve compilation docs by @davlgd and @dunglas in #998 and #986
- ci: run tests with PHP 8.4 by @dunglas in #971
- ci: add back -Wall -Werror by @dunglas in #985
New Contributors
- @davlgd made their first contribution in #998
- @AlliBalliBaba made their first contribution in #1001
Full Changelog: v1.2.4...v1.2.5
v1.2.4
What's Changed
- fix: reset sapi response code by @withinboredom in #964
- ci: generate SLSA attestations for static binaries by @dunglas in #962
Full Changelog: v1.2.3...v1.2.4
v1.2.3
What's Changed
- perf: 1,700% improvement in non-worker mode (CGI-like) by @withinboredom in #933
- chore: bump dependencies by @dunglas in #950
New Contributors
- @FabienPapet made their first contribution in #919
- @samdark made their first contribution in #942
Full Changelog: v1.2.2...v1.2.3
v1.2.2
What's Changed
- perf: improve PHP thread management in #898
- refactor: prevent a useless allocation in #895
- fix: create a custom Go build when using musl to prevent a crash in #913
- fix: deprecated Dockerfile ENV syntax in #905
- chore: switch back to upstream Static PHP CLI in #902
- chore: bump dependencies in #909
New Contributors
- @SimonMacIntyre made their first contribution in #888
- @Kevin-Detournay made their first contribution in #893
Full Changelog: v1.2.1...v1.2.2
v1.2.1
What's Changed
- feat: add support for max_input_time by @dunglas in #874
- fix: remove the parallel from the static binary to prevent freezes by @dunglas in #883
- fix: incorrectly prepared environment variables when not using
Caddyfile
by @dunglas in #885 - fix: prevent crash when worker terminates after a file upload by @dunglas in #857
- fix: C++ extension support when building a static binary by @DubbleClick in #855
- docs: various improvements, including fixes in the sample worker script code
New Contributors
Full Changelog: v1.2.0...v1.2.1
v1.2.0
What's Changed
- feat: Caddy 2.8 by @dunglas in #827
- feat:
X-Sendfile
/X-Accel-Redirect
support - feat: support full-duplex for HTTP/1 connections by @withinboredom in #692
- feat: simplify Caddy config by @dunglas in #832
- feat: log the number of threads and workers at startup by @dunglas in #826
- fix:
$_SERVER['FRANKENPHP_WORKER']
must not be NULL-terminated by @dunglas in #809 - fix: superglobals-related crashes with custom extensions in worker mode by @dunglas and @TimWolla (from @tideways) in #796
- ci: stop generating useless Docker tags by @dunglas in f773c1f
- docs: recommend using FrankenWP for WordPress by @StephenMiracle in #785
New Contributors
- @jeremyj11 made their first contribution in #828
Full Changelog: v1.1.5...v1.2.0