xref: /aosp_15_r20/external/apache-commons-lang/src/site/xdoc/upgradeto2_5.xml (revision 455610af95f3bf5f4bc8a9eda520f57e389a4c42)
1<?xml version="1.0"?>
2<!--
3Licensed to the Apache Software Foundation (ASF) under one or more
4contributor license agreements.  See the NOTICE file distributed with
5this work for additional information regarding copyright ownership.
6The ASF licenses this file to You under the Apache License, Version 2.0
7(the "License"); you may not use this file except in compliance with
8the License.  You may obtain a copy of the License at
9
10     http://www.apache.org/licenses/LICENSE-2.0
11
12Unless required by applicable law or agreed to in writing, software
13distributed under the License is distributed on an "AS IS" BASIS,
14WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15See the License for the specific language governing permissions and
16limitations under the License.
17-->
18<document>
19 <properties>
20  <title>2.5 Release Notes</title>
21  <author email="[email protected]">Commons Documentation Team</author>
22 </properties>
23<body>
24
25<section name="Lang 2.5 Release Notes">
26<p>
27These are the release notes and advice for upgrading Commons-Lang from
28version 2.4 to version 2.5. <br/><br/>See '<a href="article2_5.html">What's new in 2.5?</a>' for more information.
29<source>
30INTRODUCTION:
31
32This document contains the release notes for the 2.5 version of Apache Commons Lang.
33Commons Lang is a set of utility functions and reusable components that should be of use in any Java environment.
34
35Lang 2.5 no longer attempts to target the Java 1.2 environment and now targets Java 1.3.
36
37IMPROVEMENTS IN 2.5
38===================
39
40    * [LANG-583] - ArrayUtils - add isNotEmpty() methods
41    * [LANG-534] - ArrayUtils - add nullToEmpty() methods
42    * [LANG-454] - CharRange - provide an iterator that lets you walk the chars in the range
43    * [LANG-514] - CharRange - add more readable static builder methods
44    * [        ] - ClassUtils - new isAssignable() methods with autoboxing
45    * [LANG-535] - ClassUtils - add support to getShortClassName and getPackageName for arrays
46    * [LANG-434] - DateUtils - add ceiling() method
47    * [LANG-486] - DateUtils - add parseDateStrictly() method
48    * [LANG-466] - EqualsBuilder - add reset() method
49    * [LANG-461] - NumberUtils - add toByte() and toShort() methods
50    * [LANG-522] - Mutable numbers - add string constructors
51    * [        ] - MutableBoolean - add toBoolean(), isTrue() and isFalse() methods
52    * [LANG-422] - StrBuilder - add appendSeparator() methods with an alternative default separator if the StrBuilder is currently empty
53    * [LANG-555] - SystemUtils - add IS_OS_WINDOWS_7 constant
54    * [LANG-554] - SystemUtils - add IS_JAVA_1_7 constant for JDK 1.7
55    * [LANG-405] - StringUtils - add abbreviateMiddle() method
56    * [LANG-569] - StringUtils - add indexOfIgnoreCase() and lastIndexOfIgnoreCase() methods
57    * [LANG-471] - StringUtils - add isAllUpperCase() and isAllLowerCase() methods
58    * [LANG-469] - StringUtils - add lastOrdinalIndexOf() method to complement the existing ordinalIndexOf() method
59    * [LANG-348] - StringUtils - add repeat() method
60    * [LANG-445] - StringUtils - add startsWithAny() method
61    * [LANG-430] - StringUtils - add upperCase(String, Locale) and lowerCase(String, Locale) methods
62    * [LANG-416] - New Reflection package containing ConstructorUtils, FieldUtils, MemberUtils and MethodUtils
63
64BUG FIXES IN 2.5
65================
66
67    * [LANG-494] - CharSet - Synchronizing the COMMON Map so that getInstance doesn't miss a put from a subclass in another thread
68    * [LANG-500] - ClassUtils - improving performance of getAllInterfaces
69    * [LANG-587] - ClassUtils - toClass() throws NullPointerException on null array element
70    * [LANG-530] - DateUtils - Fix parseDate() cannot parse ISO8601 dates produced by FastDateFormat
71    * [LANG-440] - DateUtils - round() doesn't work correct for Calendar.AM_PM
72    * [LANG-443] - DateUtils - improve tests
73    * [LANG-204] - Entities - multithreaded initialization
74    * [LANG-506] - Entities - missing final modifiers; thread-safety issues
75    * [LANG-76]  - EnumUtils - getEnum() doesn't work well in 1.5+
76    * [LANG-584] - ExceptionUtils - use immutable lock target
77    * [LANG-477] - ExtendedMessageFormat - OutOfMemory with a pattern containing single quotes
78    * [LANG-538] - FastDateFormat - call getTime() on a calendar to ensure timezone is in the right state
79    * [LANG-547] - FastDateFormat - Remove unused field
80    * [LANG-511] - LocaleUtils - initialization of available locales can be deferred
81    * [LANG-457] - NumberUtils - createNumber() throws a StringIndexOutOfBoundsException for "l"
82    * [LANG-521] - NumberUtils - isNumber(String) and createNumber(String) both modified to support '2.'
83    * [LANG-432] - StringUtils - improve handling of case-insensitive Strings
84    * [LANG-552] - StringUtils - replaceEach() no longer NPEs when null appears in the last String[]
85    * [LANG-460] - StringUtils - correct Javadocs for startsWith() and startsWithIgnoreCase()
86    * [LANG-421] - StringEscapeUtils - escapeJava() escapes '/' characters
87    * [LANG-450] - StringEscapeUtils - change escapeJavaStyleString() to throw UnhandledException instead swallowing IOException
88    * [LANG-419] - WordUtils - fix StringIndexOutOfBoundsException when lower is greater than the String length
89    * [LANG-523] - StrBuilder - Performance improvement by doubling the size of the String in ensureCapacity
90    * [LANG-575] - Compare, Equals and HashCode builders - use ArrayUtils to avoid creating a temporary List
91    * [LANG-467] - EqualsBuilder - removing the special handling of BigDecimal (LANG-393) to use compareTo
92    * [LANG-574] - HashCodeBuilder - Performance improvement: check for isArray to short-circuit the 9 instanceof checks
93    * [LANG-520] - HashCodeBuilder - Changing the hashCode() method to return toHashCode()
94    * [LANG-459] - HashCodeBuilder - reflectionHashCode() can generate incorrect hashcodes
95    * [LANG-586] - HashCodeBuilder and ToStringStyle - use of ThreadLocal causes memory leaks in container environments
96    * [LANG-487] - ToStringBuilder - make default style thread-safe
97    * [LANG-472] - RandomUtils - nextLong() always produces even numbers
98    * [LANG-592] - RandomUtils - RandomUtils tests are failing frequently
99
100</source>
101</p>
102</section>
103
104</body>
105</document>
106