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