Node.js 27 alpha

Node.js 27 Alpha: New Features, Breaking Changes & How to Test It (2026)

The Node.js 27 alpha is out, and it is the first release under the new once-a-year Node.js schedule. The Node.js team tagged v27.0.0-alpha.0.0.0 on October 29, 2026. It brings V8 15.6, OpenSSL 4.1 and a long list of breaking changes.

This is not a release for production servers. Instead, it is an early warning for library authors and teams with CI pipelines. In this guide, we explain the alpha channel and what changed. Then we show how to test your code before the stable release in April 2027.

Node.js 27 alpha

What Is the Node.js 27 Alpha?

In short, it is a pre-release build of the next major version. Until now, Node.js shipped two majors a year. Odd versions never became LTS, and most teams simply skipped them. According to the official release schedule announcement, that split ends with Node.js 27.

From now on, Node.js ships one major release a year, and every release becomes LTS. The alpha channel replaces the testing role that odd versions used to play. As a result, breaking changes land early, in a clearly labelled pre-release, rather than in a stable line.

The New Node.js Release Schedule Explained

Each version now moves through four phases. Here is how the timeline looks for version 27:

  • Alpha (October 2026 to March 2027): early testing, semver-major changes allowed.
  • Current (April 2027): 27.0.0 ships and enters a six-month stabilisation phase.
  • LTS (October 2027): roughly 30 months of long-term support.
  • End of Life (April 2030): no further fixes.

Also, version numbers will now match the calendar year of the first Current release. So 27.0.0 lands in 2027 and 28.0.0 in 2028. If you only ever upgrade between LTS lines, very little changes for you beyond numbering.

Meanwhile, Node.js 26 stays on the old model. It entered LTS this month, and we covered it in our Node.js 26 LTS upgrade guide. That remains the version to run in production today.

Key Features in the Node.js 27 Alpha

Although this is an early build, it already contains several meaningful updates. Here are the headline items from the official release notes.

V8 15.6 and New JavaScript Features

The V8 engine jumps from 14.6 in Node.js 26 to 15.6.75.13. Consequently, several newer JavaScript features are now enabled by default:

  • Math.sumPrecise() for accurate sums of floating-point numbers.
  • The variants property on Intl.Locale.
  • Iterator helpers for join and includes.
  • Iterator.zip and Iterator.zipKeyed for combining iterators.
// Runs on the Node.js 27 alpha
console.log(0.1 + 0.2);               // 0.30000000000000004
console.log(Math.sumPrecise([0.1, 0.2])); // 0.3

OpenSSL 4.1 and a Crypto Clean-Up

Next, the crypto layer gets a major overhaul. The bundled OpenSSL moves to 4.1.0, and builds now require OpenSSL 3 or later. In addition, OpenSSL engine support ends for crypto, https and tls. The bundled FIPS provider build is also removed.

Several crypto deprecations reach End-of-Life too, including DEP0093, DEP0198, DEP0203 and DEP0204. Moreover, digest and update input encodings are now validated. If your app does custom crypto work, test this area first.

Native fs glob, net/promises and New Permissions

There are some welcome additions as well. For example, fs now implements glob natively. There is also an experimental net/promises API and a new --allow-env permission flag. Finally, npm is upgraded to version 12.1.0.

import { glob } from 'node:fs/promises';

for await (const file of glob('src/**/*.js')) {
  console.log(file);
}

Breaking Changes in Node.js 27 Alpha to Watch

Because the alpha allows semver-major changes, this is where most of your testing effort should go. Below are the changes most likely to affect typical web apps and APIs.

HTTP and Networking Changes

  • The default keepAliveTimeout rises to 65 seconds.
  • req.headers now has a null prototype.
  • Responses that exceed the header limit are rejected.
  • Calling addTrailers after a response finishes now throws.
  • Default HTTP/2 window sizes increase.
  • Calling listen() more than once on a net server now throws.

The null-prototype headers change is easy to miss. In practice, code that calls req.headers.hasOwnProperty() will break. Use Object.hasOwn() instead:

// Breaks on the Node.js 27 alpha
if (req.headers.hasOwnProperty('authorization')) { /* ... */ }

