Noteworthy changes in version 0.6.6 (2007-11-15)
------------------------------------------------

* Slightly adjust the stream code.
  The check for fflush is obmitted because the return
  value might be undefined. This fixes a problem reported
  from the NetBSD team.
  
* Don't use __inline__ in src/cipher.c (breaks on Sun CC).


Noteworthy changes in version 0.6.5 (2007-10-27)
------------------------------------------------

* Cleanups for the key export and import functionality.

* Clarified the semantic of cdk_pk_check_sigs.

* Now the by usage keydb function correctly finds the
  self signature.
  

Noteworthy changes in version 0.6.4 (2007-06-12)
------------------------------------------------

* Make sure the test suite uses non-guessable file names
  for temporary files.

* Fix a problem in the file handling code.


Noteworthy changes in version 0.6.3 (2007-06-06)
------------------------------------------------

* Remove unused references in the opencdk config script.
  This fixes an error because a variable were not referenced.

Interface changes relative to 0.6.2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cdk_dek_get_cipher		   NEW
cdk_dek_get_mdc_flag		   NEW


Noteworthy changes in version 0.6.2 (2007-05-25)
------------------------------------------------

* Fix versioning script of the library.

* Bug fixes for the remaining memory leaks.

* Better way to handle gcrypt initialization.

Interface changes relative to 0.6.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cdk_lit_format_t		   NEW

functions:
cdk_pk_to_fingerprint		   NEW


Noteworthy changes in version 0.6.1 (2007-05-12)
------------------------------------------------

* The opencdk.def file is included in the distribution archive,
  fixes build failures on mingw32.

* Some bug fixes for the mingw32 build in combination with WINE.

* Now the decryption code uses the name in the literal packet
  for the output file whenever this is possible.

* Take care of absolute file names in literal packets.


Noteworthy changes in version 0.6.0 (2007-05-01)
------------------------------------------------

* Dropped all internal random, cipher, digest libs and only use gcrypt 
  for such tasks. The library should only provide functions dedicated
  to parsing and packet creation for the protocol.

* Adjust code for the new Libgcrypt interface.
  Now Libgcrypt >1.2.2 is required to build the code.

* This new version introduces an API change and thus incompatibilities 
  to prior versions.

* Lots of cleanups all over the place. This also includes simplification 
  for various code parts.

* Better support for larger files.

* Map the libgcrypt error directly and remove the
  invalid CDK_Gcry_Error type.

* Add more regression tests for the various code parts.

* We do not support ElGamal signatures any longer.

* Merged patches from the other opencdk branch which is
  currently used by GnuTLS.

* Provide user callback for the stream. As a sample
  implementation, socket callbacks are implemented
  and use in cdk_stream_sockopen().
  
* Drop most of the rfc1991 legacy format. This means
  we do not generate any rfc1991 data, but we still
  understand it. An exception is the packet header output.

* Removed gnulib interface for now because the lib
  is currently not in use.

