Node.js 26 arrive avec l'API Temporal et des améliorations majeures de la plateforme

  • Node.js 26 est publié en tant que version actuelle et devrait passer en version LTS en octobre, avec un support jusqu'en 2029.
  • L'API Temporal est activée par défaut, ce qui modernise la gestion des dates et des heures en JavaScript par rapport à Date.
  • Le moteur V8 est mis à jour vers la version 14.6 et le client HTTP undici est renouvelé vers la branche 8.x (8.0.2).
  • Cette version introduit des modifications de compatibilité : nouvelles exigences de compilation, dépréciations et suppression des anciennes API.

Noeud.js 26.0.0

La plateforme JavaScript Node.js a publié La version 26, une mise à jour majeure, marque une nouvelle étape dans l'évolution de l'environnement conçu pour exécuter du code JavaScript en dehors du navigateur. Il s'agit de la nouvelle branche Courant, qui met clairement l'accent sur la modernisation de l'API standard et la préparation de l'écosystème à plusieurs années de support.

Cette nouvelle version Noeud.js 26.0.0 Elle est désormais disponible au téléchargement sur le site officiel et s'adresse aux développeurs et aux équipes souhaitant tester les nouvelles fonctionnalités au plus vite. Bien qu'il s'agisse actuellement d'une version de développement active, le projet a déjà défini le calendrier de sa transition vers une branche à support long terme, un point particulièrement important pour les entreprises qui dépendent de cycles de développement stables et prévisibles.

Calendrier des versions et cycle de support de Node.js 26

La branche 26 est intégrée aux versions de Soutien à long termeMais cela se fera en deux phases : pendant environ six mois, il fonctionnera comme CourantBénéficiant de nouvelles fonctionnalités et d'améliorations, la version 26.x passera en version LTS en octobre après une période de stabilisation du code. Une fois la transition terminée, la série 26.x sera maintenue jusqu'en mai 2029, avec des correctifs de sécurité et des corrections de bogues.

En parallèle, l'équipe de la plateforme maintient d'autres branches avec des dates de fin de vie différentes, ce qui facilite la planification des migrations dans les grands projets. Node.js 24.xLa branche 22.x, bénéficiant également d'un support étendu, continuera de recevoir des mises à jour jusqu'en avril 2028, tandis que la branche 22.x devrait prendre fin en avril 2027. En revanche, la branche LTS 20.x n'est plus maintenue et la version intermédiaire 25.x cessera d'être prise en charge début juin, incitant les équipes à passer à des séries plus récentes.

API temporelle : une nouvelle façon de travailler avec les dates et les heures

Le changement le plus visible pour ceux qui programment quotidiennement est l'activation par défaut de API temporaire, un ensemble de types et de méthodes qui offre une alternative moderne à l'objet traditionnel DateCette API vise à simplifier la gestion des dates et des heures, un domaine qui a historiquement généré des erreurs en raison des fuseaux horaires, des changements d'heure d'été et des transformations entre formats.

Avec Temporal, le temps peut être représenté de différentes manières selon les besoins spécifiques du projet. Par exemple, les applications peuvent gérer les dates et les heures sans les associer à un fuseau horaire spécifique en utilisant des types tels que Temporaire.PlainDate, Temporaire.PlainTime y Temporaire.PlainDateTime, utile pour les horaires fixes, les réservations ou les inscriptions où seule la valeur locale compte.

Lorsque le contexte exige de prendre en compte les fuseaux horaires, l'API propose Temporal.ZoneDateHeureCela associe la date et l'heure à un fuseau horaire spécifique afin de garantir des calculs précis lors de déplacements entre régions ou lors de l'application de règles de fuseaux horaires. De plus, pour stocker et comparer des heures absolues, les éléments suivants sont introduits : Temporaire.Instantané, qui représente un point dans le temps sous forme de nombre de nanosecondes depuis le 1er janvier 1970, ce qui est pratique pour les systèmes distribués ou les audits.

Au-delà des types de données, l'API intègre directement des opérations de conversion, de formatage et de calcul temporel, vous permettant d'ajouter ou de soustraire des périodes, de modifier les fuseaux horaires et de générer des résultats lisibles sans avoir recours à des bibliothèques externes. L'option temporaire est activée par défaut. Node.js 26 facilite son adoption progressive dans les projets qui nécessitent une gestion fiable du calendrier, des applications financières aux services logistiques.

Mise à jour du moteur V8 et nouvelles fonctionnalités JavaScript

