Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Struts 1.3.5 Release

Info

  1. Struts Release Guidelines 2. Signing Releases
    3. Apache Mirroring Guidelines

Release Manager

The release managers are Wendy Smoak and Ted Husted

How to Help

Everyone in the Struts community, users, developers, and committers, is encouraged to test a release, report any issues, and post to dev@ any comments on the overall quality of the release.

The Struts 1.3.5 distribution is available here: http://people.apache.org/builds/struts/1.3.5

To help everyone get started with Struts 1.3.5, here are the simplest installation instructions that can possibly work:

  • Download the Struts 1.3.5 distribution
  • Extract the distribution to a likely location (/opt/struts-1.3.5).
  • If possible, try the JARs in a 1.2.x application that already compiles WITHOUT deprecations.
  • Deploy and play-test the example applications from the /webapps folder to your web container
    • If you see any error messages, please do a quick search of the mail archives and/or post them on the Dev list, and if they appear to be newly introduced issues, a JIRA tickets will need to be created so we can track and resolve the issue as quickly as possible.
      • Vesion 1.3.5 is tagged. The issue can be logged against 1.3.5, but the fix would happen in 1.3.6 or later.
  • Change to the /docs directory and click-thru the documentation. If you notice anything awry, follow the "error messages" advice.

To test building Struts 1.3.5

  • Install Java 1.4 or later and set JAVA_HOME
  • Install Maven 2 and set MAVEN_HOME ** http://wiki.apache.org/struts/StrutsMaintenanceMaven
  • Change to the new folder (e.g., /opt/struts-1.3.5/src)
  • $ mvn install
  • Wait five minutes or more for Maven to download and build everything
  • $ cd assmbly
  • $ mvn assembly:assembly
  • The distribution will be deposited in 'assembly/target/assembly/out'.
  • If you encounter any problems with the build, follow the "error messages" advice.
  • Oh, and THANK YOU for your help. (smile)

Issues

Remarks

The taglib reference plugin requires JDK 1.5, so we are compiling Struts 1.3.5 under JDK 1.5, with the compiler plugin configured to target 1.4 (in struts1/pom.xml).

There is probably some sequence of commands that would deploy the jars with 1.4, then switch to 1.5 to build the site and the distribution assembly. But, it doesn't seem worth the trouble to do the research so long as the compiler works as advertised.

TO DO

