Backend & Fullstack

Backend & Fullstack — August 17, 2026

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

Seguridad

PostgreSQL 18.6, 17.11, 16.15, 15.19 y 14.24: seis CVEs cerrados

Update de seguridad en todas las ramas soportadas, más 19 Beta 3. Las dos que más duelen: CVE-2026-14662 (CVSS 8.8) — allocations undersize en tsvector/tsquery por integer wraparound — y CVE-2026-6464 (CVSS 8.1), donde un fallo temprano de COPY FROM STDIN hace que psql interprete las líneas de datos como comandos. Completan la lista CVE-2026-6471 (CVSS 7.2, logical decoding puede hacer dlopen de un archivo arbitrario), CVE-2026-6470, CVE-2026-6469 y CVE-2026-14663, esta última bastante fea: pgcrypto, con ciphers deshabilitados en OpenSSL, encripta y desencripta silenciosamente en cleartext. Los updates son acumulativos: no hace falta dump-and-reload ni pg_upgrade, parás el servicio y actualizás los binarios. Actualizá YA.

13 Aug 2026
postgresql.org →
Seguridad

CVE-2026-73654: prototype pollution en Trigger.dev tumba todo el proceso

CVSS 8.5 en @trigger.dev/core. Las operaciones de metadata de un run permiten prototype pollution, y el resultado no es un bug local: es un DoS cross-tenant a nivel de proceso. Afecta desde 3.3.8 hasta 4.5.5 inclusive; el fix está en 4.5.6. Si corrés Trigger.dev self-hosted con múltiples tenants en el mismo worker, esto es prioridad uno.

13 Aug 2026
github.com/advisories →
Breaking

Fastify 6.0.0-alpha: limpieza masiva de deprecaciones y undici v8

Arrancó la major. La alpha barre con todo lo deprecado: se van los tipos FastifyPlugin, FastifyLoggerInstance, FastifyRequestContext/FastifyReplyContext, ValidationResult y ResSerializerReply, más las deprecaciones FSTDEP022 a FSTDEP025. Cambia el default de override del error handler: ahora está deshabilitado, sube la versión mínima de runtime y salta a undici v8. También cae el ponyfill de Promise.withResolvers. La alpha.1 llegó dos días después. Si tenés plugins propios tipados, andá probando ya — migrar tipos a último momento es cómo se pierden tres días.

11 Aug 2026
github.com/fastify →
Breaking

Vitest 5.0.0-rc.1: los asserts async sin await ahora fallan el test

El RC trae el cambio que más falsos verdes va a matar: si una assertion asíncrona no se awaitea, el test falla. Cuántos suites verdes esconden asserts que nunca se ejecutaron, ¿eh? Se suman: los proyectos inline extienden la config root por default, soporte de proyectos anidados, servidor Vite compartido entre proyectos inline, > como separador en -t, y mocking de Temporal sin fake timers. Del lado de fixes, uno grande: vitest --typecheck ya no reporta un falso éxito cuando el proceso tsc crashea.

11 Aug 2026
github.com/vitest-dev →
Release

NestJS 11.2.0 suma el método HTTP QUERY (RFC 10008)

Esto es más grande de lo que parece. QUERY es el método que resuelve el dilema eterno del GET con body: búsquedas complejas que no entran en la query string y que hoy resolvés con un POST /search que miente sobre su semántica. QUERY es seguro e idempotente, y cacheable. Nest lo soporta en core, common y platform-fastify, con tests e2e incluidos. También llega sse signal, y del lado de fixes: providers singleton compartidos con módulos lazy, y middleware que ahora corre en rutas excluidas del prefijo global en Fastify. La 11.2.1 salió el mismo día.

14 Aug 2026
github.com/nestjs →
🧩

Frameworks & Libraries

Minor

Fastify 5.12.0: llega Reply.prototype.mediaType

La línea estable sigue viva mientras la 6 cocina. Nuevo Reply.prototype.mediaType, se dejan de devolver los raw response headers, y el parseo de content-type ahora devuelve undefined para media types inválidos en vez de improvisar. Cambio chico pero correcto: un content-type inválido no debería adivinarse.

13 Aug 2026
github.com/fastify →
Patch

Hono 4.13.2: secure-headers al día con W3C y ETag arreglado en streams

Release de mantenimiento con varios fixes que importan en producción. secure-headers suma las directivas de Permissions-Policy que faltaban del W3C y ahora emite paréntesis vacíos () en lugar de none para las deshabilitadas. Dos fixes de ETag: hashing incremental incorrecto en respuestas chunked y digest inestable entre chunks de stream — si servís streams con ETag, esto te estaba mintiendo. El client ahora serializa múltiples cookies bien y manda bodies JSON falsy. Bonus perf: cors pre-junta los headers estáticos en la inicialización.

13 Aug 2026
github.com/honojs →
Patch

Apollo Router 2.16.2

Patch del router de federación, publicado tras dos release candidates (rc.0 el 12 y rc.1 el 13). Si tenés supergraph en producción, la cadencia de patches de Apollo sigue siendo semanal — vale la pena tener el bump automatizado en vez de acumular seis versiones de deuda.

13 Aug 2026
github.com/apollographql →
Patch

Kysely 0.29.5

Patch del query builder type-safe. Semana tranquila para los ORMs: Prisma, Drizzle, TypeORM y tRPC no publicaron releases en la ventana. Kysely fue el único que se movió.

10 Aug 2026
github.com/kysely-org →
🗄️

Databases & Data

Release

BullMQ 6.1.0: las migraciones de schema en Postgres ahora son explícitas

Cambio de diseño que celebro: el backend de Postgres ya no corre migraciones de schema por su cuenta al arrancar — ahora son explícitas. Migraciones automáticas en el boot de un worker es de esas cosas que funcionan hasta que tenés doce réplicas arrancando en paralelo contra la misma base. Que sea un paso deliberado del deploy es lo correcto. La 6.1.1 y la 6.1.2 siguieron el 14 y el 16.

