Bun 2.0 went stable in late 2025. Two years after 1.0, the project grew from "fast demo" to a runtime we actually build production on.
What changes from 1.x
- Node 22 compatibility: near-total API parity.
worker_threads,cluster,fs.promisesall supported. - Bun Deploy (preview): native serverless hosting for Bun, still limited but promising.
- Bun.serve() with native HTTP/2 and HTTP/3.
- Native SQLite ultra-fast — great for CLIs and embedded apps.
- WebSocket pub/sub built-in with clustering.
Real performance
On our workloads:
- HTTP server: +35% req/s Node 22 → Bun 2.0.
- Cold start: -60% on serverless functions.
- Test suite: 3-5x faster (always wins).
What we already migrated
- Internal CLI tools: all on Bun.
- Test runner: all on
bun test(Vitest-compatible). - CI build steps:
bun installdefault.
What we haven't migrated
- Next.js apps in production: support improved, but some Next 15 edge cases still behave differently.
- Apps with specific native deps (ssh2, native sqlite3): test individually.
- Vercel functions: Vercel has a Bun preview, not GA yet.
Verdict
Bun 2.0 is the first version we can propose as a serious choice for new projects. Not yet our default (Node 22 LTS stays safer for projects lasting 5+ years), but for CLIs, simple microservices, edge functions: Bun wins.