Changelog

oven-sh/bun · · 23 commits

Bun lands a major Bake and bindgen shakeup

Bake sheds React-specific core behavior and gets config fixes, while bindgen and YAML parsing gain substantial safety and API improvements.

Bake core drops React Server Components behavior (alii4b1681a)

Bun’s core Bake path no longer carries use server, --server-components, or bun:app behavior; frameworks are now expected to provide that layer themselves. This removes crashy parser/server paths and trims a large amount of Bake-specific core code.

One bindgen generator now powers more Bun APIs (dylan-conwayaf5743d)

The bindings pipeline was consolidated into a single generator that handles functions and classes, replacing both bindgen v1 and v2. That’s a major internal refactor that should make future Rust/JS binding work more consistent and easier to extend.

YAML.parse now defers key stringification safely (dylan-conwayd7562f2)

Bun.YAML.parse no longer stringifies sequence/mapping keys while it is still walking the input tree. That closes a class of input-lifetime and mutation hazards, especially when the source comes from typed arrays or ArrayBuffers.

HTTP/2 fetch gets hang fixes for TLS alerts and idle sessions (Jarred-Sumner792368f)

Two long-hanging cases in experimental HTTP/2 fetch are fixed: fatal TLS alerts after handshake now fail requests correctly, and idle sessions are handled more aggressively, including liveness-PING-aware cleanup. This should reduce “stuck” origins that poison later requests.

Install is more compatible with pnpm-style symlinks (Jarred-Sumnerf8bc171)

bun install now replaces files at command names even when node_modules is symlinked, avoiding EEXIST failures on pnpm layouts. This restores installs for projects that were previously breaking on link conflicts.

Compile cache stops paying the bytecode optimizer tax (robobun0663016)

Bun no longer runs the JSC bytecode optimizer when writing compile-cache entries. That trims cache-write latency, which had regressed noticeably for larger modules.

bunx and bun install behavior is clarified and tightened (Jarred-Sumnere6f65f3)

Package-manager behavior got a broad round of regressions and bug fixes, including lockfile stability, protocol handling, trust/lifecycle rules, and clearer install semantics. The changes also make bunx’s registry refresh and fallback behavior more predictable.

Other misc changes

  • Bake bug fixes for plugin cleanup, ignoreDirs parsing, and a router crash (alii0b2d346)
  • Bindgen gains SharedArrayBuffer support and Bun.indexOfLine binding cleanup (dylan-conway0a2f1c8)
  • bun lint / bun fmt / bun check fixes and docs updates (Jarred-Sumner25411ea)
  • bun lint type-aware lookup now requests types on demand (Jarred-Sumnerf14a5a6)
  • bun lint warns on huge tsconfig coverage when include is missing (Jarred-Sumner6ffebec)
  • WebKit bumps and runtime maintenance updates (dylan-conwayd940fbe, sosukesuzukif2405c3)
  • Mordant / CI baseline bumps and a small promise cleanup (alii288aca3, aliie4c638f, alii86da172, alii5866b5f)
  • Bake code move into folders without behavior change (aliib28212a)
  • Window-dressing/test fixes, docs tweaks, and install-message polish (dylan-conwayf0e4f6b, Jarred-Sumner8ba82c3)