This is a cached version of https://nodejs.org/en/blog/release/v23.6.0 from 2/28/2026, 3:14:30 PM.
Node.js — Node.js 23.6.0 (Current)
Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.
Skip to contentNode.js 23.6.0 (Current)MIMarco IppolitoNode.js 23.6.0 (Current)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----- PreviousNode.js 22.13.0 (LTS)NextNode.js 23.5.0 (Current)