**Version 1.14 (Release date 22-01-99)

This is a list of the changes that have been made to Blowfish since the previous release:

==========================================================================================

Type of change:                  Internal/External
Reason for change:               Compliance with international ruling
Impact on existing applications: Minor

As a result of the Wassenaar Agreement, an additional define has been added to limit the key length to 64 bits. For countries not in the Wassenaar Agreement, the define can be made inactive to return the component back to the full strength.

This define is currently not enabled as the law in Germany has not yet been passed to bring this ruling into local effect.

==========================================================================================

Type of change:                  Internal/External
Reason for change:               Compatibility
Impact on existing applications: Possibly Major

The key setup procedures of blowfish have been reworked to make them simpler and more efficient. During the testing, it was found that the key setup was producing incorrect results with several keys. To ensure compatibility with implementations of Blowfish in other languages (apart from Delphi) the key setup has been changed to be compatible.

** This may mean that there will be compatibility problems with this version of Blowfish reading encrypted data from pervious versions**

==========================================================================================

Type of change:                  Internal/External
Reason for change:               Usability
Impact on existing applications: Possibly Major

Blowfish now reports errors in processing using exceptions instead of error codes. This has been changed because most users weren't checking the error codes, leading to strange results in the processing. While this will cause a one time change in the applications which use the component, we hope that this will lead to more reliable processing. See the help file for more details on the exceptions which can be raised.

==========================================================================================

Type of change:                  Internal
Reason for change:               Bug report
Impact on existing applications: Minor

When processing long streams (more than 4k), an error would occur caused by a buffer overflow. The internal processing of the EncryptStream and DecryptStream functions has been modified to stop this error.

==========================================================================================

Type of change:                  External
Reason for change:               Increase Usability
Impact on existing applications: None

The example project has been expanded to add examples for using streams and blocks. A basic cipher verifier has also been added.

==========================================================================================
==========================================================================================

**Version 1.12 (Release date 22-08-98)

This is a list of the changes that have been made to Blowfish since the previous release:

==========================================================================================

Type of change:                  Internal
Reason for change:               Bug report
Impact on existing applications: Minor

A error could occur when encrypting and decrypting zero length strings. This has been repaired.

