Changelog

nodejs/node · · 17 commits

Web Workers land, WPT expands, streams speed up

Node adds experimental Web Worker support, broader WPT runner coverage, a SQLite diagnostic channel, and stream/blob performance fixes.

Experimental Web Worker API lands (avivkellerb9afdd0)

Node now exposes a mostly browser-compatible Worker API behind --experimental-web-worker, with new docs covering its CLI flag, globals, script-loading behavior, and deviations from the HTML Standard. This is the main feature of the day and unlocks a new worker model on top of worker_threads.

WPT runner gains multi-global and process isolation support (panva78cca36, panvac757550, panva5615b25, avivkellerc73d0b1)

The Web Platform Tests harness was significantly reworked to handle multi-global tests, actual Web Worker execution, and an opt-in process-based runner for crashier cases. The repo also adds a large set of Web Worker / Cache Storage WPT fixtures, which materially broadens standards coverage.

SQLite gets a diagnostic channel (araujoguic7b962c)

SQLite operations now emit through diagnostics_channel, with matching C++ plumbing, JS integration, docs, benchmarks, and tests. That gives observability tooling a new hook into database activity without changing the public SQLite API surface.

Web streams and blob internals get throughput fixes (mcollinaec1a8df, martenrichter9ad097b, mcollina2929417, mcollina3e4d2e4)

Streams reduce promise churn in hot paths and replace several microtask schedules with shared resolved-promise callbacks, which should trim overhead in pipeTo and tee flows. Blob wakeups were also made safer with setImmediate, and a webstreams benchmark was corrected to actually apply highWaterMark settings.

Other misc changes

  • CLI: add no-op --experimental-repl-await flag support (avivkeller8606604)
  • Test cleanup and style churn: convert several forEach() loops to for...of / for...in across parallel tests (pmarkert86c871e, Nixxy2530bff4a, devfepc2b2e3f, freida-coded099639)
  • Test: wait for FFI background optimization (trivikrc55fa12)
  • Docs: fix SQLite changeset constant descriptions (greenheadHQ91aaf05)