Skip to content

Node.js 24.13.1 (LTS)

Antoine du Hamel

2026-02-10, Version 24.13.1 'Krypton' (LTS), @aduh95

Notable Changes

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

Commits

  • [a73279c60d] - assert: use a set instead of an array for faster lookup (Ruben Bridgewater) #61076
  • [6a61bcd73c] - assert,util: fix deep comparison for sets and maps with mixed types (Ruben Bridgewater) #61388
  • [cf0eabcd42] - assert,util: improve deep comparison performance (Ruben Bridgewater) #61076
  • [ff3b9ac183] - benchmark: add SQLite benchmarks (Guilherme Araújo) #61401
  • [e1f7d68c94] - benchmark: use boolean options in benchmark tests (SeokhunEom) #60129
  • [91127c91cd] - benchmark: allow boolean option values (SeokhunEom) #60129
  • [170fda55f6] - benchmark: add microbench on isInsideNodeModules (Chengzhong Wu) #60991
  • [3976381b41] - benchmark: fix incorrect base64 input in byteLength benchmark (semimikoh) #60841
  • [c702fccd76] - benchmark: use typescript for import cjs benchmark (Joyee Cheung) #60663
  • [92c517c62d] - buffer: make methods work on Uint8Array instances (Neal Beeken) #56578
  • [be95382edb] - buffer: let Buffer.of use heap (Сковорода Никита Андреевич) #60503
  • [1f64d6841e] - build: test on Python 3.14 (Christian Clauss) #59983
  • [ea4687981b] - build: update android-patches/trap-handler.h.patch (Mo Luo) #60369
  • [b3a7a8c780] - build: update devcontainer.json to use paired nix env (Joyee Cheung) #61414
  • [7168d0b5e3] - build: add embedtest into native suite (Joyee Cheung) #61357
  • [e00755a977] - build: fix misplaced comma in ldflags (hqzing) #61294
  • [72fcc3ee9d] - build: fix crate vendor file checksums on windows (Chengzhong Wu) #61329
  • [76a73d68fd] - build: expose libplatform symbols in shared libnode (Joyee Cheung) #61144
  • [ef8d26ce5c] - build: fix inconsistent quoting in Makefile (Antoine du Hamel) #60511
  • [2d23968783] - build: remove temporal updater (Chengzhong Wu) #61151
  • [4c2655f1c2] - build: update test-wpt-report to use NODE instead of OUT_NODE (Filip Skokan) #61024
  • [eaea6821fc] - build: skip build-ci on actions with a separate test step (Chengzhong Wu) #61073
  • [dfd4e12037] - build: run embedtest with node_g when BUILDTYPE=Debug (Chengzhong Wu) #60850
  • [775c77234b] - build,tools: fix addon build deadlock on errors (Vladimir Morozov) #61321
  • [5deafc10fa] - build,win: improve logs when ClangCL is missing (Mike McCready) #61438
  • [e2481c5c6e] - build,win: update WinGet configurations to Python 3.14 (Mike McCready) #61431
  • [d2586b7e4c] - child_process: treat ipc length header as unsigned uint32 (Ryuhei Shima) #61344
  • [30e500fc09] - cli: mark --heapsnapshot-near-heap-limit as stable (Joyee Cheung) #60956
  • [2c7da15612] - cluster: fix port reuse between cluster (Ryuhei Shima) #60141
  • [bc0a55f086] - crypto: update root certificates to NSS 3.119 (Node.js GitHub Bot) #61419
  • [2d5f20e9c3] - crypto: update root certificates to NSS 3.117 (Node.js GitHub Bot) #60741
  • [fba95be188] - deps: update archs files for openssl-3.5.5 (Node.js GitHub Bot) #61547
  • [08697289e0] - deps: upgrade openssl sources to openssl-3.5.5 (Node.js GitHub Bot) #61547
  • [403c50c04d] - deps: update corepack to 0.34.6 (Node.js GitHub Bot) #61510
  • [3b24691aeb] - deps: upgrade npm to 11.8.0 (npm team) #61466
  • [2bba7efdc4] - deps: update googletest to 85087857ad10bd407cd6ed2f52f7ea9752db621f (Node.js GitHub Bot) #61417
  • [8f8c6f6162] - deps: update sqlite to 3.51.2 (Node.js GitHub Bot) #61339
  • [c46009053c] - deps: update icu to 78.2 (Node.js GitHub Bot) #60523
  • [b46b8dd91b] - deps: update ada to v3.4.0 (Yagiz Nizipli) #61315
  • [88c6b17e18] - deps: update zlib to 1.3.1-e00f703 (Node.js GitHub Bot) #61135
  • [0030c05ba9] - deps: update cjs-module-lexer to 2.2.0 (Node.js GitHub Bot) #61271
  • [77437cff89] - deps: update nbytes to 0.1.2 (Node.js GitHub Bot) #61270
  • [fb0f05a937] - deps: update timezone to 2025c (Node.js GitHub Bot) #61138
  • [b426a47c05] - deps: nghttp2: revert 7784fa979d0b (Antoine du Hamel) #61136
  • [c07a38f700] - deps: update nghttp2 to 1.68.0 (nodejs-github-bot) #61136
  • [c2ddc9a18b] - deps: update simdjson to 4.2.4 (Node.js GitHub Bot) #61056
  • [f38cd6da8e] - deps: update googletest to 065127f1e4b46c5f14fc73cf8d323c221f9dc68e (Node.js GitHub Bot) #61055
  • [a9a6a4cdb2] - deps: brotli: cherry-pick e230f474b87 (liujiahui) #61003
  • [5a40023aae] - deps: upgrade npm to 11.7.0 (npm team) #61011
  • [4121e7a413] - deps: update sqlite to 3.51.1 (Node.js GitHub Bot) #60899
  • [e8a09fc896] - deps: update zlib to 1.3.1-63d7e16 (Node.js GitHub Bot) #60898
  • [8df5862ee5] - deps: upgrade npm to 11.6.4 (npm team) #60853
  • [6c1c8cbdcc] - deps: update sqlite to 3.51.0 (Node.js GitHub Bot) #60614
  • [2d1efc7c1b] - deps: upgrade npm to 11.6.3 (npm team) #60785
  • [3a2de1c23b] - deps: update brotli to 1.2.0 (Node.js GitHub Bot) #60540
  • [58c5d40bd1] - deps: update simdjson to 4.2.2 (Node.js GitHub Bot) #60740
  • [e6b607ef50] - deps: update googletest to 1b96fa13f549387b7549cc89e1a785cf143a1a50 (Node.js GitHub Bot) #60739
  • [650c9e0305] - deps: update minimatch to 10.1.1 (Node.js GitHub Bot) #60543
  • [ef1951d5d5] - deps: update inspector_protocol to 1b1bcbbe060e8c8cd8704f00f78978c50991 (Node.js GitHub Bot) #60705
  • [eb068305dd] - deps: update cjs-module-lexer to 2.1.1 (Node.js GitHub Bot) #60646
  • [ee1d99131c] - deps: update simdjson to 4.2.1 (Node.js GitHub Bot) #60644
  • [23582967b7] - deps: V8: cherry-pick 1441665e0d87 (Domagoj Stolfa) #60989
  • [155eaedff2] - deps: V8: cherry-pick 394a8053b59e (Lu Yahan) #60962
  • [c95a4a0f43] - deps: V8: backport bbaae8e36164 (Lu Yahan) #60962
  • [6f123f186d] - doc: move Security-Team from TSC to SECURITY (Rafael Gonzaga) #61495
  • [2e3337d15b] - doc: added requestOCSP option to tls.connect (ikeyan) #61064
  • [f505f81577] - doc: restore @ChALkeR to collaborators (Сковорода Никита Андреевич) #61553
  • [12fb95d0c9] - doc: update IBM/Red Hat volunteers with dedicated project time (Beth Griggs) #61588
  • [283ab61ed2] - doc: align Buffer.concat documentation with behavior (Gürgün Dayıoğlu) #60405
  • [fc9c906d5f] - doc: remove v prefix for version references (Mike McCready) #61488
  • [4a88ed09e8] - doc: mention constructor comparison in assert.deepStrictEqual (Hamza Kargin) #60253
  • [9b29d56491] - doc: add CVE delay mention (Rafael Gonzaga) #61465
  • [4815e4ac52] - doc: update previous version links in BUILDING (Mike McCready) #61457
  • [8a43244e6c] - doc: include OpenJSF handle for security stewards (Rafael Gonzaga) #61454
  • [89a7f184a1] - doc: clarify process.argv[1] behavior for -e/--eval (Jeevankumar S) #61366
  • [b4041aba1c] - doc: remove Windows Dev Home instructions from BUILDING (Mike McCready) #61434
  • [fa7830bac0] - doc: clarify TypedArray properties on Buffer (Roman Reiss) #61355
  • [45663c8956] - doc: update Python 3.14 manual install instructions (Windows) (Mike McCready) #61428
  • [0248357f26] - doc: note resume build should not be done on node-test-commit (Stewart X Addison) #61373
  • [b254bab513] - doc: refine WebAssembly error documentation (sangwook) #61382
  • [8aca37c6ef] - doc: add deprecation history for url.parse (Eng Zer Jun) #61389
  • [8047ac3aac] - doc: add marco and rafael in last sec release (Marco Ippolito) #61383
  • [61190bf4b4] - doc: packages: example of private import switch to internal (coderaiser) #61343
  • [346311c42f] - doc: add esm and cjs examples to node:v8 (Alfredo González) #61328
  • [c07c80717c] - doc: added 'secure' event to tls.TLSSocket (ikeyan) #61066
  • [9f68d30f11] - doc: restore @watilde to collaborators (Daijiro Wachi) #61350
  • [a3b08ddb51] - doc: run license-builder (github-actions[bot]) #61348
  • [4990812dd9] - doc: document ALPNCallback option for TLSSocket constructor (ikeyan) #61331
  • [89e9d19693] - doc: update MDN links (Livia Medeiros) #61062
  • [dcffa88fec] - doc: correct description of error.stack accessor behavior (René) #61090
  • [31476cd4d1] - doc: add documentation for process.traceProcessWarnings (Alireza Ebrahimkhani) #53641
  • [99c783b9ec] - doc: add sqlite session disposal method (René) #61273
  • [c7764bed35] - doc: fix filename typo (Hardanish Singh) #61297
  • [0f16bca9d8] - doc: fix typos and grammar in BUILDING.md & onboarding.md (Hardanish Singh) #61267
  • [4b691b562d] - doc: mention --newVersion release script (Rafael Gonzaga) #61255
  • [32e56ab71f] - doc: correct typo in api contributing doc (Mike McCready) #61260
  • [9ebf1ffbeb] - doc: add PR-URL requirement for security backports (Rafael Gonzaga) #61256
  • [940f83d95d] - doc: add reusePort error behavior to net module (mag123c) #61250
  • [8881859ee0] - doc: note corepack package removal in distribution doc (Mike McCready) #61207
  • [03a1540cd1] - doc: fix tls.connect() timeout documentation (Azad Gupta) #61079
  • [816ce7530d] - doc: missing passed, error and passed properties on TestContext (Xavier Stouder) #61185
  • [d825c8858a] - doc: clarify threat model for application-level API exposure (Rafael Gonzaga) #61184
  • [a3dd30d0e0] - doc: correct options for net.Socket class and socket.connect (Xavier Stouder) #61179
  • [c3e776becd] - doc: document error event on readline InterfaceConstructor (Xavier Stouder) #61170
  • [05a6372d30] - doc: add a smooth scrolling effect to the sidebar (btea) #59007
  • [76a7eb09ef] - doc: fix test settime docs (Efe) #61117
  • [bcbbde6ccc] - doc: correct invalid collaborator profile (JJ) #61091
  • [084741d09d] - doc: add a tip about developer mode on Windows (Joyee Cheung) #61112
  • [ed4de371d3] - doc: exclude compile-time flag features from security policy (Matteo Collina) #61109
  • [3999c2a910] - doc: add @avivkeller to collaborators (Aviv Keller) #61115
  • [f3ec066f1a] - doc: warn about short GCM tags visibly (Tobias Nießen) #61082
  • [fa542fbae6] - doc: add gurgunday to collaborators (Gürgün Dayıoğlu) #61094
  • [49f36722dc] - doc: mark sync module hooks as release candidate (Joyee Cheung) #60960
  • [a0adc6afd2] - doc: reorganize docs of module customization hooks (Joyee Cheung) #60960
  • [a4097ca048] - doc: mark crypto.hash as stable (Joyee Cheung) #60994
  • [8a67c00bf5] - doc: mark --build-snapshot and --build-snapshot-config as stable (Joyee Cheung) #60954
  • [0c83169c35] - doc: add File modes cross-references in fs methods (Mohit Raj Saxena) #60286
  • [dae815262a] - doc: add missing zstd to mjs example of zlib (Deokjin Kim) #60915
  • [28b284880e] - doc: clarify fileURLToPath security considerations (Rafael Gonzaga) #60887
  • [6c440af39b] - doc: show the use of string expressions in the SQLTagStore example (schliepa) #60873
  • [4c5b62209c] - doc: replace column with columnNumber in example of util.getCallSites (Deokjin Kim) #60881
  • [8875c9148e] - doc: correct spelling in BUILDING.md (Rich Trott) #60875
  • [d6cb762426] - doc: update debuglog examples to use 'foo-bar' instead of 'foo' (xiaoyao) #60867
  • [9eae518796] - doc: correct 'event handle' to 'event handler' in Utf8Stream drop event (Riddhi) #60692
  • [c3c3ed27c1] - doc: fix typos in changelogs (Rich Trott) #60855
  • [1b975e3017] - doc: mark module.register as active development (Chengzhong Wu) #60849
  • [6a6fc0c851] - doc: add fullName property to SuiteContext (PaulyBearCoding) #60762
  • [8347d734e6] - doc: add additional codemods for deprecation (Augustin Mauroy) #60811
  • [7cc87037c3] - doc: keep sidebar module visible when navigating docs (Botato) #60410
  • [1c6618f643] - doc: correct concurrency wording in test() documentation (Azad Gupta) #60773
  • [488208004e] - doc: clarify that CQ only picks up PRs targeting main (René) #60731
  • [34517940c2] - doc: clarify license section and add contributor note (KaleruMadhu) #60590
  • [f080721df4] - doc: correct and expand documentation for SQLTagStore (René) #60200
  • [be3d26709d] - doc: correct tls ALPNProtocols types (René) #60143
  • [ef82c53131] - doc: remove mention of SMS 2FA (Antoine du Hamel) #60707
  • [11b190f63e] - doc: add info about renamed flag in cli.md (Antoine du Hamel) #60690
  • [59db9bc654] - doc: fix incorrect slh-dsa oids in crypto.md (Artsiom Malakhau) #60681
  • [ad52750cf6] - doc: domain.add() does not accept timer objects (René) #60675
  • [2592d94e29] - doc: fix v24 changelog after security release (Marco Ippolito) #61371
  • [e0f4ad0af0] - doc,test: add documentation and test on how to use addons in SEA (Joyee Cheung) #59582
  • [13af640d94] - esm: ensure watch mode restarts after syntax errors (Xavier Stouder) #61232
  • [31afe95d15] - esm: avoid throw when module specifier is not url (Craig Macomber (Microsoft)) #61000
  • [311a04cf2d] - esm: improve error messages for ambiguous module syntax (mag123c) #60376
  • [cacef92937] - events: remove redundant todo (Gürgün Dayıoğlu) #60595
  • [42e1f72561] - events: remove eventtarget custom inspect branding (Efe) #61128
  • [fd8b61369b] - fs: remove duplicate getValidatedPath calls (Mert Can Altin) #61359
  • [9bb9fc7f2c] - fs: fix errorOnExist behavior for directory copy in fs.cp (Nicholas Paun) #60946
  • [55a3c70780] - fs: fix ENOTDIR in globSync when file is treated as dir (sangwook) #61259
  • [073a145095] - fs: remove duplicate fd validation in sync functions (Mert Can Altin) #61361
  • [b132ecdf60] - fs: validate statfs path (Efe) #61230
  • [0ed0a30f74] - fs: fix rmSync to handle non-ASCII characters (Yeaseen) #61108
  • [99632b1a3b] - fs: remove broken symlinks in rmSync (sangwook) #61040
  • [9cb6757a67] - fs: detect dot files when using globstar (Robin van Wijngaarden) #61012
  • [e22aad19e0] - gyp: aix: change gcc version detection so CXX="ccache g++" works (Stewart X Addison) #61464
  • [59d94ba7e7] - http: fix rawHeaders exceeding maxHeadersCount limit (Max Harari) #61285
  • [ae6a1fd40a] - http,https: fix double ERR_PROXY_TUNNEL emission (Shima Ryuhei) #60699
  • [53bfbaa4b1] - http2: validate initialWindowSize per HTTP/2 spec (Matteo Collina) #61402
  • [14b421b677] - http2,zlib: prefer call() over apply() if argument list is not array (Livia Medeiros) #60834
  • [32b03d0604] - (CVE-2025-59465) lib: add TLSSocket default error handler (RafaelGSS) nodejs-private/node-private#750
  • [4ef7a6c77e] - lib: backport _tls_common and _tls_wrap refactors (Dario Piotrowicz) #57643
  • [820e0a5cfa] - lib: fix typo in util.js comment (Taejin Kim) #61365
  • [8de391e1cb] - lib: fix TypeScript support check in jitless mode (sangwook) #61382
  • [f22f622b3e] - lib: add lint rules for reflective function calls (Michaël Zasso) #60825
  • [603f0bf8e1] - lib: implement all 1-byte encodings in js (Сковорода Никита Андреевич) #61093
  • [1c0a1aa5ef] - lib: gbk decoder is gb18030 decoder per spec (Сковорода Никита Андреевич) #61099
  • [2cf963df73] - lib: enforce use of URLParse (Antoine du Hamel) #61016
  • [bb90630470] - lib: use FastBuffer for empty buffer allocation (Gürgün Dayıoğlu) #60558
  • [10893a6f13] - lib: refactor JWK import PQC support check (Filip Skokan) #60586
  • [d43806291f] - lib,src: isInsideNodeModules should test on the first non-internal frame (Chengzhong Wu) #60991
  • [0bb8f5fe03] - lib,src,test: fix tests without SQLite (Antoine du Hamel) #60906
  • [f3fe0e7fc2] - lib,test: enforce use of assert.fail via a lint rule (Antoine du Hamel) #61004
  • [8b783d46ef] - meta: do not fast-track npm updates (Antoine du Hamel) #61475
  • [de4a11b50e] - meta: fix typos in issue template config (Daijiro Wachi) #61399
  • [97b1492783] - meta: label v8 module PRs (René) #61325
  • [9bf899b743] - meta: bump step-security/harden-runner from 2.13.2 to 2.14.0 (dependabot[bot]) #61245
  • [4df7134324] - meta: bump actions/setup-node from 6.0.0 to 6.1.0 (dependabot[bot]) #61244
  • [ff98f610d8] - meta: bump actions/cache from 4.3.0 to 5.0.1 (dependabot[bot]) #61243
  • [86950a41ab] - meta: bump github/codeql-action from 4.31.6 to 4.31.9 (dependabot[bot]) #61241
  • [96901b4828] - meta: bump codecov/codecov-action from 5.5.1 to 5.5.2 (dependabot[bot]) #61240
  • [c90fc7c0d3] - meta: bump peter-evans/create-pull-request from 7.0.9 to 8.0.0 (dependabot[bot]) #61237
  • [f130d4b6de] - meta: move lukekarrys to emeritus (Node.js GitHub Bot) #60985
  • [416f34ccfc] - meta: bump actions/setup-python from 6.0.0 to 6.1.0 (dependabot[bot]) #60927
  • [2239939305] - meta: bump github/codeql-action from 4.31.3 to 4.31.6 (dependabot[bot]) #60926
  • [7f146b6a97] - meta: bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (dependabot[bot]) #60924
  • [d9020f0089] - meta: bump github/codeql-action from 4.31.2 to 4.31.3 (dependabot[bot]) #60770
  • [4bba259d3b] - meta: bump step-security/harden-runner from 2.13.1 to 2.13.2 (dependabot[bot]) #60769
  • [ff11eda2f2] - meta: add Renegade334 to collaborators (Renegade334) #60714
  • [e3b5593c0f] - module: fix sync resolve hooks for require with node: prefixes (Joyee Cheung) #61088
  • [edec5be805] - module: preserve URL in the parent created by createRequire() (Joyee Cheung) #60974
  • [5cc3596eb4] - node-api: fix node_api_create_object_with_properties name (Vladimir Morozov) #61319
  • [179162fe42] - node-api: use Node-API in comments (Vladimir Morozov) #61320
  • [b3fe457a89] - node-api: add napi_set_prototype (siaeyy) #60711
  • [1e13e84f16] - node-api: fix data race and use-after-free in napi_threadsafe_function (Mika Fischer) #55877
  • [36ce6d636d] - node-api: add support for Float16Array (Ilyas Shabi) #58879
  • [95e6659e2b] - node-api: support SharedArrayBuffer in napi_create_dataview (Kevin Eady) #60473
  • [54f58e2fb2] - os: freeze signals constant (Xavier Stouder) #61038
  • [31489310f8] - process: improve process.cwd() error message (TseIan) #61164
  • [f7450a90ed] - repl: move completion logic to internal module (Dario Piotrowicz) #59889
  • [27117625df] - sqlite: add some tests (Guilherme Araújo) #61410
  • [d56066ce8c] - sqlite: improve error messages for tag store (Pramit Sharma) #61096
  • [9d993be6c1] - sqlite: make SQLTagStore.prototype.size a getter (René) #60246
  • [ceaa200d16] - src: improve StringBytes::Encode perf on UTF8 (Сковорода Никита Андреевич) #61131
  • [034a5f2346] - src: add missing override specifier to Clean() (Tobias Nießen) #61429
  • [977f46cc20] - src: cache context lookup in vectored io loops (Mert Can Altin) #61387
  • [bb9e4e0784] - src: cache missing package.json files in the C++ package config cache (Michael Smith) #60425
  • [c1aa9f49cd] - src: use starts_with instead of rfind/find (Tobias Nießen) #61426
  • [d3676d0a82] - src: use C++ nullptr in sqlite (Tobias Nießen) #61416
  • [001be8aa7c] - src: use C++ nullptr in webstorage (Tobias Nießen) #61407
  • [4f832b1e3d] - src: fix pointer alignment (jhofstee) #61336
  • [a0a8c96fd1] - src: dump snapshot source with node:generate_default_snapshot_source (Joyee Cheung) #61101
  • [b6d3caeda8] - src: improve StringBytes::Encode perf on ASCII (Сковорода Никита Андреевич) #61119
  • [9c80e5ac87] - src: add HandleScope to edge loop in heap_utils (Mert Can Altin) #60885
  • [09ccd94312] - src: remove redundant CHECK (Tobias Nießen) #61130
  • [6008354b8a] - src: remove unused private field in SQLTagStore (Michaël Zasso) #61027
  • [7484a34a7d] - src: implement Windows-1252 encoding support and update related tests (Mert Can Altin) #60893
  • [47851db855] - src: fix off-thread cert loading in bundled cert mode (Joyee Cheung) #60764
  • [4702a8696b] - src: handle DER decoding errors from system certificates (Joyee Cheung) #60787
  • [19a4926965] - src: use static_cast instead of C-style cast (Michaël Zasso) #60868
  • [6529334dec] - src: add test flag to config file (Marco Ippolito) #60798
  • [d153b30773] - src: split inspector protocol domains files (Chengzhong Wu) #60754
  • [7191b847c6] - src,permission: fix permission.has on empty param (Rafael Gonzaga) #60674
  • [a188b954bb] - src,permission: add debug log on is_tree_granted (Rafael Gonzaga) #60668
  • [b483b5a8ea] - stream: export namespace object from internal end-of-stream module (René) #61455
  • [0472104536] - stream: fix isErrored/isWritable for WritableStreams (René) #60905
  • [dd13f1046f] - test: skip --build-sea tests on platforms where SEA is flaky (Joyee Cheung) #61504
  • [6c18bf26f4] - test: update WPT for url to 81a2aed262 (Node.js GitHub Bot) #61509
  • [f511c24d6b] - test: fix flaky debugger test (Ryuhei Shima) #58324
  • [41710ba953] - test: ensure removeListener event fires for once() listeners (sangwook) #60137
  • [0035f3fa0f] - test: delay writing the files only on macOS (Luigi Pinca) #61532
  • [99c29eb261] - test: add implicit test for fs dispose handling with using (Ilyas Shabi) #61140
  • [e349d34c8a] - test: check new WebCryptoAPI enum values (Filip Skokan) #61406
  • [e75617d25f] - test: split test-esm-loader-hooks (Joyee Cheung) #61374
  • [42110af62a] - test: aix: mark test-emit-on-destroyed as flaky (Stewart X Addison) #61381
  • [180fdbf188] - test: update url web-platform tests (Yagiz Nizipli) #61315
  • [4bac4ecd9d] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60761
  • [39ca74e57e] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60759
  • [7327b04875] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60726
  • [fd6601c710] - test: asserts that import.meta.resolve invokes sync loader hooks (Chengzhong Wu) #61158
  • [da4d4d4fde] - test: check util.parseArgs argv parsing with actual process execution (René) #61089
  • [368b32d410] - test: update WPT for urlpattern to a2e15ad405 (Node.js GitHub Bot) #61134
  • [e880062de8] - test: make buffer sizes 32bit-aware in test-internal-util-construct-sab (René) #61026
  • [f2706e1166] - test: remove unneccessary repl magic_mode tests (Dario Piotrowicz) #61053
  • [327dd25f86] - test: skip sea tests on riscv64 (Stewart X Addison) #61111
  • [6da34027e2] - test: simplify test-cli-node-options-docs (Antoine du Hamel) #61006
  • [74df70d1da] - test: mark stringbytes-external-max flaky on AIX (Stewart X Addison) #60995
  • [5513338446] - test: update test426 fixtures (Rich Trott) #60982
  • [9f594f53a7] - test: update WPT for urlpattern to aed1f3d244 (Node.js GitHub Bot) #60642
  • [18e3b91bf1] - test: deflake test-repl-paste-big-data (Livia Medeiros) #60975
  • [28ecdc5c98] - test: skip SEA inspect test if inspector is not available (Livia Medeiros) #60872
  • [24a50b31e0] - test: update WPT for WebCryptoAPI to 1e4933113d (Node.js GitHub Bot) #60896
  • [78ad2f4dad] - test: lint more assert(regexp.test(...)) cases (René) #60878
  • [280d567e1c] - test: use assert.match for non-literal regexp tests (René) #60879
  • [74b14258cb] - test: fix embedtest in debug windows (Vladimir Morozov) #60806
  • [163c17de51] - test: skip failing tests when compiled without amaro (Yuki Okita) #60815
  • [5763a304d2] - test: fix debug test crashes caused by sea tests (Vladimir Morozov) #60807
  • [1fb83e240d] - test: add lint rule to forbid use of assert.ok(/regex/.test(…)) (Antoine du Hamel) #60832
  • [8c97827913] - test: replace deprecated regex test assertions in http trailers test (Aditya Chopra) #60831
  • [a88bffeedc] - test: prefer major GC in cppgc-object teardown (sangwook) #60672
  • [2e2963f3ed] - test: ensure assertions are reached on HTTP2 tests (Antoine du Hamel) #60730
  • [9b748942ec] - test: ensure assertions are reached on HTTP tests (Antoine du Hamel) #60729
  • [37947e0adf] - test: skip test that cause timeout on IBM i (SRAVANI GUNDEPALLI) #60700
  • [357825979e] - test: add missing r.close() calls in REPL multiline tests (sangwook) #60226
  • [ccecbd9f80] - test: update WPT for WebCryptoAPI to c58b6f4e0e (Node.js GitHub Bot) #60702
  • [63a2400c64] - test: limit the concurrency of WPTRunner for RISC-V (Levi Zim) #60591
  • [ec40989dfb] - test: fix test-strace-openat-openssl for RISC-V (Levi Zim) #60588
  • [b09129df18] - test: split test-runner-run-watch.mjs (Joyee Cheung) #60653
  • [0f05221aec] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60641
  • [078cfa2cd6] - test_runner: fix memory leaks in runner (Abhishek Kv. Savani) #60860
  • [73146e9c50] - test_runner: fix coverage report when a directory is named file (Heath Dutton🕴️) #61169
  • [8fc61e45e2] - test_runner: print info when test restarts (Xavier Stouder) #61160
  • [9382be5b16] - test_runner: fix rerun ambiguous test failures (Moshe Atlow) #61392
  • [ce417b14c0] - test_runner: nix dead reporter code (Vas Sudanagunta) #59700
  • [ce79c72829] - test_runner: fix lazy test.assert accessor (René) #61097
  • [9a25541bd2] - test_runner: propagate V8 options to child process (Pietro Marchini) #60999
  • [d61b0584ca] - test_runner: fix line feed escaping in JUnit (Aliaksandr) #60274
  • [fc98343591] - test_runner: simplify code and make it more consistent (Antoine du Hamel) #60777
  • [36e29bf400] - (CVE-2026-21637) tls: route callback exceptions through error handlers (Matteo Collina) nodejs-private/node-private#782
  • [bc610a825d] - tools: update gyp-next to 0.21.1 (Node.js GitHub Bot) #61528
  • [c335462a6a] - tools: validate release commit diff as part of lint-release-proposal (Antoine du Hamel) #61440
  • [0e53c48ab6] - tools: fix vcbuild lint-js-build (Vladimir Morozov) #61318
  • [f989fdc469] - tools: bump the eslint group in /tools/eslint with 2 updates (dependabot[bot]) #61246
  • [f104719490] - tools: only report commit validation failure on Slack (Antoine du Hamel) #61124
  • [0267293e79] - tools: use sparse-checkout in linter jobs (Antoine du Hamel) #61123
  • [2c861d4bd4] - tools: simplify notify-on-push (Antoine du Hamel) #61050
  • [678f2caa71] - tools: fix update-nghttp2 signature verification (Richard Lau) #61035
  • [2ef5be0570] - tools: improve log output of create-release-proposal (Antoine du Hamel) #61028
  • [cd5c76cffe] - tools: fix vcbuild test when path contain spaces (stduhpf) #56481
  • [da6cb8e1d2] - tools: do not run test-linux workflow for changes on vcbuild.bat (Antoine du Hamel) #60979
  • [49f7a8c07a] - tools: bump mdast-util-to-hast from 13.2.0 to 13.2.1 in /tools/doc (dependabot[bot]) #60930
  • [4f12d38359] - tools: replace deprecated eslint-plugin-markdown (Michaël Zasso) #60908
  • [78aef6c098] - tools: remove deprecated ESLint plugins (Michaël Zasso) #60908
  • [de57704198] - tools: update ESLint dependencies (Michaël Zasso) #60908
  • [fd155c9764] - tools: disable some new cpplint rules before update (Michaël Zasso) #60901
  • [f7f987305b] - tools: don't fetch V8 deps in the source tree (Richard Lau) #60883
  • [f7a7e363f9] - tools: add temporal updater (Chengzhong Wu) #60828
  • [a7bb9746ba] - tools: dump config.gypi as json (Chengzhong Wu) #60794
  • [23792b1334] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/lint-md (dependabot[bot]) #60781
  • [5b75fec005] - tools: bump js-yaml from 4.1.0 to 4.1.1 in /tools/doc in the doc group (dependabot[bot]) #60766
  • [a8cf03323b] - tools: update install_tools.bat old echo from 2019 to 2022 (David Hidalgo) #60736
  • [1e9281e147] - tools: remove unsupported cooldown from Dependabot config (Antoine du Hamel) #60747
  • [497184baff] - tools: update sccache to v0.12.0 (Michaël Zasso) #60723
  • [0a33189050] - tools: update gyp-next to 0.21.0 (Node.js GitHub Bot) #60645
  • [d2c8dd29cc] - tools,doc: fix format-md files list (Stefan Stojanovic) #61147
  • [0ca4fac44a] - typings: add typing for string_decoder (Taejin Kim) #61368
  • [2e387fb969] - url: update ada to v3.4.2 and support unicode 17 (Yagiz Nizipli) #61593
  • [d65326c4e6] - url: add fast path to getPathFromURL decoder (Gürgün Dayıoğlu) #60749
  • [77f72e0bfc] - url: remove array.reduce usage (Gürgün Dayıoğlu) #60748
  • [bfee9d0187] - util: optimize toASCIILower function using V8s native toLowerCase (Mert Can Altin) #61107
  • [6acc9d75ec] - util: limit inspect to only show own properties (Ruben Bridgewater) #61032
  • [bb6e680eb1] - util: fix parseArgs skipping positional arg with --eval and --print (azadgupta1) #60814
  • [b97081a7ba] - util: assert getCallSites does not invoke Error.prepareStackTrace (Chengzhong Wu) #60922
  • [722094ca3a] - util: safely inspect getter errors whose message throws (Yves M.) #60684
  • [746206b6ee] - v8: add GCProfiler support for erm (Ilyas Shabi) #61191
  • [bb206782d4] - v8: mark v8.queryObjects() as stable (Joyee Cheung) #60957
  • [e0ff861a8e] - worker: update code examples for node:worker_threads module (fisker Cheung) #58264
  • [06be1db72c] - worker: remove not implemented declarations (Artur Gawlik) #60655
  • [c9b0dc60ec] - zlib: validate write_result array length (Ryuhei Shima) #61342
  • [ba318c5d44] - zlib: add CHECK to validate fast path input (Matteo Collina) #61175

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

