Node v23.6.0 (Current)

Marco Ippolito

Marco Ippolito

2025-01-07, Version 23.6.0 (Current), @marco-ippolito

Notable Changes

Unflagging --experimental-strip-types

This release enables the flag --experimental-strip-types by default. Node.js will be able to execute TypeScript files without additional configuration:

node file.ts

There are some limitations in the supported syntax documented at https://nodejs.org/api/typescript.html#type-stripping This feature is experimental and is subject to change.

Contributed by Marco Ippolito in #56350

Other Notable Changes

  • [c1023284c3] - (SEMVER-MINOR) lib: add typescript support to STDIN eval (Marco Ippolito) #56359
  • [8dc39e5e2e] - (SEMVER-MINOR) process: add process.ref() and process.unref() methods (James M Snell) #56400
  • [8b20cc212b] - (SEMVER-MINOR) worker: add eval ts input (Marco Ippolito) #56394

Commits

  • [7b4d288116] - assert: make partialDeepStrictEqual throw when comparing [0] with [-0] (Giovanni) #56237
  • [0ec2ed0a0b] - build: fix GN build for ngtcp2 (Cheng) #56300
  • [ab3e64630b] - build: test macos-13 on GitHub actions (Michaël Zasso) #56307
  • [46fb69daca] - build: build v8 with -fvisibility=hidden on macOS (Joyee Cheung) #56275
  • [9d4930b993] - deps: update simdutf to 5.7.2 (Node.js GitHub Bot) #56388
  • [6afe36397e] - deps: update amaro to 0.2.1 (Node.js GitHub Bot) #56390
  • [195990a0ee] - deps: update googletest to 7d76a23 (Node.js GitHub Bot) #56387
  • [b9c0852fc6] - deps: update googletest to e54519b (Node.js GitHub Bot) #56370
  • [eaefd90128] - deps: update ngtcp2 to 1.10.0 (Node.js GitHub Bot) #56334
  • [06de0c65cf] - deps: update simdutf to 5.7.0 (Node.js GitHub Bot) #56332
  • [03df76cdec] - doc: add example for piping ReadableStream (Gabriel Schulhof) #56415
  • [38ce249b07] - doc: expand description of parseArg's default (Kevin Gibbons) #54431
  • [ecc718cef2] - doc: use <ul> instead of <ol> in SECURITY.md (Antoine du Hamel) #56346
  • [3db4809130] - doc: clarify that WASM is trusted (Matteo Collina) #56345
  • [384ccbacd5] - doc: update macOS and Xcode versions for releases (Michaël Zasso) #56337
  • [3943986e88] - doc: fix the crc32 documentation (Kevin Toshihiro Uehara) #55898
  • [710b8fc6ed] - doc: add entry to changelog about SQLite Session Extension (Bart Louwers) #56318
  • [4c978b4d77] - doc: fix links in module.md (Antoine du Hamel) #56283
  • [cdb631efe7] - esm: add experimental support for addon modules (Chengzhong Wu) #55844
  • [db83d2f0ee] - Revert "events: add hasEventListener util for validate" (origranot) #56282
  • [c2baae84ce] - lib: refactor execution.js (Marco Ippolito) #56358
  • [c1023284c3] - (SEMVER-MINOR) lib: add typescript support to STDIN eval (Marco Ippolito) #56359
  • [e4b795ec4a] - lib: optimize prepareStackTrace on builtin frames (Chengzhong Wu) #56299
  • [d1b009b623] - lib: suppress source map lookup exceptions (Chengzhong Wu) #56299
  • [c2837f0805] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #56342
  • [72336233f2] - meta: move MoLow to TSC regular member (Moshe Atlow) #56276
  • [4f77920a9d] - module: fix async resolution error within the sync findPackageJSON (Jacob Smith) #56382
  • [e5ba216501] - (SEMVER-MINOR) module: unflag --experimental-strip-types (Marco Ippolito) #56350
  • [959f133a22] - module: support eval with ts syntax detection (Marco Ippolito) #56285
  • [717cfa4fac] - module: use buffer.toString base64 (Chengzhong Wu) #56315
  • [c2f4d8d688] - node-api: define version 10 (Gabriel Schulhof) #55676
  • [417a8ebdec] - node-api: remove deprecated attribute from napi_module_register (Vladimir Morozov) #56162
  • [8dc39e5e2e] - (SEMVER-MINOR) process: add process.ref() and process.unref() methods (James M Snell) #56400
  • [d194f1ab5f] - sqlite: pass conflict type to conflict resolution handler (Bart Louwers) #56352
  • [29f5d70452] - src: use v8::LocalVector consistently with other minor cleanups (James M Snell) #56417
  • [2a5543b78e] - src: use starts_with in fs_permission.cc (ishabi) #55811
  • [3a3f5c9a64] - stream: validate undefined sizeAlgorithm in WritableStream (Jason Zhang) #56067
  • [6e6f6b071a] - test: add ts eval snapshots (Marco Ippolito) #56358
  • [8a87e39052] - test: remove empty lines from snapshots (Marco Ippolito) #56358
  • [510649f617] - test: use unusual chars in the path to ensure our tests are robust (Antoine du Hamel) #48409
  • [54f6d681a0] - test: remove flaky designation (Luigi Pinca) #56369
  • [20ace0bb01] - test: remove test-worker-arraybuffer-zerofill flaky designation (Luigi Pinca) #56364
  • [b757e40525] - test: remove test-net-write-fully-async-hex-string flaky designation (Luigi Pinca) #56365
  • [64556baddc] - test: improve abort signal dropping test (Edy Silva) #56339
  • [accbdad329] - test: enable ts test on win arm64 (Marco Ippolito) #56349
  • [4188ee00d1] - test: deflake test-watch-file-shared-dependency (Luigi Pinca) #56344
  • [079cee0609] - test: skip test-sqlite-extensions when SQLite is not built by us (Antoine du Hamel) #56341
  • [96a38044ee] - test: increase spin for eventloop test on s390 (Michael Dawson) #56228
  • [c062ffc242] - test: add coverage for pipeline (jakecastelli) #56278
  • [d4404f0d0e] - test: migrate message eval tests from Python to JS (Yiyun Lei) #50482
  • [9369942745] - test: check typescript loader (Marco Ippolito) #54657
  • [4930244484] - test: remove async-hooks/test-writewrap flaky designation (Luigi Pinca) #56048
  • [7819bfec69] - test: deflake test-esm-loader-hooks-inspect-brk (Luigi Pinca) #56050
  • [e9762bf005] - test: add test case for listeners (origranot) #56282
  • [c1627e9d19] - test: make test-permission-sqlite-load-extension more robust (Antoine du Hamel) #56295
  • [97d854e1d5] - test_runner,cli: mark test isolation as stable (Colin Ihrig) #56298
  • [a4f336fdd4] - tools: fix require-common-first lint rule from subfolder (Antoine du Hamel) #56325
  • [dc3dafcb50] - tools: add release line label when opening release proposal (Antoine du Hamel) #56317
  • [2a5ac932ac] - url: use resolved path to convert UNC paths to URL (Antoine du Hamel) #56302
  • [8b20cc212b] - (SEMVER-MINOR) worker: add eval ts input (Marco Ippolito) #56394

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