12 Aug 2026
github.com/taskforcesh →
Destacado

Random Access Parquet: Spotify hace point queries sobre el data lake sin replicar nada

Un data lake está optimizado para escaneos analíticos, no para buscar una fila. La salida habitual es replicar el dataset a una base operacional — y bancarse el pipeline, el costo y la deriva. Spotify eligió otra: Random Access Parquet (RAP), una capa de índice externo sobre archivos Parquet que mapea claves de lookup (por ejemplo un user ID) directamente a un archivo y una posición de fila. En vez de escanear miles de archivos, la query resuelve la clave contra el índice y hace una ranged read dirigida contra el object storage. A medida que entra data nueva en tablas Iceberg, un index builder genera fragmentos de índice append-only sin tocar los Parquet inmutables. El mismo dataset sigue sirviendo analytics, ML y online serving. Lindo recordatorio: cuando el patrón de acceso no encaja con la forma del storage, indexar casi siempre le gana a copiar.

12 Aug 2026
infoq.com →
☁️

Cloud & DevOps

Destacado

Cloudflare DDoS H1 2026: 935 ataques de más de 1 Tbps y DNS floods disparados

Los números son para sentarse a pensar la arquitectura. Cloudflare mitigó 935 ataques network-layer por encima de 1 Tbps en el primer semestre, con un salto de +519% intertrimestral — 805 de ellos solo en Q2. Los ataques basados en DNS ya son el 34,3% de toda la actividad network-layer, y los DNS Floods pasaron del 25,7% al 40,0% entre trimestres. El centro de gravedad se corrió de botnet floods a reflection y amplification: los CLDAP Floods subieron +580% y son el vector #3. Abril fue el pico: 6,46 billones de requests y 165 PB.

11 Aug 2026
blog.cloudflare.com →
Destacado

Netflix reemplaza su scheduler de batch propio por Kueue

Netflix migró la mayoría de sus workloads batch a Kueue, el sistema Kubernetes-native de job queueing, jubilando su Compute Managed Batch (CMB) construido sobre Titus. Ya corren millones de workloads batch en producción con Kueue, y la migración sigue en curso. Lo más valioso de la historia no es Kueue: es la estrategia. Usaron paridad de API con el sistema existente para desriesgar el proyecto y migrar de forma gradual. Ese es el patrón que hace que un reemplazo de infraestructura no termine en un big bang.

12 Aug 2026
infoq.com →
Patch

Helm 4.2.4 y 3.21.4: fixes de provenance y bumps de seguridad en dependencias

Patch en las dos ramas (4.2.4 el 13, 3.21.4 el 14). Destacan el chequeo del error de retorno en Digest y encodeRelease del lado de provenance, el fix del retry faltante en conflictos con server-side apply, y dos bumps por avisos de seguridad de Go: grpc a 1.82.1 (GO-2026-6061) y otel a v1.44.0 (GO-2026-5158). También se arregla el panic en llamadas repetidas a IsReachable.

13 Aug 2026
github.com/helm →
Patch

Argo CD parchea tres ramas a la vez: 3.5.1, 3.4.7 y 3.3.14

Release coordinado en las tres ramas soportadas el mismo día — el patrón típico cuando hay algo que vale la pena backportear. Todas las imágenes siguen firmadas con cosign y con provenance SLSA nivel 3 para imágenes y binarios de CLI. Si tenés GitOps en producción y no estás verificando esas firmas en el pipeline, ahí tenés una tarea pendiente.

12 Aug 2026
github.com/argoproj →
🏗️

Architecture & Best Practices

Destacado

Canva revoca cientos de millones de sesiones sin tocar una base de datos

Esta es la pieza de arquitectura de la semana, y hay que leerla entera. El problema: sesiones en cookies encriptadas escalan hermoso, pero revocar exige un lookup por request. Canva lo resolvió guardando la data de revocación en S3 como registros inmutables y compactos, distribuidos a los gateways como índices en memoria. La ventana de revocación de 12 horas se parte en objetos S3 de 30 minutos que el gateway baja bajo demanda. Cada revocación son 16 bytes binarios (principal + timestamp), en arrays ordenados que permiten búsqueda directa en memoria: 87,5% menos footprint de cache. El worker procesa más de 2.000 revocaciones por segundo, y un chunk con un millón de revocaciones pesa apenas ~16 MB. Menos infraestructura de base de datos, deploys más rápidos. La lección de fondo: cuando el patrón de acceso es append-only y con ventana temporal, S3 más un índice en memoria le gana a una base de datos.

10 Aug 2026
infoq.com →
Destacado

Netflix: backpressure a Kafka en vez de tirar registros

Netflix rediseñó el pipeline de Service Topology, su mapa de dependencias en tiempo real, y las decisiones son oro puro para cualquiera que construya streaming. Tres etapas que separan resolución de intermediarios, enrichment y persistencia. Server-sent events en vez de gRPC para transferencias internas de alto volumen. Y la decisión clave: cuando el graph storage no da abasto, la presión viaja aguas arriba hasta pausar el consumer de Kafka, dejando los registros ahí hasta que vuelva la capacidad. El resultado es frescura demorada bajo carga, no data perdida ni un mapa incompleto — que es exactamente lo que querés durante un incidente. Para reconstruir el pasado no guardan snapshots completos ni replayean el event log: mantienen snapshots del agregador por ventana temporal más historial de mutaciones a nivel de propiedad.

11 Aug 2026
infoq.com →
Destacado

Buildpacks mueven el punto de control del hardening fuera del Dockerfile

