You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by gi...@apache.org on 2019/01/16 08:01:09 UTC

[struts-site] branch asf-site updated: Updates production by Jenkins

This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/struts-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new 21ad1cc  Updates production by Jenkins
21ad1cc is described below

commit 21ad1cc4189417f55ac587fe9b04bb20e2759997
Author: jenkins <bu...@apache.org>
AuthorDate: Wed Jan 16 08:01:07 2019 +0000

    Updates production by Jenkins
---
 content/{announce.html => announce-2018.html}   |   2 +-
 content/announce.html                           | 234 +++---------------------
 content/core-developers/interceptors.html       |   7 +-
 content/core-developers/struts-default-xml.html |   7 +-
 content/download.html                           |  84 ++++-----
 content/index.html                              |  22 +--
 content/releases.html                           |   2 +-
 content/tag-developers/css-xhtml-theme.html     |  18 +-
 content/tag-developers/xhtml-theme.html         |  24 +--
 9 files changed, 106 insertions(+), 294 deletions(-)

diff --git a/content/announce.html b/content/announce-2018.html
similarity index 99%
copy from content/announce.html
copy to content/announce-2018.html
index 46f662f..a768e3b 100644
--- a/content/announce.html
+++ b/content/announce-2018.html
@@ -125,7 +125,7 @@
 
 <article class="container">
   <section class="col-md-12">
-    <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/announce.md" title="Edit this page on GitHub">Edit on GitHub</a>
+    <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/announce-2018.md" title="Edit this page on GitHub">Edit on GitHub</a>
     
     <h1 class="no_toc" id="announcements-2018">Announcements 2018</h1>
 
diff --git a/content/announce.html b/content/announce.html
index 46f662f..8514feb 100644
--- a/content/announce.html
+++ b/content/announce.html
@@ -7,7 +7,7 @@
   <meta http-equiv="Content-Language" content="en"/>
   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 
-  <title>Announcements 2018</title>
+  <title>Announcements 2019</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">
@@ -127,63 +127,20 @@
   <section class="col-md-12">
     <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/announce.md" title="Edit this page on GitHub">Edit on GitHub</a>
     
-    <h1 class="no_toc" id="announcements-2018">Announcements 2018</h1>
+    <h1 class="no_toc" id="announcements-2019">Announcements 2019</h1>
 
 <ul id="markdown-toc">
-  <li><a href="#a20181114" id="markdown-toc-a20181114">14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement</a></li>
-  <li><a href="#a20181015-2" id="markdown-toc-a20181015-2">15 October 2018 - Struts 2.3.36 General Availability</a></li>
-  <li><a href="#a20181015-1" id="markdown-toc-a20181015-1">15 October 2018 - Struts 2.5.18 General Availability</a></li>
-  <li><a href="#a20180822-0" id="markdown-toc-a20180822-0">22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16</a></li>
-  <li><a href="#a20180822-1" id="markdown-toc-a20180822-1">22 August 2018 - Struts 2.5.17 General Availability</a></li>
-  <li><a href="#a20180822-2" id="markdown-toc-a20180822-2">22 August 2018 - Struts 2.3.35 General Availability</a></li>
-  <li><a href="#a20180327" id="markdown-toc-a20180327">27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin</a></li>
-  <li><a href="#a20180323" id="markdown-toc-a20180323">23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3</a></li>
-  <li><a href="#a20180316" id="markdown-toc-a20180316">16 March 2018 - Struts 2.5.16 General Availability</a></li>
+  <li><a href="#a20190114" id="markdown-toc-a20190114">14 January 2019 - Struts 2.5.20 General Availability</a></li>
+  <li><a href="#a20181230" id="markdown-toc-a20181230">30 December 2018 - Struts 2.3.37 General Availability</a></li>
 </ul>
 
 <p class="pull-right">
-  Skip to: <a href="announce-2017.html">Announcements - 2017</a>
+  Skip to: <a href="announce-2018.html">Announcements - 2018</a>
 </p>
 
-<h4 id="a20181114">14 November 2018 - Apache Struts 2.3.x End-Of-Life (EOL) Announcement</h4>
+<h4 id="a20190114">14 January 2019 - Struts 2.5.20 General Availability</h4>
 
