node-linux-s390x 21.5.0 → 21.6.1

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
@@ -8,6 +8,8 @@
8
8
  </tr>
9
9
  <tr>
10
10
  <td>
11
+ <a href="#21.6.1">21.6.1</a><br/>
12
+ <a href="#21.6.0">21.6.0</a><br/>
11
13
  <a href="#21.5.0">21.5.0</a><br/>
12
14
  <a href="#21.4.0">21.4.0</a><br/>
13
15
  <a href="#21.3.0">21.3.0</a><br/>
@@ -41,6 +43,189 @@
41
43
  * [io.js](CHANGELOG_IOJS.md)
42
44
  * [Archive](CHANGELOG_ARCHIVE.md)
43
45
 
46
+ <a id="21.6.1"></a>
47
+
48
+ ## 2024-01-22, Version 21.6.1 (Current), @RafaelGSS
49
+
50
+ ### Notable Changes
51
+
52
+ This release fixes a bug in `undici` using WebStreams
53
+
54
+ ### Commits
55
+
56
+ * \[[`662ac95729`](https://github.com/nodejs/node/commit/662ac95729)] - _**Revert**_ "**stream**: fix cloned webstreams not being unref'd" (Matteo Collina) [#51491](https://github.com/nodejs/node/pull/51491)
57
+ * \[[`1b8bba8aee`](https://github.com/nodejs/node/commit/1b8bba8aee)] - **test**: add regression test for 51586 (Matteo Collina) [#51491](https://github.com/nodejs/node/pull/51491)
58
+
59
+ <a id="21.6.0"></a>
60
+
61
+ ## 2024-01-15, Version 21.6.0 (Current), @RafaelGSS
62
+
63
+ ### New connection attempt events
64
+
65
+ Three new events were added in the `net.createConnection` flow:
66
+
67
+ * `connectionAttempt`: Emitted when a new connection attempt is established. In case of Happy Eyeballs, this might emitted multiple times.
68
+ * `connectionAttemptFailed`: Emitted when a connection attempt failed. In case of Happy Eyeballs, this might emitted multiple times.
69
+ * `connectionAttemptTimeout`: Emitted when a connection attempt timed out. In case of Happy Eyeballs, this will not be emitted for the last attempt. This is not emitted at all if Happy Eyeballs is not used.
70
+
71
+ Additionally, a previous bug has been fixed where a new connection attempt could have been started after a previous one failed and after the connection was destroyed by the user.
72
+ This led to a failed assertion.
73
+
74
+ Contributed by Paolo Insogna in [#51045](https://github.com/nodejs/node/pull/51045).
75
+
76
+ ### Changes to the Permission Model
77
+
78
+ Node.js 21.6.0 comes with several fixes for the experimental permission model and two new semver-minor commits.
79
+ We're adding a new flag `--allow-addons` to enable addon usage when using the Permission Model.
80
+
81
+ ```console
82
+ $ node --experimental-permission --allow-addons
83
+ ```
84
+
85
+ Contributed by Rafael Gonzaga in [#51183](https://github.com/nodejs/node/pull/51183)
86
+
87
+ And relative paths are now supported through the `--allow-fs-*` flags.
88
+ Therefore, with this release one can use:
89
+
90
+ ```console
91
+ $ node --experimental-permission --allow-fs-read=./index.js
92
+ ```
93
+
94
+ To give only read access to the entrypoint of the application.
95
+
96
+ Contributed by Rafael Gonzaga and Carlos Espa in [#50758](https://github.com/nodejs/node/pull/50758)
97
+
98
+ ### Support configurable snapshot through `--build-snapshot-config` flag
99
+
100
+ We are adding a new flag `--build-snapshot-config` to configure snapshots through a custom JSON configuration file.
101
+
102
+ ```console
103
+ $ node --build-snapshot-config=/path/to/myconfig.json
104
+ ```
105
+
106
+ When using this flag, additional script files provided on the command line will
107
+ not be executed and instead be interpreted as regular command line arguments.
108
+
109
+ These changes were contributed by Joyee Cheung and Anna Henningsen in [#50453](https://github.com/nodejs/node/pull/50453)
110
+
111
+ ### Other Notable Changes
112
+
113
+ * \[[`c31ed51373`](https://github.com/nodejs/node/commit/c31ed51373)] - **(SEMVER-MINOR)** **timers**: export timers.promises (Marco Ippolito) [#51246](https://github.com/nodejs/node/pull/51246)
114
+
115
+ ### Commits
116
+
117
+ * \[[`13a1241b83`](https://github.com/nodejs/node/commit/13a1241b83)] - **assert,crypto**: make KeyObject and CryptoKey testable for equality (Filip Skokan) [#50897](https://github.com/nodejs/node/pull/50897)
118
+ * \[[`4dcc5114aa`](https://github.com/nodejs/node/commit/4dcc5114aa)] - **benchmark**: remove dependency on unshipped tools (Adam Majer) [#51146](https://github.com/nodejs/node/pull/51146)
119
+ * \[[`2eb41f86b3`](https://github.com/nodejs/node/commit/2eb41f86b3)] - **build**: fix for VScode "Reopen in Container" (Serg Kryvonos) [#51271](https://github.com/nodejs/node/pull/51271)
120
+ * \[[`e03ac83c19`](https://github.com/nodejs/node/commit/e03ac83c19)] - **build**: fix arm64 cross-compilation (Michaël Zasso) [#51256](https://github.com/nodejs/node/pull/51256)
121
+ * \[[`cd61fce34e`](https://github.com/nodejs/node/commit/cd61fce34e)] - **build**: add `-flax-vector-conversions` to V8 build (Michaël Zasso) [#51257](https://github.com/nodejs/node/pull/51257)
122
+ * \[[`e5017a522e`](https://github.com/nodejs/node/commit/e5017a522e)] - **crypto**: update CryptoKey symbol properties (Filip Skokan) [#50897](https://github.com/nodejs/node/pull/50897)
123
+ * \[[`c0d2e8be11`](https://github.com/nodejs/node/commit/c0d2e8be11)] - **deps**: update corepack to 0.24.0 (Node.js GitHub Bot) [#51318](https://github.com/nodejs/node/pull/51318)
124
+ * \[[`24a9a72492`](https://github.com/nodejs/node/commit/24a9a72492)] - **deps**: update acorn to 8.11.3 (Node.js GitHub Bot) [#51317](https://github.com/nodejs/node/pull/51317)
125
+ * \[[`e53cbb22c2`](https://github.com/nodejs/node/commit/e53cbb22c2)] - **deps**: update ngtcp2 and nghttp3 (James M Snell) [#51291](https://github.com/nodejs/node/pull/51291)
126
+ * \[[`f00f1204f1`](https://github.com/nodejs/node/commit/f00f1204f1)] - **deps**: update brotli to 1.1.0 (Node.js GitHub Bot) [#50804](https://github.com/nodejs/node/pull/50804)
127
+ * \[[`a41dca0c51`](https://github.com/nodejs/node/commit/a41dca0c51)] - **deps**: update zlib to 1.3.0.1-motley-40e35a7 (Node.js GitHub Bot) [#51274](https://github.com/nodejs/node/pull/51274)
128
+ * \[[`efa12a89c6`](https://github.com/nodejs/node/commit/efa12a89c6)] - **deps**: update simdutf to 4.0.8 (Node.js GitHub Bot) [#51000](https://github.com/nodejs/node/pull/51000)
129
+ * \[[`25eba3d20b`](https://github.com/nodejs/node/commit/25eba3d20b)] - **deps**: V8: cherry-pick de611e69ad51 (Keyhan Vakil) [#51200](https://github.com/nodejs/node/pull/51200)
130
+ * \[[`a07d6e23e4`](https://github.com/nodejs/node/commit/a07d6e23e4)] - **deps**: update simdjson to 3.6.3 (Node.js GitHub Bot) [#51104](https://github.com/nodejs/node/pull/51104)
131
+ * \[[`6d1bfcb2dd`](https://github.com/nodejs/node/commit/6d1bfcb2dd)] - **deps**: update googletest to 530d5c8 (Node.js GitHub Bot) [#51191](https://github.com/nodejs/node/pull/51191)
132
+ * \[[`75e5615c43`](https://github.com/nodejs/node/commit/75e5615c43)] - **deps**: update acorn-walk to 8.3.1 (Node.js GitHub Bot) [#50457](https://github.com/nodejs/node/pull/50457)
133
+ * \[[`3ecc7dcc00`](https://github.com/nodejs/node/commit/3ecc7dcc00)] - **deps**: update acorn-walk to 8.3.0 (Node.js GitHub Bot) [#50457](https://github.com/nodejs/node/pull/50457)
134
+ * \[[`e2f8d741c8`](https://github.com/nodejs/node/commit/e2f8d741c8)] - **deps**: update zlib to 1.3.0.1-motley-dd5fc13 (Node.js GitHub Bot) [#51105](https://github.com/nodejs/node/pull/51105)
135
+ * \[[`4a5d3bda72`](https://github.com/nodejs/node/commit/4a5d3bda72)] - **doc**: the GN files should use Node's license (Cheng Zhao) [#50694](https://github.com/nodejs/node/pull/50694)
136
+ * \[[`84127514ba`](https://github.com/nodejs/node/commit/84127514ba)] - **doc**: improve localWindowSize event descriptions (Davy Landman) [#51071](https://github.com/nodejs/node/pull/51071)
137
+ * \[[`8ee882a49c`](https://github.com/nodejs/node/commit/8ee882a49c)] - **doc**: mark `--jitless` as experimental (Antoine du Hamel) [#51247](https://github.com/nodejs/node/pull/51247)
138
+ * \[[`876743ece1`](https://github.com/nodejs/node/commit/876743ece1)] - **doc**: run license-builder (github-actions\[bot]) [#51199](https://github.com/nodejs/node/pull/51199)
139
+ * \[[`ec6fcff009`](https://github.com/nodejs/node/commit/ec6fcff009)] - **doc**: fix limitations and known issues in pm (Rafael Gonzaga) [#51184](https://github.com/nodejs/node/pull/51184)
140
+ * \[[`c13a5c0373`](https://github.com/nodejs/node/commit/c13a5c0373)] - **doc**: mention node:wasi in the Threat Model (Rafael Gonzaga) [#51211](https://github.com/nodejs/node/pull/51211)
141
+ * \[[`4b19e62444`](https://github.com/nodejs/node/commit/4b19e62444)] - **doc**: remove ambiguous 'considered' (Rich Trott) [#51207](https://github.com/nodejs/node/pull/51207)
142
+ * \[[`5453abd6ad`](https://github.com/nodejs/node/commit/5453abd6ad)] - **doc**: set exit code in custom test runner example (Matteo Collina) [#51056](https://github.com/nodejs/node/pull/51056)
143
+ * \[[`f9d4e07faf`](https://github.com/nodejs/node/commit/f9d4e07faf)] - **doc**: remove version from `maintaining-dependencies.md` (Antoine du Hamel) [#51195](https://github.com/nodejs/node/pull/51195)
144
+ * \[[`df8927a073`](https://github.com/nodejs/node/commit/df8927a073)] - **doc**: mention native addons are restricted in pm (Rafael Gonzaga) [#51185](https://github.com/nodejs/node/pull/51185)
145
+ * \[[`e636d83914`](https://github.com/nodejs/node/commit/e636d83914)] - **doc**: correct note on behavior of stats.isDirectory (Nick Reilingh) [#50946](https://github.com/nodejs/node/pull/50946)
146
+ * \[[`1c71435c2a`](https://github.com/nodejs/node/commit/1c71435c2a)] - **doc**: fix `TestsStream` parent class (Jungku Lee) [#51181](https://github.com/nodejs/node/pull/51181)
147
+ * \[[`2c227b0d64`](https://github.com/nodejs/node/commit/2c227b0d64)] - **doc**: fix simdjson wrong link (Marco Ippolito) [#51177](https://github.com/nodejs/node/pull/51177)
148
+ * \[[`efa13e1943`](https://github.com/nodejs/node/commit/efa13e1943)] - **(SEMVER-MINOR)** **doc**: add documentation for --build-snapshot-config (Anna Henningsen) [#50453](https://github.com/nodejs/node/pull/50453)
149
+ * \[[`941aedc6fc`](https://github.com/nodejs/node/commit/941aedc6fc)] - **errors**: fix stacktrace of SystemError (uzlopak) [#49956](https://github.com/nodejs/node/pull/49956)
150
+ * \[[`47548d9e61`](https://github.com/nodejs/node/commit/47548d9e61)] - **esm**: fix hint on invalid module specifier (Antoine du Hamel) [#51223](https://github.com/nodejs/node/pull/51223)
151
+ * \[[`091098f40a`](https://github.com/nodejs/node/commit/091098f40a)] - **fs**: fix fs.promises.realpath for long paths on Windows (翠 / green) [#51032](https://github.com/nodejs/node/pull/51032)
152
+ * \[[`e5a8fa01aa`](https://github.com/nodejs/node/commit/e5a8fa01aa)] - **fs**: make offset, position & length args in fh.read() optional (Pulkit Gupta) [#51087](https://github.com/nodejs/node/pull/51087)
153
+ * \[[`c87e5d51cc`](https://github.com/nodejs/node/commit/c87e5d51cc)] - **fs**: add missing jsdoc parameters to `readSync` (Yagiz Nizipli) [#51225](https://github.com/nodejs/node/pull/51225)
154
+ * \[[`e24249cf37`](https://github.com/nodejs/node/commit/e24249cf37)] - **fs**: remove `internalModuleReadJSON` binding (Yagiz Nizipli) [#51224](https://github.com/nodejs/node/pull/51224)
155
+ * \[[`7421467812`](https://github.com/nodejs/node/commit/7421467812)] - **fs**: improve mkdtemp performance for buffer prefix (Yagiz Nizipli) [#51078](https://github.com/nodejs/node/pull/51078)
156
+ * \[[`5b229d775f`](https://github.com/nodejs/node/commit/5b229d775f)] - **fs**: validate fd synchronously on c++ (Yagiz Nizipli) [#51027](https://github.com/nodejs/node/pull/51027)
157
+ * \[[`c7a135962d`](https://github.com/nodejs/node/commit/c7a135962d)] - **http**: remove misleading warning (Luigi Pinca) [#51204](https://github.com/nodejs/node/pull/51204)
158
+ * \[[`a325746ff4`](https://github.com/nodejs/node/commit/a325746ff4)] - **http**: do not override user-provided options object (KuthorX) [#33633](https://github.com/nodejs/node/pull/33633)
159
+ * \[[`89eee7763f`](https://github.com/nodejs/node/commit/89eee7763f)] - **http2**: addtl http/2 settings (Marten Richter) [#49025](https://github.com/nodejs/node/pull/49025)
160
+ * \[[`624142947f`](https://github.com/nodejs/node/commit/624142947f)] - **lib**: fix use of `--frozen-intrinsics` with `--jitless` (Antoine du Hamel) [#51248](https://github.com/nodejs/node/pull/51248)
161
+ * \[[`8f845eb001`](https://github.com/nodejs/node/commit/8f845eb001)] - **lib**: move function declaration outside of loop (Sanjaiyan Parthipan) [#51242](https://github.com/nodejs/node/pull/51242)
162
+ * \[[`ed7305e49b`](https://github.com/nodejs/node/commit/ed7305e49b)] - **lib**: reduce overhead of `SafePromiseAllSettledReturnVoid` calls (Antoine du Hamel) [#51243](https://github.com/nodejs/node/pull/51243)
163
+ * \[[`291265ce27`](https://github.com/nodejs/node/commit/291265ce27)] - **lib**: expose default prepareStackTrace (Chengzhong Wu) [#50827](https://github.com/nodejs/node/pull/50827)
164
+ * \[[`8ff6bc45ca`](https://github.com/nodejs/node/commit/8ff6bc45ca)] - **lib,permission**: handle buffer on fs.symlink (Rafael Gonzaga) [#51212](https://github.com/nodejs/node/pull/51212)
165
+ * \[[`416b4f8063`](https://github.com/nodejs/node/commit/416b4f8063)] - **(SEMVER-MINOR)** **lib,src,permission**: port path.resolve to C++ (Rafael Gonzaga) [#50758](https://github.com/nodejs/node/pull/50758)
166
+ * \[[`6648a5c576`](https://github.com/nodejs/node/commit/6648a5c576)] - **meta**: notify tsc on changes in SECURITY.md (Rafael Gonzaga) [#51259](https://github.com/nodejs/node/pull/51259)
167
+ * \[[`83a99ccedd`](https://github.com/nodejs/node/commit/83a99ccedd)] - **meta**: update artifact actions to v4 (Michaël Zasso) [#51219](https://github.com/nodejs/node/pull/51219)
168
+ * \[[`b621ada69a`](https://github.com/nodejs/node/commit/b621ada69a)] - **module**: move the CJS exports cache to internal/modules/cjs/loader (Joyee Cheung) [#51157](https://github.com/nodejs/node/pull/51157)
169
+ * \[[`e4be5b60f0`](https://github.com/nodejs/node/commit/e4be5b60f0)] - **(SEMVER-MINOR)** **net**: add connection attempt events (Paolo Insogna) [#51045](https://github.com/nodejs/node/pull/51045)
170
+ * \[[`3a492056e2`](https://github.com/nodejs/node/commit/3a492056e2)] - **node-api**: type tag external values without v8::Private (Chengzhong Wu) [#51149](https://github.com/nodejs/node/pull/51149)
171
+ * \[[`b2135ae7dc`](https://github.com/nodejs/node/commit/b2135ae7dc)] - **node-api**: segregate nogc APIs from rest via type system (Gabriel Schulhof) [#50060](https://github.com/nodejs/node/pull/50060)
172
+ * \[[`8f4325dcd5`](https://github.com/nodejs/node/commit/8f4325dcd5)] - **permission**: fix wildcard when children > 1 (Rafael Gonzaga) [#51209](https://github.com/nodejs/node/pull/51209)
173
+ * \[[`7ecf99404e`](https://github.com/nodejs/node/commit/7ecf99404e)] - **quic**: update quic impl to use latest ngtcp2/nghttp3 (James M Snell) [#51291](https://github.com/nodejs/node/pull/51291)
174
+ * \[[`5b32e21f3b`](https://github.com/nodejs/node/commit/5b32e21f3b)] - **quic**: add quic internalBinding, refine Endpoint, add types (James M Snell) [#51112](https://github.com/nodejs/node/pull/51112)
175
+ * \[[`3310095bea`](https://github.com/nodejs/node/commit/3310095bea)] - **repl**: fix prepareStackTrace frames array order (Chengzhong Wu) [#50827](https://github.com/nodejs/node/pull/50827)
176
+ * \[[`a0ff00b526`](https://github.com/nodejs/node/commit/a0ff00b526)] - **src**: avoid draining platform tasks at FreeEnvironment (Chengzhong Wu) [#51290](https://github.com/nodejs/node/pull/51290)
177
+ * \[[`115e0585cd`](https://github.com/nodejs/node/commit/115e0585cd)] - **src**: add fast api for Histogram (James M Snell) [#51296](https://github.com/nodejs/node/pull/51296)
178
+ * \[[`29b81576c6`](https://github.com/nodejs/node/commit/29b81576c6)] - **src**: refactor `GetCreationContext` calls (Yagiz Nizipli) [#51287](https://github.com/nodejs/node/pull/51287)
179
+ * \[[`54dd978400`](https://github.com/nodejs/node/commit/54dd978400)] - **src**: enter isolate before destructing IsolateData (Ben Noordhuis) [#51138](https://github.com/nodejs/node/pull/51138)
180
+ * \[[`864ecb0dfa`](https://github.com/nodejs/node/commit/864ecb0dfa)] - **src**: do not treat all paths ending with node\_modules as such (Michaël Zasso) [#51269](https://github.com/nodejs/node/pull/51269)
181
+ * \[[`df31c8114c`](https://github.com/nodejs/node/commit/df31c8114c)] - **src**: eliminate duplicate code in histogram.cc (James M Snell) [#51263](https://github.com/nodejs/node/pull/51263)
182
+ * \[[`17c73e6d0c`](https://github.com/nodejs/node/commit/17c73e6d0c)] - **src**: fix unix abstract socket path for trace event (theanarkh) [#50858](https://github.com/nodejs/node/pull/50858)
183
+ * \[[`96d64edc94`](https://github.com/nodejs/node/commit/96d64edc94)] - **src**: use BignumPointer and use BN\_clear\_free (James M Snell) [#50454](https://github.com/nodejs/node/pull/50454)
184
+ * \[[`8a2dd93a14`](https://github.com/nodejs/node/commit/8a2dd93a14)] - **src**: implement FastByteLengthUtf8 with simdutf::utf8\_length\_from\_latin1 (Daniel Lemire) [#50840](https://github.com/nodejs/node/pull/50840)
185
+ * \[[`e54ddf898f`](https://github.com/nodejs/node/commit/e54ddf898f)] - **(SEMVER-MINOR)** **src**: support configurable snapshot (Joyee Cheung) [#50453](https://github.com/nodejs/node/pull/50453)
186
+ * \[[`a69c7d7bc3`](https://github.com/nodejs/node/commit/a69c7d7bc3)] - **(SEMVER-MINOR)** **src,permission**: add --allow-addon flag (Rafael Gonzaga) [#51183](https://github.com/nodejs/node/pull/51183)
187
+ * \[[`e7925e66fc`](https://github.com/nodejs/node/commit/e7925e66fc)] - **src,stream**: improve WriteString (ywave620) [#51155](https://github.com/nodejs/node/pull/51155)
188
+ * \[[`82de6603af`](https://github.com/nodejs/node/commit/82de6603af)] - **stream**: fix code style (Mattias Buelens) [#51168](https://github.com/nodejs/node/pull/51168)
189
+ * \[[`e443953656`](https://github.com/nodejs/node/commit/e443953656)] - **stream**: fix cloned webstreams not being unref'd (James M Snell) [#51255](https://github.com/nodejs/node/pull/51255)
190
+ * \[[`757a84c9ea`](https://github.com/nodejs/node/commit/757a84c9ea)] - **test**: fix flaky conditions for ppc64 SEA tests (Richard Lau) [#51422](https://github.com/nodejs/node/pull/51422)
191
+ * \[[`85ee2f7255`](https://github.com/nodejs/node/commit/85ee2f7255)] - **test**: replace forEach() with for...of (Alexander Jones) [#50608](https://github.com/nodejs/node/pull/50608)
192
+ * \[[`549e4b4142`](https://github.com/nodejs/node/commit/549e4b4142)] - **test**: replace forEach with for...of (Ospite Privilegiato) [#50787](https://github.com/nodejs/node/pull/50787)
193
+ * \[[`ef44f9bef2`](https://github.com/nodejs/node/commit/ef44f9bef2)] - **test**: replace foreach with for of (lucacapocci94-dev) [#50790](https://github.com/nodejs/node/pull/50790)
194
+ * \[[`652af45485`](https://github.com/nodejs/node/commit/652af45485)] - **test**: replace forEach() with for...of (Jia) [#50610](https://github.com/nodejs/node/pull/50610)
195
+ * \[[`684dd9db2f`](https://github.com/nodejs/node/commit/684dd9db2f)] - **test**: fix inconsistency write size in `test-fs-readfile-tostring-fail` (Jungku Lee) [#51141](https://github.com/nodejs/node/pull/51141)
196
+ * \[[`aaf710f535`](https://github.com/nodejs/node/commit/aaf710f535)] - **test**: replace forEach test-http-server-multiheaders2 (Marco Mac) [#50794](https://github.com/nodejs/node/pull/50794)
197
+ * \[[`57c64550cc`](https://github.com/nodejs/node/commit/57c64550cc)] - **test**: replace forEach with for-of in test-webcrypto-export-import-ec (Chiara Ricciardi) [#51249](https://github.com/nodejs/node/pull/51249)
198
+ * \[[`88e865181b`](https://github.com/nodejs/node/commit/88e865181b)] - **test**: move to for of loop in test-http-hostname-typechecking.js (Luca Del Puppo) [#50782](https://github.com/nodejs/node/pull/50782)
199
+ * \[[`3db376f67a`](https://github.com/nodejs/node/commit/3db376f67a)] - **test**: skip test-watch-mode-inspect on arm (Michael Dawson) [#51210](https://github.com/nodejs/node/pull/51210)
200
+ * \[[`38232d1c52`](https://github.com/nodejs/node/commit/38232d1c52)] - **test**: replace forEach with for of in file test-trace-events-net.js (Ianna83) [#50789](https://github.com/nodejs/node/pull/50789)
201
+ * \[[`f1cb58355a`](https://github.com/nodejs/node/commit/f1cb58355a)] - **test**: replace forEach() with for...of in test/parallel/test-util-log.js (Edoardo Dusi) [#50783](https://github.com/nodejs/node/pull/50783)
202
+ * \[[`9bfd84c117`](https://github.com/nodejs/node/commit/9bfd84c117)] - **test**: replace forEach with for of in test-trace-events-api.js (Andrea Pavone) [#50784](https://github.com/nodejs/node/pull/50784)
203
+ * \[[`7e9834915a`](https://github.com/nodejs/node/commit/7e9834915a)] - **test**: replace forEach with for-of in test-v8-serders.js (Mattia Iannone) [#50791](https://github.com/nodejs/node/pull/50791)
204
+ * \[[`b6f232e841`](https://github.com/nodejs/node/commit/b6f232e841)] - **test**: add URL tests to fs-read in pm (Rafael Gonzaga) [#51213](https://github.com/nodejs/node/pull/51213)
205
+ * \[[`8a2178c5f5`](https://github.com/nodejs/node/commit/8a2178c5f5)] - **test**: use tmpdir.refresh() in test-esm-loader-resolve-type.mjs (Luigi Pinca) [#51206](https://github.com/nodejs/node/pull/51206)
206
+ * \[[`7e9a0b192a`](https://github.com/nodejs/node/commit/7e9a0b192a)] - **test**: use tmpdir.refresh() in test-esm-json.mjs (Luigi Pinca) [#51205](https://github.com/nodejs/node/pull/51205)
207
+ * \[[`d7c2572fe0`](https://github.com/nodejs/node/commit/d7c2572fe0)] - **test**: fix flakiness in worker\*.test-free-called (Jithil P Ponnan) [#51013](https://github.com/nodejs/node/pull/51013)
208
+ * \[[`979cebc955`](https://github.com/nodejs/node/commit/979cebc955)] - **test\_runner**: fixed test object is incorrectly passed to setup() (Pulkit Gupta) [#50982](https://github.com/nodejs/node/pull/50982)
209
+ * \[[`63db82abe6`](https://github.com/nodejs/node/commit/63db82abe6)] - **test\_runner**: fixed to run after hook if before throws an error (Pulkit Gupta) [#51062](https://github.com/nodejs/node/pull/51062)
210
+ * \[[`c31ed51373`](https://github.com/nodejs/node/commit/c31ed51373)] - **(SEMVER-MINOR)** **timers**: export timers.promises (Marco Ippolito) [#51246](https://github.com/nodejs/node/pull/51246)
211
+ * \[[`fc10f889eb`](https://github.com/nodejs/node/commit/fc10f889eb)] - **tools**: update lint-md-dependencies to rollup\@4.9.2 (Node.js GitHub Bot) [#51320](https://github.com/nodejs/node/pull/51320)
212
+ * \[[`d5a5f12d15`](https://github.com/nodejs/node/commit/d5a5f12d15)] - **tools**: fix dep\_updaters dir updates (Michaël Zasso) [#51294](https://github.com/nodejs/node/pull/51294)
213
+ * \[[`bdcb5ed510`](https://github.com/nodejs/node/commit/bdcb5ed510)] - **tools**: update inspector\_protocol to c488ba2 (cola119) [#51293](https://github.com/nodejs/node/pull/51293)
214
+ * \[[`69a46add77`](https://github.com/nodejs/node/commit/69a46add77)] - **tools**: update inspector\_protocol to 9b4a4aa (cola119) [#51293](https://github.com/nodejs/node/pull/51293)
215
+ * \[[`e325f49d19`](https://github.com/nodejs/node/commit/e325f49d19)] - **tools**: update inspector\_protocol to 2f51e05 (cola119) [#51293](https://github.com/nodejs/node/pull/51293)
216
+ * \[[`60d804851b`](https://github.com/nodejs/node/commit/60d804851b)] - **tools**: update inspector\_protocol to d7b099b (cola119) [#51293](https://github.com/nodejs/node/pull/51293)
217
+ * \[[`d18168489f`](https://github.com/nodejs/node/commit/d18168489f)] - **tools**: update inspector\_protocol to 912eb68 (cola119) [#51293](https://github.com/nodejs/node/pull/51293)
218
+ * \[[`ef4f46fc39`](https://github.com/nodejs/node/commit/ef4f46fc39)] - **tools**: update inspector\_protocol to 547c5b8 (cola119) [#51293](https://github.com/nodejs/node/pull/51293)
219
+ * \[[`c3126fc016`](https://github.com/nodejs/node/commit/c3126fc016)] - **tools**: update inspector\_protocol to ca525fc (cola119) [#51293](https://github.com/nodejs/node/pull/51293)
220
+ * \[[`917d887dde`](https://github.com/nodejs/node/commit/917d887dde)] - **tools**: update lint-md-dependencies to rollup\@4.9.1 (Node.js GitHub Bot) [#51276](https://github.com/nodejs/node/pull/51276)
221
+ * \[[`37594918e0`](https://github.com/nodejs/node/commit/37594918e0)] - **tools**: check timezone current version (Marco Ippolito) [#51178](https://github.com/nodejs/node/pull/51178)
222
+ * \[[`d0d2faf899`](https://github.com/nodejs/node/commit/d0d2faf899)] - **tools**: update lint-md-dependencies to rollup\@4.9.0 (Node.js GitHub Bot) [#51193](https://github.com/nodejs/node/pull/51193)
223
+ * \[[`c96ef6533c`](https://github.com/nodejs/node/commit/c96ef6533c)] - **tools**: update eslint to 8.56.0 (Node.js GitHub Bot) [#51194](https://github.com/nodejs/node/pull/51194)
224
+ * \[[`f4f781d493`](https://github.com/nodejs/node/commit/f4f781d493)] - **util**: pass invalidSubtypeIndex instead of trimmedSubtype to error (Gaurish Sethia) [#51264](https://github.com/nodejs/node/pull/51264)
225
+ * \[[`867b484429`](https://github.com/nodejs/node/commit/867b484429)] - **watch**: clarify that the fileName parameter can be null (Luigi Pinca) [#51305](https://github.com/nodejs/node/pull/51305)
226
+ * \[[`56e8969b65`](https://github.com/nodejs/node/commit/56e8969b65)] - **watch**: fix null `fileName` on windows systems (vnc5) [#49891](https://github.com/nodejs/node/pull/49891)
227
+ * \[[`3f4fd6efbb`](https://github.com/nodejs/node/commit/3f4fd6efbb)] - **watch**: fix infinite loop when passing --watch=true flag (Pulkit Gupta) [#51160](https://github.com/nodejs/node/pull/51160)
228
+
44
229
  <a id="21.5.0"></a>
45
230
 
46
231
  ## 2023-12-19, Version 21.5.0 (Current), @RafaelGSS
package/LICENSE CHANGED
@@ -1285,7 +1285,7 @@ The externally maintained libraries used by Node.js are:
1285
1285
  - zlib, located at deps/zlib, is licensed as follows:
1286
1286
  """
1287
1287
  zlib.h -- interface of the 'zlib' general purpose compression library
1288
- version 1.3, August 18th, 2023
1288
+ version 1.3.0.1, August xxth, 2023
1289
1289
 
1290
1290
  Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler
1291
1291
 
@@ -1972,6 +1972,35 @@ The externally maintained libraries used by Node.js are:
1972
1972
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1973
1973
  """
1974
1974
 
1975
+ - gypi_to_gn.py, located at tools/gypi_to_gn.py, is licensed as follows:
1976
+ """
1977
+ Redistribution and use in source and binary forms, with or without
1978
+ modification, are permitted provided that the following conditions are
1979
+ met:
1980
+
1981
+ * Redistributions of source code must retain the above copyright
1982
+ notice, this list of conditions and the following disclaimer.
1983
+ * Redistributions in binary form must reproduce the above
1984
+ copyright notice, this list of conditions and the following disclaimer
1985
+ in the documentation and/or other materials provided with the
1986
+ distribution.
1987
+ * Neither the name of Google LLC nor the names of its
1988
+ contributors may be used to endorse or promote products derived from
1989
+ this software without specific prior written permission.
1990
+
1991
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1992
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1993
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1994
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1995
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
1996
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
1997
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
1998
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
1999
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2000
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2001
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2002
+ """
2003
+
1975
2004
  - ESLint, located at tools/node_modules/eslint, is licensed as follows:
1976
2005
  """
1977
2006
  Copyright OpenJS Foundation and other contributors, <www.openjsf.org>
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.18',
39
+ 'v8_embedder_string': '-node.19',
40
40
 
41
41
  ##### V8 defaults for Node.js #####
42
42
 
@@ -49,8 +49,8 @@
49
49
 
50
50
  EXTERN_C_START
51
51
 
52
- NAPI_EXTERN napi_status NAPI_CDECL
53
- napi_get_last_error_info(napi_env env, const napi_extended_error_info** result);
52
+ NAPI_EXTERN napi_status NAPI_CDECL napi_get_last_error_info(
53
+ node_api_nogc_env env, const napi_extended_error_info** result);
54
54
 
55
55
  // Getters for defined singletons
56
56
  NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env,
@@ -98,7 +98,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
98
98
  node_api_create_external_string_latin1(napi_env env,
99
99
  char* str,
100
100
  size_t length,
101
- napi_finalize finalize_callback,
101
+ node_api_nogc_finalize finalize_callback,
102
102
  void* finalize_hint,
103
103
  napi_value* result,
104
104
  bool* copied);
@@ -106,7 +106,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
106
106
  node_api_create_external_string_utf16(napi_env env,
107
107
  char16_t* str,
108
108
  size_t length,
109
- napi_finalize finalize_callback,
109
+ node_api_nogc_finalize finalize_callback,
110
110
  void* finalize_hint,
111
111
  napi_value* result,
112
112
  bool* copied);
@@ -290,7 +290,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_instanceof(napi_env env,
290
290
 
291
291
  // Gets all callback info in a single call. (Ugly, but faster.)
292
292
  NAPI_EXTERN napi_status NAPI_CDECL napi_get_cb_info(
293
- napi_env env, // [in] NAPI environment handle
293
+ napi_env env, // [in] Node-API environment handle
294
294
  napi_callback_info cbinfo, // [in] Opaque callback-info handle
295
295
  size_t* argc, // [in-out] Specifies the size of the provided argv array
296
296
  // and receives the actual count of args.
@@ -314,7 +314,7 @@ napi_define_class(napi_env env,
314
314
  NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env,
315
315
  napi_value js_object,
316
316
  void* native_object,
317
- napi_finalize finalize_cb,
317
+ node_api_nogc_finalize finalize_cb,
318
318
  void* finalize_hint,
319
319
  napi_ref* result);
320
320
  NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env,
@@ -326,7 +326,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env,
326
326
  NAPI_EXTERN napi_status NAPI_CDECL
327
327
  napi_create_external(napi_env env,
328
328
  void* data,
329
- napi_finalize finalize_cb,
329
+ node_api_nogc_finalize finalize_cb,
330
330
  void* finalize_hint,
331
331
  napi_value* result);
332
332
  NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env,
@@ -425,7 +425,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
425
425
  napi_create_external_arraybuffer(napi_env env,
426
426
  void* external_data,
427
427
  size_t byte_length,
428
- napi_finalize finalize_cb,
428
+ node_api_nogc_finalize finalize_cb,
429
429
  void* finalize_hint,
430
430
  napi_value* result);
431
431
  #endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -467,7 +467,7 @@ napi_get_dataview_info(napi_env env,
467
467
  size_t* byte_offset);
468
468
 
469
469
  // version management
470
- NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(napi_env env,
470
+ NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(node_api_nogc_env env,
471
471
  uint32_t* result);
472
472
 
473
473
  // Promises
@@ -491,7 +491,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env,
491
491
 
492
492
  // Memory management
493
493
  NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory(
494
- napi_env env, int64_t change_in_bytes, int64_t* adjusted_value);
494
+ node_api_nogc_env env, int64_t change_in_bytes, int64_t* adjusted_value);
495
495
 
496
496
  #if NAPI_VERSION >= 5
497
497
 
@@ -509,12 +509,13 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_get_date_value(napi_env env,
509
509
  double* result);
510
510
 
511
511
  // Add finalizer for pointer
512
- NAPI_EXTERN napi_status NAPI_CDECL napi_add_finalizer(napi_env env,
513
- napi_value js_object,
514
- void* finalize_data,
515
- napi_finalize finalize_cb,
516
- void* finalize_hint,
517
- napi_ref* result);
512
+ NAPI_EXTERN napi_status NAPI_CDECL
513
+ napi_add_finalizer(napi_env env,
514
+ napi_value js_object,
515
+ void* finalize_data,
516
+ node_api_nogc_finalize finalize_cb,
517
+ void* finalize_hint,
518
+ napi_ref* result);
518
519
 
519
520
  #endif // NAPI_VERSION >= 5
520
521
 
@@ -522,7 +523,7 @@ NAPI_EXTERN napi_status NAPI_CDECL napi_add_finalizer(napi_env env,
522
523
  #define NODE_API_EXPERIMENTAL_HAS_POST_FINALIZER
523
524
 
524
525
  NAPI_EXTERN napi_status NAPI_CDECL
525
- node_api_post_finalizer(napi_env env,
526
+ node_api_post_finalizer(node_api_nogc_env env,
526
527
  napi_finalize finalize_cb,
527
528
  void* finalize_data,
528
529
  void* finalize_hint);
@@ -566,10 +567,13 @@ napi_get_all_property_names(napi_env env,
566
567
  napi_value* result);
567
568
 
568
569
  // Instance data
569
- NAPI_EXTERN napi_status NAPI_CDECL napi_set_instance_data(
570
- napi_env env, void* data, napi_finalize finalize_cb, void* finalize_hint);
570
+ NAPI_EXTERN napi_status NAPI_CDECL
571
+ napi_set_instance_data(node_api_nogc_env env,
572
+ void* data,
573
+ napi_finalize finalize_cb,
574
+ void* finalize_hint);
571
575
 
572
- NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(napi_env env,
576
+ NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(node_api_nogc_env env,
573
577
  void** data);
574
578
  #endif // NAPI_VERSION >= 6
575
579
 
@@ -22,6 +22,35 @@ typedef uint16_t char16_t;
22
22
  // JSVM API types are all opaque pointers for ABI stability
23
23
  // typedef undefined structs instead of void* for compile time type safety
24
24
  typedef struct napi_env__* napi_env;
25
+
26
+ // We need to mark APIs which can be called during garbage collection (GC),
27
+ // meaning that they do not affect the state of the JS engine, and can
28
+ // therefore be called synchronously from a finalizer that itself runs
29
+ // synchronously during GC. Such APIs can receive either a `napi_env` or a
30
+ // `node_api_nogc_env` as their first parameter, because we should be able to
31
+ // also call them during normal, non-garbage-collecting operations, whereas
32
+ // APIs that affect the state of the JS engine can only receive a `napi_env` as
33
+ // their first parameter, because we must not call them during GC. In lieu of
34
+ // inheritance, we use the properties of the const qualifier to accomplish
35
+ // this, because both a const and a non-const value can be passed to an API
36
+ // expecting a const value, but only a non-const value can be passed to an API
37
+ // expecting a non-const value.
38
+ //
39
+ // In conjunction with appropriate CFLAGS to warn us if we're passing a const
40
+ // (nogc) environment into an API that expects a non-const environment, and the
41
+ // definition of nogc finalizer function pointer types below, which receive a
42
+ // nogc environment as their first parameter, and can thus only call nogc APIs
43
+ // (unless the user explicitly casts the environment), we achieve the ability
44
+ // to ensure at compile time that we do not call APIs that affect the state of
45
+ // the JS engine from a synchronous (nogc) finalizer.
46
+ #if !defined(NAPI_EXPERIMENTAL) || \
47
+ (defined(NAPI_EXPERIMENTAL) && \
48
+ defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
49
+ typedef struct napi_env__* node_api_nogc_env;
50
+ #else
51
+ typedef const struct napi_env__* node_api_nogc_env;
52
+ #endif
53
+
25
54
  typedef struct napi_value__* napi_value;
26
55
  typedef struct napi_ref__* napi_ref;
27
56
  typedef struct napi_handle_scope__* napi_handle_scope;
@@ -116,6 +145,16 @@ typedef void(NAPI_CDECL* napi_finalize)(napi_env env,
116
145
  void* finalize_data,
117
146
  void* finalize_hint);
118
147
 
148
+ #if !defined(NAPI_EXPERIMENTAL) || \
149
+ (defined(NAPI_EXPERIMENTAL) && \
150
+ defined(NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT))
151
+ typedef napi_finalize node_api_nogc_finalize;
152
+ #else
153
+ typedef void(NAPI_CDECL* node_api_nogc_finalize)(node_api_nogc_env env,
154
+ void* finalize_data,
155
+ void* finalize_hint);
156
+ #endif
157
+
119
158
  typedef struct {
120
159
  // One of utf8name or name should be NULL.
121
160
  const char* utf8name;
@@ -80,6 +80,7 @@
80
80
 
81
81
  #include <functional>
82
82
  #include <memory>
83
+ #include <optional>
83
84
  #include <ostream>
84
85
 
85
86
  // We cannot use __POSIX__ in this header because that's only defined when
@@ -659,6 +660,33 @@ enum Flags : uint64_t {
659
660
  };
660
661
  } // namespace EnvironmentFlags
661
662
 
663
+ enum class SnapshotFlags : uint32_t {
664
+ kDefault = 0,
665
+ // Whether code cache should be generated as part of the snapshot.
666
+ // Code cache reduces the time spent on compiling functions included
667
+ // in the snapshot at the expense of a bigger snapshot size and
668
+ // potentially breaking portability of the snapshot.
669
+ kWithoutCodeCache = 1 << 0,
670
+ };
671
+
672
+ struct SnapshotConfig {
673
+ SnapshotFlags flags = SnapshotFlags::kDefault;
674
+
675
+ // When builder_script_path is std::nullopt, the snapshot is generated as a
676
+ // built-in snapshot instead of a custom one, and it's expected that the
677
+ // built-in snapshot only contains states that reproduce in every run of the
678
+ // application. The event loop won't be run when generating a built-in
679
+ // snapshot, so asynchronous operations should be avoided.
680
+ //
681
+ // When builder_script_path is an std::string, it should match args[1]
682
+ // passed to CreateForSnapshotting(). The embedder is also expected to use
683
+ // LoadEnvironment() to run a script matching this path. In that case the
684
+ // snapshot is generated as a custom snapshot and the event loop is run, so
685
+ // the snapshot builder can execute asynchronous operations as long as they
686
+ // are run to completion when the snapshot is taken.
687
+ std::optional<std::string> builder_script_path;
688
+ };
689
+
662
690
  struct InspectorParentHandle {
663
691
  virtual ~InspectorParentHandle() = default;
664
692
  };
@@ -870,7 +898,8 @@ class NODE_EXTERN CommonEnvironmentSetup {
870
898
  MultiIsolatePlatform* platform,
871
899
  std::vector<std::string>* errors,
872
900
  const std::vector<std::string>& args = {},
873
- const std::vector<std::string>& exec_args = {});
901
+ const std::vector<std::string>& exec_args = {},
902
+ const SnapshotConfig& snapshot_config = {});
874
903
  EmbedderSnapshotData::Pointer CreateSnapshot();
875
904
 
876
905
  struct uv_loop_s* event_loop() const;
@@ -905,7 +934,8 @@ class NODE_EXTERN CommonEnvironmentSetup {
905
934
  std::vector<std::string>*,
906
935
  const EmbedderSnapshotData*,
907
936
  uint32_t flags,
908
- std::function<Environment*(const CommonEnvironmentSetup*)>);
937
+ std::function<Environment*(const CommonEnvironmentSetup*)>,
938
+ const SnapshotConfig* config = nullptr);
909
939
  };
910
940
 
911
941
  // Implementation for CommonEnvironmentSetup::Create
@@ -131,7 +131,7 @@ NAPI_EXTERN napi_status NAPI_CDECL
131
131
  napi_create_external_buffer(napi_env env,
132
132
  size_t length,
133
133
  void* data,
134
- napi_finalize finalize_cb,
134
+ node_api_nogc_finalize finalize_cb,
135
135
  void* finalize_hint,
136
136
  napi_value* result);
137
137
  #endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
@@ -159,20 +159,20 @@ napi_create_async_work(napi_env env,
159
159
  napi_async_work* result);
160
160
  NAPI_EXTERN napi_status NAPI_CDECL napi_delete_async_work(napi_env env,
161
161
  napi_async_work work);
162
- NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(napi_env env,
162
+ NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(node_api_nogc_env env,
163
163
  napi_async_work work);
164
- NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work(napi_env env,
164
+ NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work(node_api_nogc_env env,
165
165
  napi_async_work work);
166
166
 
167
167
  // version management
168
168
  NAPI_EXTERN napi_status NAPI_CDECL
169
- napi_get_node_version(napi_env env, const napi_node_version** version);
169
+ napi_get_node_version(node_api_nogc_env env, const napi_node_version** version);
170
170
 
171
171
  #if NAPI_VERSION >= 2
172
172
 
173
173
  // Return the current libuv event loop for a given environment
174
174
  NAPI_EXTERN napi_status NAPI_CDECL
175
- napi_get_uv_event_loop(napi_env env, struct uv_loop_s** loop);
175
+ napi_get_uv_event_loop(node_api_nogc_env env, struct uv_loop_s** loop);
176
176
 
177
177
  #endif // NAPI_VERSION >= 2
178
178
 
@@ -181,11 +181,11 @@ napi_get_uv_event_loop(napi_env env, struct uv_loop_s** loop);
181
181
  NAPI_EXTERN napi_status NAPI_CDECL napi_fatal_exception(napi_env env,
182
182
  napi_value err);
183
183
 
184
- NAPI_EXTERN napi_status NAPI_CDECL
185
- napi_add_env_cleanup_hook(napi_env env, napi_cleanup_hook fun, void* arg);
184
+ NAPI_EXTERN napi_status NAPI_CDECL napi_add_env_cleanup_hook(
185
+ node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
186
186
 
187
- NAPI_EXTERN napi_status NAPI_CDECL
188
- napi_remove_env_cleanup_hook(napi_env env, napi_cleanup_hook fun, void* arg);
187
+ NAPI_EXTERN napi_status NAPI_CDECL napi_remove_env_cleanup_hook(
188
+ node_api_nogc_env env, napi_cleanup_hook fun, void* arg);
189
189
 
190
190
  NAPI_EXTERN napi_status NAPI_CDECL
191
191
  napi_open_callback_scope(napi_env env,
@@ -209,7 +209,7 @@ napi_create_threadsafe_function(napi_env env,
209
209
  size_t max_queue_size,
210
210
  size_t initial_thread_count,
211
211
  void* thread_finalize_data,
212
- napi_finalize thread_finalize_cb,
212
+ node_api_nogc_finalize thread_finalize_cb,
213
213
  void* context,
214
214
  napi_threadsafe_function_call_js call_js_cb,
215
215
  napi_threadsafe_function* result);
@@ -228,18 +228,18 @@ napi_acquire_threadsafe_function(napi_threadsafe_function func);
228
228
  NAPI_EXTERN napi_status NAPI_CDECL napi_release_threadsafe_function(
229
229
  napi_threadsafe_function func, napi_threadsafe_function_release_mode mode);
230
230
 
231
- NAPI_EXTERN napi_status NAPI_CDECL
232
- napi_unref_threadsafe_function(napi_env env, napi_threadsafe_function func);
231
+ NAPI_EXTERN napi_status NAPI_CDECL napi_unref_threadsafe_function(
232
+ node_api_nogc_env env, napi_threadsafe_function func);
233
233
 
234
- NAPI_EXTERN napi_status NAPI_CDECL
235
- napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func);
234
+ NAPI_EXTERN napi_status NAPI_CDECL napi_ref_threadsafe_function(
235
+ node_api_nogc_env env, napi_threadsafe_function func);
236
236
 
237
237
  #endif // NAPI_VERSION >= 4
238
238
 
239
239
  #if NAPI_VERSION >= 8
240
240
 
241
241
  NAPI_EXTERN napi_status NAPI_CDECL
242
- napi_add_async_cleanup_hook(napi_env env,
242
+ napi_add_async_cleanup_hook(node_api_nogc_env env,
243
243
  napi_async_cleanup_hook hook,
244
244
  void* arg,
245
245
  napi_async_cleanup_hook_handle* remove_handle);
@@ -252,7 +252,7 @@ napi_remove_async_cleanup_hook(napi_async_cleanup_hook_handle remove_handle);
252
252
  #if NAPI_VERSION >= 9
253
253
 
254
254
  NAPI_EXTERN napi_status NAPI_CDECL
255
- node_api_get_module_file_name(napi_env env, const char** result);
255
+ node_api_get_module_file_name(node_api_nogc_env env, const char** result);
256
256
 
257
257
  #endif // NAPI_VERSION >= 9
258
258
 
@@ -23,8 +23,8 @@
23
23
  #define SRC_NODE_VERSION_H_
24
24
 
25
25
  #define NODE_MAJOR_VERSION 21
26
- #define NODE_MINOR_VERSION 5
27
- #define NODE_PATCH_VERSION 0
26
+ #define NODE_MINOR_VERSION 6
27
+ #define NODE_PATCH_VERSION 1
28
28
 
29
29
  #define NODE_VERSION_IS_LTS 0
30
30
  #define NODE_VERSION_LTS_CODENAME ""
@@ -1,5 +1,5 @@
1
1
  /* zlib.h -- interface of the 'zlib' general purpose compression library
2
- version 1.3, August 18th, 2023
2
+ version 1.3.0.1, August xxth, 2023
3
3
 
4
4
  Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler
5
5
 
@@ -37,12 +37,12 @@
37
37
  extern "C" {
38
38
  #endif
39
39
 
40
- #define ZLIB_VERSION "1.3"
41
- #define ZLIB_VERNUM 0x1300
40
+ #define ZLIB_VERSION "1.3.0.1-motley"
41
+ #define ZLIB_VERNUM 0x1301
42
42
  #define ZLIB_VER_MAJOR 1
43
43
  #define ZLIB_VER_MINOR 3
44
44
  #define ZLIB_VER_REVISION 0
45
- #define ZLIB_VER_SUBREVISION 0
45
+ #define ZLIB_VER_SUBREVISION 1
46
46
 
47
47
  /*
48
48
  The 'zlib' compression library provides in-memory compression and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-linux-s390x",
3
- "version": "v21.5.0",
3
+ "version": "v21.6.1",
4
4
  "description": "node",
5
5
  "bin": {
6
6
  "node": "bin/node"
@@ -82,6 +82,9 @@ Allow file system read access when using the permission model.
82
82
  .It Fl -allow-fs-write
83
83
  Allow file system write access when using the permission model.
84
84
  .
85
+ .It Fl -allow-addons
86
+ Allow using native addons when using the permission model.
87
+ .
85
88
  .It Fl -allow-child-process
86
89
  Allow spawning process when using the permission model.
87
90
  .