Dev News

Dev News — September 2, 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

Electron parchea en 42/43/44/45 una fuga de URL y título a extensiones sin permiso

chrome.tabs.query() devolvía url y title a extensiones que no tenían el permiso tabs ni host access. Ahora se alinea con tabs.get. Backporteado a las cuatro ramas vivas (44.1.1, 43.5.1, 42.11.1, 45.0.0-alpha.3). Ojo si tu app Electron carga extensiones de terceros: esto es exposición de datos de navegación, no un bug cosmético. El mismo release arregla crashes de contextBridge cuando un getter tira excepción.

01 Sep 2026
github.com/electron →
Breaking

Solid 2.0.0-rc.5: refresh(target) devuelve una promesa que resuelve en quiescencia

refresh(target) ahora devuelve una promesa que resuelve cuando el re-ask (y todo lo que lo supersede) se asentó. Dentro de una action, yield refresh(x) tira en el punto del yield si falla y revierte como cualquier paso fallido; el valor entregado es el staged de la transacción, nunca tu override optimista. Fire-and-forget sigue igual: una promesa ignorada no genera unhandled rejection. Esto es semántica de quiescencia, no identidad de vuelo — varios refresh del mismo tick colapsan en un solo re-ask.

01 Sep 2026
github.com/solidjs →
Destacado

EAS CLI 23.2.0: SSH dentro del worker que corre tu workflow

eas workflow:ssh <workflow-job-id> abre una sesión en la VM del job, y eas workflow:run --ssh lo habilita desde el arranque. Sumale logs de workflow en tiempo real en lugar del refresh cada 10 segundos. Debuggear builds a ciegas leyendo logs se terminó. También llega --tag en eas simulator para agrupar sesiones por variante de app.

31 Aug 2026
github.com/expo →
🧩

JS Frameworks

Beta

Qwik 2.0.0-beta.43 sale con optimizer 2.1.0-beta.8

Otra beta semanal del tren 2.0: @qwik.dev/core, router, react, utils, create-qwik y eslint-plugin-qwik alineados en beta.43, con el optimizer moviéndose por separado en 2.1.0-beta.8. Si venís siguiendo el RC, actualizá el set completo junto — mezclar versiones del optimizer con el core es la forma más rápida de romperte el build.

01 Sep 2026
github.com/QwikDev →
🔧

Build Tools & Runtimes

Patch

pnpm 12.2.1: restaura el ejecutable sin extensión y desbloquea el upgrade en POSIX

12.2.0 había dejado de publicar el target pnpm sin extensión, lo que rompía el auto-upgrade desde 12.1 y anteriores en sistemas POSIX. 12.2.1 lo devuelve. Si quedaste trabado en 12.1 sin poder subir, este es el parche.

01 Sep 2026
github.com/pnpm →
Release

rspack 2.2.2: perf en module ids, hashes y render de chunks

Cuatro optimizaciones seguidas: asignación de ids deterministas, runtimes compartidos en flag dependency usage, render de módulos para chunk assets y creación de hashes. Suma infrastructure logging para el cache nuevo y JavascriptModulesPlugin.getChunkFilenameTemplate. Nada rompe: es la clase de release que bajás sin pensarlo.

01 Sep 2026
github.com/rspack →
Minor

Wrangler 4.128.0 mueve utilidades de bindings a @cloudflare/workers-utils

Conversión, impresión y validación local de bindings salen de @cloudflare/deploy-helpers y ahora se exportan desde @cloudflare/workers-utils, compartidas entre Wrangler y el plugin de Vite. Además unstable_printBindings pasa de cinco parámetros posicionales a un objeto de opciones, y wrangler workflows instances list acepta --date-start / --date-end. Si importabas de deploy-helpers, actualizá el import.

01 Sep 2026
github.com/cloudflare →
Beta

Nx 23.2.0-rc.2: publish con config scoped para pnpm 11+ y linter más estricto

El RC arregla publish para usar la forma scoped de config en pnpm 11+, hace que el linter marque imports externos prohibidos alcanzados a través de proyectos internos (agujero real en boundaries) y evita que una task inferida de oxlint termine linteando proyectos anidados.

01 Sep 2026
github.com/nrwl →
🛠️

Developer Tools

Patch

Jest 30.5.1 revierte el cambio de moduleNameMapper y arregla imports #dep en ESM

Dos regresiones al piso: moduleNameMapper vuelve a matchear contra el specifier tal como está escrito, y los package imports tipo #dep resuelven de nuevo bajo ESM. Además, las opciones global-only en un project config ahora avisan en vez de ser ignoradas en silencio — reporters, coverageReporters, maxWorkers, coverageThreshold. Si tenías eso en un project config, nunca hizo nada.

01 Sep 2026
github.com/jestjs →
Release

Oxlint 1.81.0: sugerencias nuevas y varios falsos positivos menos

nextjs/no-typos gana suggestion, object-shorthand preserva la semántica de __proto__, prefer-set-size ignora constructores Set shadoweados, no-unassigned-vars deja de correr en archivos Svelte y Vue y no-use-before-define ahora sí corre en JS y JSX. También frenan que tsgolint se quede agarrando procesos desde el LSP.

