Next.js 15 introduces React 19, the Turbopack bundler, and dramatic performance improvements. Here's how to leverage them in your next project.
Next.js 15 is out, and it's the most significant release in years. With React 19 support, stable Turbopack, and major performance improvements, now is the time to upgrade.
What's New in Next.js 15?
1. React 19 Support
Full support for React 19 including the new `use()` hook, server actions improvements, and concurrent features that reduce hydration time by up to 40%.
2. Turbopack is Stable
Turbopack replaces Webpack as the default bundler. Expect:
3. Partial Prerendering (PPR) — GA
Pages can now have a static shell rendered at the CDN edge, with dynamic content streamed in. Users see content instantly, no waiting for dynamic data.
4. Async Request APIs
`headers()`, `cookies()`, and `params` are now async-first, enabling better parallelism and eliminating unnecessary waterfall fetches.
Performance Tips
```javascript
// Use React.cache() to deduplicate server requests
import { cache } from 'react'
const getUser = cache(async (id) => {
return await db.user.findUnique({ where: { id } })
})
```
**Result:** Even if `getUser(id)` is called 10 times during a single render, the database is queried only once.
Should You Upgrade?
Yes — but test thoroughly. The async APIs are a breaking change for some patterns. We recommend upgrading a non-critical page first, measuring, then rolling out to the rest of the app.
Need help upgrading or building with Next.js 15? [Talk to our team](/services).
📤 Share this article: