tech_surveillance5315 wordsRead on Arc Codex

Node.js 26.8.0 (Current)

Node.js 26.8.0 (Current) Antoine du Hamel 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: applyhighWaterMark in 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.1 to fix linter (Antoine du Hamel) #65053 - [ 9a256b0693 ] - doc: clarify OpenSSL FIPS configuration (Filip Skokan) #64982 - [ c321752dcb ] - doc: remove--expose-gc flag 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_denied asEPERM error (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) perf_hooks: add statistical hypothesis testing to histogram (James M Snell) #65416 - [ 01a8ae0ce6 ] - permission: guard UDP handle adoption (Rafael Gonzaga) #65358 - [ ac3c412aaf ] - permission: enforce addon permission in GetLinkedBinding (Rafael Gonzaga) #65432 - [ 8765afd4c2 ] - process: validate resource stats array offsets (Archkon) #65098 - [ d0447c93f6 ] - quic: changes for nghttp3_conn_close_stream2 (Marten Richter) #64574 - [ 91393898b5 ] - quic: mark drain promise handled (James M Snell) #65319 - [ 5c9576bf50 ] - quic: reset rejected HTTP/3 request streams with H3_REQUEST_REJECTED (trivenay) #65442 - [ ec956f2abc ] - quic: write desired size needs update on maxstream (Marten Richter) #64768 - [ 41c510803d ] - quic: do not destroy incoming streams that have a consumer (trivenay) #65335 - [ 009e376581 ] - quic: fix wake up blob (Marten Richter) #64044 - [ 4674a10368 ] - quic: convert incoming :status header to number (Hallison Pereira Melo) #63589 - [ 5953165f53 ] - quic: fix infinite loop if STOP_SENDING received on a buffering stream (Tim Perry) #64715 - [ bb499c312e ] - repl: keep entries added while history file is loading (Mhayk Whandson) #64513 - [ 825fcfe4d5 ] - repl: add benchmarks (Aviv Keller) #64590 - [ c18b0aa54e ] - repl: add basic syntax highlighting (Aviv Keller) #64591 - [ f32a8631ad ] - sea: avoid dangling CLI option pointers (Archkon) #64755 - [ 3126ce5779 ] - sea: handle NUL bytes in asset keys (Archkon) #64773 - [ 64a8843ff2 ] - sea: reject trailing content in config JSON (Archkon) #64774 - [ 1d9dd252f1 ] - sea: reject malformed --node-options values (Archkon) #64803 - [ 6ec735c910 ] - sqlite: reject reentry while binding parameters (Trevor Burnham) #65294 - [ 60cb384c15 ] - sqlite: remove unused column name helper (Trivikram Kamat) #65401 - [ fce6754a83 ] - sqlite: reject busy statement finalization in authorizer (Trivikram Kamat) #65369 - [ e2f952f2ff ] - sqlite: prevent reentrant session.close() (Trivikram Kamat) #65349 - [ 0e8af3378a ] - sqlite: reuse cached column names in statement all() and get() (Edy Silva) #65276 - [ e6bfec91be ] - sqlite: validate StatementSync.run() integers (Trivikram Kamat) #65178 - [ bbb1226dbe ] - sqlite: add diagnostic channel (Guilherme Araújo) #62241 - [ 6302168de8 ] - sqlite: add stmt persistent flag (Guilherme Araújo) #62757 - [ 2989311d81 ] - sqlite: reject connection access from authorizer callbacks (Trevor Burnham) #65156 - [ 72c37b133e ] - sqlite: expose prepared statement statistics (Edy Silva) #64541 - [ 3e50a2f1e9 ] - sqlite: manage sqlite3_stmt lifetime with RAII (Guilherme Araújo) #62419 - [ 3ab7e72555 ] - sqlite: check sqlite3_step() and sqlite3_reset() results (semimikoh) #63319 - [ 5e387ce979 ] - sqlite: reject statement-less SQL in prepare() (Trevor Burnham) #65157 - [ 83169e58f3 ] - sqlite: reject statement-less SQL in SQLTagStore (Trevor Burnham) #65157 - [ 7f31f6226e ] - sqlite: isolate applyChangeset filter errors (Trivikram Kamat) #64823 - [ c89878c3c8 ] - sqlite: reject deserialize() while in a callback (Trivikram Kamat) #64796 - [ 5a852b22d4 ] - sqlite: check null returns from sqlite value functions (Nora Dossche) #63288 - [ 5cb78ed300 ] - sqlite: validate maxSize argument in createTagStore() (Anshika Jain) #63792 - [ ca885876f6 ] - sqlite: refactor error helpers and user function pointers (Ali Hassan) #62794 - [ 06b1758dcd ] - sqlite: reject non-positive backup rates (Trivikram Kamat) #64893 - [ ce0ca47023 ] - sqlite: clear SQLTagStore bindings (Matteo Collina) #65041 - [ 49fb028714 ] - sqlite: bind Boolean (mike-git374) #62001 - [ 09d0da99e9 ] - sqlite: fix undefined behaviour inSession::Changeset() (Nora Dossche) #63637 - [ 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 - [ 9167ebd32b ] - sqlite: bind ArrayBuffer (mike-git374) #62061 - [ 5da6eaa8af ] - sqlite: prevent database close during callbacks (Matteo Collina) #64743 - [ 29d794bc84 ] - src: fix heap value deduplication in embedder graph (Ilyas Shabi) #64801 - [ b405e9b039 ] - src: fix out-of-bounds write when transcoding odd-length ucs2 (nashit hayat) #64512 - [ 101a215472 ] - src: use simdutf for two-byte utf8 conversion (Mert Can Altin) #62248 - [ 340b98346f ] - src: run same-priority platform tasks in posting order (Shelley Vohr) #65353 - [ 83a7949c18 ] - src: define O_SYNC, O_DSYNC and O_DIRECT on Windows (Kirill Saied) #64707 - [ 32bb197f2a ] - src: use simdutf for two-byte strings in UTF-8 writes (Shelley Vohr) #65324 - [ 613be79cf4 ] - src: add v8::Local specialization for MaybeStackBuffer (James M Snell) #65159 - [ 922d47cbd7 ] - src: escape Windows environment variables in task runner (Antoine du Hamel) #65217 - [ 3a47f1f282 ] - src: apply minor namespace format tweak in permissions (James M Snell) #65158 - [ 981cfa537d ] - src: simplify permissions with BooleanPermissions (James M Snell) #65158 - [ 5954b13f88 ] - src: simplify includes in permissions (James M Snell) #65158 - [ d4ced88c09 ] - src: apply a modest performance perf to permissions (James M Snell) #65158 - [ efb649ec26 ] - src: make permission storage a bit more efficient (James M Snell) #65158 - [ 521aaf10fc ] - src: apply multiple general cleanups to permissions (James M Snell) #65158 - [ ac920e0d2b ] - src: simplify c++ diagnostics channel API (James M Snell) #65158 - [ ec8fe275a1 ] - src: make minor cleanup to permission checks (James M Snell) #65158 - [ 968bdd0135 ] - src: use DictionaryTemplate for permission diag channel message (James M Snell) #65158 - [ f77aa2f703 ] - src: cache permission strings (James M Snell) #65158 - [ 4018f3a776 ] - src: shave about 20 bytes off each TLSWrap instance (James M Snell) #65144 - [ b7a23426d9 ] - src: add SetAbortHandler (Max H Fisher) #64684 - [ 3cfe19489c ] - src: use concepts where appropriate (James M Snell) #65148 - [ d8a0f288ab ] - src: match cmd.exe case-insensitively in task runner (Archkon) #64907 - [ 262d88e6c2 ] - src: reuse cached env strings in remaining files (Seongeun Lee) #65039 - [ ad35fe97f0 ] - src: expose Windows-only fs open flags (Kirill Saied) #64775 - [ 8c4531bbc9 ] - src: report why --enable-fips failed (Filip Skokan) #64979 - [ a293dbf0e1 ] - src: update repeated use strings to env (James M Snell) #64760 - [ 044402cf0e ] - src: use UTF-8 for task runner filesystem paths (Archkon) #64868 - [ 5b7d02e401 ] - stream: normalize fused stateless transform results (Trivikram Kamat) #65367 - [ 1d6ec2ddc5 ] - stream: encode whole chunks in TextEncoderStream (Matteo Collina) #65414 - [ 0afda47ca4 ] - stream: prevent share from eagerly draining source (Trivikram Kamat) #65338 - [ dc51c7926e ] - stream: drain pending writes before broadcast end (Trivikram Kamat) #65334 - [ a77f9f7a32 ] - stream: reuse unexposed managed read buffers (GetThatCookie) #64990 - [ c42fbcc0d1 ] - stream: avoid duplicated endReadableNT scheduling (Matteo Collina) #65310 - [ 9ec9383d1d ] - stream: decouple transform backpressure changes (Matteo Collina) #65143 - [ a9dc50d275 ] - stream: reject pull on signal abort during flush (Trivikram Kamat) #65346 - [ 815424db74 ] - stream: avoid leaking consumers on signal failure (Trivikram Kamat) #65299 - [ 6a2e0561e8 ] - stream: use validateObject for zlib/iter params (greenhead) #65015 - [ 4f6f2cfffa ] - stream: use validateNumber for BYOB reader options.min (greenhead) #65014 - [ 4d297428e6 ] - stream: consolidate non-op algorithm callbacks (Matteo Collina) #65138 - [ f7e0c81be4 ] - stream: cut promise churn in webstreams hot paths (Matteo Collina) #65138 - [ 5edffb544f ] - stream: speed up async iteration of Readable (Matteo Collina) #64447 - [ 0876a29bb6 ] - stream: preserve falsy cancellation reasons (Trivikram Kamat) #64705 - [ 374f7e214d ] - stream: use validateBuffer for BYOB reader view (greenhead) #65046 - [ 6bd15b2ac9 ] - stream: fix recursive WritableStream abort (Jeong SeokChan) #64825 - [ f33dba704d ] - string_decoder: decode UTF-8 via StringBytes::Encode (Shelley Vohr) #65324 - [ 6409983a6c ] - test: update WPT for WebCryptoAPI to e235e089b4 (Node.js GitHub Bot) #65478 - [ 01cb4f99a0 ] - test: convert forEach to for of test-messageevent-brandcheck file (Nachiketa Pathak) #65279 - [ 359369e24e ] - test: use spawnSyncAndAssert in windowsHide test (Junsoo Ha) #65351 - [ 9304dee833 ] - test: remove test-debugger-run-after-quit-restart as flaky on macOS (Yuya Inoue) #65424 - [ 30f1a19eec ] - test: simplify test-timers-interval-promisified.js (Donghoon Kang) #65322 - [ acaf986ad5 ] - test: add Headers coverage and benchmark (Yagiz Nizipli) #65365 - [ b6852e2b96 ] - test: deflake test-net-listen-ipv6only (sangwook) #64173 - [ 235a0baf8b ] - test: use common/child_process spawnSync helpers (Junsoo Ha) #65377 - [ 29f010fbb0 ] - test: fix Linux debug skip in SEA test guard (구현우) #63751 - [ 33d7b4c6b3 ] - test: add closed-library assertions for getFunctions and getSymbols (Anshika Jain) #63769 - [ 24a76e18ec ] - test: avoid timer race in event loop delay test (Trivikram Kamat) #64728 - [ fdc1e78595 ] - test: enforce exit code intest-http-server-stale-close (Antoine du Hamel) #65198 - [ c644f2e07c ] - test: convert test-async-local-storage-bind to async loop (freida-code) #65270 - [ 1d5e5e8f43 ] - test: replaceforEach() withfor...of in parallel tests (Phillip Markert) #65272 - [ 9346570fed ] - test: convert forEach to for in test-constant.js file (NIxxy25) #65271 - [ 7af0a96090 ] - test: use for-of instead of forEach (Felix P.) #65268 - [ 63e6f2edc3 ] - test: wait for FFI background optimization (Trivikram Kamat) #65300 - [ bca3367583 ] - test: add a simple test forimport defer of a CJS module (Maya Lekova) #64694 - [ 00b687bc4a ] - test: cover ZIP fd lifecycle and add rollback (Philipp Dunkel) #65016 - [ 31742f2f42 ] - test: cover ZIP header-confusion and DoS guards (Philipp Dunkel) #65016 - [ 87ee7bff38 ] - test: coverrealpathSync resolving symlinks after a FIFO stat (Hendrik Liebau) #65113 - [ fd7e904433 ] - test: update tests to run with OpenSSL >= 3.0 FIPS mode (Filip Skokan) #64960 - [ 219495fe2c ] - test: account for [EnforceRange] in test-webcrypto-prototype-pollution (Filip Skokan) #65173 - [ bf86fab458 ] - test: add permission fast api test (James M Snell) #65158 - [ cc19107e5d ] - test: update WPT for WebCryptoAPI to 4c2fd05ed5 (Node.js GitHub Bot) #65150 - [ 69e4fabb29 ] - test: update WPT for urlpattern to 4832db4761 (Node.js GitHub Bot) #65151 - [ b1aa78a57e ] - test: fix hidden error in test-http-server-stale-close.js (Meghan Denny) #59357 - [ 59d7e22a12 ] - test: avoid deadlock issue in pipeline http2 tests to fix flakiness (Tim Perry) #65079 - [ 7074ae30fa ] - test: allow half-open CONNECT tunnel sockets (Trivikram Kamat) #64973 - [ 82b2d9c08d ] - test: update passphrases to comply with the next OpenSSL FIPS mode (Filip Skokan) #65077 - [ 7f3a42035c ] - test: use libuv clock for immediate queue test (Trivikram Kamat) #64889 - [ 7ddd853d8c ] - test: increase timeout in probe-failure-hang-during-evaluate (Joyee Cheung) #64719 - [ 28cad47cef ] - test: update WPT for WebCryptoAPI to 82c3d9069c (Node.js GitHub Bot) #64977 - [ 74a3e91bb7 ] - test: prefer in-memory databases in sqlite tests (Paul Bouchon) #64701 - [ 7fc8a3ad8c ] - test,doc: cover and document multi-byte offset/size in randomFill (kyungrae2002) #64834 - [ 4de7e63883 ] - test_runner: match dotfiles in default coverage exclude (semimikoh) #63401 - [ 79c39c217d ] - test_runner: print coverage and diagnostic info with dot reporter (mag123c) #61423 - [ cce803b174 ] - test_runner: use run options with isolation="none" (Sylvester Keil) #62269 - [ 797ef40d23 ] - test_runner: mock dual-package with conditional exports (Maruthan G) #62943 - [ 1ad7ca310a ] - test_runner: restore directory search for --test (Paul Bouchon) #64637 - [ 400d598b3c ] - test_runner: add classname hierarchy for JUnit reporter (mag123c) #60220 - [ 9572a0b15f ] - test_runner: fix junit report on empty diagnostic (Lazizbek Ergashev) #65357 - [ e3fda695fe ] - test_runner: extend tag filter with boolean expression DSL (Chemi Atlow) #63054 - [ 4e06739c7b ] - test_runner: do not tag-filter test file wrappers (Chemi Atlow) #65170 - [ e73f74738d ] - test_runner: fix env option validation (Jihwan) #64865 - [ 2a0b1ec4cc ] - tls: throw on invalid ALPNProtocols instead of aborting (Sankalp Thakur) #65076 - [ 15da4a190b ] - tls: fix authorized state on no-cert TLS1.3 client cert resumption (Tim Perry) #64677 - [ 1864175435 ] - tls: don't trigger SNICallback or OCSPRequest from the TLS lib stack (Tim Perry) #64827 - [ 8f4ee7eda5 ] - tls: drop hand-rolled TLS client hello parser (Tim Perry) #64827 - [ a457631496 ] - tools: improve commit queue failure comment (Filip Skokan) #65433 - [ 78175c68f8 ] - tools: improve nix-changes coverage (Antoine du Hamel) #65403 - [ 6f0c08bf80 ] - tools: refactorshell.nix pkcs11 integration to its own section (Antoine du Hamel) #65404 - [ 35b18b4455 ] - tools: fix max body length handler increate-release-proposal.sh (Antoine du Hamel) #65455 - [ 88d5f644a2 ] - tools: bump brace-expansion in/tools/clang-format (dependabot[bot]) #64984 - [ 41edd2f214 ] - tools: make env variables consistent in cron jobs (Antoine du Hamel) #65168 - [ 7c09bd5ece ] - tools: fix man-page generation on Windows (James Ross) #64886 - [ 1a20d27118 ] - tools: bump undici from 6.27.0 to 6.28.0 in /tools/doc (dependabot[bot]) #65011 - [ ebbe4af869 ] - tools: fix linter whenpermittedInsecurePackages is empty (Antoine du Hamel) #65226 - [ 17d2b067bf ] - tools: update BoringSSL pin on v26.x (Filip Skokan) #65483 - [ be4e7de04c ] - tools: only include fast-tracked and old enough PRs in CQ (Antoine du Hamel) #65197 - [ 53d52731c9 ] - tools: fix quote escaping inupdate-nixpkgs-pin.sh (Antoine du Hamel) #65166 - [ 40b1b18839 ] - tools: remove skip logic incommit-queue.sh (Antoine du Hamel) #65162 - [ 5506f77924 ] - tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/lint-md (dependabot[bot]) #65129 - [ fc038a0ef5 ] - tools: bump js-yaml from 4.2.0 to 4.3.1 in /tools/eslint (dependabot[bot]) #65130 - [ 10b2c8a873 ] - tools: fix GITHUB_TOKEN permissions for CQ workflow (Antoine du Hamel) #65192 - [ 73de450845 ] - tools: use the read-only token when filtering PRs in CQ (Antoine du Hamel) #65169 - [ 31c1bcb627 ] - tools: delay removal ofcommit-queue label (Antoine du Hamel) #65101 - [ 89d3905595 ] - tools: move ncu config to global for commit queue (Filip Skokan) #65132 - [ aa3b598e2e ] - tools: prefilter commit queue metadata (Filip Skokan) #64343 - [ 4f2c634258 ] - tools: lazy-abort failed PR merges in CQ (Antoine du Hamel) #65004 - [ 8657497521 ] - tools: fixpkcs11-store-test check (Antoine du Hamel) #65023 - [ 0e1a99ac24 ] - tools: add an OpenSSL FIPS build to test-shared.yml (Filip Skokan) #64960 - [ b6fa9c1819 ] - tools: sync mk-ca-bundle.pl with curl (Archkon) #64753 - [ f0140d7ebd ] - tools: store "default" OpenSSL version inopenssl-matrix.nix (Antoine du Hamel) #64962 - [ 4c8d8afa99 ] - tools: removetrue from branch name for auto-update automation (Antoine du Hamel) #64961 - [ 2dd7d4c56f ] - tools: add ./tools/nix/pkcs11.nix to nix-changes.yml (Filip Skokan) #64967 - [ cf395004ed ] - tty: add raw-vt and io raw modes (Samuel Williams) #64140 - [ a5e5c7f756 ] - typings: add signal_wrap internal binding types (Seongeun Lee) #65229 - [ 5219e53dd6 ] - typings: add diagnostics_channel typings (Seongeun Lee) #65227 - [ 215223dff1 ] - typings: add watchdog internal binding types (Seongeun Lee) #65228 - [ eb095a94bd ] - typings: add internal_only_v8 binding typeis (Donghoon Kang) #65071 - [ 9fc811a0f2 ] - typings: add credentials internal binding types (Donghoon Kang) #65036 - [ f032c22430 ] - url: skip unused href reuse comparison (Yagiz Nizipli) #65361 - [ 2a64032141 ] - url: speed up WHATWG URL parsing (Yagiz Nizipli) #65361 - [ c4dbe14ec6 ] - url: speed up URLSearchParams (Yagiz Nizipli) #65363 - [ 001c37c0a2 ] - url: bounds-check short Windows file URL paths (Archkon) #64788 - [ 1a63416b1a ] - url: handle unparsable serialized URLs in setters (Matteo Collina) #64651 - [ cb4b89c018 ] - util: allow single-line format when break length is infinite (Hamid Reza Ghavami) #64238 - [ f644853680 ] - util: fix OSC 8 hyperlink stripping in stripVTControlCharacters (Dushyant Singh Hada) #64319 - [ eb1ebbb39d ] - util: fix formatting of functions returned from getters (Richard Gibson) #64839 - [ f373dab724 ] - util: use more primordials incomparisons.js (Ayoub Mabrouk) #61198 - [ 6ca9c1e078 ] - util: preserve function names without source map names (Hiroki Osame) #65108 - [ 4299cd5897 ] - (SEMVER-MINOR) util: add non-throwing MIMEType.parse (James M Snell) #64965 - [ 1aafd19813 ] - zlib: roll back a failed add() directory rewrite (Philipp Dunkel) #65016 - [ d29cc0926a ] - zlib: let a ZipFile read finish before close() (Philipp Dunkel) #65016 - [ 2bda6db916 ] - zlib: do not hang archiving a FIFO or device (Philipp Dunkel) #65016 - [ 55b04957c9 ] - zlib: reject local/central ZIP header mismatch (Philipp Dunkel) #65016 - [ 575260d3b4 ] - zlib: validate central directory record count (Matteo Collina) #65002 - [ 8e848d9be3 ] - zlib: reject ambiguous ZIP archive ends (Matteo Collina) #65007 - [ df48191061 ] - (SEMVER-MINOR) zlib: add ZipEntry, ZipFile, and ZipBuffer (Philipp Dunkel) #64339 - [ ee7bf09090 ] - zlib: validate pledgedSrcSize for sync zstd (Archkon) #64601 Windows 64-bit Installer: https://nodejs.org/dist/v26.8.0/node-v26.8.0-x64.msi Windows ARM 64-bit Installer: https://nodejs.org/dist/v26.8.0/node-v26.8.0-arm64.msi Windows 64-bit Binary: https://nodejs.org/dist/v26.8.0/win-x64/node.exe Windows ARM 64-bit Binary: https://nodejs.org/dist/v26.8.0/win-arm64/node.exe macOS 64-bit Installer: https://nodejs.org/dist/v26.8.0/node-v26.8.0.pkg macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-darwin-arm64.tar.gz macOS Intel 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-darwin-x64.tar.gz Linux 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-x64.tar.xz Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-ppc64le.tar.xz Linux s390x 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-s390x.tar.xz AIX 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-aix-ppc64.tar.gz ARMv8 64-bit Binary: https://nodejs.org/dist/v26.8.0/node-v26.8.0-linux-arm64.tar.xz Source Code: https://nodejs.org/dist/v26.8.0/node-v26.8.0.tar.gz Other release files: https://nodejs.org/dist/v26.8.0/ Documentation: https://nodejs.org/docs/v26.8.0/api/ SHASUMS -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 37703c35d7acbe0a9a15e99fbc2beed2f46b7bb9bcaa3521ba9965abd5027055 node-v26.8.0-aix-ppc64.tar.gz ddede7d279871c9ce0fb787c665ee80ddddd57c35e22849a4b19c2003df07529 node-v26.8.0-arm64.msi d6516f067a433cd979b27dfdb0bad88ce97f47be33b713d04c8361b1502f19c6 node-v26.8.0-darwin-arm64.tar.gz be8d1c71b3d42ce8e976b2f0165c099f638351024be2da0ed7f816439c8326e9 node-v26.8.0-darwin-arm64.tar.xz 58e0866e3b4355c1e3140fdc0c1b1b2a55616f4e5a37fda12123e98114a05138 node-v26.8.0-darwin-x64.tar.gz 0737d450ea5a150e8a73c385a76aa0590ce38bca6b494b82e3077e0b402de6a8 node-v26.8.0-darwin-x64.tar.xz 1e59dbae77777821009407c1220a3f301110e80141ef18f0ddea22eff2c5c62b node-v26.8.0-headers.tar.gz 921bff506d5bd4624efe57348c49fa6684c79eb3732c5114640ddac002b27eab node-v26.8.0-headers.tar.xz c358e4c9bd4cd1a4521fa2ae140c88637a3679fc3e99cd1aa6bca1ec5131f13f node-v26.8.0-linux-arm64.tar.gz 7810e03acad8a592bb565e7875ccdb8b426d159888d462666a3130df64bde3e8 node-v26.8.0-linux-arm64.tar.xz e010d9f62562c43029fc799411a3a21e49c88cb2c54f4fd356c94b2f94163a91 node-v26.8.0-linux-ppc64le.tar.gz 02f7ea289ae8a4dfa9175617daca3cc73fa0150ec67d6f8b0805d800cff81503 node-v26.8.0-linux-ppc64le.tar.xz 007ef06058ad602417aa6882fcbd30d3eace0f6ffabba3d8f8d7e08b9b6dc74b node-v26.8.0-linux-s390x.tar.gz d9c267885210657e01f4a820998e18647c262f24156fe30c86819e6cb8376b06 node-v26.8.0-linux-s390x.tar.xz 10ed0603552383320e19de301c8dec54742e2c84f5ba798b524a40d494850b9b node-v26.8.0-linux-x64-musl.tar.gz 8f0e3873f3e3ccbac9acf3e6a18fc24d85310ec858d56a8b7d4b911ce86c3aa6 node-v26.8.0-linux-x64-musl.tar.xz 32fcdc8e2e2cc54fbcd6c8cc96ca5bd2e70019ac23000cbd6ccc5663de111b33 node-v26.8.0-linux-x64.tar.gz 47864ed43f4cf938cbd41cf88a49587484888295689a4b75977a0a2717702ed9 node-v26.8.0-linux-x64.tar.xz 1820b90d2709397d970a61a2ae87b59c6ce25097f78bb72eec11be2b10af62b8 node-v26.8.0-win-arm64.7z 3102215be975826e3a6095e955f077650b186162455b4f59ede1cf8a351c2bf2 node-v26.8.0-win-arm64.zip 78a337cdba4273925d70b1025827800f4dd997fff3f84d434d839f73b270f476 node-v26.8.0-win-x64.7z a27c620080cd4da2bd0458fd7dbe1c40baef67cc28c0f0bf21a229d867af7c00 node-v26.8.0-win-x64.zip da4a5d38b488b60743cb1abbf72a5fe4d9726af4e73b6cba27299084ce5515cf node-v26.8.0-x64.msi 55533648961f422be861f656e091b08c1ff41f58c972da445221cebf2fb737a9 node-v26.8.0.pkg eee6bf1301f4e779998987a2ef4727d7043ec20e14594d0f495bd1caa41816b7 node-v26.8.0.tar.gz 2287613caa71f9ab8dff4cbec7da32f0fae3e8807a6876a77764acc16d4cca4c node-v26.8.0.tar.xz 72182492e063347b527b515e9d2abe33b4dec63e61c15a6347ed629ec47c5a12 win-arm64/node.exe f8ff31e0a817991e31c7fcc1cc6123a28eca06e3dbf0a47afe633dfef056a39d win-arm64/node.lib a541cb41e42cb9b7555125e705eded2750b078bc5fef4bc1d690bf0e624cc021 win-arm64/node_pdb.7z 08e8969224c65b701dd8dfbc55309202ea00ebe474fe28781988aa977c19cb21 win-arm64/node_pdb.zip f75c008f6231c8d77c0bc5277e495e88447b65015fdb63ac966f11cf0e1106e5 win-x64/node.exe 5432dceeac196ef89ec001939cc3801cfa131036a05f5fabf5e07b6c5a0895a4 win-x64/node.lib c20361ac528d8f5199a7de9048c5285a6aa8e4529d4a1a8dd58aaecc5ec2f3aa win-x64/node_pdb.7z 41310e0aacec64c73a68de2075f60389192f719fa73cdb964c9ace58f9283277 win-x64/node_pdb.zip -----BEGIN PGP SIGNATURE----- iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCao738gAKCRAgsaOQsWjT VmczAQD8GE84hP6s9dMIBvOVUFprgf5nLwi2dvk7b00OwSbZ2QEAx2myTLtGnrCF ck8GKPUTpWWQ2FkUX8id6KaJE4T0SAM= =C8Dy -----END PGP SIGNATURE-----

How it works

Once you click Generate, Ollama reads this article and crafts 5 comprehension questions. Your answers are graded against the article content — general knowledge won't be enough. Score 70+ to count toward your certificate.

Questions are cached — you'll always get the same 5 for this article.