// Works everywhere
if (Object.hasOwn(req.headers, 'authorization')) { /* ... */ }

Memory and Serialization Changes

The default heap limit changes as well. Without --max-old-space-size, the limit is now half of physical memory, between 256 MB and 4 GB. Memory used by Buffer and ArrayBuffer also counts toward it. Therefore, set the flag explicitly if your app relied on the old default.

node --max-old-space-size=2048 server.js

In addition, v8.serialize(), structuredClone() and postMessage() switch to a new format. Older Node.js releases cannot read it. So if you store serialized data or share it between services, plan for that carefully.

Removed and Deprecated APIs

  • The domain module is runtime-deprecated and now uses AsyncLocalStorage.
  • The internal _http_* modules are deprecated, and _tls_* modules reach End-of-Life.
  • The --no-experimental-websocket flag is removed.
  • Intel macOS support is downgraded to experimental.

How to Test Your Code on the Node.js 27 Alpha

The Node.js team is clear about who this build is for. The schedule post asks maintainers to “integrate Alpha releases to your CI as early as possible.” Here is a simple plan.

  • Get the build: download the official binaries linked from the release page and the Node.js blog. Some version managers and CI images may need an update before they recognise the new version string.
  • Add a separate CI job: run your test suite against the alpha, but mark it as allowed to fail at first.
  • Search for risky patterns: look for hasOwnProperty on headers, domain usage, custom crypto code and serialized data.
  • Check memory limits: watch heap usage in containers, and set --max-old-space-size where needed.
  • Report problems early: file issues on the Node.js GitHub repository, so fixes land before April 2027.

If you also use AI coding agents, they can help scan large codebases for these patterns. Our guide to Chrome DevTools MCP shows one way to connect agents to real debugging tools.

Node.js 27 Alpha vs Node.js 26 LTS

It helps to compare the two side by side. Node.js 26 LTS is the stable, supported choice. In contrast, the Node.js 27 alpha is a moving target that can change between builds.

  • Stability: Node.js 26 LTS is production-ready; the alpha is for testing only.
  • Engine: Node.js 26 ships V8 14.6, while the alpha ships V8 15.6.
  • Support: Node.js 26 is supported until April 2029; Node.js 27 is planned to reach End of Life in April 2030.
  • Breaking changes: none are expected in an LTS line, whereas the alpha may add more before April.

In other words, use the Node.js 27 alpha to look ahead, and keep Node.js 26 LTS for anything your users depend on.

Should You Upgrade to the Node.js 27 Alpha Now?

For production, the answer is no. The project itself says alpha builds are not intended for production use. Instead, stay on Node.js 26 LTS or Node.js 24 LTS for live sites and APIs.

However, you should start testing the Node.js 27 alpha now if you maintain an npm package, a framework plugin or a large internal codebase. Testing early is cheap, while finding a breaking change in April 2027 is not. Similarly, teams that pair Node.js with TypeScript can check both together; see our notes on the TypeScript 7.1 beta.

FAQ

When was the Node.js 27 alpha released?

The first alpha, v27.0.0-alpha.0.0.0, was tagged on October 29, 2026.

When will Node.js 27 be stable?

Node.js 27.0.0 is planned for April 2027, with LTS starting in October 2027. The project notes the schedule may still be amended.

Can I use the alpha in production?

No. Alpha builds are aimed at library authors and CI pipelines, not live services.

Will Node.js 27 become an LTS release?

Yes. Under the new model, every major release becomes LTS, including version 27.

Conclusion

The Node.js 27 alpha marks a real shift in how Node.js ships. One major release a year, LTS for every version, and a six-month alpha for breaking changes should make upgrades more predictable. Meanwhile, this first alpha already brings V8 15.6, OpenSSL 4.1 and plenty of breaking changes to check.

So keep production on an LTS line, but add the alpha to your CI this week. That way, you will be ready long before Node.js 27 goes stable.

Sources

Need Help With Your Website or Web App?

Swrice builds and customises WordPress sites, plugins and web apps. Whether you need an upgrade, a custom feature or a fix, our team can handle it for you.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *