node-bin-darwin-arm64 16.5.0 → 16.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,7 @@
10
10
  </tr>
11
11
  <tr>
12
12
  <td>
13
+ <a href="#16.6.0">16.6.0</a><br/>
13
14
  <a href="#16.5.0">16.5.0</a><br/>
14
15
  <a href="#16.4.2">16.4.2</a><br/>
15
16
  <a href="#16.4.1">16.4.1</a><br/>
@@ -40,6 +41,155 @@
40
41
  * [io.js](CHANGELOG_IOJS.md)
41
42
  * [Archive](CHANGELOG_ARCHIVE.md)
42
43
 
44
+ <a id="16.6.0"></a>
45
+ ## 2021-07-29, Version 16.6.0 (Current), @BethGriggs
46
+
47
+ This is a security release.
48
+
49
+ ### Notable Changes
50
+
51
+ #### Say hello to V8 9.2
52
+
53
+ The V8 engine is updated to version 9.2.230.21.
54
+
55
+ It notably introduces the new [`Array.prototype.at`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/at) method:
56
+
57
+ ```js
58
+ const array = [1, 2, 3];
59
+
60
+ console.log(array.at(-1));
61
+ // Prints: 3
62
+ ```
63
+
64
+ Contributed by Michaël Zasso - [#39470](https://github.com/nodejs/node/pull/39470)
65
+
66
+ #### Other notable changes
67
+
68
+ * **CVE-2021-22930**: Use after free on close http2 on stream canceling (High) - [#39423](https://github.com/nodejs/node/pull/39423)
69
+ * Node.js is vulnerable to a use after free attack where an attacker might be able to exploit the memory corruption, to change process behavior. You can read more about it in https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22930
70
+ * [[`f93d2ac587`](https://github.com/nodejs/node/commit/f93d2ac587)] - **inspector**: mark as stable (Gireesh Punathil) [#37748](https://github.com/nodejs/node/pull/37748)
71
+ * [[`89b4770d5c`](https://github.com/nodejs/node/commit/89b4770d5c)] - **punycode**: add pending deprecation (Antoine du Hamel) [#38444](https://github.com/nodejs/node/pull/38444)
72
+ * [[`b67214fe31`](https://github.com/nodejs/node/commit/b67214fe31)] - **(SEMVER-MINOR)** **repl**: enable --experimental-repl-await /w opt-out (hemanth.hm) [#34733](https://github.com/nodejs/node/pull/34733)
73
+
74
+ ### Commits
75
+
76
+ * [[`b5248d4000`](https://github.com/nodejs/node/commit/b5248d4000)] - **async_hooks**: emit promise trace events from JS (Stephen Belanger) [#39135](https://github.com/nodejs/node/pull/39135)
77
+ * [[`e18778d409`](https://github.com/nodejs/node/commit/e18778d409)] - **async_hooks**: eliminate native PromiseHook (Stephen Belanger) [#39135](https://github.com/nodejs/node/pull/39135)
78
+ * [[`90b9bb1a7d`](https://github.com/nodejs/node/commit/90b9bb1a7d)] - **build**: use Node.js 14 in commit-lint.yml (Rich Trott) [#39506](https://github.com/nodejs/node/pull/39506)
79
+ * [[`5182e26f14`](https://github.com/nodejs/node/commit/5182e26f14)] - **build**: reset embedder string to "-node.0" (Michaël Zasso) [#39470](https://github.com/nodejs/node/pull/39470)
80
+ * [[`e1910ef290`](https://github.com/nodejs/node/commit/e1910ef290)] - **build**: fix `host_arch_cc()` for AIX/IBM i (Richard Lau) [#39481](https://github.com/nodejs/node/pull/39481)
81
+ * [[`ce2011b7a1`](https://github.com/nodejs/node/commit/ce2011b7a1)] - **build**: update coverage Makefile target comments (Richard Lau) [#39365](https://github.com/nodejs/node/pull/39365)
82
+ * [[`6b055f17b6`](https://github.com/nodejs/node/commit/6b055f17b6)] - **build**: run workflows when a PR is ready for review (Michaël Zasso) [#39405](https://github.com/nodejs/node/pull/39405)
83
+ * [[`25f45d5018`](https://github.com/nodejs/node/commit/25f45d5018)] - **build**: update to setup-node@v2 (Rich Trott) [#39366](https://github.com/nodejs/node/pull/39366)
84
+ * [[`a7472576d7`](https://github.com/nodejs/node/commit/a7472576d7)] - **build**: add `library_files` to gyp variables (himself65) [#39293](https://github.com/nodejs/node/pull/39293)
85
+ * [[`d16d36f1c2`](https://github.com/nodejs/node/commit/d16d36f1c2)] - **crypto**: support Big(U)Int64Array in getRandomValues (Michaël Zasso) [#39443](https://github.com/nodejs/node/pull/39443)
86
+ * [[`95db54482a`](https://github.com/nodejs/node/commit/95db54482a)] - **debugger**: validate sec-websocket-accept response header (Chris Opperwall) [#39357](https://github.com/nodejs/node/pull/39357)
87
+ * [[`3751b92fa2`](https://github.com/nodejs/node/commit/3751b92fa2)] - **debugger**: rename internal module (Rich Trott) [#39378](https://github.com/nodejs/node/pull/39378)
88
+ * [[`0e5eb8b17d`](https://github.com/nodejs/node/commit/0e5eb8b17d)] - **deps**: restore minimum ICU version to 68 (Michaël Zasso) [#39470](https://github.com/nodejs/node/pull/39470)
89
+ * [[`e8da1f25fb`](https://github.com/nodejs/node/commit/e8da1f25fb)] - **(SEMVER-MINOR)** **deps**: make V8 9.2 abi-compatible with 9.0 (Michaël Zasso) [#39470](https://github.com/nodejs/node/pull/39470)
90
+ * [[`a93e6ef777`](https://github.com/nodejs/node/commit/a93e6ef777)] - **deps**: V8: backport 5c76da8ddcf8 (Michaël Zasso) [#39337](https://github.com/nodejs/node/pull/39337)
91
+ * [[`d612544199`](https://github.com/nodejs/node/commit/d612544199)] - **deps**: V8: cherry-pick 359d44df4cdd (Michaël Zasso) [#39337](https://github.com/nodejs/node/pull/39337)
92
+ * [[`c6ec2b4817`](https://github.com/nodejs/node/commit/c6ec2b4817)] - **deps**: V8: cherry-pick 3805a698f7b6 (Michaël Zasso) [#39337](https://github.com/nodejs/node/pull/39337)
93
+ * [[`e6b84dfe84`](https://github.com/nodejs/node/commit/e6b84dfe84)] - **deps**: V8: cherry-pick 56fe020eec0c (Michaël Zasso) [#39337](https://github.com/nodejs/node/pull/39337)
94
+ * [[`2393fae427`](https://github.com/nodejs/node/commit/2393fae427)] - **deps**: V8: cherry-pick 2b77ca200c56 (Michaël Zasso) [#39337](https://github.com/nodejs/node/pull/39337)
95
+ * [[`c8e7d80475`](https://github.com/nodejs/node/commit/c8e7d80475)] - **deps**: V8: cherry-pick 53784bdb8f01 (Michaël Zasso) [#39337](https://github.com/nodejs/node/pull/39337)
96
+ * [[`65062b3e0d`](https://github.com/nodejs/node/commit/65062b3e0d)] - **deps**: V8: cherry-pick 7ff6609a5385 (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
97
+ * [[`c3efc70df7`](https://github.com/nodejs/node/commit/c3efc70df7)] - **deps**: V8: cherry-pick a5cea1bfc38c (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
98
+ * [[`201da87bc1`](https://github.com/nodejs/node/commit/201da87bc1)] - **deps**: V8: cherry-pick 986299250e6d (Richard Lau) [#38990](https://github.com/nodejs/node/pull/38990)
99
+ * [[`794ad2e016`](https://github.com/nodejs/node/commit/794ad2e016)] - **deps**: V8: backport 71e8f8bb3c26 (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
100
+ * [[`53cc6c8000`](https://github.com/nodejs/node/commit/53cc6c8000)] - **deps**: V8: cherry-pick 3d24b3ab8af0 (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
101
+ * [[`7f7cb8bfe1`](https://github.com/nodejs/node/commit/7f7cb8bfe1)] - **deps**: silence irrelevant V8 warning (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
102
+ * [[`16cbd8c8b6`](https://github.com/nodejs/node/commit/16cbd8c8b6)] - **deps**: silence irrelevant V8 warnings (Michaël Zasso) [#37587](https://github.com/nodejs/node/pull/37587)
103
+ * [[`98150e2bc6`](https://github.com/nodejs/node/commit/98150e2bc6)] - **deps**: fix V8 build issue with inline methods (Jiawen Geng) [#35415](https://github.com/nodejs/node/pull/35415)
104
+ * [[`3f3e167fea`](https://github.com/nodejs/node/commit/3f3e167fea)] - **deps**: make v8.h compatible with VS2015 (Joao Reis) [#32116](https://github.com/nodejs/node/pull/32116)
105
+ * [[`785b8990de`](https://github.com/nodejs/node/commit/785b8990de)] - **deps**: V8: forward declaration of `Rtl*FunctionTable` (Refael Ackermann) [#32116](https://github.com/nodejs/node/pull/32116)
106
+ * [[`38cb655f04`](https://github.com/nodejs/node/commit/38cb655f04)] - **deps**: V8: patch register-arm64.h (Refael Ackermann) [#32116](https://github.com/nodejs/node/pull/32116)
107
+ * [[`9082ecef66`](https://github.com/nodejs/node/commit/9082ecef66)] - **deps**: V8: un-cherry-pick bd019bd (Refael Ackermann) [#32116](https://github.com/nodejs/node/pull/32116)
108
+ * [[`6114198717`](https://github.com/nodejs/node/commit/6114198717)] - **(SEMVER-MINOR)** **deps**: update V8 to 9.2.230.21 (Michaël Zasso) [#39470](https://github.com/nodejs/node/pull/39470)
109
+ * [[`89796d0c7f`](https://github.com/nodejs/node/commit/89796d0c7f)] - **deps**: bump HdrHistogram\_C to 0.11.2 (Matteo Collina) [#39462](https://github.com/nodejs/node/pull/39462)
110
+ * [[`9dd232c42b`](https://github.com/nodejs/node/commit/9dd232c42b)] - **deps**: update to cjs-module-lexer@1.2.2 (Guy Bedford) [#39402](https://github.com/nodejs/node/pull/39402)
111
+ * [[`626eb07fda`](https://github.com/nodejs/node/commit/626eb07fda)] - **deps**: extract gtest source files to deps/googletest (legendecas) [#39386](https://github.com/nodejs/node/pull/39386)
112
+ * [[`487c45ffd9`](https://github.com/nodejs/node/commit/487c45ffd9)] - **doc**: move lball@redhat.com to emeritus (Lance Ball) [#39501](https://github.com/nodejs/node/pull/39501)
113
+ * [[`5f84f47e13`](https://github.com/nodejs/node/commit/5f84f47e13)] - **doc**: update AUTHORS (Rich Trott) [#39488](https://github.com/nodejs/node/pull/39488)
114
+ * [[`1d27ae1514`](https://github.com/nodejs/node/commit/1d27ae1514)] - **doc**: update strategic initiative champion (Rich Trott) [#39487](https://github.com/nodejs/node/pull/39487)
115
+ * [[`e552b1a791`](https://github.com/nodejs/node/commit/e552b1a791)] - **doc**: improve node.js+fips instructions (Benjamin Mayr) [#39390](https://github.com/nodejs/node/pull/39390)
116
+ * [[`aa1dfb3111`](https://github.com/nodejs/node/commit/aa1dfb3111)] - **doc**: simplify unnecessarily specific .mailmap entries (Rich Trott) [#39430](https://github.com/nodejs/node/pull/39430)
117
+ * [[`ae69656c61`](https://github.com/nodejs/node/commit/ae69656c61)] - **doc**: update checkbox label in backporting guide (Darshan Sen) [#39420](https://github.com/nodejs/node/pull/39420)
118
+ * [[`4fd8db687d`](https://github.com/nodejs/node/commit/4fd8db687d)] - **doc**: remove \_Addenda\_ from headers (Rich Trott) [#39427](https://github.com/nodejs/node/pull/39427)
119
+ * [[`cefd2fb1e4`](https://github.com/nodejs/node/commit/cefd2fb1e4)] - **doc**: simplify .mailmap file (Rich Trott) [#39418](https://github.com/nodejs/node/pull/39418)
120
+ * [[`ade2eed9a6`](https://github.com/nodejs/node/commit/ade2eed9a6)] - **doc**: fix broken internal link in http.md (Rich Trott) [#39425](https://github.com/nodejs/node/pull/39425)
121
+ * [[`5fdfcc069f`](https://github.com/nodejs/node/commit/5fdfcc069f)] - **doc**: remove outdated step in onboarding exercise (Rich Trott) [#39410](https://github.com/nodejs/node/pull/39410)
122
+ * [[`94706c7012`](https://github.com/nodejs/node/commit/94706c7012)] - **doc**: revise strategic initiatives text (Rich Trott) [#39417](https://github.com/nodejs/node/pull/39417)
123
+ * [[`9932e3589c`](https://github.com/nodejs/node/commit/9932e3589c)] - **doc**: remove typo (extra ' character) (Nikita Rykov) [#39414](https://github.com/nodejs/node/pull/39414)
124
+ * [[`2b92b4ea2d`](https://github.com/nodejs/node/commit/2b92b4ea2d)] - **doc**: update mailmap and AUTHORS (Rich Trott) [#39393](https://github.com/nodejs/node/pull/39393)
125
+ * [[`6d6396594b`](https://github.com/nodejs/node/commit/6d6396594b)] - **doc**: use a details tag for completed initiatves (Rich Trott) [#39416](https://github.com/nodejs/node/pull/39416)
126
+ * [[`ac43e3331c`](https://github.com/nodejs/node/commit/ac43e3331c)] - **doc**: update commit-queue.md to indicate GitHub Actions are checked (Rich Trott) [#39411](https://github.com/nodejs/node/pull/39411)
127
+ * [[`75130c94d1`](https://github.com/nodejs/node/commit/75130c94d1)] - **doc**: use \_pull request\_ instead of \_PR\_ in onboarding doc (Rich Trott) [#39409](https://github.com/nodejs/node/pull/39409)
128
+ * [[`20bb3f6df0`](https://github.com/nodejs/node/commit/20bb3f6df0)] - **doc**: add strategic initiatives from TSC repo (Rich Trott) [#39394](https://github.com/nodejs/node/pull/39394)
129
+ * [[`6979313abb`](https://github.com/nodejs/node/commit/6979313abb)] - **doc**: standardize on \_pull request\_ (Rich Trott) [#39384](https://github.com/nodejs/node/pull/39384)
130
+ * [[`20124cc275`](https://github.com/nodejs/node/commit/20124cc275)] - **doc**: make minor edits to pull request text (Rich Trott) [#39383](https://github.com/nodejs/node/pull/39383)
131
+ * [[`11482f02cf`](https://github.com/nodejs/node/commit/11482f02cf)] - **doc**: add docker-node and build-wg issue contents (Daniel Bevenius) [#39215](https://github.com/nodejs/node/pull/39215)
132
+ * [[`c535956b6e`](https://github.com/nodejs/node/commit/c535956b6e)] - **doc**: add instructions for core vuln files (Daniel Bevenius) [#39220](https://github.com/nodejs/node/pull/39220)
133
+ * [[`353a8bb27b`](https://github.com/nodejs/node/commit/353a8bb27b)] - **doc**: standardize on not capitalizing \_collaborator\_ (Rich Trott) [#39379](https://github.com/nodejs/node/pull/39379)
134
+ * [[`9b15e5c155`](https://github.com/nodejs/node/commit/9b15e5c155)] - **doc**: update mailmap and deduplicate AUTHORS entry (Rich Trott) [#39391](https://github.com/nodejs/node/pull/39391)
135
+ * [[`e44ccd9aad`](https://github.com/nodejs/node/commit/e44ccd9aad)] - **doc**: update AUTHORS (Rich Trott) [#39367](https://github.com/nodejs/node/pull/39367)
136
+ * [[`39e6536a87`](https://github.com/nodejs/node/commit/39e6536a87)] - **doc**: move jdalton to emeritus (Rich Trott) [#39380](https://github.com/nodejs/node/pull/39380)
137
+ * [[`bbff5a9e47`](https://github.com/nodejs/node/commit/bbff5a9e47)] - **doc**: edit guide on pull requests (Rich Trott) [#39359](https://github.com/nodejs/node/pull/39359)
138
+ * [[`902ef9aca0`](https://github.com/nodejs/node/commit/902ef9aca0)] - **doc,meta**: update email addresses for misterdjules (Rich Trott) [#39433](https://github.com/nodejs/node/pull/39433)
139
+ * [[`cc7b61721c`](https://github.com/nodejs/node/commit/cc7b61721c)] - **doc,tools**: remove `checkLinks.mjs` (Antoine du Hamel) [#39206](https://github.com/nodejs/node/pull/39206)
140
+ * [[`e2fd015cda`](https://github.com/nodejs/node/commit/e2fd015cda)] - **domain**: do not add domain to promise from other context (Stephen Belanger) [#39135](https://github.com/nodejs/node/pull/39135)
141
+ * [[`93eff3f5a6`](https://github.com/nodejs/node/commit/93eff3f5a6)] - **esm**: refine ERR\_REQUIRE\_ESM errors (Guy Bedford) [#39175](https://github.com/nodejs/node/pull/39175)
142
+ * [[`1fb0954202`](https://github.com/nodejs/node/commit/1fb0954202)] - **events**: allow an event to be dispatched multiple times (Luigi Pinca) [#39395](https://github.com/nodejs/node/pull/39395)
143
+ * [[`6f2989c346`](https://github.com/nodejs/node/commit/6f2989c346)] - **events**: allow the options argument to be null (Luigi Pinca) [#39486](https://github.com/nodejs/node/pull/39486)
144
+ * [[`72ad6d3f27`](https://github.com/nodejs/node/commit/72ad6d3f27)] - **fs**: check closing\_ in FileHandle::Close (James M Snell) [#39472](https://github.com/nodejs/node/pull/39472)
145
+ * [[`8b58e574ba`](https://github.com/nodejs/node/commit/8b58e574ba)] - **fs**: fix FileHandle::ClosePromise to return persisted Promise (James M Snell) [#39331](https://github.com/nodejs/node/pull/39331)
146
+ * [[`9d950a0956`](https://github.com/nodejs/node/commit/9d950a0956)] - **http2**: on receiving rst\_stream with cancel code add it to pending list (Akshay K) [#39423](https://github.com/nodejs/node/pull/39423)
147
+ * [[`19e9accf91`](https://github.com/nodejs/node/commit/19e9accf91)] - **inspector**: mark as stable (Gireesh Punathil) [#37748](https://github.com/nodejs/node/pull/37748)
148
+ * [[`e4331cd43d`](https://github.com/nodejs/node/commit/e4331cd43d)] - **lib**: comment explaining special-case handling of promises (Stephen Belanger) [#39135](https://github.com/nodejs/node/pull/39135)
149
+ * [[`0a47f5fc54`](https://github.com/nodejs/node/commit/0a47f5fc54)] - **meta**: update collaborator email in README (Rich Trott) [#39510](https://github.com/nodejs/node/pull/39510)
150
+ * [[`65020110e8`](https://github.com/nodejs/node/commit/65020110e8)] - **meta**: remove unneeded .mailmap entry (Rich Trott) [#39512](https://github.com/nodejs/node/pull/39512)
151
+ * [[`864ef11be8`](https://github.com/nodejs/node/commit/864ef11be8)] - **meta**: update email address for collaborator (Rich Trott) [#39511](https://github.com/nodejs/node/pull/39511)
152
+ * [[`d3f58cb650`](https://github.com/nodejs/node/commit/d3f58cb650)] - **meta**: align collaborator name in .mailmap/AUTHORS with README (Rich Trott) [#39489](https://github.com/nodejs/node/pull/39489)
153
+ * [[`5f9b2187a1`](https://github.com/nodejs/node/commit/5f9b2187a1)] - **meta**: align email address in README/.mailmap/AUTHORS (Rich Trott) [#39503](https://github.com/nodejs/node/pull/39503)
154
+ * [[`9fbe3f6b49`](https://github.com/nodejs/node/commit/9fbe3f6b49)] - **meta**: revise .mailmap for README consistency (Rich Trott) [#39457](https://github.com/nodejs/node/pull/39457)
155
+ * [[`f6fbb38924`](https://github.com/nodejs/node/commit/f6fbb38924)] - **meta**: alphabetize .mailmap file (Rich Trott) [#39434](https://github.com/nodejs/node/pull/39434)
156
+ * [[`dc9c6aa428`](https://github.com/nodejs/node/commit/dc9c6aa428)] - **meta**: align collaborator email in .mailmap/AUTHORS with README (Rich Trott) [#39478](https://github.com/nodejs/node/pull/39478)
157
+ * [[`febeb0df16`](https://github.com/nodejs/node/commit/febeb0df16)] - **meta**: update AUTHORS (Rich Trott) [#39461](https://github.com/nodejs/node/pull/39461)
158
+ * [[`d059ed9242`](https://github.com/nodejs/node/commit/d059ed9242)] - **meta**: add .mailmap entry for new email for existing contributor (Rich Trott) [#39431](https://github.com/nodejs/node/pull/39431)
159
+ * [[`cdf7251370`](https://github.com/nodejs/node/commit/cdf7251370)] - **process**: add api to enable source-maps programmatically (legendecas) [#39085](https://github.com/nodejs/node/pull/39085)
160
+ * [[`eccc9a6578`](https://github.com/nodejs/node/commit/eccc9a6578)] - **punycode**: add pending deprecation (Antoine du Hamel) [#38444](https://github.com/nodejs/node/pull/38444)
161
+ * [[`a082a705b3`](https://github.com/nodejs/node/commit/a082a705b3)] - **(SEMVER-MINOR)** **repl**: enable --experimental-repl-await /w opt-out (hemanth.hm) [#34733](https://github.com/nodejs/node/pull/34733)
162
+ * [[`b230ac12d9`](https://github.com/nodejs/node/commit/b230ac12d9)] - **src**: stop using deprecated v8::ApiObject (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
163
+ * [[`929205e6b9`](https://github.com/nodejs/node/commit/929205e6b9)] - **src**: use non-deprecated Symbol::Description (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
164
+ * [[`42ff6d952a`](https://github.com/nodejs/node/commit/42ff6d952a)] - **src**: print native module id on native module not found (legendecas) [#39460](https://github.com/nodejs/node/pull/39460)
165
+ * [[`f0287e52aa`](https://github.com/nodejs/node/commit/f0287e52aa)] - **src**: close HandleWraps instead of deleting them in OnGCCollect() (Anna Henningsen) [#39441](https://github.com/nodejs/node/pull/39441)
166
+ * [[`2cf52f8db1`](https://github.com/nodejs/node/commit/2cf52f8db1)] - **src**: set SSL\_OP\_ALLOW\_CLIENT\_RENEGOTIATION (Daniel Bevenius) [#38753](https://github.com/nodejs/node/pull/38753)
167
+ * [[`fc138376aa`](https://github.com/nodejs/node/commit/fc138376aa)] - **src**: remove unused guards around node-api reference (legendecas) [#38334](https://github.com/nodejs/node/pull/38334)
168
+ * [[`26ada4971c`](https://github.com/nodejs/node/commit/26ada4971c)] - **stream**: import internal/util/types instead (James M Snell) [#39331](https://github.com/nodejs/node/pull/39331)
169
+ * [[`e91053a465`](https://github.com/nodejs/node/commit/e91053a465)] - **stream**: implement TextEncoderStream and TextDecoderStream (James M Snell) [#39347](https://github.com/nodejs/node/pull/39347)
170
+ * [[`efe74746f0`](https://github.com/nodejs/node/commit/efe74746f0)] - **stream**: fixup property definition to avoid prototype polution (James M Snell) [#39371](https://github.com/nodejs/node/pull/39371)
171
+ * [[`4709da0372`](https://github.com/nodejs/node/commit/4709da0372)] - **test**: ensure microtask queues are not automatically drained (Jochen Eisinger) [#38990](https://github.com/nodejs/node/pull/38990)
172
+ * [[`86ca9a8a80`](https://github.com/nodejs/node/commit/86ca9a8a80)] - **test**: remove test-debug-args (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
173
+ * [[`bbcd651cfd`](https://github.com/nodejs/node/commit/bbcd651cfd)] - **test**: update trace events test expectations (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
174
+ * [[`039f64f249`](https://github.com/nodejs/node/commit/039f64f249)] - **test**: fix WASI link test (Richard Lau) [#39485](https://github.com/nodejs/node/pull/39485)
175
+ * [[`b1d38ddc8a`](https://github.com/nodejs/node/commit/b1d38ddc8a)] - **test**: update OpenSSL3 error messages for beta-1 (Daniel Bevenius) [#39437](https://github.com/nodejs/node/pull/39437)
176
+ * [[`db4f802fba`](https://github.com/nodejs/node/commit/db4f802fba)] - ***Revert*** "**test**: skip tests for openssl-3.0.0-alpha15" (Daniel Bevenius) [#39437](https://github.com/nodejs/node/pull/39437)
177
+ * [[`a30d021b94`](https://github.com/nodejs/node/commit/a30d021b94)] - **test**: add test for WebSocket secret verification in debugger (Rich Trott) [#39357](https://github.com/nodejs/node/pull/39357)
178
+ * [[`04355afd24`](https://github.com/nodejs/node/commit/04355afd24)] - **test**: add NumberFormat resolvedOptions test (Richard Lau) [#39401](https://github.com/nodejs/node/pull/39401)
179
+ * [[`d0fb02c26a`](https://github.com/nodejs/node/commit/d0fb02c26a)] - **test**: put common lint exceptions into config file (Rich Trott) [#39358](https://github.com/nodejs/node/pull/39358)
180
+ * [[`259d091366`](https://github.com/nodejs/node/commit/259d091366)] - **test**: mark test-domain-error-types flaky (James M Snell) [#39369](https://github.com/nodejs/node/pull/39369)
181
+ * [[`5517769472`](https://github.com/nodejs/node/commit/5517769472)] - **tools**: fetch googletest dependency for V8 CI (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
182
+ * [[`5fe74aa403`](https://github.com/nodejs/node/commit/5fe74aa403)] - **tools**: update V8 gypfiles for 9.2 (Michaël Zasso) [#38990](https://github.com/nodejs/node/pull/38990)
183
+ * [[`e58cf4e44c`](https://github.com/nodejs/node/commit/e58cf4e44c)] - **tools**: flag README/mailmap mismatches in find-inactive-collaborators (Rich Trott) [#39477](https://github.com/nodejs/node/pull/39477)
184
+ * [[`0a46e66253`](https://github.com/nodejs/node/commit/0a46e66253)] - **tools**: use mailmap for find-inactive-collaborators (Rich Trott) [#39432](https://github.com/nodejs/node/pull/39432)
185
+ * [[`7570f998df`](https://github.com/nodejs/node/commit/7570f998df)] - **tools**: email matchin is case insensitive for .mailmap (Rich Trott) [#39430](https://github.com/nodejs/node/pull/39430)
186
+ * [[`5c11a0279d`](https://github.com/nodejs/node/commit/5c11a0279d)] - **tools**: make internal link checker more robust (Rich Trott) [#39429](https://github.com/nodejs/node/pull/39429)
187
+ * [[`4c32aa02db`](https://github.com/nodejs/node/commit/4c32aa02db)] - **tools**: added remark-frontmatter (Ben Halverson) [#38717](https://github.com/nodejs/node/pull/38717)
188
+ * [[`c6a7c3d00d`](https://github.com/nodejs/node/commit/c6a7c3d00d)] - **tools**: fix broken link hash (Rich Trott) [#39426](https://github.com/nodejs/node/pull/39426)
189
+ * [[`0f1d51578e`](https://github.com/nodejs/node/commit/0f1d51578e)] - **tools**: change commit fetch limiting in find-inactive-collaborators (Rich Trott) [#39362](https://github.com/nodejs/node/pull/39362)
190
+ * [[`e5d64473e8`](https://github.com/nodejs/node/commit/e5d64473e8)] - **tools**: use Node.js 16.x for GitHub workflow (Rich Trott) [#39362](https://github.com/nodejs/node/pull/39362)
191
+ * [[`68fd6d5282`](https://github.com/nodejs/node/commit/68fd6d5282)] - **url**: prevent pathname setter from erasing path of path-only URLs (Darshan Sen) [#39060](https://github.com/nodejs/node/pull/39060)
192
+
43
193
  <a id="16.5.0"></a>
44
194
  ## 2021-07-14, Version 16.5.0 (Current), @targos
45
195
 
package/LICENSE CHANGED
@@ -1251,7 +1251,7 @@ The externally maintained libraries used by Node.js are:
1251
1251
  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1252
1252
  """
1253
1253
 
1254
- - gtest, located at src/gtest and test/cctest/gtest, is licensed as follows:
1254
+ - gtest, located at deps/googletest, is licensed as follows:
1255
1255
  """
1256
1256
  Copyright 2008, Google Inc.
1257
1257
  All rights reserved.
package/README.md CHANGED
@@ -144,7 +144,7 @@ For information on reporting security vulnerabilities in Node.js, see
144
144
 
145
145
  * [Contributing to the project][]
146
146
  * [Working Groups][]
147
- * [Strategic Initiatives][]
147
+ * [Strategic initiatives][]
148
148
  * [Technical values and prioritization][]
149
149
 
150
150
  ## Current project team members
@@ -219,7 +219,7 @@ For information about the governance of the Node.js project, see
219
219
  * [gibfahn](https://github.com/gibfahn) -
220
220
  **Gibson Fahnestock** &lt;gibfahn@gmail.com&gt; (he/him)
221
221
  * [indutny](https://github.com/indutny) -
222
- **Fedor Indutny** &lt;fedor.indutny@gmail.com&gt;
222
+ **Fedor Indutny** &lt;fedor@indutny.com&gt;
223
223
  * [isaacs](https://github.com/isaacs) -
224
224
  **Isaac Z. Schlueter** &lt;i@izs.me&gt;
225
225
  * [joshgav](https://github.com/joshgav) -
@@ -342,13 +342,11 @@ For information about the governance of the Node.js project, see
342
342
  * [iansu](https://github.com/iansu) -
343
343
  **Ian Sutherland** &lt;ian@iansutherland.ca&gt;
344
344
  * [indutny](https://github.com/indutny) -
345
- **Fedor Indutny** &lt;fedor.indutny@gmail.com&gt;
345
+ **Fedor Indutny** &lt;fedor@indutny.com&gt;
346
346
  * [JacksonTian](https://github.com/JacksonTian) -
347
347
  **Jackson Tian** &lt;shyvo1987@gmail.com&gt;
348
348
  * [jasnell](https://github.com/jasnell) -
349
349
  **James M Snell** &lt;jasnell@gmail.com&gt; (he/him)
350
- * [jdalton](https://github.com/jdalton) -
351
- **John-David Dalton** &lt;john.david.dalton@gmail.com&gt;
352
350
  * [jkrems](https://github.com/jkrems) -
353
351
  **Jan Krems** &lt;jan.krems@gmail.com&gt; (he/him)
354
352
  * [joaocgreis](https://github.com/joaocgreis) -
@@ -359,8 +357,6 @@ For information about the governance of the Node.js project, see
359
357
  **Juan José Arboleda** &lt;soyjuanarbol@gmail.com&gt; (he/him)
360
358
  * [JungMinu](https://github.com/JungMinu) -
361
359
  **Minwoo Jung** &lt;nodecorelab@gmail.com&gt; (he/him)
362
- * [lance](https://github.com/lance) -
363
- **Lance Ball** &lt;lball@redhat.com&gt; (he/him)
364
360
  * [legendecas](https://github.com/legendecas) -
365
361
  **Chengzhong Wu** &lt;legendecas@gmail.com&gt; (he/him)
366
362
  * [Leko](https://github.com/Leko) -
@@ -384,7 +380,7 @@ For information about the governance of the Node.js project, see
384
380
  * [mildsunrise](https://github.com/mildsunrise) -
385
381
  **Alba Mendez** &lt;me@alba.sh&gt; (she/her)
386
382
  * [misterdjules](https://github.com/misterdjules) -
387
- **Julien Gilli** &lt;jgilli@nodejs.org&gt;
383
+ **Julien Gilli** &lt;jgilli@netflix.com&gt;
388
384
  * [mmarchini](https://github.com/mmarchini) -
389
385
  **Mary Marchini** &lt;oss@mmarchini.me&gt; (she/her)
390
386
  * [mscdex](https://github.com/mscdex) -
@@ -420,7 +416,7 @@ For information about the governance of the Node.js project, see
420
416
  * [ryzokuken](https://github.com/ryzokuken) -
421
417
  **Ujjwal Sharma** &lt;ryzokuken@disroot.org&gt; (he/him)
422
418
  * [saghul](https://github.com/saghul) -
423
- **Saúl Ibarra Corretgé** &lt;saghul@gmail.com&gt;
419
+ **Saúl Ibarra Corretgé** &lt;s@saghul.net&gt;
424
420
  * [santigimeno](https://github.com/santigimeno) -
425
421
  **Santiago Gimeno** &lt;santiago.gimeno@gmail.com&gt;
426
422
  * [seishun](https://github.com/seishun) -
@@ -516,6 +512,8 @@ For information about the governance of the Node.js project, see
516
512
  **Jason Ginchereau** &lt;jasongin@microsoft.com&gt;
517
513
  * [jbergstroem](https://github.com/jbergstroem) -
518
514
  **Johan Bergström** &lt;bugs@bergstroem.nu&gt;
515
+ * [jdalton](https://github.com/jdalton) -
516
+ **John-David Dalton** &lt;john.david.dalton@gmail.com&gt;
519
517
  * [jhamhader](https://github.com/jhamhader) -
520
518
  **Yuval Brik** &lt;yuval@brik.org.il&gt;
521
519
  * [joshgav](https://github.com/joshgav) -
@@ -526,6 +524,8 @@ For information about the governance of the Node.js project, see
526
524
  **Kyle Farnung** &lt;kfarnung@microsoft.com&gt; (he/him)
527
525
  * [kunalspathak](https://github.com/kunalspathak) -
528
526
  **Kunal Pathak** &lt;kunal.pathak@microsoft.com&gt;
527
+ * [lance](https://github.com/lance) -
528
+ **Lance Ball** &lt;lball@redhat.com&gt; (he/him)
529
529
  * [lucamaraschi](https://github.com/lucamaraschi) -
530
530
  **Luca Maraschi** &lt;luca.maraschi@gmail.com&gt; (he/him)
531
531
  * [lxe](https://github.com/lxe) -
@@ -704,6 +704,6 @@ license text.
704
704
  [Contributing to the project]: CONTRIBUTING.md
705
705
  [Node.js Website]: https://nodejs.org/
706
706
  [OpenJS Foundation]: https://openjsf.org/
707
- [Strategic Initiatives]: https://github.com/nodejs/TSC/blob/HEAD/Strategic-Initiatives.md
707
+ [Strategic initiatives]: doc/guides/strategic-initiatives.md
708
708
  [Technical values and prioritization]: doc/guides/technical-values.md
709
709
  [Working Groups]: https://github.com/nodejs/TSC/blob/HEAD/WORKING_GROUPS.md
package/bin/node CHANGED
Binary file
@@ -36,7 +36,7 @@
36
36
 
37
37
  # Reset this number to 0 on major V8 upgrades.
38
38
  # Increment by one for each non-official patch applied to deps/v8.
39
- 'v8_embedder_string': '-node.20',
39
+ 'v8_embedder_string': '-node.18',
40
40
 
41
41
  ##### V8 defaults for Node.js #####
42
42
 
@@ -28,6 +28,261 @@
28
28
  'node_debug_lib': 'false',
29
29
  'node_enable_d8': 'false',
30
30
  'node_install_npm': 'true',
31
+ 'node_library_files': [ 'lib/constants.js',
32
+ 'lib/net.js',
33
+ 'lib/trace_events.js',
34
+ 'lib/events.js',
35
+ 'lib/repl.js',
36
+ 'lib/util.js',
37
+ 'lib/dgram.js',
38
+ 'lib/vm.js',
39
+ 'lib/stream.js',
40
+ 'lib/child_process.js',
41
+ 'lib/assert.js',
42
+ 'lib/_tls_wrap.js',
43
+ 'lib/http2.js',
44
+ 'lib/inspector.js',
45
+ 'lib/os.js',
46
+ 'lib/_http_server.js',
47
+ 'lib/console.js',
48
+ 'lib/perf_hooks.js',
49
+ 'lib/readline.js',
50
+ 'lib/punycode.js',
51
+ 'lib/_http_incoming.js',
52
+ 'lib/https.js',
53
+ 'lib/_stream_wrap.js',
54
+ 'lib/domain.js',
55
+ 'lib/dns.js',
56
+ 'lib/_http_client.js',
57
+ 'lib/diagnostics_channel.js',
58
+ 'lib/tty.js',
59
+ 'lib/_http_agent.js',
60
+ 'lib/timers.js',
61
+ 'lib/_http_outgoing.js',
62
+ 'lib/querystring.js',
63
+ 'lib/_tls_common.js',
64
+ 'lib/module.js',
65
+ 'lib/_stream_passthrough.js',
66
+ 'lib/_stream_transform.js',
67
+ 'lib/worker_threads.js',
68
+ 'lib/sys.js',
69
+ 'lib/_stream_duplex.js',
70
+ 'lib/path.js',
71
+ 'lib/_http_common.js',
72
+ 'lib/string_decoder.js',
73
+ 'lib/cluster.js',
74
+ 'lib/v8.js',
75
+ 'lib/crypto.js',
76
+ 'lib/wasi.js',
77
+ 'lib/_stream_readable.js',
78
+ 'lib/zlib.js',
79
+ 'lib/url.js',
80
+ 'lib/tls.js',
81
+ 'lib/_stream_writable.js',
82
+ 'lib/async_hooks.js',
83
+ 'lib/process.js',
84
+ 'lib/http.js',
85
+ 'lib/buffer.js',
86
+ 'lib/fs.js',
87
+ 'lib/util/types.js',
88
+ 'lib/timers/promises.js',
89
+ 'lib/path/win32.js',
90
+ 'lib/path/posix.js',
91
+ 'lib/stream/promises.js',
92
+ 'lib/stream/web.js',
93
+ 'lib/internal/constants.js',
94
+ 'lib/internal/abort_controller.js',
95
+ 'lib/internal/net.js',
96
+ 'lib/internal/v8_prof_processor.js',
97
+ 'lib/internal/event_target.js',
98
+ 'lib/internal/inspector_async_hook.js',
99
+ 'lib/internal/validators.js',
100
+ 'lib/internal/linkedlist.js',
101
+ 'lib/internal/cli_table.js',
102
+ 'lib/internal/repl.js',
103
+ 'lib/internal/util.js',
104
+ 'lib/internal/histogram.js',
105
+ 'lib/internal/error_serdes.js',
106
+ 'lib/internal/dgram.js',
107
+ 'lib/internal/child_process.js',
108
+ 'lib/internal/assert.js',
109
+ 'lib/internal/fixed_queue.js',
110
+ 'lib/internal/blocklist.js',
111
+ 'lib/internal/v8_prof_polyfill.js',
112
+ 'lib/internal/options.js',
113
+ 'lib/internal/worker.js',
114
+ 'lib/internal/dtrace.js',
115
+ 'lib/internal/idna.js',
116
+ 'lib/internal/watchdog.js',
117
+ 'lib/internal/encoding.js',
118
+ 'lib/internal/tty.js',
119
+ 'lib/internal/freeze_intrinsics.js',
120
+ 'lib/internal/timers.js',
121
+ 'lib/internal/heap_utils.js',
122
+ 'lib/internal/querystring.js',
123
+ 'lib/internal/js_stream_socket.js',
124
+ 'lib/internal/errors.js',
125
+ 'lib/internal/priority_queue.js',
126
+ 'lib/internal/freelist.js',
127
+ 'lib/internal/blob.js',
128
+ 'lib/internal/socket_list.js',
129
+ 'lib/internal/socketaddress.js',
130
+ 'lib/internal/stream_base_commons.js',
131
+ 'lib/internal/url.js',
132
+ 'lib/internal/async_hooks.js',
133
+ 'lib/internal/http.js',
134
+ 'lib/internal/buffer.js',
135
+ 'lib/internal/trace_events_async_hooks.js',
136
+ 'lib/internal/crypto/sig.js',
137
+ 'lib/internal/crypto/rsa.js',
138
+ 'lib/internal/crypto/aes.js',
139
+ 'lib/internal/crypto/util.js',
140
+ 'lib/internal/crypto/scrypt.js',
141
+ 'lib/internal/crypto/random.js',
142
+ 'lib/internal/crypto/keys.js',
143
+ 'lib/internal/crypto/x509.js',
144
+ 'lib/internal/crypto/certificate.js',
145
+ 'lib/internal/crypto/ec.js',
146
+ 'lib/internal/crypto/keygen.js',
147
+ 'lib/internal/crypto/mac.js',
148
+ 'lib/internal/crypto/diffiehellman.js',
149
+ 'lib/internal/crypto/hkdf.js',
150
+ 'lib/internal/crypto/cipher.js',
151
+ 'lib/internal/crypto/hash.js',
152
+ 'lib/internal/crypto/pbkdf2.js',
153
+ 'lib/internal/crypto/webcrypto.js',
154
+ 'lib/internal/crypto/dsa.js',
155
+ 'lib/internal/crypto/hashnames.js',
156
+ 'lib/internal/cluster/shared_handle.js',
157
+ 'lib/internal/cluster/round_robin_handle.js',
158
+ 'lib/internal/cluster/worker.js',
159
+ 'lib/internal/cluster/primary.js',
160
+ 'lib/internal/cluster/utils.js',
161
+ 'lib/internal/cluster/child.js',
162
+ 'lib/internal/webstreams/util.js',
163
+ 'lib/internal/webstreams/writablestream.js',
164
+ 'lib/internal/webstreams/readablestream.js',
165
+ 'lib/internal/webstreams/queuingstrategies.js',
166
+ 'lib/internal/webstreams/encoding.js',
167
+ 'lib/internal/webstreams/transformstream.js',
168
+ 'lib/internal/webstreams/transfer.js',
169
+ 'lib/internal/bootstrap/loaders.js',
170
+ 'lib/internal/bootstrap/pre_execution.js',
171
+ 'lib/internal/bootstrap/node.js',
172
+ 'lib/internal/bootstrap/environment.js',
173
+ 'lib/internal/bootstrap/switches/does_not_own_process_state.js',
174
+ 'lib/internal/bootstrap/switches/is_not_main_thread.js',
175
+ 'lib/internal/bootstrap/switches/does_own_process_state.js',
176
+ 'lib/internal/bootstrap/switches/is_main_thread.js',
177
+ 'lib/internal/test/binding.js',
178
+ 'lib/internal/test/transfer.js',
179
+ 'lib/internal/util/types.js',
180
+ 'lib/internal/util/inspector.js',
181
+ 'lib/internal/util/comparisons.js',
182
+ 'lib/internal/util/debuglog.js',
183
+ 'lib/internal/util/inspect.js',
184
+ 'lib/internal/util/iterable_weak_map.js',
185
+ 'lib/internal/streams/add-abort-signal.js',
186
+ 'lib/internal/streams/destroy.js',
187
+ 'lib/internal/streams/legacy.js',
188
+ 'lib/internal/streams/passthrough.js',
189
+ 'lib/internal/streams/readable.js',
190
+ 'lib/internal/streams/from.js',
191
+ 'lib/internal/streams/writable.js',
192
+ 'lib/internal/streams/state.js',
193
+ 'lib/internal/streams/buffer_list.js',
194
+ 'lib/internal/streams/end-of-stream.js',
195
+ 'lib/internal/streams/utils.js',
196
+ 'lib/internal/streams/transform.js',
197
+ 'lib/internal/streams/lazy_transform.js',
198
+ 'lib/internal/streams/duplex.js',
199
+ 'lib/internal/streams/pipeline.js',
200
+ 'lib/internal/readline/utils.js',
201
+ 'lib/internal/readline/emitKeypressEvents.js',
202
+ 'lib/internal/readline/callbacks.js',
203
+ 'lib/internal/repl/history.js',
204
+ 'lib/internal/repl/utils.js',
205
+ 'lib/internal/repl/await.js',
206
+ 'lib/internal/legacy/processbinding.js',
207
+ 'lib/internal/assert/calltracker.js',
208
+ 'lib/internal/assert/assertion_error.js',
209
+ 'lib/internal/http2/util.js',
210
+ 'lib/internal/http2/core.js',
211
+ 'lib/internal/http2/compat.js',
212
+ 'lib/internal/per_context/messageport.js',
213
+ 'lib/internal/per_context/primordials.js',
214
+ 'lib/internal/per_context/domexception.js',
215
+ 'lib/internal/vm/module.js',
216
+ 'lib/internal/tls/secure-pair.js',
217
+ 'lib/internal/tls/parse-cert-string.js',
218
+ 'lib/internal/tls/secure-context.js',
219
+ 'lib/internal/child_process/serialization.js',
220
+ 'lib/internal/debugger/inspect_repl.js',
221
+ 'lib/internal/debugger/inspect_client.js',
222
+ 'lib/internal/debugger/inspect.js',
223
+ 'lib/internal/worker/io.js',
224
+ 'lib/internal/worker/js_transferable.js',
225
+ 'lib/internal/main/repl.js',
226
+ 'lib/internal/main/print_help.js',
227
+ 'lib/internal/main/eval_string.js',
228
+ 'lib/internal/main/check_syntax.js',
229
+ 'lib/internal/main/prof_process.js',
230
+ 'lib/internal/main/worker_thread.js',
231
+ 'lib/internal/main/inspect.js',
232
+ 'lib/internal/main/eval_stdin.js',
233
+ 'lib/internal/main/run_main_module.js',
234
+ 'lib/internal/modules/run_main.js',
235
+ 'lib/internal/modules/package_json_reader.js',
236
+ 'lib/internal/modules/esm/module_job.js',
237
+ 'lib/internal/modules/esm/get_source.js',
238
+ 'lib/internal/modules/esm/translators.js',
239
+ 'lib/internal/modules/esm/resolve.js',
240
+ 'lib/internal/modules/esm/create_dynamic_module.js',
241
+ 'lib/internal/modules/esm/module_map.js',
242
+ 'lib/internal/modules/esm/get_format.js',
243
+ 'lib/internal/modules/esm/transform_source.js',
244
+ 'lib/internal/modules/esm/loader.js',
245
+ 'lib/internal/modules/cjs/helpers.js',
246
+ 'lib/internal/modules/cjs/loader.js',
247
+ 'lib/internal/source_map/source_map.js',
248
+ 'lib/internal/source_map/prepare_stack_trace.js',
249
+ 'lib/internal/source_map/source_map_cache.js',
250
+ 'lib/internal/dns/promises.js',
251
+ 'lib/internal/dns/utils.js',
252
+ 'lib/internal/fs/watchers.js',
253
+ 'lib/internal/fs/promises.js',
254
+ 'lib/internal/fs/read_file_context.js',
255
+ 'lib/internal/fs/rimraf.js',
256
+ 'lib/internal/fs/sync_write_stream.js',
257
+ 'lib/internal/fs/dir.js',
258
+ 'lib/internal/fs/streams.js',
259
+ 'lib/internal/fs/utils.js',
260
+ 'lib/internal/perf/nodetiming.js',
261
+ 'lib/internal/perf/usertiming.js',
262
+ 'lib/internal/perf/performance_entry.js',
263
+ 'lib/internal/perf/performance.js',
264
+ 'lib/internal/perf/timerify.js',
265
+ 'lib/internal/perf/utils.js',
266
+ 'lib/internal/perf/observe.js',
267
+ 'lib/internal/perf/event_loop_delay.js',
268
+ 'lib/internal/perf/event_loop_utilization.js',
269
+ 'lib/internal/policy/manifest.js',
270
+ 'lib/internal/policy/sri.js',
271
+ 'lib/internal/process/task_queues.js',
272
+ 'lib/internal/process/per_thread.js',
273
+ 'lib/internal/process/warning.js',
274
+ 'lib/internal/process/policy.js',
275
+ 'lib/internal/process/promises.js',
276
+ 'lib/internal/process/signal.js',
277
+ 'lib/internal/process/execution.js',
278
+ 'lib/internal/process/esm_loader.js',
279
+ 'lib/internal/process/report.js',
280
+ 'lib/internal/process/worker_thread_only.js',
281
+ 'lib/internal/console/constructor.js',
282
+ 'lib/internal/console/global.js',
283
+ 'lib/assert/strict.js',
284
+ 'lib/dns/promises.js',
285
+ 'lib/fs/promises.js'],
31
286
  'node_module_version': 93,
32
287
  'node_no_browser_globals': 'false',
33
288
  'node_prefix': '/',
@@ -23,7 +23,7 @@
23
23
  #define SRC_NODE_VERSION_H_
24
24
 
25
25
  #define NODE_MAJOR_VERSION 16
26
- #define NODE_MINOR_VERSION 5
26
+ #define NODE_MINOR_VERSION 6
27
27
  #define NODE_PATCH_VERSION 0
28
28
 
29
29
  #define NODE_VERSION_IS_LTS 0
@@ -40,6 +40,13 @@ const int kWeakHeapObjectTag = 3;
40
40
  const int kHeapObjectTagSize = 2;
41
41
  const intptr_t kHeapObjectTagMask = (1 << kHeapObjectTagSize) - 1;
42
42
 
43
+ // Tag information for fowarding pointers stored in object headers.
44
+ // 0b00 at the lowest 2 bits in the header indicates that the map word is a
45
+ // forwarding pointer.
46
+ const int kForwardingTag = 0;
47
+ const int kForwardingTagSize = 2;
48
+ const intptr_t kForwardingTagMask = (1 << kForwardingTagSize) - 1;
49
+
43
50
  // Tag information for Smi.
44
51
  const int kSmiTag = 0;
45
52
  const int kSmiTagSize = 1;
@@ -120,23 +127,28 @@ constexpr bool HeapSandboxIsEnabled() {
120
127
 
121
128
  using ExternalPointer_t = Address;
122
129
 
123
- // If the heap sandbox is enabled, these tag values will be XORed with the
130
+ // If the heap sandbox is enabled, these tag values will be ORed with the
124
131
  // external pointers in the external pointer table to prevent use of pointers of
125
- // the wrong type.
126
- enum ExternalPointerTag : Address {
127
- kExternalPointerNullTag = static_cast<Address>(0ULL),
128
- kArrayBufferBackingStoreTag = static_cast<Address>(1ULL << 48),
129
- kTypedArrayExternalPointerTag = static_cast<Address>(2ULL << 48),
130
- kDataViewDataPointerTag = static_cast<Address>(3ULL << 48),
131
- kExternalStringResourceTag = static_cast<Address>(4ULL << 48),
132
- kExternalStringResourceDataTag = static_cast<Address>(5ULL << 48),
133
- kForeignForeignAddressTag = static_cast<Address>(6ULL << 48),
134
- kNativeContextMicrotaskQueueTag = static_cast<Address>(7ULL << 48),
135
- // TODO(v8:10391, saelo): Currently has to be zero so that raw zero values are
136
- // also nullptr
137
- kEmbedderDataSlotPayloadTag = static_cast<Address>(0ULL << 48),
132
+ // the wrong type. When a pointer is loaded, it is ANDed with the inverse of the
133
+ // expected type's tag. The tags are constructed in a way that guarantees that a
134
+ // failed type check will result in one or more of the top bits of the pointer
135
+ // to be set, rendering the pointer inacessible. This construction allows
136
+ // performing the type check and removing GC marking bits from the pointer at
137
+ // the same time.
138
+ enum ExternalPointerTag : uint64_t {
139
+ kExternalPointerNullTag = 0x0000000000000000,
140
+ kArrayBufferBackingStoreTag = 0x00ff000000000000, // 0b000000011111111
141
+ kTypedArrayExternalPointerTag = 0x017f000000000000, // 0b000000101111111
142
+ kDataViewDataPointerTag = 0x01bf000000000000, // 0b000000110111111
143
+ kExternalStringResourceTag = 0x01df000000000000, // 0b000000111011111
144
+ kExternalStringResourceDataTag = 0x01ef000000000000, // 0b000000111101111
145
+ kForeignForeignAddressTag = 0x01f7000000000000, // 0b000000111110111
146
+ kNativeContextMicrotaskQueueTag = 0x01fb000000000000, // 0b000000111111011
147
+ kEmbedderDataSlotPayloadTag = 0x01fd000000000000, // 0b000000111111101
138
148
  };
139
149
 
150
+ constexpr uint64_t kExternalPointerTagMask = 0xffff000000000000;
151
+
140
152
  #ifdef V8_31BIT_SMIS_ON_64BIT_ARCH
141
153
  using PlatformSmiTagging = SmiTagging<kApiInt32Size>;
142
154
  #else
@@ -177,6 +189,14 @@ V8_EXPORT bool ShouldThrowOnError(v8::internal::Isolate* isolate);
177
189
  * depend on functions and constants defined here.
178
190
  */
179
191
  class Internals {
192
+ #ifdef V8_MAP_PACKING
193
+ V8_INLINE static constexpr internal::Address UnpackMapWord(
194
+ internal::Address mapword) {
195
+ // TODO(wenyuzhao): Clear header metadata.
196
+ return mapword ^ kMapWordXorMask;
197
+ }
198
+ #endif
199
+
180
200
  public:
181
201
  // These values match non-compiler-dependent values defined within
182
202
  // the implementation of v8.
@@ -253,6 +273,17 @@ class Internals {
253
273
  // incremental GC once the external memory reaches this limit.
254
274
  static constexpr int kExternalAllocationSoftLimit = 64 * 1024 * 1024;
255
275
 
276
+ #ifdef V8_MAP_PACKING
277
+ static const uintptr_t kMapWordMetadataMask = 0xffffULL << 48;
278
+ // The lowest two bits of mapwords are always `0b10`
279
+ static const uintptr_t kMapWordSignature = 0b10;
280
+ // XORing a (non-compressed) map with this mask ensures that the two
281
+ // low-order bits are 0b10. The 0 at the end makes this look like a Smi,
282
+ // although real Smis have all lower 32 bits unset. We only rely on these
283
+ // values passing as Smis in very few places.
284
+ static const int kMapWordXorMask = 0b11;
285
+ #endif
286
+
256
287
  V8_EXPORT static void CheckInitializedImpl(v8::Isolate* isolate);
257
288
  V8_INLINE static void CheckInitialized(v8::Isolate* isolate) {
258
289
  #ifdef V8_ENABLE_CHECKS
@@ -279,6 +310,9 @@ class Internals {
279
310
  V8_INLINE static int GetInstanceType(const internal::Address obj) {
280
311
  typedef internal::Address A;
281
312
  A map = ReadTaggedPointerField(obj, kHeapObjectMapOffset);
313
+ #ifdef V8_MAP_PACKING
314
+ map = UnpackMapWord(map);
315
+ #endif
282
316
  return ReadRawField<uint16_t>(map, kMapInstanceTypeOffset);
283
317
  }
284
318
 
@@ -492,7 +492,7 @@ class V8_EXPORT HeapGraphNode {
492
492
  /**
493
493
  * An interface for exporting data from V8, using "push" model.
494
494
  */
495
- class V8_EXPORT OutputStream { // NOLINT
495
+ class V8_EXPORT OutputStream {
496
496
  public:
497
497
  enum WriteResult {
498
498
  kContinue = 0,
@@ -519,7 +519,6 @@ class V8_EXPORT OutputStream { // NOLINT
519
519
  }
520
520
  };
521
521
 
522
-
523
522
  /**
524
523
  * HeapSnapshots record the state of the JS heap at some moment.
525
524
  */
@@ -586,7 +585,7 @@ class V8_EXPORT HeapSnapshot {
586
585
  * An interface for reporting progress and controlling long-running
587
586
  * activities.
588
587
  */
589
- class V8_EXPORT ActivityControl { // NOLINT
588
+ class V8_EXPORT ActivityControl {
590
589
  public:
591
590
  enum ControlOption {
592
591
  kContinue = 0,
@@ -600,7 +599,6 @@ class V8_EXPORT ActivityControl { // NOLINT
600
599
  virtual ControlOption ReportProgressValue(int done, int total) = 0;
601
600
  };
602
601
 
603
-
604
602
  /**
605
603
  * AllocationProfile is a sampled profile of allocations done by the program.
606
604
  * This is structured as a call-graph.
@@ -902,6 +900,15 @@ class V8_EXPORT HeapProfiler {
902
900
  ObjectNameResolver* global_object_name_resolver = nullptr,
903
901
  bool treat_global_objects_as_roots = true);
904
902
 
903
+ /**
904
+ * Takes a heap snapshot and returns it.
905
+ */
906
+ const HeapSnapshot* TakeHeapSnapshotV8_92(
907
+ ActivityControl* control = nullptr,
908
+ ObjectNameResolver* global_object_name_resolver = nullptr,
909
+ bool treat_global_objects_as_roots = true,
910
+ bool capture_numeric_value = false);
911
+
905
912
  /**
906
913
  * Starts tracking of heap objects population statistics. After calling
907
914
  * this method, all heap objects relocations done by the garbage collector
@@ -9,9 +9,9 @@
9
9
  // NOTE these macros are used by some of the tool scripts and the build
10
10
  // system so their names cannot be changed without changing the scripts.
11
11
  #define V8_MAJOR_VERSION 9
12
- #define V8_MINOR_VERSION 1
13
- #define V8_BUILD_NUMBER 269
14
- #define V8_PATCH_LEVEL 38
12
+ #define V8_MINOR_VERSION 2
13
+ #define V8_BUILD_NUMBER 230
14
+ #define V8_PATCH_LEVEL 21
15
15
 
16
16
  // Use 1 for candidates and 0 otherwise.
17
17
  // (Boolean macro values are not supported by all preprocessors.)
package/include/node/v8.h CHANGED
@@ -596,7 +596,7 @@ template <class T> class PersistentBase {
596
596
  */
597
597
  V8_INLINE uint16_t WrapperClassId() const;
598
598
 
599
- PersistentBase(const PersistentBase& other) = delete; // NOLINT
599
+ PersistentBase(const PersistentBase& other) = delete;
600
600
  void operator=(const PersistentBase&) = delete;
601
601
 
602
602
  private:
@@ -708,7 +708,7 @@ template <class T, class M> class Persistent : public PersistentBase<T> {
708
708
  return *this;
709
709
  }
710
710
  template <class S, class M2>
711
- V8_INLINE Persistent& operator=(const Persistent<S, M2>& that) { // NOLINT
711
+ V8_INLINE Persistent& operator=(const Persistent<S, M2>& that) {
712
712
  Copy(that);
713
713
  return *this;
714
714
  }
@@ -723,7 +723,7 @@ template <class T, class M> class Persistent : public PersistentBase<T> {
723
723
 
724
724
  // TODO(dcarney): this is pretty useless, fix or remove
725
725
  template <class S>
726
- V8_INLINE static Persistent<T>& Cast(const Persistent<S>& that) { // NOLINT
726
+ V8_INLINE static Persistent<T>& Cast(const Persistent<S>& that) {
727
727
  #ifdef V8_ENABLE_CHECKS
728
728
  // If we're going to perform the type check then we have to check
729
729
  // that the handle isn't empty before doing the checked cast.
@@ -734,7 +734,7 @@ template <class T, class M> class Persistent : public PersistentBase<T> {
734
734
 
735
735
  // TODO(dcarney): this is pretty useless, fix or remove
736
736
  template <class S>
737
- V8_INLINE Persistent<S>& As() const { // NOLINT
737
+ V8_INLINE Persistent<S>& As() const {
738
738
  return Persistent<S>::Cast(*this);
739
739
  }
740
740
 
@@ -803,7 +803,7 @@ class Global : public PersistentBase<T> {
803
803
  /**
804
804
  * Pass allows returning uniques from functions, etc.
805
805
  */
806
- Global Pass() { return static_cast<Global&&>(*this); } // NOLINT
806
+ Global Pass() { return static_cast<Global&&>(*this); }
807
807
 
808
808
  /*
809
809
  * For compatibility with Chromium's base::Bind (base::Passed).
@@ -905,8 +905,8 @@ class TracedReferenceBase {
905
905
  * The exact semantics are:
906
906
  * - Tracing garbage collections use |v8::EmbedderHeapTracer| or cppgc.
907
907
  * - Non-tracing garbage collections refer to
908
- * |v8::EmbedderHeapTracer::IsRootForNonTracingGC()| whether the handle should
909
- * be treated as root or not.
908
+ * |v8::EmbedderRootsHandler::IsRoot()| whether the handle should
909
+ * be treated as root or not.
910
910
  *
911
911
  * Note that the base class cannot be instantiated itself. Choose from
912
912
  * - TracedGlobal
@@ -1678,10 +1678,12 @@ class V8_EXPORT Module : public Data {
1678
1678
  /**
1679
1679
  * Evaluates the module and its dependencies.
1680
1680
  *
1681
- * If status is kInstantiated, run the module's code. On success, set status
1682
- * to kEvaluated and return the completion value; on failure, set status to
1683
- * kErrored and propagate the thrown exception (which is then also available
1684
- * via |GetException|).
1681
+ * If status is kInstantiated, run the module's code and return a Promise
1682
+ * object. On success, set status to kEvaluated and resolve the Promise with
1683
+ * the completion value; on failure, set status to kErrored and reject the
1684
+ * Promise with the error.
1685
+ *
1686
+ * If IsGraphAsync() is false, the returned Promise is settled.
1685
1687
  */
1686
1688
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Evaluate(Local<Context> context);
1687
1689
 
@@ -3282,7 +3284,7 @@ class V8_EXPORT String : public Name {
3282
3284
  */
3283
3285
  bool IsExternalOneByte() const;
3284
3286
 
3285
- class V8_EXPORT ExternalStringResourceBase { // NOLINT
3287
+ class V8_EXPORT ExternalStringResourceBase {
3286
3288
  public:
3287
3289
  virtual ~ExternalStringResourceBase() = default;
3288
3290
 
@@ -3633,6 +3635,7 @@ class V8_EXPORT Symbol : public Name {
3633
3635
  * Returns the description string of the symbol, or undefined if none.
3634
3636
  */
3635
3637
  Local<Value> Description() const;
3638
+ Local<Value> Description(Isolate* isolate) const;
3636
3639
 
3637
3640
  V8_DEPRECATED("Use Symbol::Description()")
3638
3641
  Local<Value> Name() const { return Description(); }
@@ -3986,8 +3989,7 @@ class V8_EXPORT Object : public Value {
3986
3989
  //
3987
3990
  // Returns true on success.
3988
3991
  V8_WARN_UNUSED_RESULT Maybe<bool> DefineProperty(
3989
- Local<Context> context, Local<Name> key,
3990
- PropertyDescriptor& descriptor); // NOLINT(runtime/references)
3992
+ Local<Context> context, Local<Name> key, PropertyDescriptor& descriptor);
3991
3993
 
3992
3994
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
3993
3995
  Local<Value> key);
@@ -5364,7 +5366,7 @@ class V8_EXPORT ArrayBuffer : public Object {
5364
5366
  * Note that it is unsafe to call back into V8 from any of the allocator
5365
5367
  * functions.
5366
5368
  */
5367
- class V8_EXPORT Allocator { // NOLINT
5369
+ class V8_EXPORT Allocator {
5368
5370
  public:
5369
5371
  virtual ~Allocator() = default;
5370
5372
 
@@ -6756,6 +6758,15 @@ class V8_EXPORT FunctionTemplate : public Template {
6756
6758
  SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
6757
6759
  const CFunction* c_function = nullptr);
6758
6760
 
6761
+ /** Creates a function template for multiple overloaded fast API calls.*/
6762
+ static Local<FunctionTemplate> NewWithCFunctionOverloads(
6763
+ Isolate* isolate, FunctionCallback callback = nullptr,
6764
+ Local<Value> data = Local<Value>(),
6765
+ Local<Signature> signature = Local<Signature>(), int length = 0,
6766
+ ConstructorBehavior behavior = ConstructorBehavior::kAllow,
6767
+ SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
6768
+ const MemorySpan<const CFunction>& c_function_overloads = {});
6769
+
6759
6770
  /**
6760
6771
  * Creates a function template backed/cached by a private property.
6761
6772
  */
@@ -6787,7 +6798,7 @@ class V8_EXPORT FunctionTemplate : public Template {
6787
6798
  void SetCallHandler(
6788
6799
  FunctionCallback callback, Local<Value> data = Local<Value>(),
6789
6800
  SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
6790
- const CFunction* c_function = nullptr);
6801
+ const MemorySpan<const CFunction>& c_function_overloads = {});
6791
6802
 
6792
6803
  /** Set the predefined length property for the FunctionTemplate. */
6793
6804
  void SetLength(int length);
@@ -6848,6 +6859,15 @@ class V8_EXPORT FunctionTemplate : public Template {
6848
6859
  */
6849
6860
  bool HasInstance(Local<Value> object);
6850
6861
 
6862
+ /**
6863
+ * Returns true if the given value is an API object that was constructed by an
6864
+ * instance of this function template (without checking for inheriting
6865
+ * function templates).
6866
+ *
6867
+ * This is an experimental feature and may still change significantly.
6868
+ */
6869
+ bool IsLeafTemplateForApiObject(v8::Local<v8::Value> value) const;
6870
+
6851
6871
  V8_INLINE static FunctionTemplate* Cast(Data* data);
6852
6872
 
6853
6873
  private:
@@ -7281,7 +7301,7 @@ class V8_EXPORT AccessorSignature : public Data {
7281
7301
  /**
7282
7302
  * Ignore
7283
7303
  */
7284
- class V8_EXPORT Extension { // NOLINT
7304
+ class V8_EXPORT Extension {
7285
7305
  public:
7286
7306
  // Note that the strings passed into this constructor must live as long
7287
7307
  // as the Extension itself.
@@ -7383,6 +7403,11 @@ class V8_EXPORT ResourceConstraints {
7383
7403
  /**
7384
7404
  * The amount of virtual memory reserved for generated code. This is relevant
7385
7405
  * for 64-bit architectures that rely on code range for calls in code.
7406
+ *
7407
+ * When V8_COMPRESS_POINTERS_IN_SHARED_CAGE is defined, there is a shared
7408
+ * process-wide code range that is lazily initialized. This value is used to
7409
+ * configure that shared code range when the first Isolate is
7410
+ * created. Subsequent Isolates ignore this value.
7386
7411
  */
7387
7412
  size_t code_range_size_in_bytes() const { return code_range_size_; }
7388
7413
  void set_code_range_size_in_bytes(size_t limit) { code_range_size_ = limit; }
@@ -7832,6 +7857,10 @@ using WasmSimdEnabledCallback = bool (*)(Local<Context> context);
7832
7857
  // --- Callback for checking if WebAssembly exceptions are enabled ---
7833
7858
  using WasmExceptionsEnabledCallback = bool (*)(Local<Context> context);
7834
7859
 
7860
+ // --- Callback for checking if the SharedArrayBuffer constructor is enabled ---
7861
+ using SharedArrayBufferConstructorEnabledCallback =
7862
+ bool (*)(Local<Context> context);
7863
+
7835
7864
  // --- Garbage Collection Callbacks ---
7836
7865
 
7837
7866
  /**
@@ -8153,17 +8182,16 @@ using UnhandledExceptionCallback =
8153
8182
  /**
8154
8183
  * Interface for iterating through all external resources in the heap.
8155
8184
  */
8156
- class V8_EXPORT ExternalResourceVisitor { // NOLINT
8185
+ class V8_EXPORT ExternalResourceVisitor {
8157
8186
  public:
8158
8187
  virtual ~ExternalResourceVisitor() = default;
8159
8188
  virtual void VisitExternalString(Local<String> string) {}
8160
8189
  };
8161
8190
 
8162
-
8163
8191
  /**
8164
8192
  * Interface for iterating through all the persistent handles in the heap.
8165
8193
  */
8166
- class V8_EXPORT PersistentHandleVisitor { // NOLINT
8194
+ class V8_EXPORT PersistentHandleVisitor {
8167
8195
  public:
8168
8196
  virtual ~PersistentHandleVisitor() = default;
8169
8197
  virtual void VisitPersistentHandle(Persistent<Value>* value,
@@ -8180,6 +8208,45 @@ class V8_EXPORT PersistentHandleVisitor { // NOLINT
8180
8208
  */
8181
8209
  enum class MemoryPressureLevel { kNone, kModerate, kCritical };
8182
8210
 
8211
+ /**
8212
+ * Handler for embedder roots on non-unified heap garbage collections.
8213
+ */
8214
+ class V8_EXPORT EmbedderRootsHandler {
8215
+ public:
8216
+ virtual ~EmbedderRootsHandler() = default;
8217
+
8218
+ /**
8219
+ * Returns true if the TracedGlobal handle should be considered as root for
8220
+ * the currently running non-tracing garbage collection and false otherwise.
8221
+ * The default implementation will keep all TracedGlobal references as roots.
8222
+ *
8223
+ * If this returns false, then V8 may decide that the object referred to by
8224
+ * such a handle is reclaimed. In that case:
8225
+ * - No action is required if handles are used with destructors, i.e., by just
8226
+ * using |TracedGlobal|.
8227
+ * - When run without destructors, i.e., by using |TracedReference|, V8 calls
8228
+ * |ResetRoot|.
8229
+ *
8230
+ * Note that the |handle| is different from the handle that the embedder holds
8231
+ * for retaining the object. The embedder may use |WrapperClassId()| to
8232
+ * distinguish cases where it wants handles to be treated as roots from not
8233
+ * being treated as roots.
8234
+ */
8235
+ virtual bool IsRoot(const v8::TracedReference<v8::Value>& handle) = 0;
8236
+ virtual bool IsRoot(const v8::TracedGlobal<v8::Value>& handle) = 0;
8237
+
8238
+ /**
8239
+ * Used in combination with |IsRoot|. Called by V8 when an
8240
+ * object that is backed by a handle is reclaimed by a non-tracing garbage
8241
+ * collection. It is up to the embedder to reset the original handle.
8242
+ *
8243
+ * Note that the |handle| is different from the handle that the embedder holds
8244
+ * for retaining the object. It is up to the embedder to find the original
8245
+ * handle via the object or class id.
8246
+ */
8247
+ virtual void ResetRoot(const v8::TracedReference<v8::Value>& handle) = 0;
8248
+ };
8249
+
8183
8250
  /**
8184
8251
  * Interface for tracing through the embedder heap. During a V8 garbage
8185
8252
  * collection, V8 collects hidden fields of all potential wrappers, and at the
@@ -8242,6 +8309,9 @@ class V8_EXPORT EmbedderHeapTracer {
8242
8309
  /**
8243
8310
  * Called by the embedder to notify V8 of an empty execution stack.
8244
8311
  */
8312
+ V8_DEPRECATE_SOON(
8313
+ "This call only optimized internal caches which V8 is able to figure out "
8314
+ "on its own now.")
8245
8315
  void NotifyEmptyEmbedderStack();
8246
8316
 
8247
8317
  /**
@@ -8305,34 +8375,14 @@ class V8_EXPORT EmbedderHeapTracer {
8305
8375
  void FinalizeTracing();
8306
8376
 
8307
8377
  /**
8308
- * Returns true if the TracedGlobal handle should be considered as root for
8309
- * the currently running non-tracing garbage collection and false otherwise.
8310
- * The default implementation will keep all TracedGlobal references as roots.
8311
- *
8312
- * If this returns false, then V8 may decide that the object referred to by
8313
- * such a handle is reclaimed. In that case:
8314
- * - No action is required if handles are used with destructors, i.e., by just
8315
- * using |TracedGlobal|.
8316
- * - When run without destructors, i.e., by using
8317
- * |TracedReference|, V8 calls |ResetHandleInNonTracingGC|.
8318
- *
8319
- * Note that the |handle| is different from the handle that the embedder holds
8320
- * for retaining the object. The embedder may use |WrapperClassId()| to
8321
- * distinguish cases where it wants handles to be treated as roots from not
8322
- * being treated as roots.
8378
+ * See documentation on EmbedderRootsHandler.
8323
8379
  */
8324
8380
  virtual bool IsRootForNonTracingGC(
8325
8381
  const v8::TracedReference<v8::Value>& handle);
8326
8382
  virtual bool IsRootForNonTracingGC(const v8::TracedGlobal<v8::Value>& handle);
8327
8383
 
8328
8384
  /**
8329
- * Used in combination with |IsRootForNonTracingGC|. Called by V8 when an
8330
- * object that is backed by a handle is reclaimed by a non-tracing garbage
8331
- * collection. It is up to the embedder to reset the original handle.
8332
- *
8333
- * Note that the |handle| is different from the handle that the embedder holds
8334
- * for retaining the object. It is up to the embedder to find the original
8335
- * handle via the object or class id.
8385
+ * See documentation on EmbedderRootsHandler.
8336
8386
  */
8337
8387
  virtual void ResetHandleInNonTracingGC(
8338
8388
  const v8::TracedReference<v8::Value>& handle);
@@ -8791,6 +8841,7 @@ class V8_EXPORT Isolate {
8791
8841
  kWasmBulkMemory = 109, // Unused.
8792
8842
  kWasmMultiValue = 110,
8793
8843
  kWasmExceptionHandling = 111,
8844
+ kInvalidatedMegaDOMProtector = 112,
8794
8845
 
8795
8846
  // If you add new values here, you'll also need to update Chromium's:
8796
8847
  // web_feature.mojom, use_counter_callback.cc, and enums.xml. V8 changes to
@@ -9126,6 +9177,17 @@ class V8_EXPORT Isolate {
9126
9177
  */
9127
9178
  Local<Context> GetIncumbentContext();
9128
9179
 
9180
+ /**
9181
+ * Schedules a v8::Exception::Error with the given message.
9182
+ * See ThrowException for more details. Templatized to provide compile-time
9183
+ * errors in case of too long strings (see v8::String::NewFromUtf8Literal).
9184
+ */
9185
+ template <int N>
9186
+ Local<Value> ThrowError(const char (&message)[N]) {
9187
+ return ThrowError(String::NewFromUtf8Literal(this, message));
9188
+ }
9189
+ Local<Value> ThrowError(Local<String> message);
9190
+
9129
9191
  /**
9130
9192
  * Schedules an exception to be thrown when returning to JavaScript. When an
9131
9193
  * exception has been scheduled it is illegal to invoke any JavaScript
@@ -9170,6 +9232,18 @@ class V8_EXPORT Isolate {
9170
9232
  */
9171
9233
  EmbedderHeapTracer* GetEmbedderHeapTracer();
9172
9234
 
9235
+ /**
9236
+ * Sets an embedder roots handle that V8 should consider when performing
9237
+ * non-unified heap garbage collections.
9238
+ *
9239
+ * Using only EmbedderHeapTracer automatically sets up a default handler.
9240
+ * The intended use case is for setting a custom handler after invoking
9241
+ * `AttachCppHeap()`.
9242
+ *
9243
+ * V8 does not take ownership of the handler.
9244
+ */
9245
+ void SetEmbedderRootsHandler(EmbedderRootsHandler* handler);
9246
+
9173
9247
  /**
9174
9248
  * Attaches a managed C++ heap as an extension to the JavaScript heap. The
9175
9249
  * embedder maintains ownership of the CppHeap. At most one C++ heap can be
@@ -9739,6 +9813,9 @@ class V8_EXPORT Isolate {
9739
9813
 
9740
9814
  void SetWasmExceptionsEnabledCallback(WasmExceptionsEnabledCallback callback);
9741
9815
 
9816
+ void SetSharedArrayBufferConstructorEnabledCallback(
9817
+ SharedArrayBufferConstructorEnabledCallback callback);
9818
+
9742
9819
  /**
9743
9820
  * This function can be called by the embedder to signal V8 that the dynamic
9744
9821
  * enabling of features has finished. V8 can now set up dynamically added
@@ -10113,6 +10190,9 @@ class V8_EXPORT V8 {
10113
10190
  * Notifies V8 that the process is cross-origin-isolated, which enables
10114
10191
  * defining the SharedArrayBuffer function on the global object of Contexts.
10115
10192
  */
10193
+ V8_DEPRECATED(
10194
+ "Use the command line argument --enable-sharedarraybuffer-per-context "
10195
+ "together with SetSharedArrayBufferConstructorEnabledCallback")
10116
10196
  static void SetIsCrossOriginIsolated();
10117
10197
 
10118
10198
  private:
@@ -310,10 +310,6 @@ path. Add it with -I<path> to the command line
310
310
  // GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
311
311
  # define V8_HAS_COMPUTED_GOTO 1
312
312
 
313
- // Whether constexpr has full C++14 semantics, in particular that non-constexpr
314
- // code is allowed as long as it's not executed for any constexpr instantiation.
315
- # define V8_HAS_CXX14_CONSTEXPR 1
316
-
317
313
  #elif defined(__GNUC__)
318
314
 
319
315
  # define V8_CC_GNU 1
@@ -336,7 +332,10 @@ path. Add it with -I<path> to the command line
336
332
  # define V8_HAS_ATTRIBUTE_UNUSED 1
337
333
  # define V8_HAS_ATTRIBUTE_VISIBILITY 1
338
334
  # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT (!V8_CC_INTEL)
339
- # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard))
335
+
336
+ // [[nodiscard]] does not work together with with
337
+ // __attribute__((visibility(""))) on GCC 7.4 which is why there is no define
338
+ // for V8_HAS_CPP_ATTRIBUTE_NODISCARD. See https://crbug.com/v8/11707.
340
339
 
341
340
  # define V8_HAS_BUILTIN_ASSUME_ALIGNED 1
342
341
  # define V8_HAS_BUILTIN_CLZ 1
@@ -348,11 +347,6 @@ path. Add it with -I<path> to the command line
348
347
  // GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
349
348
  #define V8_HAS_COMPUTED_GOTO 1
350
349
 
351
- // Whether constexpr has full C++14 semantics, in particular that non-constexpr
352
- // code is allowed as long as it's not executed for any constexpr instantiation.
353
- // GCC only supports this since version 6.
354
- # define V8_HAS_CXX14_CONSTEXPR (V8_GNUC_PREREQ(6, 0, 0))
355
-
356
350
  #endif
357
351
 
358
352
  #if defined(_MSC_VER)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-bin-darwin-arm64",
3
- "version": "v16.5.0",
3
+ "version": "v16.6.0",
4
4
  "description": "node",
5
5
  "bin": {
6
6
  "node": "bin/node"
@@ -153,10 +153,8 @@ to use as a custom module loader.
153
153
  .It Fl -experimental-policy
154
154
  Use the specified file as a security policy.
155
155
  .
156
- .It Fl -experimental-repl-await
157
- Enable experimental top-level
158
- .Sy await
159
- keyword support in REPL.
156
+ .It Fl -no-experimental-repl-await
157
+ Disable top-level await keyword support in REPL.
160
158
  .
161
159
  .It Fl -experimental-specifier-resolution
162
160
  Select extension resolution algorithm for ES Modules; either 'explicit' (default) or 'node'.