01 Sep 2026
github.com/oxc-project →
Beta

Storybook 10.6.0-beta.2 limpia stack traces del addon de Vitest

El addon de Vitest filtra la instrumentación de Storybook de los stack traces reportados y resuelve los globs de story tests contra el project root. En Angular los preprocesadores de estilos pasan a peers opcionales y te nombra el que falta en vez de reventar sin contexto.

01 Sep 2026
github.com/storybookjs →
🔥

Top Stories

Security

Electron patches a URL/title leak to unprivileged extensions across 42/43/44/45

chrome.tabs.query() was returning url and title to extensions holding neither the tabs permission nor host access; it now matches tabs.get. Backported across all four live branches (44.1.1, 43.5.1, 42.11.1, 45.0.0-alpha.3). If your Electron app loads third-party extensions, this is browsing-data exposure, not cosmetics. The same release fixes contextBridge crashes when a property getter throws.

01 Sep 2026
github.com/electron →
Breaking

Solid 2.0.0-rc.5: refresh(target) returns a promise that settles on quiescence

refresh(target) now returns a promise resolving once the re-ask — and anything superseding it — has settled. Inside an action, yield refresh(x) throws at the yield point on failure and reverts like any failed step, and delivers the transaction's staged value rather than your optimistic override. Fire-and-forget is unchanged: an ignored promise never surfaces an unhandled rejection. The contract is quiescence, not flight identity, so same-tick refreshes coalesce into one re-ask.

01 Sep 2026
github.com/solidjs →
Notable

EAS CLI 23.2.0: SSH into the worker running your workflow

eas workflow:ssh <workflow-job-id> opens a session on the job's VM, and eas workflow:run --ssh enables it up front. Workflow run logs now stream in real time instead of refreshing every 10 seconds. Debugging a remote build purely from log scrollback is over. eas simulator also gains --tag to group sessions by app variant.

31 Aug 2026
github.com/expo →
🧩

JS Frameworks

Beta

Qwik 2.0.0-beta.43 ships alongside optimizer 2.1.0-beta.8

Another weekly beta on the 2.0 train: @qwik.dev/core, router, react, utils, create-qwik and eslint-plugin-qwik all land on beta.43, with the optimizer tracking separately at 2.1.0-beta.8. Bump the whole set together — mismatching optimizer and core versions is the fastest way to break a build.

01 Sep 2026
github.com/QwikDev →
🔧

Build Tools & Runtimes

Patch

pnpm 12.2.1 restores the extensionless binary and unblocks POSIX upgrades

12.2.0 stopped shipping the extensionless pnpm target, which broke self-upgrades from 12.1 and earlier on POSIX systems. 12.2.1 restores it. If you were stuck on 12.1 unable to move forward, this is the fix.

01 Sep 2026
github.com/pnpm →
Release

rspack 2.2.2: perf work on module ids, hashes and chunk rendering

Four perf passes back to back: deterministic module id assignment, shared runtimes in flag dependency usage, module rendering for chunk assets, and module hash creation. Adds infrastructure logging for the new cache plus JavascriptModulesPlugin.getChunkFilenameTemplate. Nothing breaks — the kind of release you take without thinking.

01 Sep 2026
github.com/rspack →
Minor

Wrangler 4.128.0 moves binding utilities into @cloudflare/workers-utils

Binding conversion, printing and local-dev validation move out of @cloudflare/deploy-helpers and are now exported from @cloudflare/workers-utils, shared between Wrangler and the Cloudflare Vite plugin. unstable_printBindings swaps five positional parameters for an options object, and wrangler workflows instances list gains --date-start / --date-end. Update your imports if you reached into deploy-helpers.

01 Sep 2026
github.com/cloudflare →
Beta

Nx 23.2.0-rc.2: scoped publish config for pnpm 11+ and a stricter linter

The RC fixes publish to use the scoped config form on pnpm 11+, makes the linter flag banned external imports reached through internal projects — a real hole in module boundaries — and stops an inferred oxlint task from linting nested projects.

01 Sep 2026
github.com/nrwl →
🛠️

Developer Tools

Patch

Jest 30.5.1 reverts the moduleNameMapper change and fixes #dep imports under ESM

Two regressions reverted: moduleNameMapper matches against the specifier as written again, and package imports like #dep resolve under ESM again. On top of that, global-only options placed in a project config now warn instead of being silently dropped — reporters, coverageReporters, maxWorkers, coverageThreshold. If yours lived in a project config, it never did anything.

01 Sep 2026
github.com/jestjs →
Release

Oxlint 1.81.0: new suggestions and several false positives gone

nextjs/no-typos gains a suggestion, object-shorthand preserves __proto__ semantics, prefer-set-size ignores shadowed Set constructors, no-unassigned-vars stops running on Svelte and Vue files, and no-use-before-define now does run on JS and JSX. The LSP also stops tsgolint from holding onto processes.

01 Sep 2026
github.com/oxc-project →
Beta

