Struts Classic 1.3.0 Release
Info
- Struts Release Guidelines 2. Signing Releases
3. Apache Mirroring Guidelines
4. Copy of Release notes for 1.3.0 - StrutsClassicRelease130Notes
Release Manager
Release managers are Ted Husted and Wendy Smoak
Special Issues
Struts Classic 1.3.0 is a "bootstrap" initiative to extract seven new Struts subprojects from Struts 1.2.8. Each subproject will be available as an independant distribution, and the set of JARs created or used by all seven subprojects will be available in one convenient ZIP archive.
struts-action-library-1.3_00.zip
- struts-action-1.3.0.jar
- struts-el-1.3.0.jar
- struts-extras-1.3.0.jar
- struts-taglibs-1.3.0.jar
- struts-tiles-1.3.0.jar
- ... other dependencies as needed
If fixes need to be made to any of the subproject releases, then a new release of that subproject can be rolled and released in the usual way, under its own release plan.
At some point, we would generate a new Library distribution with the GA versions for each product. For example:
struts-action-library-1.3_01.zip
- struts-action-1.3.0.jar
- struts-el-1.3.1.jar
- struts-extras-1.3.0.jar
- struts-taglibs-1.3.1.jar
- struts-tiles-1.3.0.jar
- ... other dependencies as needed
Note that some products may advance to their own "1.3.1" versions, but others may not. Each Struts product has its own release cycle *independant* of all other Struts products. On average, Apache products tend to go through a cycle of four to six releases before reaching GA status. When a subproject has a new GA release, the library distribution would be updated, and the version counter incremented.
How to Help
Everyone in the Struts community, users, developers, and committers, are encouraged to test a release, report any issues, and post to dev@ any comments on the overall quality of the release.
To help everyone get started with Struts Classic 1.3.0, here are the simplest installation instructions that can possibly work:
Library
- Download the Struts Action Library distribution from http://svn.apache.org/dist/struts/action-lib/
- Until 1.3.0 is available, download the nightly builds from http://svn.apache.org/builds/struts/maven/
- Plug the JARs into your application and run your usual acceptance tests
Binary
- Download each new binary distribution from http://svn.apache.org/dist/struts/
- Until 1.3.0 is available, download the nightly builds from http://svn.apache.org/builds/struts/maven/
- Plug the JARs into your application and run your usual acceptance tests
Source
- Download each new source distribution from http://svn.apache.org/dist/struts/
- Until 1.3.0 is available, download the nightly builds from http://svn.apache.org/builds/struts/maven/
- Or, check out the development source from Subversion (http://wiki.apache.org/struts/StrutsMaintenanceMaven)
- Extract the distribution to a likely location (\opt\struts\action-lib)
- Install Java and set JAVA_HOME
- Install Maven and set MAVEN_HOME
- Install the Cactus Plugins and Apache Tomcat
- Change to the Struts Build folder (e.g., \opt\struts-build)
- $ maven
- Wait about five minutes for Maven to download and build everything
- If you see any error messages, see if they are known issues by comparing your log with ours at http://svn.apache.org/builds/struts/maven/trunk/nightly/logs/
- If you see any error messages, see if they are known issues by comparing your log with ours at http://svn.apache.org/builds/struts/maven/trunk/nightly/logs/
Outstanding Bug Review
ID |
Summary |
Component |
Status |
|||
Mavenise Cactus tests |
Taglib, EL |
(later) |
||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ea65a5e1-0efb-41fb-8c20-861def119ec9"><ac:plain-text-body><![CDATA[ |
[33132 |
http://issues.apache.org/bugzilla/show_bug.cgi?id=33132] |
[upload] org.apache.struts.upload.MultipartRequestWrapper... |
File Upload |
FIXED |
]]></ac:plain-text-body></ac:structured-macro> |
TagUtils.getActionMappingURL() does not consider "/*.do" ... |
Custom Tags |
Added to FAQ |
||||
multiform validation |
Validator |
|
||||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6e5aa13c-b0d3-4a3d-9f8a-1f4508cc7fb8"><ac:plain-text-body><![CDATA[ |
[35806 |
http://issues.apache.org/bugzilla/show_bug.cgi?id=35806] |
[taglib/validator] quotes not properly escaped in dynamic... |
Validator |
|
]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="b40b2df6-7824-4a77-9101-612f7c12af19"><ac:plain-text-body><![CDATA[ |
[35931 |
http://issues.apache.org/bugzilla/show_bug.cgi?id=35931] |
[el] Example webapp missing |
EL |
|
]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="df322e54-ec55-4aab-81cf-6cb35e86015b"><ac:plain-text-body><![CDATA[ |
[35933 |
http://issues.apache.org/bugzilla/show_bug.cgi?id=35933] |
[apps] Source code missing from example apps |
Apps |
|
]]></ac:plain-text-body></ac:structured-macro> |
Remove deprecations prior to 1.3.0 release |
All |
|
||||
Document enhancement (Enhanced DynaActionForm) |
All |
|
||||
Document enhancement (Allow dynamic interface implementation) |
All |
(n/a) |
||||
Enhanced DynaActionForms cannot be correctly deserialized |
All |
(removed) |
||||
Validation always skipped with Globals.CANCEL_KEY (as to Composable Request Processor only) |
Action |
|
OTHER TODO
Summary |
Status |
Mavenize website |
|
Review Site |
|
Review Action (Core) |
|
Review Apps |
|
Review Taglibs |
|
Review EL |
|
Review Extras (Plugins) |
|
Review Tiles |
|
Final Review |
|
Move DynaValidatorActionForm to Extras |
|
Utilize Maven FAQ plugin |
|
NOTES
- Action - Rename from Core and update text
Preparation Checklist
Description |
Status |
|
1. |
Announce plan to dev@ list; link from roadmap page |
|
2. |
Review/Resolve Outstanding Bugs |
|
3. |
Update Release Notes |
|
4. |
Check Dependencies |
|
5. |
Update to version 1.3.0 build.xml, project.xml, release-notes.xml, and the MANIFEST.MF |
|
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.
Dependency versions for this library release (all products):
Dependency |
Version |
Status |
Used In |
Antlr |
2.7.2 |
Released |
Struts Validator |
Commons BeanUtils |
1.7.0 |
Released |
Action (ActionServlet, configuration, DynaActionForm) |
Commons Chain |
1.0 |
Released |
core (RequestProcessor) |
Commons Digester |
1.6 |
Released |
Action (ActionServlet, configuration) |
Commons FileUpload |
1.1 |
Released |
Struts Action / Upload package |
Commons IO |
1.1 |
Released |
Struts Action / Upload package |
Commons Logging |
1.0.4 |
Released |
core (logging all over) |
Commons Validator |
1.2.0 |
Released |
Struts Action / Validator package |
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) |
_ |
3. |
Play test bundled applications (TC 5.0.x) |
|
3b. |
Play test with legacy Request Procssor |
|
Cactus Tests
J2SE Version |
Tomcat Version |
Status |
|
1. |
J2SE 1.4.2_07 |
Tomcat 4.1.31 |
_ |
2. |
J2SE 1.5.0_06 |
Tomcat 4.1.31 |
_ |
3. |
J2SE 1.4.2_03 |
Tomcat 5.0.30 |
_ |
4. |
J2SE 1.5.0_06 |
Tomcat 5.0.30 |
_ |
Test Build Checklist (A)
See also Commons Step-by-Step Guide
Description |
Completed |
|
A0. |
Update $ID/project.xml, pom.xml to omit "-dev" |
|
A1. |
Tag release in svn: STRUTS_$ID_1_3_0 |
|
A2. |
Run Distribution Target |
|
A3. |
Upload Distribution to cvs.apache.org:/www/cvs.apache.org/dist/struts/$ID |
|
A4. |
Upload Library Distribution to cvs.apache.org:/www/cvs.apache.org/dist/struts/action_lib |
|
A5. |
Post release-quality vote on dev@ and user@ lists |
_ |
A6. |
Update $ID/project.xml, pom.xml to "1.3.1-SNAPSHOT" |
|
A7. |
If appropriate, post updated DTD to people.apache.org/www/struts.apache.org/dtds |
|
A8. |
Modify svn:externals on the tags to point to STRUTS_BUILD_1_3_0 |
|
Where $ID = (action, apps, build, el, extras, site, taglib, tiles)
Vote (A)
PMC Member |
Quality |
Voting thread is _
If release vote fails, including for a lack of quorum, remove from dist folder.
Point Release Checklist (B)
Description |
Completed |
|||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0f77ef57-d7c9-4cc3-a2ee-a19dea2e5ea7"><ac:plain-text-body><![CDATA[ |
B1. |
Create Sums and Sign Distributions [2] |
_ |
]]></ac:plain-text-body></ac:structured-macro> |
B2. |
Request new Bugzilla version level (1.3.0) |
_ |
||
B3. |
Update "Acquiring" page on website and Test Downloads |
_ |
Vote (B)
PMC Member |
Quality |
Voting continues until a GA or "withdraw" vote passes, or there is a subsequent release.
General Availability Checklist (C)
Description |
Completed |
|||
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1d514c24-e91f-40b6-9e8b-78269458b146"><ac:plain-text-body><![CDATA[ |
C1. |
Copy Distribution to Mirrored Directories [3] |
_ |
]]></ac:plain-text-body></ac:structured-macro> |
C2. |
Deploy JAR to Apache Java-Repository |
_ |
||
C3. |
After 24 hours, update "Acquiring" page on website |
_ |
||
C4. |
Post an announcement to lists and website |
_ |