devnotes.

Next.js 16: Cache Components, Turbopack & Better Routing

Next.js 16 was released in October 2025 and is the current major version. It focuses on making caching fully explicit, making the default bundler dramatically faster, and smoothing out navigation.

Cache Components — caching becomes fully opt-in

The biggest architectural change in Next.js 16. Previously, the App Router cached many things implicitly, which developers often found unpredictable. Cache Components flips this: nothing is cached unless you explicitly say so with the "use cache" directive, and all dynamic code runs fresh on every request by default.

// next.config.ts
const nextConfig = {
  experimental: { cacheComponents: true },
};
export default nextConfig;
async function getPopularPosts() {
  'use cache';
  return db.posts.findMany({ orderBy: { views: 'desc' }, take: 10 });
}

This also completes Partial Prerendering (PPR), first introduced in 2023 — a page can now cleanly combine a static, cached shell with dynamic, per-request sections streamed via <Suspense>, without the earlier experimental flags.

Turbopack — stable and the default bundler

Turbopack, the Rust-based successor to Webpack, is now stable and used by default for both next dev and next build. Reported improvements include up to 2–5x faster production builds and up to 10x faster Fast Refresh during development. A beta filesystem cache further speeds up startup and recompilation on large codebases by persisting build artifacts between sessions:

// next.config.ts
const nextConfig = {
  experimental: { turbopackFileSystemCacheForDev: true },
};

Enhanced routing and navigation

  • Layout deduplication — when many links on a page share the same layout, that layout is fetched only once instead of once per link.
  • Incremental prefetching — Next.js avoids re-fetching data the client already has when prefetching a new route, reducing wasted network requests.

React Compiler support (stable)

Next.js 16 ships built-in, stable integration for the React Compiler, so enabling automatic memoization across your app is now a supported, first-class configuration option rather than an experimental add-on.

React 19.2 features available in Next.js 16

Because Next.js 16 ships with React 19.2, apps get <Activity> (hide UI while preserving state), useEffectEvent (non-reactive logic inside Effects), and View Transitions support for smoother page-to-page animations.

Breaking changes to know about

  • params and searchParams are now Promises that must be await-ed (a change that started in Next.js 15 and is fully enforced in 16).
  • Defaults for next/image changed slightly — check your image configuration when upgrading.
  • The experimental PPR flag was removed; PPR behavior now lives inside Cache Components.
What's New in Next.js 16 — Cache Components and Stable Turbopack | DevNotes