94 wires and counting

$ 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

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

One email a day. Unsubscribe in one click.

$ status

wire 2026-08-28
stories 44

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

unicode/norm composition bugs shake the foundation

By RepoJournal · Filed · About Go

Russ Cox landed a five-part fix for Unicode normalization that silently corrupted text, and gopls is hardening inlining, but the real headline is the type-checking cleanup rolling through go/types.

Russ Cox's unicode/norm fixes [1] are the story this morning: the reorderBuffer was silently dropping table-driven compositions whenever a segment started with a Hangul syllable [1], and a truncated recomposition map key caused supplementary-plane runes to alias BMP entries, breaking canonical equivalence [2]. Damien Neil cleaned up two more edge cases [3] [4] to round out the series. On the net desk, Russ also patched two HTTP/3 landmines: a nil TLSConfig in newQUICConfig that panicked on default transports [5], and a leak where RoundTrip could return before the request body was fully closed [6]. "The result is a composition that is not canonically equivalent to its input, reachable from plain" [2] — and yes, that's as bad as it sounds. Gopls now rejects inlining for variables that are reassigned or have their address taken [7], closing golang/go#77543, while go/types continues its steady march toward cleaner type inference with the target refactor [8] [9].

Action items

References

  1. [1] unicode/norm: compose non-Hangul runes after a Hangul syllable golang/text
  2. [2] unicode/norm: don't truncate runes in the recomposition map key golang/text
  3. [3] unicode/norm: simplify short source detection in Form.transform golang/text
  4. [4] unicode/norm: prevent decomposeSegment from moving backwards golang/text
  5. [5] internal/http3: handle a nil TLSConfig in newQUICConfig golang/net
  6. [6] internal/http3: close the request body before RoundTrip returns golang/net
  7. [7] gopls/internal/golang: reject inlining for modified variables golang/tools
  8. [8] go/types, types2: allow target to hold any type, not just signatures golang/go
  9. [9] go/types, types2: remove all vestiges of composite literal hint parameters golang/go

Quick answers

What shipped in Go on August 28, 2026?
Russ Cox landed a five-part fix for Unicode normalization that silently corrupted text, and gopls is hardening inlining, but the real headline is the type-checking cleanup rolling through go/types. In total, 44 commits landed.
Who contributed to Go on August 28, 2026?
12 developers shipped this update, including Robert Griesemer, Russ Cox, Timo Furrer, Alan Donovan, Alex Putman, Peter Weinberger, Ruslan Semagin, and Tianon Gravi, and 4 more.
What were the notable Go updates?
unicode/norm: compose non-Hangul runes after a Hangul syllable, unicode/norm: don't truncate runes in the recomposition map key, and unicode/norm: simplify short source detection in Form.transform.