workerd v1.20260924.1 suma env.AI.websearch y grupos de isolate frescos
El runtime de Cloudflare Workers expone env.AI.websearch como binding nativo, arranca con grupos de isolate frescos cuando están disponibles y arregla el tee() de un body nativo con una lectura abandonada en vuelo. También preserva las excepciones del VFS al abrir SQLite — detalle chico pero clave si debuggeás Durable Objects con storage SQL.
NestJS 12.1.0: middleware transient arreglado y reintentos de Redis en microservices
El fix más jugoso: un middleware transient ya no saltea los middlewares siguientes de la cadena. Suma herencia de parámetros opcionales del constructor cuando no se redeclara, nombres de handler de ruta preservados (adiós funciones anónimas en los logs), y en microservices el cliente Redis reintenta después de una conexión fallida y toda request pendiente falla cuando un callback tira excepción.
Hono 4.13.9: JWT más estricto, linear-router y nueve fixes de AWS Lambda
El middleware jwt ahora tira JwtTokenInvalid cuando la firma no es base64url válido, en vez de fallar raro más adelante. El linear-router deja de matchear un segmento vacío como parámetro — ojo, eso puede cambiar rutas que hoy resuelven por accidente. Del lado serverless: media types +xml tratados como binarios, query params vacíos preservados y errores descriptivos ante eventos malformados en lambda-edge.
Apollo Router 2.16.4-rc.0 entra en release candidate
El router de federación GraphQL publica su primer RC de la serie 2.16.4. Si tenés un supergraph en producción, es la ventana para correrlo en staging contra tu schema real antes del stable: los RC del router suelen ser la única oportunidad de detectar regresiones de planificación de queries propias de tu federación.
BullMQ Rust 1.3.0 suma get_dependencies para flows
El port Rust de BullMQ incorpora get_dependencies en Queue, la pieza que faltaba para inspeccionar árboles de jobs padre-hijo desde Rust. Importa más de lo que parece: te deja correr workers Rust contra las mismas colas Redis que tu backend Node sin perder visibilidad de los flows.
Kubernetes parchea 1.37.1, 1.36.5, 1.35.9 y 1.34.12 el mismo día
Cuatro ramas soportadas parchadas en simultáneo, con 1.37.1 llegando apenas dos días después del 1.37.0 que trajo la Metrics API estable y el kubelet rootless en beta. El changelog de 1.37.1 es de tipo Bug or Regression y Failing Test, sin notas de upgrade urgentes. Si ya subiste a 1.37 esta semana, el patch de seguimiento es prácticamente obligatorio.
Cloudflare recorta 56% por entrada del cache de 1.1.1.1 y libera 100 TB
Clase magistral de optimización de memoria en Rust, en cinco pasos: cambiar Vec y String por Box<[T]> y Box<str> para datos inmutables tras la inserción (64 bytes por entrada), unificar answer, authority y additional en una sola lista con offsets compactos, empaquetar booleans en bitflags, omitir nombres redundantes reconstruyéndolos desde la clave del cache, y guardar los records en formato wire DNS en buffers contiguos.
Resultado: 953 → 420 bytes por entrada, inserciones +43%, latencia de lookup -19% y memoria residente p99 de 9.3 GB a 5.3 GB. Si tenés un cache in-process grande, esto es lectura obligatoria — el patrón aplica igual en Go, Java o TypeScript.
Nx 23.3.0-beta.5 baja el overhead de inferencia de package.json
La beta recorta el overhead de inferencia de package.json en el core — lo que se nota directo en el tiempo de arranque del grafo en monorepos grandes. Suma que las referencias internas de proyecto en tsconfig ya no se pierden en Windows, y que el plugin de Next.js usa out/ como directorio de salida por defecto cuando el output es export.
Tendencias Destacadas
Dos de los tres items más urgentes del día son DoS por complejidad algorítmica en el parsing de entrada: Elysia con FormData cuadrático y multer con escrituras huérfanas. El parser de multipart sigue siendo el punto más blando del stack HTTP en Node.
El caso de Cloudflare confirma algo que repetimos siempre: antes de escalar horizontalmente, medí el layout de memoria. Cinco cambios de representación dieron 56% menos por entrada y de paso +43% de throughput. Ningún nodo extra hacía falta.
NestJS publicó 12.1.0 y 11.2.6 el mismo día, con la línea de mantenimiento cargando el fix de seguridad. Es la señal de que el ecosistema Nest ya opera con backports serios: quedarte en 11 sigue siendo una opción válida si tomás los patches.
workerd v1.20260924.1 adds env.AI.websearch and fresh isolate groups
The Cloudflare Workers runtime exposes env.AI.websearch as a native binding, starts with fresh isolate groups when available, and fixes tee() on a native body with an abandoned in-flight read. It also preserves VFS exceptions when opening SQLite — small, but key if you debug Durable Objects backed by SQL storage.
NestJS 12.1.0: transient middleware fixed and Redis retries in microservices
The juiciest fix: a transient middleware no longer skips the middlewares that follow it in the chain. It also inherits optional constructor params when the ctor is not redeclared, preserves route handler names (goodbye anonymous functions in logs), and in microservices the Redis client now retries after a failed connect while every pending request fails when a callback throws.
Hono 4.13.9: stricter JWT, linear-router and nine AWS Lambda fixes
The jwt middleware now throws JwtTokenInvalid when the signature is not valid base64url, instead of failing oddly further down. The linear-router stops matching an empty path segment as a param — watch out, that can change routes resolving by accident today. On the serverless side: +xml media types treated as binary, empty query params preserved, and descriptive errors on malformed lambda-edge events.
Apollo Router 2.16.4-rc.0 enters release candidate
The GraphQL federation router ships its first RC in the 2.16.4 series. If you run a supergraph in production, this is the window to exercise it in staging against your real schema before stable: router RCs are usually the only chance to catch query-planning regressions specific to your federation.
BullMQ Rust 1.3.0 adds get_dependencies for flows
The Rust port of BullMQ gains get_dependencies on Queue, the missing piece for inspecting parent-child job trees from Rust. It matters more than it looks: you can run Rust workers against the same Redis queues as your Node backend without losing flow visibility.
Kubernetes patches 1.37.1, 1.36.5, 1.35.9 and 1.34.12 on the same day
Four supported branches patched simultaneously, with 1.37.1 landing barely two days after 1.37.0 brought the stable Metrics API and rootless kubelet in beta. The 1.37.1 changelog is Bug or Regression and Failing Test work, with no urgent upgrade notes. If you already moved to 1.37 this week, the follow-up patch is effectively mandatory.
Cloudflare cuts 56% per cache entry in 1.1.1.1, freeing 100 TB
A masterclass in Rust memory optimization, in five steps: swap Vec and String for Box<[T]> and Box<str> for data immutable after insertion (64 bytes per entry), merge answer, authority and additional records into a single list with compact offsets, pack booleans into bitflags, omit redundant owner names by reconstructing them from the cache key, and store record data in DNS wire format in contiguous buffers.
The result: 953 → 420 bytes per entry, insertion throughput +43%, lookup latency -19% and p99 resident memory down from 9.3 GB to 5.3 GB. If you run a large in-process cache, this is required reading — the pattern transfers to Go, Java or TypeScript.
Nx 23.3.0-beta.5 reduces package.json inference overhead
The beta trims package.json inference overhead in core — which shows up directly in graph startup time on large monorepos. It also stops losing internal tsconfig project references on Windows, and the Next.js plugin now defaults to out/ as the output dir when output is export.
Notable Trends
Two of the three most urgent items today are algorithmic-complexity DoS in input parsing: Elysia with quadratic FormData and multer with orphaned writes. The multipart parser remains the softest spot in the Node HTTP stack.
Cloudflare's case confirms something worth repeating: before scaling horizontally, measure your memory layout. Five representation changes delivered 56% less per entry and +43% throughput along the way. No extra nodes required.
NestJS shipped 12.1.0 and 11.2.6 on the same day, with the maintenance line carrying the security fix. That signals the Nest ecosystem now runs serious backports: staying on 11 is still a valid option if you take the patches.
workerd v1.20260924.1 ajoute env.AI.websearch et des groupes d'isolats frais
Le runtime Cloudflare Workers expose env.AI.websearch comme binding natif, démarre avec des groupes d'isolats frais quand c'est possible et corrige tee() sur un body natif avec une lecture abandonnée en vol. Les exceptions VFS sont aussi préservées à l'ouverture de SQLite.
NestJS 12.1.0 : middleware transient corrigé et reconnexion Redis dans microservices
Le correctif le plus notable : un middleware transient ne saute plus les middlewares suivants de la chaîne. S'ajoutent l'héritage des paramètres optionnels du constructeur, la préservation des noms de handlers de route, et côté microservices le client Redis réessaie après un échec de connexion.
Hono 4.13.9 : JWT plus strict, linear-router et neuf correctifs AWS Lambda
Le middleware jwt lève désormais JwtTokenInvalid quand la signature n'est pas du base64url valide. Le linear-router cesse de faire correspondre un segment vide à un paramètre — attention, cela peut modifier des routes qui résolvent par accident. Côté serverless : types +xml traités comme binaires et paramètres de requête vides préservés.
Apollo Router 2.16.4-rc.0 passe en release candidate
Le routeur de fédération GraphQL publie sa première RC de la série 2.16.4. Si vous exploitez un supergraph en production, c'est la fenêtre pour l'éprouver en staging contre votre schéma réel avant le stable.
BullMQ Rust 1.3.0 ajoute get_dependencies pour les flows
Le port Rust de BullMQ gagne get_dependencies sur Queue, la pièce manquante pour inspecter les arbres de jobs parent-enfant depuis Rust, et faire tourner des workers Rust sur les mêmes files Redis que votre backend Node.
Kubernetes patche 1.37.1, 1.36.5, 1.35.9 et 1.34.12 le même jour
Quatre branches supportées patchées simultanément, 1.37.1 arrivant à peine deux jours après 1.37.0 et sa Metrics API stable. Le changelog relève du Bug or Regression sans note de mise à niveau urgente, mais le patch de suivi est de fait obligatoire si vous venez de passer en 1.37.
Cloudflare réduit de 56% chaque entrée du cache 1.1.1.1 et libère 100 To
Une masterclass d'optimisation mémoire en Rust, en cinq étapes : remplacer Vec et String par Box<[T]> et Box<str>, fusionner les enregistrements answer, authority et additional en une liste unique à offsets compacts, empaqueter les booléens en bitflags, omettre les noms redondants et stocker les données au format wire DNS dans des buffers contigus.
Résultat : 953 → 420 octets par entrée, insertions +43%, latence de lookup -19% et mémoire résidente p99 passant de 9,3 Go à 5,3 Go.
Nx 23.3.0-beta.5 réduit le coût d'inférence des package.json
La beta réduit le coût d'inférence des package.json dans le core, ce qui se voit directement sur le temps de démarrage du graphe dans les gros monorepos. Les références de projet internes dans tsconfig ne sont plus perdues sous Windows.
Tendances Notables
Deux des trois éléments les plus urgents du jour sont des DoS par complexité algorithmique dans le parsing d'entrée : Elysia avec un FormData quadratique et multer avec des écritures orphelines. Le parseur multipart reste le point le plus faible de la pile HTTP Node.
Le cas Cloudflare confirme un principe : avant de scaler horizontalement, mesurez la disposition mémoire. Cinq changements de représentation ont donné 56% de moins par entrée et +43% de débit. Aucun nœud supplémentaire n'était nécessaire.
NestJS a publié 12.1.0 et 11.2.6 le même jour, la ligne de maintenance portant le correctif de sécurité. Le signe que l'écosystème Nest assure de vrais backports : rester en 11 reste une option valable si vous appliquez les patches.