# Change log for Varnish 2.1.3

## Changes between 2.1.2 and 2.1.3

### varnishd

- Improve scalability of critbit.

- The critbit hash algorithm has now been tightened to make sure the tree is in a consistent state at all points, and the time we wait for an object to cool off after it is eligible for garbage collection has been tweaked.

- Add log command to VCL. This emits a VCL_log entry into the shared memory log.

- Only emit Length and ReqEnd log entries if we actually have an XID. This should get rid of some empty log lines in varnishncsa.

- Destroy directors in a predictable fashion, namely reverse of creation order.

- Fix bug when ESI elements spanned storage elements causing a panic.

- In some cases, the VCL compiler would panic instead of giving sensible messages. This has now been fixed.

- Correct an off-by-one error when the requested range exceeds the size of an object.

- Handle requests for the end of an object correctly.

- Allow tabulator characters in the third field of the first line of HTTP requests

- On Solaris, if the remote end sends us an RST, all system calls related to that socket will return EINVAL. We now handle this better.

### libvarnishapi

- The -X parameter didn't work correctly. This has been fixed.