Video summary

What's new in Go

Main summary

Key takeaways

Technology

Summary of “What’s new in Go” (subtitles auto-generated)

Go’s positioning (productivity + reliability)

  • Go was created to address the long-standing trade-off between:
    • fast, productive dynamic languages, and
    • complex but production-ready compiled languages.
  • In the AI era, Go’s “human-readable for humans” framing is also presented as beneficial for:
    • AI code generation, and
    • verifiers (humans validating outputs).
  • Go is described as “boring in the best way”—not just a language, but an end-to-end platform for software engineering with deterministic tooling across the SDLC.

Go releases / recent versions

  • Major updates occur twice a year: February and August.
  • Highlights include features in Go 1.25 and 1.26.

Tooling / modernization (Go Fix + Modernizers)

Rebuilt go fix for continuous modernization

  • Rebuilt go fix uses the Go analysis framework to understand code and apply deterministic edits.
  • The core engine is the “modernizer” framework, emphasizing correctness (updated code preserves original behavior).
  • Includes 20+ modernizers to make code:
    • more idiomatic
    • more readable
    • easier to maintain

Automatic API migration via “source-level inliner”

  • Supports a directive like gofix inliner for deprecated APIs.
  • gofix replaces calls to a deprecated function with the newer implementation across the codebase.
  • Behavior preservation is noted even with side effects, drawing from compiler insights.

Reported impact from Google

  • Internal usage led to 18,000+ committed changes, modernizing a large older codebase.

Motivation tie-in

  • Source code should be easy for machines to read/write/edit to enable refactoring.
  • This is linked to improved tooling and modernizers operating at scale, including for AI-assisted code authoring.

Testing concurrency (sync test)

sync/testing/synctest general availability

  • The package reached general availability in Go 1.25.
  • It targets flakiness in concurrent tests caused by timeouts/sleep.
  • Introduces a “bubble”: an isolated environment with a fake synthetic clock.
  • Time advances deterministically when goroutines are blocked.
  • Result claim: tests that waited ~5 seconds now finish in milliseconds, deterministically.

Small language feature in Go 1.26

Enhanced new built-in

  • Addresses awkwardness with deep pointer-based structs common in data interchange formats (e.g., protobuf).
  • Expands new to support creating pointers from expressions, including:
    • basic data types, and
    • function return values.
  • Mentions helper patterns like proto.string, and says go fix can often replace such helpers with direct new usage.

Performance / production runtime improvements

Green tea garbage collector

  • Introduced experimentally in Go 1.25, enabled by default in Go 1.26.
  • Changes GC work units from scattered objects to contiguous memory pages.
  • Designed to align better with modern hardware:
    • reduces high-latency memory fetches
    • enables vector acceleration
  • Claimed improvements:
    • ~10% reduction in GC CPU for most apps
    • up to 50% reduction for complex memory layouts
  • Also positioned as a foundation for optimizations like NUMA awareness.

More allocation on stack

  • Runtime changes move more allocations from heap to stack (avoiding heap allocations reduces GC load).
  • Benefits described:
    • cheaper stack allocations
    • reuse and improved cache locality
    • faster memory access

Faster Go ↔ C boundary (CGo)

  • In Go 1.26, CGo calls are ~30% faster.
  • Presented as enabling more feasible high-performance workloads (examples: ML, gaming, GUI), shifting CGo from a “necessary workaround” to an “opportunity.”

First-class SIMD support

  • Go 1.26 adds SIMD support for vectorized operations.
  • Useful for parallelizing eligible loops.
  • Example mentioned: sort performance relevant to some AI infrastructure.
  • Go also claims it uses SIMD to speed up parts of the green tea GC.

AI integration (MCP SDK)

Model Context Protocol (MCP) SDK

  • An MCP SDK was announced/launched.
  • Described as an official SDK to let services provide context and tools to LLMs via a unified protocol.
  • Used to build Go servers that expose more of the Go toolchain to agents and AI development tools.
  • Mentions a prior prototype: “Go please” (Go language server) and expects more to follow.

Observability improvements (flight recorder)

New “flight recorder”

  • Keeps tracing always on in a ring buffer.
  • Flushes only when needed to reduce production overhead.
  • Goal: obtain trace data without the expensive cost of always-on tracing.

Security enhancements

  • Post-quantum cryptography
  • Randomized heap-based addresses
  • Improved FIPS 140 support
  • Presented as proactive defenses to keep Go secure “for the next decade.”

Compatibility promise (key stability message)

  • Reiterates the Go compatibility promise:
    • Code written to the Go spec should compile and run correctly across future Go releases with no changes.
  • go fix is positioned as the mechanism if migrations are needed.

Main speakers / sources (from subtitles)

  • CameronProduct Lead for Go at Google
  • MarkDeveloper Relations Lead for Go at Google

Original video