Bun is the complete toolkit for building and testing full-stack JavaScript and TypeScript applications. If you're new to Bun, you can learn more from the Bun 1.0 blog post.
curl powershell npm brew docker curl curl -fsSL https://bun.sh/install | bash powershell powershell -c " irm bun.sh/install.ps1 | iex " npm npm install -g bun brew brew install oven-sh/bun/bun docker docker pull oven/bun
Bun 1.4 adds +1,517 tests from the Node.js test suite - our biggest jump in Node.js compatibility since Bun 1.0. Bun v1.4 also fixes over 2,900 issues. It reduces idle CPU usage by 5x, reduces memory usage by up to 35%, and starts 50% faster on Linux. It adds Bun.Image , Bun.WebView , Bun.markdown , Bun.cron() , Bun.Terminal , bun run --parallel , bun test --parallel , bun audit fix , bun dedupe , and bun prune . And it rewrites Bun from Zig to Rust.
This post covers everything we've shipped since Bun 1.3.0 (with new to Bun v1.4 tagged).
To upgrade:
bun upgrade
Bun is designed to be a drop-in replacement for Node.js. We've added +1,517 tests from the Node.js test suite to run on every commit of Bun.
node:http , node:fs , node:cluster , node:timers , node:zlib , node:vm , and node:stream pass 97% of Node's own tests; node:quic 99%; node:events , node:trace_events , and node:sqlite 100%.
Node.js v26.3.0 test suite · passing on every commit + 1,517 newly passing tests ▶ play ↻ replay ▶ play quic 235 / 237 + 235 http rewritten 403 / 415 + 193 fs 349 / 358 + 133 tls 191 / 224 + 106 http2 rewritten 261 / 280 + 102 repl 82 / 109 + 77 stream 254 / 262 + 61 worker 116 / 157 + 57 process 160 / 190 + 45 net 171 / 191 + 39 https 61 / 65 + 39 internal 68 / 108 + 35 cluster 85 / 88 + 31 trace_events 30 / 30 + 30 webcrypto 39 / 50 + 28 crypto 123 / 135 + 27 vm 98 / 101 + 25 webstreams 28 / 38 + 23 test_runner 28 / 81 + 21 module 68 / 93 + 19 diagnostics_channel 36 / 69 + 19 sqlite 18 / 18 + 18 child_process 105 / 116 + 15 inspector 22 / 110 + 14 Per-module pass counts from Bun’s vendored copy of Node’s test/parallel suite, Bun 1.3 → 1.4. The tick marks the 1.3 baseline.
Bun is not 100% compatible with Node.js yet. In practice, much of the existing JavaScript ecosystem just works. You can more closely track Bun's Node.js test suite progress here.
... continue reading