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