Skip to content

Commit 8ab5fc9

Browse files
committed
2026-10-28, Version 27.0.0-alpha.0.0.0 (Alpha)
Notable changes: async_hooks: * (SEMVER-MAJOR) remove legacy AsyncLocalStorage implementation (Matteo Collina) #63641 benchmark: * (SEMVER-MAJOR) protect against accidental fork bomb (James M Snell) #66132 build: * (SEMVER-MAJOR) remove the bundled FIPS provider build (Filip Skokan) #64777 * (SEMVER-MAJOR) require OpenSSL 3 or later (Filip Skokan) #64777 * (SEMVER-MAJOR) downgrade Intel macOS support to experimental (Antoine du Hamel) #65427 crypto: * (SEMVER-MAJOR) move DEP0093 to End-of-Life (Filip Skokan) #64777 * (SEMVER-MAJOR) remove legacy OpenSSL code paths (Filip Skokan) #64777 * (SEMVER-MAJOR) validate digest output encodings (Filip Skokan) #66247 * (SEMVER-MAJOR) validate update input encodings (Filip Skokan) #66247 * (SEMVER-MAJOR) validate inputEncoding in Cipher/Decipher update (Maruthan G) #66247 * (SEMVER-MAJOR) move DEP0198 to End-of-Life (Filip Skokan) #64000 * (SEMVER-MAJOR) move DEP0203 and DEP0204 to End-of-Life (Filip Skokan) #63188 * (SEMVER-MAJOR) reject resizable backing stores in Web Crypto buffer parameters (Filip Skokan) #63925 * (SEMVER-MAJOR) throw on uninitialized DH computeSecret (Filip Skokan) #63922 * (SEMVER-MAJOR) runtime-deprecate calling Hmac.digest() more than once (Madelyn) #63624 crypto,https,tls: * (SEMVER-MAJOR) end OpenSSL engine support (Filip Skokan) #64777 deps: * (SEMVER-MAJOR) update archs files for openssl-4.1.0 (Node.js GitHub Bot) #66971 * (SEMVER-MAJOR) upgrade openssl sources to openssl-4.1.0 (Node.js GitHub Bot) #66971 * (SEMVER-MAJOR) remove ncrypto legacy OpenSSL backend (Filip Skokan) #64777 * (SEMVER-MAJOR) update V8 to 15.6.75.13 (Joyee Cheung) #66601 * (SEMVER-MAJOR) update V8 to 15.5.35.20 (Joyee Cheung) #66537 * (SEMVER-MAJOR) update V8 to 15.2.124.38 (Joyee Cheung) #65161 * (SEMVER-MAJOR) upgrade npm to 12.1.0 (npm team) #66212 dgram: * (SEMVER-MAJOR) skip the custom lookup for literal IP addresses (Ruben Bridgewater) #64131 dns: * (SEMVER-MAJOR) do not consult hosts file in reverse lookups (Archkon) #64268 * (SEMVER-MAJOR) stop using deprecated functions in `SetServers` (Antoine du Hamel) #64356 doc: * (SEMVER-MAJOR) remove OpenSSL 1.x references (Filip Skokan) #64777 * (SEMVER-MAJOR) update Node.js 27 official binary toolchains (Richard Lau) #66377 domain: * (SEMVER-MAJOR) runtime-deprecate the module (Matteo Collina) #65074 * (SEMVER-MAJOR) port to AsyncLocalStorage (Matteo Collina) #61095 fs: * (SEMVER-MAJOR) implement glob natively (Aviv Keller) #65392 * (SEMVER-MAJOR) return Buffer from mkdtemp when prefix is a Buffer (Hamid Reza Ghavami) #64397 http: * (SEMVER-MAJOR) reject responses exceeding header limit (Matteo Collina) #65010 * (SEMVER-MAJOR) runtime deprecate instantiating without new (Yagiz Nizipli) #64853 * (SEMVER-MAJOR) increase keepAliveTimeout default to 65 seconds (Tim Perry) #62782 * (SEMVER-MAJOR) make req.headers have a null prototype (Matteo Collina) #62900 * (SEMVER-MAJOR) reject addTrailers after finish (Ryuhei Shima) #62832 http2: * (SEMVER-MAJOR) increase default window sizes (Matteo Collina) #64623 lib: * (SEMVER-MAJOR) deprecate _http_* (Sebastian Beltran) #58535 * (SEMVER-MAJOR) insert argv[0] at argv[1] in setDeserializeMainFunction (Daijiro Wachi) #62928 * (SEMVER-MAJOR) use `Object.freeze` to avoid defensive cloning in `SourceMap` (Daijiro Wachi) #62830 * (SEMVER-MAJOR) reject SharedArrayBuffer in Blob constructor per spec (Ali Hassan) #63046 lib,src: * (SEMVER-MAJOR) remove `--no-experimental-websocket` CLI flag (Antoine du Hamel) #65284 net: * (SEMVER-MAJOR) race family autoselection attempts (Matteo Collina) #66229 * (SEMVER-MAJOR) throw on multiple listen calls (Matteo Collina) #64871 * (SEMVER-MAJOR) runtime-deprecate Server.prototype._listen2 (Guilherme Araújo) #64794 * (SEMVER-MAJOR) add experimental net/promises API (Ethan Arrowood) #63965 repl: * (SEMVER-MAJOR) use inspector over vm (Aviv Keller) #64034 src: * (SEMVER-MAJOR) officially deprecate `node::ObjectWrap` (Anna Henningsen) #63756 * (SEMVER-MAJOR) merge `CreateEnvironment()` overloads (Anna Henningsen) #63596 src, test: src,lib: * (SEMVER-MAJOR) add --allow-env permission (James M Snell) #66132 stream: * (SEMVER-MAJOR) destroy source when map iterator closes early (Y1D7NG) #64264 test: * (SEMVER-MAJOR) fix fs write encoding coverage (Filip Skokan) #66247 test,benchmark: * (SEMVER-MAJOR) drop OpenSSL 1.x-only coverage (Filip Skokan) #64777 test,tools: * (SEMVER-MAJOR) drop OpenSSL 1.x-era FIPS leftovers (Filip Skokan) #64777 test_runner: * use AsyncLocalStorage instead of async_hooks (Matteo Collina) #66795 tls: * (SEMVER-MAJOR) move _tls_* to end-of-life (Sebastian Beltran) #60658 zlib: * (SEMVER-MAJOR) convert classes to modern syntax and eol DEP0184 (Yagiz Nizipli) #64849 PR-URL: #67062
1 parent bc4ec98 commit 8ab5fc9

