The unified diff between revisions [85596a0b..] and [be13ff67..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'doc/log.txt'

#
#
# patch "doc/log.txt"
#  from [0b9e0e5499ad25cc3ba9b6e7253c93882e68d105]
#    to [6b465c848cd7023294825ba3698a4d36e0f6d965]
#
============================================================
--- doc/log.txt	0b9e0e5499ad25cc3ba9b6e7253c93882e68d105
+++ doc/log.txt	6b465c848cd7023294825ba3698a4d36e0f6d965
@@ -1,9 +1,13 @@

 * 1.7.6
- - Initial support for Windows DLLs
+ - Initial support for Windows DLLs, from Joel Low
+ - Timer objects are now treated as entropy sources
  - Removed the AEP module, due to inability to test
+ - Removed Global_RNG and rng.h
+ - Removed system_clock
+ - Removed Library_State::UI and the pulse callback logic

-* 1.7.5, April 12, 2008
+* 1.7.5, 2008-04-12
  - The API of X509_CA::sign_request was altered to avoid race conditions
  - New type Pipe::message_id to represent the Pipe message number
  - Remove the Named_Mutex_Holder for a small performance gain
@@ -15,7 +19,7 @@
  - The size of random blinding factors is now a compile time setting
  - The install target no longer tries to set a particular owner/group

-* 1.7.4, March 10, 2008
+* 1.7.4, 2008-03-10
  - Use unaligned memory read/writes on systems that allow it, for performance
  - Assembly for x86-64 for accessing the bswap instruction
  - Use larger buffers in ARC4 and WiderWAKE for significant throughput increase
@@ -24,7 +28,7 @@
  - Build fix for NetBSD systems
  - Prevent es_dev from being built except on Unix systems

-* 1.7.3, January 23, 2008
+* 1.7.3, 2008-01-23
  - New invocation syntax for configure.pl with several new options
  - Support for IPv4 addresses in a subject alternative name
  - New fast poll for the generic Unix entropy source (es_unix)
@@ -34,7 +38,7 @@
  - Truncate X9.42 PRF output rather than allow counter overflow
  - PowerPC is now assumed to be big-endian

-* 1.7.2, October 13, 2007
+* 1.7.2, 2007-10-13
  - Initialize the global library state lazily
  - Add plain CBC-MAC for backwards compatability with old systems
  - Clean up some of the self test code
@@ -43,11 +47,11 @@
  - Add newly assigned OIDs for SHA-2 and DSA with SHA-224/256
  - Fix a Visual Studio compilation problem in x509stat.cpp

-* 1.6.3, July 23, 2007
+* 1.6.3, 2007-07-23
  - Fix a race condition in the algorithm lookup cache
  - Fix problems building the memory pool on some versions of Visual C++

-* 1.7.1, July 23, 2007
+* 1.7.1, 2007-07-23
  - Fix a race condition in the algorithm object cache
  - HMAC key schedule optimization
  - The build header sets a macro defining endianness, if known
@@ -55,7 +59,7 @@
  - Modify most of the library to avoid use the C-style casts
  - Use higher resolution timers in symmetric benchmarks

-* 1.7.0, May 19, 2007
+* 1.7.0, 2007-05-19
  - DSA parameter generation now follows FIPS 186-3
  - Added OIDs for Rabin-Williams and Nyberg-Rueppel
  - Somewhat better support for out of tree builds
@@ -63,25 +67,25 @@
  - Documentation updates
  - Update the todo list

-* 1.6.2, March 24, 2007
+* 1.6.2, 2007-03-24
  - Fix autodection on Athlon64s running Linux
  - Fix builds on QNX and compilers using STLport
  - Remove a call to abort() that crept into production

-* 1.6.1, January 20, 2007
+* 1.6.1, 2007-01-20
  - Fix some base64 decoder bugs
  - Add a new option to base64 encoding, to always append a newline
  - Fix some build problems under Visual Studio with debug enabled
  - Fix a bug in BER_Decoder that was triggered under some compilers

-* 1.6.0, December 17, 2006
+* 1.6.0, 2006-12-17
  - Minor cleanups versus 1.5.13

-* 1.5.13, December 10, 2006
+* 1.5.13, 2006-12-10
  - Compilation fixes for the bzip2, zlib, and GNU MP modules
  - Better support for Intel C++ and EKOpath C++ on x86-64

-* 1.5.12, October 27, 2006
+* 1.5.12, 2006-10-27
  - Cleanups in the initialization routines
  - Add some x86-64 assembly for multiply-add
  - Fix problems generating very small (below 384 bit) RSA keys
@@ -89,7 +93,7 @@
  - Bring some of the documentation up to date
  - More improvements to the Python bindings

-* 1.5.11, September 10, 2006
+* 1.5.11, 2006-09-10
  - Removed the Algorithm base class
  - Various cleanups in the public key inheritance hierarchy
  - Major overhaul of the configure/build setup
@@ -98,7 +102,7 @@
  - Various improvements to the Python wrappers
  - Work around a Visual Studio compiler bug

-* 1.5.10, August 13, 2006
+* 1.5.10, 2006-08-13
  - Add x86 assembler versions of MD4, MD5, and SHA-1
  - Expand InitializerOptions' language to support on/off switches
  - Fix definition of OID 2.5.4.8; was accidentally changed in 1.5.9
@@ -110,7 +114,7 @@
  - Expand the xor_ciph example to support longer keys
  - Some updates to the documentation

-* 1.5.9, July 12, 2006
+* 1.5.9, 2006-07-12
  - Fixed bitrot in the AEP engine
  - Fix support for marking certificate/CRL extensions as critical
  - Significant cleanups in the library state / initialization code
@@ -121,7 +125,7 @@
  - Add some STL wrappers for the delete operator
  - Change how certificates are created to be more flexible and general

-* 1.5.8, June 23, 2006
+* 1.5.8, 2006-06-23
  - Many internal cleanups to the X.509 cert/CRL code
  - Allow for application code to support new X.509 extensions
  - Change the return type of X509_Certificate::{subject,issuer}_info
@@ -132,13 +136,13 @@
  - Disable es_unix module on FreeBSD due to build problem on FreeBSD 6.1
  - Support for GCC 2.95.x has been dropped in this release

-* 1.5.7, May 28, 2006
+* 1.5.7, 2006-05-28
  - Further, major changes to the BER/DER coding system
  - Updated the Qt mutex module to use Mutex_Factory
  - Moved the library global state object into an anonymous namespace
  - Drop the Visual C++ x86 assembly module due to bugs

-* 1.5.6, March 1, 2006
+* 1.5.6, 2006-03-01
  - The low-level DER/BER coding system was redesigned and rewritten
  - Portions of the certificate code were cleaned up internally
  - Use macros to substantially clean up the GCC assembly code
@@ -146,7 +150,7 @@
  - Avoid a couple of spurious warnings under Visual C++
  - Some slight cleanups in X509_PublicKey::key_id

-* 1.5.5, February 4, 2006
+* 1.5.5, 2006-02-04
  - Fixed a potential infinite loop in the memory pool code (Matt Johnston)
  - Made Pooling_Allocator::Memory_Block an actual class of sorts
  - Some small optimizations to the division and modulo computations
@@ -157,7 +161,7 @@
  - Fixed some annoying bugs in the benchmark code
  - Added a real credits file

-* 1.5.4, January 29, 2006
+* 1.5.4, 2006-01-29
  - Integrated x86 and amd64 assembly code, contributed by Luca Piccarreta
  - Fixed a memory access off-by-one in the Karatsuba code
  - Changed Pooling_Allocator's free list search to a log(N) algorithm
@@ -174,7 +178,7 @@
  - Removed some dead code from bigint_modop
  - Fix the definition of same_mem

-* 1.5.3, January 24, 2006
+* 1.5.3, 2006-01-24
  - Many optimizations in the low-level multiple precision integer code
  - Added hooks for assembly implementations of the MPI code
  - Support for the X.509 issuer alternative name extension in new certs
@@ -186,13 +190,13 @@
  - Fixed the mp_asm64 module, which was entirely broken in 1.5.2
  - Fixed some module build problems on FreeBSD and Tru64

-* 1.4.12, January 15, 2006
+* 1.4.12, 2006-01-15
  - Fixed an off-by-one memory read in MISTY1::key()
  - Fixed a nasty memory leak in Output_Buffers::retire()
  - Changed maximum HMAC keylength to 1024 bits
  - Fixed a build problem in the hardware timer module on 64-bit PowerPC

-* 1.5.2, January 15, 2006
+* 1.5.2, 2006-01-15
  - Fixed an off-by-one memory read in MISTY1::key()
  - Fixed a nasty memory leak in Output_Buffers::retire()
  - Reimplemented the memory allocator from scratch
@@ -208,7 +212,7 @@
  - Enabled the symmetric algorithm tests, which were accidentally off in 1.5.1
  - Removed the Default_Mutex's unused clone() member function

-* 1.5.1, January 8, 2006
+* 1.5.1, 2006-01-08
  - Implemented Montgomery exponentiation
  - Implemented generalized Karatsuba multiplication and squaring
  - Implemented Comba squaring for 4, 6, and 8 word inputs
@@ -221,7 +225,7 @@
  - Replaced BigInt's get_nibble with the more general get_substring
  - Some documentation updates

-* 1.5.0, January 1, 2006
+* 1.5.0, 2006-01-01
  - Moved all global/shared library state into a single object
  - Mutex objects are created through mutex factories instead of a global
  - Removed ::get_mutex(), ::initialize_mutex(), and Mutex::clone()
@@ -231,7 +235,7 @@
  - Removed the deprecated algorithms SEAL, ISAAC, and HAVAL
  - Change es_ftw to use unbuffered I/O

-* 1.4.11, December 31, 2005
+* 1.4.11, 2005-12-31
  - Changed Whirlpool diffusion matrix to match updated algorithm spec
  - Fixed several engine module build errors introduced in 1.4.10
  - Fixed two build problems in es_capi; reported by Matthew Gregan
@@ -241,7 +245,7 @@
  - Merged doc/rngs.txt into the main API document
  - Thanks to Joel Low for several bugreports on early tarballs of 1.4.11

-* 1.4.10, December 18, 2005
+* 1.4.10, 2005-12-18
  - Added an implementation of KASUMI, the block cipher used in 3G phones
  - Refactored Pipe; output queues are now managed by a distinct class
  - Made certain Filter facilities only available to subclasses of Fanout_Filter
@@ -259,7 +263,7 @@
  - The header util.h was split into bit_ops.h, parsing.h, and util.h
  - Cleaned up some redundant include directives

-* 1.4.9, November 6, 2005
+* 1.4.9, 2005-11-06
  - Added the IBM-created AES candidate algorithm MARS
  - Added the South Korean block cipher SEED
  - Added the stream cipher Turing
@@ -274,14 +278,14 @@
  - Added more test vectors for some algorithms, including all the AES finalists
  - Various cosmetic source code cleanups

-* 1.4.8, October 16, 2005
+* 1.4.8, 2005-10-16
  - Resolved a bad performance problem in the allocators; fix by Matt Johnston
  - Worked around a Visual Studio 2003 compilation problem introduced in 1.4.7
  - Renamed OMAC to CMAC to match the official NIST naming
  - Added single byte versions of update() to PK_Signer and PK_Verifier
  - Removed the unused reverse_bits and reverse_bytes functions

-* 1.4.7, September 25, 2005
+* 1.4.7, 2005-09-25
  - Fixed major performance problems with recent versions of GNU C++
  - Added an implementation of the X9.31 PRNG
  - Removed the X9.17 and FIPS 186-2 PRNG algorithms
@@ -296,7 +300,7 @@
  - Fix some build problems with Visual C++ 2005 beta
  - Fix some build problems with Visual C++ 2003 Workshop

-* 1.4.6, March 13, 2005
+* 1.4.6, 2005-03-13
  - Fix an error in the shutdown code introduced in 1.4.5
  - Setting base/pkcs8_tries to 0 disables the builtin fail-out
  - Support for XMPP identifiers in X.509 certificates
@@ -304,7 +308,7 @@
  - More fixes for Borland C++, from Friedemann Kleint
  - Add a workaround for buggy iostreams

-* 1.4.5, February 26, 2005
+* 1.4.5, 2005-02-26
  - Add support for AES encryption of private keys
  - Minor fixes for PBES2 parameter decoding
  - Internal cleanups for global state variables
@@ -317,14 +321,14 @@
  - Removed some left-over debugging code
  - Removed SSL3_MAC, SSL3_PRF, and TLS_PRF

-* 1.4.4, December 2, 2004
+* 1.4.4, 2004-12-02
  - Further tweaks to the pooling allocator
  - Modified EMSA3 to support SSL/TLS signatures
  - Changes to support Qt/QCA, from Justin Karneges
  - Moved mux_qt module code into mod_qt
  - Fixes for HP-UX from Mike Desjardins

-* 1.4.3, November 6, 2004
+* 1.4.3, 2004-11-06
  - Split up SecureAllocator into Allocator and Pooling_Allocator
  - Memory locking allocators are more likely to be used
  - Fixed the placement of includes in some modules
@@ -332,7 +336,7 @@
  - Fixes in configure script to support alternate install programs
  - Modules can specify the minimum version they support

-* 1.4.2, October 31, 2004
+* 1.4.2, 2004-10-31
  - Fixed a major CRL handling bug
  - Cipher and hash operations can be offloaded to engines
  - Added support for cipher and hash offload in OpenSSL engine
@@ -344,7 +348,7 @@
  - Lots of fixes and cleanups in the configure script
  - Updated the Gentoo ebuild file

-* 1.4.1, October 10, 2004
+* 1.4.1, 2004-10-10
  - Fixed major errors in the X.509 and PKCS #8 copy_key functions
  - Added a LAST_MESSAGE meta-message number for Pipe
  - Added new aliases (3DES and DES-EDE) for Triple-DES
@@ -353,7 +357,7 @@
  - Disabled tm_posix on *BSD due to header issues
  - Fixed a build problem on PowerPC with GNU C++ pre-3.4

-* 1.4.0, June 26, 2004
+* 1.4.0, 2004-06-26
  - Added the FIPS 186 RNG back
  - Added copy_key functions for X.509 public keys and PKCS #8 private keys
  - Fixed PKCS #1 signatures with RIPEMD-128
@@ -362,7 +366,7 @@
  - Fixed some build problems on Tru64, HP-UX
  - Fixed compile problems with Intel C++, Compaq C++

-* 1.3.14, June 12, 2004
+* 1.3.14, 2004-06-12
  - Added support for AEP's AEP1000/AEP2000 crypto cards
  - Added a Mutex module using Qt, from Justin Karneges
  - Added support for engine loading in LibraryInitializer
@@ -386,14 +390,14 @@
  - Changed MP_WORD_BITS macro to BOTAN_MP_WORD_BITS to clean up namespace
  - Documentation updates

-* 1.3.13, May 15, 2004
+* 1.3.13, 2004-05-15
  - Major fixes for Cygwin builds
  - Minor MacOS X install fixes
  - The configure script is a little better at picking the right modules
  - Removed ml_unix from the 'unix' module set for Cygwin compatibility
  - Fixed a stupid compile problem in pkcs10.h

-* 1.3.12, May 2, 2004
+* 1.3.12, 2004-05-02
  - Added ability to remove old entries from CRLs
  - Swapped the first two arguments of X509_CA::update_crl()
  - Added an < operator for MemoryRegion, so it can be used as a std::map key
@@ -406,7 +410,7 @@
  - Corrected errors in the API doc, fixes from Ken Perano
  - More documentation about the Pipe/Filter code

-* 1.3.11, April 1, 2004
+* 1.3.11, 2004-04-01
  - Fixed two show-stopping bugs in PKCS10_Request
  - Added some sanity checks in Pipe/Filter
  - The DNS and URI entries would get swapped in subjectAlternativeNames
@@ -416,7 +420,7 @@
  - Fixed some problems in the tutorial pointed out by Dominik Vogt
  - Documentation updates

-* 1.3.10, March 27, 2004
+* 1.3.10, 2004-03-27
  - Added support for OpenPGP's ASCII armor format
  - Cleaned up the RNG system; seeding is much more flexible
  - Added simple autoconfiguration abilities to configure.pl
@@ -424,7 +428,7 @@
  - Updated the example configuration file
  - Documentation updates

-* 1.3.9, March 7, 2004
+* 1.3.9, 2004-03-07
  - Added an engine using OpenSSL (requires 0.9.7 or later)
  - X509_Certificate would lose email addresses stored in the DN
  - Fixed a missing initialization in a BigInt constructor
@@ -432,7 +436,7 @@
  - Fixed some BeOS build problems
  - Fixed the WiderWake benchmark

-* 1.3.8, December 30, 2003
+* 1.3.8, 2003-12-30
  - Internal changes to PK algorithms to divide data and algorithms
  - DSA/DH/NR/ElGamal constructors accept taking just the private key again
  - ElGamal keys now support being imported/exported as ASN.1 objects
@@ -453,7 +457,7 @@
  - Moved more shared code into MDx_HashFunction
  - Added a policy hook for specifying the encoding of X.509 strings

-* 1.3.7, December 12, 2003
+* 1.3.7, 2003-12-12
  - Fixed a big security problem in es_unix
  - Fixed several stability problems in es_unix
  - Expanded the list of programs es_unix will try to use
@@ -464,13 +468,13 @@
  - Removed the (never tested) VAX support
  - Added support for S/390 Linux

-* 1.3.6, December 7, 2003
+* 1.3.6, 2003-12-07
  - Added a new module 'minimal', which disables most algorithms
  - SecureAllocator allocates a few blocks at startup
  - A few minor MPI cleanups
  - RPM spec file cleanups and fixes

-* 1.3.5, November 30, 2003
+* 1.3.5, 2003-11-30
  - Major improvements in ASN.1 string handling
  - Added partial support for ASN.1 UTF8 STRINGs and BMP STRINGs
  - Added partial support for the X.509v3 certificate policies extension
@@ -489,10 +493,10 @@
  - RPM changed to install into /usr instead of /usr/local
  - Added support for QNX

-* 1.2.8, November 21, 2003
+* 1.2.8, 2003-11-21
  - Merged several important bug fixes from 1.3.x

-* 1.3.4, November 21, 2003
+* 1.3.4, 2003-11-21
  - Added a module that does certain MPI operations using GNU MP
  - Added the X9.42 Diffie-Hellman PRF
  - The Zlib and Bzip2 objects now use custom allocators
@@ -501,7 +505,7 @@
  - Some cleanups in the low-level MPI code
  - Created separate AES-{128,192,256} objects

-* 1.3.3, November 17, 2003
+* 1.3.3, 2003-11-17
  - The library can now be repeatedly initialized and shutdown without crashing
  - Fixed an off-by-one error in the CTS code
  - Fixed an error in the EMSA4 verification code
@@ -517,7 +521,7 @@
  - Updated the example config file with new OIDSs
  - Moved the build instructions into a separate document, building.tex

-* 1.3.2, November 13, 2003
+* 1.3.2, 2003-11-13
  - Fixed a bug preventing DSA signatures from verifying on X.509 objects
  - Made the X509_Store search routines more efficient and flexible
  - Added a function to X509_PublicKey to do easy public/private key matching
@@ -536,12 +540,12 @@
  - Various new hacks in the configure script
  - Removed the already nominal support for SunOS

-* 1.3.1, November 4, 2003
+* 1.3.1, 2003-11-04
  - Generalized a few pieces of the DER encoder
  - PKCS8::load_key would fail if handed an unencrypted key
  - Added a failsafe so PKCS #8 key decoding can't go into an infinite loop

-* 1.3.0, November 2, 2003
+* 1.3.0, 2003-11-02
  - Major redesign of the PKCS #8 private key import/export system
  - Added a small amount of UI interface code for getting passphrases
  - Added heuristics that tell if a key, cert, etc is stored as PEM or BER
@@ -549,7 +553,7 @@
  - Removed certain deprecated constructors of RSA, DSA, DH, RW, NR
  - Made PEM decoding more forgiving of extra text before the header

-* 1.2.7, October 31, 2003
+* 1.2.7, 2003-10-31
  - Added support for reading configuration files
  - Added constructors so NR and RW keys can be imported easily
  - Fixed mp_asm64, which was completely broken in 1.2.6
@@ -562,7 +566,7 @@
  - Updated the RPM spec file
  - Added to the tutorial

-* 1.2.6, July 4, 2003
+* 1.2.6, 2003-07-04
  - Major performance increase for PK algorithms on most 64-bit systems
  - Cleanups in the low-level MPI code to support asm implementations
  - Fixed build problems with some versions of Compaq's C++ compiler
@@ -570,7 +574,7 @@
  - Removed support for the patch_file directive in module files
  - Removed several deprecated functions

-* 1.2.5, June 22, 2003
+* 1.2.5, 2003-06-22
  - Fixed a tricky and long-standing memory leak in Pipe
  - Major cleanups and fixes in the memory allocation system
  - Removed alloc_mlock, which has been superseded by the ml_unix module
@@ -591,13 +595,13 @@
  - Removed the (empty) desx.h header
  - Documentation updates

-* 1.2.4, May 29, 2003
+* 1.2.4, 2003-05-29
  - Fixed a bug in EMSA1 affecting NR signature verification
  - Fixed a few latent bugs in BigInt related to word size
  - Removed an unused function, mp_add2_nc, from the MPI implementation
  - Reorganized the core MPI files

-* 1.2.3, May 20, 2003
+* 1.2.3, 2003-05-20
  - Fixed a bug that prevented DSA/NR key generation
  - Fixed a bug that prevented importing some root CA certs
  - Fixed a bug in the BER decoder when handing optional bit or byte strings
@@ -609,7 +613,7 @@
  - Added a simplistic X.509 CA example
  - Cleaned up some of the examples

-* 1.2.2, May 13, 2003
+* 1.2.2, 2003-05-13
  - Add checks to prevent any BigInt bugs from revealing an RSA or RW key
  - Changed the interface of Global_RNG::seed
  - Major improvements for the es_unix module
@@ -620,7 +624,7 @@
  - Fixed a file descriptor leak in the EGD module
  - Fixed a few locking bugs

-* 1.2.1, May 6, 2003
+* 1.2.1, 2003-05-06
  - Added ANSI X9.23 compatible CBC padding
  - Added an entropy source using Win32 CryptoAPI
  - Removed the Pipe I/O operators taking a FILE*
@@ -628,13 +632,13 @@
  - Integrated several fixes for VC++ 7 (from Hany Greiss)
  - Fixed the configure.pl script for Windows builds

-* 1.2.0, April 28, 2003
+* 1.2.0, 2003-04-28
  - Tweaked the Karatsuba cut-off points
  - Increased the allowed keylength of HMAC and Blowfish
  - Removed the 'mpi_ia32' module, pending rewrite
  - Workaround a GCC 2.95.x bug in eme1.cpp

-* 1.1.13, April 22, 2003
+* 1.1.13, 2003-04-22
  - Added OMAC
  - Added EAX authenticated cipher mode
  - Diffie-Hellman would not do blinding in some cases
@@ -648,7 +652,7 @@
  - Removed 'es_pthr' module, pending further testing
  - Cleaned up get_ciph.cpp

-* 1.1.12, April 15, 2003
+* 1.1.12, 2003-04-15
  - Fixed a ASN.1 string encoding bug
  - Fixed a pair of X509_DN encoding problems
  - Base64_Decoder and Hex_Decoder can now validate input
@@ -658,7 +662,7 @@
  - Updated the RPM .spec file
  - Major documentation updates

-* 1.1.11, April 7, 2003
+* 1.1.11, 2003-04-07
  - Added PKCS #10 certificate requests
  - Changed X509_Store searching interface to be more flexible
  - Added a generic Certificate_Store interface
@@ -667,7 +671,7 @@
  - New examples for PKCS #10 and self-signed certificates
  - Some documentation updates

-* 1.1.10, April 3, 2003
+* 1.1.10, 2003-04-03
  - X509_CA can now generate new X.509 CRLs
  - Added blinding for RSA, RW, DH, and ElGamal to prevent timing attacks
  - More certificate and CRL extensions/attributes are supported
@@ -678,7 +682,7 @@
  - Added a (slow) pthreads based EntropySource
  - Fixed some threading bugs

-* 1.1.9, February 25, 2003
+* 1.1.9, 2003-02-25
  - Added support for using X.509v2 CRLs
  - Fixed several bugs in the path validation algorithm
  - Certificates can be verified for a particular usage
@@ -686,7 +690,7 @@
  - Cleaned up the code for the es_beos, es_ftw, es_unix modules
  - Documentation updates

-* 1.1.8, January 29, 2003
+* 1.1.8, 2003-01-29
  - Fixes for the certificate path validation algorithm in X509_Store
  - Fixed a bug affecting X509_Certificate::is_ca_cert()
  - Added a general configuration interface for policy issues
@@ -697,17 +701,17 @@
  - Fixed problems compiling with GCC 2.95.3 and GCC 2.96
  - Fixed a configure bug (reported by Jon Wilson) affecting MinGW

-* 1.1.7, January 12, 2003
+* 1.1.7, 2003-01-12
  - Fixed an obscure but dangerous bug in SecureVector::swap
  - Consolidated SHA-384 and SHA-512 to save code space
  - Added SSL3-MAC and SSL3-PRF
  - Documentation updates, including a new tutorial

-* 1.0.2, January 12, 2003
+* 1.0.2, 2003-01-12
  - Fixed an obscure SEGFAULT causing bug in Pipe
  - Fixed an obscure but dangerous bug in SecureVector::swap

-* 1.1.6, December 10, 2002
+* 1.1.6, 2002-12-10
  - Initial support for X.509v3 certificates and CAs
  - Major redesign/rewrite of the ASN.1 encoding/decoding code
  - Added handling for DSA/NR signatures encoded as DER SEQUENCEs
@@ -715,13 +719,13 @@
  - Added an (untested) entropy source for BeOS
  - Various cleanups and bug fixes

-* 1.1.5, November 17, 2002
+* 1.1.5, 2002-11-17
  - Added the discrete logarithm integrated encryption system (DLIES)
  - Various optimizations for BigInt
  - Added support for assembler optimizations in modules
  - Added BigInt x86 optimizations module (mpi_ia32)

-* 1.1.4, November 10, 2002
+* 1.1.4, 2002-11-10
  - Speedup of 15-30% for PK algorithms
  - Implemented the PBES2 encryption scheme
  - Fixed a potential bug in decoding RSA and RW private keys
@@ -733,7 +737,7 @@
  - A botan-config script is generated at configure time
  - Documentation updates

-* 1.1.3, November 3, 2002
+* 1.1.3, 2002-11-03
  - Added a generic public/private key loading interface
  - Fixed a small encoding bug in RSA, RW, and DH
  - Changed the PK encryption/decryption interface classes
@@ -746,7 +750,7 @@
  - Added tests for PKCS #8 encoding/decoding
  - Added more tests for ECB and CBC

-* 1.1.2, October 21, 2002
+* 1.1.2, 2002-10-21
  - Support for PKCS #8 encoded RSA, DSA, and DH private keys
  - Support for Diffie-Hellman X.509 public keys
  - Major reorganization of how X.509 keys are handled
@@ -761,7 +765,7 @@
  - Renamed CTR class to CTR_BE
  - Updated the RSA and DSA examples to use X.509 and PKCS #8 key formats

-* 1.1.1, October 15, 2002
+* 1.1.1, 2002-10-15
  - Added the Korean hash function HAS-160
  - Partial support for RSA and DSA X.509 public keys
  - Added a mostly functional BER encoder/decoder
@@ -774,7 +778,7 @@
  - Discrete logarithm groups are checked for safety more closely now
  - For compatibility with GnuPG, ElGamal now supports DSA-style groups

-* 1.1.0, September 14, 2002
+* 1.1.0, 2002-09-14
  - Added entropy estimation to the RNGs
  - Improved the overall design of both Randpool and ANSI_X917_RNG
  - Added a separate RNG for nonce generation
@@ -791,20 +795,20 @@
  - Added support for variable-pass Tiger
  - Major speedup for Rabin-Williams key generation

-* 1.0.1, September 14, 2002
+* 1.0.1, 2002-09-14
  - Fixed a minor bug in Randpool::random()
  - Added some new aliases and typedefs for 1.1.x compatibility
  - The 4096-bit RSA benchmark key was decimal instead of hex
  - EMAC was returning an incorrect name

-* 1.0.0, August 26, 2002
+* 1.0.0, 2002-08-26
  - Octal I/O of BigInt is now supported
  - Fixed portability problems in the es_egd module
  - Generalized IV handling in the block cipher modes
  - Added Karatsuba multiplication and k-ary exponentiation
  - Fixed a problem in the multiplication routines

-* 0.9.2, August 18, 2002
+* 0.9.2, 2002-08-18
  - DH_PrivateKey::public_value() was returning the wrong value
  - Various BigInt optimizations
  - The filters.h header now includes hex.h and base64.h
@@ -812,7 +816,7 @@
  - Fixed a couple minor problems with VC++ 7
  - Fixed problems with the RPM spec file

-* 0.9.1, August 10, 2002
+* 0.9.1, 2002-08-10
  - Grand rename from OpenCL to Botan
  - Major optimizations for the PK algorithms
  - Added ElGamal encryption
@@ -827,12 +831,12 @@
  - Removed some old examples that weren't that interesting
  - Documented the compression modules

-* 0.9.0, August 3, 2002
+* 0.9.0, 2002-08-03
  - EMSA4 supports variable salt size
  - PK_* can take a string naming the encoding method to use
  - Started writing some internals documentation

-* 0.8.7, July 30, 2002
+* 0.8.7, 2002-07-30
  - Fixed bugs in EME1 and EMSA4
  - Fixed a potential crash at shutdown
  - Cipher modes returned an ill-formed name
@@ -841,7 +845,7 @@
  - Minor additions to the documentation
  - First stab at a Visual C++ makefile (doc/Makefile.vc7)

-* 0.8.6, July 25, 2002
+* 0.8.6, 2002-07-25
  - Added EMSA4 (aka PSS)
  - Brought the manual up to date; many corrections and additions
  - Added a parallel hash function construction
@@ -862,7 +866,7 @@
  - Made validation tests more verbose
  - Updated the check and example applications

-* 0.8.5, July 21, 2002
+* 0.8.5, 2002-07-21
  - Major changes to constructors for DL-based cryptosystems (DSA, NR, DH)
  - Added a DL_Group class
  - Reworking of the pubkey internals
@@ -879,7 +883,7 @@
  - Fixes for HP's aCC compiler
  - Cleanups in BigInt

-* 0.8.4, July 14, 2002
+* 0.8.4, 2002-07-14
  - Added Nyberg-Rueppel signatures
  - Added Diffie-Hellman key exchange (kex interface is subject to change)
  - Added KDF2
@@ -894,7 +898,7 @@
  - FTW_EntropySource was not closing the files it read
  - Fixed line breaking problem in Hex_Encoder

-* 0.8.3, June 9, 2002
+* 0.8.3, 2002-06-09
  - Added DSA and Rabin-Williams signature schemes
  - Added EMSA3
  - Added PKCS#1 v1.5 encryption padding
@@ -911,7 +915,7 @@
  - Numerous bugfixes and cleanups
  - Documentation updates

-* 0.8.2, May 18, 2002
+* 0.8.2, 2002-05-18
  - Added an (experimental) algorithm lookup interface
  - Added code for directly testing BigInt
  - Added SHA2-384
@@ -925,7 +929,7 @@
  - Better support for PowerPC, ARM, and Alpha
  - Some more cleanups

-* 0.8.1, May 6, 2002
+* 0.8.1, 2002-05-06
  - Major code cleanup (check doc/deprecated.txt)
  - Various bugs fixed, including several portability problems
  - Renamed MessageAuthCode to MessageAuthenticationCode
@@ -934,7 +938,7 @@
  - Added ANSI X9.19 compatible CBC-MAC
  - TripleDES now supports 128 bit keys

-* 0.8.0, April 24, 2002
+* 0.8.0, 2002-04-24
  - Merged BigInt: many bugfixes and optimizations since alpha2
  - Added RSA (rsa.h)
  - Added EMSA2 (emsa2.h)
@@ -952,7 +956,7 @@
  - Documentation updates for the new stuff (still incomplete)
  - Many new deprecated things: check doc/deprecated.txt

-* 0.7.10, April 7, 2002
+* 0.7.10, 2002-04-07
  - Added EGD_EntropySource module (es_egd)
  - Added a file tree walking EntropySource (es_ftw)
  - Added MemoryLocking_Allocator module (alloc_mlock)
@@ -967,7 +971,7 @@
  - Removed some Pipe functions deprecated since 0.7.8
  - Some fixes for the configure program

-* 0.7.9, March 19, 2002
+* 0.7.9, 2002-03-19
  - Memory allocation substantially revamped
  - Added memory allocation method based on mmap(2) in the mmap_mem module
  - Added ECB and CTS block cipher modes (ecb.h, cts.h)
@@ -981,7 +985,7 @@
  - Made X917 safer (and about 1/3 as fast)
  - Documentation updates

-* 0.7.8, February 28, 2002
+* 0.7.8, 2002-02-28
  - More capabilities for Pipe, inspired by SysV STREAMS, including peeking,
    better buffering, and stack ops. NOT BACKWARDS COMPATIBLE: SEE DOCUMENTATION
  - Added a BufferingFilter class
@@ -995,7 +999,7 @@
  - Fixed various minor bugs
  - Added a couple of new example programs (stack and hasher2)

-* 0.7.7, November 24, 2001
+* 0.7.7, 2001-11-24
  - Filter::send now works in the constructor of a Filter subclass
  - You may now have to include <opencl/pipe.h> explicitly in some code
  - Added preliminary PK infrastructure classes in pubkey.h and pkbase.h
@@ -1008,7 +1012,7 @@
  - Added portions of the BigInt code into the main library
  - Support for VAX, SH, POWER, PowerPC-64, Intel C++

-* 0.7.6, October 14, 2001
+* 0.7.6, 2001-10-14
  - Fixed several serious bugs in SecureVector created in 0.7.5
  - Square optimizations
  - Fixed shared objects on MacOS X and HP-UX
@@ -1017,7 +1021,7 @@
  - Added a table of prime numbers < 2**16 (primes.h)
  - Some minor documentation updates

-* 0.7.5, August 19, 2001
+* 0.7.5, 2001-08-19
  - Split checksum.h into adler32.h, crc24.h, and crc32.h
  - Split modes.h into cbc.h, cfb.h, and ofb.h
  - CBC_wPadding* has been replaced by CBC_Encryption and CBC_Decryption
@@ -1034,7 +1038,7 @@
  - Various non-user-visible cleanups
  - Shared library soname is now set to the full version number

-* 0.7.4, July 15, 2001
+* 0.7.4, 2001-07-15
  - New modules: Zlib, gettimeofday and x86 RTC timers, Unix I/O for Pipe
  - Fixed a vast number of errors in the config script/makefile/specfile
  - Pipe now has a stdio(3) interface as well as C++ iostreams
@@ -1046,14 +1050,14 @@
  - filtbase.h now includes <iosfwd>, not <iostream>
  - Minor documentation updates

-* 0.7.3, June 8, 2001
+* 0.7.3, 2001-06-08
  - Fix build problems on Solaris/SPARC
  - Fix build problems with Perl versions < 5.6
  - Fixed some stupid code that broke on a few compilers
  - Added string handling functions to Pipe
  - MISTY1 optimizations

-* 0.7.2, June 3, 2001
+* 0.7.2, 2001-06-03
  - Build system supports modules
  - Added modules for mlock, a /dev/random EntropySource, POSIX1.b timers
  - Added Bzip2 compression filter, contributed by Peter Jones
@@ -1062,7 +1066,7 @@
  - Various other minor fixes and changes
  - Updates to the documentation

-* 0.7.1, May 16, 2001
+* 0.7.1, 2001-05-16
  - Rewrote configure script: more consistent and complete
  - Made it easier to find out parameters of types at run time (opencl.h)
  - New functions for finding the version being used (version.h)
@@ -1074,5 +1078,6 @@
  - Many more entries in the test vector file
  - Fixed minor and idiotic bug in check.cpp

-* 0.7.0, March 1, 2001
+* 0.7.0, 2001-03-01
  - First public release
+