| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| |
| Apache Commons Lang |
| Version 3.10-SNAPSHOT |
| Release Notes |
| |
| |
| INTRODUCTION: |
| |
| This document contains the release notes for the 3.10-SNAPSHOT version of Apache Commons Lang. |
| 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: |
| |
| https://commons.apache.org/lang/article3_0.html |
| |
| 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 friends. |
| o LANG-1458: Add EMPTY_ARRAY constants to classes in org.apache.commons.lang3.tuple. |
| o LANG-1461: Add null-safe StringUtils APIs to wrap String#getBytes([Charset|String]). |
| o LANG-1467: Add zero arg constructor for org.apache.commons.lang3.NotImplementedException. |
| 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 Verhas |
| 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 Gregory. |
| 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 Gregory. |
| 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 thereof. |
| |
| 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. |
| |
| Changes: |
| 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 Gregory. |
| 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 Gregory. |
| o org.junit.jupiter:junit-jupiter 5.5.2 -> 5.6.0. Thanks to Gary Gregory. |
| o Use Javadoc {@code} instead of pre tags. #490. Thanks to Peter Verhas. |
| 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: https://commons.apache.org/proper/commons-lang/changes-report.html |
| |
| 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 website: |
| |
| https://commons.apache.org/proper/commons-lang/ |