Skip to content

Commit 9afe7dc

Browse files
committed
2026-09-08, Version 24.21.0 'Krypton' (LTS)
Notable changes: crypto: * update root certificates to NSS 3.126 (Node.js GitHub Bot) #65495 * (SEMVER-MINOR) support loading private keys through STORE loaders (Filip Skokan) #63949 deps: * update OpenSSL to 3.5.8 (Node.js GitHub Bot) #65542 * update Undici to 7.29.1 (Node.js GitHub Bot) #65789 lib,src: * (SEMVER-MINOR) improve histogram implementation (James M Snell) #65024 net: * (SEMVER-MINOR) improve performance of `net.BlockList` (James M Snell) #64974 perf_hooks: * (SEMVER-MINOR) add statistical hypothesis testing to histogram (James M Snell) #65416 util: * (SEMVER-MINOR) add non-throwing `MIMEType.parse` (James M Snell) #64965 PR-URL: #65873
1 parent 60e3630 commit 9afe7dc

11 files changed

Lines changed: 420 additions & 57 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ release.
5555
<a href="doc/changelogs/CHANGELOG_V26.md#26.0.0">26.0.0</a><br/>
5656
</td>
5757
<td valign="top">
58-
<b><a href="doc/changelogs/CHANGELOG_V24.md#24.20.0">24.20.0</a></b><br/>
58+
<b><a href="doc/changelogs/CHANGELOG_V24.md#24.21.0">24.21.0</a></b><br/>
59+
<a href="doc/changelogs/CHANGELOG_V24.md#24.20.0">24.20.0</a><br/>
5960
<a href="doc/changelogs/CHANGELOG_V24.md#24.19.0">24.19.0</a><br/>
6061
<a href="doc/changelogs/CHANGELOG_V24.md#24.18.1">24.18.1</a><br/>
6162
<a href="doc/changelogs/CHANGELOG_V24.md#24.18.0">24.18.0</a><br/>

‎doc/api/buffer.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5345,7 +5345,8 @@ added:
53455345
- v19.6.0
53465346
- v18.15.0
53475347
changes:
5348-
- version: v26.8.0
5348+
- v26.8.0
5349+
- v24.21.0
53495350
pr-url: https://github.com/nodejs/node/pull/64504
53505351
description: Detached `ArrayBuffer`s and views backed by them are treated
53515352
as empty.
@@ -5366,7 +5367,8 @@ added:
53665367
- v19.4.0
53675368
- v18.14.0
53685369
changes:
5369-
- version: v26.8.0
5370+
- v26.8.0
5371+
- v24.21.0
53705372
pr-url: https://github.com/nodejs/node/pull/64504
53715373
description: Detached `ArrayBuffer`s and views backed by them are treated
53725374
as empty.

‎doc/api/cli.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,9 @@ Error: connect ERR_ACCESS_DENIED Access to this API has been restricted. Use --a
384384
### `--allow-openssl-store`
385385

386386
<!-- YAML
387-
added: v26.7.0
387+
added:
388+
- v26.7.0
389+
- v24.21.0
388390
-->
389391

390392
> Stability: 1.1 - Active development

‎doc/api/crypto.md‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4225,7 +4225,9 @@ require options or a key with provider-specific properties.
42254225
<!-- YAML
42264226
added: v11.6.0
42274227
changes:
4228-
- version: v26.7.0
4228+
- version:
4229+
- v26.7.0
4230+
- v24.21.0
42294231
pr-url: https://github.com/nodejs/node/pull/63949
42304232
description: The key can also be a URL referencing an object for an
42314233
OpenSSL STORE loader. The `properties` option was added.

