Skip to content

Releases: infocyph/Runwire

Release list

2.1.2

Choose a tag to compare

@github-actions github-actions released this 17 Oct 05:18
7e9bf20

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() and Runtime::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, while run($application) remains available and leaves process-safety to its caller. (Ref: 909b435)

Full Changelog: 2.1.1...2.1.2

2.1.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 12:34
745b1c2

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