Node.js v15.9.0 (Current)
Danielle Adams
Notable Changes
- crypto:
- add keyObject.export() 'jwk' format option (Filip Skokan) #37081
 
- deps:
- upgrade to libuv 1.41.0 (Colin Ihrig) #37360
 
- doc:
- fs:
- perf_hooks:
- introduce createHistogram (James M Snell) #37155
 
- stream:
- improve Readable.from error handling (Benjamin Gruenbaum) #37158
 
- timers:
- introduce setInterval async iterator (linkgoron) #37153
 
- tls:
- add ability to get cert/peer cert as X509Certificate object (James M Snell) #37070
 
Commits
- [d0f1ff53ff] - async_hooks: set unhandledRejection async context (Sajal Khandelwal) #37281
- [c160d88c9e] - buffer: add @@toStringTag to Blob (Colin Ihrig) #37336
- [8487184457] - child_process: fix bad abort signal leak (Nitzan Uziely) #37257
- [e28ea89b1a] - crypto: fix subtle.importKey JWK OKP public key import (Filip Skokan) #37255
- [55fd6b6611] - crypto: avoid infinite loops in prime generation (Tobias Nießen) #37212
- [9dac99a11a] - crypto: fix and simplify prime option validation (Tobias Nießen) #37164
- [3e2746ff63] - crypto: remove webcrypto "DSA" JWK Key Type operations (Filip Skokan) #37203
- [011910b424] - (SEMVER-MINOR) crypto: add keyObject.export() 'jwk' format option (Filip Skokan) #37081
- [c0eadef495] - deps: upgrade to libuv 1.41.0 (Colin Ihrig) #37360
- [50e81ba0b8] - deps: V8: cherry-pick 0c8b6e415c30 (Matin Zadehdolatabad) #37276
- [d1c1724c69] - deps: upgrade npm to 7.5.3 (Ruy Adorno) #37283
- [20c65b00c2] - deps: V8: backport dfcf1e86fac0 (Michaël Zasso) #37245
- [e63b380f76] - deps: upgrade npm to 7.5.2 (Ruy Adorno) #37191
- [d808db2732] - doc: add dmabupt to collaborators (Xu Meng) #37377
- [dd054ca37f] - doc: optimize HTML rendering (Antoine du Hamel) #37301
- [c188466a18] - doc: fix quotes in stream docs (Tobias Nießen) #37269
- [f5e4625468] - doc: fix backticks in crypto API docs (Tobias Nießen) #37269
- [e2a2bab44e] - doc: link PACKAGE_EXPORTS_RESOLVE to ESM section (Utku Gultopu) #37135
- [1e99175e01] - doc: alphabetize crypto.* methods (Rich Trott) #37353
- [392c86d38b] - doc: use sentence case in benchmark doc (Rich Trott) #37351
- [62b2648a96] - doc: apply sentence-consistently in C++ style guide (Rich Trott) #37350
- [189ce399da] - doc: apply sentence case to release doc headers (Rich Trott) #37349
- [610b29b8bd] - doc: fix performanceEntry.flags style format (Cheng Liu) #37274
- [85b1476f1d] - doc: fix typo in deprecations.md (marsonya) #37282
- [f253cb9303] - doc: fix typo in buffer.md (marsonya) #37268
- [804e7ae713] - doc: add version metadata for packages features (Antoine du Hamel) #37289
- [cdd2fe5651] - doc: fix typo in /api/dns.md (marsonya) #37312
- [7d8fd3f576] - doc: refactor fs docs structure (James M Snell) #37170
- [facf3a5c23] - doc: fix description of hasSubscribers (Tobias Nießen) #37324
- [3464c9f007] - doc: discourage error event (Benjamin Gruenbaum) #37264
- [85bed2ec26] - doc: fix misnamed SHASUMS256.txt name in README.md (marsonya) #37260
- [cd50e93307] - doc: warn about using strings as inputs in crypto (Tobias Nießen) #37248
- [5a4288ebb6] - doc: fix typo in crypto.md (marsonya) #37279
- [0e887caf32] - doc: fix typo in console.md (marsonya) #37279
- [47c4f1fc54] - doc: use sentence case in README headers (Rich Trott) #37251
- [7da1c9b219] - doc: use sentence case for headers in BUILDING.md (Rich Trott) #37250
- [ebf3597db1] - doc: rename N-API to Node-API (Gabriel Schulhof) #37259
- [760f126adb] - doc: mark Certificate methods as static, add missing KeyObject.from (Filip Skokan) #37198
- [aebe532967] - doc: consistent webcryptonode.keyObjectformat (Filip Skokan) #37200
- [596bfb36a0] - doc: mention CryptoKey in port.postMessage() (Filip Skokan) #37196
- [0702d60def] - doc: fix webcrypto HMAC generateKey example (Filip Skokan) #37197
- [8a254058f5] - doc: fix accommodate typos (Colin Ihrig) #37229
- [5906e85ce2] - doc: fix version number for DEP006 (Antoine du Hamel) #37231
- [52c40c7a48] - doc: fix CHANGELOG_ARCHIVE table of contents (Antoine du Hamel) #37232
- [eb08afdf24] - doc: fix typo in globals.md (Darshan Sen) #37228
- [b87c0d6c16] - doc: fix typo in cli.md (Kalvin Vasconcellos) #37214
- [3f815d93bf] - doc: fix pr-url for DEP0148 (Antoine du Hamel) #37205
- [ff02e5e12c] - doc: fix 404 links in module.md (Antoine du Hamel) #37202
- [67c9a8e176] - doc: improve promise terminology (Benjamin Gruenbaum) #37181
- [15804e0b3f] - errors: align source-map stacks with spec (Benjamin Coe) #37252
- [88d3f74c85] - (SEMVER-MINOR) fs: add fsPromises.watch() (James M Snell) #37179
- [c30245072a] - fs: allow passing negative zero fd (Darshan Sen) #37123
- [655d19638a] - (SEMVER-MINOR) fs: use a default callback for fs.close() (James M Snell) #37174
- [acd087dffb] - (SEMVER-MINOR) fs: add AbortSignal support to watch (Benjamin Gruenbaum) #37190
- [f5d1bf9d0e] - http: explain the possibilty of refactor unused argument (Qingyu Deng) #37275
- [d63ac28a9a] - http: explain the unused argument in IncomingMessage._read (Qingyu Deng) #37275
- [4cdc5ea823] - http: fix ClientRequest unhandled errors (Robert Nagy) #36970
- [c6198fddc7] - lib: simplify check in child_process (Darshan Sen) #37367
- [f6f9af6a59] - lib: fix WebIDLobjectand dictionary type conversion (ExE Boss) #37047
- [acabe08b10] - lib: add weak event handlers (Benjamin Gruenbaum) #36607
- [3db1b30732] - meta: update README releases section (Zuzana Svetlikova) #37318
- [d96a97a2b9] - module: make synthetic module evaluation steps return a Promise to support top level await (Daniel Clark) #37300
- [a693baa0cb] - module: use optional chaining in cjs/loader.js (Darshan Sen) #37238
- [061939d2f6] - (SEMVER-MINOR) node-api: allow retrieval of add-on file name (Gabriel Schulhof) #37195
- [c4faa39768] - (SEMVER-MINOR) perf_hooks: introduce createHistogram (James M Snell) #37155
- [799b2d5275] - policy: fix cascade getting scope (Bradley Meck) #37298
- [6d53e797d7] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37345
- [3fee5b2219] - repl: add auto‑completion for dynamic import calls (ExE Boss) #37178
- [c3778343aa] - repl: refactor to avoid unsafe array iteration (Antoine du Hamel) #37188
- [e28fa6c3fc] - src: fix return type of method in string_search.h (Darshan Sen) #37167
- [42cc33cc48] - src: add mutex to ManagedEVPPKey class (Daniel Bevenius) #36825
- [1a9bcdf1d9] - src: refactor v8 binding (Joyee Cheung) #37112
- [54d36b00af] - src: rename binding_data_name to type_name in BindingData (Joyee Cheung) #37112
- [3079a78428] - src: avoid implicit type conversions (Michaël Zasso) #37149
- [a6053dc14a] - src: add context for TODO comment in env.cc (Yash Ladha) #37140
- [354df9e8a1] - src: use make_shared for safe allocation (Yash Ladha) #37139
- [337b4e7540] - src: put (de)serialization code into node_snapshotable.h/cc (Joyee Cheung) #37114
- [2a5f67b381] - src: refactor bookkeeping of bootstrap status (Joyee Cheung) #37113
- [48ce1eb364] - src: fix warning in string_search.h (Darshan Sen) #37146
- [bfe0b46d92] - src: simplify calls to BN_bin2bn in prime gen (Tobias Nießen) #37169
- [9946c1137e] - src: read exactly two tokens from Linux THP sysfs config (James Addison) #37065
- [1fea05149a] - (SEMVER-MINOR) stream: improve Readable.from error handling (Benjamin Gruenbaum) #37158
- [d2a487e640] - Revert "stream: fix .end() error propagation" (Matteo Collina) #37060
- [b5692b4b06] - test: fix test-doctool-html (Antoine du Hamel) #37397
- [b09d21b06b] - test: enable no-restricted-syntax rule for test-timers-promisified (Rich Trott) #37357
- [1fc8307138] - test: re-implement promises.setInterval() test robustly (Rich Trott) #37230
- [8483de4da8] - test: only run prime test with supported OpenSSL (Tobias Nießen) #37212
- [48a634e514] - test: rename n-api to node-api (Gabriel Schulhof) #37217
- [51575252f5] - test: remove flaky designation for test-http2-large-file (Rich Trott) #37156
- [13fe17c4ef] - test: split heap snapshot limit tests (Rich Trott) #37189
- [dc38dd2c6f] - timers: fix unsafe array iteration (Darshan Sen) #37223
- [eb7ec1b257] - timers: remove flaky setInterval test (Nitzan Uziely) #37227
- [4ebe38b212] - (SEMVER-MINOR) timers: introduce setInterval async iterator (linkgoron) #37153
- [dc84c181c3] - (SEMVER-MINOR) tls: add ability to get cert/peer cert as X509Certificate object (James M Snell) #37070
- [2e1f1c6f3c] - tools: refactor prefer-primordials (Antoine du Hamel) #36018
- [b2b64113b1] - tools: update ESLint to 7.20.0 (Colin Ihrig) #37339
- [a483c284f3] - tools: fix lint-pr-url message (Antoine du Hamel) #37304
- [1ff375beb3] - tools: avoid pending deprecation in doc generator (Michaël Zasso) #37267
- [6db5e7958a] - tools: add GitHub Action linter for pr-url (Antoine du Hamel) #37221
- [d8d851ac5c] - tools: bump remark-present-lint-node from 2.0.0 to 2.0.1 (Rich Trott) #37270
- [eb0daaedf9] - tools: fix d8 macOS build (Michaël Zasso) #37211
- [745aad73dc] - tools: update ESLint to 7.19.0 (Colin Ihrig) #37159
- [676f696a99] - url: fix definitions ofURL/SearchParamsmethods and accessors (ExE Boss) #36799
- [fbcab109de] - url: moveURLSearchParamsmethod definitions (ExE Boss) #36799
- [7c51cecbca] - util: use assert for unreachable code (Rich Trott) #37249
- [66a14d3992] - vm: add importModuleDynamically option to compileFunction (Gus Caplan) #35431
- [05a16e7259] - worker: refactor to avoid unsafe array iteration (Antoine du Hamel) #37346
Windows 32-bit Installer: https://nodejs.org/dist/v15.9.0/node-v15.9.0-x86.msi 
Windows 64-bit Installer: https://nodejs.org/dist/v15.9.0/node-v15.9.0-x64.msi 
Windows 32-bit Binary: https://nodejs.org/dist/v15.9.0/win-x86/node.exe 
Windows 64-bit Binary: https://nodejs.org/dist/v15.9.0/win-x64/node.exe 
macOS 64-bit Installer: https://nodejs.org/dist/v15.9.0/node-v15.9.0.pkg 
macOS 64-bit Binary: https://nodejs.org/dist/v15.9.0/node-v15.9.0-darwin-x64.tar.gz 
Linux 64-bit Binary: https://nodejs.org/dist/v15.9.0/node-v15.9.0-linux-x64.tar.xz 
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v15.9.0/node-v15.9.0-linux-ppc64le.tar.xz 
Linux s390x 64-bit Binary: https://nodejs.org/dist/v15.9.0/node-v15.9.0-linux-s390x.tar.xz 
AIX 64-bit Binary: https://nodejs.org/dist/v15.9.0/node-v15.9.0-aix-ppc64.tar.gz 
ARMv7 32-bit Binary: https://nodejs.org/dist/v15.9.0/node-v15.9.0-linux-armv7l.tar.xz 
ARMv8 64-bit Binary: https://nodejs.org/dist/v15.9.0/node-v15.9.0-linux-arm64.tar.xz 
Source Code: https://nodejs.org/dist/v15.9.0/node-v15.9.0.tar.gz 
Other release files: https://nodejs.org/dist/v15.9.0/ 
Documentation: https://nodejs.org/docs/v15.9.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
7d160d3accabb6c61a2d54aa0405f08060e0924e079ceccb31763c5666c72358  node-v15.9.0-aix-ppc64.tar.gz
55c6a84ce4d72b886914d4972007e09b72a34ee2483263a0d7218953ab716c70  node-v15.9.0-darwin-x64.tar.gz
aa8728706ff1474c086bd134c4c89c072b0a696934633c93e846489513759fd1  node-v15.9.0-darwin-x64.tar.xz
6738c98c79d6b85356453fa39e1fe8eb0a6ec66fca5981c31f33587afaf8c545  node-v15.9.0-headers.tar.gz
d9a1fd9459e0900c54d9e2d9d197ea548b455bf80322df84e880c740b75e6b39  node-v15.9.0-headers.tar.xz
65f3f889e6ac6952a7fa892e5d3ad19759d58771fbf4bc492d5e87117c2072d7  node-v15.9.0-linux-arm64.tar.gz
876ec8b8d2260408bfa781a8ca7cb2f4ff8cd2904a59ac53de946841f2c9348b  node-v15.9.0-linux-arm64.tar.xz
359614c3dcf7a5557ca9c9e6bcdcb6b9c6f0205aa87119335889e068a940c384  node-v15.9.0-linux-armv7l.tar.gz
610d4d56bd1430a4b8405d05cdd7832c0ac9a2cdddc03b752c354d84624627db  node-v15.9.0-linux-armv7l.tar.xz
0850c5cf32487980f0c93dfba6a2534ed138e9601f57c594561d68f52438c486  node-v15.9.0-linux-ppc64le.tar.gz
75540da591c4a529ada559368610e29c8698027e92e598d4b9f289fd05328e6b  node-v15.9.0-linux-ppc64le.tar.xz
f9fdfc66172ded7d2c8df80c46abca3f0fa01dff8a8118e723ff754234395f28  node-v15.9.0-linux-s390x.tar.gz
c632de7d132cd1b5cdf7ff63bdf76f46ece9e1d353eb7f33f9b26640fbaf939a  node-v15.9.0-linux-s390x.tar.xz
4e0488824dbdea2bd2db91e93aa08e250c655fedb35f06f4ca4373cbb198d428  node-v15.9.0-linux-x64.tar.gz
c57b1f33a1ee5957981df553f6a0e0cac302528f260140eda10fe5fdd24e1cbd  node-v15.9.0-linux-x64.tar.xz
302ee0469bab99d599aa02c5dbec50e94ca7ca9b4080b9db3069ee25109ce0fc  node-v15.9.0.pkg
5f41f4d15d7d592b170145cd994c9d7986536bb28ec151046da0632bd30e33bc  node-v15.9.0.tar.gz
bdd7961c003b4a2dbc8b54695dd1da2bf1f9b934aadb8fd4757e8e2fe437d8c3  node-v15.9.0.tar.xz
949a15edd5dc3a3c5cfa16ce8235f1290b7d4b2b89efb951f26ef4566e09d79f  node-v15.9.0-win-x64.7z
e9f8fc15566754bb4dac1e525beb2c9751a3ba750b98d4eae9f88711e505a2d6  node-v15.9.0-win-x64.zip
f909653ff31dcc1004bf3d8e056933f3513ff616fcf135cb720de7cb6d93c312  node-v15.9.0-win-x86.7z
28b9950221d826f0e3951d94ebc3b0ccf3021786839fd2fead56f0e308788417  node-v15.9.0-win-x86.zip
75cfbfabe1b9539602200853dfac45643ec92121332a00f59b1109d8038568eb  node-v15.9.0-x64.msi
624dc288c9ae9963f44fef4fbe9a38ed8652514c959c05eed0890de75dc221b7  node-v15.9.0-x86.msi
e1f84d3fad6adcf8ac0922982b713ee09c0f8edc9bb4e88dd021d6872c23d6e7  win-x64/node.exe
0692711edaf626282aaeff0a28cce749488d03a5d1db6490c7bb19866ec4aedd  win-x64/node.lib
55318a8cb06567cbea1cfc6b142fac72bf542a54a17a103e52224f9cb52e1dc6  win-x64/node_pdb.7z
1841543eb6428448b2f2b5d20c62b3a6417374dc71117bb0debb33e5a8ed338d  win-x64/node_pdb.zip
a1a1dbed3c71823859579c2d21736b183c15277c64ad3de73088b9c0746f38ab  win-x86/node.exe
6cec3adfe0cbf4f894d89fafe857fbda9dba14b61586d6abf145b3dd7775dad3  win-x86/node.lib
11820023b72160662f4b713023da513821d630bbc1ea36546d0652c4a41953fb  win-x86/node_pdb.7z
c5ffcc6b956475b92f8e8c08d36f7d1766b9ae7047c91c0eb96f1ca1a94a1515  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEdPEmArbxxOkT+qN606iWE2Q7YgEFAmAt0IkACgkQ06iWE2Q7
YgFDHw//ZA5gz6G3JcYq5nd5gAZpjqeh9oerGsqHpanknimc1KRD5S5M46jW3xFa
ZgqhxmG/hNsyOyGIwYldICLD8JZMfeoUaCj9wb/e9QZSWLXq359wypp4/YRaGqFm
LHLpquexgILJ0j2u6i0KtlmrQHP5d0VPhQJGnsqJig84pYpIeUOiI7BwC3GAD6uX
ScRoIkICW7cMm9wNcQl+3KFDYhRJNMFfG1TfMniPVqjrCX463unlUgQo5hFmkUjf
fsbOT81rhDcvcYi8HTCOauJiJReTYl9xgqiHAeD/ZIb/FWXijC8hG5HaHrJ5H4Na
MJ32hE+GLZ4CMz2F+RXmp1f2SpN2vH6/TvR0tSRyCuFyQwTtFyGdbZrOB/8Z2oWD
xXpGwIFMAhqOlMCitMcrq/mA6nzUz4dLZC45dOqSL6TWvd9+boECs/Fu5ykQU6RF
4O981aJUXQNCun9OgFTpW0nDAj57RnX4uz2EXpOnOfxpa9dAdk53hlOHDeCPG/NP
spSLn/wIwROsEOpDUVJFGwQiK3PW6UtOFO7GY3G1tZZJekNLLdH+P1oGQI7nDVzn
jZ+R/B2HxY4MFUuz/6DWJYq51ZVilv2agYEms/+04qYb5/gzcE+fIORhXj8xzMPg
aoyfOS3HP+uCUCqOukoU+VLVvSZWtrMFoPR+xHH5+ToHVbAC+Qk=
=TnR1
-----END PGP SIGNATURE-----