# Change Log

All notable changes to this project will be documented here.

## [0.2.1] - Unreleased
### Bugfixes
- Fix TieredInclusiveClient's handling of REGET during
  coherence. In cases where high load might make the
  L1 expiration be missed by the time putnext gets
  the REGET reply, the way REGET was implemented might
  step on fresh values of the cache with old ones
  inadvertantly. Check the values' TTL befure using it
  in a REGET, inhibit caller's reget, and use promotion
  logic instead.

## [0.2.0] - 2017-09-20
### Changed
- Made ttl_skip not return default/CacheMissError when the
  only available value is below the skip threshold. Instead,
  return the available item as does TieredInclusiveCache.
  The logic works better with lazy decorators and async
  refresh in this way, and is more uniform across clients.
- FastMemcachedClient: Refresh DNS in the bgwriter thread
  to avoid latency spikes caused by DNS queries

### Added
- Support for getMulti and getTtlMulti to all clients,
  with optimized versions for memcached
- An option tcp_nodelay to MemcachedStoreClient to reduce
  latency in latency-sensitive applications
- Add a LazyCuckooCache implementing a lazy form of
  cuckoo hashing (ie: without relocation) to implement a
  quasi-LRU eviction strategy with O(1) reads and updates

## [0.1.0]

Initial release


[Note]
This changelog format is taken from http://keepachangelog.com/.
