workerd v1.20260831.1: el runtime de Workers sigue con su build diaria
Tres builds del runtime open-source de Cloudflare Workers durante el fin de semana — v1.20260829.1, v1.20260830.1 y v1.20260831.1. Nada de esto es una feature en sí, pero la fecha del tag es literalmente tu compatibility_date: si estás fijando una vieja, cada build que pasa es superficie de comportamiento que no estás tomando. Vale sobre todo esta semana, con el handler connect(socket) de TCP entrante moviéndose en private beta.
Zod 4.5.1 → 4.5.4 en menos de 24 horas: anclá en la última
Después de la GA de 4.5.0 salieron cuatro patches en un día. El último, 4.5.4, arregla que el recorrido de ciclos disparara una default factory que no correspondía — o sea, schemas con referencias circulares y .default(() => ...) podían ejecutar el factory de más. Si ya saltaste a 4.5, no te quedes en 4.5.0.
React Router 8.3.1 y 7.18.3: patches en paralelo para las dos líneas
El equipo sacó las dos ramas el mismo día, con quince minutos de diferencia. Que 7.x siga recibiendo patches en paralelo con 8.x es la señal que importa si todavía no migraste: la línea vieja no está congelada, pero tampoco vas a ver features nuevas ahí. El changelog completo vive en el CHANGELOG.md del repo, no en el cuerpo del release.
TanStack Solid Start 2.0.0-rc.4 se sincroniza con Solid 2.0 rc.4
Todo el stack Solid de TanStack subió a rc.4 de una: solid-router, solid-start, solid-start-client, solid-start-server, solid-router-ssr-query y devtools. El cambio de fondo es el bump a [email protected] y @solidjs/[email protected]. Si estás siguiendo Solid 2.0 hacia la GA, TanStack va pegado al tren — pero rc.4 todavía es rc, no lo pongas en producción.
Next.js 16.4.0-canary.12: el tren de la 16.4 no para
Otra canary de la línea 16.4, publicada el sábado. Para quien mantiene API routes y route handlers, la canary sigue siendo el lugar donde se ven los cambios de runtime del lado servidor antes de que lleguen al stable. No es para producción, pero si tenés un canary channel en staging vale la pena mirarlo antes de la GA.
BullMQ 6.3.2 y el port Python 3.2.0: el backend manda en el blocking timeout
6.3.2 sube msgpackr a 2.1.0 y uuid a 1.26.0 en el core Rust, y en el port Python delega maximumBlockTimeout al backend en lugar de calcularlo en el worker — que es lo correcto cuando el backend puede ser Redis o Postgres. Detrás vinieron vpy3.1.1, vrs1.2.8 y vpy3.2.0 en tres días. BullMQ mantiene cuatro runtimes en paralelo ahora (Node, Rust, Python, Elixir); si tu queue cruza lenguajes, mirá que las versiones acompañen.
SeaweedFS: path traversal en el header X-Amz-Copy-Source permite leer objetos de otro bucket
CVSS 7.7 en el gateway S3 de SeaweedFS: el header X-Amz-Copy-Source no sanitiza el path, así que un usuario con acceso a un bucket puede leer objetos de otro. Vino acompañado de un segundo advisory (CVSS 4.3) donde la API REST de S3Tables/Iceberg deja que un usuario S3 de bajo privilegio enumere table buckets del administrador. Si usás SeaweedFS como almacenamiento S3-compatible auto-hosteado, el aislamiento entre buckets es exactamente lo que estabas comprando — revisá versiones.
Cloudflare AI Search: crawl, embed y retrieval en un solo comando
Cloudflare junta primitivas que hasta ahora eran separadas en un pipeline end-to-end: crawling, ingesta, embedding y retrieval con un comando. Trae discovery mode (encuentra páginas sin sitemap), búsqueda multimodal sobre datos estructurados y no estructurados, y un endpoint público que consulta varias instancias sin auth. Se despliega como Worker o se expone en /mcp y /search. Lo interesante es el pricing: embedding y re-ranking gratis con los modelos default de Workers AI, y solo cobran generación de respuesta y query rewriting. En beta es todo gratis. Si venías armando RAG a mano con Vectorize, esto te borra medio pipeline.
AKS: tu PDB al 100% es lo que está bloqueando los upgrades
Microsoft publicó guía nueva para Node Auto-Provisioning y el punto central es incómodo: un Pod Disruption Budget que exige que el 100% de las réplicas siga disponible impide drenar el nodo por completo, y con eso te bloquea consolidación y upgrades. Del lado de infra, WhenEmptyOrUnderutilized habilita bin-packing, consolidateAfter demora la consolidación y expireAfter fuerza una vida máxima del nodo. La distinción clave que mucha gente pasa por alto: todos esos controles gobiernan disrupción voluntaria. Fallos de hardware y evictions de Spot no los toca nadie — si corrés Spot, tu app tiene que tolerar interrupción, punto.
Portainer: endpoint de restore sin autenticación = takeover de admin
En instancias de Portainer sin inicializar, el endpoint de restore no pide autenticación, y un atacante puede restaurar un backup propio y quedarse con el admin. El escenario real es feo y común: levantás Portainer en un host, lo dejás expuesto un rato mientras terminás otra cosa, y esa ventana entre el deploy y la creación del primer usuario es toda la superficie que hace falta. Regla vieja que sigue valiendo: nunca expongas un panel de administración de containers antes de completar su setup inicial.
AWS libera Kiro Crew y el diseño de seguridad es lo que hay que mirar
Apache 2.0, orquesta múltiples agentes de coding asincrónicos vía Agent Client Protocol, con memoria persistente, skills reutilizables, jobs agendados y concurrencia. Corre sobre Kiro CLI en macOS, Linux y Windows, e integra herramientas externas por MCP y webhooks. Lo que vale para un senior no es el agente: es el modelo de defense in depth que documentan — sandboxing a nivel OS, comandos denegados por default, bloqueo de patrones sospechosos, validación de input, redacción de credenciales y audit logs firmados. Ese es el checklist que deberías estar aplicando a cualquier proceso automatizado con acceso a tu repo, use o no agentes. Adopción interna: 39.000 devs de Amazon y 500 contributors en seis meses sobre el precursor MeshClaw. La queja recurrente: quema tokens bastante más rápido que Kiro CLI.
9router: dos bypasses de auth convierten tu proxy de LLM en relay abierto y SSRF
Dos advisories el mismo día contra el mismo proxy: acceso no autenticado a /v1 por spoofing del header Host (CVSS 8.2, con SSRF de yapa) y bypass de autorización en el rewrite de /codex (CVSS 8.6). El patrón es el que te tiene que quedar: confiar en un header controlado por el cliente para decidir autorización. Lo mismo aparece esta semana en phpSysInfo, donde la allowlist de IPs se saltea spoofeando X-Forwarded-For. Si tu gateway resuelve identidad o política desde Host, X-Forwarded-For o Client-IP sin un proxy de confianza que los reescriba, tenés el mismo bug.
pnpm 11.25.0 sale junto a la 12.1.0: la línea anterior sigue viva
El equipo publicó v12.1.0 y v11.25.0 con veinte segundos de diferencia, más [email protected]. Que la 11.x siga recibiendo minors el mismo día que la 12.x es buena noticia si todavía no migraste — pnpm 12 cambió el manejo de dependencias git (ahora son identidades, no transportes) y eso rompe suposiciones en monorepos grandes. Tenés margen para planificar el salto sin quedarte sin patches.
Tendencias Destacadas
Fin de semana flojo en runtimes — Node, Deno, Bun y TypeScript no publicaron nada entre el viernes y hoy. Lo que se movió fue la capa de arriba: validación, package managers y el edge.
La performance de validación dejó de ser un empate. Con z.compile(), Zod pasa a 47.5M ops/s y le gana a typia, que era el argumento fuerte para irse a un validador basado en codegen. El costo de un schema en el hot path ya no es excusa de arquitectura.
Tres advisories distintos esta semana comparten el mismo bug: decidir autorización desde un header que controla el cliente. 9router con Host, phpSysInfo con X-Forwarded-For, Bifrost con una deny-list de SSRF incompleta. Si tu gateway confía en un header sin un proxy que lo reescriba, ya sabés qué revisar el lunes.
El edge deja de ser un runtime de HTTP. Workers acepta TCP entrante y pasa sockets a Durable Objects y Containers; en paralelo, AI Search convierte crawl-embed-retrieval en un comando. Cloudflare está armando un backend completo, no un CDN con scripting.
Uber con GitFarm y pnpm con la RFC 23 atacan el mismo problema desde lados distintos: el monorepo escala mal cuando cada consumidor paga el costo completo del grafo. Uno centraliza Git como servicio, el otro deja de agrupar tasks en chunks topológicos. Mismo diagnóstico.
workerd v1.20260831.1: the Workers runtime keeps its daily build cadence
Three builds of Cloudflare open-source Workers runtime over the weekend — v1.20260829.1, v1.20260830.1 and v1.20260831.1. None of these is a feature in itself, but the tag date is literally your compatibility_date: if you are pinned to an old one, every passing build is behavior surface you are not taking. Especially relevant this week, with the inbound-TCP connect(socket) handler moving through private beta.
Zod 4.5.1 → 4.5.4 in under 24 hours: pin the last one
Four patches shipped within a day of the 4.5.0 GA. The last one, 4.5.4, stops the cycle walk from firing a default factory it should not have — meaning schemas with circular references and .default(() => ...) could run the factory extra times. If you already jumped to 4.5, do not sit on 4.5.0.
React Router 8.3.1 and 7.18.3: parallel patches on both lines
The team shipped both branches on the same day, fifteen minutes apart. That 7.x still gets patches in parallel with 8.x is the signal that matters if you have not migrated: the old line is not frozen, but you will not see new features there either. The full changelog lives in the repo CHANGELOG.md, not in the release body.
TanStack Solid Start 2.0.0-rc.4 syncs with Solid 2.0 rc.4
The whole TanStack Solid stack moved to rc.4 at once: solid-router, solid-start, solid-start-client, solid-start-server, solid-router-ssr-query and devtools. The underlying change is the bump to [email protected] and @solidjs/[email protected]. If you are tracking Solid 2.0 toward GA, TanStack is riding right behind it — but rc.4 is still an rc, keep it out of production.
Next.js 16.4.0-canary.12: the 16.4 train keeps rolling
Another canary on the 16.4 line, published on Saturday. If you maintain API routes and route handlers, the canary is still where server-side runtime changes surface before they reach stable. Not for production, but if you run a canary channel in staging it is worth watching ahead of GA.
BullMQ 6.3.2 and the Python port 3.2.0: the backend owns the blocking timeout
6.3.2 bumps msgpackr to 2.1.0 and uuid to 1.26.0 in the Rust core, and in the Python port delegates maximumBlockTimeout to the backend instead of computing it in the worker — which is correct once the backend can be Redis or Postgres. Behind it came vpy3.1.1, vrs1.2.8 and vpy3.2.0 across three days. BullMQ now maintains four runtimes in parallel (Node, Rust, Python, Elixir); if your queue spans languages, check the versions line up.
SeaweedFS: path traversal in the X-Amz-Copy-Source header allows cross-bucket object reads
CVSS 7.7 in the SeaweedFS S3 gateway: the X-Amz-Copy-Source header does not sanitize the path, so a user with access to one bucket can read objects from another. It came alongside a second advisory (CVSS 4.3) where the S3Tables/Iceberg REST management API lets a low-privileged S3 user enumerate administrator-owned table buckets. If you run SeaweedFS as self-hosted S3-compatible storage, bucket isolation is exactly what you were buying — check your versions.
Cloudflare AI Search: crawl, embed and retrieval in a single command
Cloudflare folds previously separate primitives into an end-to-end pipeline: crawling, ingestion, embedding and retrieval in one command. It brings discovery mode (finds pages without a sitemap), multimodal search across structured and unstructured data, and a public endpoint that queries several instances without auth. Deploy it as a Worker or expose it at /mcp and /search. The interesting part is pricing: embedding and re-ranking are free with default Workers AI models, and only answer generation and query rewriting are billed. Everything is free during beta. If you were hand-rolling RAG on Vectorize, this deletes half your pipeline.
AKS: your 100% PDB is what is blocking your upgrades
Microsoft published new Node Auto-Provisioning guidance and the core point is uncomfortable: a Pod Disruption Budget demanding 100% of replicas stay available prevents the node from draining at all, and that blocks consolidation and upgrades. On the infrastructure side, WhenEmptyOrUnderutilized enables bin-packing, consolidateAfter delays consolidation and expireAfter enforces a maximum node lifetime. The key distinction many people miss: all of those controls govern voluntary disruption. Hardware failures and Spot evictions are untouched — if you run Spot, your app has to tolerate interruption, full stop.
Portainer: unauthenticated restore endpoint = admin takeover
On uninitialized Portainer instances the restore endpoint requires no authentication, and an attacker can restore their own backup and walk away with admin. The real-world scenario is ugly and common: you bring Portainer up on a host, leave it exposed for a while as you finish something else, and that window between deploy and first-user creation is all the surface needed. Old rule that still holds: never expose a container admin panel before its initial setup is complete.
AWS open sources Kiro Crew, and the security design is the part worth reading
Apache 2.0, orchestrating multiple asynchronous coding agents over the Agent Client Protocol, with persistent memory, reusable skills, scheduled jobs and concurrency. It runs on Kiro CLI across macOS, Linux and Windows, and integrates external tools via MCP and webhooks. The part worth a senior time is not the agent: it is the documented defense in depth model — OS-level sandboxing, denied-by-default commands, suspicious-pattern blocking, input validation, credential redaction and signed audit logs. That is the checklist you should be applying to any automated process with access to your repo, agents or not. Internal adoption: 39,000 Amazon developers and 500 contributors in six months on the MeshClaw precursor. The recurring complaint: it burns tokens noticeably faster than Kiro CLI.
9router: two auth bypasses turn your LLM proxy into an open relay and SSRF
Two advisories on the same day against the same proxy: unauthenticated /v1 access via Host header spoofing (CVSS 8.2, with SSRF thrown in) and an authorization bypass in the /codex rewrite (CVSS 8.6). The pattern is what should stick: trusting a client-controlled header to make an authorization decision. The same shape shows up this week in phpSysInfo, where the IP allowlist is bypassed by spoofing X-Forwarded-For. If your gateway resolves identity or policy from Host, X-Forwarded-For or Client-IP without a trusted proxy rewriting them, you have the same bug.
pnpm 11.25.0 ships alongside 12.1.0: the previous line stays alive
The team published v12.1.0 and v11.25.0 twenty seconds apart, plus [email protected]. That 11.x still receives minors on the same day as 12.x is good news if you have not migrated — pnpm 12 changed git dependency handling (they are identities now, not transports) and that breaks assumptions in large monorepos. You have room to plan the jump without going unpatched.
Notable Trends
Quiet weekend for runtimes — Node, Deno, Bun and TypeScript published nothing between Friday and today. What moved was the layer above: validation, package managers and the edge.
Validation performance stopped being a tie. With z.compile(), Zod moves to 47.5M ops/s and beats typia, which was the strong argument for moving to a codegen-based validator. The cost of a schema in the hot path is no longer an architectural excuse.
Three separate advisories this week share the same bug: deciding authorization from a client-controlled header. 9router with Host, phpSysInfo with X-Forwarded-For, Bifrost with an incomplete SSRF deny-list. If your gateway trusts a header without a proxy rewriting it, you know what to review on Monday.
The edge is no longer an HTTP runtime. Workers accepts inbound TCP and hands sockets to Durable Objects and Containers; in parallel, AI Search turns crawl-embed-retrieval into one command. Cloudflare is assembling a full backend, not a CDN with scripting.
Uber with GitFarm and pnpm with RFC 23 attack the same problem from different sides: monorepos scale badly when every consumer pays the full cost of the graph. One centralizes Git as a service, the other stops grouping tasks into topological chunks. Same diagnosis.
workerd v1.20260831.1 : le runtime Workers poursuit sa build quotidienne
Trois builds du runtime open source Cloudflare Workers durant le week-end — v1.20260829.1, v1.20260830.1 et v1.20260831.1. Aucune n est une fonctionnalité en soi, mais la date du tag est littéralement votre compatibility_date : rester épinglé sur une ancienne, c est renoncer à toute cette surface de comportement. Pertinent cette semaine, avec le handler TCP entrant connect(socket) en bêta privée.
Zod 4.5.1 → 4.5.4 en moins de 24 heures : épinglez la dernière
Quatre patches en une journée après la GA de 4.5.0. Le dernier, 4.5.4, empêche le parcours de cycles de déclencher une default factory à tort — des schémas avec références circulaires et .default(() => ...) pouvaient exécuter la factory en trop. Ne restez pas sur 4.5.0.
React Router 8.3.1 et 7.18.3 : patches parallèles sur les deux lignes
L équipe a publié les deux branches le même jour, à quinze minutes d intervalle. Que 7.x reçoive encore des patches en parallèle de 8.x est le signal qui compte si vous n avez pas migré : l ancienne ligne n est pas gelée, mais n aura pas de nouvelles fonctionnalités. Le changelog complet est dans le CHANGELOG.md du dépôt.
TanStack Solid Start 2.0.0-rc.4 se synchronise avec Solid 2.0 rc.4
Toute la stack Solid de TanStack passe en rc.4 d un coup : solid-router, solid-start, solid-start-client, solid-start-server, solid-router-ssr-query et devtools. Le changement de fond est le bump vers [email protected] et @solidjs/[email protected]. rc.4 reste une rc : pas de production.
Next.js 16.4.0-canary.12 : le train 16.4 continue
Une nouvelle canary de la ligne 16.4, publiée samedi. Pour qui maintient des API routes et des route handlers, la canary reste l endroit où les changements de runtime côté serveur apparaissent avant le stable. Pas pour la production, mais utile en staging avant la GA.
BullMQ 6.3.2 et le port Python 3.2.0 : le backend décide du blocking timeout
6.3.2 passe msgpackr en 2.1.0 et uuid en 1.26.0 dans le cœur Rust, et le port Python délègue maximumBlockTimeout au backend au lieu de le calculer dans le worker — correct dès lors que le backend peut être Redis ou Postgres. Ont suivi vpy3.1.1, vrs1.2.8 et vpy3.2.0 en trois jours. BullMQ maintient désormais quatre runtimes en parallèle.
SeaweedFS : path traversal dans l en-tête X-Amz-Copy-Source permettant la lecture inter-buckets
CVSS 7.7 dans la gateway S3 de SeaweedFS : l en-tête X-Amz-Copy-Source ne nettoie pas le chemin, un utilisateur ayant accès à un bucket peut lire les objets d un autre. Un second advisory (CVSS 4.3) permet à un utilisateur S3 peu privilégié d énumérer les table buckets de l administrateur. Vérifiez vos versions.
Cloudflare AI Search : crawl, embed et retrieval en une seule commande
Cloudflare regroupe des primitives jusque-là séparées en un pipeline end-to-end : crawling, ingestion, embedding et retrieval en une commande. Avec un discovery mode (trouve les pages sans sitemap), une recherche multimodale et un endpoint public interrogeant plusieurs instances sans auth. Déployable comme Worker ou exposé sur /mcp et /search. Le pricing est notable : embedding et re-ranking gratuits avec les modèles Workers AI par défaut, seuls la génération de réponse et la réécriture de requête sont facturées.
AKS : votre PDB à 100% est ce qui bloque vos upgrades
Microsoft publie de nouvelles recommandations pour Node Auto-Provisioning, et le point central dérange : un Pod Disruption Budget exigeant que 100% des réplicas restent disponibles empêche tout drain du nœud, bloquant consolidation et upgrades. Côté infra, WhenEmptyOrUnderutilized active le bin-packing, consolidateAfter retarde la consolidation et expireAfter impose une durée de vie maximale. Distinction clé : ces contrôles ne gouvernent que la disruption volontaire.
Portainer : endpoint de restore sans authentification = prise de contrôle admin
Sur les instances Portainer non initialisées, l endpoint de restore n exige aucune authentification : un attaquant restaure son propre backup et récupère l admin. Le scénario réel est banal : vous déployez Portainer, le laissez exposé un moment, et la fenêtre entre le déploiement et la création du premier utilisateur suffit. Règle intemporelle : n exposez jamais un panneau d administration de containers avant la fin de son setup initial.
AWS ouvre Kiro Crew, et c est le design de sécurité qu il faut lire
Apache 2.0, orchestrant plusieurs agents de coding asynchrones via l Agent Client Protocol, avec mémoire persistante, skills réutilisables, jobs planifiés et concurrence. Tourne sur Kiro CLI (macOS, Linux, Windows), intègre des outils externes via MCP et webhooks. Ce qui vaut le détour n est pas l agent mais le modèle documenté de defense in depth : sandboxing OS, commandes refusées par défaut, blocage de motifs suspects, validation d entrée, rédaction des identifiants et audit logs signés. Adoption interne : 39 000 développeurs Amazon et 500 contributeurs en six mois.
9router : deux contournements d auth transforment votre proxy LLM en relais ouvert et SSRF
Deux advisories le même jour contre le même proxy : accès non authentifié à /v1 par spoofing de l en-tête Host (CVSS 8.2, avec SSRF en prime) et contournement d autorisation dans la réécriture /codex (CVSS 8.6). Le motif à retenir : faire confiance à un en-tête contrôlé par le client pour une décision d autorisation. Même forme cette semaine dans phpSysInfo via X-Forwarded-For.
pnpm 11.25.0 sort avec la 12.1.0 : l ancienne ligne reste vivante
L équipe a publié v12.1.0 et v11.25.0 à vingt secondes d intervalle, plus [email protected]. Que 11.x reçoive encore des minors le même jour que 12.x est une bonne nouvelle si vous n avez pas migré — pnpm 12 a changé la gestion des dépendances git (désormais des identités, non des transports), ce qui casse des hypothèses dans les gros monorepos.
Tendances Notables
Week-end calme côté runtimes — Node, Deno, Bun et TypeScript n ont rien publié entre vendredi et aujourd hui. Ce qui a bougé, c est la couche au-dessus : validation, package managers et edge.
La performance de validation n est plus une égalité. Avec z.compile(), Zod atteint 47,5M ops/s et dépasse typia, qui était l argument fort pour passer à un validateur basé sur codegen. Le coût d un schéma dans le hot path n est plus une excuse d architecture.
Trois advisories distincts cette semaine partagent le même bug : décider de l autorisation à partir d un en-tête contrôlé par le client. 9router avec Host, phpSysInfo avec X-Forwarded-For, Bifrost avec une deny-list SSRF incomplète. Si votre gateway fait confiance à un en-tête sans proxy qui le réécrit, vous savez quoi auditer.
L edge n est plus un runtime HTTP. Workers accepte le TCP entrant et transmet des sockets aux Durable Objects et Containers ; en parallèle, AI Search réduit crawl-embed-retrieval à une commande. Cloudflare assemble un backend complet, pas un CDN scriptable.
Uber avec GitFarm et pnpm avec la RFC 23 attaquent le même problème par des côtés différents : le monorepo passe mal à l échelle quand chaque consommateur paie le coût complet du graphe. L un centralise Git en service, l autre cesse de grouper les tâches en chunks topologiques. Même diagnostic.