-<p>The Apache Struts Project Team would like to inform you that the Struts 2.3.x web framework will reach 
-its end of life in 6 months and won’t be longer officially supported.</p>
-
-<p>Please check the following reading to find more details.</p>
-
-<ul>
-  <li><a href="struts23-eol-announcement">Apache Struts 2.3.x EOL Announcement</a>, including a detailed Q/A section</li>
-</ul>
-
-<h4 id="a20181015-2">15 October 2018 - Struts 2.3.36 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.3.36 is available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>This release addresses one backward compatibility issue:</p>
-
-<ul>
-  <li><a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36">xml-validation fails since struts 2.5.17</a></li>
-</ul>
-
-<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><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-23x">download</a> page.</p>
-
-<h4 id="a20181015-1">15 October 2018 - Struts 2.5.18 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5.18 is available as a “General Availability”
+<p>The Apache Struts group is pleased to announce that Struts 2.5.20 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.
@@ -193,60 +150,17 @@ to maintaining applications over time.</p>
 <p>Below is a full list of all changes:</p>
 
 <ul>
-  <li><code class="highlighter-rouge">jar_cache</code> Some jar_cache<strong>**</strong>.tmp files are generated into a temporary directory(/tmp) during web service start</li>
-  <li>Struts 2.5.16 is creating jar_cache files in temp folder</li>
-  <li>MD5 and SHA1 should no longer be provided on download pages</li>
-  <li>xml-validation fails since struts 2.5.17</li>
-</ul>
-
-<p>Internal Changes:</p>
-
-<ul>
-  <li>XWorkList was moved into a com.opensymphony.xwork2.conversion.impl package as com.opensymphony.xwork2.util package is excluded 
-by the Internal Security Mechanism.</li>
-</ul>
-
-<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><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="a20180822-0">22 August 2018 - CVE-2018-11776 Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16</h4>
-
-<p>CVEID:CVE-2018-11776</p>
-
-<p>PRODUCT:Apache Struts</p>
-
-<p>VERSION:Apache Struts 2.3 to 2.3.34 and 2.5 to 2.5.16</p>
-
-<p>PROBLEMTYPE:Remote Code Execution</p>
-
-<p>REFERENCES:<a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a></p>
-
-<p>DESCRIPTION:Man Yue Mo from the Semmle Security Research team was noticed that Apache Struts versions 2.3 to 2.3.34 and
-2.5 to 2.5.16 suffer from possible Remote Code Execution when using results with no namespace and in same time, its 
-upper action(s) have no or wildcard namespace. Same possibility when using url tag which doesn’t have value and action
-set and in same time, its upper action(s) have no or wildcard namespace.</p>
-
-<h4 id="a20180822-1">22 August 2018 - Struts 2.5.17 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5.17 is available as a “General Availability”
-release. The GA designation is our highest quality grade.</p>
-
-<p>In addition to critical overall proactive security improvements, this release addresses one potential security vulnerability:</p>
-
-<ul>
-  <li>Possible Remote Code Execution when using results with no namespace and in same time, its upper action(s) have no or 
-wildcard namespace. Same possibility when using url tag which doesn’t have value and action set. - <a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a></li>
+  <li>s:include tag fails with truncated content in certain circumstances</li>
+  <li>NullPointerException in DefaultStaticContentLoader#findStaticResource</li>
+  <li>Fixing flaky test in Jsr168DispatcherTest and Jsr286DispatcherTest</li>
+  <li>Static files like css and js files in struts-core not properly served</li>
+  <li>Race condition reloading config results in actions not found</li>
+  <li>Setting Struts2 <s:select> options Css Class</s:select></li>
+  <li>Enhancement for s:set tag to improve tag body whitespace control.</li>
+  <li>Add support for Java 11</li>
+  <li>Upgraded commons-fileupload to version 1.4</li>
+  <li>Update multiple Struts 2.5.x libraries to more recent versions</li>
+  <li>Update OGNL versions for 2.6 and 2.5.x builds</li>
 </ul>
 
 <p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications.
@@ -263,16 +177,17 @@ 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="a20180822-2">22 August 2018 - Struts 2.3.35 General Availability</h4>
+<h4 id="a20181230">30 December 2018 - Struts 2.3.37 General Availability</h4>
 
-<p>The Apache Struts group is pleased to announce that Struts 2.3.35 is available as a “General Availability”
+<p>The Apache Struts group is pleased to announce that Struts 2.3.37 is available as a “General Availability”
 release. The GA designation is our highest quality grade.</p>
 
-<p>In addition to critical overall proactive security improvements, this release addresses one potential security vulnerability:</p>
+<p>This release addresses one backward compatibility issue:</p>
 
 <ul>