Preparation Checklist

    Description

    Status

    1.

    Announce plan to dev@ list

    (tick)

    2.

    Review/Resolve Outstanding Bugs

    (tick)

    3.

    Update Release Notes

    (tick)

    4.

    Check Dependencies

    (tick)

    The Commons Preparation Guide is a helpful preparation backgrounder, but Commons uses the "beta/release-candidate/final" process.

    Likewise, the HTTPD Release Guidelines is a helpful "overall process" backgrounder, but HTTPD does not use a test-build stage.

    External Dependency versions for this release:

    Dependency

    Version

    Status

    Used In

    Antlr

    2.7.2

    Released

    Struts Validator

    Bean Scripting Framework

    2.3.0

    Released

    Scripting

    Commons BeanUtils

    1.7.0

    Released

    core (ActionServlet, configuration, DynaActionForm)

    Commons Chain

    1.0

    Released

    core (RequestProcessor)

    Commons Digester

    1.6

    Released

    core (ActionServlet, configuration)

    Commons FileUpload

    1.1

    Released

    Struts Upload

    Commons IO

    1.1

    Released

    Required by Commons FileUpload

    Commons Logging

    1.0.4

    Released

    core (logging all over)

    Commons Validator

    1.3.0

    Released

    Struts Validator

    Jakarta Oro

    2.0.8

    Released

    Commons Validator

    Testing Checklist

    Testing Summary

      Description

      Completed

      1.

      Run Unit Test targets

      (tick)

      2.

      Run Cactus Tests (see below)

      NA

      3.

      Play test applications (TC 5.5.x)

      (tick)

      Note: Cactus tests are not working and have been moved to the sandbox.

      Test Build Checklist (A)

      See also Commons Step-by-Step Guide

        Description

        Completed

        A0.

        Update all pom.xml files to omit "-SNAPSHOT"

        (tick)

        A1.

        Tag release in svn: STRUTS_1_3_5

        (tick)

        A2.

        Check out a clean copy using the tag created in A1 and see StrutsMavenRelease

        (tick)

        A3.

        Deploy Test Build to people.apache.org: /www/cvs.apache.org/m2-snapshot-repository

        (tick)

        A4.

        Upload distributions to people.apache.org:/www/people.apache.org/builds/struts/v1.3.x

        (tick)

        A5.

        Refresh default website at /1.x and create archival copy at /1.3.5

        (tick)

        A6.

        Update all pom.xml files to "1.3.6-SNAPSHOT"

        (tick)

        A7.

        Create a new JIRA version level (1.x next)

        (tick)

        A8.

        Announce the Test Build on dev@ and (optionally)user@

        (tick)

        A9.

        Post release-quality vote on dev@ list

        (tick)

        Vote (A)

        PMC Member

        Quality

        Wendy Smoak

        Beta

        Don Brown

        GA

        James Mitchell

        GA

        James Holmes

        Beta

        Voting thread is here

        If release vote fails, including for a lack of quorum, remove 1.3.5 archive from builds folder and remove archival version of website.

        Vote (B)

        PMC Member

        Quality

        Wendy Smoak

        GA

        James Holmes

        GA

        James Mitchell

        GA

        Joe Germuska

        GA

        Don Brown

        GA

        Laurie Harper

        GA

        Voting thread is here.

        Voting continues until a GA or "withdraw" vote passes, or there is a subsequent release.

        General Availability Checklist (C)

          Description

          Completed

          C1.

          Update top-level website: index.html, download pages, menus

          (tick)

          C2.

          Update the 'current' symlinks in www.apache.org/dist/struts

          (tick)

          C3.

          Post an announcement to lists and website

          _


          Proposed Release Announcement

          Wiki Markup
          Subject: \[ANNOUNCE\] Struts v1.3.5

          The Apache Struts team is pleased to announce that Struts 1.3.5 has been promoted to General Availability.

          Struts 1.3.5 is available in a full distribution, or as separate library, source, example and documentation distributions.

          http://struts.apache.org/download.cgi#struts135

          It is also available in the central Maven repository under Group ID "org.apache.struts".

          Major changes since Struts 1.2 include

          • Composable Request Processor
          • Arbitrary configuration properties
          • Opt-In Cancel Handling
          • Enhanced Global Exception Handlers
          • Extends attribute
          • "isCommitted" Exception Handling
          • Postback Actions
          • Wildcard ActionConfig properties

          Composable Request Processor: For Struts 1.3, we turned the request processor methods into Commands that are part of a flexible Chain of Commands.

          Arbitrary configuration properties: Most every Struts configuration element now accepts a map of key/value pairs. Arbitrary configuration properties let us externalize more of our configurations, encouraging reuse.

          Opt-In Cancel Handling: In Struts 1.3, the Cancel token is only honored if the new property "cancellable" is set for the Action Mapping. If the Cancel token is present, but cancellable is not set, then an InvalidCancelException is thrown. The InvalidCancelExeption may be caught by a Declarative Exception Handler, like any other Exception.

          Enhanced Global Exception Handlers: We now support use of global exception handlers in cases when no ActionConfig has yet been identified, as in with "preprocessing" commands in a custom request processing chain.

          Extends attribute: In the Struts configuration file, we can now use the extends attribute to adopt default settings from another element, as we already can in the Tiles configuration files.

          "isCommitted" Exception Handling: When using Tiles, sometimes the response is already committed when an exception occurs. Now, the ExceptionHandler tests response.isCommitted, and, if true, includes the configured view path, rather than forwarding to it.

          Postback Forms: The action attribute of the Form taglib is now optional. If omitted, the original URI of the original request is used.

          Wildcard ActionConfig properties: Wildcards can now be used in the properties of an ActionConfig.

          The 1.3.x series of the Apache Struts framework has a minumum requirement of the following specification versions:

          • Java Servlet 2.3 and JavaServer Pages (JSP) 1.2
          • Java 2 Standard Platform Edition (J2SE) 1.4

          The release notes are available online at:

          http://struts.apache.org/1.3.5/userGuide/release-notes.html

          Notes on upgrading from prior versions can be found on the community-maintained wiki:

          http://wiki.apache.org/struts/StrutsUpgradeNotes12to13