Site Local

Portal de notícias de tecnologia

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.

Bun 1.4 é a primeira versão reescrita em Rust e traz mudanças de comportamento para quem atualizar

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.modules passa a 147, e addons nativos pré-compilados precisam de build para essa versão; res.writeHeader() foi removido (use res.writeHead()).
  • Monorepos novos usam por padrão o linker isolado; lockfiles existentes mantêm o hoisted, e é possível fixar linker = "hoisted" no bunfig.toml.
  • Quando invocado como node, o Bun deixa de carregar arquivos .env, como o Node; use --env-file para manter o comportamento.
  • Bun.YAML segue o YAML 1.2: yes, no, on e off viram strings, o que afeta, por exemplo, a chave on: de workflows do GitHub Actions.
  • Bun.TOML e o bunfig.toml ficaram estritos: strings sem aspas e inteiros acima de Number.MAX_SAFE_INTEGER geram 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

Imagem destacada: ilustração gerada por computador, sem valor documental.

Deixe comentário

Seu endereço de e-mail não será publicado. Os campos necessários são marcados com *.

Fique por dentro

As principais notícias de tecnologia, todos os dias

Siga o portal nas redes sociais e acompanhe IA, cibersegurança, cloud, hardware e o mercado de tecnologia em primeira mão.