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

  *) New APR_THREAD_LOCAL and apr_thread_current*() API.  [Yann Ylavic]

  *) apr_crypto_openssl: Compatibility with OpenSSL 3.  [Yann Ylavic]

  *) apr-1-config: Fix crosscompiling detection in apr-1-config. PR 66510
     [Ruediger Pluem]

  *) configure: Add --enable-sysv-shm to use SysV shared memory (shmget) if
     available. [Ruediger Pluem]

  *) configure: Prefer posix name-based shared memory over SysV IPC.
     [Jim Jagielski]

  *) configure: Add --disable-sctp argument to forcibly disable SCTP
     support, or --enable-sctp which fails if SCTP support is not
     detected.  [Lubos Uhliarik <luhliari redhat.com>, Joe Orton]

  *) apr_dbm: Add dedicated apr_dbm_get_driver() function that returns
     details of the driver selected and any error encountered. Add the
     apr_dbm_open2() function that references the driver. [Graham Leggett]

  *) apr_mmap_t members pstart, psize and poffset are used internally only
     on Windows, remove them.  [Yann Yalvic]

  *) Align apr_mmap()ing offset to a page boundary. [Yann Ylavic]

  *) APR's configure script uses AC_TRY_RUN to detect whether the return type
     of strerror_r is int. When cross-compiling this defaults to no.

     This commit adds an AC_CACHE_CHECK so users who cross-compile APR may
     influence the outcome with a configure variable. [Sebastian Kemper
     <sebastian_ml gmx net>]

  *) Add a cache check with which users who cross-compile APR
     can influence the outcome of the /dev/zero test by setting the variable
     ac_cv_mmap__dev_zero=yes [Sebastian Kemper <sebastian_ml gmx net>]

  *) apr_crypto_commoncrypto: Remove stray reference to -lcrypto that
     prevented commoncrypto being enabled. [Graham Leggett]

  *) Add --tag=CC to libtool invocations. PR 62640. [Michael Osipov]

  *) apr_thread_exit() is now a void function.  [Joe Orton]

  *) apr_crypto_openssl: Remove unused link to the ssl library.
     [Graham Leggett]

  *) apu_dso_init: Fix pool lifetime and introduce a reference count.
     apu_dso_init() can now be called more than once (from multiple
     modules) and from unrelated pools (usually seen in unit tests).
     [Graham Leggett]

  *) apr_crypto_openssl: use OPENSSL_init_crypto() to initialise OpenSSL
     on versions 1.1+. [Graham Leggett]

  *) Fixed: apr_get_oslevel() was returning APR_WIN_XP on Windows 10

  *) Windows platform: Use the native XML parser implementation (XmlLite)
     by default instead of libxml2 and expat. [Ivan Zhakov]

  *) Fix handle leak in the Win32 apr_uid_current implementation.
     PR 61165. [Ivan Zhakov]

  *) apr_rwlock_t: Use native Slim Reader/Writer (SRW) locks on Windows.
     PR 51360. [Ivan Zhakov]

  *) Fix possible race condition in the Win32 apr_rwlock_t implementation.
     PR 45455. [Ivan Zhakov]

  *) 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]

  *) 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]

  *) apr_file_trunc: Truncating a buffered file could add unexpected
     data after the truncate position. PR 51017.
     [Evgeny Kotkov]

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

  *) 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_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]

  *) Remove the APR_SENDFILE_DISCONNECT_SOCKET flag. [Ivan Zhakov]

  *) apr_atomic_read64(): Fix non-atomic read on 32-bit Windows [Ivan Zhakov]

  *) apr_proc_create(): Properly escape arguments containing whitespace
     characters on Windows [Ivan Zhakov]

  *) Fix attempt to free invalid memory on exit when apr_app is used
     on Windows. [Ivan Zhakov]

  *) Fix double free on exit when apr_app is used on Windows. [Ivan Zhakov]

  *) apr_thread_create: Fix potential race condition on Windows. [Ivan Zhakov]

  *) apr_proc_create(): Fix incorrect error handling when pipes are redirected
     on Windows [Ivan Zhakov]

  *) apr_proc_create(): Fix potential handle leak when apr_proc_create() is used
     from multiple threads on Windows [Ivan Zhakov]

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

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

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
