tech.news
Next.js 16.3 : navigations instantanées et mémoire divisée par 10
Frontend

Next.js 16.3 : navigations instantanées et mémoire divisée par 10

Next.js 16.3 est sorti le 3 août. Cette release mineure concentre ses efforts sur deux axes qui irritaient les équipes depuis un moment : la mémoire qui s'emballe en sessions dev longues, et la latence perçue lors des navigations entre routes serveur.

Instant Navigations : le SPA-feel sans le SPA

La fonctionnalité phare de 16.3 est Instant Navigations, une suite d'outils opt-in qui apporte l'instantanéité des Single Page Apps aux applications Next.js server-rendered.

Concrètement, au lieu d'attendre qu'une nouvelle route soit entièrement chargée depuis le serveur, Next.js :

  1. Préfetch de façon intelligente : les routes visibles dans le viewport sont préchargées en amont, selon un algorithme qui a réduit de 45% le nombre de requêtes de prefetch en moyenne (jusqu'à 70% sur certains projets)
  2. Affiche la page précédente le temps que la nouvelle route arrive, éliminant les écrans blancs
  3. Hydrate progressivement en arrière-plan pour que la transition soit immédiate côté utilisateur

Le résultat est une expérience de navigation qui ressemble à celle d'un SPA, sans abandonner les avantages du rendu serveur (SEO, temps de chargement initial, streaming).

tsx
// next.config.ts — activation opt-in des Instant Navigations const nextConfig = { experimental: { instantNavigation: true, }, }

90% de RAM en moins en développement

La deuxième grande amélioration concerne le développement local. Les sessions longues avec hot reload accumulaient de la mémoire jusqu'à planter Node avec une FATAL ERROR: Reached heap limit. Next.js 16.3 adresse ce problème avec :

  • Memory eviction : Turbopack évacue du cache les modules non récemment utilisés
  • Réutilisation des artifacts : les builds répétés lisent les artéfacts inchangés depuis le cache persistant
  • Optimisations internes dans la gestion des modules compilés

Le résultat annoncé par Vercel est une réduction de 90% de la mémoire sur des sessions de développement longues. Sur les projets volumineux, c'est la différence entre passer sa journée à redémarrer le serveur ou non.

Cache persistant Turbopack

Turbopack bénéficie dans cette release d'un cache persistant qui survit aux redémarrages du serveur de développement. C'est une différence significative : jusqu'ici, chaque npm run dev recompilait tout depuis zéro.

Le compilateur Rust de Turbopack est maintenant intégré directement dans le pipeline de compilation TypeScript, avec un support natif du React Compiler — ce qui signifie que la memoïzation automatique est opérationnelle sans configuration supplémentaire.

Intégration TypeScript 7

next build peut désormais utiliser le nouveau compilateur Go de TypeScript 7 pour le type checking, ce qui se traduit par des builds de production plus rapides pour les équipes ayant migré vers TS 7.

La configuration est automatique : si TypeScript 7 est détecté dans le projet, Next.js en tire parti sans action manuelle.

Docs versionnées pour les agents IA

Une fonctionnalité discrète mais révélatrice de l'époque : les docs Next.js sont désormais disponibles dans un format versionné, spécifiquement conçu pour être consommé par les agents de codage comme Claude Code, Cursor ou Codex.

L'idée : les agents peuvent lire les docs de la version exacte utilisée dans le projet, sans confusion entre les APIs de Next.js 15 et 16. Vercel signale que "la croissance de Next.js est désormais principalement portée par du code écrit via des agents".

Performances serveur

16.3 améliore également les performances SSR : Next.js peut traiter jusqu'à 22% de requêtes supplémentaires sous charge par rapport à 16.2. C'est une amélioration de throughput côté infrastructure qui peut réduire les coûts de hosting sur les applications à fort trafic.

Mise à jour

bash
npm install next@latest

La release est rétrocompatible avec Next.js 16.2. Les Instant Navigations sont opt-in et ne nécessitent pas de changements dans le code existant.