[ANNOUNCEMENT] Apache Commons Lang 3.10

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[ANNOUNCEMENT] Apache Commons Lang 3.10

Gary Gregory-3
The Apache Commons Team is please to announce the release of Apache Commons
Lang 3.10.

Commons Lang is a set of utility functions and reusable components that
should be of use in any  Java environment.

Lang 3.9 and onwards now targets Java 8, making use of features that
arrived with Java 8.

For the advice on upgrading from 2.x to 3.x, see the following page:


Apache Commons Lang, a package of Java utility classes for the
classes that are in java.lang's hierarchy, or are considered to be so
standard as to justify existence in java.lang.

New features and bug fixes. Requires Java 8, supports Java 9, 10, 11.

Changes in this version include:

New features:
o LANG-1457: Add ExceptionUtils.throwableOfType(Throwable, Class) and
o LANG-1458: Add EMPTY_ARRAY constants to classes in
o LANG-1461: Add null-safe StringUtils APIs to wrap
o LANG-1467: Add zero arg constructor for
o LANG-1470: Add ArrayUtils.addFirst() methods.
o LANG-1479: Add Range.fit(T) to fit a value into a range.
o LANG-1477: Added Functions.as*, and tests thereof, as suggested by Peter
o LANG-1485: Add getters for lhs and rhs objects in DiffResult #451. Thanks
to nicolasbd.
o LANG-1486: Generify builder classes Diffable, DiffBuilder, and DiffResult
#452. Thanks to Gary Gregory.
o LANG-1487: Add ClassLoaderUtils with toString() implementations #453.
Thanks to Gary Gregory.
o LANG-1489: Add null-safe APIs as StringUtils.toRootLowerCase(String) and
StringUtils.toRootUpperCase(String) #456. Thanks to Gary Gregory.
o LANG-1494: Add org.apache.commons.lang3.time.Calendars. Thanks to Gary
o LANG-1495: Add EnumUtils getEnum() methods with default values #475.
Thanks to Cheong Voon Leong.
o LANG-1177: Added indexesOf methods and simplified removeAllOccurences
#471. Thanks to Liel Fridman.
o LANG-1498: Add support of lambda value evaluation for defaulting methods
#416. Thanks to Lysergid, Gary Gregory.
o LANG-1503: Add factory methods to Pair classes with Map.Entry input.
#454. Thanks to XenoAmess, Gary Gregory.
o LANG-1505: Add StopWatch convenience APIs to format times and create a
simple instance. Thanks to Gary Gregory.
o LANG-1506: Allow a StopWatch to carry an optional message. Thanks to Gary
o LANG-1507: Add ComparableUtils #398. Thanks to Sam Kruglov, Mark Dacek,
Marc Magon, Pascal Schumacher, Rob Tompkins, Bruno P. Kinoshita, Amey
Jadiye, Gary Gregory.
o LANG-1508: Add org.apache.commons.lang3.SystemUtils.getUserName(). Thanks
to Gary Gregory.
o LANG-1509: Add ObjectToStringComparator. #483. Thanks to Gary Gregory.
o LANG-1510: Add org.apache.commons.lang3.arch.Processor.Arch.getLabel().
Thanks to Gary Gregory.
o LANG-1512: Add IS_JAVA_14 and IS_JAVA_15 to
org.apache.commons.lang3.SystemUtils. Thanks to Gary Gregory.
o LANG-1513: ObjectUtils: Get first non-null supplier value. Thanks to
Bernhard Bonigl, Gary Gregory.
o            Added the Streams class, and Functions.stream() as an accessor

