                                                     -*- coding: utf-8 -*-
Changes with APR-util 1.6.0

  *) Mark apr_dbd_freetds as unsupported, and remove it from all builds
     [Nick Kew]

  *) Update MySQL build to stop using libmysqlclient_r.
     [Petr Sumbera <petr.sumbera oracle.com>]

  *) apr_buckets: Add apr_bucket_file_set_buf_size() which allows to configure
     the size of the buffer used to read files.  [Yann Ylavic]

  *) apr_crypto: avoid excessive iteration in bcrypt hash.
     [Hanno Böck <hanno hboeck.de>]

  *) apr_siphash: Implement keyed hash function SipHash.  [Yann Ylavic]

  *) apr_crypto: Add apr_crypto_key() function which supports keys
     generated from a passphrase or a raw secret provided by the caller.
     Deprecate apr_crypto_passphrase(). [Graham Leggett]

  *) apr_crypto_nss: Ensure the SECItem returned by PK11_ParamFromIV
     is properly freed. [Graham Leggett]

  *) apr_crypto: Don't cache the driver if initialisation fails. This
     stops the second and subsequent attempt to use the API from failing
     claiming the library is not initialised. [Graham Leggett]

  *) apr_crypto: Add a native CommonCrypto implementation for iOS and OSX
     where OpenSSL has been deprecated. [Graham Leggett]

  *) apr_xml_to_text: Add style APR_XML_X2T_PARSED to maintain a
     consistent namespace prefix. [Jari Urpalainen
     <jari.urpalainen nokia.com>]

Changes with APR-util 1.5.x and later:

  *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.5.x/CHANGES?view=markup

Changes with APR-util 1.4.x and later:

  *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.4.x/CHANGES?view=markup

Changes for APR-util 1.3.x and later:

  *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.3.x/CHANGES?view=markup

Changes for APR-util 1.2.x and later:

  *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.2.x/CHANGES?view=markup

Changes for APR-util 1.1.x and later:

  *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.1.x/CHANGES?view=markup

Changes for APR-util 1.0.x and later:

  *) http://svn.apache.org/viewvc/apr/apr-util/branches/1.0.x/CHANGES?view=markup

Changes for APR-util 0.9.x and later/earlier:

  *) http://svn.apache.org/viewvc/apr/apr-util/branches/0.9.x/CHANGES?view=markup
