← Back to all briefs
JavaScript55s read

Node.js 26 Ships Temporal API as Stable, No More Date Headaches

Node.js 26 ships the Temporal API enabled by default, no experimental flag. Also includes V8 14.6, `Map.getOrInsert`, pure JS `buffer`, and updated `Intl.NumberFormat` v3. Corepack has been removed.

Node.js 26 is here, and the headline feature is Temporal, the modern date/time API that replaces Date for anything beyond trivial use cases. After years behind the --experimental-temporal flag, Temporal is now stable and enabled by default.

Temporal: dates done right

import { Temporal } from 'node:temporal'

// Immutable, timezone-aware instant
const now = Temporal.Now.zonedDateTimeISO()
// → 2026-06-12T14:00:00-04:00[America/New_York]

// Add durations without mutation
const nextWeek = now.add({ days: 7 })

// Compare without pain
const isAfter = Temporal.ZonedDateTime.compare(a, b)

// Duration arithmetic that works
const duration = Temporal.Duration.from({ hours: 1, minutes: 30 })
const totalMinutes = duration.total('minutes') // → 90

Key advantages over Date:

What else shipped

Upgrade path

nvm install 26
node --version  # v26.0.0

Node.js 26 is the new LTS release line (even-numbered). Node.js 24 will continue receiving critical fixes but new feature work targets 26.

The bottom line

Temporal going stable is the biggest JavaScript date/time improvement since... ever. If your codebase uses moment, luxon, date-fns, or dayjs, Temporal may replace them for core use cases. Node.js 26 also brings ES2026 features natively, no transpilation needed. If you're starting a new project, start on Node 26.