Author: lukaszlenart
Date: Fri Feb  3 13:47:41 2017
New Revision: 1006138

Log:
Updates production

Added:
    websites/production/struts/content/announce-2016.html
    websites/production/struts/content/docs/version-notes-2510.html
Modified:
    websites/production/struts/content/announce-2015.html
    websites/production/struts/content/announce.html
    websites/production/struts/content/docs/ajax-validation.html
    websites/production/struts/content/docs/i18n-interceptor.html
    websites/production/struts/content/docs/interceptors.html
    websites/production/struts/content/docs/migration-guide.html
    websites/production/struts/content/docs/security.html
    websites/production/struts/content/docs/xsl-result.html
    websites/production/struts/content/download.html
    websites/production/struts/content/downloads.html
    websites/production/struts/content/index.html

Modified: websites/production/struts/content/announce-2015.html
==============================================================================
--- websites/production/struts/content/announce-2015.html (original)
+++ websites/production/struts/content/announce-2015.html Fri Feb  3 13:47:41 
2017
@@ -7,7 +7,7 @@
   <meta http-equiv="Content-Language" content="en"/>
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 
-  <title>Announcements</title>
+  <title>Announcements 2015</title>
 
   <link 
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
 rel="stylesheet" type="text/css">
   <link 
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" 
rel="stylesheet">

Added: websites/production/struts/content/announce-2016.html
==============================================================================
--- websites/production/struts/content/announce-2016.html (added)
+++ websites/production/struts/content/announce-2016.html Fri Feb  3 13:47:41 
2017
@@ -0,0 +1,725 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8"/>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+  <meta name="Date-Revision-yyyymmdd" content="20140918"/>
+  <meta http-equiv="Content-Language" content="en"/>
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+
+  <title>Announcements 2016</title>
+
+  <link 
href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic"
 rel="stylesheet" type="text/css">
