Actus Dev

Dev News — 19 août 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

Breaking

Solid 2.0 llega a Release Candidate: el async vive en el grafo

Esto es ENORME. Solid 2.0 deja de tratar al async como algo que le pasa al framework: ahora es una propiedad del sistema reactivo. Un createMemo puede devolver una Promise o un Async Iterator y todo lo que está aguas abajo lo entiende, con <Loading> como fallback e isPending para saber si viene una respuesta nueva a esa pregunta.

Y ojo con lo que se va: createResource, batch, startTransition/useTransition, on, createComputed, produce y createMutable desaparecen. Todo batchea solo, los efectos se parten en createEffect(compute, apply) y los stores te dan un draft mutable. Hay guía de migración desde 1.x, pero preparate: esto no es un bump de versión, es otro modelo mental.

13 Aug 2026
github.com/solidjs/solid →
Destacado

Oxlint 1.79 trae 22 reglas del React Compiler y un transform 10x más rápido que Babel

Oxlint ahora corre 22 reglas alimentadas por las pasadas de validación del propio React Compiler, así que caza violaciones de las Rules of React sin Babel de por medio. Las categorías se alinean con los presets de ESLint upstream y las recomendadas entran en la categoría correctness de Oxlint.

Encima viene oxc-transform-react, el paquete de transform que aplica la memoización automática y que en benchmarks preliminares corre más de 10 veces más rápido que Babel. Ojo con el breaking change: react/react-compiler se partió en reglas por categoría, así que revisá tu config.

18 Aug 2026
oxc.rs →
Destacado

Safari Technology Preview 250: white-space-trim, wrap-inside y text-decoration-inset

Cosecha gruesa de CSS en la STP 250: soporte para white-space-trim, wrap-inside, text-decoration-inset, la propiedad content sobre el pseudo-elemento ::marker y el valor spaces de ruby-overhang. Además se removió el valor de color no estándar text a favor de canvastext.

Del lado de las Web APIs: soporte inicial para subir un ReadableStream como body de fetch() junto con la opción duplex en Request, y copiar/pegar image/svg+xml con la Clipboard API sanitizando el markup en lectura y escritura.

13 Aug 2026
webkit.org →
⚛️

React

Patch

React Router 6.30.6 normaliza las URLs con dos puntos en useNavigate

La línea v6 sigue viva: parche único en @remix-run/router que arregla la normalización de doble slash para URLs con dos puntos pasadas a useNavigate. El changelog aclara algo importante: navigate() es para navegar dentro de la app, no para mandar al usuario a otro dominio — si lo venías usando así, esto te puede romper.

18 Aug 2026
github.com/remix-run/react-router →
🧩

JS Frameworks

Patch

Astro 7.2.3: fuga de memoria en collectionStorage chunked y rutas stale en dev

Parche gordo de bugs. Se arregla que Astro se quedara sin memoria con experimental.collectionStorage en chunked y múltiples updates concurrentes a la misma colección, y que el dev server matcheara rutas viejas después de agregar, borrar o renombrar páginas (antes había que reiniciarlo).

También cae un crash cuando llega un Host con puerto malformado, y getCollection()/getEntry() ya no tiran DataCloneError si el schema transform devuelve un Temporal.PlainDate. Nota interna: se removieron app.pipeline y el export AppPipeline; los adapters ahora usan app.getLogger().

18 Aug 2026
github.com/withastro/astro →
Beta

TanStack solid-query 6.0.0-rc.0 se sube a Solid 2

Anticipo del RC de Solid: @tanstack/solid-query, solid-query-devtools y solid-query-persist-client publican 6.0.0-rc.0 sobre Solid v2 RC, con vite-plugin-solid renombrado y la rama movida a RC. Si estás mirando Solid 2, el ecosistema ya se está acomodando.

12 Aug 2026
github.com/TanStack/query →
Minor

shadcn 4.18.0 lee registries desde package.json

El CLI ahora fusiona los registries declarados en package.json y en components.json, y puede agregarlos a package.json cuando no existe components.json. shadcn add, search, view e init los resuelven en memoria sin persistirlos. Suma también saltear directorios ilegibles en vez de morir con EACCES.

13 Aug 2026
github.com/shadcn-ui/ui →
🔧

Build Tools & Runtimes

Breaking

Rspack 2.2.0-beta.1 rompe RSC y obliga a recompilar los plugins Wasm de SWC

Dos breaking changes de peso. El CSS que importa un Client Component ya no se inyecta envolviendo sus exports con <link> generados: ahora se preinicializa desde el payload de React Flight, preservando la identidad de la client reference. Las integraciones de frameworks RSC tienen que subir react-server-dom-rspack a 0.1.0.

