2021-09-07, Version 16.9.0 (Current), @targos
Notable Changes
Corepack
Node.js now includes Corepack, a script that acts as a bridge between Node.js projects and the package managers they are intended to be used with during development.
In practical terms, Corepack will let you use Yarn and pnpm without having to install them - just like what currently happens with npm, which is shipped in Node.js by default.
Please head over to the Corepack documentation page for more information on how to use it.
Contributed by Maël Nison - #39608
V8 9.3
V8 is updated to version 9.3, which includes performance improvements and new JavaScript features.
Object.hasOwn
Object.hasOwn
is a static alias for Object.prototype.hasOwnProperty.call
:
Object.hasOwn({ value: 42 }, 'value'); // Returns `true`.
Error cause
Errors can now be optionally constructed with a cause
option, pointing to another error.
This adds a cause
property on the new error:
const error1 = new Error('Error one');
const error2 = new Error('Error two', { cause: error1 });
// error2.cause === error1
Contributed by Michaël Zasso - #39947
Other Notable Changes
- [
34c627e4bc
] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851 - [
20da0a5379
] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635 - [
cb44781371
] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029
Commits
- [
2343c394fb
] - async_hooks: use resource stack for AsyncLocalStorage run (Stephen Belanger) #39890 - [
00951827cd
] - Revert "build: add windows-2022 to GitHub test matrix" (Michaël Zasso) #39982 - [
e7834535b3
] - build: add windows-2022 to GitHub test matrix (Michaël Zasso) #39857 - [
c49b0c0dd4
] - build: add support for Visual Studio 2022 (Michaël Zasso) #39857 - [
afdb665e57
] - build: fix find-inactive-collaborators workflow token (Rich Trott) #39909 - [
0ff88f362f
] - build: update token used for pull requests (Rich Trott) #39907 - [
beca890330
] - build: adapt v8_pch.h to V8 9.3 (Michaël Zasso) #39469 - [
2170346aa3
] - build: reset embedder string to "-node.0" (Michaël Zasso) #39947 - [
d33ab968ab
] - cluster: fix comment regarding child_process file (Yash Ladha) #39308 - [
585199497f
] - crypto: fix regression in RSA-PSS keygen (Tobias Nießen) #39937 - [
34c627e4bc
] - (SEMVER-MINOR) crypto: add RSA-PSS params to asymmetricKeyDetails (Tobias Nießen) #39851 - [
1dd91582da
] - crypto: fix rsa-pss one-shot sign/verify error handling (Filip Skokan) #39830 - [
20cf47004e
] - crypto: fix JWK RSA-PSS SubtleCrypto.exportKey (Filip Skokan) #39828 - [
e25dc8e470
] - deps: upgrade npm to 7.21.1 (npm team) #39904 - [
9270684837
] - deps: update archs files for OpenSSL-1.1.1l+quic (Richard Lau) #39867 - [
4b5bbec6cc
] - deps: upgrade openssl sources to OpenSSL_1_1_1l+quic (Richard Lau) #39867 - [
71659fd4ba
] - (SEMVER-MINOR) deps: add corepack (Maël Nison) #39608 - [
7470db0dfb
] - deps: restore minimum ICU version to 68 (Michaël Zasso) #39470 - [
92d83d18d2
] - deps: make V8 9.3 abi-compatible with 9.0 (Michaël Zasso) #39947 - [
0140face81
] - deps: V8: cherry-pick 00bb1a77c03e (Darshan Sen) #39829 - [
3e1053e755
] - deps: V8: cherry-pick 81814ed44574 (Stephen Belanger) #39719 - [
d9d0104878
] - deps: silence irrelevant V8 warning (Michaël Zasso) #38990 - [
cd9b03ea40
] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587 - [
b83cab712f
] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415 - [
068824d754
] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116 - [
54f4f1af50
] - deps: V8: forward declaration ofRtl*FunctionTable
(Refael Ackermann) #32116 - [
10ba1cb8b2
] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116 - [
3ce6f72124
] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116 - [
f43c292520
] - (SEMVER-MINOR) deps: update V8 to 9.3.345.16 (Michaël Zasso) #39947 - [
9e782eb758
] - doc: remove {C,Dec}ompressionStream documentation (Luigi Pinca) #39899 - [
7857e9cc77
] - doc: add descriptions about whenoptions.mode
is ignored (Ray) #39881 - [
d43b555047
] - doc: remove danbev from TSC member list (Daniel Bevenius) #39978 - [
fc01dd916e
] - doc: add missing changes to generateKeyPair(Sync) (Tobias Nießen) #39963 - [
953f2e9f88
] - doc: add nodejs/tweet issue creation to sec. doc (Daniel Bevenius) #39940 - [
29c4b07716
] - doc: update WASI example to use import.meta.url (Guy Bedford) #39925 - [
9eb4a70c14
] - doc: move reference to OpenSSL flags SSL_OP_* (Tobias Nießen) #39935 - [
8ea4befc82
] - doc: add docs for duplex.allowHalfOpen property (Tim Perry) #39126 - [
bc2b73ec9b
] - doc: add FrankQiu to a triager (FrankQiu) #39922 - [
8b68f8ec38
] - doc: add VoltrexMaster to triagers (voltrexmaster) #39920 - [
3a8f77ac0d
] - doc: document JavaScript tool for benchmark comparison (Michaël Zasso) #39835 - [
4ac703ca8e
] - doc: add Mesteery to triagers (Mestery) #39887 - [
d059a5186b
] - doc: update maintaining openssl guide (Richard Lau) #39878 - [
486150580c
] - doc: move ERR_WORKER_UNSPPORTED_EXTENSION to legacy (Qingyu Deng) #39788 - [
a4b8c13798
] - events: protect property defs against prototype polution (James M Snell) #39773 - [
cfbe9065ae
] - events: add brand checks for detached accessors (James M Snell) #39773 - [
112af69194
] - fs: add docs and tests forAsyncIterable
support infh.writeFile
(Antoine du Hamel) #39836 - [
402071bc45
] - meta: remove duplicate AUTHORS entry for NigelKibodeaux (Rich Trott) #39967 - [
3588f07603
] - meta: add mailmap entry for Ethan-Arrowood (Rich Trott) #39930 - [
259e0cf4d7
] - meta: add mailmap entry for branisha (Rich Trott) #39889 - [
bc236a6714
] - meta: update .mailmap to remove duplicate AUTHORS entry for addaleax (Rich Trott) #39880 - [
20da0a5379
] - (SEMVER-MINOR) module: support pattern trailers (Guy Bedford) #39635 - [
879dc4658e
] - src: remove usage of AllocatedBuffer from src/node_buffer.cc (Darshan Sen) #39941 - [
79ce096470
] - src: remove extra semicolons outside fns (Shelley Vohr) #39800 - [
cb44781371
] - (SEMVER-MINOR) stream: add stream.compose (Robert Nagy) #39029 - [
ca9b781d20
] - test: useassert.match
instead ofregexp.test
(Michaël Zasso) #39928 - [
007e2855af
] - test: use error code mapping in place of raw errno (Darshan Sen) #38675 - [
00529b0ef2
] - test: add test to verify other extension can be loaded by worker (Qingyu Deng) #39788 - [
4e7212c88c
] - test: update error message keywords (leeight) #39826 - [
549d717722
] - test: adapt test-fs-read to V8 9.3 (Michaël Zasso) #39469 - [
644b25e068
] - test: adapt test-util-inspect to V8 9.3 (Michaël Zasso) #39469 - [
105bff9ea5
] - test: adapt test-v8-flags to V8 9.3 (Michaël Zasso) #39469 - [
d92bd9a982
] - tools: add support for import assertions in linter (Antoine du Hamel) #39924 - [
9763561e30
] - tools: update gyp-next to v0.10.0 (Michaël Zasso) #39857 - [
9f105c73fc
] - tools: update V8 gypfiles for 9.3 (Michaël Zasso) #39469 - [
16271d2f50
] - worker: remove file extension check (Qingyu Deng) #39788 - [
3b1ce93e03
] - worker: add brand checks for detached MessageEvent accessors (James M Snell) #39773