$ cat golang/week/2026-09-14.log
the week in review · Sep 14 – Sep 20, 2026
Go 1.27.1 lands as plan9 early export disabled
By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology
The week's fixes span Windows handle adoption, math/big correctness, and a real localhost resolution change in the Go resolver.
cmd/go: disable early export on plan9 golang/go
The early export path is off for plan9 because it was breaking the builders; the CL credits the fix to issue 81486. If you only build for plan9 from source, your tree is usable again.
os,internal/poll: lazily initialize Windows NewFile handles golang/go
Querying a Windows handle's I/O mode can block behind outstanding synchronous I/O, which made NewFile hang when adopting an inherited or duplicated handle before the caller could cancel. Mode lookup is now deferred instead of done at adoption time.
net: resolve localhost names to loopback in the Go resolver golang/go
RFC 6761 section 6.3 says resolution APIs "SHOULD always return the IP loopback address for address queries", and the Go resolver now does that for localhost and names under .localhost. Code that relied on the previous lookup behavior, including hosts-file overrides, should be rechecked.
math/big: normalize zero in Int.GobDecode golang/go
GobDecode could leave a negative sign on a zero magnitude, producing an Int that panics in Sqrt and other arithmetic. The sign is now set after decoding the magnitude, matching Int.scan, with regression coverage for empty and zero-padded magnitudes.
cmd/go: make go mod why exit non-zero for unused targets golang/go
Any requested package or module not referenced from the main module now exits 1, while every target is still reported and the output is unchanged. CI steps that tolerated the old zero exit will start failing.
net/http: don't cancel request contexts on idle unencrypted HTTP/2 conns golang/go
An earlier change made conn.serve return as soon as the HTTP/2 serve goroutine parked, so the deferred context cancel fired while the connection was still serving; unencrypted HTTP/2 connections were affected. This follow-up stops canceling request contexts on idle conns.
hash/adler32: add vectorized implementation for amd64 golang/go
The checksum kernel gets an AVX2 implementation using the goexperiment.simd archsimd intrinsics, processing 32 bytes per iteration with VPSADBW and VPMADDUBSW. Any amd64 build behind that experiment picks up the faster path without code changes.
go/ssa: preserve single-case receive assignment order golang/tools
A single-case select is lowered to a plain statement, but ordinary assignment lowering evaluated the left-hand side before the receive, which select semantics do not allow. go/ssa now preserves the receive-before-assignment order, so analysis results for this pattern no longer mislead.
$ ls golang/week/ # the briefings behind this review
Keep up with Go in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
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.