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

If you already have Go 1.22 or Go 1.21 installed on your machine, you can also try go get [email protected] in an existing module. This will download the new toolchain and let you begin using it in your module right away. At some later point, you can follow up with go get [email protected] when you’re ready to fully switch to Go 1.23 and have that be your module’s minimum required Go version. See Managing Go version module requirements with go get for more information on this functionality.

Go 1.23 comes with many improvements over Go 1.22. Some of the highlights include:

Language changes

Tool improvements

Standard library improvements

More improvements and changes

We encourage everyone to read the Go 1.23 release notes for the complete and detailed information on these changes, and everything else that’s new to Go 1.23.

Over the next few weeks, look out for follow-up blog posts that will go in more depth on some of the topics mentioned here, including “range-over-func”, the new unique package, Go 1.23 timer implementation changes, and more.


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.23 is as stable as possible. As always, if you notice any problems, please file an issue.

Enjoy Go 1.23!


Dmitri Shuralyov, on behalf of the Go team

Photo by Elena Mozhvilo on Unsplash

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