Spotlight-Tip

Container-Aware GOMAXPROCS (New in Go 1.25)

Before Go 1.25, GOMAXPROCS defaults to the number of available physical CPU cores at app startup time. Now it takes container limits into account and checks changes periodically.

Atomic Functions or Methods

The sync/atomic package recommends using atomic types and their methods instead of the package-level atomic functions. For good reasons.

The Synctest Package (new in Go 1.25)

Tests that rely on time.Sleep() to test timings can be unreliable and slow. The synctest package introduces two antidotes: fake time and

New in Go 1.25: WaitGroup.Go()

WaitGroups are a means of synchronizing goroutines; yet the Add()/defer Done() idiom feels clumsy and is error-prone. A new method, Go(), puts an end to goroutine counting.

WebAssembly in 5 Minutes

Compiling Go code into a WebAssembly module is easy as pie. Getting the code to interact with the browser requires a few lines of Javascript, but it's less complicated than you might think.