El otro: swc_core pasa de 76 a 77 y cambia la codificación del AST serializado en la frontera de los plugins Wasm. Los plugins viejos directamente no cargan y el build falla. Bonus: los identificadores Unicode en CSS Modules ahora siguen el estándar de CSS Syntax, así que .😍 genera .style_modules_css-😍 sin backslashes.

18 Aug 2026
github.com/web-infra-dev/rspack →
Beta

pnpm 12.0.0-rc.7 arregla las dependencias fantasma bajo el global virtual store

Con enableGlobalVirtualStore activo, todo proceso que pnpm spawnea (pnpm run, pnpm exec, lifecycle scripts) recibe un NODE_PATH al node_modules hoisteado del proyecto más un NODE_OPTIONS --import que registra un resolve hook. Las dependencias que importan paquetes no declarados siguen resolviendo, en CJS y ESM, sin instalar @pnpm/plugin-esm-node-path.

También: un registry puede declarar supportsTimeField: true, así resolutionMode: time-based baja el metadata completo solo de los registries que lo necesitan en vez de hacerlo en todos.

18 Aug 2026
github.com/pnpm/pnpm →
Minor

Turborepo 2.10.11 cachea tareas nativas de uv y respeta .gitignore sin metadata de git

Release de mantenimiento con un par de cosas útiles: cachea las tareas nativas de la herramienta uv, respeta .gitignore aunque no haya metadata de git en el repo, tolera archivos de input transitorios y evita el recorrido repetido de entrypoints en modo estricto.

18 Aug 2026
github.com/vercel/turborepo →
🛠️

Developer Tools

Destacado

VS Code 1.133: cambio de proveedor entre turnos y auto-reload de HTML

Tres cosas para mirar. Primero, selección flexible de modelo: se puede cambiar de proveedor entre turnos sin reconfigurar el agent host. Segundo, acceso experimental a la ventana de Agents con API key existente, sin obligar a autenticarse con GitHub.

Y la que más te va a servir en el día a día de frontend: el browser integrado ahora recarga solo los archivos HTML locales cuando cambian en disco, así que ves los cambios sin apretar refresh.

12 Aug 2026
code.visualstudio.com →
Patch

Vitest 4.1.11 revive el límite global de concurrencia del ciclo de vida

Backports a la línea 4 mientras la 5.0 sigue en RC: vuelve el límite global de concurrencia para el ciclo de vida de los tests, se codifica el iframeId en la URL del tester iframe, se dispara el GC de Playwright/Chromium cuando baja el espacio en disco, y los redirect mocks quedan restringidos al allowlist del filesystem.

18 Aug 2026
github.com/vitest-dev/vitest →
Patch

Storybook 10.5.9 parte el module-graph en servicios hot y cold

Trabajo de performance en el core: el module-graph se parte en servicios de revisiones hot y de índice cold, y se saltea el espejo del reverse-index cuando un patch es no-op. Además arreglan los rewrites de pseudo-states en selectores funcionales anidados y para WebKit, y un crash al inicializar el UrlStore en una ruta de docs.

18 Aug 2026
github.com/storybookjs/storybook →
🔥

Top Stories

Breaking

Solid 2.0 reaches Release Candidate: async lives in the graph

This is the big one. Solid 2.0 stops treating async as something that happens to the framework and makes it a property of the reactive system itself. A createMemo can return a Promise or an Async Iterator and everything downstream just understands, with <Loading> as the fallback and isPending telling you whether a new answer to that question is on the way.

The removals are just as big: createResource, batch, startTransition/useTransition, on, createComputed, produce and createMutable are all gone. Everything batches on a microtask, effects split into createEffect(compute, apply), and store setters hand you a draft to mutate. A 1.x migration guide maps every removal to its replacement.

13 Aug 2026
github.com/solidjs/solid →
Notable

Oxlint 1.79 lands 22 React Compiler rules and a transform 10x faster than Babel

Oxlint now runs 22 rules powered by the React Compiler's own validation passes, catching Rules of React violations without Babel in the loop. Categories line up with the upstream ESLint presets, and every recommended rule lands in Oxlint's correctness category.

Alongside it ships oxc-transform-react, the transform package that applies automatic memoization and runs more than 10x faster than Babel in preliminary benchmarks. Note the breaking change: react/react-compiler was split into per-category rules, so audit your config.

18 Aug 2026
oxc.rs →
Notable

