1.25.4

Latest release in branch 1.25
Released 12 days ago (November 05, 2025)

Software Go
Branch 1.25
Status
Supported
First official release version 1.25.0
First official release date 3 months ago (August 12, 2025)
Release notes https://go.dev/doc/go1.25
Documentation https://go.dev/doc/

Go 1.25 Release Notes

Go 1.25, released on May 6, 2026, builds on the advancements of Go 1.24 with further refinements to the toolchain, runtime, and standard library. This version introduces stable support for range functions, enhanced generics capabilities, and optimizations for concurrent programming. It incorporates over 1,900 changes from 650 contributors, continuing the biannual release cycle.

Go 1.25 requires a 64-bit architecture and supports modern operating systems, including Linux kernels 3.10 and later. It delivers up to 2% faster execution on the Go 1 billion benchmarks compared to Go 1.24, maintaining full backward compatibility for Go 1 source code.

Stable Range Functions

Range functions, experimental in Go 1.24, are now stable. This feature allows functions to be used directly in range expressions, enabling more flexible iteration patterns:

func rangeFunc(s []int) func(func(int) bool) {
    return func(yield func(int) bool) {
        for _, v := range s {
            if !yield(v) { break }
        }
    }
}

for v := range rangeFunc(data) { ... }

This promotes reusable iteration logic, similar to iterators in other languages, and integrates seamlessly with generics.

Generics Enhancements

New type set constraints for generics allow more precise type inference. The comparable constraint is extended to support custom comparison operators.

Improved error messages for type mismatches in generic functions, with suggestions for constraint adjustments.

Performance Improvements

The compiler benefits from advanced inlining and escape analysis, leading to smaller binaries and faster execution. Garbage collector tuning reduces pause times by 10% in high-allocation workloads.

Map operations are optimized for better cache locality, and goroutine scheduling sees reductions in overhead for short-lived routines.

Benchmark Go 1.24 Go 1.25 Delta
Game of Life100%103.5%+3.5%
Binary Trees100%102.2%+2.2%
Go 1 Billion100%102.0%+2.0%

Toolchain Changes

go test adds -benchmem enhancements for memory profiling. go mod commands support workspace overrides more efficiently.

The go command introduces go help modules with interactive examples. Static analysis tools like vet detect additional concurrency issues.

Runtime and Library Changes

net/http supports HTTP/3 by default with QUIC transport. sync package adds Pool with bounds for safer object reuse.

time gains ParseRFC3339 for strict ISO 8601 parsing. crypto modules include post-quantum algorithm support.

io and bufio optimize for large buffer operations.

Platform Support Changes

Full support for Windows ARM64. Linux/RISC-V is promoted to tier 1. Deprecated support for older Darwin releases.

Added experimental ports for WebAssembly with WASI extensions.

Deprecations and Removals

Removed experimental GOEXPERIMENT=loopvar. Standardized runtime/metrics for consistent observability.

Migration and Support

Go 1.25 is fully compatible with Go 1.24 source code. Update via go get or binaries from go.dev/dl.

Full support until November 2026. Security updates extend further.

Releases In Branch 1.25

Version Release date
1.25.4 12 days ago
(November 05, 2025)
1.25.3 1 month ago
(October 13, 2025)
1.25.2 1 month ago
(October 07, 2025)
1.25.1 2 months ago
(September 03, 2025)
1.25.0 3 months ago
(August 12, 2025)
1.25rc3 3 months ago
(August 06, 2025)
1.25rc2 4 months ago
(July 08, 2025)
1.25rc1 5 months ago
(June 11, 2025)