$Id: RELEASE-NOTES.txt,v 1.10 2003/04/25 09:26:45 rdonkin Exp $


                          Commons Digester Package
                                Version 1.5
                               Release Notes


INTRODUCTION:
============

This is an important maintenance release. The Digester 1.4.x releases were not fully backwards 
compatible with previous Digester releases. This release fixes the reported incompatibilities. 

NEW FEATURES:
=============

Improved Java Docs

CallMethodRule Can Take Parameter From Stack
--------------------------------------------
CallParamRule can now use an object from the main Digester stack as one of the parameters for a 
CallMethodRule. This allows an object to be created (in the usual way) and then passed into a 
method call taking more than one parameter.

Digester Document Locator Getter
--------------------------------
Added property getter for the SAX Locator associated with the document being processed.

ExtendedBaseRules Ancestor Tail Matching
----------------------------------------
Extended pattern matching language by adding ancestor tail matching. This is response to enhancement 
request #16350.

FactoryCreateRule No-Exception-Propagation Option
-------------------------------------------------
Added support for non-propagation of exceptions. This will (when the correct options are set) allow 
a digestion to continue when an object creation has failed.

RegexRules
----------
This is a new Rules implementation. It allows a regular expression language (such as Jakarta-ORO or 
Jakarta-Regexp) to be used for pattern matching. An adapter interface allows the language of choice
to be plugged in. A simple regex implementation is provided. 

RSS Classes Now Serializable
----------------------------
The (object model) classes in org.apache.commons.digester.rss have now been made serializable. Though
they were intended to be used as a worked example, some people have found them useful and wish to use
them in situations where serialization is required.

Improvement In Xml Rules
------------------------
Added support for specifying a BeanPropertySetterRule when using XML Rules. This is enhancement #16785.

Added support for call-param from stack to xml rules. Enhancement requested as bug  #16413


BUG REPORTS ADDRESSED:
======================

Outstanding Reports:
--------------------
#12997 Call the method as soon as the last parameter is encountered
#13098 Digester Performance
#3893 Multiple element body parts problem

DEPRECATION:
============
