Go 1.27 lands: JSON v2, generic methods, experimental SIMD

Six months after 1.26, Go's biggest standard-library refresh in years adds post-quantum TLS out of the box and trims small-allocation cost by up to 30%.

Nowline AUG 21 7:00 AM banner

Top AI stories from the last hour

Top AI stories from the last hour

Copy markdown

  • encoding/json/v2 is finally in the box

    A ground-up rewrite ships as encoding/json/v2 plus a low-level jsontext package — unmarshal is significantly faster and it now rejects invalid UTF-8 and duplicate keys by default. Need the old behavior? GOEXPERIMENT=nojsonv2 buys you time until 1.28, when v1 defaults are slated to go away.

  • Generic methods finally land

    Methods can now declare their own type parameters, closing one of the largest gaps left open when generics arrived in Go 1.18. Standard-library APIs like math/rand/v2 already lean on it.

  • A portable SIMD package (experimental)

    New simd and simd/archsimd packages expose vector-size-agnostic SIMD with real hardware acceleration — 128-bit on arm64/amd64/wasm, up to 512-bit on newer amd64. Build with GOEXPERIMENT=simd; it's the door to hand-tuned inference and vector-math kernels in pure Go.

  • Post-quantum crypto, no third-party lib

    crypto/mldsa implements FIPS 204 ML-DSA, and TLS 1.3 gains MLDSA44/65/87 signatures plus MLKEM1024 hybrid key exchange. You can stand up post-quantum handshakes with only the standard library.

  • Small allocations up to 30% cheaper

    Size-specialized malloc routines cut sub-80-byte allocation cost by up to 30% (about 1% overall in allocation-heavy code) for a ~60KB binary bump. Goroutine-leak detection also graduates to GA via runtime/pprof.