9 pontos por GN⁺ 2025-10-19 | 5 comentários | Compartilhar no WhatsApp
  • O Bun 1.3 evoluiu para um runtime JavaScript full-stack que oferece suporte tanto ao desenvolvimento frontend quanto backend em um grande lançamento
  • Recursos principais foram integrados, como um servidor de desenvolvimento frontend embutido com bundles de React e CSS, além de clientes para MySQL, PostgreSQL, SQLite e Redis
  • O suporte à compilação para um único executável com bun build, além de assinatura de código e cross-compilation, melhora a praticidade na implantação
  • O gerenciador de pacotes introduziu recursos amigáveis para grandes monorepos, como instalações isoladas (isolated installs), API de scanner de segurança e catálogo de dependências (catalog)
  • Houve melhorias amplas em praticamente todas as áreas, incluindo test runner, Web API, segurança, compatibilidade com Node.js e desempenho, marcando um salto para uma “plataforma de runtime completa”

Integração de runtime full-stack

  • O Bun 1.3 integra recursos de desenvolvimento full-stack, como execução de HTML, roteamento, hot reload e WebSocket, em Bun.serve()
    • Suporte a React Fast Refresh e HMR nativo
    • Unifica os servidores de backend e frontend em um único processo, eliminando na raiz os problemas de CORS
  • Com bun build --compile, é possível empacotar frontend e backend em um único executável

Suporte a banco de dados e Redis

  • Bun.SQL passa a oferecer suporte unificado a MySQL, MariaDB, PostgreSQL e SQLite com uma única API
    • O helper sql.array facilita o tratamento de tipos array do PostgreSQL
    • Melhorias detalhadas como conexão via Unix domain socket, protocolo de consulta simples e tratamento de null
  • Adição de um cliente Redis embutido, com desempenho de até 7,9 vezes superior ao ioredis e suporte completo a Pub/Sub

Bundler e recursos de build

  • A API Bun.build() permite gerar executáveis a partir do código
  • Suporte a assinatura de código (macOS e Windows), cross-compilation (Linux/macOS/Windows) e configuração de metadados
  • Um minificador mais inteligente remove código não utilizado e adiciona opções de configuração de JSX e suporte a padrões Glob

Expansão dos recursos de gerenciamento de pacotes

  • Isolated installs agora são aplicadas por padrão, e cada workspace acessa apenas suas próprias dependências
  • O recurso Catalog permite gerenciar centralmente as versões de dependências em um monorepo
  • A API de scanner de segurança e o minimumReleaseAge reforçam a defesa contra ataques à cadeia de suprimentos
  • Ferramentas de gerenciamento em nível de npm e pnpm, como bun why, bun update --interactive, bun info e bun audit, agora estão completas

Melhorias em testes e depuração

  • O bun test ganhou integração com o VS Code Test Explorer, testes paralelos (test.concurrent), execução aleatória e testes de tipo (expectTypeOf)
  • Suporte a encadeamentos .failing, .serial e .each, além de preservação automática da indentação em snapshots
  • Bloqueio de test.only em ambientes de CI e maior consistência na ordem dos testes

Reforço das Web APIs e dos padrões de runtime

  • Parsing/serialização de YAML embutidos, com importação direta de arquivos .yaml
  • A API request.cookies oferece gerenciamento automático de cookies
  • Suporte a helpers de stream como ReadableStream .text()/.json(), compressão Zstandard e carregamento por streaming de WebAssembly
  • Implementação de DisposableStack/AsyncDisposableStack para simplificar a limpeza de recursos

Segurança e recursos de sistema

  • Com Bun.secrets, é possível usar o armazenamento seguro do sistema operacional (como o Keychain)
  • Bun.CSRF fornece uma API para geração e validação de tokens CSRF
  • O módulo crypto teve melhoria de desempenho de 400 vezes, com reforços em Diffie-Hellman, HKDF e operações com números primos

Melhor compatibilidade com Node.js

  • Mais de 800 testes do Node.js passaram a ser aprovados, com grande expansão em node:test, node:vm, worker_threads, fs, http2 e mais
  • Suporte completo à maior parte dos módulos centrais, incluindo require.extensions, process.binding(), controle de native addons, perf_hooks, tls e cluster
  • Compatibilidade com N-API acima de 98%, e identificação de runtime no mesmo nível do Node.js 24.3.0

Melhorias na experiência do desenvolvedor

  • Mudança na configuração padrão do TypeScript ("module": "Preserve")
  • Maior controle do runtime com a variável de ambiente BUN_OPTIONS, --console-depth e --user-agent
  • Suporte a scripts de preload (BUN_INSPECT_PRELOAD) e SQL Preconnect
  • Melhorias no bunx permitem executar até mesmo pacotes cujo nome difere do binário

Desempenho e estabilidade

  • Redução do uso ocioso de CPU, otimização do GC, economia de 10% a 30% de memória e 60% de ganho na velocidade de build
  • postMessage até 500 vezes mais rápido, bun install 2,5 vezes mais rápido e Array.includes 2,8 vezes mais rápido
  • Otimizações em nível de WebKit e Zig aceleram o runtime como um todo
  • Centenas de correções de bugs e resolução de vazamentos de memória melhoram bastante a estabilidade

Principais mudanças

  • Mudança na estrutura de tipos de Bun.serve() e renomeação de static para routes
  • A forma de chamada do cliente SQL mudou de funcional → tagged template
  • No Linux, o sinal de GC foi trocado para SIGPWR
  • A versão exibida do Node.js foi alterada de 22.x para 24.3.0

O Bun 1.3 marca um ponto de virada ao se posicionar, mais do que como um simples runtime, como uma “plataforma integrada que abrange Node, Deno, Vite e pnpm”

5 comentários

 
tsboard 2025-10-20

Foi só por pouco tempo, mas pela minha experiência usando desde o começo, acho que houve um avanço enorme e até me fez pensar: será que vou dar mais uma chance? haha

 
kissdesty 2025-10-20

Espero que isso evolua bem.

 
truestar 2025-10-20

Então era esse o plano!!

 
click 2025-10-20

Gostei que a interface SQL foi padronizada.

 
shakespeares 2025-10-19

Deve haver algum motivo para o Vite não ter integrado isso, mas fiquei curioso para saber como tem sido a experiência de uso do Bun em produção.