El viejo debate Dockerfile vs. buildpacks se volvió un debate de seguridad, y el argumento es bueno. Con un Dockerfile, la elección de la base image y la cadencia de parcheo quedan en manos de cada equipo de aplicación; con Cloud Native Buildpacks esas decisiones se mueven a platform engineering, que decide qué tan rápido se remedia un CVE crítico en una flota de cientos de servicios. El mecanismo es el comando rebase: detecta una runtime base image más nueva y reescribe el manifest y la config OCI, cambiando los digests de la capa de OS. Es esencialmente editar un JSON — milisegundos, sin rebuild, sin acceso al source, sin cola de CI. El proyecto se graduó en la CNCF el 17 de julio de 2026. El costo: perdés el control paso a paso del Dockerfile escrito a mano, incómodo si necesitás paquetes de OS custom o ecosistemas que los buildpacks no cubren.

10 Aug 2026
infoq.com →
🔗

Fullstack

Release

pnpm 11.22.0: instalaciones globales atómicas y menos re-resolución del lockfile

Release cargado, y varias cosas apuntan a supply chain. Nuevo pnpm cache path para que CI cachee el directorio de metadata — incluido el log de verificación del lockfile, lo que permite saltear el re-chequeo de un lockfile sin cambios contra las políticas de supply-chain. Un pnpm-workspace.yaml de proyecto ya no puede decidir dónde pnpm guarda credenciales, su propia instalación, ni el registry desde el que se descargaconfigDir, npmrcAuthFile, userconfig y compañía se ignoran ahí. Eso cierra un vector de escalada vía repo hostil. Las instalaciones globales ahora conmutan atómicamente: los shims apuntan a un link estable por paquete, así que un comando nunca falta del PATH durante un install y un install fallido deja la versión previa en pie. Además pnpm add deja de re-resolver el grafo cuando el lockfile ya tiene una versión que satisface, y pnpm deploy vuelve a inyectar dependencias de workspace. El mismo día salió la 12.0.0-rc.6.

15 Aug 2026
github.com/pnpm →
Release

Turborepo 2.10.10: parchea js-yaml, recorre el repo una sola vez al prunear

Sube js-yaml a 4.3.1 por GHSA-5p4m-2wfm-xmqj (CVSS 7.5): consumo cuadrático de CPU al resolver !!omap, afectando 3.x y 4.x. Si tenés js-yaml en el árbol de dependencias — y casi seguro que sí — chequeá tu versión: el fix está en 4.3.1 y 3.15.1. Del lado de features: turbo prune ahora recorre el repositorio una sola vez, soporte de archivos nub.lock, descubrimiento de tasks de pytest, y fix de patrones de .gitignore anidados en el hashing manual. Dato de color: el repo ya está en TypeScript 7.0.2.

14 Aug 2026
github.com/vercel →
Patch

Next.js 16.3.1: cache, headers() en vivo y bugs de prefetch

Patch grande, con foco en el server. Se restaura la vista en vivo de headers() sobre el request entrante, se permiten exports literales en archivos 'use cache', y hay dos fixes finos de invalidación: solo se descartan las entradas de cache anteriores a una revalidación por tag (reusando las completadas), y se retienen menos versiones stale usando TTL con fallback a mtime. También se codifica el nombre del cache item que arma unstable_cache, y se arreglan loops de prefetch repetido en el routing optimista. Del lado Turbopack: HMR para dynamic imports evaluados desde layouts.

13 Aug 2026
github.com/vercel →
🔒

Security

Seguridad

better-auth 1.6.29: el SSO ya no da acceso por un dominio meramente reclamado

Fix de autorización que vale leer con atención. En @better-auth/sso, la asignación automática de organización por dominio de email ahora exige dominio verificado del provider Y email verificado del usuario — antes, un social sign-in podía otorgar acceso porque el provider SSO simplemente reclamaba el dominio. Ese es el tipo de bug que no rompe nada y te regala un tenant. Además, la verificación de dominio toma un snapshot de los dominios del provider al inicio del request y devuelve 409 con SSO_PROVIDER_CHANGED si el provider cambia durante la verificación DNS.

14 Aug 2026
github.com/better-auth →
Seguridad

CVE-2026-55102: hashi-vault-js filtra tokens y secretos en los errores

El token de Vault y los valores de los secretos quedan expuestos en las excepciones que lanza la librería. Si esos errores viajan a tu logger, a Sentry o a una respuesta HTTP de error, tus secretos ya están en un sistema de terceros. Buen recordatorio para revisar qué serializa tu error handler global antes de mandarlo a cualquier lado.

13 Aug 2026
github.com/advisories →
Seguridad

CVE-2026-35219: SSRF en Budibase saltea la blacklist de IPs

Severidad alta. Los automation steps de Webhook, Zapier, N8N, Slack y Discord permiten saltear la blacklist de IPs y alcanzar destinos internos. El patrón se repite en toda herramienta low-code con steps salientes: la lista negra por IP es una defensa frágil cuando el usuario controla la URL. Si exponés integraciones outbound configurables, la mitigación real es un proxy egress con allowlist, no una blacklist.

14 Aug 2026
github.com/advisories →
Seguridad

CVE-2026-73080: SSRF sin autenticar en SeaweedFS con lectura de la respuesta

Severidad crítica, CVSS 9.3. El endpoint VolumeServer.FetchAndWriteNeedle permite SSRF sin autenticación y con read-back de la respuesta — o sea, no es SSRF ciego: el atacante ve lo que devuelve el destino interno. Si corrés SeaweedFS como object storage detrás de tus servicios, revisá la exposición del volume server ya mismo.

11 Aug 2026
github.com/advisories →
🔥

Top Stories

Security

PostgreSQL 18.6, 17.11, 16.15, 15.19 and 14.24: six CVEs closed

Security update across every supported branch, plus 19 Beta 3. The two that hurt most: CVE-2026-14662 (CVSS 8.8) — undersize allocations in tsvector/tsquery via integer wraparound — and CVE-2026-6464 (CVSS 8.1), where an early COPY FROM STDIN failure makes psql process data lines as commands. Rounding out the list: CVE-2026-6471 (CVSS 7.2, logical decoding can dlopen an arbitrary file), CVE-2026-6470, CVE-2026-6469, and the nastiest of the bunch, CVE-2026-14663: pgcrypto, for OpenSSL-disabled ciphers, silently encrypts to and decrypts from cleartext. Updates are cumulative — no dump-and-reload or pg_upgrade needed, just stop the service and swap the binaries.

