Zig 0.17 reformula o sistema de build, melhora a compilação incremental e remove sintaxes antigas
Versão traz Build Server Protocol para IDEs e compilação incremental no Linux x86_64. A mudança no @bitCast pode quebrar código sem aviso.
A Zig Software Foundation lançou em 2 de outubro de 2026 a versão 0.17.0 da linguagem Zig. Segundo o anúncio oficial, foram cinco meses de trabalho, 206 contribuidores e 925 commits. As notas de lançamento explicam que o ciclo, previsto para ser mais curto, acabou sendo grande: o sistema de build foi reformulado e o linker ELF evoluiu a ponto de a equipe esperar que a compilação incremental funcione para todos no Linux x86_64. A LWN registrou o lançamento em 3/10. O Zig continua antes da versão 1.0, e mudanças incompatíveis entre versões são esperadas.
O que há de novo
Com a opção --listen=-, o sistema de build passa a servir o Build Server Protocol, que permite a ferramentas externas, como IDEs, acompanhar e controlar o grafo de build enquanto ele roda. Elas podem consultar etapas, opções e dependências, ser avisadas quando uma etapa começa ou termina, com erros e arquivos gerados, e pedir builds específicos. A compilação incremental, que permite recompilar quase instantaneamente após uma mudança, teve muitos bugs corrigidos e ganhou bom suporte no novo linker ELF. A gramática da linguagem passou a ter especificação formal, usada em testes de fuzzing contra o parser.
Mudanças que exigem migração
@bitCastmudou de definição para arrays e vetores. As notas alertam que isso pode quebrar código sem erro de compilação e recomendam auditar esses usos.@cImport, obsoleto desde a 0.16, foi removido. A etapaTranslateCdo build fica obsoleta em favor do pacote oficial translate-c, adicionado comzig fetch --save git+https://codeberg.org/ziglang/translate-c.- A sintaxe de multiplicação de arrays (
a ** b) foi removida em favor de@splat. - A captura em
errdefer |err|não é mais permitida; a migração sugerida é dividir a função em duas e tratar o erro comcatch. - A sintaxe
void{}e o tipoi0foram removidos.
Toolchain
O Zig 0.17 usa o LLVM 22 e mantém desligada a vetorização de laços, para contornar uma regressão. A correção já foi incorporada ao LLVM, mas só chega com a migração para o LLVM 23 prevista para o Zig 0.18. A versão distribui o musl 1.2.5 com correções retroportadas, glibc 2.44 e headers do Linux 7.2 e do macOS 27. A compilação de recursos do Windows vai sair do compilador e virar um pacote externo na próxima versão; as funções correspondentes do std.Build já estão marcadas como obsoletas.
Para quem mantém projetos em Zig, o ponto mais sensível é o @bitCast: como a quebra pode ser silenciosa, vale revisar os usos com arrays e vetores e rodar os testes antes de adotar a nova versão.
Fontes
- Zig Software Foundation — 0.17.0 Released (02/10/2026)
- Zig Software Foundation — 0.17.0 Release Notes (02/10/2026)
- LWN.net — Zig 0.17 released (03/10/2026)
Imagem destacada: ilustração gerada por computador, sem valor documental.


