期間: 2026-09-28 〜 2026-09-30 · PR 43 件(新機能 5 / 変更・修正 14 / その他 24)
この期間のリリース
新機能
ensureStatic = "navigation" の初期実装(#99171)
何ができるようになったか
ensureStatic = "navigation"を指定したルートでは、リクエストごとの計算が発生しないことを保証するため、すべてのプリレンダーがブロッキングになる。output: "export"と同様に、すべての params をgenerateStaticParamsで指定する必要がある。
- 制約: プリレンダーしていない param に対してフォールバックと resume を返すことはしない。
generateStaticParamsが不完全・欠落している場合はエラーになる- 許可されるもの:
use(io())やuseSearchParams()のようなクライアントだけの IO は従来どおり可能(フォールバック付きの HTML を返し、足りない部分はブラウザで描画)- ビルド出力: 最も汎用的なもの以外のフォールバックシェルを生成しない
📦 v16.4.0-canary.53 · トピック: キャッシュ・プリレンダリング
navigation() / prefetch() から unstable_ 接頭辞を削除(#99241)
何ができるようになったか
unstable_navigation/unstable_prefetchのunstable_接頭辞がコードベース全体で外され、navigation()/prefetch()という名前になった(next/cacheの定義も変更)。
移行が必要
canary で
unstable_navigation/unstable_prefetchを使っている場合は、navigation/prefetchに書き換える。
📦 v16.4.0-canary.53 · トピック: キャッシュ・プリレンダリング
create-next-app の推奨デフォルトにエージェントフィードバックを追加(#99119)
何ができるようになったか
create-next-appの対話式の推奨デフォルトに、実験的なエージェントフィードバック(experimental.agentFeedback: true)が含まれるようになった。
- 使い方:
--agent-feedback/--no-agent-feedbackで明示的に指定できる。カスタム設定を選んだ場合だけ質問され、既定は Yes- 非対話の場合: CI や
--yesなどでは、--agent-feedbackを付けない限り無効のまま- 無効化:
experimental.agentFeedback: falseでいつでも無効にできる
📦 v16.4.0-canary.53 · トピック: AIアップグレード
SSR でも遅延 dynamic import を使えるように(#98836)
何ができるようになったか
遅延 dynamic import(lazy imports)を SSR でも有効にできるようになった。以前の PR(#97305)へのフィードバックを取り入れ、v0 での検証を経た変更。
- 補足: Next.js の設定スキーマと Turbopack の開発サーバー(hot reloader)・Node.js ランタイムに手が入っている
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
バンドルアナライザーの空表示から別の環境に切り替えられるように(#98542)
何ができるようになったか
Client / Server のフィルターで行が無いとき、もう一方の環境に選択中のファイル種別のソースがあれば、その環境に直接切り替えるボタンを表示する。
- 補足: どちらの環境にも該当するソースが無い場合は、従来の空表示のまま
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
変更・修正
create-next-app で Cache Components を既定で有効に(#99436)
Before
create-next-appの既定では Cache Components は無効だった。
After
新しいアプリで移行しやすくするため、既定で Cache Components を有効にするようにし、ドキュメントも更新した。API だけのアプリは今回の変更の対象外。
📦 v16.4.0-canary.53 · トピック: キャッシュ・プリレンダリング
プリレンダー時に HTTP ステータスコードを保持するように(#99078)
Before
プリレンダーされるページが Suspense の中で
notFound()・unauthorized()・forbidden()・redirect()・permanentRedirect()を投げても、正しい HTTP ステータスとリダイレクト先が設定されていなかった。
After
正しいステータスと
locationを設定し、プリレンダーしたレイアウトと Suspense のフォールバックを残してクライアントが適切なエラー境界で回復できるようにした。リダイレクトはアクセス系フォールバックより優先され、同種の中では最初に起きたものが採用される。リクエスト時のストリーミングの挙動は変わらない。
📦 v16.4.0-canary.53 · トピック: キャッシュ・プリレンダリング
カスタムキャッシュハンドラーが最初のリクエストで使われない不具合を修正(#99372)
Before
起動時のプリロードで、設定したハンドラーの読み込みが終わる前に組み込みハンドラーのマップが初期化され、その間に
'use cache'に到達したリクエストが組み込みハンドラーを使ってしまうことがあった。
After
ハンドラーの登録が終わるまで待ってからレンダリングするようにした。ハンドラーの import に失敗した場合は、未処理の rejection にせずログに出す。
📦 v16.4.0-canary.53 · トピック: キャッシュ・プリレンダリング
アダプターのデプロイで、未生成の閉じたルートでも Draft Mode を使えるように(#99370)
Before
アダプターを使ったデプロイで、
dynamicParams = false(App Router)やfallback: false(Pages Router)のページにビルドで生成されていない URL を Draft Mode で要求すると、プレビューではなく 404 を返していた。アダプターが__prerender_bypassと__next_preview_dataの両方を要求していたため。
After
__prerender_bypassクッキーがビルドのプレビュー ID と一致すればルーティングするようにした。通常のリクエストは引き続き 404。Pages Router では従来のプレビューデータがあれば検証し、不正なものは拒否する。
📦 v16.4.0-canary.53 · トピック: キャッシュ・プリレンダリング
Turbopack のツリーシェイクで空のチャンクがパート ID をずらす不具合を修正(#95516)
Before
split_moduleが中身が空になったチャンクを飛ばしていたため、以降のモジュールの位置とパート ID がずれ、範囲外アクセスの panic や、誤ったフラグメントの選択が起きていた(#93424)。
After
すべてのグループについてモジュールを作り、中身が空のときは副作用の無い
export {}を置くようにした。
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
additionalRoots の監視で macOS のコンパイラーが固まる問題を修正(#99396)
Before
追加ルートのファイル監視を非再帰モードに強制していたが、macOS では fsevents の監視を新しく張るのが遅く、依存の多いプロジェクトでコンパイラーが事実上ハングしていた。
After
非再帰モードの強制をやめた。
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
Turbopack で webpack ローダーのビルド依存ディレクトリを追跡(#98838)
Before
webpack ローダーが明示したビルド依存のディレクトリは追跡されていなかった。
After
明示されたディレクトリを追跡するようにした。モジュールやパッケージを入力とする未対応のケースは、引き続き警告を出す。
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
バンドルアナライザーのソース表を仮想化(#98539)
Before
ソースの表は全行を一度にマウントしていた。
After
react-virtuosoで行を仮想化した。並べ替え・絞り込み・パッケージのグループ展開・固定ヘッダー・合計・選択・表のセマンティックなマークアップは保たれ、高速スクロール時の空白を避けるため表示範囲の周辺も描画する。
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
バンドルアナライザーのソース表の Δ での並べ替えを修正(#99369)
Before
#98539 のソース表では、Δ(差分)での並べ替えが符号付きの順序になっていなかった。
After
個々の行とパッケージの集計を符号付き Δ で昇順・降順に並べ、変化の無い行はどの列でも最後に置く。数値が同じ場合は Name 列と同じロケール対応の名前順で並べる。比較モードでは既定で Changes(追加・削除・変更されたソース)を表示し、All で変化の無いソースも表示する。
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
turbo-tasks-backend の leaf distance トレースのコンパイルエラーを修正(#99443)
Before
trace_leaf_distance_updateを有効にするとコンパイルできなかった。
After
キューに入れたトレーススパンを初期化し、借用してから enter するようにして、コンパイルできるようにした。
📦 v16.4.0-canary.53 · トピック: ビルド・Turbopack
クライアントコンポーネントの読み込み計測を HTML レンダーごとに(#99322, #99426, #99427)
Before
クライアントコンポーネントの読み込み時間のテレメトリは、プロセス全体のカウンターとリクエストボディの完了を基準にしており、重なったレンダーが混ざるうえ、HTML の生成とは関係のないライフサイクルを計測していた。また、トップレベル
awaitを持つモジュールでは、require()が Promise を返した後の評価待ちが計測から漏れていた。
After
📦 v16.4.0-canary.53 · トピック: レンダリング・DevTools
開発オーバーレイの Security Insight のアップグレード案内を見やすく(#99354)
Before
Security Insight のアップグレード案内は、DevTools や他の Insight カードとは異なる体裁だった。
After
標準の Insight の見出し・本文の体裁に揃え、コピー用の「Agent prompt」ボックスに貼り付けられる Markdown をそのまま表示するようにした。エージェントへの引き継ぎを主とする流れは変わらない。
📦 v16.4.0-canary.53 · トピック: レンダリング・DevTools
その他
- docs: typo fixes(#99350)📦 v16.4.0-canary.53
- [test] Extend timeout for tests barely below it(#99305)📦 v16.4.0-canary.53
- Make next-dev-loop browser headless by default(#98318)📦 v16.4.0-canary.53
- docs: use prefetch={true} for links to ISR pages with Cache Components(#99261)📦 v16.4.0-canary.53
- [PPF] Remove leftover debug log in router — #99171 の消し忘れのデバッグログを削除(#99365)📦 v16.4.0-canary.53
- test: fix stale snapshots after
unstable_{prefetch,navigation}rename(#99371)📦 v16.4.0-canary.53 - [test] Stabilize responsive dev overlay header layout test(#99376)📦 v16.4.0-canary.53
- Align ExecuteContext task accessor names — turbo-tasks-backend の内部メソッド名の整理(#99258)📦 v16.4.0-canary.53
- Remove CLAUDE.md symlinks in favor of AGENTS.md — リポジトリ内の
CLAUDE.mdシンボリックリンクを削除(ユーザー向けの生成物は変更なし)(#98910)📦 v16.4.0-canary.53 - test: scope loader build dependency update to Turbopack(#99380)📦 v16.4.0-canary.53
- [test] Stabilize middleware revalidation test(#99378)📦 v16.4.0-canary.53
- test: migrate tooling deploy exclusions to force gates(#98156)📦 v16.4.0-canary.53
- Document agent feedback field limits(#99415)📦 v16.4.0-canary.53
- test: enable deploy coverage for five verified suites(#99193)📦 v16.4.0-canary.53
- [ci] Enable PR comment in any repo(#99315)📦 v16.4.0-canary.53
- [ci] Wire preview builds variables consistently(#99323)📦 v16.4.0-canary.53
- test(turbopack): remove filesystem fuzzer unit tests(#99089)📦 v16.4.0-canary.53
- Enable build diagnostic suites in deploy mode(#99402)📦 v16.4.0-canary.53
- test: migrate and explain root-inference deploy exclusions(#99012)📦 v16.4.0-canary.53
- docs: record API stabilization across Next.js 16 releases(#99420)📦 v16.4.0-canary.53
- Enable proxy export tests in deploy mode(#99400)📦 v16.4.0-canary.53
- Enable nullish config tests in deploy mode(#99397)⏳ 未リリース
- test: retain deploy exclusions for local process control(#99392)⏳ 未リリース
- Enable deploy tests for reusable fixture variants(#99404)⏳ 未リリース