Safari Technology Preview 250: white-space-trim, wrap-inside and text-decoration-inset

A fat CSS harvest in STP 250: support for white-space-trim, wrap-inside, text-decoration-inset, the content property on the ::marker pseudo-element, and the spaces value of ruby-overhang. The non-standard text color value was also removed in favor of canvastext.

On the Web API side: initial support for uploading a ReadableStream as a fetch() body along with the duplex option on Request, plus copying and pasting image/svg+xml through the Clipboard API with markup sanitized on both read and write.

13 Aug 2026
webkit.org →
⚛️

React

Patch

React Router 6.30.6 normalizes colon URLs in useNavigate

The v6 line is still maintained: a single patch in @remix-run/router fixing double-slash normalization for colon URLs passed to useNavigate. The changelog flags something important — navigate() is meant for navigations inside a React Router app, not for sending users to another domain. If you were relying on that, this may break you.

18 Aug 2026
github.com/remix-run/react-router →
🧩

JS Frameworks

Patch

Astro 7.2.3: memory leak in chunked collectionStorage and stale dev routes

A hefty bug-fix patch. It fixes Astro running out of memory when experimental.collectionStorage is set to chunked with multiple concurrent updates to the same collection, and the dev server matching stale routes after pages were added, removed or renamed (which previously required a restart).

Also fixed: a crash on a malformed port in the Host header, and getCollection()/getEntry() throwing DataCloneError when a schema transform returns a Temporal.PlainDate. Internal note: app.pipeline and the AppPipeline export were removed; adapters should call app.getLogger() instead.

18 Aug 2026
github.com/withastro/astro →
Beta

TanStack solid-query 6.0.0-rc.0 moves onto Solid 2

A preview of the Solid RC ripple: @tanstack/solid-query, solid-query-devtools and solid-query-persist-client all shipped 6.0.0-rc.0 on top of Solid v2 RC, with vite-plugin-solid renamed and the branch moved to RC. If you're eyeing Solid 2, the ecosystem is already lining up.

12 Aug 2026
github.com/TanStack/query →
Minor

shadcn 4.18.0 reads registries from package.json

The CLI now merges registries declared in package.json and components.json, and can add registries to package.json when no components.json exists. shadcn add, search, view and init resolve them in memory without persisting. It also skips unreadable directories instead of dying with EACCES.

13 Aug 2026
github.com/shadcn-ui/ui →
🔧

Build Tools & Runtimes

Breaking

Rspack 2.2.0-beta.1 breaks RSC and forces a rebuild of SWC Wasm plugins

Two heavyweight breaking changes. CSS imported by a Client Component is no longer injected by wrapping its exports with generated <link> elements — it is preinitialized from the React Flight payload instead, preserving client-reference identity. RSC framework integrations must upgrade react-server-dom-rspack to 0.1.0.

The other: swc_core goes from 76 to 77, changing the serialized AST encoding across the SWC Wasm plugin boundary. Older plugins simply fail to load and the build breaks. Bonus: CSS Modules Unicode identifiers now follow the CSS Syntax standard, so .😍 emits .style_modules_css-😍 without backslashes.

18 Aug 2026
github.com/web-infra-dev/rspack →
Beta

pnpm 12.0.0-rc.7 fixes phantom dependencies under the global virtual store

With enableGlobalVirtualStore on, every process pnpm spawns (pnpm run, pnpm exec, lifecycle scripts) now gets a NODE_PATH pointing at the project's hoisted node_modules plus a NODE_OPTIONS --import flag registering a resolve hook. Dependencies importing undeclared packages keep resolving, in both CommonJS and ESM, without installing @pnpm/plugin-esm-node-path.

Also: a registry can declare supportsTimeField: true, so resolutionMode: time-based only fetches the full metadata document from the registries that need it instead of all of them.

18 Aug 2026
github.com/pnpm/pnpm →
Minor

Turborepo 2.10.11 caches native uv tasks and respects .gitignore without git metadata

A maintenance release with a few useful bits: it caches native uv tool tasks, respects .gitignore even without git metadata in the repo, tolerates transient input files, and avoids repeated strict entrypoint traversal.

18 Aug 2026
github.com/vercel/turborepo →
🛠️

Developer Tools

Notable

VS Code 1.133: swap providers between turns and HTML auto-reload

Three things worth a look. First, flexible model selection: you can switch providers between turns without reconfiguring the agent host. Second, experimental access to the Agents window with an existing API key, dropping the mandatory GitHub sign-in.