SHASUMS

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

8ae06649ee9da6d9eadbd2a1a0b091c3b93c78c91b6a6ec89909993ab5bae2ae  node-v24.13.1-aix-ppc64.tar.gz
0b1d9dead92e68d05011d14bb31c113336e9090315f2b7027e04444bacc693fd  node-v24.13.1-arm64.msi
8c039d59f2fec6195e4281ad5b0d02b9a940897b4df7b849c6fb48be6787bba6  node-v24.13.1-darwin-arm64.tar.gz
d82a321541d65109c696505135be3b7dd46e3358f0f04d664f50f0d1e1ccb8a6  node-v24.13.1-darwin-arm64.tar.xz
527f0578d9812e7dfa225121bda0b1546a6a0e4b5f556295fc8299c272de5fbf  node-v24.13.1-darwin-x64.tar.gz
013a8f786a022ad1729cf435e3675e097a77d5a42eaf139a2d5d1d5309a027d4  node-v24.13.1-darwin-x64.tar.xz
0e0073cb62a38c0d41c08df0311a60b755c68edcd4e4dbb04b0a3bbe0083e186  node-v24.13.1-headers.tar.gz
59f1e5011268052f75eba3fac375e9a3b2ea6710301677528e5453090d85e8b8  node-v24.13.1-headers.tar.xz
4873459d7c9b28feaa1f0fade9bb9c81cb702670991ff80a51d805325c5e3456  node-v24.13.1-linux-arm64.tar.gz
c827d3d301e2eed1a51f36d0116b71b9e3d9e3b728f081615270ea40faac34c1  node-v24.13.1-linux-arm64.tar.xz
da86a0a04b622cabc0c9de83616ea937c1d8a05a8eaff88955bdc1c7e0eced1d  node-v24.13.1-linux-ppc64le.tar.gz
fb712a08d317655dbf776c90f60ac2105109d802e33811df6c9ed33d12f801c6  node-v24.13.1-linux-ppc64le.tar.xz
d45e5e337a8d37b557d75bfaa4f854f32588c2acf975ff7c39e4fd93ae21d630  node-v24.13.1-linux-s390x.tar.gz
8e2c0d9b5545c3db22623e8cb8d6f0c28fcd470f29d32dbeabf9432dda289de2  node-v24.13.1-linux-s390x.tar.xz
7ad28fb172a9ab0593f86c1a39e5c268d0d8fc3d6cb0167f455b5655a7a6e2fd  node-v24.13.1-linux-x64.tar.gz
30215f90ea3cd04dfbc06e762c021393fa173a1d392974298bbc871a8e461089  node-v24.13.1-linux-x64.tar.xz
ddab0c1e3878034f047797d11f259052a995cc1b18397055e08d522da823e806  node-v24.13.1-win-arm64.7z
0cd29eeb64f3c649db2c4c868779ca277f5a4c49e26c69e5928d01fe0ae06da8  node-v24.13.1-win-arm64.zip
cd182025ae2f7c8143541677df0aa3721a5aa248b11a95ee713cf9158299b9d9  node-v24.13.1-win-x64.7z
fba577c4bb87df04d54dd87bbdaa5a2272f1f99a2acbf9152e1a91b8b5f0b279  node-v24.13.1-win-x64.zip
03fe815e236ad8fb6fa4289921a746e1492571acee49105154f2cc0b07021515  node-v24.13.1-x64.msi
8760ca4ba16ed660ce8ff634d23e56ff887eed3e408df5f31c60fddb69aa45ec  node-v24.13.1.pkg
16f241ebb9429d76936021a51d477d1ed7310ffbff71753c65c4b8805210d3ae  node-v24.13.1.tar.gz
b227bc868fb5e9ec8670620e2b25530eb12c17d43e6c7bc51bb38a660684192d  node-v24.13.1.tar.xz
303124c8c13d0f90492c247d76b6275a8f6bba6c1ad83443d4b6d14fef58edaf  win-arm64/node.exe
5388c2e591e3469856cfc3cf0d538fc6d9bcf895a8452b316f9c592aab11f048  win-arm64/node.lib
e769755e4495d300bf9cf94c950c4b9a562a8aa87d322fb093bdd892ac0822af  win-arm64/node_pdb.7z
f00e9641e8809f636e24f5de79d9b70db2354a50dcab54ba84ad9fd79279ad6c  win-arm64/node_pdb.zip
e3be0545990c90995d7bf3a7af5d64af1f2e0fc1bbd9b79c27f7abc1e9676e50  win-x64/node.exe
437cc33eb3f9ad8b90737dd930b7344dd88481ab803ffe9818dbe3973e49341f  win-x64/node.lib
7db7f82190bef75c3b12e60299f8214da62e6567f423c1b8b749a332e7f0e99b  win-x64/node_pdb.7z
ac832bdb279adb8451c7619dc88b3cceb137d48c3edd5657756d653fbf966bb2  win-x64/node_pdb.zip

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQRb6KP2yKXAHRBsCtggsaOQsWjTVgUCaYszxgAKCRAgsaOQsWjT
VjCDAP4jWJH0ZT+BZryLNqPf+kFcLrC47hqPSDaWAi+M7/znUgEA85cNqoDgXfbn
aUNrL6zfP6jKPKz6+FSZc131R06V8wg=
=1xXm
-----END PGP SIGNATURE-----