Skip to content

Gaoxy v0.5.3

Choose a tag to compare

@github-actions github-actions released this 20 Oct 15:53
· 68 commits to main since this release

Gaoxy v0.5.3

Plug reads now aggregate bounded native pieces correctly, so ordinary JSON and
form bodies above 16 KiB parse within configured limits. Logical length,
per-read demand and timeout, cumulative request limits and the original absolute
deadline remain distinct. Admission accounts for retained chunks and the final
binary copy before transferring ownership to Plug.

Malformed H2 requests missing authority receive a stream PROTOCOL_ERROR while
an active sibling and the connection remain usable. Split H2/H3 request Cookies
are joined in encounter order with ; before upstream serialization; H1 input,
other duplicate fields and response Set-Cookie retain their existing behavior.

WebSocket proxy errors use protocol-neutral responses. Unsupported H2/H3 proxy
requests receive empty 400 responses before upstream work. Native local H2/H3
WebSockets remain separately supported with opt-in extended CONNECT.

This release also includes the already reviewed H2 decode-reservation/default
concurrency repair and standalone configuration of managed H1/H2/h2c upstreams,
groups/probes, H1 WebSocket proxy routes and fixed TCP/TLS/UDP relays. See the
standalone guide.
No new H2/H3 WebSocket proxy bridge or managed H3 activation is added.

All five distributions use 0.5.3: gaoxy, gaoxy_http, gaoxy_http3,
gaoxy_proxy and gaoxy_websock_adapter. Phoenix must keep the override:

{:gaoxy_http, "~> 0.5.3"},
{:websock_adapter, "~> 0.5.3", hex: :gaoxy_websock_adapter, override: true}

The locked dependency cohort is unchanged. Proxy responses declaring trailers
with Content-Length remain rejected across H1/H2/H3. Ordinary regressions,
independent protocol peers, packaging and consumers have separate evidence in
repair acceptance.
Specialist disconnect/slow-peer/pressure/load/soak qualification, deployment,
production operations and the disabled release-artifact E2E remain outside this
patch. The standalone archive retains its existing platform qualification.