Next.js 15 正式版リリース
(nextjs.org)Next.js 15 正式版が 2024 カンファレンスに合わせてリリースされました。以下には以前の Next.js 15 RC 2 で説明された変更点は含まれていません。変更点を知りたい場合は、まずそちらを読んでください。
-
Caching Semantics (Breaking): 次の動作については、もはやキャッシュがデフォルトではありません。変更の理由は、
Partial Prerendering(PPR)やサードパーティライブラリとの相互作用時に問題が発生する可能性があるためで、デフォルトのキャッシュ方式が見直されました。以前は force-cache がデフォルト値でしたが、現在は no-store に変更され、デフォルトではキャッシュされないようになったことで、より予測可能なパフォーマンスとデータを提供します。fetchリクエストは теперь基本的にキャッシュされず、no-store がデフォルト値です。必要な場合は force-cache オプションでキャッシュを設定できます。- GET Route Handlers もデフォルトではキャッシュされません。force-static オプションを通じてキャッシュを利用できます。
- Client Router Cache はページ遷移時に最新データを反映し、デフォルトではキャッシュされません。以前の動作に戻したい場合は staleTimes オプションを設定できます。
-
React 19 Support: Next.js 15 は React 19 に合わせて更新されており、React 18 とも Pages Router で互換性を維持します。App Router は React 19 RC を使用し、コミュニティのフィードバックを反映して、React 18 を使うプロジェクトも React 19 にアップグレードできるようにしました。また React Compiler が導入され、自動最適化が可能になり、手動でのメモ化を減らせます。これらの変更は、今後の React 19 正式リリースに備えたものです。
- React Compiler (Experimental): React Compiler は Meta の React チームが作った実験的なコンパイラで、JavaScript の意味論と React のルールを理解してコードを自動的に最適化します。これにより、開発者が useMemo や useCallback のような API を通じて手動でメモ化する必要を減らせます。Next.js 15 でサポートされており、現在は Babel プラグインとしてのみ提供されているため、ビルド時間が遅くなる可能性があります。
- Hydration Error Improvements: Next.js 15 は、以前のバージョンで改善されたエラーメッセージとハイドレーションエラー処理をさらに発展させました。今後はハイドレーションエラーが発生すると、エラーのソースコードと問題解決方法の提案をあわせて表示します。これにより、開発者はエラーを簡単に理解して修正できるようになります。
-
Turbopack Dev: Turbopack は現在安定版となっており、その高速さが開発体験を向上させます。ローカルサーバー起動は約 76%、Fast Refresh は 96%、キャッシュなしの最初のルートコンパイルは約 45% 改善されました。
-
unstable_after API (Experimental): unstable_after は Next.js 15 で導入された実験的 API で、ユーザーへの応答後にロギングや分析のような補助的な作業を処理できるようにします。サーバーレス関数は応答が完了するとすぐに実行を停止するため、これを解決するために after() を使って、応答完了後にも処理を遅延実行できます。ロギングや統計データなどを外部システムと同期できます。
5件のコメント
新規プロジェクトはVue 3かSvelteKitで進めます。
Next15 がサポートする React は 19 からですが……React 19 はまだ RC のタイトルが外れていませんね
他の方がおっしゃっていたように、機能変更に関する問題があるためまだ rc ではありますが、その点を除けば stable と見てよさそうです。
https://x.com/timneutkens/status/1848464958830612729 に関連するメンテナーのQ&Aツイート