Next.js 15: React 19 Support, Async Request APIs, and Turbopack Stable

Next.js 15: React 19 Support, Async Request APIs, and Turbopack Stable

Next.js 15: React 19 Support, Async Request APIs, and Turbopack Stable

Vercel has released Next.js 15, a major update that completes the transition to React 19, stabilises the Turbopack development server, and reworks the caching defaults to be more predictable.

Turbopack Dev Server (Stable)

The Turbopack-powered dev server (next dev --turbo) is now stable. Vercel reports up to 76.7% faster local server startup and up to 96.3% faster Fast Refresh on large applications compared to the Webpack-based server.

next dev --turbo

Async Request APIs

APIs that previously accessed per-request data synchronously are now async. This is a breaking change but enables better streaming and partial prerendering:

// Next.js 15
import { cookies, headers } from "next/headers";

export default async function Page() {
    const cookieStore = await cookies();
    const token = cookieStore.get("token");
    // ...
}

Caching Changes

In Next.js 15, fetch requests, GET route handlers, and client-side router cache are no longer cached by default. You opt in to caching explicitly, making the behaviour more predictable and reducing hard-to-debug staleness issues.

React 19 Support

The App Router now fully supports React 19 stable features including the new useActionState, useFormStatus, and Server Components improvements introduced in React 19.

All Comments