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

  *) apr_pollset_poll: Fix an issue on z/OS where unpredictable
     message queue identifiers could be removed when non-threadsafe
     pollsets cleaned up. [Eric Covener]

  *) apr_proc_mutex-pthread: Refcount shared mutexes usage to avoid
     destruction while still is use by some process(es).  PR 49504.
     [Yann Ylavic]

  *) apr_mcast_interface/apr_mcast_join: Fix comparison of IPv6 addresses.
     [ Andre Naujoks <nautsch2 gmail com> ]

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

Changes for APR 1.5.2

  *) SECURITY: CVE-2015-1829 (cve.mitre.org)
     APR applications using APR named pipe support on Windows can be 
     vulnerable to a pipe squatting attack from a local process; the extent
     of the vulnerability, when present, depends on the application.
     Initial analysis and report was provided by John Hernandez of Casaba 
     Security via HP SSRT Security Alert.  [Yann Ylavic]

  *) Potential Windows build consideration: The increased use of 
     UuidCreate() in APR may introduce a link error for applications
     which link with apr-1.lib.  Include the Windows library rpcrt4 if
     linking fails with an unresolved reference to UuidCreate().
     
  *) 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]

  *) Switch to generic atomics for early/unpatched Solaris 10 not exporting
     some atomic functions.  PR 55418.  [Yann Ylavic]

  *) apr_file_mktemp() on HP-UX: Remove limitation of 26 temporary files
     per process.  PR 57677.  [Jeff Trawick]

  *) apr_escape: Correctly calculate the size of the returned string in
     apr_escape_path and set the correct return value in case we actually
     escape the string. [<aduryagin gmail.com>] PR 57230.

  *) pollcb on Windows: Handle calls with no file/socket descriptors.
     Follow up to PR 49882. [Jeff Trawick, Yann Ylavic]

  *) apr_poll(cb): fix error paths returned values and leaks.  [Yann Ylavic]

  *) apr_thread_cond_*wait() on BeOS: Fix broken logic.  PR 45800.
     [Jochen Voss (no e-mail)]

  *) apr_skiplist: Optimize the number of allocations by reusing pooled or
     malloc()ed nodes for the lifetime of the skiplist.  [Yann Ylavic]

  *) apr_skiplist: Fix possible multiple-free() on the same value in
     apr_skiplist_remove_all().  [Yann Ylavic]

  *) apr_pollset: On z/OS, threadsafe apr_pollset_poll() may return
     "EDC8102I Operation would block" under load.
     [Pat Odonnell <patod us.ibm.com>]

  *) On z/OS, apr_sockaddr_info_get() with family == APR_UNSPEC was not 
     returning IPv4 addresses if any IPv6 addresses were returned. 
     [Eric Covener]

  *) Windows cmake build: Fix an incompatibility with cmake 2.8.12 and
     later.  [Jeff Trawick]

  *) apr_global_mutex/apr_proc_mutex: Resolve failures with the 
     POSIX sem implementation in environments which receive signals.
     [Jeff Trawick]

  *) apr_skiplist: Fix potential corruption of skiplists leading to 
     results or crashes. [Takashi Sato <takashi tks st>, Eric Covener]
     PR 56654.

  *) Improve platform detection by updating config.guess and config.sub.
     [Rainer Jung]

Changes for APR 1.5.1

  *) apr_os_proc_mutex_get() on Unix:  Avoid segfault for cross-
     process pthread mutexes.  [Yann Ylavic <ylavic.dev gmail.com>]

  *) When using shmget-based shared memory, the ID used for ftok is
     now an APR hash of the filename instead of the constant '1'.
     We do this to help avoid collisions. PR 53996 [Jim Jagielski]

  *) apr_socket_atreadeof(): Fix breakage on OS X. [Jim Jagielski]

  *) Fix POSIX shared memory (shm_open) use for named shared memory.
     Includes adding '--enable-posix-shm' to force POSIX shm if
     available, and OS X compatibility. PR 55928.
     [Jozef Hatala <jh-asf skrt org>, Jim Jagielski]

  *) Fix race condition when calling apr_dir_make_recursive from
     multiple threads on Windows.
     [Bert Huijben]

  *) Fix apr_escape.c compilation errors on EBCDIC platforms.
     [Eric Covener]

  *) FreeBSD 10: Correct a regression in 1.5.0 which affected non-
     blocking sockets in some applications, including httpd.  [Jeff
     Trawick]

  *) Windows cmake build: Fix incorrect installation of some .pdb
     files.  Fix incorrect use of some logic intended for Windows 9x,
     including legacy filesystem interfaces and dynamic loading of
     some Windows APIs.  [Jeff Trawick]

  *) apr_skiplist: Add compatibility with C++ applications.
     [Jeff Trawick]

  *) Correct a regression in 1.5.0 which affected out-of-tree
     builds on Unix.  [Rainer Jung]

  *) Improve platform detection by updating config.guess and config.sub.
     [Rainer Jung]

