Skip to content

Gaoxy v0.11.0

Choose a tag to compare

@github-actions github-actions released this 22 Oct 03:52
· 19 commits to main since this release

Gaoxy 0.11.0

Gaoxy adds validated backend service tuning for applications migrating from
Bandit's thousand_island_options. Configure TCP/TLS with hell_options and
UDP/QUIC with abyss_options. These entries work through embedded services,
native HTTP/HTTP3, ListenerSet and Phoenix's per-listener configuration. The
old Thousand Island option name is not an alias.

TCP/TLS supports acceptor count, backlog and ordinary socket tuning. Acceptor
connection quotas divide the existing service-wide limits.max_active ceiling;
division remainders are unused. HTTP rejects receive-buffer fields owned by its
protocol limits/profile. UDP supports a shared receive/send buffer size and
IPv4 TOS/TTL. QUIC supports bounded event batches and polling intervals.

The options are checked before binding or endpoint initialization, with explicit
errors for duplicates, unsupported fields, backend mismatches and ownership
overrides. QUIC polling aliases normalize into the canonical service field and
reject conflicting values. Binding, credentials, handlers, resource budgets and
lifecycle remain under Gaoxy control. Omitted options preserve existing defaults.

Real-socket tests cover effective tuning and traffic through direct,
ListenerSet and Phoenix paths, including independent aioquic requests. The
mandatory ordinary composition gate adds all 19 backend-options tests, bringing
the complete repair/compatibility gate from 334 to 353 required cases without
excluding prior cases. Existing Gaoxy.Test functionality and dependency pins
remain unchanged. All six Hex distributions advance together to 0.11.0; the
standalone application uses the same version.

QUIC UDP socket tuning, separate UDP receive/send buffers, arbitrary backend
options and standalone JSON configuration additions are outside this release.
Kernel buffer rounding/clamping and OS socket-option support still apply.

The feature acceptance record preserves
the original verification results and limitations: browser automation was
unavailable, broader core verification observed baseline cancellation-test
instability, and a newer local formatter flagged unchanged files. Release
preparation uses canonical Elixir 1.18.5 and OpenSSL 3. Hosted CI, release
artifacts, publication and browser acceptance require their own recorded
results; this document does not claim they have run. Deployment and specialist
pressure/soak qualification remain separate.

See the configuration support matrix,
Bandit migration guide,
design and implementation plan.