Node.js - v20.1.0


Notable Changes

  • [5e99598639] - assert: deprecate CallTracker (Moshe Atlow) #47740
  • [2d97c89c6f] - crypto: update root certificates to NSS 3.89 (Node.js GitHub Bot) #47659
  • [ce8820e292] - (SEMVER-MINOR) dns: expose getDefaultResultOrder (btea) #46973
  • [9d30f469aa] - doc: add KhafraDev to collaborators (Matthew Aitken) #47510
  • [439ea47a77] - (SEMVER-MINOR) fs: add recursive option to readdir and opendir (Ethan Arrowood) #41439
  • [a54e898dc8] - (SEMVER-MINOR) fs: add support for mode flag to specify the copy behavior of the cp methods (Tetsuharu Ohzeki) #47084
  • [4fa773964b] - (SEMVER-MINOR) http: add highWaterMark option http.createServer (HinataKah0) #47405
  • [2b411f4b42] - (SEMVER-MINOR) stream: preserve object mode in compose (Raz Luvaton) #47413
  • [5327483f31] - (SEMVER-MINOR) test_runner: add testNamePatterns to run API (Chemi Atlow) #47628
  • [bdd02a467d] - (SEMVER-MINOR) test_runner: execute before hook on test (Chemi Atlow) #47586
  • [0e70c187bc] - (SEMVER-MINOR) test_runner: support combining coverage reports (Colin Ihrig) #47686
  • [75c1d1b66e] - (SEMVER-MINOR) wasi: make returnOnExit true by default (Michael Dawson) #47390

