<?xml version="1.0"?>
<!--
    $Id$

    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.
-->
<!--
// ======================================================================== 78
-->
<document>

    <properties>
        <title>Release Notes (since 1.3.3)</title>
    </properties>
    <body>
        <section name="6.1 Release Notes - Version 1.3.5">

            <blockquote><p><em>
            "I've had nothing yet, so I can't take more."
            </em></p><p><em>
            "You mean you can't take less. It's very easy to take more than 
            nothing." 
            </em></p></blockquote>

            <subsection>
                <p>
                    <strong>SPECIAL NOTE ON UPGRADING - README FIRST!</strong>
                    - If you use the standard
                    <strong>CANCEL BUTTON</strong>
                    in your application
                    and validate is set to true for that mapping, you
                    <strong>MUST</strong>
                    also specify "cancellable=true" in the mapping, otherwise,
                    an InvalidCancelException will be thrown if the Cancel button is
                    used. See the new
                    <a href="release-notes-1_3_1.html#opt-in">Opt-In Cancel Handling</a>
                    feature for more.
                </p>
                <p>
                    <source>
                        &lt;action path="/ActionThatCanBeCancelled"
                                validate="true"
                                <strong>cancellable="true"</strong>
                                ...
                         &lt;/action>
                    </source>
                </p>
            </subsection>

            <a name="release_notes"/>
            <subsection name="Introduction">
                <p>
                    This section contains release notes for changes that have
                    taken place to Struts,
                    since the
                    <a href="release-notes-1_3_3.html">Version 1.3.3</a>
                    distribution.
                    To keep up-to-date on all changes to the framework, 
                    subscribe to
                    the (commits at struts.apache.org) list.
                    To preview our plans for upcoming changes,
                    please visit the
                    <a href="../roadmap.html">Roadmap page</a>
                    .
                </p>
                <ul><li>
                    <b>Notes on upgrading</b>
                    are maintained in the
                    <a href="http://wiki.apache.org/struts/StrutsUpgrade">Wiki
                        Upgrade pages.</a>
                    The wiki is a community maintained resource - please feel
                    free to add your
                    input so that everyone can benefit from the collective
                    experience.
                </li></ul>
                <p>
                    For the version requirements of each library, see the
                    <a href="installation.html">Installation chapter.</a>
                </p>

            </subsection>

            <a name="Highlight"/>
            <subsection name="Highlights of Changes">
                <p>
                    The purpose of this section is to highlight the new
                    features since the
                    <a href="release-notes-1_3_3.html">Version 1.3.3 distribution</a>.
                    For more detail, see the Project Info reports for each
                    component,
                    which include a list of external
                    dependencies.
                </p>
                <p>
                    You can also access to the Apache Struts source repository and
                    change logs directly through both
                    <a href="http://svn.apache.org/viewcvs.cgi/struts/struts1/trunk/?root=Apache-SVN">
                        web browser</a>
                    and
                    <a href="http://www.apache.org/dev/version-control.html">
                        Subversion client</a>
                    interfaces.
                </p>

                <h3>Components</h3>

                <p>
                    The Struts 1.3.5 distribution contains the eight
                    components: Core, Applications, EL, Extras, Faces, 
                    Scripting, Taglib, and Tiles.
                </p>

                <p>
                    The entire Struts distribution, including the website, 
                    is being built with Maven 2.
                    But, of course, you can continue to build your own
                    projects any way you like!
                </p>

                <h4>Specification Changes</h4>
                <p>
                    The 1.3.x series of Struts has
                    a minimum requirement of the following specification
                    versions:
                    <ul>
                        <li>
                            Java Servlet 2.3 and JavaServer Pages (JSP) 1.2
                        </li>
                        <li>
                            Java 2 Standard Platform Edition (J2SE) 1.4
                        </li>
                    </ul>
                </p>
                <h4>Dependency Changes</h4>
                <p>
                    A following software dependency change applies to this distribution:
                    <ul>
                        <li>
                            Upgraded to Commons Validator 1.3 (previously 1.2) -
                            see
                            <a href="http://jakarta.apache.org/commons/validator/changes-report.html">
                                Validator 1.3.0 Change Report.
                            </a>
                        </li>
                    </ul>
                </p>

<h3>Resolved Issues</h3>
<p>The following issues have been resolved since the 1.3.3 test build:</p>
<h4>Bugs</h4>
<ul>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2901'>STR-2901</a>] - Map-backed forms won't work with ')' characters in keys</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2890'>STR-2890</a>] - DEFINE tag causes compilation issues</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2887'>STR-2887</a>] - TagUtils.instance is private final. Please allow to change the instance with a custom one! Maybe put it protected only!</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2883'>STR-2883</a>] - The command/action corresponding to RequestProcessor.processCachedMessages() method appears to be missing in 1.3</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2881'>STR-2881</a>] - PerformForward command not honoring "module" property of ForwardConfig</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2879'>STR-2879</a>] - when used in modules, TilesPreProcessor not backwards compatible with 1.2.x</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2877'>STR-2877</a>] - TestModuleConfig fails when run offline</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2876'>STR-2876</a>] - Tiles 1.1 DTD registration is missing from XmlParser</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2872'>STR-2872</a>] - Section "4.3.3 Map-backed ActionForms" of User's Manual contains a dead link</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2870'>STR-2870</a>] - The Specification-Title in the jar file manifests is corrupted</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2866'>STR-2866</a>] - Struts Tiles jar is missing dtd, tld and chain config files</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2862'>STR-2862</a>] - Cannot load a validator resource from '/WEB-INF/validator-rules.xml</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2859'>STR-2859</a>] - When using &lt;html:html xhtml="true"&gt; the form name is not used but the id, and the client validation using javascript fails</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2795'>STR-2795</a>] - Postback Forms - Caching and Modules</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2527'>STR-2527</a>] - Attributes with &lt;rtexprvalue>false&lt;/rtexprvalue> in TLD prevent EL evaluation</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2496'>STR-2496</a>] - [struts-faces] Example applications don't work?!</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2493'>STR-2493</a>] - [struts-faces] ErrorsRenderer assumes ActionErrors</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-1892'>STR-1892</a>] - timezone support for bean:write tag</li>
</ul>
            
<h4>Tasks</h4>
<ul>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2898'>STR-2898</a>] - Rename Struts Action 1 to Struts 1</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2892'>STR-2892</a>] - Remove old cactus config  </li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2871'>STR-2871</a>] - Rename the release notes so that the filename contains a single period</li>
<li>[<a href='http://issues.apache.org/struts/browse/STR-2853'>STR-2853</a>] - Configure the CheckStyle plugin to use the struts_checks.xml file</li>
</ul>

            </subsection>

            <subsection>
                <p class="right">Next:
                    <a href="installation.html">Installation</a>
                </p>
            </subsection>
        </section>
    </body>
</document>