13 Aug 2026
postgresql.org →
Security

CVE-2026-73654: prototype pollution in Trigger.dev takes down the whole process

CVSS 8.5 in @trigger.dev/core. Run metadata operations allow prototype pollution, and the blast radius is not local: it is a process-wide cross-tenant DoS. Affects 3.3.8 through 4.5.5 inclusive; fixed in 4.5.6. If you self-host Trigger.dev with multiple tenants on the same worker, this is priority one.

13 Aug 2026
github.com/advisories →
Breaking

Fastify 6.0.0-alpha: massive deprecation cleanup and undici v8

The major has started. The alpha sweeps out everything deprecated: the FastifyPlugin, FastifyLoggerInstance, FastifyRequestContext/FastifyReplyContext, ValidationResult and ResSerializerReply types are gone, along with the FSTDEP022FSTDEP025 deprecations. Error handler overrides are now disabled by default, the minimum runtime version goes up, and it jumps to undici v8. The Promise.withResolvers ponyfill is also dropped. alpha.1 followed two days later. If you maintain typed in-house plugins, start testing now.

11 Aug 2026
github.com/fastify →
Breaking

Vitest 5.0.0-rc.1: un-awaited async assertions now fail the test

The RC lands the change that will kill the most false greens: an asynchronous assertion that is not awaited now fails the test. Also in: inline projects extend the root config by default, nested projects are supported, the Vite server is shared between inline projects, > becomes the separator in -t, and Temporal can be mocked without fake timers. On the fix side, a big one: vitest --typecheck no longer reports a false success when the tsc process crashes.

11 Aug 2026
github.com/vitest-dev →
Release

NestJS 11.2.0 adds the HTTP QUERY method (RFC 10008)

Bigger than it looks. QUERY is the method that settles the eternal GET with a body dilemma: complex searches that do not fit in a query string and that you currently solve with a POST /search that lies about its semantics. QUERY is safe, idempotent, and cacheable. Nest supports it across core, common and platform-fastify, with e2e tests included. Also landing: sse signal, plus fixes for singleton providers shared with lazily loaded modules and middleware now running on routes excluded from the global prefix under Fastify. 11.2.1 shipped the same day.

14 Aug 2026
github.com/nestjs →
🧩

Frameworks & Libraries

Minor

Fastify 5.12.0: Reply.prototype.mediaType arrives

The stable line keeps moving while 6 cooks. New Reply.prototype.mediaType, raw response headers are no longer returned, and content-type parsing now returns undefined for invalid media types instead of improvising. Small but correct: an invalid content-type should not be guessed at.

13 Aug 2026
github.com/fastify →
Patch

Hono 4.13.2: secure-headers caught up with W3C, ETag fixed for streams

Maintenance release with several fixes that matter in production. secure-headers adds the missing W3C Permissions-Policy directives and now emits standard empty parentheses () instead of none for disabled ones. Two ETag fixes: incorrect incremental hashing on chunked responses, and an unstable digest across stream chunks — if you serve streams with ETag, this was lying to you. The client now serializes multiple cookies correctly and sends falsy JSON bodies. Perf bonus: cors pre-joins static header options at initialization.

13 Aug 2026
github.com/honojs →
Patch

Apollo Router 2.16.2

Patch for the federation router, shipped after two release candidates (rc.0 on the 12th, rc.1 on the 13th). If you run a supergraph in production, Apollo's patch cadence remains weekly — worth automating the bump rather than accumulating six versions of debt.

13 Aug 2026
github.com/apollographql →
Patch

Kysely 0.29.5

Patch for the type-safe query builder. Quiet week for ORMs: Prisma, Drizzle, TypeORM and tRPC shipped no releases in the window. Kysely was the only one that moved.

10 Aug 2026
github.com/kysely-org →
🗄️

Databases & Data

Release

BullMQ 6.1.0: Postgres schema migrations are now explicit

A design change worth celebrating: the Postgres backend no longer runs schema migrations on its own at startup — they are now explicit. Automatic migrations on worker boot is one of those things that works right up until you have twelve replicas starting in parallel against the same database. Making it a deliberate deploy step is the correct call. 6.1.1 and 6.1.2 followed on the 14th and 16th.

12 Aug 2026
github.com/taskforcesh →
Notable

Random Access Parquet: Spotify runs point queries on the data lake without replicating anything

A data lake is optimized for analytical scans, not for fetching a single row. The usual escape hatch is replicating the dataset into an operational database — and eating the pipeline, the cost and the drift. Spotify picked another: Random Access Parquet (RAP), an external index layer over Parquet files that maps lookup keys (a user ID, say) directly to a file and row location. Instead of scanning thousands of files, a query resolves the key through the index and issues a targeted ranged read against object storage. As new data lands in Iceberg tables, an index builder generates append-only index fragments without modifying the immutable Parquet files. The same dataset keeps serving analytics, ML and online serving. A neat reminder: when the access pattern does not match the shape of your storage, indexing almost always beats copying.

12 Aug 2026
infoq.com →
☁️

Cloud & DevOps

Notable

Cloudflare DDoS H1 2026: 935 attacks above 1 Tbps and DNS floods surging

Numbers worth pausing on when you plan your architecture. Cloudflare mitigated 935 network-layer attacks above 1 Tbps in the first half, a +519% quarter-over-quarter jump — 805 of them in Q2 alone. DNS-based attacks are now 34.3% of all network-layer activity, with DNS Floods climbing from 25.7% to 40.0% quarter-over-quarter. The center of gravity shifted from botnet floods to reflection and amplification: CLDAP Floods surged +580% to become the #3 vector. April peaked at 6.46 trillion requests and 165 PB.

