1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
4 <!-- $LastChangedRevision$ -->
7 Copyright 2004-2005 The Apache Software Foundation or its licensors, as
10 Licensed under the Apache License, Version 2.0 (the "License");
11 you may not use this file except in compliance with the License.
12 You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <manualpage metafile="new_features_2_2.xml.meta">
25 <title>Overview of new features in Apache 2.2</title>
28 <p>This document describes some of the major changes between the
29 2.0 and 2.2 versions of the Apache HTTP Server. For new features since
30 version 1.3, see the <a href="new_features_2_0.html">2.0 new features</a>
35 <title>Core Enhancements</title>
39 <dd>The bundled authentication and authorization modules have
40 been refactored. There is a new authentication backend provider
41 scheme which greatly eases the construction of new authentication
45 <dd><module>mod_cache</module>, <module>mod_disk_cache</module>, and
46 <module>mod_mem_cache</module> have undergone a lot of changes
47 are now considered production-quality. <program>htcacheclean</program>
48 has been introduced to cleanup <module>mod_disk_cache</module>
52 <dd>The new <module>mod_proxy_balancer</module> module provides
53 load balancing services for <module>mod_proxy</module>.
54 The new <module>mod_proxy_ajp</module> module adds support for the
55 <code>Apache JServ Protocol version 1.3</code> used by
56 <a href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a>.</dd>
58 <dt>Regular Expression Library Updated</dt>
59 <dd>Version 5.0 of the
60 <a href="http://www.pcre.org/">Perl Compatible Regular Expression
61 Library</a> (PCRE) is now included.</dd>
63 <dt>Smart Filtering</dt>
64 <dd><module>mod_filter</module> introduces dynamic configuration
65 to the output filter chain. It enables filters to be conditionally
66 inserted, based on any Request or Response header or environment
67 variable, and dispenses with the more problematic dependencies and
68 ordering problems in the 2.0 architecture.</dd>
70 <dt>Large File Support</dt>
72 <dd>httpd is now built with support for files larger than 2Gb on
73 modern 32-bit Unix systems. Support for handling >2Gb request
74 bodies has also been added.</dd>
77 <dd>The <module>event</module> MPM uses a seperate thread to handle
78 Keep Alive requests and accepting connections. Keep Alive requests
79 have traditionally required httpd to dedicate a worker to handle it.
80 This dedicated worker could not be used again until the Keep Alive
81 timeout was reached.</dd>
87 <title>Module Enhancements</title>
89 <dt><module>mod_authnz_ldap</module></dt>
90 <dd>This module is a port of the 2.0
91 <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code>
92 framework. New features include using LDAP attribute values and
93 complicated search filters in the
94 <directive module="core">Require</directive> directive.</dd>
96 <dt><module>mod_info</module></dt>
97 <dd>Added a new <code>?config</code> argument which will show
98 the configuration directives as parsed by Apache, including
99 their file name and line number. The module also
100 shows the order of all request hooks and additional
101 build information, similar to <code>httpd -V</code>.</dd>
103 <dt><module>mod_ssl</module></dt>
104 <!-- Need Info on SSLEngine Support? -->
105 <dd>Added a support for
106 <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which
107 allows connections to upgrade from clear text to TLS encryption.</dd>
111 <section id="programs">
112 <title>Program Enhancements</title>
114 <dt><program>httpd</program></dt>
115 <dd>A new command line option <code>-M</code> has been added that
116 lists all modules that are loaded based on the current
117 configuration. Unlike the <code>-l</code> option, this list
118 includes DSOs loaded via <module>mod_so</module>.</dd>
122 <section id="developer">
123 <title>Module Developer Changes</title>
127 <dd>Apache 2.2 uses the APR 1.0 API. All deprecated functions and
128 symbols have been removed from <code>APR</code> and
129 <code>APR-Util</code>. For details, see the
130 <a href="http://apr.apache.org/">APR Website</a>.</dd>
132 <dt>Connection Error Logging</dt>
134 <dd>A new function, <code>ap_log_cerror</code> has been added to log
135 errors that occure with the client's connection. When logged,
136 the message includes the client IP address.</dd>
138 <dt>Test Configuration Hook Added</dt>
140 <dd>A new hook, <code>test_config</code> has been added to aid
141 modules that want to execute special code only when the user passes
142 <code>-t</code> to <program>httpd</program>.</dd>
144 <dt>Set Threaded MPM's Stacksize</dt>
146 <dd>A new directive, <code>ThreadStackSize</code> has been added to
147 set the stack size on all threaded MPMs. This is required
148 for some third-party modules on platforms with small default
149 thread stack size.</dd>
151 <dt>Protocol handling for output filters</dt>
153 <dd>In the past, every filter has been responsible for ensuring
154 that it generates the correct response headers where it affects
155 them. Filters can now delegate common protocol management to
156 <module>mod_filter</module>, using the
157 <code>ap_register_output_filter_protocol</code> or
158 <code>ap_filter_protocol</code> calls.</dd>