]> granicus.if.org Git - apache/blob - CHANGES
On the trunk:
[apache] / CHANGES
1                                                          -*- coding: utf-8 -*-
2 Changes with Apache 2.5.1
3
4   *) core: adding AP_DECLARE for ap_parse_vhost_addrs() and minor bumb mmn. Resolves
5      building mod_ssl on Windows. [Stefan Eissing, Gregg Smith]
6
7   *) mod_http2: removed obsolete stream detach code, no longer generating events
8      in beam shutdown on pool destroy. [Stefan Eissing]
9      
10   *) mod_slotmem_shm: Rework SHM reuse/deletion to fix races with graceful
11      restarts. PR 62044. [Yann Ylavic, Jim Jagielski]
12
13   *) mod_http2: discourage gzip/brotli content encoding on http2-status responses as
14      they are inserted into the reponse when filters are already done. [Stefan Eissing]
15      
16   *) core: adding defines to allow interworking with honggfuzz without
17      further patches. [Stefan Eissing, Robert Swiecki]
18
19   *) mpm_event: Let the listener thread do its maintenance job on resources
20      shortage.  PR 61979.  [Yann Ylavic]
21
22   *) mpm_event: Wakeup the listener to re-enable listening sockets.
23      [Yann Ylavic]
24
25   *) mod_headers: 'RequestHeader set|edit|edit_r Content-Type X' could 
26      inadvertently modify the Content-Type _response_ header. Applies to
27      Content-Type only and likely to only affect static file responses.
28      [Eric Covener]
29
30   *) mod_cgi: Improve AH01215 messages to make it more clear that the message is
31      the CGI scripts stderr output. PR 61980. [Hank Ibell <hwibell gmail.com>]
32
33   *) mod_headers: Allow 'Header unset Content-Type' to remove the Content-Type
34      header. PR 61983. [Hank Ibell <hwibell gmail.com>]
35
36   *) mod_md v1.1.8: new configuration directive "MDBaseServer on|off" to allow/inhibit 
37      management of the base server domains outside VirtualHosts. By default, this is "off", 
38      e.g. mod_md will not manage certificates or perform https: redirections on the 
39      base server. [Stefan Eissing]
40               
41   *) core: Add "AcceptErrorsNonFatal" to allow ECONNREFUSED, ECONNABORTED, and
42      ECONNRESET during the client accept() to not trigger graceful shutdown of
43      the child process.  [Eric Covener]
44
45   *) mod_md v1.1.7:
46      - MDMustStaple was unable to create the necessary OpenSSL OBJ identifier on some platforms, 
47        possibly because this fails if the OID is already configured in ```openssl.cnf```, see
48        [here](https://github.com/openssl/openssl/issues/2795).
49      - Two memory leaks in cert issuer and alt-names lookup eliminated by Yann Ylavic.
50      - Changing MDMustStaple triggers certificate renewal.
51      - More verbosity when *not* handing out certificates, e.g. mod_ssl asks, but mod_md has no
52        idea what it is talking about. Some people report misbehaviour here.
53      - Re-enabled support for md_get_credentials() function that was used in older mod_ssl
54        patch, so that people with old patched servers get a chance to upgrade.
55      [Stefan Eissing, Yann Ylavic]
56
57   *) mod_susbtitute: Allow expressions in the subtitution, prefixed with expr=
58      [Eric Covener]
59
60   *) mod_md: fixed mem pool usage for auto-added server names. Added
61      error logging of exact ACME response when challenges failed.
62      [Stefan Eissing]
63
64   *) mod_dumpio: do nothing below log level TRACE7.  [Yann Ylavic]
65
66   *) mod_md: reverses most of v1.0.5 optimization of post_config init, so that
67      mod_ssl can ask for certiticates without crashing. [Stefan Eissing]
68
69   *) mod_proxy: allow SSLProxyCheckPeer* usage for all proxy modules.
70      PR 61857.  [Yann Ylavic]
71
72   *) mod_proxy_html: fix handling of <meta http-equiv> elements.
73      PR 58121.  [Nick Kew]
74
75   *) mod_md: fixed backward compatibility to old <ManagedDomain configuration.
76      Add higher level WARNING log when initial request to ACME server fails, mentioning
77      some advice. [Stefan Eissing] 
78      
79   *) mod_ldap: Fix a case where a full LDAP cache would continually fail to 
80      purge old entries and log AH01323. PR61891.  
81      [Hendrik Harms <hendrik.harms gmail.com>]
82
83   *) mod_md: name change in configuration directives. The old names are still working
84      in this version, so you can safely upgrade. They will give warnings in the log and
85      will disappear in the immediate future. ManagedDomain is now MDomain,
86      <ManagedDomain> is now <MDomainSet>. [Stefan Eissing]
87
88   *) mod_ssl: renamed section <SSLPolicy to <SSLPolicyDefine. Fixed behaviour
89      for new server config merge flag. Denying global, only once used directives
90      inside a SSLPolicyDefine. [Stefan Eissing]
91
92   *) mod_auth_basic: Be less tolerant when parsing the credencial. Only spaces
93      should be accepted after the authorization scheme. \t are also tolerated.
94      [Christophe Jaillet]
95   
96   *) mod_http2: fixed unfair scheduling when number of active connections
97      exceeded the scheduling fifo capacity. [Stefan Eissing]
98
99   *) core: Support zone/scope in IPv6 link-local addresses in Listen and
100      VirtualHost directives (requires APR 1.7.x or later).  PR 59396.  [Joe Orton]
101
102   *) mod_md: v1.0.5, restricting post_config dry run to be more silent and performing
103      only necessary work for mod_ssl to be also happy with the configuration.
104      [Stefan Eissing] 
105
106   *) mod_md: v1.0.4, removed the 'a2md' utility command from build. Only used in github
107      testing. Avoid problems with our build system that had problems after the latest
108      changes to make a clean initial build. Remove the windows a2md.dsp therefore also.
109      [Stefan Eissing] 
110
111   *) mod_ssl: Fail with 403 if the username for FakeBasicAuth mode
112      includes a colon character.  PR 52644.  [Joe Orton]
113
114   *) mod_md: v1.0.3, fixed various bugs in persisting job properties, so that status is 
115      persisted accross child process changes and staging is reset on reloads. Changed 
116      MDCertificateAgreement url checks. As long as the CA reports that the account has 
117      an agreement, no further checking is done. Existing accounts need no changes when
118      a new agreement comes out. [Stefan Eissing]
119
120   *) mod_watchdog: Correct some log messages.  [Rainer Jung]
121
122   *) core: silently ignore a not existent file path when IncludeOptional
123      is used. PR 57585. [Alberto Murillo Silva <powerbsd yahoo.com>, Luca Toscano]
124
125   *) mod_noloris: complete build setup.  [Rainer Jung]
126
127   *) mod_md: fix static compilation.  [Rainer Jung]
128
129   *) mod_md: fix compilation of helper binary a2md.  [Rainer Jung]
130
131   *) core: fix pcre feature detection in configure when using pcre2.  [Rainer Jung]
132
133 Changes with Apache 2.5.0-alpha
134
135   *) mod_macro: fix usability of globally defined macros in .htaccess files.
136      PR 57525.  [Jose Kahan <jose w3.org>, Yann Ylavic]
137
138   *) mod_md: v1.0.1, ServerName/Alias names from pure-http: virtual hosts are no longer
139      auto-added to a Managed Domain. Error counts of jobs are presisted. When the server
140      restarts (gracefully) any errored staging areas are purged to reset the signup/renewal
141      process. [Stefan Eissing]
142
143   *) htpasswd: Don't fail in -v mode if password file is unwritable.
144      PR 61631.  [Joe Orton]
145
146   *) core: A signal received while stopping could have crashed the main
147      process.  PR 61558.  [Yann Ylavic]
148
149   *) mod_md: v1.0.0, new config directive 'MDNotifyCmd' to hook in a program when Managed
150      Domains have obtained/renewed their certificates successfully. [Stefan Eissing]
151
152   *) mod_rewrite, core: add the Vary header when a condition evaluates to true
153      and the related RewriteRule is used in a Directory context
154      (triggering an internal redirect). [Luca Toscano]
155
156   *) mod_md: v0.9.9, fix for applying challenge type based on available ports. [Stefan Eissing]
157
158   *) mod_proxy_uwsgi: New UWSGI mod_proxy (sub)module contributed by unbit.com.
159
160   *) mod_http2: v0.10.12, removed optimization for mutex handling in bucket beams that 
161     could lead to assertion failure in edge cases. [Stefan Eissing] 
162      
163   *) mod_md: v0.9.7
164      - Use of the new module flag
165      - Removed obsolete function from interface to mod_ssl. 
166      - Fallback certificates has version set and no longer claims to be a CA. (re issue #32)
167      - MDRequireHttps now happens before any Redirect.
168      [Stefan Eissing]
169
170   *) mod_ssl: unshare SSLSrvConfigRec instances between base server and virtual hosts. This avoids
171      overwrites of later initializattions (vhost_id), selective disables by "SSLEngine addr-list"
172      and certificate/key pickup from mod_md. [Stefan Eissing]
173
174   *) mod_rewrite, core: Avoid the 'Vary: Host' response header when HTTP_HOST is
175      used in a condition that evaluates to true. PR 58231 [Luca Toscano, Yann Ylavic]
176
177   *) mod_md: v0.9.6: a "MDRequireHttps permament" configured domain automatically sends out
178      HSTS (rfc 6797) headers in https: responses. [Stefan Eissing]
179
180   *) mod_ssl: adding ssl_policies.h[.in] for policy cipher/protocol definitions. Use 
181      update_policies.py to update manually from Mozilla JSON definitions at
182      https://statics.tls.security.mozilla.org/server-side-tls-conf.json
183      [Stefan Eissing]
184      
185   *) mod_md: v0.9.5:
186      - New directive (srly: what do you expect at this point?) "MDMustStaple on|off" to control if
187        new certificates are requested with the OCSP Must Staple extension.
188      - Known limitation: when the server is configured to ditch and restart child processes, for example
189        after a certain number of connections/requests, the mod_md watchdog instance might migrate 
190        to a new child process. Since not all its state is persisted, some messsages might appear a
191        second time in the logs.
192      - Adding checks when 'MDRequireHttps' is used. It is considered an error when 'MDPortMap 443:-'
193        is used - which negates that a https: port exists. Also, a warning is logged if no 
194        VirtualHost can be found for a Managed Domain that has port 443 (or the mapped one) in
195        its address list.
196      - New directive 'MDRequireHttps' for redirecting http: traffic to a Managed Domain, permanently
197        or temporarily.
198      - Fix for using a fallback certificate on initial signup of a Managed Domain. Requires also
199        a changed mod_ssl patch (v5) to take effect.
200      - compatibility with libressl
201        [Stefan Eissing]
202
203   *) mod_md: v0.9.2: new directive 'MDHttpProxy' to define a proxy for outgoing connection,
204      some minor bugfixes, twiddle the build system to avoid non-pic code generation.
205      [Stefan Eissing]
206   
207   *) mod_ssl: Adding option to set a list of addr:port specs, as used in VirtualHosts
208      to enable SSLEngine for all matching hosts. Updated documentation. [Stefan Eissing]
209
210   *) mod_md: v0.9.1:
211      - various fixes in MDRenewWindow handling when specifying percent. Serialization changed. If 
212        someone already used percent configurations, it is advised to change these to a new value,
213        reload and change back to the wanted ones.
214      - various fixes in handling of MDPrivateKeys when specifying 2048 bits (the default) explicitly.
215      - mod_md version removed from top level md_store.json file. The store has its own format version
216        to facilitate upgrades.
217     [Stefan Eissing]
218
219   *) mod_md: v0.9.0:
220      Certificate provisioning from Let's Encrypt (and other ACME CAs) for mod_ssl virtual hosts.
221      [Stefan Eissing]
222
223   *) mod_ssl: add SSLPolicy (define/use) and SSLProxyPolicy directives plus documentation. Add
224      core definitions for policies 'modern', 'intermediate' and 'old', as defined by Mozilla
225      in <https://wiki.mozilla.org/Security/Server_Side_TLS>. [Stefan Eissing]
226
227   *) mod_md: new module for managing domains across VirtualHosts with ACME protocol 
228      implementation for automated certificate signup and renewal. Default CA is
229      the test area of Let's Encrypt right now, so certificates root will not be valid.
230      Will be switched to the real service endpoint rather soon. If you need it now,
231      configure 'MDCertificateAuthority https://acme-v01.api.letsencrypt.org/directory'.
232      [Stefan Eissing] 
233
234   *) mod_proxy_fcgi: Add the support for mod_proxy's flushpackets and flushwait
235      parameters. [Luca Toscano, Ruediger Pluem, Yann Ylavic]
236
237   *) mod_rewrite: Add 'RewriteOptions LongURLOptimization' to free memory
238      from each set of unmatched rewrite conditions.
239      [Eric Covener]
240
241   *) Allow the argument to <IfFile>, <IfDefine>, <IfSection>, <IfDirective>, 
242      and <IfModule> to be quoted.  This is primarily for the benefit of
243      <IfFile>. [Eric Covener]
244
245   *) Introduce request taint checking framework to prevent privilege
246      hijacking through .htaccess. [Nick Kew]
247
248   *) Add <IfDirective> and <IfSection> directives.  [Joe Orton]
249
250   *) When using mod_status with the Event MPM, report the number of requests
251      associated with an active connection in the "ACC" field. Previously
252      zero was always reported with this MPM.  PR60647. [Eric Covener]
253
254   *) mod_remoteip: Add support for PROXY protocol (code donated by Cloudzilla).
255      Add ability for PROXY protocol processing to be optional to donated code.
256      See also: http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt
257      [Cloudzilla/roadrunner2@GitHub, Jim Jagielski, Daniel Ruggeri]
258
259   *) mod_remoteip: When overriding the useragent address from X-Forwarded-For,
260      zero out what had been initialized as the connection-level port.  PR59931.
261      [Hank Ibell <hwibell gmail.com>]
262
263   *) mod_proxy_wstunnel: Reliably run before mod_proxy_http.
264      [Eric Covener]
265
266   *) mod_proxy_protocol: Add server-side, front-end support for PROXY PROTOCOL
267      (http://blog.haproxy.com/haproxy/proxy-protocol/).  [roadrunner2]
268      
269   *) http: Allow unknown response status' lines returned in the form of
270      "HTTP/x.x xxx Status xxx".  [Yann Ylavic]
271
272   *) core: Add <IfFile> configuration section to allow any file on disk to be
273      used as a conditional.  [Edward Lu, Eric Covener]
274
275   *) mod_crypto: Add the all purpose crypto filters with support for HLS.
276      [Graham Leggett]
277
278   *) core: Drop an invalid Last-Modified header value coming
279      from a FCGI/CGI script instead of replacing it with Unix epoch.
280      Warn the users about Last-Modified header value replacements
281      and violations of the RFC.
282      [Yann Ylavic, Luca Toscano, William Rowe, Jacob Champion]
283
284   *) mod_dav: Allow other modules to become providers and add ACLs
285      to the DAV response.
286      [Jari Urpalainen <jari.urpalainen nokia.com>, Graham Leggett]
287
288   *) mod_dav: Add dav_begin_multistatus, dav_send_one_response,
289      dav_finish_multistatus, dav_send_multistatus, dav_handle_err,
290      dav_failed_proppatch, dav_success_proppatch to mod_dav.h.
291      [Jari Urpalainen <jari.urpalainen nokia.com>, Graham Leggett]
292
293   *) mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
294      allowing per backend TLS configuration.  [Yann Ylavic]
295
296   *) core: explicitly exclude 'h2' from protocols announced via an Upgrade: 
297      header as commanded by http-wg. [Stefan Eissing]
298
299   *) mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy
300      AJP13 authentication.  PR 53098.  [Dmitry A. Bakshaev <dab1818 gmail com>]
301
302   *) mpm: Generalise the ap_mpm_register_socket functions to accept pipes
303      or sockets. [Graham Leggett]
304
305   *) core: Extend support for setting aside data from the network input filter
306      to any connection or request input filter. [Graham Leggett]
307
308   *) core: Split ap_create_request() from ap_read_request(). [Graham Leggett]
309
310   *) mod_auth_digest: Fix compatibility with expression-based Authname. PR59039.
311      [Eric Covener]
312
313   *) mpm: Add a complete_connection hook that confirms whether an MPM is allowed
314      to leave the WRITE_COMPLETION phase. Move filter code out of the MPMs.
315      [Graham Leggett]
316
317   *) mod_filter: Fix AddOutputFilterByType with non-content-level filters.
318      PR58856 [Micha Lenk <micha lenk.info>]
319
320   *) mod_cache: Consider Cache-Control: s-maxage in expiration
321      calculations.  [Eric Covener]
322
323   *) mod_cache: Allow caching of responses with an Expires header
324      in the past that also has Cache-Control: max-age or s-maxage.
325      PR55156. [Eric Covener]
326
327   *) mod_session: Introduce SessionExpiryUpdateInterval which allows to
328      configure the session/cookie expiry's update interval. PR 57300.
329      [Paul Spangler <paul.spangler ni.com>]
330
331   *) core: Extend support for asynchronous write completion from the
332      network filter to any connection or request filter. [Graham Leggett]
333
334   *) mod_auth_digest: remove AuthDigestEnableQueryStringHack which is no
335      more documented since dec 2012 (r1415960). [Christophe Jaillet]
336
337   *) mod_charset_lite: On EBCDIC platforms, make sure mod_charset_lite runs
338      after other resource-level filters. [Eric Covener]
339
340   *) http: Don't remove the Content-Length of zero from a HEAD response if
341      it comes from an origin server, module or script.  [Yann Ylavic]
342
343   *) http: Add support for RFC2324/RFC7168. [Graham Leggett]
344
345   *) mod_rewrite: Add support for starting External Rewriting Programs
346      as non-root user on UNIX systems by specifying username and group name
347      as third argument of RewriteMap directive. [Jan Kaluza]
348
349   *) mod_authn_core: Add expression support to AuthName and AuthType.
350      [Graham Leggett]
351
352   *) suexec: Filter out the HTTP_PROXY environment variable because it is
353      treated as alias for http_proxy by some programs. [Stefan Fritsch]
354
355   *) mod_proxy_http: Don't establish or reuse a backend connection before pre-
356      fetching the request body, so to minimize the delay between it is supposed
357      to be alive and the first bytes sent: this is a best effort to prevent the
358      backend from closing because of idle or keepalive timeout in the meantime.
359      Also, handle a new "proxy-flushall" environment variable which allows to
360      flush any forwarded body data immediately. PR 56541+37920. [Yann Ylavic]
361
362   *) core: Define and UnDefine are no longer permitted in
363      directory context. Previously they would always be evaulated
364      as the configuration was read without regard for the directory
365      context. [Eric Covener]
366
367   *) config: For directives that do not expect any arguments, enforce
368      that none are specified in the configuration file. 
369      [Joachim Zobel <jzobel heute-morgen.de>, Eric Covener]
370
371   *) mod_rewrite: Improve 'bad flag delimeters' startup error by showing
372      how the input was tokenized.  PR 56528. [Edward Lu <Chaosed0 gmail.com>]
373
374   *) mod_proxy: Don't put non balancer-member workers in error state by
375      default for connection or 500/503 errors, and honor status=+I for
376      any error.  PR 48388.  [Yann Ylavic]
377
378   *) ap_expr: Add filemod function for checking file modification dates
379      [Daniel Gruno]
380
381   *) mod_authnz_ldap: Resolve crashes with LDAP authz and non-LDAP authn since 
382      r1608202. [Eric Covener]
383
384   *) apreq: Content-Length header should be always interpreted as a decimal.
385      Leading 0 could be erroneously considered as an octal value. PR 56598.
386      [Chris Card <ctcard hotmail com>]
387
388   *) mod_proxy: Now allow for 191 character worker names, with non-fatal
389      errors if name is truncated. PR53218. [Jim Jagielski]
390
391   *) mod_ssl: Add optional function "ssl_get_tls_cb" to allow support
392      for channel bindings.  [Simo Sorce <simo redhat.com>]
393
394   *) mod_proxy_wstunnel: Concurrent websockets messages could be 
395      lost or delayed with ProxyWebsocketAsync enabled.  
396      [Edward Lu <Chaosed0 gmail.com>]
397
398   *) core, mod_info: Add compiled and loaded PCRE versions to version
399      number display.  [Rainer Jung]
400
401   *) mod_authnz_ldap: Return LDAP connections to the pool before the handler
402      is run, instead of waiting until the end of the request. [Eric Covener]
403
404   *) mod_proxy_html: support automatic detection of doctype and processing
405      of FPIs.  PR56285 [Micha Lenk <micha lenk info>, Nick Kew]
406
407   *) mod_proxy_html: skip documents shorter than 4 bytes
408      PR 56286 [Micha Lenk <micha lenk info>]
409
410   *) core: Add ap_mpm_resume_suspended() API to allow a suspended connection
411      to resume. PR56333 
412      [Artem <artemciy gmail.com>, Edward Lu <Chaosed0 gmail.com>]
413
414   *) core: Add ap_mpm_register_socket_callback_timeout() API. [Eric Covener]
415
416   *) mod_proxy_wstunnel: Honor ProxyWebsocketIdleTimeout in asynchronous
417      processing mode. [Eric Covener]
418
419   *) mod_authnz_ldap: Fail explicitly when the filter is too long. Remove
420      unnecessary apr_pstrdup() and strlen(). [Graham Leggett]
421
422   *) Add the ldap-search option to mod_authnz_ldap, allowing authorization
423      to be based on arbitrary expressions that do not include the username.
424      [Graham Leggett]
425
426   *) Add the ldap function to the expression API, allowing LDAP filters and
427      distinguished names based on expressions to be escaped correctly to
428      guard against LDAP injection. [Graham Leggett]
429
430   *) Add module mod_ssl_ct, which provides an implementation of Certificate
431      Transparency (RFC 6962) for httpd.  [Jeff Trawick]
432
433   *) mod_proxy_wstunnel: Avoid sending error responses down an upgraded
434      websockets connection as it is being close down. [Eric Covener]
435
436   *) mod_proxy_wstunnel: Allow the administrator to cap the amount
437      of time a synchronous websockets connection stays idle with 
438      ProxyWebsocketIdleTimeout. [Eric Covener]
439
440   *) mod_proxy_wstunnel: Change to opt-in for asynchronous support, adding 
441      directives ProxyWebsocketAsync and ProxyWebsocketAsyncDelay. 
442      [Eric Covener]
443
444   *) mod_proxy_wstunnel: Stop leaking websockets backend connections under
445      event MPM (trunk-only). [Eric Covener]
446
447   *) mod_proxy_http: Add detach_backend hook (potentially usable
448      in other proxy scheme handlers).  [Jeff Trawick]
449
450   *) mod_deflate: Add DeflateAlterETag to control how the ETag
451      is modified. The 'NoChange' parameter mimics 2.2.x behavior.
452      PR 45023, PR 39727. [Eric Covener]
453
454   *) mod_dir: Default to 2.2-like behavior and skip execution when method is
455      neither GET nor POST, such as for DAV requests. PR 54914. [Chris Darroch]
456
457   *) mod_rewrite: Rename the handler that does per-directory internal 
458      redirects to "rewrite-redirect-handler" from "redirect-handler" so
459      it is less ambiguous and less likely to be reused. [Eric Covener]
460
461   *) mod_rewrite: Protect against looping with the [N] flag by enforcing a 
462      default limit of 10000 iterations, and allowing each rule to change its
463      limit. [Eric Covener]
464
465   *) mod_ssl: Fix config merging of SSLOCSPEnable and SSLOCSPOverrideResponder.
466      [Jeff Trawick]
467
468   *) Add HttpContentLengthHeadZero and HttpExpectStrict directives.
469      [Yehuda Sadeh <yehuda inktank com>, Justin Erenkrantz]
470
471   *) mod_ssl: Add -t -DDUMP_CA_CERTS option which dumps the filenames of all
472      configured SSL CA certificates to stdout the same way as DUMP_CERTS does.
473      [Jan Kaluza]
474
475   *) mod_ssl: Don't flush when an EOS is received. Prepares mod_ssl
476      to support write completion. [Graham Leggett]
477
478   *) core: Add parse_errorlog_arg callback to ap_errorlog_provider
479      to allow providers to check the ErrorLog argument. [Jan Kaluza]
480
481   *) mod_cgid: Use the servers Timeout for each read from a CGI script,
482      allow override with new CGIDRequestTimeout directive. PR43494
483      [Eric Covener, Toshikuni Fukaya <toshikuni-fukaya cybozu co jp>]
484
485   *) core: ensure any abnormal exit is reported to stderr if it's a tty.
486      PR 55670 [Nick Kew]
487
488   *) mod_lua: Let the Inter-VM get/set functions work with a global 
489      shared memory pool instead of a per-process pool. [Daniel Gruno]
490
491   *) ldap: Support ldaps when using the Microsoft LDAP SDK.
492      PR 54626. [Jean-Frederic Clere]
493
494   *) mod_authnz_ldap: Change default value of AuthLDAPMaxSubGroupDepth to 0
495      to avoid performance problems when subgroups aren't in use. [Eric Covener]
496
497   *) mod_syslog: New module implementing syslog ap_error_log provider.
498      Previously, this code was part of core, now it's in separate module.
499      [Jan Kaluza]
500
501   *) core: Add ap_errorlog_provider to make ErrorLog logging modular. Move
502      syslog support from core to new mod_syslog. [Jan Kaluza]
503
504   *) mod_status, mod_echo: Fix the display of client addresses.
505      They were truncated to 31 characters which is not enough for IPv6 addresses.
506      PR 54848 [Bernhard Schmidt <berni birkenwald de>]
507
508   *) mod_unique_id: Use output of the PRNG rather than IP address and
509      pid, avoiding sleep() call and possible DNS issues at startup,
510      plus improving randomness for IPv6-only hosts.
511      [Jan Kaluza <jkaluza redhat.com>]
512
513   *) core: merge AllowEncodedSlashes from the base configuration into
514      virtual hosts. [Eric Covener]
515
516   *) AIX: Install DSO's with "cp" instead of "install" in instdso.sh
517      [Eric Covener]
518
519   *) mod_ldap: Don't keep retrying if a new LDAP connection times out.
520      [Eric Covener]
521
522   *) mod_deflate: permit compilation of mod_deflate against a zlib that has
523      been configured with -D Z_PREFIX, which redefines the token "deflate".
524      [Eric Covener]
525
526   *) mod_auth_digest: Use the secret when generating nonces in all cases and
527      not only when AuthName is used in .htaccess files (this change may cause
528      problems if used with round robin load balancers). Don't regenerate the
529      secret on graceful restarts. PR 54637  [Stefan Fritsch]
530
531   *) core: Stop the HTTP_IN filter from attempting to write error buckets
532      to the output filters, which is bogus in the proxy case. Create a
533      clean mapping from APR codes to HTTP status codes, and use it where
534      needed. [Graham Leggett]
535
536   *) mod_proxy: Ensure network errors detected by the proxy are returned as
537      504 Gateway Timout as opposed to 502 Bad Gateway, in order to be
538      compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls.
539
540   *) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
541      [Basant Kumar Kukreja <basant.kukreja sun.com>, Alejandro Alvarez
542      <alejandro.alvarez.ayllon cern.ch>]
543
544   *) mod_ldap: LDAP connections used for authentication were not respecting
545      LDAPConnectionPoolTimeout.  PR 54587
546
547   *) core: ap_rgetline_core now pulls from r->proto_input_filters.
548
549   *) mod_proxy_html: process parsed comments immediately. 
550      Fixes bug where parsed comments may be lost. [Nick Kew]
551
552   *) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew]
553
554   *) mod_proxy_html: fix typo-bug processing "strict" vs "transitional"
555      HTML/XHTML [Nick Kew]
556
557   *) core: Add option to add valgrind support. Use it to reduce false positive
558      warnings in mod_ssl. [Stefan Fritsch]
559
560   *) mod_authn_file, mod_authn_dbd, mod_authn_dbm, mod_authn_socache:
561      Cache the result of the most recent password hash verification for every
562      keep-alive connection. This saves some expensive calculations.
563      [Stefan Fritsch]
564
565   *) http: Remove support for Request-Range header sent by Navigator 2-3 and
566      MSIE 3. [Stefan Fritsch]
567
568   *) core, http: Extend HttpProtocol with an option to enforce stricter HTTP
569      conformance or to only log the found problems. [Stefan Fritsch]
570
571   *) EventOpt MPM
572
573   *) core: Add LogLevelOverride directive that allows to override the
574      loglevel for clients from certain IPs. This also works for things
575      like the SSL handshake where <If> LogLevel ... </If> is evaluated
576      too late. [Stefan Fritsch]
577
578   *) core: Add new directive Warning to issue warnings from a configuration
579      file. Both Warning and Error now generate a timestamped log message.
580      [Fabien Coelho] 
581
582   *) ap_expr: Add SERVER_PROTOCOL_VERSION, ..._MAJOR, and ..._MINOR
583      variables. [Stefan Fritsch]
584
585   *) core: New directive RegisterHttpMethod for registering non-standard
586      HTTP methods. [Stefan Fritsch]
587
588   *) core: New directive HttpProtocol which allows to disable HTTP/0.9
589      support. [Stefan Fritsch]
590
591   *) mod_allowhandlers: New module to forbid specific handlers for specific
592      directories. [Stefan Fritsch]
593
594   *) mod_systemd: New module, for integration with systemd on Linux.
595      [Jan Kaluza <jkaluza redhat.com>]
596
597   *) WinNT MPM: Store pid and generation for each thread in scoreboard
598      to allow tracking of threads from exiting children via mod_status
599      or other such mechanisms.  [Jeff Trawick]
600
601   *) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR:
602      - APIs: ap_log_pid(), ap_remove_pid, ap_read_pid()
603      - mod_cache: thundering herd lock directory
604      - mod_lbmethod_heartbeat, mod_heartmonitor: heartbeat storage file
605      - mod_ldap: shared memory cache
606      - mod_socache_shmcb, mod_socache_dbm: shared memory or dbm for cache
607      [Jeff Trawick]
608
609   *) suexec: Add --enable-suexec-capabilites support on Linux, to use
610      setuid/setgid capability bits rather than a setuid root binary.
611      [Joe Orton]
612
613   *) suexec: Add support for logging to syslog as an alternative to logging
614      to a file; configure --without-suexec-logfile --with-suexec-syslog.  
615      [Joe Orton]
616
617   *) mod_ssl: Add support for TLS Next Protocol Negotiation.  PR 52210.
618      [Matthew Steele <mdsteele google.com>]
619
620   *) cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will
621      be compiled by the build compiler instead of the host compiler.
622      Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected.
623      PR 51257. [Guenter Knauf]
624
625   *) core: In maintainer mode, replace apr_palloc with a version that
626      initializes the allocated memory with non-zero values, except if
627      AP_DEBUG_NO_ALLOC_POISON is defined. [Stefan Fritsch]
628
629   *) mod_policy: Add a new testing module to help server administrators
630      enforce a configurable level of protocol compliance on their
631      servers and application servers behind theirs. [Graham Leggett]
632
633   *) mod_firehose: Add a new debugging module able to record traffic
634      passing through the server in such a way that connections and/or
635      requests be reconstructed and replayed. [Graham Leggett]
636
637   *) mod_noloris
638
639   *) APREQ
640
641   *) Simple MPM
642
643   *) mod_serf
644
645   [Apache 2.5.0-dev includes those bug fixes and changes with the
646    Apache 2.4.xx tree as documented below, except as noted.]
647
648 Changes with Apache 2.4.x and later:
649
650   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?view=markup
651
652 Changes with Apache 2.2.x and later:
653
654   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
655
656 Changes with Apache 2.0.x and later:
657
658   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
659