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

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

  <body>

      <section name="Objective" href="objective">
          <p>
              $Id$
          </p>

          <p>
              The objective of the <strong>Struts 1.2.0</strong> release is to provide an official version of all the
              changes that have been made to the main trunk of the jakarta-struts CVS since the release of Struts 1.1
              Final.
          </p>
      </section>

      <section name="The Plan" href="plan">
          <p>
              Since the release of version Struts 1.1 Final, we have removed many of the elements deprecated between
              Struts 1.0 and Struts 1.1 and made several bug fixes and nominal enhancements.
          </p>

          <p>
              The following release plan is proposed for Struts 1.2.0:
          </p>

          <ul>
              <li>
                  <em>Tag Date</em> - Saturday, February 21, 2004, 23:59:59
              </li>
              <li>
                  <em>Release Manager(s)</em> - Ted Husted, Martin Cooper
              </li>
              <li>
                  <em>Alpha Release Announcement</em> - To the following mailing list:
                  <ul>
                      <li>struts-dev@jakarta.apache.org</li>
                  </ul>
              </li>
              <li>
                  <em>Beta/General Release Announcement</em> - To the following mailing lists:
                  <ul>
                      <li>struts-dev@jakarta.apache.org</li>
                      <li>struts-user@jakarta.apache.org</li>
                      <li>announcements@jakarta.apache.org</li>
                  </ul>
              </li>
          </ul>

          <p>
              The release process shall follow the same general procedures established for the
              <a href="http://httpd.apache.org/dev/release.html">Apache HTTPD project</a> and
              <a href="http://jakarta.apache.org/commons/releases/">Jakarta Commons products</a>, and utilize the
              HTTPD numbering scheme.
          </p>

          <p>
              The release will initially be given an Alpha status and made available through the Release Manager's home
              directory.
              Pursuant to a Majority Vote on the <em>struts-dev</em> Mailing List, the release may be moved to the
              public release directory.
              The vote may also serve to reclassify the release to be of <strong>Beta</strong> or <strong>General Availability</strong> (GA)
              quality, as defined by the Apache HTTPD project.
              Subsequent votes may reclassify the release, either to promote it or to demote it, as need be.
          </p>
      </section>

      <section name="Specific Release Criteria" href="specific">
          <p>
              Prior to the <strong>Struts 1.2.0 release</strong>, these specific action items must be completed:
          </p>

          <ul>
              <li>
                  The Roadmap page must be updated with an explanation of the new release numbering scheme.
              </li>
          </ul>
      </section>

      <section name="Standard Release Criteria" href="standard">
          <p>
              Prior to <strong>any release</strong> by the Struts Committers, including this one, the following action items must
              be completed:
          </p>

          <ul>
              <li>
                  <strong>Resolve showstoppers.</strong>
                  Relevant
                  <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=bugs.bug_i">
                  Bugzilla tickets</a> verified by a Struts Committer to have the Severity BLOCKER, CRITICAL, or
                  MAJOR must be "Resolved" with one of these Bugzilla resolutions: FIXED, INVALID, WONTFIX, WORKSFORME.
              </li>
              <!--
              <li>
                  <strong>Apply patches.</strong>
                  Relevant
                  <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=VERIFIED&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=PatchAvailable&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">
                  Bugzilla reports</a> which include a working patch must be "Resolved" with any of the legal Bugzilla
                  resolutions (FIXED, INVALID, WONTFIX, LATER, REMIND, WORKSFORME).
                  <ul>
                      <li>
                          Bug reports with patches that are resolved as LATER or REMIND shall include an explanation as
                          to why the patch should be applied in a later release.
                      </li>
                  </ul>
              </li>
              -->
              <li>
                  <strong>Test example applications.</strong>
                  All example applications included with the release shall operate successfully under the
                  Reference Implementation containers for the Servlet/JSP specifications supported by the release.
                  In the case of a Struts 1.x.x release, these containers are:
                  <ul>
                      <li>
                          Tomcat 3.3 (Servlet/JSP 2.2/1.1 Reference Implementation)
                      </li>
                      <li>
                          Tomcat 4.1 (Servlet/JSP 2.3/1.2 Reference Implementation)
                      </li>
                  </ul>
                      The best available version of each container shall be used, as documented by the
                      <a href="http://jakarta.apache.org/tomcat">Tomcat website</a> at the time the test is conducted.
              </li>
              <li>
                  <strong>Update Release Notes.</strong> The Release Notes for the distribution shall be updated to summarize any
                  substantial changes and improvements since the prior release, including updates to bundled
                  documentation and example applications.
              </li>
            </ul>
      </section>

      <section name="Minor Release Criteria" href="minor">
          <p>
            Prior to an initial <strong>Struts minor release</strong> (#.#.0), the following action items must be completed:
          </p>

          <ul>
              <li>
                  <strong>Review pending issues.</strong>
                  All relevant
                  <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=RESOLVED&amp;resolution=LATER&amp;resolution=REMIND&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">
                  Bugzilla reports marked "Resolved" with the Resolutions LATER or REMIND</a> shall be reviewed to
                  ensure that pending issues have been addressed prior to the release.
              </li>
              <li>
                  <strong>Review pending enhancements.</strong>
                  All relevant
                  <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=VERIFIED&amp;bug_severity=Enhancement&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">
                  Bugzilla reports marked "Enhancement"</a> shall be reviewed by the Release Manager to ensure that
                  all suitable enhancements have been made prior to the release.
              </li>
              <li>
                  <strong>Resolve new issues.</strong>
  	              All relevant
	              <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=VERIFIED&amp;bug_severity=Blocker&amp;bug_severity=Critical&amp;bug_severity=Major&amp;bug_severity=Normal&amp;bug_severity=Minor&amp;email1=&amp;emailtype1=substring&amp;emailassigned_to1=1&amp;email2=&amp;emailtype2=substring&amp;emailreporter2=1&amp;bugidtype=include&amp;bug_id=&amp;changedin=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;product=Struts&amp;short_desc=&amp;short_desc_type=allwordssubstr&amp;long_desc=&amp;long_desc_type=allwordssubstr&amp;bug_file_loc=&amp;bug_file_loc_type=allwordssubstr&amp;keywords=&amp;keywords_type=anywords&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=&amp;cmdtype=doit&amp;order=Bug+Number">
	              Bugzilla tickets</a> MUST be marked as "Enhancement" or "Resolved" with any
	              of the legal Bugzilla resolutions (FIXED, INVALID, WONTFIX, LATER, REMIND, WORKSFORME).
                  <ul>
                      <li>
                          Bug reports that are resolved as LATER or REMIND will include comments as to whether those
                          specific issues will be dealt with in a forthcoming minor release or whether they will be
                          considered in a future major release.
                     </li>
                  </ul>
              </li>
              <li>
                  A Majority Vote shall take place on the <em>struts-dev</em> mailing list to approve a release plan
                  for the initial minor release.
              </li>
          </ul>
    </section>

    </body>
</document>
