← Tutti gli articoli

Bun 2.0 stable: cosa cambia davvero, e perché lo stiamo provando in produzione

03 December 20252 min di lettura

Due anni dopo la 1.0, Bun arriva alla 2.0 con compatibilità Node ≥ 22, deploy native e tooling rifinito.

Bun 2.0 è andato stable a fine 2025. Due anni dopo la 1.0, il progetto è cresciuto da "demo veloce" a runtime con cui costruiamo davvero produzione.

Cosa cambia rispetto alla 1.x

  • Compatibilità Node 22: API parity quasi totale. worker_threads, cluster, fs.promises tutti supportati.
  • Bun Deploy (preview): hosting nativo serverless di Bun, ancora limitato ma promettente.
  • Bun.serve() con HTTP/2 e HTTP/3 nativi.
  • SQLite native ultra-veloce — ottimo per CLI tool e per app embedded.
  • WebSocket pub/sub built-in con clustering.

Performance reali

Sui nostri carichi:

  • HTTP server: +35% req/s su Node 22 → Bun 2.0.
  • Cold start: -60% su funzioni serverless.
  • Test suite: 3-5x più veloce (sempre vincente).

Cosa abbiamo già migrato

  • CLI internal tools (gestionale, scripts): tutti su Bun.
  • Test runner: tutti su bun test (compatibile con Vitest).
  • Build steps in CI: bun install default.

Cosa NON abbiamo migrato

  • App Next.js in produzione: il supporto è migliorato, ma alcuni edge case di Next 15 ancora si comportano diversamente.
  • App con dipendenze native specifiche (ssh2, sqlite3 native): testare singolarmente.
  • Funzioni Vercel: Vercel ha una preview di Bun, non ancora GA.

Verdetto

Bun 2.0 è il primo che possiamo proporre come scelta seria per progetti nuovi. Non è ancora il default per noi (Node 22 LTS resta più sicuro per progetti che durano 5+ anni), ma per CLI, microservizi semplici, edge functions: Bun vince.