Good news! Today, Varnish 4.0.0 has been released!. Among the most important features are;
* Full support for streaming objects through from the backend on a cache miss. Bytes will be sent to 1..n requesting clients as they come in from the backend server. * Background (re)fetch of expired objects. On a cache miss where a stale copy is available, serve the client the stale copy while fetching an updated copy from the backend in the background. * New varnishlog query language, allowing automatic grouping of requests when debugging ESI or a failed backend request. (among much more) * Comprehensive request timestamp and byte counters. * Security improvements, including disabling of run-time changes to security sensitive parameters.
Together with this release, I’m making public the first draft of Varnish 4.0 configuration templates on Github. Since the syntax and internals have changed quite a bit, this is a Work-in-Progress.
My config templates for Varnish 3.x have received a great deal of feedback and attention, I’m hoping to accomplish the same with these 4.x configs. They’re still in draft and need finetuning, so I appreciate any feedback!