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

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

  <body>

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

          <p>
              THIS IS AN UNRATIFIED DRAFT DOCUMENT PROVIDED FOR DISCUSSION PURPOSES ONLY!
          </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 minor enhancements.
          </p>

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

          <ul>
              <li>
                  <em>Tag Date</em> - Saturday, September 7, 2003, 23:59:59
              </li>
              <li>
                  <em>Release Manager</em> - Ted Husted
              </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?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;version=1.1RC2&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;newqueryname=&amp;order=Bug+Number">
                  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>
