-Apache 2.0alpha9 Released
+Apache 2.0beta1 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.
+After two long years of development he Apache Group is pleased to announce
+the release of the first public beta release of Apache 2.0.
Apache 2.0 offers numerous enhancements, improvements and performance
boosts over the 1.3 codebase. The most visible and noteworthy addition
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.
+Microsoft Windows Operating Systems. This beta includes support for IPv6
+on all platforms that support IPv6.
+
+This version of Apache is known to work on many versions of Unix, BeOS,
+OS/2, and Windows. Because of many of the advancements in Apache 2.0,
+Apache performs equally on all supported platforms.
There are new snapshots of the Apache httpd source available every 6
hours from http://dev.apache.org/from-cvs/apache-2.0/ - please
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]
+Changes with Apache 2.0b1
+ *) Apache is now IPv6-capable. On systems where APR supports IPv6,
+ Apache gets IPv6 listening sockets by default. Additionally, the
+ Listen, NameVirtualHost, and <VirtualHost> directives support IPv6
+ numeric address strings (e.g., "Listen [fe80::1]:8080").
+ [Jeff Trawick]
- *) 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]
+ *) Modify the install directory layout. Modules are now installed in
+ modules/. Shared libraries should be installed in libraries/, but
+ we don't have any of those on Unix yet. All install directories
+ are modifyable at configure time. [Ryan Bloom]
- *) Enable logging the cookie with mod_log_config
- [Sander van Zoest <sander@covalent.net>]
+ *) Install all header files in the same directory on Unix. [Ryan Bloom]
- *) Fix a segfault in mod_info when it reaches the end of the configuration.
- [Jeff Trawick]
+ *) Get the functions in server/linked into the server, regardless of
+ which modules linked into the server. This uses the same hack
+ for Apache that we use for APR and apr-util to ensure all of the
+ necessary functions are linked. As a part of thise, the CHARSET_EBCDIC
+ was renamed to AP_CHARSET_EBCDIC for namespace protection, and to make
+ the scripts a bit easier.
+ [Ryan Bloom]
- *) 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]
+ *) Rework the RFC1413 handling to make it thread-safe, use a timeout
+ on the query, and remove IPv4 dependencies. [Jeff Trawick]
- *) 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>]
+ *) Get all of the auth modules to the point that they will install and
+ be loadable into the server. Our new build/install mechanism expects
+ that all modules will have a common name format. The auth modules
+ didn't use that format, so we didn't install them properly.
+ [Ryan Bloom]
- *) 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]
+ *) API routines ap_pgethostbyname() and ap_pduphostent() are no longer
+ available. Use apr_getaddrinfo() instead. [Jeff Trawick]
- *) 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]
+ *) Get "NameVirtualHost *" working in 2.0. [Ryan Bloom]
- *) 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]
+ *) Return HTTP_RANGE_NOT_SATISFIABLE if the every range requested starts
+ after the end of the response. [Ryan Bloom]
- *) Add support for partial writes with apr_sendfile() to core_output_filter.
- [Greg Ames]
+ *) Get byterange requests working with responses that do not have a
+ content-length. Because of the way byterange requests work, we have to
+ have all of the data before we can actually do the byterange, so we
+ can compute the content-length in the byterange filter.
+ [Ryan Bloom]
+ *) Get exe CGI's working again on Windows.
+ [Allan Edwards]
+
+ *) Get mod_cgid and mod_rewrite to work as DSOs by changing the way
+ they keep track of whether or not their post config hook has been
+ called before. Instead of a static variable (which is replaced when
+ the DSO is loaded a second time), use userdata in the process pool.
+ [Jeff Trawick]