Go 1.27 shipped on August 19, 2026, six months after Go 1.26, keeping the project's standard release cadence. The release mixes one notable language change with several new and reworked standard-library packages.

The language change is generic methods: a method can now declare its own type parameters, something previously only possible at the package-function level. The Go team's own example is in math/rand/v2, where a method like (r *Rand) N[Int intType](n Int) Int can be generic over the integer type it returns. One limitation carries over from the design: interface methods still can't declare type parameters, so this doesn't yet extend to interface-based generic dispatch.

The standard library's biggest addition is encoding/json/v2, packaged with a companion encoding/json/jsontext, offering a major, configurable revision of JSON handling with stricter defaults — it rejects invalid UTF-8 and duplicate object keys where the original package would silently accept them — and noticeably faster Unmarshal performance. Teams that need to check compatibility before adopting it can roll back to the old behavior with GOEXPERIMENT=nojsonv2.

Go 1.27 also adds post-quantum cryptography support: a new crypto/mldsa package implements FIPS 204 ML-DSA digital signatures, wired into both crypto/x509 for certificates and crypto/tls, where MLDSA44/65/87 are now usable cipher options in TLS 1.3.

On performance, size-specialized memory allocation for small objects (under 80 bytes) cuts allocation cost by up to 30%, translating to roughly a 1% speedup across allocation-heavy programs generally, at the cost of about 60KB of added binary size. A new goroutineleak profile, now generally available in pprof, detects goroutines permanently blocked on channels, mutexes, or other concurrency primitives — a common and previously hard-to-diagnose class of bug.

Go 1.27 also introduces a native uuid package, experimental portable simd and simd/archsimd packages for explicit vectorized code, and drops support for macOS versions before Ventura (13). Full release notes are on the Go project's own site.

Source: Go.dev — Go 1.27 Release Notes