Next.js 16.4 marks Cache Components as the recommended default programming model for all applications. The model lets developers mark parts of the component tree as eligible for caching using the 'use cache' directive and the cacheLife helper from 'next/cache'. These annotations replace the implicit caching behaviors of earlier App Router versions, allowing client‑side caching, server‑side caching, and request‑time rendering to be composed within a single page.
The release adds ensureStatic, a configuration option that can be exported from a route or layout to guarantee that the shell, prefetch, or full navigation remains static, preventing dynamic content from unintentionally slipping into a page. It also introduces the navigation and prefetch APIs, which let developers defer loading of specific data until an actual navigation or explicit prefetch occurs, enabling patterns such as showing only the first message of a thread during a prefetch and loading the rest on navigation.
To keep projects up to date, Next.js 16.4 upgrades its agent tooling. The next upgrade command now accepts an --agent flag that guides an automated upgrade from the current version to a target release, applying codemods and verification steps. Additionally, the experimental.agentUpgrade configuration can automatically prompt for relevant upgrades, and experimental.agentFeedback lets agents prepare draft reports of encountered issues for the Next.js team to review. The update also brings less memory usage and disk size in development, reduced compile times, smaller production bundles, and React 19.3.
