Node.js 26.2.0 estabiliza stream.compose y mejora el manejo de fechas con Temporal

  • 29 May 2026 12:24 AM

El proyecto Node.js ha lanzado la versión 26.2.0 (Current), una actualización que marca un hito en la madurez del ecosistema. Disponible desde el 20 de mayo de 2026, esta versión estabiliza stream.compose, introduce soporte para Temporal.Instant en fs.Stats, añade el método http.writeInformation para enviar códigos de estado 1xx arbitrarios, y actualiza dependencias clave como undici a 8.3.0 y SQLite a 3.53.1. Este lanzamiento prepara el terreno para la entrada en LTS programada para octubre de 2026, ofreciendo mejoras sustanciales en productividad y seguridad para desarrolladores que utilizan equipos de cómputo en entornos de producción.

stream.compose: De experimental a estable

La característica más destacada de Node.js 26.2.0 es la estabilización de stream.compose, una función que ha madurado lo suficiente como para recibir la etiqueta de estable.

¿Qué soluciona?

Anteriormente, los desarrolladores que construían tuberías de transformación de datos (pipelines) tenían que envolver la lógica de streaming en bloques try-catch o depender de indicadores internos que podían romperse entre versiones menores.

Esta situación generaba una carga mental adicional y podía provocar fugas de memoria o un manejo incorrecto de la contrapresión (backpressure) en flujos de datos intensivos.

Beneficio práctico:

Con stream.compose ahora estable, las herramientas de compilación pueden optimizar estas cadenas de transformación sin preocuparse por advertencias en tiempo de ejecución. Los equipos que migran bases de código heredadas notarán menos picos de memoria al encadenar múltiples flujos de transformación, y el manejo del backpressure se vuelve predecible sin necesidad de parchear indicadores internos.

Temporal.Instant: Manejo moderno de fechas en el sistema de archivos

Node.js 26.2.0 introduce soporte para Temporal.Instant en fs.Stats y fs.BigIntStats, una integración que acerca el ecosistema a la adopción completa de la API Temporal.

Contexto:

La API Temporal, estabilizada en Node.js 26.0, representa un reemplazo moderno del objeto Date de JavaScript.

Es inmutable, consciente de zonas horarias y tipográficamente segura.

Con esta actualización, los metadatos de archivos devueltos por fs.stat() ahora pueden interactuar directamente con objetos Temporal.Instant, eliminando la necesidad de conversiones manuales entre formatos de fecha.

Ejemplo de uso:

const fs = require('fs/promises');
const stats = await fs.stat('archivo.txt');
// stats.mtime es ahora compatible con Temporal.Instant
const instant = Temporal.Instant.from(stats.mtime);
console.log(instant.toZonedDateTimeISO('America/Mexico_City'));

Esta integración es particularmente útil para aplicaciones que necesitan procesar marcas de tiempo de archivos en múltiples zonas horarias o realizar cálculos precisos de diferencias temporales.

http.writeInformation: Envío de códigos 1xx

La nueva versión añade el método http.writeInformation, que permite enviar códigos de estado informativos 1xx (como 103 Early Hints) a través de la pila HTTP estándar.

Antes vs. Ahora:

  • En versiones anteriores: Enviar respuestas provisionales requería manipular cabeceras directamente o intervenir en objetos internos de la solicitud, lo que provocaba fallos bajo balanceadores de carga y proxies inversos.

  • Con Node.js 26.2.0: El nuevo método enruta estas respuestas a través de la pila HTTP correcta, garantizando el cumplimiento de los estándares RFC sin necesidad de recurrir a sockets de bajo nivel.

Esta mejora se complementa con una validación actualizada en http2.writeEarlyHints, que ahora detecta cabeceras Link mal formadas antes de que corrompan las conexiones descendentes.

Fortalecimiento del módulo crypto

La seguridad criptográfica recibe varias mejoras en esta versión :

Mejora Impacto
Hardening de slots de CryptoKey y KeyObject Previene la filtración accidental de parámetros de algoritmo entre operaciones criptográficas, cerrando una posible vía de fuga de información en configuraciones mal escritas.
Soporte para algoritmos modernos en BoringSSL Incluye ML-DSA, ML-KEM, ChaCha20-Poly1305 y AES-KW, trayendo cifrado ligero y post-cuántico a entornos que prefieren el menor footprint de BoringSSL.
Reescritura de enumeración de certificados en macOS Corrige casos donde el acceso al llavero (keychain) fallaba silenciosamente durante los handshakes TLS.

Estas correcciones son particularmente importantes porque las configuraciones erróneas de cifrado raramente lanzan errores evidentes, y suelen manifestarse como caídas intermitentes de conexión en clústeres de producción.

Actualización de dependencias clave

Node.js 26.2.0 actualiza varias dependencias fundamentales:

Dependencia Nueva versión
undici 8.3.0
corepack 0.35.0
SQLite 3.53.1
npm 11.13.0
V8 14.6.202.34

La actualización de undici a la versión 8.3.0 incorpora correcciones de seguridad para vulnerabilidades de denegación de servicio (DoS) que afectaban a versiones anteriores, incluyendo problemas en el manejo de WebSocket y cabeceras HTTP duplicadas.

QUIC y mejoras internas

El protocolo QUIC (base de HTTP/3) avanza hacia la madurez interna, con mejoras en el reporte de errores ALPN (Application-Layer Protocol Negotiation) y soporte para indicadores de permisos en los controles de acceso a red.

Esto significa que las aplicaciones que dependen de conexiones HTTP/3 sobre UDP obtendrán reportes de error consistentes en lugar de vagos timeouts de socket.

Disponibilidad y cómo actualizar

Node.js 26.2.0 está disponible para descarga inmediata. Dado que se trata de una versión Current (no LTS), se recomienda para entornos de desarrollo y pruebas, mientras que los entornos de producción deberían esperar a la entrada en LTS en octubre de 2026.

Enlaces de descarga oficiales

Métodos de instalación

Usando nvm (Node Version Manager):

nvm install 26
nvm use 26
node -v  # Debería mostrar "v26.2.0"
npm -v   # Debería mostrar "11.13.0"

Descarga directa de instaladores (Windows/macOS):

Sistema Arquitectura Instalador
Windows x64 node-v26.2.0-x64.msi
Windows ARM64 node-v26.2.0-arm64.msi
macOS x64 node-v26.2.0.pkg
macOS ARM64 node-v26.2.0.pkg

Calendario de soporte

Node.js 26 se encuentra actualmente en la fase "Current". Según el calendario de lanzamientos:

  • Entrada en LTS (Active LTS): Octubre de 2026

  • Fin de soporte (EOL): 30 de abril de 2029

Consideraciones para administradores

Para entornos de producción:

La versión recomendada sigue siendo Node.js 24.x LTS hasta que Node.js 26 entre en LTS en octubre de 2026. Node.js 20.x ha alcanzado su EOL, por lo que las organizaciones que aún dependen de esta versión deben planificar su migración.

Para desarrollo y pruebas:

Node.js 26.2.0 ofrece mejoras significativas en productividad (stream.compose estable, Temporal.Instant en fs, http.writeInformation) que justifican su adopción en entornos no críticos.

Verificación de la versión instalada:

node --version   # v26.2.0
npm --version    # 11.13.0

Esta actualización representa un paso importante hacia la madurez de Node.js 26, preparando el ecosistema para la estabilidad que traerá su designación como LTS en los próximos meses.