Un autre élément clé de cette version est le bond en avant réalisé au niveau du moteur d'exécution. V8 à la version 14.6, la même ligne utilisée dans Chromium 146. Cette mise à jour apporte non seulement des améliorations de performances, mais aussi des fonctionnalités linguistiques supplémentaires et des optimisations internes qui ont un impact sur le temps de réponse de l'application.

Parmi les nouvelles fonctionnalités qui profitent directement aux développeurs, on trouve la possibilité de combiner plusieurs itérateurs en un seul en utilisant la méthode Iterator.concat()Cette fonctionnalité simplifie la manipulation de séquences de données provenant de différentes sources sans avoir besoin de créer de structures intermédiaires, ce qui est utile lors du traitement de flux sur des serveurs qui gèrent de gros volumes d'informations.

Le moteur intègre également les spécifications de bouleverser pour les collections Map y WeakMap En JavaScript, cette fonctionnalité simplifie la manipulation des paires clé/valeur, car elle permet d'insérer ou de mettre à jour des entrées en une seule opération, réduisant ainsi la quantité de code nécessaire et minimisant les risques de concurrence dans les environnements concurrents.

Undici 8 et améliorations du client HTTP

Concernant les communications réseau, Node.js 26 met à jour le client HTTP officiel. onze à la série 8.x. Plus précisément, diverses sources au sein du projet indiquent l'adoption de la version 8.0.2, qui représente un progrès en termes de stabilité, de performances et de compatibilité avec les besoins actuels des API web.

Cette mise à jour du client est particulièrement pertinente pour les services déployés sur une infrastructure, où l'interaction avec les microservices, les plateformes tierces et les systèmes internes est constante. La nouvelle branche undici intègre des améliorations dans la gestion des connexions persistantes, une prise en charge mise à jour de HTTP/1.1 et HTTP/2, ainsi que des optimisations de la consommation des ressources, ce qui, ensemble, réduit la latence et permet une meilleure utilisation du matériel disponible.

Modifications des exigences de compatibilité et de compilation

Le passage à Node.js 26 s'accompagne également d'ajustements de l'environnement de compilation et des outils associés. La compilation de cette version à partir des sources nécessite, entre autres, de… minimum, GCC 13.2Cette évolution aligne le projet sur les compilateurs les plus récents et garantit la disponibilité des optimisations modernes au niveau binaire. Ce changement peut nécessiter des mises à jour dans les environnements d'intégration continue ou les serveurs de compilation qui utilisent encore d'anciennes versions des outils.

Parallèlement, la nouvelle branche cesse de prendre en charge Python 3.9 Dans sa chaîne d'outils, cela signifie que les configurations qui dépendaient de cette version devront migrer vers des versions plus récentes du langage. Cette décision s'inscrit dans un effort plus large visant à supprimer les dépendances obsolètes et à maintenir le projet sur une base logicielle bénéficiant de mises à jour de sécurité continues.

Dépréciations et API obsolètes dans Node.js 26

Outre les nouvelles fonctionnalités, l'équipe de développement a introduit une série de modifications de compatibilité qu'il convient d'examiner avant la migration des projets en production. L'un des points importants est le suivant : retrait de la méthode http.Server.prototype.writeHeader(), traditionnellement utilisé pour envoyer des en-têtes HTTP depuis le serveur. À partir de cette version, la recommandation officielle est d'utiliser http.Server.prototype.writeHead(), qui reste la voie privilégiée.

De plus, cette version marque la fin du cycle pour DEP0182, lié au module cryptodans le cadre du processus régulier de nettoyage des API anciennes ou problématiques. La dépréciation de module.register()Ce changement affectera ceux qui travaillent avec des systèmes de chargement de modules plus avancés ou personnalisés, ce qui les obligera à revoir les utilisations potentielles de cette fonctionnalité.

La nouvelle branche supprime également l'option de démarrage --experimental-transform-typesCette fonctionnalité, qui faisait partie de l'ensemble des fonctionnalités expérimentales, a été supprimée. Sa suppression indique que l'équipe préfère consolider la prise en charge des transformations de types par d'autres moyens ou lors de phases ultérieures du cycle de vie du langage et de la plateforme, réduisant ainsi le nombre d'options expérimentales.

Globalement, la sortie de Node.js 26 représente une mise à jour majeure de l'écosystème : elle renforce la gestion du temps grâce à une API moderne, met à jour le moteur V8, améliore le client HTTP et progresse dans la simplification des interfaces héritées. Avec un support étendu jusqu'en 2029 et une feuille de route clairement définie, cette nouvelle version s'annonce comme une option solide pour ceux qui recherchent une stabilité à long terme sans sacrifier les dernières fonctionnalités de la plateforme.


Ajouter comme source préférée