1.22-1.25: Modern Features Era

Go 1.22-1.25 - Features Modernas (Tool Dependencies, GOAUTH, Telemetria)

Visão geral

Go 1.22-1.25 poliu o sistema de módulos com features modernas focadas em produtividade, segurança e observabilidade.

Timeline:

  • Go 1.22: Fevereiro 2024

  • Go 1.23: Agosto 2024

  • Go 1.24: Fevereiro 2025

  • Go 1.25: Agosto 2025


Go 1.22 (Fevereiro 2024)

🔄 go work vendor

Workspace agora suporta vendoring!

# Criar vendor para workspace inteiro
go work vendor

# Build usando vendor
go build -mod=vendor ./...

🔧 for loop "fix"

Finalmente! Variáveis de loop não vazam:

📊 Improved telemetry support

Go agora coleta telemetria (opt-in) para melhorar o Go:

Outras melhorias

  • range sobre integers

  • Melhorias de performance

  • Melhor suporte a WASM


Go 1.23 (Agosto 2024)

🎯 Improved Module Graph Resolution

Resolução de dependências mais eficiente e correta.

🔐 Enhanced Security Features

Melhorias no checksum database e proteções adicionais.

📦 Better Workspace Integration

Workspaces agora integram melhor com todas as ferramentas.

Outras melhorias

  • Iterator support (experimental)

  • Performance de garbage collector

  • Melhorias no compilador


Go 1.24 (Fevereiro 2025)

🛠️ tool directive

FEATURE MUITO ESPERADA!

Finalmente, gerenciamento oficial de ferramentas:

Comandos:

Ver capítulo completo: Tool Dependencies

🔐 GOAUTH - Module Authentication

Sistema moderno de autenticação para módulos privados:

Provedores suportados:

  • git - Git credential helper

  • netrc - Arquivo ~/.netrc

  • command - Script customizado

  • off - Desabilita autenticação

Ver capítulo: Security Features

📋 Structured Output (-json flags)

Muitos comandos agora suportam -json:

Benefícios:

  • Parsing fácil em scripts

  • Integração com ferramentas

  • CI/CD mais robusto

🔄 go run caching

go run agora cacheia executáveis:

Outras melhorias

  • Melhorias no PGO

  • Performance geral

  • Suporte a novas plataformas


Go 1.25 (Agosto 2025)

🚫 ignore directive

Ignore diretórios ao matching patterns:

Uso:

📁 Suporte a subdiretórios de módulo

Módulos agora podem estar em subdiretórios de repos:

Sintaxe:

🎯 Novo padrão de uso do work

Novo pattern para workspace modules:

📊 go doc -http

Servidor de documentação integrado:

🐳 Container-Aware GOMAXPROCS

Go agora detecta limites de containers (Kubernetes, Docker):

Benefícios:

  • Melhor performance em Kubernetes

  • Menos contenção

  • Uso otimizado de recursos

🗑️ Green Tea Garbage Collector (Experimental)

Novo GC experimental com pausas ainda menores:

🔧 Atualizações em toolchain

  • Toolchain não é mais adicionado automaticamente ao atualizar go line

  • Melhor controle de versões

Outras melhorias

  • Performance do compilador

  • Melhorias em generics

  • Suporte a novas arquiteturas

  • Melhorias no runtime


Comparação de features

Versão
Feature Destaque
Categoria

1.22

go work vendor

Workflow

1.23

Telemetria

Observability

1.24

tool directive + GOAUTH

Produtividade

1.25

ignore + work pattern

Refinamento


Stack moderna (Go 1.25)

Um go.mod completo

O workflow completo


Migração para Go 1.24-1.25

Preparação

Configurar GOAUTH


Checklist de atualização

Go 1.22

Go 1.23

Go 1.24

Go 1.25


Recursos adicionais


Resumo: O estado atual (Go 1.25)

Go modules em 2025 é maduro, poderoso e produtivo:

Problemas resolvidos

Problema
Solução (Go 1.25)

Gerenciar ferramentas

tool directive

Autenticação privada

GOAUTH

Multi-module dev

✅ Workspace mode

Versões do Go

✅ Toolchain management

Performance

✅ Lazy loading + pruning

Segurança

✅ GOVCS + Checksum DB + GOAUTH

Stack recomendada 2025

circle-check

Last updated