20050418 snapshot
New featurs
- Added getKeyIDHints methods to SignedMessage and EncryptedMessage
Bugfixes
- Fixed a performance bottleneck when compressing data
- Fixed a few small bugs in decoding messages using streaming

20050405 snapshot
Bugfixes
- Fixed handling of ElGamal signatures when streaming messages
- Fixed a bug in the KeyID code causing NullPointerExceptions on v3 keys

20050404 snapshot
Security fixes
- Implemented a workaround for the Mister/Zuccherato attack mentioned in
  http://eprint.iacr.org/2005/033
  The attack is highly unlikely, but server based implementations where an
  attacker can send a lot of specially crafted messages to are encouraged to
  upgrade.

20050329 snapshot
New features
- Implemented streaming support for encryption and signing large messages.

20050317 snapshot
New features
- Added compatibility with PGP 2.6/RFC 1991: support for creating legacy keys 
  and old-style encrypted and/or signed messages.
Bugfixes
- Cryptix generated RSA keys could not be read by other pgp implementations, due
  to a wrong parameter. This has been fixed. Note that older keys generated by
  Cryptix will continue to work fine, as long as they are not exported to other
  pgp implementations.

20041202 snapshot
New features
- Support for V3 signatures on document signatures, as older PGP versions have
  various troubles with V4 signatures on non key data.
  Contributed by: Guido Jaekel (thanks!)

20041006 snapshot
New features
- Better debugging output in case internal errors occur.
Bugfixes
- Fix a bug in the setKeyExpiration method.

20040928 snapshot
New features
- Tries the Cryptix JCE provider before anything else, solves the problem where
  another JCE provider is incompatible.
- Add high level API support for setting and retrieving key expiration.
Bugfixes
- Fix a problem with MessageFactory where messages containing no PGP data are
  incorrectly converted into a LiteralMessage (the last line would be removed)
  Patch-provided-by: Tassilo Schuetz
  Incompatibility-note: if your application receives data with one superfluous
    blank line after some pgp data, an extra LiteralMessage will be returned 
    from the MessageFactory

20040803 snapshot
Bugfixes
- Fix dependency issues for RSA and ElGamal operations when Cryptix JCE is not 
  the first provider registered.
- Fix handling of non ASCII chars (UTF-8).

20040309 snapshot
New features
- Compression on encryption is now supported. As compression is not a MUST
  implement feature in RFC 2440, it is not enabled by default. Use the 
  following method to enable it: emb.setAttribute("compressed", "true"), 
  where emb is your EncryptedMessageBuilder. The default behaviour may change
  in the future.
Bug fixes
- Fixed reading of empty keyrings (filesize == 0).

20030823 snapshot
Incompatible changes
- Changed the order of the arguments for the addPrivateKey method in KeyBundle
  to be more consistent with addPrivateSubKey in PGPKeyBundle. Any application
  that generates keys will probably have to be changed as a result of this.
- Changed the getEncoded() method of a PGP Certificate to encode the 
  public key and principal that are signed as well. This is more like 
  what other Certificate implementations do, and it also allows one to 
  construct a KeyBundle from the returned data again.
Bugfixes/new features
- Fixed the infamous EOFException: Unexpected end of ZLIB input stream.
- Snapshots are now compiled on JDK 1.2, so that they continue to work on that
  version of the JDK. Due to a Sun API change, a library compiled on JDK 1.3 or
  higher would not work on JDK 1.2.
- Added methods to KeyBundle and PGPKeyBundle to allow storage of private keys 
  without encrypting them. 
- Added methods to KeyBundle to add public (sub) keys and principals (userid's)
  without adding full certificates, as this is allowed/needed in some cases.
- Included better error messages for when the Unlimited Strength Jurisdiction
  Policy Files are not installed.
- Fixed the clone() method of PGPKeyBundleImpl.
- Added support for reading and decrypting Legacy RSA keys.
- Fixed a NullPointerException in PGPSignedMessageImpl for encrypted and signed
  messages that did not use a OnePassSignature packet (these messages are
  generated by PGP when encrypting to a Legacy RSA key).
- Fixed support for stand alone signed messages that did not use a 
  OnePassSignature packet.
- Encryption to keys that only have one key (that is used for both signing and
  encryption) is now supported.
- Added support for the new SHA-1 based checksum for encrypting secret keys.
- Fixed a nasty bug in the old checksum code for secret keys that would result 
  in failure to decrypt longer RSA keys (I estimate this to happen for RSA keys
  over 1600 bits).
- Fixed support for cleartext signed messages that lack the Hash: header.


20030205 snapshot
- API change: added cryptix.pki.ExtendedCertificate, which adds a few common
  methods for certificates. New additions are: the ability to check if a
  certificate is self signed and the ability to verify the cert with a 
  keybundle.
- Fix a few errors related to reading properties of a PGPCertificate.
- Fix decoding armoured data when it is surrounded by other data.
- Make the dashprotect methods in PGPArmoury public.

20030131 snapshot
- Added support for encryption with keys without subkeys (like legacy RSA keys).
- Fixed a bug with a PGPDataFormatException("Read tried past end of packet")
  while decrypting compressed data that was split up in multiple chunks.
  Also fixed a few other potential related problems.
- Add methods to get to the raw key material in PGPDSA, PGPElGamal and PGPRSA.
- Rearranged the source tree and build file considerably for a more consist
  approach.
- Transparantly add one pass signature packets to signed messages.
- Throw an exception when trying to apply multiple nested signatures to one
  message instead of silently ignoring it and only signing the message with the
  last key.
- Proper state checking in PGPKeyRingKeyStore, throwing the correct exception if
  the keystore has not been 'loaded' yet.
- Fix a potential threading problem.
- Various other minor changes.

2002???? snapshots
- Changelog not maintained. The changelog above contains changes for these
  snapshots as well.

20010829 snapshot
- Fix a problem with importing secret keys exported by NAI PGP.

20010828 snapshot
- Fixed a problem with loading keyrings.
- Fixed keyid handling in PGPEncryptedMessageBuilder and removed an incorrect
  warning about it.
- Added a new example (CreateKeyRing)
- Added a readme for the examples
- Get the zlib and zip compression code working.
- Enable zlib and zip compression for the default preferences.
- Fix a problem with indeterminate lengths.
- Removed debugging output from PGPEncryptedDataPacket.
- Disabled generating ElGamal sigs the hard way. 
- The tests directory in the packaged release now contains the JUnit jar file,
  which is required to run most of the tests.

20010826 snapshot
- [Security] Fixed a bug in the ElGamal encryption code that I forgot 
  to include in the previous snapshot and that caused invalid and
  potentially insecure encrypted data.
- Removed the preferences for compression algorithms from the default
  preferences because we do not support compression yet.

20010824 snapshot
- Completely revamped the high-level API.
- Got most of the basic functionality working.

Older entries are not available.
