$Id$


                          Commons Digester Package
                                Version 1.7.1-dev
                               Release Notes


*** Release notes current as of 2005-09-10

INTRODUCTION
============

This is a minor bugfix and maintenance release. A few small features have been added.
New projects are encouraged to use this release of digester, but there is no urgency
for existing projects to upgrade; Digester 1.7 has proven to be a stable release.

This release is 100% binary and source compatible with the previous release.

IMPORTANT NOTES
===============

none

Dependencies
=============
Release 1.7.1 has the same dependencies as release 1.7.

Compatible Dependency Sets:
   Digester 1.7 + Logging 1.0.x + BeanUtils 1.x + Collections 2.x
   Digester 1.7 + Logging 1.0.x + BeanUtils 1.x + Collections 3.x
   Digester 1.7 + Logging 1.0.x + BeanUtils 1.7

NEW FEATURES
=============

Xmlrules Enhancements
----------------------
The xmlrules module has had the following updates to provide access
to functionality that was previously accessable only via the digester
API:
     -- node-create-rule tag added to provide access to NodeCreateRule.
        Patch provided by Kevin Ross; bugzilla 36482

BUGS FROM PREVIOUS RELEASE
==========================

Reports Addressed
------------------

Fixes without Bugzilla entries
------------------------------
* digester-rules.dtd file defined xml attribute "param" for xml element
  object-param-rule. This has been removed as it wasn't being used.

DEPRECATIONS
============
None