-  <li>Possible Remote Code Execution when using results with no namespace and in same time, its upper action(s) have no or 
-wildcard namespace. Same possibility when using url tag which doesn’t have value and action set. - <a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a></li>
+  <li>Struts 2.3.36 - InvalidPathException: Illegal char <:> on JDK 9,10,11 on windows</:></li>
+  <li>Error when upgrading to struts2.3.35</li>
+  <li>Upgraded commons-fileupload to version 1.4</li>
 </ul>
 
 <p>Apache Struts 2 is an elegant, extensible framework for creating enterprise-ready Java web applications.
@@ -289,107 +204,8 @@ 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-23x">download</a> page.</p>
 
-<h4 id="a20180327">27 March 2018 - A crafted XML request can be used to perform a DoS attack when using the Struts REST plugin</h4>
-
-<p>The Apache Security Struts Team recommends to immediately upgrade your Struts 2 based projects to use the latest released 
-version of the Apache Struts. This is necessary to prevent your publicly accessible web site, which is using the Struts 
-REST plugin and performing XML serialisation, from being exposed to possible DoS attack.</p>
-
-<p>You can find more details in a Security Bulletin <a href="https://cwiki.apache.org/confluence/display/WW/S2-056">S2-056</a></p>
-
-<p>All developers are strongly advised to perform this action.</p>
-
-<h4 id="a20180323">23 March 2018 - Immediately upgrade commons-fileupload to version 1.3.3</h4>
-
-<p>The Apache Struts Team recommends to immediately upgrade your Struts 2
-based projects to use the latest released version of Commons
-FileUpload library, which is currently 1.3.3. This is necessary to
-prevent your publicly accessible web site from being exposed to
-possible Remote Code Execution attacks (see [1] [2]).</p>
-
-<p>This affects any Struts version prior to <strong>2.5.12</strong> [3].</p>
-
-<p>Your project is affected if it uses the built-in file upload mechanism
-of Struts 2, which defaults to the use of commons-fileupload. The
-updated commons-fileupload library is a drop-in replacement for the
-vulnerable version. Deployed applications can be hardened by replacing
-the commons-fileupload jar file in WEB-INF/lib with the fixed jar. For
-Maven based Struts 2 projects, the following dependency needs to be
-added:</p>
-
-<div class="highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;dependency&gt;</span>
-  <span class="nt">&lt;groupId&gt;</span>commons-fileupload<span class="nt">&lt;/groupId&gt;</span>
-  <span class="nt">&lt;artifactId&gt;</span>commons-fileupload<span class="nt">&lt;/artifactId&gt;</span>
-  <span class="nt">&lt;version&gt;</span>1.3.3<span class="nt">&lt;/version&gt;</span>
-<span class="nt">&lt;/dependency&gt;</span>
-</code></pre>
-</div>
-
-<p>More details can be found here:</p>
-
-<ol>
-  <li><a href="https://issues.apache.org/jira/browse/FILEUPLOAD-279">https://issues.apache.org/jira/browse/FILEUPLOAD-279</a></li>
-  <li><a href="https://nvd.nist.gov/vuln/detail/CVE-2016-1000031">https://nvd.nist.gov/vuln/detail/CVE-2016-1000031</a></li>
-  <li><a href="https://issues.apache.org/jira/browse/WW-4812">https://issues.apache.org/jira/browse/WW-4812</a></li>
-</ol>
-
-<p>All developers are strongly advised to perform this action.</p>
-
-<h4 id="a20180316">16 March 2018 - Struts 2.5.16 General Availability</h4>
-
-<p>The Apache Struts group is pleased to announce that Struts 2.5.16 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>Below is a full list of all changes:</p>
-
-<ul>
-  <li>unclosed instantiation of PrintWriter</li>
-  <li>Http Sessions forcefully created for all requests using I18nInterceptor with default Storage value.</li>
-  <li>NotSerializableException - org.apache.struts2.dispatcher.StrutsRequestWrapper</li>
-  <li>NotSerializableException: com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector when using ExecuteAndWait 
-interceptor</li>
-  <li>ClassCastException in JarEntryRevision</li>
-  <li>Dependency Mapping Exception When Using PrefixBasedActionProxyFactory</li>
-  <li>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.</li>
-  <li>Conversion by annotation does not work</li>
-  <li>List of Boolean is not populated in Action class</li>
-  <li>JSONResult exception in struts2-json-plugin-2.5.14.1.jar</li>
-  <li>buttons with name=”method:METHODNAME” sometimes ignore global-allowed-methods defined in struts.xml</li>
-  <li>Could not create JarEntryRevision for [zip:C:/…. unknown protocol c</li>
-  <li>NPE in I18nInterceptor$SessionLocaleHandler.read</li>
-  <li>JasperReportResult: NPE When Not Using SQL Connection</li>
-  <li>support JSR 303 Validation Groups in BeanValidation-Plugin</li>
-  <li>Debug tag should not display anything when not in dev mode</li>
-  <li>Allow using of Initializable interface on an implementation level</li>
-  <li>Allowed methods inheritance</li>
-  <li>Allow use Jackson XML bindings to serialise / deserialise XML</li>
-  <li>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</li>
-  <li>Upgrade Spring to version 4.3.13</li>
-  <li>Update Log4j2 to 2.10.0</li>
-</ul>
-
-<blockquote>
-  <p>Please read the <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.16">Version Notes</a> to find more details about performed bug fixes and improvements.</p>
-</blockquote>
-
-<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>
-
 <p class="pull-right">
-  Skip to: <a href="announce-2017.html">Announcements - 2017</a>
+  Skip to: <a href="announce-2018.html">Announcements - 2018</a>
 </p>
 
 <p class="pull-left">
diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html
index e965204..c74b793 100644
--- a/content/core-developers/interceptors.html
+++ b/content/core-developers/interceptors.html
@@ -288,6 +288,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
                 <span class="err">freemarker.ext.rhino.,</span>
                 <span class="err">sun.reflect.,</span>
                 <span class="err">javassist.,</span>
+                <span class="err">org.objectweb.asm.,</span>
                 <span class="err">com.opensymphony.xwork2.ognl.,</span>
                 <span class="err">com.opensymphony.xwork2.security.,</span>
                 <span class="err">com.opensymphony.xwork2.util."</span> <span class="nt">/&gt;</span>
@@ -295,7 +296,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
     <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ObjectFactory"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ResultFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsResultFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ActionFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultActionFactory"</span> <span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultConverterFactory"</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.StrutsConverterFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.InterceptorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultInterceptorFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ValidatorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultValidatorFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.UnknownHandlerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultUnknownHandlerFactory"</span> <span class="nt">/&gt;</span>
@@ -340,8 +341,8 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionFileProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor"</span> <span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterCreator"</span> <span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterHolder"</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterCreator"</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterHolder"</span> <span class="nt">/&gt;</span>
 
     <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter"</span> <span class="nt">/&gt;</span>
 
diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html
index 791689b..41a296c 100644
--- a/content/core-developers/struts-default-xml.html
+++ b/content/core-developers/struts-default-xml.html
@@ -203,6 +203,7 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p>
                 <span class="err">freemarker.ext.rhino.,</span>
                 <span class="err">sun.reflect.,</span>
                 <span class="err">javassist.,</span>
+                <span class="err">org.objectweb.asm.,</span>
                 <span class="err">com.opensymphony.xwork2.ognl.,</span>
                 <span class="err">com.opensymphony.xwork2.security.,</span>
                 <span class="err">com.opensymphony.xwork2.util."</span> <span class="nt">/&gt;</span>
@@ -210,7 +211,7 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p>
     <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.ObjectFactory"</span> <span class="na">name=</span><span class="s">"struts"</span><span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ResultFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.factory.StrutsResultFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ActionFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultActionFactory"</span> <span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultConverterFactory"</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ConverterFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.StrutsConverterFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.InterceptorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultInterceptorFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.ValidatorFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultValidatorFactory"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.factory.UnknownHandlerFactory"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.factory.DefaultUnknownHandlerFactory"</span> <span class="nt">/&gt;</span>
@@ -255,8 +256,8 @@ setting in <a href="struts-properties.html">struts.properties</a>.</p>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionPropertiesProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionFileProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionFileProcessor"</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.ConversionAnnotationProcessor"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultConversionAnnotationProcessor"</span> <span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterCreator"</span> <span class="nt">/&gt;</span>
-    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.DefaultTypeConverterHolder"</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterCreator"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterCreator"</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;bean</span> <span class="na">type=</span><span class="s">"com.opensymphony.xwork2.conversion.TypeConverterHolder"</span> <span class="na">name=</span><span class="s">"struts"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.conversion.StrutsTypeConverterHolder"</span> <span class="nt">/&gt;</span>
 
     <span class="nt">&lt;bean</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.conversion.impl.XWorkBasicConverter"</span> <span class="nt">/&gt;</span>
 
diff --git a/content/download.html b/content/download.html
index f010df2..3c60405 100644
--- a/content/download.html
+++ b/content/download.html
@@ -189,26 +189,26 @@
 
 <h2 id="struts-ga">Full Releases</h2>
 
-<h3 id="struts2518">Struts 2.5.18</h3>
+<h3 id="struts2520">Struts 2.5.20</h3>
 
 <p>
-  <a href="https://struts.apache.org/">Apache Struts 2.5.18</a> is an elegant, extensible
+  <a href="https://struts.apache.org/">Apache Struts 2.5.20</a> is an elegant, extensible
   framework for creating enterprise-ready Java web applications. It is available in a full distribution,
   or as separate library, source, example and documentation distributions.
-  Struts 2.5.18 is the "best available" version of Struts in the 2.5 series.
+  Struts 2.5.20 is the "best available" version of Struts in the 2.5 series.
 </p>
 
 <ul>
   <li>
-    <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.18">Version Notes</a>
+    <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.20">Version Notes</a>
   </li>
 
   <li>Full Distribution:
     <ul>
       <li>
-        <a href="[preferred]struts/2.5.18/struts-2.5.18-all.zip">struts-2.5.18-all.zip</a> (65MB)
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-all.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.5.20/struts-2.5.20-all.zip">struts-2.5.20-all.zip</a> (65MB)
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-all.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-all.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -216,9 +216,9 @@
   <li>Example Applications:
     <ul>
       <li>
-        <a href="[preferred]struts/2.5.18/struts-2.5.18-apps.zip">struts-2.5.18-apps.zip</a> (35MB)
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-apps.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.5.20/struts-2.5.20-apps.zip">struts-2.5.20-apps.zip</a> (35MB)
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-apps.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-apps.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -226,9 +226,9 @@
   <li>Essential Dependencies Only:
     <ul>
       <li>
-        <a href="[preferred]struts/2.5.18/struts-2.5.18-min-lib.zip">struts-2.5.18-min-lib.zip</a> (4MB)
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-min-lib.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-min-lib.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.5.20/struts-2.5.20-min-lib.zip">struts-2.5.20-min-lib.zip</a> (4MB)
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-min-lib.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-min-lib.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -236,9 +236,9 @@
   <li>All Dependencies:
     <ul>
       <li>
-        <a href="[preferred]struts/2.5.18/struts-2.5.18-lib.zip">struts-2.5.18-lib.zip</a> (19MB)
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-lib.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-lib.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.5.20/struts-2.5.20-lib.zip">struts-2.5.20-lib.zip</a> (19MB)
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-lib.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-lib.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -246,9 +246,9 @@
   <li>Documentation:
     <ul>
       <li>
-        <a href="[preferred]struts/2.5.18/struts-2.5.18-docs.zip">struts-2.5.18-docs.zip</a> (13MB)
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-docs.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-docs.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.5.20/struts-2.5.20-docs.zip">struts-2.5.20-docs.zip</a> (13MB)
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-docs.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-docs.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -256,28 +256,28 @@
   <li>Source:
     <ul>
       <li>
-        <a href="[preferred]struts/2.5.18/struts-2.5.18-src.zip">struts-2.5.18-src.zip</a> (7MB)
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-src.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.5.18/struts-2.5.18-src.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.5.20/struts-2.5.20-src.zip">struts-2.5.20-src.zip</a> (7MB)
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-src.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.5.20/struts-2.5.20-src.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
 
 </ul>
 
-<h3 id="struts-23x">Struts 2.3.36</h3>
+<h3 id="struts-23x">Struts 2.3.37</h3>
 
 <ul>
   <li>
-    <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36">Version Notes</a>
+    <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.37">Version Notes</a>
   </li>
 
   <li>Full Distribution:
     <ul>
       <li>
-        <a href="[preferred]struts/2.3.36/struts-2.3.36-all.zip">struts-2.3.36-all.zip</a> (65MB)
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-all.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-all.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.3.37/struts-2.3.37-all.zip">struts-2.3.37-all.zip</a> (65MB)
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-all.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-all.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -285,9 +285,9 @@
   <li>Example Applications:
     <ul>
       <li>
-        <a href="[preferred]struts/2.3.36/struts-2.3.36-apps.zip">struts-2.3.36-apps.zip</a> (35MB)
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-apps.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-apps.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.3.37/struts-2.3.37-apps.zip">struts-2.3.37-apps.zip</a> (35MB)
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-apps.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-apps.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -295,9 +295,9 @@
   <li>Essential Dependencies Only:
     <ul>
       <li>
-        <a href="[preferred]struts/2.3.36/struts-2.3.36-min-lib.zip">struts-2.3.36-min-lib.zip</a> (4MB)
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-min-lib.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-min-lib.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.3.37/struts-2.3.37-min-lib.zip">struts-2.3.37-min-lib.zip</a> (4MB)
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-min-lib.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-min-lib.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -305,9 +305,9 @@
   <li>All Dependencies:
     <ul>
       <li>
-        <a href="[preferred]struts/2.3.36/struts-2.3.36-lib.zip">struts-2.3.36-lib.zip</a> (19MB)
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-lib.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-lib.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.3.37/struts-2.3.37-lib.zip">struts-2.3.37-lib.zip</a> (19MB)
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-lib.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-lib.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -315,9 +315,9 @@
   <li>Documentation:
     <ul>
       <li>
-        <a href="[preferred]struts/2.3.36/struts-2.3.36-docs.zip">struts-2.3.36-docs.zip</a> (13MB)
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-docs.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-docs.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.3.37/struts-2.3.37-docs.zip">struts-2.3.37-docs.zip</a> (13MB)
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-docs.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-docs.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
@@ -325,9 +325,9 @@
   <li>Source:
     <ul>
       <li>
-        <a href="[preferred]struts/2.3.36/struts-2.3.36-src.zip">struts-2.3.36-src.zip</a> (7MB)
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-src.zip.asc">PGP</a>]
-        [<a href="https://www.apache.org/dist/struts/2.3.36/struts-2.3.36-src.zip.sha256">SHA256</a>]
+        <a href="[preferred]struts/2.3.37/struts-2.3.37-src.zip">struts-2.3.37-src.zip</a> (7MB)
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-src.zip.asc">PGP</a>]
+        [<a href="https://www.apache.org/dist/struts/2.3.37/struts-2.3.37-src.zip.sha256">SHA256</a>]
       </li>
     </ul>
   </li>
diff --git a/content/index.html b/content/index.html
index 012b331..b33e8e1 100644
--- a/content/index.html
+++ b/content/index.html
@@ -131,7 +131,7 @@
       extensible using a plugin architecture, and ships with plugins to support
       REST, AJAX and JSON.
     </p>
-    <a href="download.cgi#struts2518" class="btn btn-primary btn-large">
+    <a href="download.cgi#struts2520" class="btn btn-primary btn-large">
       <img src="img/download-icon.svg"> Download
     </a>
     <a href="primer.html" class="btn btn-info btn-large">
@@ -151,19 +151,19 @@
         </p>
       </div>
       <div class="column col-md-4">
-        <h2>Apache Struts 2.5.18 GA</h2>
+        <h2>Apache Struts 2.5.20 GA</h2>
         <p>
-          Apache Struts 2.5.18 GA has been released<br/>on 15 October 2018.
+          Apache Struts 2.5.20 GA has been released<br/>on 14 January 2019.
         </p>
-        Read more in <a href="announce.html#a20181015-1">Announcement</a> or in
-        <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.18">Version notes</a>
+        Read more in <a href="announce.html#a20190114">Announcement</a> or in
+        <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.20">Version notes</a>
       </div>
       <div class="column col-md-4">
-        <h2>Apache Struts 2.3.36 GA</h2>
+        <h2>Apache Struts 2.3.37 GA</h2>
         <p>
           It's the latest release of Struts 2.3.x which contains the latest security fixes,
-          released on 15 October 2018.<br/> Read more in <a href="announce.html#a20181015-2">Announcement</a> or in
-          <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.36">Version notes</a>
+          released on 30 December 2018.<br/> Read more in <a href="announce.html#a20181230">Announcement</a> or in
+          <a href="https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.37">Version notes</a>
         </p>
       </div>
     </div>
@@ -186,12 +186,6 @@
         </p>
       </div>
       <div class="column col-md-4">
-        <h2>Immediately upgrade to version 2.5.18 or 2.3.36</h2>
-        <p>
-          The Apache Security Struts Team recommends to immediately upgrade your Struts 2 based projects to use
-          the latest released version of the Apache Struts to prevent possible RCE attack when using results with no namespace,
-          reported in <a href="https://cwiki.apache.org/confluence/display/WW/S2-057">S2-057</a>. Read more in <a href="announce.html#a20181015-0">Announcement</a>.
-        </p>
       </div>
     </div>
   </div>
diff --git a/content/releases.html b/content/releases.html
index 1163aa0..267659a 100644
--- a/content/releases.html
+++ b/content/releases.html
@@ -147,7 +147,7 @@
     <ul>
       <li>
         <a href="/download.cgi#struts-ga">
-          Struts 2.5.18
+          Struts 2.5.20
         </a> ("best available")
       </li>
     </ul>
diff --git a/content/tag-developers/css-xhtml-theme.html b/content/tag-developers/css-xhtml-theme.html
index e74e126..1aed008 100644
--- a/content/tag-developers/css-xhtml-theme.html
+++ b/content/tag-developers/css-xhtml-theme.html
@@ -167,16 +167,16 @@ the HTML tags are wrapped by a standard header and footer. For example, in the <
  */
 --&gt;
 &lt;input&lt;#rt/&gt;
- type="${(parameters.type!"text")?html}"&lt;#rt/&gt;
- name="${(parameters.name!"")?html}"&lt;#rt/&gt;
+ type="${(parameters.type!"text")}"&lt;#rt/&gt;
+ name="${(parameters.name!"")}"&lt;#rt/&gt;
 &lt;#if parameters.get("size")?has_content&gt;
- size="${parameters.get("size")?html}"&lt;#rt/&gt;
+ size="${parameters.get("size")}"&lt;#rt/&gt;
 &lt;/#if&gt;
 &lt;#if parameters.maxlength?has_content&gt;
- maxlength="${parameters.maxlength?html}"&lt;#rt/&gt;
+ maxlength="${parameters.maxlength}"&lt;#rt/&gt;
 &lt;/#if&gt;
 &lt;#if parameters.nameValue??&gt;
- value="${parameters.nameValue?html}"&lt;#rt/&gt;
+ value="${parameters.nameValue}"&lt;#rt/&gt;
 &lt;/#if&gt;
 &lt;#if parameters.disabled!false&gt;
  disabled="disabled"&lt;#rt/&gt;
@@ -185,14 +185,14 @@ the HTML tags are wrapped by a standard header and footer. For example, in the <
  readonly="readonly"&lt;#rt/&gt;
 &lt;/#if&gt;
 &lt;#if parameters.tabindex?has_content&gt;
- tabindex="${parameters.tabindex?html}"&lt;#rt/&gt;
+ tabindex="${parameters.tabindex}"&lt;#rt/&gt;
 &lt;/#if&gt;
 &lt;#if parameters.id?has_content&gt;
- id="${parameters.id?html}"&lt;#rt/&gt;
+ id="${parameters.id}"&lt;#rt/&gt;
 &lt;/#if&gt;
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/css.ftl" /&gt;
 &lt;#if parameters.title?has_content&gt;
- title="${parameters.title?html}"&lt;#rt/&gt;
+ title="${parameters.title}"&lt;#rt/&gt;
 &lt;/#if&gt;
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" /&gt;
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" /&gt;
@@ -287,7 +287,7 @@ ${parameters.after!}&lt;#t/&gt;
      errorFor="${parameters.id}"&lt;#rt/&gt;
     &lt;/#if&gt;
     class="errorMessage"&gt;
-             ${error?html}
+             ${error}
     &lt;/div&gt;&lt;#t/&gt;
 &lt;/#list&gt;
 &lt;/div&gt;&lt;#t/&gt;
diff --git a/content/tag-developers/xhtml-theme.html b/content/tag-developers/xhtml-theme.html
index 0f1180f..f842e44 100644
--- a/content/tag-developers/xhtml-theme.html
+++ b/content/tag-developers/xhtml-theme.html
@@ -218,7 +218,7 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p>
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/controlheader-core.ftl" /&gt;
     &lt;td 
         &lt;#if parameters.align?? &gt;
-            class="align-${parameters.align?html}" 
+            class="align-${parameters.align}"
          &lt;#else &gt;
             class="tdInput"            
         &lt;/#if&gt;
@@ -254,7 +254,7 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p>
 &lt;#list fieldErrors[parameters.name] as error&gt;
 &lt;tr errorFor="${parameters.id}"&gt;
     &lt;td class="tdErrorMessage" colspan="2"&gt;&lt;#rt/&gt;
-        &lt;span class="errorMessage"&gt;${error?html}&lt;/span&gt;&lt;#t/&gt;
+        &lt;span class="errorMessage"&gt;${error}&lt;/span&gt;&lt;#t/&gt;
     &lt;/td&gt;&lt;#lt/&gt;
 &lt;/tr&gt;
 &lt;/#list&gt;
@@ -278,7 +278,7 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p>
 &lt;#if parameters.label??&gt;
     &lt;label &lt;#t/&gt;
 &lt;#if parameters.id??&gt;
-        for="${parameters.id?html}" &lt;#t/&gt;
+        for="${parameters.id}" &lt;#t/&gt;
 &lt;/#if&gt;
 &lt;#if hasFieldErrors&gt;
         class="errorLabel"&lt;#t/&gt;
@@ -289,11 +289,11 @@ the <a href="ajax-theme.html">ajax theme</a>) contents:</p>
 &lt;#if (parameters.required!false) &amp;&amp; ((parameters.requiredPosition!"right") != 'right')&gt;
         &lt;span class="required"&gt;*&lt;/span&gt;&lt;#t/&gt;
 &lt;/#if&gt;
