This repository has been archived by the owner on Oct 22, 2023. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
20.8.1
->21.0.0
Release Notes
nodejs/node (node)
v21.0.0
: 2023-10-17, Version 21.0.0 (Current), @RafaelGSS and @targosCompare Source
We're excited to announce the release of Node.js 21! Highlights include updates of the V8 JavaScript engine to 11.8,
stable
fetch
andWebStreams
, a new experimental flag to change the interpretation of ambiguous codefrom CommonJS to ES modules (
--experimental-default-type
), many updates to our test runner, and more!Node.js 21 will replace Node.js 20 as our ‘Current’ release line when Node.js 20 enters long-term support (LTS) later this month.
As per the release schedule, Node.js 21 will be ‘Current' release for the next 6 months, until April 2024.
Other Notable Changes
740ca5423a
] - doc: promote fetch/webstreams from experimental to stable (Steven) #4568485301803e1
] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869705e623ac4
] - esm: removeglobalPreload
hook (superseded byinitialize
) (Jacob Smith) #49144e01c1d700d
] - fs: add flush option to writeFile() functions (Colin Ihrig) #500091948dce707
] - (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653e28dbe1c2b
] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #4983095b8f5dcab
] - stream: optimize Writable (Robert Nagy) #500127cd4e70948
] - (SEMVER-MAJOR) test_runner: support passing globs (Moshe Atlow) #476531d220b55ac
] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950Semver-Major Commits
ac2a68c76b
] - (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) #490514e3983031a
] - (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) #491645a0777776d
] - (SEMVER-MAJOR) crypto: do not overwrite _writableState.defaultEncoding (Tobias Nießen) #49140162a0652ab
] - (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) #4963917a74ddd3d
] - (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) #49639e9ff81016d
] - (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) #489817ace5aba75
] - (SEMVER-MAJOR) events: validate options ofon
andonce
(Deokjin Kim) #46018b3ec13d449
] - (SEMVER-MAJOR) fs: adjustposition
validation in reading methods (Livia Medeiros) #428351948dce707
] - (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) #47653d68d0eacaa
] - (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) #50167c5b0b894ed
] - (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) #474973205b1936a
] - (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) #48605b40f0c3074
] - (SEMVER-MAJOR) lib: addnavigator.hardwareConcurrency
(Yagiz Nizipli) #477694b08c4c047
] - (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) #472023ce51ae9c0
] - (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) #486067202859402
] - (SEMVER-MAJOR) net: do not treatserver.maxConnections=0
asInfinity
(ignoramous) #48276c15bafdaf4
] - (SEMVER-MAJOR) net: only defer _final call when connecting (Jason Zhang) #473856ffacbf0f9
] - (SEMVER-MAJOR) node-api: rename internal NAPI_VERSION definition (Chengzhong Wu) #4850111af089b14
] - (SEMVER-MAJOR) src: update NODE_MODULE_VERSION to 120 (Michaël Zasso) #49639d920b7c94b
] - (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) #4783964549731b6
] - (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) #47604dac8de689b
] - (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) #472181fa084ecdf
] - (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) #472184e93247079
] - (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) #47218527589b755
] - (SEMVER-MAJOR) test_runner: disallow array inrun
options (Raz Luvaton) #499357cd4e70948
] - (SEMVER-MAJOR) test_runner: support passing globs (Moshe Atlow) #476532ef170254b
] - (SEMVER-MAJOR) tls: usevalidateNumber
foroptions.minDHSize
(Deokjin Kim) #49973092fb9f541
] - (SEMVER-MAJOR) tls: use validateFunction foroptions.checkServerIdentity
(Deokjin Kim) #49896ccca547e28
] - (SEMVER-MAJOR) util: runtime deprecatepromisify
-ing a function returning aPromise
(Antoine du Hamel) #496094038cf0513
] - (SEMVER-MAJOR) vm: freezedependencySpecifiers
array (Antoine du Hamel) #49720Semver-Minor Commits
3227d7327c
] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #49908e28dbe1c2b
] - (SEMVER-MINOR) lib: add WebSocket client (Matthew Aitken) #498309f9c58212e
] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #49996d37b0d267f
] - (SEMVER-MINOR) wasi: updates required for latest uvwasi version (Michael Dawson) #49908Semver-Patch Commits
33c87ec096
] - benchmark: fix race condition on fs benchs (Vinicius Lourenço) #500353c0ec61c4b
] - benchmark: add warmup to accessSync bench (Rafael Gonzaga) #500731a839f388e
] - benchmark: improved config for blob,file benchmark (Vinícius Lourenço) #4973086fe5a80f3
] - benchmark: added new benchmarks for blob (Vinícius Lourenço) #497306322d4f587
] - build: fix IBM i build with Python 3.9 (Richard Lau) #4805617c55d176b
] - build: reset embedder string to "-node.0" (Michaël Zasso) #49639f10928f926
] - crypto: use X509_ALGOR accessors instead of reaching into X509_ALGOR (David Benjamin) #50057136a96722a
] - crypto: account for disabled SharedArrayBuffer (Shelley Vohr) #5003417b9925393
] - crypto: return clear errors when loading invalid PFX data (Tim Perry) #49566ca25d564c6
] - deps: upgrade npm to 10.2.0 (npm team) #50027f23a9353ae
] - deps: update corepack to 0.21.0 (Node.js GitHub Bot) #50088ceedb3a509
] - deps: update simdutf to 3.2.18 (Node.js GitHub Bot) #500910522ac086c
] - deps: update zlib to 1.2.13.1-motley-fef5869 (Node.js GitHub Bot) #500854f8c5829da
] - deps: update googletest to2dd1c13
(Node.js GitHub Bot) #50081588784ea30
] - deps: update undici to 5.25.4 (Node.js GitHub Bot) #50025c9eef0c3c4
] - deps: update googletest toe47544a
(Node.js GitHub Bot) #4998223cb478398
] - deps: update ada to 2.6.10 (Node.js GitHub Bot) #4998461411bb323
] - deps: fix call to undeclared functions 'ntohl' and 'htons' (MatteoBax) #4997949cf182e30
] - deps: update ada to 2.6.9 (Node.js GitHub Bot) #49340ceb6df0f22
] - deps: update ada to 2.6.8 (Node.js GitHub Bot) #49340b73e18b5dc
] - deps: update ada to 2.6.7 (Node.js GitHub Bot) #49340baf2256617
] - deps: update ada to 2.6.5 (Node.js GitHub Bot) #49340a20a328a9b
] - deps: update ada to 2.6.3 (Node.js GitHub Bot) #493403838b579e4
] - deps: V8: cherry-pick8ec2651
(Abdirahim Musse) #49862668437ccad
] - deps: V8: cherry-pickb60a03d
(Joyee Cheung) #49491f970087147
] - deps: V8: backport93b1a74
(Joyee Cheung) #494194531c154e5
] - deps: V8: cherry-pick8ec2651
(Michaël Zasso) #496399ad0e2cacc
] - deps: V8: cherry-pick89b3702
(Michaël Zasso) #49639dfc9c86868
] - deps: V8: cherry-pickde9a5de
(Michaël Zasso) #49639186b36efba
] - deps: V8: cherry-pickb5b5d6c
(Michaël Zasso) #49639867586ce95
] - deps: V8: cherry-pick93b1a74
(Michaël Zasso) #496394ad3479ba7
] - deps: V8: cherry-pick1a3ecc2
(Michaël Zasso) #49639660f902f16
] - deps: patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #49639f7c1d410ad
] - deps: remove usage of a C++20 feature from V8 (Michaël Zasso) #496399c4030bfb9
] - deps: avoid compilation error with ASan (Michaël Zasso) #496395f05cc15e6
] - deps: disable V8 concurrent sparkplug compilation (Michaël Zasso) #4963942cd952dbd
] - deps: silence irrelevant V8 warning (Michaël Zasso) #4963988cf90f9c4
] - deps: always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #496398609915951
] - doc: improve ccache explanation (Chengzhong Wu) #5013391d21324a9
] - doc: move danielleadams to TSC non-voting member (Danielle Adams) #5014234fa7043a2
] - doc: fix description offs.readdir
recursive
option (RamdohokarAngha) #4890281e4d2ec2f
] - doc: mention files read before env setup (Rafael Gonzaga) #500720ce37ed8e9
] - doc: move permission model to Active Development (Rafael Gonzaga) #500683c430212c3
] - doc: add command to get patch minors and majors (Rafael Gonzaga) #50067e43bf4c31d
] - doc: use precise promise terminology in fs (Benjamin Gruenbaum) #50029d3a5f1fb5f
] - doc: use precise terminology in test runner (Benjamin Gruenbaum) #5002824dea2348d
] - doc: clarify explaination text on how to run the example (Anshul Sinha) #39020f3ed57bd8b
] - doc: reserve 119 for Electron 28 (David Sanders) #5002085c09f178c
] - doc: update Collaborator pronouns (Tierney Cyren) #50005099e2f7bce
] - doc: update link to Abstract Modules Records spec (Rich Trott) #4996147b2883673
] - doc: updated building docs for windows (Claudio W) #497677b624c30b2
] - doc: update CHANGELOG_V20 about vm fixes (Joyee Cheung) #499511dc0667aa6
] - doc: document dangerous symlink behavior (Tobias Nießen) #49154bc056c2426
] - doc: add main ARIA landmark to API docs (Rich Trott) #49882f416a0f555
] - doc: add navigation ARIA landmark to doc ToC (Rich Trott) #49882740ca5423a
] - doc: promote fetch/webstreams from experimental to stable (Steven) #45684f802aa0645
] - doc: fix 'partial' typo (Colin Ihrig) #486576fda81d4f5
] - doc: mentionNavigator
is a partial implementation (Moshe Atlow) #486566aa2aeedcb
] - doc: mark Node.js 19 as End-of-Life (Richard Lau) #482830ee9c83ffc
] - errors: improve performance of determine-specific-type (Aras Abbasi) #496964f84a3d200
] - errors: improve formatList in errors.js (Aras Abbasi) #49642cc725a653a
] - errors: improve performance of instantiation (Aras Abbasi) #49654d1ef6aa2db
] - esm: use import attributes instead of import assertions (Antoine du Hamel) #5014019b470f866
] - esm: bypass CommonJS loader under --default-type (Geoffrey Booth) #499869c683204db
] - esm: unflag extensionless javascript and wasm in module scope (Geoffrey Booth) #4997405be31d5de
] - esm: improvegetFormatOfExtensionlessFile
speed (Yagiz Nizipli) #49965aadfea4979
] - esm: improve JSDoc annotation of internal functions (Antoine du Hamel) #499597f0e36af52
] - esm: fix cache collision on JSON files using file: URL (Antoine du Hamel) #4988785301803e1
] - esm: --experimental-default-type flag to flip module defaults (Geoffrey Booth) #49869f42a103991
] - esm: require braces for modules code (Geoffrey Booth) #49657705e623ac4
] - esm: removeglobalPreload
hook (superseded byinitialize
) (Jacob Smith) #4914418a818744f
] - fs: improve error performance ofreaddirSync
(Yagiz Nizipli) #50131d3985296a9
] - fs: fixunlinkSync
typings (Yagiz Nizipli) #498596bc7fa7906
] - fs: improve error perf of syncchmod
+fchmod
(CanadaHonk) #498596bd77db41f
] - fs: improve error perf of sync*times
(CanadaHonk) #49864bf0f0789da
] - fs: improve error performance of writevSync (IlyasShabi) #500388a49735bae
] - fs: add flush option to createWriteStream() (Colin Ihrig) #50093ed49722a8a
] - fs: improve error performance forftruncateSync
(André Alves) #50032e01c1d700d
] - fs: add flush option to writeFile() functions (Colin Ihrig) #50009f7a160d5b4
] - fs: improve error performance forfdatasyncSync
(Jungku Lee) #49898813713f211
] - fs: throw errors from sync branches instead of separate implementations (Joyee Cheung) #49913b866e38192
] - http: refactor to make servername option normalization testable (Rongjian Zhang) #387332990390359
] - inspector: simplify dispatchProtocolMessage (Daniel Lemire) #49780d4c5fe488e
] - lib: fix compileFunction throws range error for negative numbers (Jithil P Ponnan) #49855589ac5004c
] - lib: faster internal createBlob (Vinícius Lourenço) #49730952cf0d17a
] - lib: reduce overhead of validateObject (Vinicius Lourenço) #49928fa250fdec1
] - lib: make fetch sync and return a Promise (Matthew Aitken) #499361b96975f27
] - lib: fixprimordials
typings (Sam Verschueren) #498956aa7101960
] - lib: update params in jsdoc forHTTPRequestOptions
(Jungku Lee) #49872a4fdb1abe0
] - lib,test: do not hardcode Buffer.kMaxLength (Michaël Zasso) #49876fd21429ef5
] - lib: update usage of always on Atomics API (Michaël Zasso) #49639bac85be22d
] - meta: ping TSC for offboarding (Tobias Nießen) #50147609b13e6c2
] - meta: bump actions/upload-artifact from 3.1.2 to 3.1.3 (dependabot[bot]) #500003825464ef4
] - meta: bump actions/cache from 3.3.1 to 3.3.2 (dependabot[bot]) #5000349f0f9ca11
] - meta: bump github/codeql-action from 2.21.5 to 2.21.9 (dependabot[bot]) #50002f156427244
] - meta: bump actions/checkout from 3.6.0 to 4.1.0 (dependabot[bot]) #500010fe673c7e6
] - meta: update website team with new name (Rich Trott) #4988351f4ff2450
] - module: move helpers out of cjs loader (Geoffrey Booth) #499127517c9f95b
] - module, esm: jsdoc for modules files (Geoffrey Booth) #49523b55adfb4f1
] - node-api: update headers for better wasm support (Toyo Li) #49037b38e312486
] - node-api: run finalizers directly from GC (Vladimir Morozov) #426510f0dd1a493
] - os: cache homedir, remove getCheckedFunction (Aras Abbasi) #500370e507d30ac
] - perf_hooks: reduce overhead of new user timings (Vinicius Lourenço) #49914328bdac7f0
] - perf_hooks: reducing overhead of performance observer entry list (Vinicius Lourenço) #50008e6e320ecc7
] - perf_hooks: reduce overhead of new resource timings (Vinicius Lourenço) #49837971af4b211
] - quic: fix up coverity warning in quic/session.cc (Michael Dawson) #49865546797f2b1
] - quic: prevent copying ngtcp2_cid (Tobias Nießen) #48561ac6f594c97
] - quic: address new coverity warning (Michael Dawson) #483844ee8ef269b
] - quic: prevent copying ngtcp2_cid_token (Tobias Nießen) #483706d2811fbf2
] - quic: add additional implementation (James M Snell) #479270b3fcfcf35
] - quic: fix typo in endpoint.h (Tobias Nießen) #4791176044c4e2b
] - quic: add additional QUIC implementation (James M Snell) #4760378a15702dd
] - src: avoid making JSTransferable wrapper object weak (Chengzhong Wu) #50026387e2929fe
] - src: generate default snapshot with --predictable (Joyee Cheung) #487491643adf771
] - src: fix TLSWrap lifetime bug in ALPN callback (Ben Noordhuis) #4963566776d8665
] - src: set port in node_options to uint16_t (Yagiz Nizipli) #4915155ff64001a
] - src: name scoped lock (Mohammed Keyvanzadeh) #50010b903a710f4
] - src: use exact return value foruv_os_getenv
(Yagiz Nizipli) #4914943500fa646
] - src: move const variable innode_file.h
tonode_file.cc
(Jungku Lee) #4968836ab510da7
] - src: remove unused variable (Michaël Zasso) #4966523d65e7281
] - src: revertIS_RELEASE
to 0 (Rafael Gonzaga) #4908438dee8a1c0
] - src: distinguish HTML transferable and cloneable (Chengzhong Wu) #47956586fcff061
] - src: fix logically dead code reported by Coverity (Mohammed Keyvanzadeh) #485897f2c810814
] - src,tools: initialize cppgc (Daryl Haresign) #45704aad8002b88
] - stream: use private symbol for bitmap state (Robert Nagy) #49993a85e4186e5
] - stream: reduce overhead of transfer (Vinicius Lourenço) #50107e9bda11761
] - stream: lazy allocate back pressure buffer (Robert Nagy) #50013557044af40
] - stream: avoid unnecessary drain for sync stream (Robert Nagy) #5001495b8f5dcab
] - stream: optimize Writable (Robert Nagy) #500125de25deeb9
] - stream: avoid tick in writable hot path (Robert Nagy) #4996653b5545672
] - stream: writable state bitmap (Robert Nagy) #49899d4e99b1a66
] - stream: remove asIndexedPairs (Chemi Atlow) #4815041e4174945
] - test: replace forEach with for..of in test-net-isipv6.js (Niya Shiyas) #49823f0e720a7fa
] - test: add EOVERFLOW as an allowed error (Abdirahim Musse) #50128224f3ae974
] - test: reduce number of repetition in test-heapdump-shadowrealm.js (Chengzhong Wu) #5010476004f3e56
] - test: replace forEach with for..of in test-parse-args.mjs (Niya Shiyas) #49824fce8fbadcd
] - test: replace forEach with for..of in test-process-env (Niya Shiyas) #4982524492476a7
] - test: replace forEach with for..of in test-http-url (Niya Shiyas) #498402fe511ba23
] - test: replace forEach() in test-net-perf_hooks with for of (Narcisa Codreanu) #4983142c37f28e6
] - test: change forEach to for...of (Tiffany Lastimosa) #497996c9625dca4
] - test: update skip for movedtest-wasm-web-api
(Richard Lau) #49958f05d6d090c
] - Revert "test: mark test-runner-output as flaky" (Luigi Pinca) #49905035e06317a
] - test: disambiguate AIX and IBM i (Richard Lau) #480564d0aeed4a6
] - test: deflake test-perf-hooks.js (Joyee Cheung) #49892853f57239c
] - test: migrate message error tests from Python to JS (Yiyun Lei) #49721a71e3a65bb
] - test: fix edge snapshot stack traces (Geoffrey Booth) #496596b76b7782c
] - test: skip v8-updates/test-linux-perf (Michaël Zasso) #49639c13c98dd38
] - test: skip test-tick-processor-arguments on SmartOS (Michaël Zasso) #49639738aa304b3
] - test: adapt REPL test to V8 changes (Michaël Zasso) #49639de5c009252
] - test: adapt test-fs-write to V8 internal changes (Michaël Zasso) #496398c36168b42
] - test: update flag to disable SharedArrayBuffer (Michaël Zasso) #496396ccb15f7ef
] - test: adapt debugger tests to V8 11.4 (Philip Pfaffe) #49639c5de3b49e8
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #500394b35a9cfda
] - test_runner: add test location for FileTests (Colin Ihrig) #49999c935d4c8fa
] - test_runner: replace spurious if with else (Colin Ihrig) #49943a4c7f81241
] - test_runner: catch reporter errors (Moshe Atlow) #49646bb52656fc6
] - Revert "test_runner: run global after() hook earlier" (Joyee Cheung) #491106346bdc526
] - test_runner: run global after() hook earlier (Colin Ihrig) #490590d8faf2952
] - test_runner,test: fix flaky test-runner-cli-concurrency.js (Colin Ihrig) #50108b1ada0ad55
] - tls: handle cases where the raw socket is destroyed (Luigi Pinca) #49980fae1af0a75
] - tls: ciphers allow bang syntax (Chemi Atlow) #49712766198b9e1
] - tools: fix comments referencing dep_updaters scripts (Keksonoid) #50165760b5dd259
] - tools: remove no-return-await lint rule (翠 / green) #50118a0a5b751fb
] - tools: update lint-md-dependencies (Node.js GitHub Bot) #5008369fb55e6b9
] - tools: update eslint to 8.51.0 (Node.js GitHub Bot) #50084f73650ea52
] - tools: remove genv8constants.py (Ben Noordhuis) #50023581434e54f
] - tools: update eslint to 8.50.0 (Node.js GitHub Bot) #49989344d3c4b7c
] - tools: update lint-md-dependencies (Node.js GitHub Bot) #499837f06c270c6
] - tools: add navigation ARIA landmark to generated API ToC (Rich Trott) #49882e97d25687b
] - tools: use osx notarytool for future releases (Ulises Gascon) #487013f1936f698
] - tools: update github_reporter to 1.5.3 (Node.js GitHub Bot) #498778568de3da6
] - tools: add new V8 headers to distribution (Michaël Zasso) #4963986cb23d09f
] - tools: update V8 gypfiles for 11.8 (Michaël Zasso) #496399c6219c7e2
] - tools: update V8 gypfiles for 11.7 (Michaël Zasso) #4963973ddf50163
] - tools: update V8 gypfiles for 11.6 (Michaël Zasso) #49639817ef255ea
] - tools: update V8 gypfiles for 11.5 (Michaël Zasso) #49639f34a3a9861
] - tools: update V8 gypfiles for 11.4 (Michaël Zasso) #496399df864ddeb
] - typings: useSymbol.dispose
andSymbol.asyncDispose
in types (Niklas Mollenhauer) #5012354bb691c0b
] - util: lazy parse mime parameters (Aras Abbasi) #498891d220b55ac
] - vm: use default HDO when importModuleDynamically is not set (Joyee Cheung) #49950c1a3a98560
] - wasi: address coverity warning (Michael Dawson) #498669cb8eb7177
] - wasi: fix up wasi tests for ibmi (Michael Dawson) #4995316ac5e1ca8
] - zlib: fix discovery of cpu-features.h for android (MatteoBax) #49828Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.