$ cat nodejs/week/2026-10-26.log
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.
2026-10-28, Version 26.13.0 'Lithium' (LTS), @richardlau nodejs/node
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
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
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
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
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
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
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
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.
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.