Dev News — 20 Oct 2026: React Router 8.5 deprecates its view transitions, create-vite moves to TypeScript 7
shadcn 4.22 pasa sus schemas de registry a Zod 4
shadcn/schema y @shadcn/registry/schema ahora exportan schemas de Zod 4, así que pasarlos al z de Zod 3 ya no typechequea. Si seguís en Zod 3, usá los tipos exportados (RegistryItem, Config) y los métodos del propio schema en vez de z.infer. Ojo también: los errores exponen issues, no errors, y los mensajes de validación cambian de wording.
Vitest 5.1.0-beta.1: --last-failed, --since-last-run y fake timers para node:timers
Beta cargadita: --last-failed para correr solo lo que falló, --since-last-run, soporte de Temporal.Instant/ZonedDateTime en vi.setSystemTime() y fake timers para node:timers. En browser mode, el trace view deja de ser experimental, captura aria snapshots y aparece una API pointer experimental. Ojo: el puerto default del browser mode cambia a 23315, revisá tu CI si lo tenías hardcodeado.
oxlint 1.89 marca las reglas de sus plugins como recommended
oxlint ahora marca como recommended las reglas de casi todos sus plugins siguiendo a upstream: eslint, typescript, react/react-hooks, vue 3, nextjs, jsx-a11y, import, unicorn, jest/vitest, promise, node y jsdoc. Ojo con esto: si usás el preset recommended, actualizar puede tirarte un montón de diagnósticos nuevos de golpe. Además trae cambios breaking en el AST (lone surrogates en nombres de propiedades) y una tanda grande de fixes de reglas.
Tendencias Destacadas
La plataforma se come las abstracciones: React Router cede sus view transitions al <ViewTransition> nativo de React, igual que antes cedió data APIs a RSC. Menos API propia, más primitivas compartidas.
TypeScript 7 nativo ya es default en el scaffolding de Vite y shadcn termina de saltar a Zod 4: el tooling nuevo dejó de ser opt-in.
shadcn 4.22 moves its registry schemas to Zod 4
shadcn/schema and @shadcn/registry/schema now export Zod 4 schemas, so passing them to Zod 3's z no longer typechecks. Zod 3 users should switch to the exported types (RegistryItem, Config) and the schema's own methods instead of z.infer. Errors now expose issues rather than errors, and validation messages use Zod 4's wording.
Vitest 5.1.0-beta.1: --last-failed, --since-last-run and node:timers fake timers
A packed beta: --last-failed to rerun only failures, --since-last-run, Temporal.Instant/ZonedDateTime support in vi.setSystemTime(), and fake timers for node:timers. Browser mode's trace view drops its experimental label and captures aria snapshots, and an experimental pointer API arrives. The browser mode default port changes to 23315, so check CI configs that hardcode it.
oxlint 1.89 marks its plugin rules as recommended
oxlint now marks rules as recommended across nearly all its plugins, following upstream: eslint, typescript, react/react-hooks, vue 3, nextjs, jsx-a11y, import, unicorn, jest/vitest, promise, node and jsdoc. Projects on the recommended preset may see many new diagnostics after upgrading. The release also includes breaking AST changes (lone surrogates preserved in static property names) and a large batch of rule fixes.
Notable Trends
The platform absorbs the abstractions: React Router hands its view transitions to React's own <ViewTransition>, trading library-specific APIs for shared primitives.
Native TypeScript 7 is now the Vite scaffolding default and shadcn completes its jump to Zod 4: the new tooling generation is no longer opt-in.
shadcn 4.22 passe ses schémas de registry à Zod 4
shadcn/schema et @shadcn/registry/schema exportent désormais des schémas Zod 4 : les passer au z de Zod 3 ne typecheck plus. Sous Zod 3, utilisez les types exportés (RegistryItem, Config) et les méthodes du schéma au lieu de z.infer. Les erreurs exposent issues et non plus errors, et les messages de validation changent.
Vitest 5.1.0-beta.1 : --last-failed, --since-last-run et fake timers pour node:timers
Une bêta bien remplie : --last-failed pour relancer seulement les échecs, --since-last-run, prise en charge de Temporal.Instant/ZonedDateTime dans vi.setSystemTime() et fake timers pour node:timers. En browser mode, la trace view n'est plus expérimentale et capture les aria snapshots, et une API pointer expérimentale apparaît. Le port par défaut du browser mode passe à 23315.
oxlint 1.89 marque les règles de ses plugins comme recommended
oxlint marque désormais comme recommended les règles de presque tous ses plugins, en suivant l'upstream : eslint, typescript, react/react-hooks, vue 3, nextjs, jsx-a11y, import, unicorn, jest/vitest, promise, node et jsdoc. Avec le preset recommended, la mise à jour peut faire apparaître beaucoup de nouveaux diagnostics. La version inclut aussi des changements AST breaking et de nombreux correctifs de règles.
Tendances Notables
La plateforme absorbe les abstractions : React Router cède ses view transitions au <ViewTransition> de React, au profit de primitives partagées.
TypeScript 7 natif devient le défaut de Vite et shadcn passe à Zod 4 : la nouvelle génération d'outils n'est plus optionnelle.