RepoJournal
Go

@golang

Go and the standard library - backend infrastructure at scale

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.

Pick a date

Topics: Go Infrastructure Full archive →

The Wire · Showcase

GO STRIPS LEGACY CODE.GOOGLE.COM PATHS, HTTP/2 HOST HEADER FIX LANDS

By RepoJournal · Filed · About Go

The Go toolchain removed an unreachable staleness check dating to Google Code's 2016 shutdown, while the HTTP/2 implementation now correctly strips Host headers from request maps to match documented behavior.

cmd/go/internal/load dropped the StalePath check [1] that reported errors for code.google.com/p/go.tools imports, a path that became unfetchable the moment Google Code shut down eight years ago. The removal closes an old TODO in the loader. Meanwhile, net/http/internal/httpcommon [2] fixed a behavioral gap: the http.Request documentation promises that incoming Host headers are promoted to the Request.Host field and removed from the Header map, but HTTP/2 was keeping them in the map when no :authority pseudo-header arrived. This change aligns implementation with spec. On the analyzer front, golang/tools patched two widespread bugs across its static checkers. The modernize pass [5] now refuses to rewrite backward slice loops with assignment-form initialization (i = len(s)-1), since converting to a range loop would declare a new variable and change post-loop behavior. More broadly, multiple analyzers [6] were panicking on multi-valued call arguments like net.Dial(dialArgs()), where one AST node represents two return values; the fix adds argument count checks before indexing. VS Code's Go extension [4] now prefers gopls' native implement-interface command over the external impl tool when available, part of a larger migration to built-in commands [3]. The build infrastructure also tightened buffer handling [7]: repeated buildlet connections no longer leak unread bytes that could corrupt subsequent reads from the network socket.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] cmd/go/internal/load: remove StalePath check golang/go
  2. [2] net/http/internal/httpcommon: remove Host header from server request golang/go
  3. [3] extension/src/goImpl: collect telemetry for the vscode command golang/vscode-go
  4. [4] extension/src/goimpl: use gopls command if available golang/vscode-go
  5. [5] go/analysis/passes/modernize: avoid changing assignment-form slicesbackward loops golang/tools
  6. [6] go/analysis: avoid panics on multi-valued call arguments golang/tools
  7. [7] buildlet: ensure bytes are drained before network connection golang/build

Quick answers

What shipped in Go on August 15, 2026?
The Go toolchain removed an unreachable staleness check dating to Google Code's 2016 shutdown, while the HTTP/2 implementation now correctly strips Host headers from request maps to match documented behavior. In total, 23 commits landed.
Who contributed to Go on August 15, 2026?
9 developers shipped this update, including Ilya Torbin, Damien Neil, Michael Matloob, Rhys Hiltner, Ruixi-rebirth, racequite, Hongxiang Jiang, and cuishuang, and 1 more.
What were the notable Go updates?
cmd/go/internal/load: remove StalePath check, net/http/internal/httpcommon: remove Host header from server request, and extension/src/goImpl: collect telemetry for the vscode command.

More from @golang

Daily updates, in your inbox

Follow Go

Keep up with Go in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?