Author: lukaszlenart
Date: Fri Jan 2 08:36:01 2015
New Revision: 934760
Log:
Updates production
Added:
websites/production/struts/content/docs/version-notes-2321.html
Modified:
websites/production/struts/content/docs/building-struts-2-normal-release.html
Modified:
websites/production/struts/content/docs/building-struts-2-normal-release.html
==============================================================================
---
websites/production/struts/content/docs/building-struts-2-normal-release.html
(original)
+++
websites/production/struts/content/docs/building-struts-2-normal-release.html
Fri Jan 2 08:36:01 2015
@@ -139,11 +139,11 @@ under the License.
<div class="pagecontent">
<div class="wiki-content">
<div id="ConfluenceContent"><h1
id="BuildingStruts2-Normalrelease-Content">Content</h1><p><style
type="text/css">/*<![CDATA[*/
-div.rbtoc1420033021287 {padding: 0px;}
-div.rbtoc1420033021287 ul {list-style: none;margin-left: 0px;}
-div.rbtoc1420033021287 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1420185713013 {padding: 0px;}
+div.rbtoc1420185713013 ul {list-style: none;margin-left: 0px;}
+div.rbtoc1420185713013 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1420033021287">
+/*]]>*/</style></p><div class="toc-macro rbtoc1420185713013">
<ul class="toc-indentation"><li><span class="TOCOutline">1</span> <a
shape="rect" href="#BuildingStruts2-Normalrelease-Gettingready">Getting
ready</a></li><li><span class="TOCOutline">2</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft
Docs when needed</a></li><li><span class="TOCOutline">3</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Besureyourlocalcopyisup-to-date">Be sure
your local copy is up-to-date</a></li><li><span class="TOCOutline">4</span> <a
shape="rect" href="#BuildingStruts2-Normalrelease-Createareleasebranch">Create
a release branch</a></li><li><span class="TOCOutline">5</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Preparerelease">Prepare
release</a></li><li><span class="TOCOutline">6</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Performtherelease">Perform the
release</a></li><li><span class="TOCOutline">7</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Movetheasse
mblies">Move the assemblies</a></li><li><span class="TOCOutline">8</span> <a
shape="rect"
href="#BuildingStruts2-Normalrelease-Announceavailability">Announce
availability</a></li><li><span class="TOCOutline">9</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Cleanuprepository">Clean up
repository</a></li><li><span class="TOCOutline">10</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Voteonit">Vote on it</a></li><li><span
class="TOCOutline">11</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Copyfiles">Copy files</a></li><li><span
class="TOCOutline">12</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Promoterelease">Promote
release</a></li><li><span class="TOCOutline">13</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Cleanupoldreleases">Clean up old
releases</a></li><li><span class="TOCOutline">14</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Waitforrsync">Wait for
rsync</a></li><li><span class="TOCOutline">15</s
pan> <a shape="rect" href="#BuildingStruts2-Normalrelease-Updatesite">Update
site</a></li><li><span class="TOCOutline">16</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Redeploythedocs(Optional)">Redeploy the
docs (Optional)</a></li><li><span class="TOCOutline">17</span> <a shape="rect"
href="#BuildingStruts2-Normalrelease-Postannouncements">Post
announcements</a></li></ul>
</div><h2 id="BuildingStruts2-Normalrelease-BuildingSteps(Struts)">Building
Steps (Struts)</h2><h3 id="BuildingStruts2-Normalrelease-Gettingready">Getting
ready</h3><ol><li>Create an "Struts 2.x.y omnibus ticket" ticket in JIRA to
refer to in upcoming release related commit comments and for general
documentation purposes. Mark it with priority "Blocker".</li><li>Switch to
branch <code>develop</code></li><li>Ensure that the master POM and Struts
Annotations have current releases</li><li>Review JIRA for any issues without a
fix version set, and for any issues that should be resolved for the pending
release.</li><li>Ensure that there are no repositories or pluginRepositories
listed in the poms.</li><li>If you have committed all changes regarding the
release process, close the omnibus ticket as it is the last open ticket for the
upcoming release</li><li>Release the upcoming version in JIRA (under
Administration/Manage Releases) and tag the release date</li><li>Add next
milestone ve
rsion to the JIRA roadmap</li><li>Create DONE and TODO filters for the new
version, share with all, and remove obsolete TODO filter</li><li>Create a new
Version Notes page in Confluence, link from <a shape="rect"
href="migration-guide.html">Migration Guide</a>, and link to prior release page
and JIRA DONE filters of the version to release</li><li>Export wiki pages and
put them under <code>/docs</code></li></ol><h3
id="BuildingStruts2-Normalrelease-UpdateDraftDocswhenneeded">Update Draft Docs
when needed</h3><p>Checkout <code>struts-site</code> project (see details
at the bottom of this page) and perform export:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[cd struts-site
@@ -159,9 +159,8 @@ git pull]]></script>
</div>
</div>
<h3 id="BuildingStruts2-Normalrelease-Createareleasebranch">Create a release
branch</h3><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[git flow release start X.X.X.X
-git flow release publish X.X.X.X]]></script>
-</div></div><p>Now you should be on <code>release/X.X.X.X</code> branch
(<code>git status</code> supposed to confirm that). You must push changes
to remote repo as the Release plugins will push changes to remote as well (it's
already done after publishing release).</p><h3
id="BuildingStruts2-Normalrelease-Preparerelease"><span style="line-height:
1.5625;">Prepare release</span></h3><p>Tag the release by using the
"release:prepare" goal of Maven:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[git flow release start X.X.X.X]]></script>
+</div></div><p>Now you should be on <code>release/X.X.X.X</code> branch
(<code>git status</code> supposed to confirm that).</p><h3
id="BuildingStruts2-Normalrelease-Preparerelease"><span style="line-height:
1.5625;">Prepare release</span></h3><p>Tag the release by using the
"release:prepare" goal of Maven:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[mvn release:prepare
-DautoVersionSubmodules=true
]]></script>
</div></div><p>For a <a shape="rect" class="external-link"
href="http://maven.apache.org/plugins/maven-release-plugin/usage.html">dry
run</a>, add <code>-DdryRun=true</code>. If you do a dry run, use <code>mvn
release:clean</code> to clean up after you have looked at the
output.</p><p>When prompted for the SCM tag name, follow this pattern:
STRUTS_2_3_[PATCH_VERSION]</p> <div class="aui-message warning shadowed
information-macro">
@@ -171,9 +170,9 @@ git flow release publish X.X.X.X]]></scr
</div>
</div>
<p>Follow the link to get <a shape="rect" class="external-link"
href="http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html">more
information</a> about performed operation by release plugin.</p><h3
id="BuildingStruts2-Normalrelease-Performtherelease">Perform the
release</h3><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[mvn release:perform
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[mvn release:perform
-DretryFailedDeploymentCount=10
]]></script>
-</div></div><p>Follow the link to get <a shape="rect"
class="external-link"
href="http://maven.apache.org/plugins/maven-release-plugin/examples/perform-release.html">more
information</a> about performed operation by release plugin. <span
style="line-height: 1.4285715;">After this step the artifacts will be hosted by
</span><a shape="rect" class="external-link"
href="http://repository.apache.org/" style="line-height:
1.4285715;">Nexus</a>.</p><p>If you need to run perform again, (or in a
different box), do:</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Follow the link to get <a shape="rect"
class="external-link"
href="http://maven.apache.org/plugins/maven-release-plugin/examples/perform-release.html">more
information</a> about performed operation by release plugin. <span
style="line-height: 1.4285715;">After this step the artifacts will be hosted by
</span><a shape="rect" class="external-link"
href="http://repository.apache.org/" style="line-height: 1.4285715;">Nexus</a>.
The <code>-DretryFailedDeploymentCount=10</code> is needed when there are
problems with network connection (used just in case).</p><p>If you need to run
perform again, (or in a different box), do:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[git checkout STRUTS_2_3_[PATCH_VERSION]
mvn javadoc:javadoc deploy --no-plugin-updates -DperformRelease=true
-Papache-release
]]></script>
@@ -233,12 +232,7 @@ rm -r struts-dev
echo "Done!"]]></script>
</div></div><p>After this step artifacts are available for test here <a
shape="rect" class="external-link"
href="https://dist.apache.org/repos/dist/dev/struts/">https://dist.apache.org/repos/dist/dev/struts/</a></p><h3
id="BuildingStruts2-Normalrelease-Announceavailability"><span
style="font-size: 16.0px;line-height: 1.5625;">Announce
availability</span></h3><p>Send a short e-mail to [email protected] informing
about the new packages and to give people enough time to test the distribution
(actual bits). Wait around a week before posting Vote. If no show-stoppers
reported, start a vote thread for build quality designation.</p><h3
id="BuildingStruts2-Normalrelease-Cleanuprepository">Clean up
repository</h3><p>It doesn't matter if the bits will be accepted or not,
development continues <img class="emoticon emoticon-smile"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/smile.png"
data-emoticon-n
ame="smile" alt="(smile)"> Switch to <code>release/X.X.X.X</code>
branch and execute the below command:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[git flow release finish -n X.X.X.X]]></script>
-</div></div><p><code>-n</code> option is need to avoid tagging the release,
the Maven Release plugin did that already. If the release branch was published
to the remote it won't be deleted locally, it must be done manually after
removing branch from the remote:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[git push --delete origin
release/X.X.X.X]]></script>
-</div></div><p>This will remove the branch from the remote, now we can merge
once more the release branch (when on <code>develop</code>) and remove
it</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[git merge --no-ff release/X.X.X.X
-git branch -d release/X.X.X.X]]></script>
-</div></div><p>Now both <code>master</code> and <code>develop</code>
branches should be up to date with the changes introduced by the release.</p>
<div class="aui-message warning shadowed information-macro">
+</div></div><p><code>-n</code> option is need to avoid tagging the release,
the Maven Release plugin did that already.</p><p>Now
both <code>master</code> and <code>develop</code> branches should be
up to date with the changes introduced by the release.</p> <div
class="aui-message warning shadowed information-macro">
<span class="aui-icon icon-warning">Icon</span>
<div class="message-content">
<p>Do not remove the tag! It clearly indicates
what was planned and it can be used as a history marker. Always used the next
version number, do not redeploy the same version as it breaks Maven's policy
and you will have to manually clean up Maven repository.</p>
Added: websites/production/struts/content/docs/version-notes-2321.html
==============================================================================
--- websites/production/struts/content/docs/version-notes-2321.html (added)
+++ websites/production/struts/content/docs/version-notes-2321.html Fri Jan 2
08:36:01 2015
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<html>
+<head>
+ <link type="text/css" rel="stylesheet"
href="https://struts.apache.org/css/default.css">
+ <style type="text/css">
+ .dp-highlighter {
+ width:95% !important;
+ }
+ </style>
+ <style type="text/css">
+ .footer {
+ background-image:
url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+ background-repeat: repeat-x;
+ background-position: left top;
+ padding-top: 4px;
+ color: #666;
+ }
+ </style>
+ <link href='http://struts.apache.org/highlighter/style/shCoreStruts.css'
rel='stylesheet' type='text/css' />
+ <link href='http://struts.apache.org/highlighter/style/shThemeStruts.css'
rel='stylesheet' type='text/css' />
+ <script src='http://struts.apache.org/highlighter/js/shCore.js'
type='text/javascript'></script>
+ <script src="http://struts.apache.org/highlighter/js/shBrushPlain.js"
type="text/javascript"></script>
+ <script src="http://struts.apache.org/highlighter/js/shBrushXml.js"
type="text/javascript"></script>
+ <script src="http://struts.apache.org/highlighter/js/shBrushJava.js"
type="text/javascript"></script>
+ <script src="http://struts.apache.org/highlighter/js/shBrushJScript.js"
type="text/javascript"></script>
+ <script src="http://struts.apache.org/highlighter/js/shBrushGroovy.js"
type="text/javascript"></script>
+ <script src="http://struts.apache.org/highlighter/js/shBrushBash.js"
type="text/javascript"></script>
+ <script type="text/javascript">
+ SyntaxHighlighter.defaults['toolbar'] = false;
+ SyntaxHighlighter.all();
+ </script>
+ <script type="text/javascript" language="javascript">
+ var hide = null;
+ var show = null;
+ var children = null;
+
+ function init() {
+ /* Search form initialization */
+ var form = document.forms['search'];
+ if (form != null) {
+ form.elements['domains'].value = location.hostname;
+ form.elements['sitesearch'].value = location.hostname;
+ }
+
+ /* Children initialization */
+ hide = document.getElementById('hide');
+ show = document.getElementById('show');
+ children = document.all != null ?
+ document.all['children'] :
+ document.getElementById('children');
+ if (children != null) {
+ children.style.display = 'none';
+ show.style.display = 'inline';
+ hide.style.display = 'none';
+ }
+ }
+
+ function showChildren() {
+ children.style.display = 'block';
+ show.style.display = 'none';
+ hide.style.display = 'inline';
+ }
+
+ function hideChildren() {
+ children.style.display = 'none';
+ show.style.display = 'inline';
+ hide.style.display = 'none';
+ }
+ </script>
+ <title>Version Notes 2.3.21</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+ <tr class="topBar">
+ <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+ <a href="home.html">Home</a> > <a
href="guides.html">Guides</a> > <a
href="migration-guide.html">Migration Guide</a> > <a
href="version-notes-2321.html">Version Notes 2.3.21</a>
+ </td>
+ <td align="right" valign="middle" nowrap>
+ <form name="search" action="http://www.google.com/search"
method="get">
+ <input type="hidden" name="ie" value="UTF-8" />
+ <input type="hidden" name="oe" value="UTF-8" />
+ <input type="hidden" name="domains" value="" />
+ <input type="hidden" name="sitesearch" value="" />
+ <input type="text" name="q" maxlength="255" value="" />
+ <input type="submit" name="btnG" value="Google Search" />
+ </form>
+ </td>
+ </tr>
+</table>
+
+<div id="PageContent">
+ <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+ <!-- We'll enable this once we figure out how to access (and save) the
logo resource -->
+ <!--img src="/wiki/images/confluence_logo.gif" style="float: left;
margin: 4px 4px 4px 10px;" border="0"-->
+ <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts
2 Documentation</div>
+ <div style="margin: 0px 10px 8px 10px" class="pagetitle">Version
Notes 2.3.21</div>
+
+ <div class="greynavbar" align="right" style="padding: 2px 10px;
margin: 0px;">
+ <a
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=50857454">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Edit Page"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=50857454">Edit
Page</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Browse Space"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">Browse
Space</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=50857454">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Add Page"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=50857454">Add
Page</a>
+
+ <a
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=50857454">
+ <img
src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif"
+ height="16" width="16" border="0" align="absmiddle"
title="Add News"></a>
+ <a
href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=50857454">Add
News</a>
+ </div>
+ </div>
+
+ <div class="pagecontent">
+ <div class="wiki-content">
+ <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts
2.3.21 distribution.</p><p><img class="emoticon emoticon-tick"
src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/images/icons/emoticons/check.png"
data-emoticon-name="tick" alt="(tick)"> For prior notes in this release
series, see <a shape="rect" href="version-notes-2320.html">Version Notes
2.3.20</a></p><ul><li>If you are a Maven user, you might want to get started
using the <a shape="rect" href="struts-2-maven-archetypes.html">Maven
Archetype</a>.</li><li>Another quick-start entry point is the
<strong>blank</strong> application. Rename and deploy the WAR as a starting
point for your own development.</li></ul><div class="code pane
l pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<dependency>
+ <groupId>org.apache.struts</groupId>
+ <artifactId>struts2-core</artifactId>
+ <version>2.3.21</version>
+</dependency>
+]]></script>
+</div></div><p>You can also use Struts Archetype Catalog like below</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts Archetype
Catalog</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: text; gutter: false"
type="syntaxhighlighter"><![CDATA[mvn archetype:generate
-DarchetypeCatalog=http://struts.apache.org/]]></script>
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Staging
Repository</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<repositories>
+ <repository>
+ <id>apache.nexus</id>
+ <name>ASF Nexus Staging</name>
+
<url>https://repository.apache.org/content/groups/staging/</url>
+ </repository>
+</repositories>]]></script>
+</div></div><h2 id="VersionNotes2.3.21-InternalChanges">Internal
Changes</h2><ul><li>fixed flow in <code>DefaultActionInvocation</code> and
when using the <a shape="rect" href="convention-plugin.html">Convention
Plugin</a>, see <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4433">WW-4433</a></li><li>defined
new plugin to support Java 8, check <a shape="rect"
href="java-8-support-plugin.html">Java 8 Support Plugin</a> and see <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4435">WW-4435</a></li><li>fixed
problem with <code>style</code> attribute, see <a shape="rect"
class="external-link"
href="https://issues.apache.org/jira/browse/WW-4430">WW-4430</a></li><li>fixed
problem with converting values from <code>ActionContext</code>, see <a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/browse/WW-4427">WW-4427</a></li><li>and
many other improvements, please chec
k the version notes</li></ul><p> </p> <div class="aui-message warning
shadowed information-macro">
+ <span class="aui-icon icon-warning">Icon</span>
+ <div class="message-content">
+ <p>Please read information about new <a
shape="rect" href="security.html#Security-Internalsecuritymechanism">internal
security mechanism</a> introduced with the previous version and extended in
this version!</p>
+ </div>
+ </div>
+<h3 id="VersionNotes2.3.21-IssueDetail">Issue Detail</h3><ul><li><a
shape="rect" class="external-link"
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12329155&projectId=12311041">JIRA
Release Notes 2.3.21</a></li></ul><h3 id="VersionNotes2.3.21-IssueList">Issue
List</h3><ul><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/issues/?filter=12330045">Struts 2.3.21
DONE</a></li><li><a shape="rect" class="external-link"
href="https://issues.apache.org/jira/issues/?filter=12318399">Struts 2.3.x
TODO</a></li></ul><h3 id="VersionNotes2.3.21-Otherresources">Other
resources</h3><ul><li><a shape="rect" class="external-link"
href="http://www.mail-archive.com/commits%40struts.apache.org/"
rel="nofollow">Commit Logs</a></li><li><a shape="rect" class="external-link"
href="https://git-wip-us.apache.org/repos/asf?p=struts.git;a=tree;h=refs/heads/develop;hb=develop">Source
Code Repository</a></li></ul><div><span style="font-size: 24.0px;line-heig
ht: 30.0px;"><br clear="none"></span></div><div><span style="font-size:
24.0px;line-height: 30.0px;background-color: rgb(245,245,245);"><br
clear="none"></span></div></div>
+ </div>
+
+
+ </div>
+</div>
+<div class="footer">
+ Generated by CXF SiteExporter
+</div>
+</body>
+</html>
\ No newline at end of file