Bun 1.2 Dropped and It's a Big Deal
Bun 1.2 brought full Node.js compatibility, a built-in S3 client, Postgres driver, and significant performance improvements. If you've been waiting to switch from Node.js, this might be the release that tips you over.
What's New
1. Full Node.js Compatibility
Bun now passes 90%+ of Node.js test suite. The remaining gaps are edge cases most apps never hit:
# Your existing Node.js app probably just works now
bun run server.js # Drop-in replacement
2. Built-in S3 Client
No more installing @aws-sdk/client-s3. Bun has it built in:
const file = Bun.s3("my-bucket/data.json");
const data = await file.json();
// Upload
await Bun.s3("my-bucket/output.json").write(JSON.stringify(results));
That's it. No configuration objects, no credential chains, no 50MB SDK.
3. Built-in Postgres
import { sql } from "bun";
const users = await sql`SELECT * FROM users WHERE active = true`;
No pg package. No connection pool setup. Tagged template literals with automatic parameterization.
4. Performance Numbers
| Operation | Node.js 22 | Bun 1.2 | Speedup |
|---|---|---|---|
| HTTP server (req/s) | 48,000 | 112,000 | 2.3x |
| File read (1GB) | 850ms | 320ms | 2.7x |
| JSON parse (100MB) | 1.2s | 0.4s | 3x |
npm install |
12s | 2.1s | 5.7x |
Should You Switch?
Yes, if:
- You're starting a new project
- You need S3/Postgres without dependency bloat
- Install speed matters (CI/CD pipelines)
- You're building APIs where req/s matters
Not yet, if:
- You rely on native Node.js addons (some still break)
- You use niche npm packages that depend on Node.js internals
- You're in a regulated environment that requires LTS guarantees
Quick Migration Test
# Install Bun
curl -fsSL https://bun.sh/install | bash
# Test your existing project
cd your-project
bun install # Replace npm install
bun run dev # Replace node/npm run dev
# If it works, you're done. If not, check:
bun --bun run dev # Force Bun runtime for all dependencies
The Bigger Picture
Bun isn't just faster Node.js. It's becoming a platform:
- Runtime + bundler + test runner + package manager
- Built-in S3, Postgres, SQLite
- Native TypeScript (no compilation step)
Deno went the standards route. Bun went the batteries-included route. Both are making Node.js better by forcing it to compete.
I write about developer tools and APIs. Follow for more.
More from me: 10 Dev Tools I Use Daily | 77 Scrapers on a Schedule | 150+ Free APIs
Top comments (0)