megachangelog
Feature

Runtime logs now show cache reasons

Runtime logs now display detailed cache reasons explaining why requests weren't fresh cache hits, such as time-based or tag-based revalidations. This helps developers debug cache misses and improve cache hit rates across ISR, Partial Prerendering, and functions.

Runtime logs now show a Cache Reason explaining why a request wasn't a fresh cache hit, for example a time-based or tag-based revalidation. Use cache reasons to debug misses and improve your hit rate.

Cache reasons appear for any response the CDN can cache, including ISR, Partial Prerendering, and functions that set a header with directives like . Responses rendered dynamically on every request don't have a cache reason.Cache-Controlstale-while-revalidate

Open the Logs tab and select a request to see the reason alongside its cache status. Each status and reason links to its entry in the reference.Cache Status and Reasons

Cache reason is available in , , and Vercel plugin's :vercel logsvercel metricscdn-caching skill

Learn more about .cache statuses and reasons

Read more

Cache status

Possible reasons

MISS

Cold, Request collapsed, Error

BYPASS

Draft Mode, Prerender Bypass, Crawler

STALE

Time-based revalidation, Tag-based invalidation, Revalidation error

REVALIDATED

Tag-based deletion

From the CLI

cachingcdnloggingperformancedebugging

Source: original entry ↗