11 Aug 2026
blog.cloudflare.com →
Notable

Netflix replaces its in-house batch scheduler with Kueue

Netflix migrated most of its batch workloads to Kueue, the Kubernetes-native job queueing system, retiring its Compute Managed Batch (CMB) built on Titus. It is already running millions of batch workloads in production on Kueue, with the migration still underway. The most valuable part of the story is not Kueue — it is the strategy: they used API parity with the existing system to derisk the project and migrate gradually. That is the pattern that keeps an infrastructure replacement from turning into a big bang.

12 Aug 2026
infoq.com →
Patch

Helm 4.2.4 and 3.21.4: provenance fixes and security dependency bumps

Patch on both branches (4.2.4 on the 13th, 3.21.4 on the 14th). Highlights: the return-error check in Digest and encodeRelease on the provenance side, the fix for the missing retry on server-side apply conflicts, and two bumps driven by Go security advisories — grpc to 1.82.1 (GO-2026-6061) and otel to v1.44.0 (GO-2026-5158). The panic on repeated IsReachable calls is also fixed.

13 Aug 2026
github.com/helm →
Patch

Argo CD patches three branches at once: 3.5.1, 3.4.7 and 3.3.14

Coordinated release across all three supported branches on the same day — the usual pattern when something is worth backporting. All images remain signed with cosign, with SLSA Level 3 provenance for container images and CLI binaries. If you run GitOps in production and are not verifying those signatures in your pipeline, there is your pending task.

12 Aug 2026
github.com/argoproj →
🏗️

Architecture & Best Practices

Notable

Canva revokes hundreds of millions of sessions without touching a database

This is the architecture piece of the week, and it deserves a full read. The problem: sessions in encrypted cookies scale beautifully, but revocation demands a lookup per request. Canva solved it by storing revocation data in S3 as compact, immutable records, distributed to application gateways as in-memory indexes. The 12-hour revocation window is split into 30-minute S3 objects that gateways download on demand. Each revocation is 16 binary bytes (principal + timestamp), held in sorted arrays that allow direct in-memory search — a 87.5% reduction in cache footprint. The worker processes more than 2,000 revocations per second, and a chunk holding a million revocations is only ~16 MB. Less database infrastructure, faster deploys. The underlying lesson: when the access pattern is append-only with a time window, S3 plus an in-memory index beats a database.

10 Aug 2026
infoq.com →
Notable

Netflix: backpressure to Kafka instead of dropping records

Netflix redesigned the pipeline behind Service Topology, its real-time dependency map, and the decisions are gold for anyone building streaming systems. Three stages separating intermediary resolution, enrichment and persistence. Server-sent events instead of gRPC for high-volume internal transfers. And the key call: when graph storage cannot keep up, pressure travels upstream until the Kafka consumer pauses, leaving records in Kafka until capacity returns. The result is delayed freshness under load rather than dropped data or an incomplete map — exactly what you want during an incident. To reconstruct the past they keep neither full graph snapshots nor a replayed event log: they hold time-windowed aggregator snapshots plus property-level mutation history.

11 Aug 2026
infoq.com →
Notable

Buildpacks move the container hardening control point away from the Dockerfile

The old Dockerfile vs. buildpacks debate has become a security argument, and it is a good one. With a Dockerfile, base image selection and patch cadence sit with each application team; with Cloud Native Buildpacks those decisions move to platform engineering, which decides how fast a critical CVE gets remediated across a fleet of hundreds of services. The mechanism is the rebase command: it detects a newer runtime base image and rewrites the OCI manifest and configuration, swapping the OS layer digests. It is essentially a JSON edit — milliseconds, no rebuild, no source access, no CI queue. The project graduated within the CNCF on 17 July 2026. The cost: you give up the step-by-step control of a hand-written Dockerfile, awkward for workloads needing custom OS packages or ecosystems buildpacks do not cover.

10 Aug 2026
infoq.com →
🔗

Fullstack

Release

pnpm 11.22.0: atomic global installs and less lockfile re-resolution

Loaded release, and several items point at supply chain. New pnpm cache path so CI can cache the metadata directory — including the lockfile verification log, letting a job skip re-checking an unchanged lockfile against configured supply-chain policies. A project's pnpm-workspace.yaml can no longer choose where pnpm keeps credentials, its own installation, or the registry it downloads fromconfigDir, npmrcAuthFile, userconfig and friends are ignored there. That closes an escalation vector via a hostile repo. Global installs now switch over atomically: shims point at a stable per-package link, so a command can never be missing from PATH mid-install and a failed install leaves the previous version in place. Also, pnpm add stops re-resolving the graph when the lockfile already holds a satisfying version, and pnpm deploy injects workspace dependencies again. 12.0.0-rc.6 shipped the same day.

15 Aug 2026
github.com/pnpm →
Release

Turborepo 2.10.10: patches js-yaml, walks the repo once when pruning

Bumps js-yaml to 4.3.1 for GHSA-5p4m-2wfm-xmqj (CVSS 7.5): quadratic CPU consumption in !!omap resolution, affecting both 3.x and 4.x. If js-yaml is in your dependency tree — and it almost certainly is — check your version: fixes are in 4.3.1 and 3.15.1. On features: turbo prune now walks the repository once, nub.lock files are supported, pytest task discovery lands, and nested .gitignore patterns are applied in manual hashing. Side note: the repo is already on TypeScript 7.0.2.

14 Aug 2026
github.com/vercel →
Patch

Next.js 16.3.1: caching, live headers() and prefetch bugs

Big patch, server-focused. The live headers() view of the incoming request is restored, literal exports are allowed in 'use cache' files, and there are two sharp invalidation fixes: only cache entries that predate a tag revalidation are discarded (completed ones are reused), and fewer stale versions are retained via a TTL with an mtime fallback. The cache item name built by unstable_cache is now encoded, and repeated prefetch loops in optimistic routing are fixed. On the Turbopack side: HMR for dynamic imports evaluated from layouts.

