RepoJournal

$ cat nodejs/month/2026-10-01.log

Node.js

Node.js

the month in review · October 2026

Node 26 enters LTS as five undici advisories land

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

Node 26.13.0 ships under the Lithium codename through April 2029, while undici patches a DoS, a TLS validation bypass and a cache poisoning flaw.

583 commits 405 PRs merged 28 releases 9 security advisories 31 briefings covered

all nodejs reviews →

undici vulnerable to TLS certificate validation bypass via dropped tls options in Agent nodejs/undici

The Agent dropped tls options, which disabled certificate validation for anyone passing them through. Treat every undici release before the patch as trusting whatever certificate it was handed.

undici vulnerable to cache poisoning and cross-user disclosure via cross-origin redirects nodejs/undici

Cross-origin redirects could poison the cache and hand one user's response to another. If you run a shared or proxy cache in front of undici, that is cross-user disclosure, not a nuisance bug.

undici WebSocket client vulnerable to Denial of Service via failed HTTP/2 handshake nodejs/undici

A failed HTTP/2 handshake was enough to take the WebSocket client down. 26.12.0 and 24.22.0 shipped the fixes, and the remaining advisories, including unbounded EventSource parser memory and the Subresource Integrity bypass, complete the batch.

2026-10-28, Version 26.13.0 'Lithium' (LTS), @richardlau nodejs/node

by richardlau

The 26.x line moves to LTS with support through the end of April 2029, so the semver-minor work landed in 26.11.0 and 26.12.0 (buffer isLatin1, crypto.parsePKCS12 in the 24.x line) is now on a supported track.

2026-10-29, Version 27.0.0-alpha.0.0.0 (Alpha), @RafaelGSS nodejs/node

by RafaelGSS

V8 15.6 arrives with Math.sumPrecise(), Iterator.prototype.join(), includes and zip enabled by default. The branch also carries the OpenSSL 1.x removal and the node-gyp, Amaro and WebAssembly compile-cache work, so pin your CI off alpha before pulling it.

child_process: build the default env block in one native pass nodejs/node

by codebytere

spawn() and spawnSync() build the child environment block in one native pass instead of walking the process.env proxy per variable. The saving is 20 to 24 percent when options.env is omitted, which is the default path for most build and test spawns.

2.3.0 nodejs/cjs-module-lexer

by guybedford

cjs-module-lexer 2.3.0 initializes Wasm automatically before parsing and speeds up UTF-16 source copies and identifier runs. It also drops Node.js 18, so any toolchain still resolving that line needs a newer runner.

v13.1.0 nodejs/node-gyp

by nodejs-github-bot

node-gyp 13.1.0 updates gyp-next to v0.22.3 and fixes --msvs_version, alongside citgm's red builds traced to loglevel precedence. Native addon builds on Windows were the ones tripping on it.

$ ls nodejs/month/ # the briefings behind this review

Thu Oct 1 child_process spawn gets 20% faster, QUIC macro cleaned up Fri Oct 2 node-gyp 13.1.0 fixes --msvs_version, and citgm's red builds traced to loglevel precedence Sat Oct 3 Legacy AsyncLocalStorage removed, FFI permission checks dropped Sun Oct 4 Undici caps EventSource buffering, node:ffi takes plain integers Mon Oct 5 Node.js migrates off deprecated V8 APIs and fixes a long-silent Windows ICU path Tue Oct 6 V8 drops the flag override, so jitless and lite modes come back Wed Oct 7 Node loads most ES modules synchronously Thu Oct 8 Node 26.11.0 lands Latin1 checks and stringLength as crypto locks come out Fri Oct 9 Undici caps cached and error-body retention, drops Milo from the Node core bundle Sat Oct 10 cjs-module-lexer drops Node.js 18, doc-kit opens its Markdown pipeline Sun Oct 11 Faster http2 getHeaders, WASM errors on jitless builds Mon Oct 12 AbortSignal.any() leak fixed, diagnostics_channel context unblocked Tue Oct 13 Node absorbs acorn 8.19.0, sqlite 3.54.0, and a V8 patch Wed Oct 14 AsyncLocalStorage store restored in AsyncResource callbacks Thu Oct 15 Node 26.12.0 and 24.22.0 ship as undici patches a WebSocket DoS Fri Oct 16 Five undici DoS and TLS bypass advisories land at once Sat Oct 17 TransformStream construction trimmed, SEA archive mount re-landed Sun Oct 18 net.BlockList fails closed, QUIC validates error codes Mon Oct 19 Dev dependency maintenance across nodejs tooling Tue Oct 20 A "worker" condition for Web Workers, and a lint rule that catches dead benchmarks Wed Oct 21 TLS gets a SPKI blocklist, NSS 3.131.1 roots land Thu Oct 22 Node crypto reset across snapshots, Brotli and permission-model CVEs land in the security queue Fri Oct 23 Alpha release phase lands on nodejs.org download pages Sat Oct 24 HTTP/2 GOAWAY replay fix, test_runner gains --test-forbid-only Sun Oct 25 AbortSignal gets up to 11x faster; http2 stops hanging on GOAWAY Mon Oct 26 OpenSSL 1.x support exits core, diagnostics_channel gets a use-after-free fix Tue Oct 27 Amaro 1.3.0 moves to registerHooks, snap stops nightly rollbacks Wed Oct 28 WebAssembly joins the compile cache, ZipEntry gets raw read methods Thu Oct 29 Node 26 becomes LTS Lithium, alongside TLS session-reuse and http2 timeout fixes Fri Oct 30 Node 27.0.0-alpha.0.0.0 lands with V8 15.6, and pipeTo keeps its async context Sat Oct 31 FFI callbacks no longer dangle after GC

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.

all nodejs reviews →