Fixed Bugs:
o LANG-1514: Make test more stable by wrapping assertions in hashset.
Thanks to contextshuffling.
o LANG-1450: Generate Javadoc jar on build.
o LANG-1460: Trivial: year of release for 3.9 says 2018, should be 2019
Thanks to Larry West.
o LANG-1476: Use synchronize on a set created with
Collections.synchronizedSet before iterating Thanks to emopers.
o LANG-1475: StringUtils.unwrap incorrect throw
StringIndexOutOfBoundsException. Thanks to stzx.
o LANG-1406: StringIndexOutOfBoundsException in
StringUtils.replaceIgnoreCase #423. Thanks to geratorres.
o LANG-1453: StringUtils.removeIgnoreCase("?a", "a") throws
IndexOutOfBoundsException #423. Thanks to geratorres.
o LANG-1426: Corrected usage examples in Javadocs #458. Thanks to Brower,
Mikko Maunu, Suraj Gautam.
o LANG-1463: StringUtils abbreviate returns String of length greater than
maxWidth #477. Thanks to bbeckercscc, Gary Gregory.
o LANG-1500: Test may fail due to a different order of fields returned by
reflection api #480. Thanks to contextshuffling.
o LANG-1501: Sort fields in ReflectionToStringBuilder for deterministic
order #481. Thanks to contextshuffling.
o LANG-1433: MethodUtils will throw a NPE if invokeMethod() is called for a
var-args method #407. Thanks to Christian Franzen.
o LANG-1518: MethodUtils.getAnnotation() with searchSupers = true does not
work if super is generic #494. Thanks to Michele Preti, Bruno P. Kinoshita,
Gary Gregory.

o LANG-1437: Remove redundant if statements in join methods #411. Thanks to
Andrei Troie.
o            commons.japicmp.version 0.13.1 -> 0.14.1.
o            junit-jupiter 5.5.0 -> 5.5.1.
o            junit-jupiter 5.5.1 -> 5.5.2.
o            Improve Javadoc based on the discussion of the GitHub PR #459.
Thanks to Jonathan Leitschuh, Bruno P. Kinoshita, Rob Tompkins, Gary
o            maven-checkstyle-plugin 3.0.0 -> 3.1.0.
o LANG-696:  Update documentation related to the issue LANG-696 #449.
Thanks to Peter Verhas.
o            AnnotationUtils little cleanup #467. Thanks to Peter Verhas.
o            Update test dependency: org.easymock:easymock 4.0.2 -> 4.1.
Thanks to Gary Gregory.
o            Update test dependency: org.hamcrest:hamcrest 2.1 -> 2.2.
Thanks to Gary Gregory.
o            Update test dependency: org.junit-pioneer:junit-pioneer 0.3.0
-> 0.4.2. Thanks to Gary Gregory.
o            Update build dependency: com.puppycrawl.tools:checkstyle 8.18
-> 8.27. Thanks to Gary Gregory.
o            Update POM parent: org.apache.commons:commons-parent 48 -> 50.
Thanks to Gary Gregory.
o            BooleanUtils Javadoc #469. Thanks to Peter Verhas.
o            Functions Javadoc #466. Thanks to Peter Verhas.
o            org.easymock:easymock 4.1 -> 4.2. Thanks to Gary Gregory.
o            org.junit-pioneer:junit-pioneer 0.4.2 -> 0.5.4. Thanks to Gary
o            org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.0. Thanks to Gary
o            Use Javadoc {@code} instead of pre tags. #490. Thanks to Peter
o            ExceptionUtilsTest to 100% #486. Thanks to Peter Verhas.
o            Reuse own code in Functions.java #493. Thanks to Peter Verhas.
o LANG-1523: Avoid unnecessary allocation in StringUtils.wrapIfMissing.
#496. Thanks to Edgar Asatryan, Bruno P. Kinoshita, Gary Gregory.
o LANG-1525: Internally use Validate.notNull(foo, ...) instead of
Validate.isTrue(foo != null, ...). Thanks to Edgar Asatryan, Bruno P.
Kinoshita, Gary Gregory.
o LANG-1526: Add 1 and 0 in toBooleanObject(final String str) #502. Thanks
to Dominik Schramm.
o LANG-1527: Remove an redundant argument check in NumberUtils #504. Thanks
to Pengyu Nie.
o LANG-1529: Deprecate
org.apache.commons.lang3.ArrayUtils.removeAllOccurences(*) for
org.apache.commons.lang3.ArrayUtils.removeAllOccurrences(*). Thanks to Gary
Gregory, BillCindy, Bruno P. Kinoshita.

Historical list of changes:

For complete information on Apache Commons Lang, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Lang


Download page:

Gary Gregory,
on behalf of the the Apache Commons Team