13 Aug 2026
github.com/vercel →
🔒

Security

Security

better-auth 1.6.29: SSO no longer grants access on a merely claimed domain

An authorization fix worth reading closely. In @better-auth/sso, automatic email-domain organization assignment now requires both a verified provider domain and a verified user email — previously, a social sign-in could grant access because the SSO provider merely claimed the domain. That is the kind of bug that breaks nothing and hands over a tenant. Domain verification also snapshots the provider's domains at request start and returns 409 with SSO_PROVIDER_CHANGED if the provider changes mid DNS verification.

14 Aug 2026
github.com/better-auth →
Security

CVE-2026-55102: hashi-vault-js leaks tokens and secrets in thrown errors

The Vault token and secret values are exposed in the exceptions the library throws. If those errors reach your logger, Sentry, or an HTTP error response, your secrets are already in a third-party system. A good prompt to audit what your global error handler serializes before it ships anywhere.

13 Aug 2026
github.com/advisories →
Security

CVE-2026-35219: SSRF in Budibase bypasses the IP blacklist

High severity. The Webhook, Zapier, N8N, Slack and Discord automation steps allow bypassing the IP blacklist and reaching internal destinations. The pattern recurs in every low-code tool with outbound steps: an IP blacklist is a fragile defense when the user controls the URL. If you expose configurable outbound integrations, the real mitigation is an egress proxy with an allowlist, not a blacklist.

14 Aug 2026
github.com/advisories →
Security

CVE-2026-73080: unauthenticated SSRF in SeaweedFS with response read-back

Critical severity. The VolumeServer.FetchAndWriteNeedle endpoint allows SSRF without authentication and with response read-back — this is not blind SSRF: the attacker sees what the internal destination returns. If you run SeaweedFS as object storage behind your services, review the volume server's exposure right now.

11 Aug 2026
github.com/advisories →
🔥

Top Stories

Sécurité

PostgreSQL 18.6, 17.11, 16.15, 15.19 et 14.24 : six CVE corrigées

Mise à jour de sécurité sur toutes les branches supportées, plus 19 Beta 3. Les deux plus graves : CVE-2026-14662 (CVSS 8.8) — allocations sous-dimensionnées dans tsvector/tsquery via integer wraparound — et CVE-2026-6464 (CVSS 8.1), où un échec précoce de COPY FROM STDIN fait que psql traite les lignes de données comme des commandes. S'ajoutent CVE-2026-6471 (CVSS 7.2, le logical decoding peut faire un dlopen sur un fichier arbitraire), CVE-2026-6470, CVE-2026-6469 et la plus vicieuse, CVE-2026-14663 : pgcrypto, pour les ciphers désactivés dans OpenSSL, chiffre et déchiffre silencieusement en clair. Les mises à jour sont cumulatives : ni dump-and-reload ni pg_upgrade, on arrête le service et on remplace les binaires.

13 Aug 2026
postgresql.org →
Sécurité

CVE-2026-73654 : prototype pollution dans Trigger.dev met à terre tout le processus

CVSS 8.5 dans @trigger.dev/core. Les opérations de metadata d'un run permettent une prototype pollution, et le rayon d'impact n'est pas local : c'est un DoS cross-tenant à l'échelle du processus. Affecte de 3.3.8 à 4.5.5 inclus ; corrigé en 4.5.6. Si vous auto-hébergez Trigger.dev avec plusieurs tenants sur le même worker, c'est la priorité numéro un.

13 Aug 2026
github.com/advisories →
Breaking

Fastify 6.0.0-alpha : grand nettoyage des dépréciations et undici v8

La major est lancée. L'alpha balaie tout ce qui était déprécié : les types FastifyPlugin, FastifyLoggerInstance, FastifyRequestContext/FastifyReplyContext, ValidationResult et ResSerializerReply disparaissent, ainsi que les dépréciations FSTDEP022FSTDEP025. L'override du error handler est désormais désactivé par défaut, la version minimale du runtime augmente et le passage à undici v8 est fait. Le ponyfill Promise.withResolvers saute aussi. L-alpha.1 a suivi deux jours plus tard.

11 Aug 2026
github.com/fastify →
Breaking

Vitest 5.0.0-rc.1 : les assertions async sans await font désormais échouer le test

La RC apporte le changement qui tuera le plus de faux verts : une assertion asynchrone non attendue fait échouer le test. S'ajoutent : les projets inline étendent la config racine par défaut, le support des projets imbriqués, le serveur Vite partagé entre projets inline, > comme séparateur dans -t, et le mocking de Temporal sans fake timers. Côté correctifs, un gros : vitest --typecheck ne rapporte plus un faux succès quand le processus tsc crashe.

11 Aug 2026
github.com/vitest-dev →
Release

NestJS 11.2.0 ajoute la méthode HTTP QUERY (RFC 10008)

Plus important qu-il n'y paraît. QUERY est la méthode qui règle l'éternel dilemme du GET avec body : les recherches complexes qui ne tiennent pas dans une query string et qu-on résout aujourd-hui par un POST /search qui ment sur sa sémantique. QUERY est sûre, idempotente et cacheable. Nest la supporte dans core, common et platform-fastify, avec des tests e2e. Arrivent aussi sse signal, et des correctifs pour les providers singleton partagés avec les modules lazy et le middleware qui s'exécute désormais sur les routes exclues du préfixe global sous Fastify. La 11.2.1 est sortie le même jour.

14 Aug 2026
github.com/nestjs →
🧩

Frameworks & Libraries

Mineur

Fastify 5.12.0 : arrivée de Reply.prototype.mediaType

La ligne stable continue pendant que la 6 mijote. Nouveau Reply.prototype.mediaType, les raw response headers ne sont plus renvoyés, et le parsing du content-type retourne désormais undefined pour les media types invalides au lieu d'improviser.

