← Backend & Fullstack

Backend & Fullstack Daily — 21 Oct 2026: OpenTelemetry JS 3.0 breaks everything, follow-redirects leaks credentials and the MCP SDK mixes up clients

Lo nuevo hoy

Today's highlights

Points forts du jour

Click en cualquiera para ir al detalle

Click any item to jump to the full section

Cliquez un élément pour aller à la section complète

🔥

Top Stories

Breaking

OpenTelemetry JS 3.0.0: Node 22.15+, un solo sdk-trace y exports estrictos

Major de las que duelen. El mínimo pasa a Node.js 22.15.0 (chau 18 y 20), y sdk-trace-base, sdk-trace-node y sdk-trace-web se fusionan en @opentelemetry/sdk-trace. Se van el exporter y el propagator de Jaeger (usá OTLP y W3CTraceContextPropagator) y el shim de OpenTracing. El build migra a tsdown con mapa de exports: cualquier deep import a build/src ahora tira ERR_PACKAGE_PATH_NOT_EXPORTED. sdk-logs pasa a estable, pero LoggerConfig.disabled se reemplaza por enabled. Solo es compatible con los paquetes experimentales 0.300.x: actualizá todo junto y leé la guía de migración antes.

20 Oct 2026
github.com/open-telemetry →
Seguridad

follow-redirects 1.16.1: dos CVEs (CVSS 8.2) filtran Authorization y Cookie en redirects

Ojo, que esto está en el árbol de dependencias de medio npm vía axios. En la 1.16.0, el borrado de headers sensibles antes de un redirect cross-origin fallaba con headers en forma de array (CVE-2026-111756) y con nombres de sensitiveHeaders mal escapados en la regex (CVE-2026-111755). Resultado: Authorization, Cookie o tus headers custom viajan al host al que te redirigen. Corré npm ls follow-redirects y forzá la 1.16.1 YA.

20 Oct 2026
github.com/advisories →
Seguridad

SDK TypeScript de MCP: un transport compartido entrega mensajes de un cliente a otro

Si exponés un server MCP por HTTP, frená y revisá. En @modelcontextprotocol/server 2.0–2.2, cuando varios clientes comparten un transport stateless o una única instancia de McpServer, las respuestas se emparejan solo por el id de JSON-RPC, y como todos los clientes arrancan en 0, las respuestas terminan en el cliente equivocado. El mismo día salieron otros advisories: un request de menos de 4 MiB que agota la memoria, bearer tokens emitidos para otro servicio que se aceptan igual, tasks no atadas a su sesión y redirects cross-origin que reenvían headers. Actualizá a server 2.3.0 / sdk 1.32.0 y creá un transport por sesión.

20 Oct 2026
github.com/advisories →
⚡

Backend TypeScript & Runtimes

Beta

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.

20 Oct 2026
devblogs.microsoft.com →
🧩

Frameworks & Libraries

Seguridad

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.

20 Oct 2026
github.com/advisories →
Minor

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.

20 Oct 2026
github.com/taskforcesh →
🗄️

Databases & Data

Destacado

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.

20 Oct 2026
aws.amazon.com →
Minor

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.

20 Oct 2026
aws.amazon.com →
☁️

Cloud & DevOps

GA

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.

20 Oct 2026
aws.amazon.com →
Destacado

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.

20 Oct 2026
infoq.com →
🏗️

Architecture & Best Practices

Seguridad

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.

20 Oct 2026
github.com/advisories →
Seguridad

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.

20 Oct 2026
github.com/advisories →
🔗

Fullstack

Beta

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.

21 Oct 2026
github.com/nrwl →
Patch

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.

20 Oct 2026
github.com/better-auth →
🔥

Top Stories

Breaking

OpenTelemetry JS 3.0.0: Node 22.15+, one sdk-trace and strict exports

A painful major. The minimum becomes Node.js 22.15.0 (18 and 20 dropped), and sdk-trace-base, sdk-trace-node and sdk-trace-web merge into @opentelemetry/sdk-trace. The Jaeger exporter and propagator (use OTLP and W3CTraceContextPropagator) and the OpenTracing shim are gone. Builds move to tsdown with an exports map: any deep import into build/src now throws ERR_PACKAGE_PATH_NOT_EXPORTED. sdk-logs becomes stable, but LoggerConfig.disabled is replaced by enabled. Only the experimental 0.300.x packages are compatible: upgrade everything together and read the migration guide first.

20 Oct 2026
github.com/open-telemetry →
Security

follow-redirects 1.16.1: two CVEs (CVSS 8.2) leak Authorization and Cookie on redirects

Watch out: this sits in half of npm's dependency trees via axios. In 1.16.0, stripping sensitive headers before a cross-origin redirect failed for array-form headers (CVE-2026-111756) and for sensitiveHeaders names poorly escaped in the regex (CVE-2026-111755). Result: Authorization, Cookie or your custom headers travel to the redirect target. Run npm ls follow-redirects and force 1.16.1 now.

