Software 43085 Published by

Node 23.11.0 has been officially released, featuring several significant updates. The updates encompass the implementation of partial error comparison in the SEMVER-MINOR assertion, the inclusion of an optional callback to crypto.diffieHellman within the crypto.process, the addition of execve in the process, and the introduction of StatementSync.prototype.columns() in the sqlite.

The commits cover enhancements in the performance of partialDeepStrictEqual, modifications to assert runtimes, and refinements to the behavior of plain object execution in the debugger REPL. The modifications encompass the elimination of Corepack documentation, ensuring that references to reports are consistent with the Node.js Code of Conduct, and the resolution of outdated pull requests. The updates encompass corrections to module resolution pseudocode and the inclusion of a new contributing markdown for writing documentation. The commits also include the inclusion of new writing documentation contributing markdown, references to node.js streams in Web Streams, and the elimination of certain inconsistencies in deprecations. The release also features enhancements in the tls.getCACertificates documentation and the tls.getCACertificates documentation.





Node.js — Node v23.11.0 (Current)

Notable Changes

  • [ 64b086740a] - (SEMVER-MINOR) assert: implement partial error comparison (Ruben Bridgewater)  #57370
  • [ 053cef70e0] - (SEMVER-MINOR) crypto: add optional callback to crypto.diffieHellman (Filip Skokan)  #57274
  • [ f8aff90235] - (SEMVER-MINOR) process: add execve (Paolo Insogna)  #56496
  • [ 4b04c92d7d] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.columns() (Colin Ihrig)  #57490
  • [ 1b8d1d3a3a] - (SEMVER-MINOR) util: expose diff function used by the assertion errors (Giovanni Bucci)  #57462

