Livré le 20 avril, Node.js 16 apporte le support des puces Apple ainsi que d’autres API stables pour le runtime JavaScript. Cette version est donc la première à intégrer des binaires pré-construits pour les puces ARM des Mac. L'outil fournit des fichiers d’archive - tarballs - séparés pour les architectures Intel et ARM. En revanche, le fichier d’installation pour MacOS sera livré comme un binaire « fat » qui couvre les deux architectures.
Parmi les fonctionnalités de cette dernière version en date (Node.js 15 est sorti en octobre), on trouve d’abord l’API Timers Promises, désormais stable, qui fournit un jeu de fonctions de timer pour retourner les objets Promise, supprimant ainsi la nécessité de recourir à util.promisify( ).
Ajouté à Node.js 15 par James Snell, l'API Timers Promises est maintenant stable dans Node.js 16. (Crédit : Node.js)
Le moteur JavaScript/WebAssembly V8 sous-jacent a évolué de la v.8.6 à la v.9. Cette mise à niveau comprend ECMAScript RegExp Match Indices qui fournit les indices de début et fin de la chaîne de caractères capturée. On trouve également inclus Node-API version 8, Source Maps v3 stable et les mises en oeuvre des fonctions atob et btoa pour la compatibilité avec les API de la plateforme web existante. Parmi les dépréciations figure celle du runtime d’accès à process.binding( ) pour un certain nombre de modules tels que process.binding(‘http_parser’).
En support long terme en octobre
Node.js 16 est téléchargeable depuis nodejs.org ou bien en utilisant Node Version Manager sur Unix pour installer nvm install 16. Il remplace Node.js 15 comme version en cours pendant les 6 prochains mois et passera au support à long terme en octobre. A ce moment-là, la version sera désignée sous le nom de code « Gallium ». La fin de vie pour Node.js 16.x est prévue pour le 30 avril 2024. Concernant les précédentes versions, Node.js 12 sera supporté jusqu’en avril 2022 et Node.js 14 bénéficie du support à long terme jusqu’en avril 2023.
Sur les plateformes Linux, le niveau GCC (Gnu C Compiler) minimum pour le build des projets Node.js est GCC 8.3. Les détails sur les outils et compilateurs supportés sont accessible dans le fichier BUILDING.md.
Deno, un sérieux concurrent
Au royaume des runtimes JavaScript, Node.js doit maintenant partager la vedette avec Deno qui est conduit par le créateur de Node.js, Ryan Dahl, et qui prévoit de fournir une alternative plus sécurisée à ce dernier. La version 1.9 de Deno remonte au 13 avril, la v.1.8 à mars. Au début du mois, Ryan Dahl et Bert Belder (l’autre co-fondateur de Deno) ont par ailleurs annoncé qu’ils montaient une société pour améliorer leur projet avec un capital de départ suffisant (4,9 M$) pour recruter une équipe d’ingénieurs à plein temps. Ils reprochent notamment à Node.js d’être fragmenté et de ne pas innover suffisamment.