Major runtime and API additions
- Test runner tags and filtering landed on
test(),it(),suite(), anddescribe(), with--experimental-test-tag-filterand reporter/context exposure for metadata-based selection. - HTTP informational responses gained
response.writeInformation()for arbitrary 1xx status codes, including HTTP/2 compat support. stream.composeis now stable, marking it ready for general use.- N-API typed arrays now accept
SharedArrayBuffer, widening addon compatibility.
Streams and stream/iter got a substantial correctness and performance pass
pipeTo()andfromWritable()were fixed to respect backpressure correctly and avoid duplicate writes or bad cache behavior.toReadableSync(),PushQueue, andBroadcastWriterreceived smaller correctness and allocation fixes.- Sync-iterable normalization in
from()/fromSync()was capped and optimized, while broadcast fan-out trimming was sped up by avoiding repeated minimum-cursor scans. - A new sync-iterable fast path in
pipeTo()improves throughput when normalization is unnecessary.
Crypto, QUIC, and platform behavior tightened
- WebCrypto gained more BoringSSL parity, including ML-DSA, ML-KEM, ChaCha20-Poly1305, and AES-KW support in BoringSSL builds.
- QUIC was brought in line with the permission model and got fixes for backpressure handling and ALPN failure signaling.
- macOS certificate trust handling was corrected so missing trust-result metadata falls back to
TrustRootas Apple intends. fs.Statsdate fields are now enumerable, which changes object iteration/inspection behavior.
Debugger, wasm, and release maintenance
- Debugger inspect/probe behavior was improved with better help handling and more accurate reported hit locations.
- WebAssembly.Exception JS API support was updated to match V8/spec behavior more closely.
- Node 22.22.3 LTS was cut during the week, pulling in the backported fixes and dependency updates.
Other misc changes
- libffi static-linking coverage was expanded to more target combinations.
- BoringSSL cipher enumeration now falls back safely when
libdecrepitis absent. - Temporal build flags were documented, and V8 build scripts were adjusted for toolchain-specific flag handling.
- Vendored SQLite and simdjson were refreshed, docs were cleaned up, and several flaky tests/scripts were stabilized.