
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 <rederpj@raleigh.ibm.com>]

  *) 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 <sander@covalent.net>]

  *) 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 <rederpj@raleigh.ibm.com>]

  *) 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]


