Go 1.25 is here!

August 14, 2025

Join me tomorrow, Friday, August 15, at 3:00pm EDT (19:00 UTC), for a live stream where I’ll be building a new feature in my open-source project. Subscribe on YouTube and hit the Notify me button so you don’t miss it!


So I’m taking a short break from talking about goroutines (mostly) to mention the relese of Go 1.25!

Go 1.25 is a rather insignificant release, in the grand sceme of things. There are no major new features, like generics or structured logging… And no language changes at all*. But there are some nice incremental improvements, and I’ll touch on a few:

  • go vet reports misplaced calls to sync.WaitGroup.Add — something we’ll be talking about very soon, as it relates to our goroutines series.
  • There’s a new testing/synctest package. It was made available in 1.24 as an experiement. Now it’s generally available.
  • Speaking of experimental packages, encoding/json/v2 is experimentally available in 1.25, and it includes some nice improvements to the JSON encoder and decoder.
  • While it’s listed a minor change, I may be most excited about the addition of sync.WaitGroup.Go, which is very relevant to our current series on goroutines. So I’ll be talking about that very soon, too.

What’s your favorite new feature in Go 1.25? Let me know!


*While there are no functional changes to the language, the spec has been updated to simplify discussion of “core types”—a rather confusing topic that I won’t get into here, except to say that it’s not enough of a change for me to go back and update any of my previous posts about the spec. If you’re curious what the fuss is all about, this blog post should tell you all you need to know.


Share this

Direct to your inbox, daily. I respect your privacy .

Unsure? Browse the archive .

Get daily content like this in your inbox!

Subscribe