+  <link 
href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" 
rel="stylesheet">
+  <link href="css/main.css" rel="stylesheet">
+  <link href="css/custom.css" rel="stylesheet">
+
+  <script 
src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
+  <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script>
+  <script type="text/javascript" src="js/community.js"></script>
+</head>
+<body>
+
+<a href="http://github.com/apache/struts"; class="github-ribbon">
+  <img style="position: absolute; right: 0; border: 0;" 
src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"; 
alt="Fork me on GitHub">
+</a>
+
+<header>
+  <nav>
+    <div role="navigation" class="navbar navbar-default navbar-fixed-top">
+      <div class="container">
+        <div class="navbar-header">
+          <button type="button" data-toggle="collapse" 
data-target="#struts-menu" class="navbar-toggle">
+            Menu
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+          <a href="index.html" class="navbar-brand logo"><img 
src="img/struts-logo.svg"></a>
+        </div>
+        <div id="struts-menu" class="navbar-collapse collapse">
+          <ul class="nav navbar-nav">
+            <li class="dropdown">
+              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
+                Home<b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="index.html">Welcome</a></li>
+                <li><a href="downloads.html">Downloads</a></li>
+                <li><a href="announce.html">Announcements</a></li>
+                <li><a href="http://www.apache.org/licenses/";>License</a></li>
+                <li><a 
href="http://apache.org/foundation/thanks.html";>Thanks!</a></li>
+                <li><a 
href="http://apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
+                Support<b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="mail.html">User Mailing List</a></li>
+                <li><a href="https://issues.apache.org/jira/browse/WW";>Issue 
Tracker</a></li>
+                <li><a href="security.html">Reporting Security Issues</a></li>
+                <li class="divider"></li>
+                <li><a href="/maven/project-info.html">Project info</a></li>
+                <li><a href="/maven/struts2-core/dependencies.html">Struts 
Core dependencies</a></li>
+                <li><a href="/maven/struts2-plugins/modules.html">Plugin 
dependencies</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
+                Documentation<b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="birdseye.html">Birds Eye</a></li>
+                <li><a href="primer.html">Key Technologies</a></li>
+                <li><a href="kickstart.html">Kickstart FAQ</a></li>
+                <li><a 
href="https://cwiki.apache.org/confluence/display/WW/Home";>Wiki</a></li>
+                <li class="divider"></li>
+                <li><a href="/docs/home.html">Getting started</a></li>
+                <li><a href="/docs/tutorials.html">Tutorials</a></li>
+                <li><a href="/docs/faqs.html">FAQs</a></li>
+                <li><a href="/docs/guides.html">Guides</a></li>
+                <li class="divider"></li>
+                <li><a href="/maven/struts2-core/apidocs/index.html">Struts 
Core API</a></li>
+                <li><a href="/docs/plugins.html">Plugin APIs</a></li>
+                <li><a href="/docs/tag-reference.html">Tag reference</a></li>
+                <li><a 
href="http://cwiki.apache.org/S2PLUGINS/home.html";>Plugin registry</a></li>
+              </ul>
+            </li>
+            <li class="dropdown">
+              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
+                Contributing<b class="caret"></b>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="youatstruts.html">You at Struts</a></li>
+                <li><a href="helping.html">How to Help FAQ</a></li>
+                <li><a href="dev-mail.html">Development Lists</a></li>
+                <li class="divider"></li>
+                <li><a href="submitting-patches.html">Submitting 
patches</a></li>
+                <li><a href="builds.html">Source Code</a></li>
+                <li><a href="coding-standards.html">Coding standards</a></li>
+                <li class="divider"></li>
+                <li><a href="releases.html">Release Guidelines</a></li>
+                <li><a href="bylaws.html">PMC Charter</a></li>
+                <li><a href="volunteers.html">Volunteers</a></li>
+                <li><a 
href="https://git-wip-us.apache.org/repos/asf?p=struts.git";>Source 
Repository</a></li>
+              </ul>
+            </li>
+            <li class="apache"><a href="http://www.apache.org/";><img 
src="img/apache.png"></a></li>
+          </ul>
+        </div>
+      </div>
+    </div>
+  </nav>
+</header>
+
+
+<article class="container">
+  <section class="col-md-12">
+    <h1 id="announcements">Announcements</h1>
+
+<p class="pull-right">
+  Skip to: <a href="announce-2015.html">Announcements - 2015</a>
+</p>
+
+<h4 id="a20161219">19 December 2016 - Struts 2.5.8 General Availability</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.5.8 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release addresses one potential security vulnerability:</p>
+
+<ul>
+  <li>Possible DoS attack when using URLValidator - <a 
href="/docs/s2-044.html">S2-044</a></li>
+</ul>
+
+<p>Also this release contains several breaking changes and improvements just 
to mention few of them:</p>
+
+<ul>
+  <li>Included XSL files’ URI not being resolved for actions with result 
<code class="highlighter-rouge">type="xslt"</code>, see WW-2561</li>
+  <li><code class="highlighter-rouge">ConcurrentModificationException</code> 
using <code class="highlighter-rouge">s:iterator</code> (intermittent), see 
WW-3019</li>
+  <li><code class="highlighter-rouge">ObjectFactory</code> reporting ERROR’s 
when you attempt to set parameters on a Redirect result, see WW-3170</li>
+  <li>preselect values in <code 
class="highlighter-rouge">&lt;s:optgroup&gt;</code>, see WW-4367</li>
+  <li>File upload error message always in default language, see WW-4636</li>
+  <li>Can no longer clear parameter on a <code 
class="highlighter-rouge">&lt;s:url&gt;</code> tag, see WW-4701</li>
+  <li>List based parameters no longer work when there is only one value, see 
WW-4702</li>
+  <li><code class="highlighter-rouge">NullPointerException</code> in <code 
class="highlighter-rouge">ActionSupport</code> when use <code 
class="highlighter-rouge">ModelDriven</code>, see WW-4703</li>
+  <li>Multiselect parameter behavior different between struts 2.5.5 and 2.5.1, 
see WW-4707</li>
+  <li>Invalid field value for field “id”, see WW-4709</li>
+  <li>Scope interceptor always resets because of <code 
class="highlighter-rouge">org.apache.struts2.dispatcher.HttpParameters</code>, 
see WW-4715</li>
+  <li><code class="highlighter-rouge">focusElement</code> form attribute not 
working, see WW-4718</li>
+  <li>Portlet Issue with <code 
class="highlighter-rouge">I18Interceptor</code>, see WW-4722</li>
+  <li>Allow <code class="highlighter-rouge">&lt;constant/&gt;</code> value 
substitution in XML configuration, see WW-4698</li>
+  <li>Upgrade to latest OGNL version, see WW-4704</li>
+  <li>Add support for long type to <code 
class="highlighter-rouge">&lt;s:date&gt;</code> tag, see WW-4705</li>
+  <li>Disallow access to <code 
class="highlighter-rouge">HttpParameters.toMap</code>, see WW-4710</li>
+  <li><code class="highlighter-rouge">&lt;s:text/&gt;</code> tag should not 
evaluate <code class="highlighter-rouge">defaultMessage</code> against a <code 
class="highlighter-rouge">ValueStack</code> by default, see WW-4711</li>
+  <li><code class="highlighter-rouge">TextProviderHelper#getText()</code> 
should perform cleaning of <code 
class="highlighter-rouge">defaultMessage</code>, see WW-4712</li>
+  <li>Refactor file upload support to allow create virtual representation of 
<code class="highlighter-rouge">java.io.File</code>, see WW-4717</li>
+  <li>Move <code class="highlighter-rouge">DefaultClassFinder</code> into 
<code class="highlighter-rouge">Convention</code> plugin, see WW-4719</li>
+  <li><code class="highlighter-rouge">HttpParameters</code> should behave like 
a <code class="highlighter-rouge">Map</code>, see WW-4720</li>
+  <li>Add support for <code class="highlighter-rouge">roundingMode</code> in 
<code class="highlighter-rouge">&lt;s:number/&gt;</code> tag, see WW-4721</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 7.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20161021">21 October 2016 - Struts 2.5.5 General Availability</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.5.5 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
+
+<ul>
+  <li>webconsole can always be accessed, see WW-4601</li>
+  <li>Space character and includeParams, see WW-4628</li>
+  <li>Empty <s:param name="p1" value=""></s:param> is being supressed, see 
WW-4631</li>
+  <li>remove ASM 3 from struts2, see WW-4646</li>
+  <li>SMI do not work with JSON plugin, see WW-4649</li>
+  <li>Concurrency issue in addDefaultResourceBundle, see WW-4652</li>
+  <li>Action parameters should be included when building the URL to action, 
see WW-4654</li>
+  <li>StreamResult closes outputstream early, see WW-4662</li>
+  <li>NullPointerException when displaying a form without action attribute, 
see WW-4663</li>
+  <li>ParametersInterceptor excludeParams only applies to first instance of 
params interceptor in paramsPrepareParamsStack, see WW-4667</li>
+  <li>URL validator is case sensitive, see WW-4671</li>
+  <li>Select box does not pre-select chosen values, see WW-4675</li>
+  <li>Tiles-Plugin unable to load tiles definition XML, see WW-4679</li>
+  <li>Missing brackets in checkbox.ftl of css_xhtml template, see WW-4681</li>
+  <li>Move Struts Archetypes to dedicated project, see WW-4316</li>
+  <li>Add dedicated class to represent Http Parameters, see WW-4572</li>
+  <li>ParametersInterceptor should check collection index to against DOS, see 
WW-4620</li>
+  <li>Move example portlet-app into struts-examples, see WW-4660</li>
+  <li>Upgrade JFreeChart plugin to the latest version of JFreeChart, see 
WW-4670</li>
+  <li>StrutsPrepareAndExecuteFilter should check for response commited status, 
see WW-4674</li>
+  <li>ConversionErrorInterceptor to extend MethodFilterInterceptor, see 
WW-4676</li>
+  <li>I18N Interceptor automatically validates Locale, see WW-4677</li>
+  <li>Upgrade Tiles to 3.0.7 GA version, see WW-4680</li>
+  <li>Allow directly accessing I18N keys from Tiles defintions, see 
WW-4685</li>
+  <li>Merge two existing I18NInterceptors into one, see WW-4686</li>
+  <li>Exclude “java.ext.dirs” when scanning for actions, see WW-4688</li>
+  <li>CycleDetector - use enum instead of String constants, see WW-4689</li>
+  <li>Upgrade Commons Collections to 4.1, see WW-4695</li>
+  <li>Upgrade to Log4j 2.7, see WW-4696</li>
+  <li>Warn about excluded action/method only when DMI is disabled, see 
WW-4697</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 7.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20161018">18 October 2016 - Struts 2.3.31 General Availability</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.3.31 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release addresses two potential security vulnerabilities:</p>
+
+<ul>
+  <li>Possible path traversal in the Convention plugin <a 
href="/docs/s2-042.html">S2-042</a></li>
+  <li>Using the Config Browser plugin in production <a 
href="/docs/s2-043.html">S2-043</a></li>
+</ul>
+
+<p>Also this release contains several breaking changes and improvements just 
to mention few of them:</p>
+
+<ul>
+  <li>webconsole can always be accessed, see WW-4601</li>
+  <li>Space character and includeParams,see WW-4628</li>
+  <li>ParametersInterceptor excludeParams only applies to first instance of 
params interceptor in paramsPrepareParamsStack,see WW-4667</li>
+  <li>Select box does not pre-select chosen values,see WW-4675</li>
+  <li>StrutsPrepareAndExecuteFilter should check for response committed 
status,see WW-4674</li>
+  <li>Allow directly accessing I18N keys from Tiles definitions,see 
WW-4685</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 6.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-2331">download</a> page.</p>
+
+<h4 id="a20160707">7 July 2016 - Struts 2.5.2 General Availability</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.5.2 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>Struts 2.5.2 release contains several improvements just to mention few of 
them:</p>
+
+<ul>
+  <li>SecurityMemberAccess exclude class design issue, see WW-4645</li>
+  <li>Json deserialization does not work in 2.5.1, see WW-4650</li>
+  <li>Negative number is considered an arithmetic expression, see WW-4651</li>
+  <li>Wildcard redirect and path <code 
class="highlighter-rouge">/static/</code>, see WW-4656</li>
+  <li>Upgrade commons-fileupload to the latest version, see WW-4648</li>
+  <li>Cleans up logic in <code class="highlighter-rouge">StreamResult</code> 
and update docs, see WW-4655</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 7.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20160707-2">7 July 2016 - Struts 2.3.30 General Availability</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.3.30 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
+
+<ul>
+  <li>Pre-evaluation of “name” attribute stopped working, see WW-4641</li>
+  <li>Unable to retrieve <code class="highlighter-rouge">s:hidden</code> field 
values, see WW-4642</li>
+  <li>SecurityMemberAccess exclude class design issue, see WW-4645</li>
+  <li>Negative number is considered an arithmetic expression, see WW-4651</li>
+  <li>Upgrade commons-fileupload to the latest version, see WW-4648</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 6.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-2330">download</a> page.</p>
+
+<h4 id="a20160618">18 June 2016 - Struts 2.5.1 General Availability</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.5.1 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release addresses one potential security vulnerability:</p>
+
+<ul>
+  <li><a href="/docs/s2-041.html">S2-041</a>
+Possible DoS attack when using URLValidator</li>
+</ul>
+
+<p>Also all security patches applied to version Struts 2.3.29 were also 
applied to this version (just in case).</p>
+
+<p>This release contains several improvements just to mention few of them:</p>
+
+<ul>
+  <li>contentType override ignored for JSONInterceptor - see WW-4558</li>
+  <li>MessageStorePreResultListener does not store messages for 3rd-party 
RedirectResult subclasses - see WW-4618</li>
+  <li>EmailValidator flags .cat emails as invalid - see WW-4626</li>
+  <li>SMI cannot be disabled - see WW-4632</li>
+  <li>Centre alignment does not seem to work in Velocity tags - see 
WW-4634</li>
+  <li>Unable to process Jar entry (javassist-3.20.0-GA.jar) - see WW-4637</li>
+  <li>Strict Method Invocation breaks Action-Less Results - see WW-4643</li>
+  <li>When method is not allowed throw exception with meaningful message - see 
WW-4640</li>
+  <li>update struts2 bom - see WW-4644</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 7.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20160617">17 June 2016 - Struts 2.3.29 General Availability with 
Security Fixes Release</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.3.29 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release addresses these potential security vulnerabilities:</p>
+
+<ul>
+  <li>
+    <p><a href="/docs/s2-035.html">S2-035</a>
+Action name clean up is error prone</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-036.html">S2-036</a>
+Forced double OGNL evaluation, when evaluated on raw user input in tag 
attributes,
+may lead to remote code execution (similar to S2-029)</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-037.html">S2-037</a>
+Remote Code Execution can be performed when using REST Plugin.</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-038.html">S2-038</a>
+It is possible to bypass token validation and perform a CSRF attack</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-039.html">S2-039</a>
+Getter as action method leads to security bypass</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-040.html">S2-040</a>
+Input validation bypass using existing default action method.</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-041.html">S2-041</a>
+Possible DoS attack when using URLValidator</p>
+  </li>
+</ul>
+
+<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
+
+<ul>
+  <li>Json result type breaks</li>
+  <li>MessageStorePreResultListener doesn’t store messages for 3rd-party 
RedirectResult subclasses</li>
+  <li>Multiple tiles.xml in web.xml</li>
+  <li>New Tiles version can not find tiles*.xml files in sub-directories</li>
+  <li>EmailValidator flags .cat emails as invalid</li>
+  <li>Struts2 JSON Plugin: messages in fieldsErrors are serialized twice since 
jdk1.7_80</li>
+  <li>Tile definition Inheritance/overriding is broken in Struts2 tiles plugin 
2.3.28+</li>
+  <li><code class="highlighter-rouge">&lt;s:submit&gt;</code> generates a 
value attribute for type=image which violates W3C</li>
+  <li>ClassCastException while generating report using Struts 2.3.28 and 
jasperreports 4.5.1</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 6.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20160601">1 June 2016 - Two security vulnerabilities reported</h4>
+
+<p>Two potential security vulnerabilities were reported which were already 
addressed in the latest Apache Struts 2 versions.
+Those reports just added other vectors of attack.</p>
+
+<ul>
+  <li>
+    <p><a href="/docs/s2-033.html">S2-033</a>
+Remote Code Execution can be performed when using REST Plugin with ! operator 
when Dynamic Method Invocation is enabled</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-034.html">S2-034</a>
+OGNL cache poisoning can lead to DoS vulnerability</p>
+  </li>
+</ul>
+
+<p>Please read carefully the Security Bulletins and take suggested actions. 
The simplest way to avoid those vulnerabilities
+in your application is to upgrade the Apache Struts to latest available 
version in 2.3.x series or to the Apache Struts 2.5.</p>
+
+<p>You can download those versions from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20160509">9 May 2016 - Struts 2.5 General Availability</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.5 is available 
as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
+
+<ul>
+  <li>XWork source was merged into Struts Core source, it means that there be 
no more xwork artifact nor dedicated jar</li>
+  <li>Spring dependency for tests and spring plugin was upgraded to version 
4.1.6, see WW-4510.</li>
+  <li>Struts2 internal logging api was marked as deprecated and was replaced 
with new Log4j2 api as logging layer, see WW-4504.</li>
+  <li>Struts2 is now build with JDK7, see WW-4503.</li>
+  <li>New plugin to support bean validation is now part of the distribution, 
see WW-4505.</li>
+  <li>Deprecated plugins are now removed from the distribution and are not 
longer supported anymore.
+    <ul>
+      <li>Dojo Plugin</li>
+      <li>Codebehind Plugin</li>
+      <li>JSF Plugin</li>
+      <li>Struts1 Plugin</li>
+    </ul>
+  </li>
+  <li>New security option was added - Strict Method Invocation (also known as 
Strict DMI), see WW-4540</li>
+  <li>Added support for latest stable AngularJS in Maven archetype, see 
WW-4522</li>
+  <li>Dropped support for id and name - replaced with var, see WW-2069</li>
+  <li>Dedicated archive with a minimal set of dependencies was introduced, see 
WW-4570</li>
+  <li>It is possible to use multiple names when defining a result, see 
WW-4590</li>
+  <li>Rest plugin honors Accept header, see WW-4588</li>
+  <li>New result ‘JSONActionRedirectResult’ in json-plugin was defined, 
see WW-4591</li>
+  <li>Tiles plugin was upgrade to the latest Tiles 3 and tiles3-plugin was 
dropped, see WW-4584</li>
+  <li>JasperReports plugins was upgraded to JasperReport 6.0, see WW-4381</li>
+  <li>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</li>
+  <li>Annotations to configure Tiles, see WW-4594 and Tiles Plugin</li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 7.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20160419">19 April 2016 - Struts 2.3.28.1 General Availability with 
Security Fixes Release</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.3.28.1 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release addresses two potential security vulnerabilities:</p>
+
+<ul>
+  <li>
+    <p><a href="/docs/s2-031.html">S2-031</a>
+Possible RCE vulnerability in <code 
class="highlighter-rouge">XSLTResult</code> was fixed.</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-032.html">S2-032</a>
+Prevents execution of chained expressions based on new <code 
class="highlighter-rouge">isSequence</code> flag introduce in appropriated OGNL 
versions.</p>
+  </li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 6.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
+
+<h4 id="a20160419-1">19 April 2016 - Struts 2.3.20.3 &amp; 2.3.24.3 General 
Availability with Security Fixes Release</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.3.20.3 &amp; 
Struts 2.3.24.3 are available as a “General Availability”
+releases. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>These releases address three potential security vulnerabilities:</p>
+
+<ul>
+  <li>
+    <p><a href="/docs/s2-029.html">S2-029</a>
+Forced double OGNL evaluation, when evaluated on raw user input in tag 
attributes, may lead to remote code execution.</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-031.html">S2-031</a>
+Possible RCE vulnerability in <code 
class="highlighter-rouge">XSLTResult</code> was fixed.</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-032.html">S2-032</a>
+Prevents execution of chained expressions based on new <code 
class="highlighter-rouge">isSequence</code> flag introduce in appropriated OGNL 
versions.</p>
+  </li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 6.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download these versions from our <a 
href="download.cgi#prior-releases">download</a> page.</p>
+
+<h4 id="a20160318">18 March 2016 - Struts 2.3.28 General Availability with 
Security Fix Release</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.3.28 is 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release addresses three potential security vulnerabilities:</p>
+
+<ul>
+  <li>
+    <p><a href="/docs/s2-028.html">S2-028</a>
+Possible XSS vulnerability in pages not using UTF-8 was fixed.</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-029.html">S2-029</a>
+Forced double OGNL evaluation, when evaluated on raw user input in tag 
attributes, may lead to remote code execution.</p>
+  </li>
+  <li>
+    <p><a href="/docs/s2-030.html">S2-030</a>
+I18NInterceptor narrows selected locale to those available in JVM to reduce 
possibility of another XSS vulnerability.</p>
+  </li>
+</ul>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
+
+<ul>
+  <li>New Configurationprovider type was introduced - 
ServletContextAwareConfigurationProvider, see WW-4410</li>
+  <li>Setting status code in HttpHeaders isn’t ignored anymore, see 
WW-4545</li>
+  <li>Spring BeanPostProcessor(s) are called only once to constructed 
objects., see WW-4554</li>
+  <li>OGNL was upgraded to version 3.0.13, see WW-4562</li>
+  <li>Tiles 2 Plugin was upgraded to latest available Tiles 2 version, see 
WW-4568</li>
+  <li>A dedicated assembly with minimal set of jars was defined, see 
WW-4570</li>
+  <li>Struts2 Rest plugin properly handles JSESSIONID with DMI, see 
WW-4585</li>
+  <li>Improved the Struts2 Rest plugin to honor Accept header, see WW-4588</li>
+  <li>MessageStoreInterceptor was refactored to use PreResultListener to store 
messages, see WW-4605</li>
+  <li>A new annotation was added to support configuring Tiles - 
@TilesDefinition, see WW-4606</li>
+</ul>
+
+<p>and many other improvements, please check the version notes</p>
+
+<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 6.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<h4 id="a20160126">26 January 2016 - Struts 2.5-BETA3 (BETA)</h4>
+
+<p>The Apache Struts group is pleased to announce that Struts 2.5-BETA3 is 
available as a “BETA” release.</p>
+
+<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
+The framework is designed to streamline the full development cycle, from 
building, to deploying,
+to maintaining applications over time.</p>
+
+<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
+
+<ul>
+  <li>Dropped support for id and name - replaced with var, see WW-2069</li>
+  <li>Dedicated archive with a minimal set of dependencies was introduced, see 
WW-4570</li>
+  <li>It is possible to use multiple names when defining a result, see 
WW-4590</li>
+  <li>Rest plugin honors Accept header, see WW-4588</li>
+  <li>New result ‘JSONActionRedirectResult’ in json-plugin was defined, 
see WW-4591</li>
+  <li>Tiles plugin was upgrade to the latest Tiles 3 and tiles3-plugin was 
dropped, see WW-4584</li>
+  <li>JasperReports plugins was upgraded to JasperReport 6.0, see WW-4381</li>
+  <li>OGNL was upgraded to version 3.0.11 and it breaks access to properties 
as it follows Java Bean Specification,
+see WW-4207 and WW-3909
+    <ul>
+      <li>and then OGNL was upgraded to version 3.1.1, see WW-4561</li>
+      <li>and then OGNL was upgraded to version 3.2.1, see WW-4577</li>
+    </ul>
+  </li>
+</ul>
+
+<p>and many other improvements, please check the version notes</p>
+
+<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
+Servlet API 2.4, JSP API 2.0, and Java 7.</p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments 
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p class="pull-right">
+  Skip to: <a href="announce-2015.html">Announcements - 2015</a>
+</p>
+
+<p class="pull-left">
+  <strong>Next:</strong>
+  <a href="kickstart.html">Kickstart FAQ</a>
+</p>
+
+  </section>
+</article>
+
+
+<footer class="container">
+  <div class="col-md-12">
+    Copyright &copy; 2000-2016 <a href="http://www.apache.org/";>The Apache 
Software Foundation </a>.
+    All Rights Reserved.
+  </div>
+  <div class="col-md-12">
+    Apache Struts, Struts, Apache, the Apache feather logo, and the Apache 
Struts project logos are
+    trademarks of The Apache Software Foundation.
+  </div>
+  <div class="col-md-12">Logo and website design donated by <a 
href="https://softwaremill.com/";>SoftwareMill</a>.</div>
+</footer>
+
+<script>!function (d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (!d.getElementById(id)) {
+    js = d.createElement(s);
+    js.id = id;
+    js.src = "//platform.twitter.com/widgets.js";
+    fjs.parentNode.insertBefore(js, fjs);
+  }
+}(document, "script", "twitter-wjs");</script>
+<script src="https://apis.google.com/js/platform.js"; async="async" 
defer="defer"></script>
+
+<div id="fb-root"></div>
+
+<script>(function (d, s, id) {
+  var js, fjs = d.getElementsByTagName(s)[0];
+  if (d.getElementById(id)) return;
+  js = d.createElement(s);
+  js.id = id;
+  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
+  fjs.parentNode.insertBefore(js, fjs);
+}(document, 'script', 'facebook-jssdk'));</script>
+
+
+<script>
+$(function() {
+  return $("h2, h3, h4, h5, h6").each(function(i, el) {
+    var $el, icon, id;
+    $el = $(el);
+    id = $el.attr('id');
+    icon = '<i class="fa fa-link"></i>';
+    if (id) {
+      return $el.prepend($("<a />").addClass("header-link").attr("href", "#" + 
id).html(icon));
+    }
+  });
+});
+</script>
+
+</body>
+</html>