Changes for APR 1.5.0

  *) Fix Linux kernel version check to recognize more versions,
     including versions 3.10 and later.  PR 55690.  [Joe Orton,
     Arfrever Frehtes Taifersar Arahesis <arfrever.fta gmail.com>]

  *) Add apr_sockaddr_is_wildcard() to check if a socket address
     refers to the wildcard address for the protocol family (e.g.,
     0.0.0.0/INADDR_ANY for IPv4).  [Jeff Trawick]

  *) apr_file_dup2() on Windows: Fix debug RTL assertion when 
     attempting to _commit(stdout) or _commit(stderr).  [Mike Rumph
     <mike.rumph oracle.com>]

  *) apr_socket_connect() on Windows: Handle WSAEISCONN.  PR 48736.
     [<inoue ariel-networks.com>, Jeff Trawick]

  *) z/OS: threadsafe apr_pollset_poll support for sockets [Greg Ames]

  *) Windows:  Don't obtain a mutex for buffered file I/O unless the
     file was opened with the APR_FOPEN_XTHREAD flag.  [Ivan Zhakov
     <ivan visualsvn.com>]

  *) Windows:  Create named shared memory segments under the "Local"
     namespace if the caller is unprivileged, fixing an inability of
     unprivileged callers to use apr_shm_create() with named shared
     memory segments under recent Windows.  As before, shared memory
     segments are created under the "Global" namespace for privileged
     callers.  Add apr_shm_create_ex() and apr_shm_attach_ex(), which
     provide the ability to override the normal namespace selection.
     [Jeff Trawick]

  *) Update compile settings for MINT OS.  PR 47181. [Alan Hourihane
     <alanh fairlite.co.uk>]

  *) Files and pipes on Windows:  Don't create an unused pollset when
     files and pipes are opened.  [Mladen Turk]

  *) apr_socket_timeout_set() on Windows: If the socket was in a non-
     blocking state before, disable that setting so that timeouts work.
     [Jeff Trawick]

  *) File info APIs: Fix calculation of atime and mtime on AIX. PR 51146.
     [Ruediger Pluem]

  *) Add the apr_escape interface. [Graham Leggett]

  *) Cygwin build fixes.  PRs 51016 and 55586.  [Carlo Bramini
     <carlo.bramix libero.it>] 

  *) Add apr_skiplist family. [Jim Jagielski]

  *) Add experimental cmake-based build system for Windows.  Refer to 
     README.cmake for more information.  [Jeff Trawick, Tom Donovan]

  *) Add the apr_table_getm() call, which transparently handles the
     merging of keys with multiple values. [Graham Leggett]

  *) Add apr_hash_this_key(), apr_hash_this_key_len(), and 
     apr_hash_this_val() for easier access to those attributes from
     a hash iterator.  [Hyrum K. Wright <hyrum_wright mail.utexas.edu>]

  *) MinGW/MSYS:  Support shared builds of APR, other general improvements
     to support of this toolchain.  PR 46175.  [Carlo Bramini 
     <carlo.bramix libero.it>]  

  *) Improve platform detection by updating config.guess and config.sub.
     [Rainer Jung]

  *) apr_socket_opt_set: Add support for APR_SO_BROADCAST. PR 46389.
     [Armin Müller <mueller itestra com>]

  *) Enable platform specific support for the opening of a file or
     pipe in non-blocking mode through the APR_FOPEN_NONBLOCK flag.
     [Graham Leggett]

Changes for APR 1.4.x and later:

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

Changes for APR 1.3.x and later:

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

Changes for APR 1.2.x and later:

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

Changes for APR 1.1.x and later:

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

Changes for APR 1.0.x and later:

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

Changes for APR 0.9.x and later/earlier:

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