‎doc/api/fs.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2985,7 +2985,8 @@ behavior is similar to `cp dir1/ dir2/`.
29852985
<!-- YAML
29862986
added: v0.1.31
29872987
changes:
2988-
- version: v26.8.0
2988+
- v26.8.0
2989+
- v24.21.0
29892990
pr-url: https://github.com/nodejs/node/pull/63851
29902991
description: Add the `windowsHandle` option.
29912992
- version: v16.10.0
@@ -3122,7 +3123,8 @@ If `options` is a string, then it specifies the encoding.
31223123
<!-- YAML
31233124
added: v0.1.31
31243125
changes:
3125-
- version: v26.8.0
3126+
- v26.8.0
3127+
- v24.21.0
31263128
pr-url: https://github.com/nodejs/node/pull/63851
31273129
description: Add the `windowsHandle` option.
31283130
- version: v22.0.0

‎doc/api/net.md‎

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ Adds a rule to block the given IP address.
9999
### `blockList.addAddresses(addresses[, type])`
100100

101101
<!-- YAML
102-
added: v26.8.0
102+
added:
103+
- v26.8.0
104+
- v24.21.0
103105
-->
104106

105107
* `addresses` {string\[]|net.SocketAddress\[]} An array of IPv4 or IPv6
@@ -114,7 +116,9 @@ are inserted under a single internal lock acquisition.
114116
### `blockList.addCIDR(cidr)`
115117

116118
<!-- YAML
117-
added: v26.8.0
119+
added:
120+
- v26.8.0
121+
- v24.21.0
118122
-->
119123

