Node v20.2.0 (Current)
Michaël Zasso
Notable Changes
- [c092df9094] - doc: add ovflowd to collaborators (Claudio Wunder) #47844
- [4197a9a5a0] - (SEMVER-MINOR) http: prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) #47732
- [c4596b9ce7] - (SEMVER-MINOR) sea: add option to disable the experimental SEA warning (Darshan Sen) #47588
- [17befe008c] - (SEMVER-MINOR) test_runner: addskip,todo, andonlyshorthands totest(Chemi Atlow) #47909
- [a0634d7f89] - (SEMVER-MINOR) url: add value argument toURLSearchParamshasanddeletemethods (Sankalp Shubham) #47885
Commits
- [456fca0d9c] - bootstrap: initialize per-isolate properties of bindings separately (Joyee Cheung) #47768
- [d6d12bf978] - bootstrap: log isolate data info in mksnapshot debug logs (Joyee Cheung) #47768
- [e457d89a1b] - buffer: combine checking range of sourceStart inbuf.copy(Deokjin Kim) #47758
- [00668fcfb4] - child_process: use signal.reason in child process abort (Debadree Chatterjee) #47817
- [d7993474ea] - crypto: remove default encoding from scrypt (Tobias Nießen) #47943
- [09fb74a7cc] - crypto: fix webcrypto private/secret import with empty usages (Filip Skokan) #47877
- [e9c6ee74f3] - crypto: remove default encoding from pbkdf2 (Tobias Nießen) #47869
- [b7f13a8679] - deps: update simdutf to 3.2.9 (Node.js GitHub Bot) #47983
- [b16f6da153] - deps: V8: cherry-pick 5f025d1ca2ca (Michaël Zasso) #47610
- [99f8fcab45] - deps: V8: cherry-pick a8a11a87cb72 (Michaël Zasso) #47610
- [c2b14b4c78] - deps: update ada to 2.4.0 (Node.js GitHub Bot) #47922
- [cad42e7a56] - deps: V8: cherry-pick 1b471b796022 (Lu Yahan) #47399
- [7b2f17ca59] - deps: upgrade npm to 9.6.6 (npm team) #47862
- [d23b1af562] - deps: update ada to 2.3.1 (Node.js GitHub Bot) #47893
- [72340c98fb] - dgram: convert macro to template (Tobias Nießen) #47891
- [9be922892f] - dns: callada::idna::to_asciidirectly from c++ (Yagiz Nizipli) #47920
- [4a1e97156a] - doc: add missing deprecated blocks to cluster (Tobias Nießen) #47981
- [13118a19ee] - doc: update description of global (Tobias Nießen) #47969
- [372796440b] - doc: update measure memory rejection information (Yash Ladha) #41639
- [7ecc6740e4] - doc: fix broken link to TC39 import attributes proposal (Rich Trott) #47954
- [b9771c95c7] - doc: fix broken link (Rich Trott) #47953
- [6f5ba92e61] - doc: remove broken link (Rich Trott) #47942
- [c9ffc555f1] - doc: document make lint-md-clean (Matteo Collina) #47926
- [7ed99e8ba5] - doc: mark global object as legacy (Mert Can Altın) #47819
- [bf39f2d252] - doc: ntfs junction points must link to directories (Ben Noordhuis) #47907
- [4dfc3890d8] - doc: improvepermission.hasdescription (Daeyeon Jeong) #47875
- [93f1aa2856] - doc: fix params names (Dmitry Semigradsky) #47853
- [9a362aa2fb] - doc: update supported version of FreeBSD to 12.4 (Michaël Zasso) #47838
- [89c70dc6e6] - doc: add stability experimental to pm (Rafael Gonzaga) #47890
- [f96fb2eee7] - doc: swap Matteo with Rafael in the stewards (Rafael Gonzaga) #47841
- [1666a146e3] - doc: add valgrind suppression details (Kevin Eady) #47760
- [e53e8231ff] - doc: replace EOL versions in README (Tobias Nießen) #47833
- [c092df9094] - doc: add ovflowd to collaborators (Claudio Wunder) #47844
- [f7106765b3] - doc: update BUILDING.md previous versions links (Tobias Nießen) #47835
- [811b43c215] - doc,test: update the v8.startupSnapshot doc and test the example (Joyee Cheung) #47468
- [1ec640ac70] - esm: do not use'beforeExit'on the main thread (Antoine du Hamel) #47964
- [106dc612d6] - fs: make readdir recursive algorithm iterative (Ethan Arrowood) #47650
- [a0da2348a8] - fs: move fs_use_promises_symbol to per-isolate symbols (Joyee Cheung) #47768
- [4197a9a5a0] - (SEMVER-MINOR) http: prevent writing to the body when not allowed by HTTP spec (Gerrard Lindsay) #47732
- [a4d6543598] - http2: improve nghttp2 error callback (Tobias Nießen) #47840
- [a4fed6c580] - lib: update comment (sinkhaha) #47884
- [fd8bec7b2b] - meta: bump step-security/harden-runner from 2.3.1 to 2.4.0 (Rich Trott) #47980
- [f5b4b6d5dc] - meta: bump github/codeql-action from 2.3.2 to 2.3.3 (Rich Trott) #47979
- [c05c0a2359] - meta: bump actions/setup-python from 4.5.0 to 4.6.0 (Rich Trott) #47968
- [2a3d6d97cb] - meta: add security-wg ping to permission.js (Rafael Gonzaga) #47941
- [6c158e8dd1] - meta: bump step-security/harden-runner from 2.2.1 to 2.3.1 (dependabot[bot]) #47808
- [f7a8094d37] - meta: bump actions/setup-python from 4.5.0 to 4.6.0 (dependabot[bot]) #47806
- [0f58e48792] - meta: bump actions/checkout from 3.3.0 to 3.5.2 (dependabot[bot]) #47805
- [652b06dd82] - meta: remove extra space in scorecard workflow (Mestery) #47805
- [9f06eaccaf] - meta: bump github/codeql-action from 2.2.9 to 2.3.2 (dependabot[bot]) #47809
- [977fd7cf35] - meta: bump codecov/codecov-action from 3.1.1 to 3.1.3 (dependabot[bot]) #47807
- [c19385c154] - module: refactor to usenormalizeRequirableIdin the CJS module loader (Darshan Sen) #47896
- [739113f2fc] - module: block requiringtest/reporterswithout scheme (Moshe Atlow) #47831
- [f489c6710c] - (NODE-API-SEMVER-MAJOR) node-api: get Node API version used by addon (Vladimir Morozov) #45715
- [7222f9d74b] - path: indicate index of wrong resolve() parameter (sosoba) #47660
- [7dd32f1536] - permission: remove unused function declaration (Deokjin Kim) #47957
- [af86625a05] - permission: resolve reference to absolute path only for fs permission (Daeyeon Jeong) #47930
- [1625ae11fe] - quic: address recent coverity warning (Michael Dawson) #47753
- [c4596b9ce7] - (SEMVER-MINOR) sea: add option to disable the experimental SEA warning (Darshan Sen) #47588
- [1a7fc186bc] - sea: allow requiring core modules with the "node:" prefix (Darshan Sen) #47779
- [786a1c5398] - src: deduplicate X509Certificate::Fingerprint* (Tobias Nießen) #47978
- [060c1d502b] - src: stop copying code cache, part 2 (Keyhan Vakil) #47958
- [1aec718619] - (SEMVER-MINOR) src: add cjs_module_lexer_version base64_version (Jithil P Ponnan) #45629
- [0c06bfd8dc] - src: move BlobSerializerDeserializer to a separate header file (Darshan Sen) #47933
- [bd553e7521] - src: rename SKIP_CHECK_SIZE to SKIP_CHECK_STRLEN (Tobias Nießen) #47845
- [190596c189] - src: register external references for source code (Keyhan Vakil) #47055
- [4293cc47f4] - src: support V8 experimental shared values in messaging (Shu-yu Guo) #47706
- [9bc5d78f0c] - src: register ext reference for Fingerprint512 (Tobias Nießen) #47892
- [a11507e23b] - src: stop copying code cache (Keyhan Vakil) #47144
- [515c9b8de6] - src: clarify the parameter name inPermission::Apply(Daeyeon Jeong) #47874
- [c4217613f5] - src: fix creating an ArrayBuffer from a Blob created withopenAsBlob(Daeyeon Jeong) #47691
- [4bc17fd67b] - src: avoid strcmp() with Utf8Value (Tobias Nießen) #47827
- [d358317f70] - src: get binding data store directly from the realm (Joyee Cheung) #47437
- [b04d51a0b5] - src: prefer data accessor of string and vector (Mohammed Keyvanzadeh) #47750
- [2952cc576c] - src: add per-isolate SetFastMethod and Set[Fast]MethodNoSideEffect (Joyee Cheung) #47768
- [010d2ecf94] - test: mark test-esm-loader-http-imports as flaky (Tobias Nießen) #47987
- [bb33c74c07] - test: add getRandomValues return length (Jithil P Ponnan) #46357
- [6e019586f7] - test: unskip negative-settimeout.any.js WPT (Filip Skokan) #47946
- [8f547afe5f] - test: use appropriate usages for a negative import test (Filip Skokan) #47878
- [7e34f77518] - test: fix webcrypto wrap unwrap tests (Filip Skokan) #47876
- [30f4f35244] - test: fix output tests when path includes node version (Moshe Atlow) #47843
- [54607bfd68] - test: reduce WPT concurrency (Filip Skokan) #47834
- [17945a2495] - test: migrate a pseudo_tty test to use assertSnapshot (Moshe Atlow) #47803
- [c9233679e8] - test: fix WPT state when process exits but workers are still running (Filip Skokan) #47826
- [34bfb69b5b] - test: migrate message tests to use assertSnapshot (Moshe Atlow) #47498
- [d25c785c2a] - test: allow SIGBUS in signal-handler abort test (Michaël Zasso) #47851
- [aa2c7e00d7] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47921
- [da27542058] - test_runner: use v8.serialize instead of TAP (Moshe Atlow) #47867
- [17befe008c] - (SEMVER-MINOR) test_runner: add shorthands totest(Chemi Atlow) #47909
- [42db1d50a0] - test_runner: fix ordering of test hooks (Phil Nash) #47931
- [d81c54e3a8] - test_runner: omit inaccessible files from coverage (Colin Ihrig) #47850
- [a4e261e910] - tools: debug log for nghttp3 (Marco Ippolito) #47992
- [f6ff318d4c] - tools: automate icu-small update (Marco Ippolito) #47727
- [706c305381] - tools: update lint-md-dependencies to rollup@3.21.5 (Node.js GitHub Bot) #47903
- [e22c686ca9] - tools: update eslint to 8.40.0 (Node.js GitHub Bot) #47906
- [36f7cfac93] - tools: update eslint to 8.39.0 (Node.js GitHub Bot) #47789
- [7323902a40] - tools: fix jsdoc lint (Moshe Atlow) #47789
- [a0634d7f89] - (SEMVER-MINOR) url: add value argument to has and delete methods (Sankalp Shubham) #47885
- [1b06c1e003] - url: improveisURLdetection (Yagiz Nizipli) #47886
- [2bd869d20c] - vm: fix crash when setting __proto__ on context's globalThis (Feng Yu) #47939
- [e6685f9e82] - vm,lib: refactor microtaskQueue assignment logic (Khaidi Chu) #47765
- [47fea13dac] - worker: support more cases when (de)serializing errors (Moshe Atlow) #47925
- [6f3876c035] - worker: use snapshot in workers spawned by workers (Joyee Cheung) #47731
Windows 32-bit Installer: https://nodejs.org/dist/v20.2.0/node-v20.2.0-x86.msi 
Windows 64-bit Installer: https://nodejs.org/dist/v20.2.0/node-v20.2.0-x64.msi 
Windows ARM 64-bit Installer: https://nodejs.org/dist/v20.2.0/node-v20.2.0-arm64.msi 
Windows 32-bit Binary: https://nodejs.org/dist/v20.2.0/win-x86/node.exe 
Windows 64-bit Binary: https://nodejs.org/dist/v20.2.0/win-x64/node.exe 
Windows ARM 64-bit Binary: https://nodejs.org/dist/v20.2.0/win-arm64/node.exe 
macOS 64-bit Installer: https://nodejs.org/dist/v20.2.0/node-v20.2.0.pkg 
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-darwin-arm64.tar.gz 
macOS Intel 64-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-darwin-x64.tar.gz 
Linux 64-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-linux-x64.tar.xz 
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-linux-ppc64le.tar.xz 
Linux s390x 64-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-linux-s390x.tar.xz 
AIX 64-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-aix-ppc64.tar.gz 
ARMv7 32-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-linux-armv7l.tar.xz 
ARMv8 64-bit Binary: https://nodejs.org/dist/v20.2.0/node-v20.2.0-linux-arm64.tar.xz 
Source Code: https://nodejs.org/dist/v20.2.0/node-v20.2.0.tar.gz 
Other release files: https://nodejs.org/dist/v20.2.0/ 
Documentation: https://nodejs.org/docs/v20.2.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
40cd0361b75fb13b5cb6edf9113c48b0771dae961750622030c82dff2ac30911  node-v20.2.0-aix-ppc64.tar.gz
35591fc9659662d78ab21e97adc400b33c2ea1e01e1e87866b8c8e715a396d40  node-v20.2.0-arm64.msi
8dd23fb204b2c239239085761ccae232c5cdc129f633489598a8759248e5f063  node-v20.2.0-darwin-arm64.tar.gz
9c2e4d5b4b3b8dd8cfab718044d2484a604a116a3ccdfd6c3a0053d68137d215  node-v20.2.0-darwin-arm64.tar.xz
d92bc1e96b2458595f41f5e75749ad4d2b1dd8e96b5ebc34cf5a45ab21797cb3  node-v20.2.0-darwin-x64.tar.gz
e9ca46512de17de846747b328e059d42e202f6b37b4881170d575a2ea85ae648  node-v20.2.0-darwin-x64.tar.xz
1b1909a179cdff7e664d05e78af4006bde364f4eede614c2af80ba8f40b76bf9  node-v20.2.0-headers.tar.gz
c6b24d67a665fd42ed60cf009417c7a2e55221412fb6fdabf5c7ed72c50c28a3  node-v20.2.0-headers.tar.xz
c5a755230e9cf63ed708a79bd06604fe4c01283bdf9e9bc687ea107d02d3a2fd  node-v20.2.0-linux-arm64.tar.gz
4ff85df72645e17b3d6253fd8eb45d9cdbed7c68b416ac770adb2fd85ac67e3d  node-v20.2.0-linux-arm64.tar.xz
f016635afb75d69585f0b6520478774218a1b800781eab448b5f1ad0417d4bb5  node-v20.2.0-linux-armv7l.tar.gz
1af63104e276269c1c312aeb8ba894716536ae323fb612d8177bdd1c6d713e9b  node-v20.2.0-linux-armv7l.tar.xz
5180d87a815851e39723ae4b8bf00bbc932cf8fbe3de1e87b310321b2f6d2ce0  node-v20.2.0-linux-ppc64le.tar.gz
7cb4e5d680b4cd6543fabdf7b02a8739b17d3980e94f02b0c8902317340868b8  node-v20.2.0-linux-ppc64le.tar.xz
50d062cc0a0588cea5952eb9adc641335d04f90a6243f6baee9065f47e92e108  node-v20.2.0-linux-s390x.tar.gz
e8bdfba9de8937286401c87671d7c436bb950422fe7a8a7f2cc8501222fa5865  node-v20.2.0-linux-s390x.tar.xz
cb0eff87d37f0df1dcd176a58b9ed0be3b5c08a02fe133a5dffd11dcae29626b  node-v20.2.0-linux-x64.tar.gz
9257b5d5cc807d372da0d3574ce0e2d9b14c9510d7099081d30a464e5d4c0b2b  node-v20.2.0-linux-x64.tar.xz
9333ed45178a28a91c0537b5b8f26e34f8592ca7106ef37dadd7ebb74f6eb0d5  node-v20.2.0.pkg
cd1b0eb67fffe83112034fbdc64b363287e017f835251702f041982633e4b6aa  node-v20.2.0.tar.gz
22523df2316c35569714ff1f69b053c2e286ced460898417dee46945efcdf989  node-v20.2.0.tar.xz
3e94296dd5314da3eeecc6280069486317b6e110e49322c164184193d98b5bf4  node-v20.2.0-win-arm64.7z
3307f2824581f5e6b8566c601ed6935b2d0fd8355bcc31c92f6236f4cb139938  node-v20.2.0-win-arm64.zip
d71be022ef9037075fb026cc674f731d42408facb0c74ecd9169ed77d56c6816  node-v20.2.0-win-x64.7z
eda20d37da0c6629414121dc70c639944e0cfce37f0c5351a9c3141bdb80a4ff  node-v20.2.0-win-x64.zip
1ad5011bc31dd99090770fd5e45cdaffc101c0ca08fb25633b4129214441861b  node-v20.2.0-win-x86.7z
c7ac90d7896d8092df3a91925bee21d809a397b0c12316cadf5dfec7154d96e5  node-v20.2.0-win-x86.zip
6dfcc9a997786098caf01686e766a1d337dae037bb77245c92f976eb0786f6ae  node-v20.2.0-x64.msi
72454cbbb6bf365fd9a54d23e245533e4965d3340ce88a824e78b4f509b0e928  node-v20.2.0-x86.msi
c60eb4c8e8f7e1a0b1d0d4bafb0a32fcf0c4dc7d09df1ee12617ebdb66be4efe  win-arm64/node.exe
b6e79c69a02e20e5a7ba9a245b2f4fa43812f67c6fc1f14e5cedab1feca0df85  win-arm64/node.lib
964032febceaf26e55c185dec1ef0ae8fc77796defd8e34e21b4f039bc2c7c7b  win-arm64/node_pdb.7z
ccd5c27bc40304b5be6352d5239051274f4a68189f2d251389c1d0fc5b8cc3c0  win-arm64/node_pdb.zip
6796553b5c8ead97b27d2db72487a0a624d68365981dc421574046dc780d9c85  win-x64/node.exe
6eabe8bd6964ccb5c72fbe92e78022bb8900bac082dc1de1f607a29203fed432  win-x64/node.lib
5f356e6743f8caf6b1987025fb04a2a846cb4683b82b75aaf0d5bc31d1eba1c9  win-x64/node_pdb.7z
c4a32421ed8aafba77715d803f9a1cb22f5e97805f2890e014d686f2ff289d46  win-x64/node_pdb.zip
fcc2cfd45935ce403d949684f8de6de8987dee48b8b04d474b9b427f432817bf  win-x86/node.exe
ba589bd03347e3ab9b0bc05923317d274d1b2f95df48bacbcc14905c28e379cf  win-x86/node.lib
d6335b491dccf1cf0553745fc73965b1fc8b4c07a4080bf90f78826e78a6d426  win-x86/node_pdb.7z
9d17aee95d928fd777e57a37a9bc21884ceb4df98928ae7fc3227df278945bfc  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAmRjesMACgkQdw96mlrh
VgCzGQ//VhS1aEG+WCwnijKWb61N51BBOOjBAV2VcgYCsaJIrBEuCR71jdrazRom
MPxHzyuBDSZrXqcX2QP4FmIjvQiyna1CPoCYLMW6tf6rMx57Bc5lqLDbqUx5vi3y
crIEtGxYjFHfADg+HwRLmmiH+xgzJsEo7RDBnLQCXr9S69sus9PFKifBpA1mGW1O
aPVRBW9JgqEDnH6F+UtFhvyaEAujnh6lDvb4ndaKAVV7g0lJ/DAQqxZWsGTmqeii
vZwP4VZ7EmAbkBGck1k65/PpgXQSColt6KvhyjdRchoRIrVqWIvDu7bh1LfbVGX4
IBhAtNH5igAMNRxJ0OSqG5CD0ybudANs0L6HMDdQlzP8mEEUFBqrfLMd/+hAsGFa
T5dE/8reJWEcbJ/Ig6Y6gzE0QbTDnmlJ3KKvGNfguOnTKD+XzXMl3NoW2BEmqE+X
L+5KfBtD0TapeoZbQLsQg2xkK+7aNcCS3BeTSYZX0AbDJpSZhgjaxc7cEX8Ky9K3
Qa6yOY6480w9YX65Dsbqjz2kEpk4uCkqN2wDr0ZNDf2aV+l33rO6qcN4NIJBCLxl
xFouwtFqcFohiH7xexLBAY3bxKM84uAbgnnh9QCljbrci+Q0zPgBQ17s+ftXiobi
LphtgaFJnAunyPJbBCiJA1ySJzXIwz9lS+NbMnXGNKdGSyUqEMQ=
=kLnW
-----END PGP SIGNATURE-----