167 wires and counting

$ follow Go

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

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-10-08
stories 35

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

gopls boots one daemon for every subcommand, and the compiler learns to see NUL bytes

By RepoJournal · Filed · About Go · Composed from the cited sources · methodology

A day of correctness fixes across the Go toolchain: gopls gets a single-daemon model and its integration tests stop running everything twice, while the compiler's scanner closes a gap where leading NUL bytes in source went unchecked.

gopls/internal/cmd: start a daemon with -remote=auto golang/tools

by Hana Kim

The -remote=auto flag used to start a daemon only from 'serve'; it now passes remoteArgs so any gopls subcommand can launch one. Server notifications are also handled sequentially, which stops diagnostics from being dropped.

cmd/compile/internal/syntax: report NUL byte read after buffer refill golang/go

by Robert Griesemer

A NUL byte as the first byte of a file, or as the first byte after a buffer refill, was ignored by source.nextch, so the scanner reported "invalid character" outside strings and accepted the byte silently inside them. The check now runs after refilling the buffer.

gopls/internal/test/integration: faster execution time golang/tools

by Peter Weinberger

The integration suite was booting two LSP server sessions and two disk sandboxes per test because regtest.DefaultModes ran every test in both Default and Forwarded modes. It now returns Default alone in non-short runs, taking rfindley's TODO.

internal/refactor: ignore //line directives in Delete{Decl,Stmt} golang/tools

by Alan Donovan

DeleteDecl and DeleteStmt compared lines via token.File.Line, which honors //line directives, so a directive could make unrelated later code look adjacent and get deleted along with a declaration. Both now use unadjusted line numbers.

crypto/tls: reject IP addresses in ECH public names golang/go

by Jo Turk

ECH public names now reject IP literals during config selection, as required by RFC 9849 section 6.1.7.

cmd/apidiff: stop using gcexportdata.{Read,Write}Bundle golang/exp

by Alan Donovan

apidiff drops gcexportdata.Read/WriteBundle, which were experimental and are heading for removal, and writes -m -w output as a zip with one entry per package. Bundle files you have already produced will not read back the same way.

net/http: update cancelTimerBody comment golang/go

by Ilya Priven

A comment in net/http's cancelTimerBody was still describing b.stop(), which was removed in CL 361919. Nothing changes at runtime.

gopls/internal/cmd: Add inspect subcommand golang/tools

by Alex Putman

Alex Putman's initial 'gopls inspect' subcommand resolves a target query through gopls.resolve_target into protocol.Locations and uses it for definition location and full hover documentation. The target query args are intended as a general symbol-based argument type.

Quick answers

What shipped in Go on October 8, 2026?
A day of correctness fixes across the Go toolchain: gopls gets a single-daemon model and its integration tests stop running everything twice, while the compiler's scanner closes a gap where leading NUL bytes in source went unchecked. In total, 35 commits landed.
Who contributed to Go on October 8, 2026?
9 developers shipped this update, including Austin Clements, Robert Griesemer, Cameron Walters, Jo Turk, Peter Weinberger, Hana Kim, Alex Putman, and Alan Donovan, and 1 more.
What were the notable Go updates?
gopls/internal/cmd: start a daemon with -remote=auto, cmd/compile/internal/syntax: report NUL byte read after buffer refill, and gopls/internal/test/integration: faster execution time.