husted 2004/07/11 19:22:54
Modified: doc/userGuide release-notes.xml
Added: doc/userGuide release-notes-1.2.1.xml
Log:
Retain copy of 1.2.1 release notes.
Revision Changes Path
1.57 +2 -1 jakarta-struts/doc/userGuide/release-notes.xml
Index: release-notes.xml
===================================================================
RCS file: /home/cvs/jakarta-struts/doc/userGuide/release-notes.xml,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -r1.56 -r1.57
--- release-notes.xml 12 Jul 2004 02:18:08 -0000 1.56
+++ release-notes.xml 12 Jul 2004 02:22:54 -0000 1.57
@@ -10,7 +10,8 @@
<body>
<section name="Introduction" href="Introduction">
<p>This section contains release notes for changes that have taken place
since
- <a href="release-notes-1.1.html">Version 1.1</a> was released.</p>
+ <a href="release-notes-1.1.html">Version 1.1</a> was released. The release
notes
+ through the Struts 1.2.1 release are also <a
href="release-notes-1.2.1.html">available.</a></p></p>
</section>
<section name="What's Included?" href="Included">
<p>The binary distribution of this release includes the following files
relevant to Struts:</p>
1.1 jakarta-struts/doc/userGuide/release-notes-1.2.1.xml
Index: release-notes-1.2.1.xml
===================================================================
<?xml version="1.0"?>
<document url="release-notes.html">
<properties>
<author>Craig R. McClanahan</author>
<author>Robert Leland</author>
<author>Ted Husted</author>
<author>Martin Cooper</author>
<title>Struts Release Notes (since 1.1 through 1.2.1)</title>
</properties>
<body>
<section name="Introduction" href="Introduction">
<p>This section contains release notes for changes that have taken place
since
<a href="release-notes-1.1.html">Version 1.1</a> was released through the
Struts 1.2.1 release.
</section>
<section name="What's Included?" href="Included">
<p>The binary distribution of this release includes the following files
relevant to Struts:</p>
<ul>
<li>
<code>INSTALL.txt</code> - Brief installation instructions. For more
detail, see the
<code>Struts User Guide</code>, either through the Struts Documentation
application or online at
<a
href="http://jakarta.apache.org/struts/">http://jakarta.apache.org/struts/</a>.</li>
<li>
<code>LICENSE.txt</code> - The Apache Software Foundation license that
defines the terms under which you can use Struts (and other software licensed by
Apache).</li>
<li>
<code>README.txt</code> - A brief introduction to Struts.</li>
<li>
<code>contrib/</code> - Additional libraries developed by the Struts team
which are not yet part of the core distribution.</li>
<li>
<code>lib/</code> - Directory containing files you will need in your own
applications. The individual files of interest are:
<ul>
<li>
<code>antlr-#.#.jar</code> - ANTLR, ANother Tool for Language
Recognition, a public domain library made available by
<a href="http://www.antlr.org/">antlr.org</a>.</li>
<li>
<code>commons-*-#.#.jar</code> - Various packages from the
<a href="http://jakarta.apache.org/commons/">Jakarta Commons Project</a>
that Struts relies on. You are welcome to use these classes in your own applications.
These JAR files should be copied into the
<code>/WEB-INF/lib</code> directory of your web application.</li>
<li>
<code>jakarta-oro-#.#.jar</code> - JAR file containing the Jakarta ORO
package, utilitied by the Struts Valdiator. You must place this file in the
<code>/WEB-INF/lib</code> directory of your web application to use the
Struts Validator package.</li>
<li>
<code>struts-#.#.jar</code> - JAR file that contains the compiled Java
classes of Struts. You must place this file in the
<code>/WEB-INF/lib</code> directory of your web application.</li>
<li>
<code>struts-*.tld</code> - The tag library descriptor files for the
Struts tag libraries (bean, html, logic, and nested). When these taglibs are used, you
must place these files in the
<code>/WEB-INF</code> directory of your web application and reference
them with appropriate
<code><taglib></code> directives in your web.xml file.</li>
<li>
<code>struts-config_1_2.dtd</code> - The Document Type Definition (DTD)
for the Struts 1.2 configuration file (which is typically named
<code>/WEB-INF/struts-config.xml</code>). Your configuration file will
be validated against an internal copy of this DTD -- this copy is available for
reference purposes only.</li>
<li>
<code>struts-config_1_1.dtd</code> - The Document Type Definition (DTD)
for the Struts 1.1 configuration file (which is typically named
<code>/WEB-INF/struts-config.xml</code>). Your configuration file will
be validated against an internal copy of this DTD -- this copy is available for
reference purposes only.</li>
<li>
<code>struts-config_1_0.dtd</code> - The Document Type Definition (DTD)
for the Struts 1.0 configuration file (which is typically named
<code>/WEB-INF/struts-config.xml</code>. Your configuration file will be
validated against an internal copy of this DTD -- this copy is available for reference
purposes only.</li>
<li>
<code>web-app_2_2.dtd</code> - The Document Type Definition (DTD) for
web.xml files conforming to the Servlet 2.2 specification. This copy is for reference
purposes only.</li>
<li>
<code>web-app_2_3.dtd</code> - The Document Type Definition (DTD) for
web.xml files conforming to the Servlet 2.3 specification. This copy is for reference
purposes only.</li>
</ul></li>
<li>
<code>webapps/</code> - Web Application Archive (WAR) files for the web
applications that are included with Struts.</li>
</ul>
<p>For the version requirements of each library, see the
<a href="installation.html">Installation chapter</a>.</p>
</section>
<section name="What's new?" href="New">
<p>This section highlights new features added and critical changes made
since the last release. Other interesting changes are listed in the
<a href="#Changes">What Changed?</a> section. Subscribers to the
<a href="../using.html#Lists">struts-dev mailing list</a>, receive reports
of all changes as they are made.</p>
<p>
<strong>Deprecations</strong> - Many constructs were deprecated for the
Struts 1.1 release, most of which have now been removed. Before moving to this
release, you should clean-compile your application with deprecation warnings enabled.
Alternatives should be available for all decprecated constructs.
<strong>You are strongly advised</strong> to resolve all Struts 1.1.
deprecations before moving to this release. Removed constructs most likely to affect
developers are:</p>
<ul>
<li>
<code>org.apache.struts.Action</code> statics: Use
<code>org.apache.struts.Global</code> statics instead.</li>
<li>
<code>Action.perform</code>: Use
<code>Action.execute</code> instead.</li>
</ul>
<p>Although not removed, in many cases
<strong>you should replace</strong> the deprecated
<code>ActionErrors</code> with the preferred
<code>ActionMessages</code> to ensure correct operation.</p>
<p>
<strong>TagUtils and ModuleUtils</strong> - Many utility methods previously
found in
<code>org.apache.struts.utils.RequestUtils</code> have been moved to
<code>org.apache.struts.taglibs.TagUtils</code> or
<code>org.apache.struts.utils.ModuleUtils</code>.</p>
<p>
<strong>GenericDataSource / GenericConnection implementations
removed</strong> - The datasources manager is still supported, but our own datasource
<em>implementation</em>is not. You are welcome to plug in your own
DataSource implementation, but we do not have the resources to maintain one of our
own. If your container does not supply a DataSource implementation, the DBCP package
from the Jakarta Commons is suggested.</p>
<p>
<strong>Validator enhancements</strong>
</p>
<ul>
<li>ValidWhen? - The Struts Validator now supports a ValidWhen rule, so
that one validation can be dependant on another.
<a href="dev_validator.html#validWhen">Details ...</a></li>
<li>IntRange now checks select-one and radio fields. Example: This allows
populating combo boxes with valid choices plus one additional choice with a caption
something like "Choose one" and a value 0f "-1". Then when the user attempts to submit
the form, you can look for the value of "-1" and advise if nothing was selected.</li>
<li>You can now force the clientside Javascript validation to check all
constraints, instead of stopping at the first error. By setting a new property,
<code>stopOnFirstError</code>, on the Validator PlugIn to false.
<a href="dev_validator.html#stopOnFirstError">Details ...</a></li>
<li>The "required" validation can now handle checkboxes, radio,select-one,
and select-multiple field types. See the updated Validator example application to see
these new features in action.</li>
<li>A standard
<code>validateUrl</code> rule lets you check if a property contains a
well-formed URL.</li>
</ul>
<p>
<strong>DigestingPlugIn</strong> - A new standard PlugIn that helps you
create your own object graph in application scope. This is handy way to create
business objects for Actions to call. Check the latest MailReader eaxmple application
to see the DigestingPlugin in action.</p>
<p>
<strong>ModuleConfigVerifier</strong> - While not exactly new, a standard
class for verifying module configurations is also available in the PlugIn packages. As
it stands, the
<code>ModuleConfigVerifier</code> mainly confirms that various components of
the Struts object graph were loaded. However, ambitious developers could extend this
class with additional checks to ensure the Struts configuration is internally
consistent.</p>
<p>
<strong>Maven project files</strong> - While still under development,
significant progress has been made toward putting the Struts build process under
<a href="http://maven.apache.org">Maven</a>. The core JAR and TLDs can be
built using Maven, leveraging the shared Maven repository for our many dependencies.
You can find the current maven.xml and project.xml in the root directory of the Struts
source distribution. However, at this time, the original Ant build files are still the
official mechanism for building Struts.</p>
<p>
<strong>New Configuration DTD</strong> - The
<code>
<a
href="http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">struts-config_1_2.dtd</a>
</code> is preferred to the deprecated Struts Configuration 1.1 DTD. The new
DTD adds two new elements <display-name> and <description> to the
struts-config element. These elements are for use by struts config file tools and
document generation. In the Struts 1.2.x series, existing Struts configuration files
can be loaded using either DTD version.</p>
<p>
<strong>New Committers</strong> - We are pleased to welcome Steve Raeburn,
Don Brown, and Joe Germuska to the team of Struts Committers.</p>
<p>
<strong>Struts-Chain</strong> - Still experimental, this new "contrib"
package utilizes the new Chain of Responsibilty package in the Jakarta Sandbox to
create a new breed of RequestProcessor. Look for this to become the default
implementation in a future release.</p>
<p>
<strong>MappingDispatchAction</strong> - A new standard Action that
dispatches to a method named by the ActionMapping parameter.</p>
<p>
<strong>Cancel handlers</strong> - DispatchAction, LookupDispatchAction, and
MappingDispatchAction - Now provide default cancel handler that can be overridden. It
also also possible to specify the default handler name.</p>
<p>
<strong>Session-scoped ActionMessages</strong> - You can now save
ActionMessages in the session and have them cleaned up after the first use. There is
now an alternate form of Action.saveMessages() that stores messages in the session.
ActionMessages.isAccessed() returns true after the messages have been retrieved one
time. RequestProcessor.processCachedMessages() queries isAccessed() to determine if it
should remove the messages from the session.</p>
<p>
<strong>JA Mailreader</strong> - The Struts Mailreader Example application
now includes a Japanese resource file.</p>
<p>
<strong>Tiles EL</strong> - The Tiles tags are now avaiable through the
Struts EL taglib, which is based on JSTL.</p>
<p>
<strong>Wildcard Mappings</strong> - You can now use wildcards in your
action-mappings. For details see
<a href="building_controller.html#action_mapping_wildcards">Using Wildcards
in ActionMappings</a> as well as the Struts Mailreader Example application.</p>
<p>
<strong>Action attributes</strong> - An Action attribute has been added to
the html img tag, to match what's available on the html link tag now.
</p>
<p>
<strong>Module attribute</strong> - A new "module" attribute is available on
the forward element as well as several of the core tags. This attribute allows you to
specify another module by name (or "prefix") to create direct links between modules.
The new module attribute is preferered to the <code>contextRelative</code> attribute
and can often be used in lieu of a "SwitchAction".
</p>
</section>
<section name="What Changed?" href="Changes">
<p>This section highlights some of the changes that have taken place since
the last release. Subscribers to the
<a href="../using.html#Lists">struts-dev mailing list</a>, receive reports
of all changes as they are made.</p>
<p>
<strong>General Changes</strong>
</p>
<ul>
<li>2003-03-14 - Move license on all source code files to ASL 2.0.</li>
</ul>
<ul>
<li>2003-12-30 - Add inital STATUS LOG.</li>
</ul>
<p>
<strong>Build Changes</strong>
</p>
<ul>
<li>
2004-07-08: Add a simplified build.properties file for use by
developers who are not actively involved in Jakarta development. This template assumes
the developer is using JARS from our "lib" distribution.
</li>
</ul>
<ul>
<li>2004-04-14 - project.properties: Adjust properties to use alternate
repo for nightly builds.</li>
</ul>
<ul>
<li>2003-08-09 - build.xml: Adjust loading order of properties files to go
from most local (current directory) to most global
(${user.home}/build.properties).</li>
<li>2003-08-08 - maven.xml,project.xml - Maven build files.</li>
</ul>
<p>
<strong>Configuration Changes</strong> [
<code>/conf/shared</code>]</p>
<ul>
<li>2003-08-09 - Add two new elements <description-short%gt; and
<description-long> for use by struts config file tools and document
generation.</li>
</ul>
<ul>
<li>2003-07-04 - struts-config_1_2.dtd: Added 1.2 struts-config.dtd. This
is a copy of the 1.1 DTD except that the <data-source> "type" attribute is now
required because Struts does not supply a default DataSource implementation.</li>
</ul>
<p>
<strong>Project-wide Changes</strong>
</p>
<ul>
<li>2004-01-14 - Update License format to please Maven Checkstyle
reports.</li>
<li>2004-01-10 - Removed @author javadoc tags from all classes;
updated volunteers.xml to list missing people.</li>
</ul>
<p>
<strong>Default Package Changes</strong> [
<code>org.apache.struts</code>]</p>
<ul>
<li>2003-07-04 - Globals: Removed deprecated APPLICATION_KEY.</li>
<li>2003-07-03 - Globals,ActionServlet,RequestUtils: Moved initialization
of module prefix list to the new ActionServlet.initModulePrefixes() method from
RequestUtils.getModulePrefixes() because of a potential race condition documented in
PR# 21091. This also required a move of the RequestUtils.PREFIXES constant to
Globals.MODULE_PREFIXES_KEY.</li>
</ul>
<p>
<strong>Action Package Changes</strong> [
<code>org.apache.struts.action</code>]</p>
<ul>
<li>2004-07-01 - TestDynaActionFormClass: Correct operation of static
method calls.</li>
</ul>
<ul>
<li>2004-06-26 - Action: Add getErrors, getMessages, addErrors, and
AddMessages methods, to better manage error handling. </li>
</ul>
<ul>
<li>2004-04-01 - ActionConfigMatcher: Added support for multiple wildcard
replacements.</li>
</ul>
<ul>
<li>2004-03-16 - ActionForward: Add "copy constructor".</li>
</ul>
<ul>
<li>2004-01-24 - DynaActionForm: Enhance so that it can be initialized
using a FormBeanConfig object. Add corresponding method to RequestUtils to create an
ActionForm by passing only a FormBeanConfig and an ActionServlet object.</li>
<li>2004-01-19 - ActionMapping, ActionConfig: Push "findException" from
ActionMapping up to ActionConfig so that everyone can take advantage of the superclass
search logic.</li>
</ul>
<ul>
<li>2003-09-29 - RequestProcessor,ActionMappingMatcher,WildcardHelper:
Added optional wildcard support for action mappings.</li>
<li>2003-09-11 - Action,ActionMessages,RequestProcessor: Added ability to
save ActionMessages in the session and have them cleaned up after the first use.</li>
</ul>
<ul>
<li>2003-08-23 - Action: Deprecate saveErrors(HttpServletRequest,
ActionErrors) in favor of saveErrors(HttpServletRequest, ActionMessages).</li>
<li>2003-08-23 - RequestProcessor: Replaced ActionErrors reference with
ActionMessages.</li>
<li>2003-08-23 - ActionMessages, ActionErrors: Deprecated
ActionErrors.GLOBAL_ERROR in favor of ActionMessages.GLOBAL_MESSAGE.</li>
<li>2003-08-16 - ExceptionHandler: Added storeException() method that
takes an ActionMessage instead of ActionError.</li>
<li>2003-08-13 - ActionError: Deprecate ActionError in favor of
ActionMessage</li>
<li>2003-08-08 -
ActionServlet,ActionFormBeans,ActionForwards,ActionMappings.java v 1.13 : Removed
references to ActionMappings, ActionFormBeans, and ActionForwards.</li>
</ul>
<ul>
<li>2003-07-26 - Action: getLocale() now calls
RequestUtils.getUserLocale() to prevent session creation.</li>
<li>2003-07-04 - Action,ActionException: Removed deprecated getResources()
method.</li>
<li>2003-07-04 - Action: Removed deprecated perform() methods.</li>
<li>2003-07-03 - ActionServlet: Removed support for some of the deprecated
servlet init parameters.</li>
<li>2003-07-03 - Globals,ActionServlet,RequestUtils: Moved initialization
of module prefix list to the new ActionServlet.initModulePrefixes() method from
RequestUtils.getModulePrefixes() because of a potential race condition documented in
PR# 21091. This also required a move of the RequestUtils.PREFIXES constant to
Globals.MODULE_PREFIXES_KEY.</li>
<li>2003-07-02 - RequestProcessor: Deprecated log() methods in favor of
commons-logging.</li>
<li>2003-07-02 - ActionSerlvet: Removed deprecated method.</li>
<li>2003-07-02 - ActionServlet: Removed references to deprecated
ApplicationConfig class.</li>
<li>2003-07-02 - ActionServlet,NoOpAction: Removed deprecated
ActionServlet debug level and logging methods.</li>
<li>2003-07-02 - RequestProcessor: Changed processRoles() to send a 403
Forbidden response if the role check fails. Also removed deprecated methods.</li>
<li>2003-07-01 - Action: Removed deprecated constants and toHex()
method.</li>
</ul>
<p>
<strong>Actions Package Changes</strong> [
<code>org.apache.struts.actions</code>]</p>
<ul>
<li>2004-06-24 - RedeployableActionServlet: Provides support for WebLogi
hot-deploy.</li>
</ul>
<ul>
<li>2003-12-22 - DispatchAction: Add detection of recursive calls.</li>
</ul>
<ul>
<li>2003-08-13 - DispatchAction,LookupDispatchAction: Add 'default' and a
'cancel' handlers to DispatchAction and LookupDispatchAction.</li>
<li>2003-08-12 - MappingDispatchAction: Addition of MappingDispatchAction
that dispatches to a method named by the ActionMapping parameter.</li>
</ul>
<ul>
<li>2003-07-11 - DispatchAction,ForwardAction,IncludeAction,SwitchAction:
Throw exceptions from execute() method instead of sending a failure response to the
client. This allows the exception handling mechanism to respond to the error
gracefully.</li>
<li>2003-07-03 - LookupDispatchAction: Fixed synchronization problem (PR#
21224). Also refactored some code into a new initLookupMap() method.</li>
</ul>
<p>
<strong>Config Package</strong> [
<code>org.apache.struts.config</code>]</p>
<ul>
<li>2004-04-14 - ModuleConfig.java: Local, as well as global,
ActionForwards now observe pluggable classes. </li>
<li>2004-04-08 - ModuleConfigImpl: Added a list to store ActionConfigs to
ensure when enumerated, they are in the order in which they were added.</li>
</ul>
<ul>
<li>2004-02-17 - Undeprecate and Restore the functionality for the 'type'
attribute on form-beans and global-forwards elements in the config file.</li>
<li>2004-02-13 - Add module property to ForwardConfig to support direct
cross-linking between modules. </li>
</ul>
<ul>
<li>2004-01-10 - Changed WildcardHelper methods from statics to instance
methods to allow subclasses to override and customize behavior. Changed
WildcardHelper.match() to accept a generic Map parameter rather than HashMap.</li>
</ul>
<ul>
<li>2003-08-08 - ConfigHelper,ConfigHelperInterface: Removed references to
ActionMappings, ActionFormBeans, and ActionForwards.</li>
</ul>
<ul>
<li>2003-07-27 - ConfigHelper: Deprecate methods() since they return
objects that have been deprecated. The ModuleConfig object should be used to lookup
these items.</li>
<li>2003-07-16 - ModuleConfigFactory: Catch only relevant exceptions
instead of Throwable and made LOG final.</li>
<li>2003-07-04 - struts-config_1_2.dtd, ControllerConfig.java: Removed
deprecated debug controller attribute.</li>
<li>2003-07-04 - ActionConfig: Removed deprecated perform() methods.</li>
<li>ApplicationConfig: removed in favor of ModuleConfig.</li>
</ul>
<p>
<strong>Contrib Packages</strong> [
<code>/contrib</code>]</p>
<ul>
<li>2004-06-29 - struts-chain: Wrap HttpServletRequest to ensure correct
handling of URIs.</li>
</ul>
<ul>
<li>2004-02-29 - struts-chain: Fix problem with large uploads being
deleted if validation failed.</li>
</ul>
<ul>
<li>2004-01-15 - struts-chain: Add Tiles support. Add null check for
type, to support forward actions; also add commons loggging</li>
<li>2004-01-14 - struts-chain: Add support for 'unknown' actions.</li>
</ul>
<ul>
<li>2004-07-07 - struts-faces: correct operation of <s:base> tag and
add portlet specific version.</li>
<li>2004-03-08 - struts-faces: updated for JSF 1.0 final release.</li>
<li>2003-12-31 - struts-faces: Initial support for Tiles; partial
"Tilesization" of example app; *not* ready for prime time but comments definately
welcome.</li>
<li>2003-12-29 - struts-faces: Various updates regarding the JSF Final
Draft and to prepare for Tiles support.</li>
<li>2003-12-17 - struts-jericho: Whiteboard directory for Struts-Jericho,
a working proposal for Struts 2.x.</li>
</ul>
<ul>
<li>2003-09-07 - strutsel.taglib.tiles: Addition of "tiles-el" library</li>
</ul>
<ul>
<li>2003-08-11 - struts-chain: Initial check-in of an experimental library
that decomposes the Struts 1.1 request procoessor, using the newly checked in Commons
Sandbox project called "chain" supporting the Chain of Responsibility pattern.</li>
<li>2003-08-10 - strutsel: Added action attribute added in base class</li>
<li>2003-08-10 - strutsel: Removed deprecated FormTag attributes: name,
scope, type.</li>
<li>2003-08-10 - struts-legacy: Removed package (GenericDataSource and
GenericConnection).</li>
</ul>
<ul>
<li>2003-07-26 - strutsel: Updated tags to match recent attribute changes
to tags in base library.</li>
</ul>
<p>
<strong>Plugins Package</strong> [
<code>org.apache.struts.plugins</code>]</p>
<ul>
<li>2003-08-07 - DigestingPlugIn.java: Added DigestingPlugIn.</li>
</ul>
<p>
<strong>Taglib Package Changes</strong> [
<code>org.apache.struts.taglib</code>]</p>
<ul>
<li>2004-06-26 - EmptyTag: Add support for arrays.</li>
</ul>
<ul>
<li>2004-02-24 - createDynamicJavascript: Move test for null validator
form inside "createDynamicJavascript" so that those who use the tag to generate static
javascript don't get a JspException.</li>
</ul>
<ul>
<li>2003-09-09 - TagUtils: Log error message when keys or bundles are
missing.</li>
</ul>
<ul>
<li>2003-08-23 - TagUtils: Deprecated getActionErrors() in favor of
getActionMessages().</li>
<li>2003-08-16 - TagUtils: Replaced ActionError with ActionMessage.</li>
<li>2003-08-02 - LocalStrings.properties,TagUtils: Move message resources
from util package.</li>
</ul>
<ul>
<li>2003-07-26 - TagUtils,RequestUtils: Added TagUtils class for taglibs
to use instead of RequestUtils. We should migrate any method in RequestUtils that
takes a PageContext parameter and/or throws JspException. A clean separation will help
keep RequestUtils smaller and allow the taglibs to be easily split off of the core
Struts distribution.</li>
</ul>
<p>
<strong>Bean Taglib Package Changes</strong> [
<code>org.apache.struts.taglib.bean</code>]</p>
<ul>
<li>2004-01-14 - WriteTag: Use client locale when applying date
format.</li>
<li>2004-01-01 - WriteTag: Add notes regarding discovering localized
notations.</li>
</ul>
<ul>
<li>2003-08-28 - IncludeTag: Rename setCookie to addCookie since it isn't
a bean setter</li>
</ul>
<ul>
<li>2003-07-13 - MessageTag: Simplified args[] creation, deprecated unused
defaultLocale variable.</li>
</ul>
<p>
<strong>HTML Taglib Package Changes</strong> [
<code>org.apache.struts.taglib.html</code>]:</p>
<ul>
<li>2004-07-01 - JavascriptValidatorTag - Correct naming of JS methods
when multiple forms are used.</li>
</ul>
<ul>
<li>2004-05-17 - OptionsCollectionTag,OptionsTag: Filter values as well as
labels.</li>
</ul>
<ul>
<li>2004-03-08 - JavascriptValidatorTag - Allow multiple forms to be on
the same page by generating a unique variable name based on form name. </li>
</ul>
<ul>
<li>2004-02-14 - Substitute "-" for "/" in JavaScript function name when
form is subclass of ValidatorActionForm.</li>
<li>2004-02-07 - Add "module" attribute to IncludeTag, ImgTag, LinkTag,
and RewriteTag, as well as to Forward.
This permits a module to be referenced by name (or "prefix) for direct
cross-linking between modules.</li>
<li>2004-02-04 - Run validator messages through a routine to escape quote
marks so that the emitted JavaScript is syntactically correct.</li>
<li>2004-02-04 - Throw JspException when no form is found in the
ValidatorResources under the specified 'name'.</li>
</ul>
<ul>
<li>2004-01-18 - Add "action" attribute to img tag.</li>
<li>2004-01-09 - Add disabled element to TLD.</li>
<li>2004-01-03 - Add 10 new tests that cover "some" of the functionality
provided by html:options. More to come.</li>
<li>2004-01-01 - In link-related tags, allow LocalCharacterEncoding to be
specified conditionally.</li>
</ul>
<ul>
<li>2003-11-28 - JavascriptValidatorTag - Removed getNextVar() and
replaceChar() methods and use a simpler javascript identifier naming scheme. All
variables with be named a0, a1, etc. to prevent using reserved words as variable
names.</li>
</ul>
<ul>
<li>2003-08-19 - Remove "request scope" references from messages tag. The
messages are searched for in all scopes.</li>
<li>2003-08-10 - struts-html.xml,RewriteTag.java: Added action attribute
to rewrite tag.</li>
<li>2003-08-10 - Removed deprecated FormTag attributes: name, scope,
type.</li>
</ul>
<ul>
<li>2003-07-08 - struts-html.xml,FormTag,JavascriptValidatorTag: Added
scriptLanguage property to the form and javascript tags for PR# 17234. This property
is ignored in XHTML mode but allows developers to turn off the "language" attribute of
<script> tags in HTML.</li>
<li>2003-07-03 - FormTag: Added disabled check to focus JavaScript</li>
<li>2003-07-02 - HtmlTag: Removed deprecated method.</li>
<li>2003-07-02 - BaseHandlerTag: Use RequestUtils.isXhtml() instead of
duplicating logic.</li>
<li>2003-07-02 - ErrorsTag: Don't render new lines</li>
</ul>
<p>
<strong>Logic Taglib Package Changes</strong> [
<code>org.apache.struts.taglib.logic</code>]:</p>
<ul>
<li>2004-01-16 - logic:redirect - Add action attribute.</li>
</ul>
<ul>
<li>2003-07-31 - PresentTag,RedirectTag: Replace depricated method calls
with non-deprecated ones.</li>
</ul>
<p>
<strong>Nested Taglib Package Changes</strong> [
<code>org.apache.struts.taglib.nested</code>]:</p>
<ul>
<li>2004-03-22 - Add missing filter attribute to nested:options and
nested:optionsCollection.</li>
</ul>
<ul>
<li>2004-01-01 - Correct operation of NestedMessage* tags by implementing
NestedPropertySupport rather than NestedNameSupport.</li>
</ul>
<ul>
<li>2003-08-10 - Removed deprecated FormTag attributes: name, scope,
type.</li>
</ul>
<ul>
<li>2003-07-03 - struts-nested.xml: Added styleId to nested:hidden</li>
</ul>
<p>
<strong>Tiles Taglib Package Changes</strong> [
<code>org.apache.struts.taglib.tiles</code>]:</p>
<ul>
<li>2004-05-17 - PutTag: Manage tag body content more carefully to ensure
pooled tags do not display old content with empty tiles.</li>
</ul>
<ul>
<li>2003-09-07 - ImportAttributeTag,UseAttributeTag: Removing "final" from
class declaration, to allow class to be extended in "tiles-el" (or other classes).</li>
</ul>
<ul>
<li>2003-07-27 - xmlDefinition/XmlParser: Remove deprecated/non functional
digester logging method.</li>
<li>2003-07-10 - TagUtils: Deprecated getProperty() because it provided no
value over calling PropertyUtils.getProperty() directly.</li>
<li>2003-07-08 - TilesServlet,ActionComponentServlet: Formatted code,
removed deprecated constant.</li>
<li>2003-07-04 - ActionController: Call Action.execute() instead of
perform().</li>
</ul>
<p>
<strong>Tiles Package Changes</strong> [
<code>org.apache.struts.tiles</code>]:</p>
<ul>
<li>2003-09-13 - Controller: Added execute() method to Tiles Controller
interface.</li>
</ul>
<ul>
<li>2003-08-16 - portal.UserMenuAction: Replaced hardcoded debugging with
commons logging.</li>
</ul>
<ul>
<li>2003-07-31 - xmlDefinition/I18nFactorySet: Replace deprecated constant
reference with it's base interface equal.</li>
<li>2003-07-31 - actions/DefinitionDispatcherAction: Replace deprecated
method with current one. Still one method DefinitionUtil.setActionDefinition that
doesn't have a replacement. It's a simple method but I don't know where a good place
to move it would be.</li>
<li>2003-07-31 - actions/ReloadDefinitionsAction: Use
TilesUtil.createDefinitionsFactory(request,context) instead of deprecated
method().</li>
<li>2003-07-21 - struts-*config.xml: Remove the use of the deprecated
action NoOpAction. Replace by ForwardAction.</li>
<li>2003-07-21 - *Action: Replace the deprecated perform(..) method by the
new execute(...) method.</li>
<li>2003-07-12 - DefinitionDispatcherAction: Use commons-logging to record
error messages instead of printing them to the response.</li>
<li>2003-07-10 - TilesAction: Removed deprecated perform() method.</li>
<li>2003-07-09 - Removed deprecated TilesUtil.applicationClass()
method.</li>
<li>2003-07-08 - DefinitionsUtil.java: Deprecated debug level constants,
removed some deprecated methods.</li>
<li>2003-07-08 - ChannelFactorySet: Use commons-logging instead of
printing to stdout.</li>
<li>2003-07-07 - InsertTag: Fixed exception handling. Instead of
swallowing exceptions or printing the stack trace on the page, the exceptions are
logged and rethrown as JspException for the page error handling mechanism to deal
with.</li>
<li>2003-07-07 - InsertTag: More code cleanup, removed deprecated method,
deprecated ROLE_DELIMITER because it is only used internally to this class</li>
<li>2003-07-04 - ComponentContext: Removed deprecated constructor</li>
<li>2003-07-02 - Changed UntyppedAttribute class name to UntypedAttribute
(spelling error).</li>
</ul>
<p>
<strong>Upload Package Changes</strong> [
<code>org.apache.struts.upload</code>]:</p>
<ul>
<li>2004-04-08 - CommonsMultipartRequestHandler: Made CommonsFormFile
serializable since it gets put into the session</li>
</ul>
<ul>
<li>2004-03-22 - Allow MultipartPost with latin1 characters over
Linux.</li>
</ul>
<ul>
<li>2004-01-21 - Add support for an "EncodingFilter" to handle multibyte
file names.</li>
</ul>
<ul>
<li>2003-11-26 - DiskMultipartRequestHandler: Deprecate
DiskMultipartRequestHandler and friends, which is the buggy old upload implementation,
no longer used as the default as of Struts 1.1. This will be removed after 1.2
(meaning as of 1.3/2.0).</li>
</ul>
<ul>
<li>2003-07-31 - MultipartElement: Remove deprecated methods.</li>
</ul>
<p>
<strong>Utility Package Changes</strong> [
<code>org.apache.struts.util</code>]:</p>
<ul>
<li>
2004-07-07 - TokenProcessor: Ensure that tokens returned differ even
if called quickly by tracking last value used.
</li>
</ul>
<ul>
<li>2004-04-08 - RequestUtils: Fixed inappropriate serialization of
ModuleConfig when a DynaActionForm was put in the session.</li>
</ul>
<ul>
<li>2003-09-22 - LabelValueBean: Implement Comparable interface.</li>
</ul>
<ul>
<li>2003-08-16 - ModuleException: Added getActionMessage() to replace the
getError() method.</li>
<li>2003-08-02 - LocalStrings.properties: Move message resources to taglib
TagUtil package.</li>
<li>2003-08-02 - ModuleUtils.java,RequestUtils.java: Moved module related
methods to new ModuleUtils class.</li>
</ul>
<ul>
<li>2003-07-26 - TagUtils,RequestUtils: Added TagUtils class for taglibs
to use instead of RequestUtils. We should migrate any method in RequestUtils that
takes a PageContext parameter and/or throws JspException. A clean separation will help
keep RequestUtils smaller and allow the taglibs to be easily split off of the core
Struts distribution.</li>
<li>2003-07-25 - RequestUtils: Backwards compatibility fix. Changed
ModuleConfig lookups to use getModuleConfig so that default module config is returned
if one is not already present in the request</li>
<li>2003-07-16 - RequestUtils: Make retrieveMessageResources()
module-aware by adding the module prefix to the bundle name when retrieving from
application context.</li>
<li>2003-07-03 - LabelValueBean: Added equals and hashCode() methods.</li>
<li>2003-07-03 - Globals,ActionServlet,RequestUtils: Moved initialization
of module prefix list to the new ActionServlet.initModulePrefixes() method from
RequestUtils.getModulePrefixes() because of a potential race condition documented in
PR# 21091. This also required a move of the RequestUtils.PREFIXES constant to
Globals.MODULE_PREFIXES_KEY.</li>
<li>2003-07-02 - RequestUtils,TestRequestUtils: Removed deprecated
"application" methods in favor of "module" methods.</li>
<li>2003-07-02 - LabelValueBean: Added default constructor.</li>
</ul>
<p>
<strong>Validator Package Changes</strong> [
<code>org.apache.struts.validator</code>]</p>
<ul>
<li>2004-06-24 - ValidWhen: "allow '_' (underscore) in identifiers.</li>
</ul>
<ul>
<li>2004-04-16 - FieldChecks: Add optional variables to configure various
aspects of URL validation.</li>
<li>2004-04-03 - ValidatorPlugIn: Modify Validator PlugIn to validate XML
file and errros now throw an exception to loudly flag an error. Remove deprecated
classes, now in Commons Validator.</li>
<li>2004-04-02 - Add a getValidationKey method to make it eaiser for
subclasses to use different rules for finding the Validator form. </li>
</ul>
<ul>
<li>2004-02-20 - Changed FieldCheck so that it examines all indexed fields
and does not stop on the first failure.</li>
</ul>
<ul>
<li>2004-01-17 - Changed initValidator() to accept an ActionMessages
object instead of ActionErrors; changed ACTION_ERRORS_PARAM name to
ACTION_MESSAGES_PARAM.</li>
<li>2004-01-17 - Add section to Validator User Guide listing standard
validations.</li>
</ul>
<ul>
<li>2003-12-21 - Add rest of form to fr.CA formset to correct operation;
Use action form of html:link;</li>
</ul>
<ul>
<li>2003-10-06 - FieldChecks - Add validateUrl. Remove deprecated
validateRange.</li>
</ul>
<ul>
<li>2003-09-26 - FieldChecks,ValidWhen: Changed validator signatures to
use ActionMessages rather than ActionErrors, was breaking validations.</li>
<li>2003-09-26 - validator-rules.xml: Modify JavaScript to honor
datePattern option.</li>
<li>2003-09-24 - validator-rules.xml: Add ability of required to handle
checkboxes, radio,select-one, and select-multiple field types.</li>
</ul>
<ul>
<li>2003-07-30 - validator-rules.xml: Remove deprecated range() method.
Use intRange() instead.</li>
<li>2003-07-30 - validator-rules.xml: Allow intRange validation of
select-one and radio fields. In some form combo boxes you might have the combo boxes
populated with valid choices plus one additional choice with a caption something like
"Choose one" and a value 0f "-1". Then when the user attempts to submit the form, you
can look for the value of "-1" and yell at them if they failed to pick something.</li>
<li>2003-07-28 - JavascriptValidatorTag.java,ValidatorPlugIn.java:
Enhancement to allow checking of all constraints instead of aborting. The default is
same as struts 1.1.</li>
<li>2003-07-26 - Resources: Deprecated Resources.getLocale() because it
created sessions. Use RequestUtils.getUserLocale() instead.</li>
<li>2003-07-02 - Resources: Rewrote getArgs() method to use arrays and
loops, which removes limitation of 4 args.</li>
<li>2003-07-02 - Resources: Remove deprecated methods</li>
<li>2003-07-02 - Validator,ValdiatorUtils: Changed processRoles() to send
a 403 Forbidden response if the role check fails. Also removed deprecated methods.</li>
<li>2003-07-01 - Add validwhen validation to package.</li>
</ul>
<p>
<strong>Documentation Application Changes</strong> [
<code>struts-documentation.war</code>]:</p>
<ul>
<li>2004-07-07 - Rename "status.xml" to "roadmap.xml" to avoid confusion
with STATUS.txt file.</li>
<li>2004-07-07 - Extend prior draft of bylaws page with additional
material from Jakarta site and link to main menu.</li>
</ul>
<ul>
<li>2004-03-28 - Added Trifork server to Installing Struts on Various
Containers section.</li>
<li>2004-03-24 - Document new exception-throwing behavior in
html:javascript when dynamicJavascript is true but no form can be identified.</li>
</ul>
<ul>
<li>2003-11-27 - resource: Move resource area to
<a href="http://struts.sf.net/">Struts SourceForge site</a>.</li>
</ul>
<p>
<strong>MailReader Example Application Changes</strong> [
<code>struts-example.war</code>]:</p>
<ul>
<li>2004-03-07 - Various refactorings to JSP pages, welcome and login
action.</li>
</ul>
<ul>
<li>2004-01-08 - Use (new) DigestingPlugIn to create the menu of server
types.</li>
</ul>
<ul>
<li>2003-12-21 - Change to use typical welcome.do - welcome.jsp approach;
Use "name" rather than "attribute" in configuration, per documented and common
practice; Use action form of html:link</li>
<li>2003-10-25 - Updated to include the usage of wildcards in action
mappings.</li>
</ul>
<ul>
<li>2003-08-30 -
AlternateApplicationResources_ja.properties,ApplicationResources_ja.properties:
Provide Japanese resources.</li>
<li>2003-08-16 - Changed ActionError to ActionMessage.</li>
</ul>
<p>
<strong>Combined Examples Application</strong> [
<code>struts-examples.war</code>]</p>
<ul>
<li>2004-01-17 - Add tests to to hmlt:link page for forwards, actions, and
pages.</li>
<li>2004-01-16 - exercises: Add test pages for html:img and
logic:forward,redirect. Add test pages for html:img and logic:forward,redirect
tags</li>
<li>2004-01-08 - Convert Taglib-Exercises, Upload, and Validator example
applications into modules of a combined examples application.</li>
</ul>
<p>
<strong>Exercise module Changes</strong>:</p>
<ul>
<li>2004-01-09 - Enable inputForward.</li>
<li>2004-01-01 - Add several tests to bean:write: localized numbers; date
format pattern; localization.</li>
</ul>
<ul>
<li>2003-07-23 - html-messages.jsp: Updated to reference Globals
constants.</li>
</ul>
<p>
<strong>Upload Example module Changes</strong>
</p>
<ul>
<li>2004-01-09 - Enable inputForward; use message tags for validation
errors; refine markup on display page.</li>
<li>2004-01-08 - Convert to Upload example application to module under the
"examples" application.</li>
</ul>
<ul>
<li>2003-08-16 - Changed ActionError to ActionMessage.</li>
</ul>
<p>
<strong>Validator Example module Changes</strong>
</p>
<ul>
<li>2004-06-25 - Update arg elements to use new dynamic feature, that
does not requiring numbering. </li>
</ul>
<ul>
<li>2004-03-25 - Modify example to test proper behaviour is a property is
named 'name'.</li>
</ul>
<ul>
<li>2004-01-09 - Enable inputForward.</li>
<li>2004-01-08 - Convert to Validator Example application to module under
the "examples" application.</li>
</ul>
<ul>
<li>2003-12-21 - Add rest of form to fr.CA formset to correct
operation.</li>
<li>2003-09-24 - Modify Validator example to show use of 'required' for
checkboxes, radio,select-one, and select-multiple field types.</li>
</ul>
<p>
<strong>Upload module Changes</strong>:</p>
<ul>
<li>2004-01-08 - Convert to Upload example application to module under the
"examples" application.</li>
</ul>
<p>
<strong>Validator module Changes</strong>:</p>
<ul>
<li>2004-01-08 - Convert to Validator example application to module under
the "examples" application.</li>
</ul>
</section>
<section>
<p class="right">Next:
<a href="installation.html">Installation</a></p>
</section>
</body>
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]