Repository navigation
Releases: infocyph/Runwire
Releases · infocyph/Runwire
Release list
2.1.2
Overview
Runwire now constructs Swoole applications in their actual workers, so process-bound resources and runtime context belong to the correct worker. The patch also simplifies internal control flow without changing the documented public contracts.
New Features
- Worker-local Swoole applications:
Runtime::serveApplication()andRuntime::serve()construct applications after the host forks. Each worker and replacement receives its own context and metrics, and requests use that worker’s exact context.(Ref: 909b435)
Improvements
- Internal maintainability: Simplifies control flow across networking, HTTP, runtime, and supervisor components while preserving existing behavior and public/protected contracts.
(Ref: 2301169)
Notes
- Swoole application factories now run once per worker, including replacements. Put host-wide setup before serving; create process-bound resources inside the factory. The additive
SwooleDriver::runFactory()path provides worker-local construction, whilerun($application)remains available and leaves process-safety to its caller.(Ref: 909b435)
Full Changelog: 2.1.1...2.1.2
2.1.1
Overview
Graceful shutdown now lets requests already accepted by HTTP/1.1, HTTP/2, and HTTP/3 finish admission before application draining begins, avoiding dropped in-flight requests while preserving drain deadlines.
Bug Fixes
- Fix: Accepted HTTP/1.1 initial requests, including incomplete headers, can finish during recycling; later keep-alive exchanges are stopped. HTTP/2 finishes accepted header blocks and sets the GOAWAY boundary accordingly, while HTTP/3 finishes decoding accepted request headers before application drain.
(Ref: e8b3dc6)
Improvements
- Graceful draining: Native HTTP/3 continues advancing application tasks while draining. Accepted idle connections remain bounded by the recycling grace period, and protocol drain deadlines and resource limits remain in effect.
(Ref: e8b3dc6)
Notes
- Release-tag pushes now invoke the reusable release workflow; regular security and HTTP/3 + QUIC jobs are skipped for tag pushes.
(Ref: e8b3dc6)
Full Changelog: 2.1...2.1.1