node-darwin-x64 25.8.1 → 25.9.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 +178 -0
- package/bin/node +0 -0
- package/include/node/common.gypi +1 -1
- package/include/node/config.gypi +15 -1
- package/include/node/node.h +16 -0
- package/include/node/node_version.h +2 -2
- package/package.json +1 -1
- package/share/man/man1/node.1 +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
</tr>
|
|
9
9
|
<tr>
|
|
10
10
|
<td>
|
|
11
|
+
<a href="#25.9.0">25.9.0</a><br/>
|
|
12
|
+
<a href="#25.8.2">25.8.2</a><br/>
|
|
11
13
|
<a href="#25.8.1">25.8.1</a><br/>
|
|
12
14
|
<a href="#25.8.0">25.8.0</a><br/>
|
|
13
15
|
<a href="#25.7.0">25.7.0</a><br/>
|
|
@@ -51,6 +53,182 @@
|
|
|
51
53
|
* [io.js](CHANGELOG_IOJS.md)
|
|
52
54
|
* [Archive](CHANGELOG_ARCHIVE.md)
|
|
53
55
|
|
|
56
|
+
<a id="25.9.0"></a>
|
|
57
|
+
|
|
58
|
+
## 2026-04-01, Version 25.9.0 (Current), @aduh95
|
|
59
|
+
|
|
60
|
+
### Notable Changes
|
|
61
|
+
|
|
62
|
+
#### Test runner module mocking improvements
|
|
63
|
+
|
|
64
|
+
`MockModuleOptions.defaultExport` and `MockModuleOptions.namedExports` have been
|
|
65
|
+
consolidated into a single option `MockModuleOptions.exports` to align with user
|
|
66
|
+
expectations and other test runners.
|
|
67
|
+
|
|
68
|
+
A `default` property on `MockModuleOptions.exports` represents the default
|
|
69
|
+
export, and own enumerable properties are treated as named exports.
|
|
70
|
+
|
|
71
|
+
An automated migration is available to update user code:
|
|
72
|
+
<https://github.com/nodejs/userland-migrations/tree/main/recipes/mock-module-exports>
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npx codemod @nodejs/mock-module-exports
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Contributed by sangwook in [#61727](https://github.com/nodejs/node/pull/61727).
|
|
79
|
+
|
|
80
|
+
#### Other notable changes
|
|
81
|
+
|
|
82
|
+
* \[[`312476cb84`](https://github.com/nodejs/node/commit/312476cb84)] - **(SEMVER-MINOR)** **async\_hooks**: add using scopes to `AsyncLocalStorage` (Stephen Belanger) [#61674](https://github.com/nodejs/node/pull/61674)
|
|
83
|
+
* \[[`62d2cd473b`](https://github.com/nodejs/node/commit/62d2cd473b)] - **(SEMVER-MINOR)** **cli**: add `--max-heap-size` option (tannal) [#58708](https://github.com/nodejs/node/pull/58708)
|
|
84
|
+
* \[[`d0ebf0e44b`](https://github.com/nodejs/node/commit/d0ebf0e44b)] - **(SEMVER-MINOR)** **crypto**: add `TurboSHAKE` and `KangarooTwelve` Web Cryptography algorithms (Filip Skokan) [#62183](https://github.com/nodejs/node/pull/62183)
|
|
85
|
+
* \[[`f85b9d9fa8`](https://github.com/nodejs/node/commit/f85b9d9fa8)] - **(SEMVER-MINOR)** **repl**: add customizable error handling (Anna Henningsen) [#62188](https://github.com/nodejs/node/pull/62188)
|
|
86
|
+
* \[[`67b854d407`](https://github.com/nodejs/node/commit/67b854d407)] - **(SEMVER-MINOR)** **repl**: remove dependency on `node:domain` (Matteo Collina) [#61227](https://github.com/nodejs/node/pull/61227)
|
|
87
|
+
* \[[`966b700623`](https://github.com/nodejs/node/commit/966b700623)] - **(SEMVER-MINOR)** **sea**: support code cache for ESM entrypoint in SEA (Joyee Cheung) [#62158](https://github.com/nodejs/node/pull/62158)
|
|
88
|
+
* \[[`e1f0d2a014`](https://github.com/nodejs/node/commit/e1f0d2a014)] - **(SEMVER-MINOR)** **stream**: add stream/iter Implementation (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066)
|
|
89
|
+
|
|
90
|
+
### Commits
|
|
91
|
+
|
|
92
|
+
* \[[`312476cb84`](https://github.com/nodejs/node/commit/312476cb84)] - **(SEMVER-MINOR)** **async\_hooks**: add using scopes to AsyncLocalStorage (Stephen Belanger) [#61674](https://github.com/nodejs/node/pull/61674)
|
|
93
|
+
* \[[`bfff8cb2ab`](https://github.com/nodejs/node/commit/bfff8cb2ab)] - **(SEMVER-MINOR)** **benchmark**: add benchmarks for experimental stream/iter (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066)
|
|
94
|
+
* \[[`c721d68502`](https://github.com/nodejs/node/commit/c721d68502)] - **benchmark**: fix destructuring in dgram/single-buffer (Ali Hassan) [#62084](https://github.com/nodejs/node/pull/62084)
|
|
95
|
+
* \[[`e2f03c8e92`](https://github.com/nodejs/node/commit/e2f03c8e92)] - **buffer**: improve performance of multiple Buffer operations (Ali Hassan) [#61871](https://github.com/nodejs/node/pull/61871)
|
|
96
|
+
* \[[`2fcd07f1ba`](https://github.com/nodejs/node/commit/2fcd07f1ba)] - **build**: support empty libname flags in `configure.py` (Antoine du Hamel) [#62477](https://github.com/nodejs/node/pull/62477)
|
|
97
|
+
* \[[`b800c57fce`](https://github.com/nodejs/node/commit/b800c57fce)] - **build**: fix timezone-update path references (Chengzhong Wu) [#62280](https://github.com/nodejs/node/pull/62280)
|
|
98
|
+
* \[[`7dc5a1e9b4`](https://github.com/nodejs/node/commit/7dc5a1e9b4)] - **build**: skip dockit on IBMi (SRAVANI GUNDEPALLI) [#62189](https://github.com/nodejs/node/pull/62189)
|
|
99
|
+
* \[[`f0eea0f905`](https://github.com/nodejs/node/commit/f0eea0f905)] - **build**: fix --node-builtin-modules-path (Filip Skokan) [#62115](https://github.com/nodejs/node/pull/62115)
|
|
100
|
+
* \[[`62d2cd473b`](https://github.com/nodejs/node/commit/62d2cd473b)] - **(SEMVER-MINOR)** **cli**: add --max-heap-size option (tannal) [#58708](https://github.com/nodejs/node/pull/58708)
|
|
101
|
+
* \[[`ac4b485698`](https://github.com/nodejs/node/commit/ac4b485698)] - **crypto**: update root certificates to NSS 3.121 (Node.js GitHub Bot) [#62485](https://github.com/nodejs/node/pull/62485)
|
|
102
|
+
* \[[`d0ebf0e44b`](https://github.com/nodejs/node/commit/d0ebf0e44b)] - **(SEMVER-MINOR)** **crypto**: add TurboSHAKE and KangarooTwelve Web Cryptography algorithms (Filip Skokan) [#62183](https://github.com/nodejs/node/pull/62183)
|
|
103
|
+
* \[[`3009980d9d`](https://github.com/nodejs/node/commit/3009980d9d)] - **crypto**: add crypto::GetSSLCtx API for addon access to OpenSSL contexts (Tim Perry) [#62254](https://github.com/nodejs/node/pull/62254)
|
|
104
|
+
* \[[`f5725ca81d`](https://github.com/nodejs/node/commit/f5725ca81d)] - **crypto**: reject ML-KEM/ML-DSA PKCS#8 import without seed in SubtleCrypto (Filip Skokan) [#62218](https://github.com/nodejs/node/pull/62218)
|
|
105
|
+
* \[[`f69ed4bc3f`](https://github.com/nodejs/node/commit/f69ed4bc3f)] - **crypto**: rename CShakeParams and KmacParams length to outputLength (Filip Skokan) [#61875](https://github.com/nodejs/node/pull/61875)
|
|
106
|
+
* \[[`4d96e53570`](https://github.com/nodejs/node/commit/4d96e53570)] - **crypto**: refactor WebCrypto AEAD algorithms auth tag handling (Filip Skokan) [#62169](https://github.com/nodejs/node/pull/62169)
|
|
107
|
+
* \[[`93d77719e8`](https://github.com/nodejs/node/commit/93d77719e8)] - **crypto**: read algorithm name property only once in normalizeAlgorithm (Filip Skokan) [#62170](https://github.com/nodejs/node/pull/62170)
|
|
108
|
+
* \[[`3d2e23a981`](https://github.com/nodejs/node/commit/3d2e23a981)] - **deps**: update ada to 3.4.4 (Node.js GitHub Bot) [#62414](https://github.com/nodejs/node/pull/62414)
|
|
109
|
+
* \[[`176d6d2205`](https://github.com/nodejs/node/commit/176d6d2205)] - **deps**: update timezone to 2026a (Node.js GitHub Bot) [#62164](https://github.com/nodejs/node/pull/62164)
|
|
110
|
+
* \[[`95c7fc67ba`](https://github.com/nodejs/node/commit/95c7fc67ba)] - **deps**: update googletest to 2461743991f9aa53e9a3625eafcbacd81a3c74cd (Node.js GitHub Bot) [#62484](https://github.com/nodejs/node/pull/62484)
|
|
111
|
+
* \[[`e5e9f2044a`](https://github.com/nodejs/node/commit/e5e9f2044a)] - **deps**: update simdjson to 4.5.0 (Node.js GitHub Bot) [#62382](https://github.com/nodejs/node/pull/62382)
|
|
112
|
+
* \[[`905b94266a`](https://github.com/nodejs/node/commit/905b94266a)] - **deps**: update ngtcp2 to 1.21.0 (Node.js GitHub Bot) [#62051](https://github.com/nodejs/node/pull/62051)
|
|
113
|
+
* \[[`180c150122`](https://github.com/nodejs/node/commit/180c150122)] - **deps**: V8: cherry-pick cf1bce40a5ef (Richard Lau) [#62449](https://github.com/nodejs/node/pull/62449)
|
|
114
|
+
* \[[`bc265aa003`](https://github.com/nodejs/node/commit/bc265aa003)] - **deps**: upgrade npm to 11.12.1 (npm team) [#62448](https://github.com/nodejs/node/pull/62448)
|
|
115
|
+
* \[[`f1b28612c4`](https://github.com/nodejs/node/commit/f1b28612c4)] - **deps**: V8: cherry-pick b25cd62c7ba2 (Yagiz Nizipli) [#62354](https://github.com/nodejs/node/pull/62354)
|
|
116
|
+
* \[[`757719d2af`](https://github.com/nodejs/node/commit/757719d2af)] - **deps**: disable rust icu compiled\_data features (Chengzhong Wu) [#62284](https://github.com/nodejs/node/pull/62284)
|
|
117
|
+
* \[[`3bdc955b63`](https://github.com/nodejs/node/commit/3bdc955b63)] - **deps**: update sqlite to 3.51.3 (Node.js GitHub Bot) [#62256](https://github.com/nodejs/node/pull/62256)
|
|
118
|
+
* \[[`a9703d194a`](https://github.com/nodejs/node/commit/a9703d194a)] - **deps**: update googletest to 73a63ea05dc8ca29ec1d2c1d66481dd0de1950f1 (Node.js GitHub Bot) [#61927](https://github.com/nodejs/node/pull/61927)
|
|
119
|
+
* \[[`85138935cb`](https://github.com/nodejs/node/commit/85138935cb)] - **deps**: update merve to 1.2.2 (Node.js GitHub Bot) [#62213](https://github.com/nodejs/node/pull/62213)
|
|
120
|
+
* \[[`231521e75e`](https://github.com/nodejs/node/commit/231521e75e)] - **diagnostics\_channel**: add diagnostics channels for web locks (Ilyas Shabi) [#62123](https://github.com/nodejs/node/pull/62123)
|
|
121
|
+
* \[[`0093863664`](https://github.com/nodejs/node/commit/0093863664)] - **doc**: deprecate `module.register()` (DEP0205) (Geoffrey Booth) [#62395](https://github.com/nodejs/node/pull/62395)
|
|
122
|
+
* \[[`0b96ece6be`](https://github.com/nodejs/node/commit/0b96ece6be)] - **doc**: clarify that features cannot be both experimental and deprecated (Antoine du Hamel) [#62456](https://github.com/nodejs/node/pull/62456)
|
|
123
|
+
* \[[`8d3ea975f5`](https://github.com/nodejs/node/commit/8d3ea975f5)] - **doc**: fix 'transfered' typo in quic.md (lilianakatrina684-a11y) [#62492](https://github.com/nodejs/node/pull/62492)
|
|
124
|
+
* \[[`08ff16e0ba`](https://github.com/nodejs/node/commit/08ff16e0ba)] - **doc**: move sqlite type conversion section to correct level (René) [#62482](https://github.com/nodejs/node/pull/62482)
|
|
125
|
+
* \[[`61cc747dd8`](https://github.com/nodejs/node/commit/61cc747dd8)] - **doc**: add Rafael to last security release steward (Rafael Gonzaga) [#62423](https://github.com/nodejs/node/pull/62423)
|
|
126
|
+
* \[[`64cfa5a6fa`](https://github.com/nodejs/node/commit/64cfa5a6fa)] - **doc**: use npm-published version of doc-kit (Aviv Keller) [#62139](https://github.com/nodejs/node/pull/62139)
|
|
127
|
+
* \[[`1020321fb0`](https://github.com/nodejs/node/commit/1020321fb0)] - **doc**: fix overstated Date header requirement in response.sendDate (Kit Dallege) [#62206](https://github.com/nodejs/node/pull/62206)
|
|
128
|
+
* \[[`9caa7855b2`](https://github.com/nodejs/node/commit/9caa7855b2)] - **doc**: fix guaranteed typo (lilianakatrina684-a11y) [#62374](https://github.com/nodejs/node/pull/62374)
|
|
129
|
+
* \[[`e254f65306`](https://github.com/nodejs/node/commit/e254f65306)] - **doc**: enhance clarification about the main field (Mowafak Almahaini) [#62302](https://github.com/nodejs/node/pull/62302)
|
|
130
|
+
* \[[`9e724b53f8`](https://github.com/nodejs/node/commit/9e724b53f8)] - **doc**: remove spawn with shell example from bat/cmd section (Kit Dallege) [#62243](https://github.com/nodejs/node/pull/62243)
|
|
131
|
+
* \[[`7f37c17516`](https://github.com/nodejs/node/commit/7f37c17516)] - **doc**: minor typo fix (Jeff Matson) [#62358](https://github.com/nodejs/node/pull/62358)
|
|
132
|
+
* \[[`eb0ca98f01`](https://github.com/nodejs/node/commit/eb0ca98f01)] - **doc**: add path to vulnerabilities.json mention (Rafael Gonzaga) [#62355](https://github.com/nodejs/node/pull/62355)
|
|
133
|
+
* \[[`198b6e0932`](https://github.com/nodejs/node/commit/198b6e0932)] - **doc**: deprecate CryptoKey use in node:crypto (Filip Skokan) [#62321](https://github.com/nodejs/node/pull/62321)
|
|
134
|
+
* \[[`17e5aee6c5`](https://github.com/nodejs/node/commit/17e5aee6c5)] - **doc**: fix small environment\_variables typo (chris) [#62279](https://github.com/nodejs/node/pull/62279)
|
|
135
|
+
* \[[`193d629895`](https://github.com/nodejs/node/commit/193d629895)] - **doc**: test and test-only targets do not run linter (Xavier Stouder) [#62120](https://github.com/nodejs/node/pull/62120)
|
|
136
|
+
* \[[`4a1f20ec4a`](https://github.com/nodejs/node/commit/4a1f20ec4a)] - **doc**: clarify fs.ReadStream and fs.WriteStream are not constructable (Kit Dallege) [#62208](https://github.com/nodejs/node/pull/62208)
|
|
137
|
+
* \[[`f976c9214d`](https://github.com/nodejs/node/commit/f976c9214d)] - **doc**: clarify that any truthy value of `shell` is part of DEP0190 (Antoine du Hamel) [#62249](https://github.com/nodejs/node/pull/62249)
|
|
138
|
+
* \[[`4d83972681`](https://github.com/nodejs/node/commit/4d83972681)] - **doc**: remove outdated Chrome 66 and ndb references from debugger (Kit Dallege) [#62202](https://github.com/nodejs/node/pull/62202)
|
|
139
|
+
* \[[`71f2eada5b`](https://github.com/nodejs/node/commit/71f2eada5b)] - **doc**: add throwIfNoEntry version history to fs.stat (kovan) [#62204](https://github.com/nodejs/node/pull/62204)
|
|
140
|
+
* \[[`670c80893b`](https://github.com/nodejs/node/commit/670c80893b)] - **doc**: add note (and caveat) for `mock.module` about customization hooks (Jacob Smith) [#62075](https://github.com/nodejs/node/pull/62075)
|
|
141
|
+
* \[[`2ff5cb13f5`](https://github.com/nodejs/node/commit/2ff5cb13f5)] - **doc,test**: clarify --eval syntax for leading '-' scripts (kovan) [#62244](https://github.com/nodejs/node/pull/62244)
|
|
142
|
+
* \[[`6c6c9004c4`](https://github.com/nodejs/node/commit/6c6c9004c4)] - **esm**: fix typo in worker loader hook comment (jakecastelli) [#62475](https://github.com/nodejs/node/pull/62475)
|
|
143
|
+
* \[[`1cdd23c9f3`](https://github.com/nodejs/node/commit/1cdd23c9f3)] - **esm**: fix source phase identity bug in loadCache eviction (Guy Bedford) [#62415](https://github.com/nodejs/node/pull/62415)
|
|
144
|
+
* \[[`4f4ff15794`](https://github.com/nodejs/node/commit/4f4ff15794)] - **esm**: fix path normalization in `finalizeResolution` (Antoine du Hamel) [#62080](https://github.com/nodejs/node/pull/62080)
|
|
145
|
+
* \[[`088167d102`](https://github.com/nodejs/node/commit/088167d102)] - **events**: avoid cloning listeners array on every emit (Gürgün Dayıoğlu) [#62261](https://github.com/nodejs/node/pull/62261)
|
|
146
|
+
* \[[`0250b436ee`](https://github.com/nodejs/node/commit/0250b436ee)] - **fs**: fix cpSync to handle non-ASCII characters (Stefan Stojanovic) [#61950](https://github.com/nodejs/node/pull/61950)
|
|
147
|
+
* \[[`b67a8fb171`](https://github.com/nodejs/node/commit/b67a8fb171)] - **inspector**: add Target.getTargets and extract TargetManager (Kohei) [#62487](https://github.com/nodejs/node/pull/62487)
|
|
148
|
+
* \[[`ffcc5a5722`](https://github.com/nodejs/node/commit/ffcc5a5722)] - **lib**: make SubtleCrypto.supports enumerable (Filip Skokan) [#62307](https://github.com/nodejs/node/pull/62307)
|
|
149
|
+
* \[[`92ef2ad8fa`](https://github.com/nodejs/node/commit/92ef2ad8fa)] - **lib**: prefer primordials in SubtleCrypto (Filip Skokan) [#62226](https://github.com/nodejs/node/pull/62226)
|
|
150
|
+
* \[[`40a43ac4d0`](https://github.com/nodejs/node/commit/40a43ac4d0)] - **module**: fix coverage of mocked CJS modules imported from ESM (Marco) [#62133](https://github.com/nodejs/node/pull/62133)
|
|
151
|
+
* \[[`3ef0a5b90e`](https://github.com/nodejs/node/commit/3ef0a5b90e)] - **quic**: remove CryptoKey support from session keys option (Filip Skokan) [#62335](https://github.com/nodejs/node/pull/62335)
|
|
152
|
+
* \[[`3c8dd8eb8e`](https://github.com/nodejs/node/commit/3c8dd8eb8e)] - **repl**: use vm DONT\_CONTEXTIFY context (Chengzhong Wu) [#62371](https://github.com/nodejs/node/pull/62371)
|
|
153
|
+
* \[[`f85b9d9fa8`](https://github.com/nodejs/node/commit/f85b9d9fa8)] - **(SEMVER-MINOR)** **repl**: add customizable error handling (Anna Henningsen) [#62188](https://github.com/nodejs/node/pull/62188)
|
|
154
|
+
* \[[`e4c164e045`](https://github.com/nodejs/node/commit/e4c164e045)] - **repl**: handle exceptions from async context after close (Anna Henningsen) [#62165](https://github.com/nodejs/node/pull/62165)
|
|
155
|
+
* \[[`67b854d407`](https://github.com/nodejs/node/commit/67b854d407)] - **(SEMVER-MINOR)** **repl**: remove dependency on domain module (Matteo Collina) [#61227](https://github.com/nodejs/node/pull/61227)
|
|
156
|
+
* \[[`966b700623`](https://github.com/nodejs/node/commit/966b700623)] - **(SEMVER-MINOR)** **sea**: support code cache for ESM entrypoint in SEA (Joyee Cheung) [#62158](https://github.com/nodejs/node/pull/62158)
|
|
157
|
+
* \[[`fe82baf970`](https://github.com/nodejs/node/commit/fe82baf970)] - **src**: improve EC JWK import performance (Filip Skokan) [#62396](https://github.com/nodejs/node/pull/62396)
|
|
158
|
+
* \[[`d490b171e0`](https://github.com/nodejs/node/commit/d490b171e0)] - **src**: handle null backing store in ArrayBufferViewContents::Read (Mert Can Altin) [#62343](https://github.com/nodejs/node/pull/62343)
|
|
159
|
+
* \[[`0e4af848bc`](https://github.com/nodejs/node/commit/0e4af848bc)] - **src**: convert context\_frame field in AsyncWrap to internal field (Anna Henningsen) [#62103](https://github.com/nodejs/node/pull/62103)
|
|
160
|
+
* \[[`02980b8c8f`](https://github.com/nodejs/node/commit/02980b8c8f)] - **src**: enable compilation/linking with OpenSSL 4.0 (Filip Skokan) [#62410](https://github.com/nodejs/node/pull/62410)
|
|
161
|
+
* \[[`064f7c2fa6`](https://github.com/nodejs/node/commit/064f7c2fa6)] - **src**: use stack allocation in indexOf latin1 path (Mert Can Altin) [#62268](https://github.com/nodejs/node/pull/62268)
|
|
162
|
+
* \[[`ede52bc2dc`](https://github.com/nodejs/node/commit/ede52bc2dc)] - **src,sqlite**: fix filterFunc dangling reference (Edy Silva) [#62281](https://github.com/nodejs/node/pull/62281)
|
|
163
|
+
* \[[`e1f0d2a014`](https://github.com/nodejs/node/commit/e1f0d2a014)] - **(SEMVER-MINOR)** **stream**: add stream/iter Implementation (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066)
|
|
164
|
+
* \[[`03839fb087`](https://github.com/nodejs/node/commit/03839fb087)] - **stream**: preserve error over AbortError in pipeline (Marco) [#62113](https://github.com/nodejs/node/pull/62113)
|
|
165
|
+
* \[[`0000d2f011`](https://github.com/nodejs/node/commit/0000d2f011)] - **stream**: replace bind with arrow function for onwrite callback (Ali Hassan) [#62087](https://github.com/nodejs/node/pull/62087)
|
|
166
|
+
* \[[`3796a73719`](https://github.com/nodejs/node/commit/3796a73719)] - **test**: update WPT for WebCryptoAPI to 2cb332d710 (Node.js GitHub Bot) [#62483](https://github.com/nodejs/node/pull/62483)
|
|
167
|
+
* \[[`ad8309415b`](https://github.com/nodejs/node/commit/ad8309415b)] - **test**: update WPT for url to fc3e651593 (Node.js GitHub Bot) [#62379](https://github.com/nodejs/node/pull/62379)
|
|
168
|
+
* \[[`bed89b037e`](https://github.com/nodejs/node/commit/bed89b037e)] - **test**: wait for reattach before initial break on restart (Yuya Inoue) [#62471](https://github.com/nodejs/node/pull/62471)
|
|
169
|
+
* \[[`c9ffffcc55`](https://github.com/nodejs/node/commit/c9ffffcc55)] - **test**: disable flaky WPT Blob test on AIX (James M Snell) [#62470](https://github.com/nodejs/node/pull/62470)
|
|
170
|
+
* \[[`fd41ef31f6`](https://github.com/nodejs/node/commit/fd41ef31f6)] - **(SEMVER-MINOR)** **test**: add tests for experimental stream/iter implementation (James M Snell) [#62066](https://github.com/nodejs/node/pull/62066)
|
|
171
|
+
* \[[`1b9d8d3eec`](https://github.com/nodejs/node/commit/1b9d8d3eec)] - **test**: avoid flaky run wait in debugger restart test (Yuya Inoue) [#62112](https://github.com/nodejs/node/pull/62112)
|
|
172
|
+
* \[[`cb08a29d51`](https://github.com/nodejs/node/commit/cb08a29d51)] - **test**: skip test-cluster-dgram-reuse on AIX 7.3 (Stewart X Addison) [#62238](https://github.com/nodejs/node/pull/62238)
|
|
173
|
+
* \[[`abea0af8a9`](https://github.com/nodejs/node/commit/abea0af8a9)] - **test**: add WebCrypto Promise.prototype.then pollution regression tests (Filip Skokan) [#62226](https://github.com/nodejs/node/pull/62226)
|
|
174
|
+
* \[[`47a2132269`](https://github.com/nodejs/node/commit/47a2132269)] - **test**: update WPT for WebCryptoAPI to 6a1c545d77 (Node.js GitHub Bot) [#62187](https://github.com/nodejs/node/pull/62187)
|
|
175
|
+
* \[[`2c63d3006c`](https://github.com/nodejs/node/commit/2c63d3006c)] - **test\_runner**: add exports option for module mocks (sangwook) [#61727](https://github.com/nodejs/node/pull/61727)
|
|
176
|
+
* \[[`44ac0e1302`](https://github.com/nodejs/node/commit/44ac0e1302)] - **test\_runner**: make it compatible with fake timers (Matteo Collina) [#59272](https://github.com/nodejs/node/pull/59272)
|
|
177
|
+
* \[[`1865691275`](https://github.com/nodejs/node/commit/1865691275)] - **test\_runner**: set non-zero exit code when suite errors occur (Edy Silva) [#62282](https://github.com/nodejs/node/pull/62282)
|
|
178
|
+
* \[[`0252b2bab8`](https://github.com/nodejs/node/commit/0252b2bab8)] - **tools**: bump picomatch from 4.0.3 to 4.0.4 in /tools/eslint (dependabot\[bot]) [#62439](https://github.com/nodejs/node/pull/62439)
|
|
179
|
+
* \[[`3368155267`](https://github.com/nodejs/node/commit/3368155267)] - **tools**: bump yaml from 2.8.2 to 2.8.3 in /tools/doc (dependabot\[bot]) [#62437](https://github.com/nodejs/node/pull/62437)
|
|
180
|
+
* \[[`5e47c359f5`](https://github.com/nodejs/node/commit/5e47c359f5)] - **tools**: adopt the `--check-for-duplicates` NCU flag (Antoine du Hamel) [#62478](https://github.com/nodejs/node/pull/62478)
|
|
181
|
+
* \[[`4a604e82d0`](https://github.com/nodejs/node/commit/4a604e82d0)] - **tools**: bump picomatch in /tools/doc (dependabot\[bot]) [#62438](https://github.com/nodejs/node/pull/62438)
|
|
182
|
+
* \[[`d1a98b4ddb`](https://github.com/nodejs/node/commit/d1a98b4ddb)] - **tools**: bump flatted from 3.4.1 to 3.4.2 in /tools/eslint (dependabot\[bot]) [#62375](https://github.com/nodejs/node/pull/62375)
|
|
183
|
+
* \[[`c32daa1ab4`](https://github.com/nodejs/node/commit/c32daa1ab4)] - **tools**: bump eslint deps (Huáng Jùnliàng) [#62356](https://github.com/nodejs/node/pull/62356)
|
|
184
|
+
* \[[`7a2fcc6d41`](https://github.com/nodejs/node/commit/7a2fcc6d41)] - **tools**: do not swallow error in `lint-nix` workflow (Antoine du Hamel) [#62292](https://github.com/nodejs/node/pull/62292)
|
|
185
|
+
* \[[`c41a2871b5`](https://github.com/nodejs/node/commit/c41a2871b5)] - **tools**: add eslint-plugin-regexp (Huáng Jùnliàng) [#62093](https://github.com/nodejs/node/pull/62093)
|
|
186
|
+
* \[[`56dfeb06df`](https://github.com/nodejs/node/commit/56dfeb06df)] - **tools**: fix timeout errors in `lint-nix` job (Antoine du Hamel) [#62265](https://github.com/nodejs/node/pull/62265)
|
|
187
|
+
* \[[`22fc8078e8`](https://github.com/nodejs/node/commit/22fc8078e8)] - **tools**: bump flatted from 3.3.3 to 3.4.1 in /tools/eslint (dependabot\[bot]) [#62255](https://github.com/nodejs/node/pull/62255)
|
|
188
|
+
* \[[`409b0663bd`](https://github.com/nodejs/node/commit/409b0663bd)] - **tools**: bump undici from 6.23.0 to 6.24.1 in /tools/doc (dependabot\[bot]) [#62250](https://github.com/nodejs/node/pull/62250)
|
|
189
|
+
* \[[`67c69750f4`](https://github.com/nodejs/node/commit/67c69750f4)] - **tools**: validate all commits that are pushed to `main` (Antoine du Hamel) [#62246](https://github.com/nodejs/node/pull/62246)
|
|
190
|
+
* \[[`7d9db8cd21`](https://github.com/nodejs/node/commit/7d9db8cd21)] - **tools**: keep GN files when updating Merve (Antoine du Hamel) [#62167](https://github.com/nodejs/node/pull/62167)
|
|
191
|
+
* \[[`6c8fa42ba2`](https://github.com/nodejs/node/commit/6c8fa42ba2)] - **typings**: rationalise TypedArray types (René) [#62174](https://github.com/nodejs/node/pull/62174)
|
|
192
|
+
* \[[`531c64d04e`](https://github.com/nodejs/node/commit/531c64d04e)] - **url**: enable simdutf for ada (Yagiz Nizipli) [#61477](https://github.com/nodejs/node/pull/61477)
|
|
193
|
+
* \[[`2000caccde`](https://github.com/nodejs/node/commit/2000caccde)] - **util**: allow color aliases in styleText (sangwook) [#62180](https://github.com/nodejs/node/pull/62180)
|
|
194
|
+
* \[[`0aed332ab4`](https://github.com/nodejs/node/commit/0aed332ab4)] - **wasm**: support js string constant esm import (Guy Bedford) [#62198](https://github.com/nodejs/node/pull/62198)
|
|
195
|
+
* \[[`d3fd4a978b`](https://github.com/nodejs/node/commit/d3fd4a978b)] - **worker**: heap profile optimizations (Ilyas Shabi) [#62201](https://github.com/nodejs/node/pull/62201)
|
|
196
|
+
* \[[`e992a34a18`](https://github.com/nodejs/node/commit/e992a34a18)] - **zlib**: fix use-after-free when reset() is called during write (Matteo Collina) [#62325](https://github.com/nodejs/node/pull/62325)
|
|
197
|
+
|
|
198
|
+
<a id="25.8.2"></a>
|
|
199
|
+
|
|
200
|
+
## 2026-03-24, Version 25.8.2 (Current), @RafaelGSS
|
|
201
|
+
|
|
202
|
+
This is a security release.
|
|
203
|
+
|
|
204
|
+
### Notable Changes
|
|
205
|
+
|
|
206
|
+
* (CVE-2026-21637) wrap `SNICallback` invocation in `try`/`catch` (Matteo Collina) - High
|
|
207
|
+
* (CVE-2026-21710) use null prototype for `headersDistinct`/`trailersDistinct` (Matteo Collina) - High
|
|
208
|
+
* (CVE-2026-21711) include permission check to `pipe_wrap.cc` (RafaelGSS) - Medium
|
|
209
|
+
* (CVE-2026-21712) handle url crash on different url formats (RafaelGSS) - Medium
|
|
210
|
+
* (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium
|
|
211
|
+
* (CVE-2026-21714) handle `NGHTTP2_ERR_FLOW_CONTROL` error code (RafaelGSS) - Medium
|
|
212
|
+
* (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium
|
|
213
|
+
* (CVE-2026-21715) add permission check to `realpath.native` (RafaelGSS) - Low
|
|
214
|
+
* (CVE-2026-21716) include permission check on `lib/fs/promises` (RafaelGSS) - Low
|
|
215
|
+
|
|
216
|
+
### Commits
|
|
217
|
+
|
|
218
|
+
* \[[`2086b7477b`](https://github.com/nodejs/node/commit/2086b7477b)] - **(CVE-2026-21717)** **build,test**: test array index hash collision (Joyee Cheung) [nodejs-private/node-private#834](https://github.com/nodejs-private/node-private/pull/834)
|
|
219
|
+
* \[[`0f9332a40a`](https://github.com/nodejs/node/commit/0f9332a40a)] - **(CVE-2026-21713)** **crypto**: use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) [nodejs-private/node-private#822](https://github.com/nodejs-private/node-private/pull/822)
|
|
220
|
+
* \[[`2b6937ddb2`](https://github.com/nodejs/node/commit/2b6937ddb2)] - **deps**: update undici to 7.24.4 (Node.js GitHub Bot) [#62271](https://github.com/nodejs/node/pull/62271)
|
|
221
|
+
* \[[`bfb8ad5787`](https://github.com/nodejs/node/commit/bfb8ad5787)] - **deps**: update undici to 7.24.3 (Node.js GitHub Bot) [#62233](https://github.com/nodejs/node/pull/62233)
|
|
222
|
+
* \[[`be6384727f`](https://github.com/nodejs/node/commit/be6384727f)] - **deps**: upgrade npm to 11.11.1 (npm team) [#62216](https://github.com/nodejs/node/pull/62216)
|
|
223
|
+
* \[[`2feea5bb97`](https://github.com/nodejs/node/commit/2feea5bb97)] - **deps**: V8: override `depot_tools` version (Richard Lau) [#62344](https://github.com/nodejs/node/pull/62344)
|
|
224
|
+
* \[[`86c04784dd`](https://github.com/nodejs/node/commit/86c04784dd)] - **(CVE-2026-21710)** **http**: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) [nodejs-private/node-private#821](https://github.com/nodejs-private/node-private/pull/821)
|
|
225
|
+
* \[[`5197a56a34`](https://github.com/nodejs/node/commit/5197a56a34)] - **(CVE-2026-21711)** **permission**: include permission check to pipe\_wrap.cc (RafaelGSS) [nodejs-private/node-private#820](https://github.com/nodejs-private/node-private/pull/820)
|
|
226
|
+
* \[[`04a886c735`](https://github.com/nodejs/node/commit/04a886c735)] - **(CVE-2026-21716)** **permission**: include permission check on lib/fs/promises (RafaelGSS) [nodejs-private/node-private#795](https://github.com/nodejs-private/node-private/pull/795)
|
|
227
|
+
* \[[`9a7f80f2b0`](https://github.com/nodejs/node/commit/9a7f80f2b0)] - **(CVE-2026-21715)** **permission**: add permission check to realpath.native (RafaelGSS) [nodejs-private/node-private#794](https://github.com/nodejs-private/node-private/pull/794)
|
|
228
|
+
* \[[`d9c9b628cf`](https://github.com/nodejs/node/commit/d9c9b628cf)] - **(CVE-2026-21714)** **src**: handle NGHTTP2\_ERR\_FLOW\_CONTROL error code (RafaelGSS) [nodejs-private/node-private#832](https://github.com/nodejs-private/node-private/pull/832)
|
|
229
|
+
* \[[`45b55dc786`](https://github.com/nodejs/node/commit/45b55dc786)] - **(CVE-2026-21712)** **src**: handle url crash on different url formats (RafaelGSS) [nodejs-private/node-private#816](https://github.com/nodejs-private/node-private/pull/816)
|
|
230
|
+
* \[[`4bfda307c0`](https://github.com/nodejs/node/commit/4bfda307c0)] - **(CVE-2026-21637)** **tls**: wrap SNICallback invocation in try/catch (Matteo Collina) [nodejs-private/node-private#819](https://github.com/nodejs-private/node-private/pull/819)
|
|
231
|
+
|
|
54
232
|
<a id="25.8.1"></a>
|
|
55
233
|
|
|
56
234
|
## 2026-03-11, Version 25.8.1 (Current), @aduh95
|
package/bin/node
CHANGED
|
Binary file
|
package/include/node/common.gypi
CHANGED
package/include/node/config.gypi
CHANGED
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
"lib/internal/async_hooks.js",
|
|
90
90
|
"lib/internal/async_local_storage/async_context_frame.js",
|
|
91
91
|
"lib/internal/async_local_storage/async_hooks.js",
|
|
92
|
+
"lib/internal/async_local_storage/run_scope.js",
|
|
92
93
|
"lib/internal/blob.js",
|
|
93
94
|
"lib/internal/blocklist.js",
|
|
94
95
|
"lib/internal/bootstrap/node.js",
|
|
@@ -282,6 +283,17 @@
|
|
|
282
283
|
"lib/internal/streams/end-of-stream.js",
|
|
283
284
|
"lib/internal/streams/fast-utf8-stream.js",
|
|
284
285
|
"lib/internal/streams/from.js",
|
|
286
|
+
"lib/internal/streams/iter/broadcast.js",
|
|
287
|
+
"lib/internal/streams/iter/consumers.js",
|
|
288
|
+
"lib/internal/streams/iter/duplex.js",
|
|
289
|
+
"lib/internal/streams/iter/from.js",
|
|
290
|
+
"lib/internal/streams/iter/pull.js",
|
|
291
|
+
"lib/internal/streams/iter/push.js",
|
|
292
|
+
"lib/internal/streams/iter/ringbuffer.js",
|
|
293
|
+
"lib/internal/streams/iter/share.js",
|
|
294
|
+
"lib/internal/streams/iter/transform.js",
|
|
295
|
+
"lib/internal/streams/iter/types.js",
|
|
296
|
+
"lib/internal/streams/iter/utils.js",
|
|
285
297
|
"lib/internal/streams/lazy_transform.js",
|
|
286
298
|
"lib/internal/streams/legacy.js",
|
|
287
299
|
"lib/internal/streams/operators.js",
|
|
@@ -373,6 +385,7 @@
|
|
|
373
385
|
"lib/sqlite.js",
|
|
374
386
|
"lib/stream.js",
|
|
375
387
|
"lib/stream/consumers.js",
|
|
388
|
+
"lib/stream/iter.js",
|
|
376
389
|
"lib/stream/promises.js",
|
|
377
390
|
"lib/stream/web.js",
|
|
378
391
|
"lib/string_decoder.js",
|
|
@@ -391,7 +404,8 @@
|
|
|
391
404
|
"lib/vm.js",
|
|
392
405
|
"lib/wasi.js",
|
|
393
406
|
"lib/worker_threads.js",
|
|
394
|
-
"lib/zlib.js"
|
|
407
|
+
"lib/zlib.js",
|
|
408
|
+
"lib/zlib/iter.js"
|
|
395
409
|
],
|
|
396
410
|
"node_cctest_sources": [
|
|
397
411
|
"src/node_snapshot_stub.cc",
|
package/include/node/node.h
CHANGED
|
@@ -124,6 +124,8 @@
|
|
|
124
124
|
|
|
125
125
|
// Forward-declare libuv loop
|
|
126
126
|
struct uv_loop_s;
|
|
127
|
+
struct napi_module;
|
|
128
|
+
struct ssl_ctx_st; // Forward declaration of SSL_CTX for OpenSSL.
|
|
127
129
|
|
|
128
130
|
// Forward-declare these functions now to stop MSVS from becoming
|
|
129
131
|
// terminally confused when it's done in node_internals.h
|
|
@@ -1656,6 +1658,20 @@ NODE_DEPRECATED(
|
|
|
1656
1658
|
v8::Local<v8::Object> object,
|
|
1657
1659
|
v8::Object::Wrappable* wrappable));
|
|
1658
1660
|
|
|
1661
|
+
namespace crypto {
|
|
1662
|
+
|
|
1663
|
+
// Returns the SSL_CTX* from a SecureContext JS object, as returned by
|
|
1664
|
+
// tls.createSecureContext().
|
|
1665
|
+
// Returns nullptr if the value is not a SecureContext instance,
|
|
1666
|
+
// or if Node.js was built without OpenSSL.
|
|
1667
|
+
//
|
|
1668
|
+
// The returned pointer is not owned by the caller and must not be freed.
|
|
1669
|
+
// It is valid only while the SecureContext JS object remains alive.
|
|
1670
|
+
NODE_EXTERN struct ssl_ctx_st* GetSSLCtx(v8::Local<v8::Context> context,
|
|
1671
|
+
v8::Local<v8::Value> secure_context);
|
|
1672
|
+
|
|
1673
|
+
} // namespace crypto
|
|
1674
|
+
|
|
1659
1675
|
} // namespace node
|
|
1660
1676
|
|
|
1661
1677
|
#endif // SRC_NODE_H_
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
#define SRC_NODE_VERSION_H_
|
|
24
24
|
|
|
25
25
|
#define NODE_MAJOR_VERSION 25
|
|
26
|
-
#define NODE_MINOR_VERSION
|
|
27
|
-
#define NODE_PATCH_VERSION
|
|
26
|
+
#define NODE_MINOR_VERSION 9
|
|
27
|
+
#define NODE_PATCH_VERSION 0
|
|
28
28
|
|
|
29
29
|
#define NODE_VERSION_IS_LTS 0
|
|
30
30
|
#define NODE_VERSION_LTS_CODENAME ""
|
package/package.json
CHANGED
package/share/man/man1/node.1
CHANGED
|
@@ -720,6 +720,11 @@ top-level awaits, and print their location to help users find them.
|
|
|
720
720
|
.It Fl -experimental-quic
|
|
721
721
|
Enable experimental support for the QUIC protocol.
|
|
722
722
|
.
|
|
723
|
+
.It Fl -experimental-stream-iter
|
|
724
|
+
Enable the experimental
|
|
725
|
+
.Sy node:stream/iter
|
|
726
|
+
module.
|
|
727
|
+
.
|
|
723
728
|
.It Fl -experimental-sea-config
|
|
724
729
|
Use this flag to generate a blob that can be injected into the Node.js
|
|
725
730
|
binary to produce a single executable application. See the documentation
|
|
@@ -2293,7 +2298,7 @@ that run in libuv's threadpool will experience degraded performance. In order to
|
|
|
2293
2298
|
mitigate this issue, one potential solution is to increase the size of libuv's
|
|
2294
2299
|
threadpool by setting the \fB'UV_THREADPOOL_SIZE'\fR environment variable to a value
|
|
2295
2300
|
greater than \fB4\fR (its current default value). However, setting this from inside
|
|
2296
|
-
the process using \fBprocess.env.UV_THREADPOOL_SIZE=size\fR is not
|
|
2301
|
+
the process using \fBprocess.env.UV_THREADPOOL_SIZE=size\fR is not guaranteed to work
|
|
2297
2302
|
as the threadpool would have been created as part of the runtime initialisation
|
|
2298
2303
|
much before user code is run. For more information, see the libuv threadpool documentation.
|
|
2299
2304
|
.
|