Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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

https://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.

=============================================================================

                        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 length, but doesn't
    * [LANG-370] - Javadoc - document thread safety
    * [LANG-623] - Test for StringUtils replaceChars() icelandic characters