And the one that pays off daily for frontend work: the integrated browser now auto-reloads local HTML files when they change on disk, so edits show up without hitting refresh.

12 Aug 2026
code.visualstudio.com →
Patch

Vitest 4.1.11 revives the global test lifecycle concurrency limit

Backports to the 4.x line while 5.0 stays in RC: the global concurrency limit for the test lifecycle is back, iframeId is encoded in the tester iframe URL, Playwright/Chromium GC is triggered on low disk availability, and redirect mocks are restricted to the filesystem allowlist.

18 Aug 2026
github.com/vitest-dev/vitest →
Patch

Storybook 10.5.9 splits the module graph into hot and cold services

Core performance work: the module graph is split into hot-revision and cold-index services, and the reverse-index mirror is skipped when a patch is a no-op. Also fixed are pseudo-states rewrites for nested functional selectors and for WebKit, plus a crash initializing UrlStore on a docs path.

18 Aug 2026
github.com/storybookjs/storybook →
🔥

Top Stories

Breaking

Solid 2.0 atteint la Release Candidate : l'async vit dans le graphe

C'est l'annonce majeure. Solid 2.0 cesse de traiter l'async comme quelque chose qui arrive au framework : c'est désormais une propriété du système réactif. Un createMemo peut renvoyer une Promise ou un Async Iterator et tout ce qui en dépend le comprend, avec <Loading> comme fallback et isPending pour savoir si une nouvelle réponse à cette question arrive.

Les suppressions sont tout aussi importantes : createResource, batch, startTransition/useTransition, on, createComputed, produce et createMutable disparaissent. Tout est batché sur une microtask, les effets se scindent en createEffect(compute, apply), et les stores fournissent un draft mutable. Un guide de migration depuis 1.x associe chaque suppression à son remplacement.

13 Aug 2026
github.com/solidjs/solid →
Notable

Oxlint 1.79 apporte 22 règles du React Compiler et un transform 10x plus rapide que Babel

Oxlint exécute désormais 22 règles alimentées par les passes de validation du React Compiler lui-même, détectant les violations des Rules of React sans passer par Babel. Les catégories s'alignent sur les presets ESLint upstream, et toutes les règles recommandées rejoignent la catégorie correctness d'Oxlint.

S'y ajoute oxc-transform-react, le paquet de transform qui applique la mémoïsation automatique et tourne plus de 10 fois plus vite que Babel dans les premiers benchmarks. Attention au breaking change : react/react-compiler a été scindé en règles par catégorie, vérifiez votre config.

18 Aug 2026
oxc.rs →
Notable

Safari Technology Preview 250 : white-space-trim, wrap-inside et text-decoration-inset

Belle récolte CSS dans la STP 250 : prise en charge de white-space-trim, wrap-inside, text-decoration-inset, de la propriété content sur le pseudo-élément ::marker et de la valeur spaces de ruby-overhang. La valeur de couleur non standard text a été retirée au profit de canvastext.

Côté Web API : prise en charge initiale de l'envoi d'un ReadableStream comme body de fetch() avec l'option duplex sur Request, et copier-coller de image/svg+xml via la Clipboard API avec assainissement du markup en lecture et en écriture.

13 Aug 2026
webkit.org →
⚛️

React

Patch

React Router 6.30.6 normalise les URL avec deux-points dans useNavigate

La branche v6 reste maintenue : un unique patch dans @remix-run/router corrige la normalisation des doubles slashs pour les URL avec deux-points passées à useNavigate. Le changelog signale un point important : navigate() est prévu pour les navigations internes à une app React Router, pas pour envoyer l'utilisateur vers un autre domaine. Si vous l'utilisiez ainsi, cela peut casser.

18 Aug 2026
github.com/remix-run/react-router →
🧩

JS Frameworks

Patch

Astro 7.2.3 : fuite mémoire dans collectionStorage chunked et routes obsolètes en dev

Gros patch de corrections. Il règle le dépassement mémoire d'Astro lorsque experimental.collectionStorage vaut chunked avec plusieurs mises à jour concurrentes de la même collection, et le dev server qui matchait des routes obsolètes après ajout, suppression ou renommage de pages (un redémarrage était nécessaire).

Également corrigés : un crash sur un port malformé dans l'en-tête Host, et getCollection()/getEntry() qui levaient DataCloneError quand un schema transform renvoyait un Temporal.PlainDate. Note interne : app.pipeline et l'export AppPipeline ont été retirés ; les adapters doivent appeler app.getLogger().

18 Aug 2026
github.com/withastro/astro →
Bêta

TanStack solid-query 6.0.0-rc.0 passe à Solid 2

