The Wire · Showcase
Go Deprecates HTTP/2 Transport Direct Use
By RepoJournal · Filed · About Go
Damien Neil just deprecated the HTTP/2 Transport and Server in golang/net, signaling a major shift for Go's networking stack.
The headline act is the deprecation of http2.Transport and Server [1], a move that will force many libraries to adapt or face future removal. Elsewhere, the Go team is shoring up HTTP/3 robustness: a fix prevents roundtrip aborts when servers close request streams early [3], and another ensures 1xx responses are never mistaken for final status [4]. On the compiler front, loong64 gets a nice win with redundant high-bit extensions eliminated, removing 142 instructions from the x/tools binary [2]. The go command also expands its short-mode test coverage, unskipping 150 more tests to catch regressions faster [5]. Meanwhile, the website documentation now asks security reporters to include preferred attribution [6], a small but meaningful change for credit where it's due. And riscv64 gains disassembly support for the Zacas extension [7], useful for atomics on that architecture. Notably, both HTTP/3 fixes [3][4] target flakes in standard library tests, so expect more stable CI across the board.
One email a day. Unsubscribe in one click.
Keep up with Go in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review your use of golang.org/x/net/http2 and plan migration away from Transport/Server before removal golang/net [plan]
- → Test with latest golang/net for HTTP/3 changes to fix flaky tests golang/net [monitor]
- → Rebuild your Go toolchain for loong64 to benefit from compiler optimization golang/go [monitor]
References
- [1] http2: deprecate Transport and Server golang/net
- [2] cmd/compile: eliminate redundant high-bit extensions on loong64 golang/go
- [3] internal/http3: do not abort roundtrip when server closes request stream golang/net
- [4] internal/http3: do not treat 1xx status as the final response status golang/net
- [5] cmd/go: remove [short] skip from some more script tests golang/go
- [6] _content/doc/security: request reporters to include preferred attribution golang/website
- [7] riscv64: add disassembly support and tests for zacas golang/arch