(tick) For resolved issues, see Struts 2.0.1 DONE in the issue tracker.

(lightbulb) For known and pending issues (if any) see Struts 2.0.1 TODO in the issue tracker.

Overall Status

Setup Nightly Builds

Pending

(lightbulb)

Utilize Cookbook format for Showcase and add Struts-Examples use cases

 

(grey lightbulb)

Add Struts 1 and WW2 Migration Guides

Initial draft added

(lightbulb)

Complete standard release plan

Pending

(lightbulb)

Additional Background

Release Manager

The release manager is Ted Husted.

Special Issues

Struts 2.0 is based on the WebWork 2.2 codebase. Essentially, Struts 2.0 will be the technical equivalent of WebWork 2.3. (The WebWork 2 codebase was accepted into the Struts project through the Apache Incubator.)

For Struts 2.0, the core goals are to repackage the codebase as an Apache Struts product and to provide migration resources for Struts 1 and WW 2 developers. A few legacy API elements will be removed, and a few new features will be added.

The Struts 2.0 release is following the Struts Ti Proposal. Struts 2.0 is Phase 1 of the proposal. A subsequent Struts release series (either Struts 2.1 or Struts 3.0) will address Phase 2 of the proposal.

The platform for Struts 2.0.x is Java 1.5, with Java 1.4 compatibity provided by RetoTranslator.

See also Struts 2.

New Features Under Consideration

The initial list of new features is taken from the Struts 2 Rough Spots page.

Some new features were added in Struts 2.0.0.

Review and Refinement

Modifications

Configuration

OGNL

Struts 1 Features to Implement

Testing Checklist

Testing Summary

#

Description

Completed

1.

Run Unit Test targets

(grey lightbulb)

2.

Play test bundled applications

(grey lightbulb)

TODO: A Silenium test suite for the applications would be great!

Test Build Distribution Checklist (A)

(lightbulb) See also Creating and Signing a Distribution

#

Description

Completed

A1.

Setup new JIRA version level for next distribution

(lightbulb)

A2.

Update POM version and tag release in svn: ${STRUTS_2_0_1}

(grey lightbulb)

A3.

Run Distribution Target

(grey lightbulb)

A4.

Create Sums and Sign Distributions

(grey lightbulb)

A5.

Upload Distribution to people.apache.org/builds/struts/2.0.0/

(grey lightbulb)

A6.

Deploy JAR to Apache Java-Repository

(grey lightbulb)

A7.

Post release-quality vote on dev@ lists

(grey lightbulb)

Vote (A)

${PMC_MEMBER}

${GRADE}

Point Release Distribution Checklist (B)

B1.

Update "Downooads" page on website and Test Downloads

(grey lightbulb)

Vote (B)

If initial vote is Alpha or Beta, voting can continue until a GA or "withdraw" vote passes, or there is a subsequent release.

struts2-all

${PMC_MEMBER}

${GRADE}

struts2-api

${PMC_MEMBER}

${GRADE}

struts2-core

${PMC_MEMBER}

${GRADE}

Plugins

struts2-config-browser-plugin

${PMC_MEMBER}

${GRADE}

struts2-jasperreports-plugin

${PMC_MEMBER}

${GRADE}

struts2-jfreechart-plugin

${PMC_MEMBER}

${GRADE}

struts2-jsf-plugin

${PMC_MEMBER}

${GRADE}

struts2-pell-multipart-plugin

${PMC_MEMBER}

${GRADE}

struts2-plexus-plugin

${PMC_MEMBER}

${GRADE}

struts2-quickstart

${PMC_MEMBER}

${GRADE}

struts2-sitemesh-plugin

${PMC_MEMBER}

${GRADE}

struts2-sitegraph

${PMC_MEMBER}

${GRADE}

struts1-plugin

${PMC_MEMBER}

${GRADE}

struts2-tiles-plugin

${PMC_MEMBER}

${GRADE}

General Availability Distribution Checklist (C)

Description

Completed

C1.

Copy Distribution to Mirrored Directories

(grey lightbulb)

C2.

After 24 hours, update "Downloads" page on website

(grey lightbulb)

C3.

Post an announcement to lists and website

(grey lightbulb)


Draft Announcement for ApacheCon

The Apache Struts project is pleased to announce the availability of the Struts 2.0.1 development build.

Struts 2 was originally known as WebWork 2. After working independently for several years, the WebWork and Struts communities joined forces to create Struts 2. This new version of Struts is designed to be simpler to use and closer to how Struts was always meant to be. Some key changes are:

Smarter!

Improved Design - All Struts 2 classes are based on interfaces. Core interfaces are HTTP independent.

Intelligent Defaults - Most configuration elements have a default value that we can set and forget.

Enhanced Results - Unlike ActionForwards, Struts 2 Results can actually help prepare the response.

Enhanced Tags - Struts 2 tags don't just output data, but provides stylesheet-driven markup, so that we can create consistent pages with less code.

First-class AJAX support - The AJAX theme gives interactive applications a significant boost.

Stateful Checkboxes - Struts 2 checkboxes do not require special handling for false values.

QuickStart - Many changes can be made on the fly without restarting a web container.

Easier!

Easy-to-test Actions - Struts 2 Actions are HTTP independent and can be tested without resorting to mock objects.

Easy-to-customize controller - Struts 1 lets us customize the request processor per module, Struts 2 lets us customize the request handling per action, if desired.

Easy-to-tweak tags - Struts 2 tag markup can be altered by changing an underlying stylesheet. Individual tag markup can be changed by editing a FreeMarker template. No need to grok the taglib API! Both JSP and FreeMarker tags are fully supported.

Easy cancel handling - The Struts 2 Cancel button can go directly to a different action.

Easy Spring integration - Struts 2 Actions are Spring-aware. Just add Spring beans!

Easy plugins - Struts 2 extensions can be added by dropping in a JAR. No manual configuration required!

POJO-ier!

POJO forms - No more ActionForms! We can use any JavaBean we like or put properties directly on our Action classes. No need to use all String properties!

POJO Actions - Any class can be used as an Action class. We don't even have to implement an interface!

For more, visit the Apache Struts website

Three Struts related events will be hosted at ApacheCon US 2006.