Modified: websites/production/struts/content/announce.html
==============================================================================
--- websites/production/struts/content/announce.html (original)
+++ websites/production/struts/content/announce.html Fri Feb  3 13:47:41 2017
@@ -121,378 +121,40 @@
     <h1 id="announcements">Announcements</h1>
 
 <p class="pull-right">
-  Skip to: <a href="announce-2015.html">Announcements - 2015</a>
+  Skip to: <a href="announce-2016.html">Announcements - 2016</a>
 </p>
 
-<h4 id="a20161219">19 Decemeber 2016 - Struts 2.5.8 General Availability</h4>
+<h4 id="a20170203">3 February 2016 - Struts 2.5.10 General Availability</h4>
 
-<p>The Apache Struts group is pleased to announce that Struts 2.5.8 is 
available as a “General Availability”
+<p>The Apache Struts group is pleased to announce that Struts 2.5.10 is 
available as a “General Availability”
 release. The GA designation is our highest quality grade.</p>
 
 <p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
 The framework is designed to streamline the full development cycle, from 
building, to deploying,
 to maintaining applications over time.</p>
 
-<p>This release addresses one potential security vulnerability:</p>
-
-<ul>
-  <li>Possible DoS attack when using URLValidator - <a 
href="/docs/s2-044.html">S2-044</a></li>
-</ul>
-
-<p>Also this release contains several breaking changes and improvements just 
to mention few of them:</p>
-
-<ul>
-  <li>Included XSL files’ URI not being resolved for actions with result 
<code class="highlighter-rouge">type="xslt"</code>, see WW-2561</li>
-  <li><code class="highlighter-rouge">ConcurrentModificationException</code> 
using <code class="highlighter-rouge">s:iterator</code> (intermittent), see 
WW-3019</li>
-  <li><code class="highlighter-rouge">ObjectFactory</code> reporting ERROR’s 
when you attempt to set parameters on a Redirect result, see WW-3170</li>
-  <li>preselect values in <code 
class="highlighter-rouge">&lt;s:optgroup&gt;</code>, see WW-4367</li>
-  <li>File upload error message always in default language, see WW-4636</li>
-  <li>Can no longer clear parameter on a <code 
class="highlighter-rouge">&lt;s:url&gt;</code> tag, see WW-4701</li>
-  <li>List based parameters no longer work when there is only one value, see 
WW-4702</li>
-  <li><code class="highlighter-rouge">NullPointerException</code> in <code 
class="highlighter-rouge">ActionSupport</code> when use <code 
class="highlighter-rouge">ModelDriven</code>, see WW-4703</li>
-  <li>Multiselect parameter behavior different between struts 2.5.5 and 2.5.1, 
see WW-4707</li>
-  <li>Invalid field value for field “id”, see WW-4709</li>
-  <li>Scope interceptor always resets because of <code 
class="highlighter-rouge">org.apache.struts2.dispatcher.HttpParameters</code>, 
see WW-4715</li>
-  <li><code class="highlighter-rouge">focusElement</code> form attribute not 
working, see WW-4718</li>
-  <li>Portlet Issue with <code 
class="highlighter-rouge">I18Interceptor</code>, see WW-4722</li>
-  <li>Allow <code class="highlighter-rouge">&lt;constant/&gt;</code> value 
substitution in XML configuration, see WW-4698</li>
-  <li>Upgrade to latest OGNL version, see WW-4704</li>
-  <li>Add support for long type to <code 
class="highlighter-rouge">&lt;s:date&gt;</code> tag, see WW-4705</li>
-  <li>Disallow access to <code 
class="highlighter-rouge">HttpParameters.toMap</code>, see WW-4710</li>
-  <li><code class="highlighter-rouge">&lt;s:text/&gt;</code> tag should not 
evaluate <code class="highlighter-rouge">defaultMessage</code> against a <code 
class="highlighter-rouge">ValueStack</code> by default, see WW-4711</li>
-  <li><code class="highlighter-rouge">TextProviderHelper#getText()</code> 
should perform cleaning of <code 
class="highlighter-rouge">defaultMessage</code>, see WW-4712</li>
-  <li>Refactor file upload support to allow create virtual representation of 
<code class="highlighter-rouge">java.io.File</code>, see WW-4717</li>
-  <li>Move <code class="highlighter-rouge">DefaultClassFinder</code> into 
<code class="highlighter-rouge">Convention</code> plugin, see WW-4719</li>
-  <li><code class="highlighter-rouge">HttpParameters</code> should behave like 
a <code class="highlighter-rouge">Map</code>, see WW-4720</li>
-  <li>Add support for <code class="highlighter-rouge">roundingMode</code> in 
<code class="highlighter-rouge">&lt;s:number/&gt;</code> tag, see WW-4721</li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 7.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
-
-<h4 id="a20161021">21 October 2016 - Struts 2.5.5 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5.5 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
-
-<ul>
-  <li>webconsole can always be accessed, see WW-4601</li>
-  <li>Space character and includeParams, see WW-4628</li>
-  <li>Empty <s:param name="p1" value=""></s:param> is being supressed, see 
WW-4631</li>
-  <li>remove ASM 3 from struts2, see WW-4646</li>
-  <li>SMI do not work with JSON plugin, see WW-4649</li>
-  <li>Concurrency issue in addDefaultResourceBundle, see WW-4652</li>
-  <li>Action parameters should be included when building the URL to action, 
see WW-4654</li>
-  <li>StreamResult closes outputstream early, see WW-4662</li>
-  <li>NullPointerException when displaying a form without action attribute, 
see WW-4663</li>
-  <li>ParametersInterceptor excludeParams only applies to first instance of 
params interceptor in paramsPrepareParamsStack, see WW-4667</li>
-  <li>URL validator is case sensitive, see WW-4671</li>
-  <li>Select box does not pre-select chosen values, see WW-4675</li>
-  <li>Tiles-Plugin unable to load tiles definition XML, see WW-4679</li>
-  <li>Missing brackets in checkbox.ftl of css_xhtml template, see WW-4681</li>
-  <li>Move Struts Archetypes to dedicated project, see WW-4316</li>
-  <li>Add dedicated class to represent Http Parameters, see WW-4572</li>
-  <li>ParametersInterceptor should check collection index to against DOS, see 
WW-4620</li>
-  <li>Move example portlet-app into struts-examples, see WW-4660</li>
-  <li>Upgrade JFreeChart plugin to the latest version of JFreeChart, see 
WW-4670</li>
-  <li>StrutsPrepareAndExecuteFilter should check for response commited status, 
see WW-4674</li>
-  <li>ConversionErrorInterceptor to extend MethodFilterInterceptor, see 
WW-4676</li>
-  <li>I18N Interceptor automatically validates Locale, see WW-4677</li>
-  <li>Upgrade Tiles to 3.0.7 GA version, see WW-4680</li>
-  <li>Allow directly accessing I18N keys from Tiles defintions, see 
WW-4685</li>
-  <li>Merge two existing I18NInterceptors into one, see WW-4686</li>
-  <li>Exclude “java.ext.dirs” when scanning for actions, see WW-4688</li>
-  <li>CycleDetector - use enum instead of String constants, see WW-4689</li>
-  <li>Upgrade Commons Collections to 4.1, see WW-4695</li>
-  <li>Upgrade to Log4j 2.7, see WW-4696</li>
-  <li>Warn about excluded action/method only when DMI is disabled, see 
WW-4697</li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 7.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
-
-<h4 id="a20161018">18 October 2016 - Struts 2.3.31 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.3.31 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release addresses two potential security vulnerabilities:</p>
-
-<ul>
-  <li>Possible path traversal in the Convention plugin <a 
href="/docs/s2-042.html">S2-042</a></li>
-  <li>Using the Config Browser plugin in production <a 
href="/docs/s2-043.html">S2-043</a></li>
-</ul>
-
-<p>Also this release contains several breaking changes and improvements just 
to mention few of them:</p>
-
-<ul>
-  <li>webconsole can always be accessed, see WW-4601</li>
-  <li>Space character and includeParams,see WW-4628</li>
-  <li>ParametersInterceptor excludeParams only applies to first instance of 
params interceptor in paramsPrepareParamsStack,see WW-4667</li>
-  <li>Select box does not pre-select chosen values,see WW-4675</li>
-  <li>StrutsPrepareAndExecuteFilter should check for response committed 
status,see WW-4674</li>
-  <li>Allow directly accessing I18N keys from Tiles definitions,see 
WW-4685</li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 6.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-2331">download</a> page.</p>
-
-<h4 id="a20160707">7 July 2016 - Struts 2.5.2 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5.2 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>Struts 2.5.2 release contains several improvements just to mention few of 
them:</p>
-
-<ul>
-  <li>SecurityMemberAccess exclude class design issue, see WW-4645</li>
-  <li>Json deserialization does not work in 2.5.1, see WW-4650</li>
-  <li>Negative number is considered an arithmetic expression, see WW-4651</li>
-  <li>Wildcard redirect and path <code 
class="highlighter-rouge">/static/</code>, see WW-4656</li>
-  <li>Upgrade commons-fileupload to the latest version, see WW-4648</li>
-  <li>Cleans up logic in <code class="highlighter-rouge">StreamResult</code> 
and update docs, see WW-4655</li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 7.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
-
-<h4 id="a20160707-2">7 July 2016 - Struts 2.3.30 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.3.30 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
-
-<ul>
-  <li>Pre-evaluation of “name” attribute stopped working, see WW-4641</li>
-  <li>Unable to retrieve <code class="highlighter-rouge">s:hidden</code> field 
values, see WW-4642</li>
-  <li>SecurityMemberAccess exclude class design issue, see WW-4645</li>
-  <li>Negative number is considered an arithmetic expression, see WW-4651</li>
-  <li>Upgrade commons-fileupload to the latest version, see WW-4648</li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 6.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-2330">download</a> page.</p>
-
-<h4 id="a20160618">18 June 2016 - Struts 2.5.1 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5.1 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release addresses one potential security vulnerability:</p>
-
-<ul>
-  <li><a href="/docs/s2-041.html">S2-041</a>
-Possible DoS attack when using URLValidator</li>
-</ul>
-
-<p>Also all security patches applied to version Struts 2.3.29 were also 
applied to this version (just in case).</p>
-
-<p>This release contains several improvements just to mention few of them:</p>
-
-<ul>
-  <li>contentType override ignored for JSONInterceptor - see WW-4558</li>
-  <li>MessageStorePreResultListener does not store messages for 3rd-party 
RedirectResult subclasses - see WW-4618</li>
-  <li>EmailValidator flags .cat emails as invalid - see WW-4626</li>
-  <li>SMI cannot be disabled - see WW-4632</li>
-  <li>Centre alignment does not seem to work in Velocity tags - see 
WW-4634</li>
-  <li>Unable to process Jar entry (javassist-3.20.0-GA.jar) - see WW-4637</li>
-  <li>Strict Method Invocation breaks Action-Less Results - see WW-4643</li>
-  <li>When method is not allowed throw exception with meaningful message - see 
WW-4640</li>
-  <li>update struts2 bom - see WW-4644</li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 7.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
-
-<h4 id="a20160617">17 June 2016 - Struts 2.3.29 General Availability with 
Security Fixes Release</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.3.29 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release addresses these potential security vulnerabilities:</p>
-
-<ul>
-  <li>
-    <p><a href="/docs/s2-035.html">S2-035</a>
-Action name clean up is error prone</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-036.html">S2-036</a>
-Forced double OGNL evaluation, when evaluated on raw user input in tag 
attributes,
-may lead to remote code execution (similar to S2-029)</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-037.html">S2-037</a>
-Remote Code Execution can be performed when using REST Plugin.</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-038.html">S2-038</a>
-It is possible to bypass token validation and perform a CSRF attack</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-039.html">S2-039</a>
-Getter as action method leads to security bypass</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-040.html">S2-040</a>
-Input validation bypass using existing default action method.</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-041.html">S2-041</a>
-Possible DoS attack when using URLValidator</p>
-  </li>
-</ul>
-
 <p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
 
 <ul>
