Backend & Fullstack Daily — 21 Oct 2026: OpenTelemetry JS 3.0 breaks everything, follow-redirects leaks credentials and the MCP SDK mixes up clients
TypeScript 7.1 beta: target ES2026, import source y API programática nueva
Primera minor grande del compilador nativo. --target es2026 y --lib es2026 pasan a estables (Array.fromAsync(), Math.sumPrecise()), llegan las source phase imports (import source) y los import attributes en módulos ambientales. Hay API nueva en typescript/sync, typescript/fs y typescript/ast con file systems virtuales, aunque no lee tsconfig.json. Ojo con el breaking: los chequeos distributivos en conditional types son más estrictos y algunos tipos utilitarios van a empezar a fallar.
Hono 4.13.11: serveStatic decodificaba el path dos veces y salteaba middleware
Hono decodifica el path antes de rutear, y serveStatic lo volvía a decodificar antes de resolver el archivo. Con un percent-encoding malformado, el request se rutea como un path y se sirve como otro, así que el middleware montado sobre un prefijo estático (auth, por ejemplo) no corre. Afecta 4.12.4 a 4.13.10. Si protegés estáticos con middleware, actualizá a 4.13.11.
BullMQ 6.3.19: deduplicación más rápida con LPOS
Patch de performance: el chequeo de membresía de keepLastIfActive en deduplicación ahora usa LPOS de Redis, y el cambio se replica en los ports de Python, Elixir, PHP y Rust. Upgrade sin drama.
ElastiCache Serverless for Valkey: migración online sin downtime
Ahora podés mover un cluster Valkey o Redis OSS autogestionado en EC2 (cluster mode) a ElastiCache Serverless sin cortar el tráfico. El uso de la migración es gratis los primeros 180 días por cuenta: si venías postergando salir del Redis en EC2, no hay más excusas.
DynamoDB global tables: desasociar réplicas sin copiar datos
Podés cortar la replicación hacia una réplica de una global table MREC y seguir usando esa tabla como tabla de una sola región, sin copia de datos. Útil para salir de una región o separar un entorno.
Amazon ECS Gateway: ingress administrado para servicios ECS
ECS Gateway provisiona y administra los Application Load Balancers de tus servicios ECS por vos. Está en todas las regiones comerciales sin cargo adicional: pagás solo la infraestructura subyacente. Menos Terraform de ALB y listeners copiado y pegado entre servicios.
Actions Runner Controller 0.15: mucho menos tráfico a la API de Kubernetes
ARC pasa de updates completos a requests patch, mueve la agregación de estado de runners a métricas y filtra eventos para evitar reconciliaciones redundantes. Suma límites configurables de concurrencia y de rate del listener, así que si tenés runners self-hosted a escala, por fin podés tunear throughput contra la carga del API server.
certifi saca la raíz emSign: ocho intermedias con claves comprometidas
Ocho CAs intermedias de eMudhra que encadenan a emSign ECC Root CA - G3 tienen claves privadas comprometidas: con una, un atacante on-path puede emitir certificados válidos para cualquier host. certifi (y el CA store embebido de uv) la sacan en 2026.10.19, CVSS 9.1. Lección de arquitectura: si tus servicios o containers traen un bundle de CAs pinneado, tenés que poder rotarlo rápido. Revisá tus imágenes base y cualquier trust store vendorizado.
markdown-it: render cuadrático con opciones por defecto, regresión desde 14.0
Una link reference definition sin cerrar se procesa en O(n²) por concatenación de strings que fuerza a V8 a aplanar cons-strings. Si renderizás Markdown de usuarios en el server, es un DoS servido. Actualizá a 14.3.3 o 15.0.3, y de paso: poné un límite de tamaño al input antes de parsear, siempre.
Nx 24.0.0-rc.0: espera dev servers por defecto y limpia deprecaciones
Primer RC de Nx 24. Las tareas ahora esperan a que el dev server esté listo (timeout de 10 minutos) y las apps Node generadas reportan readiness con emitReadySignal. Se van los generadores SCAM de Angular, NX_MIGRATE_SKIP_REGISTRY_FETCH y setParserOptionsProject. También arregla cache hits viejos cuando inputs comparten hash key y pasa los comandos de publish como argv en vez de shell strings.
better-auth 1.7.12: el JWT plugin deja de confiar en el alg del header
Patch con acción requerida. El plugin JWT ahora verifica con el algoritmo de la clave guardada y no con el del header del token, y avisa si firmás sin issuer o audience. Los callbacks por el OAuth proxy corren las mismas validaciones de issuer y nonce. Si usás sign-in con ID token y un provider sin clientId, tenés que configurarlo con todos los client IDs de tus apps.
Tendencias Destacadas
El SDK de MCP vive su momento «Express 2012»: cinco advisories en un día muestran que los servers de agentes multi-tenant necesitan el mismo aislamiento por sesión que cualquier API HTTP.
Node 20 se queda afuera: OpenTelemetry JS 3.0 exige 22.15+ y NestJS 12 ya pedía 20.19+/22.12+. Planificá el salto del runtime antes de que el ecosistema te arrastre.
TypeScript 7.1 beta: ES2026 target, import source and a new programmatic API
The first big minor of the native compiler. --target es2026 and --lib es2026 become stable (Array.fromAsync(), Math.sumPrecise()), source phase imports (import source) land, and import attributes work in ambient modules. A new API ships in typescript/sync, typescript/fs and typescript/ast with virtual file systems, though it does not read tsconfig.json. Watch the breaking change: distributive checks in conditional types are stricter, so some utility types will start erroring.
Hono 4.13.11: serveStatic decoded the path twice and skipped middleware
Hono decodes the path before routing, and serveStatic decoded it again before resolving the file. With malformed percent-encoding, a request is routed as one path and served as another, so middleware mounted on a static prefix (auth, for example) does not run. Affects 4.12.4 through 4.13.10. If you protect static files with middleware, upgrade to 4.13.11.
BullMQ 6.3.19: faster deduplication with LPOS
A performance patch: the keepLastIfActive membership check in deduplication now uses Redis LPOS, and the change is mirrored in the Python, Elixir, PHP and Rust ports. A no-drama upgrade.
ElastiCache Serverless for Valkey: online migration with zero downtime
You can now move a self-managed Valkey or Redis OSS cluster-mode cache on EC2 into ElastiCache Serverless without cutting traffic. Migration usage is free for the first 180 days per account: if you kept postponing leaving Redis on EC2, the excuses are gone.
DynamoDB global tables: disassociate replicas without copying data
You can stop replication to a replica of an MREC global table and keep using that table as a single-Region table, with no data copy. Handy for leaving a Region or splitting off an environment.
Amazon ECS Gateway: managed ingress for ECS services
ECS Gateway provisions and manages the Application Load Balancers for your ECS services. It is available in all commercial Regions at no extra charge: you only pay for the underlying infrastructure. Less copy-pasted ALB and listener Terraform across services.
Actions Runner Controller 0.15: far less Kubernetes API traffic
ARC switches from full updates to patch requests, moves runner status aggregation into metrics and filters events to avoid redundant reconciliation. It adds configurable concurrency and listener rate limits, so teams running self-hosted runners at scale can finally tune throughput against API server load.
certifi drops the emSign root: eight intermediates with compromised keys
Eight eMudhra intermediate CAs chaining to emSign ECC Root CA - G3 have compromised private keys: with one, an on-path attacker can issue valid certificates for any host. certifi (and uv's bundled CA store) remove it in 2026.10.19, CVSS 9.1. Architecture lesson: if your services or containers ship a pinned CA bundle, you must be able to rotate it fast. Check your base images and any vendored trust store.
markdown-it: quadratic rendering with default options, a regression since 14.0
An unclosed link reference definition is processed in O(n²) because string concatenation forces V8 to flatten cons-strings. If you render user Markdown on the server, that is a ready-made DoS. Upgrade to 14.3.3 or 15.0.3, and while you are at it, always cap input size before parsing.
Nx 24.0.0-rc.0: waits for dev servers by default and removes deprecations
First Nx 24 RC. Tasks now wait for the dev server to be ready (10-minute timeout) and generated Node apps report readiness with emitReadySignal. Angular SCAM generators, NX_MIGRATE_SKIP_REGISTRY_FETCH and setParserOptionsProject are removed. It also fixes stale cache hits when inputs share a hash key and passes publish commands as argv instead of shell strings.
better-auth 1.7.12: the JWT plugin stops trusting the header's alg
A patch with required action. The JWT plugin now verifies with the stored key's algorithm instead of the token header's, and warns when signing without an issuer or audience. OAuth proxy callbacks now run the same issuer and nonce checks. If you use ID token sign-in with a provider lacking clientId, set it to every client ID your apps use.
Notable Trends
The MCP SDK is having its "Express 2012" moment: five advisories in one day show that multi-tenant agent servers need the same per-session isolation as any HTTP API.
Node 20 is being left behind: OpenTelemetry JS 3.0 requires 22.15+ and NestJS 12 already asked for 20.19+/22.12+. Plan the runtime jump before the ecosystem drags you along.
TypeScript 7.1 bêta : cible ES2026, import source et nouvelle API programmatique
Première grosse mineure du compilateur natif. --target es2026 et --lib es2026 deviennent stables (Array.fromAsync(), Math.sumPrecise()), les source phase imports (import source) arrivent, et les import attributes fonctionnent dans les modules ambiants. Une nouvelle API arrive dans typescript/sync, typescript/fs et typescript/ast avec des systèmes de fichiers virtuels, sans lecture de tsconfig.json. Attention : les vérifications distributives des conditional types sont plus strictes.
Hono 4.13.11 : serveStatic décodait le chemin deux fois et contournait le middleware
Hono décode le chemin avant le routage, et serveStatic le décodait une seconde fois avant de résoudre le fichier. Avec un percent-encoding malformé, une requête est routée comme un chemin et servie comme un autre, donc le middleware monté sur un préfixe statique (auth par exemple) ne s'exécute pas. Versions 4.12.4 à 4.13.10 concernées : passez à 4.13.11.
BullMQ 6.3.19 : déduplication plus rapide avec LPOS
Patch de performance : la vérification d'appartenance keepLastIfActive de la déduplication utilise désormais LPOS de Redis, et le changement est répliqué dans les ports Python, Elixir, PHP et Rust.
ElastiCache Serverless for Valkey : migration en ligne sans interruption
Vous pouvez désormais migrer un cache Valkey ou Redis OSS autogéré en mode cluster sur EC2 vers ElastiCache Serverless sans couper le trafic. La migration est gratuite pendant les 180 premiers jours par compte.
DynamoDB global tables : dissocier des réplicas sans copier les données
Vous pouvez arrêter la réplication vers un réplica d'une global table MREC et continuer à utiliser cette table en mono-région, sans copie de données.
Amazon ECS Gateway : ingress géré pour les services ECS
ECS Gateway provisionne et gère les Application Load Balancers de vos services ECS. Disponible dans toutes les régions commerciales sans frais supplémentaires : vous ne payez que l'infrastructure sous-jacente.
Actions Runner Controller 0.15 : beaucoup moins de trafic vers l'API Kubernetes
ARC passe des mises à jour complètes aux requêtes patch, déplace l'agrégation de l'état des runners vers les métriques et filtre les événements pour éviter des réconciliations redondantes. Il ajoute des limites configurables de concurrence et de débit du listener.
certifi retire la racine emSign : huit intermédiaires aux clés compromises
Huit CA intermédiaires eMudhra rattachées à emSign ECC Root CA - G3 ont des clés privées compromises : un attaquant on-path peut émettre des certificats valides pour n'importe quel hôte. certifi (et le magasin de CA intégré à uv) la retirent en 2026.10.19, CVSS 9.1. Leçon : si vos services ou conteneurs embarquent un bundle de CA figé, vous devez pouvoir le faire tourner vite.
markdown-it : rendu quadratique avec les options par défaut, régression depuis 14.0
Une link reference definition non fermée est traitée en O(n²) car la concaténation de chaînes force V8 à aplatir des cons-strings. Si vous rendez du Markdown utilisateur côté serveur, c'est un DoS tout prêt. Passez à 14.3.3 ou 15.0.3, et limitez toujours la taille de l'entrée avant parsing.
Nx 24.0.0-rc.0 : attend les dev servers par défaut et supprime des dépréciations
Premier RC de Nx 24. Les tâches attendent que le dev server soit prêt (timeout de 10 minutes) et les apps Node générées signalent leur disponibilité via emitReadySignal. Les générateurs SCAM Angular, NX_MIGRATE_SKIP_REGISTRY_FETCH et setParserOptionsProject disparaissent. Corrige aussi des hits de cache obsolètes.
better-auth 1.7.12 : le plugin JWT ne fait plus confiance à l'alg de l'en-tête
Un patch avec action requise. Le plugin JWT vérifie désormais avec l'algorithme de la clé stockée et non celui de l'en-tête, et avertit en l'absence d'issuer ou d'audience. Les callbacks via le proxy OAuth appliquent les mêmes vérifications d'issuer et de nonce. Avec la connexion par ID token sans clientId, renseignez tous vos client IDs.
Tendances Notables
Le SDK MCP vit son moment « Express 2012 » : cinq avis en une journée montrent que les serveurs d'agents multi-tenant exigent la même isolation par session que n'importe quelle API HTTP.
Node 20 est laissé de côté : OpenTelemetry JS 3.0 exige 22.15+ et NestJS 12 demandait déjà 20.19+/22.12+. Planifiez la migration du runtime avant d'y être forcé.