Go 1.24 Release Notes
go.devSome highlights:
runtime: new map implementation based on Swiss Tables, more efficient memory allocation of small objects, and a new runtime-internal mutex implementation. 2-3% improvement
vet checks for common mistakes in tests, fuzzers, benchmarks, and examples in test packages such as malformed names, incorrect signatures, or examples that document non-existent identifiers
The new os.Root type provides the ability to perform filesystem operations within a specific directory
New benchmark function ... perform benchmark iterations like for b.Loop() { ... }
This release includes a new set of mechanisms to facilitate FIPS 140-3 compliance. ( See recent discussion: Microsoft Go 1.24 FIPS changes https://news.ycombinator.com/item?id=42965404 )
Nice iterators for bytes, strings packages: Lines (returns an iterator over the newline-terminated lines), SplitSeq, SplitAfterSeq, FieldsSeq, FieldsFuncSeq
http client and server expose http2 configuration
text/template now support range-over-func and range-over-int
The go:wasmexport compiler directive is added for Go programs to export functions to the WebAssembly host