-  <li>Json result type breaks</li>
-  <li>MessageStorePreResultListener doesn’t store messages for 3rd-party 
RedirectResult subclasses</li>
-  <li>Multiple tiles.xml in web.xml</li>
-  <li>New Tiles version can not find tiles*.xml files in sub-directories</li>
-  <li>EmailValidator flags .cat emails as invalid</li>
-  <li>Struts2 JSON Plugin: messages in fieldsErrors are serialized twice since 
jdk1.7_80</li>
-  <li>Tile definition Inheritance/overriding is broken in Struts2 tiles plugin 
2.3.28+</li>
-  <li><code class="highlighter-rouge">&lt;s:submit&gt;</code> generates a 
value attribute for type=image which violates W3C</li>
-  <li>ClassCastException while generating report using Struts 2.3.28 and 
jasperreports 4.5.1</li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 6.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
-
-<h4 id="a20160601">1 June 2016 - Two security vulnerabilities reported</h4>
-
-<p>Two potential security vulnerabilities were reported which were already 
addressed in the latest Apache Struts 2 versions.
-Those reports just added other vectors of attack.</p>
-
-<ul>
-  <li>
-    <p><a href="/docs/s2-033.html">S2-033</a>
-Remote Code Execution can be performed when using REST Plugin with ! operator 
when Dynamic Method Invocation is enabled</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-034.html">S2-034</a>
-OGNL cache poisoning can lead to DoS vulnerability</p>
-  </li>
-</ul>
-
-<p>Please read carefully the Security Bulletins and take suggested actions. 
The simplest way to avoid those vulnerabilities
-in your application is to upgrade the Apache Struts to latest available 
version in 2.3.x series or to the Apache Struts 2.5.</p>
-
-<p>You can download those versions from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
-
-<h4 id="a20160509">9 May 2016 - Struts 2.5 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5 is available 
as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
-
-<ul>
-  <li>XWork source was merged into Struts Core source, it means that there be 
no more xwork artifact nor dedicated jar</li>
-  <li>Spring dependency for tests and spring plugin was upgraded to version 
4.1.6, see WW-4510.</li>
-  <li>Struts2 internal logging api was marked as deprecated and was replaced 
with new Log4j2 api as logging layer, see WW-4504.</li>
-  <li>Struts2 is now build with JDK7, see WW-4503.</li>
-  <li>New plugin to support bean validation is now part of the distribution, 
see WW-4505.</li>
-  <li>Deprecated plugins are now removed from the distribution and are not 
longer supported anymore.
-    <ul>
-      <li>Dojo Plugin</li>
-      <li>Codebehind Plugin</li>
-      <li>JSF Plugin</li>
-      <li>Struts1 Plugin</li>
-    </ul>
-  </li>
-  <li>New security option was added - Strict Method Invocation (also known as 
Strict DMI), see WW-4540</li>
-  <li>Added support for latest stable AngularJS in Maven archetype, see 
WW-4522</li>
-  <li>Dropped support for id and name - replaced with var, see WW-2069</li>
-  <li>Dedicated archive with a minimal set of dependencies was introduced, see 
WW-4570</li>
-  <li>It is possible to use multiple names when defining a result, see 
WW-4590</li>
-  <li>Rest plugin honors Accept header, see WW-4588</li>
-  <li>New result ‘JSONActionRedirectResult’ in json-plugin was defined, 
see WW-4591</li>
-  <li>Tiles plugin was upgrade to the latest Tiles 3 and tiles3-plugin was 
dropped, see WW-4584</li>
-  <li>JasperReports plugins was upgraded to JasperReport 6.0, see WW-4381</li>
-  <li>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</li>
-  <li>Annotations to configure Tiles, see WW-4594 and Tiles Plugin</li>
+  <li>How to handle 404 when using wildcard instead of error 500 when the 
wildcard method doesn’t exist</li>
+  <li>MessageStoreInterceptor must handle all redirects</li>
+  <li><code class="highlighter-rouge">MaxMultiPartUpload</code> limited to 2GB 
(Long –&gt; Integer)</li>
+  <li>Struts 2.5.8 no longer supports the <code 
class="highlighter-rouge">&lt;include&gt;</code> directive in the <code 
class="highlighter-rouge">struts.xml</code></li>
+  <li><code class="highlighter-rouge">JSONValidationInterceptor</code> change 
static parameters names</li>
+  <li><code class="highlighter-rouge">ServletDispatcherResult</code> can’t 
handle parameters anymore</li>
+  <li><code class="highlighter-rouge">TokenInterceptor</code> synchronized on 
<code class="highlighter-rouge">session.getId().intern()</code></li>
+  <li>XSLT error during transformation</li>
+  <li>No default parameter defined for result <code 
class="highlighter-rouge">json</code> of type <code 
class="highlighter-rouge">org.apache.struts2.json.JSONResult</code></li>
+  <li><code class="highlighter-rouge">I18Interceptor</code> ignores session or 
cookie Locale after first lookup failure</li>
+  <li><code class="highlighter-rouge">EmailValidator</code> does not accept 
new domain suffixes</li>
+  <li><code class="highlighter-rouge">AnnotationValidationInterceptor</code> : 
<code class="highlighter-rouge">NullPointerException</code> when method is 
null</li>
+  <li><code class="highlighter-rouge">struts.xml</code> include not loading in 
dependant jar files</li>
+  <li><code class="highlighter-rouge">AnnotationValidationInterceptor</code> 
should consult <code class="highlighter-rouge">UnknownHandler</code> before 
throwing <code class="highlighter-rouge">NoSuchMethodException</code></li>
+  <li><code class="highlighter-rouge">ActionSupport.LOG</code> should be 
private</li>
+  <li>Remove <code class="highlighter-rouge">StrutsObjectFactory</code> and 
define <code class="highlighter-rouge">StrutsInterceptorFactory</code> 
instead</li>
+  <li>Make <code class="highlighter-rouge">OgnlValueStack</code> and <code 
class="highlighter-rouge">OgnlValueStackFactory</code> More Extensible</li>
+  <li>Make interceptor parameters dynamic</li>
+  <li>allow include other config files from classpath</li>
 </ul>
 
 <p><strong>All developers are strongly advised to perform this 
