Software

Node.js 26 turns Temporal on. Upgrade now or wait?

By · Wed Aug 19 2026 · 5 min read · 0 views

View as a Web Story

Software#node.js#temporal api#lts#javascript#upgrades

Node.js 26 turns Temporal on. Upgrade now or wait?

Stay on Node.js 24 for production this month, and test Node.js 26 in a branch now. Node.js 26 became the Current release on May 5, 2026 and enters Active LTS in October 2026, per the endoflife.date release table. Upgrading a production service before that date buys you new features and a support window that has not opened yet.

That is a scheduling answer, not a verdict on the release. The features are good. The reason to wait is that Current releases exist so library authors can catch up, and your dependency tree is the part you do not control.

What Node.js 26 actually changes

Node.js is the JavaScript runtime that executes server-side code outside a browser, and version 26 is its 2026 Current line. The headline change is Temporal, enabled by default with no flag required, as InfoQ reported on the release.

Temporal is the modern replacement for the JavaScript Date object. It is immutable, it handles time zones as first-class values, and it does calendar arithmetic correctly. Anyone who has debugged a daylight saving bug in a billing job knows why that matters.

The runtime underneath also moved. V8 is the JavaScript engine Node.js embeds, and version 26 ships V8 14.6, which corresponds to Chromium 146. Undici is the HTTP client bundled with Node.js, and it moves to version 8 in this release, as covered in the Node.js 26 feature summary. An experimental foreign function interface module arrived as well, which lets JavaScript call native libraries without a compiled addon.

The latest patch, version 26.7.0, landed on August 5, 2026 with private key loading through STORE loaders, Perfetto tracing support and a new test coverage flag, according to the release notes on GitHub. None of those are breaking.

The support calendar decides this, not the feature list

Support dates decide the upgrade, because a runtime without security patches is a liability regardless of its features. LTS is Node.js shorthand for long-term support, the phase in which a release line receives fixes but no new features, as the Node.js release working group documents.

Version Status in August 2026 Key date
Node.js 26 Current Active LTS from October 2026, security support to April 30, 2029
Node.js 24 Active LTS Maintenance from October 20, 2026, security support to April 30, 2028
Node.js 22 Maintenance Security support ends April 30, 2027
Node.js 20 End of life Support ended April 30, 2026

Node.js 20 is the row that should worry people. It reached end of life on April 30, 2026, so anything still running it receives no security fixes at all (endoflife.date, 2026). That is a migration to schedule this quarter, not next year.

Node.js 24 is the safe production line right now. It keeps receiving fixes until April 30, 2028, which is long enough to plan a move to 26 after that line matures.

Security patches you cannot skip

Node.js security releases in 2026 have been substantial, so version choice is also a patching question. The July 29, 2026 release covered the 26, 24 and 22 lines and fixed eleven issues, three of them high severity, including a use-after-free reached through the bundled nghttp2 HTTP/2 stack, as listed on the Node.js security blog.

Advertisement

Check your patch level before you argue about major versions. Running Node.js 24.4 in production is a worse position than running 24 versus 26, and it is easier to fix.

Supply chain risk sits next to this. The runtime is only as safe as what you install into it, which is the lesson behind how the keyv npm attack reached VS Code and Claude Code. Pin versions, and audit what your build pulls at install time.

What breaks when you move to Node.js 26

Node.js 26 finalises removals that were deprecated across several releases, and codemods exist for some of them, as the official migration guide explains. These are the ones that break real code.

  1. url.parse() and the legacy URL API. Replace them with the WHATWG URL class.
  2. SlowBuffer. Use Buffer.allocUnsafeSlow() instead.
  3. Older TLS helper APIs that have been flagged for several major versions.
  4. Zlib class construction without new.
  5. Some child process argument forms that were tolerated in earlier releases.

Temporal is additive, so it does not break existing Date code by itself. The risk is subtler. Libraries that feature-detect globalThis.Temporal may now take a different code path than they did on Node.js 24, and that path may be less tested.

Run your test suite on both runtimes before deciding. Consider a matrix build that runs on 24 and 26 for a few weeks, which surfaces library differences without putting anyone at risk.

A migration plan that takes one afternoon

Treat this as a normal dependency upgrade with a defined exit. A codemod is a scripted source transformation that applies a mechanical change across a codebase, and Node.js ships several for its deprecations.

  1. Add Node.js 26 to your continuous integration matrix alongside 24.
  2. Run the suite with --pending-deprecation to surface APIs scheduled for removal.
  3. Search the codebase for url.parse, SlowBuffer and bare Zlib construction.
  4. Rebuild native addons, since V8 14.6 requires them to be compiled again.
  5. Deploy to a staging environment and watch memory and latency for a week.

Keep the rollback simple. Pin the runtime version in your container image and your engines field so a redeploy cannot silently change it.

Language runtimes are all moving at this pace now, such as the free-threading work covered in Python 3.15 hits rc1. The tooling burden is real, and the answer is a repeatable upgrade routine rather than a heroic annual migration.

Who should upgrade now

Upgrade now if you write libraries. Major versions stay in Current status for six months so library authors can add support, per the release schedule table. Library authors are exactly who that window exists for, and publishing support early is the difference between a smooth ecosystem transition and a rough one.

Upgrade now if Temporal solves a problem you already have. Date arithmetic across time zones is the clearest case, such as scheduling systems, billing periods and anything that has to respect local calendars.

Wait if you run production services on Node.js 24 with no pressing need. October 2026 is close, and Active LTS status brings the stability guarantees that make an upgrade defensible to whoever signs off on it.

Advertisement

FAQ

Should I upgrade to Node.js 26 or stay on Node.js 24?

Stay on Node.js 24 for production until Node.js 26 enters Active LTS in October 2026. Node.js 24 receives security support until April 30, 2028. Test Node.js 26 in continuous integration now, especially if you maintain libraries or need the Temporal API.

Is Temporal enabled by default in Node.js 26?

Yes. Temporal is available without any flag in Node.js 26. It provides immutable date and time objects, first-class time zone support and correct calendar arithmetic. Existing `Date` code keeps working, but libraries that detect Temporal may switch to different code paths.

When does Node.js 24 reach end of life?

Node.js 24 leaves Active LTS on October 20, 2026 and receives security support until April 30, 2028. It remains the recommended production line until Node.js 26 becomes Active LTS. Node.js 22 ends security support on April 30, 2027.

What was removed in Node.js 26?

Node.js 26 completes removals of long-deprecated APIs, including `url.parse()`, `SlowBuffer`, older TLS helpers, Zlib construction without `new`, and some child process argument forms. Run your test suite with `--pending-deprecation` on Node.js 24 first to find affected code.

Is Node.js 20 still safe to run?

No. Node.js 20 reached end of life on April 30, 2026 and no longer receives security fixes. Any service still on that line should move to Node.js 24, which is supported until April 30, 2028. Treat this as an urgent upgrade rather than routine maintenance.

Comments

Loading…

Sign in to join the conversation.

Related posts

We use cookies for ads and analytics.what this means.