varnishd

On pass from vcl_recv, we did not remove the backends Content-Length header before adding our own. This could cause confusion for browsers and has been fixed.

Make pass with content-length work again. An issue with regards to 304, Content-Length and pass has been resolved.

An issue relating to passed requests with If-Modified-Since headers has been fixed. Varnish did not recognize that the 304-response did not have a body.

A potential lock-inversion with the ban lurker thread has been resolved.

Several build-dependency issues relating to rst2man have been fixed. Varnish should now build from source without rst2man if you are using tar-balls.

Ensure Varnish reads the expected last CRLF after chunked data from the backend. This allows re-use of the connection.

Remove a GNU Make-ism during `make dist` to make BSD happier.

Document the log, set, unset, return and restart statements in the VCL documentation.

Fix an embarrassingly old bug where Varnish would run out of workspace when requests come in fast over a single connection, typically during synthetic benchmarks.

Varnish will now allow `If-Modified-Since` requests to objects without a `Last-Modified`-header, and instead use the time the object was cached instead.

Do not filter out `Content-Range` headers in pass.

Require -d, -b, -f, -S or -T when starting Varnishd. In human terms, this means that it is legal to start varnishd without a Vcl or backend, but only if you have a CLI channel of some kind.

Don't suppress `Cache-Control` headers in pass responses.

Merge multi-line Cache-Control and Vary header fields. Until now, no browsers have needed this, but Chromium seems to find it necessary to spread its Cache-Control across two lines, and we get to deal with it.

Make new-purge not touch busy objects. This fixes a potential crash when calling `VRT_purge`.

If there are everal grace-able objects, pick the least expired one.

Fix an issue with `varnishadm -T :6082` shorthand.

Add bourn-shell like "here" documents on the CLI. Typical usage: `vcl.inline vcl_new << 42 backend foo {...} sub vcl_recv {...} 42`

Add CLI version to the CLI-banner, starting with version 1.0 to mark here-documents.

Fix a problem with the expiry thread slacking off during high load.

varnishtest

Remove no longer existing `-L` option.