action.</strong></p>
@@ -505,162 +167,8 @@ to the user list, and, if appropriate, f
 
 <p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
 
-<h4 id="a20160419">19 April 2016 - Struts 2.3.28.1 General Availability with 
Security Fixes Release</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.3.28.1 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release addresses two potential security vulnerabilities:</p>
-
-<ul>
-  <li>
-    <p><a href="/docs/s2-031.html">S2-031</a>
-Possible RCE vulnerability in <code 
class="highlighter-rouge">XSLTResult</code> was fixed.</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-032.html">S2-032</a>
-Prevents execution of chained expressions based on new <code 
class="highlighter-rouge">isSequence</code> flag introduce in appropriated OGNL 
versions.</p>
-  </li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 6.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download this version from our <a 
href="download.cgi#struts-ga">download</a> page.</p>
-
-<h4 id="a20160419-1">19 April 2016 - Struts 2.3.20.3 &amp; 2.3.24.3 General 
Availability with Security Fixes Release</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.3.20.3 &amp; 
Struts 2.3.24.3 are available as a “General Availability”
-releases. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>These releases address three potential security vulnerabilities:</p>
-
-<ul>
-  <li>
-    <p><a href="/docs/s2-029.html">S2-029</a>
-Forced double OGNL evaluation, when evaluated on raw user input in tag 
attributes, may lead to remote code execution.</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-031.html">S2-031</a>
-Possible RCE vulnerability in <code 
class="highlighter-rouge">XSLTResult</code> was fixed.</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-032.html">S2-032</a>
-Prevents execution of chained expressions based on new <code 
class="highlighter-rouge">isSequence</code> flag introduce in appropriated OGNL 
versions.</p>
-  </li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 6.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<p>You can download these versions from our <a 
href="download.cgi#prior-releases">download</a> page.</p>
-
-<h4 id="a20160318">18 March 2016 - Struts 2.3.28 General Availability with 
Security Fix Release</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.3.28 is 
available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release addresses three potential security vulnerabilities:</p>
-
-<ul>
-  <li>
-    <p><a href="/docs/s2-028.html">S2-028</a>
-Possible XSS vulnerability in pages not using UTF-8 was fixed.</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-029.html">S2-029</a>
-Forced double OGNL evaluation, when evaluated on raw user input in tag 
attributes, may lead to remote code execution.</p>
-  </li>
-  <li>
-    <p><a href="/docs/s2-030.html">S2-030</a>
-I18NInterceptor narrows selected locale to those available in JVM to reduce 
possibility of another XSS vulnerability.</p>
-  </li>
-</ul>
-
-<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
-
-<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
-
-<ul>
-  <li>New Configurationprovider type was introduced - 
ServletContextAwareConfigurationProvider, see WW-4410</li>
-  <li>Setting status code in HttpHeaders isn’t ignored anymore, see 
WW-4545</li>
-  <li>Spring BeanPostProcessor(s) are called only once to constructed 
objects., see WW-4554</li>
-  <li>OGNL was upgraded to version 3.0.13, see WW-4562</li>
-  <li>Tiles 2 Plugin was upgraded to latest available Tiles 2 version, see 
WW-4568</li>
-  <li>A dedicated assembly with minimal set of jars was defined, see 
WW-4570</li>
-  <li>Struts2 Rest plugin properly handles JSESSIONID with DMI, see 
WW-4585</li>
-  <li>Improved the Struts2 Rest plugin to honor Accept header, see WW-4588</li>
-  <li>MessageStoreInterceptor was refactored to use PreResultListener to store 
messages, see WW-4605</li>
-  <li>A new annotation was added to support configuring Tiles - 
@TilesDefinition, see WW-4606</li>
-</ul>
-
-<p>and many other improvements, please check the version notes</p>
-
-<p>The 2.3.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 6.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
-<h4 id="a20160126">26 January 2016 - Struts 2.5-BETA3 (BETA)</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5-BETA3 is 
available as a “BETA” release.</p>
-
-<p>Apache Struts 2 is an elegant, extensible framework for creating 
enterprise-ready Java web applications.
-The framework is designed to streamline the full development cycle, from 
building, to deploying,
-to maintaining applications over time.</p>
-
-<p>This release contains several breaking changes and improvements just to 
mention few of them:</p>
-
-<ul>
-  <li>Dropped support for id and name - replaced with var, see WW-2069</li>
-  <li>Dedicated archive with a minimal set of dependencies was introduced, see 
WW-4570</li>
-  <li>It is possible to use multiple names when defining a result, see 
WW-4590</li>
-  <li>Rest plugin honors Accept header, see WW-4588</li>
-  <li>New result ‘JSONActionRedirectResult’ in json-plugin was defined, 
see WW-4591</li>
-  <li>Tiles plugin was upgrade to the latest Tiles 3 and tiles3-plugin was 
dropped, see WW-4584</li>
-  <li>JasperReports plugins was upgraded to JasperReport 6.0, see WW-4381</li>
-  <li>OGNL was upgraded to version 3.0.11 and it breaks access to properties 
as it follows Java Bean Specification,
-see WW-4207 and WW-3909
-    <ul>
-      <li>and then OGNL was upgraded to version 3.1.1, see WW-4561</li>
-      <li>and then OGNL was upgraded to version 3.2.1, see WW-4577</li>
-    </ul>
-  </li>
-</ul>
-
-<p>and many other improvements, please check the version notes</p>
-
-<p>The 2.5.x series of the Apache Struts framework has a minimum requirement 
of the following specification versions:
-Servlet API 2.4, JSP API 2.0, and Java 7.</p>
-
-<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments 
-to the user list, and, if appropriate, file a tracking ticket.</p>
-
 <p class="pull-right">
