Bun 1.4 é a primeira versão reescrita em Rust e traz mudanças de comportamento para quem atualizar
O runtime JavaScript troca Zig por Rust, ganha 1.517 testes de compatibilidade com o Node e muda o padrão de monorepos novos e as regras de YAML e TOML.
O Bun, runtime, bundler e gerenciador de pacotes para JavaScript e TypeScript, chegou à versão 1.4 em 20 de agosto de 2026. Segundo as notas de lançamento, é a primeira versão estável do projeto escrita em Rust, depois de anos em Zig. A atualização é feita com bun upgrade, e o texto reúne tudo o que mudou desde o Bun 1.3.0.
O que mudou
A equipe diz que o 1.4 adiciona 1.517 testes da suíte do próprio Node.js, executados a cada commit, o maior salto de compatibilidade desde o 1.0. Também corrige mais de 2.900 problemas. Segundo o projeto, o uso de CPU em repouso caiu cinco vezes, a memória até 35%, e a inicialização no Linux ficou 50% mais rápida. Há novas APIs embutidas, como Bun.Image, Bun.WebView, Bun.markdown, Bun.cron() e Bun.Terminal, além de bun run --parallel, bun test --parallel, bun audit fix, bun dedupe e bun prune. O requisito mínimo de glibc no Linux caiu de 2.26 para 2.17.
Mudanças que podem quebrar o projeto
As notas dizem que a maior parte do código não é afetada, mas destacam cinco mudanças com mais chance de exigir ajuste:
- O Bun agora se apresenta como Node.js 26:
process.versions.modulespassa a 147, e addons nativos pré-compilados precisam de build para essa versão;res.writeHeader()foi removido (useres.writeHead()). - Monorepos novos usam por padrão o linker isolado; lockfiles existentes mantêm o hoisted, e é possível fixar
linker = "hoisted"nobunfig.toml. - Quando invocado como
node, o Bun deixa de carregar arquivos.env, como o Node; use--env-filepara manter o comportamento. Bun.YAMLsegue o YAML 1.2: yes, no, on e off viram strings, o que afeta, por exemplo, a chaveon:de workflows do GitHub Actions.Bun.TOMLe obunfig.tomlficaram estritos: strings sem aspas e inteiros acima deNumber.MAX_SAFE_INTEGERgeram erro de sintaxe.
Outras mudanças: builds x64 passam a ser só baseline, sem a variante compilada para Haswell, e o Temporal fica definido por padrão.
Como a reescrita foi feita
Em post de 8 de julho, Jarred Sumner, criador do Bun, explicou que o projeto tinha 535.496 linhas de Zig e que boa parte dos bugs era de uso após liberação e liberação dupla de memória, erros que o Rust seguro barra na compilação. Ele informa que o Bun foi comprado pela Anthropic em dezembro de 2025 e que usou uma versão de pré-lançamento do Claude Fable 5 em grande parte da reescrita. A InfoQ relatou em 20/9 que o trabalho levou quatro meses, em vez do ano estimado. Segundo a revista, até 64 instâncias do modelo rodaram em paralelo, com agentes revisores separados dos implementadores, e o custo em tokens até a suíte de testes passar foi de cerca de US$ 165 mil a preços de API. A validação dependeu da suíte de testes do Bun, escrita em TypeScript e com mais de 1 milhão de asserções.
Fontes
- Bun (blog oficial) — Bun v1.4 (20/08/2026)
- Bun (blog oficial) — Rewriting Bun in Rust (Jarred Sumner) (08/07/2026)
- InfoQ — Bun Rewrites 535K Lines of Zig into Rust in Four Months, Eliminates Numerous Memory Leaks (20/09/2026)
Imagem destacada: ilustração gerada por computador, sem valor documental.