Storybook 10.6.0-beta.2 cleans up Vitest addon stack traces

The Vitest addon filters Storybook instrumentation out of reported stack traces and resolves story test globs against the project root. On Angular, style preprocessors become optional peers and the missing one gets named instead of failing with no context.

01 Sep 2026
github.com/storybookjs →
🔥

Top Stories

Sécurité

Electron corrige une fuite d'URL et de titre vers des extensions sans permission sur 42/43/44/45

chrome.tabs.query() renvoyait url et title à des extensions sans permission tabs ni host access ; le comportement s'aligne désormais sur tabs.get. Rétroporté sur les quatre branches actives (44.1.1, 43.5.1, 42.11.1, 45.0.0-alpha.3). Le même correctif règle des crashs de contextBridge lorsqu'un getter lève une exception.

01 Sep 2026
github.com/electron →
Breaking

Solid 2.0.0-rc.5 : refresh(target) renvoie une promesse résolue à la quiescence

refresh(target) renvoie maintenant une promesse résolue une fois le re-ask (et ce qui le remplace) stabilisé. Dans une action, yield refresh(x) lève au point du yield en cas d'échec et annule comme toute étape ratée, en livrant la valeur mise en attente par la transaction plutôt que l'override optimiste. Le fire-and-forget ne change pas : une promesse ignorée ne provoque aucun unhandled rejection.

01 Sep 2026
github.com/solidjs →
Notable

EAS CLI 23.2.0 : SSH dans le worker qui exécute votre workflow

eas workflow:ssh <workflow-job-id> ouvre une session sur la VM du job, et eas workflow:run --ssh l'active dès le lancement. Les logs de workflow sont désormais diffusés en temps réel au lieu d'un rafraîchissement toutes les 10 secondes. eas simulator gagne aussi --tag.

31 Aug 2026
github.com/expo →
🧩

JS Frameworks

Bêta

Qwik 2.0.0-beta.43 sort avec optimizer 2.1.0-beta.8

Nouvelle beta hebdomadaire du train 2.0 : @qwik.dev/core, router, react, utils, create-qwik et eslint-plugin-qwik passent en beta.43, l'optimizer avançant séparément en 2.1.0-beta.8. Mettez tout à jour ensemble.

01 Sep 2026
github.com/QwikDev →
🔧

Build Tools & Runtimes

Patch

pnpm 12.2.1 restaure le binaire sans extension et débloque la mise à jour POSIX

12.2.0 ne publiait plus la cible pnpm sans extension, cassant la mise à jour depuis 12.1 et antérieures sur POSIX. 12.2.1 la restaure.

01 Sep 2026
github.com/pnpm →
Release

rspack 2.2.2 : performances sur les ids de modules, hashes et rendu des chunks

Quatre passes de perf : attribution déterministe des ids, runtimes partagés, rendu des modules pour les chunk assets et création des hashes. Ajoute le logging d'infrastructure pour le nouveau cache et JavascriptModulesPlugin.getChunkFilenameTemplate.

01 Sep 2026
github.com/rspack →
Mineur

Wrangler 4.128.0 déplace les utilitaires de bindings vers @cloudflare/workers-utils

La conversion, l'affichage et la validation locale des bindings quittent @cloudflare/deploy-helpers pour @cloudflare/workers-utils, partagé entre Wrangler et le plugin Vite. unstable_printBindings prend désormais un objet d'options, et wrangler workflows instances list accepte --date-start / --date-end.

01 Sep 2026
github.com/cloudflare →
Bêta

Nx 23.2.0-rc.2 : config de publication scoped pour pnpm 11+ et linter plus strict

Le RC corrige publish pour la forme scoped de pnpm 11+, fait signaler par le linter les imports externes interdits atteints via des projets internes, et empêche une tâche oxlint inférée de linter les projets imbriqués.

01 Sep 2026
github.com/nrwl →
🛠️

Developer Tools

Patch

Jest 30.5.1 annule le changement moduleNameMapper et corrige les imports #dep en ESM

Deux régressions annulées : moduleNameMapper se compare de nouveau au specifier tel qu'écrit, et les imports de package comme #dep se résolvent à nouveau en ESM. Les options global-only placées dans une config de projet avertissent désormais au lieu d'être ignorées.

01 Sep 2026
github.com/jestjs →
Release

Oxlint 1.81.0 : nouvelles suggestions et faux positifs en moins

nextjs/no-typos gagne une suggestion, object-shorthand préserve la sémantique de __proto__, prefer-set-size ignore les constructeurs Set masqués, et no-use-before-define s'applique enfin aux fichiers JS et JSX.

01 Sep 2026
github.com/oxc-project →
Bêta

Storybook 10.6.0-beta.2 nettoie les stack traces de l'addon Vitest

L'addon Vitest filtre l'instrumentation Storybook des stack traces et résout les globs de tests d'histoires depuis la racine du projet. Sur Angular, les préprocesseurs de styles deviennent des peers optionnels et celui qui manque est nommé.

01 Sep 2026
github.com/storybookjs →