Un avant-goût de l'onde de choc Solid RC : @tanstack/solid-query, solid-query-devtools et solid-query-persist-client publient 6.0.0-rc.0 sur Solid v2 RC, avec vite-plugin-solid renommé et la branche passée en RC. Si vous regardez Solid 2, l'écosystème s'aligne déjà.

12 Aug 2026
github.com/TanStack/query →
Mineur

shadcn 4.18.0 lit les registries depuis package.json

Le CLI fusionne désormais les registries déclarés dans package.json et components.json, et peut ajouter des registries à package.json en l'absence de components.json. shadcn add, search, view et init les résolvent en mémoire sans les persister. Les répertoires illisibles sont ignorés au lieu d'échouer avec EACCES.

13 Aug 2026
github.com/shadcn-ui/ui →
🔧

Build Tools & Runtimes

Breaking

Rspack 2.2.0-beta.1 casse RSC et impose de recompiler les plugins Wasm SWC

Deux breaking changes majeurs. Le CSS importé par un Client Component n'est plus injecté en enveloppant ses exports avec des <link> générés : il est préinitialisé depuis le payload React Flight, ce qui préserve l'identité de la client reference. Les intégrations de frameworks RSC doivent passer react-server-dom-rspack en 0.1.0.

L'autre : swc_core passe de 76 à 77, ce qui change l'encodage de l'AST sérialisé à la frontière des plugins Wasm SWC. Les anciens plugins ne se chargent plus et le build échoue. Bonus : les identifiants Unicode des CSS Modules suivent désormais le standard CSS Syntax, donc .😍 produit .style_modules_css-😍 sans backslashes.

18 Aug 2026
github.com/web-infra-dev/rspack →
Bêta

pnpm 12.0.0-rc.7 corrige les dépendances fantômes sous le global virtual store

Avec enableGlobalVirtualStore activé, chaque processus lancé par pnpm (pnpm run, pnpm exec, lifecycle scripts) reçoit un NODE_PATH pointant vers le node_modules hoisté du projet, plus un flag NODE_OPTIONS --import qui enregistre un resolve hook. Les dépendances important des paquets non déclarés continuent de se résoudre, en CommonJS comme en ESM, sans installer @pnpm/plugin-esm-node-path.

Également : un registry peut déclarer supportsTimeField: true, ainsi resolutionMode: time-based ne télécharge le document de metadata complet que depuis les registries qui en ont besoin.

18 Aug 2026
github.com/pnpm/pnpm →
Mineur

Turborepo 2.10.11 met en cache les tâches uv natives et respecte .gitignore sans metadata git

Une version de maintenance avec quelques apports utiles : mise en cache des tâches natives de l'outil uv, respect de .gitignore même sans metadata git dans le dépôt, tolérance des fichiers d'input transitoires, et suppression du parcours répété des entrypoints en mode strict.

18 Aug 2026
github.com/vercel/turborepo →
🛠️

Developer Tools

Notable

VS Code 1.133 : changement de fournisseur entre les tours et auto-reload HTML

Trois points à retenir. D'abord, la sélection flexible de modèle : on peut changer de fournisseur entre les tours sans reconfigurer l'agent host. Ensuite, un accès expérimental à la fenêtre Agents avec une clé API existante, sans authentification GitHub obligatoire.

Et celle qui sert le plus au quotidien en frontend : le navigateur intégré recharge automatiquement les fichiers HTML locaux modifiés sur le disque, les changements apparaissent sans rafraîchir.

12 Aug 2026
code.visualstudio.com →
Patch

Vitest 4.1.11 rétablit la limite globale de concurrence du cycle de vie

Backports sur la branche 4.x pendant que la 5.0 reste en RC : retour de la limite globale de concurrence du cycle de vie des tests, encodage de iframeId dans l'URL de l'iframe de test, déclenchement du GC Playwright/Chromium en cas de faible espace disque, et restriction des redirect mocks à l'allowlist du filesystem.

18 Aug 2026
github.com/vitest-dev/vitest →
Patch

Storybook 10.5.9 scinde le module graph en services hot et cold

Travail de performance sur le core : le module graph est scindé en services de révisions hot et d'index cold, et le miroir du reverse-index est ignoré lorsqu'un patch est un no-op. Sont aussi corrigés les rewrites de pseudo-states pour les sélecteurs fonctionnels imbriqués et pour WebKit, ainsi qu'un crash à l'initialisation d'UrlStore sur un chemin de docs.

18 Aug 2026
github.com/storybookjs/storybook →