Node.js 26 entered Active LTS on 28 October 2026 and is supported until April 2029. It enables the Temporal date API by default, ships V8 14.6 and Undici 8.0, and removes several legacy APIs. It’s the recommended version for new production projects and the last release under Node’s old odd/even schedule.

What’s new in Node.js 26?

Temporal is the change you’ll notice first. It replaces the Date object with immutable, time-zone-aware types and built-in date arithmetic, and in Node.js 26 it works without a flag:

js

const today = Temporal.Now.plainDateISO();
const deadline = today.add({ days: 30 });
console.log(deadline.toString()); // e.g. 2026-11-27

const meeting = Temporal.ZonedDateTime.from('2026-11-03T10:00[Europe/Warsaw]');
console.log(meeting.withTimeZone('America/New_York').toString());

In new backend code, this covers most of what teams used date-fns, Moment or Luxon for.

The JavaScript engine moves to V8 14.6, taken from Chromium 146. It adds upsert methods on Map and WeakMap. Undici, the HTTP client behind Node’s built-in fetch(), moves to version 8.0.2.

Rafael Gonzaga, who announced the release on X, described it as “modernizing the platform” (InfoQ).

What breaks when you upgrade to Node.js 26?

Node.js 26 removes or deprecates these APIs:

  • http.Server.prototype.writeHeader() is removed. Use writeHead().
  • The _stream_wrap, _stream_readable, _stream_writable, _stream_duplex, _stream_transform and _stream_passthrough modules are removed. Packages that import them directly will fail.
  • module.register() is runtime-deprecated and prints warnings.
  • The --experimental-transform-types flag is removed.

Building Node.js from source now needs GCC 13.2 or newer. Check this if you build custom Docker images or run internal build pipelines.

Most breakage will come from old transitive dependencies, not from your own code. Packages that haven’t been updated in years are the likeliest to still import _stream_* modules.

Node.js 24 vs Node.js 26: which should you run?

Node.js 24Node.js 26
StatusMaintenance LTSActive LTS
End of lifeApril 2028April 2029
Temporal APINot enabled by defaultEnabled by default
V813.614.6
Best forStable systems with old dependenciesNew projects, active codebases

Use Node.js 26 for new projects and for services you’re actively developing. Stay on Node.js 24 if your dependencies use any of the removed APIs, or if your team can’t test the upgrade this quarter. Node.js 24 gets security fixes until April 2028.

Node.js 22 reaches end of life on 30 April 2027. Teams still running it should schedule the migration this year.

How to upgrade to Node.js 26

  1. Install Node.js 26 alongside your current version: nvm install 26, then nvm use 26.
  2. Run your test suite and read the deprecation warnings, not only the failures.
  3. Search your code and node_modules for _stream_ and writeHeader(.
  4. Rebuild native modules with npm rebuild and confirm they compile against V8 14.6.
  5. Add Node.js 26 to your CI matrix next to your current version and run both for one sprint before you switch production.

Will Node.js 27 be LTS? The new release schedule

Yes. Node.js 26 is the last release under the old model, where only even-numbered versions became LTS and many teams skipped odd releases. From Node.js 27 onwards, Node ships one major version a year, in April, and promotes it to LTS in October. Every version becomes LTS.

VersionAlphaCurrentLTSEnd of life
26.xn/aMay 2026Oct 2026Apr 2029
27.xOct 2026Apr 2027Oct 2027Apr 2030

The Node.js Release Working Group gives two reasons. Most organisations already run only LTS versions, and Node.js is maintained mostly by volunteers, so fewer major releases means less release work. For engineering teams, it means one planned upgrade a year on a fixed calendar.

If you’re planning a Node.js upgrade across many services, or maintaining a backend stuck several versions behind, see how our team works with Node.js and system refactoring.

Sources: Node.js 26.0.0 (Current), nodejs.org, 5 May 2026 · Node.js 26: Temporal API Enabled by Default, InfoQ · Node.js Release schedule, GitHub