$Id: RELEASE-NOTES.txt,v 1.8 2003/02/03 18:40:28 rdonkin Exp $

                          Commons Digester Package
                                Version 1.4
                               Release Notes


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

This document contains the release notes for this version of the Commons
Digester package, and highlights changes since the previous version.


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

Enhancements to java docs.

Digester Enhancements:
---------------------

New begin, body and end methods were added that include namespace information. 
This is an important change since it allows more sophisticated Rules to be 
created. The old versions of these methods have been deprecated (see below) 
but existing Rules that override these methods will continue to function correctly.

Improved support for XML schema. The scope of schema related variables has been
changed from private to protected. The entity resolver used can now be configured
through a property.

Improved support for Public ID. The property now has a setter (as well as a getter).
Digester will no longer set a public ID to null.


Rules Enhancements:
-------------------

NodeCreateRule is a new rule that creates a DOM node for the matched node. This
allows sophisticated approaches mixing DOM with digester.

ObjectParamRule is a new rule that works with the CallMethodRule. This allows 
arbitrary objects to be passed as parameters into a CallMethodRule method call.

XMLRule Enhancements:
---------------------

Improved support for loading xmlrules from jars. A new factory method was added
to DigesterLoader together with changes to supporting code.


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

16233 - Invalid bean setters do not generate an exception
12756 - Enhanced support for call param rules that take their values from the stack
11693 - CallMethod rule on nested indentical elements cause parameter confusion
14415 - InvocationTargetExceptions could be unwrapped
13891 - Null pointer exception when setting rules
11168 - XML-based rules def. for Digester ignores call-param-rule

DEPRECATION
===========

The begin, body and end method signatures of org.apache.commons.digester.Rule 
have now been deprecated. They have been been replaced by new begin, body and 
end methods whose signatures contain namespace information. Digester now calls these
new methods. Existing rules overriding the old signatures will continue to function
correctly since each base implementation of these new methods in Rule calls 
the old ones.