Commits

  • [33d1bd3e02] - assert: deprecate callTracker (Moshe Atlow) #47740
  • [6d87355e83] - benchmark: add eventtarget creation bench (Rafael Gonzaga) #47774
  • [40324a1dea] - benchmark: differentiate whatwg and legacy url (Yagiz Nizipli) #47377
  • [936d7cb069] - benchmark: add a benchmark for defaultResolve (Antoine du Hamel) #47543
  • [202042ee93] - bootstrap: support namespaced builtins in snapshot scripts (Joyee Cheung) #47467
  • [30af5cee55] - build: use pathlib for paths (Mohammed Keyvanzadeh) #47581
  • [089c9c51e9] - build: refactor configure.py (Mohammed Keyvanzadeh) #47667
  • [5b851c8074] - build: add devcontainer configuration (Tierney Cyren) #40825
  • [35e8b3b467] - build: bump ossf/scorecard-action from 2.1.2 to 2.1.3 (dependabot[bot]) #47367
  • [78c08243df] - build: replace Python linter flake8 with ruff (Christian Clauss) #47519
  • [2d97c89c6f] - crypto: update root certificates to NSS 3.89 (Node.js GitHub Bot) #47659
  • [420feb41cf] - crypto: remove INT_MAX restriction in randomBytes (Tobias Nießen) #47559
  • [6046779dd9] - deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #47450
  • [00d461e93f] - deps: V8: cherry-pick c5ab3e4f0c5a (Richard Lau) #47736
  • [d08dd8069f] - deps: update ada to 2.3.0 (Node.js GitHub Bot) #47737
  • [996245976b] - deps: update undici to 5.22.0 (Node.js GitHub Bot) #47679
  • [f3ee3126df] - deps: update ada to 2.2.0 (Node.js GitHub Bot) #47678
  • [1391d3b9ff] - deps: add minimatch as a dependency (Moshe Atlow) #47499
  • [315454350d] - deps: update ada to 2.1.0 (Node.js GitHub Bot) #47598
  • [7f7735cad9] - deps: update ICU to 73.1 release (Steven R. Loomis) #47456
  • [13105c12b7] - deps: patch V8 to 11.3.244.8 (Michaël Zasso) #47536
  • [ede69d272a] - deps: update undici to 5.21.2 (Node.js GitHub Bot) #47508
  • [64b5a5f872] - deps: update simdutf to 3.2.8 (Node.js GitHub Bot) #47507
  • [2664536796] - deps: V8: cherry-pick 8e10685ff918 (Jiawen Geng) #47440
  • [ba9ec91f0e] - deps: update undici to 5.21.1 (Node.js GitHub Bot) #47488
  • [ce8820e292] - (SEMVER-MINOR) dns: expose getDefaultResultOrder (btea) #46973
  • [4c26e28c33] - doc: create maintaining folder for deps (Marco Ippolito) #47589
  • [aa0ef3eabd] - doc: fix --allow-* CLI flag references (Tobias Nießen) #47804
  • [98603b6fd3] - doc: clarify fs permissions only affect fs module (Tobias Nießen) #47782
  • [3befe5dac9] - doc: add copy node executable guide on windows (XLor) #47781
  • [98450d9892] - doc: remove MoLow from Triagers (Moshe Atlow) #47792
  • [d75036410d] - doc: fix typo in webstreams.md (Christian Takle) #47766
  • [ceba37a74f] - doc: move BethGriggs to regular member (Rich Trott) #47776
  • [b954ea9781] - doc: mark signing the binary is macOS and Windows only in SEA (Xuguang Mei) #47722
  • [26bccbcd10] - doc: move addaleax to TSC emeriti (Anna Henningsen) #47752
  • [20b0de242f] - doc: add link to news for Node.js core (Michael Dawson) #47704
  • [5709133dc7] - doc: fix a typo in permissions.md (Daeyeon Jeong) #47730
  • [c5c40a89f2] - doc: async_hooks asynchronous content example add mjs code (btea) #47401
  • [a1403a8df2] - doc: clarify concurrency model of test runner (Tobias Nießen) #47642
  • [c0c23fbe42] - doc: fix a typo in fs.openAsBlob (Daeyeon Jeong) #47693
  • [4cef98812d] - doc: fix typos (Mohammed Keyvanzadeh) #47685
  • [f30ef242ef] - doc: fix capitalization of ASan (Mohammed Keyvanzadeh) #47676
  • [78a3503406] - doc: fix typos in SECURITY.md (Mohammed Keyvanzadeh) #47677
  • [9101630e05] - doc: update error code of buffer (Deokjin Kim) #47617
  • [183f0c3e79] - doc: change offset of example in Buffer.copyBytesFrom (Deokjin Kim) #47606
  • [d11ff4bc53] - doc: improve fs permissions description (Tobias Nießen) #47596
  • [b58920c3a9] - doc: remove markdown link from heading (Tobias Nießen) #47585
  • [c36634e880] - doc: fix history ordering of WASI constructor (Antoine du Hamel) #47611
  • [d3fadd889d] - doc: fix release-post script location (Rafael Gonzaga) #47517
  • [2a0bbe7883] - doc: fix typo in webcrypto metadata (Tobias Nießen) #47595
  • [b0b16ee9f6] - doc: add link for news from uvwasi team (Michael Dawson) #47531
  • [7ca416af15] - doc: add missing setEncoding call in ESM example (Anna Henningsen) #47558
  • [f9abd59b41] - doc: update darwin-x64 toolchain used for Node.js 20 releases (Michaël Zasso) #47546
  • [0dc508070f] - doc: fix split infinitive in Hooks caveat (Jacob Smith) #47550
  • [4046280475] - doc: fix typo in util.types.isNativeError() (Julian Dax) #47532
  • [9d30f469aa] - doc: add KhafraDev to collaborators (Matthew Aitken) #47510
  • [537c17ec48] - doc: create maintaining-brotli.md (Marco Ippolito) #47380
  • [09ff9eafd9] - doc,fs: update description of fs.stat() method (Mert Can Altın) #47654
  • [185d6090cd] - doc,test: fix concurrency option of test() (Tobias Nießen) #47734
  • [a793cf401d] - esm: rename URLCanParse to be consistent (Antoine du Hamel) #47668
  • [fbb6b72f87] - esm: remove support for deprecated hooks (Antoine du Hamel) #47580
  • [c150976c4f] - esm: initialize import.meta on eval (Antoine du Hamel) #47551
  • [55f70f6395] - esm: propagate process.exit from the loader thread to the main thread (Antoine du Hamel) #47548
  • [269482f61f] - esm: avoid accessing lazy getters for urls (Yagiz Nizipli) #47542
  • [889add68e5] - esm: avoid try/catch when validating urls (Yagiz Nizipli) #47541
  • [439ea47a77] - (SEMVER-MINOR) fs: add recursive option to readdir and opendir (Ethan Arrowood) #41439
  • [a54e898dc8] - (SEMVER-MINOR) fs: add support for mode flag to specify the copy behavior (Tetsuharu Ohzeki) #47084
  • [96f93cc500] - (SEMVER-MINOR) http: remove internal error in assignSocket (Matteo Collina) #47723
  • [4fa773964b] - (SEMVER-MINOR) http: add highWaterMark opt in http.createServer (HinataKah0) #47405
  • [94a5abb1e0] - inspector: add tips for Session (theanarkh) #47195
  • [21ff33127a] - lib: improve esm resolve performance (Yagiz Nizipli) #46652
  • [b8bdaf86c4] - lib: disallow file-backed blob cloning (James M Snell) #47574
  • [e8bc03b372] - lib: use webidl DOMString converter in EventTarget (Matthew Aitken) #47514
  • [91e4a7cdee] - loader: use default loader as cascaded loader in the in loader worker (Joyee Cheung) #47620
  • [d5089fe00a] - meta: fix dependabot commit message (Mestery) #47810
  • [92794400ce] - meta: ping nodejs/startup for startup test changes (Joyee Cheung) #47771
  • [8d43689077] - meta: add mailmap entry for KhafraDev (Rich Trott) #47512
  • [4d02901935] - node-api: test passing NULL to napi_define_class (Gabriel Schulhof) #47567
  • [568256dca0] - node-api: test passing NULL to number APIs (Gabriel Schulhof) #47549
  • [12f0fa386d] - node-api: remove unused mark_arraybuffer_as_untransferable (Chengzhong Wu) #47557
  • [e8ea83416a] - quic: add more QUIC implementation (James M Snell) #47494
  • [af227b159d] - readline: fix issue with newline-less last line (Ian Harris) #47317
  • [e948bec969] - src: avoid copying string in fs_permission (Yagiz Nizipli) #47746
  • [dc43ce7706] - src: replace idna functions with ada::idna (Yagiz Nizipli) #47735
  • [1f9e7ce7e8] - src: fix typo in comment in quic/sessionticket.cc (Tobias Nießen) #47754
  • [2acb57b777] - src: mark fatal error functions as noreturn (Chengzhong Wu) #47695
  • [4431df7481] - src: split BlobSerializer/BlobDeserializer (Joyee Cheung) #47458
  • [bf9a52cb3d] - src: prevent changing FunctionTemplateInfo after publish (Shelley Vohr) #46979
  • [872e6706ca] - src: add v8 fast api for url canParse (Matthew Aitken) #47552
  • [cfafe431f2] - src: make AliasedBuffers in the binding data weak (Joyee Cheung) #47354
  • [cf48db0034] - src: use v8::Boolean(b) over b ? True() : False() (Tobias Nießen) #47554
  • [ba255eda37] - src: fix typo in process.env accessor error message (Moritz Raho) #47014
  • [daf0c78232] - src: replace static const string_view by static constexpr (Daniel Lemire) #47524
  • [57e7ed7f47] - src: fix CSPRNG when length exceeds INT_MAX (Tobias Nießen) #47515
  • [cda36bfd8f] - src: use correct variable in node_builtins.cc (Michaël Zasso) #47343
  • [adc1601ccd] - src: slim down stream_base-inl.h (lilsweetcaligula) #46972
  • [f88132f1b8] - stream: prevent pipeline hang with generator functions (Debadree Chatterjee) #47712
  • [2b411f4b42] - (SEMVER-MINOR) stream: preserve object mode in compose (Raz Luvaton) #47413
  • [159cf02920] - test: refactor to use getEventListeners in timers (Deokjin Kim) #47759
  • [97a3d39b8f] - test: add and use tmpdir.hasEnoughSpace() (Tobias Nießen) #47767
  • [5bb7b26bb5] - test: remove spaces from test runner test names (Tobias Nießen) #47733
  • [84fa9fd725] - test: refactor WPTRunner and enable parallel WPT execution (Filip Skokan) #47635
  • [9d3768eb01] - Revert "test: run WPT files in parallel again" (Filip Skokan) #47627
  • [826f4041d1] - test: mark test-cluster-primary-error flaky on asan (Yagiz Nizipli) #47422
  • [e5251e31eb] - test_runner: fix --require with --experimental-loader (Moshe Atlow) #47751
  • [6ee5e42c73] - (SEMVER-MINOR) test_runner: support combining coverage reports (Colin Ihrig) #47686
  • [f8581e7629] - test_runner: remove no-op validation (Colin Ihrig) #47687
  • [40b38797c5] - test_runner: fix test runner concurrency (Moshe Atlow) #47675
  • [2d7cac0c5b] - test_runner: fix test counting (Moshe Atlow) #47675
  • [5a9b71a52e] - test_runner: fix nested hooks (Moshe Atlow) #47648
  • [5327483f31] - (SEMVER-MINOR) test_runner: add testNamePatterns to run api (Chemi Atlow) #47628
  • [b6fb7914ca] - test_runner: support coverage of unnamed functions (Colin Ihrig) #47652
  • [1f120a396f] - test_runner: move coverage collection to root.postRun() (Colin Ihrig) #47651
  • [bdd02a467d] - (SEMVER-MINOR) test_runner: execute before hook on test (Chemi Atlow) #47586
  • [ec24abaa03] - test_runner: avoid reporting parents of failing tests in summary (Moshe Atlow) #47579
  • [4203057740] - test_runner: fix spec skip detection (Moshe Atlow) #47537
  • [57c69987ba] - tls: accept SecureContext object in server.addContext() (HinataKah0) #47570
  • [c620eb80a0] - tools: update doc to highlight.js\@11.8.0 (Node.js GitHub Bot) #47786
  • [326c3f1593] - tools: add the missing LoongArch64 definition in the v8.gyp file (Sun Haiyong) #47641
  • [8d1588acdc] - tools: update lint-md-dependencies to rollup\@3.21.1 (Node.js GitHub Bot) #47787
  • [226e5b83ee] - tools: move update-npm to dep updaters (Marco Ippolito) #47619
  • [9d0bef6c0a] - tools: fix update-v8-patch cache (Marco Ippolito) #47725
  • [63e8c95a66] - tools: automate v8 patch update (Marco Ippolito) #47594
  • [d2994e52d3] - tools: fix skip message in update-cjs-module-lexer (Tobias Nießen) #47701
  • [ccf9c37b43] - tools: update lint-md-dependencies to @rollup/plugin-commonjs\@24.1.0 (Node.js GitHub Bot) #47577
  • [0887fa0464] - tools: keep PR titles/description up-to-date (Tobias Nießen) #47621
  • [b8927ddf16] - tools: fix updating root certificates (Richard Lau) #47607
  • [87cae0cb59] - tools: update PR label config (Mohammed Keyvanzadeh) #47593
  • [c17f2688b8] - Revert "tools: ensure failed daily wpt run still generates a report" (Filip Skokan) #47627
  • [fbe7d73234] - tools: add execution permission to uvwasi script (Mert Can Altın) #47600
  • [e3f4ff439e] - tools: add update script for googletest (Tobias Nießen) #47482
  • [7c552e650a] - tools: add option to run workflow with specific tool id (Michaël Zasso) #47591
  • [1509312170] - tools: automate zlib update (Marco Ippolito) #47417
  • [6af7f1ee03] - tools: add url and whatwg-url labels automatically (Yagiz Nizipli) #47545
  • [ff73c05d54] - tools: add performance label to benchmark changes (Yagiz Nizipli) #47545
  • [9e3e0b0a84] - tools: automate uvwasi dependency update (Ranieri Innocenti Spada) #47509
  • [233b628f22] - tools: add missing pinned dependencies (Mateo Nunez) #47346
  • [e4d95859f5] - tools: automate ngtcp2 and nghttp3 update (Marco Ippolito) #47402
  • [2e8338126b] - tools: move update-undici.sh to dep_updaters and create maintain md (Marco Ippolito) #47380
  • [8712eafc87] - typings: fix syntax error in tsconfig (Mohammed Keyvanzadeh) #47584
  • [e4b6b79f18] - url: reduce revokeObjectURL cpp calls (Yagiz Nizipli) #47728
  • [9aae76727f] - url: handle URL.canParse without base parameter (Yagiz Nizipli) #47547
  • [180d365439] - url: validate URL constructor arg length (Matthew Aitken) #47513
  • [4839fc4369] - url: validate argument length in canParse (Matthew Aitken) #47513
  • [606523d37e] - v8: fix ERR_NOT_BUILDING_SNAPSHOT is not a constructor (Chengzhong Wu) #47721
  • [75c1d1b66e] - (SEMVER-MINOR) wasi: make returnOnExit true by default (Michael Dawson) #47390

Details

date
May 3, 2023, 3:48 p.m.
name
2023-05-03, Version 20.1.0 (Current), @targos
type
Minor
👇
Register or login to:
  • 🔍View and search all Node.js releases.
  • 🛠️Create and share lists to track your tools.
  • 🚨Setup notifications for major, security, feature or patch updates.
  • 🚀Much more coming soon!
Continue with GitHub
Continue with Google
or