édition quotidiennecurated dispatchespas de rewritediffusion à l'aubelecture longuepublication rarearchivé à viesilence, puis signal
news2026.05.02il y a 6 jours2 min de lecture

Node.js 26.0.0 : Temporal API par défaut, V8 14.6 et nettoyage des modules legacy

Node.js 26.0.0 devient Current le 28 avril 2026 avec l'API Temporal activée sans flag, V8 14.6.202, suppression définitive des modules _stream_* et ruptures pour les addons natifs et le TypeScript sans transpilation.

#nodejs#javascript#runtime#temporal
§

Node.js 26.0.0 a été taguée le 28 avril 2026 par Rafael González Sierra (RafaelGSS) et marque l'entrée dans le cycle « Current » — elle deviendra LTS en octobre 2026 avec une maintenance jusqu'en avril 2029. Cette version est notable à deux titres : elle active enfin l'API Temporal sans flag expérimental, et elle procède au nettoyage le plus agressif des modules dépréciés depuis Node.js 16.

Temporal activée par défaut

La proposition TC39 Temporal — entrée en stage 4 il y a plus d'un an — remplace l'objet Date par une API moderne, immuable et timezone-aware. Disponible dans Node.js 26 sans aucun flag, elle offre notamment :

  • Temporal.PlainDate, Temporal.PlainDateTime, Temporal.ZonedDateTime pour manipuler les dates sans ambiguïté de fuseau
  • Arithmétique calendaire correcte (durées, additions, comparaisons)
  • Représentation ISO 8601 étendue en sérialisation
const today = Temporal.Now.plainDateISO();
const in30Days = today.add({ days: 30 });
console.log(in30Days.toString()); // "2026-06-01"

Les bibliothèques comme date-fns et dayjs devraient progressivement déléguer à Temporal leur logique interne — surveiller les annonces de migration.

V8 14.6 et nouvelles méthodes ES2026

Node.js 26 embarque V8 14.6.202.33 (Chromium 134), qui apporte deux ajouts ES2026 :

  • Map.prototype.getOrInsert(key, defaultValue) — récupère une valeur ou l'insère si absente, en une seule opération atomique côté Map
  • Iterator.concat(...iterables) — concatène des itérables paresseux sans matérialiser de tableau intermédiaire

Suppressions et ruptures de compatibilité

SuppriméMigration recommandée
_stream_readable, _stream_writable, _stream_duplex, etc.stream (module officiel)
http.Server.prototype.writeHeader()writeHead()
--experimental-transform-types--transform-types (sans le préfixe expérimental)
module.register() (runtime-deprecated)ESM loader hooks API

Le NODE_MODULE_VERSION passe à 147 : tout addon natif compilé pour Node.js 24 ou antérieur doit être recompilé. Les projets qui utilisent node-gyp ou napi devront mettre à jour leurs builds CI.

Les exigences de build montrent aussi la rupture avec les environnements anciens : GCC 13.2 minimum, Python 3.9 abandonné comme dépendance de build, Windows SDK 11 requis. Les architectures IBM z13 et Power 8 ne sont plus supportées.

Undici 8.0.2

Le client HTTP interne de Node.js (Undici) passe en version 8.0.2, avec des corrections sur les headers de redirection et l'implémentation Fetch. L'API fetch() native bénéficie de ces correctifs sans changement d'interface.

Ce qui ne change pas encore

Node.js 20 passe en End-of-Life en avril 2026 — si votre projet est encore sur la version 20, la migration vers 22 (LTS actuelle) est prioritaire avant d'envisager Node.js 26. GitHub Actions prévoit de migrer ses runners vers Node.js 24 à l'automne 2026.

Release PR Node.js 26.0.0

Calendrier des releases Node.js

Calendrier End-of-Life Node.js — endoflife.date