Key Points
- React 19対応
- 非同期Request API(破壊的)
- キャッシュ既定値の変更
Summary
Next.js 15 が正式リリースされ、安定性改善と複数の新機能・破壊的変更が導入されました。主要な変更は非同期 Request API への移行、キャッシュ既定値の変更、React 19 対応、Turbopack の安定化です。エンジニア向けに移行と検証ポイントを簡潔にまとめます。
Key Points
- アップグレード手順: まず
npx @next/codemod@canary upgrade latestを実行して自動変換を試し、手動アップデートはnpm install next@latest react@rc react-dom@rcを利用。 - 非同期 Request API(破壊的変更):
cookies,headers,draftMode,params(layout.js / page.js / route.js / default.js / generateMetadata / generateViewport)およびsearchParams(page.js)が非同期化。移行用 codemod:npx @next/codemod@canary next-async-request-api。一時的に同期アクセスは可能だが警告が出る。 - キャッシュ挙動の変更: GET Route Handlers とクライアントルータのページキャッシュがデフォルトで未キャッシュに。以前の挙動を維持するには
export const dynamic = 'force-static'やexperimental.staleTimesを next.config で設定。 - React 19 対応: App Router は React 19 RC を使用。Pages Router は React 18 と互換を維持(同一アプリで両方を混在させるのは推奨されない)。
- 開発体験改善:
next dev --turbo(Turbopack Dev)が安定化し起動・Fast Refresh・初回コンパイルが大幅に高速化。Hydration エラー表示がソース付きで改善。 - 新 API と改善点:
unstable_after(レスポンス後の非同期処理、experimental)、instrumentation.js(サーバー可観測性、stable)、Static Route Indicator、React Compiler(experimental)、next/form、next.config.tsの TypeScript サポート、ESLint 9 対応、外部パッケージのバンドル設定など。 - 推奨移行フロー: 1) codemod を実行、2) 重点的にルートハンドラ・キャッシュ関連・hydration をテスト、3) 本番ロールアウト。詳細はアップグレードガイドと Next.js Conf を参照してください。