FrankenPHP 1.12.7 salió el 7 de agosto y soluciona cinco fallos, además de sumar una aclaración a la documentación.

La corrección principal afecta al modo clásico, sin worker. Hasta ahora, cualquier salida escrita tras invocar fastcgi_finish_request() o frankenphp_finish_request() desaparecía sin aviso. Como ignore_user_abort viene activado por defecto, el runtime interpretaba un echo tardío como señal de desconexión y detenía el script a mitad de camino. Kévin Dunglas lo resolvió en la pull request #2569, cerrando así el issue #2548.

Primera contribución de @ousamabenyounes: la métrica frankenphp_total_threads se acumulaba en vez de reflejar el número real de hilos activos, por lo que crecía sin límite. Ahora se comporta como un gauge auténtico (#2550, corrige #2481).

@AlliBalliBaba retiró de nuevo el hook que reiniciaba el runtime en cada invalidación del opcache. Reiniciar en cada reset podía desencadenar reinicios recursivos en cascada en frameworks que invalidan su caché con frecuencia (#2564).

Dunglas también bajó del nivel warn al nivel debug los errores rutinarios de escritura y flush por desconexión de clientes, alineando FrankenPHP con el comportamiento de Caddy y Mercure. Esos mensajes ya no llevan la etiqueta incorrecta «not a flusher» (#2589).

En el build, @henderkes hizo que go.sh tenga en cuenta la variable de entorno PHP_CONFIG (#2557). La documentación ahora explica por qué la espera tras un force-kill debe seguir siendo ilimitada (#2577).

El changelog completo, de v1.12.6 a v1.12.7, está disponible en GitHub.