Next.js 15.4
投稿者: Jimmy Lai @ feedthejim、Zack Tanner @ zt1072
公開日: 2025年7月14日(月)
Next.js 15.4には、パフォーマンス、安定性、およびTurbopackの互換性に関するアップデートが含まれています。
このリリースのハイライト
- Turbopackビルド:
next build --turbopackの統合テスト互換性が100%達成
- 安定性の向上: Next.jsとTurbopackの安定性とパフォーマンスに関する数多くの改善
このブログ投稿では、次のメジャーリリースであるNext.js 16の早期プレビューも含まれています。
アップグレード方法
今すぐアップグレードするか、以下のコマンドで開始してください:
npx @next/codemod@canary upgrade latest
npm install next@latest react@latest react-dom@latest
npx create-next-app@latest
Turbopackビルド
next build --turbopackは現在、プロダクションビルドの8298の統合テストすべてに合格し、vercel.comを支えています。これは、Next.jsでTurbopackを安定版としてマークするための重要なマイルストーンです。
チームの現在の優先事項は、プロダクションチャンキングによるバンドル最適化の完成と、Alphaリリースの早期採用者から報告されたバグの修正です。
また、Turbopackの内部で数多くの安定性とパフォーマンスの改善を行いました。Turbopackがまもなくプロダクション使用の準備が整うと確信しており、Next.js 16でのベータリリースに向けて取り組んでいます。
以前にTurbopackを試したことがある場合は、今が再度試すのに良いタイミングです。問題が発生した場合は、GitHub Issuesでお知らせください。
今後の展望:Next.js 16
過去数ヶ月間、私たちはNext.jsの大幅な改善に取り組んできました。TurbopackによるDXの向上と、PPRとuse cacheによるApp Routerのコア機能に焦点を当てています。これらの機能をデフォルトで有効にする準備はまだ整っていませんが、この夏のNext.js 16でユーザーが試せるよう基盤を整えることを目指しています。
Next.js 16の予定機能プレビュー
- Cache Components(ベータ): 実験的なキャッシュ機能(Dynamic IO、
use cache、Partial Prerendering)を統一されたcacheComponentsフラグに統合し、パフォーマンス最適化戦略を簡素化
- Turbopackビルド(ベータ):
next build --turbopackを導入し、統合テストに完全合格、vercel.comなどの高トラフィックサイトで内部検証済み
- 最適化されたクライアントサイドルーティング: よりスマートなプリフェッチ、改善されたキャッシュ無効化戦略、帯域幅使用量の削減により、App Routerナビゲーションを強化
- DevTools & デバッグ: アプリ構造を検査し、loading.tsxなどのコンポーネントを切り替えるRoute Infoを追加。AI駆動のデバッグワークフローをサポートする実験的なブラウザログのターミナル転送を追加
- Node.js Middleware(安定版): Next.js 15.2で導入された実験的なNode.jsランタイムサポートを安定版に昇格
- Deployment Adapters(アルファ): ビルドとデプロイターゲットをより細かく制御するためのカスタムデプロイメントアダプターの作成を可能に
- 軽微な非推奨化と変更: Node.js 18サポート、AMP、および一部の
next/image APIの非推奨化と適切な移行ガイダンス
私たちの目標は、このアップデートを可能な限りスムーズで分かりやすいものにすることです。これらの変更を慎重に管理して混乱を最小限に抑え、Next.js 16への移行をサポートする明確なガイダンスとツールを提供します。
今後の機能をプレビュー
canaryチャンネルを使用し、next.config.jsで以下のフラグを有効にすることで、これらの機能の多くを今日から試すことができます:
import type { NextConfig } from 'next';
const nextConfig: NextConfig = {
experimental: {
browserDebugInfoInTerminal: true,
dynamicIO: true,
clientSegmentCache: true,
devtoolSegmentExplorer: true,
globalNotFound: true,
turbopackPersistentCaching: true,
},
};
export default nextConfig;
注目すべき変更点
改善
- リダイレクト時のRSCクエリの保持 (#77963)
- ボット向けの優雅なエラーフォールバック (#77916)
- クライアントコンポーネントでのunstable_rootParamsの禁止 (#79471)
- bodySizeLimitエラーと非マルチパートアクションの修正 (#77746)
- 不明なアクションIDに対する404レスポンス (#77012)
- RSCリクエストでのキャッシュバスティングパラメータのチェック (#80669)
- Vercel OGを0.7.2にアップグレード (#81447)
- assert/strictを外部として一覧表示 (#80884)
- 転送前にFlightRouterStateからsearchParamデータを省略 (#80734)
- トップレベルでのストリーミングメタデータのレンダリング (#80566)
修正
- 変更を避けるためのconfigモジュールのクローン (#80573)
- シードされたプリフェッチエントリへのstaleTimeの伝播 (#81263)
- varyの復活 (#79939)
- React Compilerの興味深さ検出の修正 (#79558)
- React Compiler有用性検出器の修正 (#79480)
- launchEditorでのエッジケースファイルパスのより良い処理 (#79526)
- 静的ページの古いプリフェッチエントリをクライアントルーターが破棄 (#79362)
新機能
- router.prefetchにonInvalidateを追加 (#77880)
- Linkにprefetch="auto"をprefetch={undefined}のエイリアスとして追加 (#78689)
- global-not-foundでのメタデータサポート (#78961)
- エラーオーバーレイからの開発サーバー再起動 (#80060)
- インジケーター設定からの開発サーバー再起動 (#80072)
- next buildに--debug-prerenderオプションを追加 (#80667)
- サーバー外部にhtmlrewriterを追加 (#80819)
- インターセプトされた動的ルートの部分的事前レンダリングを許可 (#80851)
パフォーマンス
- React Compilerの前にSWCでファイルをチェック (#75605)
- 静的パス生成パフォーマンスとパラメータ処理の改善 (#81254)
その他
- CPUトレースのキャプチャを可能にするための開発中のNEXT_CPU_PROF使用の修正 (#81248)
フィードバックの共有
Next.jsの未来を形作るためのフィードバックをお寄せください:
貢献者
Next.jsは3,000人を超える個人開発者の共同作業の結果です。このリリースは以下の方々によってもたらされました:
Next.jsチーム: Andrew、Ben、Hendrik、Janka、Jiachi、Jimmy、Jiwon、JJ、Josh、Jude、Rob、Sam、Sebastian、Sebbie、Wyatt、Zack
Turbopackチーム: Benjamin、Donny、Josh、Luke、Maia、Niklas、Tim、Tobias、Will
Next.js Docsチーム: Delba、Rich、Ismael、Joseph、Lee
そして、@sokra、@huozhi、@Marukome0743、@mischnic、@wbinnssmith、@eps1lon、@razzeee、@delbaoliveira、@kdy1、@wyattjoh、@acdlite、@ztanner、@bgw、@jantimon、@lubieowoce、@Fonger、@ospira、@gnoff、@styfle、@Cy-Tek、@timneutkens、@raunofreiberg、@devchaudhary24k、@Neschadin、@OreQr、@drewlong314、@ijjk、@praizjosh、@unstubbable、@lukesandberg、@ScriptedAlchemy、@sqidermad、@Juneezee、@devjiwonchoi、@Kamitenshi、@feedthejim、@leerob、@mauerbac、@miki-tebe、@gaearon、@mrbadri、@luwes、@lucacasonato、@M4xymm、@jirihofman、@vicb、@jackwilson323、@SyMind、@kevva、@xyf7、@gaojude、@dario-piotrowicz、@mastoj、@nicole0707、@lourd、@Karibash、@chipit24、@icyJoseph、@xusd320、@fireairforce、@GenhaoLi、@igas、@Macw07、@amannn、@bcdipesh、@r34son、@ivasilov、@lpalmes、@imskyleen、@teamleaderleo、@vitaliemiron、@agadzik、@chdeskur、@nakanoh、@luiscobot、@GameRoMan、@dferber90、@maurobonfietti、@navandstokes、@sajadtorkamani、@bobziroll、@lumirlumir、@KkOoSsTtAa、@msabramo、@sommeeeer、@schoenwaldnils、@remcohaszing、@HerringtonDarkholme、@bgub、@RobPruzan、@lmammino、@MohammedYehia、@extoci、@padmaia、@aacosta11、@vercel-release-bot、@maral、@ethanniser、@MichalMoravik、@rajrawat37、@kidonng、@dnhn、@kristian240、@rachnac-emeritus、@rortan134、@nick20name17の皆様に心から感謝いたします!