Safari Technology Preview 252: user-select sin prefijo y named-feature() en @supports
Se terminó el -webkit-user-select: STP 252 soporta la propiedad user-select sin prefijo. Suma la función named-feature() en condiciones @supports y CSSMediaRule.matches(), además de valores porcentuales en text-decoration-inset. Del lado de los bugs hay una tanda seria de fixes de layout en grid tracks, subgrid, line clamping y corner-shape para esquinas redondeadas y biseladas. En HTML, dialog ahora mueve el foco correctamente después de show(), y DOMException gana una propiedad stack como cualquier otro error.
Next.js 16.3.5 arregla la caché en disco de next/image y agrega nonce CSP en loading y template
Release de parches backporteados sobre la línea estable. next/image ahora saltea entradas de 0 bytes al inicializar la caché LRU en disco y rechaza imágenes vacías al leer o escribir en ella — si venías viendo imágenes rotas intermitentes, es esto. También se agrega el nonce CSP a los script tags de los archivos loading y template, se emiten los NFT del server completo cuando usás output: 'standalone' con un adapter, y se corrige la retención de la señal de prerender en use cache.
React Native 0.88.0-rc.0: ArrayBuffer en TurboModules y screenshots en DevTools
Arrancó el ciclo de RC de 0.88. Lo más jugoso: ArrayBuffer para TurboModules en Java y ObjC (RCTArrayBuffer), con un contrato explícito de propiedad de bytes — pasar binario entre JS y nativo deja de ser un baile de base64. React Native DevTools gana captura de screenshots vía Page.captureScreenshot e inspección de eventos WebSocket en el Network panel (canal CANARY). Suma fontVariationSettings en Text y TextInput en ambas plataformas. Ojo con el breaking: se removió el export raíz Touchable (no documentado) — si lo extendías como tipo, usá ViewProps. Y InitializeCore queda deprecado a favor de react-native/setup-env.
TanStack Router: una pasada de performance profunda sobre Link y buildLocation
Dieciocho commits de performance en un solo release, y casi todos apuntan al mismo lugar: Link. Ahora se memoiza y reenvía refs sin un effect, usa menos hooks por instancia y reduce las allocations en runtime. buildLocation hace match de la location actual de forma lazy y dejó de compartir estructuralmente search y state. La caché de location pasó a ser client-only, lo que adelgaza el SSR de Link. Si tenés listas largas de links, esto se nota.
Node.js 24.21.0 LTS: OpenSSL 3.5.8, MIMEType.parse sin throw y BlockList más rápida
La línea LTS se pone al día. Actualiza OpenSSL a 3.5.8, Undici a 7.29.1 y los certificados raíz a NSS 3.126. Del lado de la API: MIMEType.parse ahora tiene una variante que no tira excepción — chau try/catch alrededor de cada parseo de content-type — y crypto soporta cargar claves privadas a través de STORE loaders. Suma mejoras de performance en net.BlockList, una implementación de histogramas mejorada y testing de hipótesis estadísticas en perf_hooks.
Oxlint 1.82.0 y Oxfmt 0.67.0: una tanda grande de fixes en CSS y reglas de JSX
Oxlint suma la opción checkConditionalExpressions en no-unmodified-loop-condition y corrige varias reglas que venían dando falsos positivos: jsx-a11y/anchor-has-content ahora acepta anchors pasados como props de componentes custom, no-explicit-any arregla los rest params a unknown[], y no-useless-assignment maneja asignaciones destructuradas. El formatter de CSS se llevó el grueso del trabajo: preservar comentarios dentro de !important, en preludios de at-rules, alrededor de variables SCSS/Less y en listas con paréntesis. Hay un breaking en el parser: panicked pasó a llamarse fatal_error en ParserReturn.
Tendencias Destacadas
El ciclo de dos semanas de Chrome cambia el juego para el testing cross-browser: ya no alcanza con revisar una vez por mes. Armá tu pipeline contra Chrome Beta, que ahora sale tres semanas antes del stable.
Rust y Go se están comiendo el tooling de JavaScript desde adentro. Oxlint delega el análisis type-aware a un binario Go sobre typescript-go, Chrome reescribió su parser XML en Rust, y Microsoft acaba de declarar Rust lenguaje Tier 1 interno. El toolchain de tu frontend ya casi no está escrito en JavaScript.
Astryx trae un patrón nuevo: design systems con endpoint MCP de fábrica. No es marketing — si el agente puede consultar los componentes y tokens disponibles, deja de inventar markup. Esperá que Radix, shadcn y compañía sigan el mismo camino.
Safari Technology Preview 252: unprefixed user-select and named-feature() in @supports
-webkit-user-select is done: STP 252 supports the unprefixed user-select property. It also adds the named-feature() function in @supports conditions, CSSMediaRule.matches(), and percentage values in text-decoration-inset. On the bug side there is a serious batch of layout fixes across grid tracks, subgrid, line clamping and corner-shape for both rounded and notched corners. In HTML, dialog now moves focus correctly after show(), and DOMException gains a stack property matching other error objects.
Next.js 16.3.5 fixes the next/image disk cache and adds CSP nonce to loading and template scripts
A backported patch release on the stable line. next/image now skips 0-byte entries when initializing the disk LRU cache and rejects empty images when reading or writing to it — if you were seeing intermittent broken images, this is it. It also adds the CSP nonce to script tags of loading and template files, emits whole-app server NFTs when output: 'standalone' is used with an adapter, and fixes use cache prerender signal retention.
React Native 0.88.0-rc.0: ArrayBuffer in TurboModules and DevTools screenshots
The 0.88 RC cycle is underway. The headline: ArrayBuffer support for TurboModules in Java and ObjC (RCTArrayBuffer), with an explicit byte-ownership contract — passing binary between JS and native stops being a base64 dance. React Native DevTools gains screenshot capture via Page.captureScreenshot and WebSocket event inspection in the Network panel (CANARY channel). It also adds fontVariationSettings for Text and TextInput on both platforms. Breaking change to watch: the undocumented Touchable root export is removed — use ViewProps if you were extending it as a type. And InitializeCore is deprecated in favor of react-native/setup-env.
TanStack Router: a deep performance pass over Link and buildLocation
Eighteen performance commits in a single release, and nearly all of them land in the same place: Link. It is now memoized and forwards refs without an effect, uses fewer hooks per instance and cuts runtime allocations. buildLocation matches the current location lazily and stopped structurally sharing search and state. The location cache is now client-only, which slims down Link SSR. If you render long lists of links, you will feel this.
Node.js 24.21.0 LTS: OpenSSL 3.5.8, non-throwing MIMEType.parse and a faster BlockList
The LTS line catches up. It updates OpenSSL to 3.5.8, Undici to 7.29.1 and root certificates to NSS 3.126. On the API side: MIMEType.parse gains a non-throwing variant — no more try/catch around every content-type parse — and crypto supports loading private keys through STORE loaders. It also brings performance work on net.BlockList, an improved histogram implementation and statistical hypothesis testing in perf_hooks.
Oxlint 1.82.0 and Oxfmt 0.67.0: a big batch of CSS and JSX rule fixes
Oxlint adds a checkConditionalExpressions option to no-unmodified-loop-condition and fixes several rules that were producing false positives: jsx-a11y/anchor-has-content now allows anchors passed as custom component props, no-explicit-any fixes rest parameters to unknown[], and no-useless-assignment handles destructuring assignments. The CSS formatter took the bulk of the work: preserving comments inside !important, in at-rule preludes, around SCSS/Less variable values and in paren comma lists. There is a breaking change in the parser: panicked is renamed to fatal_error in ParserReturn.
Notable Trends
Chrome's two-week cycle changes the cross-browser testing game: checking once a month no longer cuts it. Point your pipeline at Chrome Beta, which now ships three weeks ahead of stable.
Rust and Go are eating JavaScript tooling from the inside. Oxlint delegates type-aware analysis to a Go binary on typescript-go, Chrome rewrote its XML parser in Rust, and Microsoft just declared Rust a Tier 1 internal language. Your frontend toolchain is barely written in JavaScript anymore.
Astryx introduces a new pattern: design systems that ship an MCP endpoint out of the box. It is not marketing — if the agent can query available components and tokens, it stops inventing markup. Expect Radix, shadcn and friends to follow.
Safari Technology Preview 252 : user-select sans préfixe et named-feature() dans @supports
Fini -webkit-user-select : STP 252 prend en charge la propriété user-select sans préfixe. S'ajoutent la fonction named-feature() dans les conditions @supports, CSSMediaRule.matches() et les valeurs en pourcentage dans text-decoration-inset. Côté correctifs, une série de fixes de layout sur grid tracks, subgrid, line clamping et corner-shape. En HTML, dialog déplace correctement le focus après show().
Next.js 16.3.5 corrige le cache disque de next/image et ajoute le nonce CSP aux scripts loading et template
Release de correctifs backportés sur la ligne stable. next/image ignore désormais les entrées de 0 octet à l'initialisation du cache LRU disque et rejette les images vides en lecture comme en écriture. Le nonce CSP est ajouté aux balises script des fichiers loading et template, les NFT du serveur complet sont émis avec output: 'standalone' et un adapter, et la rétention du signal de prerender dans use cache est corrigée.
React Native 0.88.0-rc.0 : ArrayBuffer dans les TurboModules et screenshots dans DevTools
Le cycle RC de 0.88 est lancé. En tête : le support d'ArrayBuffer pour les TurboModules en Java et ObjC (RCTArrayBuffer), avec un contrat explicite de propriété des octets. React Native DevTools gagne la capture de screenshots via Page.captureScreenshot et l'inspection des événements WebSocket dans le panneau Network (canal CANARY). Ajout de fontVariationSettings pour Text et TextInput. Breaking change : l'export racine Touchable est supprimé — utilisez ViewProps.
TanStack Router : une passe de performance en profondeur sur Link et buildLocation
Dix-huit commits de performance dans une seule release, presque tous au même endroit : Link. Il est désormais mémoïsé et transmet les refs sans effect, utilise moins de hooks par instance et réduit les allocations runtime. buildLocation match la location courante de façon lazy et ne partage plus structurellement search et state. Le cache de location est maintenant client-only.
Node.js 24.21.0 LTS : OpenSSL 3.5.8, MIMEType.parse sans throw et BlockList plus rapide
La ligne LTS se met à jour. Passage d'OpenSSL à 3.5.8, d'Undici à 7.29.1 et des certificats racine à NSS 3.126. Côté API : MIMEType.parse gagne une variante qui ne lève pas d'exception, et crypto prend en charge le chargement de clés privées via les STORE loaders. S'ajoutent des gains de performance sur net.BlockList et des tests d'hypothèse statistique dans perf_hooks.
Oxlint 1.82.0 et Oxfmt 0.67.0 : une grosse série de correctifs CSS et de règles JSX
Oxlint ajoute l'option checkConditionalExpressions à no-unmodified-loop-condition et corrige plusieurs règles produisant des faux positifs : jsx-a11y/anchor-has-content accepte désormais les anchors passés comme props de composants custom, et no-useless-assignment gère les affectations déstructurées. Le formatter CSS concentre l'essentiel du travail sur la préservation des commentaires. Un breaking change dans le parser : panicked devient fatal_error dans ParserReturn.
Tendances Notables
Le cycle de deux semaines de Chrome change la donne pour les tests cross-browser : une vérification mensuelle ne suffit plus. Orientez votre pipeline vers Chrome Beta, publié trois semaines avant le stable.
Rust et Go dévorent l'outillage JavaScript de l'intérieur. Oxlint délègue l'analyse type-aware à un binaire Go sur typescript-go, Chrome a réécrit son parser XML en Rust, et Microsoft vient de déclarer Rust langage Tier 1 en interne.
Astryx introduit un nouveau pattern : des design systems livrés avec un endpoint MCP. Si l'agent peut interroger les composants et tokens disponibles, il cesse d'inventer du markup. Attendez-vous à ce que Radix et shadcn suivent.