Files
next.js/test
4286e5ff35 Ensure unique resolved headers() value between render passes (#96085)
A HTTP request can render the same React tree in multiple passes with
different semantics for `connection()`: the prospective and final
prerenders of a runtime prefetch, or a navigation's dynamic render and
the runtime prerender that is spawned from it to refresh the client's
prefetch cache. All of these passes previously resolved `headers()` to
the single sealed headers object created lazily by the request store, so
userland caches keyed on the identity of `await headers()` (any
per-request memoization that treats the headers object as "the request")
leaked promises across passes.

With this change, every render pass resolves `headers()` to a distinct
object over the same underlying data, making "the headers object
identifies the request within one render pass" a real contract.


---------

Co-authored-by: Claude Fable 5 <[email protected]>
2026-07-29 18:16:34 -04:00
..
…

See Testing for more information on how you can run/write/debug tests for Next.js.