Skip to content

Commit 28bd0ba

Browse files
committed
2026-09-08, Version 26.9.0 (Current)
Notable changes: crypto: * (SEMVER-MINOR) add a generic MAC API (Filip Skokan) #65553 * (SEMVER-MINOR) discover ciphers from OpenSSL providers (Filip Skokan) #65484 * (SEMVER-MINOR) discover hashes from OpenSSL providers (Filip Skokan) #65484 doc: * deprecate `Server.prototype._listen2` in `node:net` (Antoine du Hamel) #65593 ffi: * (SEMVER-MINOR) enable module by default (Matteo Collina) #65475 lib: * (SEMVER-MINOR) implement node:bench (James M Snell) #65606 meta: * refine the security vuln posture for experimental features (James M Snell) #65438 perf_hooks: * (SEMVER-MINOR) implement Histogram meanCI API (James M Snell) #65606 * (SEMVER-MINOR) add CBOR export/import for histogram exchange (James M Snell) #65434 src: * (SEMVER-MINOR) let embedders supply a builtin code cache without a snapshot (Shelley Vohr) #65352 src,lib: * (SEMVER-MINOR) implement experimental DTLS API (James M Snell) #63182 vfs: * (SEMVER-MINOR) integrate with CJS and ESM module loaders (Matteo Collina) #63653 worker: * (SEMVER-MINOR) add support for Web Workers (Aviv Keller) #64894 PR-URL: #65881
1 parent a22f4bd commit 28bd0ba

17 files changed

Lines changed: 417 additions & 113 deletions

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ release.
4141
</tr>
4242
<tr>
4343
<td valign="top">
44-
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.8.1">26.8.1</a></b><br/>
44+
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.9.0">26.9.0</a></b><br/>
45+
<a href="doc/changelogs/CHANGELOG_V26.md#26.8.1">26.8.1</a><br/>
4546
<a href="doc/changelogs/CHANGELOG_V26.md#26.8.0">26.8.0</a><br/>
4647
<a href="doc/changelogs/CHANGELOG_V26.md#26.7.0">26.7.0</a><br/>
4748
<a href="doc/changelogs/CHANGELOG_V26.md#26.6.0">26.6.0</a><br/>

doc/api/bench.md

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

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

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

99
> Stability: 1.0 - Early Development
@@ -287,7 +287,7 @@ run().compose(names).pipe(process.stdout);
287287
## `createRunner([options])`
288288

289289
<!-- YAML
290-
added: REPLACEME
290+
added: v26.9.0
291291
-->
292292

293293
* `options` {Object}
@@ -310,7 +310,7 @@ value passed to `createRunner()`.
310310
## `bench([name][, options], fn)`
311311

312312
<!-- YAML
313-
added: REPLACEME
313+
added: v26.9.0
314314
-->
315315

316316
* `name` {string} The benchmark name. **Default:** The `name` property of `fn`,
@@ -380,23 +380,23 @@ the samples.
380380
### `bench.skip([name][, options], fn)`
381381

382382
<!-- YAML
383-
added: REPLACEME
383+
added: v26.9.0
384384
-->
385385

386386
Shorthand for `bench(name, { ...options, skip: true }, fn)`.
387387

388388
### `bench.only([name][, options], fn)`
389389

390390
<!-- YAML
391-
added: REPLACEME
391+
added: v26.9.0
392392
-->
393393

394394
Shorthand for `bench(name, { ...options, only: true }, fn)`.
395395

396396
## `suite([name][, options], fn)`
397397

398398
<!-- YAML
399-
added: REPLACEME
399+
added: v26.9.0
400400
-->
401401

402402
* `name` {string} The suite name. **Default:** The `name` property of `fn`, or
@@ -422,15 +422,15 @@ functions are awaited before benchmark execution begins.
422422
## `describe([name][, options], fn)`
423423

424424
<!-- YAML
425-
added: REPLACEME
425+
added: v26.9.0
426426
-->
427427

428428
Alias for `suite()`.
429429

430430
## `before(fn)`
431431

432432
<!-- YAML
433-
added: REPLACEME
433+
added: v26.9.0
434434
-->
435435

436436
* `fn` {Function|AsyncFunction} The hook function.
@@ -440,7 +440,7 @@ Registers a hook that runs once before the benchmarks in the current suite.
440440
## `after(fn)`
441441

442442
<!-- YAML
443-
added: REPLACEME
443+
added: v26.9.0
444444
-->
445445

