Next.js 16.4: What Changed and What Might Break
Next.js 16.4 shipped on 7 October 2026 with Turbopack output changes, a stable prefetch API and removed experiments. Here is what to check before you upgrade.
Next.js 16.4.0 was published on 7 October 2026. It makes Turbopack production builds smaller by default, drops the unstable_ prefix from the navigation and prefetch APIs, and removes several experimental features. If you use the App Router, read the removal list before you bump the version.
All facts below come from the v16.4.0 release page on GitHub. It is a summary of the notable items, not a full changelog.
What is new in Next.js 16.4?
- Turbopack output. Export name mangling is on by default for production builds, CSS module class names are shorter, and production uses per-layout-segment chunking. Server minification is available through
experimental.serverMinification. - Bundle analyzer. It now records historical snapshots on each run and gained compare views and a route summary. That makes "did this PR make the bundle bigger?" an answerable question.
- Prefetching.
ensureStaticwas stabilized in Partial Prefetching, andnavigation()andprefetch()lose theirunstable_prefix. - New projects.
create-next-appnow enables Cache Components by default. - Upgrades. There is a
next upgrade --aioption for assisted upgrades. - Images. AVIF optimization is re-enabled, and an experimental
imgOptMozjpegoption appeared. - Dev experience. Dynamic imports compile lazily on the client in development.
What breaks when you upgrade?
This is the part that matters for a running product.
experimental.appNewScrollHandlerandunstable_eagerare removed.- Old
unstable_imports ofnavigation()andprefetch()stop working. Rename them. - Strict route matching is now the default, interception routes must use canonical routes, and App pages that match no route raise an error.
- Legacy PPR (partial prerendering) code paths are gone.
- React 18 support for the Pages Router is deprecated.
- The native bindings moved from napi-rs v2 to v3, which may affect anyone with custom native bindings.

How should you upgrade safely?
- Create a branch and bump
nextto 16.4.0. - Search your code for
unstable_navigation,unstable_prefetch,appNewScrollHandlerandunstable_eager. - Run a production build and click through routes that use interception or dynamic params. Strict matching is where we would expect surprises.
- Compare bundle size before and after using the analyzer's new snapshots.
- Only then enable the opt-in experiments.
Is it worth upgrading right away?
If you are on 16.x and have no use of the removed experiments, a branch upgrade is cheap. If you run the Pages Router on React 18, you have time but should plan the move. Keep an eye on the tools around your stack too, and browse developer tools and frameworks on Woodander for what teams are shipping with.
FAQ
When was Next.js 16.4.0 released?
The release page shows 7 October 2026.
Does 16.4 remove the Pages Router?
No. It deprecates React 18 support for the Pages Router, which is different from removing the router.
What is the safest way to try it?
Use a separate branch, run a production build, and test your interception and dynamic routes before merging.