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

  *) Fix compiltation with FreeBSD on ARM.  [Olli Hauer <ohauer gmx.de>]

  *) Fix 1.4.7 regression in apr_mcast_hops() and apr_mcast_loopback()
     for AF_INET (IPv4) sockets on most Unix platforms.  [Joe Orton]

  *) Fix the return value of apr_threadattr_detach_get() on some
     platforms like OS X and Solaris. [Rainer Jung, <dusanv gmail com>]

Changes for APR 1.4.7

  *) Fix apr_sockaddr_info_get() not returning an error in some cases.
     PR 54779. [Jan Kaluža <jkaluza redhat com>]

  *) Fix amd64 assembler version of apr_atomic_xchgptr(). PR 51851. [Mattias
     Engdegård <mattiase acm org>]

  *) Fix PPC atomics to work with gcc 4.0. PR 54840. [Mattias Engdegård
     <mattiase acm org>]

  *) configure: Fix detection of O_NONBLOCK inheritance on busy
     systems.  [Rainer Jung]

  *) Remove unused code, fix strict C compliance bug in SHA-256
     implementation.  [Jan Kaluza <jkaluza redhat.com>]

  *) Fix apr_ipsubnet_test() false positives when comparing IPv4
     subnet representation against an IPv6 address.  PR 54047.  [Joe Orton]

  *) apr_socket_accept_filter: Return success when trying to again set
     the filter to the same value as before, avoiding an unhelpful
     APR_EINVAL.  PR 37863.  [Jeff Trawick]

  *) configure: Fix Linux 3.x detection. PR 54001. [Gilles Espinasse
     <g esp free fr>]

  *) apr_time_exp_*() on Windows: Fix error in the tm_yday field of
     apr_time_exp_t for times within leap years.  PR 53175.
     [Jeff Trawick]

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

  *) Add support for OSX Mountain Lion (10.8) [Jim Jagielski]

  *) Add various gcc function attributes. [Stefan Fritsch]

  *) Fix some problems in apr_sockaddr_info_get() when trying to resolve
     the loopback addresses of a protocol family that is not otherwise
     configured on the system. PR 52709. [Nirgal Vourgère
     <jmv_deb nirgal com>, Stefan Fritsch]

  *) Fix file not being unlocked if truncate call on a file fails.
     [Mladen Turk]

  *) apr_mcast_hops: Fix EINVAL for IPv6 sockets caused by using byte
     instead integer for setsockopt. [Mladen Turk]

  *) Windows: Fix compile-time checks for 64-bit builds, resolving a
     crash in httpd's mod_rewrite.  PR 49155.  [<anindyabaruah gmail.com>]

Changes for APR 1.4.6

  *) Flush write buffer before truncate call on a file.
     [Mladen Turk]

  *) Randomise hashes by providing a seed. 
     Assigned CVE-2012-0840, oCERT-2011-003, but not known to be exploitable.
     [Bojan Smojver, Branko Čibej, Ruediger Pluem et al.]

  *) apr_random: Prevent segfault if pool used to initialize apr_random is
     destroyed before forking. [Stefan Fritsch]

  *) testrand: Improve child randomness test case. [Rainer Jung]

  *) apr_proc_fork, apr_random_after_fork: disambiguate what happens to the 
     proc structure passed in, and ensure that the pid is set correctly in 
     a newly created child; note that merely mixing a PID into the random 
     seed of a new child doesn't markedly increase entropy. [Sander Temme]

  *) apr_file_open: Avoid fcntl() calls if support for O_CLOEXEC works.
     PR 48557. [Mike Frysinger <vapier gentoo org>]

  *) apr_dir_make_recursive: Fix race condition that could lead to EEXIST
     being returned. PR 51254. [William Lee <william lee rainstor com>,
     Wim Lewis <wiml omnigroup com>]

  *) configure: Fix APR_RESTORE_THE_ENVIRONMENT if the original variable was
     a single space. PR 50334. [Nathan Phillip Brink <binki gentoo org>]

  *) apr_proc_create: Don't close any of the new stdin/stdout/stderr in the
     child if it already has the correct FD. PR 51995.
     [Dan Ports <drkp csail mit edu>]

  *) Fix flag character '#' in combination with format character 'x' in
     apr snprintf implementations.  [Rainer Jung]

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

  *) Add libtool2 files to extraclean make target.  [Rainer Jung]

  *) Don't overwrite our config.guess and config.sub
     when running buildconf.  [Rainer Jung]

  *) Silence autoconf 2.68 warnings.  [Rainer Jung]

Changes for APR 1.4.5

  *) Security: CVE-2011-1928
     apr_fnmatch(): Fix high CPU loop.  [William Rowe]

  *) Fix top_builddir in installed apr_rules.mk.  [Bojan Smojver]

Changes for APR 1.4.4

  *) Windows: Fix command-line builds.  [William Rowe]

