118 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-07-31
stories 18

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

RISCV64 COMPILER BUG BREAKS UNSIGNED VALUE HANDLING

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

Go's compiler is silently corrupting unsigned integer sign extensions on RISCV64, a critical correctness issue that requires immediate attention across the platform.

The riscv64 lowering rules remove sign extensions after 32-bit instructions, but regalloc restores spilled values with an extension chosen from their type: unsigned 4-byte values are restored zero-extended, losing the sign extension the rules removed [1]. This cascades across multiple fronts. The compiler is also missing opcode coverage in ZeroUpper32Bits, letting redundant zero-extensions slip through on amd64 and arm64 [2]. A separate OpenBSD/RISCV64 breakage from a recent stack check addition needs removal [3]. Beyond core compiler fixes, the release covers quality-of-life improvements: dark mode support for net/http directory listings [4], iOS version parsing that handles three-component versions like 13.1.1 [5], and test infrastructure cleanup across pkgsite [6], [7]. The present tool got two fixes for directive validation and documentation accuracy [8], [9]. 18 commits across 4 repos shipped in this period.

Action items

References

  1. [1] cmd/compile: do not elide riscv64 sign extension of unsigned values ↗ golang/go
  2. [2] cmd/compile/internal/ssa: complete ZeroUpper*Bits opcode coverage ↗ golang/go
  3. [3] runtime: remove stackcheck from openbsd/riscv64 ↗ golang/go
  4. [4] net/http: support dark mode in dir listing ↗ golang/go
  5. [5] cmd/gomobile: support three-component iOS versions ↗ golang/mobile
  6. [6] internal/frontend: doc signal: clean up tests ↗ golang/pkgsite
  7. [7] internal/frontend: doc signal: more test reorg ↗ golang/pkgsite
  8. [8] present: validate background directive arguments ↗ golang/tools
  9. [9] present: correct documented time for dates ↗ golang/tools

Quick answers

What shipped in Go on July 31, 2026?
Go's compiler is silently corrupting unsigned integer sign extensions on RISCV64, a critical correctness issue that requires immediate attention across the platform. In total, 18 commits landed.
Who contributed to Go on July 31, 2026?
7 developers shipped this update, including Jorropo, Egon Elbre, Mauri de Souza Meneguzzo, Erik Staab, Daniel Morsing, cuishuang, and Jonathan Amsterdam.
What were the notable Go updates?
cmd/compile: do not elide riscv64 sign extension of unsigned values, cmd/compile/internal/ssa: complete ZeroUpper*Bits opcode coverage, and runtime: remove stackcheck from openbsd/riscv64.