SHASUMS

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

6320c05068ec7d34997d11a343eab0360ff7c59711c69116446056918c868b45  node-v23.6.0-aix-ppc64.tar.gz
d45c16ed0206db0fa92d8ca65d60797140f8bfa2a9e454e41cec6a4f0ba957a6  node-v23.6.0-arm64.msi
93e84485e41e7f35246e11329ea920ee5a8e7e12e90bfcea2f8205953c869bc2  node-v23.6.0-darwin-arm64.tar.gz
764857a0ab3cb956f16baeb05f89007d9ee1d9daa70c98d45005da0a35e769a0  node-v23.6.0-darwin-arm64.tar.xz
009f4b4955ddbebaad86e306ad4c65b568f06fd76d855e7fd617eb2748cd5f2d  node-v23.6.0-darwin-x64.tar.gz
ebc91565c93053b4fd9d04770960752328091b40df123c8ef8a7d4c61ae05934  node-v23.6.0-darwin-x64.tar.xz
f0c76e11bfbc9ca671a726c212946f8be3ba5608ecc5eff75032cb25fbf2a6a3  node-v23.6.0-headers.tar.gz
d748448b26bba978acd274eb0a04c8e883d4fbc156dbc6b7ea5b6dedd0e6a74f  node-v23.6.0-headers.tar.xz
f851e86f5022949a02329230fd1cf374a7485bf8826596b090c4c950698b9e0d  node-v23.6.0-linux-arm64.tar.gz
7554f6ed6171d0e25938978a67868cadb6eed6f0393ed72b6aaf8f1195028ec2  node-v23.6.0-linux-arm64.tar.xz
60a319b55afa11c646066a6c1f1a368d586e40bd27fa38c855acccae7f262065  node-v23.6.0-linux-armv7l.tar.gz
c2f09d6f7f7d1c7d0a9fa489bf892405c3edd7edefdff3e864584cf23d869ac4  node-v23.6.0-linux-armv7l.tar.xz
6fcf84abbd9fa95856664e3cbd28b8359dde7d46b6831dc8d240184285fea93a  node-v23.6.0-linux-ppc64le.tar.gz
9b1ce4f04edd33f9cc356ca5af54eb1264b3f4a1de58c246c41d34518df16903  node-v23.6.0-linux-ppc64le.tar.xz
3d3a5fe270de4f0e5f3b3c4a9023d9fdbf3c269656e37c4b52c17f2ad67f547c  node-v23.6.0-linux-s390x.tar.gz
3cfd38f7ee8578d9c1358a86e648ea8084c5f6afc379b4bd4c5676275f07794e  node-v23.6.0-linux-s390x.tar.xz
14a2b49629e74820bd6d94b92498f658774e3819bb71b0cb8b3717d9c0c81b70  node-v23.6.0-linux-x64.tar.gz
90e3c96e2464978e8309db2e8bb7c5c1b606f85afa80314195f01c30eccf4ffc  node-v23.6.0-linux-x64.tar.xz
cfe71d64ded340cae85cc734645a4aacab2355186ec3a45f43953f2af71ad859  node-v23.6.0.pkg
9cd2aaa44d7d658833bb03ab4ce4c57273ba4c9b716094c931c709e6948fd71d  node-v23.6.0.tar.gz
d6f3f136dc26d61bd1bafae2a9fc0d5e7f713a6f0067c5e10351bc7ca6574dcd  node-v23.6.0.tar.xz
f3cbe62de5d09e95ec574af1b4004da34590c8c32720057b8fd3d5dfbd4de0b2  node-v23.6.0-win-arm64.7z
e553f0841582570875b667aaa0bd9b94c37e558c909cab9505a85db23f3a7c65  node-v23.6.0-win-arm64.zip
f68d5ac65b8b5607eb5cc613c7b70c5bae09cad827e5a9c35beacfbeace92911  node-v23.6.0-win-x64.7z
9daeb5894273b820fb3bf2485aa433ff9653feb2c1a3daebd1a06b0e4fbe4309  node-v23.6.0-win-x64.zip
d6113ec6743a5da957c9cd47189942c5e7d5a2304d1e12e3cdf255f1cfb84d43  node-v23.6.0-x64.msi
f580fef0a0b05a0c191196c6dbca1b46b6eda8081b0be20f4db205048de26a7a  win-arm64/node.exe
46a85ee5432885387948e02ced2499975b34cc2080ea3ed4e99b6c7323d38d74  win-arm64/node.lib
bd85da81c92e27372a1a1aff63f3950407db919ad7a3fcdb176ce66bbd5faecd  win-arm64/node_pdb.7z
466beaa7ec64d742340711c04f936f2ec49af16aaf15bcc85a62ba416e181620  win-arm64/node_pdb.zip
6436502ba62375ca9bc30840428145bc9e34f21d80129d2684c9e42277b10067  win-x64/node.exe
4a54d5aeab30bb14dbad9260f6430c81f1e1afb430c68c40f6e5fec7ce288e2e  win-x64/node.lib
409233a718d91323ca0c1e7d356510ce06d10ddbc7442158d411053e3ffd99e2  win-x64/node_pdb.7z
bd10fad5a054735243b113dccb41ed7c94878f15f188356fbedd5db2ad561fa2  win-x64/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEzGj1oxBv9EgyLkjtJ/XjjVsKIV8FAmd9ZJAACgkQJ/XjjVsK
IV9w6w//TDx7zCLA3y59coOIujjdhW3H0azpcCtKXT5KnjlajUKBg/FNwXbNg8ja
plzm2/C0UkZmoJFkF7rX+Lmb9SY3QfuWdFYJsX1akX5fQuh7bKG3neupWOcS+WF8
oJk2a2QaGhZFVCXCYI8JNKWtMtAxfgeop/sTlBDw3iqgdPGNFxUbv8ukv89lHMrK
rWKxd3DIglugRPPWN4LA1bKvpSONhSKOrjV+ct3WY1DY/tSFFpgIRyqOXIJ+LBuk
vSlbjZLfPpeFYUlPC9pIXOkLaWFb4s+Cjm164z76+YQb5lC+EgTpDoJGGQ3qn/Ux
Gj1KPiFb1WTKJ0IcLl6xDx7lHnmknVKxchNGEHpp7tZGdWt23Gjty/pbDBEiGCuo
CxMS7ATx7vOMMDBsvtlCnDx3d3bVDXbfrvO4SiDwjChm3YoaAQqzz1Q4eN6HKxDH
Ca8kpOW+nVBLPz7DLIfIc/+QpNquEIAwSTX2DKdGVA5xYQkXYaPVrQOiaIAp33jB
sMMlTqNWqpIB+mHLyW5VfwKT4vGfAG+0ZJSYDxRa99hhu+nuvjEV9syc8xyRtOXw
hw1MAwuRDMeo8W7lK0602RWEo+GHz3VmWdX9ft7dZ2FIziyIG/rFw6aP8tFE2ETJ
ZlwU3KdrCyaqmjitSBLlPL7vOB3z4I2QohUgkAHYzoH8sRo7Jps=
=5/XI
-----END PGP SIGNATURE-----