                                                     -*- coding: utf-8 -*-
Changes for APR 2.0.0

  *) apr_thread_once: Fix problem that apr_thread_once can return before
     the other thread completes initialization on Windows.

  *) Windows platform: Remove support for Windows 2000, XP, Vista. The minimum
     supported OS versions are now Windows 7 / Windows Server 2008 R2.

  *) apr_file_info: [Win32 only] Treat only "name surrogate" reparse points
     as symlinks, and not other reparse tag types. PR47630
     [Oleg Liatte <olegliatte gmail.com>]

  *) Test %ld vs. %lld to avoid compiler emits using APR_OFF_T_FMT, in the
     case of apparently equivilant long and long long types. [William Rowe] 

  *) Recognize APPLE predefined macros as equivilant to DARWIN. [Jim Jagielski]

  *) Signals: Allow handling of SIGUSR2 in apr_signal_thread. [Yann Ylavic]

  *) Atomics: Support for 64bit ints. [Jim Jagielski]

  *) apr_jose: Add support for encoding and decoding of JSON Object
     Signing and Encryption messages as per RFC7515, RFC7516, RFC7517
     and RFC7519. [Graham Leggett]

  *) Add apr_errprintf() as a convenience function to create and
     populate apu_err_t. [Graham Leggett]

  *) apr_crypto: Add support for digest functions, with hashing, signing
     and verifying. [Graham Leggett]

  *) apr_json: Add support for encoding and decoding RFC8259 JSON.
     [Moriyoshi Koizumi <mozo mozo jp>]

  *) Add the apr_encode_* API that implements RFC4648 and RFC7515
     compliant BASE64, BASE64URL, BASE32, BASE32HEX and BASE16
     encode/decode functions. [Graham Leggett]

  *) Add apr_reslist_acquire_ex() which allows to control acquire order,
     that is LIFO (default) or FIFO.  [Yann Ylavic]

  *) apr_file_write: Optimize large reads from buffered files on Windows.
     [Evgeny Kotkov]

  *) Add apr_pool_tag_get to retrieve the pool tag name.  [Joe Orton]

  *) Add apr_sockaddr_zone_set, apr_sockaddr_zone_set to set and retrieve
     the zone for link-local IPv6 addresses.  [Joe Orton]

  *) apr_sockaddr_equal: Compare link-local IPv6 addresses with different
     zones as not equal.  [Joe Orton]

  *) apr_sockaddr_ip_getbuf, apr_sockaddr_ip_get: Append "%zone" for
     IPv6 link-local addresses.  [Joe Orton]

  *) Don't seek to the end when opening files with APR_FOPEN_APPEND on Windows.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

  *) Fix a deadlock when writing to locked files opened with APR_FOPEN_APPEND
     on Windows. PR 50058.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

  *) apr_file_write: Optimize large writes to buffered files on Windows.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

  *) apr_file_trunc: Truncating a buffered file could add unexpected
     data after the truncate position. PR 51017.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

  *) apr_file_trunc: Fix an issue where reading from a buffered file
     after truncate could return stale data from the buffer.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

  *) apr_allocator, apr_pools: Add apr_allocator_page_size() and
     apr_allocator_min_order_set() to respectively get the (system's) page size
     in use and set the minimum allocation size for an allocator (expressed in
     2^order pages).  [Yann Ylavic]

  *) apr_file_gets: Optimize for buffered files on Windows.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

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

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

  *) apr_atomic: change the API of apr_atomic_casptr() apr_atomic_xchgptr()
     functions to take a volatile pointer to void instead of pointer to
     volatile void.  [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_xml_to_text: Add style APR_XML_X2T_PARSED to maintain a
     consistent namespace prefix. [Jari Urpalainen
     <jari.urpalainen nokia.com>]

  *) apr_os_proc_mutex-unix: For consistency with other OS native to APR
     types constructors/_put()ers and non-unix mutex mechanisms, always
     destroy the underlying native mutex when apr_proc_mutex_destroy() is
     called explicitly.  [Yann Ylavic]

  *) apr_os_proc_mutex_put_ex: Allow to specify whether the OS native
     mutex should or not be cleaned up (destroyed) with the constructed
     APR mutex (given pool), and default to not for the simple _put()
     function.  [Yann Ylavic]

  *) apr_file_io: Add apr_file_pipe_create_pools() allowing a pair of
     pipes to be created, each in a different pool. [Graham Leggett]

  *) apr_table_overlap: Add APR_OVERLAP_TABLES_ADD to merge and set when
     overlapping tables. [Graham Leggett]

  *) apr_filepath_merge: Fix truename length calculation on Windows
     in cases where the "short" name variant is actually longer than
     the "long" or "true" name. See: testnames.c:merge_shortname().
     [Bert Huijben <rhuijben a.o>]

  *) apr_file_mktemp: Use mkostemp() where available to save on system
     calls.  [Joe Orton]

  *) apr_pools: Fix pool debugging output so that creation events are
     always emitted before allocation events and subpool destruction
     events are emitted on pool clear/destroy for proper accounting.
     [Brane Čibej]

  *) apr_atomic: Fix errors when building on Visual Studio 2013 while
     maintaining the ability to build on Visual Studio 6 with Windows
     Server 2003 R2 SDK. PR 57191. [Gregg Smith]

  *) build: Correctly use AC_(PATH|CHECK)_TOOL to support cross compilation.
     PR: 56866.  [Timothy Gu <timothygu99 gmail.com>]

  *) apr_queue: Add apr_queue_timedpush() and apr_queue_timedpop() to
     support timedout operations. PR 56951. [Anthony Minessale <anthm
     freeswitch org>, Travis Cross <tc+asf travislists com>, Yann Ylavic].

  *) apr_allocator: Be less wasteful and don't return a memnode that is
     much larger than what was requested. [Stefan Fuhrmann
     <stefan fuhrmann wandisco com>]

  *) Windows platform: Remove support for Windows 9x.

  *) Added signed apr_intptr_t.  Changed ODBC dbd driver to use this.
     [Tom Donovan]

  *) Changes to apr_pollset_method_e enum value of APR_POLLSET_POLL and
     APR_POLLSET_AIO_MSGQ.  Restore APR_POLLSET_POLL to its pre-r1308910 
     (April 2012) value, and move APR_POLLSET_AIO_MSGQ ahead. This restores
     ABI compat with released branches.  [Eric Covener]

  *) Add apr_pbase64_encode() and apr_pbase64_decode() to encode to/from
     the pool. [Graham Leggett]

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

  *) Fix pool integrity checks with threads. Add new apr_pool_owner_set()
     function. PR 43375, 52785. [Stefan Fritsch]

  *) Add support code to teach valgrind about APR pools, allocators, and
     bucket allocators. [Stefan Fritsch]

  *) apr_socket_accept_filter(): The 2nd and 3rd arguments are now 
     const char * instead of char *.  [Jeff Trawick]

  *) apr_brigades: add a check to prevent infinite while loop in case
     of a corrupted brigade.  Problem evidenced in PR 51062.  Analysis by
     Krzysztof Kostałkowicz <KKostalkowicz ivmx.pl>, patch [Nick Kew].

  *) Support libxml2 as an alternative XML parser to expat [Nick Kew]

  *) Hide apr_wait_for_io_or_timeout() from public view and add instead
     apr_socket_wait() and apr_file_pipe_wait(). [Brian Havard]

  *) Support connecttimeout, readtimeout and writetimeout MySQL options
     PR 48251 [Marko Kevac <marko kevac.org>]

  *) Transfer the apr-util spec file contents to apr.spec. [Graham
     Leggett]

  *) Added Unix domain socket support.  [Mladen Turk]

  *) Merge APR-util into APR.  [various]

  *) apr_socket_listen: Allow larger listen backlog values on Windows 8+.
     [Evgeny Kotkov <evgeny.kotkov visualsvn.com>]

Changes for APR and APR-util 1.6.x and later:

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

Changes for APR and APR-util 1.5.x and later:

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

Changes for APR and APR-util 1.4.x and later:

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

Changes for APR and APR-util 1.3.x and later:

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

Changes for APR and APR-util 1.2.x and later:

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

Changes for APR and APR-util 1.1.x and later:

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

Changes for APR and APR-util 1.0.x and later:

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

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

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