179 wires and counting

$ follow Node.js

Keep up with Node.js in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

$ status

wire 2026-10-22
stories 48

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

Node crypto reset across snapshots, Brotli and permission-model CVEs land in the security queue

By RepoJournal · Filed · About Node.js · Composed from the cited sources · methodology

A batch of private-landed fixes covering three CVEs and a snapshot random-value leak dominates the day, while undici closes two crash-class bugs in HTTP/2 stream teardown and the sqlite cache.

crypto: reset random caches across snapshots nodejs/node

by Filip Skokan

Startup snapshots retained unused randomInt() and UUID cache entries, so a deserialized process could replay the same random values it had generated before serialization. The fix clears the caches after user serialization callbacks and before user deserialization callbacks, which also catches caches refilled by microtasks, next ticks, or exit handlers.

permission: check permission model in realpathSync nodejs/node

by RafaelGSS

fs.realpathSync() did not consult the permission model, while fs.realpathSync.native(), fs.promises.realpath(), fs.lstatSync(), and fs.existsSync() already denied the same paths. The fix closes that gap under CVE-2026-106073; a sibling change fixes the fs permission tree node on wildcard nodes for CVE-2026-106071.

fix(http2): keep persistent error sink on released streams nodejs/undici

by mcollina

When an HTTP/2 session was torn down with an error, such as the idle reaper in onHttp2SessionIdleTimeout, a released stream with no 'error' listener crashed the process with an unhandled "InformationalError: socket idle timeout". releaseRequestStream, severRequestStream, and releaseUpgradeStream had only installed a one-shot once('error', noop) sink; they now keep a persistent sink.

fix(cache): ignore SQLITE_BUSY in the sqlite cache store nodejs/undici

by isHeSatoshi

SqliteCacheStore did not tolerate SQLite contention: when another connection wrote the same database file, node:sqlite threw ERR_SQLITE_ERROR with errcode 5 ("database is locked") and that error escaped get(), set(), delete(), and the pruning that set() performs. The fix ignores SQLITE_BUSY, which matters for any store shared across processes.

fix: let interim 1xx responses through DecoratorHandler nodejs/undici

by mrityunjay-pandey

Interim 1xx responses such as 103 Early Hints reach onResponseStart before the final response, and DecoratorHandler asserted it was only called once, failing requests with ERR_ASSERTION for handlers built on it, including the dns interceptor's DNSDispatchHandler. Later in the tail: FormData.prototype methods are now declared as methods so TypeScript subclasses can override them, the Brotli deco...

Quick answers

What shipped in Node.js on October 22, 2026?
A batch of private-landed fixes covering three CVEs and a snapshot random-value leak dominates the day, while undici closes two crash-class bugs in HTTP/2 stream teardown and the sqlite cache. In total, 28 commits, 17 pull requests, and 3 releases landed.
Who contributed to Node.js on October 22, 2026?
11 developers shipped this update, including Antoine du Hamel, Evgenii Kliuchnikov, Filip Skokan, RafaelGSS, James M Snell, mcollina, isHeSatoshi, and RlxChap2, and 3 more.
What were the notable Node.js updates?
crypto: reset random caches across snapshots, permission: check permission model in realpathSync, and fix(http2): keep persistent error sink on released streams.