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

(tick) For prior notes in this release series, see Version Notes 2.5.14.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.16</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

  • Interface com.opensymphony.xwork2.inject.Factory was extended with a new method Class<? extends T> type(); - it's due to allow ContainerBuilder properly initialise beans using com.opensymphony.xwork2.inject.Initializable and com.opensymphony.xwork2.inject.EarlyInitializable interfaces. See WW-4905 for more details.

Bug

  • [WW-4546] - unclosed instantiation of PrintWriter
  • [WW-4741] - Http Sessions forcefully created for all requests using I18nInterceptor with default Storage value.
  • [WW-4873] - NotSerializableException - org.apache.struts2.dispatcher.StrutsRequestWrapper
  • [WW-4900] - NotSerializableException: com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector when using ExecuteAndWait interceptor
  • [WW-4901] - ClassCastException in JarEntryRevision
  • [WW-4903] - Dependency Mapping Exception When Using PrefixBasedActionProxyFactory
  • [WW-4906] - The converter() method of com.opensymphony.xwork2.conversion.annotations.TypeConversion is now deprecated. If this method is removed in some next release, it will forbid to describe a converter by the name (id) of a Spring bean.
  • [WW-4908] - Conversion by annotation does not work
  • [WW-4909] - List of Boolean is not populated in Action class
  • [WW-4911] - JSONResult exception in struts2-json-plugin-2.5.14.1.jar
  • [WW-4918] - buttons with name="method:METHODNAME" sometimes ignore global-allowed-methods defined in struts.xml
  • [WW-4920] - Could not create JarEntryRevision for [zip:C:/.... unknown protocol c
  • [WW-4921] - NPE in I18nInterceptor$SessionLocaleHandler.read
  • [WW-4923] - JasperReportResult: NPE When Not Using SQL Connection

New Feature

  • [WW-4907] - support JSR 303 Validation Groups in BeanValidation-Plugin

Improvement

  • [WW-4891] - Debug tag should not display anything when not in dev mode
  • [WW-4905] - Allow using of Initializable interface on an implementation level
  • [WW-4912] - Allowed methods inheritance
  • [WW-4922] - Allow use Jackson XML bindings to serialise / deserialise XML

Task

  • [WW-4913] - when using an custom array as a filed in struts 2 action form textfiled data from jsp page in not populating into custom array but populating in String array or array list

Dependency

  • [WW-4899] - Upgrade Spring to version 4.3.13
  • [WW-4914] - Update Log4j2 to 2.10.0

Issue Detail

Issue List

Other resources