-  Skip to: <a href="announce-2015.html">Announcements - 2015</a>
+  Skip to: <a href="announce-2016.html">Announcements - 2016</a>
 </p>
 
 <p class="pull-left">

Modified: websites/production/struts/content/docs/ajax-validation.html
==============================================================================
--- websites/production/struts/content/docs/ajax-validation.html (original)
+++ websites/production/struts/content/docs/ajax-validation.html Fri Feb  3 
13:47:41 2017
@@ -138,7 +138,16 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><h2 
id="AJAXValidation-Description">Description</h2><p>Struts provides <a 
shape="rect" href="client-validation.html">client side validation</a>(using 
JavaScript) for a few validators. Using AJAX validation, all <a shape="rect" 
href="validation.html">validators</a> available to the application on the 
server side can be used without forcing the page to reload, just to show 
validation errors. AJAX validation has a server side, which is in included in 
<a shape="rect" 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=34268";>JSON
 Plugin</a> (an interceptor and a result). Client side must be handled by 
applictions themself. One reason for that is there are too many JavaScript 
frameworks and libraries. Struts has no preference which of them you use. 
Previous versions of Struts included a client side which was relying on the 
Dojo JS framework and was located in Struts Dojo plugin. That has been 
deprecated for a long time and was ev
 entually removed.</p><h2 id="AJAXValidation-Example">Example</h2><p>This 
