RepoJournal

$ cat nodejs/week/2026-10-26.log

Node.js

Node.js

the week in review · Oct 26 – Nov 1, 2026

Node 26 enters LTS as Lithium; Node 27 alpha ships V8 15.6

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

♥

Amaro 1.3.0 moves off async loaders to module.registerHooks, and core drops its OpenSSL 1.x code paths.

108 commits 95 PRs merged 6 releases 7 briefings covered

all nodejs reviews →

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

by richardlau

The 26.x line entered Long Term Support with codename Lithium, with updates promised through the end of April 2029. Metadata such as the process.release object is what changed; this is the version to pin if you want the supported track rather than the alpha.

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

by RafaelGSS

The first alpha of 27.0.0 carries V8 15.6.75.13, up from 14.6 in Node.js 26, turning on Math.sumPrecise(), Iterator.prototype.join() and includes(), Intl.Locale.prototype.variants and more by default. Treat it as a testing target, not a deployment one.

zlib: add raw content read methods to ZipEntry nodejs/node

by pipobscure

The rawContent getter, which returned the retained buffer of an in-memory entry and null for file-backed or streaming ones, becomes rawContent(), rawContentSync() and an iterator. Code that read still-compressed member bytes out of a ZipFile by property access needs to move to the new methods.

feat: use module.registerHooks for amaro/strip and amaro/transform nodejs/amaro

by GeoffreyBooth

amaro/strip and amaro/transform now use synchronous module.registerHooks() where available, which removes the loader thread and lets the hooks apply to require() of TypeScript. Below Node.js 22.15, and on 23.0 through 23.4, the old path stays in place. The release notes frame the change as what "Node.js can eventually remove module.register()"

module: cache compiled WebAssembly modules in the compile cache nodejs/node

by guybedford

module.enableCompileCache() and NODE_COMPILE_CACHE now cover WebAssembly modules loaded through the ESM integration, storing V8's serialized CompiledWasmModule under a new kWasm entry type. Services that already warm the compile cache get the Wasm load cost on repeat starts too.

deps: remove ncrypto legacy OpenSSL backend nodejs/node

by Filip Skokan

The OpenSSL 1.x backend and its legacy dss1 digest aliases are gone from ncrypto, with the provider switch renamed to NCRYPTO_USE_OPENSSL_PROVIDER and remaining version guards rewritten as OPENSSL_IS_BORINGSSL. Anyone building Node against an OpenSSL older than 3.x has no supported path left.

fix(wasm): grow analysis memory on demand (#134) nodejs/cjs-module-lexer

by Ruben Bridgewater

Dense shorthand object exports can produce a result record per two source code units, overflowing the analysis region the wrapper reserved and trapping in Wasm. The allocator now bound-checks and grows memory on demand, so cjs-module-lexer survives those files instead of failing.

fix(snap): never move snapcraft.yaml to an older version nodejs/snap

by NopeCharon

A cron run that received a stale index.tab would commit the previous version and have Launchpad publish an older Node.js; the generator now refuses to move snapcraft.yaml backwards. On main this had flipped edge back to the prior nightly, so the rollback behavior visible on the daily briefings is now guarded at the source.

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

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 →