Changelog

oven-sh/bun · · 7 commits

Node crypto fixes and CSS layer ordering

Compatibility fixes across node:crypto/net/http and CSS layer ordering, plus a cleanup of old duplicate-issue automation.

Node compatibility fixes across crypto, net, http, quic, and workers (dylan-conway675ee5b)

Bun tightened behavior to match Node in a broad set of runtime APIs, including socket timeout/pending-read handling in node:net and agent/request handoff logic in node:http. The same commit also updates crypto and certificate-related behavior, plus worker_threads/QUIC bindings, which should reduce edge-case incompatibilities for apps relying on Node semantics.

CSS bundling now preserves layer order and duplicate-import semantics (alii6cdb383)

The CSS linker/printer was fixed so @layer statements keep their correct priority relative to @import, and duplicate imports retain the layers they introduce. This matters for real-world stylesheets because layer declaration order can change which rules win.

Anonymous CSS layer imports no longer lose sublayer declarations (alii6a38049)

The bundler now keeps named sublayers that appear after anonymous layers instead of dropping the declaration too early. That fixes cases where duplicated or cyclic imports would previously print the wrong layer structure and alter cascade results.

Node crypto/X509 compatibility got another pass (dylan-conway5e08ec1)

X509Certificate argument validation and result handling were aligned more closely with Node, and Bun.password / Bun.CryptoHasher gained related behavior updates and tests. This is another compatibility-focused crypto fix set, so it should improve correctness for certificate-heavy and hashing code.

Node crypto and WebCrypto support expanded further (dylan-conway01ec085)

This batch adds broader digest/signature support and more Node-compatible crypto plumbing, including RSA PKCS#1 v1.5 cases and related BoringSSL integration changes. It also touches deprecation handling and internal crypto bindings, so it’s a substantive runtime compatibility update.

Other misc changes

  • Removed issue dedupe / auto-close workflows and the supporting script/docs (dylan-conway3bf1a06).
  • Large internal Rust cleanup removing many unsafe blocks across core, resolver, and package manager code (dylan-conwaya2691bd).
  • Updated BoringSSL vendoring/build metadata and regenerated bindings (dylan-conway01ec085, dylan-conway675ee5b).