Changes for APR 1.4.3

  *) Security: CVE-2011-0419
     Reimplement apr_fnmatch() from scratch using a non-recursive
     algorithm; now has improved compliance with the fnmatch() spec.
     [William Rowe]

  *) Fix environment-related crash using some non-standard builds on
     Windows 7/Server 2008.  [Steve Hay <SteveHay planit.com>]

  *) poll, pollset, pollcb on Windows: Handle calls with no file/socket
     descriptors.  PR 49882.  [Stefan Ruppert <sr myarm.com>, Jeff Trawick]

  *) Fix APR_IPV6_V6ONLY issues on Windows related to run-time behavior 
     on Windows older than Vista and SDK/MinGW levels without IPV6_V6ONLY.
     PR 45321.  [Sob <sob hisoftware.cz>]

  *) Fix address handling when accepting an AF_INET socket from a socket
     bound as AF_INET6.   PR 49678.  [Joe Orton]

  *) Fix error return values from apr_sockaddr_info_get() on Windows for
     IPv6 builds.  [Ivan Zhakov <ivan visualsvn.com>]

  *) Add new experimental configure option --enable-allocator-uses-mmap to
     use mmap instead of malloc in apr_allocator_alloc(). This greatly reduces
     memory fragmentation with malloc implementations (e.g. glibc) that
     don't handle allocationss of a page-size-multiples in an efficient way.
     It also makes apr_allocator_max_free_set() actually have some effect
     on such platforms. [Stefan Fritsch]

  *) configure: Support 64 and 32 bit universal builds for Darwin/
     OS X 10.6+. [Jim Jagielski]

  *) apr_sockaddr_info_get() on AIX: Fix a problem which could set
     the port field in the native socket address to 1 when 0 was
     specified.  PR 46964.  [Jeff Trawick]

  *) configure: Make definition of apr_ino_t independent of
     _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'.
     [Stefan Fritsch]

  *) apr_ring: Workaround for aliasing problem that causes gcc 4.5 to
     miscompile some brigade related code. PR 50190. [Stefan Fritsch]

  *) apr_file_flush_locked(): Handle short writes. [Stefan Fritsch]

  *) apr_pollset_create_ex(): Trap errors from pollset providers.
     PR 49094.  [Sami Tolvanen <sami.tolvanen mywot.com>]

  *) apr_pollset_create*(): Fix memory lifetime problem with the wakeup
     pipe when the pollset was created with APR_POLLSET_NOCOPY.
     [Neil Conway <nrc cs.berkeley.edu>]

  *) Fix detection of some Linux variants when configure is built with
     recent GNU tools.  [Eric Covener]

  *) Avoid a redundant fcntl() call in apr_file_open() where O_CLOEXEC
     is supported.  PR 46297.  [Joe Orton]

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

Changes for APR 1.4.2

  *) Undo a crash-bug introduced in 1.4.1 affecting some applications of 
     the apr hash and table structures, reported to affect Subversion
     by Bert Huijben <bert qqmail.nl>.  [Graham Leggett]

Changes for APR 1.4.1

  *) Win32: Properly handle the ERROR_DIRECTORY system error code.
     [Brane Čibej]

Changes for APR 1.4.0

  *) Windows: Default build configurations assume NT or higher at run-time. 

  *) Add apr_global_mutex_lockfile() for retrieving the file, if any,
     associated with the mutex.  Add apr_global_mutex_name() for retrieving
     the name of the lock mechanism used by the underlying proc mutex.
     [Jeff Trawick]

  *) Add apr_socket_atreadeof to determine whether the receive part of the
     socket has been closed by the peer.
     [Ruediger Pluem, Mladen Turk, Joe Orton]

  *) Make apr_pollset and apr_pollcb implementations using providers.
     Added apr_pollset_create_ex and apr_pollcb_create_ex that allows
     choosing non-default providers.
     [Mladen Turk]

  *) Win32: Use WSAPoll as default pollset method if supported and found
     inside winsock dll.  [Mladen Turk]

  *) apr_temp_dir_get() now checks the TMPDIR environment variable first,
     instead of third.  [Jim Jagielski]

  *) Add apr_file_sync() and apr_file_datasync() calls.  [Bojan Smojver]

  *) apr_pollset_wakeup() on Windows: Fix core caused by closing the
     file_socket_pipe with standard file_close. 
     [Arsen Chaloyan, Mladen Turk]

  *) Introduce apr_hash_do() for iterating over a hash table.  [Mladen Turk]

  *) Make sure WIN32 behaves the same as posix for file-backed shared memory 
     by removing the file on cleanup/remove.  [Mladen Turk]

  *) Introduce apr_pollset_wakeup() for interrupting the blocking
     apr_pollset_poll() call.  [Mladen Turk]

  *) Add apr_file_link() function.  PR 44841.  [Mark Heily <mark heily.com>]

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
