<!--

 Copyright 2001-2004 The Apache Software Foundation.
 
 Licensed 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.

-->

$Id: RELEASE-NOTES.txt,v 1.7 2004/06/01 20:39:50 rdonkin Exp $

                           Commons Logging Package
                                Version 1.0.4
                                Release Notes


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

This document contains the release notes for this version of the Commons
Logging package.  It is primarily a service release for downstream users.
The main emphasis maintenance and code cleanup release,
with some new features including support for both the old 1.2.x series
of Log4J releases and the new 1.3.x series of releases.

The following paragraphs document changes since the previous release
(version 1.0.3). The documentation (userguide and javadoc) 
has also been improved.


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

[ALL FILES]        This version of Commons Logging is released under the
                   Apache License (Version 2.0).  All source files have been
                   modified to reflect this.

[maven.xml]        Added beginnings of a Maven-based build, primarily for the
                   purpose of creating documentation consistent with Mavenized
                   commons projects.  The official build system for the software
                   is still the Ant "build.xml" file.

[AvalonLogger]     Added AvalonLogger, which wraps the logger used by the
                   Avalon framework.  As with other implementations, this
                   is compiled only if the appropriate dependencies are
                   satisfied.

[Jdk13LumberjackLogger]
                   Added Jdk13LumberjackLogger, which wraps the implementation
                   of the JSR-47 logging APIs (for JDKs before 1.4) provided
                   by the SourceForge "lumberjack" project.
                   <http://sourceforge.net/projects/lumberjack/>

[LogFactoryImpl]   If an InvocationTargetException is returned during the
                   creation of a new Log instance, unwrap the underlying
                   cause and pass it in to the LogConfigurationException
                   constructor.  This will make the actual cause of the
                   problem easier to diagnose.

[LogFactoryImpl]   If the isAssignableFrom() test fails because there is more
                   than one instance of org.apache.commons.logging.Log visible
                   in the class loader hierarchy, make the exception message
                   that is reported explicitly state this, rather than the
                   potentially misleading claim that an implementation class
                   does not implement Log.

[Log4JLogger]      Changes to allow this logger to support both the existing 1.2.x 
                   series of releases and also the upcoming 1.3.x series of Log4J
                   releases.

[SimpleLog]        Added support for setting date-time format.

BUG FIXES:
=========

[MANIFEST.MF]      Remove reference to Log4J from the manifest classpath.

[LogConfigurationException]
                   Include root cause in the text of the message, if present.

[LogFactory]       Improve usability of error messages reporting
                   configuration problems.

[JDK14Logger]      Implement Serializable, remove "final" declaration for
                   easy subclassing.

[Log4JLogger]      Implement Serializable, remove "final" declaration for
                   easy subclassing.

[NoOpLogger]       Implement Serializable, remove "final" declaration for
                   easy subclassing.

[SimpleLog]        Make SimpleLog more friendly to the security manager
                   in an applet environment, by swallowing any security
                   exceptions when looking up system properties that are
                   not accessible.



DEPRECATIONS:
============

    (These are carried forward from Version 1.0.3)

[LogSource]        Previously deprecated, replaced by LogFactory.

[Log4jFactory]     A proxy instance of this class was transparently created
                   when Log4J logging was selected, yet it serves no useful
                   purpose.  The class is now deprecated, and the proxy
                   instance is no longer created.

[Log4JCategoryLog] This class has been replaced by Log4JLogger, which
                   corresponds to the availability of the new Logger class
                   in Log4J 1.2 and later.

