# Change log for Varnish 2.1.5

## Changes between 2.1.4 and 2.1.5

### 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.