Skip to content

Commit 0326a80

Browse files
committed
2026-05-07, Version 26.1.0 (Current)
Notable changes: buffer: * (SEMVER-MINOR) add `end` parameter (Robert Nagy) #62390 crypto: * (SEMVER-MINOR) accept key data in `crypto.diffieHellman()` and cleanup DH jobs (Filip Skokan) #62527 * (SEMVER-MINOR) implement `randomUUIDv7()` (nabeel378) #62553 debugger: * (SEMVER-MINOR) add edit-free runtime expression probes to `node inspect` (Joyee Cheung) #62713 fs: * (SEMVER-MINOR) add `signal` option to `fs.stat()` (Mert Can Altin) #57775 * (SEMVER-MINOR) expose frsize field in statfs (Jinho Jang) #62277 http: * (SEMVER-MINOR) harden `ClientRequest` options merge (Matteo Collina) #63082 * (SEMVER-MINOR) add `req.signal` to `IncomingMessage` (Akshat) #62541 lib,src,test,doc: * (SEMVER-MINOR) add `node:ffi` module (Colin Ihrig) #62072 process: * (SEMVER-MINOR) throw on `execve(2)` failure instead of aborting (Bryan English) #62878 src: * (SEMVER-MINOR) allow empty `--experimental-config-file` (Marco Ippolito) #61610 stream: * (SEMVER-MINOR) propagate destruction in `duplexPair` (Ahmed Elhor) #61098 test_runner: * (SEMVER-MINOR) align mock timeout api (sangwook) #62820 * (SEMVER-MINOR) add mock-timers support for `AbortSignal.timeout` (DeveloperViraj) #60751 * (SEMVER-MINOR) support test order randomization (Pietro Marchini) #61747 util: * (SEMVER-MINOR) colorize text with hex colors (Guilherme Araújo) #61556 PR-URL: #63137
1 parent 5f6dfbf commit 0326a80

22 files changed

Lines changed: 386 additions & 77 deletions

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ release.
4343
</tr>
4444
<tr>
4545
<td valign="top">
46-
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.0.0">26.0.0</a></b><br/>
46+
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.1.0">26.1.0</a></b><br/>
47+
<a href="doc/changelogs/CHANGELOG_V26.md#26.0.0">26.0.0</a><br/>
4748
</td>
4849
<td valign="top">
4950
<b><a href="doc/changelogs/CHANGELOG_V25.md#25.9.0">25.9.0</a></b><br/>