13 Aug 2026
github.com/fastify →
Patch

Hono 4.13.2 : secure-headers à jour avec le W3C, ETag corrigé sur les streams

Release de maintenance avec plusieurs correctifs qui comptent en production. secure-headers ajoute les directives Permissions-Policy manquantes du W3C et émet désormais des parenthèses vides () au lieu de none pour celles désactivées. Deux correctifs ETag : hashing incrémental incorrect sur les réponses chunked et digest instable entre les chunks de stream. Le client sérialise correctement plusieurs cookies et envoie les bodies JSON falsy. Bonus perf : cors pré-assemble les options de headers statiques à l'initialisation.

13 Aug 2026
github.com/honojs →
Patch

Apollo Router 2.16.2

Patch du router de fédération, publié après deux release candidates (rc.0 le 12, rc.1 le 13). Si vous avez un supergraph en production, la cadence de patches d'Apollo reste hebdomadaire — mieux vaut automatiser le bump que d'accumuler six versions de dette.

13 Aug 2026
github.com/apollographql →
Patch

Kysely 0.29.5

Patch du query builder type-safe. Semaine calme pour les ORM : Prisma, Drizzle, TypeORM et tRPC n'ont publié aucune release dans la fenêtre. Kysely est le seul à avoir bougé.

10 Aug 2026
github.com/kysely-org →
🗄️

Databases & Data

Release

BullMQ 6.1.0 : les migrations de schéma Postgres deviennent explicites

Un choix de conception à saluer : le backend Postgres ne lance plus les migrations de schéma tout seul au démarrage — elles sont désormais explicites. Les migrations automatiques au boot d'un worker fonctionnent jusqu-au jour où douze réplicas démarrent en parallèle sur la même base. En faire une étape délibérée du déploiement est le bon choix. Les 6.1.1 et 6.1.2 ont suivi les 14 et 16.

12 Aug 2026
github.com/taskforcesh →
Notable

Random Access Parquet : Spotify fait des point queries sur le data lake sans rien répliquer

Un data lake est optimisé pour les scans analytiques, pas pour récupérer une seule ligne. L'échappatoire habituelle consiste à répliquer le dataset dans une base opérationnelle — et à assumer le pipeline, le coût et la dérive. Spotify a choisi autre chose : Random Access Parquet (RAP), une couche d'index externe au-dessus des fichiers Parquet qui associe les clés de lookup (un user ID, par exemple) directement à un fichier et à une position de ligne. Au lieu de scanner des milliers de fichiers, la requête résout la clé via l'index et émet une ranged read ciblée contre l'object storage. À mesure que de nouvelles données arrivent dans les tables Iceberg, un index builder génère des fragments d'index append-only sans modifier les fichiers Parquet immuables.

12 Aug 2026
infoq.com →
☁️

Cloud & DevOps

Notable

Cloudflare DDoS H1 2026 : 935 attaques de plus de 1 Tbps et DNS floods en flèche

Des chiffres qui méritent une pause architecture. Cloudflare a mitigé 935 attaques network-layer au-dessus de 1 Tbps au premier semestre, soit +519% en trimestriel — 805 rien qu-au T2. Les attaques basées sur le DNS représentent désormais 34,3% de toute l'activité network-layer, les DNS Floods passant de 25,7% à 40,0% d'un trimestre à l'autre. Le centre de gravité s'est déplacé des botnet floods vers la reflection et l'amplification : les CLDAP Floods ont bondi de +580% pour devenir le vecteur n°3. Avril a culminé à 6,46 billions de requêtes et 165 Po.

11 Aug 2026
blog.cloudflare.com →
Notable

Netflix remplace son scheduler batch maison par Kueue

Netflix a migré la plupart de ses workloads batch vers Kueue, le système de job queueing Kubernetes-native, retirant son Compute Managed Batch (CMB) bâti sur Titus. L'entreprise fait déjà tourner des millions de workloads batch en production sur Kueue, la migration étant encore en cours. Le plus précieux n'est pas Kueue mais la stratégie : ils ont utilisé la parité d'API avec le système existant pour dérisquer le projet et migrer progressivement.

12 Aug 2026
infoq.com →
Patch

Helm 4.2.4 et 3.21.4 : correctifs de provenance et bumps de sécurité

Patch sur les deux branches (4.2.4 le 13, 3.21.4 le 14). À retenir : la vérification de l'erreur de retour dans Digest et encodeRelease côté provenance, le correctif du retry manquant sur les conflits server-side apply, et deux bumps liés à des avis de sécurité Go — grpc vers 1.82.1 (GO-2026-6061) et otel vers v1.44.0 (GO-2026-5158).

13 Aug 2026
github.com/helm →
Patch

Argo CD patche trois branches d'un coup : 3.5.1, 3.4.7 et 3.3.14

Release coordonnée sur les trois branches supportées le même jour — le schéma habituel quand quelque chose mérite un backport. Toutes les images restent signées avec cosign, avec une provenance SLSA niveau 3 pour les images et les binaires CLI.

12 Aug 2026
github.com/argoproj →
🏗️

Architecture & Best Practices

Notable

Canva révoque des centaines de millions de sessions sans toucher à une base de données

C'est la pièce d'architecture de la semaine, à lire en entier. Le problème : les sessions en cookies chiffrés passent très bien à l'échelle, mais la révocation exige un lookup par requête. Canva a stocké les données de révocation dans S3 sous forme d'enregistrements compacts et immuables, distribués aux gateways comme index en mémoire. La fenêtre de révocation de 12 heures est découpée en objets S3 de 30 minutes téléchargés à la demande. Chaque révocation tient en 16 octets binaires (principal + timestamp), dans des tableaux triés permettant une recherche directe en mémoire : 87,5% d'empreinte cache en moins. Le worker traite plus de 2 000 révocations par seconde, et un chunk d'un million de révocations ne pèse que ~16 Mo.

