La rama LTS «Krypton» de Node.js recibió el 14 de octubre de 2026 la versión 24.22.0, que incluye diecisiete cambios notables. El lote afecta al módulo crypto, a la API de SQLite integrada, a perf_hooks y al módulo util, con dos funciones muy esperadas como protagonistas: util.throttle y util.debounce.
El módulo crypto gana certificados y nuevos modos de cifrado
Cinco de los diecisiete cambios son de criptografía. crypto.parsePKCS12() permite ahora leer directamente un contenedor PKCS#12 (el formato .p12/.pfx que empaqueta un certificado y su clave privada) sin depender de una librería externa. También se añadió una API MAC genérica, junto con el descubrimiento dinámico de cifrados y funciones hash expuestos por los proveedores de OpenSSL. Los modos SIV y GCM-SIV se suman por fin a las API Cipher y Decipher, dos modos resistentes a la reutilización accidental de un nonce, un escenario que ya ha costado caro a más de una implementación de cifrado a nivel de aplicación.
Los modos SIV y GCM-SIV dependen del proveedor OpenSSL con el que se compiló el binario de Node.js utilizado. Antes de integrarlos en producción, comprobar crypto.getCiphers() en el entorno de destino evita un fallo silencioso en el despliegue.
util.throttle y util.debounce dejan de depender de librerías externas
Hasta ahora, limitar la frecuencia de una llamada (debounce) o acotar su tasa de ejecución (throttle) obligaba a instalar lodash o una microlibrería dedicada. Node.js 24.22.0 incorpora una implementación nativa de ambas en node:util, pensada para los scripts de servidor que necesitan frenar escrituras en disco, llamadas a una API externa o notificaciones repetidas.
import { throttle, debounce } from 'node:util';
const logMetrics = throttle(() => {
console.log('snapshot de métricas enviado');
}, 5000);
const persistDraft = debounce((content) => {
writeFileSync('draft.json', JSON.stringify(content));
}, 800);
onMetricTick(logMetrics);
onEditorChange(persistDraft);
SQLite: un cierre explícito para las sentencias preparadas
StatementSync.prototype.close() y StatementSync.prototype[Symbol.dispose]() entran en el módulo node:sqlite. Hasta ahora, las sentencias preparadas podían permanecer abiertas mientras durara el proceso; ahora pueden liberarse de forma explícita, o automáticamente mediante la sintaxis using del lenguaje, lo que simplifica la gestión de recursos en scripts de migración o tareas puntuales.
perf_hooks afina la observación de latencias
El módulo de medición de rendimiento recibe un nuevo histograma de ventana deslizante, SlidingWindowHistogram, además de una API de intervalo de confianza sobre la media (meanCI) y exportación/importación en formato CBOR para hacer circular histogramas entre procesos o servicios.
Con SlidingWindowHistogram, perf_hooks deja de conformarse con una media móvil: captura cómo evoluciona una latencia en el tiempo, no solo su valor medio durante toda la vida del proceso.
| Novedad | Módulo | Uso típico |
|---|---|---|
| crypto.parsePKCS12() | node:crypto | Cargar un certificado cliente .p12 sin librería externa |
| API MAC genérica | node:crypto | Calcular un código de autenticación de mensaje independiente de HMAC |
| Modos SIV / GCM-SIV | node:crypto | Cifrado tolerante a la reutilización de nonce |
| util.throttle / util.debounce | node:util | Limitar la frecuencia de escrituras o llamadas de red |
| StatementSync.close() / Symbol.dispose | node:sqlite | Liberar una sentencia preparada de forma explícita |
| SlidingWindowHistogram | node:perf_hooks | Seguir la evolución de una latencia en el tiempo |
Esta versión menor ilustra una tendencia de fondo en la rama 24: incorporar al núcleo del runtime utilidades que la mayoría de los equipos iban a buscar antes a través de npm. Es el mismo movimiento que llevó a activar por defecto la API Temporal en Node.js 26, donde el proyecto optó por estandarizar en lugar de dejar que el ecosistema fragmentara la misma necesidad en decenas de paquetes competidores.
Lo que hay que recordar
Node.js 24.22.0 sigue siendo, en sentido estricto, una actualización menor (SEMVER-MINOR en casi todos los cambios), sin rupturas de compatibilidad previstas para las aplicaciones existentes. Los equipos que gestionan certificados de cliente, escriben scripts de limitación de frecuencia o se apoyan en SQLite embebido tienen ahora un motivo concreto para planificar la migración a esta línea LTS.
Lo que más me llama la atención de esta versión no es la criptografía, sino el dúo throttle/debounce: son dos funciones que he reimplementado o importado de lodash en prácticamente todos mis proyectos backend durante la última década. Verlas integradas en el runtime, con una semántica probada por el propio equipo de Node, es una línea de dependencia menos que auditar en cada proyecto de cliente. — Simon Janvier
Para profundizar: el detalle completo de los cambios de la versión 24.22.0 está disponible en el changelog oficial de la rama Node.js 24.
