2026-09-16, Version 26.9.0 (Current) · nodejs/node@8fd02ef · GitHub
Skip to content

Commit 8fd02ef

Browse files
committed
2026-09-16, 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 ffi: * (SEMVER-MINOR) enable module by default (Matteo Collina) #65475 lib: * (SEMVER-MINOR) implement node:bench (James M Snell) #65606 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,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 0539e90 commit 8fd02ef

15 files changed

Lines changed: 342 additions & 111 deletions

‎CHANGELOG.md‎

Lines changed: 2 additions & 1 deletion

‎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
@@ -286,7 +286,7 @@ run().compose(names).pipe(process.stdout);
286286
## `createRunner([options])`
287287

288288
<!-- YAML
289-
added: REPLACEME
289+
added: v26.9.0
290290
-->
291291

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

311311
<!-- YAML
312-
added: REPLACEME
312+
added: v26.9.0
313313
-->
314314

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

381381
<!-- YAML
382-
added: REPLACEME
382+
added: v26.9.0
383383
-->
384384

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

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

389389
<!-- YAML
390-
added: REPLACEME
390+
added: v26.9.0
391391
-->
392392

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

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

397397
<!-- YAML
398-
added: REPLACEME
398+
added: v26.9.0
399399
-->
400400

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

423423
<!-- YAML
424-
added: REPLACEME
424+
added: v26.9.0
425425
-->
426426

427427
Alias for `suite()`.
428428

429429
## `before(fn)`
430430

431431
<!-- YAML
432-
added: REPLACEME
432+
added: v26.9.0
433433
-->
434434

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

441441
<!-- YAML
442-
added: REPLACEME
442+
added: v26.9.0
443443
-->
444444

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

451451
<!-- YAML
452-
added: REPLACEME
452+
added: v26.9.0
453453
-->
454454

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

464464
<!-- YAML
465-
added: REPLACEME
465+
added: v26.9.0
466466
-->
467467

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

477477
<!-- YAML
478-
added: REPLACEME
478+
added: v26.9.0
479479
-->
480480

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

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

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

573573
<!-- YAML
574-
added: REPLACEME
574+
added: v26.9.0
575575
-->
576576

577577
* {number}
@@ -582,7 +582,7 @@ measured samples have separate index sequences.
582582
### `context.name`
583583

584584
<!-- YAML
585-
added: REPLACEME
585+
added: v26.9.0
586586
-->
587587

588588
* {string}
@@ -592,7 +592,7 @@ The benchmark name.
592592
### `context.params`
593593

594594
<!-- YAML
595-
added: REPLACEME
595+
added: v26.9.0
596596
-->
597597

598598
* {Object}
@@ -602,7 +602,7 @@ The benchmark's canonicalized parameter metadata.
602602
### `context.phase`
603603

604604
<!-- YAML
605-
added: REPLACEME
605+
added: v26.9.0
606606
-->
607607

608608
* {string}
@@ -613,7 +613,7 @@ and `'measurement'` for a measured invocation.
613613
### `context.signal`
614614

615615
<!-- YAML
616-
added: REPLACEME
616+
added: v26.9.0
617617
-->
618618

619619
* {AbortSignal}
@@ -624,7 +624,7 @@ finishes.
624624
### `context.start()`
625625

626626
<!-- YAML
627-
added: REPLACEME
627+
added: v26.9.0
628628
-->
629629

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

635635
<!-- YAML
636-
added: REPLACEME
636+
added: v26.9.0
637637
-->
638638

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

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

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

678678
<!-- YAML
679-
added: REPLACEME
679+
added: v26.9.0
680680
-->
681681

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

706706
<!-- YAML
707-
added: REPLACEME
707+
added: v26.9.0
708708
-->
709709

710710
Requests successful benchmark completion after the current measured sample.

‎doc/api/cli.md‎

Lines changed: 16 additions & 16 deletions

0 commit comments

Comments
 (0)