I’m very happy to announce that Marvin.Cache.Headers just hit 2.0. Marvin.Cache.Headers is middleware for ASP.NET Core which adds HttpCache headers to responses (Cache-Control, Expires, ETag, Last-Modified) and implements cache expiration & validation models. It can be used to ensure caches correctly cache responses and/or to implement concurrency for REST-based APIs using ETags.
It’s a pretty big release with a bug fixes, unit tests and most notably: action & controller-level support for overriding the default validation & expiration options. For info on how to use them, have a look at the project on GitHub.
Note that this is a major release which includes a small breaking change: some of the property names for setting validation/expiration model options have been slightly adjusted to better align with the standard.
Big shout-out to David Cumps who worked a lot on this release!