Overview of new features in Apache 2.2

This document describes some of the major changes between the 2.0 and 2.2 versions of the Apache HTTP Server. For new features since version 1.3, see the 2.0 new features document.

Core Enhancements
Authn/Authz
The bundled authentication and authorization modules have been refactored. There is a new authentication backend provider scheme which greatly eases the construction of new authentication backends.
Caching
mod_cache, mod_disk_cache, and mod_mem_cache have undergone a lot of changes are now considered production-quality. htcacheclean has been introduced to cleanup mod_disk_cache setups.
Proxying
The new mod_proxy_balancer module provides load balancing services for mod_proxy. The new mod_proxy_ajp module adds support for the Apache JServ Protocol version 1.3 used by Apache Tomcat.
Regular Expression Library Updated
Apache 2.2 includes version 5.0 of the Perl Compatible Regular Expression Library (PCRE).
Smart Filtering
mod_filter introduces dynamic configuration to the output filter chain. It enables filters to be conditionally inserted, based on any Request or Response header or environment variable, and dispenses with the more problematic dependencies and ordering problems in the 2.0 architecture.
Module Enhancements
mod_authnz_ldap
This module is a port of the 2.0 mod_auth_ldap module to the 2.2 Authn/Authz framework. New features include using LDAP attribute values and complicated search filters in the Require directive.
mod_info
Added a new ?config argument which will show the configuration directives as parsed by Apache, including their file name and line number. The module also shows the order of all request hooks and additional build information, similar to httpd -V.
mod_ssl
Added a support for RFC 2817, which allows connections to upgrade from clear text to TLS encryption.
Program Enhancements
httpd
A new command line option -M has been added that lists all modules that are loaded based on the current configuration. Unlike the -l option, this list includes DSOs loaded via mod_so.
Module Developer Changes
APR 1.0 API
Apache 2.2 uses the APR 1.0 API. All depreciated functions and symbols have been removed from APR and APR-Util. For details, see the APR Website.
Connection Error Logging
A new function, ap_log_cerror has been added to log errors that occure with the client's connection. When logged, the message includes the client IP address.
Test Configuration Hook Added
A new hook, test_config has been added to aid modules that want to execute special code only when the user passes -t to httpd.
Set Threaded MPM's Stacksize
A new directive, ThreadStackSize has been added to set the stack size on all threaded MPMs. This is required for some third-party modules on platforms with small default thread stack size.
Protocol handling for output filters
In the past, every filter has been responsible for ensuring that it generates the correct response headers where it affects them. Filters can now delegate common protocol management to mod_filter, using the ap_register_output_filter_protocol or ap_filter_protocol calls.