0.0.1 - 16th May 2002.

* First release.
* Merges gpgstats 0.0.2 (never released).

0.0.2 - 28th May 2002.

* Added support for subpacket type 0x83 (critical key expiration)
* Fixed bug in parsing of one byte new format packet length.
* Added support for 4 byte old format packet lengths.
* Changed various error statements to output to stderr instead of stdout.
* Fixed bug in deleting keys in Postgres backend.
* Moved code to merge a list of keys to merge.c and changed add.c to use it
  rather than just replacing existing keys.
* Added comment & trust packets as known but ignored types.
* Added storage of uids to Postgres backend; this speeds up verbose indexing
  and will also allow searching on UIDs.
* Fixed bug in armor handling (didn't like 2 newlines before the armor header).
* Made dearmor gracefully handle non armored input.
* Added support for incoming incremental update mails.
* Added searching on uids to lookup & keydb_pg.
* Changed Postgres backend to use 64 bit keyids instead of 32 bit.
* Made dearmor ignore CRs when looking for 2 blank lines.

0.0.3 - 2nd July 2002

* Added index on keyid for key table in Postgres backend.
* Twiddled transaction support in an attempt to speed up mass key adding.
* Changed putchar_func to take a character count rather than doing one char at
  a time (massive speed up in Postgres case).
* Introduced onak binary for general keyserver operations.
* Changed all version number references to use VERSION macro.
* Made lldel free the unused list structure. (pointed out by Simon Huggins)
* Made llfind assert that the cmp function is non NULL. (Simon Huggins again)
* Fixed gpgwww; after the move to 64bit keyids internally it was trying to
  compare the 32bit user supplied keyid to the retrieved 64bit one and never
  finding paths.
* Various tidying up I've forgotten.
* Fixed bug with removing signed packets while merging.
* Fixed bug with potentially adding an already existing uid to a key when
  merging.
* Fixed stupid typo bug in merging keys.

0.0.4 - 10th November 2002

* Made keydb_file backend compile again.
* Changed merging to compare signature keyids rather than packet contents
  so we don't add the same signature multiple times.
* Changed keydb_pg backend over to using PQescapeString to escape SQL data.
* Added list of keyids in a path to gpgwww output (suitable for C&P into
  a gnupg command line for example).
* Pulled out HTML start/end code to getcgi.c and added a DOCTYPE and charset
  of utf8.
* Did some work on getting onak-mail.pl to output incrementals as well as
  receiving them.
* Some cleanup in getting signature keyids.
* Made sure we freed more things after we've finished with them.
* Changed maxpath to display the path found.
* Added use of onak_sigs to keydb_pg to speed up retrieval of key sigs. Should
  speed up the pathfinder a lot.
* Added llfree for freeing up linked lists.
* Wrote DB3 backend; although much work is still needed it vastly outperforms
  the PostgreSQL backend and should hopefully not suffer from the problems of
  the DB2 implementation.

0.1.0 - 13th November 2002

* Code cleanup; pull out common character functions.
* Make DB3 backend support proper searching.
* Added config file.
* Fixed ASCII armor bug (we'd output NULLs in the headers/footer).
* Added bidirectional syncing (previously we could receive but wouldn't send).

0.1.1 - 2nd December 2002

* Fixed utf8 content type - should be UTF-8. (Thanks to Simon Huggins)
* Made getfullkeyid not assert if the key isn't found. (Thanks to Simon 
  Huggins for reporting this.)
* Fixed onak-mail.pl to check the stdout of onak before stderr to prevent
  blocking when reading the output update.
* Used ccmalloc to find various memory leaks and fixed them.
* Added display of key subkeys.
* Tightened up table creation SQL a bit.
* Fixed bug with merging keys that have no new content (we'd sometimes stop
  processing the incoming stream of keys).
* Updated README to be a bit more useful.
* Code cleanup; removed circular dependencies.
* Added sixdegrees.

0.1.2 - 15th February 2003

* Added fingerprint calculation/display.
* Cleanup sixdegrees binary/object file on make clean.
* Introduced transaction support to DB3 backend, along with deadlock detection.
* Added keydb dumping ability.
* Added logging infrastructure to help more easily track down problems.

0.2.0 - 8th June 2003

* Output multiple paths in gpgwww (thanks to Simon Huggins).
* Allow a keyid on the command line for sixdegrees (Simon Huggins).
* Make db2 backend check for a num_keydb file to know how many db files to use.
* Add 0x to generated URLs as pks needs these.
* Add "Find Reverse Path" link to gpgwww output.
* Checkpoint the db3 database upon clean exit.
* Fix bug with logging where the month was one less than it should have been.
* Fall back to stderr if we can't open the logfile.
* Move dependancy list from Makefile to separate file.
* Checkpoint the DB on clean shutdown.
* First cut at MRHKP support.
* Clean up various compile warnings under gcc 3.3
* Log a critical error when we can't handle a critical subpacket rather than
  asserting.
* Make the Postgres backend compile again.
* First attempt at supporting revoked keys.

0.2.1 - 11th October 2003

* Added support for multiple backend DB3 key files.
* Fixed DB3 database dumping to be outside a transaction (otherwise the
  transaction is too big and we run out of memory).
* Change over onak-mail.pl to use the config file more.
* Fix bug where we always read one byte from stdin in rather than allowing
  zero.
* Tightened up error checking in a couple of places to allow proper DB cleanup.
* Changed a printf error message over to using logthing.
* Allow read_openpgp_stream to append to an existing packet list.
* Tidy up various character functions into charfuncs.c
* Add splitkeys for spliting up keyrings.
* Various code cleanups to help reduce warnings under C99.
* Add (verbose) index support to onak-mail.pl