Struts 1.3.5 Release
Info
- 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.
- 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.
- 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.
Issues
- Unresolved Issues (zero when tagged)
- JIRA Release Notes
- All issues marked 'Affects 1.3.5'
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 |
|
2. |
Review/Resolve Outstanding Bugs |
|
3. |
Update Release Notes |
|
4. |
Check Dependencies |
|
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 |
|
2. |
Run Cactus Tests (see below) |
NA |
3. |
Play test applications (TC 5.5.x) |
|
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" |
|
A1. |
Tag release in svn: STRUTS_1_3_5 |
|
A2. |
Check out a clean copy using the tag created in A1 and see StrutsMavenRelease |
|
A3. |
Deploy Test Build to people.apache.org: /www/cvs.apache.org/m2-snapshot-repository |
|
A4. |
Upload distributions to people.apache.org:/www/people.apache.org/builds/struts/v1.3.x |
|
A5. |
Refresh default website at /1.x and create archival copy at /1.3.5 |
|
A6. |
Update all pom.xml files to "1.3.6-SNAPSHOT" |
|
A7. |
Create a new JIRA version level (1.x next) |
|
A8. |
Announce the Test Build on dev@ and (optionally)user@ |
|
A9. |
Post release-quality vote on dev@ list |
|
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 |
|
C2. |
Update the 'current' symlinks in www.apache.org/dist/struts |
|
C3. |
Post an announcement to lists and website |
_ |
Proposed Release Announcement
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: