node-linux-s390x 22.10.0 → 22.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +315 -0
- package/LICENSE +29 -1
- package/README.md +15 -18
- package/bin/node +0 -0
- package/include/node/config.gypi +3 -2
- package/include/node/node.h +32 -38
- package/include/node/node_api.h +12 -0
- package/include/node/node_version.h +3 -3
- package/include/node/uv/tree.h +3 -250
- package/include/node/uv/version.h +2 -2
- package/include/node/uv/win.h +2 -2
- package/include/node/uv.h +45 -17
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,10 +4,15 @@
|
|
|
4
4
|
|
|
5
5
|
<table>
|
|
6
6
|
<tr>
|
|
7
|
+
<th>LTS 'Jod'</th>
|
|
7
8
|
<th>Current</th>
|
|
8
9
|
</tr>
|
|
9
10
|
<tr>
|
|
10
11
|
<td>
|
|
12
|
+
<a href="#22.12.0">22.12.0</a><br/>
|
|
13
|
+
<a href="#22.11.0">22.11.0</a><br/>
|
|
14
|
+
</td>
|
|
15
|
+
<td>
|
|
11
16
|
<a href="#22.10.0">22.10.0</a><br/>
|
|
12
17
|
<a href="#22.9.0">22.9.0</a><br/>
|
|
13
18
|
<a href="#22.8.0">22.8.0</a><br/>
|
|
@@ -49,6 +54,316 @@
|
|
|
49
54
|
* [io.js](CHANGELOG_IOJS.md)
|
|
50
55
|
* [Archive](CHANGELOG_ARCHIVE.md)
|
|
51
56
|
|
|
57
|
+
<a id="22.12.0"></a>
|
|
58
|
+
|
|
59
|
+
## 2024-12-03, Version 22.12.0 'Jod' (LTS), @ruyadorno
|
|
60
|
+
|
|
61
|
+
### Notable Changes
|
|
62
|
+
|
|
63
|
+
### require(esm) is now enabled by default
|
|
64
|
+
|
|
65
|
+
Support for loading native ES modules using require() had been available on v20.x and v22.x under the command line flag --experimental-require-module, and available by default on v23.x. In this release, it is now no longer behind a flag on v22.x.
|
|
66
|
+
|
|
67
|
+
This feature is still experimental, and we are looking for user feedback to make more final tweaks before fully stabilizing it. For this reason, on v23.x, when the Node.js instance encounters a native ES module in require() for the first time, it will emit an experimental warning unless `require()` comes from a path that contains `node_modules`. If there happens to be any regressions caused by this feature, users can report it to the Node.js issue tracker. Meanwhile this feature can also be disabled using `--no-experimental-require-module` as a workaround.
|
|
68
|
+
|
|
69
|
+
With this feature enabled, Node.js will no longer throw `ERR_REQUIRE_ESM` if `require()` is used to load a ES module. It can, however, throw `ERR_REQUIRE_ASYNC_MODULE` if the ES module being loaded or its dependencies contain top-level `await`. When the ES module is loaded successfully by `require()`, the returned object will either be a ES module namespace object similar to what's returned by `import()`, or what gets exported as `"module.exports"` in the ES module.
|
|
70
|
+
|
|
71
|
+
Users can check `process.features.require_module` to see whether `require(esm)` is enabled in the current Node.js instance. For packages, the `"module-sync"` exports condition can be used as a way to detect `require(esm)` support in the current Node.js instance and allow both `require()` and `import` to load the same native ES module. See [the documentation](https://nodejs.org/docs/latest/api/modules.html#loading-ecmascript-modules-using-require) for more details about this feature.
|
|
72
|
+
|
|
73
|
+
Contributed by Joyee Cheung in [#55085](https://github.com/nodejs/node/pull/55085)
|
|
74
|
+
|
|
75
|
+
#### Added resizable `ArrayBuffer` support in `Buffer`
|
|
76
|
+
|
|
77
|
+
When a `Buffer` is created using a resizable `ArrayBuffer`, the `Buffer` length will now correctly change as the underlying `ArrayBuffer` size is changed.
|
|
78
|
+
|
|
79
|
+
```js
|
|
80
|
+
const ab = new ArrayBuffer(10, { maxByteLength: 20 });
|
|
81
|
+
const buffer = Buffer.from(ab);
|
|
82
|
+
console.log(buffer.byteLength); 10
|
|
83
|
+
ab.resize(15);
|
|
84
|
+
console.log(buffer.byteLength); 15
|
|
85
|
+
ab.resize(5);
|
|
86
|
+
console.log(buffer.byteLength); 5
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Contributed by James Snell in [#55377](https://github.com/nodejs/node/pull/55377)
|
|
90
|
+
|
|
91
|
+
#### Update root certificates to NSS 3.104
|
|
92
|
+
|
|
93
|
+
This is the version of NSS that shipped in Firefox 131.0 on 2024-10-01.
|
|
94
|
+
|
|
95
|
+
Certificates added:
|
|
96
|
+
|
|
97
|
+
* FIRMAPROFESIONAL CA ROOT-A WEB
|
|
98
|
+
* TWCA CYBER Root CA
|
|
99
|
+
* SecureSign Root CA12
|
|
100
|
+
* SecureSign Root CA14
|
|
101
|
+
* SecureSign Root CA15
|
|
102
|
+
|
|
103
|
+
Contributed by Richard Lau in [#55681](https://github.com/nodejs/node/pull/55681)
|
|
104
|
+
|
|
105
|
+
### Other Notable Changes
|
|
106
|
+
|
|
107
|
+
* \[[`4920869935`](https://github.com/nodejs/node/commit/4920869935)] - **(SEMVER-MINOR)** **assert**: make assertion\_error use Myers diff algorithm (Giovanni Bucci) [#54862](https://github.com/nodejs/node/pull/54862)
|
|
108
|
+
* \[[`ccffd3b819`](https://github.com/nodejs/node/commit/ccffd3b819)] - **doc**: enforce strict policy to semver-major releases (Rafael Gonzaga) [#55732](https://github.com/nodejs/node/pull/55732)
|
|
109
|
+
* \[[`acc6806900`](https://github.com/nodejs/node/commit/acc6806900)] - **doc**: add jazelly to collaborators (Jason Zhang) [#55531](https://github.com/nodejs/node/pull/55531)
|
|
110
|
+
* \[[`88d91e8bc2`](https://github.com/nodejs/node/commit/88d91e8bc2)] - **esm**: mark import attributes and JSON module as stable (Nicolò Ribaudo) [#55333](https://github.com/nodejs/node/pull/55333)
|
|
111
|
+
* \[[`98bfc7dce5`](https://github.com/nodejs/node/commit/98bfc7dce5)] - **(SEMVER-MINOR)** **http**: add diagnostic channel `http.client.request.created` (Marco Ippolito) [#55586](https://github.com/nodejs/node/pull/55586)
|
|
112
|
+
* \[[`337f61fb25`](https://github.com/nodejs/node/commit/337f61fb25)] - **(SEMVER-MINOR)** **lib**: add UV\_UDP\_REUSEPORT for udp (theanarkh) [#55403](https://github.com/nodejs/node/pull/55403)
|
|
113
|
+
* \[[`1628c48ad6`](https://github.com/nodejs/node/commit/1628c48ad6)] - **(SEMVER-MINOR)** **net**: add UV\_TCP\_REUSEPORT for tcp (theanarkh) [#55408](https://github.com/nodejs/node/pull/55408)
|
|
114
|
+
* \[[`457e73f4c9`](https://github.com/nodejs/node/commit/457e73f4c9)] - **(SEMVER-MINOR)** **sqlite**: add support for SQLite Session Extension (Bart Louwers) [#54181](https://github.com/nodejs/node/pull/54181)
|
|
115
|
+
|
|
116
|
+
### Commits
|
|
117
|
+
|
|
118
|
+
* \[[`f6885e1c68`](https://github.com/nodejs/node/commit/f6885e1c68)] - **assert**: fix the string length check for printing the simple diff (Giovanni Bucci) [#55474](https://github.com/nodejs/node/pull/55474)
|
|
119
|
+
* \[[`907484f04d`](https://github.com/nodejs/node/commit/907484f04d)] - **assert**: fix deepEqual always return true on URL (Xuguang Mei) [#50853](https://github.com/nodejs/node/pull/50853)
|
|
120
|
+
* \[[`301844e249`](https://github.com/nodejs/node/commit/301844e249)] - **assert**: differentiate cases where `cause` is `undefined` or missing (Antoine du Hamel) [#55738](https://github.com/nodejs/node/pull/55738)
|
|
121
|
+
* \[[`89ccd3e3f4`](https://github.com/nodejs/node/commit/89ccd3e3f4)] - **assert**: fix `deepStrictEqual` on errors when `cause` is not undefined (Edigleysson Silva (Edy)) [#55406](https://github.com/nodejs/node/pull/55406)
|
|
122
|
+
* \[[`4920869935`](https://github.com/nodejs/node/commit/4920869935)] - **(SEMVER-MINOR)** **assert**: make assertion\_error use Myers diff algorithm (Giovanni Bucci) [#54862](https://github.com/nodejs/node/pull/54862)
|
|
123
|
+
* \[[`c67aec368e`](https://github.com/nodejs/node/commit/c67aec368e)] - **benchmark**: add `test-reporters` (Aviv Keller) [#55757](https://github.com/nodejs/node/pull/55757)
|
|
124
|
+
* \[[`49774cc2c0`](https://github.com/nodejs/node/commit/49774cc2c0)] - **benchmark**: add `test_runner/mock-fn` (Aviv Keller) [#55771](https://github.com/nodejs/node/pull/55771)
|
|
125
|
+
* \[[`4caaeb47b2`](https://github.com/nodejs/node/commit/4caaeb47b2)] - **benchmark**: add nodeTiming.uvmetricsinfo bench (RafaelGSS) [#55614](https://github.com/nodejs/node/pull/55614)
|
|
126
|
+
* \[[`cac58564a1`](https://github.com/nodejs/node/commit/cac58564a1)] - **benchmark**: add --runs support to run.js (Rafael Gonzaga) [#55158](https://github.com/nodejs/node/pull/55158)
|
|
127
|
+
* \[[`5c3ee886fc`](https://github.com/nodejs/node/commit/5c3ee886fc)] - **benchmark**: adjust byte size for buffer-copy (Rafael Gonzaga) [#55295](https://github.com/nodejs/node/pull/55295)
|
|
128
|
+
* \[[`6023e1bdb2`](https://github.com/nodejs/node/commit/6023e1bdb2)] - **(SEMVER-MINOR)** **buffer**: make Buffer work with resizable ArrayBuffer (James M Snell) [#55377](https://github.com/nodejs/node/pull/55377)
|
|
129
|
+
* \[[`a6c00c2204`](https://github.com/nodejs/node/commit/a6c00c2204)] - **build**: add create release proposal action (Rafael Gonzaga) [#55690](https://github.com/nodejs/node/pull/55690)
|
|
130
|
+
* \[[`b4e413933b`](https://github.com/nodejs/node/commit/b4e413933b)] - **build**: implement node\_use\_amaro flag in GN build (Cheng) [#55798](https://github.com/nodejs/node/pull/55798)
|
|
131
|
+
* \[[`d1db202d4a`](https://github.com/nodejs/node/commit/d1db202d4a)] - **build**: apply cpp linting and formatting to ncrypto (Aviv Keller) [#55362](https://github.com/nodejs/node/pull/55362)
|
|
132
|
+
* \[[`8c670496da`](https://github.com/nodejs/node/commit/8c670496da)] - **build**: use rclone instead of aws CLI (Michaël Zasso) [#55617](https://github.com/nodejs/node/pull/55617)
|
|
133
|
+
* \[[`827e2065bd`](https://github.com/nodejs/node/commit/827e2065bd)] - **build**: stop pre-compiling `lint-md` (Aviv Keller) [#55266](https://github.com/nodejs/node/pull/55266)
|
|
134
|
+
* \[[`c3ca978d9c`](https://github.com/nodejs/node/commit/c3ca978d9c)] - **build**: fix building with system icu 76 (Michael Cho) [#55563](https://github.com/nodejs/node/pull/55563)
|
|
135
|
+
* \[[`23e3287bbe`](https://github.com/nodejs/node/commit/23e3287bbe)] - **build**: fix GN arg used in generate\_config\_gypi.py (Shelley Vohr) [#55530](https://github.com/nodejs/node/pull/55530)
|
|
136
|
+
* \[[`2b561abb0d`](https://github.com/nodejs/node/commit/2b561abb0d)] - **build**: fix GN build for sqlite and nghttp2 (Shelley Vohr) [#55529](https://github.com/nodejs/node/pull/55529)
|
|
137
|
+
* \[[`7008f29d79`](https://github.com/nodejs/node/commit/7008f29d79)] - **build**: fix GN build for cares/uv deps (Cheng) [#55477](https://github.com/nodejs/node/pull/55477)
|
|
138
|
+
* \[[`6ee94a394f`](https://github.com/nodejs/node/commit/6ee94a394f)] - **build**: fix uninstall script for AIX 7.1 (Cloorc) [#55438](https://github.com/nodejs/node/pull/55438)
|
|
139
|
+
* \[[`edbbd4a374`](https://github.com/nodejs/node/commit/edbbd4a374)] - **build**: conditionally compile bundled sqlite (Richard Lau) [#55409](https://github.com/nodejs/node/pull/55409)
|
|
140
|
+
* \[[`3d8e3a657c`](https://github.com/nodejs/node/commit/3d8e3a657c)] - **build**: tidy up cares.gyp (Richard Lau) [#55445](https://github.com/nodejs/node/pull/55445)
|
|
141
|
+
* \[[`f0c12e8fcb`](https://github.com/nodejs/node/commit/f0c12e8fcb)] - **build**: synchronize list of c-ares source files (Richard Lau) [#55445](https://github.com/nodejs/node/pull/55445)
|
|
142
|
+
* \[[`8daa8a62f8`](https://github.com/nodejs/node/commit/8daa8a62f8)] - **build**: fix path concatenation (Mohammed Keyvanzadeh) [#55387](https://github.com/nodejs/node/pull/55387)
|
|
143
|
+
* \[[`12faf0466e`](https://github.com/nodejs/node/commit/12faf0466e)] - **build**: fix make errors that occur in Makefile (minkyu\_kim) [#55287](https://github.com/nodejs/node/pull/55287)
|
|
144
|
+
* \[[`a21be0294d`](https://github.com/nodejs/node/commit/a21be0294d)] - **build,win**: enable pch for clang-cl (Stefan Stojanovic) [#55249](https://github.com/nodejs/node/pull/55249)
|
|
145
|
+
* \[[`7ed058cd00`](https://github.com/nodejs/node/commit/7ed058cd00)] - **cli**: add `--heap-prof` flag available to `NODE_OPTIONS` (Juan José) [#54259](https://github.com/nodejs/node/pull/54259)
|
|
146
|
+
* \[[`c26b1bfe6a`](https://github.com/nodejs/node/commit/c26b1bfe6a)] - **crypto**: allow length=0 for HKDF and PBKDF2 in SubtleCrypto.deriveBits (Filip Skokan) [#55866](https://github.com/nodejs/node/pull/55866)
|
|
147
|
+
* \[[`a1201d0392`](https://github.com/nodejs/node/commit/a1201d0392)] - **crypto**: update root certificates to NSS 3.104 (Richard Lau) [#55681](https://github.com/nodejs/node/pull/55681)
|
|
148
|
+
* \[[`20483aab7a`](https://github.com/nodejs/node/commit/20483aab7a)] - **crypto**: fix `RSA_PKCS1_PADDING` error message (Richard Lau) [#55629](https://github.com/nodejs/node/pull/55629)
|
|
149
|
+
* \[[`d345662d50`](https://github.com/nodejs/node/commit/d345662d50)] - **crypto**: include openssl/rand.h explicitly (Shelley Vohr) [#55425](https://github.com/nodejs/node/pull/55425)
|
|
150
|
+
* \[[`166ab3209d`](https://github.com/nodejs/node/commit/166ab3209d)] - **deps**: update simdutf to 5.6.1 (Node.js GitHub Bot) [#55850](https://github.com/nodejs/node/pull/55850)
|
|
151
|
+
* \[[`934979e12e`](https://github.com/nodejs/node/commit/934979e12e)] - **deps**: update undici to 6.21.0 (Node.js GitHub Bot) [#55851](https://github.com/nodejs/node/pull/55851)
|
|
152
|
+
* \[[`af77f66424`](https://github.com/nodejs/node/commit/af77f66424)] - **deps**: update c-ares to v1.34.3 (Node.js GitHub Bot) [#55803](https://github.com/nodejs/node/pull/55803)
|
|
153
|
+
* \[[`948a88d2f4`](https://github.com/nodejs/node/commit/948a88d2f4)] - **deps**: update icu to 76.1 (Node.js GitHub Bot) [#55551](https://github.com/nodejs/node/pull/55551)
|
|
154
|
+
* \[[`fa4c58a983`](https://github.com/nodejs/node/commit/fa4c58a983)] - **deps**: update acorn to 8.14.0 (Node.js GitHub Bot) [#55699](https://github.com/nodejs/node/pull/55699)
|
|
155
|
+
* \[[`c91155f22e`](https://github.com/nodejs/node/commit/c91155f22e)] - **deps**: update sqlite to 3.47.0 (Node.js GitHub Bot) [#55557](https://github.com/nodejs/node/pull/55557)
|
|
156
|
+
* \[[`d1cb7af95c`](https://github.com/nodejs/node/commit/d1cb7af95c)] - **deps**: update amaro to 0.2.0 (Node.js GitHub Bot) [#55601](https://github.com/nodejs/node/pull/55601)
|
|
157
|
+
* \[[`655e5600cb`](https://github.com/nodejs/node/commit/655e5600cb)] - **deps**: update nghttp2 to 1.64.0 (Node.js GitHub Bot) [#55559](https://github.com/nodejs/node/pull/55559)
|
|
158
|
+
* \[[`992450c469`](https://github.com/nodejs/node/commit/992450c469)] - **deps**: update acorn to 8.13.0 (Node.js GitHub Bot) [#55558](https://github.com/nodejs/node/pull/55558)
|
|
159
|
+
* \[[`abd2bd4f64`](https://github.com/nodejs/node/commit/abd2bd4f64)] - **deps**: update undici to 6.20.1 (Node.js GitHub Bot) [#55503](https://github.com/nodejs/node/pull/55503)
|
|
160
|
+
* \[[`7dc2c2edad`](https://github.com/nodejs/node/commit/7dc2c2edad)] - **deps**: update googletest to df1544b (Node.js GitHub Bot) [#55465](https://github.com/nodejs/node/pull/55465)
|
|
161
|
+
* \[[`fa9329c024`](https://github.com/nodejs/node/commit/fa9329c024)] - **deps**: update c-ares to v1.34.2 (Node.js GitHub Bot) [#55463](https://github.com/nodejs/node/pull/55463)
|
|
162
|
+
* \[[`41a2bcd335`](https://github.com/nodejs/node/commit/41a2bcd335)] - **deps**: update ada to 2.9.1 (Node.js GitHub Bot) [#54679](https://github.com/nodejs/node/pull/54679)
|
|
163
|
+
* \[[`a3b793defd`](https://github.com/nodejs/node/commit/a3b793defd)] - **deps**: update simdutf to 5.6.0 (Node.js GitHub Bot) [#55379](https://github.com/nodejs/node/pull/55379)
|
|
164
|
+
* \[[`551b8f897d`](https://github.com/nodejs/node/commit/551b8f897d)] - **deps**: update c-ares to v1.34.1 (Node.js GitHub Bot) [#55369](https://github.com/nodejs/node/pull/55369)
|
|
165
|
+
* \[[`26861eaf4e`](https://github.com/nodejs/node/commit/26861eaf4e)] - _**Revert**_ "**deps**: disable io\_uring support in libuv by default" (Santiago Gimeno) [#55114](https://github.com/nodejs/node/pull/55114)
|
|
166
|
+
* \[[`41c50bc15e`](https://github.com/nodejs/node/commit/41c50bc15e)] - **deps**: update libuv to 1.49.1 (Santiago Gimeno) [#55114](https://github.com/nodejs/node/pull/55114)
|
|
167
|
+
* \[[`26fcc04084`](https://github.com/nodejs/node/commit/26fcc04084)] - **deps**: update amaro to 0.1.9 (Node.js GitHub Bot) [#55348](https://github.com/nodejs/node/pull/55348)
|
|
168
|
+
* \[[`0ee6715921`](https://github.com/nodejs/node/commit/0ee6715921)] - **diagnostics\_channel**: fix unsubscribe during publish (simon-id) [#55116](https://github.com/nodejs/node/pull/55116)
|
|
169
|
+
* \[[`bf68733e7f`](https://github.com/nodejs/node/commit/bf68733e7f)] - **dns**: stop using deprecated `ares_query` (Aviv Keller) [#55430](https://github.com/nodejs/node/pull/55430)
|
|
170
|
+
* \[[`ef6707eb9b`](https://github.com/nodejs/node/commit/ef6707eb9b)] - **dns**: honor the order option (Luigi Pinca) [#55392](https://github.com/nodejs/node/pull/55392)
|
|
171
|
+
* \[[`0f3810f3e5`](https://github.com/nodejs/node/commit/0f3810f3e5)] - **doc**: add added tag and fix typo sqlite.md (Bart Louwers) [#56012](https://github.com/nodejs/node/pull/56012)
|
|
172
|
+
* \[[`d1bd0ef1b7`](https://github.com/nodejs/node/commit/d1bd0ef1b7)] - **doc**: remove non-working example (Antoine du Hamel) [#55856](https://github.com/nodejs/node/pull/55856)
|
|
173
|
+
* \[[`824ac650ed`](https://github.com/nodejs/node/commit/824ac650ed)] - **doc**: add `node:sqlite` to mandatory `node:` prefix list (翠 / green) [#55846](https://github.com/nodejs/node/pull/55846)
|
|
174
|
+
* \[[`b3ea42d887`](https://github.com/nodejs/node/commit/b3ea42d887)] - **doc**: add `-S` flag release preparation example (Antoine du Hamel) [#55836](https://github.com/nodejs/node/pull/55836)
|
|
175
|
+
* \[[`0bd5d8b9d9`](https://github.com/nodejs/node/commit/0bd5d8b9d9)] - **doc**: clarify UV\_THREADPOOL\_SIZE env var usage (Preveen P) [#55832](https://github.com/nodejs/node/pull/55832)
|
|
176
|
+
* \[[`27b0236a99`](https://github.com/nodejs/node/commit/27b0236a99)] - **doc**: add notable-change mention to sec release (Rafael Gonzaga) [#55830](https://github.com/nodejs/node/pull/55830)
|
|
177
|
+
* \[[`476075bada`](https://github.com/nodejs/node/commit/476075bada)] - **doc**: fix history info for `URL.prototype.toJSON` (Antoine du Hamel) [#55818](https://github.com/nodejs/node/pull/55818)
|
|
178
|
+
* \[[`2743b7b1d3`](https://github.com/nodejs/node/commit/2743b7b1d3)] - **doc**: correct max-semi-space-size statement (Joe Bowbeer) [#55812](https://github.com/nodejs/node/pull/55812)
|
|
179
|
+
* \[[`3013870093`](https://github.com/nodejs/node/commit/3013870093)] - **doc**: update unflag info of `import.meta.resolve` (skyclouds2001) [#55810](https://github.com/nodejs/node/pull/55810)
|
|
180
|
+
* \[[`27bcd103e7`](https://github.com/nodejs/node/commit/27bcd103e7)] - **doc**: run license-builder (github-actions\[bot]) [#55813](https://github.com/nodejs/node/pull/55813)
|
|
181
|
+
* \[[`72d4b30ead`](https://github.com/nodejs/node/commit/72d4b30ead)] - **doc**: clarify triager role (Gireesh Punathil) [#55775](https://github.com/nodejs/node/pull/55775)
|
|
182
|
+
* \[[`a30defe9dd`](https://github.com/nodejs/node/commit/a30defe9dd)] - **doc**: clarify removal of experimental API does not require a deprecation (Antoine du Hamel) [#55746](https://github.com/nodejs/node/pull/55746)
|
|
183
|
+
* \[[`ccffd3b819`](https://github.com/nodejs/node/commit/ccffd3b819)] - **doc**: enforce strict policy to semver-major releases (Rafael Gonzaga) [#55732](https://github.com/nodejs/node/pull/55732)
|
|
184
|
+
* \[[`b6d2a4e816`](https://github.com/nodejs/node/commit/b6d2a4e816)] - **doc**: add path aliases typescript doc (Carlos Espa) [#55766](https://github.com/nodejs/node/pull/55766)
|
|
185
|
+
* \[[`a435affa11`](https://github.com/nodejs/node/commit/a435affa11)] - **doc**: add esm example in `path.md` (Aviv Keller) [#55745](https://github.com/nodejs/node/pull/55745)
|
|
186
|
+
* \[[`91443c2711`](https://github.com/nodejs/node/commit/91443c2711)] - **doc**: consistent use of word child process (Gireesh Punathil) [#55654](https://github.com/nodejs/node/pull/55654)
|
|
187
|
+
* \[[`83fb0079d4`](https://github.com/nodejs/node/commit/83fb0079d4)] - **doc**: clarity to available addon options (Preveen P) [#55715](https://github.com/nodejs/node/pull/55715)
|
|
188
|
+
* \[[`6ca851457a`](https://github.com/nodejs/node/commit/6ca851457a)] - **doc**: update `--max-semi-space-size` description (Joe Bowbeer) [#55495](https://github.com/nodejs/node/pull/55495)
|
|
189
|
+
* \[[`e17fffc0ff`](https://github.com/nodejs/node/commit/e17fffc0ff)] - **doc**: broken `PerformanceObserver` code sample (Dom Harrington) [#54227](https://github.com/nodejs/node/pull/54227)
|
|
190
|
+
* \[[`8bd5777f0f`](https://github.com/nodejs/node/commit/8bd5777f0f)] - **doc**: add write flag when open file as the demo code's intention (robberfree) [#54626](https://github.com/nodejs/node/pull/54626)
|
|
191
|
+
* \[[`f1e0e0ba55`](https://github.com/nodejs/node/commit/f1e0e0ba55)] - **doc**: remove mention of ECDH-ES in crypto.diffieHellman (Filip Skokan) [#55611](https://github.com/nodejs/node/pull/55611)
|
|
192
|
+
* \[[`1d60b7ec97`](https://github.com/nodejs/node/commit/1d60b7ec97)] - **doc**: improve c++ embedder API doc (Gireesh Punathil) [#55597](https://github.com/nodejs/node/pull/55597)
|
|
193
|
+
* \[[`bbf51d7000`](https://github.com/nodejs/node/commit/bbf51d7000)] - **doc**: capitalize "MIT License" (Aviv Keller) [#55575](https://github.com/nodejs/node/pull/55575)
|
|
194
|
+
* \[[`0e69f6d123`](https://github.com/nodejs/node/commit/0e69f6d123)] - **doc**: add suggested tsconfig for type stripping (Marco Ippolito) [#55534](https://github.com/nodejs/node/pull/55534)
|
|
195
|
+
* \[[`67beb37f50`](https://github.com/nodejs/node/commit/67beb37f50)] - **doc**: add esm examples to node:string\_decoder (Alfredo González) [#55507](https://github.com/nodejs/node/pull/55507)
|
|
196
|
+
* \[[`acc6806900`](https://github.com/nodejs/node/commit/acc6806900)] - **doc**: add jazelly to collaborators (Jason Zhang) [#55531](https://github.com/nodejs/node/pull/55531)
|
|
197
|
+
* \[[`a6b3ed54ae`](https://github.com/nodejs/node/commit/a6b3ed54ae)] - **doc**: changed the command used to verify SHASUMS256 (adriancuadrado) [#55420](https://github.com/nodejs/node/pull/55420)
|
|
198
|
+
* \[[`0ad7ca4f1d`](https://github.com/nodejs/node/commit/0ad7ca4f1d)] - **doc**: move dual package shipping docs to separate repo (Joyee Cheung) [#55444](https://github.com/nodejs/node/pull/55444)
|
|
199
|
+
* \[[`e99a98ddfd`](https://github.com/nodejs/node/commit/e99a98ddfd)] - **doc**: add note about stdio streams in child\_process (Ederin (Ed) Igharoro) [#55322](https://github.com/nodejs/node/pull/55322)
|
|
200
|
+
* \[[`20302851a9`](https://github.com/nodejs/node/commit/20302851a9)] - **doc**: add `isBigIntObject` to documentation (leviscar) [#55450](https://github.com/nodejs/node/pull/55450)
|
|
201
|
+
* \[[`50d983e80b`](https://github.com/nodejs/node/commit/50d983e80b)] - **doc**: remove outdated remarks about `highWaterMark` in fs (Ian Kerins) [#55462](https://github.com/nodejs/node/pull/55462)
|
|
202
|
+
* \[[`07c2fb2045`](https://github.com/nodejs/node/commit/07c2fb2045)] - **doc**: move Danielle Adams key to old gpg keys (RafaelGSS) [#55399](https://github.com/nodejs/node/pull/55399)
|
|
203
|
+
* \[[`41b045170d`](https://github.com/nodejs/node/commit/41b045170d)] - **doc**: move Bryan English key to old gpg keys (RafaelGSS) [#55399](https://github.com/nodejs/node/pull/55399)
|
|
204
|
+
* \[[`13724dcc20`](https://github.com/nodejs/node/commit/13724dcc20)] - **doc**: move Beth Griggs keys to old gpg keys (RafaelGSS) [#55399](https://github.com/nodejs/node/pull/55399)
|
|
205
|
+
* \[[`0230fb1ead`](https://github.com/nodejs/node/commit/0230fb1ead)] - **doc**: spell out condition restrictions (Jan Martin) [#55187](https://github.com/nodejs/node/pull/55187)
|
|
206
|
+
* \[[`66e41f044d`](https://github.com/nodejs/node/commit/66e41f044d)] - **doc**: add instructions for WinGet build (Hüseyin Açacak) [#55356](https://github.com/nodejs/node/pull/55356)
|
|
207
|
+
* \[[`23d89da3f1`](https://github.com/nodejs/node/commit/23d89da3f1)] - **doc**: add missing return values in buffer docs (Karl Horky) [#55273](https://github.com/nodejs/node/pull/55273)
|
|
208
|
+
* \[[`6e7b33a0ef`](https://github.com/nodejs/node/commit/6e7b33a0ef)] - **doc**: fix ambasador markdown list (Rafael Gonzaga) [#55361](https://github.com/nodejs/node/pull/55361)
|
|
209
|
+
* \[[`d8c552a060`](https://github.com/nodejs/node/commit/d8c552a060)] - **doc**: edit onboarding guide to clarify when mailmap addition is needed (Antoine du Hamel) [#55334](https://github.com/nodejs/node/pull/55334)
|
|
210
|
+
* \[[`c7f82ec978`](https://github.com/nodejs/node/commit/c7f82ec978)] - **doc**: fix the return type of outgoingMessage.setHeaders() (Jimmy Leung) [#55290](https://github.com/nodejs/node/pull/55290)
|
|
211
|
+
* \[[`f1b9791694`](https://github.com/nodejs/node/commit/f1b9791694)] - **doc**: update `require(ESM)` history and stability status (Antoine du Hamel) [#55199](https://github.com/nodejs/node/pull/55199)
|
|
212
|
+
* \[[`9ffd2dd43b`](https://github.com/nodejs/node/commit/9ffd2dd43b)] - **doc**: consolidate history table of CustomEvent (Edigleysson Silva (Edy)) [#55758](https://github.com/nodejs/node/pull/55758)
|
|
213
|
+
* \[[`64fb9e6516`](https://github.com/nodejs/node/commit/64fb9e6516)] - **doc**: add history entries for JSON modules stabilization (Antoine du Hamel) [#55855](https://github.com/nodejs/node/pull/55855)
|
|
214
|
+
* \[[`ae2ae2fef1`](https://github.com/nodejs/node/commit/ae2ae2fef1)] - **esm**: fix import.meta.resolve crash (Marco Ippolito) [#55777](https://github.com/nodejs/node/pull/55777)
|
|
215
|
+
* \[[`15dd43dd6e`](https://github.com/nodejs/node/commit/15dd43dd6e)] - **esm**: add a fallback when importer in not a file (Antoine du Hamel) [#55471](https://github.com/nodejs/node/pull/55471)
|
|
216
|
+
* \[[`aed758d270`](https://github.com/nodejs/node/commit/aed758d270)] - **esm**: fix inconsistency with `importAssertion` in `resolve` hook (Wei Zhu) [#55365](https://github.com/nodejs/node/pull/55365)
|
|
217
|
+
* \[[`88d91e8bc2`](https://github.com/nodejs/node/commit/88d91e8bc2)] - **esm**: mark import attributes and JSON module as stable (Nicolò Ribaudo) [#55333](https://github.com/nodejs/node/pull/55333)
|
|
218
|
+
* \[[`a2c8de7fba`](https://github.com/nodejs/node/commit/a2c8de7fba)] - **events**: add hasEventListener util for validate (Sunghoon) [#55230](https://github.com/nodejs/node/pull/55230)
|
|
219
|
+
* \[[`4f84cdc8a2`](https://github.com/nodejs/node/commit/4f84cdc8a2)] - **events**: optimize EventTarget.addEventListener (Robert Nagy) [#55312](https://github.com/nodejs/node/pull/55312)
|
|
220
|
+
* \[[`c17601557b`](https://github.com/nodejs/node/commit/c17601557b)] - **fs**: prevent unwanted `dependencyOwners` removal (Carlos Espa) [#55565](https://github.com/nodejs/node/pull/55565)
|
|
221
|
+
* \[[`4dd609c685`](https://github.com/nodejs/node/commit/4dd609c685)] - **fs**: fix bufferSize option for opendir recursive (Ethan Arrowood) [#55744](https://github.com/nodejs/node/pull/55744)
|
|
222
|
+
* \[[`d695bd4c4f`](https://github.com/nodejs/node/commit/d695bd4c4f)] - **fs**: pass correct path to `DirentFromStats` during `glob` (Aviv Keller) [#55071](https://github.com/nodejs/node/pull/55071)
|
|
223
|
+
* \[[`5357338b8e`](https://github.com/nodejs/node/commit/5357338b8e)] - **fs**: use `wstring` on Windows paths (jazelly) [#55171](https://github.com/nodejs/node/pull/55171)
|
|
224
|
+
* \[[`0a7f301a36`](https://github.com/nodejs/node/commit/0a7f301a36)] - **http**: add diagnostic channel `http.server.response.created` (Marco Ippolito) [#55622](https://github.com/nodejs/node/pull/55622)
|
|
225
|
+
* \[[`98bfc7dce5`](https://github.com/nodejs/node/commit/98bfc7dce5)] - **(SEMVER-MINOR)** **http**: add diagnostic channel `http.client.request.created` (Marco Ippolito) [#55586](https://github.com/nodejs/node/pull/55586)
|
|
226
|
+
* \[[`d2430ee363`](https://github.com/nodejs/node/commit/d2430ee363)] - **http2**: fix client async storage persistence (Orgad Shaneh) [#55460](https://github.com/nodejs/node/pull/55460)
|
|
227
|
+
* \[[`753cbede2a`](https://github.com/nodejs/node/commit/753cbede2a)] - **lib**: remove startsWith/endsWith primordials for char checks (Gürgün Dayıoğlu) [#55407](https://github.com/nodejs/node/pull/55407)
|
|
228
|
+
* \[[`6e3e99c81e`](https://github.com/nodejs/node/commit/6e3e99c81e)] - **lib**: prefer logical assignment (Aviv Keller) [#55044](https://github.com/nodejs/node/pull/55044)
|
|
229
|
+
* \[[`03902ebb74`](https://github.com/nodejs/node/commit/03902ebb74)] - **lib**: replace `createDeferredPromise` util with `Promise.withResolvers` (Yagiz Nizipli) [#54836](https://github.com/nodejs/node/pull/54836)
|
|
230
|
+
* \[[`ee17fcd6f3`](https://github.com/nodejs/node/commit/ee17fcd6f3)] - **lib**: prefer symbol to number in webidl `type` function (Antoine du Hamel) [#55737](https://github.com/nodejs/node/pull/55737)
|
|
231
|
+
* \[[`18f0f07e92`](https://github.com/nodejs/node/commit/18f0f07e92)] - **lib**: implement webidl dictionary converter and use it in structuredClone (Jason Zhang) [#55489](https://github.com/nodejs/node/pull/55489)
|
|
232
|
+
* \[[`bcead24e24`](https://github.com/nodejs/node/commit/bcead24e24)] - **lib**: prefer number to string in webidl `type` function (Jason Zhang) [#55489](https://github.com/nodejs/node/pull/55489)
|
|
233
|
+
* \[[`d48c5da039`](https://github.com/nodejs/node/commit/d48c5da039)] - **lib**: convert transfer sequence to array in js (Jason Zhang) [#55317](https://github.com/nodejs/node/pull/55317)
|
|
234
|
+
* \[[`cefce4cbb0`](https://github.com/nodejs/node/commit/cefce4cbb0)] - **lib**: remove unnecessary optional chaining (Gürgün Dayıoğlu) [#55728](https://github.com/nodejs/node/pull/55728)
|
|
235
|
+
* \[[`f2561fdeec`](https://github.com/nodejs/node/commit/f2561fdeec)] - **lib**: use `Promise.withResolvers()` in timers (Yagiz Nizipli) [#55720](https://github.com/nodejs/node/pull/55720)
|
|
236
|
+
* \[[`337f61fb25`](https://github.com/nodejs/node/commit/337f61fb25)] - **(SEMVER-MINOR)** **lib**: add UV\_UDP\_REUSEPORT for udp (theanarkh) [#55403](https://github.com/nodejs/node/pull/55403)
|
|
237
|
+
* \[[`4f89059f63`](https://github.com/nodejs/node/commit/4f89059f63)] - **lib**: add flag to drop connection when running in cluster mode (theanarkh) [#54927](https://github.com/nodejs/node/pull/54927)
|
|
238
|
+
* \[[`29f7325e73`](https://github.com/nodejs/node/commit/29f7325e73)] - **lib**: test\_runner#mock:timers respeced timeout\_max behaviour (BadKey) [#55375](https://github.com/nodejs/node/pull/55375)
|
|
239
|
+
* \[[`68bcec64b8`](https://github.com/nodejs/node/commit/68bcec64b8)] - **lib**: remove settled dependant signals when they are GCed (Edigleysson Silva (Edy)) [#55354](https://github.com/nodejs/node/pull/55354)
|
|
240
|
+
* \[[`3f8a5d8a28`](https://github.com/nodejs/node/commit/3f8a5d8a28)] - **meta**: bump actions/setup-python from 5.2.0 to 5.3.0 (dependabot\[bot]) [#55688](https://github.com/nodejs/node/pull/55688)
|
|
241
|
+
* \[[`644ad5d60d`](https://github.com/nodejs/node/commit/644ad5d60d)] - **meta**: bump actions/setup-node from 4.0.4 to 4.1.0 (dependabot\[bot]) [#55687](https://github.com/nodejs/node/pull/55687)
|
|
242
|
+
* \[[`334fa69c31`](https://github.com/nodejs/node/commit/334fa69c31)] - **meta**: bump rtCamp/action-slack-notify from 2.3.0 to 2.3.2 (dependabot\[bot]) [#55686](https://github.com/nodejs/node/pull/55686)
|
|
243
|
+
* \[[`fb3fa8bee2`](https://github.com/nodejs/node/commit/fb3fa8bee2)] - **meta**: bump actions/upload-artifact from 4.4.0 to 4.4.3 (dependabot\[bot]) [#55685](https://github.com/nodejs/node/pull/55685)
|
|
244
|
+
* \[[`1aca3a8289`](https://github.com/nodejs/node/commit/1aca3a8289)] - **meta**: bump actions/cache from 4.0.2 to 4.1.2 (dependabot\[bot]) [#55684](https://github.com/nodejs/node/pull/55684)
|
|
245
|
+
* \[[`a6c73eb9c2`](https://github.com/nodejs/node/commit/a6c73eb9c2)] - **meta**: bump actions/checkout from 4.2.0 to 4.2.2 (dependabot\[bot]) [#55683](https://github.com/nodejs/node/pull/55683)
|
|
246
|
+
* \[[`06445bc4e3`](https://github.com/nodejs/node/commit/06445bc4e3)] - **meta**: bump github/codeql-action from 3.26.10 to 3.27.0 (dependabot\[bot]) [#55682](https://github.com/nodejs/node/pull/55682)
|
|
247
|
+
* \[[`37bafce2d8`](https://github.com/nodejs/node/commit/37bafce2d8)] - **meta**: make review-wanted message minimal (Aviv Keller) [#55607](https://github.com/nodejs/node/pull/55607)
|
|
248
|
+
* \[[`4cca54b161`](https://github.com/nodejs/node/commit/4cca54b161)] - **meta**: show PR/issue title on review-wanted (Aviv Keller) [#55606](https://github.com/nodejs/node/pull/55606)
|
|
249
|
+
* \[[`68decbf935`](https://github.com/nodejs/node/commit/68decbf935)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#55381](https://github.com/nodejs/node/pull/55381)
|
|
250
|
+
* \[[`07fc40d823`](https://github.com/nodejs/node/commit/07fc40d823)] - **meta**: assign CODEOWNERS for /deps/ncrypto/\* (Filip Skokan) [#55426](https://github.com/nodejs/node/pull/55426)
|
|
251
|
+
* \[[`139e8f1579`](https://github.com/nodejs/node/commit/139e8f1579)] - **meta**: change color to blue notify review-wanted (Rafael Gonzaga) [#55423](https://github.com/nodejs/node/pull/55423)
|
|
252
|
+
* \[[`c0614dc92c`](https://github.com/nodejs/node/commit/c0614dc92c)] - **meta**: bump codecov/codecov-action from 4.5.0 to 4.6.0 (dependabot\[bot]) [#55222](https://github.com/nodejs/node/pull/55222)
|
|
253
|
+
* \[[`47b6c6748b`](https://github.com/nodejs/node/commit/47b6c6748b)] - **meta**: bump github/codeql-action from 3.26.6 to 3.26.10 (dependabot\[bot]) [#55221](https://github.com/nodejs/node/pull/55221)
|
|
254
|
+
* \[[`6c836aa97e`](https://github.com/nodejs/node/commit/6c836aa97e)] - **meta**: bump step-security/harden-runner from 2.9.1 to 2.10.1 (dependabot\[bot]) [#55220](https://github.com/nodejs/node/pull/55220)
|
|
255
|
+
* \[[`c81c818a21`](https://github.com/nodejs/node/commit/c81c818a21)] - **module**: throw ERR\_NO\_TYPESCRIPT when compiled without amaro (Marco Ippolito) [#55332](https://github.com/nodejs/node/pull/55332)
|
|
256
|
+
* \[[`d6d1479fcc`](https://github.com/nodejs/node/commit/d6d1479fcc)] - **module**: simplify --inspect-brk handling (Joyee Cheung) [#55679](https://github.com/nodejs/node/pull/55679)
|
|
257
|
+
* \[[`91fdec3a52`](https://github.com/nodejs/node/commit/91fdec3a52)] - **module**: fix error thrown from require(esm) hitting TLA repeatedly (Joyee Cheung) [#55520](https://github.com/nodejs/node/pull/55520)
|
|
258
|
+
* \[[`cb527a925d`](https://github.com/nodejs/node/commit/cb527a925d)] - **module**: do not warn when require(esm) comes from node\_modules (Joyee Cheung) [#55960](https://github.com/nodejs/node/pull/55960)
|
|
259
|
+
* \[[`16119f206f`](https://github.com/nodejs/node/commit/16119f206f)] - **module**: trim off internal stack frames for require(esm) warnings (Joyee Cheung) [#55496](https://github.com/nodejs/node/pull/55496)
|
|
260
|
+
* \[[`28b5b9a57d`](https://github.com/nodejs/node/commit/28b5b9a57d)] - **module**: allow ESM that failed to be required to be re-imported (Joyee Cheung) [#55502](https://github.com/nodejs/node/pull/55502)
|
|
261
|
+
* \[[`6ac3400960`](https://github.com/nodejs/node/commit/6ac3400960)] - **module**: include module information in require(esm) warning (Joyee Cheung) [#55397](https://github.com/nodejs/node/pull/55397)
|
|
262
|
+
* \[[`fcdd6167d8`](https://github.com/nodejs/node/commit/fcdd6167d8)] - **module**: check --experimental-require-module separately from detection (Joyee Cheung) [#55250](https://github.com/nodejs/node/pull/55250)
|
|
263
|
+
* \[[`d8c34ced43`](https://github.com/nodejs/node/commit/d8c34ced43)] - **module**: use kNodeModulesRE to detect node\_modules (Joyee Cheung) [#55243](https://github.com/nodejs/node/pull/55243)
|
|
264
|
+
* \[[`545c069eb5`](https://github.com/nodejs/node/commit/545c069eb5)] - **module**: support 'module.exports' interop export in require(esm) (Guy Bedford) [#54563](https://github.com/nodejs/node/pull/54563)
|
|
265
|
+
* \[[`58d6871c45`](https://github.com/nodejs/node/commit/58d6871c45)] - **(SEMVER-MINOR)** **module**: unflag --experimental-require-module (Joyee Cheung) [#55085](https://github.com/nodejs/node/pull/55085)
|
|
266
|
+
* \[[`1628c48ad6`](https://github.com/nodejs/node/commit/1628c48ad6)] - **(SEMVER-MINOR)** **net**: add UV\_TCP\_REUSEPORT for tcp (theanarkh) [#55408](https://github.com/nodejs/node/pull/55408)
|
|
267
|
+
* \[[`a5590083cd`](https://github.com/nodejs/node/commit/a5590083cd)] - **node-api**: add napi\_create\_buffer\_from\_arraybuffer method (Mert Can Altin) [#54505](https://github.com/nodejs/node/pull/54505)
|
|
268
|
+
* \[[`21ec855feb`](https://github.com/nodejs/node/commit/21ec855feb)] - **os**: improve path check with direct index access (Mert Can Altin) [#55434](https://github.com/nodejs/node/pull/55434)
|
|
269
|
+
* \[[`1fdaa15226`](https://github.com/nodejs/node/commit/1fdaa15226)] - **report**: fix network queries in getReport libuv with exclude-network (Adrien Foulon) [#55602](https://github.com/nodejs/node/pull/55602)
|
|
270
|
+
* \[[`457e73f4c9`](https://github.com/nodejs/node/commit/457e73f4c9)] - **(SEMVER-MINOR)** **sqlite**: add support for SQLite Session Extension (Bart Louwers) [#54181](https://github.com/nodejs/node/pull/54181)
|
|
271
|
+
* \[[`428701a6d8`](https://github.com/nodejs/node/commit/428701a6d8)] - **sqlite**: improve error handling using MaybeLocal (Tobias Nießen) [#55571](https://github.com/nodejs/node/pull/55571)
|
|
272
|
+
* \[[`4e5878536a`](https://github.com/nodejs/node/commit/4e5878536a)] - **sqlite**: add readOnly option (Tobias Nießen) [#55567](https://github.com/nodejs/node/pull/55567)
|
|
273
|
+
* \[[`8c35ad12de`](https://github.com/nodejs/node/commit/8c35ad12de)] - **sqlite**: refactor open options (Tobias Nießen) [#55442](https://github.com/nodejs/node/pull/55442)
|
|
274
|
+
* \[[`c3c403040a`](https://github.com/nodejs/node/commit/c3c403040a)] - **sqlite**: cache column names in stmt.all() (Fedor Indutny) [#55373](https://github.com/nodejs/node/pull/55373)
|
|
275
|
+
* \[[`6858f7a4d3`](https://github.com/nodejs/node/commit/6858f7a4d3)] - **src**: use env strings to create sqlite results (Michaël Zasso) [#55785](https://github.com/nodejs/node/pull/55785)
|
|
276
|
+
* \[[`db01eaf318`](https://github.com/nodejs/node/commit/db01eaf318)] - **src**: improve `node:os` userInfo performance (Yagiz Nizipli) [#55719](https://github.com/nodejs/node/pull/55719)
|
|
277
|
+
* \[[`383d28489d`](https://github.com/nodejs/node/commit/383d28489d)] - **src**: provide workaround for container-overflow (Daniel Lemire) [#55591](https://github.com/nodejs/node/pull/55591)
|
|
278
|
+
* \[[`3477b6b4a5`](https://github.com/nodejs/node/commit/3477b6b4a5)] - **src**: move more key related stuff to ncrypto (James M Snell) [#55368](https://github.com/nodejs/node/pull/55368)
|
|
279
|
+
* \[[`38c047e38f`](https://github.com/nodejs/node/commit/38c047e38f)] - **src**: refactor ECDHBitsJob signature (Filip Skokan) [#55610](https://github.com/nodejs/node/pull/55610)
|
|
280
|
+
* \[[`acbb62902a`](https://github.com/nodejs/node/commit/acbb62902a)] - **src**: fix dns crash when failed to create NodeAresTask (theanarkh) [#55521](https://github.com/nodejs/node/pull/55521)
|
|
281
|
+
* \[[`547cab9433`](https://github.com/nodejs/node/commit/547cab9433)] - **src**: use NewFromUtf8Literal in NODE\_DEFINE\_CONSTANT (Charles Kerr) [#55581](https://github.com/nodejs/node/pull/55581)
|
|
282
|
+
* \[[`231fe7b953`](https://github.com/nodejs/node/commit/231fe7b953)] - **src**: do not run IsWindowsBatchFile on non-windows (Yagiz Nizipli) [#55560](https://github.com/nodejs/node/pull/55560)
|
|
283
|
+
* \[[`bde374ee6a`](https://github.com/nodejs/node/commit/bde374ee6a)] - **src**: remove icu based `ToASCII` and `ToUnicode` (Yagiz Nizipli) [#55156](https://github.com/nodejs/node/pull/55156)
|
|
284
|
+
* \[[`6ad23e74be`](https://github.com/nodejs/node/commit/6ad23e74be)] - **src**: fix winapi\_strerror error string (Hüseyin Açacak) [#55207](https://github.com/nodejs/node/pull/55207)
|
|
285
|
+
* \[[`63bc40550b`](https://github.com/nodejs/node/commit/63bc40550b)] - **src**: remove uv\_\_node\_patch\_is\_using\_io\_uring (Santiago Gimeno) [#55114](https://github.com/nodejs/node/pull/55114)
|
|
286
|
+
* \[[`2af72a7671`](https://github.com/nodejs/node/commit/2af72a7671)] - **src**: implement IsInsideNodeModules() in C++ (Joyee Cheung) [#55286](https://github.com/nodejs/node/pull/55286)
|
|
287
|
+
* \[[`e14fb2defb`](https://github.com/nodejs/node/commit/e14fb2defb)] - **src,lib**: optimize nodeTiming.uvMetricsInfo (RafaelGSS) [#55614](https://github.com/nodejs/node/pull/55614)
|
|
288
|
+
* \[[`e14dba3ee5`](https://github.com/nodejs/node/commit/e14dba3ee5)] - **src,lib**: introduce `util.getSystemErrorMessage(err)` (Juan José) [#54075](https://github.com/nodejs/node/pull/54075)
|
|
289
|
+
* \[[`8f59c41d52`](https://github.com/nodejs/node/commit/8f59c41d52)] - **stream**: propagate AbortSignal reason (Marvin ROGER) [#55473](https://github.com/nodejs/node/pull/55473)
|
|
290
|
+
* \[[`7acb96362c`](https://github.com/nodejs/node/commit/7acb96362c)] - **test**: increase coverage of `pathToFileURL` (Antoine du Hamel) [#55493](https://github.com/nodejs/node/pull/55493)
|
|
291
|
+
* \[[`5861135ddb`](https://github.com/nodejs/node/commit/5861135ddb)] - **test**: improve test coverage for child process message sending (Juan José) [#55710](https://github.com/nodejs/node/pull/55710)
|
|
292
|
+
* \[[`554d4ace2f`](https://github.com/nodejs/node/commit/554d4ace2f)] - **test**: ensure that test priority is not higher than current priority (Livia Medeiros) [#55739](https://github.com/nodejs/node/pull/55739)
|
|
293
|
+
* \[[`b0ce62a9bd`](https://github.com/nodejs/node/commit/b0ce62a9bd)] - **test**: add buffer to fs\_permission tests (Rafael Gonzaga) [#55734](https://github.com/nodejs/node/pull/55734)
|
|
294
|
+
* \[[`9d9ad81d54`](https://github.com/nodejs/node/commit/9d9ad81d54)] - **test**: improve test coverage for `ServerResponse` (Juan José) [#55711](https://github.com/nodejs/node/pull/55711)
|
|
295
|
+
* \[[`273f84e01c`](https://github.com/nodejs/node/commit/273f84e01c)] - **test**: update `performance-timeline` wpt (RedYetiDev) [#55197](https://github.com/nodejs/node/pull/55197)
|
|
296
|
+
* \[[`89c9c46185`](https://github.com/nodejs/node/commit/89c9c46185)] - **test**: ignore unrelated events in FW watch tests (Carlos Espa) [#55605](https://github.com/nodejs/node/pull/55605)
|
|
297
|
+
* \[[`fc69080669`](https://github.com/nodejs/node/commit/fc69080669)] - **test**: refactor some esm tests (Antoine du Hamel) [#55472](https://github.com/nodejs/node/pull/55472)
|
|
298
|
+
* \[[`a80c166733`](https://github.com/nodejs/node/commit/a80c166733)] - **test**: split up test-runner-mock-timers test (Julian Gassner) [#55506](https://github.com/nodejs/node/pull/55506)
|
|
299
|
+
* \[[`8c2fc11f7c`](https://github.com/nodejs/node/commit/8c2fc11f7c)] - **test**: remove unneeded listeners (Luigi Pinca) [#55486](https://github.com/nodejs/node/pull/55486)
|
|
300
|
+
* \[[`1c5872dbde`](https://github.com/nodejs/node/commit/1c5872dbde)] - **test**: avoid `apply()` calls with large amount of elements (Livia Medeiros) [#55501](https://github.com/nodejs/node/pull/55501)
|
|
301
|
+
* \[[`2194eb4909`](https://github.com/nodejs/node/commit/2194eb4909)] - **test**: increase test coverage for `http.OutgoingMessage.appendHeader()` (Juan José) [#55467](https://github.com/nodejs/node/pull/55467)
|
|
302
|
+
* \[[`ad7e81379a`](https://github.com/nodejs/node/commit/ad7e81379a)] - **test**: make test-node-output-v8-warning more flexible (Shelley Vohr) [#55401](https://github.com/nodejs/node/pull/55401)
|
|
303
|
+
* \[[`6aeeaa719b`](https://github.com/nodejs/node/commit/6aeeaa719b)] - **test**: fix addons and node-api test assumptions (Antoine du Hamel) [#55441](https://github.com/nodejs/node/pull/55441)
|
|
304
|
+
* \[[`73ab14fd8f`](https://github.com/nodejs/node/commit/73ab14fd8f)] - **test**: update wpt test for webmessaging/broadcastchannel (devstone) [#55205](https://github.com/nodejs/node/pull/55205)
|
|
305
|
+
* \[[`ded1b68d10`](https://github.com/nodejs/node/commit/ded1b68d10)] - **test**: deflake `test-cluster-shared-handle-bind-privileged-port` (Aviv Keller) [#55378](https://github.com/nodejs/node/pull/55378)
|
|
306
|
+
* \[[`0e873c3031`](https://github.com/nodejs/node/commit/0e873c3031)] - **test**: update `console` wpt (Aviv Keller) [#55192](https://github.com/nodejs/node/pull/55192)
|
|
307
|
+
* \[[`832300533b`](https://github.com/nodejs/node/commit/832300533b)] - **test**: remove duplicate tests (Luigi Pinca) [#55393](https://github.com/nodejs/node/pull/55393)
|
|
308
|
+
* \[[`310a734c1b`](https://github.com/nodejs/node/commit/310a734c1b)] - **test**: update test\_util.cc for coverage (minkyu\_kim) [#55291](https://github.com/nodejs/node/pull/55291)
|
|
309
|
+
* \[[`254badd480`](https://github.com/nodejs/node/commit/254badd480)] - **test**: update `compression` wpt (Aviv Keller) [#55191](https://github.com/nodejs/node/pull/55191)
|
|
310
|
+
* \[[`c52a808ac9`](https://github.com/nodejs/node/commit/c52a808ac9)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#55703](https://github.com/nodejs/node/pull/55703)
|
|
311
|
+
* \[[`445d117b67`](https://github.com/nodejs/node/commit/445d117b67)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#55512](https://github.com/nodejs/node/pull/55512)
|
|
312
|
+
* \[[`cd0d748ede`](https://github.com/nodejs/node/commit/cd0d748ede)] - **test,crypto**: make crypto tests work with BoringSSL (Shelley Vohr) [#55491](https://github.com/nodejs/node/pull/55491)
|
|
313
|
+
* \[[`8bac7c27c8`](https://github.com/nodejs/node/commit/8bac7c27c8)] - **test,crypto**: update WebCryptoAPI WPT (Filip Skokan) [#55427](https://github.com/nodejs/node/pull/55427)
|
|
314
|
+
* \[[`363e7d5a76`](https://github.com/nodejs/node/commit/363e7d5a76)] - **test\_runner**: error on mocking an already mocked date (Aviv Keller) [#55858](https://github.com/nodejs/node/pull/55858)
|
|
315
|
+
* \[[`f41d329e98`](https://github.com/nodejs/node/commit/f41d329e98)] - **test\_runner**: add support for scheduler.wait on mock timers (Erick Wendel) [#55244](https://github.com/nodejs/node/pull/55244)
|
|
316
|
+
* \[[`b9200c33ae`](https://github.com/nodejs/node/commit/b9200c33ae)] - **test\_runner**: require `--enable-source-maps` for sourcemap coverage (Aviv Keller) [#55359](https://github.com/nodejs/node/pull/55359)
|
|
317
|
+
* \[[`f11d93d8ef`](https://github.com/nodejs/node/commit/f11d93d8ef)] - **tools**: enforce ordering of error codes in `errors.md` (Antoine du Hamel) [#55324](https://github.com/nodejs/node/pull/55324)
|
|
318
|
+
* \[[`85ca31a90a`](https://github.com/nodejs/node/commit/85ca31a90a)] - **tools**: bump @eslint/plugin-kit from 0.2.0 to 0.2.3 in /tools/eslint (dependabot\[bot]) [#55875](https://github.com/nodejs/node/pull/55875)
|
|
319
|
+
* \[[`506aac567b`](https://github.com/nodejs/node/commit/506aac567b)] - **tools**: fix exclude labels for commit-queue (Richard Lau) [#55809](https://github.com/nodejs/node/pull/55809)
|
|
320
|
+
* \[[`14ffac9995`](https://github.com/nodejs/node/commit/14ffac9995)] - **tools**: make commit-queue check blocked label (Marco Ippolito) [#55781](https://github.com/nodejs/node/pull/55781)
|
|
321
|
+
* \[[`eb22ec87e6`](https://github.com/nodejs/node/commit/eb22ec87e6)] - **tools**: remove non-existent file from eslint config (Aviv Keller) [#55772](https://github.com/nodejs/node/pull/55772)
|
|
322
|
+
* \[[`5844565fb2`](https://github.com/nodejs/node/commit/5844565fb2)] - **tools**: fix c-ares updater script for Node.js 18 (Richard Lau) [#55717](https://github.com/nodejs/node/pull/55717)
|
|
323
|
+
* \[[`0a79ebd257`](https://github.com/nodejs/node/commit/0a79ebd257)] - **tools**: update ESLint to 9.14.0 (dependabot\[bot]) [#55689](https://github.com/nodejs/node/pull/55689)
|
|
324
|
+
* \[[`12543d560a`](https://github.com/nodejs/node/commit/12543d560a)] - **tools**: use `util.parseArgs` in `lint-md` (Aviv Keller) [#55694](https://github.com/nodejs/node/pull/55694)
|
|
325
|
+
* \[[`d95aa244c2`](https://github.com/nodejs/node/commit/d95aa244c2)] - **tools**: fix root certificate updater (Richard Lau) [#55681](https://github.com/nodejs/node/pull/55681)
|
|
326
|
+
* \[[`3626891f8e`](https://github.com/nodejs/node/commit/3626891f8e)] - **tools**: compact jq output in daily-wpt-fyi.yml action (Filip Skokan) [#55695](https://github.com/nodejs/node/pull/55695)
|
|
327
|
+
* \[[`02c902e68a`](https://github.com/nodejs/node/commit/02c902e68a)] - **tools**: run daily WPT.fyi report on all supported releases (Filip Skokan) [#55619](https://github.com/nodejs/node/pull/55619)
|
|
328
|
+
* \[[`456b02351b`](https://github.com/nodejs/node/commit/456b02351b)] - **tools**: lint README lists more strictly (Antoine du Hamel) [#55625](https://github.com/nodejs/node/pull/55625)
|
|
329
|
+
* \[[`83a5983c7d`](https://github.com/nodejs/node/commit/83a5983c7d)] - **tools**: update lint-md-dependencies (Node.js GitHub Bot) [#55470](https://github.com/nodejs/node/pull/55470)
|
|
330
|
+
* \[[`72b4a8df6a`](https://github.com/nodejs/node/commit/72b4a8df6a)] - **tools**: update gyp-next to 0.18.3 (Node.js GitHub Bot) [#55464](https://github.com/nodejs/node/pull/55464)
|
|
331
|
+
* \[[`6b6e6a5590`](https://github.com/nodejs/node/commit/6b6e6a5590)] - **tools**: add script to synch c-ares source lists (Richard Lau) [#55445](https://github.com/nodejs/node/pull/55445)
|
|
332
|
+
* \[[`a6c444291b`](https://github.com/nodejs/node/commit/a6c444291b)] - **tools**: fix typos (Nathan Baulch) [#55061](https://github.com/nodejs/node/pull/55061)
|
|
333
|
+
* \[[`d5e915ba5d`](https://github.com/nodejs/node/commit/d5e915ba5d)] - **tools**: add `polyfilled` option to `prefer-primordials` rule (Antoine du Hamel) [#55318](https://github.com/nodejs/node/pull/55318)
|
|
334
|
+
* \[[`c8e7f767b7`](https://github.com/nodejs/node/commit/c8e7f767b7)] - **typings**: add missing type of `ArrayBufferPrototypeGetByteLength` (Wuli Zuo) [#55439](https://github.com/nodejs/node/pull/55439)
|
|
335
|
+
* \[[`6317f77942`](https://github.com/nodejs/node/commit/6317f77942)] - **url**: refactor `pathToFileURL` to native (Antoine du Hamel) [#55476](https://github.com/nodejs/node/pull/55476)
|
|
336
|
+
* \[[`5418d40256`](https://github.com/nodejs/node/commit/5418d40256)] - **url**: handle "unsafe" characters properly in `pathToFileURL` (Antoine du Hamel) [#54545](https://github.com/nodejs/node/pull/54545)
|
|
337
|
+
* \[[`fce8c32c19`](https://github.com/nodejs/node/commit/fce8c32c19)] - **util**: do not mark experimental feature as deprecated (Antoine du Hamel) [#55740](https://github.com/nodejs/node/pull/55740)
|
|
338
|
+
* \[[`940d22ffe1`](https://github.com/nodejs/node/commit/940d22ffe1)] - **(SEMVER-MINOR)** **util**: fix util.getCallSites plurality (Chengzhong Wu) [#55626](https://github.com/nodejs/node/pull/55626)
|
|
339
|
+
* \[[`42ac0c2af3`](https://github.com/nodejs/node/commit/42ac0c2af3)] - **util**: do not catch on circular `@@toStringTag` errors (Aviv Keller) [#55544](https://github.com/nodejs/node/pull/55544)
|
|
340
|
+
|
|
341
|
+
<a id="22.11.0"></a>
|
|
342
|
+
|
|
343
|
+
## 2024-10-29, Version 22.11.0 'Jod' (LTS), @richardlau
|
|
344
|
+
|
|
345
|
+
### Notable Changes
|
|
346
|
+
|
|
347
|
+
This release marks the transition of Node.js 22.x into Long Term Support (LTS)
|
|
348
|
+
with the codename 'Jod'. The 22.x release line now moves into "Active LTS"
|
|
349
|
+
and will remain so until October 2025. After that time, it will move into
|
|
350
|
+
"Maintenance" until end of life in April 2027.
|
|
351
|
+
|
|
352
|
+
Other than updating metadata, such as the `process.release` object, to reflect
|
|
353
|
+
that the release is LTS, no further changes from Node.js 22.10.0 are included.
|
|
354
|
+
|
|
355
|
+
### OpenSSL 3.x
|
|
356
|
+
|
|
357
|
+
Official binaries for Node.js 22.x currently include OpenSSL 3.0.x (more
|
|
358
|
+
specifically, the [quictls OpenSSL fork](https://github.com/quictls/openssl)).
|
|
359
|
+
OpenSSL 3.0.x is the currently designated long term support version that is
|
|
360
|
+
scheduled to be supported until 7th September 2026, which is within the expected
|
|
361
|
+
lifetime of Node.js 22.x. We are expecting upstream OpenSSL to announce a
|
|
362
|
+
successor long term support version prior to that date and since OpenSSL now
|
|
363
|
+
follows a semantic versioning-like versioning scheme we expect to be able to
|
|
364
|
+
update to the next long term supported version of OpenSSL during the lifetime of
|
|
365
|
+
Node.js 22.x.
|
|
366
|
+
|
|
52
367
|
<a id="22.10.0"></a>
|
|
53
368
|
|
|
54
369
|
## 2024-10-16, Version 22.10.0 (Current), @aduh95
|
package/LICENSE
CHANGED
|
@@ -797,6 +797,34 @@ The externally maintained libraries used by Node.js are:
|
|
|
797
797
|
|
|
798
798
|
----------------------------------------------------------------------
|
|
799
799
|
|
|
800
|
+
JSON parsing library (nlohmann/json)
|
|
801
|
+
|
|
802
|
+
File: vendor/json/upstream/single_include/nlohmann/json.hpp (only for ICU4C)
|
|
803
|
+
|
|
804
|
+
MIT License
|
|
805
|
+
|
|
806
|
+
Copyright (c) 2013-2022 Niels Lohmann
|
|
807
|
+
|
|
808
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
809
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
810
|
+
in the Software without restriction, including without limitation the rights
|
|
811
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
812
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
813
|
+
furnished to do so, subject to the following conditions:
|
|
814
|
+
|
|
815
|
+
The above copyright notice and this permission notice shall be included in all
|
|
816
|
+
copies or substantial portions of the Software.
|
|
817
|
+
|
|
818
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
819
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
820
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
821
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
822
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
823
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
824
|
+
SOFTWARE.
|
|
825
|
+
|
|
826
|
+
----------------------------------------------------------------------
|
|
827
|
+
|
|
800
828
|
File: aclocal.m4 (only for ICU4C)
|
|
801
829
|
Section: pkg.m4 - Macros to locate and utilise pkg-config.
|
|
802
830
|
|
|
@@ -834,7 +862,7 @@ The externally maintained libraries used by Node.js are:
|
|
|
834
862
|
|
|
835
863
|
This file is free software; you can redistribute it and/or modify it
|
|
836
864
|
under the terms of the GNU General Public License as published by
|
|
837
|
-
the Free Software Foundation
|
|
865
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
838
866
|
(at your option) any later version.
|
|
839
867
|
|
|
840
868
|
This program is distributed in the hope that it will be useful, but
|
package/README.md
CHANGED
|
@@ -104,11 +104,10 @@ To download `SHASUMS256.txt` using `curl`:
|
|
|
104
104
|
curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt
|
|
105
105
|
```
|
|
106
106
|
|
|
107
|
-
To check that
|
|
108
|
-
it through `sha256sum` with a command such as:
|
|
107
|
+
To check that downloaded files match the checksum, use `sha256sum`:
|
|
109
108
|
|
|
110
109
|
```bash
|
|
111
|
-
|
|
110
|
+
sha256sum -c SHASUMS256.txt --ignore-missing
|
|
112
111
|
```
|
|
113
112
|
|
|
114
113
|
For Current and LTS, the GPG detached signature of `SHASUMS256.txt` is in
|
|
@@ -320,8 +319,6 @@ For information about the governance of the Node.js project, see
|
|
|
320
319
|
**Kohei Ueno** <<kohei.ueno119@gmail.com>> (he/him)
|
|
321
320
|
* [daeyeon](https://github.com/daeyeon) -
|
|
322
321
|
**Daeyeon Jeong** <<daeyeon.dev@gmail.com>> (he/him)
|
|
323
|
-
* [danielleadams](https://github.com/danielleadams) -
|
|
324
|
-
**Danielle Adams** <<adamzdanielle@gmail.com>> (she/her)
|
|
325
322
|
* [debadree25](https://github.com/debadree25) -
|
|
326
323
|
**Debadree Chatterjee** <<debadree333@gmail.com>> (he/him)
|
|
327
324
|
* [deokjinkim](https://github.com/deokjinkim) -
|
|
@@ -360,6 +357,8 @@ For information about the governance of the Node.js project, see
|
|
|
360
357
|
**Jacob Smith** <<jacob@frende.me>> (he/him)
|
|
361
358
|
* [jasnell](https://github.com/jasnell) -
|
|
362
359
|
**James M Snell** <<jasnell@gmail.com>> (he/him)
|
|
360
|
+
* [jazelly](https://github.com/jazelly) -
|
|
361
|
+
**Jason Zhang** <<xzha4350@gmail.com>> (he/him)
|
|
363
362
|
* [jkrems](https://github.com/jkrems) -
|
|
364
363
|
**Jan Krems** <<jan.krems@gmail.com>> (he/him)
|
|
365
364
|
* [joyeecheung](https://github.com/joyeecheung) -
|
|
@@ -410,7 +409,7 @@ For information about the governance of the Node.js project, see
|
|
|
410
409
|
**Filip Skokan** <<panva.ip@gmail.com>> (he/him)
|
|
411
410
|
* [pimterry](https://github.com/pimterry) -
|
|
412
411
|
**Tim Perry** <<pimterry@gmail.com>> (he/him)
|
|
413
|
-
* [pmarchini](https://github.com/pmarchini)
|
|
412
|
+
* [pmarchini](https://github.com/pmarchini) -
|
|
414
413
|
**Pietro Marchini** <<pietro.marchini94@gmail.com>> (he/him)
|
|
415
414
|
* [Qard](https://github.com/Qard) -
|
|
416
415
|
**Stephen Belanger** <<admin@stephenbelanger.com>> (he/him)
|
|
@@ -502,6 +501,8 @@ For information about the governance of the Node.js project, see
|
|
|
502
501
|
**Claudio Rodriguez** <<cjrodr@yahoo.com>>
|
|
503
502
|
* [danbev](https://github.com/danbev) -
|
|
504
503
|
**Daniel Bevenius** <<daniel.bevenius@gmail.com>> (he/him)
|
|
504
|
+
* [danielleadams](https://github.com/danielleadams) -
|
|
505
|
+
**Danielle Adams** <<adamzdanielle@gmail.com>> (she/her)
|
|
505
506
|
* [DavidCai1993](https://github.com/DavidCai1993) -
|
|
506
507
|
**David Cai** <<davidcai1993@yahoo.com>> (he/him)
|
|
507
508
|
* [davisjam](https://github.com/davisjam) -
|
|
@@ -514,7 +515,7 @@ For information about the governance of the Node.js project, see
|
|
|
514
515
|
**Hitesh Kanwathirtha** <<digitalinfinity@gmail.com>> (he/him)
|
|
515
516
|
* [dmabupt](https://github.com/dmabupt) -
|
|
516
517
|
**Xu Meng** <<dmabupt@gmail.com>> (he/him)
|
|
517
|
-
* [dnlup](https://github.com/dnlup)
|
|
518
|
+
* [dnlup](https://github.com/dnlup) -
|
|
518
519
|
**dnlup** <<dnlup.dev@gmail.com>>
|
|
519
520
|
* [eljefedelrodeodeljefe](https://github.com/eljefedelrodeodeljefe) -
|
|
520
521
|
**Robert Jefe Lindstaedt** <<robert.lindstaedt@gmail.com>>
|
|
@@ -756,7 +757,7 @@ maintaining the Node.js project.
|
|
|
756
757
|
**Mert Can Altin** <<mertgold60@gmail.com>>
|
|
757
758
|
* [preveen-stack](https://github.com/preveen-stack) -
|
|
758
759
|
**Preveen Padmanabhan** <<wide4head@gmail.com>> (he/him)
|
|
759
|
-
* [RedYetiDev](https://github.com/
|
|
760
|
+
* [RedYetiDev](https://github.com/RedYetiDev) -
|
|
760
761
|
**Aviv Keller** <<redyetidev@gmail.com>> (they/them)
|
|
761
762
|
* [VoltrexKeyva](https://github.com/VoltrexKeyva) -
|
|
762
763
|
**Mohammed Keyvanzadeh** <<mohammadkeyvanzade94@gmail.com>> (he/him)
|
|
@@ -770,12 +771,6 @@ Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
|
|
|
770
771
|
|
|
771
772
|
* **Antoine du Hamel** <<duhamelantoine1995@gmail.com>>
|
|
772
773
|
`C0D6248439F1D5604AAFFB4021D900FFDB233756`
|
|
773
|
-
* **Beth Griggs** <<bethanyngriggs@gmail.com>>
|
|
774
|
-
`4ED778F539E3634C779C87C6D7062848A1AB005C`
|
|
775
|
-
* **Bryan English** <<bryan@bryanenglish.com>>
|
|
776
|
-
`141F07595B7B3FFE74309A937405533BE57C7D57`
|
|
777
|
-
* **Danielle Adams** <<adamzdanielle@gmail.com>>
|
|
778
|
-
`74F12602B6F1C4E913FAA37AD3A89613643B6201`
|
|
779
774
|
* **Juan José Arboleda** <<soyjuanarbol@gmail.com>>
|
|
780
775
|
`DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7`
|
|
781
776
|
* **Marco Ippolito** <<marcoippolito54@gmail.com>>
|
|
@@ -796,9 +791,6 @@ to sign releases):
|
|
|
796
791
|
|
|
797
792
|
```bash
|
|
798
793
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys C0D6248439F1D5604AAFFB4021D900FFDB233756 # Antoine du Hamel
|
|
799
|
-
gpg --keyserver hkps://keys.openpgp.org --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C # Beth Griggs
|
|
800
|
-
gpg --keyserver hkps://keys.openpgp.org --recv-keys 141F07595B7B3FFE74309A937405533BE57C7D57 # Bryan English
|
|
801
|
-
gpg --keyserver hkps://keys.openpgp.org --recv-keys 74F12602B6F1C4E913FAA37AD3A89613643B6201 # Danielle Adams
|
|
802
794
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 # Juan José Arboleda
|
|
803
795
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys CC68F5A3106FF448322E48ED27F5E38D5B0A215F # Marco Ippolito
|
|
804
796
|
gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 # Michaël Zasso
|
|
@@ -815,12 +807,17 @@ verify a downloaded file.
|
|
|
815
807
|
|
|
816
808
|
<summary>Other keys used to sign some previous releases</summary>
|
|
817
809
|
|
|
810
|
+
* **Beth Griggs** <<bethanyngriggs@gmail.com>>
|
|
811
|
+
`4ED778F539E3634C779C87C6D7062848A1AB005C`
|
|
812
|
+
* **Bryan English** <<bryan@bryanenglish.com>>
|
|
813
|
+
`141F07595B7B3FFE74309A937405533BE57C7D57`
|
|
818
814
|
* **Chris Dickinson** <<christopher.s.dickinson@gmail.com>>
|
|
819
815
|
`9554F04D7259F04124DE6B476D5A82AC7E37093B`
|
|
820
816
|
* **Colin Ihrig** <<cjihrig@gmail.com>>
|
|
821
817
|
`94AE36675C464D64BAFA68DD7434390BDBE9B9C5`
|
|
822
818
|
* **Danielle Adams** <<adamzdanielle@gmail.com>>
|
|
823
819
|
`1C050899334244A8AF75E53792EF661D867B9DFA`
|
|
820
|
+
`74F12602B6F1C4E913FAA37AD3A89613643B6201`
|
|
824
821
|
* **Evan Lucas** <<evanlucas@me.com>>
|
|
825
822
|
`B9AE9905FFD7803F25714661B63B535A4C206CA9`
|
|
826
823
|
* **Gibson Fahnestock** <<gibfahn@gmail.com>>
|
|
@@ -880,7 +877,7 @@ releases on a rotation basis as outlined in the
|
|
|
880
877
|
## License
|
|
881
878
|
|
|
882
879
|
Node.js is available under the
|
|
883
|
-
[MIT
|
|
880
|
+
[MIT License](https://opensource.org/licenses/MIT). Node.js also includes
|
|
884
881
|
external libraries that are available under a variety of licenses. See
|
|
885
882
|
[LICENSE](https://github.com/nodejs/node/blob/HEAD/LICENSE) for the full
|
|
886
883
|
license text.
|
package/bin/node
CHANGED
|
Binary file
|
package/include/node/config.gypi
CHANGED
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
'force_dynamic_crt': 0,
|
|
20
20
|
'gas_version': '2.38',
|
|
21
21
|
'host_arch': 's390x',
|
|
22
|
-
'icu_data_in': '../../deps/icu-tmp/
|
|
22
|
+
'icu_data_in': '../../deps/icu-tmp/icudt76l.dat',
|
|
23
23
|
'icu_endianness': 'b',
|
|
24
24
|
'icu_gyp_path': 'tools/icu/icu-generic.gyp',
|
|
25
25
|
'icu_path': 'deps/icu-small',
|
|
26
26
|
'icu_small': 'false',
|
|
27
|
-
'icu_ver_major': '
|
|
27
|
+
'icu_ver_major': '76',
|
|
28
28
|
'libdir': 'lib',
|
|
29
29
|
'llvm_version': '0.0',
|
|
30
30
|
'napi_build_version': '9',
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
'lib/internal/assert.js',
|
|
80
80
|
'lib/internal/assert/assertion_error.js',
|
|
81
81
|
'lib/internal/assert/calltracker.js',
|
|
82
|
+
'lib/internal/assert/myers_diff.js',
|
|
82
83
|
'lib/internal/assert/utils.js',
|
|
83
84
|
'lib/internal/async_context_frame.js',
|
|
84
85
|
'lib/internal/async_hooks.js',
|
package/include/node/node.h
CHANGED
|
@@ -1023,44 +1023,38 @@ NODE_DEPRECATED("Use v8::Date::ValueOf() directly",
|
|
|
1023
1023
|
})
|
|
1024
1024
|
#define NODE_V8_UNIXTIME node::NODE_V8_UNIXTIME
|
|
1025
1025
|
|
|
1026
|
-
#define NODE_DEFINE_CONSTANT(target, constant)
|
|
1027
|
-
do {
|
|
1028
|
-
v8::Isolate* isolate = target->GetIsolate();
|
|
1029
|
-
v8::Local<v8::Context> context = isolate->GetCurrentContext();
|
|
1030
|
-
v8::Local<v8::String> constant_name =
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
v8::
|
|
1047
|
-
|
|
1048
|
-
v8::Local<v8::
|
|
1049
|
-
v8::
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
(target)->DefineOwnProperty(context, \
|
|
1059
|
-
constant_name, \
|
|
1060
|
-
constant_value, \
|
|
1061
|
-
constant_attributes).Check(); \
|
|
1062
|
-
} \
|
|
1063
|
-
while (0)
|
|
1026
|
+
#define NODE_DEFINE_CONSTANT(target, constant) \
|
|
1027
|
+
do { \
|
|
1028
|
+
v8::Isolate* isolate = target->GetIsolate(); \
|
|
1029
|
+
v8::Local<v8::Context> context = isolate->GetCurrentContext(); \
|
|
1030
|
+
v8::Local<v8::String> constant_name = v8::String::NewFromUtf8Literal( \
|
|
1031
|
+
isolate, #constant, v8::NewStringType::kInternalized); \
|
|
1032
|
+
v8::Local<v8::Number> constant_value = \
|
|
1033
|
+
v8::Number::New(isolate, static_cast<double>(constant)); \
|
|
1034
|
+
v8::PropertyAttribute constant_attributes = \
|
|
1035
|
+
static_cast<v8::PropertyAttribute>(v8::ReadOnly | v8::DontDelete); \
|
|
1036
|
+
(target) \
|
|
1037
|
+
->DefineOwnProperty( \
|
|
1038
|
+
context, constant_name, constant_value, constant_attributes) \
|
|
1039
|
+
.Check(); \
|
|
1040
|
+
} while (0)
|
|
1041
|
+
|
|
1042
|
+
#define NODE_DEFINE_HIDDEN_CONSTANT(target, constant) \
|
|
1043
|
+
do { \
|
|
1044
|
+
v8::Isolate* isolate = target->GetIsolate(); \
|
|
1045
|
+
v8::Local<v8::Context> context = isolate->GetCurrentContext(); \
|
|
1046
|
+
v8::Local<v8::String> constant_name = v8::String::NewFromUtf8Literal( \
|
|
1047
|
+
isolate, #constant, v8::NewStringType::kInternalized); \
|
|
1048
|
+
v8::Local<v8::Number> constant_value = \
|
|
1049
|
+
v8::Number::New(isolate, static_cast<double>(constant)); \
|
|
1050
|
+
v8::PropertyAttribute constant_attributes = \
|
|
1051
|
+
static_cast<v8::PropertyAttribute>(v8::ReadOnly | v8::DontDelete | \
|
|
1052
|
+
v8::DontEnum); \
|
|
1053
|
+
(target) \
|
|
1054
|
+
->DefineOwnProperty( \
|
|
1055
|
+
context, constant_name, constant_value, constant_attributes) \
|
|
1056
|
+
.Check(); \
|
|
1057
|
+
} while (0)
|
|
1064
1058
|
|
|
1065
1059
|
// Used to be a macro, hence the uppercase name.
|
|
1066
1060
|
inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
|
package/include/node/node_api.h
CHANGED
|
@@ -135,6 +135,18 @@ napi_create_external_buffer(napi_env env,
|
|
|
135
135
|
void* finalize_hint,
|
|
136
136
|
napi_value* result);
|
|
137
137
|
#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED
|
|
138
|
+
|
|
139
|
+
#ifdef NAPI_EXPERIMENTAL
|
|
140
|
+
#define NODE_API_EXPERIMENTAL_HAS_CREATE_BUFFER_FROM_ARRAYBUFFER
|
|
141
|
+
|
|
142
|
+
NAPI_EXTERN napi_status NAPI_CDECL
|
|
143
|
+
node_api_create_buffer_from_arraybuffer(napi_env env,
|
|
144
|
+
napi_value arraybuffer,
|
|
145
|
+
size_t byte_offset,
|
|
146
|
+
size_t byte_length,
|
|
147
|
+
napi_value* result);
|
|
148
|
+
#endif // NAPI_EXPERIMENTAL
|
|
149
|
+
|
|
138
150
|
NAPI_EXTERN napi_status NAPI_CDECL napi_create_buffer_copy(napi_env env,
|
|
139
151
|
size_t length,
|
|
140
152
|
const void* data,
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
#define SRC_NODE_VERSION_H_
|
|
24
24
|
|
|
25
25
|
#define NODE_MAJOR_VERSION 22
|
|
26
|
-
#define NODE_MINOR_VERSION
|
|
26
|
+
#define NODE_MINOR_VERSION 12
|
|
27
27
|
#define NODE_PATCH_VERSION 0
|
|
28
28
|
|
|
29
|
-
#define NODE_VERSION_IS_LTS
|
|
30
|
-
#define NODE_VERSION_LTS_CODENAME ""
|
|
29
|
+
#define NODE_VERSION_IS_LTS 1
|
|
30
|
+
#define NODE_VERSION_LTS_CODENAME "Jod"
|
|
31
31
|
|
|
32
32
|
#define NODE_VERSION_IS_RELEASE 1
|
|
33
33
|
|
package/include/node/uv/tree.h
CHANGED
|
@@ -35,21 +35,7 @@
|
|
|
35
35
|
#endif
|
|
36
36
|
|
|
37
37
|
/*
|
|
38
|
-
* This file defines data structures for
|
|
39
|
-
* splay trees and red-black trees.
|
|
40
|
-
*
|
|
41
|
-
* A splay tree is a self-organizing data structure. Every operation
|
|
42
|
-
* on the tree causes a splay to happen. The splay moves the requested
|
|
43
|
-
* node to the root of the tree and partly rebalances it.
|
|
44
|
-
*
|
|
45
|
-
* This has the benefit that request locality causes faster lookups as
|
|
46
|
-
* the requested nodes move to the top of the tree. On the other hand,
|
|
47
|
-
* every lookup causes memory writes.
|
|
48
|
-
*
|
|
49
|
-
* The Balance Theorem bounds the total access time for m operations
|
|
50
|
-
* and n inserts on an initially empty tree as O((m + n)lg n). The
|
|
51
|
-
* amortized cost for a sequence of m accesses to a splay tree is O(lg n);
|
|
52
|
-
*
|
|
38
|
+
* This file defines data structures for red-black trees.
|
|
53
39
|
* A red-black tree is a binary search tree with the node color as an
|
|
54
40
|
* extra attribute. It fulfills a set of conditions:
|
|
55
41
|
* - every search path from the root to a leaf consists of the
|
|
@@ -61,239 +47,6 @@
|
|
|
61
47
|
* The maximum height of a red-black tree is 2lg (n+1).
|
|
62
48
|
*/
|
|
63
49
|
|
|
64
|
-
#define SPLAY_HEAD(name, type) \
|
|
65
|
-
struct name { \
|
|
66
|
-
struct type *sph_root; /* root of the tree */ \
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
#define SPLAY_INITIALIZER(root) \
|
|
70
|
-
{ NULL }
|
|
71
|
-
|
|
72
|
-
#define SPLAY_INIT(root) do { \
|
|
73
|
-
(root)->sph_root = NULL; \
|
|
74
|
-
} while (/*CONSTCOND*/ 0)
|
|
75
|
-
|
|
76
|
-
#define SPLAY_ENTRY(type) \
|
|
77
|
-
struct { \
|
|
78
|
-
struct type *spe_left; /* left element */ \
|
|
79
|
-
struct type *spe_right; /* right element */ \
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
#define SPLAY_LEFT(elm, field) (elm)->field.spe_left
|
|
83
|
-
#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right
|
|
84
|
-
#define SPLAY_ROOT(head) (head)->sph_root
|
|
85
|
-
#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL)
|
|
86
|
-
|
|
87
|
-
/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */
|
|
88
|
-
#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \
|
|
89
|
-
SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \
|
|
90
|
-
SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
|
|
91
|
-
(head)->sph_root = tmp; \
|
|
92
|
-
} while (/*CONSTCOND*/ 0)
|
|
93
|
-
|
|
94
|
-
#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \
|
|
95
|
-
SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \
|
|
96
|
-
SPLAY_LEFT(tmp, field) = (head)->sph_root; \
|
|
97
|
-
(head)->sph_root = tmp; \
|
|
98
|
-
} while (/*CONSTCOND*/ 0)
|
|
99
|
-
|
|
100
|
-
#define SPLAY_LINKLEFT(head, tmp, field) do { \
|
|
101
|
-
SPLAY_LEFT(tmp, field) = (head)->sph_root; \
|
|
102
|
-
tmp = (head)->sph_root; \
|
|
103
|
-
(head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \
|
|
104
|
-
} while (/*CONSTCOND*/ 0)
|
|
105
|
-
|
|
106
|
-
#define SPLAY_LINKRIGHT(head, tmp, field) do { \
|
|
107
|
-
SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
|
|
108
|
-
tmp = (head)->sph_root; \
|
|
109
|
-
(head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \
|
|
110
|
-
} while (/*CONSTCOND*/ 0)
|
|
111
|
-
|
|
112
|
-
#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \
|
|
113
|
-
SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \
|
|
114
|
-
SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field); \
|
|
115
|
-
SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \
|
|
116
|
-
SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \
|
|
117
|
-
} while (/*CONSTCOND*/ 0)
|
|
118
|
-
|
|
119
|
-
/* Generates prototypes and inline functions */
|
|
120
|
-
|
|
121
|
-
#define SPLAY_PROTOTYPE(name, type, field, cmp) \
|
|
122
|
-
void name##_SPLAY(struct name *, struct type *); \
|
|
123
|
-
void name##_SPLAY_MINMAX(struct name *, int); \
|
|
124
|
-
struct type *name##_SPLAY_INSERT(struct name *, struct type *); \
|
|
125
|
-
struct type *name##_SPLAY_REMOVE(struct name *, struct type *); \
|
|
126
|
-
\
|
|
127
|
-
/* Finds the node with the same key as elm */ \
|
|
128
|
-
static __inline struct type * \
|
|
129
|
-
name##_SPLAY_FIND(struct name *head, struct type *elm) \
|
|
130
|
-
{ \
|
|
131
|
-
if (SPLAY_EMPTY(head)) \
|
|
132
|
-
return(NULL); \
|
|
133
|
-
name##_SPLAY(head, elm); \
|
|
134
|
-
if ((cmp)(elm, (head)->sph_root) == 0) \
|
|
135
|
-
return (head->sph_root); \
|
|
136
|
-
return (NULL); \
|
|
137
|
-
} \
|
|
138
|
-
\
|
|
139
|
-
static __inline struct type * \
|
|
140
|
-
name##_SPLAY_NEXT(struct name *head, struct type *elm) \
|
|
141
|
-
{ \
|
|
142
|
-
name##_SPLAY(head, elm); \
|
|
143
|
-
if (SPLAY_RIGHT(elm, field) != NULL) { \
|
|
144
|
-
elm = SPLAY_RIGHT(elm, field); \
|
|
145
|
-
while (SPLAY_LEFT(elm, field) != NULL) { \
|
|
146
|
-
elm = SPLAY_LEFT(elm, field); \
|
|
147
|
-
} \
|
|
148
|
-
} else \
|
|
149
|
-
elm = NULL; \
|
|
150
|
-
return (elm); \
|
|
151
|
-
} \
|
|
152
|
-
\
|
|
153
|
-
static __inline struct type * \
|
|
154
|
-
name##_SPLAY_MIN_MAX(struct name *head, int val) \
|
|
155
|
-
{ \
|
|
156
|
-
name##_SPLAY_MINMAX(head, val); \
|
|
157
|
-
return (SPLAY_ROOT(head)); \
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/* Main splay operation.
|
|
161
|
-
* Moves node close to the key of elm to top
|
|
162
|
-
*/
|
|
163
|
-
#define SPLAY_GENERATE(name, type, field, cmp) \
|
|
164
|
-
struct type * \
|
|
165
|
-
name##_SPLAY_INSERT(struct name *head, struct type *elm) \
|
|
166
|
-
{ \
|
|
167
|
-
if (SPLAY_EMPTY(head)) { \
|
|
168
|
-
SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \
|
|
169
|
-
} else { \
|
|
170
|
-
int __comp; \
|
|
171
|
-
name##_SPLAY(head, elm); \
|
|
172
|
-
__comp = (cmp)(elm, (head)->sph_root); \
|
|
173
|
-
if(__comp < 0) { \
|
|
174
|
-
SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field); \
|
|
175
|
-
SPLAY_RIGHT(elm, field) = (head)->sph_root; \
|
|
176
|
-
SPLAY_LEFT((head)->sph_root, field) = NULL; \
|
|
177
|
-
} else if (__comp > 0) { \
|
|
178
|
-
SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field); \
|
|
179
|
-
SPLAY_LEFT(elm, field) = (head)->sph_root; \
|
|
180
|
-
SPLAY_RIGHT((head)->sph_root, field) = NULL; \
|
|
181
|
-
} else \
|
|
182
|
-
return ((head)->sph_root); \
|
|
183
|
-
} \
|
|
184
|
-
(head)->sph_root = (elm); \
|
|
185
|
-
return (NULL); \
|
|
186
|
-
} \
|
|
187
|
-
\
|
|
188
|
-
struct type * \
|
|
189
|
-
name##_SPLAY_REMOVE(struct name *head, struct type *elm) \
|
|
190
|
-
{ \
|
|
191
|
-
struct type *__tmp; \
|
|
192
|
-
if (SPLAY_EMPTY(head)) \
|
|
193
|
-
return (NULL); \
|
|
194
|
-
name##_SPLAY(head, elm); \
|
|
195
|
-
if ((cmp)(elm, (head)->sph_root) == 0) { \
|
|
196
|
-
if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \
|
|
197
|
-
(head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \
|
|
198
|
-
} else { \
|
|
199
|
-
__tmp = SPLAY_RIGHT((head)->sph_root, field); \
|
|
200
|
-
(head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \
|
|
201
|
-
name##_SPLAY(head, elm); \
|
|
202
|
-
SPLAY_RIGHT((head)->sph_root, field) = __tmp; \
|
|
203
|
-
} \
|
|
204
|
-
return (elm); \
|
|
205
|
-
} \
|
|
206
|
-
return (NULL); \
|
|
207
|
-
} \
|
|
208
|
-
\
|
|
209
|
-
void \
|
|
210
|
-
name##_SPLAY(struct name *head, struct type *elm) \
|
|
211
|
-
{ \
|
|
212
|
-
struct type __node, *__left, *__right, *__tmp; \
|
|
213
|
-
int __comp; \
|
|
214
|
-
\
|
|
215
|
-
SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL; \
|
|
216
|
-
__left = __right = &__node; \
|
|
217
|
-
\
|
|
218
|
-
while ((__comp = (cmp)(elm, (head)->sph_root)) != 0) { \
|
|
219
|
-
if (__comp < 0) { \
|
|
220
|
-
__tmp = SPLAY_LEFT((head)->sph_root, field); \
|
|
221
|
-
if (__tmp == NULL) \
|
|
222
|
-
break; \
|
|
223
|
-
if ((cmp)(elm, __tmp) < 0){ \
|
|
224
|
-
SPLAY_ROTATE_RIGHT(head, __tmp, field); \
|
|
225
|
-
if (SPLAY_LEFT((head)->sph_root, field) == NULL) \
|
|
226
|
-
break; \
|
|
227
|
-
} \
|
|
228
|
-
SPLAY_LINKLEFT(head, __right, field); \
|
|
229
|
-
} else if (__comp > 0) { \
|
|
230
|
-
__tmp = SPLAY_RIGHT((head)->sph_root, field); \
|
|
231
|
-
if (__tmp == NULL) \
|
|
232
|
-
break; \
|
|
233
|
-
if ((cmp)(elm, __tmp) > 0){ \
|
|
234
|
-
SPLAY_ROTATE_LEFT(head, __tmp, field); \
|
|
235
|
-
if (SPLAY_RIGHT((head)->sph_root, field) == NULL) \
|
|
236
|
-
break; \
|
|
237
|
-
} \
|
|
238
|
-
SPLAY_LINKRIGHT(head, __left, field); \
|
|
239
|
-
} \
|
|
240
|
-
} \
|
|
241
|
-
SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
|
|
242
|
-
} \
|
|
243
|
-
\
|
|
244
|
-
/* Splay with either the minimum or the maximum element \
|
|
245
|
-
* Used to find minimum or maximum element in tree. \
|
|
246
|
-
*/ \
|
|
247
|
-
void name##_SPLAY_MINMAX(struct name *head, int __comp) \
|
|
248
|
-
{ \
|
|
249
|
-
struct type __node, *__left, *__right, *__tmp; \
|
|
250
|
-
\
|
|
251
|
-
SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL; \
|
|
252
|
-
__left = __right = &__node; \
|
|
253
|
-
\
|
|
254
|
-
for (;;) { \
|
|
255
|
-
if (__comp < 0) { \
|
|
256
|
-
__tmp = SPLAY_LEFT((head)->sph_root, field); \
|
|
257
|
-
if (__tmp == NULL) \
|
|
258
|
-
break; \
|
|
259
|
-
if (__comp < 0){ \
|
|
260
|
-
SPLAY_ROTATE_RIGHT(head, __tmp, field); \
|
|
261
|
-
if (SPLAY_LEFT((head)->sph_root, field) == NULL) \
|
|
262
|
-
break; \
|
|
263
|
-
} \
|
|
264
|
-
SPLAY_LINKLEFT(head, __right, field); \
|
|
265
|
-
} else if (__comp > 0) { \
|
|
266
|
-
__tmp = SPLAY_RIGHT((head)->sph_root, field); \
|
|
267
|
-
if (__tmp == NULL) \
|
|
268
|
-
break; \
|
|
269
|
-
if (__comp > 0) { \
|
|
270
|
-
SPLAY_ROTATE_LEFT(head, __tmp, field); \
|
|
271
|
-
if (SPLAY_RIGHT((head)->sph_root, field) == NULL) \
|
|
272
|
-
break; \
|
|
273
|
-
} \
|
|
274
|
-
SPLAY_LINKRIGHT(head, __left, field); \
|
|
275
|
-
} \
|
|
276
|
-
} \
|
|
277
|
-
SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
#define SPLAY_NEGINF -1
|
|
281
|
-
#define SPLAY_INF 1
|
|
282
|
-
|
|
283
|
-
#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y)
|
|
284
|
-
#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y)
|
|
285
|
-
#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y)
|
|
286
|
-
#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y)
|
|
287
|
-
#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \
|
|
288
|
-
: name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF))
|
|
289
|
-
#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \
|
|
290
|
-
: name##_SPLAY_MIN_MAX(x, SPLAY_INF))
|
|
291
|
-
|
|
292
|
-
#define SPLAY_FOREACH(x, name, head) \
|
|
293
|
-
for ((x) = SPLAY_MIN(name, head); \
|
|
294
|
-
(x) != NULL; \
|
|
295
|
-
(x) = SPLAY_NEXT(name, head, x))
|
|
296
|
-
|
|
297
50
|
/* Macros that define a red-black tree */
|
|
298
51
|
#define RB_HEAD(name, type) \
|
|
299
52
|
struct name { \
|
|
@@ -730,8 +483,8 @@ name##_RB_MINMAX(struct name *head, int val) \
|
|
|
730
483
|
#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y)
|
|
731
484
|
#define RB_FIND(name, x, y) name##_RB_FIND(x, y)
|
|
732
485
|
#define RB_NFIND(name, x, y) name##_RB_NFIND(x, y)
|
|
733
|
-
#define RB_NEXT(name, x
|
|
734
|
-
#define RB_PREV(name, x
|
|
486
|
+
#define RB_NEXT(name, x) name##_RB_NEXT(x)
|
|
487
|
+
#define RB_PREV(name, x) name##_RB_PREV(x)
|
|
735
488
|
#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF)
|
|
736
489
|
#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF)
|
|
737
490
|
|
package/include/node/uv/win.h
CHANGED
|
@@ -290,8 +290,8 @@ typedef struct {
|
|
|
290
290
|
#define UV_ONCE_INIT { 0, NULL }
|
|
291
291
|
|
|
292
292
|
typedef struct uv_once_s {
|
|
293
|
-
unsigned char
|
|
294
|
-
|
|
293
|
+
unsigned char unused;
|
|
294
|
+
INIT_ONCE init_once;
|
|
295
295
|
} uv_once_t;
|
|
296
296
|
|
|
297
297
|
/* Platform-specific definitions for uv_spawn support. */
|
package/include/node/uv.h
CHANGED
|
@@ -260,7 +260,9 @@ typedef struct uv_metrics_s uv_metrics_t;
|
|
|
260
260
|
|
|
261
261
|
typedef enum {
|
|
262
262
|
UV_LOOP_BLOCK_SIGNAL = 0,
|
|
263
|
-
UV_METRICS_IDLE_TIME
|
|
263
|
+
UV_METRICS_IDLE_TIME,
|
|
264
|
+
UV_LOOP_USE_IO_URING_SQPOLL
|
|
265
|
+
#define UV_LOOP_USE_IO_URING_SQPOLL UV_LOOP_USE_IO_URING_SQPOLL
|
|
264
266
|
} uv_loop_option;
|
|
265
267
|
|
|
266
268
|
typedef enum {
|
|
@@ -604,7 +606,18 @@ UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable);
|
|
|
604
606
|
|
|
605
607
|
enum uv_tcp_flags {
|
|
606
608
|
/* Used with uv_tcp_bind, when an IPv6 address is used. */
|
|
607
|
-
UV_TCP_IPV6ONLY = 1
|
|
609
|
+
UV_TCP_IPV6ONLY = 1,
|
|
610
|
+
|
|
611
|
+
/* Enable SO_REUSEPORT socket option when binding the handle.
|
|
612
|
+
* This allows completely duplicate bindings by multiple processes
|
|
613
|
+
* or threads if they all set SO_REUSEPORT before binding the port.
|
|
614
|
+
* Incoming connections are distributed across the participating
|
|
615
|
+
* listener sockets.
|
|
616
|
+
*
|
|
617
|
+
* This flag is available only on Linux 3.9+, DragonFlyBSD 3.6+,
|
|
618
|
+
* FreeBSD 12.0+, Solaris 11.4, and AIX 7.2.5+ for now.
|
|
619
|
+
*/
|
|
620
|
+
UV_TCP_REUSEPORT = 2,
|
|
608
621
|
};
|
|
609
622
|
|
|
610
623
|
UV_EXTERN int uv_tcp_bind(uv_tcp_t* handle,
|
|
@@ -645,10 +658,13 @@ enum uv_udp_flags {
|
|
|
645
658
|
UV_UDP_PARTIAL = 2,
|
|
646
659
|
/*
|
|
647
660
|
* Indicates if SO_REUSEADDR will be set when binding the handle.
|
|
648
|
-
* This sets the SO_REUSEPORT socket flag on the BSDs
|
|
649
|
-
*
|
|
650
|
-
*
|
|
651
|
-
*
|
|
661
|
+
* This sets the SO_REUSEPORT socket flag on the BSDs (except for
|
|
662
|
+
* DragonFlyBSD), OS X, and other platforms where SO_REUSEPORTs don't
|
|
663
|
+
* have the capability of load balancing, as the opposite of what
|
|
664
|
+
* UV_UDP_REUSEPORT would do. On other Unix platforms, it sets the
|
|
665
|
+
* SO_REUSEADDR flag. What that means is that multiple threads or
|
|
666
|
+
* processes can bind to the same address without error (provided
|
|
667
|
+
* they all set the flag) but only the last one to bind will receive
|
|
652
668
|
* any traffic, in effect "stealing" the port from the previous listener.
|
|
653
669
|
*/
|
|
654
670
|
UV_UDP_REUSEADDR = 4,
|
|
@@ -671,6 +687,18 @@ enum uv_udp_flags {
|
|
|
671
687
|
* This flag is no-op on platforms other than Linux.
|
|
672
688
|
*/
|
|
673
689
|
UV_UDP_LINUX_RECVERR = 32,
|
|
690
|
+
/*
|
|
691
|
+
* Indicates if SO_REUSEPORT will be set when binding the handle.
|
|
692
|
+
* This sets the SO_REUSEPORT socket option on supported platforms.
|
|
693
|
+
* Unlike UV_UDP_REUSEADDR, this flag will make multiple threads or
|
|
694
|
+
* processes that are binding to the same address and port "share"
|
|
695
|
+
* the port, which means incoming datagrams are distributed across
|
|
696
|
+
* the receiving sockets among threads or processes.
|
|
697
|
+
*
|
|
698
|
+
* This flag is available only on Linux 3.9+, DragonFlyBSD 3.6+,
|
|
699
|
+
* FreeBSD 12.0+, Solaris 11.4, and AIX 7.2.5+ for now.
|
|
700
|
+
*/
|
|
701
|
+
UV_UDP_REUSEPORT = 64,
|
|
674
702
|
/*
|
|
675
703
|
* Indicates that recvmmsg should be used, if available.
|
|
676
704
|
*/
|
|
@@ -1903,17 +1931,17 @@ struct uv_loop_s {
|
|
|
1903
1931
|
UV_EXTERN void* uv_loop_get_data(const uv_loop_t*);
|
|
1904
1932
|
UV_EXTERN void uv_loop_set_data(uv_loop_t*, void* data);
|
|
1905
1933
|
|
|
1906
|
-
/*
|
|
1907
|
-
size_t uv_utf16_length_as_wtf8(const uint16_t* utf16,
|
|
1908
|
-
|
|
1909
|
-
int uv_utf16_to_wtf8(const uint16_t* utf16,
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
ssize_t uv_wtf8_length_as_utf16(const char* wtf8);
|
|
1914
|
-
void uv_wtf8_to_utf16(const char* wtf8,
|
|
1915
|
-
|
|
1916
|
-
|
|
1934
|
+
/* Unicode utilities needed for dealing with Windows. */
|
|
1935
|
+
UV_EXTERN size_t uv_utf16_length_as_wtf8(const uint16_t* utf16,
|
|
1936
|
+
ssize_t utf16_len);
|
|
1937
|
+
UV_EXTERN int uv_utf16_to_wtf8(const uint16_t* utf16,
|
|
1938
|
+
ssize_t utf16_len,
|
|
1939
|
+
char** wtf8_ptr,
|
|
1940
|
+
size_t* wtf8_len_ptr);
|
|
1941
|
+
UV_EXTERN ssize_t uv_wtf8_length_as_utf16(const char* wtf8);
|
|
1942
|
+
UV_EXTERN void uv_wtf8_to_utf16(const char* wtf8,
|
|
1943
|
+
uint16_t* utf16,
|
|
1944
|
+
size_t utf16_len);
|
|
1917
1945
|
|
|
1918
1946
|
/* Don't export the private CPP symbols. */
|
|
1919
1947
|
#undef UV_HANDLE_TYPE_PRIVATE
|