# Change log for Varnish 2.1

## Changes between 2.0.6 and 2.1.0

### varnishd

- The changelog in 2.1.0 included syntax errors, causing the generated changelog to be empty.

- The help text for default_grace was wrongly formatted and included a syntax error. This has now been fixed.

- varnishd now closes the file descriptor used to read the management secret file (from the -S parameter).

- The child would previously try to close every valid file descriptor, something which could cause problems if the file descriptor ulimit was set too high. We now keep track of all the file descriptors we open and only close up to that number.

- ESI was partially broken in 2.1.0 due to a bug in the rollback of session workspace. This has been fixed.

- Reject the authcommand rather than crash if there is no -S parameter given.

- Align pointers in allocated objects. This will in theory make Varnish a tiny bit faster at the expense of slightly more memory usage.

- Ensure the master process process id is updated in the shared memory log file after we go into the background.

- HEAD requests would be converted to GET requests too early, which affected pass and pipe. This has been fixed.

- Update the documentation to point out that the TTL is no longer taken into account to decide whether an object is cacheable or not.

- Add support for completely obliterating an object and all variants of it. Currently, this has to be done using inline C.

- Add experimental support for the Range header. This has to be enabled using the parameter http_range_support.

- The critbit hasher could get into a deadlock and had a race condition. Both those have now been fixed.

### varnishsizes

- varnishsizes, which is like varnishhost, but for the length of objects, has been added..