The Wire · Showcase
HTTP/2 WRAPS NET/HTTP AS GO STABILIZES TEST SUITE
By RepoJournal · Filed · About Go
golang/net shipped wrapped HTTP/2 Server and ClientConn implementations while the core runtime quietly fixed a cascade of platform-specific test failures.
The http2 package is undergoing a structural shift, moving Server [1] and ClientConn [2] implementations to wrap net/http directly instead of standing alone—part of a larger consolidation effort. A critical fix landed for 32-bit platforms where http2wrap was overflowing integer math [3], unblocking builds on ARM and other narrow architectures. Meanwhile, golang/go is tightening its test harness: CgoCallback tests disabled on FreeBSD+race [8] where the configuration isn't supported, flaky HTTP/3 tests muted [4], and VCS import tests scrubbed of unwanted network calls [5]. A subtle but important fix in js/wasm syscall now copies only the bytes actually read instead of the full buffer [6], cutting waste on small file operations. Generic method experiments now correctly read GOEXPERIMENT from the build environment [7] instead of the compiler's internal setting, fixing a long-standing inconsistency. Over on pkgsite, the symbols API is being refactored to reduce duplication in its output format [9].
Action items
- → If targeting 32-bit platforms with http2wrap, verify your builds pass after http2 sync golang/net [plan]
- → Review your GOEXPERIMENT flags if using generic method features in builds golang/go [monitor]
- → Watch for HTTP/2 API surface changes as Server and ClientConn move to net/http wrappers golang/net [monitor]
References
- [1] http2: add wrapped Server
- [2] http2: add wrapped ClientConn
- [3] http2: avoid overflowing 32-bit int when http2wrap enabled
- [4] net/http: disable some flaky HTTP/3 tests
- [5] cmd/go/internal/vcs: stop making network connections in test
- [6] syscall: copy only read bytes in js/wasm
- [7] cmd/compile: use GOEXPERIMENT from environment for generic methods
- [8] runtime: disable CgoCallbackX15 test on freebsd+race
- [9] internal/api: adjust symbols output format
FAQ
- What changed in Go on May 1, 2026?
- golang/net shipped wrapped HTTP/2 Server and ClientConn implementations while the core runtime quietly fixed a cascade of platform-specific test failures.
- What should Go teams do about it?
- If targeting 32-bit platforms with http2wrap, verify your builds pass after http2 sync • Review your GOEXPERIMENT flags if using generic method features in builds • Watch for HTTP/2 API surface changes as Server and ClientConn move to net/http wrappers