26.8.0
2026-08-26, Version 26.8.0 (Current), @aduh95
Notable Changes
- [
74234ee30e] - (SEMVER-MINOR) benchmark: add --analyze mode to compare.js (James M Snell) #65416 - [
4232997fa2] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495 - [
f0531f1c87] - (SEMVER-MINOR) crypto: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) #63411 - [
3f4b80ebb5] - diagnostics_channel: mark TracingChannel as stable (Abdelrahman Awad) #64525 - [
753033c110] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #65024 - [
3d7d277493] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #64974 - [
9e8e9080fd] - (SEMVER-MINOR) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #65416 - [
c18b0aa54e] - repl: add basic syntax highlighting (Aviv Keller) #64591 - [
58ea88e1d3] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.close() (Guilherme Araújo) #64232 - [
7c61b08aed] - (SEMVER-MINOR) sqlite: add StatementSync.prototype[Symbol.dispose]() (Guilherme Araújo) #64232 - [
4299cd5897] - (SEMVER-MINOR) util: add non-throwing MIMEType.parse (James M Snell) #64965 - [
df48191061] - (SEMVER-MINOR) zlib: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) #64339
Commits
- [
162257b403] - assert: improve documentation wording (Kamal Rawal) #64953 - [
74234ee30e] - (SEMVER-MINOR) benchmark: add --analyze mode to compare.js (James M Snell) #65416 - [
2cb96dd462] - benchmark: add test-only and mock timers cases (Luan Muniz) #64097 - [
562168f93f] - benchmark: applyhighWaterMarkin webstreamspipe-to(Matteo Collina) #65138 - [
fbec4eb386] - benchmark: complete the sqlite is-transaction fix (Edy Silva) #65218 - [
d8acfc45f1] - benchmark: add test runner hooks and options (Luan Muniz) #63754 - [
13e7d54f67] - buffer: prevent string write offset overflow (Matteo Collina) #65043 - [
615273deac] - buffer: support aligned allocations (Robert Nagy) #65003 - [
bc6b630e21] - buffer: treat detached ArrayBuffers as empty (Archkon) #64504 - [
ddf9f9d265] - build: target Power 9 and z14 (Richard Lau) #65439 - [
fda8ee894e] - build: use build-ci for benchmark merge-commit rebuild (Yagiz Nizipli) #65362 - [
03692786ef] - build: add simdutf dir to include path in GN build (Shelley Vohr) #65382 - [
3da555a3ed] - build: pass target architecture to small-icu genccode (ulofiai) #65095 - [
ffe1e7cbea] - build: update binary-upload to use correct tarball name (Stewart X Addison) #65282 - [
50174cb94a] - build: deprecate always enabled--enable-static(Chengzhong Wu) #65103 - [
28f662b424] - build: check FIPS option value in node.gyp (Filip Skokan) #64982 - [
29a2ecefeb] - build: handle malformed OpenSSL macros (Filip Skokan) #64982 - [
6deeef1801] - build: enable perfetto updater (Chengzhong Wu) #64966 - [
312f0c6a7e] - build: add host toolset to perfetto_sdk (Ryuhei Shima) #64751 - [
1a4f5e537b] - build,win: add PGO workload scripts (Stefan Stojanovic) #63696 - [
21655dccbc] - child_process: keep SIGWINCH from killing on Win (Kirill Saied) #64510 - [
4232997fa2] - crypto: update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495 - [
f0531f1c87] - (SEMVER-MINOR) crypto: enable SIV and GCM-SIV modes in Cipher/Decipher APIs (Filip Skokan) #63411 - [
109566a2f7] - crypto: fix missing error checks on ASN1_STRING_to_UTF8() (Nora Dossche) #65200 - [
501f81612d] - crypto: improve SubtleCrypto.supports() accuracy (Filip Skokan) #65222 - [
137ff67fd3] - crypto: use available BoringSSL APIs (Filip Skokan) #65423 - [
0e87576ed4] - crypto: remove obsolete BoringSSL shims (Filip Skokan) #65423 - [
af867ce3e4] - crypto: add mgf1Hash for RSA-OAEP (Adam Mcgrath) #65073 - [
66ee4792bf] - crypto: disable non-FIPS WebCrypto paths in FIPS mode (Filip Skokan) #65172 - [
6a142c03e9] - crypto: read WebCrypto inputs through primordials (Filip Skokan) #65115 - [
92e3110462] - crypto: fix disabling FIPS mode (Filip Skokan) #64982 - [
d69bed2f49] - debugger: wait for target startup (Filip Skokan) #65194 - [
5c7c0b8b15] - deps: update zlib to 1.3.2.1-motley-8002e91 (Node.js GitHub Bot) #65316 - [
4cb6b1335e] - deps: update simdjson to 4.6.7 (Node.js GitHub Bot) #65318 - [
a39ad67482] - deps: update googletest to 49495eacfdbda3f4b6ba219923fedbb2e3f99376 (Node.js GitHub Bot) #65317 - [
46762dad57] - deps: cherry-pick libuv/libuv@e640dc9 (ulofiai) #65118 - [
abb7a15a8d] - deps: update perfetto to 57.2 (Node.js GitHub Bot) #65114 - [
ebd8c6ba52] - deps: float ICU-23262 patch for icu78 (René) #64678 - [
f2cc681109] - deps: enable AVX-512 OpenSSL asm with clang (Daniel Lemire) #65136 - [
f45dc92913] - deps: update undici to 8.10.0 (Node.js GitHub Bot) #65155 - [
4160dfdf81] - deps: update googletest to d89aac5f0dd4021198d903d39de16f896726de21 (Node.js GitHub Bot) #65153 - [
631d3aa37b] - deps: update libffi to 3.8.0 (Node.js GitHub Bot) #65154 - [
788976c626] - dgram: don't swallow bind errors when callback is provided (armanmikoyan) #62602 - [
d286423043] - diagnostics_channel: validate before channel activation (Trivikram Kamat) #65313 - [
3f4b80ebb5] - diagnostics_channel: mark TracingChannel as stable (Abdelrahman Awad) #64525 - [
152a326f92] - dns: validate address type in lookupService (Lazizbek Ergashev) #64878 - [
00c71fec93] - dns: validate port range insetServers()(René) #65021 - [
e9327d1422] - dns: fix crash on setServers with port 0 (Lazizbek Ergashev) #65009 - [
9e227ef20d] - doc: update AHAFS reference link (Taeuk Ha) #65481 - [
5fbf6c57af] - doc: fix property names in os.networkInterfaces() example (Jihwan) #65469 - [
13f16d28d1] - doc: fix broken links in cli.md (Donghoon Kang) #65412 - [
0f36ee3755] - doc: remove outdated WASI version fallback (이혜미) #65303 - [
1ad09f712a] - doc: fix broken GYP link in n-api.md (Donghoon Kang) #65413 - [
24cd694237] - doc: document that an empty OPENSSL_CONF skips config loading (Orgad Shaneh) #64949 - [
dae434132e] - doc: fix broken TLS security level example (soreavis) #65391 - [
96b91dc987] - doc: clarify socket destroyed behavior (Dayun) #65395 - [
9d8d27d444] - doc: update outdated nodejs.org guide links (Donghoon Kang) #65394 - [
65f675086e] - doc: clarify that ipv4 mapped to ipv6 are classified as ipv6 (Vedant Kulkarni) #62117 - [
89aba0c311] - doc: clarify how fs.Dirent file types are determined (soreavis) #64532 - [
3ed0492f52] - doc: update security release prepare command (Rafael Gonzaga) #64699 - [
63583c4e75] - doc: clarify copyFile symlink behavior (T) #62941 - [
abfc51f757] - doc: document setRawMode write access on Windows (Erik Demaine) #63856 - [
4a784cb3e6] - doc: document per-architecture fast FFI argument limits (Seongeun Lee) #65207 - [
262f966155] - doc: add missing return types in fs.md (Chaseton Collins) #65307 - [
695cd896a7] - doc: add missing return types in buffer.md (Yuya Inoue) #65308 - [
676a1228cd] - doc: fix lint clean command (greenhead) #65274 - [
9ea318d4e3] - doc: fix typo in onboarding.md (서울민트초코) #65295 - [
3b6a918ab4] - doc: add missingadded:tags tofs.lchmod(Lazizbek Ergashev) #65283 - [
a77b1e61df] - doc: fix SQLite changeset constant descriptions (greenhead) #65265 - [
ab50ae60e4] - doc: document open pull request limit (Matteo Collina) #65250 - [
e2f4ea03a3] - doc: document http2 header constants (Harjoth Khara) #64548 - [
5b5509d0d3] - doc: create ai-guidelines and include to CONTRIBUTING (Rafael Gonzaga) #62105 - [
c63e873073] - doc: fix broken fs.BigIntStats link in vfs.md (greenhead) #65045 - [
d6059e84c0] - doc: update synopsis (Augustin Mauroy) #65171 - [
43f1dc03e7] - doc: document close() error when in a sqlite callback (Trivikram Kamat) #65090 - [
8f5f48ad96] - doc: fix broken internal links (greenhead) #64901 - [
5b64b37739] - doc: report proper return type on urlPattern.test (Brian Muenzenmeyer) #64831 - [
9633bb0f29] - doc: fix permission documentation examples (greenhead) #64897 - [
e52e573fd7] - doc: document sqlite parameter binding (Guilherme Araújo) #65089 - [
fa52f11d3b] - doc: finalize statements in sqlite examples (Guilherme Araújo) #65088 - [
0157c45012] - doc: document quic stopSending() and resetStream() (Issac) #64888 - [
003a913799] - doc: clarify sqlite bare parameter default (Sumit Kumar Das) #62009 - [
c5588d71ad] - doc: remove usage ofutil.inherits(Augustin Mauroy) #60817 - [
673db40fbf] - doc: fix grammar in worker_threads.md (이혜미) #64913 - [
ee5f72cf16] - doc: fix broken link (Antoine du Hamel) #65078 - [
0450ab6c6a] - doc: updatenode.1to fix linter (Antoine du Hamel) #65053 - [
9a256b0693] - doc: clarify OpenSSL FIPS configuration (Filip Skokan) #64982 - [
c321752dcb] - doc: remove--expose-gcflag from CLI documentation (Dario Piotrowicz) #58909 - [
0cf79931bb] - doc: document ArrayBuffer support in pbkd2Sync (kyungrae2002) #64976 - [
3b8a0bacaa] - doc: correct default highWaterMark values (Yilong Li) #64617 - [
be313012e4] - doc: use ffi.suffix in permission example (agape1225) #64914 - [
4a1c9a7ee0] - esm: avoid super-linear data URL MIME regex (Sumit Kumar Das) #61951 - [
b1770bc196] - esm: only register text format when enabled (Efe Karasakal) #64992 - [
f48927fe5b] - esm: fix wasm import name in error message (이혜미) #64950 - [
8d48adf688] - events: inline iterationCondition hybrid dispatch closure (Szymon Łągiewka) #64473 - [
b827c0047e] - events: inline createEvent hybrid dispatch closure (Szymon Łągiewka) #64473 - [
7670c81d99] - ffi: prefer canonical type names (Trivikram Kamat) #65417 - [
1fe7a1c33d] - ffi: validate the value passed to the float setters (Soul Lee) #65342 - [
537feecd0b] - ffi: reject direct SharedArrayBuffer pointers (Trivikram Kamat) #65233 - [
0002f0a718] - ffi: remove dead null check in callback arguments (Trivikram Kamat) #64998 - [
9024ec27b6] - ffi: keep FFI functions non-constructible (Trivikram Kamat) #65184 - [
9b4f349b01] - ffi: refresh cached string buffers on every call (Trivikram Kamat) #65051 - [
eacd65e9c2] - ffi: reject detached ArrayBufferViews (Trivikram Kamat) #65086 - [
be2ab89730] - ffi: reject detached ArrayBuffers as pointers (Trivikram Kamat) #65083 - [
6f9e0846ea] - ffi: validate fast pointer BigInt argument ranges (Trivikram Kamat) #65032 - [
3e6688c5e3] - ffi: reuse the callable created per symbol (Trivikram Kamat) #64971 - [
8b0bdd931c] - ffi: shrink trampoline placement probe window (Trivikram Kamat) #64969 - [
9c282c4532] - ffi: accept pointer BigInts in multi-argument fast calls (Trivikram Kamat) #64964 - [
b98294b57d] - ffi: support SharedArrayBuffer in getRawPointer (Junsoo Ha) #64864 - [
5cac7c2c55] - ffi: reuse libffi call plans (Yilong Li) #64958 - [
262f0ec82a] - fs: stop stat()ing every entry in recursive readdir (Shelley Vohr) #65487 - [
e3ae912e9a] - fs: use sized reads for large files in readFileUtf8 (Shelley Vohr) #65328 - [
bc1e19b4b7] - fs: fix realpath of namespaced drive paths (Jason Zhang) #65378 - [
6673ebadf2] - fs: abort in-flight stat operations (Mert Can Altin) #63143 - [
74dcdbb5f1] - fs: fix glob early return skipping sibling entries (Srinu desetti) #64895 - [
6305a744df] - fs: pass symlink type in cp when filter is provided (Jerry Zhao) #62654 - [
c5cb6bc7e2] - fs: allocate FSReqPromise stat arrays lazily (Samuel Attard) #63886 - [
992af05719] - fs: fix out-of-bounds write in mkdtemp for long prefixes (Hierax_Umbra) #64770 - [
2de845b2dd] - fs: treatstd::errc::permission_deniedasEPERMerror (Kirill Saied) #64698 - [
77fedbd350] - fs: read small files in one thread pool round trip (Shelley Vohr) #65327 - [
810929b6dd] - Revert "fs: fix close listener leak in FileHandle streams" (Mike McCready) #65387 - [
8873b91fce] - fs: fix close listener leak in FileHandle streams (Y1D7NG) #64227 - [
656cfaeb2d] - fs: add windowsHandle option to file streams (Kirill Saied) #63851 - [
c2c31d69fd] - http: improve performance with known-length calls to end() (Tim Perry) #65466 - [
7e9204f4b3] - http: use intrusive lists in ConnectionsList (Matteo Collina) #65296 - [
98e6272c70] - http: cache maxHeaderPairs per header section (GetThatCookie) #64988 - [
6c3516f179] - http: fix keylog listener setup on existing agent sockets (Shani Singh) #65066 - [
dad9548fbc] - http: emit drain on socket takeover and avoid stale HWM reuse (Naman Trivedi) #64991 - [
563cab119b] - http2: avoid uaf while receiving and sending rst_stream (esgor) #64166 - [
099801641b] - inspector: avoid calling into JS from V8 interrupts (Joyee Cheung) #65028 - [
b71d5de0b8] - lib: use bracket notation instead of startsWith/endsWith for single char (Taejin Kim) #61500 - [
e8e2abcc8d] - lib: load fewer builtins when bootstrapping without a snapshot (Shelley Vohr) #65329 - [
3619dc0601] - lib: fix ERR_INVALID_ARG_TYPE with --enable-source-maps (June) #63215 - [
ad7c67026b] - lib: harden webidl dictionary member reads (Filip Skokan) #65115 - [
b5182f0a1c] - lib: use validateArray for array arguments (greenhead) #64959 - [
7f7df06821] - lib: add and test [EnforceRange] in webcrypto dictionaries (Filip Skokan) #65091 - [
753033c110] - (SEMVER-MINOR) lib,src: improve histogram implementation (James M Snell) #65024 - [
8d39d0d660] - meta: add a root-level AGENTS.md (James M Snell) #65493 - [
3770f9baea] - meta: move targos to emeritus (Michaël Zasso) #65393 - [
a9b31dfe30] - meta: add unified http api initiative (James M Snell) #65139 - [
6bffc306aa] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #65182 - [
4abd1c8100] - meta: add support for alpha prerelease tag (Antoine du Hamel) #63135 - [
132c578e97] - meta: add Aviv Keller to.mailmap(Aviv Keller) #65048 - [
7aff78d231] - meta: update sccache to 0.17.0 (René) #64985 - [
97a437e7ea] - module: add a read-only mode to the compile cache (Shelley Vohr) #65302 - [
5821362819] - module: do not split a portable compile cache by uid (Shelley Vohr) #65293 - [
eb5d66e856] - module: report unreadable package.json (Paul Bouchon) #65223 - [
43757d07c1] - module: cache nearest parent package.json per directory (Shelley Vohr) #65326 - [
d7805e00dc] - module: fix --check on ambiguous ESM files (Paul Bouchon) #65203 - [
646221a495] - net: handle undefined parent in _unrefTimer and _destroy (Shivay-98) #64644 - [
3d7d277493] - (SEMVER-MINOR) net: improve performance of net.BlockList (James M Snell) #64974 - [
9e8e9080fd] - (SEMVER-MINOR)
These notes run past the length kept in the archive. The rest is on the publisher’s page.