xref: /aosp_15_r20/external/apache-commons-lang/src/site/resources/release-notes/RELEASE-NOTES-2.2.txt (revision 455610af95f3bf5f4bc8a9eda520f57e389a4c42)
1*455610afSAndroid Build Coastguard WorkerLicensed to the Apache Software Foundation (ASF) under one or more
2*455610afSAndroid Build Coastguard Workercontributor license agreements.  See the NOTICE file distributed with
3*455610afSAndroid Build Coastguard Workerthis work for additional information regarding copyright ownership.
4*455610afSAndroid Build Coastguard WorkerThe ASF licenses this file to You under the Apache License, Version 2.0
5*455610afSAndroid Build Coastguard Worker(the "License"); you may not use this file except in compliance with
6*455610afSAndroid Build Coastguard Workerthe License.  You may obtain a copy of the License at
7*455610afSAndroid Build Coastguard Worker
8*455610afSAndroid Build Coastguard Workerhttp://www.apache.org/licenses/LICENSE-2.0
9*455610afSAndroid Build Coastguard Worker
10*455610afSAndroid Build Coastguard WorkerUnless required by applicable law or agreed to in writing, software
11*455610afSAndroid Build Coastguard Workerdistributed under the License is distributed on an "AS IS" BASIS,
12*455610afSAndroid Build Coastguard WorkerWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*455610afSAndroid Build Coastguard WorkerSee the License for the specific language governing permissions and
14*455610afSAndroid Build Coastguard Workerlimitations under the License.
15*455610afSAndroid Build Coastguard Worker
16*455610afSAndroid Build Coastguard Worker=============================================================================
17*455610afSAndroid Build Coastguard Worker
18*455610afSAndroid Build Coastguard Worker                        Commons Lang Package
19*455610afSAndroid Build Coastguard Worker                            Version 2.2
20*455610afSAndroid Build Coastguard Worker                           Release Notes
21*455610afSAndroid Build Coastguard Worker
22*455610afSAndroid Build Coastguard Worker
23*455610afSAndroid Build Coastguard WorkerINTRODUCTION:
24*455610afSAndroid Build Coastguard Worker
25*455610afSAndroid Build Coastguard WorkerThis document contains the release notes for the 2.2 version of Apache Jakarta Commons Lang.
26*455610afSAndroid Build Coastguard WorkerCommons Lang is a set of utility functions and reusable components that
27*455610afSAndroid Build Coastguard Workershould be of use in any Java environment.
28*455610afSAndroid Build Coastguard Worker
29*455610afSAndroid Build Coastguard WorkerINCOMPATIBLE CHANGES WITH VERSION 2.1:
30*455610afSAndroid Build Coastguard Worker
31*455610afSAndroid Build Coastguard Worker- None
32*455610afSAndroid Build Coastguard Worker
33*455610afSAndroid Build Coastguard WorkerADDITIONAL INCOMPATIBLE CHANGES WITH VERSION 2.0:
34*455610afSAndroid Build Coastguard Worker
35*455610afSAndroid Build Coastguard Worker- The Nestable interface defines the method indexOfThrowable(Class).
36*455610afSAndroid Build Coastguard WorkerPreviously the implementations checked only for a specific Class.
37*455610afSAndroid Build Coastguard WorkerNow they check for subclasses of that Class as well.
38*455610afSAndroid Build Coastguard WorkerFor most situations this will be the expected behavior (i.e. it's a bug fix).
39*455610afSAndroid Build Coastguard WorkerIf it causes problems, please use the ExceptionUtils.indexOfThrowable(Class) method instead.
40*455610afSAndroid Build Coastguard WorkerNote that the ExceptionUtils method is available in v1.0 and v2.0 of commons-lang and has not been changed.
41*455610afSAndroid Build Coastguard Worker(An alternative to this is to change the public static matchSubclasses flag on NestableDelegate.
42*455610afSAndroid Build Coastguard WorkerHowever, we don't recommend that as a long-term solution.)
43*455610afSAndroid Build Coastguard Worker
44*455610afSAndroid Build Coastguard Worker- The StopWatch class has had much extra validation added.
45*455610afSAndroid Build Coastguard WorkerIf your code previously relied on unusual aspects, it may no longer work.
46*455610afSAndroid Build Coastguard Worker
47*455610afSAndroid Build Coastguard Worker- Starting with version 2.1, Ant version 1.6.x is required to build. Copy
48*455610afSAndroid Build Coastguard Workerjunit.jar to ANT_HOME/lib. You can get JUnit from https://www.junit.org. See the developer's guide
49*455610afSAndroid Build Coastguard Workerfor more details.
50*455610afSAndroid Build Coastguard Worker
51*455610afSAndroid Build Coastguard WorkerDEPRECATIONS FROM 2.1 to 2.2:
52*455610afSAndroid Build Coastguard Worker
53*455610afSAndroid Build Coastguard Worker- None
54*455610afSAndroid Build Coastguard Worker
55*455610afSAndroid Build Coastguard WorkerDEPRECATIONS FROM 2.0 to 2.1:
56*455610afSAndroid Build Coastguard Worker
57*455610afSAndroid Build Coastguard Worker- The enum package has been renamed to enums for JDK 1.5 compliance.
58*455610afSAndroid Build Coastguard WorkerAll functionality is identical, just the package has changed.
59*455610afSAndroid Build Coastguard WorkerThis package will be removed in v3.0.
60*455610afSAndroid Build Coastguard Worker
61*455610afSAndroid Build Coastguard Worker- NumberUtils.stringToInt - renamed to toInt
62*455610afSAndroid Build Coastguard Worker
63*455610afSAndroid Build Coastguard Worker- DateUtils - four constants, MILLIS_IN_* have been deprecated as they were defined
64*455610afSAndroid Build Coastguard Workeras int not long. The replacements are MILLIS_PER_*.
65*455610afSAndroid Build Coastguard Worker
66*455610afSAndroid Build Coastguard Worker
67*455610afSAndroid Build Coastguard WorkerBUG FIXES IN 2.2:
68*455610afSAndroid Build Coastguard Worker
69*455610afSAndroid Build Coastguard WorkerLANG-2    javadoc example for StringUtils.splitByWholeSeparator incorrect
70*455610afSAndroid Build Coastguard WorkerLANG-3    PADDING array in StringUtils overflows on '\uffff'
71*455610afSAndroid Build Coastguard WorkerLANG-10   [patch] ClassUtils.primitiveToWrapper and Void
72*455610afSAndroid Build Coastguard WorkerLANG-21   escapeXML() -> Not escaping low characters
73*455610afSAndroid Build Coastguard WorkerLANG-25   DurationFormatUtils.formatDurationISO() javadoc is missing T in duration string between date and time part
74*455610afSAndroid Build Coastguard WorkerLANG-37   unit test for org.apache.commons.lang.text.StrBuilder
75*455610afSAndroid Build Coastguard WorkerLANG-42   EqualsBuilder.append(Object[], Object[]) crashes with a NullPointerException if an element of the first array is null
76*455610afSAndroid Build Coastguard WorkerLANG-45   StrBuilderTest#testReplaceStringString fails.
77*455610afSAndroid Build Coastguard WorkerLANG-50   Replace Clover with Cobertura
78*455610afSAndroid Build Coastguard WorkerLANG-59   DateUtils.truncate method is buggy when dealing with DST switching hours
79*455610afSAndroid Build Coastguard WorkerLANG-100  RandomStringUtils.random() family of methods create invalid unicode sequences
80*455610afSAndroid Build Coastguard WorkerLANG-105  ExceptionUtils goes into infinite loop in getThrowables is throwable.getCause() == throwable
81*455610afSAndroid Build Coastguard WorkerLANG-106  StringUtils#getLevenshteinDistance() performance is suboptimal
82*455610afSAndroid Build Coastguard WorkerLANG-112  Wrong length check in StrTokenizer.StringMatcher
83*455610afSAndroid Build Coastguard WorkerLANG-117  FastDateFormat: wrong format for date "01.01.1000"
84*455610afSAndroid Build Coastguard WorkerLANG-122  EscapeUtil.escapeHtml() should clarify that it does not escape ' chars to '
85*455610afSAndroid Build Coastguard WorkerLANG-123  Unclear javadoc for DateUtils.iterator()
86*455610afSAndroid Build Coastguard WorkerLANG-127  Minor tweak to fix of bug # 26616
87*455610afSAndroid Build Coastguard WorkerLANG-130  Memory "leak" in StringUtils
88*455610afSAndroid Build Coastguard WorkerLANG-140  DurationFormatUtils.formatPeriod() returns the wrong result
89*455610afSAndroid Build Coastguard WorkerLANG-141  Fraction.toProperString() returns -1/1 for -1
90*455610afSAndroid Build Coastguard WorkerLANG-148  Performance modifications on StringUtils.replace
91*455610afSAndroid Build Coastguard WorkerLANG-150  StringEscapeUtils.unescapeHtml skips first entity after standalone ampersand
92*455610afSAndroid Build Coastguard WorkerLANG-152  DurationFormatUtils.formatDurationWords "11 <unit>s" gets converted to "11 <unit>"
93*455610afSAndroid Build Coastguard WorkerLANG-259  ValuedEnum.compareTo(Object other) not typesafe - it easily could be...
94*455610afSAndroid Build Coastguard WorkerLANG-261  Error in an example in the javadoc of the StringUtils.splitPreserveAllTokens() method
95*455610afSAndroid Build Coastguard WorkerLANG-264  ToStringBuilder/HashCodeBuilder javadoc code examples
96*455610afSAndroid Build Coastguard WorkerLANG-271  LocaleUtils test fails under Mustang
97*455610afSAndroid Build Coastguard WorkerLANG-272  Minor build and checkstyle changes
98*455610afSAndroid Build Coastguard WorkerLANG-277  Javadoc errors on StringUtils.splitPreserveAllTokens(String, char)
99*455610afSAndroid Build Coastguard WorkerLANG-278  javadoc for StringUtils.removeEnd is incorrect
100*455610afSAndroid Build Coastguard Worker
101*455610afSAndroid Build Coastguard WorkerIMPROVEMENTS IN 2.2:
102*455610afSAndroid Build Coastguard Worker
103*455610afSAndroid Build Coastguard WorkerLANG-159  Add WordUtils.getInitials(String)
104*455610afSAndroid Build Coastguard WorkerLANG-161  Add methods and tests to StrBuilder
105*455610afSAndroid Build Coastguard WorkerLANG-162  replace() length calculation improvement
106*455610afSAndroid Build Coastguard WorkerLANG-165  parseDate with TimeZone
107*455610afSAndroid Build Coastguard WorkerLANG-166  New interpolation features
108*455610afSAndroid Build Coastguard WorkerLANG-169  Implementation of escape/unescapeHtml methods with Writer
109*455610afSAndroid Build Coastguard WorkerLANG-176  CompareToBuilder excludeFields for reflection method
110*455610afSAndroid Build Coastguard WorkerLANG-186  Request for MutableBoolean implementation
111*455610afSAndroid Build Coastguard WorkerLANG-194  add generic add method to DateUtils
112*455610afSAndroid Build Coastguard WorkerLANG-198  New method for EqualsBuilder
113*455610afSAndroid Build Coastguard WorkerLANG-212  New ExceptionUtils method setCause()
114*455610afSAndroid Build Coastguard WorkerLANG-216  Provides a Class.getPublicMethod which returns public invocable Method
115*455610afSAndroid Build Coastguard WorkerLANG-217  Add Mutable<Type> to<Type>() methods.
116*455610afSAndroid Build Coastguard WorkerLANG-220  Tokenizer Enhancements: reset input string, static CSV/TSV factories
117*455610afSAndroid Build Coastguard WorkerLANG-226  Using ReflectionToStringBuilder and excluding secure fields
118*455610afSAndroid Build Coastguard WorkerLANG-242  Trivial cleanup of javadoc in various files
119*455610afSAndroid Build Coastguard WorkerLANG-246  CompositeFormat
120*455610afSAndroid Build Coastguard WorkerLANG-250  Performance boost for RandomStringUtils
121*455610afSAndroid Build Coastguard WorkerLANG-254  Enhanced Class.forName version
122*455610afSAndroid Build Coastguard WorkerLANG-260  StringEscapeUtils should expose escape*() methods taking Writer argument
123*455610afSAndroid Build Coastguard WorkerLANG-263  Add StringUtils.containsIgnoreCase(...)
124*455610afSAndroid Build Coastguard WorkerLANG-267  Support char array converters on ArrayUtils
125*455610afSAndroid Build Coastguard WorkerLANG-270  minor javadoc improvements for StringUtils.stripXxx() methods
126*455610afSAndroid Build Coastguard Worker          New ExceptionUtils methods getMessage/getRootCauseMessage
127*455610afSAndroid Build Coastguard Worker
128