$Id$

                      Release Plan for Apache Tomcat 5.5
                      ==================================


Introduction:
------------

This document is a release plan for the final release of Apache Tomcat 5.5.

The goal of the Apache Tomcat 5.5 final release is to provide a stable
container that supports 100% of the mandatory requirements of the Servlet 2.4
and JSP 2.0 specifications, as well as to improve and add many useful 
additional features on top of the existing Apache Tomcat 5.0.x releases.

Apache Tomcat 5.5 includes the following major new features over 
Apache Tomcat 5.0:

    * Performance optimizations and startup time improvements
    * Refactored application deployer
    * Faster JSP compiler with in memory loading of depedencies, powered by
      Eclipse JDT
    * Dependencies repackaging
    * Streamlined configuration (datasources and web application defaults)
    * Support for J2SE JRE 5.0
    * New native connector for Apache 2, based on mod_proxy

Apache Tomcat 5.5 will use the build numbering and release process first used 
in the Apache HTTPd 2.0.x project.
Milestone builds, numbered 5.5.x, will be released as needed and will 
recieve a stability rating after a one week testing period. The rating can be
either: Alpha, Beta, or Stable.

This Release Plan proposes the following prospective target dates 
for stability:

  August 30, 2004
  ---------------

Tomcat 5.5.0 should be tagged by this date.

  End of September, 2003
  ----------------------

Tomcat 5.5 should reach beta status by then.

In order to complete a first Stable release, all outstanding Bugzilla bug 
reports against Tomcat 5.5 above NORMAL severity need to be fixed or deferred 
for later releases.

This Release Plan proposes the following classification of current outstanding
bug reports in the bug tracking system, sorted by component and their ID
numbers in our bug tracking system at:

http://nagoya.apache.org/bugzilla/

Please review the bug reports, and their severity accordingly. 

