Apache 2.0alpha9 Released ------------------------- The Apache Group is pleased to announce the release of the ninth public alpha release of Apache 2.0. This is scheduled to be the last alpha release, although we will not release a beta until it is ready, so we may require another alpha. Apache 2.0 offers numerous enhancements, improvements and performance boosts over the 1.3 codebase. The most visible and noteworthy addition is the ability to run Apache in a hybrid thread/process mode on any platform that supports both threads and processes. This has shown to improve the scalability of the Apache HTTPD server significantly in our early testing, on some versions of Unix. With this version of Apache, we have also added support for filtered I/O. This allows modules to modify the output of other modules before it is sent to the client. This release also greatly improves the performance and robustness of Apache on the Microsoft Windows Operating Systems. Lastly we are proud to announce support for BeOS in this version of the server. Included in this alpha is a pre-alpha version of mod_proxy. Mod_proxy is not at the same level as the rest of the server, and should be enabled only by people who are very interested in working with the code. Mod_proxy has lost some functionality in this alpha, because of a code re-org, the maintainers are working to get mod_proxy running again. Apache 2.0a9 under UNIX has undergone some testing, but there are some known issues in the current release (hey, it is an "alpha" for a reason!). It is intended for developers and experienced Apache HTTPD administrators to play around with and work on. It is not a production release. If you do not feel comfortable compiling and working with code, the Apache Group strongly recommends that you wait for a more stable beta release before you try this version. Apache 2.0a9 under Windows has undergone some testing as well. There are known issues in the current release with regards to Apache on windows 95 and 98. We are working through those problems, and hope to have them fixed for future releases of the 2.0 alpha. There are new snapshots of the Apache httpd source available every 6 hours from http://dev.apache.org/from-cvs/apache-2.0/ - please download and test if you feel brave. We don't guarantee anything except that it will take up disk space, but if you have the time and skills, please give it a spin on your platforms. Apache has been the most popular web server on the Internet since April of 1996. The May 2000 WWW server site survey by Netcraft (see: http://www.netcraft.co.uk/Survey/) found that more web servers were using Apache than any other software running on more than 60% of the Internet web servers. For more information, please check out http://www.apache.org/httpd.html Changes with Apache 2.0a9 *) Win32 now requires perl to complete the final install step for users to build + install on Win32. Makefile.win now rewrites @@ServerRoot@ and installs the conf, htdocs and htdocs/manual directories. [William Rowe] *) Make mod_include use a hash table to associate directive tags with functions. This allows modules to implement their own SSI tags easily. The idea is simple enough, a module can insert it's own tag and function combination into a hash table provided by mod_include. While mod_include parses an SSI file, when it encounters a tag in the file, it does a hash lookup to find the function that implements that tag, and passes all of the relevant data to the function. That function is then responsible for processing the tag and handing the remaining data back to mod_include for further processing. [Paul J. Reder ] *) Get rid of ap_new_apr_connection(). ap_new_connection() now has fewer parameters: the local and remote socket addresses were removed from the parameter list because all required information is available via the APR socket. [Jeff Trawick] *) Distribution directory structure reorganized to reflect a normal source distribution with external install targets. [Roy Fielding] *) The MPMs that need multiple segments of shared memory now create two apr_shmem_t variables, one for each shared memory allocation. the problem is that we can't determine how much memory will be required for shared memory allocations once we try to allocate more than one variable. The MM code automatically aligns the shared memory allocations, so we end up needing to pad the amount of shared memory we want based on how many variables will be allocated out of the shared memory segment. It is just easier to create a second apr_shmem_t variable, and two shmem memory blocks. [Ryan Bloom] *) Cleanup the export list a bit. This creates a single unified list of functions exported by APR. The export list is generated at configure time, and that list is then used to generate the exports.c file. Because of the way the export list is generated, we only export those functions that are valid on the platform we are building on. [Ryan Bloom] *) Enable logging the cookie with mod_log_config [Sander van Zoest ] *) Fix a segfault in mod_info when it reaches the end of the configuration. [Jeff Trawick] *) Added lib/aputil/ as a placeholder for utility functions which are not specific to the Apache HTTP Server (but do not make sense with APR). The first utility is "apu_dbm": a set of functions to work with DBM files. This first version can be compiled for SDBM or GDBM databases. [Greg Stein] *) Complete re-write of mod_include. This makes mod_include a filter that uses buckets directly. This has now served the FAQ correctly. [Paul Reder ] *) Allow modules to specify the first filter in a sub_request when making the sub_request. This keeps modules from having to change the output_filter immediately after creating the sub-request, and therefore skip the sub_req_output_filter. [Ryan Bloom] *) Update ab to accept URLs with IPv6 literal address strings (in the format described in RFC 2732), and to build Host header fields in the same format. This allows IPv6 literal address strings to be used with ab. This support has been tested against Apache 1.3 with the KAME patch, but Apache 2.0 does not yet work with this format of the Host header field. [Jeff Trawick] *) Accomodate an out-of-space condition in the piped logs and the rotatelogs.c code, and no longer churn log processes for this condition. [Victor J. Orlikowski] *) Add support for partial writes with apr_sendfile() to core_output_filter. [Greg Ames]