Next.js Change
Commit: ac55fd9
PR: #98446
What changed
Next.js now tracks background revalidation work independently for each 'use cache' lookup key. Requests that observe a stale entry return that stale value while an existing regeneration and its cache writes complete; they neither wait for that work nor start a duplicate regeneration. The task is registered before generation begins and remains registered through cache persistence, including slow handler reads and writes.
Impact on vinext
Vinext implements 'use cache' and stale-while-revalidate caching. Its revalidation deduplication must cover background work through persistence, not only generation, or concurrent stale reads can invoke cache functions multiple times and cause duplicate side effects.
Acceptance criteria
Next.js Change
Commit:
ac55fd9PR: #98446
What changed
Next.js now tracks background revalidation work independently for each
'use cache'lookup key. Requests that observe a stale entry return that stale value while an existing regeneration and its cache writes complete; they neither wait for that work nor start a duplicate regeneration. The task is registered before generation begins and remains registered through cache persistence, including slow handler reads and writes.Impact on vinext
Vinext implements
'use cache'and stale-while-revalidate caching. Its revalidation deduplication must cover background work through persistence, not only generation, or concurrent stale reads can invoke cache functions multiple times and cause duplicate side effects.Acceptance criteria