xref: /aosp_15_r20/external/apache-commons-lang/src/site/resources/release-notes/RELEASE-NOTES-3.10.txt (revision 455610af95f3bf5f4bc8a9eda520f57e389a4c42)
1*455610afSAndroid Build Coastguard Worker
2*455610afSAndroid Build Coastguard WorkerLicensed to the Apache Software Foundation (ASF) under one or more
3*455610afSAndroid Build Coastguard Workercontributor license agreements.  See the NOTICE file distributed with
4*455610afSAndroid Build Coastguard Workerthis work for additional information regarding copyright ownership.
5*455610afSAndroid Build Coastguard WorkerThe ASF licenses this file to You under the Apache License, Version 2.0
6*455610afSAndroid Build Coastguard Worker(the "License"); you may not use this file except in compliance with
7*455610afSAndroid Build Coastguard Workerthe License.  You may obtain a copy of the License at
8*455610afSAndroid Build Coastguard Worker
9*455610afSAndroid Build Coastguard Workerhttp://www.apache.org/licenses/LICENSE-2.0
10*455610afSAndroid Build Coastguard Worker
11*455610afSAndroid Build Coastguard WorkerUnless required by applicable law or agreed to in writing, software
12*455610afSAndroid Build Coastguard Workerdistributed under the License is distributed on an "AS IS" BASIS,
13*455610afSAndroid Build Coastguard WorkerWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*455610afSAndroid Build Coastguard WorkerSee the License for the specific language governing permissions and
15*455610afSAndroid Build Coastguard Workerlimitations under the License.
16*455610afSAndroid Build Coastguard Worker
17*455610afSAndroid Build Coastguard Worker
18*455610afSAndroid Build Coastguard Worker                        Apache Commons Lang
19*455610afSAndroid Build Coastguard Worker                        Version 3.10
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 3.10 version of Apache Commons Lang.
26*455610afSAndroid Build Coastguard WorkerCommons Lang is a set of utility functions and reusable components that should be of use in any
27*455610afSAndroid Build Coastguard WorkerJava environment.
28*455610afSAndroid Build Coastguard Worker
29*455610afSAndroid Build Coastguard WorkerLang 3.9 and onwards now targets Java 8, making use of features that arrived with Java 8.
30*455610afSAndroid Build Coastguard Worker
31*455610afSAndroid Build Coastguard WorkerFor the advice on upgrading from 2.x to 3.x, see the following page:
32*455610afSAndroid Build Coastguard Worker
33*455610afSAndroid Build Coastguard Worker    https://commons.apache.org/lang/article3_0.html
34*455610afSAndroid Build Coastguard Worker
35*455610afSAndroid Build Coastguard WorkerApache Commons Lang, a package of Java utility classes for the
36*455610afSAndroid Build Coastguard Workerclasses that are in java.lang's hierarchy, or are considered to be so
37*455610afSAndroid Build Coastguard Workerstandard as to justify existence in java.lang.
38*455610afSAndroid Build Coastguard Worker
39*455610afSAndroid Build Coastguard WorkerNew features and bug fixes. Requires Java 8, supports Java 9, 10, 11.
40*455610afSAndroid Build Coastguard Worker
41*455610afSAndroid Build Coastguard WorkerChanges in this version include:
42*455610afSAndroid Build Coastguard Worker
43*455610afSAndroid Build Coastguard WorkerNew features:
44*455610afSAndroid Build Coastguard Workero LANG-1457: Add ExceptionUtils.throwableOfType(Throwable, Class) and friends.
45*455610afSAndroid Build Coastguard Workero LANG-1458: Add EMPTY_ARRAY constants to classes in org.apache.commons.lang3.tuple.
46*455610afSAndroid Build Coastguard Workero LANG-1461: Add null-safe StringUtils APIs to wrap String#getBytes([Charset|String]).
47*455610afSAndroid Build Coastguard Workero LANG-1467: Add zero arg constructor for org.apache.commons.lang3.NotImplementedException.
48*455610afSAndroid Build Coastguard Workero LANG-1470: Add ArrayUtils.addFirst() methods.
49*455610afSAndroid Build Coastguard Workero LANG-1479: Add Range.fit(T) to fit a value into a range.
50*455610afSAndroid Build Coastguard Workero LANG-1477: Added Functions.as*, and tests thereof, as suggested by Peter Verhas
51*455610afSAndroid Build Coastguard Workero LANG-1485: Add getters for lhs and rhs objects in DiffResult #451. Thanks to nicolasbd.
52*455610afSAndroid Build Coastguard Workero LANG-1486: Generify builder classes Diffable, DiffBuilder, and DiffResult #452. Thanks to Gary Gregory.
53*455610afSAndroid Build Coastguard Workero LANG-1487: Add ClassLoaderUtils with toString() implementations #453. Thanks to Gary Gregory.
54*455610afSAndroid Build Coastguard Workero LANG-1489: Add null-safe APIs as StringUtils.toRootLowerCase(String) and StringUtils.toRootUpperCase(String) #456. Thanks to Gary Gregory.
55*455610afSAndroid Build Coastguard Workero LANG-1494: Add org.apache.commons.lang3.time.Calendars. Thanks to Gary Gregory.
56*455610afSAndroid Build Coastguard Workero LANG-1495: Add EnumUtils getEnum() methods with default values #475. Thanks to Cheong Voon Leong.
57*455610afSAndroid Build Coastguard Workero LANG-1177: Added indexesOf methods and simplified removeAllOccurences #471. Thanks to Liel Fridman.
58*455610afSAndroid Build Coastguard Workero LANG-1498: Add support of lambda value evaluation for defaulting methods #416. Thanks to Lysergid, Gary Gregory.
59*455610afSAndroid Build Coastguard Workero LANG-1503: Add factory methods to Pair classes with Map.Entry input. #454. Thanks to XenoAmess, Gary Gregory.
60*455610afSAndroid Build Coastguard Workero LANG-1505: Add StopWatch convenience APIs to format times and create a simple instance. Thanks to Gary Gregory.
61*455610afSAndroid Build Coastguard Workero LANG-1506: Allow a StopWatch to carry an optional message. Thanks to Gary Gregory.
62*455610afSAndroid Build Coastguard Workero LANG-1507: Add ComparableUtils #398. Thanks to Sam Kruglov, Mark Dacek, Marc Magon, Pascal Schumacher, Rob Tompkins, Bruno P. Kinoshita, Amey Jadiye, Gary Gregory.
63*455610afSAndroid Build Coastguard Workero LANG-1508: Add org.apache.commons.lang3.SystemUtils.getUserName(). Thanks to Gary Gregory.
64*455610afSAndroid Build Coastguard Workero LANG-1509: Add ObjectToStringComparator. #483. Thanks to Gary Gregory.
65*455610afSAndroid Build Coastguard Workero LANG-1510: Add org.apache.commons.lang3.arch.Processor.Arch.getLabel(). Thanks to Gary Gregory.
66*455610afSAndroid Build Coastguard Workero LANG-1512: Add IS_JAVA_14 and IS_JAVA_15 to org.apache.commons.lang3.SystemUtils. Thanks to Gary Gregory.
67*455610afSAndroid Build Coastguard Workero LANG-1513: ObjectUtils: Get first non-null supplier value. Thanks to Bernhard Bonigl, Gary Gregory.
68*455610afSAndroid Build Coastguard Workero            Added the Streams class, and Functions.stream() as an accessor thereof.
69*455610afSAndroid Build Coastguard Worker
70*455610afSAndroid Build Coastguard WorkerFixed Bugs:
71*455610afSAndroid Build Coastguard Workero LANG-1514: Make test more stable by wrapping assertions in hashset. Thanks to contextshuffling.
72*455610afSAndroid Build Coastguard Workero LANG-1450: Generate Javadoc jar on build.
73*455610afSAndroid Build Coastguard Workero LANG-1460: Trivial: year of release for 3.9 says 2018, should be 2019 Thanks to Larry West.
74*455610afSAndroid Build Coastguard Workero LANG-1476: Use synchronize on a set created with Collections.synchronizedSet before iterating Thanks to emopers.
75*455610afSAndroid Build Coastguard Workero LANG-1475: StringUtils.unwrap incorrect throw StringIndexOutOfBoundsException. Thanks to stzx.
76*455610afSAndroid Build Coastguard Workero LANG-1406: StringIndexOutOfBoundsException in StringUtils.replaceIgnoreCase #423. Thanks to geratorres.
77*455610afSAndroid Build Coastguard Workero LANG-1453: StringUtils.removeIgnoreCase("?a", "a") throws IndexOutOfBoundsException #423. Thanks to geratorres.
78*455610afSAndroid Build Coastguard Workero LANG-1426: Corrected usage examples in Javadocs #458. Thanks to Brower, Mikko Maunu, Suraj Gautam.
79*455610afSAndroid Build Coastguard Workero LANG-1463: StringUtils abbreviate returns String of length greater than maxWidth #477. Thanks to bbeckercscc, Gary Gregory.
80*455610afSAndroid Build Coastguard Workero LANG-1500: Test may fail due to a different order of fields returned by reflection api #480. Thanks to contextshuffling.
81*455610afSAndroid Build Coastguard Workero LANG-1501: Sort fields in ReflectionToStringBuilder for deterministic order #481. Thanks to contextshuffling.
82*455610afSAndroid Build Coastguard Workero LANG-1433: MethodUtils will throw a NPE if invokeMethod() is called for a var-args method #407. Thanks to Christian Franzen.
83*455610afSAndroid Build Coastguard Workero LANG-1518: MethodUtils.getAnnotation() with searchSupers = true does not work if super is generic #494. Thanks to Michele Preti, Bruno P. Kinoshita, Gary Gregory.
84*455610afSAndroid Build Coastguard Worker
85*455610afSAndroid Build Coastguard WorkerChanges:
86*455610afSAndroid Build Coastguard Workero LANG-1437: Remove redundant if statements in join methods #411. Thanks to Andrei Troie.
87*455610afSAndroid Build Coastguard Workero            commons.japicmp.version 0.13.1 -> 0.14.1.
88*455610afSAndroid Build Coastguard Workero            junit-jupiter 5.5.0 -> 5.5.1.
89*455610afSAndroid Build Coastguard Workero            junit-jupiter 5.5.1 -> 5.5.2.
90*455610afSAndroid Build Coastguard Workero            Improve Javadoc based on the discussion of the GitHub PR #459. Thanks to Jonathan Leitschuh, Bruno P. Kinoshita, Rob Tompkins, Gary Gregory.
91*455610afSAndroid Build Coastguard Workero            maven-checkstyle-plugin 3.0.0 -> 3.1.0.
92*455610afSAndroid Build Coastguard Workero LANG-696:  Update documentation related to the issue LANG-696 #449. Thanks to Peter Verhas.
93*455610afSAndroid Build Coastguard Workero            AnnotationUtils little cleanup #467. Thanks to Peter Verhas.
94*455610afSAndroid Build Coastguard Workero            Update test dependency: org.easymock:easymock 4.0.2 -> 4.1. Thanks to Gary Gregory.
95*455610afSAndroid Build Coastguard Workero            Update test dependency: org.hamcrest:hamcrest 2.1 -> 2.2. Thanks to Gary Gregory.
96*455610afSAndroid Build Coastguard Workero            Update test dependency: org.junit-pioneer:junit-pioneer 0.3.0 -> 0.4.2. Thanks to Gary Gregory.
97*455610afSAndroid Build Coastguard Workero            Update build dependency: com.puppycrawl.tools:checkstyle 8.18 -> 8.27. Thanks to Gary Gregory.
98*455610afSAndroid Build Coastguard Workero            Update POM parent: org.apache.commons:commons-parent 48 -> 50. Thanks to Gary Gregory.
99*455610afSAndroid Build Coastguard Workero            BooleanUtils Javadoc #469. Thanks to Peter Verhas.
100*455610afSAndroid Build Coastguard Workero            Functions Javadoc #466. Thanks to Peter Verhas.
101*455610afSAndroid Build Coastguard Workero            org.easymock:easymock 4.1 -> 4.2. Thanks to Gary Gregory.
102*455610afSAndroid Build Coastguard Workero            org.junit-pioneer:junit-pioneer 0.4.2 -> 0.5.4. Thanks to Gary Gregory.
103*455610afSAndroid Build Coastguard Workero            org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.0. Thanks to Gary Gregory.
104*455610afSAndroid Build Coastguard Workero            Use Javadoc {@code} instead of pre tags. #490. Thanks to Peter Verhas.
105*455610afSAndroid Build Coastguard Workero            ExceptionUtilsTest to 100% #486. Thanks to Peter Verhas.
106*455610afSAndroid Build Coastguard Workero            Reuse own code in Functions.java #493. Thanks to Peter Verhas.
107*455610afSAndroid Build Coastguard Workero LANG-1523: Avoid unnecessary allocation in StringUtils.wrapIfMissing. #496. Thanks to Edgar Asatryan, Bruno P. Kinoshita, Gary Gregory.
108*455610afSAndroid Build Coastguard Workero LANG-1525: Internally use Validate.notNull(foo, ...) instead of Validate.isTrue(foo != null, ...). Thanks to Edgar Asatryan, Bruno P. Kinoshita, Gary Gregory.
109*455610afSAndroid Build Coastguard Workero LANG-1526: Add 1 and 0 in toBooleanObject(final String str) #502. Thanks to Dominik Schramm.
110*455610afSAndroid Build Coastguard Workero LANG-1527: Remove a redundant argument check in NumberUtils #504. Thanks to Pengyu Nie.
111*455610afSAndroid Build Coastguard Workero LANG-1529: Deprecate org.apache.commons.lang3.ArrayUtils.removeAllOccurences(*) for org.apache.commons.lang3.ArrayUtils.removeAllOccurrences(*). Thanks to Gary Gregory, BillCindy, Bruno P. Kinoshita.
112*455610afSAndroid Build Coastguard Worker
113*455610afSAndroid Build Coastguard Worker
114*455610afSAndroid Build Coastguard WorkerHistorical list of changes: https://commons.apache.org/proper/commons-lang/changes-report.html
115*455610afSAndroid Build Coastguard Worker
116*455610afSAndroid Build Coastguard WorkerFor complete information on Apache Commons Lang, including instructions on how to submit bug reports,
117*455610afSAndroid Build Coastguard Workerpatches, or suggestions for improvement, see the Apache Commons Lang website:
118*455610afSAndroid Build Coastguard Worker
119*455610afSAndroid Build Coastguard Workerhttps://commons.apache.org/proper/commons-lang/
120*455610afSAndroid Build Coastguard Worker
121*455610afSAndroid Build Coastguard WorkerDownload page: https://commons.apache.org/proper/commons-lang/download_lang.cgi
122