TOOLING · Verified June 2026
Rust 1.96 and Go 1.26 in 2026:
tooling, versions, what changed.
Most ranking content still cites Go 1.21/Rust 1.70. Rust 1.96 shipped 28 May 2026; Go 1.26 in February 2026. Here is what actually matters now.
Current stable versions · June 2026
The current stable Rust version is 1.96, released 28 May 2026, on the 2024 edition (the default edition since Rust 1.85). The current stable Go version is 1.26, released February 2026.
Rust 1.96 · 2024 edition
Released 28 May 2026. New stable every 6 weeks. Next: Rust 1.97 (beta 9 Jul 2026).
Go 1.26.4 · latest patch
1.26 released Feb 2026, patch 1.26.4 on 2 Jun 2026. Next: Go 1.27 (expected Aug 2026).
Sources: blog.rust-lang.org/2026/05/28/Rust-1.96.0 · go.dev/doc/go1.26 · verified June 2026
RUST
1.96
Released 28 May 2026. Still on the 2024 edition (current edition since 1.85).
Key changes
- ✓ Copy-able range types: core::range::Range, RangeFrom, RangeInclusive (RFC 3550), avoiding the Iterator-plus-Copy footgun
- ✓ assert_matches! and debug_assert_matches! macros stabilised with better failure diagnostics
- ✓ From<T> impls for AssertUnwindSafe, LazyCell, and LazyLock
- ✓ Wasm targets: undefined symbols now error instead of silently importing from the env module
- ✓ Two Cargo security fixes: CVE-2026-5223 (tarball symlink handling), CVE-2026-5222 (URL normalisation)
Source: blog.rust-lang.org/2026/05/28/Rust-1.96.0/ · Next: Rust 1.97 (beta 9 Jul 2026)
GO
1.26
Released February 2026. Crypto and SIMD focus.
Key changes
- ✓ Green Tea garbage collector enabled by default: 10-40% lower GC overhead
- ✓ crypto/hpke: Hybrid Public Key Encryption (RFC 9180) in stdlib
- ✓ simd/archsimd: experimental SIMD package (GOEXPERIMENT=simd) for amd64 vector ops
- ✓ Post-quantum TLS on by default: SecP256r1MLKEM768 and SecP384r1MLKEM1024 hybrid key exchange
- ✓ Faster cgo calls (~30%) and revamped go fix with modernizers
Source: go.dev/doc/go1.26 · Go 1.27 expected August 2026
Cargo vs Go modules
| Feature | Cargo (Rust) | Go modules |
|---|---|---|
| Package manager | Cargo (built-in) | go mod (built-in since 1.11) |
| Registry | crates.io (centralized) | Module proxy (proxy.golang.org, decentralized) |
| Build from source | Always (compiles all deps) | Binary cache by default, source when needed |
| Build time impact | High: every dep compiled per project | Lower: module cache avoids recompile |
| Workspace support | cargo workspaces | go.work (multi-module workspaces) |
| Vendoring | cargo vendor | go mod vendor |
| Version resolution | Cargo.lock (per binary), exact reproducible | go.sum (checksums), go.mod semver |
Compile time reality: 10-60x slower for Rust
30-120s
Rust
Clean build, medium project (5-20k LOC with deps)
2-10s
Go
Clean build, equivalent project size
Incremental builds are faster (10-30s for Rust after a small change vs 1-3s for Go). But cold CI builds compound across a team. See cicdcalculator.com for what Rust's 30-120s compile times cost in CI at team scale.
IDE, formatter, and linter
IDE / LSP
Rust: rust-analyzer (VSCode, Neovim, Emacs) / RustRover (JetBrains, paid)
Go: gopls (all editors) / GoLand (JetBrains, paid)
Formatter
Rust: rustfmt: single canonical format, no debate
Go: gofmt: same philosophy. Go originated this.
Linter
Rust: clippy: catches hundreds of common mistakes, pedantic mode available
Go: golangci-lint: aggregates many linters, highly configurable
Test runner
Rust: cargo test (built-in) + Criterion for benchmarks
Go: go test (built-in) + testing package with benchmarks