1                                                     -*- coding: utf-8 -*-
2Changes for APR 1.4.8
3
4  *) Fix compiltation with FreeBSD on ARM.  [Olli Hauer <ohauer gmx.de>]
5
6  *) Fix 1.4.7 regression in apr_mcast_hops() and apr_mcast_loopback()
7     for AF_INET (IPv4) sockets on most Unix platforms.  [Joe Orton]
8
9  *) Fix the return value of apr_threadattr_detach_get() on some
10     platforms like OS X and Solaris. [Rainer Jung, <dusanv gmail com>]
11
12Changes for APR 1.4.7
13
14  *) Fix apr_sockaddr_info_get() not returning an error in some cases.
15     PR 54779. [Jan Kaluža <jkaluza redhat com>]
16
17  *) Fix amd64 assembler version of apr_atomic_xchgptr(). PR 51851. [Mattias
18     Engdegård <mattiase acm org>]
19
20  *) Fix PPC atomics to work with gcc 4.0. PR 54840. [Mattias Engdegård
21     <mattiase acm org>]
22
23  *) configure: Fix detection of O_NONBLOCK inheritance on busy
24     systems.  [Rainer Jung]
25
26  *) Remove unused code, fix strict C compliance bug in SHA-256
27     implementation.  [Jan Kaluza <jkaluza redhat.com>]
28
29  *) Fix apr_ipsubnet_test() false positives when comparing IPv4
30     subnet representation against an IPv6 address.  PR 54047.  [Joe Orton]
31
32  *) apr_socket_accept_filter: Return success when trying to again set
33     the filter to the same value as before, avoiding an unhelpful
34     APR_EINVAL.  PR 37863.  [Jeff Trawick]
35
36  *) configure: Fix Linux 3.x detection. PR 54001. [Gilles Espinasse
37     <g esp free fr>]
38
39  *) apr_time_exp_*() on Windows: Fix error in the tm_yday field of
40     apr_time_exp_t for times within leap years.  PR 53175.
41     [Jeff Trawick]
42
43  *) Improve platform detection by updating config.guess and config.sub.
44     [Rainer Jung]
45
46  *) Add support for OSX Mountain Lion (10.8) [Jim Jagielski]
47
48  *) Add various gcc function attributes. [Stefan Fritsch]
49
50  *) Fix some problems in apr_sockaddr_info_get() when trying to resolve
51     the loopback addresses of a protocol family that is not otherwise
52     configured on the system. PR 52709. [Nirgal Vourgère
53     <jmv_deb nirgal com>, Stefan Fritsch]
54
55  *) Fix file not being unlocked if truncate call on a file fails.
56     [Mladen Turk]
57
58  *) apr_mcast_hops: Fix EINVAL for IPv6 sockets caused by using byte
59     instead integer for setsockopt. [Mladen Turk]
60
61  *) Windows: Fix compile-time checks for 64-bit builds, resolving a
62     crash in httpd's mod_rewrite.  PR 49155.  [<anindyabaruah gmail.com>]
63
64Changes for APR 1.4.6
65
66  *) Flush write buffer before truncate call on a file.
67     [Mladen Turk]
68
69  *) Randomise hashes by providing a seed. 
70     Assigned CVE-2012-0840, oCERT-2011-003, but not known to be exploitable.
71     [Bojan Smojver, Branko Čibej, Ruediger Pluem et al.]
72
73  *) apr_random: Prevent segfault if pool used to initialize apr_random is
74     destroyed before forking. [Stefan Fritsch]
75
76  *) testrand: Improve child randomness test case. [Rainer Jung]
77
78  *) apr_proc_fork, apr_random_after_fork: disambiguate what happens to the 
79     proc structure passed in, and ensure that the pid is set correctly in 
80     a newly created child; note that merely mixing a PID into the random 
81     seed of a new child doesn't markedly increase entropy. [Sander Temme]
82
83  *) apr_file_open: Avoid fcntl() calls if support for O_CLOEXEC works.
84     PR 48557. [Mike Frysinger <vapier gentoo org>]
85
86  *) apr_dir_make_recursive: Fix race condition that could lead to EEXIST
87     being returned. PR 51254. [William Lee <william lee rainstor com>,
88     Wim Lewis <wiml omnigroup com>]
89
90  *) configure: Fix APR_RESTORE_THE_ENVIRONMENT if the original variable was
91     a single space. PR 50334. [Nathan Phillip Brink <binki gentoo org>]
92
93  *) apr_proc_create: Don't close any of the new stdin/stdout/stderr in the
94     child if it already has the correct FD. PR 51995.
95     [Dan Ports <drkp csail mit edu>]
96
97  *) Fix flag character '#' in combination with format character 'x' in
98     apr snprintf implementations.  [Rainer Jung]
99
100  *) Improve platform detection by updating config.guess and config.sub.
101     [Rainer Jung]
102
103  *) Add libtool2 files to extraclean make target.  [Rainer Jung]
104
105  *) Don't overwrite our config.guess and config.sub
106     when running buildconf.  [Rainer Jung]
107
108  *) Silence autoconf 2.68 warnings.  [Rainer Jung]
109
110Changes for APR 1.4.5
111
112  *) Security: CVE-2011-1928
113     apr_fnmatch(): Fix high CPU loop.  [William Rowe]
114
115  *) Fix top_builddir in installed apr_rules.mk.  [Bojan Smojver]
116
117Changes for APR 1.4.4
118
119  *) Windows: Fix command-line builds.  [William Rowe]
120
121Changes for APR 1.4.3
122
123  *) Security: CVE-2011-0419
124     Reimplement apr_fnmatch() from scratch using a non-recursive
125     algorithm; now has improved compliance with the fnmatch() spec.
126     [William Rowe]
127
128  *) Fix environment-related crash using some non-standard builds on
129     Windows 7/Server 2008.  [Steve Hay <SteveHay planit.com>]
130
131  *) poll, pollset, pollcb on Windows: Handle calls with no file/socket
132     descriptors.  PR 49882.  [Stefan Ruppert <sr myarm.com>, Jeff Trawick]
133
134  *) Fix APR_IPV6_V6ONLY issues on Windows related to run-time behavior 
135     on Windows older than Vista and SDK/MinGW levels without IPV6_V6ONLY.
136     PR 45321.  [Sob <sob hisoftware.cz>]
137
138  *) Fix address handling when accepting an AF_INET socket from a socket
139     bound as AF_INET6.   PR 49678.  [Joe Orton]
140
141  *) Fix error return values from apr_sockaddr_info_get() on Windows for
142     IPv6 builds.  [Ivan Zhakov <ivan visualsvn.com>]
143
144  *) Add new experimental configure option --enable-allocator-uses-mmap to
145     use mmap instead of malloc in apr_allocator_alloc(). This greatly reduces
146     memory fragmentation with malloc implementations (e.g. glibc) that
147     don't handle allocationss of a page-size-multiples in an efficient way.
148     It also makes apr_allocator_max_free_set() actually have some effect
149     on such platforms. [Stefan Fritsch]
150
151  *) configure: Support 64 and 32 bit universal builds for Darwin/
152     OS X 10.6+. [Jim Jagielski]
153
154  *) apr_sockaddr_info_get() on AIX: Fix a problem which could set
155     the port field in the native socket address to 1 when 0 was
156     specified.  PR 46964.  [Jeff Trawick]
157
158  *) configure: Make definition of apr_ino_t independent of
159     _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'.
160     [Stefan Fritsch]
161
162  *) apr_ring: Workaround for aliasing problem that causes gcc 4.5 to
163     miscompile some brigade related code. PR 50190. [Stefan Fritsch]
164
165  *) apr_file_flush_locked(): Handle short writes. [Stefan Fritsch]
166
167  *) apr_pollset_create_ex(): Trap errors from pollset providers.
168     PR 49094.  [Sami Tolvanen <sami.tolvanen mywot.com>]
169
170  *) apr_pollset_create*(): Fix memory lifetime problem with the wakeup
171     pipe when the pollset was created with APR_POLLSET_NOCOPY.
172     [Neil Conway <nrc cs.berkeley.edu>]
173
174  *) Fix detection of some Linux variants when configure is built with
175     recent GNU tools.  [Eric Covener]
176
177  *) Avoid a redundant fcntl() call in apr_file_open() where O_CLOEXEC
178     is supported.  PR 46297.  [Joe Orton]
179
180  *) Improve platform detection by updating config.guess and config.sub.
181     [Rainer Jung]
182
183Changes for APR 1.4.2
184
185  *) Undo a crash-bug introduced in 1.4.1 affecting some applications of 
186     the apr hash and table structures, reported to affect Subversion
187     by Bert Huijben <bert qqmail.nl>.  [Graham Leggett]
188
189Changes for APR 1.4.1
190
191  *) Win32: Properly handle the ERROR_DIRECTORY system error code.
192     [Brane Čibej]
193
194Changes for APR 1.4.0
195
196  *) Windows: Default build configurations assume NT or higher at run-time. 
197
198  *) Add apr_global_mutex_lockfile() for retrieving the file, if any,
199     associated with the mutex.  Add apr_global_mutex_name() for retrieving
200     the name of the lock mechanism used by the underlying proc mutex.
201     [Jeff Trawick]
202
203  *) Add apr_socket_atreadeof to determine whether the receive part of the
204     socket has been closed by the peer.
205     [Ruediger Pluem, Mladen Turk, Joe Orton]
206
207  *) Make apr_pollset and apr_pollcb implementations using providers.
208     Added apr_pollset_create_ex and apr_pollcb_create_ex that allows
209     choosing non-default providers.
210     [Mladen Turk]
211
212  *) Win32: Use WSAPoll as default pollset method if supported and found
213     inside winsock dll.  [Mladen Turk]
214
215  *) apr_temp_dir_get() now checks the TMPDIR environment variable first,
216     instead of third.  [Jim Jagielski]
217
218  *) Add apr_file_sync() and apr_file_datasync() calls.  [Bojan Smojver]
219
220  *) apr_pollset_wakeup() on Windows: Fix core caused by closing the
221     file_socket_pipe with standard file_close. 
222     [Arsen Chaloyan, Mladen Turk]
223
224  *) Introduce apr_hash_do() for iterating over a hash table.  [Mladen Turk]
225
226  *) Make sure WIN32 behaves the same as posix for file-backed shared memory 
227     by removing the file on cleanup/remove.  [Mladen Turk]
228
229  *) Introduce apr_pollset_wakeup() for interrupting the blocking
230     apr_pollset_poll() call.  [Mladen Turk]
231
232  *) Add apr_file_link() function.  PR 44841.  [Mark Heily <mark heily.com>]
233
234Changes for APR 1.3.x and later:
235
236  *) http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/CHANGES?view=markup
237
238Changes for APR 1.2.x and later:
239
240  *) http://svn.apache.org/viewvc/apr/apr/branches/1.2.x/CHANGES?view=markup
241
242Changes for APR 1.1.x and later:
243
244  *) http://svn.apache.org/viewvc/apr/apr/branches/1.1.x/CHANGES?view=markup
245
246Changes for APR 1.0.x and later:
247
248  *) http://svn.apache.org/viewvc/apr/apr/branches/1.0.x/CHANGES?view=markup
249
250Changes for APR 0.9.x and later/earlier:
251
252  *) http://svn.apache.org/viewvc/apr/apr/branches/0.9.x/CHANGES?view=markup
253