What Is New in Next.js 15 (Summary)
Next.js 15 is a foundational update focused on performance, stability, and preparing for React 19. It introduces significant changes to caching behavior, new experimental features, and major under-the-hood optimizations.
| Category | Key Changes |
|---|---|
| Core & React | Support for React 19 Release Candidate. New default caching behavior in development. |
| Experimental Features | Partial Prerendering (PPR) is now stable. New use hook for React promises in Client
Components. |
| Performance | Faster bundling with the Rust-based Next.js Compiler. Improved HMR and build times. |
| Components & APIs | Updates to Image, Link, and Script components.
next/headers and next/cache are now stable. |
| Tooling | create-next-app now uses the App Router and Tailwind CSS by default. Improved
next dev startup. |
How does Next.js 15 handle caching differently?
The development server now defaults to no caching for fetched data, routes, and client-side navigation. This change makes the dev environment behave more like production, reducing surprises during deployment. You can revert to the old behavior with a configuration flag if needed for your workflow.
In practice, this means fetch requests, GET route handlers, and client router caches
are fresh on every request during next dev. It's a shift that prioritizes predictability over pure
speed in local development.
What's the deal with Partial Prerendering?
Partial Prerendering (PPR) is now a stable configuration option. It allows you to combine a static shell with dynamic, streamed-in content holes on the same page. This unlocks fast initial page loads while keeping interactive parts dynamic.
You enable it in your next.config.js. PPR is a stepping stone towards the full React Concurrent
Architecture, giving you granular control over loading states without managing multiple rendering strategies
manually.
Is the new Next.js Compiler faster?
Yes. The Rust-based Next.js Compiler, introduced as experimental in v14, is now the default for Turbopack in development. It delivers significantly faster builds and Hot Module Replacement (HMR). The focus is on raw performance improvements across the board.
For larger projects, the difference in local iteration speed can be substantial. The compiler also paves the way for more advanced optimizations that are harder to implement in Babel-based toolchains.
What changes with create-next-app?
The create-next-app starter now defaults to using the App Router and includes Tailwind CSS. This
reflects the established best practices and guides new projects towards the modern architecture. The base
template is cleaner and more opinionated.
This matters because it reduces initial setup time and decision fatigue. For existing projects, it's a clear signal that the App Router is the recommended path forward for most use cases.
FAQ
Should I upgrade to Next.js 15 immediately?
If you're starting a new project, yes. For
existing projects, review the breaking changes, especially the new default caching in development. Test
thoroughly in a staging environment as the React 19 RC integration is a major shift.
Is React 19 required for Next.js 15?
No, Next.js 15 supports React 18.2.0 and higher.
However, to use new React 19 features like Actions, you need to upgrade your React dependency to the 19 Release
Candidate.
What happens to the Pages Router?
The Pages Router continues to be fully supported and
stable. No new features are being added to it, but it will receive critical bug and security fixes. The App
Router gets all the new investments.
How do I enable Partial Prerendering?
You enable it in your next.config.js file.
It's a top-level configuration that works alongside other features like Incremental Static Regeneration (ISR).
module.exports = {
experimental: {
ppr: true
}
}
Are there any breaking changes for the Image or Link components?
The Image
component removes the `squoosh` image optimizer as it's now deprecated. The Link component no
longer automatically adds `<a>` inside of `<button>`, which was a rare pattern. Check your usage if
you were relying on these behaviors.