Node.js 26.6.0: FFI con event loop y logs en el test runner
La línea Current suma tres SEMVER-MINOR que interesan si escribís tooling. getCurrentEventLoop() expone el event loop actual a operaciones FFI — clave para bindings nativos que necesitan agendar trabajo sin pelearse con el thread pool. En el test runner llegan context.log() y el evento test:log, más entryFile en los eventos de TestStream: por fin se puede correlacionar salida de test con el archivo que la generó desde un reporter propio. Además, optimizaciones en once() y removeListener(), compresión de certificados TLS en QUIC, y npm sube a 11.18.0.
@cloudflare/computer: runtime de agentes que elige isolate o container solo
El argumento arquitectónico es más interesante que el producto: no hay compute en el mundo para darle a cada agente de cada usuario su propio container. La respuesta de Cloudflare es un runtime open source con un filesystem virtual respaldado por SQLite, accesible desde varios entornos de ejecución. Los comandos de shell se traducen a JavaScript vía just-bash y corren en dynamic workers; solo cuando hace falta Linux de verdad se levanta un Container con el filesystem montado por FUSE. El objetivo declarado: mantener los containers por debajo del 10% de la carga de agentes. Traducido a decisión de diseño — el sandbox por defecto debería ser el más barato que resuelva el caso, no el más capaz.
Agents Week: la cloud se diseñó para humanos, no para agentes
Cloudflare abrió su segunda Agents Week con una premisa que vale más que el anuncio: la cloud y la web actuales se construyeron para la atención y las decisiones humanas. Cinco ejes durante la semana — primitivas y capa de ejecución, ciclo de vida de desarrollo agéntico, acceso organizacional seguro, una web nativa para agentes (descubrimiento, acceso y pagos), e interacción humano-agente. Si estás diseñando servicios que van a ser consumidos por agentes y no por browsers, esta es la conversación de arquitectura del año: la superficie de tu API deja de optimizarse para pantallas y pasa a optimizarse para velocidad, estructura y acceso directo.
Billable Usage API: costos de Cloudflare por endpoint, en formato FOCUS
Un solo endpoint devuelve uso y costo diario desglosado por producto para cuentas self-serve — Workers, R2, D1 y el resto — con campos ServiceName, ChargePeriodStart/End, ConsumedUnit y ContractedCost. Lo importante no es el endpoint sino que sigue el estándar FOCUS (FinOps Open Cost and Usage Specification), así que entra directo en tu toolchain de FinOps sin parsers a medida. Hay integración con Vantage para ver el gasto de Cloudflare al lado del de AWS o Azure. En el roadmap: ventanas de tiempo más finas y forecast de gasto.
GitHub Models se retira por completo: playground, catálogo, inference API y BYOK
No es deprecation gradual: playground, catálogo de modelos, inference API y bring-your-own-key dejan de estar disponibles para todos los clientes, incluidos los que tenían uso activo. Si tenías un prototipo o un job de CI pegado a la inference API, ya se rompió. Los caminos de migración que propone GitHub son Microsoft Foundry para el catálogo de modelos, o GitHub Copilot si lo que querías era armar workflows de IA dentro de GitHub. Moraleja de arquitectura: una capa de abstracción propia sobre el proveedor de inferencia no es over-engineering, es la diferencia entre cambiar un adapter y reescribir un servicio.
Workers RPC cruza Python y JavaScript sin schemas ni serialización
Llamás un método definido en un Worker de Python desde uno de JavaScript, y al revés, sin API intermedia, sin schema y sin código de serialización. La traducción de tipos la hace el FFI de Pyodide: enteros, floats, booleanos, dicts y listas mapean directo. Para objetos propios de la plataforma como Request y Response hay una capa de conversión en el paquete workers-runtime-sdk, así que del lado Python trabajás con objetos idiomáticos y no con proxies de JavaScript. Las llamadas se comportan como funciones normales — promise en JS, future en Python — y las excepciones propagan. Config: un service binding y listo. La implementación es open source en workerd.
Autenticación post-cuántica hasta el origin: ML-DSA en COTS y mTLS
El tramo entre Cloudflare y tu origin ya puede autenticarse con ML-DSA (FIPS 204), en los tres parameter sets: ML-DSA-44, 65 y 87 — con el 44 recomendado por performance y una categoría NIST 2 cómoda. Aplica a Custom Origin Trust Store y a Authenticated Origin Pulls. Del lado tuyo hay trabajo real: generar cadenas ML-DSA con OpenSSL 3.5.0+, subirlas en encoding seed-only de FIPS 204, configurar NGINX para presentar o verificar esos certificados, poner SSL/TLS en Full (strict) y — esto es lo que se olvida — deshabilitar los mecanismos de autenticación vulnerables a cuántica para que no te bajen por downgrade. Primer hito de un roadmap que apunta a 2029.
Tendencias Destacadas
El edge dejó de ser solo HTTP. gRPC full-duplex, TCP entrante y RPC cruzando lenguajes en el mismo runtime: lo que antes exigía un VPS ahora entra en un Worker.
El isolate vuelve a ganarle al container como default. El argumento ya no es solo cold start: es que no hay compute en el planeta para darle un container a cada agente.
Post-cuántico pasó de handshake a autenticación. Después de la key exchange, ahora toca ML-DSA en los certificados — y eso implica tocar tu NGINX, no solo esperar al proveedor.
Node.js 26.6.0: FFI event loop access and test runner logging
The Current line adds three SEMVER-MINOR changes that matter if you write tooling. getCurrentEventLoop() exposes the current event loop to FFI operations — key for native bindings that need to schedule work without fighting the thread pool. The test runner gains context.log() and a test:log event, plus entryFile in TestStream events: you can finally correlate test output with the file that produced it from a custom reporter. Also: once() and removeListener() optimizations, TLS certificate compression in QUIC, and npm bumped to 11.18.0.
@cloudflare/computer: an agent runtime that picks isolate or container for you
The architectural argument is more interesting than the product: there is not enough compute on Earth to give every user of every company their own containerized agent environment. Cloudflare answers with an open-source runtime built on a SQLite-backed virtual filesystem reachable from several execution environments. Shell commands are translated into JavaScript via just-bash and run in dynamic workers; a Container with a FUSE-mounted filesystem spins up only when real Linux tooling is required. The stated target: keep containers under 10% of agent workloads. As a design rule — your default sandbox should be the cheapest one that solves the case, not the most capable one.
Agents Week: the cloud was designed for humans, not agents
Cloudflare opened its second Agents Week with a premise worth more than the announcements: today's cloud and web were built for human attention and human decision-making. Five threads across the week — primitives and the execution layer, the agentic software development lifecycle, secure organizational access, an agent-native web (discovery, access, payments), and human-agent interaction. If you are designing services that will be consumed by agents rather than browsers, this is the architecture conversation of the year: your API surface stops optimizing for screens and starts optimizing for speed, structure and direct access.
Billable Usage API: Cloudflare costs from one endpoint, in FOCUS format
A single endpoint returns daily usage and cost broken down by product for self-serve accounts — Workers, R2, D1 and the rest — with ServiceName, ChargePeriodStart/End, ConsumedUnit and ContractedCost fields. The point is not the endpoint but that it follows the FOCUS standard (FinOps Open Cost and Usage Specification), so it drops into an existing FinOps toolchain without bespoke parsers. A Vantage integration puts Cloudflare spend next to AWS or Azure. On the roadmap: finer time windows and spend forecasting.
GitHub Models fully retired: playground, catalog, inference API and BYOK
This is not a gradual deprecation: playground, model catalog, inference API and bring-your-own-key are gone for every customer, including those with active usage. If you had a prototype or a CI job wired to the inference API, it is already broken. GitHub's migration paths are Microsoft Foundry for the model catalog, or GitHub Copilot if you wanted to build AI workflows inside GitHub. The architecture lesson: your own abstraction layer over an inference provider is not over-engineering — it is the difference between swapping an adapter and rewriting a service.
Workers RPC now crosses Python and JavaScript with no schemas or serialization
Call a method defined in a Python Worker from a JavaScript one, and the other way round, with no intermediate API, no schema and no serialization code. Type translation is handled by Pyodide's FFI: integers, floats, booleans, dicts and lists map directly. For platform objects like Request and Response, a conversion layer in the workers-runtime-sdk package means the Python side works with idiomatic objects instead of JavaScript proxies. Calls behave like ordinary functions — a promise in JS, a future in Python — and exceptions propagate. Configuration is a service binding. The implementation is open source in workerd.
Post-quantum authentication to origins: ML-DSA in COTS and mTLS
The hop between Cloudflare and your origin can now authenticate with ML-DSA (FIPS 204) across all three parameter sets: ML-DSA-44, 65 and 87 — with 44 recommended for performance at a comfortable NIST category 2. It applies to Custom Origin Trust Store and Authenticated Origin Pulls. There is real work on your side: generate ML-DSA chains with OpenSSL 3.5.0+, upload them in FIPS 204 seed-only encoding, configure NGINX to present or verify those certificates, set SSL/TLS to Full (strict), and — the step people forget — disable quantum-vulnerable authentication mechanisms so you cannot be downgraded. First milestone of a roadmap targeting 2029.
Notable Trends
The edge is no longer HTTP-only. Full-duplex gRPC, inbound TCP and cross-language RPC in the same runtime: what used to need a VPS now fits in a Worker.
The isolate is beating the container as the default again. The argument is no longer just cold start: there is not enough compute on the planet to give every agent its own container.
Post-quantum moved from handshake to authentication. After key exchange comes ML-DSA in certificates — and that means touching your own NGINX, not just waiting on a provider.
Node.js 26.6.0 : accès à l event loop en FFI et logs dans le test runner
La ligne Current ajoute trois changements SEMVER-MINOR utiles si vous écrivez du tooling. getCurrentEventLoop() expose l event loop courant aux opérations FFI — essentiel pour les bindings natifs qui doivent planifier du travail sans se battre avec le thread pool. Le test runner gagne context.log() et l événement test:log, plus entryFile dans les événements TestStream. Également : optimisations de once() et removeListener(), compression de certificats TLS en QUIC, et npm passe à 11.18.0.
@cloudflare/computer : un runtime d agents qui choisit isolate ou container
L argument architectural est plus intéressant que le produit : il n y a pas assez de compute pour donner à chaque agent de chaque utilisateur son propre container. Cloudflare répond avec un runtime open source bâti sur un filesystem virtuel adossé à SQLite, accessible depuis plusieurs environnements d exécution. Les commandes shell sont traduites en JavaScript via just-bash et tournent dans des dynamic workers ; un Container avec filesystem monté en FUSE ne démarre que si du vrai outillage Linux est nécessaire. Objectif annoncé : garder les containers sous 10% des charges d agents.
Agents Week : le cloud a été conçu pour des humains, pas des agents
Cloudflare a ouvert sa deuxième Agents Week avec une prémisse qui vaut plus que les annonces : le cloud et le web actuels ont été bâtis pour l attention et les décisions humaines. Cinq axes sur la semaine — primitives et couche d exécution, cycle de vie du développement agentique, accès organisationnel sécurisé, un web natif pour agents (découverte, accès, paiements), et interaction humain-agent. Si vous concevez des services consommés par des agents plutôt que des navigateurs, c est la conversation d architecture de l année.
Billable Usage API : les coûts Cloudflare via un endpoint, au format FOCUS
Un seul endpoint renvoie l usage et le coût quotidiens ventilés par produit pour les comptes self-serve — Workers, R2, D1 et le reste — avec les champs ServiceName, ChargePeriodStart/End, ConsumedUnit et ContractedCost. L essentiel n est pas l endpoint mais le respect du standard FOCUS (FinOps Open Cost and Usage Specification), qui permet de l intégrer sans parsers sur mesure. Une intégration Vantage place les dépenses Cloudflare à côté d AWS ou Azure.
GitHub Models entièrement retiré : playground, catalogue, inference API et BYOK
Ce n est pas une dépréciation progressive : playground, catalogue de modèles, inference API et bring-your-own-key disparaissent pour tous les clients, y compris ceux avec un usage actif. Si un prototype ou un job de CI était branché sur l inference API, il est déjà cassé. Les chemins de migration proposés sont Microsoft Foundry pour le catalogue, ou GitHub Copilot pour les workflows IA dans GitHub. Leçon d architecture : une couche d abstraction maison au-dessus du fournisseur d inférence n est pas de l over-engineering.
Workers RPC traverse Python et JavaScript sans schémas ni sérialisation
Appelez une méthode définie dans un Worker Python depuis un Worker JavaScript, et inversement, sans API intermédiaire, sans schéma et sans code de sérialisation. La traduction de types est assurée par le FFI de Pyodide : entiers, floats, booléens, dicts et listes se mappent directement. Pour les objets de plateforme comme Request et Response, une couche de conversion dans workers-runtime-sdk permet de manipuler des objets idiomatiques côté Python. Les appels se comportent comme des fonctions normales — promise en JS, future en Python — et les exceptions se propagent.
Authentification post-quantique vers l origin : ML-DSA dans COTS et mTLS
Le saut entre Cloudflare et votre origin peut désormais s authentifier avec ML-DSA (FIPS 204), sur les trois parameter sets : ML-DSA-44, 65 et 87 — le 44 étant recommandé pour la performance avec une catégorie NIST 2 confortable. Cela concerne Custom Origin Trust Store et Authenticated Origin Pulls. Le travail côté vous est réel : générer les chaînes ML-DSA avec OpenSSL 3.5.0+, les téléverser en encodage seed-only FIPS 204, configurer NGINX, passer SSL/TLS en Full (strict), et surtout désactiver les mécanismes d authentification vulnérables au quantique pour éviter les downgrades.
Tendances Notables
L edge n est plus seulement HTTP. gRPC full-duplex, TCP entrant et RPC inter-langages dans le même runtime : ce qui exigeait un VPS tient désormais dans un Worker.
L isolate redevient le défaut face au container. L argument n est plus seulement le cold start : il n y a pas assez de compute pour donner un container à chaque agent.
Le post-quantique passe du handshake à l authentification. Après l échange de clés vient ML-DSA dans les certificats — ce qui implique de toucher à votre NGINX, pas seulement d attendre un fournisseur.