Go: A Documentary

Go 1.27

Part II · master 83c44ec032..6c87434d24 · 861 in-scope commits

Generic methods. Size-specialized malloc on. Goroutine-leak profile by default. asynctimerchan and gotypesalias removed. mapsplitgroup experiment. Known-bits and LICM passes. Switch lookup tables. NEON, wasm and portable SIMD. Promoted fields as composite-literal keys.

Each area lists the stage every thread reached in this release (with what was left open afterwards), then changes that are not part of a thread. Thread names link to the full thread on its topic page.

Memory management

From Runtime: memory allocator and garbage collector (Go 1.18–1.28)

Other changes

Scheduler and concurrency

From Runtime: scheduler, timers, channels, locks and synchronization (Go 1.18–1.28)

Other changes

Data structures and type metadata

From Runtime: maps, built-in data structures, hashing, randomness and type metadata (Go 1.18–1.28)

Other changes

Diagnostics and knobs

From Runtime: tracing, profiling, metrics and diagnostics (Go 1.18–1.28)

Other changes

OS layer, stacks and panics

From Runtime: OS and platform layer, stacks, panics and tracebacks (Go 1.18–1.28)

Other changes

Compiler frontend · types2

From Compiler frontend: the types2 type checker (Go 1.18–1.28)

Other changes

Compiler frontend · syntax, IR, generics

From Compiler frontend: syntax, IR, unified IR and the generics implementation (Go 1.18–1.28)

Other changes

Middle end and SSA optimizer

From Compiler: middle end and SSA optimization (Go 1.18–1.28)

Other changes

Backends and assemblers · architectures, ABI

From Compiler backend: architectures, register allocation, ABI and assemblers (Go 1.18–1.28)

Other changes

Backends and assemblers · SIMD

From SIMD: the simd packages and their compiler support (Go 1.18–1.28)

Other changes

Linker and object files

From Linker, object files and debug info (Go 1.18–1.28)

Other changes