Next.js 13 introduced the App Router (app
) with new features and conventions. As we push forward towards stability, this page will be updated with the latest information about the supported and unsupported features.
This is a non-exhaustive list of features currently supported in the App Router:
Feature | Supported |
---|---|
Server Components | ✅ Default |
Client Components | ✅ Opt-in |
Shared Components | 🏗️ |
Streaming | ✅ |
Suspense | ✅ |
Feature | Supported |
---|---|
Nested Layouts | ✅ |
Dynamic Route Segments | ✅ |
Route Groups | ✅ |
Instant Loading States with React Suspense | ✅ |
Error Handling with React Error Boundaries | ✅ |
Metadata (replacing head.js ) | ✅ |
Link Component | ✅ |
useRouter() and next/navigation | ✅ |
Other special files: page , not-found , template | ✅ |
Advanced Routing Patterns: Parallel, Intercepting, and Conditional Routes | 🏗️ |
Global Not Found Page | 🏗️ |
URL hash (#) handling | 🏗️ |
Feature | Supported |
---|---|
Static Rendering | ✅ Default |
Dynamic Rendering | ✅ Opt-in |
Node.js (Serverless) Rendering | ✅ Default |
Edge Rendering | ✅ Opt-in |
Node.js (Serverless) Streaming | ✅ |
Edge Streaming | ✅ |
Feature | Supported |
---|---|
Static Site Generation (See Static Data Fetching) | ✅ Default |
Server-side Rendering (See Dynamic Data Fetching) | ✅ Opt-in |
Incremental Static Regeneration (See Revalidation) | ✅ Opt-in |
async /await in Server Components | ✅ |
Route Handlers | ✅ |
use() in Client Components | ✅ |
use(fetch()) in Client Components | 🏗️ Not implemented in React |
cache() | 🏗️ Only with Server Components |
Mutations | 🏗️ View temporary workaround |
Feature | Supported | |
---|---|---|
Internationalization | ✅ | |
src Directory | ✅ | |
TypeScript Plugin | 🏗️ | |
next.config.js options | 🏗️ | |
next export | 🏗️ | |
Ejected Server | 🏗️ | |
Custom 404 Page | 🏗️ |
Feature | Supported |
---|---|
Skip streaming for web crawlers | 🏗️ |
Preview Mode | 🏗️ |
Route Announcements | ✅ |
Custom web vitals reporting hooks | 🏗️ |
Some APIs have changed inside app
versus pages
. Learn more in the upgrade guide and by exploring the API Reference section in the sidebar.
We are currently not planning to include the following features in app
:
next/head
(replaced with Metadata)app
directory only. API Routes continue to be supported in pages
.If you need any of these features, we will continue to support pages
, including bug fixes and feature additions, for multiple major versions.