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 +185 -0
- package/LICENSE +30 -1
- package/bin/node +0 -0
- package/include/node/common.gypi +1 -1
- package/include/node/js_native_api.h +24 -20
- package/include/node/js_native_api_types.h +39 -0
- package/include/node/node.h +32 -2
- package/include/node/node_api.h +16 -16
- package/include/node/node_version.h +2 -2
- package/include/node/zlib.h +4 -4
- package/package.json +1 -1
- package/share/man/man1/node.1 +3 -0
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
|
|
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
|
package/include/node/common.gypi
CHANGED
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
|
|
50
50
|
EXTERN_C_START
|
|
51
51
|
|
|
52
|
-
NAPI_EXTERN napi_status NAPI_CDECL
|
|
53
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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]
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
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(
|
|
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
|
|
570
|
-
|
|
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(
|
|
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;
|
package/include/node/node.h
CHANGED
|
@@ -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
|
package/include/node/node_api.h
CHANGED
|
@@ -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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
|
27
|
-
#define NODE_PATCH_VERSION
|
|
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 ""
|
package/include/node/zlib.h
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* zlib.h -- interface of the 'zlib' general purpose compression library
|
|
2
|
-
version 1.3, August
|
|
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
|
|
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
|
|
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
package/share/man/man1/node.1
CHANGED
|
@@ -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
|
.
|