10 Aug 2026
infoq.com →
Notable

Netflix : backpressure vers Kafka au lieu de jeter des enregistrements

Netflix a redessiné le pipeline derrière Service Topology, sa carte de dépendances en temps réel, et les décisions sont précieuses pour quiconque construit du streaming. Trois étapes séparant résolution des intermédiaires, enrichissement et persistance. Server-sent events plutôt que gRPC pour les transferts internes à haut volume. Et le choix clé : quand le graph storage ne suit plus, la pression remonte jusqu-à mettre en pause le consumer Kafka, laissant les enregistrements dans Kafka jusqu-au retour de la capacité. Résultat : une fraîcheur retardée sous charge plutôt que des données perdues.

11 Aug 2026
infoq.com →
Notable

Les buildpacks déplacent le point de contrôle du hardening hors du Dockerfile

Le vieux débat Dockerfile vs. buildpacks est devenu un argument de sécurité, et il est solide. Avec un Dockerfile, le choix de la base image et la cadence de patch reviennent à chaque équipe applicative ; avec les Cloud Native Buildpacks, ces décisions passent au platform engineering, qui décide de la vitesse de remédiation d'un CVE critique sur une flotte de centaines de services. Le mécanisme est la commande rebase : elle détecte une runtime base image plus récente et réécrit le manifest et la configuration OCI en échangeant les digests de la couche OS. C'est essentiellement une édition de JSON — des millisecondes, sans rebuild, sans accès au source, sans file d'attente CI. Le projet a été gradué à la CNCF le 17 juillet 2026.

10 Aug 2026
infoq.com →
🔗

Fullstack

Release

pnpm 11.22.0 : installations globales atomiques et moins de re-résolution du lockfile

Release chargée, plusieurs points visent la supply chain. Nouveau pnpm cache path pour que la CI cache le répertoire de metadata — y compris le log de vérification du lockfile, permettant de sauter la re-vérification d'un lockfile inchangé face aux politiques configurées. Le pnpm-workspace.yaml d'un projet ne peut plus décider où pnpm garde ses credentials, sa propre installation ou le registry depuis lequel il se téléchargeconfigDir, npmrcAuthFile, userconfig et consorts y sont ignorés. Cela ferme un vecteur d'escalade via un dépôt hostile. Les installations globales basculent désormais de façon atomique. La 12.0.0-rc.6 est sortie le même jour.

15 Aug 2026
github.com/pnpm →
Release

Turborepo 2.10.10 : patche js-yaml, parcourt le dépôt une seule fois au pruning

Passe js-yaml à 4.3.1 pour GHSA-5p4m-2wfm-xmqj (CVSS 7.5) : consommation CPU quadratique lors de la résolution de !!omap, affectant 3.x et 4.x. Si js-yaml est dans votre arbre de dépendances — et c'est quasi certain — vérifiez votre version : les correctifs sont en 4.3.1 et 3.15.1. Côté features : turbo prune parcourt désormais le dépôt une seule fois, support des fichiers nub.lock, découverte des tasks pytest. À noter : le dépôt est déjà sur TypeScript 7.0.2.

14 Aug 2026
github.com/vercel →
Patch

Next.js 16.3.1 : cache, headers() en direct et bugs de prefetch

Gros patch, orienté serveur. La vue en direct de headers() sur la requête entrante est restaurée, les exports littéraux sont autorisés dans les fichiers 'use cache', et deux correctifs fins d'invalidation : seules les entrées de cache antérieures à une revalidation par tag sont écartées (les complétées sont réutilisées), et moins de versions stale sont retenues via un TTL avec fallback mtime. Côté Turbopack : HMR pour les dynamic imports évalués depuis les layouts.

13 Aug 2026
github.com/vercel →
🔒

Security

Sécurité

better-auth 1.6.29 : le SSO n'accorde plus l'accès sur un domaine simplement revendiqué

Un correctif d'autorisation à lire attentivement. Dans @better-auth/sso, l'assignation automatique d'organisation par domaine d'email exige désormais un domaine de provider vérifié ET un email utilisateur vérifié — auparavant, un social sign-in pouvait accorder l'accès parce que le provider SSO se contentait de revendiquer le domaine. La vérification de domaine fige aussi les domaines du provider au début de la requête et retourne 409 avec SSO_PROVIDER_CHANGED si le provider change pendant la vérification DNS.

14 Aug 2026
github.com/better-auth →
Sécurité

CVE-2026-55102 : hashi-vault-js fuite tokens et secrets dans les erreurs

Le token Vault et les valeurs des secrets sont exposés dans les exceptions lancées par la bibliothèque. Si ces erreurs atteignent votre logger, Sentry ou une réponse HTTP d'erreur, vos secrets sont déjà dans un système tiers. Bonne occasion d'auditer ce que sérialise votre error handler global.

13 Aug 2026
github.com/advisories →
Sécurité

CVE-2026-35219 : SSRF dans Budibase contourne la blacklist d'IP

Sévérité haute. Les automation steps Webhook, Zapier, N8N, Slack et Discord permettent de contourner la blacklist d'IP et d'atteindre des destinations internes. Le pattern se répète dans tout outil low-code avec des steps sortants : une blacklist d'IP est une défense fragile quand l'utilisateur contrôle l'URL. La vraie mitigation est un proxy egress avec allowlist.

14 Aug 2026
github.com/advisories →
Sécurité

CVE-2026-73080 : SSRF non authentifiée dans SeaweedFS avec lecture de la réponse

Sévérité critique. L'endpoint VolumeServer.FetchAndWriteNeedle permet une SSRF sans authentification et avec lecture de la réponse — ce n'est pas une SSRF aveugle : l'attaquant voit ce que retourne la destination interne. Si vous utilisez SeaweedFS comme object storage, vérifiez immédiatement l'exposition du volume server.

11 Aug 2026
github.com/advisories →