← Dev News

Dev News — 4 Nov 2026: Next.js 16.4.5 closes 7 cache advisories and Safari debuts Adaptive Dark Mode

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

Next.js 16.4.5 y 15.5.29: siete advisories medium, cuatro de ellos en 'use cache' y Cache Components

Llegó la release de seguridad que la 16.4.4 venía preparando. La 16.4.5 cierra siete advisories medium: fuga de datos entre tenants cuando 'use cache' se llama a través de unstable_cache, fuga de caché entre valores de root params en funciones anidadas, cache poisoning de los fallback shells de Cache Components con params de placeholder que manda el cliente, y disclosure/poisoning entre usuarios con argumentos binarios. Además: inyección de respuestas entre clientes en apps self-hosted que reenvían un fetch sin tocar detrás de un proxy HTTP/1.1 con pipelining (CVE-2026-119348, CVSS v4 6.3), bypass del rechazo de SVG en image optimization y exposición de cookies HttpOnly vía un header interno en rutas del edge runtime.

La 15.5.29 trae solo los tres últimos, porque los de caché son de features de la 16. Ojo con esto: si usás Cache Components con datos por usuario o por tenant, actualizá hoy mismo.

03 Nov 2026
github.com/vercel/next.js →
Beta

Safari 27.3 beta estrena Adaptive Dark Mode: convierte sitios claros a oscuros si no declarás color-scheme

Con el sistema en modo oscuro, Safari analiza los colores de la página y, si es mayormente clara, ofrece una versión oscura: invierte luminancia preservando el hue, apunta a contraste 4.5:1 en texto, maneja logos SVG y bitmaps simples, y deja <canvas> sin tocar. JavaScript sigue viendo los colores originales, así que no podés detectar la transformación.

Para quedar afuera: declará soporte real con <meta name="color-scheme" content="light dark"> o color-scheme: light dark (más light-dark() y prefers-color-scheme), o forzá claro con light only — aunque el keyword only todavía no anda en la beta 1. Y ponelo en el HTML/CSS, no inyectado por JS. Es una locura: tu diseño ya no es solo tuyo.

03 Nov 2026
webkit.org →
🧩

JS Frameworks

Beta

Solid 2.0.0-rc.21: createOwner sale de los tipos públicos y la hidratación ya no se cuelga con streams cortados

Cambio de API en plena RC: createOwner ahora se tipa solo vía solid-js/internal. Si lo usabas, migrá a createRoot() + runWithOwner(). También: un stream cortado ya no deja la hidratación colgada cuando el runtime arranca después de DOMContentLoaded, nuevo diagnóstico dev CAUGHT_REACTIVE_READ para lecturas reactivas cuyo throw atrapaste, y fixes en <Show>/<Match> dentro de isPending().

04 Nov 2026
github.com/solidjs/solid →
🛠️

Developer Tools

Beta

Storybook 11.0.0-beta.0: soporte de init para Astro y adiós a los componentes UI deprecados

Storybook 11 pasa de alpha a beta. Lo más relevante: storybook init ahora soporta proyectos Astro, se eliminan los componentes UI deprecados (si tus addons los importan, rompen) y el sidebar suma expandir/colapsar todo y correr tests desde el menú contextual de la raíz. Buen momento para probar tus addons contra la beta.

03 Nov 2026
github.com/storybookjs/storybook →
Breaking

oxfmt 0.76 cambia a su propio formatter HTML (breaking) y oxlint 1.91 acota las reglas del React Compiler

oxfmt 0.76 formatea los archivos parser:html con el nuevo oxc_formatter_htmlish: esperá diffs en tu HTML la primera vez que corras. Suma soporte de XHTML, respeta xml:space="preserve" en SVG y formatea HTML dentro de <script>. oxlint 1.91 solo corre las reglas del React Compiler en archivos con componentes o hooks top-level, trata los shared values de Reanimated como refs (buena noticia para React Native) y agrega opciones allow/allowPattern a react/capitalized-calls.

03 Nov 2026
github.com/oxc-project/oxc →
🔥

Top Stories

Security

Next.js 16.4.5 and 15.5.29: seven medium advisories, four of them in 'use cache' and Cache Components

The security release that 16.4.4 was paving the way for has landed. 16.4.5 closes seven medium advisories: cross-tenant disclosure when 'use cache' is called through unstable_cache, cache leaks across root param values in nested functions, poisoning of Cache Components fallback shells via request-supplied placeholder params, and cross-user disclosure/poisoning with binary arguments. On top of that: cross-client response injection in self-hosted apps that forward a fetched response unchanged behind a pipelining HTTP/1.1 proxy (CVE-2026-119348, CVSS v4 6.3), an SVG rejection bypass in image optimization, and HttpOnly cookie exposure through an internal response header on edge runtime routes.

15.5.29 carries only the last three, since the cache bugs live in 16-only features. If you run Cache Components with per-user or per-tenant data, upgrade today.

03 Nov 2026
github.com/vercel/next.js →
Beta

Safari 27.3 beta debuts Adaptive Dark Mode: it darkens light sites that don't declare color-scheme

With the system in dark appearance, Safari analyses the page's colours and, if it is mostly light, offers a dark version: luminance is inverted while hue is preserved, text targets 4.5:1 contrast, SVG and simple bitmap logos are handled, and <canvas> is left alone. JavaScript still sees the original colours, so the transformation is undetectable from script.

To stay out: declare real support with <meta name="color-scheme" content="light dark"> or color-scheme: light dark (plus light-dark() and prefers-color-scheme), or force light with light only — though the only keyword isn't supported in beta 1 yet. Put it in HTML/CSS, not injected by JavaScript.

