← Backend et Fullstack

Backend & Fullstack — 15 septembre 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

ZITADEL: el Token Exchange deja escalar privilegios entre aplicaciones

CVSS 8.1. El endpoint de Token Exchange (urn:ietf:params:oauth:grant-type:token-exchange) no valida que el access token entrante pertenezca al client que inicia el intercambio, ni que los scopes pedidos queden dentro de los del token original. Traducción: con un token de baja privilegio en una app cualquiera te llevás un token elevado para otra aplicación distinta, salteándote roles de proyecto y permisos de client. Si tenés ZITADEL self-hosted y habilitaste token exchange, actualizá YA.

14 Sep 2026
github.com/advisories →
Destacado

Agoda reemplaza 72 shards de SQL Server por DragonflyDB

El Price Cache de Agoda vivía en 72 shards de SQL Server con remapeo manual cada vez que había que escalar. Migraron a DragonflyDB y reportan ~8x mejor latencia P99 de lectura, ~300k req/s a ~8 ms P99 sobre 1,5 TB de datos de precios, y ~1,6 millones de escrituras por segundo a ~10 ms P99. El bonus arquitectónico: expiración de claves nativa (se borró todo el proceso de limpieza) y failover automático por detección de fallas descentralizada. Validaron con dual-read hasta >99,9% de paridad antes de cortar — así se migra un cache crítico, no a lo bruto.

14 Sep 2026
infoq.com →
Breaking

Amazon Linux 2027 entra en public preview con SELinux en enforcing por defecto

Construido sobre AL2023, trae kernel 7.1+, AWS-LC para criptografía y soporte de AWS Neuron. Pero el cambio que te va a doler es SELinux en modo enforcing por defecto (AL2023 venía en permissive): las violaciones de política ahora se bloquean en vez de solo loguearse. Antes de migrar, validá contextos de archivos, puertos y patrones de acceso de tus apps — si no, tus containers van a morir en silencio. AMIs disponibles en todas las regiones comerciales (x86-64 y ARM) y base images en ECR Public Gallery. Todavía no hay fecha de GA ni de fin de soporte de AL2023, y tampoco confirmaron upgrades in-place.

15 Sep 2026
infoq.com →
⚡

Backend TypeScript & Runtimes

Release

workerd 1.20260915.1: IP del cliente en el handler de connect() TCP

El runtime de Cloudflare Workers ahora expone IP y puerto del cliente como remoteAddress en el handler de connect() TCP — útil si estás armando proxies o servicios TCP sobre Workers y necesitás rate limiting o logging por origen. Además, el isolate pasa a ser el namespace de puertos para los servidores node:http y node:net, lo que ordena bastante la compatibilidad con Node en edge. Los Python Workers también reemplazaron los parches de Pyodide basados en strings por parches AST.

15 Sep 2026
github.com/cloudflare/workerd →
🧩

Frameworks & Libraries

Seguridad

NestJS 11.2.4 tapa un bypass de middleware en platform-fastify

