Home > Guides > Migration Guide > Version Notes 2.5

(tick) These are the notes for the Struts 2.5 distribution.

(tick) For prior notes in this release series, see Version Notes 2.3.28.1

  • If you are a Maven user, you might want to get started using the Maven Archetype.
Maven Dependency
<dependency>
  <groupId>org.apache.struts</groupId>
  <artifactId>struts2-core</artifactId>
  <version>2.5</version>
</dependency>

You can also use Struts Archetype Catalog like below

Struts Archetype Catalog
mvn archetype:generate -DarchetypeCatalog=http://struts.apache.org/
Staging Repository
<repositories>
  <repository>
    <id>apache.nexus</id>
    <name>ASF Nexus Staging</name>
    <url>https://repository.apache.org/content/groups/staging/</url>
  </repository>
</repositories>

Internal Changes

  • (warning) All security patches from prior versions were merged into this version
  • XWork source was merged into Struts Core source, it means that there be no more xwork artifact nor dedicated jar
  • Spring dependency for tests and spring plugin was upgraded to version 4.1.6, see WW-4510.
  • Struts2 internal logging api was marked as deprecated and was replaced with new Log4j2 api as logging layer, see WW-4504.
  • Struts2 is now build with JDK7, see WW-4503.
  • New plugin to support bean validation is now part of the distribution, see WW-4505.
  • Deprecated plugins are now removed from the distribution and are not longer supported anymore.
    • Dojo Plugin
    • Codebehind Plugin
    • JSF Plugin
    • Struts1 Plugin
  • New security option was added - Strict Method Invocation (also known as Strict DMI), see WW-4540
  • Added support for latest stable AngularJS in Maven archetype, see WW-4522
  • Dropped support for id and name - replaced with var, see WW-2069
  • Dedicated archive with a minimal set of dependencies was introduced, see WW-4570
  • It is possible to use multiple names when defining a result, see WW-4590
  • Rest plugin honors Accept header, see WW-4588
  • New result 'JSONActionRedirectResult' in json-plugin was defined, see WW-4591

  • Tiles plugin was upgrade to the latest Tiles 3 and tiles3-plugin was dropped, see WW-4584
  • JasperReports plugins was upgraded to JasperReport 6.0, see WW-4381
  • OGNL was upgraded to version 3.1.4 and it breaks access to properties as it follows Java Bean Specification, see WW-4207 and WW-3909
  • Annotations to configure Tiles, see WW-4594 and Tiles Plugin

Package names have changed

Some classes were moved to different packages, see the list below for more details:

  • New:
    org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    org.apache.struts2.dispatcher.filter.StrutsExecuteFilter
    org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
    org.apache.struts2.dispatcher.listener.StrutsListener
    org.apache.struts2.result.ServletRedirectResult
    com.opensymphony.xwork2.interceptor.ValidationAware 
  • Old:
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
    org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter
    org.apache.struts2.dispatcher.ng.listener.StrutsListener
    org.apache.struts2.dispatcher.ServletRedirectResult
    com.opensymphony.xwork2.ValidationAware 

Issue Detail

Issue List

Other resources