Next.js 15는 1년 이상 베타 또는 카나리에 있던 여러 기능을 출시합니다. 가장 중요한 것: 부분 사전 렌더링(PPR)이 이제 안정 버전이고, Turbopack이 개발 및 프로덕션 빌드 모두에 안정적이며, 요청 타임 API가 이제 비동기입니다. 변경된 내용과 업데이트해야 할 것을 설명합니다.
부분 사전 렌더링 (PPR) — 안정 버전
PPR은 가장 큰 아키텍처 추가입니다. 빌드 타임에 페이지를 두 부분으로 분리합니다:
- 정적 셸 — 레이아웃, 내비게이션, above-the-fold 구조. 빌드 타임에 생성되어 CDN 엣지에서 즉시 서빙됩니다.
- 동적 구멍 — 동적 데이터를 포함한
<Suspense>로 감싼 콘텐츠. 정적 셸이 전달된 후 서버에서 스트리밍됩니다.
결과: 셸에 대한 정적 사이트 성능(즉시 CDN 전달)과 동적 부분에 대한 서버 렌더링(신선한 데이터), 모두 단일 왕복으로.
프로덕션 빌드용 Turbopack
Turbopack(Next.js의 Rust 기반 번들러)이 이제 프로덕션 빌드에 안정적입니다. 대규모 코드베이스 기준 개선:
| 지표 | Webpack | Turbopack |
|---|---|---|
| 개발 서버 콜드 스타트 | 45초 | 3초 |
| HMR 업데이트 | 2~5초 | ~50ms |
| 프로덕션 빌드 | 4분 | 90초 |
비동기 요청 API
Next.js 15에서 요청 타임 데이터에 접근하는 API가 이제 비동기입니다. 이는 Next.js 14의 주요 변경 사항입니다. 영향 받는 API: params, searchParams, cookies(), headers(), draftMode().
마이그레이션 코드모드를 실행하여 기존 코드를 업데이트하세요:
npx @next/codemod@canary next-async-request-api .
개선된 캐싱 시맨틱
Next.js 15는 13/14에서 도입된 공격적인 기본 캐싱 동작을 되돌립니다:
fetch()요청은 기본적으로 캐시되지 않음GETRoute Handler는 기본적으로 캐시되지 않음- Client Router Cache는 기본적으로 오래된 페이지 세그먼트를 재사용하지 않음
React 19 통합
Next.js 15는 React 19 지원을 제공합니다. 사용할 수 있는 주요 React 19 추가 사항:
- Actions — 폼 액션에 전달되는 비동기 함수, 내장 대기 상태, 오류 처리, 낙관적 업데이트.
use()훅 — 렌더 내에서 컨텍스트와 프로미스를 읽음.- prop으로서의 ref — 더 이상
forwardRef래퍼 불필요.