example is taken from the Struts showcase application.</p><h3 
id="AJAXValidation-Createtheactionclass">Create the action class</h3><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+            <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
+div.rbtoc1484828425540 {padding: 0px;}
+div.rbtoc1484828425540 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1484828425540 li {margin-left: 0px;padding-left: 0px;}
+
+/*]]>*/</style></p><div class="toc-macro rbtoc1484828425540">
+<ul class="toc-indentation"><li><a shape="rect" 
href="#AJAXValidation-Description">Description</a></li><li><a shape="rect" 
href="#AJAXValidation-Example">Example</a>
+<ul class="toc-indentation"><li><a shape="rect" 
href="#AJAXValidation-Createtheactionclass">Create the action 
class</a></li><li><a shape="rect" href="#AJAXValidation-MaptheAction">Map the 
Action</a></li><li><a shape="rect" href="#AJAXValidation-CreatetheJSP">Create 
the JSP</a></li><li><a shape="rect" href="#AJAXValidation-CustomTheme">Custom 
Theme</a></li><li><a shape="rect" href="#AJAXValidation-CSS">CSS</a></li><li><a 
shape="rect" href="#AJAXValidation-JavaScript">JavaScript</a></li></ul>
+</li><li><a shape="rect" href="#AJAXValidation-Howitworks">How it 
works</a></li><li><a shape="rect" 
href="#AJAXValidation-JSONValidationInterceptorparameters">JSONValidationInterceptor
 parameters</a></li><li><a shape="rect" 
href="#AJAXValidation-FlowchartofAJAXvalidation">Flow chart of AJAX 
validation</a></li></ul>
+</div><h2 id="AJAXValidation-Description">Description</h2><p>Struts provides 
<a shape="rect" href="client-validation.html">client side validation</a>(using 
JavaScript) for a few validators. Using AJAX validation, all <a shape="rect" 
href="validation.html">validators</a> available to the application on the 
server side can be used without forcing the page to reload, just to show 
validation errors. AJAX validation has a server side, which is in included in 
<a shape="rect" 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=34268";>JSON
 Plugin</a> (an interceptor and a result). Client side must be handled by 
applictions themself. One reason for that is there are too many JavaScript 
frameworks and libraries. Struts has no preference which of them you use. 
Previous versions of Struts included a client side which was relying on the 
Dojo JS framework and was located in Struts Dojo plugin. That has been 
deprecated for a long time and was eventually removed.</p><h2 id="AJAXV
 alidation-Example">Example</h2><p>This example is taken from the Struts 
