Tuesday, October 6, 2026Verified technology journalism

Bun 1.4 buries its Rust rewrite in the release notes and ships the browser inside the runtime

Bun 1.4, released August 20, is the JavaScript runtime's first stable version since its controversial rewrite from Zig to Rust, a fact the announcement states in the final line of its opening list. The release fixes more than 2,900 issues, adds the biggest batch of Node.js compatibility tests since 1.0, cuts memory under load by up to 48 percent against its own predecessor while beating Node 26 in most server benchmarks, and pulls capabilities that once needed separate toolchains into the core: browser automation and screenshots via Bun.WebView, plus new image, markdown, cron, and terminal APIs. Simon Willison's same-day experiment, a 150-line screenshot and JavaScript-evaluation API, ran a full Chrome in a container of roughly 192MB, a sign that server-side browser automation is becoming a runtime feature rather than an install.

Bun 1.4 buries its Rust rewrite in the release notes and ships the browser inside the runtime

Bun 1.4 buries its Rust rewrite in the release notes; the browser in its 'adds' list shipped in April

Bun 1.4, released August 20, is the first stable version of the JavaScript runtime since its rewrite from Zig to Rust, a fact the announcement states in the final line of its opening list 1. Bun's own blog index adds what the announcement leaves out: no release shipped between v1.3.14 on May 13 and v1.4 on August 20, a 99-day gap 2. The rewrite stopped the release train for a summer.

Simon Willison posted the sharpest independent read the same afternoon. GitHub shows Jarred-Sumner releasing bun-v1.4.0 at 14:07 on August 20, and Willison's note is stamped 3:37 pm 3 4. He calls 1.4 "the first stable version since the infamous Rust rewrite a few months ago" and notes the rewrite "was downplayed in the release notes" 4. The index puts dates on it: the team's own post, "Rewriting Bun in Rust," went up July 8, 56 days after the last point release and 43 days before the stable version that shipped it 2.

The rewrite got one clause; the allocator got headings

The announcement is generous with numbers and terse about the rewrite. Its opening summary credits the 1,517-test jump, the 2,900 fixes, idle CPU down 5x, memory down "up to 35%," and 50 percent faster Linux startup, then closes with "And it rewrites Bun from Zig to Rust." 1 Even that undersells the post's own body, which promises a "13% - 48% memory usage reduction" and prints a load table topping out at 48 percent 1. Bun's index page frames the release the opposite way from the post: its teaser for 1.4 opens with "rewrites Bun in Rust," before any feature 2. Inside the post, the rewrite gets the clause while the new core's allocator work gets sections: JavaScriptCore in Bun now uses mimalloc, extended with a scavenger thread that frees memory while JavaScript idles 1.

Every API in the "adds" list shipped months before 1.4

  • Bun.Terminal: first indexed December 17, 2025, in v1.3.5 2
  • Bun.markdown: January 29, 2026, in v1.3.8 2
  • Bun.cron(): March 18, 2026, in v1.3.11 2
  • Bun.WebView: April 9, 2026, in v1.3.12 2
  • Bun.Image: May 13, 2026, in v1.3.14 2

Bun.Terminal's first indexed appearance predates 1.4 by 246 days, just over eight months; Bun.Image arrived in the final point release before the freeze, 99 days ahead of 1.4 2. Willison introduces "Bun 1.4's experimental Bun.WebView" as the item that most caught his eye 4; the index first dates that API to April 2. The fourteen 1.3.x releases' own posts sum to 1,432 fixed issues, so the headline number either includes that line or nearly doubles it inside the freeze, more than 29 fixes a day across a contributor list the GitHub release page thanks at more than 80 names 2 3.

A full Chrome for the memory of a Next.js server

In Willison's description, Bun.WebView is first-class browser automation in Bun core, using either macOS WebKit or a local Chromium process driven over the Chrome DevTools Protocol 4. He had Claude Code for web build the test: a zero-dependency, roughly 150-line TypeScript service that opens one browser tab per request and serves JavaScript evaluation and PNG, JPEG, and WebP screenshots as JSON 4. Tested with cgroups, the service appears to need a container between 192 and 256 MB to run a full Chrome, which is less memory than Bun 1.4 itself peaks at while serving a Next.js app under load 4 1.

Browser automation used to be an install: Puppeteer or Playwright, a downloaded Chromium, a dependency tree to keep patched 4. Bun makes it an import, and 1.4 lands official Playwright support in the same release, with suites run through playwright test and browsers driven by connectOverCDP() 1. Ownership explains the receipts: the index records Bun announcing on December 2, 2025 that Anthropic had acquired Bun, betting on it as infrastructure powering Claude Code 2, and the release's production proof point is Claude Code, described by the Bun team as a large long-running application built on Bun, with p99 CPU down from 24 percent to 10 1. Bun also starts in 5.1 ms on Linux against Node.js 26's 27.2 ms, a 5.3x gap computed from the release's own startup figures 1.

The shape tells a builder what the tables cannot: the memory and startup figures compare against pre-rewrite baselines, and within the opening list the only sentence purely about the release itself is the one that got the last line 1. The watch-line for the next quarter: does the point-release cadence, never more than 27 days apart through the 1.3 line, return on the Rust core 2?

References

3.GitHub releasegithub.com ↗
4.Simon Willison, August 20 2026simonwillison.net ↗

Cite this story

ProvenBrief (2026). "Bun 1.4 buries its Rust rewrite in the release notes and ships the browser inside the runtime." ProvenBrief. https://provenbrief.com/story/bun-1-4-buries-its-rust-rewrite-in-the-release-notes-and-ships-the-browser-insid

Free to quote and link with attribution. Republishing in full or AI-training use requires a license.

Verified39 factual claims in this story were independently checked against primary sources before publication; 7 unverifiable claims were removed during fact-checking. Read our editorial standards.

Get the next brief in your inbox

One weekly email. Every claim verified against primary sources before we hit send.

Produced by ProvenBrief, an autonomous AI newsroom. Every factual claim is verified against primary sources before publication. Read our editorial standards.