Home > Guides > Migration Guide > Release Notes 2.0.2 |

Apache Struts 2 Documentation
Release Notes 2.0.2
Edit Page Browse Space Add Page Add News

These are the notes for the Struts 2.0.2 distribution.

For prior notes in this release series, see Release Notes 2.0.1

- If you are a Maven user, you might want to get started using the Maven Archetype.
- Another quick-start entry point is the blank application. Rename and deploy the WAR as a starting point for your own development.

Maven Dependency

    <dependency>
      <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
          <version>2.0.2</version>
    </dependency>

Snapshot Repository

    <repositories>
      <repository>
        <id>apache.snapshots</id>
        <name>ASF Maven 2 Snapshot</name>
        <url>http://people.apache.org/repo/m2-snapshot-repository</url>
      </repository>
    </repositories>

## Backward compatibility issues with prior development release

- Quickstart is removed in favor of the Maven Jetty plugin (WW-1524).
- As of Struts 2.0.2, Spring is a plugin (WW-1499). If an application specifies the Spring object factory in `struts.properties`, also include the `struts2-spring-plugin.jar` on the application's classpath. The plugin uses Spring 2.0.2 by default but can be rebuild to use another recent version.
  - Ideally, move the object factory setting to the XML configuration, using Constant Configuration].
- The Ajax theme is updated to Dojo 0.4, and some tag attributes have changed. See Ajax Tags for details.

## New Features and Plugins

- Plugins are now documented in the Apache Struts 2 Plugin Registry.
- Annotations: @Result annotation now supports parameters (WW-1575).
- Ajax Tags: The Autocompleter AJAX tag wraps Dojo's ComboBox and supports remote, static, and JSON content.
- Spring Plugin: Integrate Spring with your application using a plugin (WW-1499). Or, if you prefer, use the Plexus Plugin instead.
- File Uploading Explore multiple file uploading through our new Showcase example (WW-1479).
- Action tag: Eliminate unwanted exceptions with the new `flush` attribute (WW-1472).
- Checkboxlist tag: Use Maps with CheckboxList (WW-1471).
- Roles Interceptor: Integrate JAAS with a new interceptor - now on the default stack (WW-1469).
- Localized Links: Use the new `key` attribute to streamline link markup (WW-1458).
- Constant Configuration: Override factory default settings from any XML configurtion document, including `web.xml`! (WW-1421).
- Action Class Ref: Configure a custom default Action for any package to use instead of ActionSupport (WW-1420).
- Struts Maven Archetypes The standard archetype includes sample code from the Bootstrap tutorial {WW-1412).
- Direct Results: Create a custom Result Type directly from an Action class (WW-1393).

## Experimental Features and Plugins

Please help us test these brave new features. Feedback appreciated!

- Scope Plugin: Initial version of scope plugin that mimics JBoss Seam-style of scoped bijection (presently in the Sandbox).
- Codebehind Plugin: Reduce mundane configuration by using "page controller" conventions (WW-1515).
- Zero Configuration: Optionally, eliminate or reduce XML configuration with convention and annotation (WW-1491).
- REST-ful URLs: Use search-engine friendly URLs, like category/action/movie/Thrillers (WW-1754).

## Internal Changes

- Plugin tag libraries: Plugins can now provide new tag libraries encompassing JSP, Freemarker, and Velocity tags (WW-1584).
- Dependency Injection: The framework now uses its own dependency injection container, based on Google Guice. Applications are free to use Spring, Plexus, or even a local copy of Guice for any dependency injection needs. Actions can still be instantiated via the Spring configuration, when desired (WW-1499), but Spring is entirely optional now.
- Precise Error Reporting: All configuration elements, including properties that come from Java properties files, include location and line information for easier debugging (WW-1510).
- Ajax Tags: The tags comprising the Ajax theme have been revamped, enhanced, and updated to Dojo 0.4 (WW-1484, WW-1485, WW-1554, WW-1529, WW-1555, WW-1579, ).
- Composite Action Mapper: Multiple Action Mappers can now be chained into a composite
- Bean Configuration - Application objects can be injected into the framework or have static values set.

### Detail

- JIRA Release Notes 2.0.2 (to date)
- JIRA Release Notes 2.0.1
- JIRA Release Notes 2.0.0

### Pending and open issues

- Struts 2.0.2 TODO

### Other resources

- Commit Logs (Struts 1 and Struts 2)
- Source Code Repository (includes change browsing)