You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First stable release. The exported API of pkg/grpctunnel is now covered by semantic-versioning compatibility guarantees: no breaking changes without a major version bump, enforced in CI by the API-compatibility guard. Functionally identical to v0.2.0 plus the robustness suite below.
Stability statement
Supported public API: pkg/grpctunnel (server bridge, client dialing, hardening options, lifecycle controls, tooling helpers) and pkg/wasm/dialer (browser dial primitives).
pkg/bridge remains deprecated; it is frozen but not removed.
Every release gate is green: lint, race + coverage (≥90%), fuzz seed corpus, goroutine-leak regression, 32 MiB streaming soak, Playwright browser e2e, gosec, govulncheck, CodeQL, API governance, and benchmark trend gates.
Added
Leak and robustness regression suite: goroutine-leak tests over repeated connect/RPC/disconnect cycles (handler mode, native mode, and rejected-upgrade paths), abuse-guard slot-accounting verification, read-limit breach enforcement, 32 MiB streaming soak tests through both transports, and sustained-throughput benchmarks (~615 MB/s handler / ~835 MB/s native on 64 KB chunks, loopback).
Connection-lifecycle documentation for long-lived, high-volume streams (video/file transfer): chunking guidance, end-to-end backpressure, keepalive interaction with active streams, and resumption semantics.
Changed
CI: fuzz seed corpus now runs deterministically via -run '^Fuzz' instead of timed -fuzztime fuzzing, which intermittently failed at the fuzztime boundary with the Go fuzz engine's "context deadline exceeded" worker-shutdown race on loaded runners.
CI: the Playwright driver is installed from npm (playwright-core@1.60.0 + PLAYWRIGHT_DRIVER_PATH) — the playwright.azureedge.net driver CDN was retired and 404s for every driver version, and playwright-go v0.6100.0 is unusable (its tag declares the old mxschmitt module path).