Skip to content

The publication for web craftspeople Wednesday, 19 August 2026

Back-end

Node.js 26 enables the Temporal API by default

Node.js 26 turns Temporal on by default, moves to V8 14.6 and adds crypto.randomUUIDv7(). The real gains for a JavaScript back-end, and the migration timeline to the October LTS.

Node.js 26 : la Temporal API par défaut, enfin la fin de l'enfer des dates en JS

Node.js 26 has been available as a Current release since 5 May 2026, with LTS status scheduled for October. One line of the changelog outweighs all the others: the Temporal API is now enabled by default. After a decade of workarounds built on top of the Date object, the JavaScript ecosystem finally has date and time handling designed for production.

Temporal by default: the structural change

Handling time zones, durations or immutable dates with Date remains one of the best-documented sources of bugs in JavaScript: mutability, implicit arithmetic, dependence on the server locale. Temporal answers each of those flaws with immutable objects, explicit time zones and deterministic date arithmetic.

// Explicit time zone, immutable object, predictable arithmetic
const now = Temporal.Now.zonedDateTimeISO("Europe/Paris");
const tomorrow = now.add({ days: 1 });

Enabling it by default removes the experimental flag that had been holding adoption back: code written with Temporal today will run without special configuration on tomorrow’s runtimes.

What else ships in this release

FeaturePractical impact
V8 14.6Upsert methods on Map and WeakMap, Iterator.concat()
req.signalAn AbortSignal exposed on http.IncomingMessage, to cancel an interrupted request cleanly
crypto.randomUUIDv7()Time-ordered identifiers, well suited to database primary keys

All three are plumbing, but they have a concrete effect on dependencies: native UUID v7 and AbortSignal make several commonly installed npm packages redundant.

A runtime release is judged less by its announcements than by the number of dependencies it lets you delete.

Migration timeline

Node 26 carries Current status, not LTS. The distinction is not cosmetic: native modules, official Docker images and hosting providers generally track LTS releases. Established practice is to validate a Current release in continuous integration and on non-critical environments, then move production over when it reaches LTS.

Calendar reference: Node.js 26 becomes LTS in October 2026. Node.js 24 remains supported until April 2028, which leaves a comfortable migration window.

What to take away

Node.js 26 is not a spectacular release, but Temporal enabled by default closes a project opened at TC39 back in 2017. For applications that deal with scheduling, recurrence or multiple time zones, this is the first complete native answer available.

On the servers I administer the rule has not changed: Current in continuous integration and on internal projects right away, production in the autumn. This is not caution for its own sake — native modules set the pace, and they follow LTS releases. — Simon Janvier

Further reading

The full release notes are published on the official Node.js blog.

Also on Mail Studio

Watch

Read next