Ir direto ao conteúdo

Node.js 26.6.0 (Current)

Antoine du Hamel

2026-08-03, Version 26.6.0 (Current), @aduh95

Notable Changes

  • [5a36018abc] - doc: add MikeMcC399 as collaborator (Mike McCready) #64656
  • [9b04f82d7b] - (SEMVER-MINOR) ffi: add getCurrentEventLoop (Paolo Insogna) #64323
  • [bb51f2c960] - (SEMVER-MINOR) test_runner: add context.log() and test:log event (Moshe Atlow) #64389
  • [56ce83b3ee] - (SEMVER-MINOR) test_runner: report entryFile in TestStream events (Moshe Atlow) #64309

Commits

  • [248ff9fa5c] - assert,util: fix TypeError on Maps with null keys (Paul Bouchon) #64441
  • [3b5baceafe] - benchmark: add bytes variant to webstreams async-iterator (Matteo Collina) #64291
  • [0a46d1ef66] - buffer: normalize lone "\r" in Blob native line endings (Daijiro Wachi) #64115
  • [d9ada18b70] - buffer: fix Blob.stream() leaking source buffer (semimikoh) #63577
  • [d05993bcf6] - build: merge multiple on download artifact (Chengzhong Wu) #64633
  • [6c25ac909a] - build: extract temporal_capi crate directory name into gyp variable (René) #64482
  • [612f60c300] - cli: style node --help output with util.styleText (Adrián Estrada) #64484
  • [29a938ddbb] - crypto: preserve RSA-PSS legacy pubkey DER (Filip Skokan) #64547
  • [2fde794357] - crypto: cleanse provider private key copies (Filip Skokan) #64547
  • [33a0e08d41] - crypto: handle incomplete RSA private keys (Filip Skokan) #64547
  • [11b4d505ef] - crypto: retain legacy DH validation (Filip Skokan) #64547
  • [6e302041e1] - crypto: limit KangarooTwelveParams customization to 512 bytes (Filip Skokan) #64557
  • [195f103e87] - crypto: split OpenSSL 3, BoringSSL, and legacy backends (Filip Skokan) #64211
  • [ec67e24eee] - deps: update googletest to fa005b296f90faec4f352d7ab382287bf6548c8d (Node.js GitHub Bot) #64587
  • [32ffff88fd] - deps: histogram: cherry-pick 62ea52b07ee9b195 (StefanStojanovic) #64296
  • [e0664f1f09] - deps: update histogram to 0.11.10 (Node.js GitHub Bot) #64296
  • [cf0622bdd6] - deps: update amaro to 1.1.11 (Node.js GitHub Bot) #64586
  • [04c78b8b24] - deps: update timezone to 2026c (Node.js GitHub Bot) #64588
  • [59f4318976] - deps: V8: cherry-pick 1158ae719749 (René) #64432
  • [e5ea7cd299] - deps: update googletest to 8240fa7d62f73e01c7af27d61ed965d6d66698fa (Node.js GitHub Bot) #64439
  • [0e7554cee4] - deps: update libffi to 3.7.1 (Node.js GitHub Bot) #64438
  • [46c9d724ad] - deps: update ngtcp2 to 1.24.0 (Node.js GitHub Bot) #64297
  • [3519aac9af] - deps: enable OpenSSL asm support for riscv64 (Jamie Magee) #62606
  • [c09701218b] - deps: update c-ares to 1.34.8 (Node.js GitHub Bot) #64330
  • [ad2f3bc95b] - deps: upgrade npm to 11.18.0 (npm team) #64199
  • [d7a4b22c86] - deps: V8: backport a05321ebd98e (Chengzhong Wu) #64202
  • [8679cff291] - deps: update zlib to 1.3.2.1-motley-8b3aa8a (Node.js GitHub Bot) #64295
  • [df5b1e10ba] - doc: remove unsupported syntax from stream_iter.md (Antoine du Hamel) #64649
  • [8a4ca9083f] - doc: clarify rules for adding new built-in modules (Antoine du Hamel) #64648
  • [7d50fe6b7a] - doc: mention DEPENDENCY custom field for H1 reports (Rafael Gonzaga) #64634
  • [8f415bf5fc] - doc: fix dnsPromises.lookup verbatim default (Shivam S) #64658
  • [c6378f724d] - doc: fix broken links and clean up type map (Antoine du Hamel) #64625
  • [9b53ec19a2] - doc: fix typo in releases guide (Jihwan) #64621
  • [5a36018abc] - doc: add MikeMcC399 as collaborator (Mike McCready) #64656
  • [d2c8acd764] - doc: use promote wording in release guide (Md Muhtasim Munif Fahim) #64371
  • [5c692cb576] - doc: fix import.meta example for vm.SourceTextModule (Muhammad Zeeshan) #64112
  • [7568ce71ca] - doc: mention crypto.hash() for better perf (Steven) #63420
  • [cf3f631936] - doc: update sea example by fixing wrong code example (Maxence Robinet) #64025
  • [ce21e567a4] - doc: fix socket.readyState state descriptions (YuSheng Chen) #64468
  • [018c7f1c01] - doc: replace large tables in crypto.md and webcrypto.md with lists (Filip Skokan) #64582
  • [cf82de8d8b] - doc: note --env-file is not applied to --run (Paul Bouchon) #64442
  • [e635ce5201] - doc: fix typo in embedding.md (greenhead) #64425
  • [0b1f6eda3f] - doc: fix typos in contributing docs (Donghoon Kang) #64520
  • [d978ce80ef] - doc: document TLS alpnProtocol and servername fields (Tim Perry) #64362
  • [394669e3b3] - doc: fix spelling in devcontainer guide (한만욱) #64459
  • [9786a593ea] - doc: clarify PEM format for signing keys (Harjoth Khara) #64404
  • [6251f832ba] - doc: fix typo in tls.md (Daijiro Wachi) #64458
  • [b8656c40ad] - doc: document net Socket server property (Efe Karasakal) #64364
  • [03e9c738f3] - doc: update a Dispatcher undici doc link (Filip Skokan) #64358
  • [b6dd2debf0] - doc: fix typos in documentation (Jungwon Sohn) #64466
  • [3b7d778c3c] - doc: clarify fixes and refs trailer guidance (Trivikram Kamat) #64421
  • [eb086a6e03] - doc: remove duplicate VirtualProvider description (Archkon) #64400
  • [bc221a8cd7] - doc: add scope overview tables for TestsStream events (Moshe Atlow) #64386
  • [4b3dbd36df] - doc: clarify proxy threat model (Matteo Collina) #64366
  • [c5526f69d6] - doc: add note about restricted CI to pull-requests.md (Stewart X Addison) #64321
  • [968eaf6538] - doc: various updates to releases.md (Stewart X Addison) #64198
  • [2a51f8ba8e] - doc: remove obsolete --napi-modules doc entry (Chengzhong Wu) #64220
  • [ee5a54535e] - doc,test: widen fsPromises.appendFile()'s data type, add missing tests (Jimmy Leung) #64279
  • [b923df86fc] - events: avoid retaining removed event names (Matteo Collina) #64475
  • [7d8d413ff5] - events: optimize once() and removeListener() (Matteo Collina) #64373
  • [f2f8881d2a] - ffi: evaluate function signatures once (Trivikram Kamat) #64559
  • [9b04f82d7b] - (SEMVER-MINOR) ffi: add getCurrentEventLoop (Paolo Insogna) #64323
  • [4a3ef5b2b5] - fs: add pattern cache for matchGlobPattern() (bq) #63915
  • [ce113efcac] - fs: fix cp symlink and EEXIST handling on Windows (Kirill Saied) #64353
  • [3be3041ac9] - http: fix perf_hooks detail.req.url port and proxied path (Stefano Baghino) #64311
  • [0047ad73cf] - http: remove unused n arg from IncomingMessage._read (Efe Karasakal) #64370
  • [4d48984d5c] - http2: don't throw when destroying socket proxy (Matteo Collina) #64427
  • [3329647762] - http2: avoid copying the options in respond() (Matteo Collina) #64265
  • [a44fca5e24] - http2: avoid per-write closures in kWriteGeneric (Matteo Collina) #64265
  • [546e0e70a1] - inspector: add --cond to node inspect probe mode (Joyee Cheung) #64328
  • [b38a39dd96] - lib: use assignFunctionName util where it makes sense (Antoine du Hamel) #64515
  • [f60a12b94f] - lib,tools: add node-core/func-name-matching lint rule (Livia Medeiros) #57901
  • [9e6e9d4745] - meta: lower stale to 3 months (Aviv Keller) #64569
  • [3dd11c4993] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #64315
  • [3f55208104] - module: add two tests for eager imports when using import defer (Maya Lekova) #64197
  • [c791eedc9d] - net: support sync connect for BoundSocket (Guy Bedford) #64375
  • [4df4a3fc61] - net: make TCP Server and Socket transferable across worker threads (Matteo Collina) #64225
  • [5dd34d7d06] - path: add benchmarks for path.matchesGlob() (bq) #63915
  • [8e520646b6] - quic: defer server session emit until TLS ClientHello is processed (Tim Perry) #64132
  • [4b8cc9a3fb] - quic: preserve session stats after close (한만욱) #64489
  • [591090ca85] - quic: add support for TLS certificate compression (Sebastian Beltran) #64434
  • [d636c9c30f] - quic: extract transport logic from Application to Session (Tim Perry) #64127
  • [abb62f961f] - quic: correct http3 callback and fix revealed errs (Marten Richter) #64289
  • [5f535fdbe8] - quic: fix no onstream handler crash quic (Efe) #64158
  • [933e5f14b5] - quic: fix stall datagrams, if no pending streams (Marten Richter) #64303
  • [272632a57f] - quic: fix potential crash from unobserved closed (Tim Perry) #64134
  • [2d5f445489] - sqlite: read column count after step in StatementSync.all() (Guilherme Araújo) #64219
  • [54929af44e] - src: avoid redundant KEM encapsulation copies (Filip Skokan) #64553
  • [5380bf28b3] - src: avoid redundant DataPointer reallocations (Filip Skokan) #64552
  • [6ff5a1b834] - src: fix comment typos (Jungwon Sohn) #64509
  • [508ec0e435] - src: zero-initialize cap_data in node_credentials.cc (Samuel Kapust) #64347
  • [c5090a36c1] - src: fix some typo errors and rename some variables (Archkon) #64301
  • [0a89bef69e] - src,permission: do not throw on denied access in audit mode (Adrián Estrada) #64426
  • [63e71195c5] - stream: abort pending single-source merge reads (Trivikram Kamat) #64445
  • [f403b30c3d] - stream: use RangeError for broadcast overflow (Trivikram Kamat) #64420
  • [5c0578cbf7] - stream: skip null output from stateful transforms (Trivikram Kamat) #64462
  • [0488d02d5d] - stream: update iterable streams to use budget backpressure (James M Snell) #64464
  • [f0811baeef] - stream: remove custom CloneableDOMException implementation (Antoine du Hamel) #64469
  • [10f3f9682e] - stream: fix drop-newest behavior in share() (Trivikram Kamat) #64417
  • [2aad973b29] - stream: resume flow when an errored pipe destination is removed (Mahin Anowar) #64310
  • [6112ed5ceb] - stream: fold desired-size check into WHATWG backpressure update (Matteo Collina) #64451
  • [d829aa1138] - stream: validate writer options signal (Trivikram Kamat) #64385
  • [8e7a5e940e] - stream: reject push iterator.throw() with error (Trivikram Kamat) #64380
  • [4390f81294] - stream: simplify nested PromisePrototypeThens (Antoine du Hamel) #64470
  • [ddf2c38e9d] - stream: use the ring buffer for WHATWG stream request queues (Matteo Collina) #64431
  • [518d81b36d] - stream: validate writevSync chunks before queuing (Trivikram Kamat) #64300
  • [f745c4261d] - stream: speed up reads and iteration over default WHATWG streams (Matteo Collina) #64320
  • [4f4bce62fe] - stream: copy SAB-backed chunks in iter consumers (Trivikram Kamat) #64382
  • [f29937d26f] - stream: reject nested async streamables in from() (Trivikram Kamat) #64352
  • [424cec71b7] - stream: avoid draining merged iter sources (Trivikram Kamat) #64293
  • [e01906180c] - stream: use ring buffer for WHATWG stream queues (Yagiz Nizipli) #64312
  • [0a0193f666] - stream: hoist repeated loads in readable paths (Yagiz Nizipli) #64312
  • [ebe16003b6] - stream: prefer sync iterator in fromSync (Trivikram Kamat) #64294
  • [f249614835] - stream: speed up async iteration over WHATWG byte streams (Matteo Collina) #64291
  • [7331118699] - stream, quic: update iterable streams backpressure (James M Snell) #64464
  • [46b117729d] - test: update quic tests for stream/iter update (James M Snell) #64464
  • [b122ca5389] - test: fix flaky http2 socket proxy test (Tim Perry) #64673
  • [68c46146fd] - test: apply correction to comment (Rich Trott) #64524
  • [d7e119b26b] - test: keep finalization before-exit ref alive (Tim Perry) #64521
  • [0db4e10a0c] - test: copyedit test-tls-psk-alpn-callback-exception-handling (Antoine du Hamel) #63485
  • [21389f7b25] - test: fix stale async-context-frame status entries (Kirill Saied) #64141
  • [af55304846] - test: update WPT for urlpattern to 5847ee5cfa (Node.js GitHub Bot) #64436
  • [43a5ce4e00] - test: update WPT for WebCryptoAPI to ec2fee39a4 (Node.js GitHub Bot) #64435
  • [11ca52a521] - test: fix flaky http2 maxOriginSetSize test (Tim Perry) #64407
  • [af08a11e77] - test: fix 2nd flaky blob test case (Tim Perry) #64391
  • [0104ae1171] - test: fix flaky watch + cwd + argv test-runner test (Tim Perry) #64372
  • [b3ff5fe3f4] - test: normalize Windows crash in debugger test normalization (Joyee Cheung) #64332
  • [4cdceb7436] - test: unmark flaky http2-large-file for Win (Kirill Saied) #64255
  • [19f529377b] - test: unmark flaky SEA snapshot tests on Windows (Kirill Saied) #64317
  • [66f9b342ef] - test: increase timeout in consumed-timeout test (Trivikram Kamat) #64204
  • [fdbbf0ae6d] - test: handle null stdio streams in spawnSyncAndAssert helper (Joyee Cheung) #64273
  • [10ea17dafe] - test: remove impact of tier-up changes in worker stack size test (Joyee Cheung) #64271
  • [bb51f2c960] - (SEMVER-MINOR) test_runner: add context.log() and test:log event (Moshe Atlow) #64389
  • [56ce83b3ee] - (SEMVER-MINOR) test_runner: report entryFile in TestStream events (Moshe Atlow) #64309
  • [7a02e4f9e6] - timers: do not retain a reference to the async store after firing (Matteo Collina) #53443
  • [7d5d46ef00] - tls: match IPv6 hosts against IP-Address SANs (Pascal Garber) #64145
  • [f7bc0c62df] - tools: bump brace-expansion from 5.0.6 to 5.0.7 in /tools/eslint (dependabot[bot]) #64636
  • [3f80ed2e93] - tools: reference 'git node land' in PR-URL: error message in merge.sh (Stewart X Addison) #64495
  • [7b373cafce] - tools: disable zipping tarballs on GHA (Antoine du Hamel) #64423
  • [5bdbd256e9] - tools: add workflow to compare Nix changes (Antoine du Hamel) #64410
  • [ca4a16634b] - tools: add option for benchmark.yml to post comment on PR (Antoine du Hamel) #64395
  • [86193ef193] - tools: fix redundant conditions in v8.gyp for riscv64 and loong64 (Jamie Magee) #62608
  • [ee460404be] - util: make MIMEParams accessors case-insensitive (Daijiro Wachi) #64123
  • [a63ee46ddd] - vfs: make recursive readdir iterative (AkshatOP) #64149
  • [37f93c3b15] - vfs: make lchmod update symlink mode (Trivikram Kamat) #64350
  • [ce54e2a9c8] - vfs: fix VirtualReadStream race with async iteration (Y1D7NG) #64394
  • [54e8d3a14b] - vfs: follow symlinked dirs in recursive mkdir (Trivikram Kamat) #64287
  • [7be42b64e1] - vm: enable interception on global restricted properties (Chengzhong Wu) #64202
  • [c2cfcf8e7d] - zlib: reject truncated zstd input (Archkon) #64593

