CEVIU Logo
Voltar

Go 1.25: o que marcou o lançamento e as novidades

Aprofundamento CEVIU

Aprofundamento

O Go 1.25, lançado em 12 de agosto de 2025, consolidou a maturidade da linguagem com foco em confiabilidade, performance e suporte nativo a ambientes modernos, especialmente contêineres e testes concorrentes. A detecção de vazamento de memória via go build -asan passou a reportar vazamentos em código C alocado por CGO, um avanço prático para equipes que integram bibliotecas externas. A diretiva ignore em go.mod resolveu um problema recorrente de controle de escopo: agora é possível excluir diretórios do processamento do go comando sem removê-los dos arquivos zip de módulo, útil em monorepos com múltiplos projetos. O suporte a subdiretórios de módulo permitiu que partes de um repositório funcionem como módulos independentes, reduzindo a necessidade de repositórios separados.

O pacote testing/synctest foi o maior salto para quem escreve testes sensíveis ao tempo: ele executa goroutines em um tempo virtual determinístico, onde o relógio só avança quando todas as goroutines estão bloqueadas. Isso elimina flakiness em testes de timeout, retry e sincronização, mas atenção: essa API será removida no Go 1.26. Os recursos experimentais Green Tea GC (GOEXPERIMENT=greenteagc) e encoding/json/v2 (GOEXPERIMENT=jsonv2) já estão em uso real no Google. O Green Tea GC mostra redução de 10, 40% no overhead de coleta em cargas típicas; o json/v2 é até 10× mais rápido na decodificação e traz mensagens de erro mais precisas, mas exige adaptação por causa da correspondência estrita de maiúsculas/minúsculas em campos.

Por que isso importa

O Go 1.25 importa porque corrigiu um comportamento crítico de segurança e correção lógica: o bug de verificação de ponteiro nulo em os.Open, presente desde o Go 1.21, fazia com que programas ignorassem erros de abertura de arquivo e continuassem executando com um valor nil, gerando panics imprevisíveis ou falhas silenciosas. Agora, o panic ocorre imediatamente, alinhando o comportamento à expectativa explícita do programador. Além disso, o runtime agora detecta automaticamente limites de CPU em cgroups no Linux, ajustando GOMAXPROCS sem configuração manual. Isso evita sobrecarga em clusters Kubernetes e reduz a necessidade de ajustes manuais em deployment.yaml. A remoção dos 'Tipos Centrais' da especificação também simplificou a implementação de genéricos, sem quebrar compatibilidade, um sinal claro de que o Go está priorizando estabilidade sobre novidades sintáticas.

Impacto para desenvolvedores

Para desenvolvedores, o Go 1.25 trouxe ferramentas que reduzem tempo de depuração: go build -asan para vazamentos em CGO, testing/synctest para testes concorrentes robustos e a nova Flight Recorder em runtime/trace para análise de produção sem overhead significativo. A mudança no json/v2 exige revisão de código que usa json.Unmarshal com structs com campos em minúscula ou nomes não coincidentes, mas o ganho de performance e clareza de erro justifica a migração. A versão também impôs exigências reais: DWARF5 padrão (afetando debuggers), exigência de macOS 12+ e GCC com binutils ≥2.37 para CGO no Windows. Se você ainda usa Go 1.25, saiba que ele recebeu 11 atualizações de segurança até go1.25.11 (lançada em 2 de junho de 2026), mas já está em fase final de suporte, o Go 1.26.4 é a versão estável recomendada hoje.

Perguntas frequentes

Quando o Go 1.25 foi lançado?

O Go 1.25 foi lançado oficialmente em 12 de agosto de 2025. É uma versão estável com suporte ativo até a liberação do Go 1.27, conforme a política de suporte do projeto.

O que é o Green Tea GC no Go 1.25?

O Green Tea GC é um coletor de lixo experimental introduzido no Go 1.25, ativado com GOEXPERIMENT=greenteagc. Ele melhora a localidade de memória e escalabilidade de CPU para pequenos objetos. Já está em uso no Google e deve se tornar o padrão no Go 1.26.

O que mudou no encoding/json no Go 1.25?

A versão v2 do pacote encoding/json foi introduzida como experimental no Go 1.25, acessível via GOEXPERIMENT=jsonv2. Ela oferece decodificação 2, 10× mais rápida, menos alocações e mensagens de erro mais claras, mas exige correspondência exata de maiúsculas/minúsculas em campos.

Qual é a versão mais recente do Go em junho de 2026?

Em 17 de junho de 2026, a versão estável mais recente é o Go 1.26.4, lançado em 2 de junho de 2026. Ela inclui correções de segurança para crypto/x509, mime e net/textproto, além de correções de bugs no compilador e runtime.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Web Dev
Publicado
17 de junho de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser