Next.js 16.4.3: fixes de backport para fuentes de Google, proxy.ts y OpenTelemetry
Patch de la rama LTS activa: arregla URLs de Google Fonts sin extensión en ambos bundlers, deja de cargar el runtime de app-page en proxy.ts, mantiene juntos los traces de request de OpenTelemetry, evita cargar React standalone en el bootstrap del server y revierte un cambio de invalidación de loaders en Turbopack. Si usás OTel o proxy.ts, vale la pena actualizar.
NgRx 22: resource extensions y deep signals dinámicos para Angular 22
NgRx 22 estrena el entry point experimental @ngrx/signals/resource, que envuelve resource y httpResource de Angular para cambiar su comportamiento al recargar o en error (se registran con provideResourceExtensions). Los slices de estado con union types ahora exponen un deep signal por miembro después de narrowear con in, y aparece SignalStoreFeatureType. Requiere Angular 22 y TypeScript 6.0; @ngrx/eslint-plugin abandona ESLint 8 y .eslintrc. Migrás con ng update @ngrx/store@22.
Happy DOM 21.0.4: fix incompleto de CVE-2026-33943 dejaba inyectar código (CVSS 8.8)
El compilador ESM de Happy DOM no validaba los alias de imports locales antes de interpolarlos en el JavaScript generado, así que un alias inválido terminaba ejecutándose como default de una desestructuración. Es una vía alternativa al parche de CVE-2026-33943 (CVE-2026-115895, CVSS 8.8). Afecta de la 17.0.0 a la 21.0.3; arreglado en 21.0.4. Si tus tests de Vitest o Jest usan Happy DOM sobre HTML que no controlás, actualizá ya.
Biome 2.6.3: seis reglas nursery nuevas, de noBooleanSortComparator a noObsoleteAttributes
Patch con mucha chicha para el linter: noBooleanSortComparator caza el clásico array.sort((a, b) => a > b) que nunca ordena bien, noArraySortForMinMax te manda a Math.min()/Math.max(), noEagerArrayMethodsInLoops marca .map()/.filter() en el header de un for...of, más noNewRequire, noPathConcat y noObsoleteAttributes para HTML. Todas en nursery, así que las tenés que activar a mano.
Tendencias Destacadas
Los plegables llegan a la web en serio: Device Posture y Viewport Segments en Safari 27.1 obligan a pensar layouts por segmento, no por breakpoint.
Las herramientas de testing siguen siendo superficie de ataque: Happy DOM suma otro bypass de un parche anterior, igual que Storybook y Vitest la semana pasada.
Fin de semana tranquilo en releases: el lunes llega con poco, así que la semana arranca con patches y RCs (Vue 3.6 rc.13, Solid 2.0 rc.18, Qwik 2.0 rc.4).
Next.js 16.4.3: backported fixes for Google fonts, proxy.ts and OpenTelemetry
An active-LTS patch: it fixes extensionless Google Fonts URLs in both bundlers, stops loading the app-page runtime in proxy.ts, keeps OpenTelemetry request traces together, avoids loading standalone React in the server bootstrap and reverts a Turbopack loader invalidation change. Worth taking if you rely on OTel or proxy.ts.
NgRx 22: resource extensions and dynamic deep signals for Angular 22
NgRx 22 introduces the experimental @ngrx/signals/resource entry point, which wraps Angular's resource and httpResource to change their behavior while reloading or on error (registered with provideResourceExtensions). Union-typed state slices now expose a deep signal per member after narrowing with in, and SignalStoreFeatureType is added. It requires Angular 22 and TypeScript 6.0; @ngrx/eslint-plugin drops ESLint 8 and .eslintrc. Migrate with ng update @ngrx/store@22.
Happy DOM 21.0.4: incomplete CVE-2026-33943 fix allowed code injection (CVSS 8.8)
Happy DOM's ESM compiler didn't validate local import aliases before interpolating them into generated JavaScript, so an invalid alias ended up executing as a destructuring default initializer. It is an alternate path around the CVE-2026-33943 fix (CVE-2026-115895, CVSS 8.8). Versions 17.0.0 through 21.0.3 are affected; fixed in 21.0.4. If your Vitest or Jest tests run Happy DOM over HTML you don't control, upgrade now.
Biome 2.6.3: six new nursery rules, from noBooleanSortComparator to noObsoleteAttributes
A patch with real linter meat: noBooleanSortComparator catches the classic array.sort((a, b) => a > b) that never sorts correctly, noArraySortForMinMax points you to Math.min()/Math.max(), noEagerArrayMethodsInLoops flags .map()/.filter() in a for...of header, plus noNewRequire, noPathConcat and noObsoleteAttributes for HTML. All are nursery rules, so you opt in manually.
Notable Trends
Foldables reach the web for real: Device Posture and Viewport Segments in Safari 27.1 push layouts toward per-segment design, not just breakpoints.
Test tooling keeps being attack surface: Happy DOM adds another bypass of an earlier fix, following Storybook and Vitest last week.
A quiet release weekend: Monday brings little new, with the week opening on patches and RCs (Vue 3.6 rc.13, Solid 2.0 rc.18, Qwik 2.0 rc.4).
Next.js 16.4.3 : correctifs rétroportés pour Google Fonts, proxy.ts et OpenTelemetry
Un patch de la branche LTS active : il corrige les URL Google Fonts sans extension dans les deux bundlers, ne charge plus le runtime app-page dans proxy.ts, garde ensemble les traces de requêtes OpenTelemetry, évite de charger React standalone au démarrage du serveur et annule un changement d'invalidation des loaders Turbopack. À prendre si vous utilisez OTel ou proxy.ts.
NgRx 22 : resource extensions et deep signals dynamiques pour Angular 22
NgRx 22 introduit le point d'entrée expérimental @ngrx/signals/resource, qui enveloppe resource et httpResource d'Angular pour modifier leur comportement pendant un rechargement ou en erreur (enregistré via provideResourceExtensions). Les tranches d'état à types union exposent désormais un deep signal par membre après un narrowing avec in, et SignalStoreFeatureType fait son apparition. Il requiert Angular 22 et TypeScript 6.0 ; @ngrx/eslint-plugin abandonne ESLint 8 et .eslintrc. Migration avec ng update @ngrx/store@22.
Happy DOM 21.0.4 : un correctif incomplet de CVE-2026-33943 permettait l'injection de code (CVSS 8.8)
Le compilateur ESM de Happy DOM ne validait pas les alias d'imports locaux avant de les interpoler dans le JavaScript généré : un alias invalide finissait exécuté comme valeur par défaut d'une déstructuration. C'est un contournement du correctif de CVE-2026-33943 (CVE-2026-115895, CVSS 8.8). Les versions 17.0.0 à 21.0.3 sont affectées ; corrigé en 21.0.4. Si vos tests Vitest ou Jest exécutent Happy DOM sur du HTML que vous ne contrôlez pas, mettez à jour.
Biome 2.6.3 : six nouvelles règles nursery, de noBooleanSortComparator à noObsoleteAttributes
Un patch costaud pour le linter : noBooleanSortComparator repère le classique array.sort((a, b) => a > b) qui ne trie jamais correctement, noArraySortForMinMax oriente vers Math.min()/Math.max(), noEagerArrayMethodsInLoops signale .map()/.filter() dans l'en-tête d'un for...of, plus noNewRequire, noPathConcat et noObsoleteAttributes pour le HTML. Ce sont des règles nursery, à activer manuellement.
Tendances Notables
Les écrans pliables arrivent vraiment sur le web : Device Posture et Viewport Segments dans Safari 27.1 poussent à concevoir par segment, pas seulement par breakpoint.
L'outillage de test reste une surface d'attaque : Happy DOM ajoute un nouveau contournement d'un correctif antérieur, après Storybook et Vitest la semaine dernière.
Un week-end calme côté releases : la semaine démarre sur des patches et des RC (Vue 3.6 rc.13, Solid 2.0 rc.18, Qwik 2.0 rc.4).