
ALT Line chart titled "51.4M Monthly Bun downloads." Downloads grow from 7.2M in October 2025 to 51.4M in October 2026, climbing fastest in the last few months. Four events are marked: Bun 1.3 in October 2025, Joined Anthropic in December, Rust rewrite in May, and Bun 1.4 in August. A label reads "+57% since 1.4."

ALT The Bun logo and the heading "$ bun test: Improved Vitest compatibility", above a Vitest test file with three lines highlighted and numbered: // @vitest-environment jsdom import { expect, test, vi } from "vitest"; import { track } from "./analytics"; import { toast } from "./toast"; vi.mock("./analytics"); test("toast hides after 3s", async () => { vi.useFakeTimers(); toast("Saved!"); expect(track).toHaveBeenCalled(); await vi.advanceTimersByTimeAsync(3000); expect(document.body.innerHTML).toBe(""); }); The highlighted lines: 1. DOM environments: the "@vitest-environment jsdom" comment 2. Automocks: vi.mock("./analytics") with no factory 3. Async fake timers: await vi.advanceTimersByTimeAsync(3000)

ALT Chart titled "Bun AoT, ahead-of-time compilation". An Express API on SQLite: 3 middlewares, bearer auth, 4 SQL queries, 2.3 KB of JSON per request. A line chart of requests per second over the first 3 seconds from a cold start: Bun AoT is near full speed at once and settles at 14,200; Bun climbs for about a second to 14,200; Node.js reaches 7,700. Peak memory: Bun AoT 51 MB, Bun 87 MB, Node.js 138 MB. CPU per request: Bun AoT 70 µs, Bun 82 µs, Node.js 150 µs. Caption: As fast, 14% less CPU, 41% less memory than Bun.

ALT bun build --compile --aot --trim, with --trim highlighted. A block representing an 89 MB executable from Bun 1.4.4 on macOS arm64 is being cut up with scissors. The part that stays is pink: 25 MB for hello world, 34 MB with Bun.serve, 44 MB with node:http. The rest is cut into paper scraps, each crossed out: bun install, bun test, bun check, bun build, bun lint, bun fmt, WebAssembly, debugger, JIT compilers.














