Antoine du Hamel
2026-05-07, Version 26.1.0 (Current), @aduh95 Notable Changes Experimentalnode:ffi module
Node.js now includes an experimental node:ffi module for loading dynamic
libraries and calling native symbols from JavaScript.
The API is gated behind the --experimental-ffi flag and, when the Permission
Model is enabled, requires --allow-ffi.
This API is inherently unsafe. Invalid pointers, incorrect signatures, or accessing memory after it has been freed can crash the process or corrupt memory.
Contributed by Paolo Insogna in #62072.
Other Notable Changes34a6454fe3] - (SEMVER-MINOR) buffer: add end parameter (Robert Nagy) #62390073e84d7fe] - (SEMVER-MINOR) crypto: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) #625275b9cb10a5f] - (SEMVER-MINOR) crypto: implement randomUUIDv7() (nabeel378) #6255398f9becd16] - (SEMVER-MINOR) debugger: add edit-free runtime expression probes to node inspect (Joyee Cheung) #6271306defaa2ea] - (SEMVER-MINOR) fs: add signal option to fs.stat() (Mert Can Altin) #57775db66a963bf] - (SEMVER-MINOR) fs: expose frsize field in statfs (Jinho Jang) #6227787adb3472b] - (SEMVER-MINOR) http: harden ClientRequest options merge (Matteo Collina) #630829047ec12ce] - (SEMVER-MINOR) http: add req.signal to IncomingMessage (Akshat) #62541ab66de8eaa] - (SEMVER-MINOR) process: throw on execve(2) failure instead of aborting (Bryan English) #628788273682c87] - (SEMVER-MINOR) src: allow empty --experimental-config-file (Marco Ippolito) #61610fbff28f7e6] - (SEMVER-MINOR) stream: propagate destruction in duplexPair (Ahmed Elhor) #61098a8c773a0c7] - (SEMVER-MINOR) test_runner: align mock timeout api (sangwook) #62820b883a5eaea] - (SEMVER-MINOR) test_runner: add mock-timers support for AbortSignal.timeout (DeveloperViraj) #60751a21ae1771e] - (SEMVER-MINOR) test_runner: support test order randomization (Pietro Marchini) #61747b85c73ff10] - (SEMVER-MINOR) util: colorize text with hex colors (Guilherme Araújo) #615561b959d02c2] - assert,util: fix stale nested cycle memo entries (Ruben Bridgewater) #62509bbeb38d210] - buffer: fix end parameter bugs in indexOf/lastIndexOf (Robert Nagy) #6271134a6454fe3] - (SEMVER-MINOR) buffer: add end parameter (Robert Nagy) #623908b91526cd5] - build: track PDL files as inputs in inspector GN build (Robo) #62888da40ed7842] - build: remove armv6 from experimental platforms (René) #63063b36e55a23e] - build: make test-addons dependency-free (Joyee Cheung) #62388c27f3cf8f2] - build: add --enable-all-experimentals build flag (Paolo Insogna) #627550d73b63a76] - build: fix cargo check when Temporal is disabled (Antoine du Hamel) #62730d8f97e6f7b] - build: fix ffi dependency compilation (Paolo Insogna) #62731d1eb7b340f] - build: fix stray debug string in LIEF defines (Om Ghante) #62683845283009d] - build: remove redundant -fuse-linker-plugin from GCC LTO flags (Daniel Lando) #62667a6e99879f4] - build,win: enable x64 PGO (Stefan Stojanovic) #6276138befee0fb] - crypto: add JWK support for ML-KEM and SLH-DSA key types (Filip Skokan) #62706b10653ad87] - crypto: add guards and adjust tests for BoringSSL (Filip Skokan) #628832a7a69c6b0] - crypto: reject unintended raw key format string input (Filip Skokan) #62974bad1e2fe6a] - crypto: fix unsigned conversion of 4-byte RSA publicExponent (DeepView Autofix) #62839c9d5bae598] - crypto: remove Argon2 KDF derivation from its job setup (Filip Skokan) #628636eea52426f] - crypto: reject duplicate ML-KEM JWK key_ops (Filip Skokan) #6290580d4836616] - crypto: deduplicate and canonicalize CryptoKey usages (Filip Skokan) #629028950247027] - crypto: reject inherited key type names (Jonathan Lopes) #628753f42f9615a] - crypto: strengthen argument CHECKs in TurboSHAKE (Tobias Nießen) #6276328346d999b] - crypto: guard against size_t overflow on experimental 32-bit arch (Filip Skokan) #62626d4cec263c4] - (SEMVER-MINOR) crypto: align key argument names in docs and error messages (Filip Skokan) #62527073e84d7fe] - (SEMVER-MINOR) crypto: accept key data in crypto.diffieHellman() and cleanup DH jobs (Filip Skokan) #62527518b578fe7] - crypto: add memory tracking for secureContext openssl objects (Mert Can Altin) #590515b9cb10a5f] - (SEMVER-MINOR) crypto: implement randomUUIDv7() (nabeel378) #625537133826053] - debugger: move ProbeInspectorSession and helpers to separate files (Joyee Cheung) #6301398f9becd16] - (SEMVER-MINOR) debugger: add edit-free runtime expression probes to node inspect (Joyee Cheung) #6271394ac62a2d1] - deps: update undici to 8.2.0 (Node.js GitHub Bot) #63092ef71de87e6] - deps: update amaro to 1.1.9 (Node.js GitHub Bot) #63090c4f0ef881a] - deps: update llhttp to 9.4.1 (Node.js GitHub Bot) #63045d29fbc0029] - deps: fix integration issues with the latest nghttp2 (Tim Perry) #62891537825acee] - deps: update nghttp2 to 1.69.0 (Node.js GitHub Bot) #628914446bf694d] - deps: update corepack to 0.34.7 (Node.js GitHub Bot) #628108f55327f1c] - deps: fix libffi macos build (Paolo Insogna) #630063dee18f72f] - deps: patch V8 to 14.6.202.34 (Node.js GitHub Bot) #62964e281b247e6] - deps: update timezone to 2026b (Node.js GitHub Bot) #629624dd982df13] - deps: upgrade npm to 11.13.0 (npm team) #6289861c0ff4a13] - deps: cherry-pick libuv/libuv@439a54b (skooch) #62881d26ca462ae] - deps: update undici to 8.1.0 (Node.js GitHub Bot) #627286f08489ac9] - deps: update sqlite to 3.53.0 (Node.js GitHub Bot) #62699713601e8bd] - deps: update nbytes to 0.1.4 (Node.js GitHub Bot) #62698578cf1c0c1] - deps: update archs files for openssl-3.5.6 (Node.js GitHub Bot) #626294a4ef13c67] - deps: upgrade openssl sources to openssl-3.5.6 (Node.js GitHub Bot) #626292f3eca8c1e] - deps: update perfetto to 54.0 (Chengzhong Wu) #62397944ed9b739] - deps: add perfetto build files (Chengzhong Wu) #6239715530a7484] - deps: update ngtcp2 to 1.22.0 (Node.js GitHub Bot) #62595b813b4c4b5] - deps: update minimatch to 10.2.5 (Node.js GitHub Bot) #6259438e7ce58c5] - deps: update googletest to d72f9c8aea6817cdf1ca0ac10887f328de7f3da2 (Node.js GitHub Bot) #62593b5c573ed14] - deps: update simdjson to 4.6.1 (Node.js GitHub Bot) #62592318e2c7cd3] - deps: libuv: cherry-pick aabb7651de (Santiago Gimeno) #62561c6ccbd742a] - deps: libuv: reapply 3a9a6e3e6b (Andy Pan) #625614ad07de7ae] - diagnostics_channel: add BoundedChannel and scopes (Stephen Belanger) #6168044416ea3fd] - doc: fix documentation history missing 25.9.0 (Antoine du Hamel) #631515f6dfbf68e] - doc: fix changelog for chromium numbering (Rafael Gonzaga) #6313330c4b3658c] - doc: fix the TypeScript Execute (tsx) project link (David Thornton) #63093ca3c3097f1] - doc: minor structural stream/iter edits (René) #6308992324aab6f] - doc: remove typo comma from man page (Vas Sudanagunta) #63080712a15da73] - doc: correct diagnostics_channel built-in channel names (Bryan English) #62995c92cb6fe0d] - doc: use mjs/cjs blocks for callbackify null reason example (Daijiro Wachi) #62884020776d4d6] - doc: fix typo in test.md (Rich Trott) #629607d52f2061e] - doc: correct typo in PR contribution instructions (Mike McCready) #6273870e8944676] - doc: fix duplicate word "of of" in postMessageToThread (Daijiro Wachi) #6291711c6c29284] - doc: fix duplicate word "to to" in util.styleText (Daijiro Wachi) #62917242adab671] - doc: fix duplicate word "for for" in compile cache (Daijiro Wachi) #62917b9f3abd63e] - doc: fix doubled word typo in stream_iter.md (Daijiro Wachi) #629167a52fd0448] - doc: fix typo in dns.lookup options description (Daijiro Wachi) #62882acd7e18a8c] - doc: fix Argon2 parameter bounds (Tobias Nießen) #62868b43ecf40bb] - doc: trust FFI in the threat model (Paolo Insogna) #62852981ce96b03] - doc: fix typos and inconsistencies in crypto.md and webcrypto.md (Filip Skokan) #62828acc52ef257] - doc: clarify diffieHellman.generateKeys recomputes same key (Kit Dallege) #62205ae87597c07] - doc: remove Ayase-252 and meixg from triagger team (Antoine du Hamel) #628411cd3694a5f] - doc: clarify dns.lookup() callback signature when all is true (eungi) #6280040a4337d65] - doc: add experimental modules lifetime policy (Paolo Insogna) #6275346f48222f8] - doc: clarify process._debugProcess() in Permission Model (Fahad Khan) #625376eb9917497] - doc: fix typo in devcontainer guide (Rohan Santhosh Kumar) #626873826c5ed7e] - doc: clarify Backport-PR-URL metadata added automatically (Mike McCready) #626685d7e0dbbd8] - doc: update WPT test runner README.md (Filip Skokan) #62680e9d76b2a75] - doc: fix spelling in release announcement guidance (Rohan Santhosh Kumar) #626631ae41cebb0] - doc: note GCC >= 14 requirement for native riscv64 builds (Jamie Magee) #626079b29be6a28] - doc: note non-monotonic clock in crypto.randomUUIDv7 (nabeel378) #626005ae59553f6] - doc: update bug bounty program (Rafael Gonzaga) #62590ce3f4c85dd] - doc: document TransformStream transformer.cancel option (Tom Pereira) #6256608a9ba73e4] - doc: mention test runner retry attemp is zero based (Moshe Atlow) #6250432f2169ede] - doc,src,test: fix dead inspector help URL (semimikoh) #62745870c1cd3f4] - doc,test: mem protection must be observed in ffi (Bryan English) #628183d5cf171dc] - esm: add ERR_REQUIRE_ESM_RACE_CONDITION (Antoine du Hamel) #624622004d8d6db] - ffi: make FFIFunctionInfo a BaseObject subclass (Anna Henningsen) #6307153eb7abeba] - ffi: prevent premature GC of DynamicLibrary (semimikoh) #6302458dc92f502] - ffi: support Symbol.dispose on DynamicLibrary (Matteo Collina) #62925528f8b2bae] - ffi: add shared-buffer fast path for numeric and pointer signatures (Bryan English) #6291842ac8b9ae7] - fs: add followSymlinks option to glob (Matteo Collina) #62695873c2bca70] - fs: restore fs patchability in ESM loader (Joyee Cheung) #62835349c7502c3] - fs: validate position argument before length === 0 early return (Edy Silva) #6267406defaa2ea] - (SEMVER-MINOR) fs: add signal option to fs.stat() (Mert Can Altin) #57775db66a963bf] - (SEMVER-MINOR) fs: expose frsize field in statfs (Jinho Jang) #622773191d2936a] - http: emit 'drain' on OutgoingMessage only after buffers drain (Robert Nagy) #6293687adb3472b] - (SEMVER-MINOR) http: harden ClientRequest options merge (Matteo Collina) #63082e0b79633f6] - http: fix leaked error listener on sync HTTP req create + destroy (Tim Perry) #6287270c5491f53] - http: fix no_proxy leading-dot suffix matching (Daijiro Wachi) #6233360a585e68a] - http: cleanup pipeline queue (Robert Nagy) #625349047ec12ce] - (SEMVER-MINOR) http: add req.signal to IncomingMessage (Akshat) #6254101eed5901b] - http2: expose writable stream state on compat response (T) #6300319b7adf3ba] - inspector: fix absolute URLs in network http (bugyaluwang) #629554d10823fbb] - inspector: coerce key and value to string in webstorage events (Ali Hassan) #626169a3ac66cc5] - inspector: return errors when CDP protocol event emission fails (Ryuhei Shima) #62162c89501c6e5] - inspector: auto collect webstorage data (Ryuhei Shima) #62145ef08c5016a] - lib: refactor internal webidl converters (Filip Skokan) #62979d0744c6a99] - lib: add Temporal to frozen intrinsics (René) #630296d81cb17b3] - lib: avoid quadratic shift() in startup snapshot callback (Daijiro Wachi) #629143491f73051] - lib: fix FLOAT_32 and FLOAT_64 type constants in ffi (Daijiro Wachi) #62892c4ca303b36] - lib: harden kKeyOps lookup with null prototype (Filip Skokan) #628772e612fe070] - lib: short-circuit WebIDL BufferSource SAB check (Filip Skokan) #62833e850ee9c69] - lib: add new methods and error codes (Paolo Insogna) #62762e21b873589] - lib: use js-only implementation of isDataView() (René) #62780f454d1719d] - lib: fix lint in internal/webstreams/util.js (Filip Skokan) #62806fbd8ededba] - lib: fix sequence argument handling in Blob constructor (Ms2ger) #6217916860e6abd] - lib: improve Web Cryptography key validation ordering (Filip Skokan) #62749ba3f3e1753] - lib: reject SharedArrayBuffer in web APIs per spec (Ali Hassan) #62632d065e996bb] - lib: defer AbortSignal.any() following (sangwook) #623672a711f4b0c] - (SEMVER-MINOR) lib,src,test,doc: add node:ffi module (Colin Ihrig) #62072d578343582] - meta: bump github/codeql-action from 4.35.1 to 4.35.3 (dependabot[bot]) #630741b4b90d544] - meta: bump Mozilla-Actions/sccache-action from 0.0.9 to 0.0.10 (dependabot[bot]) #630731477349e47] - meta: bump actions/upload-artifact from 7.0.0 to 7.0.1 (dependabot[bot]) #63072ecb7de271a] - meta: bump cachix/install-nix-action from 31.10.3 to 31.10.5 (dependabot[bot]) #62846fb91408312] - meta: bump actions/upload-artifact from 7.0.0 to 7.0.1 (dependabot[bot]) #628507eb9a6be68] - meta: add automation policy (Chengzhong Wu) #628716f053a4cb8] - meta: update CODEOWNERS for FFI (Paolo Insogna) #6285388fe50a725] - meta: move VoltrexKeyva to emeritus (Matteo Collina) #6289542e770bdd0] - meta: bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (dependabot[bot]) #62845952d005233] - meta: bump step-security/harden-runner from 2.16.1 to 2.19.0 (dependabot[bot]) #628441bd19d9768] - meta: bump actions/github-script from 8.0.0 to 9.0.0 (dependabot[bot]) #62843386244a7dd] - meta: bump actions/setup-node from 6.3.0 to 6.4.0 (dependabot[bot]) #6284216b2c41f70] - meta: broaden stale bot (Aviv Keller) #6265841e7a4ba82] - meta: pass release version to release worker (flakey5) #62777632821db85] - meta: add QUIC to CODEOWNERS (Tim Perry) #626524a7ad93ed8] - meta: move Michael to emeritus (Michael Dawson) #6253644d5a33efb] - meta: populate apt list for slim runner in update-openssl workflow (René) #62628d874596aa3] - meta: bump cachix/install-nix-action from 31.9.1 to 31.10.3 (dependabot[bot]) #625511631b27e2b] - meta: bump step-security/harden-runner from 2.15.0 to 2.16.1 (dependabot[bot]) #625504de376894d] - meta: bump actions/download-artifact from 8.0.0 to 8.0.1 (dependabot[bot]) #6254939da4d7bd6] - meta: bump actions/setup-node from 6.2.0 to 6.3.0 (dependabot[bot]) #6254862e3aa55ad] - meta: bump github/codeql-action from 4.32.4 to 4.35.1 (dependabot[bot]) #6254783986de8a2] - meta: bump codecov/codecov-action from 5.5.2 to 6.0.0 (dependabot[bot]) #6254518e56861dc] - meta: bump cachix/cachix-action from 16 to 17 (dependabot[bot]) #62544d4e49d567a] - meta: bump actions/cache from 5.0.3 to 5.0.4 (dependabot[bot]) #625432c5a914af4] - meta: require DCO signoff in commit message guidelines (James M Snell) #62510f21039ce59] - meta: expand memory leak DoS criteria to all DoS (Joyee Cheung) #62505824ac6b5bf] - module: exclude node:ffi from builtinModules when not enabled (Jordan Harband) #63158bb6293ab7c] - module: remove duplicated checks from _resolveFilename (Antoine du Hamel) #6272934ec8c9f5c] - module,win: fix long subpath import (Stefan Stojanovic) #62101de46e68918] - node-api: update libuv ABI stability note (Chengzhong Wu) #6278978c7d77bbf] - node-api: add napi_create_external_sharedarraybuffer (Ben Noordhuis) #62623a0ccf94f61] - node-api: execute tsfn finalizer after queue drains when aborted (Kevin Eady) #61956ab66de8eaa] - (SEMVER-MINOR) process: throw on execve(2) failure instead of aborting (Bryan English) #6287820151be8cb] - process: handle rejections only when needed (Gürgün Dayıoğlu) #629199b24a815a2] - quic: add QuicEndpoint.listening & QuicStream.destroy() and tests (Tim Perry) #62648761a96740c] - quic: fixup token verification to handle zero expiration (James M Snell) #626204ade02ac85] - quic: support multiple ALPN negotiation (James M Snell) #62620b2e2e648e4] - quic: apply multiple TLS context improvements and SNI support (James M Snell) #6262056b941af4a] - quic: implement rapidhash for hashing improvements (James M Snell) #626207cda4300b8] - quic: use arena allocation for packets (James M Snell) #625891e8fa2f1bd] - sqlite: use OneByte for ASCII text and internalize col names (Ali Hassan) #619543af44ee508] - sqlite: add serialize() and deserialize() (Ali Hassan) #625796386914b4b] - src: decouple KeyObject and CryptoKey and move CryptoKey to src (Filip Skokan) #629242dc1d205ee] - src: replace uses of deprecated v8::External APIs (gahaas) #61898cb33a794a5] - src: remove license headers for new node_profiling files (Chengzhong Wu) #6306659860eb798] - src: swap dotenv and config file parsing order (Marco Ippolito) #63035fda439cb58] - src: use unique_ptr for ffi memory management (Anna Henningsen) #6307156917afc57] - src: split profiling helpers from util (Ilyas Shabi) #63008fca56a409d] - src: add missing <cstdlib> for abort() declaration (Charles Kerr) #63001d49c89e915] - src: make node.config.json throw at unknown fields (Marco Ippolito) #62992e89c8e9b68] - src: fix crash in GetErrorSource() for invalid using syntax (semimikoh) #62770d89f719ce0] - src: remove outdated comments in contextify (Chengzhong Wu) #629325117a3e52b] - src: simplify TCPWrap::Connect signature (Anna Henningsen) #6292941bd288ec7] - src: align FFI error handling with Node.js source (Anna Henningsen) #62858faaccfb9df] - src: simplify and fix FFI ArrayBuffer accesses (Anna Henningsen) #6285743bf39c350] - src: use DCHECK in AsyncWrap::MakeCallback instead emiting a warning (Gerhard Stöbich) #62795da52b09859] - src: fix MaybeStackBuffer char_traits deprecation warning (om-ghante) #625072b12bca317] - src: use context-free V8 message column getters (René) #627787efc2ce7b3] - src: clean up experimental flag variables (Antoine du Hamel) #627598273682c87] - (SEMVER-MINOR) src: allow empty --experimental-config-file (Marco Ippolito) #61610b844c24395] - src: coerce spawnSync args to string once (Antoine du Hamel) #6263328679d76c4] - src: use stack allocation for small string encoding (Ali Hassan) #62431144ef93735] - src: add contextify interceptor debug logs (Chengzhong Wu) #62460d34cfb512e] - stream: remove redundant method check from iter.pipeToSync (René) #63099a95830b72a] - stream: copyedit webstreams/adapter.js (Antoine du Hamel) #630344bf3e1e084] - stream: remove duplicated utility (Antoine du Hamel) #63031214a8c197b] - stream: simplify setPromiseHandled utility (Antoine du Hamel) #63032c12a767ff2] - stream: validate ReadableStream.from iterator objects (Daeyeon Jeong) #62911b09953d2d4] - stream: reject duplicate nested transferables (Daeyeon Jeong) #62831b9929622f3] - stream: ensuring cross-destruction in _duplexify to prevent leaks (Daijiro Wachi) #62824c51a39b3ec] - stream: simplify readableStreamFromIterable (Antoine du Hamel) #6265136078574b9] - stream: fix nested compose error propagation (Matteo Collina) #62556e1928cd481] - stream: allow shared array buffer sources in writable webstream adapter (René) #62163450e0519d9] - stream: simplify createPromiseCallback (Antoine du Hamel) #6265057e59ea070] - stream: fix writev unhandled rejection in fromWeb (sangwook) #62297958373413c] - stream: noop pause/resume on destroyed streams (Robert Nagy) #62557ee38d2c43d] - stream: refactor duplexify to be less suceptible to prototype pollution (Antoine du Hamel) #62559fbff28f7e6] - (SEMVER-MINOR) stream: propagate destruction in duplexPair (Ahmed Elhor) #61098d7317f4f90] - stream: add stream/iter to classic stream adapters (James M Snell) #6246955298c443f] - test: accept OpenSSL 4 generic internal error for DH key-type mismatches (Filip Skokan) #6280596581bccc7] - test: update WPT for url to 258f285de0 (Node.js GitHub Bot) #63087c73aba07fb] - test: run Temporal presence checks without V8 flag (René) #630289c94dce55b] - test: export isRiscv64 from common module (Jamie Magee) #6260933c5f7fdbf] - test: normalize known inspector crash as completion (Joyee Cheung) #628518146a97bc3] - test: update WPT for streams to f8f26a372f (Node.js GitHub Bot) #628647c77c301c9] - test: account for RFC 7919 FFDHE negotiation in OpenSSL 4.0 (Filip Skokan) #628059bf7604eb6] - test: skip tls-deprecated secp256k1 on OpenSSL 4.0 (Filip Skokan) #62805d173604b53] - test: use an always invalid cipher and cover OpenSSL 4.0 behaviours (Filip Skokan) #6280572f52163b4] - test: use valid DER OCSP responses (Filip Skokan) #62805e242394ad9] - test: skip test-tls-error-stack when engines are unsupported (Filip Skokan) #628059bff52ebf8] - test: accept renamed OpenSSL 4.0 error code and reason (Filip Skokan) #62805d9b8cc1b68] - test: update test/addons/openssl-binding for OpenSSL 4.0 (Filip Skokan) #62805960fb16287] - test: mark test-snapshot-reproducible flaky (Filip Skokan) #628087a12dd58cf] - test: check contextify contextual store behavior in strict mode (René) #62571c73c8e603f] - test: skip test-temporal-with-zoneinfo on system-icu builds (Antoine du Hamel) #6275448a3ca303e] - test: generate localstorage.db in a temp dir (Chengzhong Wu) #626601a41c2c5db] - test: update tls junk data error expectations (Filip Skokan) #62629115e8c2052] - test: ensure WPT report is in out/wpt (Filip Skokan) #62637cb07b918bd] - test: improve WPT runner summary (Filip Skokan) #626367f48438380] - test: skip url WPT subtests instead of modifying test script (Filip Skokan) #626354097fb95d7] - test: capture negative utimes mtime at call time (Yuya Inoue) #62490e29f46df81] - test: allow skipping individual WPT subtests (Filip Skokan) #625174d546886c3] - test: use on-disk fixture for test-npm-install (Joyee Cheung) #625845b35eb02ec] - test: update WPT for url to 7a3645b79a (Node.js GitHub Bot) #625917a8610835d] - test_runner: fix failing suite hooks when marked with todo (Moshe Atlow) #63097a8c773a0c7] - (SEMVER-MINOR) test_runner: align mock timeout api (sangwook) #62820dc0d757c8a] - test_runner: fix suite rerun edge case (Moshe Atlow) #62860b883a5eaea] - (SEMVER-MINOR) test_runner: add mock-timers support for AbortSignal.timeout (DeveloperViraj) #607516fa62b7d58] - test_runner: add testId to test events (Moshe Atlow) #6277239e08340ff] - test_runner: publish to TracingChannel for OTel instrumentation (Moshe Atlow) #62502a21ae1771e] - (SEMVER-MINOR) test_runner: support test order randomization (Pietro Marchini) #61747cf0edeb65d] - test_runner: add passed, attempt, and diagnostic to SuiteContext (Moshe Atlow) #62504644e2399d6] - test_runner: add getTestContext() (Moshe Atlow) #62501480d538830] - tools: use npm ci in Undici update script (Antoine du Hamel) #630989afb013edd] - tools: update nixpkgs-unstable to c6d65881c5624c9cae5ea6cedef24699b0c (Node.js GitHub Bot) #63091b9f2f5a90a] - tools: bump postcss from 8.5.8 to 8.5.10 in /tools/doc (dependabot[bot]) #6296609e4f4caca] - tools: use LTS Node.js in notify-on-push workflow (Nenad Spasenic) #630842af4c89774] - tools: implements a few nits on build-aarch64-linux-v8 (Antoine du Hamel) #63048cf9c1849ca] - tools: update gr2m/create-or-update-pull-request-action to v1.10.1 (Mike McCready) #6306596370a57ed] - tools: simplify update-undici.sh (Antoine du Hamel) #63044b90486edd8] - tools: do not run test-linux on unrelated tools changes (Antoine du Hamel) #63037ac49e7c9fc] - tools: migrate from openssl-matrix.json to openssl-matrix.nix (Antoine du Hamel) #63036a9df3e37fd] - tools: update labels for nixpkgs pin bumps (Antoine du Hamel) #62994cee0154af8] - tools: reuse V8 builds even without Cachix on test-shared (Antoine du Hamel) #6298078c183da6b] - tools: do not include HTML docs in slim tarball (Antoine du Hamel) #6298904ce9df084] - tools: bump the eslint group in /tools/eslint with 4 updates (dependabot[bot]) #628484d2952c00a] - tools: update nixpkgs-unstable to 01fbdeef22b76df85ea168fbfe1bfd9e636 (Node.js GitHub Bot) #62963555ad12f27] - tools: update gyp-next to 0.22.1 (Node.js GitHub Bot) #62961f92cbc2c81] - tools: fix commit linter for semver-major release proposals (Antoine du Hamel) #629933b5bb4d758] - tools: consolidate and simplify .editorconfig deps section (Daijiro Wachi) #62887027bef4f3e] - tools: add non-default OpenSSL versions to the test-shared workflow (Filip Skokan) #62862fdcd7752de] - tools: set bot as author of tools-deps-update PRs (Antoine du Hamel) #62856ab7be6d987] - tools: bump brace-expansion from 5.0.4 to 5.0.5 in /tools/eslint (dependabot[bot]) #6245882281ffd59] - tools: bump brace-expansion in /tools/clang-format (dependabot[bot]) #6246748bb51b3d7] - tools: update nixpkgs-unstable to ab72be9733b41190ea34f1422a3e4e243ed (Node.js GitHub Bot) #6282167baa3254b] - tools: bump @node-core/doc-kit in /tools/doc in the doc group (dependabot[bot]) #62512bdee0a859d] - tools: exclude @node-core/doc-kit from dependabot cooldown (Levi Zim) #627759e19f55214] - tools: re-enable undici WPTs in daily wpt.fyi job (Filip Skokan) #626771eedbdded9] - tools: use upstream version of OpenSSL in test-shared (Antoine du Hamel) #626793490c1fba1] - tools: pass the Temporal disable flag when disabled in shell.nix (Antoine du Hamel) #627333a29dafd2d] - tools: fix --shared-ffi compilation on macOS (Antoine du Hamel) #627375cb9108b9c] - tools: update nixpkgs-unstable to 13043924aaa7375ce482ebe2494338e0582 (Node.js GitHub Bot) #62700757cd21ea0] - tools: update gyp-next to 0.22.0 (Node.js GitHub Bot) #62697fad51c2f03] - tools: add a check for clean git tree after tests (Antoine du Hamel) #62661d1c517fd61] - tools: improve backport review script (Antoine du Hamel) #625736d169c75f7] - tools: make v8.nix more stable (Antoine du Hamel) #625081587a60bf8] - tools: add perfetto updater (Chengzhong Wu) #62397f54d74a5e7] - tools: improve output for unexpected passes in WTP tests (Antoine du Hamel) #62587a86c96333c] - tools: revert OpenSSL update workflow to ubuntu-latest (Richard Lau) #62627c9860f5800] - tools: update nixpkgs-unstable to a6522db5b947cd7026a40d02acc3ca26136 (Node.js GitHub Bot) #62596ae41e2a141] - tools: bump the eslint group in /tools/eslint with 2 updates (dependabot[bot]) #62552e2ba824407] - tools: allow triagers to queue a PR for CI until it's reviewed (Antoine du Hamel) #62524899d780f15] - tools: do not run commit-lint on release proposals (Antoine du Hamel) #62523102da27b4e] - url: process crash via malformed UNC hostname in pathToFileURL() (Nicola Del Gobbo) #625743abd78c3e5] - url: optimize URLSearchParams set/delete duplicate handling (Gürgün Dayıoğlu) #62266fd3bf3830b] - url: align default argument handling for URLPattern with webidl (Filip Skokan) #62719b85c73ff10] - (SEMVER-MINOR) util: colorize text with hex colors (Guilherme Araújo) #61556c1d6b3db73] - v8: add cpu profile options (Ilyas Shabi) #62684717d9a7fda] - v8: add heap profile API (Ilyas Shabi) #622732b885667a9] - watch: track worker entry files in watch mode (SudhansuBandha) #62368457fb55193] - watch: fix --env-file-if-exists crashing on linux if the file is missing (Efe) #61870Windows 64-bit Installer: https://nodejs.org/dist/v26.1.0/node-v26.1.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v26.1.0/node-v26.1.0-arm64.msi
Windows 64-bit Binary: https://nodejs.org/dist/v26.1.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v26.1.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v26.1.0/node-v26.1.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-aix-ppc64.tar.gz
ARMv8 64-bit Binary: https://nodejs.org/dist/v26.1.0/node-v26.1.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v26.1.0/node-v26.1.0.tar.gz
Other release files: https://nodejs.org/dist/v26.1.0/
Documentation: https://nodejs.org/docs/v26.1.0/api/
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
67808a758620e6c9cc075b5c9c77600a3793c7be6d4610c7066ae6794e91db0b node-v26.1.0-aix-ppc64.tar.gz
1b16ac3cc9ba73efdb65f1b2b39ddb746e55c3affc9684c1b6f10ecefb25639c node-v26.1.0-arm64.msi
91063f665c2f5d6e69e4f8fcb66d3d476bc2785ace82267274bf4da789985ceb node-v26.1.0-darwin-arm64.tar.gz
c4b028b1ab7c01e4a526524d732522f71b0ea08e8859e29514d535ce2e17d443 node-v26.1.0-darwin-arm64.tar.xz
33519b28a352de668ab0a2a64366db032a45cb629d5353f86e4576e2780f4fcf node-v26.1.0-darwin-x64.tar.gz
6cbc3e8f528abaceca02d65e9f7df787ee7a49c245708d5bca6bc9c7c3cbf71f node-v26.1.0-darwin-x64.tar.xz
ffae4d3d81ba3a5e88579fa36aecb3ba9b4d5ed59dbe35233df7dce035402bb0 node-v26.1.0-headers.tar.gz
3147480b0957fcd4a515078c1b16948512a273264b018b159e1896e075852a1d node-v26.1.0-headers.tar.xz
fcb4c339eef70c909cae72091008a6497278e2d0fcd221c0653068cf4ea4f0c7 node-v26.1.0-linux-arm64.tar.gz
058f00fe6c84f804b4b96aab377f76ed57dd0be5f10af4dcc0fded172746f366 node-v26.1.0-linux-arm64.tar.xz
f3ee72a29d3d25a626bae1672667a500b12c284fcfc00f5d6162e3762ebf173f node-v26.1.0-linux-ppc64le.tar.gz
dbe65c537c7ce339a6e193c0aa9ac5b092b92589e1c1f12c3ac8eef4f18742ff node-v26.1.0-linux-ppc64le.tar.xz
6e381e4a3b353f335d297abfe4c7d9485459247519df10445b17cc89d8c7f7a5 node-v26.1.0-linux-s390x.tar.gz
d484cea6da8b734986786b8711652da927ba7508c044930401c66206d55577a3 node-v26.1.0-linux-s390x.tar.xz
62d555c329e05e3625109f2e3a8b5195b368d5ef38266292469d32f63cd98ffd node-v26.1.0-linux-x64.tar.gz
9fc6f21b6c4a62439727123e510e9c39febb2f563738f4927cd3e0b288c9b3c9 node-v26.1.0-linux-x64.tar.xz
c48f0cd097575dd3fcac777421fb427cc2076895990163cb4fc0de0b9eefddaf node-v26.1.0-win-arm64.7z
0b913d67ccef3e7e62edcecd2daf31de5fd9551936501ccd3cd5c027ada089ee node-v26.1.0-win-arm64.zip
645eb4944098148c58fb1864e9084610ede8e630eaa36d203f0883489ca56a93 node-v26.1.0-win-x64.7z
089a02c4c687451c9f0b7f1bfd252dae85a7ba27df0295a14096bdcc956fdc92 node-v26.1.0-win-x64.zip
64a9313ae5334a3ce3e482b92d79ae4f9d62764c69d90849ec83c22854f7b0da node-v26.1.0-x64.msi
1cf43d1e8cba1f407ddb6a683e79ccb648d2465c1c0486943b00b3dabdaa021a node-v26.1.0.pkg
ccaf9bfea12ec3d2beb36f5a1d54483f2620ad9de007e551fb8640ed82d29989 node-v26.1.0.tar.gz
779a1364889575d44e0215adc381806bbd0d9437557b59893e172f5b9d35a990 node-v26.1.0.tar.xz
d2da4369f98ca3333f3374128237916e91bd4c9a42cfa952e085a6b42e94f41a win-arm64/node.exe
376eb35054756d8493adc1f26495fba0b7bda7365cdb7c132130044a622d6c31 win-arm64/node.lib
703253747a04e5660756d42a4c49760a67e029cc433bf47ff5363a2291d1e3af win-arm64/node_pdb.7z
80ef6b8b87a28f041fec9ff0bb1a4f8eaa3af457ff550361c4360c7acfb894aa win-arm64/node_pdb.zip
35ebb74da6acb56fdf570de64f1ae510d6d18ca09da494a3e1ac87edd32d263b win-x64/node.exe
9c236a87f9c50a26099d74f35883c28c6b279585ccc5849aa640ff23de7be9b8 win-x64/node.lib
154c4f86083a255aabe3a95dea05b2557a04674505a9c00542ecf239539c5d6d win-x64/node_pdb.7z
28d09820ad0228f3b7e1085ade8ae38895b76ea96baee12e020c2fd88c4d1c50 win-x64/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCafxkYgAKCRAgsaOQsWjT
VqUsAQDS9Mx+1Igqr9+8eUuVZoEqwb/Ps9JetNgrC2xonjB4JQD/Xi9Snnbu+88Z
mkEFu14+D5hcDCmaGgkUjoYU7bsPGQg=
=Be6F
-----END PGP SIGNATURE-----
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | Node.js 26.10.0 (Current) | 0 | 43.33 | 22-09-2026 |
| 2 | Node.js 26.0.0 (Current) | 0 | 43.33 | 05-05-2026 |
| 3 | Node.js 26.3.1 (Current) | 0 | 43.33 | 18-06-2026 |
| 4 | Node.js 26.11.0 (Current) | 0 | 43.33 | 07-10-2026 |
| 5 | Node.js 26.2.0 (Current) | 0 | 43.33 | 20-05-2026 |
| 6 | Node.js 26.12.1 (Current) | 0 | 43.33 | 21-10-2026 |
| 7 | Node.js 26.12.0 (Current) | 0 | 43.33 | 14-10-2026 |
| 8 | Node.js 26.6.0 (Current) | 0 | 43.33 | 03-08-2026 |
| 9 | Node.js 26.8.1 (Current) | 0 | 43.33 | 26-08-2026 |
| 10 | Node.js 26.5.1 (Current) | 0 | 43.33 | 29-07-2026 |