50 files changed

Lines changed: 596 additions & 75 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎CHANGELOG.md‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
Select a Node.js version below to view the changelog history:
44

5+
* [Node.js 27](doc/changelogs/CHANGELOG_V27.md) **Alpha**
56
* [Node.js 26](doc/changelogs/CHANGELOG_V26.md) **Current**
67
* [Node.js 25](doc/changelogs/CHANGELOG_V25.md) End-of-Life
78
* [Node.js 24](doc/changelogs/CHANGELOG_V24.md) **Long Term Support**
@@ -35,12 +36,16 @@ release.
3536

3637
<table>
3738
<tr>
39+
<th title="Alpha"><a href="doc/changelogs/CHANGELOG_V27.md">27</a> (Alpha)</th>
3840
<th title="Current"><a href="doc/changelogs/CHANGELOG_V26.md">26</a> (Current)</th>
3941
<th title="LTS Until 2028-04"><a href="doc/changelogs/CHANGELOG_V24.md">24</a> (LTS)</th>
4042
<th title="LTS Until 2027-04"><a href="doc/changelogs/CHANGELOG_V22.md">22</a> (LTS)</th>
4143
</tr>
4244
<tr>
4345
<td valign="top">
46+
<b><a href="doc/changelogs/CHANGELOG_V27.md#27.0.0-alpha.0.0.0">27.0.0-alpha.0.0.0</a></b><br/>
47+
</td>
48+
<td valign="top">
4449
<b><a href="doc/changelogs/CHANGELOG_V26.md#26.12.1">26.12.1</a></b><br/>
4550
<a href="doc/changelogs/CHANGELOG_V26.md#26.12.0">26.12.0</a><br/>
4651
<a href="doc/changelogs/CHANGELOG_V26.md#26.11.1">26.11.1</a><br/>

