top | item 43016673

Go 1.24 Release Notes

8 points| marcopolo | 1 year ago |go.dev

1 comment

order

infogulch|1 year ago

Some 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