Key Features
Parallel and Sequential Script Running
The new bun run --parallel and bun run --sequential commands let you execute multiple package.json scripts concurrently or sequentially with colored, prefixed output. These commands integrate fully with --filter and --workspaces for coordinating builds across monorepo packages:
bun run --parallel build test
bun run --sequential --workspaces build
bun run --parallel --filter '*' build lint test
Unlike --filter, which respects dependency order, these new flags start all scripts immediately without waiting for dependencies—making them ideal for long-lived watch processes. Use --no-exit-on-error to continue even if one script fails.
HTTP/2 Connection Upgrade Support
Bun now correctly handles the net.Server → Http2SecureServer connection upgrade pattern. Libraries like http2-wrapper and crawlee that emit raw TCP connections to HTTP/2 servers will now work properly out of the box.
Testing Improvements
mock() and spyOn() now implement Symbol.dispose, enabling the using keyword for automatic cleanup:
using spy = spyOn(obj, "method").mockReturnValue("mocked");
// automatically restored when leaving scope
Fixes and Optimizations
- NO_PROXY respected for explicit proxy options: Previously ignored when proxies were explicitly passed; now always checked
- ARM64 compatibility: Fixed illegal instruction crashes on ARMv8.0 processors (Cortex-A53, Raspberry Pi 4, AWS a1) by correctly targeting ARMv8.0 instead of requiring ARMv8.1+
- Markdown rendering: 3-15% faster HTML rendering via SIMD-accelerated character scanning
- React markdown: 28% faster small document rendering through cached HTML tag strings
- ESM bytecode support:
--bytecodenow works with--format=esm - CPU profiler: Added
--cpu-prof-intervalflag matching Node.js for configurable sampling intervals