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