Parche en la línea 11.x: platform-fastify tenía un bypass de middleware vía absolute-form request target (una request con URL absoluta tipo GET http://host/path en vez de GET /path no matcheaba las rutas registradas del middleware). Si usás Nest con adapter Fastify y metés guards o auth en middleware, esto es un agujero de autorización, no un bug cosmético. También cayó un fix para patterns no serializables en microservices que tiraban la app abajo.

14 Sep 2026
github.com/nestjs/nest →
Patch

NestJS 12.0.2: microservices y websockets más resilientes

La línea 12 sigue puliendo detalles que en producción se sienten: el stream de mensajes de platform-socket.io ya no se muere cuando un handler tira una excepción, los microservices ahora desenganchan sus signal listeners al desconectarse (adiós leaks en shutdown), y las requests cuya reply subscription es rechazada fallan explícitamente en vez de quedar colgadas esperando para siempre. Ese último es el clásico timeout fantasma que te come una tarde entera de debugging.

14 Sep 2026
github.com/nestjs/nest →
Minor

better-auth 1.7.5 agrega database.schemaName para PostgreSQL

Novedad chica pero muy pedida: database.schemaName para conexiones directas a PostgreSQL, así podés aislar las tablas de auth en su propio schema en lugar de ensuciar public. También arreglaron migraciones que confundían tablas con views entre schemas, validación de índices MySQL sobre columnas string existentes, y sacaron el peer dependency opcional de better-sqlite3 que rompía instalaciones.

14 Sep 2026
github.com/better-auth →
🗄️

Databases & Data

Patch

BullMQ 6.3.6 arregla duplicate() anidado en el adapter lazy de Bun

Si estás corriendo colas BullMQ sobre Bun, este parche te interesa: el adapter lazy de Bun rompía cuando llamabas duplicate() de forma anidada sobre la conexión Redis — patrón habitual cuando creás workers y QueueEvents a partir de una conexión compartida. Chiquito, pero el tipo de bug que te deja workers zombies sin explicación aparente.

14 Sep 2026
github.com/taskforcesh/bullmq →
☁️

Cloud & DevOps

Destacado

CPython da marcha atrás: Rust será opcional, no obligatorio

La propuesta original (noviembre 2025) era meter Rust como dependencia obligatoria de CPython. En mayo de 2026 la enmendaron a opcional, y ahora el plan apunta a Python 3.16 (octubre 2027) con la nueva API de Rust usando zlib como caso de prueba. Guido resumió el razonamiento: un rewrite completo en Rust no funciona, pero empezar por componentes menos esenciales y expandirse de a poco sí. Quedan pendientes soporte GCC en plataformas raras, verificación de memory safety cross-language y ajustes al trait Drop. Si mantenés imágenes de CI o build pipelines con Python, mirá esto de reojo — toca toda la cadena de build.

14 Sep 2026
theregister.com →
🔗

Fullstack

Release

Turborepo 2.10.13 entiende workspaces de uv y virtualenvs de Python

Turborepo deja de ser estrictamente un orquestador JS/TS: esta release lee metadata de workspaces de uv, soporta virtualenvs de Python y scopea el lockfile de uv correctamente. Si tenés un monorepo mixto con servicios Node y workers Python (muy común en stacks con ML o data pipelines), esto es un golazo para la DX — ya no necesitás dos orquestadores peleando por el mismo grafo de tareas. También arreglaron selecciones del TUI copiadas localmente sobre SSH.

14 Sep 2026
github.com/vercel/turborepo →
Breaking

Jotai 3.0 es ESM-only y se saca de encima CommonJS, UMD y SystemJS

Sin APIs nuevas y sin cambios de comportamiento: Jotai 3.0 es puro trabajo de limpieza. Se van los builds CommonJS, UMD y SystemJS, se van atomFamily (migró al paquete jotai-family con la misma API), loadable, el argumento setSelf y el plugin jotai/babel. El target pasa a ES2020 y sube el piso de Node, React y TypeScript. Si tu SSR todavía hace require() de Jotai en algún lado, este upgrade te va a doler — revisá el bundler antes de tocar el package.json.

14 Sep 2026
infoq.com →
🔥

Top Stories

Security

ZITADEL: Token Exchange lets you escalate privileges across applications

CVSS 8.1. The Token Exchange endpoint (urn:ietf:params:oauth:grant-type:token-exchange) never validates that the incoming access token belongs to the client initiating the exchange, nor that requested scopes stay within the original token's boundaries. Net effect: a low-privilege token in one app can be traded for an elevated token at a completely different application, bypassing project roles and client permissions. Self-hosting ZITADEL with token exchange enabled? Patch now.

14 Sep 2026
github.com/advisories →
Notable

Agoda replaces a 72-shard SQL Server price cache with DragonflyDB

Agoda's Price Cache lived on 72 SQL Server shards with manual shard remapping every time it needed to scale. They moved to DragonflyDB and report ~8x better P99 read latency, ~300k req/s at ~8 ms P99 over 1.5 TB of pricing data, and ~1.6 million writes per second at ~10 ms P99. The architectural bonus: built-in key expiration killed a whole cleanup pipeline, and decentralized failure detection gave them automatic failover. They ran dual-read validation to >99.9% parity before cutting over — that is how you migrate a critical cache.

14 Sep 2026
infoq.com →
Breaking

Amazon Linux 2027 enters public preview with SELinux enforcing by default

Built on AL2023, it ships kernel 7.1+, AWS-LC for crypto, and AWS Neuron support. The change that will actually bite you is SELinux in enforcing mode by default (AL2023 shipped permissive): policy violations are now blocked instead of merely logged. Validate your applications' file contexts, ports, and access patterns before migrating, or your containers will fail quietly. AMIs are available in all commercial regions (x86-64 and ARM) with container base images on ECR Public Gallery. No GA date, no AL2023 end-of-support date, and no confirmation on in-place upgrades.

15 Sep 2026
infoq.com →
⚡

Backend TypeScript & Runtimes

Release

workerd 1.20260915.1: client IP exposed in the TCP connect() handler

Cloudflare's Workers runtime now exposes client IP and port as remoteAddress in the TCP connect() handler — handy if you're building proxies or TCP services on Workers and need per-origin rate limiting or logging. The isolate also becomes the port namespace for node:http and node:net servers, which tidies up Node compatibility at the edge. Python Workers swapped string-based Pyodide patches for AST patches.

15 Sep 2026
github.com/cloudflare/workerd →
🧩

Frameworks & Libraries

Security

NestJS 11.2.4 patches a middleware bypass in platform-fastify

Patch on the 11.x line: platform-fastify had an absolute-form request target middleware bypass (a request with an absolute URL such as GET http://host/path instead of GET /path failed to match registered middleware routes). If you run Nest on the Fastify adapter and put guards or auth logic in middleware, that's an authorization hole, not a cosmetic bug. It also fixes unserializable microservice patterns that crashed the app.

14 Sep 2026
github.com/nestjs/nest →
Patch

NestJS 12.0.2: sturdier microservices and websockets

The 12.x line keeps polishing things you actually feel in production: the platform-socket.io message stream no longer dies when a handler throws, microservices now detach their signal listeners on disconnect (no more shutdown leaks), and requests whose reply subscription is rejected fail explicitly instead of hanging forever. That last one is the classic phantom timeout that eats an entire afternoon of debugging.

14 Sep 2026
github.com/nestjs/nest →
Minor

better-auth 1.7.5 adds database.schemaName for PostgreSQL

Small but long-requested: database.schemaName for direct PostgreSQL connections, so you can isolate auth tables in their own schema instead of polluting public. It also fixes migrations that confused tables with views across schemas, MySQL index validation on existing string columns, and drops the unused optional better-sqlite3 peer dependency that was breaking installs.

14 Sep 2026
github.com/better-auth →
🗄️

Databases & Data

Patch

BullMQ 6.3.6 fixes nested duplicate() on the lazy Bun adapter

If you run BullMQ queues on Bun, this one matters: the lazy Bun adapter broke on nested duplicate() calls against the Redis connection — a common pattern when you spin up workers and QueueEvents from a shared connection. Tiny patch, but exactly the kind of bug that leaves you with zombie workers and no obvious explanation.

14 Sep 2026
github.com/taskforcesh/bullmq →
☁️

Cloud & DevOps

Notable

CPython backs off: Rust will be optional, not mandatory

The original November 2025 proposal made Rust a mandatory CPython dependency. It was amended to optional in May 2026, and the plan now targets Python 3.16 (October 2027) shipping the new Rust API with zlib as the test case. Guido summed up the reasoning: a full Rust rewrite won't work, but starting with less-essential components and expanding gradually will. Open problems: GCC support on obscure platforms, cross-language memory-safety verification, and changes to Rust's Drop trait. If you maintain CI images or Python build pipelines, keep an eye on this — it touches the whole build chain.

14 Sep 2026
theregister.com →
🔗

Fullstack

Release

Turborepo 2.10.13 understands uv workspaces and Python virtual environments

Turborepo is no longer strictly a JS/TS orchestrator: this release reads uv workspace metadata, supports Python virtual environments, and scopes the uv lockfile correctly. If you run a mixed monorepo with Node services and Python workers (very common in ML or data-pipeline stacks), this is a serious DX win — you no longer need two orchestrators fighting over the same task graph. It also fixes TUI selections copying locally over SSH.

14 Sep 2026
github.com/vercel/turborepo →
Breaking

Jotai 3.0 goes ESM-only, dropping CommonJS, UMD and SystemJS

No new APIs and no behavior changes: Jotai 3.0 is pure cleanup. CommonJS, UMD and SystemJS builds are gone, along with atomFamily (moved to the jotai-family package with an identical API), loadable, the setSelf argument and the jotai/babel plugin. The target moves to ES2020 and the Node, React and TypeScript floors go up. If your SSR layer still require()s Jotai anywhere, this upgrade will hurt — check your bundler before touching package.json.

14 Sep 2026
infoq.com →
🔥

Top Stories

Sécurité

ZITADEL : le Token Exchange permet une élévation de privilèges entre applications

CVSS 8.1. Le endpoint Token Exchange (urn:ietf:params:oauth:grant-type:token-exchange) ne vérifie ni que l'access token entrant appartient au client qui initie l'échange, ni que les scopes demandés restent dans les limites du token d'origine. Résultat : un token à faible privilège peut être échangé contre un token élevé sur une application totalement différente, contournant rôles projet et permissions client. ZITADEL auto-hébergé avec token exchange activé ? Patchez maintenant.

14 Sep 2026
github.com/advisories →
Notable

Agoda remplace un cache de prix SQL Server à 72 shards par DragonflyDB

Le Price Cache d'Agoda reposait sur 72 shards SQL Server avec remappage manuel à chaque montée en charge. Après migration vers DragonflyDB : latence P99 en lecture ~8x meilleure, ~300k req/s à ~8 ms P99 sur 1,5 To de données de prix, et ~1,6 million d'écritures par seconde à ~10 ms P99. Bonus architectural : l'expiration native des clés supprime tout un pipeline de nettoyage, et la détection décentralisée des pannes apporte le failover automatique. Validation en dual-read jusqu'à >99,9% de parité avant bascule.

14 Sep 2026
infoq.com →
Breaking

Amazon Linux 2027 en préversion publique avec SELinux en mode enforcing par défaut

Basé sur AL2023, avec kernel 7.1+, AWS-LC pour la cryptographie et le support d'AWS Neuron. Le changement qui fait mal : SELinux en mode enforcing par défaut (AL2023 était en permissive) — les violations de politique sont désormais bloquées et non plus seulement journalisées. Validez contextes de fichiers, ports et schémas d'accès avant de migrer, sinon vos containers échoueront silencieusement. AMIs dans toutes les régions commerciales (x86-64 et ARM), images de base sur ECR Public Gallery. Ni date de GA, ni fin de support AL2023, ni confirmation sur les upgrades in-place.

15 Sep 2026
infoq.com →
⚡

Backend TypeScript & Runtimes

Release

workerd 1.20260915.1 : IP client exposée dans le handler connect() TCP

Le runtime Cloudflare Workers expose désormais l'IP et le port du client via remoteAddress dans le handler connect() TCP — pratique pour les proxies ou services TCP sur Workers nécessitant rate limiting ou logging par origine. L'isolate devient aussi le namespace de ports pour les serveurs node:http et node:net, ce qui clarifie la compatibilité Node en edge. Les Python Workers passent de patches Pyodide textuels à des patches AST.

15 Sep 2026
github.com/cloudflare/workerd →
🧩

Frameworks & Libraries

Sécurité

NestJS 11.2.4 corrige un contournement de middleware dans platform-fastify

Correctif sur la ligne 11.x : platform-fastify présentait un contournement de middleware via absolute-form request target (une requête avec URL absolue comme GET http://host/path au lieu de GET /path ne correspondait pas aux routes de middleware enregistrées). Si vous utilisez Nest avec l'adapter Fastify et des guards ou de l'auth en middleware, c'est une faille d'autorisation. Corrige aussi les patterns non sérialisables en microservices qui faisaient planter l'app.

14 Sep 2026
github.com/nestjs/nest →
Patch

NestJS 12.0.2 : microservices et websockets plus robustes

La ligne 12.x continue de peaufiner ce qui compte en production : le flux de messages platform-socket.io ne meurt plus quand un handler lève une exception, les microservices détachent leurs signal listeners à la déconnexion (fini les fuites au shutdown), et les requêtes dont la reply subscription est rejetée échouent explicitement au lieu d'attendre indéfiniment. Ce dernier point, c'est le timeout fantôme classique.

14 Sep 2026
github.com/nestjs/nest →
Mineur

better-auth 1.7.5 ajoute database.schemaName pour PostgreSQL

Petit mais très demandé : database.schemaName pour les connexions PostgreSQL directes, afin d'isoler les tables d'auth dans leur propre schema plutôt que de polluer public. Corrige aussi les migrations confondant tables et views entre schemas, la validation d'index MySQL sur colonnes string existantes, et supprime la peer dependency optionnelle better-sqlite3 qui cassait les installations.

14 Sep 2026
github.com/better-auth →
🗄️

Databases & Data

Patch

BullMQ 6.3.6 corrige duplicate() imbriqué sur l'adapter lazy de Bun

Si vous exécutez des queues BullMQ sur Bun, ce correctif compte : l'adapter lazy de Bun échouait sur les appels duplicate() imbriqués sur la connexion Redis — un pattern courant quand on crée workers et QueueEvents depuis une connexion partagée. Petit patch, mais typiquement le bug qui laisse des workers zombies sans explication.

14 Sep 2026
github.com/taskforcesh/bullmq →
☁️

Cloud & DevOps

Notable

CPython fait marche arrière : Rust sera optionnel, pas obligatoire

La proposition initiale (novembre 2025) faisait de Rust une dépendance obligatoire de CPython. Amendée en mai 2026 pour devenir optionnelle, elle vise désormais Python 3.16 (octobre 2027) avec la nouvelle API Rust et zlib comme cas de test. Guido résume : une réécriture complète en Rust ne marchera pas, mais commencer par des composants moins essentiels et étendre progressivement, si. Restent en suspens : le support GCC sur plateformes obscures, la vérification cross-langage de la memory safety et des ajustements au trait Drop.

14 Sep 2026
theregister.com →
🔗

Fullstack

Release

Turborepo 2.10.13 comprend les workspaces uv et les virtualenvs Python

Turborepo n'est plus strictement un orchestrateur JS/TS : cette version lit les métadonnées de workspace uv, supporte les virtualenvs Python et scope correctement le lockfile uv. Pour un monorepo mixte avec services Node et workers Python (courant dans les stacks ML ou data pipelines), c'est un vrai gain de DX — plus besoin de deux orchestrateurs se disputant le même graphe de tâches. Corrige aussi la copie locale des sélections TUI via SSH.

14 Sep 2026
github.com/vercel/turborepo →
Breaking

Jotai 3.0 passe en ESM-only et abandonne CommonJS, UMD et SystemJS

Aucune nouvelle API, aucun changement de comportement : Jotai 3.0 est un pur travail de nettoyage. Exit les builds CommonJS, UMD et SystemJS, ainsi que atomFamily (déplacé vers le paquet jotai-family avec une API identique), loadable, l'argument setSelf et le plugin jotai/babel. La cible passe à ES2020 et les versions minimales de Node, React et TypeScript augmentent. Si votre SSR fait encore un require() de Jotai, la mise à jour sera douloureuse.

14 Sep 2026
infoq.com →