Preskočiť na obsah
en

2 min čítania

Next.js 16.3 — Instant Navigations and a lighter dev server

Next.js 16.3 cuts dev-server memory by up to 90%, caches builds, type-checks with TypeScript 7, and adds opt-in Instant Navigations for SPA-like speed.

  • nextjs
  • react
  • javascript
  • release

Tento článok je v angličtine.

Next.js 16.3 is out, and the Next.js team calls it the biggest update since 16.0. It has two parts: improvements every app gets just by upgrading, and Instant Navigations, an opt-in set of features that makes page changes feel as fast as a single-page app.

Free with the upgrade

npm install next@latest
  • Up to 90% less dev-server memory. Turbopack now caches to disk and frees memory it no longer needs. On the vercel.com dashboard, memory after compiling 50 routes dropped from 21.5 GB to 2 GB.
  • Cached production builds. next build reuses unchanged output from previous builds; Vercel reports up to 5.5× faster builds on CI.
  • TypeScript 7 for type checking. Install typescript@^7 and next build uses the new Go compiler.
  • Up to 22% more requests under load, because server rendering now uses native Node.js streams instead of web streams.
  • Fewer prefetch requests, as small prefetches are combined into one.
  • Docs for AI coding agents. next dev keeps an AGENTS.md pointing to the docs for your exact Next.js version.

Root params

This one is useful for multilingual sites. Values from the top-level route segment, like [lang], can now be read in any Server Component instead of being passed down as props:

import { lang } from 'next/root-params'

export default async function Footer() {
  const locale = await lang()
  // …
}

This site is built on app/[lang]/ and passes locale through almost every component, so this feature removes a lot of that.

Error boundaries that can retry

catchError from next/error builds an error boundary that no longer interferes with notFound() or redirect(). It also receives a retry() function that re-fetches the failed part, including Server Components:

'use client'
import { catchError, type ErrorInfo } from 'next/error'

function Fallback(_: object, { error, retry }: ErrorInfo) {
  return <button onClick={() => retry()}>{error.message}. Try again</button>
}

export default catchError(Fallback)

Instant Navigations (opt-in)

Turn on two flags:

// next.config.ts
const nextConfig = { cacheComponents: true, partialPrefetching: true }

With these flags, Next.js prefetches a loading shell for each link, so a click shows the new page's layout immediately while the data streams in. A new devtools panel, Instant Insights, flags navigations that are not instant, and the instant() helper from @next/playwright lets you test that it stays that way. The Next.js team says this behavior will become the default in a future major version.

Also new: the Vite-compatible import.meta.glob in Turbopack, an experimental Rust port of the React Compiler (34–46% faster dev startup in their tests), and experimental offline retries with useOffline.

Bottom line

Upgrade everything: memory, build and rendering gains come without code changes. Try Instant Navigations on a branch, since it is the direction Next.js is heading. And go straight to the latest 16.3 patch release, which includes security fixes.

Kontakt

Staviate s tým niečo?

Pomáhame tímom vybrať správne nástroje a dotiahnuť produkt do konca. Napíšte nám, na čom pracujete.

Čo má robiť, pre koho je a je nejaký termín?

Vaše údaje použijeme len na odpoveď na váš dopyt. Viac v časti ochrana osobných údajov.