概要

Cache Components("use cache")・ISR・Partial Prerendering(PPR)まわりの実装。ルートの「静的シェル」と「ランタイムプリフェッチ」を分けて扱う仕組みが土台にあり、ルートパラメータ(params)や root params が、意図せず別のパラメータ値のキャッシュ・シェルに混入しないようにする修正が多く入っている。実験的な unstable_ensureStatic セグメント設定は、セグメントごとに静的化の強さを指定するための新しい仕組みで、"shell" 以上では Instant Validation が静的シェルを基準に検証するようになった。'use cache' の root params を静的に追跡するための準備も進んでいる。"navigation" は初期実装が入り、すべての params を generateStaticParams で指定させてリクエストごとの計算を無くす。navigation() / prefetch() は unstable_ 接頭辞が外れ、create-next-app は Cache Components を既定で有効にするようになった。プリレンダー時の notFound()・redirect() などの HTTP ステータス保持や、起動直後のカスタムキャッシュハンドラーの修正も入っている。

主な API・オプション

  • "use cache" / "use cache: private" / "use cache: remote" — キャッシュ関数の宣言
  • unstable_ensureStatic(実験的)— セグメント設定。"auto" | "shell" | "prefetch" | "navigation" | false を指定し、静的化の強さを段階的に制約する
  • ensureStatic = "navigation" — すべてのプリレンダーをブロッキングにし、全 params を generateStaticParams で指定させる(リクエストごとの計算なし)
  • navigation() / prefetch()(next/cache)— unstable_ 接頭辞が外れた(旧 unstable_navigation / unstable_prefetch)

変更履歴

  • 2026-09-30 — create-next-app で Cache Components を既定で有効に(#99436)📦 v16.4.0-canary.53 · 変更
  • 2026-09-30 — プリレンダー時に HTTP ステータスコードを保持するように(#99078)📦 v16.4.0-canary.53 · 変更
  • 2026-09-30 — アダプターのデプロイで、未生成の閉じたルートでも Draft Mode を使えるように(#99370)📦 v16.4.0-canary.53 · 変更
  • 2026-09-30 — カスタムキャッシュハンドラーが最初のリクエストで使われない不具合を修正(#99372)📦 v16.4.0-canary.53 · 変更
  • 2026-09-30 — navigation() / prefetch() から unstable_ 接頭辞を削除(#99241)📦 v16.4.0-canary.53 · 変更
  • 2026-09-30 — ensureStatic = "navigation" の初期実装(#99171)📦 v16.4.0-canary.53 · 変更
  • 2026-09-28 — 'use cache' の root params 静的追跡に向けて next/root-params を分割(#99239)📦 v16.4.0-canary.51 · 変更
  • 2026-09-28 — % を含む URL がプリレンダー済みルートで 500 になる不具合を修正(#99121)📦 v16.4.0-canary.51 · 変更
  • 2026-09-28 — ensureStatic が "shell" / "prefetch" のときの Instant Validation を静的シェル基準に(#98249)📦 v16.4.0-canary.51 · 変更
  • 2026-09-24 — unstable_ensureStatic セグメント設定を追加(実験的)(#98190, #98357)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — 汎用フォールバックシェルにルートパラメータ依存のコンテンツが混入する不具合を修正(#98950)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — サーバーレンダリングで構造的に安定した React key を使うよう変更(#98944)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — ルートパラメータ違いのシェルを不要に再フェッチしていた不具合を修正(#94808)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — "use cache: private" が本番でルートパラメータの違いを無視して再利用される不具合を修正(#98810)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — Cached Navigations で一部のコンテンツが欠落する不具合を修正(#98767)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — 静的で済むはずのリンクが不要にランタイムプリフェッチされる不具合を修正(#98651)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — 重複排除されたネストキャッシュ間でメタデータの伝播が遅れる不具合を修正(#98808)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — サンプル cache-handler-redis の接続リーク・ハング・タグ無効化の不具合を修正(#98716)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — "use cache: remote" 内で next/image を使うと NEXT_DEPLOYMENT_ID が不要に取り込まれる不具合を修正(#98739)📦 v16.4.0-canary.42 · 変更
  • 2026-09-24 — TraceRawVcs 削除に伴う unstable_ensure_static のフィールド注釈漏れを修正(#99075)📦 v16.4.0-canary.42 · 変更

関連