FrankenPHP 1.12.7 is a pure bugfix release, published on August 7.

The main fix concerns classic (non-worker) mode. Output written after fastcgi_finish_request() or frankenphp_finish_request() was silently discarded: with the default ignore_user_abort setting, any echo after finishing the request incorrectly marked the connection as aborted and stopped the script mid-run. The fix by @dunglas lands in PR #2569 and resolves issue #2548.

The frankenphp_total_threads metric is now reported as a gauge reflecting the current thread count instead of accumulating without bound. This was the first contribution by @ousamabenyounes (PR #2550, fixing #2481).

The opcache-invalidation restart hook has been removed again. Restarting on every opcache reset could cascade into recursive restarts for frameworks that invalidate the cache heavily, so @AlliBalliBaba reverted it in PR #2564.

Routine client-disconnect write and flush errors are now logged at debug level instead of warn, matching the convention used by Caddy and Mercure, and the misleading "not a flusher" label is gone. The build script go.sh now respects the PHP_CONFIG environment variable, thanks to @henderkes. The full changelog compares v1.12.6 with v1.12.7 on GitHub.