doc/api/buffer.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2074,7 +2074,7 @@ console.log(buf.fill('zz', 'hex'));
20742074
<!-- YAML
20752075
added: v5.3.0
20762076
changes:
2077-
- version: REPLACEME
2077+
- version: v26.1.0
20782078
pr-url: https://github.com/nodejs/node/pull/62390
20792079
description: Added the `end` parameter.
20802080
- version:
@@ -2142,7 +2142,7 @@ console.log(buf.includes('this', 4));
21422142
<!-- YAML
21432143
added: v1.5.0
21442144
changes:
2145-
- version: REPLACEME
2145+
- version: v26.1.0
21462146
pr-url: https://github.com/nodejs/node/pull/62390
21472147
description: Added the `end` parameter.
21482148
- version: v8.0.0
@@ -2325,7 +2325,7 @@ for (const key of buf.keys()) {
23252325
<!-- YAML
23262326
added: v6.0.0
23272327
changes:
2328-
- version: REPLACEME
2328+
- version: v26.1.0
23292329
pr-url: https://github.com/nodejs/node/pull/62390
23302330
description: Added the `end` parameter.
23312331
- version: v8.0.0

doc/api/cli.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ directly through the process arguments.
194194
### `--allow-ffi`
195195

196196
<!-- YAML
197-
added: REPLACEME
197+
added: v26.1.0
198198
-->
199199

200200
> Stability: 1.1 - Active development
@@ -1186,7 +1186,7 @@ Enable exposition of [EventSource Web API][] on the global scope.
11861186
### `--experimental-ffi`
11871187

11881188
<!-- YAML
1189-
added: REPLACEME
1189+
added: v26.1.0
11901190
-->
11911191

11921192
> Stability: 1 - Experimental
@@ -2833,7 +2833,7 @@ option set. This flag is not necessary when test isolation is disabled.
28332833
### `--test-random-seed`
28342834

28352835
<!-- YAML
2836-
added: REPLACEME
2836+
added: v26.1.0
28372837
-->
28382838

28392839
Set the seed used to randomize test execution order. This applies to both test
@@ -2847,7 +2847,7 @@ This flag cannot be used with `--watch` or `--test-rerun-failures`.
28472847
### `--test-randomize`
28482848

28492849
<!-- YAML
2850-
added: REPLACEME
2850+
added: v26.1.0
28512851
-->
28522852

28532853
Randomize test execution order. This applies to both test file execution order

doc/api/crypto.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2399,7 +2399,7 @@ type, value, and parameters. This method is not
23992399
<!-- YAML
24002400
added: v11.6.0
24012401
changes:
2402-
- version: REPLACEME
2402+
- version: v26.1.0
24032403
pr-url: https://github.com/nodejs/node/pull/62706
24042404
description: Added JWK format support for ML-KEM and SLH-DSA
24052405
key types.
@@ -3932,7 +3932,7 @@ input.on('readable', () => {
39323932
<!-- YAML
39333933
added: v11.6.0
39343934
changes:
3935-
- version: REPLACEME
3935+
- version: v26.1.0
39363936
pr-url: https://github.com/nodejs/node/pull/62706
39373937
description: Added JWK format support for ML-KEM and SLH-DSA
39383938
key types.
@@ -3987,7 +3987,7 @@ of the passphrase is limited to 1024 bytes.
39873987
<!-- YAML
39883988
added: v11.6.0
39893989
changes:
3990-
- version: REPLACEME
3990+
- version: v26.1.0
39913991
pr-url: https://github.com/nodejs/node/pull/62706
39923992
description: Added JWK format support for ML-KEM and SLH-DSA
39933993
key types.
@@ -4156,7 +4156,7 @@ added:
41564156
- v13.9.0
41574157
- v12.17.0
41584158
changes:
4159-
- version: REPLACEME
4159+
- version: v26.1.0
41604160
pr-url: https://github.com/nodejs/node/pull/62527
41614161
description: Accept key data in addition to KeyObject instances.
41624162
- version: v23.11.0
@@ -5852,7 +5852,7 @@ cryptographic pseudorandom number generator.
58525852
### `crypto.randomUUIDv7([options])`
58535853

58545854
<!-- YAML
5855-
added: REPLACEME
5855+
added: v26.1.0
58565856
-->
58575857

58585858
* `options` {Object}

doc/api/debugger.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ command.
9494

9595
<!-- YAML
9696
added:
97-
- REPLACEME
97+
- v26.1.0
9898
-->
9999

100100
> Stability: 1 - Experimental

doc/api/diagnostics_channel.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ const channelsByCollection = diagnostics_channel.tracingChannel({
285285
#### `diagnostics_channel.boundedChannel(nameOrChannels)`
286286

287287
<!-- YAML
288-
added: REPLACEME
288+
added: v26.1.0
289289
-->
290290

291291
> Stability: 1 - Experimental
@@ -670,7 +670,7 @@ channel.runStores({ some: 'message' }, () => {
670670
#### `channel.withStoreScope(data)`
671671

672672
<!-- YAML
673-
added: REPLACEME
673+
added: v26.1.0
674674
-->
675675

676676
> Stability: 1 - Experimental
@@ -727,7 +727,7 @@ ch.bindStore(store, (message) => {
727727
### Class: `RunStoresScope`
728728

729729
<!-- YAML
730-
added: REPLACEME
730+
added: v26.1.0
731731
-->
732732

733733
> Stability: 1 - Experimental
@@ -1147,7 +1147,7 @@ if (channels.hasSubscribers) {
11471147
### Class: `BoundedChannel`
11481148

11491149
<!-- YAML
1150-
added: REPLACEME
1150+
added: v26.1.0
11511151
-->
11521152

11531153
> Stability: 1 - Experimental
@@ -1165,7 +1165,7 @@ dynamically.
11651165
#### `boundedChannel.hasSubscribers`
11661166

11671167
<!-- YAML
1168-
added: REPLACEME
1168+
added: v26.1.0
11691169
-->
11701170

11711171
* Returns: {boolean} `true` if any of the individual channels has a subscriber,
@@ -1196,7 +1196,7 @@ if (wc.hasSubscribers) {
11961196
#### `boundedChannel.subscribe(handlers)`
11971197

11981198
<!-- YAML
1199-
added: REPLACEME
1199+
added: v26.1.0
12001200
-->
12011201

12021202
* `handlers` {Object} Set of channel subscribers
@@ -1239,7 +1239,7 @@ wc.subscribe({
12391239
#### `boundedChannel.unsubscribe(handlers)`
12401240

12411241
<!-- YAML
1242-
added: REPLACEME
1242+
added: v26.1.0
12431243
-->
12441244

12451245
* `handlers` {Object} Set of channel subscribers
@@ -1282,7 +1282,7 @@ wc.unsubscribe(handlers);
12821282
#### `boundedChannel.run(context, fn[, thisArg[, ...args]])`
12831283

12841284
<!-- YAML
1285-
added: REPLACEME
1285+
added: v26.1.0
12861286
-->
12871287

12881288
* `context` {Object} Shared object to correlate events through
@@ -1321,7 +1321,7 @@ const result = wc.run({ operationId: '123' }, () => {
13211321
#### `boundedChannel.withScope([context])`
13221322

13231323
<!-- YAML
1324-
added: REPLACEME
1324+
added: v26.1.0
13251325
-->
13261326

13271327
* `context` {Object} Shared object to correlate events through
@@ -1366,7 +1366,7 @@ const context = { operationId: '123' };
13661366
### Class: `BoundedChannelScope`
13671367

13681368
<!-- YAML
1369-
added: REPLACEME
1369+
added: v26.1.0
13701370
-->
13711371

13721372
> Stability: 1 - Experimental

doc/api/errors.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2730,7 +2730,7 @@ ES modules. When `require()` encounters an ES module that contains top-level
27302730
### `ERR_REQUIRE_ESM_RACE_CONDITION`
27312731

27322732
<!-- YAML
2733-
added: REPLACEME
2733+
added: v26.1.0
27342734
-->
27352735

27362736
> Stability: 1 - Experimental.

doc/api/ffi.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# FFI
22

3-
<!--introduced_in=REPLACEME-->
3+
<!--introduced_in=v26.1.0-->
44

55
<!-- YAML
6-
added: REPLACEME
6+
added: v26.1.0
77
-->
88

99
> Stability: 1 - Experimental
@@ -140,7 +140,7 @@ const signature = {
140140
## `ffi.suffix`
141141

142142
<!-- YAML
143-
added: REPLACEME
143+
added: v26.1.0
144144
-->
145145

146146
* {string}
@@ -162,7 +162,7 @@ const path = `libsqlite3.${suffix}`;
162162
## `ffi.dlopen(path[, definitions])`
163163

164164
<!-- YAML
165-
added: REPLACEME
165+
added: v26.1.0
166166
-->
167167

168168
* `path` {string|null} Path to a dynamic library, or `null` to resolve symbols
@@ -222,7 +222,7 @@ console.log(functions.add_i32(20, 22));
222222
## `ffi.dlclose(handle)`
223223

224224
<!-- YAML
225-
added: REPLACEME
225+
added: v26.1.0
226226
-->
227227

228228
* `handle` {DynamicLibrary}
@@ -234,7 +234,7 @@ This is equivalent to calling `handle.close()`.
234234
## `ffi.dlsym(handle, symbol)`
235235

236236
<!-- YAML
237-
added: REPLACEME
237+
added: v26.1.0
238238
-->
239239

240240
* `handle` {DynamicLibrary}
@@ -248,7 +248,7 @@ This is equivalent to calling `handle.getSymbol(symbol)`.
248248
## Class: `DynamicLibrary`
249249

250250
<!-- YAML
251-
added: REPLACEME
251+
added: v26.1.0
252252
-->
253253

254254
Represents a loaded dynamic library.
@@ -328,7 +328,7 @@ closed.
328328
### `library[Symbol.dispose]()`
329329

330330
<!-- YAML
331-
added: REPLACEME
331+
added: v26.1.0
332332
-->
333333

334334
Calls `library.close()`. This allows `DynamicLibrary` instances to be used with
@@ -532,7 +532,7 @@ process.
532532
## `ffi.toString(pointer)`
533533

534534
<!-- YAML
535-
added: REPLACEME
535+
added: v26.1.0
536536
-->
537537

538538
* `pointer` {bigint}
@@ -557,7 +557,7 @@ const value = toString(ptr);
557557
## `ffi.toBuffer(pointer, length[, copy])`
558558

559559
<!-- YAML
560-
added: REPLACEME
560+
added: v26.1.0
561561
-->
562562

563563
* `pointer` {bigint}
@@ -588,7 +588,7 @@ memory or crash the process.
588588
## `ffi.toArrayBuffer(pointer, length[, copy])`
589589

590590
<!-- YAML
591-
added: REPLACEME
591+
added: v26.1.0
592592
-->
593593

594594
* `pointer` {bigint}
@@ -612,7 +612,7 @@ entire exposed range.
612612
## `ffi.exportString(string, pointer, length[, encoding])`
613613

614614
<!-- YAML
615-
added: REPLACEME
615+
added: v26.1.0
616616
-->
617617

618618
* `string` {string}
@@ -635,7 +635,7 @@ available storage. This function does not allocate memory on its own.
635635
## `ffi.exportBuffer(buffer, pointer, length)`
636636

637637
<!-- YAML
638-
added: REPLACEME
638+
added: v26.1.0
639639
-->
640640

641641
* `buffer` {Buffer}
@@ -654,7 +654,7 @@ available storage. This function does not allocate memory on its own.
654654
## `ffi.exportArrayBuffer(arrayBuffer, pointer, length)`
655655

656656
<!-- YAML
657-
added: REPLACEME
657+
added: v26.1.0
658658
-->
659659

660660
* `arrayBuffer` {ArrayBuffer}
@@ -671,7 +671,7 @@ available storage. This function does not allocate memory on its own.
671671
## `ffi.exportArrayBufferView(arrayBufferView, pointer, length)`
672672

673673
<!-- YAML
674-
added: REPLACEME
674+
added: v26.1.0
675675
-->
676676

677677
* `arrayBufferView` {ArrayBufferView}
@@ -688,7 +688,7 @@ available storage. This function does not allocate memory on its own.
688688
## `ffi.getRawPointer(source)`
689689

690690
<!-- YAML
691-
added: REPLACEME
691+
added: v26.1.0
692692
-->
693693

694694
* `source` {Buffer|ArrayBuffer|ArrayBufferView}

0 commit comments

Comments
 (0)