22 May 2009: dht-0.6

  * Fixed a buffer overflow (when reading) in parse_message.
  * Fixed slightly inacurrate metric computation when searching.
  * Removed a slightly inaccurate shortcut when responding to find_nodes.
  * Relaxed the rate-limiting parameters to 4 requests per second.

19 May 2009: dht-0.5

  * Made reading of /dev/urandom a function provided by the user.
  * Implemented the ``v'' extension that identifies node implementations.

18 May 2009: dht-0.4

  * Fixed the handling of tokens in announce_peer messages.
  * Implemented backtracking during search when nodes turn out to be dead.

17 May 2009: dht-0.3

  * Fixed a number of incorrectly formatted messages.
  * Changed reply to find_peers to spread the load more uniformly.
  * Fixed a bug that could cause premature splitting.
  * Implemented rate limiting.
  * Changed some time constants to be less chatty.
  * When determining if a bucket is fresh enough, we now only take replies
    into account.
  * dht_get_nodes now returns nodes starting with our own bucket.
  * Tweaked the memory allocation strategy for stored peers.

17 May 2009: dht-0.2

  * Fixed a crash in dht_uninit.
  * Added support for saving the list of known-good nodes.
  * Changed the interface of dht_nodes to provide the number of nodes that
    recently sent incoming requests.

13 May 2009: dht-0.1

  * Initial public release.
