xref: /aosp_15_r20/external/apache-commons-lang/src/site/resources/release-notes/RELEASE-NOTES-2.5.txt (revision 455610af95f3bf5f4bc8a9eda520f57e389a4c42)
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.5
20                           Release Notes
21
22
23INTRODUCTION:
24
25This document contains the release notes for the 2.5 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.4
30======================
31Lang 2.5 is binary compatible release with Lang 2.4, containing bug fixes and small enhancements.
32
33Lang 2.5 requires a minimum of JDK 1.3.
34
35
36IMPROVEMENTS IN 2.5
37===================
38
39    * [LANG-583] - ArrayUtils - add isNotEmpty() methods
40    * [LANG-534] - ArrayUtils - add nullToEmpty() methods
41    * [LANG-454] - CharRange - provide an iterator that lets you walk the chars in the range
42    * [LANG-514] - CharRange - add more readable static builder methods
43    * [        ] - ClassUtils - new isAssignable() methods with autoboxing
44    * [LANG-535] - ClassUtils - add support to getShortClassName and getPackageName for arrays
45    * [LANG-434] - DateUtils - add ceiling() method
46    * [LANG-486] - DateUtils - add parseDateStrictly() method
47    * [LANG-466] - EqualsBuilder - add reset() method
48    * [LANG-461] - NumberUtils - add toByte() and toShort() methods
49    * [LANG-522] - Mutable numbers - add string constructors
50    * [        ] - MutableBoolean - add toBoolean(), isTrue() and isFalse() methods
51    * [LANG-422] - StrBuilder - add appendSeparator() methods with an alternative default separator if the StrBuilder is currently empty
52    * [LANG-555] - SystemUtils - add IS_OS_WINDOWS_7 constant
53    * [LANG-554] - SystemUtils - add IS_JAVA_1_7 constant for JDK 1.7
54    * [LANG-405] - StringUtils - add abbreviateMiddle() method
55    * [LANG-569] - StringUtils - add indexOfIgnoreCase() and lastIndexOfIgnoreCase() methods
56    * [LANG-471] - StringUtils - add isAllUpperCase() and isAllLowerCase() methods
57    * [LANG-469] - StringUtils - add lastOrdinalIndexOf() method to complement the existing ordinalIndexOf() method
58    * [LANG-438] - StringUtils - add repeat() method
59    * [LANG-445] - StringUtils - add startsWithAny() method
60    * [LANG-430] - StringUtils - add upperCase(String, Locale) and lowerCase(String, Locale) methods
61    * [LANG-416] - New Reflection package containing ConstructorUtils, FieldUtils, MemberUtils and MethodUtils
62
63BUG FIXES IN 2.5
64================
65
66    * [LANG-494] - CharSet - Synchronizing the COMMON Map so that getInstance doesn't miss a put from a subclass in another thread
67    * [LANG-500] - ClassUtils - improving performance of getAllInterfaces
68    * [LANG-587] - ClassUtils - toClass() throws NullPointerException on null array element
69    * [LANG-530] - DateUtils - Fix parseDate() cannot parse ISO8601 dates produced by FastDateFormat
70    * [LANG-440] - DateUtils - round() doesn't work correct for Calendar.AM_PM
71    * [LANG-443] - DateUtils - improve tests
72    * [LANG-204] - Entities - multithreaded initialization
73    * [LANG-506] - Entities - missing final modifiers; thread-safety issues
74    * [LANG-76]  - EnumUtils - getEnum() doesn't work well in 1.5+
75    * [LANG-584] - ExceptionUtils - use immutable lock target
76    * [LANG-477] - ExtendedMessageFormat - OutOfMemory with a pattern containing single quotes
77    * [LANG-538] - FastDateFormat - call getTime() on a calendar to ensure timezone is in the right state
78    * [LANG-547] - FastDateFormat - Remove unused field
79    * [LANG-511] - LocaleUtils - initialization of available locales can be deferred
80    * [LANG-457] - NumberUtils - createNumber() throws a StringIndexOutOfBoundsException for "l"
81    * [LANG-521] - NumberUtils - isNumber(String) and createNumber(String) both modified to support '2.'
82    * [LANG-432] - StringUtils - improve handling of case-insensitive Strings
83    * [LANG-552] - StringUtils - replaceEach() no longer NPEs when null appears in the last String[]
84    * [LANG-460] - StringUtils - correct Javadocs for startsWith() and startsWithIgnoreCase()
85    * [LANG-421] - StringEscapeUtils - escapeJava() escapes '/' characters
86    * [LANG-450] - StringEscapeUtils - change escapeJavaStyleString() to throw UnhandledException instead swallowing IOException
87    * [LANG-419] - WordUtils - fix StringIndexOutOfBoundsException when lower is greater than the String length
88    * [LANG-523] - StrBuilder - Performance improvement by doubling the size of the String in ensureCapacity
89    * [LANG-575] - Compare, Equals and HashCode builders - use ArrayUtils to avoid creating a temporary List
90    * [LANG-467] - EqualsBuilder - removing the special handling of BigDecimal (LANG-393) to use compareTo
91    * [LANG-574] - HashCodeBuilder - Performance improvement: check for isArray to short-circuit the 9 instanceof checks
92    * [LANG-520] - HashCodeBuilder - Changing the hashCode() method to return toHashCode()
93    * [LANG-459] - HashCodeBuilder - reflectionHashCode() can generate incorrect hashcodes
94    * [LANG-586] - HashCodeBuilder and ToStringStyle - use of ThreadLocal causes memory leaks in container environments
95    * [LANG-487] - ToStringBuilder - make default style thread-safe
96    * [LANG-472] - RandomUtils - nextLong() always produces even numbers
97    * [LANG-592] - RandomUtils - RandomUtils tests are failing frequently
98
99