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-11-08
stories 20

© 2026 RepoJournal Home Showcase How it works Privacy

$ the-wire · showcase

HTTP drain stalls after coalesced chunks, undici restores h2 error codes

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

Two HTTP-layer fixes land the same day: Node's http response can stall because 'drain' never fires after corked writes flush, and undici stops clobbering the original HTTP/2 transport error with a Content-Length mismatch.

http: emit 'drain' after flushing coalesced chunks nodejs/node

by junyup0503

Since the chunk-coalescing work, write() sets kNeedDrain from buffered byte length while net.Socket counts string chunks in UTF-16 code units, so multi-byte text can stay below highWaterMark and 'drain' never fires; if flushed writes complete asynchronously, the end-of-uncork() check also runs with bytes still pending, and the response stalls. A patch now emits 'drain' after the flushed chunks,...

fix(h2): preserve transport errors and mismatch causes nodejs/undici

by styfle

A follow-up to the HTTP/2 Content-Length validation in #5816: when a session fails after headers arrive and the body comes up short, the stream error handler was replacing the transport failure with UND_ERR_RES_CONTENT_LENGTH_MISMATCH, discarding the original code, message and stack. This preserves the HTTP/2 session error and attaches the mismatch as a cause instead.

sqlite: add ReadOptionalString helper nodejs/node

by araujogui

createSession() used HasOwnProperty, so { table: undefined } and { db: undefined } threw and prototype-inherited properties were ignored; a new ReadOptionalString helper used for dbName, table, db, source and target makes undefined mean the default and reads inherited properties, matching deserialize() and backup(). ReadOptionalBool and ReadOptionalString are also marked [[nodiscard]].

deps: update undici to 8.12.4 nodejs/node

by nodejs-github-bot

The automated dependency update moves the bundled undici in nodejs/node to 8.12.4. The separate error-preservation fix above landed in undici proper and has not yet been picked up in this bump.

Add report for 2026-11-08 nodejs/reliability

by Node.js GitHub Bot

The only other activity was the bot-generated reliability report for 2026-11-08, which carries no behavior change.

Quick answers

What shipped in Node.js on November 8, 2026?
Two HTTP-layer fixes land the same day: Node's http response can stall because 'drain' never fires after corked writes flush, and undici stops clobbering the original HTTP/2 transport error with a Content-Length mismatch. In total, 9 commits and 11 pull requests landed.
Who contributed to Node.js on November 8, 2026?
4 developers shipped this update, including araujogui, nodejs-github-bot, junyup0503, and styfle.
What were the notable Node.js updates?
http: emit 'drain' after flushing coalesced chunks, fix(h2): preserve transport errors and mismatch causes, and sqlite: add ReadOptionalString helper.