20 Oct 2026
github.com/advisories →
Security

MCP TypeScript SDK: a shared transport delivers one client's messages to another

If you expose an MCP server over HTTP, stop and check. In @modelcontextprotocol/server 2.0–2.2, when several clients share a stateless transport or a single McpServer instance, responses are matched only by the JSON-RPC id, and since every client starts at 0, responses land on the wrong client. Other advisories shipped the same day: a sub-4 MiB request that exhausts memory, bearer tokens issued for another service still accepted, tasks not bound to their session, and cross-origin redirects re-sending headers. Upgrade to server 2.3.0 / sdk 1.32.0 and create one transport per session.

20 Oct 2026
github.com/advisories →
⚡

Backend TypeScript & Runtimes

Beta

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.

20 Oct 2026
devblogs.microsoft.com →
🧩

Frameworks & Libraries

Security

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.

20 Oct 2026
github.com/advisories →
Minor

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.

20 Oct 2026
github.com/taskforcesh →
🗄️

Databases & Data

Notable

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.

20 Oct 2026
aws.amazon.com →
Minor

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.

20 Oct 2026
aws.amazon.com →
☁️

Cloud & DevOps

GA

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.

20 Oct 2026
aws.amazon.com →
Notable

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.

20 Oct 2026
infoq.com →
🏗️

Architecture & Best Practices

Security

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.

20 Oct 2026
github.com/advisories →
Security

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.

20 Oct 2026
github.com/advisories →
🔗

Fullstack

Beta

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.

21 Oct 2026
github.com/nrwl →
Patch

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.

20 Oct 2026
github.com/better-auth →
🔥

Top Stories

Breaking

OpenTelemetry JS 3.0.0 : Node 22.15+, un seul sdk-trace et des exports stricts

Une majeure douloureuse. Le minimum passe à Node.js 22.15.0 (18 et 20 abandonnés), et sdk-trace-base, sdk-trace-node et sdk-trace-web fusionnent dans @opentelemetry/sdk-trace. L'exporter et le propagator Jaeger (utilisez OTLP et W3CTraceContextPropagator) ainsi que le shim OpenTracing disparaissent. Le build passe à tsdown avec une table exports : tout import profond dans build/src lève ERR_PACKAGE_PATH_NOT_EXPORTED. sdk-logs devient stable, mais LoggerConfig.disabled est remplacé par enabled. Seuls les paquets expérimentaux 0.300.x sont compatibles : mettez tout à jour ensemble.

20 Oct 2026
github.com/open-telemetry →
Sécurité

follow-redirects 1.16.1 : deux CVE (CVSS 8.2) font fuiter Authorization et Cookie lors des redirections

Attention : ce paquet se trouve dans la moitié des arbres npm via axios. En 1.16.0, la suppression des en-têtes sensibles avant une redirection cross-origin échouait pour les en-têtes sous forme de tableau (CVE-2026-111756) et pour des noms sensitiveHeaders mal échappés dans la regex (CVE-2026-111755). Résultat : Authorization, Cookie ou vos en-têtes personnalisés partent vers la cible de la redirection. Lancez npm ls follow-redirects et forcez la 1.16.1.

20 Oct 2026
github.com/advisories →
Sécurité

SDK TypeScript MCP : un transport partagé livre les messages d'un client à un autre

Si vous exposez un serveur MCP en HTTP, vérifiez tout de suite. Dans @modelcontextprotocol/server 2.0–2.2, quand plusieurs clients partagent un transport stateless ou une seule instance McpServer, les réponses ne sont associées que par l'id JSON-RPC, et comme chaque client commence à 0, les réponses arrivent chez le mauvais client. D'autres avis sont sortis le même jour : une requête de moins de 4 Mio qui épuise la mémoire, des bearer tokens émis pour un autre service acceptés, des tasks non liées à leur session et des redirections cross-origin qui renvoient les en-têtes. Passez à server 2.3.0 / sdk 1.32.0.

20 Oct 2026
github.com/advisories →
⚡

Backend TypeScript & Runtimes

Bêta

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.

20 Oct 2026
devblogs.microsoft.com →
🧩

Frameworks & Libraries

Sécurité

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.

20 Oct 2026
github.com/advisories →
Mineur

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.

20 Oct 2026
github.com/taskforcesh →
🗄️

Databases & Data

Notable

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.

20 Oct 2026
aws.amazon.com →
Mineur

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.

20 Oct 2026
aws.amazon.com →
☁️

Cloud & DevOps

GA

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.

20 Oct 2026
aws.amazon.com →
Notable

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.

20 Oct 2026
infoq.com →
🏗️

Architecture & Best Practices

Sécurité

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.

20 Oct 2026
github.com/advisories →
Sécurité

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.

20 Oct 2026
github.com/advisories →
🔗

Fullstack

Bêta

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.

21 Oct 2026
github.com/nrwl →
Patch

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.

20 Oct 2026
github.com/better-auth →