Go 1.27 was released in August 2026, six months after Go 1.26, introducing several language, runtime, tooling, and library upgrades [1]. The new version allows methods to declare their own type parameters, enabling generic methods to increase code flexibility [2, 3, 1].

Struct literals can now use any valid field selector as a key, which permits initializing nested or embedded struct fields directly [2, 3, 1]. Function type inference is extended to apply in all assignment contexts, including composite literals, type conversions, and channel sends, broadening type inference capabilities [2, 3, 1].

Performance improvements include size-specialized memory allocation that cuts small object allocation costs by up to 30%, boosting performance of allocation-heavy programs by about 1% [2, 3]. The runtime/pprof package now includes a goroutineleak profile to help detect permanently blocked goroutines [3].

The standard library gained a new high-level JSON processing API in encoding/json/v2 offering stricter defaults and configurable options [2, 3]. A new crypto/mldsa package supports the post-quantum ML-DSA signature algorithm [2, 4].

In terms of SIMD, an experimental simd package was added to provide portable SIMD support that is vector-size agnostic [2]. The simd/archsimd package updated its AMD64 API and now supports Arm Neon 128-bit SIMD and WebAssembly 128-bit SIMD [2].

Tooling improvements include new modernizers in the go fix tool and enhanced support for package@version queries in go doc [2, 3, 1]. The go command dropped support for the bzr version control system and module fetching from bzr servers [1]. Response file parsing (@file) is now supported for compile, link, asm, cgo, cover, and pack tools, compatible with GCC response files [1].

Legacy GODEBUG settings that are no longer supported are now checked during builds and can cause failures if outdated values remain [1].