<?xml version="1.0"?>
<document url="./release-plan-1.0.1.xml">

  <properties>
    <title>Struts Release Plan (Version 1.0.1)</title>
  </properties>

  <body>


  <section name="Objective" href="Objective">

  <p>$Id$</p>

  <p>The objective of the <strong>Struts 1.0.1</strong> release is to provide
  an official release of all the bug fixes and documentation updates that have
  been made to the STRUTS_1_0_BRANCH branch since the release of Struts 1.0.</p>

  </section>


  <section name="The Plan" href="Plan">

  <p>Since the release of Struts 1.0, a number of important bugs have been
  fixed, and some notable improvements have been made to the documentation.
  Currently, these updates are available only to those people who are willing
  to obtain the source code from CVS and build their own version of Struts.
  This release will make these updates available in an official distribution,
  thus making them available to a wider audience.</p>

  <p>Therefore, the following release plan is proposed for Struts 1.0.1:
  </p>
  <ul>
  <li><em>Code Freeze / Tag Date</em> - Wednesday, November 21, 2001</li>
  <li><em>Release Manager</em> - Martin Cooper</li>
  <li><em>Release Announcement</em> - To the following mailing lists and
      web sites:
      <ul>
      <li>announcements@jakarta.apache.org</li>
      <li>struts-dev@jakarta.apache.org</li>
      <li>struts-user@jakarta.apache.org</li>
      <li>jsp-interest@java.sun.com</li>
      <li>servlet-interest@java.sun.com</li>
      <li><a href="http://www.freshmeat.net">http://www.freshmeat.net</a></li>
      </ul></li>
  </ul>

  </section>


  <section name="Release Criteria" href="Criteria">

  <p>Prior to the release of Struts 1.0.1, the following action items
  must be completed:</p>
  <ul>
  <li>The Struts 1.0.1 Release Notes document shall be updated to describe
      substantial changes and improvements since the Struts 1.0 release,
      along with associated updates to the main Struts Documentation
      Application pages describing the new release.</li>
  <li>All of the Struts example applications that are included with the release
      shall operate successfully in the following servlet containers:
      <ul>
      <li><a href="http://jakarta.apache.org/tomcat">Tomcat 3.2.3</a></li>
      <li><a href="http://jakarta.apache.org/tomcat">Tomcat 4.0.1</a></li>
      </ul></li>
  <li>A release vote shall take place on the <em>struts-dev</em> mailing list
      to approve this plan.  The release vote MUST pass by "Majority Approval"
      of Struts committers.</li>
  </ul>

  </section>


  </body>

</document>