03 Nov 2026
webkit.org →
🧩

JS Frameworks

Beta

Solid 2.0.0-rc.21: createOwner leaves the public types and hydration no longer hangs on truncated streams

An API change mid-RC: createOwner is now typed only through solid-js/internal. If you used it, move to createRoot() + runWithOwner(). Also: a truncated stream no longer hangs hydration when the runtime boots after DOMContentLoaded, a new dev diagnostic CAUGHT_REACTIVE_READ flags reactive reads whose throw you caught, and <Show>/<Match> fixes inside isPending().

04 Nov 2026
github.com/solidjs/solid →
🛠️

Developer Tools

Beta

Storybook 11.0.0-beta.0: Astro init support and deprecated UI components removed

Storybook 11 moves from alpha to beta. The key bits: storybook init now supports Astro projects, deprecated UI components are removed (addons importing them will break), and the sidebar gains expand/collapse all plus running tests from the root context menu. A good time to test your addons against the beta.

03 Nov 2026
github.com/storybookjs/storybook →
Breaking

oxfmt 0.76 switches to its own HTML formatter (breaking) and oxlint 1.91 narrows React Compiler rules

oxfmt 0.76 formats parser:html files with the new oxc_formatter_htmlish: expect HTML diffs on your first run. It adds XHTML handling, keeps SVG text under xml:space="preserve" as written and formats HTML inside <script>. oxlint 1.91 runs React Compiler rules only on files with top-level components or hooks, treats Reanimated shared values as ref-like (good news for React Native) and adds allow/allowPattern options to react/capitalized-calls.

03 Nov 2026
github.com/oxc-project/oxc →
🔥

Top Stories

Sécurité

Next.js 16.4.5 et 15.5.29 : sept advisories medium, dont quatre dans 'use cache' et Cache Components

La release de sécurité préparée par la 16.4.4 est arrivée. La 16.4.5 corrige sept advisories medium : fuite entre tenants quand 'use cache' passe par unstable_cache, fuite de cache entre valeurs de root params dans des fonctions imbriquées, empoisonnement des fallback shells de Cache Components via des params de placeholder fournis par la requête, et divulgation/empoisonnement entre utilisateurs avec des arguments binaires. S'y ajoutent : injection de réponses entre clients dans les apps self-hosted qui relaient un fetch tel quel derrière un proxy HTTP/1.1 avec pipelining (CVE-2026-119348, CVSS v4 6.3), un contournement du rejet SVG dans l'optimisation d'images et l'exposition de cookies HttpOnly via un header interne sur les routes edge.

La 15.5.29 n'embarque que les trois derniers, les bugs de cache touchant des features propres à la 16. Avec Cache Components et des données par utilisateur ou tenant, mettez à jour aujourd'hui.

03 Nov 2026
github.com/vercel/next.js →
Bêta

Safari 27.3 beta lance l'Adaptive Dark Mode : il assombrit les sites clairs sans color-scheme déclaré

Quand le système est en apparence sombre, Safari analyse les couleurs de la page et, si elle est surtout claire, propose une version sombre : luminance inversée en préservant la teinte, contraste du texte visé à 4.5:1, logos SVG et bitmaps simples pris en charge, <canvas> inchangé. JavaScript voit toujours les couleurs d'origine, la transformation est donc indétectable.

Pour y échapper : déclarez un vrai support avec <meta name="color-scheme" content="light dark"> ou color-scheme: light dark (avec light-dark() et prefers-color-scheme), ou forcez le clair avec light only — le mot-clé only n'est pas encore supporté en beta 1. Déclarez-le en HTML/CSS, pas via JavaScript.

03 Nov 2026
webkit.org →
🧩

JS Frameworks

Bêta

Solid 2.0.0-rc.21 : createOwner quitte les types publics et l'hydratation ne bloque plus sur les streams tronqués

Changement d'API en pleine RC : createOwner n'est plus typé que via solid-js/internal. Si vous l'utilisiez, passez à createRoot() + runWithOwner(). Aussi : un stream tronqué ne bloque plus l'hydratation quand le runtime démarre après DOMContentLoaded, un nouveau diagnostic dev CAUGHT_REACTIVE_READ signale les lectures réactives dont l'erreur a été attrapée, et des correctifs pour <Show>/<Match> dans isPending().

04 Nov 2026
github.com/solidjs/solid →
🛠️

Developer Tools

Bêta

Storybook 11.0.0-beta.0 : init pour Astro et suppression des composants UI dépréciés

Storybook 11 passe d'alpha à beta. L'essentiel : storybook init prend en charge les projets Astro, les composants UI dépréciés sont supprimés (les addons qui les importent casseront), et la sidebar gagne tout déplier/replier ainsi que le lancement des tests depuis le menu contextuel racine.

03 Nov 2026
github.com/storybookjs/storybook →
Breaking

oxfmt 0.76 passe à son propre formateur HTML (breaking) et oxlint 1.91 cible mieux les règles React Compiler

oxfmt 0.76 formate les fichiers parser:html avec le nouveau oxc_formatter_htmlish : attendez-vous à des diffs HTML au premier passage. Il gère XHTML, conserve le texte SVG sous xml:space="preserve" et formate le HTML dans <script>. oxlint 1.91 n'exécute les règles React Compiler que sur les fichiers avec composants ou hooks top-level, traite les shared values de Reanimated comme des refs et ajoute allow/allowPattern à react/capitalized-calls.

03 Nov 2026
github.com/oxc-project/oxc →