Bun 1.4.3: bun check (port de typescript-go), Bun.FetchSession y TLS más estricto
bun check es un type checker integrado, port de typescript-go, que según sus benchmarks corre entre 3x y 6.4x más rápido que tsc 7.0.2; y con --check podés tipar antes de run, test o build. Bun.FetchSession le da a un grupo de requests su propio pool, TLS y proxy, aislado del fetch() global. En seguridad: certificados validados durante el handshake (CVE-2026-48618) y rate limit de resets en node:http2. Bonus: hasta 89% menos CPU en idle. Esto es un golazo para la DX.
@langchain/mongodb: un sessionId estructurado se vuelve query de MongoDB
MongoDBChatMessageHistory no validaba en runtime que el session id fuera string, así que un objeto tipo { $ne: null } se interpreta como condición y deja leer o tocar historiales de otros usuarios en la misma colección (CVE-2026-106119). Fix en 1.3.1. Lección clásica: un tipo de TypeScript no valida nada en runtime — validá el input en el borde.
msgpack5 6.1.0: 7 advisories, incluido un bypass de la protección de __proto__
Pasar un objeto de opciones vacío o parcial desactivaba el default protoAction: 'error', y un map con clave __proto__ reemplazaba el prototipo del objeto decodificado (CVE-2026-107301). El resto del lote son DoS del decoder en streaming: stack exhaustion, parseo cuadrático y buffering sin límite. Si decodificás MessagePack de clientes, actualizá a 6.1.0.
Strawberry GraphQL: un permiso sync que devuelve un awaitable siempre pasa
PermissionExtension solo detecta permisos async si has_permission está declarado con async def; un def que devuelve una coroutine se evalúa por truthiness y autoriza siempre (CVSS 7.5). Fix en 0.326.1. Es Python, pero el patrón aplica a cualquier stack: nunca evalúes una promesa como booleano en un guard de auth.
Valkey más allá del cache: tiered storage y replicación sincrónica en el roadmap
En OSS EU, los maintainers repasaron cómo el async I/O threading de 8.x llevó el throughput de ~250k a ~1M req/s por proceso, y cómo 9 sumó bases numeradas en cluster mode y migración atómica de slots. Lo que viene: tiered storage (datos fríos a SSD, incluso S3 o Postgres como backend) y replicación sincrónica para durabilidad. Si usás Valkey solo como cache, ojo que se está convirtiendo en otra cosa.
Cloudflare K2: event log serverless sobre R2, con ~1s de latencia de produce
Public beta de un log durable construido sobre R2: $0.04/GB producido y lo mismo por consumidor, retención a $0.02/GB-mes, gratis durante la beta. No es compatible con la API de Kafka (está en el roadmap) y usa un consume basado en leases. Cloudflare cita ~1s de p99 en produce, pero un beta tester midió p99 end-to-end de 7.5s. Sirve para pipelines baratos, no para nada sensible a latencia.
AWS Lambda: OAuth para event source mappings de Kafka self-managed
Los consumers de Kafka en Lambda ya pueden autenticarse contra un IdP corporativo como Cognito u Okta, además de SASL/PLAIN, SASL/SCRAM y mTLS. Menos secretos estáticos rotando a mano.
Docker Engine 29.9.0: fixes de HTTP/2 en el daemon y lazy pull configurable
El update de Go cierra cuatro CVE de HTTP/2 que permitían tirar el daemon o agotar memoria/CPU (HPACK, Trailer, flow control con resets) y uno de junctions en Windows; los mismos fixes llegan al endpoint /grpc y al gRPC de BuildKit. Además, la feature lazy-pull controla si docker pull salta capas que ya provee el snapshotter (nydus, soci, stargz). Si exponés el socket por TCP, no lo dejes para después.
EventBridge: custom event buses con orden, replay y deduplicación
Los nuevos enhanced custom event buses se comparten entre cuentas y suman entrega ordenada, replay y deduplicación por contenido — lo que antes te obligaba a meter SQS FIFO o Kinesis en el medio. Cambia el pricing: se cobra por throughput de ingreso y egreso (se mencionan 18¢ por GB ingerido). Hacé números antes de migrar buses con mucho fan-out.
Nginx UI: 10 advisories, incluido RCE autenticado vía restore de backup (CVSS 9.0)
Restaurar un backup forjado pisa app.ini, incluido TestConfigCmd, y POST /api/nginx/test ejecuta lo que pongas (CVE-2026-107806). El lote suma un self-upgrade que corre binarios sin firma, bypass del segundo factor passkey, CSRF por fallback de cookie y leak de tokens de nodos del cluster. Si tenés este panel expuesto, sacalo de internet ya y actualizá.
GitHub migró ~800k líneas del runtime de Copilot de Node.js a Rust, componente por componente
Nada de rewrite paralelo con cutover: un strangler fig de manual con puentes N-API temporales (llegaron a 2.019 exports y 3.356 call sites antes de borrarlos) y los mismos tests end-to-end validando cada pieza, con 135 releases en el medio. Startup + sesión + un turno bajó de 5.25s a 292ms, y embeber vía C ABI elimina ~100 MB por cliente. Los agentes escribieron la mayoría del código, pero tests y review humano frenaron regresiones de estado y optimizaciones perdidas. Esto es arquitectura de verdad: la red de tests es lo que hace posible la migración, no el lenguaje.
Vikunja: 29 advisories en un día — un catálogo de errores de autorización multi-tenant
El peor (CVE-2026-68582, 9.3): el endpoint de tareas fija la query al proyecto del link-share pero toma la view del path sin revalidarla, así que cualquier share lee kanban de otros tenants. El resto es un manual de qué no hacer: scopes de API token salteados vía expand, OIDC que linkea cuentas ignorando email_verified, tokens de reset en texto plano, webhooks que sobreviven a la revocación. Fix en 2.4.0. Usalo como checklist para tu propio SaaS: cada recurso del path se autoriza, no solo el principal.
pnpm 12.12: remote cache firmado para pnpm pipeline y addMissingPeerTypes
pnpm pipeline ahora comparte resultados de tareas entre máquinas como artifacts firmados, en un server pnpr o cualquiera que hable la API de Turborepo Remote Cache (Vercel incluido), y el side-effects cache puede guardar builds de dependencias ahí. addMissingPeerTypes linkea los @types de peers con el global virtual store. Y un fix importante: dangerouslyAllowAllBuilds ya no ignora los false de allowBuilds. pnpm se está comiendo terreno de Turborepo, ojo.
Nx 24.0.0-beta.0: se van Remix, plugin-v1 de Gradle y los shims de dependsOn
Primera beta del major con varios breaking: se eliminan generators y executors de Remix, @nx/gradle/plugin-v1, el alias --includeDependentProjects de nx watch y los magic strings self/dependencies en dependsOn; los custom hashers de executors quedan deprecados. Probalo en una rama antes de que llegue el GA.
Nuxt 4.6.1: fixes de Nitro en dev y $fetch tipado con TypedFetch
Patch con foco en el server: los handlers de dev de Nitro se registran una sola vez y reciben RequestEvent, los tipos de nitropack/types resuelven bajo nodenext, y el $fetch global queda tipado con TypedFetch. Upgrade sin drama.
Tendencias Destacadas
Los paneles de infraestructura (Argo CD, Nginx UI) siguen siendo el eslabón débil: quien puede editar config suele poder ejecutar comandos.
El type checking se mete en el runtime y el package manager absorbe el task runner: Bun con bun check, pnpm con remote cache.
Las migraciones grandes asistidas por agentes funcionan cuando hay tests end-to-end como red: el caso Copilot en Rust lo confirma.
Bun 1.4.3: bun check (a typescript-go port), Bun.FetchSession and stricter TLS
bun check is a built-in type checker, a typescript-go port that its benchmarks put at 3x to 6.4x faster than tsc 7.0.2; --check type-checks before run, test or build. Bun.FetchSession gives a group of requests its own pool, TLS and proxy, isolated from global fetch(). Security: certificates are verified during the handshake (CVE-2026-48618) and node:http2 rate-limits stream resets. Bonus: up to 89% less idle CPU.
@langchain/mongodb: a structured sessionId turns into a MongoDB query
MongoDBChatMessageHistory did not enforce at runtime that the session id is a string, so an object such as { $ne: null } becomes a query condition and exposes other users' histories in the same collection (CVE-2026-106119). Fixed in 1.3.1. Classic lesson: a TypeScript type validates nothing at runtime — validate input at the edge.
msgpack5 6.1.0: 7 advisories, including a __proto__ protection bypass
Passing an empty or partial options object disabled the default protoAction: 'error', so a map with a __proto__ key replaced the decoded object's prototype (CVE-2026-107301). The rest of the batch is streaming-decoder DoS: stack exhaustion, quadratic parsing and unbounded buffering. Decoding MessagePack from clients? Upgrade to 6.1.0.
Strawberry GraphQL: a sync permission returning an awaitable always passes
PermissionExtension only treats a permission as async when has_permission is declared with async def; a plain def returning a coroutine is checked for truthiness and always authorizes (CVSS 7.5). Fixed in 0.326.1. It is Python, but the pattern applies to any stack: never evaluate a promise as a boolean in an auth guard.
Valkey beyond caching: tiered storage and synchronous replication on the roadmap
At OSS EU, maintainers covered how 8.x async I/O threading took throughput from ~250k to ~1M req/s per process, and how 9 added numbered databases in cluster mode and atomic slot migration. Next up: tiered storage (cold data on SSD, possibly S3 or Postgres backends) and synchronous replication for durability. Valkey is growing well past a cache.
Cloudflare K2: a serverless event log on R2, with ~1s produce latency
Public beta of a durable log built on R2: $0.04/GB produced and the same per consumer, retention at $0.02/GB-month, free during the beta. No Kafka API compatibility yet (on the roadmap); it uses a lease-based consume API. Cloudflare cites ~1s p99 produce latency, but one beta tester measured 7.5s p99 end to end. Good for cheap pipelines, not latency-sensitive work.
AWS Lambda: OAuth for self-managed Kafka event source mappings
Lambda Kafka consumers can now authenticate through an enterprise identity provider such as Cognito or Okta, alongside SASL/PLAIN, SASL/SCRAM and mTLS. Fewer static secrets to rotate by hand.
Docker Engine 29.9.0: HTTP/2 daemon fixes and configurable lazy pull
The Go update closes four HTTP/2 CVEs that could crash the daemon or exhaust memory/CPU (HPACK, Trailer, flow control via resets) plus a Windows junction issue; the same fixes reach the /grpc endpoint and BuildKit's gRPC server. The new lazy-pull feature controls whether docker pull skips layers the snapshotter already provides (nydus, soci, stargz). Exposing the daemon over TCP? Do not wait on this one.
EventBridge: custom event buses with ordering, replay and deduplication
The new enhanced custom event buses are shareable across accounts and add ordered delivery, replay and content-based deduplication — things that used to require SQS FIFO or Kinesis in the middle. Pricing changes too: you pay for ingress and egress throughput (18¢ per GB ingested is cited). Run the numbers before moving high fan-out buses.
Nginx UI: 10 advisories, including authenticated RCE via backup restore (CVSS 9.0)
Restoring a forged backup overwrites app.ini, including TestConfigCmd, and POST /api/nginx/test runs whatever you put there (CVE-2026-107806). The batch also covers a self-upgrade that runs unsigned binaries, a passkey second-factor bypass, CSRF via cookie fallback and leaked cluster node tokens. If this panel is exposed, take it off the internet and upgrade.
GitHub moved ~800k lines of the Copilot runtime from Node.js to Rust, one component at a time
No parallel rewrite with a cutover: a textbook strangler fig with temporary N-API bridges (peaking at 2,019 exports and 3,356 call sites before removal) and the same end-to-end tests validating each piece, across 135 releases. Startup + session + one turn dropped from 5.25s to 292ms, and embedding through a C ABI removes ~100 MB per client. Agents wrote most of the code, but tests and human review caught state-handling regressions and lost optimizations. The test net is what made the migration possible, not the language.
Vikunja: 29 advisories in one day — a catalog of multi-tenant authorization bugs
The worst (CVE-2026-68582, 9.3): the task endpoint pins the query to the link-share's project but takes the view from the path without revalidating it, so any share reads other tenants' kanban. The rest is a how-not-to manual: API token scopes bypassed via expand, OIDC account linking that ignores email_verified, plaintext reset tokens, webhooks surviving revocation. Fixed in 2.4.0. Use it as a checklist for your own SaaS: authorize every resource in the path, not just the principal.
pnpm 12.12: signed remote cache for pnpm pipeline and addMissingPeerTypes
pnpm pipeline now shares task results across machines as signed artifacts, on a pnpr server or anything speaking the Turborepo Remote Cache API (Vercel included), and the side-effects cache can store dependency builds there. addMissingPeerTypes links peers' @types with the global virtual store. Key fix: dangerouslyAllowAllBuilds no longer ignores false entries in allowBuilds. pnpm keeps eating into Turborepo's territory.
Nx 24.0.0-beta.0: Remix, Gradle plugin-v1 and dependsOn shims are gone
First beta of the major with several breaking changes: Remix generators and executors, @nx/gradle/plugin-v1, the nx watch --includeDependentProjects alias and the self/dependencies magic strings in dependsOn are removed; executor custom hashers are deprecated. Try it on a branch before GA lands.
Nuxt 4.6.1: Nitro dev fixes and $fetch typed with TypedFetch
A server-focused patch: Nitro dev handlers register once and receive RequestEvent, nitropack/types resolves under nodenext, and the global $fetch is typed with TypedFetch. A no-drama upgrade.
Notable Trends
Infrastructure panels (Argo CD, Nginx UI) remain the weak link: whoever can edit config can often run commands.
Type checking moves into the runtime and the package manager absorbs the task runner: Bun with bun check, pnpm with remote cache.
Large agent-assisted migrations work when end-to-end tests act as the safety net: the Copilot-in-Rust case confirms it.
Bun 1.4.3 : bun check (portage de typescript-go), Bun.FetchSession et TLS plus strict
bun check est un type checker intégré, portage de typescript-go, que ses benchmarks placent 3x à 6,4x plus rapide que tsc 7.0.2 ; --check type-checke avant run, test ou build. Bun.FetchSession donne à un groupe de requêtes son propre pool, TLS et proxy, isolé du fetch() global. Sécurité : certificats vérifiés pendant le handshake (CVE-2026-48618) et rate limit des resets dans node:http2. Bonus : jusqu'à 89 % de CPU en moins au repos.
@langchain/mongodb : un sessionId structuré devient une requête MongoDB
MongoDBChatMessageHistory ne vérifiait pas au runtime que le session id soit une chaîne, donc un objet comme { $ne: null } devient une condition de requête et expose les historiques d'autres utilisateurs de la même collection (CVE-2026-106119). Corrigé en 1.3.1. Leçon classique : un type TypeScript ne valide rien au runtime — validez l'entrée en bordure.
msgpack5 6.1.0 : 7 advisories, dont un contournement de la protection __proto__
Passer un objet d'options vide ou partiel désactivait le défaut protoAction: 'error', donc une map avec une clé __proto__ remplaçait le prototype de l'objet décodé (CVE-2026-107301). Le reste du lot concerne des DoS du décodeur en streaming : épuisement de pile, parsing quadratique et buffering illimité. Vous décodez du MessagePack venant de clients ? Passez en 6.1.0.
Strawberry GraphQL : une permission sync qui renvoie un awaitable passe toujours
PermissionExtension ne traite une permission comme async que si has_permission est déclarée avec async def ; un def qui renvoie une coroutine est évalué en truthiness et autorise toujours (CVSS 7.5). Corrigé en 0.326.1. C'est du Python, mais le motif vaut pour toute stack : n'évaluez jamais une promesse comme un booléen dans un guard d'auth.
Valkey au-delà du cache : tiered storage et réplication synchrone sur la roadmap
À OSS EU, les mainteneurs ont expliqué comment l'async I/O threading de 8.x a fait passer le débit de ~250k à ~1M req/s par processus, et comment la 9 a ajouté les bases numérotées en cluster mode et la migration atomique de slots. À venir : tiered storage (données froides sur SSD, voire S3 ou Postgres en backend) et réplication synchrone pour la durabilité. Valkey devient bien plus qu'un cache.
Cloudflare K2 : un event log serverless sur R2, avec ~1 s de latence de produce
Public beta d'un log durable construit sur R2 : 0,04 $/Go produit et autant par consommateur, rétention à 0,02 $/Go-mois, gratuit pendant la beta. Pas encore compatible avec l'API Kafka (sur la roadmap) ; consommation par leases. Cloudflare annonce ~1 s de p99 en produce, mais un beta-testeur a mesuré 7,5 s de p99 de bout en bout. Bien pour des pipelines bon marché, pas pour la faible latence.
AWS Lambda : OAuth pour les event source mappings Kafka self-managed
Les consumers Kafka de Lambda peuvent désormais s'authentifier via un fournisseur d'identité d'entreprise comme Cognito ou Okta, en plus de SASL/PLAIN, SASL/SCRAM et mTLS. Moins de secrets statiques à faire tourner à la main.
Docker Engine 29.9.0 : correctifs HTTP/2 du daemon et lazy pull configurable
La mise à jour de Go corrige quatre CVE HTTP/2 permettant de faire tomber le daemon ou d'épuiser mémoire/CPU (HPACK, Trailer, flow control via resets) et un problème de junctions sous Windows ; les mêmes correctifs touchent l'endpoint /grpc et le serveur gRPC de BuildKit. La nouvelle feature lazy-pull contrôle si docker pull saute les couches déjà fournies par le snapshotter (nydus, soci, stargz). Daemon exposé en TCP ? N'attendez pas.
EventBridge : custom event buses avec ordre, replay et déduplication
Les nouveaux enhanced custom event buses se partagent entre comptes et ajoutent livraison ordonnée, replay et déduplication par contenu — ce qui exigeait auparavant SQS FIFO ou Kinesis au milieu. Le pricing change : facturation au débit d'entrée et de sortie (18 ¢ par Go ingéré cités). Faites le calcul avant de migrer des buses à fort fan-out.
Nginx UI : 10 advisories, dont une RCE authentifiée via restauration de backup (CVSS 9.0)
Restaurer un backup forgé écrase app.ini, y compris TestConfigCmd, et POST /api/nginx/test exécute ce que vous y mettez (CVE-2026-107806). Le lot couvre aussi un self-upgrade exécutant des binaires non signés, un contournement du second facteur passkey, du CSRF via repli sur cookie et des fuites de tokens de nœuds du cluster. Panneau exposé ? Retirez-le d'internet et mettez à jour.
GitHub a migré ~800k lignes du runtime Copilot de Node.js vers Rust, composant par composant
Pas de réécriture parallèle avec bascule : un strangler fig d'école avec des ponts N-API temporaires (jusqu'à 2 019 exports et 3 356 call sites avant suppression) et les mêmes tests end-to-end validant chaque pièce, sur 135 releases. Démarrage + session + un tour est passé de 5,25 s à 292 ms, et l'intégration via C ABI supprime ~100 Mo par client. Les agents ont écrit l'essentiel du code, mais tests et revue humaine ont rattrapé des régressions d'état et des optimisations perdues. C'est le filet de tests qui a rendu la migration possible, pas le langage.
Vikunja : 29 advisories en un jour — un catalogue de bugs d'autorisation multi-tenant
Le pire (CVE-2026-68582, 9.3) : l'endpoint des tâches fixe la requête sur le projet du link-share mais prend la view du path sans la revalider, donc n'importe quel partage lit le kanban d'autres tenants. Le reste est un manuel de ce qu'il ne faut pas faire : scopes de tokens API contournés via expand, liaison OIDC ignorant email_verified, tokens de reset en clair, webhooks survivant à la révocation. Corrigé en 2.4.0. Servez-vous-en comme checklist : autorisez chaque ressource du path, pas seulement le principal.
pnpm 12.12 : remote cache signé pour pnpm pipeline et addMissingPeerTypes
pnpm pipeline partage désormais les résultats de tâches entre machines sous forme d'artifacts signés, sur un serveur pnpr ou tout serveur parlant l'API Turborepo Remote Cache (Vercel compris), et le side-effects cache peut y stocker les builds de dépendances. addMissingPeerTypes lie les @types des peers avec le global virtual store. Correctif clé : dangerouslyAllowAllBuilds n'ignore plus les false d'allowBuilds. pnpm empiète de plus en plus sur Turborepo.
Nx 24.0.0-beta.0 : Remix, le plugin-v1 Gradle et les shims de dependsOn disparaissent
Première beta de la majeure avec plusieurs breaking changes : suppression des generators et executors Remix, de @nx/gradle/plugin-v1, de l'alias nx watch --includeDependentProjects et des magic strings self/dependencies dans dependsOn ; les custom hashers d'executors sont dépréciés. Testez-la sur une branche avant la GA.
Nuxt 4.6.1 : correctifs Nitro en dev et $fetch typé avec TypedFetch
Un patch centré serveur : les handlers de dev Nitro s'enregistrent une seule fois et reçoivent RequestEvent, nitropack/types se résout sous nodenext, et le $fetch global est typé avec TypedFetch. Mise à jour sans drame.
Tendances Notables
Les panneaux d'infrastructure (Argo CD, Nginx UI) restent le maillon faible : qui peut modifier la config peut souvent exécuter des commandes.
Le type checking entre dans le runtime et le gestionnaire de paquets absorbe le task runner : Bun avec bun check, pnpm avec le remote cache.
Les grandes migrations assistées par agents fonctionnent quand des tests end-to-end servent de filet : le cas Copilot en Rust le confirme.