RepoJournal
Node.js

@nodejs

The Node.js runtime — every backend team's CVE source of truth

Pick a date

Topics: JavaScript Full archive →

The Wire · Showcase

NODE FIXES CRITICAL STREAM PIPE BUG BLOCKING HEALTHY DESTINATIONS

By RepoJournal · Filed · About Node.js

A regression in Node's stream handling silences data flow to working destinations when a sibling pipe errors, breaking multi-destination pipelines across all recent versions.

Node shipped a critical fix for stream piping [1] that restores flow to healthy destinations when one errored destination is removed. The bug, introduced in v20.10.0 [2], caused sources piped to multiple destinations to stall completely if any single destination errored synchronously in _write(). This breaks common patterns like splitting data across multiple processors. The fix ensures the source's drain handler is re-invoked even when the destination no longer has needDrain set, properly cleaning up the errored destination from awaitDrainWriters. In parallel, Node's REPL is getting a major overhaul to use the inspector protocol instead of vm [3], closing multiple longstanding issues around REPL behavior and debugger integration. The team also patched assert.deepStrictEqual and util.isDeepStrictEqual [4] to handle Maps with null keys correctly, which previously threw TypeErrors instead of returning comparison results. Documentation improvements continue landing, including a comprehensive doc-kit documentation site [5] that showcases the tool itself and serves as a web example for the broader ecosystem.

Action items

References

  1. [1] stream: resume flow when an errored pipe destination is removed nodejs/node
  2. [2] stream: resume flow when an errored pipe destination is removed ↗ nodejs/node
  3. [3] repl: use inspector over vm nodejs/node
  4. [4] assert,util: fix TypeError on Maps with null keys nodejs/node
  5. [5] feat(docs): add documentation for `doc-kit` ↗ nodejs/doc-kit

Quick answers

What shipped in Node.js on July 19, 2026?
A regression in Node's stream handling silences data flow to working destinations when a sibling pipe errors, breaking multi-destination pipelines across all recent versions. In total, 8 commits and 5 pull requests landed.
Who contributed to Node.js on July 19, 2026?
6 developers shipped this update, including bmuenzenmeyer, Mahin Anowar, avivkeller, Paul Bouchon, greenhead, and Node.js GitHub Bot.
What were the notable Node.js updates?
stream: resume flow when an errored pipe destination is removed, stream: resume flow when an errored pipe destination is removed, and repl: use inspector over vm.

More from @nodejs

Daily updates, in your inbox

Follow Node.js

The Node.js runtime — every backend team's CVE source of truth We'll email you a link to confirm first.

Free. Confirm via email. Unsubscribe in one click.

— or follow the whole beat:

Elsewhere on the wire