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!