$Id$

                        Commons Lang Package
                            Version 2.6
                           Release Notes


INTRODUCTION:

This document contains the release notes for the 2.6 version of Apache Commons Lang.
Commons Lang is a set of utility functions and reusable components that should be of use in any Java environment.


COMPATIBILITY WITH 2.5
======================
Lang 2.6 is binary compatible release with Lang 2.5, containing bug fixes and small enhancements.

Lang 2.6 requires a minimum of JDK 1.3.


IMPROVEMENTS IN 2.6
===================

    * [LANG-633] - BooleanUtils: use same optimization in toBooleanObject(String) as in toBoolean(String)
    * [LANG-599] - ClassUtils: allow Dots as Inner Class Separators in getClass()
    * [LANG-594] - DateUtils: equal and compare functions up to most significant field
    * [LANG-632] - DateUtils: provide a Date to Calendar convenience method
    * [LANG-576] - ObjectUtils: add clone methods to ObjectUtils
    * [LANG-667] - ObjectUtils: add a Null-safe compare() method
    * [LANG-670] - ObjectUtils: add notEqual() method
    * [LANG-302] - StrBuilder: implement clone() method
    * [LANG-640] - StringUtils: add a normalizeSpace() method
    * [LANG-614] - StringUtils: add endsWithAny() method
    * [LANG-655] - StringUtils: add defaultIfBlank() method
    * [LANG-596] - StrSubstitutor: add a replace(String, Properties) variant
    * [LANG-482] - StrSubstitutor: support substitution in variable names
    * [LANG-669] - Use StrBuilder instead of StringBuffer to improve performance where sync. is not an issue
    
BUG FIXES IN 2.6
================

    * [LANG-629] - CharSet: make the underlying set synchronized
    * [LANG-635] - CompareToBuilder: fix passing along compareTransients to the reflectionCompare method
    * [LANG-636] - ExtendedMessageFormat doesn't override equals(Object)
    * [LANG-645] - FastDateFormat: fix to properly include the locale when formatting a Date
    * [LANG-638] - NumberUtils: createNumber() throws a StringIndexOutOfBoundsException when argument containing "e" and "E" is passed in
    * [LANG-607] - StringUtils methods do not handle Unicode 2.0+ supplementary characters correctly
    * [LANG-624] - SystemUtils: getJavaVersionAsFloat throws StringIndexOutOfBoundsException on Android runtime/Dalvik VM
    * [BEANUTILS-381] - MemberUtils: getMatchingAccessibleMethod does not correctly handle inheritance and method overloading

OTHER CHANGES IN 2.6
====================

    * [LANG-600] - Javadoc is incorrect for lastIndexOf() method
    * [LANG-628] - Javadoc for HashCodeBuilder.append(boolean) does not match implementation
    * [LANG-643] - Javadoc StringUtils.left() claims to throw an exception on negative lenth, but doesn't
    * [LANG-370] - Javadoc - document thread safety
    * [LANG-623] - Test for StringUtils replaceChars() icelandic characters