-${parameters.label?html}&lt;#t/&gt;
+${parameters.label}&lt;#t/&gt;
 &lt;#if (parameters.required!false) &amp;&amp; ((parameters.requiredPosition!"right") == 'right')&gt;
  &lt;span class="required"&gt;*&lt;/span&gt;&lt;#t/&gt;
 &lt;/#if&gt;
-${parameters.labelseparator!":"?html}&lt;#t/&gt;
+${parameters.labelseparator!":"}&lt;#t/&gt;
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/tooltip.ftl" /&gt;
 &lt;/label&gt;&lt;#t/&gt;
 &lt;/#if&gt;
@@ -349,7 +349,7 @@ ${parameters.after!}&lt;#t/&gt;
 &lt;#list fieldErrors[parameters.name] as error&gt;
 &lt;tr errorFor="${parameters.id}"&gt;
     &lt;td class="tdErrorMessage" colspan="2"&gt;&lt;#rt/&gt;
-        &lt;span class="errorMessage"&gt;${error?html}&lt;/span&gt;&lt;#t/&gt;
+        &lt;span class="errorMessage"&gt;${error}&lt;/span&gt;&lt;#t/&gt;
     &lt;/td&gt;&lt;#lt/&gt;
 &lt;/tr&gt;
 &lt;/#list&gt;