446446
* `fn` {Function|AsyncFunction} The hook function.
@@ -450,7 +450,7 @@ Registers a hook that runs once after the benchmarks in the current suite.
450450
## `beforeEach(fn)`
451451

452452
<!-- YAML
453-
added: REPLACEME
453+
added: v26.9.0
454454
-->
455455

456456
* `fn` {Function|AsyncFunction} The hook function. It receives an object with
@@ -463,7 +463,7 @@ the benchmark function before `context.start()` or `context.record()`.
463463
## `afterEach(fn)`
464464

465465
<!-- YAML
466-
added: REPLACEME
466+
added: v26.9.0
467467
-->
468468

469469
* `fn` {Function|AsyncFunction} The hook function. It receives an object with
@@ -476,7 +476,7 @@ in the benchmark function after `context.end()` or `context.record()`.
476476
## `run([options])`
477477

478478
<!-- YAML
479-
added: REPLACEME
479+
added: v26.9.0
480480
-->
481481

482482
* `options` {Object}
@@ -518,7 +518,7 @@ for await (const { type, data } of run()) {
518518
## `runFile(path[, options])`
519519

520520
<!-- YAML
521-
added: REPLACEME
521+
added: v26.9.0
522522
-->
523523

524524
* `path` {string|Buffer|URL} The path of one benchmark module.
@@ -572,7 +572,7 @@ instance is created for every warmup and measured sample.
572572
### `context.index`
573573

574574
<!-- YAML
575-
added: REPLACEME
575+
added: v26.9.0
576576
-->
577577

578578
* {number}
@@ -583,7 +583,7 @@ measured samples have separate index sequences.
583583
### `context.name`
584584

585585
<!-- YAML
586-
added: REPLACEME
586+
added: v26.9.0
587587
-->
588588

589589
* {string}
@@ -593,7 +593,7 @@ The benchmark name.
593593
### `context.params`
594594

595595
<!-- YAML
596-
added: REPLACEME
596+
added: v26.9.0
597597
-->
598598

599599
* {Object}
@@ -603,7 +603,7 @@ The benchmark's canonicalized parameter metadata.
603603
### `context.phase`
604604

605605
<!-- YAML
606-
added: REPLACEME
606+
added: v26.9.0
607607
-->
608608

609609
* {string}
@@ -614,7 +614,7 @@ and `'measurement'` for a measured invocation.
614614
### `context.signal`
615615

616616
<!-- YAML
617-
added: REPLACEME
617+
added: v26.9.0
618618
-->
619619

620620
* {AbortSignal}
@@ -625,7 +625,7 @@ finishes.
625625
### `context.start()`
626626

627627
<!-- YAML
628-
added: REPLACEME
628+
added: v26.9.0
629629
-->
630630

631631
Starts the measured region using `process.hrtime.bigint()`. Calling `start()`
@@ -634,7 +634,7 @@ more than once is an error.
634634
### `context.end(operations[, options])`
635635

636636
<!-- YAML
637-
added: REPLACEME
637+
added: v26.9.0
638638
-->
639639

640640
* `operations` {number} The number of completed operations. Must be a positive
@@ -655,7 +655,7 @@ region.
655655
### `context.record(sample)`
656656

657657
<!-- YAML
658-
added: REPLACEME
658+
added: v26.9.0
659659
-->
660660

661661
* `sample` {Object}
@@ -677,7 +677,7 @@ message transport from the duration. `record()` is mutually exclusive with
677677
### `context.diagnostic(message[, options])`
678678

679679
<!-- YAML
680-
added: REPLACEME
680+
added: v26.9.0
681681
-->
682682

683683
* `message` {any} A structured-cloneable diagnostic value. With CLI process
@@ -705,7 +705,7 @@ arguments or an uncloneable message or detail violate the sample contract.
705705
### `context.done()`
706706

707707
<!-- YAML
708-
added: REPLACEME
708+
added: v26.9.0
709709
-->
710710

711711
Requests successful benchmark completion after the current measured sample.

doc/api/cli.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ process.permission.has('fs.read', 'custom-require-2.js'); // true
271271
### `--allow-fs-vfs`
272272

273273
<!-- YAML
274-
added: REPLACEME
274+
added: v26.9.0
275275
-->
276276

277277
> Stability: 1.1 - Active development
@@ -473,7 +473,7 @@ Error: Access to this API has been restricted
473473
### `--bench`
474474

475475
<!-- YAML
476-
added: REPLACEME
476+
added: v26.9.0
477477
-->
478478

479479
> Stability: 1 - Experimental
@@ -498,7 +498,7 @@ This flag cannot be combined with `--test`, `--watch`, `--watch-path`,
498498
### `--bench-isolation=mode`
499499

500500
<!-- YAML
501-
added: REPLACEME
501+
added: v26.9.0
502502
-->
503503

504504
> Stability: 1 - Experimental
@@ -517,7 +517,7 @@ The supported modes are `'process'` and `'none'`.
517517
### `--bench-name-pattern=pattern`
518518

519519
<!-- YAML
520-
added: REPLACEME
520+
added: v26.9.0
521521
-->
522522

523523
> Stability: 1 - Experimental
@@ -528,7 +528,7 @@ regular expression `pattern`. Non-matching benchmarks are reported as skipped.
528528
### `--bench-reporter-destination=destination`
529529

530530
<!-- YAML
531-
added: REPLACEME
531+
added: v26.9.0
532532
-->
533533

534534
> Stability: 1 - Experimental
@@ -540,7 +540,7 @@ can be `stdout`, `stderr`, or a file path. A single reporter defaults to
540540
### `--bench-reporter=reporter`
541541

542542
<!-- YAML
543-
added: REPLACEME
543+
added: v26.9.0
544544
-->
545545

546546
> Stability: 1 - Experimental
@@ -556,7 +556,7 @@ have a corresponding `--bench-reporter-destination`. The default reporter is
556556
### `--bench-samples=count`
557557

558558
<!-- YAML
559-
added: REPLACEME
559+
added: v26.9.0
560560
-->
561561

562562
> Stability: 1 - Experimental
@@ -568,7 +568,7 @@ selected benchmark. A benchmark may finish earlier by calling
568568
### `--bench-warmup=count`
569569

570570
<!-- YAML
571-
added: REPLACEME
571+
added: v26.9.0
572572
-->
573573

574574
> Stability: 1 - Experimental
@@ -1014,7 +1014,7 @@ Node.js must be built against a FIPS-capable OpenSSL.
10141014
### `--enable-fips-indicator-events`
10151015

10161016
<!-- YAML
1017-
added: REPLACEME
1017+
added: v26.9.0
10181018
-->
10191019

10201020
Publish OpenSSL FIPS indicator results to the
@@ -1384,7 +1384,7 @@ configuration file.
13841384
### `--experimental-dtls`
13851385

13861386
<!-- YAML
1387-
added: REPLACEME
1387+
added: v26.9.0
13881388
-->
13891389

13901390
> Stability: 1 - Experimental
@@ -1681,7 +1681,7 @@ Enable experimental WebAssembly System Interface (WASI) support.
16811681
### `--experimental-web-worker`
16821682

16831683
<!-- YAML
1684-
added: REPLACEME
1684+
added: v26.9.0
16851685
-->
16861686

16871687
Enable experimental support for the Web Worker API.
@@ -1711,7 +1711,7 @@ Disable loading native addons that are not [context-aware][].
17111711
<!-- YAML
17121712
added: v6.0.0
17131713
changes:
1714-
- version: REPLACEME
1714+
- version: v26.9.0
17151715
pr-url: https://github.com/nodejs/node/pull/65645
17161716
description: Added the optional `provider` and `strict` modes.
17171717
-->
@@ -2423,7 +2423,7 @@ Silence all process warnings (including deprecations).
24232423
### `--no-worker-snapshot`
24242424

24252425
<!-- YAML
2426-
added: REPLACEME
2426+
added: v26.9.0
24272427
-->
24282428

24292429
> Stability: 1 - Experimental
@@ -2845,7 +2845,7 @@ forked processes, or clustered processes.
28452845
<!-- YAML
28462846
added: v22.0.0
28472847
changes:
2848-
- version: REPLACEME
2848+
- version: v26.9.0
28492849
pr-url: https://github.com/nodejs/node/pull/64606
28502850
description: Passing `--run` without a command lists the available scripts.
28512851
- version: v22.3.0
@@ -3655,7 +3655,7 @@ added:
36553655
- v13.6.0
36563656
- v12.17.0
36573657
changes:
3658-
- version: REPLACEME
3658+
- version: v26.9.0
36593659
pr-url: https://github.com/nodejs/node/pull/65389
36603660
description: This option is now a no-op.
36613661
-->

0 commit comments

Comments
 (0)