Windows 64-bit Installer: https://nodejs.org/dist/v26.6.0/node-v26.6.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v26.6.0/node-v26.6.0-arm64.msi
Windows 64-bit Binary: https://nodejs.org/dist/v26.6.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v26.6.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v26.6.0/node-v26.6.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v26.6.0/node-v26.6.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v26.6.0/node-v26.6.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v26.6.0/node-v26.6.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v26.6.0/node-v26.6.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v26.6.0/node-v26.6.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v26.6.0/node-v26.6.0-aix-ppc64.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v26.6.0/node-v26.6.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v26.6.0/node-v26.6.0.tar.gz
Other release files: https://nodejs.org/dist/v26.6.0/
Documentation: https://nodejs.org/docs/v26.6.0/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

a14f8c344cbd6200979d272cfe64a7524a43e6ef80f98b34248703d750e76919  node-v26.6.0-aix-ppc64.tar.gz
4ef6b8d0fea7daa7a5f2e0e5569354ab59a0b13ddb7c832bce3a52f8ecc7473a  node-v26.6.0-arm64.msi
75480cd43b6fcb35d8e772dd18983fbd9f691b2f03b1c94393206098e9944b5e  node-v26.6.0-darwin-arm64.tar.gz
ea029a807203a32378bf09abe56fea3ea40d6a2dbf663edbedaedd84abd1b10b  node-v26.6.0-darwin-arm64.tar.xz
de075ffc09f33cc4b44ed38e1e4b2ef71f699b986f6d5952329da4973220726d  node-v26.6.0-darwin-x64.tar.gz
6548b8f703d56ca42542837389dfeb106f9035ec4e6168cd81599ed66e0e2b4a  node-v26.6.0-darwin-x64.tar.xz
669e01fafca56374f796f39f2e07f97d873b1eb419fa94646c7e9a689171d09b  node-v26.6.0-headers.tar.gz
4d0230bf465df376c474307094026eea543d68aca71661b0d36e1395725c6c02  node-v26.6.0-headers.tar.xz
51c59de738843677a3c97bccbdbf9895141cb308bf25a95daeafd1aade09f0d5  node-v26.6.0-linux-arm64.tar.gz
974e6f0332fb26179b34d49c57f35339e089a89faf8b82a81e44c0e1164b7923  node-v26.6.0-linux-arm64.tar.xz
4c6cf0588738e39bef6ed8eb99e81181719a8339283e9582df694f6b97a7fe78  node-v26.6.0-linux-ppc64le.tar.gz
8967dec897b3821ac900f37dd10b2397f337e8ce3f3a89180cecfdedc8550fde  node-v26.6.0-linux-ppc64le.tar.xz
63138b4cb923a33e6f76b2438eac46ac2342645cee0a2269ffd328afeddb8ae0  node-v26.6.0-linux-s390x.tar.gz
776d69f7c81dc971a6732a095958809c9b4fb805633d848d0f28181ee2845cf9  node-v26.6.0-linux-s390x.tar.xz
714f352a7539c5ce09af15e440cbaadbe935bb23ba23fcee66b066d00a063822  node-v26.6.0-linux-x64.tar.gz
e53a8c8ca2ee7135de38e63859bd4f43002ae2d222f5b3a98ac1945db9f544bb  node-v26.6.0-linux-x64.tar.xz
1d6aa13cc0e5c91de05c1a0d8ee4a000085bb1b6b280e777f7ce79037593bc55  node-v26.6.0-win-arm64.7z
0a738ffd9362003fc905f685b29bec2eca867d2f84f1bc37a70497423a0f7b1e  node-v26.6.0-win-arm64.zip
8f3f0a8578ffccf73a0de0c1047fee4b403d913ff32a0b2ad7d3a3bb1d7141bc  node-v26.6.0-win-x64.7z
aa81c8552f251ff280134985ccdaf16d336e2961b1e2c3eeb7b7b2221509f723  node-v26.6.0-win-x64.zip
f260a2b468a72c7071edd57de032cc8c4097bb5bdbb1f1d76454cec60c68cf5e  node-v26.6.0-x64.msi
6c7cf15bfef102a0876ace9d1c87bc9100039699e9e038e71157d8c9a118b261  node-v26.6.0.pkg
0c1a4512ceb6ab37404900762cf325326faafed9ea96e726af6b003acf22322a  node-v26.6.0.tar.gz
ecb6eec812505c9292529087a2436ec6c891ffe0e3a897833416e5d7436d659f  node-v26.6.0.tar.xz
98608760c429a19b90a17798e1af593b825febe1c48c8bb9094774ec08c6b756  win-arm64/node.exe
c01ce0d5e4e956f0e5e73cdba925d15a6d6f86883aa49f8f0b0de87aa93508ce  win-arm64/node.lib
aff0c388aef3b1adc91a2ab4e93cecc537a6c756451e58007ca0678a1f1f08b0  win-arm64/node_pdb.7z
cf0f078df9e9d7634b6c218e440dfff2335dfafd75a28f0d9c7f9fba6a5b7256  win-arm64/node_pdb.zip
ad6a9ece5267535bc97bde5ee2d244ea69a2900e8405053f9782d382ce7b127b  win-x64/node.exe
56f06350037085fce04930befd98327afc86ee46f52af6f6f8a68a03630e8380  win-x64/node.lib
0db79d739ba96c6beddb2c0fbf80eef425d7208e5ee03e606648624dd977998c  win-x64/node_pdb.7z
622ed77695ad085cd150a9345a1f3d5f1e41625bbcec171daf93f7aad841e0a9  win-x64/node_pdb.zip

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCanCcBAAKCRAgsaOQsWjT
VlOLAQCB1NOtB7Oab/1gdoDJebhERgK+q8WKzpX9RjfIkZZCewEA/iTZzvMKGuh3
LsEdKjoBPK8gK5gl1IfyA/fcGo2K8QY=
=20Z5
-----END PGP SIGNATURE-----