* Interfaces changes relative to 0.5.x
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 functions:
 cdk_stream_tmp			CHANGED: is now cdk_stream_tmp_new
 cdk_stream_new_from_mem	CHANGED: new argument and return error code
 cdk_stream_control		CHANGED: is no available any longer
 cdk_stream_new_from_cbs	NEW
 cdk_stream_mmap_part		NEW
 cdk_keydb_new_from_file	NEW
 cdk_keydb_new_from_mem		NEW
 cdk_keydb_new_from_stream	NEW
 cdk_keydb_import		CHANGED: second argument removed.
 cdk_keydb_pk_cache_sigs	DELETED
 cdk_kbnode_write_to_mem_alloc	NEW
 cdk_lib_startup		NEW
 cdk_lib_shutdown		NEW
 cdk_handle_set_keyring		NEW
 cdk_handle_get_verify_result	NEW
 cdk_subpkt_find_next		NEW
 cdk_subpkt_find_nth		NEW
 cdk_set_progress_handler	DELETED
 cdk_userid_get_pref_array	DELETED
 cdk_pk_encrypt			CHANGED: last argument is now gcry_mpi_t
 cdk_pk_decrypt			CHANGED: last argument is now gcry_mpi_t
 cdk_pk_get_mpi			CHANGED: new argument nwritten.
 cdk_sk_get_mpi			CHANGED: new argument nwritten.
 cdk_pk_release			NEW
 cdk_sk_release			NEW
 cdk_pubkey_to_sexp		NEW
 cdk_seckey_to_sexp		NEW
 cdk_armor_encode_buffer	NEW
 cdk_keygen_set_mdc_feature	DELETED
 cdk_keygen_set_algo_info	CHANGED: new argument usage.
 cdk_seskey_new			DELETED
 cdk_seskey_free		DELETED
 cdk_dek_encode_pkcs1		CHANGED: not public any longer.
 cdk_dek_decode_pkcs1		CHANGED: not public any longer.
 cdk_stream_tell		CHANGED: return type is now off_t
 cdk_stream_seek		CHANGED: argument is now off_t
 cdk_pk_check_self_sig		NEW
 
 constants:
 CDK_No_Data			NEW
 CDK_CTL_TRUSTMODEL		DELETED
 CDK_CTL_FORCE_DIGEST		DELETED
 CDK_COMPRESS_BZIP2		NEW
 CDK_MD_SHA{256,384,512}	NEW
 CDK_MD_{TIGER, MD2}		DELETED
 CDK_CIPHER_{SAFER_SK128, DES_SK} DELETED
 CDK_CTL_COMPAT		  	  DELETED
 
 structures:
 cdk_md_hd_t			CHANGED: is now gcry_md_hd_t
 cdk_cipher_hd_t		CHANGED: is now gcry_cipher_hd_t
 cdk_sesskey_t			CHANGED: is now gcry_mpi_t
 

Noteworthy changes in version 0.5.13 (2007-02-01)
-------------------------------------------------

* Fixed shared library for newly added APIs in last release.

* Add -no-undefined to LDFLAGS, to make opencdk build under mingw32.

* Add AC_LIBTOOL_WIN32_DLL to configure.ac, which is required for
* libtool to behave correctly for cross-compiles to mingw32.

* Use gnulib for mingw32 support.


Noteworthy changes in version 0.5.11 (2006-10-26)
-------------------------------------------------

* Add a new self test "basic" to test cdk_check_version.

* Add prototype of cdk_stream_decrypt to opencdk.h, reported by Adam
  Langley.
  
* Fix crash in cdk_data_transform triggered by self-tests.
  

Noteworthy changes in version 0.5.10 (2006-10-11)
-------------------------------------------------

* Fix double-free in cdk_pklist_encrypt, reported by Adam Langley.

* Fix keydb_idx_search() to handle keys at offset 0, thanks to Adam Langley.

* A pkg-config script was added, thanks to Andreas Metzler.

* Autobuild time stamps are used, for easier build robot testing.


Noteworthy changes in version 0.5.9 (2006-08-06)
------------------------------------------------

* Fix cdk_kbnode_write_to_mem to return CDK_Too_Short when buf is
  NULL, tiny patch from Mario Lenz.
  
* Fixed opencdk-config script to include -lz, thanks to Weng Liong, Low.

* Fix prototypes for AIX compiler, reported by John Heiden.

* Don't use trailing comma in last enum constant, for IBM C v6.  Tiny
  patch from Albert Chin.
  

Noteworthy changes in version 0.5.8 (2005-08-31)
------------------------------------------------

* Added versioned symbols again.
* Improved searching for libz.
* Should build on platforms that lack "inline".

Noteworthy changes in version 0.5.7 (2005-06-14)
------------------------------------------------

* Various build fixes, to make version info not say 0.5.5 any more.


Noteworthy changes in version 0.5.6 (2005-06-13)
------------------------------------------------

* Use libtool -export-symbols-regex instead of GNU ld script.
* Fix license with new FSF address.
* Test for socklen_t, needed for libgcrypt on some platforms.
* A few configure/build fixes.
* Don't use malloc.h.


