Post

Next.js 16.3 is now available! • Up to 90% less memory in dev • Faster builds, type checking, and rendering • Better tooling for AI agents • Custom error boundaries • Instant Navigations for SPA-like responsiveness nextjs.org/blog/next-16-3 Here's what's new ↓

Long 𝚗𝚎𝚡𝚝 𝚍𝚎𝚟 sessions now use up to 90% less memory. Turbopack used to keep visited routes cached in memory. With disk caching and memory eviction on by default, it can now offload that cache to disk.

The disk cache that has sped up 𝚗𝚎𝚡𝚝 𝚍𝚎𝚟 since 16.1 now also works for 𝚗𝚎𝚡𝚝 𝚋𝚞𝚒𝚕𝚍. Turbopack can read existing entries from .𝚗𝚎𝚡𝚝/𝚌𝚊𝚌𝚑𝚎 across CI runs before compiling new changes. We've seen projects build up to 5.5x faster on the warm path.

TypeScript 7 is a 10x faster native port of the compiler, and 𝚗𝚎𝚡𝚝 𝚋𝚞𝚒𝚕𝚍 now uses it for type checking. Install it with 𝚗𝚙𝚖 𝚒𝚗𝚜𝚝𝚊𝚕𝚕 -𝙳 𝚝𝚢𝚙𝚎𝚜𝚌𝚛𝚒𝚙𝚝@7.

App Router rendering now uses native Node.js streams end-to-end, instead of converting to and from web streams on each request. With that overhead gone, apps handle up to 22% more requests under load in our benchmarks.

React error boundaries used to swallow 𝚗𝚘𝚝𝙵𝚘𝚞𝚗𝚍 and 𝚛𝚎𝚍𝚒𝚛𝚎𝚌𝚝, and could only reset client state. Now 𝚌𝚊𝚝𝚌𝚑𝙴𝚛𝚛𝚘𝚛 defines a custom boundary that lets those pass through, and 𝚛𝚎𝚝𝚛𝚢() re-renders Server Components within the boundary.

Turbopack now supports the Vite-compatible 𝚒𝚖𝚙𝚘𝚛𝚝.𝚖𝚎𝚝𝚊.𝚐𝚕𝚘𝚋 API for loading multiple modules from the file system. For a Server Component that reads local files, like a folder of Markdown posts, it also brings hot-module reloading.

Agents often code using outdated patterns from their training data. Now, 𝚗𝚎𝚡𝚝 𝚍𝚎𝚟 maintains an 𝙰𝙶𝙴𝙽𝚃𝚂.𝚖𝚍 block that points them to a local copy of the docs pinned to your app's version, ensuring they always use the latest best practices.

Instant Navigations is a new suite of opt-in tools and behaviors for SPA-like responsiveness in Next.js. First up: Instant Insights flags navigations that aren't instant, with a set of fixes for you (or your agent).

Partial Prefetching gives you fine-grained control over how much content a link should prefetch for its target: a minimal loading shell, a partially rendered page, or all of its content. And loading shells can be reused across links, so users can never "beat the prefetch".

0 reposts7 likes

Prefetching only runs in production, which has made it hard to visually inspect your loading shells during development. The new Navigation Inspector pauses any navigation at the shell, so you can see which part of a route renders instantly, and which part waits on the network.

The 𝚒𝚗𝚜𝚝𝚊𝚗𝚝() test helper asserts what content must be visible the moment you click a link. This prevents a later refactor from making the navigation slow again.

16.3 adds new first-party Skills that drive focused agent workflows. The 𝚗𝚎𝚡𝚝-𝚍𝚎𝚟-𝚕𝚘𝚘𝚙 Skill is general-purpose, letting an agent drive the browser and inspect the React tree to verify changes. Additional Skills are more specific, like adopting Cache Components.

The React Compiler optimizes your components at build time, letting you skip manual memoization. The React team built a Rust port of it, which we run in Turbopack instead of Babel. We tried this experimental version on v0: 34% faster to a ready page cold, 46% warm.