Commits

  • [ 7b72396c8b] - assert: improve partialDeepStrictEqual performance (Ruben Bridgewater)  #57509
  • [ 64b086740a] - (SEMVER-MINOR) assert: implement partial error comparison (Ruben Bridgewater)  #57370
  • [ f694d7de0e] - (SEMVER-MINOR) assert: improve partialDeepStrictEqual (Ruben Bridgewater)  #57370
  • [ 80d9d5653f] - (SEMVER-MINOR) assert,util: improve performance (Ruben Bridgewater)  #57370
  • [ d52a71f832] - (SEMVER-MINOR) benchmark: adjust assert runtimes (Ruben Bridgewater)  #57370
  • [ 7592cf4cd7] - (SEMVER-MINOR) benchmark: skip running some assert benchmarks by default (Ruben Bridgewater)  #57370
  • [ e4cc54a746] - (SEMVER-MINOR) benchmark: add assert partialDeepStrictEqual benchmark (Ruben Bridgewater)  #57370
  • [ de48407011] - build: fix update-wpt workflow (Jonas)  #57468
  • [ 52cd0954f9] - cli: clarify --cpu-prof-name allowed values (Eugenio Ceschia)  #57433
  • [ 7611fc14de] - crypto: fix output of privateDecrypt with zero-length data (Filip Skokan)  #57575
  • [ cc42ee8fc7] - crypto: ensure expected JWK alg in SubtleCrypto.importKey RSA imports (Filip Skokan)  #57450
  • [ 053cef70e0] - (SEMVER-MINOR) crypto: add optional callback to crypto.diffieHellman (Filip Skokan)  #57274
  • [ 1f08864fd7] - debugger: fix behavior of plain object exec in debugger repl (Dario Piotrowicz)  #57498
  • [ 162b2828eb] - deps: update undici to 6.21.2 (Matteo Collina)  #57442
  • [ 43bea6bb80] - deps: V8: cherry-pick c172ffc5bf54 (Choongwoo Han)  #57437
  • [ 99f93afb9d] - deps: update ada to v3.2.1 (Yagiz Nizipli)  #57429
  • [ 30e5658f12] - deps: update googletest to 0bdccf4 (Node.js GitHub Bot)  #57380
  • [ 573467c070] - deps: update acorn to 8.14.1 (Node.js GitHub Bot)  #57382
  • [ affeaac0c7] - doc: add gurgunday as triager (Gürgün Dayıoğlu)  #57594
  • [ 4ed1a098f5] - doc: clarify behaviour of node-api adjust function (Michael Dawson)  #57463
  • [ 921041b284] - doc: remove Corepack documentation (Antoine du Hamel)  #57635
  • [ 99dbd8b391] - doc: remove mention of --require not supporting ES modules (Huáng Jùnliàng)  #57620
  • [ 8c76b2949e] - doc: mention reports should align with Node.js CoC (Rafael Gonzaga)  #57607
  • [ ee1c78a7a3] - doc: add section stating that very stale PRs should be closed (Dario Piotrowicz)  #57541
  • [ 595e9e5ad6] - doc: add bjohansebas as triager (Sebastian Beltran)  #57564
  • [ 3742d2a198] - doc: update support channels (Claudio W.)  #57538
  • [ 717c44dead] - doc: make stability labels more consistent (Antoine du Hamel)  #57516
  • [ b4576a6f57] - doc: remove cryptoStream API reference (Jonas)  #57579
  • [ 2c4f894036] - doc: module resolution pseudocode corrections (Marcel Laverdet)  #57080
  • [ c45894f90c] - doc: add history entry for DEP0190 in child_process.md (Antoine du Hamel)  #57544
  • [ c21068b696] - doc: remove deprecated pattern in child_process.md (Antoine du Hamel)  #57568
  • [ 87e0dda352] - doc: mark multiple experimental APIS as stable (James M Snell)  #57510
  • [ d637763e4e] - doc: remove mertcanaltin from Triagers (Mert Can Altin)  #57531
  • [ ee6025495d] - doc: recommend watching the collaborators repo in the onboarding doc (Darshan Sen)  #57527
  • [ 706b64638b] - doc: remove mention of visa fees from onboarding doc (Darshan Sen)  #57526
  • [ 176d951bd0] - doc: deprecate passing args to spawn and execFile (Antoine du Hamel)  #57389
  • [ 5c05ba119b] - doc: remove some inconsistencies in deprecations.md (Antoine du Hamel)  #57512
  • [ 9d5be4bb8c] - doc: run license-builder (github-actions[bot])  #57511
  • [ 273607edb4] - doc: add new writing-docs contributing md (Dario Piotrowicz)  #57502
  • [ e28c723f24] - doc: add node.js streams references to Web Streams doc (Dario Piotrowicz)  #57393
  • [ 47296492ba] - doc: replace NOTEs that do not render properly (Colin Ihrig)  #57484
  • [ db9c37f792] - doc: prefer to sign commits under nodejs repository (Rafael Gonzaga)  #57311
  • [ e5e3987ae7] - doc: fixed the incorrect splitting of multiple words (letianpailove)  #57454
  • [ 91a824e43b] - doc: add review guidelines for collaborator nominations (Antoine du Hamel)  #57449
  • [ 2a5fcb2172] - doc: fix typo in url.md (Allon Murienik)  #57467
  • [ 17ccf9282f] - doc: add history info for --use-system-ca (Darshan Sen)  #57432
  • [ 9adaaeb965] - doc: remove typo YAML snippet from tls.getCACertificates doc (Darshan Sen)  #57459
  • [ ee4e855f8e] - doc: fix typo in sqlite.md (Tobias Nießen)  #57473
  • [ 8cb3441443] - doc: explicit mention arbitrary code execution as a vuln (Rafael Gonzaga)  #57426
  • [ 27f183ad03] - doc: update maintaining-openssl.md for openssl (Richard Lau)  #57413
  • [ ca67145d60] - doc: add missing deprecated badges in fs.md (Yukihiro Hasegawa)  #57384
  • [ 3687390510] - doc: fix small typo in process.md (Felix Rieseberg)  #57333
  • [ 097d9926e3] - doc: add note about sync nodejs-private branches (Rafael Gonzaga)  #57404
  • [ 5006627969] - fs: apply exclude function to root path (Rich Trott)  #57420
  • [ 0583c3db92] - http: coerce content-length to number (Marco Ippolito)  #57458
  • [ 2a580b9332] - lib: add warning when binding inspector to public IP (Demian Parkhomenko)  #55736
  • [ fda56b9837] - lib: limit split function calls to prevent excessive array length (Gürgün Dayıoğlu)  #57501
  • [ d5a26f6525] - lib: make getCallSites sourceMap option truly optional (James M Snell)  #57388
  • [ 00a5b18043] - meta: add some clarification to the nomination process (James M Snell)  #57503
  • [ d0c96c463c] - meta: remove collaborator self-nomination (Rich Trott)  #57537
  • [ a9a93f31ee] - meta: edit collaborator nomination process (Antoine du Hamel)  #57483
  • [ 0ca362f5f2] - meta: move ovflowd to emeritus (Claudio W.)  #57443
  • [ f8aff90235] - (SEMVER-MINOR) process: add execve (Paolo Insogna)  #56496
  • [ e8d4a31d4b] - sqlite: add support for unknown named parameters (Colin Ihrig)  #57552
  • [ 5652da642d] - sqlite: add DatabaseSync.prototype.isOpen (Colin Ihrig)  #57522
  • [ 5c976f16cd] - sqlite: add DatabaseSync.prototype[Symbol.dispose]() (Colin Ihrig)  #57506
  • [ 4b04c92d7d] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.columns() (Colin Ihrig)  #57490
  • [ 7f5e31645c] - src: ensure primordials are initialized exactly once (Chengzhong Wu)  #57519
  • [ 9611980f58] - src: improve error handling in multiple files (James M Snell)  #57507
  • [ 3ddc5cd875] - src: cache urlpattern properties (JonasBa)  #57465
  • [ b9d9ee4da2] - src: make minor cleanups in encoding_binding.cc (James M Snell)  #57448
  • [ f8acf2dd2a] - src: make minor cleanups in compile_cache.cc (James M Snell)  #57448
  • [ 6ee15c6509] - src: define urlpattern components using a macro (JonasBa)  #57452
  • [ 4ab3c1690a] - src: cleanup crypto more (James M Snell)  #57323
  • [ 5be80b1748] - src: refine ncrypto more (James M Snell)  #57300
  • [ 6a13319a6e] - src: cleanup aliased_buffer.h (Mohammed Keyvanzadeh)  #57395
  • [ 3cff7f80bb] - src: suggest --use-system-ca when a certificate error occurs (Aditi)  #57362
  • [ 3d372ad9f3] - test: update WPT for urlpattern to 6ceca69d26 (Node.js GitHub Bot)  #57486
  • [ 481ea665af] - test: add more number cases for buffer.indexOf (Meghan Denny)  #57200
  • [ 27b01ed4e7] - test: update parallel/test-tls-dhe for OpenSSL 3.5 (Richard Lau)  #57477
  • [ 8f7debcf41] - timers: optimize timer functions with improved argument handling (Gürgün Dayıoğlu)  #57072
  • [ d4abd9d3fb] - timers: remove unnecessary allocation of _onTimeout (Gürgün Dayıoğlu)  #57497
  • [ f8f81c8ba2] - timers: remove unused parameter from insertGuarded (Gürgün Dayıoğlu)  #57251
  • [ c4fdb27b51] - tls: remove unnecessary type check on normalize (Yagiz Nizipli)  #57336
  • [ ad5dcc5798] - tools: fix WPT update cron string (Antoine du Hamel)  #57665
  • [ 7faa482588] - tools: remove stalled label on unstalled issues and PRs (Rich Trott)  #57630
  • [ e3bb26da2b] - tools: update sccache to support GH cache changes (Michaël Zasso)  #57573
  • [ f0c9f505d9] - tools: bump @babel/helpers from 7.26.9 to 7.26.10 in /tools/eslint (dependabot[bot])  #57444
  • [ a40ff1f646] - url: fix constructor error message for URLPattern (jakecastelli)  #57482
  • [ f36bee4b89] - util: avoid run debug when enabled is false (fengmk2)  #57494
  • [ 1b8d1d3a3a] - (SEMVER-MINOR) util: expose diff function used by the assertion errors (Giovanni Bucci)  #57462
  • [ 1f7b08a317] - win,test: disable test case failing with ClangCL (Stefan Stojanovic)  #57397

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

Node.js — Node v23.11.0 (Current)