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

RUNTIME MUTEX PROFILING LANDS, ARCHIVE/ZIP GETS CRITICAL FIX

By RepoJournal · Filed · About Go

Go's runtime now splits mutex lock tracking from preemption disable, unblocking safe contention profiling while a major Zip64 writer bug gets patched.

The core runtime change [1] separates gp.m.locks into two distinct mechanisms: one for tracking actual mutex holds and another for preemption disabling. This architectural split enables the mutex contention profiler to safely acquire mutexes during sampling without false positives. It's a careful fix that impacts how every Go program running on multiple goroutines manages synchronization visibility. Separately, archive/zip [2] shipped a critical writer-side Zip64 edge case fix that was causing mysterious failures when uploading files to external services. The bug manifested only in files larger than 4GiB but smaller than 6.5GiB, making it nearly impossible to debug. On the profile front, internal/profile [3] now correctly returns errors from gzip.Writer.Close in Profile.Write, preventing silent data corruption when pprof serialization fails due to disk full or broken pipes. The tooling desk is busy too: gopls [4] fixed generic method hover support and [5] corrected long-broken inlay hint logic in var specs, while the modernize analyzer [6] now handles negated error type assertions properly.

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] runtime: split gp.m.locks bits for lock vs acquirem golang/go
  2. [2] archive/zip: fix writer-side Zip64 edge cases golang/go
  3. [3] internal/profile: return error from gzip.Writer.Close in Profile.Write golang/go
  4. [4] gopls/internal/golang: Hover: add test of generic methods golang/tools
  5. [5] gopls/internal/golang: InlayHint: fix bug in 'var' specs golang/tools
  6. [6] go/analysis/passes/modernize: errorsastype: support negated case golang/tools
  7. [7] x86/x86asm: support AVX instructions golang/arch

Quick answers

What shipped in Go on May 21, 2026?
Go's runtime now splits mutex lock tracking from preemption disable, unblocking safe contention profiling while a major Zip64 writer bug gets patched. In total, 63 commits landed.
What were the notable Go updates?
runtime: split gp.m.locks bits for lock vs acquirem, archive/zip: fix writer-side Zip64 edge cases, and internal/profile: return error from gzip.Writer.Close in Profile.Write.

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?