showcase application.</p><h3 id="AJAXValidation-Createtheactionclass">Create 
the action class</h3><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">public class AjaxFormSubmitAction extends ActionSupport 
{
     private String requiredValidatorField = null;
     private String requiredStringValidatorField = null;
@@ -501,7 +510,7 @@ $(window).bind('load', function() {
 </div></div><p>If <em>struts.validateOnly</em> is false the action and result 
are executed. In this case <em>jsonActionRedirect</em> result is very useful. 
It creates a JSON response in the form:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: javascript; gutter: false; theme: Default" 
style="font-size:12px;">{"location": "&lt;url to be loaded next&gt;"}
 </pre>
-</div></div><div class="confluence-information-macro 
confluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Remember to set 
struts.enableJSONValidation=true in the request to enable AJAX 
validation</p></div></div><p>&#160;</p><h2 
id="AJAXValidation-FlowchartofAJAXvalidation">Flow chart of AJAX 
validation</h2><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Some details are omitted, like 
results used.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>As explained above: there is a 
case where fo
 rm is submitted twice, one time as AJAX with validation only and another time 
as usual submit.</p></div></div><p><a shape="rect" 
href="ajax-validation.data/struts2-ajax-vali-flow.png?version=2&amp;modificationDate=1454052624000&amp;api=v2"
 data-linked-resource-id="61338002" data-linked-resource-version="2" 
data-linked-resource-type="attachment" 
data-linked-resource-default-alias="struts2-ajax-vali-flow.png" 
data-nice-type="Image" data-linked-resource-content-type="image/png" 
data-linked-resource-container-id="13850" 
data-linked-resource-container-version="41"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="ajax-validation.data/struts2-ajax-vali-flow.png"></span></a></p><p>&#160;</p></div>
+</div></div><div class="confluence-information-macro 
confluence-information-macro-warning"><span class="aui-icon aui-icon-small 
aui-iconfont-error confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Remember to set 
struts.enableJSONValidation=true in the request to enable AJAX 
validation</p></div></div><h2 
id="AJAXValidation-JSONValidationInterceptorparameters">JSONValidationInterceptor
 parameters</h2><p>The following request parameters can be used to enable 
exposing validation errors:</p><ul style="list-style-type: 
square;"><li><strong>struts.enableJSONValidation</strong> - a request 
parameter&#160;must be set to <strong>true</strong>&#160;to use this 
interceptor</li><li><strong>struts.validateOnly</strong> - If the request has 
this parameter, execution will return after validation (action won't be 
executed). If <strong>struts.validateOnly</strong>&#160;is set to false you may 
want to use <a shape="rect" class="createlink" href="https://cwiki
 
.apache.org/confluence/pages/createpage.action?spaceKey=WW&amp;title=JSONActionRedirectResult&amp;linkCreation=true&amp;fromPageId=13850">JSONActionRedirectResult</a></li><li><strong>struts.JSONValidation.no.encoding</strong>
 - If the request has this parameter set to<strong> true,</strong> the 
character encoding will <strong>NOT</strong> be set on the response - is needed 
in portlet environment</li></ul><p>You can override names of these parameters 
by specifying the following parameters when setting up a stack:</p><ul 
style="list-style-type: square;"><li><strong>validateJsonParam</strong>&#160;- 
to override name 
of&#160;<strong>struts.enableJSONValidation</strong><strong><br 
clear="none"></strong></li><li><strong>validateOnlyParam</strong> - to override 
name of 
<strong>struts.validateOnly</strong></li><li><strong>noEncodingSetParam</strong>
 - to override name 
of&#160;<strong>struts.JSONValidation.no.encoding</strong></li><li><strong>validationFailedStatus</strong>
 - status to be se
 t on response when there are validation errors, by default 
<strong>400</strong></li></ul><p><strong><br clear="none"></strong></p><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body">&#160;Parameters overriding is 
available since Struts 2.5.9</div></div><h2 
id="AJAXValidation-FlowchartofAJAXvalidation">Flow chart of AJAX 
validation</h2><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Some details are omitted, like 
results used.</p></div></div><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluence-info
 rmation-macro-body"><p>As explained above: there is a case where form is 
submitted twice, one time as AJAX with validation only and another time as 
usual submit.</p></div></div><p><a shape="rect" 
href="ajax-validation.data/struts2-ajax-vali-flow.png?version=2&amp;modificationDate=1454052624000&amp;api=v2"
 data-linked-resource-id="61338002" data-linked-resource-version="2" 
data-linked-resource-type="attachment" 
data-linked-resource-default-alias="struts2-ajax-vali-flow.png" 
data-nice-type="Image" data-linked-resource-content-type="image/png" 
data-linked-resource-container-id="13850" 
data-linked-resource-container-version="46"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" 
src="ajax-validation.data/struts2-ajax-vali-flow.png"></span></a></p><p>&#160;</p></div>
         </div>
 
         

Modified: websites/production/struts/content/docs/i18n-interceptor.html
==============================================================================
--- websites/production/struts/content/docs/i18n-interceptor.html (original)
+++ websites/production/struts/content/docs/i18n-interceptor.html Fri Feb  3 
13:47:41 2017
@@ -138,19 +138,17 @@ under the License.
 
     <div class="pagecontent">
         <div class="wiki-content">
-            <div id="ConfluenceContent"><div class="error"><span 
class="error">Error formatting macro: snippet: 
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
+            <div id="ConfluenceContent"><h2 
id="I18nInterceptor-Description">Description</h2><p>An interceptor that handles 
setting the locale specified in a session as the locale for the current action 
request. In addition, this interceptor will look for a specific HTTP request 
parameter and set the locale to whatever value is provided, it also looks for 
specific cookie to read locale from. This means that this interceptor can be 
used to allow for your application to dynamically change the locale for the 
user's session or, alternatively, only for the current &#160;request. This is 
very useful for applications that require multi-lingual support and want the 
user to be able to set his or her language preference at any point. The locale 
parameter is removed during the execution of this interceptor, ensuring that 
properties aren't set on an action (such as request_locale) that have no 
typical corresponding setter in your action.</p><p>For example, using the 
default parameter name, a re
 quest to <strong>foo.action?request_locale=en_US</strong>, then the locale for 
US English is saved in the user's session and will be used for all future 
requests. If there is no locale set (for example with the first visit), the 
interceptor uses the browser locale.</p><h2 
id="I18nInterceptor-Parameters">Parameters</h2><ul style="list-style-type: 
square;"><li><strong>parameterName</strong> (optional) - the name of the HTTP 
request parameter that dictates the locale to switch to and save in the 
session. By default this is 
<strong>request_locale</strong></li><li><strong>requestCookieParameterName</strong>
 (optional) - the name of the HTTP request parameter that dictates the locale 
to switch to and save in a cookie. By default this is 
<strong>request_cookie_locale</strong></li><li><strong>requestOnlyParameterName</strong>
 (optional) - the name of the HTTP request parameter that dictates the locale 
to switch to for the current request only, without saving it in the session. By 
default th
 is is 
<strong>request_only_locale</strong></li><li><strong>attributeName</strong> 
(optional) - the name of the session key to store the selected locale. By 
default this is 
<strong>WW_TRANS_I18N_LOCALE</strong></li><li><strong>localeStorage</strong> 
(optional) - the name of storage location, it can be <strong>none</strong>, 
<strong>session</strong>&#160;or <strong>cookie</strong>. By default this is 
<strong>session</strong></li></ul><h2 
id="I18nInterceptor-Examples">Examples</h2><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;interceptor name="i18nCookie" 
class="org.apache.struts2.interceptor.I18nInterceptor"/&gt;
 
-<h2 id="I18nInterceptor-Parameters">Parameters</h2>
-
-<div class="error"><span class="error">Error formatting macro: snippet: 
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-
-<h2 id="I18nInterceptor-ExtendingtheInterceptor">Extending the Interceptor</h2>
-
-<div class="error"><span class="error">Error formatting macro: snippet: 
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
-
-<h2 id="I18nInterceptor-Examples">Examples</h2>
-
-<div class="error"><span class="error">Error formatting macro: snippet: 
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div></div>
+&lt;action name="someAction" class="com.examples.SomeAction"&gt;
+    &lt;interceptor-ref name="i18nCookie"&gt;
+        &lt;param name="localeStorage"&gt;cookie&lt;/param&gt;
+    &lt;/interceptor-ref&gt;
+    &lt;interceptor-ref name="basicStack"/&gt;
+    &lt;result name="success"&gt;good_result.ftl&lt;/result&gt;
+&lt;/action&gt;</pre>
+</div></div><p>&#160;</p><p>&#160;</p></div>
         </div>
 
         


Reply via email to