Next.js Change
Commits: 2cc3694, 1be0ab8
PRs: #97236, #96908
What changed
Next.js adds unstable_navigation() to next/cache. Server Components can await it to defer the following subtree from runtime App Shells and runtime/speculative prefetches, avoiding per-user, per-link work that is only needed during an actual navigation. It does not make the subtree request-dependent.
The boundary resolves during static prerenders, so its content remains in static prefetch output, but it suspends during runtime shells, runtime prefetches, and until the full navigation. It is unavailable in Client Components and in the Pages Router.
Impact on vinext
vinext must expose unstable_navigation() from next/cache and implement the App Router render-stage behavior across development and production. Without it, applications using this experimental Next.js API fail to import or cannot prevent expensive server work from running for runtime shell/prefetch requests.
Acceptance criteria
Related
Next.js Change
Commits:
2cc3694,1be0ab8PRs: #97236, #96908
What changed
Next.js adds
unstable_navigation()tonext/cache. Server Components can await it to defer the following subtree from runtime App Shells and runtime/speculative prefetches, avoiding per-user, per-link work that is only needed during an actual navigation. It does not make the subtree request-dependent.The boundary resolves during static prerenders, so its content remains in static prefetch output, but it suspends during runtime shells, runtime prefetches, and until the full navigation. It is unavailable in Client Components and in the Pages Router.
Impact on vinext
vinext must expose
unstable_navigation()fromnext/cacheand implement the App Router render-stage behavior across development and production. Without it, applications using this experimental Next.js API fail to import or cannot prevent expensive server work from running for runtime shell/prefetch requests.Acceptance criteria
unstable_navigation(): Promise<void>fromnext/cachefor App Router Server Components.Related