---
title: "Netlify Announces Durable Caching Primitive | Blog"
description: "Netlify brings ISR to any framework by launching a new cache primitive that enables persisting a response in a global object store and serving this as a static response for any cache miss from Netlify edge CDN servers."
source: "https://www.netlify.com/blog/announcing-durable-caching/"
last_updated: "2026-07-01T19:03:55.000Z"
---
Today we’re excited to launch a new cache primitive that enables persisting a response in a global object store, and serve this as a static response for any cache miss from our edge CDN servers.

This enables [On Demand ISR](https://nextjs.org/docs/pages/building-your-application/data-fetching/incremental-static-regeneration) without any front-end framework dependency, just HTTP Cache headers.

Take this standard Cache-Control header in a Netlify Function response: `Netlify-CDN-Cache-Control: public, max-age=86400`

Then append durable: `Netlify-CDN-Cache-Control: public, max-age=86400, durable`

The durable flag tells Netlify to persist the response in permanent storage, and use that as the origin for any cache misses until it’s invalidated. Invalidation follows all the same rules as all other cache headers.

![Durable caching diagram](https://cdn.sanity.io/images/o0o2tn5x/production/07e53f1571718c1310bfe838e893520760fdea98-2514x2078.png)

Combined with the [Stale While Revalidate](https://www.netlify.com/blog/swr-and-fine-grained-cache-control/) directive, this enables fully persistent On-Demand ISR for any HTTP Response:

`Netlify-CDN-Cache-Control: public, max-age=10, stale-while-revalidate=86400, durable`

This tells our system to persist the response from your function in object storage, and in our Edge Caches. When an Edge Cache has a stale response, it will serve it immediately, but trigger a background revalidation. With durable cache, this is guaranteed to only trigger one function call that will be written back to the object store, and then served to end users.

To dive in deeper, [read our full guide on advanced caching](https://developers.netlify.com/guides/advanced-caching-made-easy/).

We’ve also prepared a few examples of how to use this from frameworks that lean into standard HTTP headers as well:

-   How to do [ISR with Remix](https://developers.netlify.com/guides/how-to-do-isr-and-advanced-caching-with-remix/)
-   [ISR and Advanced Caching with Astro](https://developers.netlify.com/guides/how-to-do-advanced-caching-and-isr-with-astro/)

If neither of these is your framework of choice, keep an eye on our [developer hub](https://developers.netlify.com/guides/) for future guides arriving soon which will describe how ISR and advanced caching patterns are being made possible through more and more frameworks on Netlify.

### Share

-   [X (fka Twitter)](https://twitter.com/intent/tweet?text=Announcing Durable Caching&url=https://www.netlify.com/blog/announcing-durable-caching/)
-   [LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.netlify.com%2Fblog%2Fannouncing-durable-caching%2F)
-   [Facebook](https://www.facebook.com/sharer.php?u=https://www.netlify.com/blog/announcing-durable-caching/)
-   [Bluesky](https://bsky.app/intent/compose?text=Announcing Durable Caching+https://www.netlify.com/blog/announcing-durable-caching/)

* * *

### Tags

-   [Features](/blog/tags/features/)
-   [Announcements](/blog/tags/announcements/)

## Keep reading

![](/_astro/9e2fd67496411cd76ae1ec47f62411541c810db3-2400x1260_x7tC0.webp)

News & Announcements September 28, 2023

[

### SWR & Fine Grained Cache Control on Netlify

](/blog/swr-and-fine-grained-cache-control)

-   ![Profile picture of Mathias Biilmann](/_astro/f193d4707a6391d843d5aaa73338b5a5971ec5cc-960x960_1Yylqm.webp)
    
    Mathias Biilmann
    

![](/images/blog-fallback-thumbnail.svg)

News & Announcements August 25, 2022

[

### Feedback and QA for Next.js pages built with ISR/SSR

](/blog/feedback-and-qa-for-next-js-pages-built-with-isr-ssr)

-   ![Profile picture of Jason Barry](/_astro/dfd5c12e5bcff788bc58802caafe4558d4d39d1d-320x320_Z2pIWXT.webp)
    
    Jason Barry
    

## Recent posts

News & Announcements June 25, 2026

[

### Netlify Functions, designed for Agent Experience

](/blog/netlify-functions-designed-for-agent-experience)

-   ![Profile picture of Eduardo Bouças](/_astro/52958f21e8450baf6d8e60302341a984e220c0cd-512x512_13VDlu.webp)
    
    Eduardo Bouças
    

News & Announcements June 24, 2026

[

### How we measure Netlify’s Agent Experience

](/blog/how-we-measure-netlify-agent-experience)

-   ![Profile picture of Sean Roberts](/_astro/bbf2243f8171dbddd80ab2103622106cef84d125-512x512_Z1d2LKE.webp)
    
    Sean Roberts
    

Guides & Tutorials May 15, 2026

[

### How to build a real-time AI chatbot in minutes with Netlify Agent Runners (no backend)

](/blog/how-to-build-a-real-time-ai-chatbot-in-minutes-with-netlify-agent-runners-no-backend)

-   ![Profile picture of Nahrin Jalal](/_astro/f0e7c8f227a03fe58340c99ef5439d5a896c0733-272x272_Z23kDpD.webp)
    
    Nahrin Jalal
    

![](/_astro/3f255b372fa958df35802666ee33b4609b2d71bd-1200x1586_1VtE2D.webp)

### How do the best dev and marketing teams work together?

[Access the report](https://www.netlify.com/reports/2024-leadership-trend-report/access/)