https://bun.com/blog/bun-v1.3.9 Bun logoBunBun Bun BuildDocsReferenceGuidesBlog Discord logoDiscord logo Discord GitHub logoGitHub logo Bun v1.3.9 Run multiple scripts in --parallel or --sequential. bun:test mock & spyOn get Symbol.dispose support. ESM bytecode compilation. Faster Bun.markd... Bun v1.3.8 Bun.markdown is a builtin CommonMark-compliant Markdown parser written in Zig. Bun's bundler gets bun build --metafile-md to write LLM-friendly ... Bun v1.3.7 50% faster `Buffer.from(array)`, 35% faster async/await, 3x faster `array.flat()`, 90% faster `padStart`/`padEnd` via JSC upgrade. New: `Bun.JSO... Bun v1.3.6 Bun.Archive API for creating & extracting tarballs with gzip compression, Bun.JSONC for parsing JSON with comments, metafile & files options in ... Bun v1.3.5 Bun.Terminal API, compile-time feature flags, improved Bun.stringWidth accuracy, V8 C++ value type checking APIs, Content-Disposition support fo... Bun v1.3.4 URLPattern API, Fake Timers for bun:test, Custom Proxy Headers in fetch(),console.log %j format, http.Agent connection pooling fix, Standalone e... BuildDocsReferenceGuidesBlog Discord logoDiscord logo Discord GitHub logoGitHub logo Bun v1.3.9 --------------------------------------------------------------------- Jarred Sumner * February 8, 2026 To install Bun curl npm powershell scoop brew docker curl curl -fsSL https://bun.sh/install | bash npm npm install -g bun powershell powershell -c "irm bun.sh/install.ps1|iex" scoop scoop install bun brew brew tap oven-sh/bun brew install bun docker docker pull oven/bun docker run --rm --init --ulimit memlock=-1:-1 oven/bun To upgrade Bun bun upgrade bun run --parallel and bun run --sequential Run multiple package.json scripts concurrently or sequentially with Foreman-style prefixed output. Includes full --filter and --workspaces integration for running scripts in parallel or sequential across workspace packages. # Run "build" and "test" concurrently from the current package.json bun run --parallel build test # Run "build" and "test" sequentially with prefixed output bun run --sequential build test # Glob-matched script names bun run --parallel "build:*" # Run "build" in all workspace packages concurrently bun run --parallel --filter '*' build # Run "build" in all workspace packages sequentially bun run --sequential --workspaces build # Multiple scripts across all packages bun run --parallel --filter '*' build lint test # Continue running even if one package fails bun run --parallel --no-exit-on-error --filter '*' test # Skip packages missing the script bun run --parallel --workspaces --if-present build Each line of output is prefixed with a colored, padded label so you can tell which script produced it: build | compiling... test | running suite... lint | checking files... When combined with --filter or --workspaces, labels include the package name: pkg-a:build | compiling... pkg-b:build | compiling... --parallel starts all scripts immediately with interleaved, prefixed output. --sequential runs scripts one at a time in order. By default, a failure in any script kills all remaining scripts -- use --no-exit-on-error to let them all finish. Pre/post scripts (prebuild/postbuild) are automatically grouped with their main script and run in the correct dependency order within each group. How is this different from --filter? bun --filter="pkg"