@@ -469,10 +469,10 @@ wrapping table, the opening and closing templates also, if the <code class="high
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/form-validate.ftl" /&gt;
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/form-common.ftl" /&gt;
 &lt;#if (parameters.validate!false)&gt;
-  onreset="${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}"
+  onreset="&lt;#outputformat 'JavaScript'&gt;${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}&lt;/#outputformat&gt;"
 &lt;#else&gt;
   &lt;#if parameters.onreset??&gt;
-  onreset="${parameters.onreset?html}"
+  onreset="&lt;#outputformat 'JavaScript'&gt;${parameters.onreset}&lt;/#outputformat&gt;"
   &lt;/#if&gt;
 &lt;/#if&gt;
 &gt;
@@ -506,7 +506,7 @@ wrapping table, the opening and closing templates also, if the <code class="high
 &lt;#if parameters.focusElement??&gt;
 &lt;script type="text/javascript"&gt;
     StrutsUtils.addOnLoad(function() {
-        var element = document.getElementById("${parameters.focusElement?html}");
+        var element = document.getElementById("${parameters.focusElement}");
         if(element) {
             element.focus();
         }
@@ -545,10 +545,10 @@ to <code class="highlighter-rouge">true</code>, enable <a href="../core-develope
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/form-validate.ftl" /&gt;
 &lt;#include "/${parameters.templateDir}/${parameters.expandTheme}/form-common.ftl" /&gt;
 &lt;#if (parameters.validate!false)&gt;
-  onreset="${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}"
+  onreset="&lt;#outputformat 'JavaScript'&gt;${parameters.onreset!'clearErrorMessages(this);clearErrorLabels(this);'}&lt;/#outputformat&gt;"
 &lt;#else&gt;
   &lt;#if parameters.onreset??&gt;
-  onreset="${parameters.onreset?html}"
+  onreset="&lt;#outputformat 'JavaScript'&gt;${parameters.onreset}&lt;/#outputformat&gt;"
   &lt;/#if&gt;
 &lt;/#if&gt;
 &gt;
@@ -582,7 +582,7 @@ to <code class="highlighter-rouge">true</code>, enable <a href="../core-develope
 &lt;#if parameters.focusElement??&gt;
 &lt;script type="text/javascript"&gt;
     StrutsUtils.addOnLoad(function() {
-        var element = document.getElementById("${parameters.focusElement?html}");
+        var element = document.getElementById("${parameters.focusElement}");
         if(element) {
             element.focus();
         }