120124
* `cidr` {string} An IPv4 or IPv6 subnet in CIDR notation (e.g.
@@ -128,7 +132,9 @@ the parsed network address, prefix length, and family.
128132
### `blockList.addCIDRs(cidrs)`
129133

130134
<!-- YAML
131-
added: v26.8.0
135+
added:
136+
- v26.8.0
137+
- v24.21.0
132138
-->
133139

134140
* `cidrs` {string\[]} An array of IPv4 or IPv6 subnets in CIDR notation.
@@ -202,7 +208,9 @@ console.log(blockList.check('::ffff:123.123.123.123', 'ipv6')); // Prints: true
202208
### `blockList.clear()`
203209

204210
<!--
205-
added: v26.8.0
211+
added:
212+
- v26.8.0
213+
- v24.21.0
206214
-->
207215

208216
Clears all rules from the `BlockList`.
@@ -245,7 +253,9 @@ added:
245253
### `BlockList.PRIVATE_RANGES`
246254

247255
<!-- YAML
248-
added: v26.8.0
256+
added:
257+
- v26.8.0
258+
- v24.21.0
249259
-->
250260

251261
* Type: {string\[]}
@@ -277,7 +287,9 @@ console.log(blockList.check('8.8.8.8')); // Prints: false
277287
### `blockList.removeAddress(address[, type])`
278288

279289
<!-- YAML
280-
added: v26.8.0
290+
added:
291+
- v26.8.0
292+
- v24.21.0
281293
-->
282294

283295
* `address` {string|net.SocketAddress} An IPv4 or IPv6 address.
@@ -290,7 +302,9 @@ specified address does not exist, this is a no-op.
290302
### `blockList.removeCIDR(cidr)`
291303

292304
<!-- YAML
293-
added: v26.8.0
305+
added:
306+
- v26.8.0
307+
- v24.21.0
294308
-->
295309

296310
* `cidr` {string} An IPv4 or IPv6 subnet in CIDR notation (e.g.
@@ -304,7 +318,9 @@ and family. If the specified subnet does not exist, this is a no-op.
304318
### `blockList.removeRange(start, end[, type])`
305319

306320
<!-- YAML
307-
added: v26.8.0
321+
added:
322+
- v26.8.0
323+
- v24.21.0
308324
-->
309325

310326
* `start` {string|net.SocketAddress} The starting IPv4 or IPv6 address in the
@@ -319,7 +335,9 @@ If the specified range does not exist, this is a no-op.
319335
### `blockList.removeSubnet(net, prefix[, type])`
320336

321337
<!-- YAML
322-
added: v26.8.0
338+
added:
339+
- v26.8.0
340+
- v24.21.0
323341
-->
324342

325343
* `net` {string|net.SocketAddress} The network IPv4 or IPv6 address.
@@ -347,7 +365,9 @@ The list of rules added to the blocklist.
347365
### `blockList.size`
348366

349367
<!-- YAML
350-
added: v26.8.0
368+
added:
369+
- v26.8.0
370+
- v24.21.0
351371
-->
352372

353373
* Type: {number}

‎doc/api/perf_hooks.md‎

Lines changed: 58 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1964,7 +1964,9 @@ added: v11.10.0
19641964
### `histogram.burnRate(sloTarget)`
19651965

19661966
<!-- YAML
1967-
added: v26.8.0
1967+
added:
1968+
- v26.8.0
1969+
- v24.21.0
19681970
-->
19691971

19701972
* `sloTarget` {number} The SLO target as a fraction between 0 and 1
@@ -2019,7 +2021,9 @@ The number of samples recorded by the histogram.
20192021
### `histogram.ccdf(value)`
20202022

20212023
<!-- YAML
2022-
added: v26.8.0
2024+
added:
2025+
- v26.8.0
2026+
- v24.21.0
20232027
-->
20242028

20252029
* `value` {number} The value to query.
@@ -2032,7 +2036,9 @@ will exceed `value`. Equivalent to `1 - histogram.cdf(value)`.
20322036
### `histogram.cdf(value)`
20332037

20342038
<!-- YAML
2035-
added: v26.8.0
2039+
added:
2040+
- v26.8.0
2041+
- v24.21.0
20362042
-->
20372043

20382044
* `value` {number} The value to query.
@@ -2046,7 +2052,9 @@ than or equal to `value`. This is the inverse operation of
20462052
### `histogram.cliffsD(other)`
20472053

20482054
<!-- YAML
2049-
added: v26.8.0
2055+
added:
2056+
- v26.8.0
2057+
- v24.21.0
20502058
-->
20512059

20522060
* `other` {Histogram} The histogram to compare against.
@@ -2061,7 +2069,9 @@ opposite; 0 means no tendency in either direction.
20612069
### `histogram.cohensD(other)`
20622070

20632071
<!-- YAML
2064-
added: v26.8.0
2072+
added:
2073+
- v26.8.0
2074+
- v24.21.0
20652075
-->
20662076

20672077
* `other` {Histogram} The histogram to compare against.
@@ -2076,7 +2086,9 @@ Both histograms must have at least 2 recorded values; otherwise returns 0.
20762086
### `histogram.countAt(value)`
20772087

20782088
<!-- YAML
2079-
added: v26.8.0
2089+
added:
2090+
- v26.8.0
2091+
- v24.21.0
20802092
-->
20812093

20822094
* `value` {number} The value to query.
@@ -2112,7 +2124,7 @@ loop delay threshold.
21122124
### `histogram.export()`
21132125

21142126
<!-- YAML
2115-
added: REPLACEME
2127+
added: v24.21.0
21162128
-->
21172129

21182130
* Returns: {Uint8Array}
@@ -2161,7 +2173,9 @@ Returns `0` when EWMA is disabled or no values have been recorded.
21612173
### `histogram.ewmaStddev`
21622174

21632175
<!-- YAML
2164-
added: v26.8.0
2176+
added:
2177+
- v26.8.0
2178+
- v24.21.0
21652179
-->
21662180

21672181
* Type: {number}
@@ -2173,7 +2187,9 @@ when EWMA is disabled or no values have been recorded.
21732187
### `histogram.ewmaErrorRate`
21742188

21752189
<!-- YAML
2176-
added: v26.8.0
2190+
added:
2191+
- v26.8.0
2192+
- v24.21.0
21772193
-->
21782194

21792195
* Type: {number}
@@ -2186,7 +2202,9 @@ recorded.
21862202
### `histogram.ksTest(other)`
21872203

21882204
<!-- YAML
2189-
added: v26.8.0
2205+
added:
2206+
- v26.8.0
2207+
- v24.21.0
21902208
-->
21912209

21922210
* `other` {Histogram} The histogram to compare against.
@@ -2200,7 +2218,9 @@ detecting performance regressions by comparing before/after histograms.
22002218
### `histogram.kurtosis`
22012219

22022220
<!-- YAML
2203-
added: v26.8.0
2221+
added:
2222+
- v26.8.0
2223+
- v24.21.0
22042224
-->
22052225

22062226
* Type: {number}
@@ -2213,7 +2233,9 @@ lighter tails.
22132233
### `histogram.linearBuckets(stepSize)`
22142234

22152235
<!-- YAML
2216-
added: v26.8.0
2236+
added:
2237+
- v26.8.0
2238+
- v24.21.0
22172239
-->
22182240

22192241
* `stepSize` {number} The width of each linear bucket.
@@ -2225,7 +2247,9 @@ of `stepSize`. Useful for visualization and export.
22252247
### `histogram.logBuckets(firstBucket, base)`
22262248

22272249
<!-- YAML
2228-
added: v26.8.0
2250+
added:
2251+
- v26.8.0
2252+
- v24.21.0
22292253
-->
22302254

22312255
* `firstBucket` {number} The value of the first bucket boundary.
@@ -2239,7 +2263,9 @@ Useful for visualization and export.
22392263
### `histogram.mannWhitneyTest(other)`
22402264

22412265
<!-- YAML
2242-
added: v26.8.0
2266+
added:
2267+
- v26.8.0
2268+
- v24.21.0
22432269
-->
22442270

22452271
* `other` {Histogram} The histogram to compare against.
@@ -2370,7 +2396,9 @@ Returns the value at the given percentile.
23702396
### `histogram.percentileCI(percentile[, options])`
23712397

23722398
<!-- YAML
2373-
added: v26.8.0
2399+
added:
2400+
- v26.8.0
2401+
- v24.21.0
23742402
-->
23752403

23762404
* `percentile` {number} A percentile value in the range (0, 100].
@@ -2426,7 +2454,9 @@ Returns a `Map` object detailing the accumulated percentile distribution.
24262454
### `histogram.percentilesAt(percentiles)`
24272455

24282456
<!-- YAML
2429-
added: v26.8.0
2457+
added:
2458+
- v26.8.0
2459+
- v24.21.0
24302460
-->
24312461

24322462
* `percentiles` {number\[]} An array of percentile values in the range (0, 100].
@@ -2448,7 +2478,9 @@ Resets the collected histogram data.
24482478
### `histogram.skewness`
24492479

24502480
<!-- YAML
2451-
added: v26.8.0
2481+
added:
2482+
- v26.8.0
2483+
- v24.21.0
24522484
-->
24532485

24542486
* Type: {number}
@@ -2471,7 +2503,9 @@ The standard deviation of the recorded event loop delays.
24712503
### `histogram.welchTest(other[, options])`
24722504

24732505
<!-- YAML
2474-
added: v26.8.0
2506+
added:
2507+
- v26.8.0
2508+
- v24.21.0
24752509
-->
24762510

24772511
* `other` {Histogram} The histogram to compare against.
@@ -2587,7 +2621,9 @@ previous call to `recordDelta()` and records that amount in the histogram.
25872621
### `histogram.recordCorrected(val, expectedInterval)`
25882622

25892623
<!-- YAML
2590-
added: v26.8.0
2624+
added:
2625+
- v26.8.0
2626+
- v24.21.0
25912627
-->
25922628

25932629
* `val` {number|bigint} The value to record.
@@ -2602,7 +2638,9 @@ latency.
26022638
### `histogram.subtract(other)`
26032639

26042640
<!-- YAML
2605-
added: v26.8.0
2641+
added:
2642+
- v26.8.0
2643+
- v24.21.0
26062644
-->
26072645

26082646
* `other` {RecordableHistogram}

0 commit comments

Comments
 (0)