1Licensed to the Apache Software Foundation (ASF) under one or more 2contributor license agreements. See the NOTICE file distributed with 3this work for additional information regarding copyright ownership. 4The ASF licenses this file to You under the Apache License, Version 2.0 5(the "License"); you may not use this file except in compliance with 6the License. You may obtain a copy of the License at 7 8http://www.apache.org/licenses/LICENSE-2.0 9 10Unless required by applicable law or agreed to in writing, software 11distributed under the License is distributed on an "AS IS" BASIS, 12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13See the License for the specific language governing permissions and 14limitations under the License. 15 16============================================================================= 17 18 Commons Lang Package 19 Version 2.6 20 Release Notes 21 22 23INTRODUCTION: 24 25This document contains the release notes for the 2.6 version of Apache Commons Lang. 26Commons Lang is a set of utility functions and reusable components that should be of use in any Java environment. 27 28 29COMPATIBILITY WITH 2.5 30====================== 31Lang 2.6 is binary compatible release with Lang 2.5, containing bug fixes and small enhancements. 32 33Lang 2.6 requires a minimum of JDK 1.3. 34 35 36IMPROVEMENTS IN 2.6 37=================== 38 39 * [LANG-633] - BooleanUtils: use same optimization in toBooleanObject(String) as in toBoolean(String) 40 * [LANG-599] - ClassUtils: allow Dots as Inner Class Separators in getClass() 41 * [LANG-594] - DateUtils: equal and compare functions up to most significant field 42 * [LANG-632] - DateUtils: provide a Date to Calendar convenience method 43 * [LANG-576] - ObjectUtils: add clone methods to ObjectUtils 44 * [LANG-667] - ObjectUtils: add a Null-safe compare() method 45 * [LANG-670] - ObjectUtils: add notEqual() method 46 * [LANG-302] - StrBuilder: implement clone() method 47 * [LANG-640] - StringUtils: add a normalizeSpace() method 48 * [LANG-614] - StringUtils: add endsWithAny() method 49 * [LANG-655] - StringUtils: add defaultIfBlank() method 50 * [LANG-596] - StrSubstitutor: add a replace(String, Properties) variant 51 * [LANG-482] - StrSubstitutor: support substitution in variable names 52 * [LANG-669] - Use StrBuilder instead of StringBuffer to improve performance where sync. is not an issue 53 54BUG FIXES IN 2.6 55================ 56 57 * [LANG-629] - CharSet: make the underlying set synchronized 58 * [LANG-635] - CompareToBuilder: fix passing along compareTransients to the reflectionCompare method 59 * [LANG-636] - ExtendedMessageFormat doesn't override equals(Object) 60 * [LANG-645] - FastDateFormat: fix to properly include the locale when formatting a Date 61 * [LANG-638] - NumberUtils: createNumber() throws a StringIndexOutOfBoundsException when argument containing "e" and "E" is passed in 62 * [LANG-607] - StringUtils methods do not handle Unicode 2.0+ supplementary characters correctly 63 * [LANG-624] - SystemUtils: getJavaVersionAsFloat throws StringIndexOutOfBoundsException on Android runtime/Dalvik VM 64 * [BEANUTILS-381] - MemberUtils: getMatchingAccessibleMethod does not correctly handle inheritance and method overloading 65 66OTHER CHANGES IN 2.6 67==================== 68 69 * [LANG-600] - Javadoc is incorrect for lastIndexOf() method 70 * [LANG-628] - Javadoc for HashCodeBuilder.append(boolean) does not match implementation 71 * [LANG-643] - Javadoc StringUtils.left() claims to throw an exception on negative length, but doesn't 72 * [LANG-370] - Javadoc - document thread safety 73 * [LANG-623] - Test for StringUtils replaceChars() icelandic characters 74 75