Aller au contenu

Le média des artisans du web vendredi 28 août 2026

Back-end

Node.js 26.8 internalise les archives ZIP et la gestion des ressources SQLite

Publiée le 26 août 2026, Node.js 26.8 fait entrer dans la bibliothèque standard la lecture d'archives ZIP, la fermeture automatique des statements SQLite et un parseur MIME non bloquant. Une version mineure sans rupture, mais qui retire plusieurs dépendances d'un projet back-end.

Publiée le 26 août 2026, Node.js 26.8.0 est une version mineure de la ligne Current. Sous une numérotation discrète, elle fait remonter dans la bibliothèque standard plusieurs fonctions jusqu’ici confiées à des paquets externes : la manipulation d’archives ZIP, la fermeture déterministe des statements SQLite et une variante non bloquante du parseur MIME.

Des archives ZIP dans le module zlib

Le module zlib n’offrait jusqu’à présent que la compression par flux : gzip, deflate et brotli. Il ne savait pas ouvrir ni composer un fichier .zip, format d’archive le plus répandu pour les exports, les thèmes, les extensions ou les paquets de traduction. Cette lacune imposait une dépendance comme adm-zip, yauzl ou jszip.

La 26.8 ajoute trois classes à zlib : ZipEntry, ZipFile et ZipBuffer. Un projet peut désormais lire le contenu d’une archive et en produire une nouvelle sans quitter le cœur du runtime, ce qui réduit d’autant la surface à auditer et à maintenir.

La gestion explicite des ressources arrive pour SQLite

Le module node:sqlite, stabilisé au fil de la série 24, gagne deux méthodes sur StatementSync : close() et [Symbol.dispose](). La seconde branche l’objet sur le mot-clé using de JavaScript, qui libère automatiquement la ressource à la sortie du bloc.

import { DatabaseSync } from 'node:sqlite';

const db = new DatabaseSync('app.db');

// `using` appelle Symbol.dispose a la sortie du bloc :
// le statement est ferme sans try/finally explicite.
{
  using stmt = db.prepare('SELECT email FROM users WHERE id = ?');
  const row = stmt.get(42);
  console.log(row.email);
}
// stmt.close() a deja ete appele ici.

Le gain n’est pas cosmétique : un statement laissé ouvert retient un verrou et de la mémoire. Confier sa fermeture au moteur du langage supprime une classe entière de fuites.

Chaque brique remontée dans la bibliothèque standard est une dépendance de moins à auditer, à mettre à jour et à corriger en urgence.

Chiffrement, MIME et REPL : les ajouts plus discrets

Côté crypto, la version active les modes SIV et GCM-SIV dans les API Cipher et Decipher, et permet de préciser l’algorithme de hachage mgf1Hash pour RSA-OAEP. Le module util reçoit une version non bloquante de MIMEType.parse : au lieu de lever une exception sur une valeur invalide, elle renvoie null.

import { MIMEType } from 'node:util';

// Ancienne voie : new MIMEType(valeur) leve sur une entree douteuse.
// 26.8 : parse renvoie null au lieu de jeter.
const type = MIMEType.parse(enTete);
if (type === null) {
  // entree rejetee proprement, sans try/catch
}

Le REPL interactif se dote enfin d’une coloration syntaxique de base, et l’API TracingChannel de diagnostics_channel passe au statut stable. La liste des autorités de certification est mise à jour vers NSS 3.126.

Ce que la version internalise

BesoinAvant la 26.8Node.js 26.8
Lire ou créer une archive ZIPadm-zip, yauzl, jszipZipEntry, ZipFile, ZipBuffer (zlib)
Fermer un statement SQLitetry / finally manuelusing + Symbol.dispose
Parser un type MIME incertaintry / catch autour de new MIMEType()MIMEType.parse() renvoie null
Chiffrer en mode SIV ou GCM-SIVbibliothèque tiercecrypto natif

Current n’est pas LTS. La série 26 est la ligne Current : elle reçoit les nouveautés en premier, mais n’est pas destinée aux déploiements de longue durée. Le même 26 août, Node.js a publié la 24.20.0, dernière LTS, qui reste le choix par défaut en production. La 26.8 vise les projets qui suivent la ligne Current ou qui ont besoin de ces API sans attendre leur rétroportage.

Ce qu’il faut retenir

  • Node.js 26.8.0 est sortie le 26 août 2026 sur la ligne Current, accompagnée de la 24.20.0 LTS.
  • Le module zlib sait désormais lire et écrire des archives ZIP via ZipEntry, ZipFile et ZipBuffer.
  • node:sqlite s’aligne sur la gestion explicite des ressources avec using.
  • Les ajouts crypto, util et la coloration du REPL complètent une version mineure sans rupture.

Sur mes projets back-end, une bonne part des alertes remontées par l’audit de dépendances venait de paquets utilitaires que le cœur de Node ne couvrait pas encore : décompression, parsing, petits utilitaires crypto. Voir le ZIP et la gestion des ressources rejoindre la bibliothèque standard, c’est autant de lignes en moins dans le package.json et autant d’alertes en moins le lundi matin. Je reste sur la 24 LTS en production, mais je teste la 26 précisément pour cela. — Simon Janvier

Pour aller plus loin

Notes de version complètes : Node.js v26.8.0 (nodejs.org).

À lire aussi sur Mail Studio

Partager LinkedIn Bluesky Hacker News E-mail

À lire aussi