Developers

Node.js 26 LTS on October 28, 2026: what changes and how to upgrade

Node.js 26 is promoted to Active LTS on October 28, 2026 and is supported until April 30, 2029. Here is what changes from Node.js 24, what happens to 24 and 22, and how to upgrade.

4 min read

Node.js 26 is scheduled to move from Current to Active LTS on October 28, 2026, according to the Node.js Release Working Group schedule. It will receive Active LTS support until October 20, 2027, then maintenance-only fixes until its end of life on April 30, 2029. The Node.js project does not set a release hour, so the LTS build appears on nodejs.org whenever the release team publishes it that day.

Node.js 26.0.0 shipped on May 5, 2026. By mid-October 2026 the line had reached v26.12.0, released October 14, per the official release index. The schedule lists no LTS codename for 26.x yet.

What happens to Node.js 24 and Node.js 22

The LTS promotion of 26.x shifts the older release lines one step down. As of October 2026 the published dates are:

  • Node.js 24 (Krypton): Active LTS since October 28, 2025; moves to Maintenance LTS on October 20, 2026; end of life April 30, 2028.
  • Node.js 22 (Jod): in Maintenance LTS since October 21, 2025; end of life April 30, 2027.
  • Node.js 20 (Iron): reached end of life on April 30, 2026 and no longer gets security fixes.

Maintenance means critical bug fixes and security updates only; new features land on a maintenance line only at the release team's discretion. For teams still on Node.js 22, the practical deadline is April 30, 2027, which leaves roughly six months to move.

What changes between Node.js 24 and Node.js 26

The Node.js 26.0.0 release notes list the headline changes. The ones most likely to matter in an upgrade:

New language and runtime features

  • Temporal enabled by default. The Temporal date and time API no longer needs a flag. Code that ships a Temporal polyfill can test whether the native implementation works for it.
  • V8 14.6. Node.js 24 uses V8 13.6; Node.js 26 moves to V8 14.6 (the version in Chromium 146), which adds getOrInsert() and getOrInsertComputed() on Map and WeakMap, plus Iterator.concat().
  • Undici 8. The built-in HTTP client behind fetch() moves to Undici 8.0.2.

Removals and deprecations

  • The legacy internal stream modules (_stream_readable, _stream_writable, _stream_duplex, _stream_transform, _stream_passthrough and _stream_wrap) are removed. Old dependencies that still require them will throw.
  • http.Server.prototype.writeHeader() is removed; use writeHead().
  • module.register() is runtime-deprecated, so loaders built on it will print warnings.
  • The --experimental-transform-types flag is removed.
  • Several crypto deprecations moved forward, including DEP0182 to end of life.

For anyone building Node.js from source, the minimum GCC version is now 13.2, and Python 3.9 is no longer supported by the build.

Upgrade checklist

  1. Add Node.js 26 to your CI matrix before switching production, and keep 24 alongside it for a release cycle.
  2. Update the engines field in package.json and any .nvmrc or .node-version files your tooling reads.
  3. Rebuild native addons. A new major means a new ABI, so packages with compiled bindings need Node.js 26 prebuilds or a rebuild.
  4. Search your dependency tree for _stream_ requires, writeHeader calls and custom loaders that use module.register().
  5. Pin container base images to an explicit major version, so the LTS promotion does not change your runtime without notice.
  6. Watch the deprecation warnings in test output and treat them as the to-do list for the next upgrade.

The last LTS under the old model

Node.js 26 is the final release line on the odd/even schedule. In its announcement on the new release schedule, the project says that from Node.js 27 there will be one major release a year, in April, with LTS promotion each October, and every release line will become LTS. An Alpha channel, which may include semver-major changes, replaces the role odd-numbered versions used to play. Version numbers will follow the year: 27.0.0 in 2027, 28.0.0 in 2028.

Under that plan, the Node.js 27 Alpha starts in October 2026, 27.0.0 ships in April 2027, it becomes LTS in October 2027 and reaches end of life in April 2030. The project notes the schedule may still change and points to its schedule.json as the up-to-date record of its support commitments. Library authors are asked to test against Alpha builds in CI.

More runtime and tooling coverage is in our Developers and Open Source sections, including our explainer on Python 3.15 lazy imports.

Frequently asked questions

When does Node.js 26 become LTS?

On October 28, 2026. It stays in Active LTS until October 20, 2027 and reaches end of life on April 30, 2029.

When is Node.js 22 end of life?

April 30, 2027. It has been in maintenance since October 21, 2025, so it receives only critical and security fixes.

Should I skip Node.js 26 and wait for Node.js 27?

Node.js 27.0.0 is planned for April 2027, with LTS in October 2027. Teams that upgrade only to LTS lines would otherwise wait a year, while Node.js 26 is supported until April 2029.

Will odd-numbered versions still exist?

Yes, but not as short-lived releases. Under the new schedule Node.js 27 and every later major become LTS.