Noteworthy changes in version 0.5.5 (2004-06-16)
------------------------------------------------

* Severeal cleanups and Libgcrypt 1.2.0 adjustments.


Noteworthy changes in version 0.5.4 (2004-02-27)
------------------------------------------------

* Added versioned symbols.


Noteworthy changes in version 0.5.3 (2003-11-05)
------------------------------------------------

* Added a compile time check for vasprintf.
* The unsigned long types were changed to unsigned int.


Noteworthy changes in version 0.5.2 (2003-11-03)
------------------------------------------------

* The library now full depends on the new libgcrypt 1.1.43.


Noteworthy changes in version 0.5.1 (2003-06-21)
------------------------------------------------

* Internal message digest and symmetric crypto library to simplify to
  include parts of OpenCDK into an own application.
* Huge interface and naming changes to enhance the readability of the
  code. Several code cleanups which means some functions are not
  public any longer. No backward compatibility to force client
  applications to change the interface as soon as possible.


Noteworthy changes in version 0.5.0 (2003-03-25)
------------------------------------------------

* Simplified API for listing keys.
* Extended key node (KBNODE) API to extract attributes more easier.
* Signature sub packet API is now public.
* Read-only support for revocation keys.


Noteworthy changes in version 0.4.5 (2003-02-10)
------------------------------------------------

* This is a bug fix release due to a wrong libtool version number.
* Some cleanups in the code.


Noteworthy changes in version 0.4.4 (2003-02-08)
------------------------------------------------

* Bug fix to prevent possible DOS memory attack.
* Support for literal partial body packets.
* simpliefied mmap() function for the STREAM object.


Noteworthy changes in version 0.4.3 (2003-01-24)
------------------------------------------------

* Import command for cdk_data_transform.
* Overwrite memory which has been securely alloced before it is freed.
* More entries in the API documentation.
* Removed libpopt dependency for the library.
* New passphrase callback interface.
* Bug fix for the control API.


Noteworthy changes in version 0.4.2 (2003-01-16)
------------------------------------------------

* Bug fix to avoid revoked or expired keys.
* Make the packet parsing code more robust.
* Generic API to transform plain data into OpenPGP data.
* Fix for a bug which prevented that the literal data is written to a 
  file in armored signatures.
* Corrected the armor type of detached signatures.


Noteworthy changes in version 0.4.1 (2003-01-03)
------------------------------------------------

* New DEK (Data Encryption Key) API.
* Simplified STREAM filters.
* More attributes for the signature API.
* Support for the compression level.
* Several bug fixes for the key database code.


Noteworthy changes in version 0.4.0 (2002-12-08)
------------------------------------------------

* Index cache for keyrings to speedup operations.
* New key database interface which is reentrant.
* Faster code for the filters.


Noteworthy changes in version 0.3.4 (2002-11-25)
------------------------------------------------

* Support for RFC1991 encrypted packages.
* Full MDC support for decryption.
* Improved key searching routines.
* Key generation support (beta!).
* Fixed calculation for the expiration date.


Noteworthy changes in version 0.3.3 (2002-11-16)
------------------------------------------------

* Support for the various signatures types (detached, ...)
* Sign and Encrypt is working now.
* Limited support for RFC1991 (v3 signatures, ...)
* Corrected a problem with decompressing larger files.
* A lot of bug fixes all over the place.
* UTF8 en- and decoding routines.


Noteworthy changes in version 0.3.2 (2002-11-07)
------------------------------------------------

* Keyserver support (HKP only).
* Fixed problem with v3 signatures.
* Fixed problem with searching packets in KBNODEs.
* API documentation for the external interface.


Noteworthy changes in version 0.3.1 (2002-11-02)
------------------------------------------------

* Fixed autoconf environment.


Noteworthy changes in version 0.3.0 (2002-11-01)
------------------------------------------------

* Encrypt, Decrypt, Sign and Verify basically works.
* Compression and Decompression works.

