Bun 1.4 chegou: o que revisar antes de trocar a versão no projeto

O Bun 1.4 chega com uma lista que chama atenção: mais de 1.500 testes adicionados da suíte do Node.js, redução declarada de CPU ociosa e memória, inicialização mais rápida e recursos como Bun.Image, Bun.markdown e execução paralela. A tentação é atualizar e medir o benchmark que mais confirma nossas escolhas. O trabalho útil começa um pouco antes disso.

Runtime não é só velocidade de um script isolado. Em uma aplicação web, ele toca resolução de módulos, streams, HTTP, workers, testes, ferramentas de build e os pacotes que chegam pelo npm. A pergunta prática não é “Bun 1.4 é rápido?”, mas “o caminho que este projeto percorre continua correto sob Bun 1.4?”.

A compatibilidade com Node avançou, mas não virou garantia absoluta

A equipe do Bun destaca avanços em módulos como node:http, node:fs, node:stream e node:sqlite, além de afirmar que Playwright e Vitest rodam no runtime. É notícia boa para quem encontra incompatibilidades no caminho. Ainda assim, “muitos pacotes funcionam” não substitui a execução do seu próprio conjunto de testes, especialmente se há addons nativos, SSR, WebSockets ou integração com provedores de nuvem.

O que testar em uma atualização de runtime

  • Instalação limpa e reprodução do lockfile.
  • Build de produção, testes unitários e testes de navegador.
  • Rotas de upload, streaming e geração de arquivos.
  • Conexões de banco, filas e SDKs externos.
  • Consumo de memória em uma carga que se pareça com o ambiente real.
  • Imagens Docker e scripts de CI que assumem Node.

O Bun 1.4 também traz bun audit fix, bun dedupe e bun prune. São ferramentas convenientes, mas merecem o mesmo cuidado de qualquer alteração automática em dependências. Um comando que “arruma” o grafo pode trocar versões transitivas e mascarar uma mudança que precisa de revisão humana.

Benchmark é sinal, não veredito

As métricas divulgadas pela release são valiosas como hipótese: vale medir consumo, tempo de boot e compatibilidade novamente. Elas não dizem quanto uma aplicação específica vai ganhar, nem capturam gargalos no banco, na CDN ou em uma dependência que faz I/O de um jeito particular. Compare versões com carga semelhante, observe percentis e mantenha uma saída rápida caso o comportamento não seja o esperado.

Bun 1.4 parece uma atualização importante para projetos que já usam o runtime e para quem vinha esbarrando em APIs do Node. Para um sistema estável em Node, a decisão mais madura pode ser testar sem pressa. Compatibilidade melhor é motivo para reduzir a dúvida, não para ignorá-la.

Fontes