‎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-env`
195195

196196
<!-- YAML
197-
added: REPLACEME
197+
added: v27.0.0-alpha.0.0.0
198198
-->
199199

200200
> Stability: 1.1 - Active development
@@ -1649,7 +1649,7 @@ Enable the experimental [`node:stream/iter`][] module.
16491649
### `--experimental-strip-private-modules`
16501650

16511651
<!-- YAML
1652-
added: REPLACEME
1652+
added: v27.0.0-alpha.0.0.0
16531653
-->
16541654

16551655
> Stability: 1 - Experimental
@@ -2379,7 +2379,7 @@ Disable the experimental [`node:sqlite`][] module.
23792379
<!-- YAML
23802380
added: v26.4.0
23812381
changes:
2382-
- version: REPLACEME
2382+
- version: v27.0.0-alpha.0.0.0
23832383
pr-url: https://github.com/nodejs/node/pull/66318
23842384
description: VFS is unflagged but still experimental.
23852385
-->
@@ -3262,7 +3262,7 @@ the threshold specified, the process will exit with code `1`.
32623262
### `--test-forbid-only`
32633263

32643264
<!-- YAML
3265-
added: REPLACEME
3265+
added: v27.0.0-alpha.0.0.0
32663266
-->
32673267

32683268
Fails the test run if a test or suite is declared with `only: true`, including

‎doc/api/crypto.md‎

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2290,7 +2290,7 @@ be listed in the `transferList` argument.
22902290
<!-- YAML
22912291
added: v15.0.0
22922292
changes:
2293-
- version: REPLACEME
2293+
- version: v27.0.0-alpha.0.0.0
22942294
pr-url: https://github.com/nodejs/node/pull/63188
22952295
description: Passing a non-extractable CryptoKey as `key` is no longer
22962296
supported.
@@ -2753,7 +2753,7 @@ console.log(verify.verify(publicKey, signature));
27532753
<!-- YAML
27542754
added: v0.1.92
27552755
changes:
2756-
- version: REPLACEME
2756+
- version: v27.0.0-alpha.0.0.0
27572757
pr-url: https://github.com/nodejs/node/pull/63188
27582758
description: Passing a CryptoKey as `privateKey` is no longer supported.
27592759
- version: v15.0.0
@@ -2888,7 +2888,7 @@ This can be called many times with new data as it is streamed.
28882888
<!-- YAML
28892889
added: v0.1.92
28902890
changes:
2891-
- version: REPLACEME
2891+
- version: v27.0.0-alpha.0.0.0
28922892
pr-url: https://github.com/nodejs/node/pull/63188
28932893
description: Passing a CryptoKey as `key` is no longer supported.
28942894
- version: v15.0.0
@@ -3668,7 +3668,7 @@ operations. The specific constants currently defined are described in
36683668
<!-- YAML
36693669
added: v0.1.94
36703670
changes:
3671-
- version: REPLACEME
3671+
- version: v27.0.0-alpha.0.0.0
36723672
pr-url: https://github.com/nodejs/node/pull/63188
36733673
description: Passing a CryptoKey as `key` is no longer supported.
36743674
- version:
@@ -3784,7 +3784,7 @@ and can be transmitted with the ciphertext.
37843784
<!-- YAML
37853785
added: v0.1.94
37863786
changes:
3787-
- version: REPLACEME
3787+
- version: v27.0.0-alpha.0.0.0
37883788
pr-url: https://github.com/nodejs/node/pull/63188
37893789
description: Passing a CryptoKey as `key` is no longer supported.
37903790
- version:
@@ -3969,7 +3969,7 @@ and description of each available elliptic curve.
39693969
<!-- YAML
39703970
added: v0.1.92
39713971
changes:
3972-
- version: REPLACEME
3972+
- version: v27.0.0-alpha.0.0.0
39733973
pr-url: https://github.com/nodejs/node/pull/64000
39743974
description: The `outputLength` option is now required for XOF
39753975
hash functions without default output lengths.
@@ -4080,7 +4080,7 @@ input.on('readable', () => {
40804080
<!-- YAML
40814081
added: v0.1.94
40824082
changes:
4083-
- version: REPLACEME
4083+
- version: v27.0.0-alpha.0.0.0
40844084
pr-url: https://github.com/nodejs/node/pull/63188
40854085
description: Passing a CryptoKey as `key` is no longer supported.
40864086
- version: v26.0.0
@@ -4349,7 +4349,7 @@ is distinct from provider-specific URI parameters.
43494349
<!-- YAML
43504350
added: v11.6.0
43514351
changes:
4352-
- version: REPLACEME
4352+
- version: v27.0.0-alpha.0.0.0
43534353
pr-url: https://github.com/nodejs/node/pull/63188
43544354
description: Passing a CryptoKey as `key` is no longer supported.
43554355
- version:
@@ -5298,7 +5298,7 @@ added:
52985298
- v21.7.0
52995299
- v20.12.0
53005300
changes:
5301-
- version: REPLACEME
5301+
- version: v27.0.0-alpha.0.0.0
53025302
pr-url: https://github.com/nodejs/node/pull/64000
53035303
description: The `outputLength` option is now required for XOF
53045304
hash functions without default output lengths.
@@ -5726,7 +5726,7 @@ suitable for HMAC or PBKDF2.
57265726
<!-- YAML
57275727
added: v0.11.14
57285728
changes:
5729-
- version: REPLACEME
5729+
- version: v27.0.0-alpha.0.0.0
57305730
pr-url: https://github.com/nodejs/node/pull/63188
57315731
description: Passing a CryptoKey as `privateKey` is no longer supported.
57325732
- version:
@@ -5799,7 +5799,7 @@ attempting to use `RSA_PKCS1_PADDING` will fail.
57995799
<!-- YAML
58005800
added: v1.1.0
58015801
changes:
5802-
- version: REPLACEME
5802+
- version: v27.0.0-alpha.0.0.0
58035803
pr-url: https://github.com/nodejs/node/pull/63188
58045804
description: Passing a CryptoKey as `privateKey` is no longer supported.
58055805
- version: v15.0.0
@@ -5844,7 +5844,7 @@ object, the `padding` property can be passed. Otherwise, this function uses
58445844
<!-- YAML
58455845
added: v1.1.0
58465846
changes:
5847-
- version: REPLACEME
5847+
- version: v27.0.0-alpha.0.0.0
58485848
pr-url: https://github.com/nodejs/node/pull/63188
58495849
description: Passing a CryptoKey as `key` is no longer supported.
58505850
- version: v15.0.0
@@ -5889,7 +5889,7 @@ be passed instead of a public key.
58895889
<!-- YAML
58905890
added: v0.11.14
58915891
changes:
5892-
- version: REPLACEME
5892+
- version: v27.0.0-alpha.0.0.0
58935893
pr-url: https://github.com/nodejs/node/pull/63188
58945894
description: Passing a CryptoKey as `key` is no longer supported.
58955895
- version:
@@ -6638,7 +6638,7 @@ disabled when Node.js was started with `--force-fips`.
66386638
<!-- YAML
66396639
added: v12.0.0
66406640
changes:
6641-
- version: REPLACEME
6641+
- version: v27.0.0-alpha.0.0.0
66426642
pr-url: https://github.com/nodejs/node/pull/63188
66436643
description: Passing a CryptoKey as `key` is no longer supported.
66446644
- version:
@@ -6778,7 +6778,7 @@ not introduce timing vulnerabilities.
67786778
<!-- YAML
67796779
added: v12.0.0
67806780
changes:
6781-
- version: REPLACEME
6781+
- version: v27.0.0-alpha.0.0.0
67826782
pr-url: https://github.com/nodejs/node/pull/63188
67836783
description: Passing a CryptoKey as `key` is no longer supported.
67846784
- version:

‎doc/api/deprecations.md‎

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -774,7 +774,7 @@ the API is not useful.
774774

775775
<!-- YAML
776776
changes:
777-
- version: REPLACEME
777+
- version: v27.0.0-alpha.0.0.0
778778
pr-url: https://github.com/nodejs/node/pull/65074
779779
description: Runtime deprecation.
780780
- version:
@@ -2232,7 +2232,7 @@ or `module.exports` instead.
22322232

22332233
<!-- YAML
22342234
changes:
2235-
- version: REPLACEME
2235+
- version: v27.0.0-alpha.0.0.0
22362236
pr-url: https://github.com/nodejs/node/pull/64777
22372237
description: End-of-Life.
22382238
- version: v23.0.0
@@ -2322,7 +2322,7 @@ npx codemod @nodejs/timers-deprecations
23222322

23232323
<!-- YAML
23242324
changes:
2325-
- version: REPLACEME
2325+
- version: v27.0.0-alpha.0.0.0
23262326
pr-url: https://github.com/nodejs/node/pull/61095
23272327
description: End-of-Life.
23282328
- version: v10.0.0
@@ -4111,7 +4111,7 @@ that are shorter than the default authentication tag length (i.e., shorter than
41114111

41124112
<!-- YAML
41134113
changes:
4114-
- version: REPLACEME
4114+
- version: v27.0.0-alpha.0.0.0
41154115
pr-url: https://github.com/nodejs/node/pull/64777
41164116
description: End-of-Life.
41174117
- version:
@@ -4135,7 +4135,7 @@ replacement API in Node.js. OpenSSL's provider model replaces engines upstream.
41354135

41364136
<!-- YAML
41374137
changes:
4138-
- version: REPLACEME
4138+
- version: v27.0.0-alpha.0.0.0
41394139
pr-url: https://github.com/nodejs/node/pull/64849
41404140
description: End-of-Life.
41414141
- version: v24.0.0
@@ -4286,7 +4286,7 @@ npx codemod@latest @nodejs/repl-builtin-modules
42864286

42874287
<!-- YAML
42884288
changes:
4289-
- version: REPLACEME
4289+
- version: v27.0.0-alpha.0.0.0
42904290
pr-url: https://github.com/nodejs/node/pull/60658
42914291
description: End-of-Life.
42924292
- version:
@@ -4354,7 +4354,7 @@ npx codemod@latest @nodejs/http2-priority-signaling
43544354

43554355
<!-- YAML
43564356
changes:
4357-
- version: REPLACEME
4357+
- version: v27.0.0-alpha.0.0.0
43584358
pr-url: https://github.com/nodejs/node/pull/64853
43594359
description: Runtime deprecation.
43604360
- version:
@@ -4425,7 +4425,7 @@ npx codemod@latest @nodejs/types-is-native-error
44254425

44264426
<!-- YAML
44274427
changes:
4428-
- version: REPLACEME
4428+
- version: v27.0.0-alpha.0.0.0
44294429
pr-url: https://github.com/nodejs/node/pull/64000
44304430
description: End-of-Life.
44314431
- version: v25.0.0
@@ -4448,7 +4448,7 @@ Creating SHAKE-128 and SHAKE-256 digests without an explicit
44484448

44494449
<!-- YAML
44504450
changes:
4451-
- version: REPLACEME
4451+
- version: v27.0.0-alpha.0.0.0
44524452
pr-url: https://github.com/nodejs/node/pull/58535
44534453
description: Runtime deprecation.
44544454
- version:
@@ -4572,7 +4572,7 @@ const server = http2.createSecureServer({
45724572
45734573
<!-- YAML
45744574
changes:
4575-
- version: REPLACEME
4575+
- version: v27.0.0-alpha.0.0.0
45764576
pr-url: https://github.com/nodejs/node/pull/63188
45774577
description: End-of-Life.
45784578
- version: v26.0.0
@@ -4593,7 +4593,7 @@ Passing a [`CryptoKey`][] to `node:crypto` functions is no longer supported.
45934593
45944594
<!-- YAML
45954595
changes:
4596-
- version: REPLACEME
4596+
- version: v27.0.0-alpha.0.0.0
45974597
pr-url: https://github.com/nodejs/node/pull/63188
45984598
description: End-of-Life.
45994599
- version: v26.0.0
@@ -4642,7 +4642,7 @@ removed in a future version of Node.js.
46424642
46434643
<!-- YAML
46444644
changes:
4645-
- version: REPLACEME
4645+
- version: v27.0.0-alpha.0.0.0
46464646
pr-url: https://github.com/nodejs/node/pull/63624
46474647
description: Runtime deprecation.
46484648
- version:
@@ -4663,7 +4663,7 @@ will throw an error in a future version.
46634663
46644664
<!-- YAML
46654665
changes:
4666-
- version: REPLACEME
4666+
- version: v27.0.0-alpha.0.0.0
46674667
pr-url: https://github.com/nodejs/node/pull/63249
46684668
description: Documentation-only deprecation.
46694669
-->
@@ -4717,7 +4717,7 @@ successfully before the response closed.
47174717
47184718
<!-- YAML
47194719
changes:
4720-
- version: REPLACEME
4720+
- version: v27.0.0-alpha.0.0.0
47214721
pr-url: https://github.com/nodejs/node/pull/64794
47224722
description: Runtime deprecation.
47234723
- version:

‎doc/api/dns.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,7 +868,7 @@ treated separately.
868868
<!-- YAML
869869
added: v0.1.16
870870
changes:
871-
- version: REPLACEME
871+
- version: v27.0.0-alpha.0.0.0
872872
pr-url: https://github.com/nodejs/node/pull/64268
873873
description: Reverse lookups no longer consult hosts files.
874874
-->

‎doc/api/domain.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<!-- YAML
44
deprecated: v1.4.2
55
changes:
6-
- version: REPLACEME
6+
- version: v27.0.0-alpha.0.0.0
77
pr-url: https://github.com/nodejs/node/pull/65074
88
description: Loading the module now emits a runtime deprecation warning
99
(`DEP0032`).

‎doc/api/embedding.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ int main(int argc, char** argv) {
7575
### Restricting access to environment variables
7676
7777
<!-- YAML
78-
added: REPLACEME
78+
added: v27.0.0-alpha.0.0.0
7979
-->
8080
8181
When the arguments passed to `node::InitializeOncePerProcess()` enable the

‎doc/api/errors.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3942,7 +3942,7 @@ The native call from `process.cpuUsage` could not be processed.
39423942
### `ERR_CRYPTO_ENGINE_UNKNOWN`
39433943

39443944
<!-- YAML
3945-
removed: REPLACEME
3945+
removed: v27.0.0-alpha.0.0.0
39463946
-->
39473947

39483948
An invalid crypto engine identifier was passed to

0 commit comments

Comments
 (0)