Gitpedia
Home/nodejs/node/Changelog
nodejs

nodejs/node

Node.js JavaScript runtime ✨🐢🚀✨

30 Releases
Latest: 1w ago
2026-05-21, Version 24.16.0 'Krypton' (LTS), @aduh95v24.16.0Latest
aduh95aduh95·1w ago·May 21, 2026
GitHub

📋 Notable Changes

  • \[[`b267f6bca3`](https://github.com/nodejs/node/commit/b267f6bca3)] - (SEMVER-MINOR) crypto: implement `randomUUIDv7()` (nabeel378) [#62553](https://github.com/nodejs/node/pull/62553)
  • \[[`ec2451b9cd`](https://github.com/nodejs/node/commit/ec2451b9cd)] - (SEMVER-MINOR) debugger: add edit-free runtime expression probes to `node inspect` (Joyee Cheung) [#62713](https://github.com/nodejs/node/pull/62713)
  • \[[`9705f628d9`](https://github.com/nodejs/node/commit/9705f628d9)] - (SEMVER-MINOR) fs: add signal option to `fs.stat()` (Mert Can Altin) [#57775](https://github.com/nodejs/node/pull/57775)
  • \[[`40ccfdecf9`](https://github.com/nodejs/node/commit/40ccfdecf9)] - (SEMVER-MINOR) fs: expose `frsize` field in `statfs` (Jinho Jang) [#62277](https://github.com/nodejs/node/pull/62277)
  • \[[`d7188af5c9`](https://github.com/nodejs/node/commit/d7188af5c9)] - (SEMVER-MINOR) http: harden `ClientRequest` options merge (Matteo Collina) [#63082](https://github.com/nodejs/node/pull/63082)
  • \[[`aa1d8a9afc`](https://github.com/nodejs/node/commit/aa1d8a9afc)] - (SEMVER-MINOR) http: add `req.signal` to `IncomingMessage` (Akshat) [#62541](https://github.com/nodejs/node/pull/62541)
  • \[[`6f37f7e240`](https://github.com/nodejs/node/commit/6f37f7e240)] - (SEMVER-MINOR) stream: propagate destruction in `duplexPair` (Ahmed Elhor) [#61098](https://github.com/nodejs/node/pull/61098)
  • \[[`d14029be7f`](https://github.com/nodejs/node/commit/d14029be7f)] - (SEMVER-MINOR) test\_runner: support test order randomization (Pietro Marchini) [#61747](https://github.com/nodejs/node/pull/61747)
  • + 3 more

📦 Commits

  • \[[`dd72df060d`](https://github.com/nodejs/node/commit/dd72df060d)] - assert,util: fix stale nested cycle memo entries (Ruben Bridgewater) [#62509](https://github.com/nodejs/node/pull/62509)
  • \[[`add94f4bc3`](https://github.com/nodejs/node/commit/add94f4bc3)] - build: track PDL files as inputs in inspector GN build (Robo) [#62888](https://github.com/nodejs/node/pull/62888)
  • \[[`1b1eb9e334`](https://github.com/nodejs/node/commit/1b1eb9e334)] - build: remove redundant -fuse-linker-plugin from GCC LTO flags (Daniel Lando) [#62667](https://github.com/nodejs/node/pull/62667)
  • \[[`8752b604ec`](https://github.com/nodejs/node/commit/8752b604ec)] - crypto: deduplicate and canonicalize CryptoKey usages (Filip Skokan) [#62902](https://github.com/nodejs/node/pull/62902)
  • \[[`341947e7fd`](https://github.com/nodejs/node/commit/341947e7fd)] - crypto: reject unintended raw key format string input (Filip Skokan) [#62974](https://github.com/nodejs/node/pull/62974)
  • \[[`28a78747fc`](https://github.com/nodejs/node/commit/28a78747fc)] - crypto: remove Argon2 KDF derivation from its job setup (Filip Skokan) [#62863](https://github.com/nodejs/node/pull/62863)
  • \[[`16e8c2b54d`](https://github.com/nodejs/node/commit/16e8c2b54d)] - crypto: fix unsigned conversion of 4-byte RSA publicExponent (DeepView Autofix) [#62839](https://github.com/nodejs/node/pull/62839)
  • \[[`eeae754a87`](https://github.com/nodejs/node/commit/eeae754a87)] - crypto: reject inherited key type names (Jonathan Lopes) [#62875](https://github.com/nodejs/node/pull/62875)
  • + 221 more
2026-05-20, Version 26.2.0 (Current), @aduh95v26.2.0
aduh95aduh95·1w ago·May 20, 2026
GitHub

📋 Notable Changes

  • \[[`189d43a193`](https://github.com/nodejs/node/commit/189d43a193)] - doc: mark `stream.compose` stable (Matteo Collina) [#62562](https://github.com/nodejs/node/pull/62562)
  • \[[`f858c6140e`](https://github.com/nodejs/node/commit/f858c6140e)] - (SEMVER-MINOR) fs: add `Temporal.Instant` support to `Stats` and `BigIntStats` (Livia Medeiros) [#60789](https://github.com/nodejs/node/pull/60789)
  • \[[`0cbb3895df`](https://github.com/nodejs/node/commit/0cbb3895df)] - (SEMVER-MINOR) http: add `writeInformation` to send arbitrary 1xx status codes (Tim Perry) [#63155](https://github.com/nodejs/node/pull/63155)

📦 Commits

  • \[[`9a394bab84`](https://github.com/nodejs/node/commit/9a394bab84)] - benchmark: respect stream/iter broadcast backpressure (Trivikram Kamat) [#63314](https://github.com/nodejs/node/pull/63314)
  • \[[`ad98b4620b`](https://github.com/nodejs/node/commit/ad98b4620b)] - crypto: align verifyOneShot accepted types (Anshika Jain) [#63280](https://github.com/nodejs/node/pull/63280)
  • \[[`ba0736a847`](https://github.com/nodejs/node/commit/ba0736a847)] - crypto: wire ML-DSA and ML-KEM for use when using BoringSSL (Filip Skokan) [#63255](https://github.com/nodejs/node/pull/63255)
  • \[[`5573a6a4a8`](https://github.com/nodejs/node/commit/5573a6a4a8)] - crypto: wire ChaCha20-Poly1305 in Web Cryptography when using BoringSSL (Filip Skokan) [#63255](https://github.com/nodejs/node/pull/63255)
  • \[[`7dc563b8d6`](https://github.com/nodejs/node/commit/7dc563b8d6)] - crypto: wire AES-KW in Web Cryptography when using BoringSSL (Filip Skokan) [#63255](https://github.com/nodejs/node/pull/63255)
  • \[[`b55e2b1f4d`](https://github.com/nodejs/node/commit/b55e2b1f4d)] - crypto: improve system certificate enumeration logic on macOS (Robo) [#62576](https://github.com/nodejs/node/pull/62576)
  • \[[`fd509a755a`](https://github.com/nodejs/node/commit/fd509a755a)] - crypto: harden CryptoKey algorithm slots (Filip Skokan) [#63111](https://github.com/nodejs/node/pull/63111)
  • \[[`8657df39e7`](https://github.com/nodejs/node/commit/8657df39e7)] - crypto: harden KeyObject internal slots (Filip Skokan) [#63111](https://github.com/nodejs/node/pull/63111)
  • + 106 more
2026-05-13, Version 22.22.3 'Jod' (LTS), @marco-ippolitov22.22.3
marco-ippolitomarco-ippolito·2w ago·May 13, 2026
GitHub

📦 Commits

  • \[[`4f780905c5`](https://github.com/nodejs/node/commit/4f780905c5)] - crypto: fix potential null pointer dereference when BIO\_meth\_new() fails (Nora Dossche) [#61788](https://github.com/nodejs/node/pull/61788)
  • \[[`4a09efb947`](https://github.com/nodejs/node/commit/4a09efb947)] - crypto: update root certificates to NSS 3.121 (Node.js GitHub Bot) [#62485](https://github.com/nodejs/node/pull/62485)
  • \[[`e4c0d99839`](https://github.com/nodejs/node/commit/e4c0d99839)] - deps: update timezone to 2026a (Node.js GitHub Bot) [#62164](https://github.com/nodejs/node/pull/62164)
  • \[[`0226c8dd7a`](https://github.com/nodejs/node/commit/0226c8dd7a)] - deps: update simdjson to 4.5.0 (Node.js GitHub Bot) [#62382](https://github.com/nodejs/node/pull/62382)
  • \[[`e742ab748c`](https://github.com/nodejs/node/commit/e742ab748c)] - deps: update sqlite to 3.51.3 (Node.js GitHub Bot) [#62256](https://github.com/nodejs/node/pull/62256)
  • \[[`73cac0571a`](https://github.com/nodejs/node/commit/73cac0571a)] - deps: update amaro to 1.1.8 (Node.js GitHub Bot) [#62151](https://github.com/nodejs/node/pull/62151)
  • \[[`ae5c162b93`](https://github.com/nodejs/node/commit/ae5c162b93)] - deps: update amaro to 1.1.7 (Node.js GitHub Bot) [#61730](https://github.com/nodejs/node/pull/61730)
  • \[[`b819cb9977`](https://github.com/nodejs/node/commit/b819cb9977)] - deps: update amaro to 1.1.6 (Node.js GitHub Bot) [#61603](https://github.com/nodejs/node/pull/61603)
  • + 75 more
2026-05-07, Version 26.1.0 (Current), @aduh95v26.1.0
aduh95aduh95·3w ago·May 7, 2026
GitHub

📋 Notable Changes

  • 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](https://github.com/nodejs/node/pull/62072).
  • \[[`34a6454fe3`](https://github.com/nodejs/node/commit/34a6454fe3)] - (SEMVER-MINOR) buffer: add `end` parameter (Robert Nagy) [#62390](https://github.com/nodejs/node/pull/62390)
  • + 14 more

📦 Commits

  • \[[`1b959d02c2`](https://github.com/nodejs/node/commit/1b959d02c2)] - assert,util: fix stale nested cycle memo entries (Ruben Bridgewater) [#62509](https://github.com/nodejs/node/pull/62509)
  • \[[`bbeb38d210`](https://github.com/nodejs/node/commit/bbeb38d210)] - buffer: fix end parameter bugs in indexOf/lastIndexOf (Robert Nagy) [#62711](https://github.com/nodejs/node/pull/62711)
  • \[[`34a6454fe3`](https://github.com/nodejs/node/commit/34a6454fe3)] - (SEMVER-MINOR) buffer: add end parameter (Robert Nagy) [#62390](https://github.com/nodejs/node/pull/62390)
  • \[[`8b91526cd5`](https://github.com/nodejs/node/commit/8b91526cd5)] - build: track PDL files as inputs in inspector GN build (Robo) [#62888](https://github.com/nodejs/node/pull/62888)
  • \[[`da40ed7842`](https://github.com/nodejs/node/commit/da40ed7842)] - build: remove armv6 from experimental platforms (René) [#63063](https://github.com/nodejs/node/pull/63063)
  • \[[`b36e55a23e`](https://github.com/nodejs/node/commit/b36e55a23e)] - build: make test-addons dependency-free (Joyee Cheung) [#62388](https://github.com/nodejs/node/pull/62388)
  • \[[`c27f3cf8f2`](https://github.com/nodejs/node/commit/c27f3cf8f2)] - build: add --enable-all-experimentals build flag (Paolo Insogna) [#62755](https://github.com/nodejs/node/pull/62755)
  • \[[`0d73b63a76`](https://github.com/nodejs/node/commit/0d73b63a76)] - build: fix cargo check when Temporal is disabled (Antoine du Hamel) [#62730](https://github.com/nodejs/node/pull/62730)
  • + 275 more
2026-05-05, Version 26.0.0 (Current), @RafaelGSSv26.0.0
RafaelGSSRafaelGSS·3w ago·May 5, 2026
GitHub

📋 Notable Changes

  • The Temporal API is now enabled by default in Node.js 26. Temporal is a modern date/time API for JavaScript
  • that provides a more robust and feature-rich alternative to the legacy `Date` object.
  • Contributed by Richard Lau in [#61806](https://github.com/nodejs/node/pull/61806).
  • The V8 engine is updated to version 14.6.202.33, which is part of Chromium 134.
  • This version also includes:
  • Upsert (<https://github.com/tc39/proposal-upsert>): `[Weak]Map.prototype.getOrInsert()`, `[Weak]Map.prototype.getOrInsertComputed()`
  • Iterator sequencing (<https://github.com/tc39/proposal-iterator-sequencing>): `Iterator.concat()`
  • Contributed by Michaël Zasso in [#61898](https://github.com/nodejs/node/pull/61898).
  • + 10 more

📦 Semver-Major Commits

  • \[[`d3f79aa65d`](https://github.com/nodejs/node/commit/d3f79aa65d)] - (SEMVER-MAJOR) assert: allow printf-style messages as assertion error (Ruben Bridgewater) [#58849](https://github.com/nodejs/node/pull/58849)
  • \[[`f6ce381fec`](https://github.com/nodejs/node/commit/f6ce381fec)] - (SEMVER-MAJOR) build: bump GCC requirement to 13.2 (Michaël Zasso) [#62555](https://github.com/nodejs/node/pull/62555)
  • \[[`bff81fca46`](https://github.com/nodejs/node/commit/bff81fca46)] - (SEMVER-MAJOR) build: enable Temporal by default (Richard Lau) [#61806](https://github.com/nodejs/node/pull/61806)
  • \[[`6ddb1643e1`](https://github.com/nodejs/node/commit/6ddb1643e1)] - (SEMVER-MAJOR) build: enable V8\_VERIFY\_WRITE\_BARRIERS in debug build (Joyee Cheung) [#61898](https://github.com/nodejs/node/pull/61898)
  • \[[`a8ab08b373`](https://github.com/nodejs/node/commit/a8ab08b373)] - (SEMVER-MAJOR) build: reset embedder string to "-node.0" (Michaël Zasso) [#61898](https://github.com/nodejs/node/pull/61898)
  • \[[`0998c37eb6`](https://github.com/nodejs/node/commit/0998c37eb6)] - (SEMVER-MAJOR) build: target Power 9 for AIX/IBM i (Richard Lau) [#62296](https://github.com/nodejs/node/pull/62296)
  • \[[`d73c49e849`](https://github.com/nodejs/node/commit/d73c49e849)] - (SEMVER-MAJOR) build: drop support for Python 3.9 (Mike McCready) [#61177](https://github.com/nodejs/node/pull/61177)
  • \[[`3c92ee1008`](https://github.com/nodejs/node/commit/3c92ee1008)] - (SEMVER-MAJOR) build: enable maglev for Linux on s390x (Richard Lau) [#60863](https://github.com/nodejs/node/pull/60863)
  • + 79 more

📦 Semver-Minor Commits

  • \[[`d4fa60cf9f`](https://github.com/nodejs/node/commit/d4fa60cf9f)] - (SEMVER-MINOR) crypto: add raw key formats support to the KeyObject APIs (Filip Skokan) [#62240](https://github.com/nodejs/node/pull/62240)

📦 Semver-Patch Commits

  • \[[`4d8834fbef`](https://github.com/nodejs/node/commit/4d8834fbef)] - build: add rust target for macOS cross compiles (Richard Lau) [#63015](https://github.com/nodejs/node/pull/63015)
  • \[[`a4edab8dfb`](https://github.com/nodejs/node/commit/a4edab8dfb)] - build: use `CARGO` environment variable if set (Richard Lau) [#62421](https://github.com/nodejs/node/pull/62421)
  • \[[`ecf8721076`](https://github.com/nodejs/node/commit/ecf8721076)] - build: add weak symbol detection to export script (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
  • \[[`5b9f811662`](https://github.com/nodejs/node/commit/5b9f811662)] - build: filter hidden visibility symbols on AIX (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
  • \[[`2e724793e6`](https://github.com/nodejs/node/commit/2e724793e6)] - build: aix add conditonal flags for clang builds (Abdirahim Musse) [#62656](https://github.com/nodejs/node/pull/62656)
  • \[[`f212aee483`](https://github.com/nodejs/node/commit/f212aee483)] - build: enable temporal on GHA macOS build (Chengzhong Wu) [#61691](https://github.com/nodejs/node/pull/61691)
  • \[[`159ae48f8c`](https://github.com/nodejs/node/commit/159ae48f8c)] - build: add `cargo` and `rustc` checks for Temporal (Richard Lau) [#61467](https://github.com/nodejs/node/pull/61467)
  • \[[`a004535617`](https://github.com/nodejs/node/commit/a004535617)] - build: add temporal to linux GHA build (Chengzhong Wu) [#60942](https://github.com/nodejs/node/pull/60942)
  • + 71 more
2026-04-15, Version 24.15.0 'Krypton' (LTS), @aduh95v24.15.0
aduh95aduh95·1mo ago·April 16, 2026
GitHub

📋 Notable Changes

  • \[[`3d87ecacbc`](https://github.com/nodejs/node/commit/3d87ecacbc)] - (SEMVER-MINOR) cli: add --max-heap-size option (tannal) [#58708](https://github.com/nodejs/node/pull/58708)
  • \[[`83c38672f7`](https://github.com/nodejs/node/commit/83c38672f7)] - cli: add --require-module/--no-require-module (Joyee Cheung) [#60959](https://github.com/nodejs/node/pull/60959)
  • \[[`54ef940e01`](https://github.com/nodejs/node/commit/54ef940e01)] - (SEMVER-MINOR) crypto: add raw key formats support to the KeyObject APIs (Filip Skokan) [#62240](https://github.com/nodejs/node/pull/62240)
  • \[[`f4a3edc47a`](https://github.com/nodejs/node/commit/f4a3edc47a)] - (SEMVER-MINOR) fs: add `throwIfNoEntry` option for fs.stat and fs.promises.stat (Juan José) [#61178](https://github.com/nodejs/node/pull/61178)
  • \[[`5cdcba17cc`](https://github.com/nodejs/node/commit/5cdcba17cc)] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) [#61713](https://github.com/nodejs/node/pull/61713)
  • \[[`8b6be3fe14`](https://github.com/nodejs/node/commit/8b6be3fe14)] - module: mark require(esm) as stable (Joyee Cheung) [#60959](https://github.com/nodejs/node/pull/60959)
  • \[[`68fbc0c6cc`](https://github.com/nodejs/node/commit/68fbc0c6cc)] - module: mark module compile cache as stable (Joyee Cheung) [#60971](https://github.com/nodejs/node/pull/60971)
  • \[[`c851e76f8c`](https://github.com/nodejs/node/commit/c851e76f8c)] - (SEMVER-MINOR) net: add `setTOS` and `getTOS` to `Socket` (Amol Yadav) [#61503](https://github.com/nodejs/node/pull/61503)
  • + 7 more

📦 Commits

  • \[[`148373cea1`](https://github.com/nodejs/node/commit/148373cea1)] - assert,util: improve comparison performance (Ruben Bridgewater) [#61176](https://github.com/nodejs/node/pull/61176)
  • \[[`e5558b0859`](https://github.com/nodejs/node/commit/e5558b0859)] - assert,util: fix deep comparing invalid dates skipping properties (Ruben Bridgewater) [#61076](https://github.com/nodejs/node/pull/61076)
  • \[[`83cffd92b5`](https://github.com/nodejs/node/commit/83cffd92b5)] - async\_hooks: enabledHooksExist shall return if hooks are enabled (Gerhard Stöbich) [#61054](https://github.com/nodejs/node/pull/61054)
  • \[[`2c9436b43d`](https://github.com/nodejs/node/commit/2c9436b43d)] - benchmark: fix destructuring in dgram/single-buffer (Ali Hassan) [#62084](https://github.com/nodejs/node/pull/62084)
  • \[[`837acd7382`](https://github.com/nodejs/node/commit/837acd7382)] - benchmark: add startup benchmark for ESM entrypoint (Joyee Cheung) [#61769](https://github.com/nodejs/node/pull/61769)
  • \[[`a6ced7d272`](https://github.com/nodejs/node/commit/a6ced7d272)] - buffer: improve performance of multiple Buffer operations (Ali Hassan) [#61871](https://github.com/nodejs/node/pull/61871)
  • \[[`a82003bf8b`](https://github.com/nodejs/node/commit/a82003bf8b)] - buffer: optimize buffer.concat performance (Mert Can Altin) [#61721](https://github.com/nodejs/node/pull/61721)
  • \[[`83dfd0be1d`](https://github.com/nodejs/node/commit/83dfd0be1d)] - buffer: disallow ArrayBuffer transfer on pooled buffer (Chengzhong Wu) [#61372](https://github.com/nodejs/node/pull/61372)
  • + 258 more
2026-04-01, Version 25.9.0 (Current), @aduh95v25.9.0
aduh95aduh95·1mo ago·April 1, 2026
GitHub

📋 Notable Changes

  • `MockModuleOptions.defaultExport` and `MockModuleOptions.namedExports` have been
  • consolidated into a single option `MockModuleOptions.exports` to align with user
  • expectations and other test runners.
  • A `default` property on `MockModuleOptions.exports` represents the default
  • export, and own enumerable properties are treated as named exports.
  • An automated migration is available to update user code:
  • <https://github.com/nodejs/userland-migrations/tree/main/recipes/mock-module-exports>
  • ```bash
  • + 10 more

📦 Commits

  • \[[`312476cb84`](https://github.com/nodejs/node/commit/312476cb84)] - (SEMVER-MINOR) async\_hooks: add using scopes to AsyncLocalStorage (Stephen Belanger) [#61674](https://github.com/nodejs/node/pull/61674)
  • \[[`bfff8cb2ab`](https://github.com/nodejs/node/commit/bfff8cb2ab)] - (SEMVER-MINOR) benchmark: add benchmarks for experimental stream/iter (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066)
  • \[[`c721d68502`](https://github.com/nodejs/node/commit/c721d68502)] - benchmark: fix destructuring in dgram/single-buffer (Ali Hassan) [#62084](https://github.com/nodejs/node/pull/62084)
  • \[[`e2f03c8e92`](https://github.com/nodejs/node/commit/e2f03c8e92)] - buffer: improve performance of multiple Buffer operations (Ali Hassan) [#61871](https://github.com/nodejs/node/pull/61871)
  • \[[`2fcd07f1ba`](https://github.com/nodejs/node/commit/2fcd07f1ba)] - build: support empty libname flags in `configure.py` (Antoine du Hamel) [#62477](https://github.com/nodejs/node/pull/62477)
  • \[[`b800c57fce`](https://github.com/nodejs/node/commit/b800c57fce)] - build: fix timezone-update path references (Chengzhong Wu) [#62280](https://github.com/nodejs/node/pull/62280)
  • \[[`7dc5a1e9b4`](https://github.com/nodejs/node/commit/7dc5a1e9b4)] - build: skip dockit on IBMi (SRAVANI GUNDEPALLI) [#62189](https://github.com/nodejs/node/pull/62189)
  • \[[`f0eea0f905`](https://github.com/nodejs/node/commit/f0eea0f905)] - build: fix --node-builtin-modules-path (Filip Skokan) [#62115](https://github.com/nodejs/node/pull/62115)
  • + 97 more
2026-03-24, Version 25.8.2 (Current), @RafaelGSSv25.8.2
RafaelGSSRafaelGSS·2mo ago·March 24, 2026
GitHub

📋 Notable Changes

  • (CVE-2026-21637) wrap `SNICallback` invocation in `try`/`catch` (Matteo Collina) - High
  • (CVE-2026-21710) use null prototype for `headersDistinct`/`trailersDistinct` (Matteo Collina) - High
  • (CVE-2026-21711) include permission check to `pipe_wrap.cc` (RafaelGSS) - Medium
  • (CVE-2026-21712) handle url crash on different url formats (RafaelGSS) - Medium
  • (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium
  • (CVE-2026-21714) handle `NGHTTP2_ERR_FLOW_CONTROL` error code (RafaelGSS) - Medium
  • (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium
  • (CVE-2026-21715) add permission check to `realpath.native` (RafaelGSS) - Low
  • + 1 more

📦 Commits

  • \[[`2086b7477b`](https://github.com/nodejs/node/commit/2086b7477b)] - (CVE-2026-21717) build,test: test array index hash collision (Joyee Cheung) [nodejs-private/node-private#834](https://github.com/nodejs-private/node-private/pull/834)
  • \[[`0f9332a40a`](https://github.com/nodejs/node/commit/0f9332a40a)] - (CVE-2026-21713) crypto: use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) [nodejs-private/node-private#822](https://github.com/nodejs-private/node-private/pull/822)
  • \[[`2b6937ddb2`](https://github.com/nodejs/node/commit/2b6937ddb2)] - deps: update undici to 7.24.4 (Node.js GitHub Bot) [#62271](https://github.com/nodejs/node/pull/62271)
  • \[[`bfb8ad5787`](https://github.com/nodejs/node/commit/bfb8ad5787)] - deps: update undici to 7.24.3 (Node.js GitHub Bot) [#62233](https://github.com/nodejs/node/pull/62233)
  • \[[`be6384727f`](https://github.com/nodejs/node/commit/be6384727f)] - deps: upgrade npm to 11.11.1 (npm team) [#62216](https://github.com/nodejs/node/pull/62216)
  • \[[`2feea5bb97`](https://github.com/nodejs/node/commit/2feea5bb97)] - deps: V8: override `depot_tools` version (Richard Lau) [#62344](https://github.com/nodejs/node/pull/62344)
  • \[[`86c04784dd`](https://github.com/nodejs/node/commit/86c04784dd)] - (CVE-2026-21710) http: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) [nodejs-private/node-private#821](https://github.com/nodejs-private/node-private/pull/821)
  • \[[`5197a56a34`](https://github.com/nodejs/node/commit/5197a56a34)] - (CVE-2026-21711) permission: include permission check to pipe\_wrap.cc (RafaelGSS) [nodejs-private/node-private#820](https://github.com/nodejs-private/node-private/pull/820)
  • + 5 more
2026-03-24, Version 24.14.1 'Krypton' (LTS), @RafaelGSS prepared by @juanarbolv24.14.1
RafaelGSSRafaelGSS·2mo ago·March 24, 2026
GitHub

📋 Notable Changes

  • (CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina) - High
  • (CVE-2026-21637) wrap SNICallback invocation in try/catch (Matteo Collina) - High
  • (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium
  • (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium
  • (CVE-2026-21714) handle NGHTTP2\_ERR\_FLOW\_CONTROL error code (RafaelGSS) - Medium
  • (CVE-2026-21712) handle url crash on different url formats (RafaelGSS) - Medium
  • (CVE-2026-21716) include permission check on lib/fs/promises (RafaelGSS) - Low
  • (CVE-2026-21715) add permission check to realpath.native (RafaelGSS) - Low

📦 Commits

  • \[[`6fae244080`](https://github.com/nodejs/node/commit/6fae244080)] - (CVE-2026-21717) build,test: test array index hash collision (Joyee Cheung) [nodejs-private/node-private#828](https://github.com/nodejs-private/node-private/pull/828)
  • \[[`cc0910c62e`](https://github.com/nodejs/node/commit/cc0910c62e)] - (CVE-2026-21713) crypto: use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) [nodejs-private/node-private#822](https://github.com/nodejs-private/node-private/pull/822)
  • \[[`80cb042cf3`](https://github.com/nodejs/node/commit/80cb042cf3)] - deps: update undici to 7.24.4 (Node.js GitHub Bot) [#62271](https://github.com/nodejs/node/pull/62271)
  • \[[`f5b8667dc2`](https://github.com/nodejs/node/commit/f5b8667dc2)] - deps: update undici to 7.24.3 (Node.js GitHub Bot) [#62233](https://github.com/nodejs/node/pull/62233)
  • \[[`08852637d9`](https://github.com/nodejs/node/commit/08852637d9)] - deps: update undici to 7.22.0 (Node.js GitHub Bot) [#62035](https://github.com/nodejs/node/pull/62035)
  • \[[`61097db9fb`](https://github.com/nodejs/node/commit/61097db9fb)] - deps: upgrade npm to 11.11.0 (npm team) [#61994](https://github.com/nodejs/node/pull/61994)
  • \[[`9ac0f9f81e`](https://github.com/nodejs/node/commit/9ac0f9f81e)] - deps: upgrade npm to 11.10.1 (npm team) [#61892](https://github.com/nodejs/node/pull/61892)
  • \[[`3dab3c4698`](https://github.com/nodejs/node/commit/3dab3c4698)] - deps: V8: override `depot_tools` version (Richard Lau) [#62344](https://github.com/nodejs/node/pull/62344)
  • + 9 more
2026-03-24, Version 22.22.2 'Jod' (LTS), @RafaelGSS prepared by @aduh95v22.22.2
RafaelGSSRafaelGSS·2mo ago·March 24, 2026
GitHub

📋 Notable Changes

  • (CVE-2026-21637) wrap `SNICallback` invocation in `try`/`catch` (Matteo Collina) - High
  • (CVE-2026-21710) use null prototype for `headersDistinct`/`trailersDistinct` (Matteo Collina) - High
  • (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) - Medium
  • (CVE-2026-21714) handle `NGHTTP2_ERR_FLOW_CONTROL` error code (RafaelGSS) - Medium
  • (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium
  • (CVE-2026-21715) add permission check to `realpath.native` (RafaelGSS) - Low
  • (CVE-2026-21716) include permission check on `lib/fs/promises` (RafaelGSS) - Low

📦 Commits

  • \[[`6f14ee5101`](https://github.com/nodejs/node/commit/6f14ee5101)] - (CVE-2026-21717) build,test: test array index hash collision (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809)
  • \[[`52a52ef619`](https://github.com/nodejs/node/commit/52a52ef619)] - (CVE-2026-21713) crypto: use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) [nodejs-private/node-private#822](https://github.com/nodejs-private/node-private/pull/822)
  • \[[`30a3ab11e2`](https://github.com/nodejs/node/commit/30a3ab11e2)] - (CVE-2026-21717) deps: V8: cherry-pick aac14dd95e5b (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809)
  • \[[`e3f4d6a42e`](https://github.com/nodejs/node/commit/e3f4d6a42e)] - (CVE-2026-21717) deps: V8: backport 1361b2a49d02 (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809)
  • \[[`7dc00fa5f4`](https://github.com/nodejs/node/commit/7dc00fa5f4)] - (CVE-2026-21717) deps: V8: backport 185f0fe09b72 (Joyee Cheung) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809)
  • \[[`076acd052d`](https://github.com/nodejs/node/commit/076acd052d)] - (CVE-2026-21717) deps: V8: backport 0a8b1cdcc8b2 (snek) [nodejs-private/node-private#809](https://github.com/nodejs-private/node-private/pull/809)
  • \[[`963c60a951`](https://github.com/nodejs/node/commit/963c60a951)] - deps: V8: override `depot_tools` version (Richard Lau) [#62344](https://github.com/nodejs/node/pull/62344)
  • \[[`a688117d5d`](https://github.com/nodejs/node/commit/a688117d5d)] - deps: upgrade npm to 10.9.7 (npm team) [#62330](https://github.com/nodejs/node/pull/62330)
  • + 8 more
2026-03-24, Version 20.20.2 'Iron' (LTS), @marco-ippolitov20.20.2
marco-ippolitomarco-ippolito·2mo ago·March 24, 2026
GitHub

📋 Notable Changes

  • (CVE-2026-21717) fix array index hash collision (Joyee Cheung)
  • (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan)
  • (CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina)
  • (CVE-2026-21716) include permission check on lib/fs/promises (RafaelGSS)pull/795>
  • (CVE-2026-21715) add permission check to realpath.native (RafaelGSS)
  • (CVE-2026-21714) handle NGHTTP2\_ERR\_FLOW\_CONTROL error code (RafaelGSS)
  • (CVE-2026-21637) wrap SNICallback invocation in try/catch (Matteo Collina)

📦 Commits

  • \[[`cfb51fa9ce`](https://github.com/nodejs/node/commit/cfb51fa9ce)] - (CVE-2026-21713) crypto: use timing-safe comparison in Web Cryptography HMAC (Filip Skokan) [nodejs-private/node-private#831](https://github.com/nodejs-private/node-private/pull/831)
  • \[[`f333d0be5f`](https://github.com/nodejs/node/commit/f333d0be5f)] - deps: V8: override `depot_tools` version (Richard Lau) [#62344](https://github.com/nodejs/node/pull/62344)
  • \[[`2acd5d1226`](https://github.com/nodejs/node/commit/2acd5d1226)] - deps: update undici to v6.24.1 (Matteo Collina) [#62285](https://github.com/nodejs/node/pull/62285)
  • \[[`af5c144ebc`](https://github.com/nodejs/node/commit/af5c144ebc)] - (CVE-2026-21717) deps,build,test: fix array index hash collision (Joyee Cheung) [nodejs-private/node-private#834](https://github.com/nodejs-private/node-private/pull/834)
  • \[[`00ad47a28e`](https://github.com/nodejs/node/commit/00ad47a28e)] - (CVE-2026-21710) http: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) [nodejs-private/node-private#821](https://github.com/nodejs-private/node-private/pull/821)
  • \[[`0123309566`](https://github.com/nodejs/node/commit/0123309566)] - (CVE-2026-21716) permission: include permission check on lib/fs/promises (RafaelGSS) [nodejs-private/node-private#840](https://github.com/nodejs-private/node-private/pull/840)
  • \[[`00830712bc`](https://github.com/nodejs/node/commit/00830712bc)] - (CVE-2026-21715) permission: add permission check to realpath.native (RafaelGSS) [nodejs-private/node-private#838](https://github.com/nodejs-private/node-private/pull/838)
  • \[[`a0c73425da`](https://github.com/nodejs/node/commit/a0c73425da)] - (CVE-2026-21714) src: handle NGHTTP2\_ERR\_FLOW\_CONTROL error code (RafaelGSS) [nodejs-private/node-private#832](https://github.com/nodejs-private/node-private/pull/832)
  • + 1 more
2026-03-11, Version 25.8.1 (Current), @aduh95v25.8.1
aduh95aduh95·2mo ago·March 11, 2026
GitHub

📋 Notable Changes

  • \[[`ea87eea71a`](https://github.com/nodejs/node/commit/ea87eea71a)] - module: fix extensionless CJS files in `"type": "module"` packages (Matteo Collina) [#62083](https://github.com/nodejs/node/pull/62083)

📦 Commits

  • \[[`bab750d1b3`](https://github.com/nodejs/node/commit/bab750d1b3)] - build: do not depend on V8 deps on `--without-bundled-v8` builds (Antoine du Hamel) [#62033](https://github.com/nodejs/node/pull/62033)
  • \[[`b26d1c7fcb`](https://github.com/nodejs/node/commit/b26d1c7fcb)] - crypto: make --use-system-ca per-env rather than per-process (Aditi) [#60678](https://github.com/nodejs/node/pull/60678)
  • \[[`e362635abf`](https://github.com/nodejs/node/commit/e362635abf)] - crypto: add missing AES dictionaries (Filip Skokan) [#62099](https://github.com/nodejs/node/pull/62099)
  • \[[`6f975db8af`](https://github.com/nodejs/node/commit/6f975db8af)] - crypto: fix importKey required argument count check (Filip Skokan) [#62099](https://github.com/nodejs/node/pull/62099)
  • \[[`3beaf9c5fc`](https://github.com/nodejs/node/commit/3beaf9c5fc)] - deps: update amaro to 1.1.8 (Node.js GitHub Bot) [#62151](https://github.com/nodejs/node/pull/62151)
  • \[[`53afb0edd8`](https://github.com/nodejs/node/commit/53afb0edd8)] - deps: update sqlite to 3.52.0 (Node.js GitHub Bot) [#62150](https://github.com/nodejs/node/pull/62150)
  • \[[`a13ed052a1`](https://github.com/nodejs/node/commit/a13ed052a1)] - deps: update merve to 1.2.0 (Node.js GitHub Bot) [#62149](https://github.com/nodejs/node/pull/62149)
  • \[[`2c850577b7`](https://github.com/nodejs/node/commit/2c850577b7)] - deps: patch resb crate (Richard Lau) [#62138](https://github.com/nodejs/node/pull/62138)
  • + 41 more
2026-03-05, Version 22.22.1 'Jod' (LTS)v22.22.1
marco-ippolitomarco-ippolito·2mo ago·March 5, 2026
GitHub

📋 Notable Changes

  • \[[`7b93a65f27`](https://github.com/nodejs/node/commit/7b93a65f27)] - build: test on Python 3.14 (Christian Clauss) [#59983](https://github.com/nodejs/node/pull/59983)
  • \[[`6063d888fe`](https://github.com/nodejs/node/commit/6063d888fe)] - cli: mark `--heapsnapshot-near-heap-limit` as stable (Joyee Cheung) [#60956](https://github.com/nodejs/node/pull/60956)
  • \[[`d950b151a2`](https://github.com/nodejs/node/commit/d950b151a2)] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
  • \[[`4f42f8c428`](https://github.com/nodejs/node/commit/4f42f8c428)] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#60741](https://github.com/nodejs/node/pull/60741)
  • \[[`b6ebf2cd53`](https://github.com/nodejs/node/commit/b6ebf2cd53)] - doc: add avivkeller to collaborators (Aviv Keller) [#61115](https://github.com/nodejs/node/pull/61115)
  • \[[`35854f424d`](https://github.com/nodejs/node/commit/35854f424d)] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) [#61094](https://github.com/nodejs/node/pull/61094)
  • \[[`5c6a076e5d`](https://github.com/nodejs/node/commit/5c6a076e5d)] - meta: add Renegade334 to collaborators (Renegade334) [#60714](https://github.com/nodejs/node/pull/60714)

📦 Commits

  • \[[`5f773488c2`](https://github.com/nodejs/node/commit/5f773488c2)] - assert: use a set instead of an array for faster lookup (Ruben Bridgewater) [#61076](https://github.com/nodejs/node/pull/61076)
  • \[[`feecbb0eab`](https://github.com/nodejs/node/commit/feecbb0eab)] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) [#61388](https://github.com/nodejs/node/pull/61388)
  • \[[`096095b127`](https://github.com/nodejs/node/commit/096095b127)] - benchmark: add SQLite benchmarks (Guilherme Araújo) [#61401](https://github.com/nodejs/node/pull/61401)
  • \[[`b5fe481415`](https://github.com/nodejs/node/commit/b5fe481415)] - benchmark: use boolean options in benchmark tests (SeokhunEom) [#60129](https://github.com/nodejs/node/pull/60129)
  • \[[`fa9faacacb`](https://github.com/nodejs/node/commit/fa9faacacb)] - benchmark: allow boolean option values (SeokhunEom) [#60129](https://github.com/nodejs/node/pull/60129)
  • \[[`ba8714ac21`](https://github.com/nodejs/node/commit/ba8714ac21)] - benchmark: fix incorrect base64 input in byteLength benchmark (semimikoh) [#60841](https://github.com/nodejs/node/pull/60841)
  • \[[`53596de876`](https://github.com/nodejs/node/commit/53596de876)] - benchmark: use typescript for import cjs benchmark (Joyee Cheung) [#60663](https://github.com/nodejs/node/pull/60663)
  • \[[`e8930e9d7c`](https://github.com/nodejs/node/commit/e8930e9d7c)] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) [#60603](https://github.com/nodejs/node/pull/60603)
  • + 339 more
2026-03-05, Version 20.20.1 'Iron' (LTS), @marco-ippolitov20.20.1
marco-ippolitomarco-ippolito·2mo ago·March 5, 2026
GitHub

📋 Notable Changes

  • \[[`91a66e671c`](https://github.com/nodejs/node/commit/91a66e671c)] - build: test on Python 3.14 (Christian Clauss) [#59983](https://github.com/nodejs/node/pull/59983)
  • \[[`f66056054b`](https://github.com/nodejs/node/commit/f66056054b)] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
  • \[[`80feacaddb`](https://github.com/nodejs/node/commit/80feacaddb)] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#60741](https://github.com/nodejs/node/pull/60741)

📦 Commits

  • \[[`6f580d5399`](https://github.com/nodejs/node/commit/6f580d5399)] - assert: fix deepEqual always return true on URL (Xuguang Mei) [#50853](https://github.com/nodejs/node/pull/50853)
  • \[[`91a66e671c`](https://github.com/nodejs/node/commit/91a66e671c)] - build: test on Python 3.14 (Christian Clauss) [#59983](https://github.com/nodejs/node/pull/59983)
  • \[[`cc4f7af6f3`](https://github.com/nodejs/node/commit/cc4f7af6f3)] - build: skip sscache action on non-main branches (Joyee Cheung) [#61790](https://github.com/nodejs/node/pull/61790)
  • \[[`f66056054b`](https://github.com/nodejs/node/commit/f66056054b)] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
  • \[[`80feacaddb`](https://github.com/nodejs/node/commit/80feacaddb)] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#60741](https://github.com/nodejs/node/pull/60741)
  • \[[`fa88cc07e2`](https://github.com/nodejs/node/commit/fa88cc07e2)] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) [#60662](https://github.com/nodejs/node/pull/60662)
  • \[[`88b2eec88a`](https://github.com/nodejs/node/commit/88b2eec88a)] - deps: update minimatch to 10.2.2 (Node.js GitHub Bot) [#61830](https://github.com/nodejs/node/pull/61830)
  • \[[`5c053264f1`](https://github.com/nodejs/node/commit/5c053264f1)] - deps: V8: backport 6a0a25abaed3 (Vivian Wang) [#61687](https://github.com/nodejs/node/pull/61687)
  • + 64 more
2026-03-03, Version 25.8.0 (Current), @richardlauv25.8.0
richardlaurichardlau·2mo ago·March 3, 2026
GitHub

📋 Notable Changes

  • \[[`e55eddea2a`](https://github.com/nodejs/node/commit/e55eddea2a)] - build, doc: use new api doc tooling (flakey5) [#57343](https://github.com/nodejs/node/pull/57343)
  • \[[`4c181e2277`](https://github.com/nodejs/node/commit/4c181e2277)] - (SEMVER-MINOR) sqlite: add limits property to DatabaseSync (Mert Can Altin) [#61298](https://github.com/nodejs/node/pull/61298)
  • \[[`46ee1eddd7`](https://github.com/nodejs/node/commit/46ee1eddd7)] - (SEMVER-MINOR) src: add C++ support for diagnostics channels (RafaelGSS) [#61869](https://github.com/nodejs/node/pull/61869)
  • \[[`9ddd1a9c27`](https://github.com/nodejs/node/commit/9ddd1a9c27)] - (SEMVER-MINOR) src,permission: add --permission-audit (RafaelGSS) [#61869](https://github.com/nodejs/node/pull/61869)
  • \[[`0d97ec4044`](https://github.com/nodejs/node/commit/0d97ec4044)] - (SEMVER-MINOR) test\_runner: expose worker ID for concurrent test execution (Ali Hassan) [#61394](https://github.com/nodejs/node/pull/61394)

📦 Commits

  • \[[`940b58c8c1`](https://github.com/nodejs/node/commit/940b58c8c1)] - buffer: optimize buffer.concat performance (Mert Can Altin) [#61721](https://github.com/nodejs/node/pull/61721)
  • \[[`0589b0e5a1`](https://github.com/nodejs/node/commit/0589b0e5a1)] - build: fix GN for new merve dep (Shelley Vohr) [#61984](https://github.com/nodejs/node/pull/61984)
  • \[[`f3d3968dcd`](https://github.com/nodejs/node/commit/f3d3968dcd)] - _Revert_ "build: add temporal test on GHA windows" (Antoine du Hamel) [#61810](https://github.com/nodejs/node/pull/61810)
  • \[[`e55eddea2a`](https://github.com/nodejs/node/commit/e55eddea2a)] - build, doc: use new api doc tooling (flakey5) [#57343](https://github.com/nodejs/node/pull/57343)
  • \[[`b7715292f8`](https://github.com/nodejs/node/commit/b7715292f8)] - child\_process: add tracing channel for spawn (Marco) [#61836](https://github.com/nodejs/node/pull/61836)
  • \[[`a32a598748`](https://github.com/nodejs/node/commit/a32a598748)] - crypto: fix missing nullptr check on RSA\_new() (ndossche) [#61888](https://github.com/nodejs/node/pull/61888)
  • \[[`dc384f95b3`](https://github.com/nodejs/node/commit/dc384f95b3)] - crypto: fix handling of null BUF\_MEM\* in ToV8Value() (Nora Dossche) [#61885](https://github.com/nodejs/node/pull/61885)
  • \[[`3337b095db`](https://github.com/nodejs/node/commit/3337b095db)] - crypto: fix potential null pointer dereference when BIO\_meth\_new() fails (Nora Dossche) [#61788](https://github.com/nodejs/node/pull/61788)
  • + 42 more
2026-02-24, Version 25.7.0 (Current), @ruyadorno prepared by @aduh95v25.7.0
ruyadornoruyadorno·3mo ago·February 24, 2026
GitHub

📋 Notable Changes

  • \[[`b0a79b10f0`](https://github.com/nodejs/node/commit/b0a79b10f0)] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) [#61713](https://github.com/nodejs/node/pull/61713)
  • \[[`2d874dfb8e`](https://github.com/nodejs/node/commit/2d874dfb8e)] - (SEMVER-MINOR) sea: support ESM entry point in SEA (Joyee Cheung) [#61813](https://github.com/nodejs/node/pull/61813)
  • \[[`ee59127664`](https://github.com/nodejs/node/commit/ee59127664)] - sqlite: mark as release candidate (Matteo Collina) [#61262](https://github.com/nodejs/node/pull/61262)
  • \[[`608736e19e`](https://github.com/nodejs/node/commit/608736e19e)] - (SEMVER-MINOR) stream: rename `Duplex.toWeb()` type option to `readableType` (René) [#61632](https://github.com/nodejs/node/pull/61632)
  • \[[`a43375999f`](https://github.com/nodejs/node/commit/a43375999f)] - (SEMVER-MINOR) test\_runner: show interrupted test on SIGINT (Matteo Collina) [#61676](https://github.com/nodejs/node/pull/61676)

📦 Commits

  • \[[`ab4375e141`](https://github.com/nodejs/node/commit/ab4375e141)] - benchmark: add startup benchmark for ESM entrypoint (Joyee Cheung) [#61769](https://github.com/nodejs/node/pull/61769)
  • \[[`8d83d8026b`](https://github.com/nodejs/node/commit/8d83d8026b)] - build: add temporal test on GHA windows (Chengzhong Wu) [#61810](https://github.com/nodejs/node/pull/61810)
  • \[[`aab153eec3`](https://github.com/nodejs/node/commit/aab153eec3)] - build: skip sscache action on non-main branches (Joyee Cheung) [#61790](https://github.com/nodejs/node/pull/61790)
  • \[[`9e40fb93bc`](https://github.com/nodejs/node/commit/9e40fb93bc)] - build: use path-ignore in GHA coverage-windows.yml (Chengzhong Wu) [#61811](https://github.com/nodejs/node/pull/61811)
  • \[[`4896653361`](https://github.com/nodejs/node/commit/4896653361)] - build: generate\_config\_gypi.py generates valid JSON (Shelley Vohr) [#61791](https://github.com/nodejs/node/pull/61791)
  • \[[`bb82b44de0`](https://github.com/nodejs/node/commit/bb82b44de0)] - build: build with v8 gdbjit support on supported platform (Joyee Cheung) [#61010](https://github.com/nodejs/node/pull/61010)
  • \[[`e7173a093a`](https://github.com/nodejs/node/commit/e7173a093a)] - build: show cc outputs when version detection failed (Chengzhong Wu) [#61700](https://github.com/nodejs/node/pull/61700)
  • \[[`848050d38f`](https://github.com/nodejs/node/commit/848050d38f)] - build,win: add WinGet Visual Studio 2022 Build Tools Edition config (Mike McCready) [#61652](https://github.com/nodejs/node/pull/61652)
  • + 82 more
2026-02-24, Version 24.14.0 'Krypton' (LTS), @ruyadorno prepared by @aduh95v24.14.0
ruyadornoruyadorno·3mo ago·February 24, 2026
GitHub

📋 Notable Changes

  • \[[`8b6d31d379`](https://github.com/nodejs/node/commit/8b6d31d379)] - (SEMVER-MINOR) async\_hooks: add `trackPromises` option to `createHook()` (Joyee Cheung) [#61415](https://github.com/nodejs/node/pull/61415)
  • \[[`68da144b4e`](https://github.com/nodejs/node/commit/68da144b4e)] - build,deps: replace cjs-module-lexer with merve (Yagiz Nizipli) [#61456](https://github.com/nodejs/node/pull/61456)
  • \[[`f3a24c76e4`](https://github.com/nodejs/node/commit/f3a24c76e4)] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
  • \[[`1948861d23`](https://github.com/nodejs/node/commit/1948861d23)] - (SEMVER-MINOR) events: repurpose `events.listenerCount()` to accept EventTargets (René) [#60214](https://github.com/nodejs/node/pull/60214)
  • \[[`d6f7c8d06f`](https://github.com/nodejs/node/commit/d6f7c8d06f)] - (SEMVER-MINOR) fs: add `ignore` option to `fs.watch` (Matteo Collina) [#61433](https://github.com/nodejs/node/pull/61433)
  • \[[`cb54b3ca6e`](https://github.com/nodejs/node/commit/cb54b3ca6e)] - (SEMVER-MINOR) http: add `http.setGlobalProxyFromEnv()` (Joyee Cheung) [#60953](https://github.com/nodejs/node/pull/60953)
  • \[[`35b1759d06`](https://github.com/nodejs/node/commit/35b1759d06)] - (SEMVER-MINOR) module: allow subpath imports that start with `#/` (Jan Martin) [#60864](https://github.com/nodejs/node/pull/60864)
  • \[[`2d72ea66f2`](https://github.com/nodejs/node/commit/2d72ea66f2)] - (SEMVER-MINOR) process: preserve `AsyncLocalStorage` in `queueMicrotask` only when needed (Gürgün Dayıoğlu) [#60913](https://github.com/nodejs/node/pull/60913)
  • + 10 more

📦 Commits

  • \[[`180778fb9a`](https://github.com/nodejs/node/commit/180778fb9a)] - assert: fix loose deepEqual arrays with undefined and null failing (Ruben Bridgewater) [#61587](https://github.com/nodejs/node/pull/61587)
  • \[[`8b6d31d379`](https://github.com/nodejs/node/commit/8b6d31d379)] - (SEMVER-MINOR) async\_hooks: add trackPromises option to createHook() (Joyee Cheung) [#61415](https://github.com/nodejs/node/pull/61415)
  • \[[`83bcd38d35`](https://github.com/nodejs/node/commit/83bcd38d35)] - benchmark: add streaming TextDecoder benchmark (Сковорода Никита Андреевич) [#61549](https://github.com/nodejs/node/pull/61549)
  • \[[`4c105844c5`](https://github.com/nodejs/node/commit/4c105844c5)] - build: add support for Visual Studio 2026 (Michaël Zasso) [#60727](https://github.com/nodejs/node/pull/60727)
  • \[[`1f84fd91d9`](https://github.com/nodejs/node/commit/1f84fd91d9)] - build: skip sscache action on non-main branches (Joyee Cheung) [#61790](https://github.com/nodejs/node/pull/61790)
  • \[[`30601b680f`](https://github.com/nodejs/node/commit/30601b680f)] - build: add `--shared-nbytes` configure flag (Antoine du Hamel) [#61341](https://github.com/nodejs/node/pull/61341)
  • \[[`c6253eda49`](https://github.com/nodejs/node/commit/c6253eda49)] - build: add `--shared-hdr-histogram` configure flag (Antoine du Hamel) [#61280](https://github.com/nodejs/node/pull/61280)
  • \[[`584c189037`](https://github.com/nodejs/node/commit/584c189037)] - build: add `--shared-gtest` configure flag (Antoine du Hamel) [#61279](https://github.com/nodejs/node/pull/61279)
  • + 109 more
2026-02-10, Version 25.6.1 (Current), @aduh95v25.6.1
aduh95aduh95·3mo ago·February 10, 2026
GitHub

📋 Notable Changes

  • \[[`47df4328d7`](https://github.com/nodejs/node/commit/47df4328d7)] - build,deps: replace `cjs-module-lexer` with `merve` (Yagiz Nizipli) [#61456](https://github.com/nodejs/node/pull/61456)

📦 Commits

  • \[[`47df4328d7`](https://github.com/nodejs/node/commit/47df4328d7)] - build,deps: replace cjs-module-lexer with merve (Yagiz Nizipli) [#61456](https://github.com/nodejs/node/pull/61456)
  • \[[`a727054503`](https://github.com/nodejs/node/commit/a727054503)] - deps: upgrade npm to 11.9.0 (npm team) [#61685](https://github.com/nodejs/node/pull/61685)
  • \[[`c78c49ed6b`](https://github.com/nodejs/node/commit/c78c49ed6b)] - deps: update amaro to 1.1.7 (Node.js GitHub Bot) [#61730](https://github.com/nodejs/node/pull/61730)
  • \[[`4790816d9b`](https://github.com/nodejs/node/commit/4790816d9b)] - deps: update minimatch to 10.1.2 (Node.js GitHub Bot) [#61732](https://github.com/nodejs/node/pull/61732)
  • \[[`8c71740e8a`](https://github.com/nodejs/node/commit/8c71740e8a)] - deps: update undici to 7.21.0 (Node.js GitHub Bot) [#61683](https://github.com/nodejs/node/pull/61683)
  • \[[`e559ef6ab1`](https://github.com/nodejs/node/commit/e559ef6ab1)] - deps: update googletest to 56efe3983185e3f37e43415d1afa97e3860f187f (Node.js GitHub Bot) [#61605](https://github.com/nodejs/node/pull/61605)
  • \[[`300de2bb5a`](https://github.com/nodejs/node/commit/300de2bb5a)] - deps: update amaro to 1.1.6 (Node.js GitHub Bot) [#61603](https://github.com/nodejs/node/pull/61603)
  • \[[`e71e9505ef`](https://github.com/nodejs/node/commit/e71e9505ef)] - dns: fix Windows SRV ECONNREFUSED by adjusting c-ares fallback detection (notvivek12) [#61453](https://github.com/nodejs/node/pull/61453)
  • + 43 more
2026-02-10, Version 24.13.1 'Krypton' (LTS), @aduh95v24.13.1
aduh95aduh95·3mo ago·February 10, 2026
GitHub

📋 Notable Changes

  • \[[`1f64d6841e`](https://github.com/nodejs/node/commit/1f64d6841e)] - build: add support for Python 3.14 (Christian Clauss) [#59983](https://github.com/nodejs/node/pull/59983)
  • \[[`30e500fc09`](https://github.com/nodejs/node/commit/30e500fc09)] - cli: mark `--heapsnapshot-near-heap-limit` as stable (Joyee Cheung) [#60956](https://github.com/nodejs/node/pull/60956)
  • \[[`bc0a55f086`](https://github.com/nodejs/node/commit/bc0a55f086)] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
  • \[[`8a67c00bf5`](https://github.com/nodejs/node/commit/8a67c00bf5)] - doc: mark `--build-snapshot` and `--build-snapshot-config` as stable (Joyee Cheung) [#60954](https://github.com/nodejs/node/pull/60954)
  • \[[`3999c2a910`](https://github.com/nodejs/node/commit/3999c2a910)] - meta: add avivkeller to collaborators (Aviv Keller) [#61115](https://github.com/nodejs/node/pull/61115)
  • \[[`fa542fbae6`](https://github.com/nodejs/node/commit/fa542fbae6)] - meta: add gurgunday to collaborators (Gürgün Dayıoğlu) [#61094](https://github.com/nodejs/node/pull/61094)
  • \[[`ff11eda2f2`](https://github.com/nodejs/node/commit/ff11eda2f2)] - meta: add Renegade334 to collaborators (Renegade334) [#60714](https://github.com/nodejs/node/pull/60714)
  • \[[`2e387fb969`](https://github.com/nodejs/node/commit/2e387fb969)] - url: update ada to v3.4.2 and support unicode 17 (Yagiz Nizipli) [#61593](https://github.com/nodejs/node/pull/61593)
  • + 1 more

📦 Commits

  • \[[`a73279c60d`](https://github.com/nodejs/node/commit/a73279c60d)] - assert: use a set instead of an array for faster lookup (Ruben Bridgewater) [#61076](https://github.com/nodejs/node/pull/61076)
  • \[[`6a61bcd73c`](https://github.com/nodejs/node/commit/6a61bcd73c)] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) [#61388](https://github.com/nodejs/node/pull/61388)
  • \[[`cf0eabcd42`](https://github.com/nodejs/node/commit/cf0eabcd42)] - assert,util: improve deep comparison performance (Ruben Bridgewater) [#61076](https://github.com/nodejs/node/pull/61076)
  • \[[`ff3b9ac183`](https://github.com/nodejs/node/commit/ff3b9ac183)] - benchmark: add SQLite benchmarks (Guilherme Araújo) [#61401](https://github.com/nodejs/node/pull/61401)
  • \[[`e1f7d68c94`](https://github.com/nodejs/node/commit/e1f7d68c94)] - benchmark: use boolean options in benchmark tests (SeokhunEom) [#60129](https://github.com/nodejs/node/pull/60129)
  • \[[`91127c91cd`](https://github.com/nodejs/node/commit/91127c91cd)] - benchmark: allow boolean option values (SeokhunEom) [#60129](https://github.com/nodejs/node/pull/60129)
  • \[[`170fda55f6`](https://github.com/nodejs/node/commit/170fda55f6)] - benchmark: add microbench on isInsideNodeModules (Chengzhong Wu) [#60991](https://github.com/nodejs/node/pull/60991)
  • \[[`3976381b41`](https://github.com/nodejs/node/commit/3976381b41)] - benchmark: fix incorrect base64 input in byteLength benchmark (semimikoh) [#60841](https://github.com/nodejs/node/pull/60841)
  • + 310 more
2026-02-03, Version 25.6.0 (Current), @aduh95v25.6.0
aduh95aduh95·3mo ago·February 3, 2026
GitHub

📋 Notable Changes

  • \[[`796ff46ae6`](https://github.com/nodejs/node/commit/796ff46ae6)] - (SEMVER-MINOR) async\_hooks: add `trackPromises` option to `createHook()` (Joyee Cheung) [#61415](https://github.com/nodejs/node/pull/61415)
  • \[[`4cf94fae17`](https://github.com/nodejs/node/commit/4cf94fae17)] - (SEMVER-MINOR) net: add `setTOS` and `getTOS` to `Socket` (Amol Yadav) [#61503](https://github.com/nodejs/node/pull/61503)
  • \[[`dce657071e`](https://github.com/nodejs/node/commit/dce657071e)] - (SEMVER-MINOR) src: add initial support for ESM in embedder API (Joyee Cheung) [#61548](https://github.com/nodejs/node/pull/61548)
  • \[[`e62608bbcf`](https://github.com/nodejs/node/commit/e62608bbcf)] - src: improve `TextEncoder` encode performance with `simdutf` (Mert Can Altin) [#61496](https://github.com/nodejs/node/pull/61496)
  • \[[`93938a4738`](https://github.com/nodejs/node/commit/93938a4738)] - (SEMVER-MINOR) stream: add `bytes()` method to `node:stream/consumers` (wantaek) [#60426](https://github.com/nodejs/node/pull/60426)
  • \[[`5fe2582329`](https://github.com/nodejs/node/commit/5fe2582329)] - (SEMVER-MINOR) test\_runner: add `env` option to `run` function (Ethan Arrowood) [#61367](https://github.com/nodejs/node/pull/61367)
  • \[[`a181d0c43d`](https://github.com/nodejs/node/commit/a181d0c43d)] - url: update Ada to v3.4.2 and support Unicode 17 (Yagiz Nizipli) [#61593](https://github.com/nodejs/node/pull/61593)

📦 Commits

  • \[[`9c8d1b0278`](https://github.com/nodejs/node/commit/9c8d1b0278)] - assert: fix loose deepEqual arrays with undefined and null failing (Ruben Bridgewater) [#61587](https://github.com/nodejs/node/pull/61587)
  • \[[`796ff46ae6`](https://github.com/nodejs/node/commit/796ff46ae6)] - (SEMVER-MINOR) async\_hooks: add trackPromises option to createHook() (Joyee Cheung) [#61415](https://github.com/nodejs/node/pull/61415)
  • \[[`d23ee89693`](https://github.com/nodejs/node/commit/d23ee89693)] - benchmark: add streaming TextDecoder benchmark (Сковорода Никита Андреевич) [#61549](https://github.com/nodejs/node/pull/61549)
  • \[[`8759db9d21`](https://github.com/nodejs/node/commit/8759db9d21)] - buffer: disallow ArrayBuffer transfer on pooled buffer (Chengzhong Wu) [#61372](https://github.com/nodejs/node/pull/61372)
  • \[[`b2fb82946b`](https://github.com/nodejs/node/commit/b2fb82946b)] - build: add `--shared-lief` configure flag (Antoine du Hamel) [#61536](https://github.com/nodejs/node/pull/61536)
  • \[[`0ef99de9da`](https://github.com/nodejs/node/commit/0ef99de9da)] - build: aix: deoptimize implementation-visitor.cc with --shared (Stewart X Addison) [#61550](https://github.com/nodejs/node/pull/61550)
  • \[[`8f2083e73a`](https://github.com/nodejs/node/commit/8f2083e73a)] - build: enable -DV8\_ENABLE\_CHECKS flag (Ryuhei Shima) [#61327](https://github.com/nodejs/node/pull/61327)
  • \[[`150910da70`](https://github.com/nodejs/node/commit/150910da70)] - build,test: add tests for binary linked with shared libnode (Joyee Cheung) [#61463](https://github.com/nodejs/node/pull/61463)
  • + 47 more
2026-01-26, Version 25.5.0 (Current), @aduh95v25.5.0
aduh95aduh95·4mo ago·January 26, 2026
GitHub

📋 Notable Changes

  • \[[`99a4e51f93`](https://github.com/nodejs/node/commit/99a4e51f93)] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) [#61419](https://github.com/nodejs/node/pull/61419)
  • \[[`fbe4da5725`](https://github.com/nodejs/node/commit/fbe4da5725)] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
  • \[[`0feab0f083`](https://github.com/nodejs/node/commit/0feab0f083)] - (SEMVER-MINOR) deps: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
  • \[[`e91b296001`](https://github.com/nodejs/node/commit/e91b296001)] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) [#61433](https://github.com/nodejs/node/pull/61433)
  • \[[`b351910af1`](https://github.com/nodejs/node/commit/b351910af1)] - (SEMVER-MINOR) sea: add `--build-sea` to generate SEA directly with Node.js binary (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
  • \[[`957292e233`](https://github.com/nodejs/node/commit/957292e233)] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) [#61167](https://github.com/nodejs/node/pull/61167)
  • \[[`f289817ff8`](https://github.com/nodejs/node/commit/f289817ff8)] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) [#61266](https://github.com/nodejs/node/pull/61266)
  • \[[`069f3603e2`](https://github.com/nodejs/node/commit/069f3603e2)] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) [#61311](https://github.com/nodejs/node/pull/61311)
  • + 4 more

📦 Commits

  • \[[`778a56f3c9`](https://github.com/nodejs/node/commit/778a56f3c9)] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) [#61388](https://github.com/nodejs/node/pull/61388)
  • \[[`32cd18e37f`](https://github.com/nodejs/node/commit/32cd18e37f)] - async\_hooks: enabledHooksExist shall return if hooks are enabled (Gerhard Stöbich) [#61054](https://github.com/nodejs/node/pull/61054)
  • \[[`482b2568bc`](https://github.com/nodejs/node/commit/482b2568bc)] - benchmark: add SQLite benchmarks (Guilherme Araújo) [#61401](https://github.com/nodejs/node/pull/61401)
  • \[[`e9a34263bb`](https://github.com/nodejs/node/commit/e9a34263bb)] - buffer: make methods work on Uint8Array instances (Neal Beeken) [#56578](https://github.com/nodejs/node/pull/56578)
  • \[[`8255cdefcf`](https://github.com/nodejs/node/commit/8255cdefcf)] - build: add `--shared-nbytes` configure flag (Antoine du Hamel) [#61341](https://github.com/nodejs/node/pull/61341)
  • \[[`8dd379d110`](https://github.com/nodejs/node/commit/8dd379d110)] - build: update android-patches/trap-handler.h.patch (Mo Luo) [#60369](https://github.com/nodejs/node/pull/60369)
  • \[[`1b4b5eb0e4`](https://github.com/nodejs/node/commit/1b4b5eb0e4)] - build: update devcontainer.json to use paired nix env (Joyee Cheung) [#61414](https://github.com/nodejs/node/pull/61414)
  • \[[`86e2a763ad`](https://github.com/nodejs/node/commit/86e2a763ad)] - build: infer cargo mode with gyp var build\_type directly (Chengzhong Wu) [#61354](https://github.com/nodejs/node/pull/61354)
  • + 108 more
2026-01-19, Version 25.4.0 (Current), @RafaelGSSv25.4.0
RafaelGSSRafaelGSS·4mo ago·January 19, 2026
GitHub

📋 Notable Changes

  • \[[`8f6fada8f1`](https://github.com/nodejs/node/commit/8f6fada8f1)] - cli: add --require-module/--no-require-module (Joyee Cheung) [#60959](https://github.com/nodejs/node/pull/60959)
  • \[[`bf8e738df4`](https://github.com/nodejs/node/commit/bf8e738df4)] - cli: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) [#60956](https://github.com/nodejs/node/pull/60956)
  • \[[`7930d7a19b`](https://github.com/nodejs/node/commit/7930d7a19b)] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) [#60741](https://github.com/nodejs/node/pull/60741)
  • \[[`44f61dfb92`](https://github.com/nodejs/node/commit/44f61dfb92)] - doc: add @avivkeller to collaborators (Aviv Keller) [#61115](https://github.com/nodejs/node/pull/61115)
  • \[[`45903ee884`](https://github.com/nodejs/node/commit/45903ee884)] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) [#61094](https://github.com/nodejs/node/pull/61094)
  • \[[`77faa14d99`](https://github.com/nodejs/node/commit/77faa14d99)] - doc: mark --build-snapshot and --build-snapshot-config as stable (Joyee Cheung) [#60954](https://github.com/nodejs/node/pull/60954)
  • \[[`aefbe4ba47`](https://github.com/nodejs/node/commit/aefbe4ba47)] - (SEMVER-MINOR) events: repurpose `events.listenerCount()` to accept EventTargets (René) [#60214](https://github.com/nodejs/node/pull/60214)
  • \[[`8470e2993b`](https://github.com/nodejs/node/commit/8470e2993b)] - (SEMVER-MINOR) http: add http.setGlobalProxyFromEnv() (Joyee Cheung) [#60953](https://github.com/nodejs/node/pull/60953)
  • + 8 more

📦 Commits

  • \[[`e61cfdbf50`](https://github.com/nodejs/node/commit/e61cfdbf50)] - assert: use a set instead of an array for faster lookup (Ruben Bridgewater) [#61076](https://github.com/nodejs/node/pull/61076)
  • \[[`11861084fd`](https://github.com/nodejs/node/commit/11861084fd)] - assert,util: improve comparison performance (Ruben Bridgewater) [#61176](https://github.com/nodejs/node/pull/61176)
  • \[[`4ef4f759cb`](https://github.com/nodejs/node/commit/4ef4f759cb)] - assert,util: fix deep comparing invalid dates skipping properties (Ruben Bridgewater) [#61076](https://github.com/nodejs/node/pull/61076)
  • \[[`c8fccd585f`](https://github.com/nodejs/node/commit/c8fccd585f)] - assert,util: improve deep comparison performance (Ruben Bridgewater) [#61076](https://github.com/nodejs/node/pull/61076)
  • \[[`13661a0123`](https://github.com/nodejs/node/commit/13661a0123)] - benchmark: use boolean options in benchmark tests (SeokhunEom) [#60129](https://github.com/nodejs/node/pull/60129)
  • \[[`36dead3433`](https://github.com/nodejs/node/commit/36dead3433)] - benchmark: allow boolean option values (SeokhunEom) [#60129](https://github.com/nodejs/node/pull/60129)
  • \[[`376056eaef`](https://github.com/nodejs/node/commit/376056eaef)] - benchmark: add microbench on isInsideNodeModules (Chengzhong Wu) [#60991](https://github.com/nodejs/node/pull/60991)
  • \[[`22d3e85b7a`](https://github.com/nodejs/node/commit/22d3e85b7a)] - benchmark: fix incorrect base64 input in byteLength benchmark (semimikoh) [#60841](https://github.com/nodejs/node/pull/60841)
  • + 277 more
2026-01-13, Version 25.3.0 (Current), @RafaelGSSv25.3.0
marco-ippolitomarco-ippolito·4mo ago·January 13, 2026
GitHub

📋 Notable Changes

  • lib:
  • (CVE-2025-59465) add TLSSocket default error handler (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/750>
  • permission:
  • (CVE-2026-21636) add network check on pipe\_wrap connect (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/784>
  • (CVE-2025-55130) require full read and write to symlink APIs (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/760>
  • (CVE-2025-55132) disable futimes when permission model is enabled (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/748>
  • src:
  • (CVE-2025-59466) rethrow stack overflow exceptions in async\_hooks (Matteo Collina) <https://github.com/nodejs-private/node-private/pull/773>
  • + 4 more

📦 Commits

  • \[[`a6a74b89a7`](https://github.com/nodejs/node/commit/a6a74b89a7)] - deps: update c-ares to v1.34.6 (Node.js GitHub Bot) [#60997](https://github.com/nodejs/node/pull/60997)
  • \[[`5100614e26`](https://github.com/nodejs/node/commit/5100614e26)] - deps: update undici to 7.18.2 (Node.js GitHub Bot) [#61283](https://github.com/nodejs/node/pull/61283)
  • \[[`f0a8916887`](https://github.com/nodejs/node/commit/f0a8916887)] - (CVE-2025-59465) lib: add TLSSocket default error handler (RafaelGSS) [nodejs-private/node-private#750](https://github.com/nodejs-private/node-private/pull/750)
  • \[[`b4b887c5f7`](https://github.com/nodejs/node/commit/b4b887c5f7)] - (CVE-2025-55132) lib: disable futimes when permission model is enabled (RafaelGSS) [nodejs-private/node-private#748](https://github.com/nodejs-private/node-private/pull/748)
  • \[[`26be208039`](https://github.com/nodejs/node/commit/26be208039)] - (CVE-2025-55130) lib,permission: require full read and write to symlink APIs (RafaelGSS) [nodejs-private/node-private#760](https://github.com/nodejs-private/node-private/pull/760)
  • \[[`bdf5873d44`](https://github.com/nodejs/node/commit/bdf5873d44)] - (CVE-2026-21636) permission: add network check on pipe\_wrap connect (RafaelGSS) [nodejs-private/node-private#784](https://github.com/nodejs-private/node-private/pull/784)
  • \[[`0578e3e921`](https://github.com/nodejs/node/commit/0578e3e921)] - (CVE-2025-59466) src: rethrow stack overflow exceptions in async\_hooks (Matteo Collina) [nodejs-private/node-private#773](https://github.com/nodejs-private/node-private/pull/773)
  • \[[`4d6b55a6d1`](https://github.com/nodejs/node/commit/4d6b55a6d1)] - (CVE-2025-55131) src,lib: refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) [nodejs-private/node-private#759](https://github.com/nodejs-private/node-private/pull/759)
  • + 1 more
2026-01-13, Version 24.13.0 'Krypton' (LTS), @marco-ippolitov24.13.0
marco-ippolitomarco-ippolito·4mo ago·January 13, 2026
GitHub

📋 Notable Changes

  • lib:
  • (CVE-2025-59465) add TLSSocket default error handler (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/797>
  • (CVE-2025-55132) disable futimes when permission model is enabled (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/748>
  • lib,permission:
  • (CVE-2025-55130) require full read and write to symlink APIs (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/760>
  • src:
  • (CVE-2025-59466) rethrow stack overflow exceptions in async\_hooks (Matteo Collina) <https://github.com/nodejs-private/node-private/pull/773>
  • src,lib:
  • + 3 more

📦 Commits

  • \[[`2092785d01`](https://github.com/nodejs/node/commit/2092785d01)] - deps: update c-ares to v1.34.6 (Node.js GitHub Bot) [#60997](https://github.com/nodejs/node/pull/60997)
  • \[[`3e58b7f2af`](https://github.com/nodejs/node/commit/3e58b7f2af)] - deps: update undici to 7.18.2 (Node.js GitHub Bot) [#61283](https://github.com/nodejs/node/pull/61283)
  • \[[`4ba536a5a6`](https://github.com/nodejs/node/commit/4ba536a5a6)] - (CVE-2025-59465) lib: add TLSSocket default error handler (RafaelGSS) [nodejs-private/node-private#797](https://github.com/nodejs-private/node-private/pull/797)
  • \[[`89adaa21fd`](https://github.com/nodejs/node/commit/89adaa21fd)] - (CVE-2025-55132) lib: disable futimes when permission model is enabled (RafaelGSS) [nodejs-private/node-private#748](https://github.com/nodejs-private/node-private/pull/748)
  • \[[`7302b4dae1`](https://github.com/nodejs/node/commit/7302b4dae1)] - (CVE-2025-55130) lib,permission: require full read and write to symlink APIs (RafaelGSS) [nodejs-private/node-private#760](https://github.com/nodejs-private/node-private/pull/760)
  • \[[`ac030753c4`](https://github.com/nodejs/node/commit/ac030753c4)] - (CVE-2025-59466) src: rethrow stack overflow exceptions in async\_hooks (Matteo Collina) [nodejs-private/node-private#773](https://github.com/nodejs-private/node-private/pull/773)
  • \[[`20075692fe`](https://github.com/nodejs/node/commit/20075692fe)] - (CVE-2025-55131) src,lib: refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) [nodejs-private/node-private#759](https://github.com/nodejs-private/node-private/pull/759)
  • \[[`20591b0618`](https://github.com/nodejs/node/commit/20591b0618)] - (CVE-2026-21637) tls: route callback exceptions through error handlers (Matteo Collina) [nodejs-private/node-private#796](https://github.com/nodejs-private/node-private/pull/796)
2026-01-13, Version 22.22.0 'Jod' (LTS), @marco-ippolitov22.22.0
marco-ippolitomarco-ippolito·4mo ago·January 13, 2026
GitHub

📋 Notable Changes

  • lib:
  • (CVE-2025-59465) add TLSSocket default error handler
  • (CVE-2025-55132) disable futimes when permission model is enabled
  • lib,permission:
  • (CVE-2025-55130) require full read and write to symlink APIs
  • src:
  • (CVE-2025-59466) rethrow stack overflow exceptions in async\_hooks
  • src,lib:
  • + 3 more

📦 Commits

  • \[[`6badf4e6f4`](https://github.com/nodejs/node/commit/6badf4e6f4)] - deps: update c-ares to v1.34.6 (Node.js GitHub Bot) [#60997](https://github.com/nodejs/node/pull/60997)
  • \[[`37509c3ff0`](https://github.com/nodejs/node/commit/37509c3ff0)] - deps: update undici to 6.23.0 (Matteo Collina) [nodejs-private/node-private#791](https://github.com/nodejs-private/node-private/pull/791)
  • \[[`eb8e41f8db`](https://github.com/nodejs/node/commit/eb8e41f8db)] - (CVE-2025-59465) lib: add TLSSocket default error handler (RafaelGSS) [nodejs-private/node-private#797](https://github.com/nodejs-private/node-private/pull/797)
  • \[[`ebbf942a83`](https://github.com/nodejs/node/commit/ebbf942a83)] - (CVE-2025-55132) lib: disable futimes when permission model is enabled (RafaelGSS) [nodejs-private/node-private#748](https://github.com/nodejs-private/node-private/pull/748)
  • \[[`6b4849583a`](https://github.com/nodejs/node/commit/6b4849583a)] - (CVE-2025-55130) lib,permission: require full read and write to symlink APIs (RafaelGSS) [nodejs-private/node-private#760](https://github.com/nodejs-private/node-private/pull/760)
  • \[[`ddadc31f09`](https://github.com/nodejs/node/commit/ddadc31f09)] - (CVE-2025-59466) src: rethrow stack overflow exceptions in async\_hooks (Matteo Collina) [nodejs-private/node-private#773](https://github.com/nodejs-private/node-private/pull/773)
  • \[[`d4d9f3915f`](https://github.com/nodejs/node/commit/d4d9f3915f)] - (CVE-2025-55131) src,lib: refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) [nodejs-private/node-private#759](https://github.com/nodejs-private/node-private/pull/759)
  • \[[`25d6799df6`](https://github.com/nodejs/node/commit/25d6799df6)] - (CVE-2026-21637) tls: route callback exceptions through error handlers (Matteo Collina) [nodejs-private/node-private#796](https://github.com/nodejs-private/node-private/pull/796)
2026-01-13, Version 20.20.0 'Iron' (LTS), @marco-ippolitov20.20.0
marco-ippolitomarco-ippolito·4mo ago·January 13, 2026
GitHub

📋 Notable Changes

  • lib:
  • (CVE-2025-55132) disable futimes when permission model is enabled (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/802>
  • (CVE-2025-59465) add TLSSocket default error handler (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/797>
  • lib,permission:
  • (CVE-2025-55130) require full read and write to symlink APIs (RafaelGSS) <https://github.com/nodejs-private/node-private/pull/760>
  • src:
  • (CVE-2025-59466) rethrow stack overflow exceptions in async\_hooks (Matteo Collina) <https://github.com/nodejs-private/node-private/pull/773>
  • src,lib:
  • + 3 more

📦 Commits

  • \[[`8f9ba3f623`](https://github.com/nodejs/node/commit/8f9ba3f623)] - deps: update c-ares to v1.34.6 (Node.js GitHub Bot) [#60997](https://github.com/nodejs/node/pull/60997)
  • \[[`97fc9b0eb7`](https://github.com/nodejs/node/commit/97fc9b0eb7)] - deps: update undici to 6.23.0 (Matteo Collina) [nodejs-private/node-private#792](https://github.com/nodejs-private/node-private/pull/792)
  • \[[`14fbbb510c`](https://github.com/nodejs/node/commit/14fbbb510c)] - (CVE-2025-55132) lib: disable futimes when permission model is enabled (RafaelGSS) [nodejs-private/node-private#802](https://github.com/nodejs-private/node-private/pull/802)
  • \[[`1febc48d5b`](https://github.com/nodejs/node/commit/1febc48d5b)] - (CVE-2025-59465) lib: add TLSSocket default error handler (RafaelGSS) [nodejs-private/node-private#797](https://github.com/nodejs-private/node-private/pull/797)
  • \[[`494f62dc23`](https://github.com/nodejs/node/commit/494f62dc23)] - (CVE-2025-55130) lib,permission: require full read and write to symlink APIs (RafaelGSS) [nodejs-private/node-private#760](https://github.com/nodejs-private/node-private/pull/760)
  • \[[`d7a5c587c0`](https://github.com/nodejs/node/commit/d7a5c587c0)] - (CVE-2025-59466) src: rethrow stack overflow exceptions in async\_hooks (Matteo Collina) [nodejs-private/node-private#773](https://github.com/nodejs-private/node-private/pull/773)
  • \[[`51f4de4b4a`](https://github.com/nodejs/node/commit/51f4de4b4a)] - (CVE-2025-55131) src,lib: refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) [nodejs-private/node-private#759](https://github.com/nodejs-private/node-private/pull/759)
  • \[[`85f73e7057`](https://github.com/nodejs/node/commit/85f73e7057)] - (CVE-2026-21637) tls: route callback exceptions through error handlers (Matteo Collina) [nodejs-private/node-private#796](https://github.com/nodejs-private/node-private/pull/796)
2025-12-10, Version 24.12.0 'Krypton' (LTS), @targosv24.12.0
targostargos·5mo ago·December 10, 2025
GitHub

📋 Notable Changes

  • \[[`1a00b5f68a`](https://github.com/nodejs/node/commit/1a00b5f68a)] - (SEMVER-MINOR) http: add optimizeEmptyRequests server option (Rafael Gonzaga) [#59778](https://github.com/nodejs/node/pull/59778)
  • \[[`ff5754077d`](https://github.com/nodejs/node/commit/ff5754077d)] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) [#59982](https://github.com/nodejs/node/pull/59982)
  • \[[`8987159234`](https://github.com/nodejs/node/commit/8987159234)] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) [#60600](https://github.com/nodejs/node/pull/60600)
  • \[[`92c484ebf4`](https://github.com/nodejs/node/commit/92c484ebf4)] - (SEMVER-MINOR) node-api: add napi\_create\_object\_with\_properties (Miguel Marcondes Filho) [#59953](https://github.com/nodejs/node/pull/59953)
  • \[[`b11bc5984e`](https://github.com/nodejs/node/commit/b11bc5984e)] - (SEMVER-MINOR) sqlite: allow setting defensive flag (Bart Louwers) [#60217](https://github.com/nodejs/node/pull/60217)
  • \[[`e7da5b4b7d`](https://github.com/nodejs/node/commit/e7da5b4b7d)] - (SEMVER-MINOR) src: add watch config namespace (Marco Ippolito) [#60178](https://github.com/nodejs/node/pull/60178)
  • \[[`a7f7d10c06`](https://github.com/nodejs/node/commit/a7f7d10c06)] - (SEMVER-MINOR) src: add an option to make compile cache portable (Aditi) [#58797](https://github.com/nodejs/node/pull/58797)
  • \[[`92ea669240`](https://github.com/nodejs/node/commit/92ea669240)] - (SEMVER-MINOR) src,permission: add --allow-inspector ability (Rafael Gonzaga) [#59711](https://github.com/nodejs/node/pull/59711)
  • + 1 more

📦 Commits

  • \[[`e4a23a35ac`](https://github.com/nodejs/node/commit/e4a23a35ac)] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) [#60603](https://github.com/nodejs/node/pull/60603)
  • \[[`b6114ae5c9`](https://github.com/nodejs/node/commit/b6114ae5c9)] - benchmark: add per-suite setup option (Joyee Cheung) [#60574](https://github.com/nodejs/node/pull/60574)
  • \[[`ac8e90af7c`](https://github.com/nodejs/node/commit/ac8e90af7c)] - buffer: speed up concat via TypedArray#set (Gürgün Dayıoğlu) [#60399](https://github.com/nodejs/node/pull/60399)
  • \[[`acbc8ca13e`](https://github.com/nodejs/node/commit/acbc8ca13e)] - build: upgrade Python linter ruff, add rules ASYNC,PERF (Christian Clauss) [#59984](https://github.com/nodejs/node/pull/59984)
  • \[[`f97a609a07`](https://github.com/nodejs/node/commit/f97a609a07)] - console: optimize single-string logging (Gürgün Dayıoğlu) [#60422](https://github.com/nodejs/node/pull/60422)
  • \[[`6cd9bdc580`](https://github.com/nodejs/node/commit/6cd9bdc580)] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) [#60662](https://github.com/nodejs/node/pull/60662)
  • \[[`0fafe24d9b`](https://github.com/nodejs/node/commit/0fafe24d9b)] - crypto: fix argument validation in crypto.timingSafeEqual fast path (Joyee Cheung) [#60538](https://github.com/nodejs/node/pull/60538)
  • \[[`54421e0419`](https://github.com/nodejs/node/commit/54421e0419)] - debugger: fix event listener leak in the run command (Joyee Cheung) [#60464](https://github.com/nodejs/node/pull/60464)
  • + 120 more
2025-11-25, Version 20.19.6 'Iron' (LTS), @marco-ippolitov20.19.6
marco-ippolitomarco-ippolito·6mo ago·November 25, 2025
GitHub

📋 Notable Changes

  • \[[`6277910a15`](https://github.com/nodejs/node/commit/6277910a15)] - crypto: update root certificates to NSS 3.114 (Node.js GitHub Bot) [#59571](https://github.com/nodejs/node/pull/59571)
  • \[[`082e50d4a2`](https://github.com/nodejs/node/commit/082e50d4a2)] - doc: update the instruction on how to verify releases (Antoine du Hamel) [#59113](https://github.com/nodejs/node/pull/59113)
  • \[[`db68cec4cb`](https://github.com/nodejs/node/commit/db68cec4cb)] - doc: deprecate HTTP/2 priority signaling (Matteo Collina) [#58313](https://github.com/nodejs/node/pull/58313)

📦 Commits

  • \[[`0f644df42e`](https://github.com/nodejs/node/commit/0f644df42e)] - build: fix 'implicit-function-declaration' on OpenHarmony platform (hqzing) [#59547](https://github.com/nodejs/node/pull/59547)
  • \[[`fba0025b9c`](https://github.com/nodejs/node/commit/fba0025b9c)] - build: use `windows-2025` runner (Michaël Zasso) [#59673](https://github.com/nodejs/node/pull/59673)
  • \[[`3456ec946d`](https://github.com/nodejs/node/commit/3456ec946d)] - crypto: update root certificates to NSS 3.116 (Node.js GitHub Bot) [#59956](https://github.com/nodejs/node/pull/59956)
  • \[[`6277910a15`](https://github.com/nodejs/node/commit/6277910a15)] - crypto: update root certificates to NSS 3.114 (Node.js GitHub Bot) [#59571](https://github.com/nodejs/node/pull/59571)
  • \[[`1788fb5f3d`](https://github.com/nodejs/node/commit/1788fb5f3d)] - deps: update undici to 6.22.0 (Matteo Collina) [#60112](https://github.com/nodejs/node/pull/60112)
  • \[[`5d61b55f24`](https://github.com/nodejs/node/commit/5d61b55f24)] - deps: update uvwasi to 0.0.23 (Node.js GitHub Bot) [#59791](https://github.com/nodejs/node/pull/59791)
  • \[[`9f1e5e4637`](https://github.com/nodejs/node/commit/9f1e5e4637)] - deps: update histogram to 0.11.9 (Node.js GitHub Bot) [#59689](https://github.com/nodejs/node/pull/59689)
  • \[[`d0edb01d25`](https://github.com/nodejs/node/commit/d0edb01d25)] - deps: update googletest to eb2d85e (Node.js GitHub Bot) [#59335](https://github.com/nodejs/node/pull/59335)
  • + 54 more
2025-11-17, Version 25.2.1 (Current), @aduh95v25.2.1
aduh95aduh95·6mo ago·November 17, 2025
GitHub

📦 Commits

  • \[[`ff89b7b6c7`](https://github.com/nodejs/node/commit/ff89b7b6c7)] - crypto: ensure documented RSA-PSS saltLength default is used (Filip Skokan) [#60662](https://github.com/nodejs/node/pull/60662)
  • \[[`5316b580eb`](https://github.com/nodejs/node/commit/5316b580eb)] - deps: V8: backport 2e4c5cf9b112 (Michaël Zasso) [#60654](https://github.com/nodejs/node/pull/60654)
  • \[[`ca878bc90e`](https://github.com/nodejs/node/commit/ca878bc90e)] - doc,src,lib: clarify experimental status of Web Storage support (Antoine du Hamel) [#60708](https://github.com/nodejs/node/pull/60708)
  • \[[`a4dee613fd`](https://github.com/nodejs/node/commit/a4dee613fd)] - _Revert_ "lib: throw from localStorage getter on missing storage path" (Antoine du Hamel) [#60750](https://github.com/nodejs/node/pull/60750)
2025-11-11, Version 25.2.0 (Current), @aduh95v25.2.0
aduh95aduh95·6mo ago·November 11, 2025
GitHub

📋 Notable Changes

  • \[[`a37c01e6a1`](https://github.com/nodejs/node/commit/a37c01e6a1)] - (SEMVER-MINOR) lib: add options to util.deprecate (Rafael Gonzaga) [#59982](https://github.com/nodejs/node/pull/59982)
  • \[[`4fbb1ab101`](https://github.com/nodejs/node/commit/4fbb1ab101)] - lib: throw from localStorage getter on missing storage path (René) [#60351](https://github.com/nodejs/node/pull/60351)
  • \[[`727560a96d`](https://github.com/nodejs/node/commit/727560a96d)] - (SEMVER-MINOR) module: mark type stripping as stable (Marco Ippolito) [#60600](https://github.com/nodejs/node/pull/60600)
  • \[[`506b79e888`](https://github.com/nodejs/node/commit/506b79e888)] - (SEMVER-MINOR) net: increase network family autoselection timeout to 500ms (Rod Vagg) [#60334](https://github.com/nodejs/node/pull/60334)
  • \[[`166c72ec02`](https://github.com/nodejs/node/commit/166c72ec02)] - (SEMVER-MINOR) node-api: add napi\_create\_object\_with\_properties (Miguel Marcondes Filho) [#59953](https://github.com/nodejs/node/pull/59953)
  • \[[`399b340022`](https://github.com/nodejs/node/commit/399b340022)] - (SEMVER-MINOR) v8: adding total\_allocated\_bytes to HeapStatistics (Caio Lima) [#60573](https://github.com/nodejs/node/pull/60573)

📦 Commits

  • \[[`d5158a0a2d`](https://github.com/nodejs/node/commit/d5158a0a2d)] - benchmark: focus on import.meta intialization in import-meta benchmark (Joyee Cheung) [#60603](https://github.com/nodejs/node/pull/60603)
  • \[[`26a5305fa9`](https://github.com/nodejs/node/commit/26a5305fa9)] - benchmark: add per-suite setup option (Joyee Cheung) [#60574](https://github.com/nodejs/node/pull/60574)
  • \[[`4810e4b82d`](https://github.com/nodejs/node/commit/4810e4b82d)] - buffer: speed up concat via TypedArray#set (Gürgün Dayıoğlu) [#60399](https://github.com/nodejs/node/pull/60399)
  • \[[`94a94a6b3a`](https://github.com/nodejs/node/commit/94a94a6b3a)] - console: optimize single-string logging (Gürgün Dayıoğlu) [#60422](https://github.com/nodejs/node/pull/60422)
  • \[[`ad376c31db`](https://github.com/nodejs/node/commit/ad376c31db)] - crypto: fix argument validation in crypto.timingSafeEqual fast path (Joyee Cheung) [#60538](https://github.com/nodejs/node/pull/60538)
  • \[[`dc38a45a55`](https://github.com/nodejs/node/commit/dc38a45a55)] - debugger: fix event listener leak in the run command (Joyee Cheung) [#60464](https://github.com/nodejs/node/pull/60464)
  • \[[`a61e5d8e05`](https://github.com/nodejs/node/commit/a61e5d8e05)] - deps: call OPENSSL\_free after ANS1\_STRING\_to\_UTF8 (Rafael Gonzaga) [#60609](https://github.com/nodejs/node/pull/60609)
  • \[[`51e5030afa`](https://github.com/nodejs/node/commit/51e5030afa)] - deps: nghttp2: revert 7784fa979d0b (Antoine du Hamel) [#59790](https://github.com/nodejs/node/pull/59790)
  • + 105 more