Home > Guides > Migration Guide > Version Notes 2.3.16 |

Apache Struts 2 Documentation
Version Notes 2.3.16
Edit Page Browse Space Add Page Add News

These are the notes for the Struts 2.3.16 distribution.

For prior notes in this release series, see Version Notes 2.3.15.3

- 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.3.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

- Merged security fix from version 2.3.15.1, 2.3.15.2 and 2.3.15.3
- Defined new factory interfaces to simplify extending ObjectFactory, see WW-4158
- New interface `ParamNameAwareResult` was defined, see WW-4144
- Solved problem with global "error" result in the Convention Plugin, see WW-4100
- RolesInterceptor was extended to allow check defined roles and also precedent was changed that `disallowedRoles` are examined in the first place, see WW-4118
- New parameter was added to `<s:param/>` tag to allow suppress empty parameters, see WW-4088
- During `devMode` user can explicit disable XML reloading, I18N reloading and any other, see devMode page
- The `action:` and `method:` prefixes are be by default excluded and changed order to first check `excludeParams` and then `acceptedParams` in ParametersInterceptor, see WW-4023
- Restored previous behaviour where both `ParamatersInterceptor` AND `ParameterNameAware` must accept parameter - there is no more precedence
- Added proper support for multiple `ActionMapper`'s used with `PrefixBasedActionMapper`, see PrefixBasedActionMapper and WW-4131
- New DeprecationInterceptor was added, to warn users about unknown/deprecated options, see WW-4232
- `<s:debug/>` tag was improved and now works properly under Jetty, see WW-4223
- New PostbackResult was defined, see WW-4229
- Improved extending theme mechanism to allow override single template in parent theme, see WW-4145 and Extending Themes
- Solved problem with creating empty map entries via Ognl, see WW-3603
- `org.apache.struts2.views.TagLibrary` was split into two separated interfaces to allow moving Velocity support into plugin, see WW-4243
- and other small improvements

### Issue Detail

- JIRA Release Notes 2.3.16

### Issue List

- Struts 2.3.16 DONE
- Struts 2.3.17 TODO
- Struts 2.3.x TODO

### Other resources

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