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