Today the Go team is excited to release Go 1.24, which you can get by visiting the download page.

Go 1.24 comes with many improvements over Go 1.23. Here are some of the notable changes; for the full list, refer to the release notes.

Language changes

Go 1.24 now fully supports generic type aliases: a type alias may be parameterized like a defined type. See the language spec for details.

Performance improvements

Several performance improvements in the runtime have decreased CPU overhead by 2–3% on average across a suite of representative benchmarks. These improvements include a new builtin map implementation based on Swiss Tables, more efficient memory allocation of small objects, and a new runtime-internal mutex implementation.

Tool improvements

Standard library additions

Improved WebAssembly support

Go 1.24 adds a new go:wasmexport directive for Go programs to export functions to the WebAssembly host, and supports building a Go program as a WASI reactor/library. Read more on WebAssembly in the release notes.


Please read the Go 1.24 release notes for the complete and detailed information. Don’t forget to watch for follow-up blog posts that will go in more depth on some of the topics mentioned here!

Thank you to everyone who contributed to this release by writing code and documentation, reporting bugs, sharing feedback, and testing the release candidates. Your efforts helped to ensure that Go 1.24 is as stable as possible. As always, if you notice any problems, please file an issue.

Enjoy Go 1.24!


Credits: Junyang Shao, on behalf of the Go team

Photo by Markus Winkler on Unsplash

This article is available on The Go Blog under a CC BY 4.0 DEED license.