Preparing 3.8

This commit is contained in:
Rob Tompkins 2018-08-14 22:08:20 -04:00
parent c3de2d69ce
commit 14e7f8db27
3 changed files with 194 additions and 124 deletions

View File

@ -14,6 +14,74 @@ 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.8
Release Notes
INTRODUCTION:
This document contains the release notes for the 3.8 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.0 and onwards now targets Java 5.0, making use of features that arrived with Java 5.0 such as generics,
variable arguments, autoboxing, concurrency and formatted output.
For the advice on upgrading from 2.x to 3.x, see the following page:
http://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 7, supports Java 8, 9, 10.
Changes in this version include:
New features:
o LANG-1352: EnumUtils.getEnumIgnoreCase and isValidEnumIgnoreCase methods added Thanks to Ruslan Sibgatullin.
o LANG-1372: Add ToStringSummary annotation Thanks to Sérgio Ozaki.
o LANG-1356: Add bypass option for classes to recursive and reflective EqualsBuilder Thanks to Yathos UG.
o LANG-1391: Improve Javadoc for StringUtils.isAnyEmpty(null) Thanks to Sauro Matulli, Oleg Chubaryov.
o LANG-1393: Add API SystemUtils.String getEnvironmentVariable(final String name, final String defaultValue) Thanks to Gary Gregory.
o LANG-1394: org.apache.commons.lang3.SystemUtils should not write to System.err. Thanks to Sebb, Gary Gregory.
o LANG-1238: Add RegexUtils class instead of overloading methods in StringUtils that take a regex to take precompiled Pattern. Thanks to Christopher Cordeiro, Gary Gregory, Bruno P. Kinoshita, Oleg Chubaryov.
o LANG-1290: StringUtils.join() with support for List<?> with configurable start/end indices. Thanks to Jochen Schalanda.
o LANG-1392: Methods for getting first non empty or non blank value Thanks to Jeff Nelson.
o LANG-1408: Rounding utilities for converting to BigDecimal
Fixed Bugs:
o LANG-1380: FastDateParser too strict on abbreviated short month symbols Thanks to Markus Jelsma.
o LANG-1396: JsonToStringStyle does not escape string names
o LANG-1395: JsonToStringStyle does not escape double quote in a string value Thanks to Jim Gan.
o LANG-1384: New Java version ("11") must be handled Thanks to Ian Young.
o LANG-1364: ExceptionUtils#getRootCause(Throwable t) should return t if no lower level cause exists Thanks to Zheng Xie.
o LANG-1060: NumberUtils.isNumber assumes number starting with Zero Thanks to Piotr Kosmala.
o LANG-1375: defaultString(final String str) in StringUtils to reuse defaultString(final String str, final String defaultStr) Thanks to Jerry Zhao.
o LANG-1374: Parsing Json Array failed Thanks to Jaswanth Bala.
o LANG-1371: Fix TypeUtils#parameterize to work correctly with narrower-typed array Thanks to Dmitry Ovchinnikov.
o LANG-1370: Fix EventCountCircuitBreaker increment batch Thanks to Andre Dieb.
o LANG-1385: NumberUtils.createNumber() throws StringIndexOutOfBoundsException instead of NumberFormatException Thanks to Rohan Padhye.
o LANG-1397: WordUtils.wrap throws StringIndexOutOfBoundsException when wrapLength is Integer.MAX_VALUE. Thanks to Takanobu Asanuma.
o LANG-1401: Typo in JavaDoc for lastIndexOf Thanks to Roman Golyshev, Alex Mamedov.
Changes:
o LANG-1367: ObjectUtils.identityToString(Object) and friends should allocate builders and buffers with a size Thanks to Gary Gregory.
o LANG-1405: Remove checks for java versions below the minimum supported one Thanks to Lars Grefer.
o LANG-1402: Null/index safe get methods for ArrayUtils Thanks to Mark Dacek.
Historical list of changes: http://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:
http://commons.apache.org/proper/commons-lang/
=============================================================================
Apache Commons Lang
@ -59,14 +127,6 @@ o LANG-1358: Improve StringUtils#replace throughput Thanks to Stephane Landelle.
o LANG-1346: Remove deprecation from RandomStringUtils
o LANG-1361: ExceptionUtils.getThrowableList() is using deprecated ExceptionUtils.getCause() Thanks to Ana.
Historical list of changes: http://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:
http://commons.apache.org/proper/commons-lang/
=============================================================================
Apache Commons Lang
@ -174,7 +234,7 @@ o LANG-1034: Add support for recursive comparison to
o LANG-1067: Add a reflection-based variant of DiffBuilder.
o LANG-740: Implementation of a Memomizer. Thanks to James Sawle.
o LANG-1258: Add ArrayUtils#toStringArray method.
Thanks to IG, Grzegorz Rożniecki.
Thanks to IG, Grzegorz Ro?niecki.
o LANG-1160: StringUtils#abbreviate should support 'custom ellipses' parameter.
o LANG-1293: Add StringUtils#isAllEmpty and #isAllBlank methods.
Thanks to Pierre Templier, Martin Tarjanyi.
@ -203,7 +263,7 @@ o LANG-1292: WordUtils.wrap throws StringIndexOutOfBoundsException.
o LANG-1287: RandomStringUtils#random can enter infinite loop if end parameter
is to small. Thanks to Ivan Morozov.
o LANG-1285: NullPointerException in FastDateParser$TimeZoneStrategy.
Thanks to Francesco Chicchiriccò.
Thanks to Francesco Chicchiriccò.
o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
Thanks to Andreas Lundblad.
o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible heap
@ -447,7 +507,7 @@ o LANG-1232: DiffBuilder: Add null check on fieldName when appending Object or
Object[]. Thanks to Nick Manley.
o LANG-1178: ArrayUtils.removeAll(Object array, int... indices) should do the
clone, not its callers. Thanks to Henri Yandell.
o LANG-1120: StringUtils.stripAccents should remove accents from "Ł" and "ł".
o LANG-1120: StringUtils.stripAccents should remove accents from "?" and "?".
Thanks to kaching88.
o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
NumberUtils.isNumber(). Thanks to pbrose.
@ -521,9 +581,9 @@ o LANG-1176: Improve ArrayUtils removeElements time complexity to O(n). Thanks
to Jeffery Yuan.
o LANG-1234: getLevenshteinDistance with a threshold: optimize implementation
if the strings lengths differ more than the threshold. Thanks to
Jonatan Jönsson.
Jonatan Jönsson.
o LANG-1151: Performance improvements for NumberUtils.isParsable. Thanks to
Juan Pablo Santos Rodríguez.
Juan Pablo Santos Rodríguez.
o LANG-1218: EqualsBuilder.append(Object,Object) is too big to be inlined,
which prevents whole builder to be scalarized. Thanks to
Ruslan Cheremin.
@ -535,7 +595,7 @@ o LANG-1182: Clarify Javadoc of StringUtils.containsAny(). Thanks to
o LANG-1183: Making replacePattern/removePattern methods null safe in
StringUtils.
o LANG-1057: Replace StringBuilder with String concatenation for better
optimization. Thanks to Otávio Santana.
optimization. Thanks to Otávio Santana.
o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
SystemUtils.PATH_SEPARATOR.
o LANG-979: TypeUtils.parameterizeWithOwner - wrong format descriptor for
@ -582,13 +642,13 @@ o LANG-1080: Add NoClassNameToStringStyle implementation of ToStringStyle.
Thanks to Innokenty Shuvalov.
o LANG-883: Add StringUtils.containsAny(CharSequence, CharSequence...) method.
Thanks to Daniel Stewart.
o LANG-1052: Multiline recursive to string style. Thanks to Jan Matèrne.
o LANG-1052: Multiline recursive to string style. Thanks to Jan Matèrne.
o LANG-536: Add isSorted() to ArrayUtils. Thanks to James Sawle.
o LANG-1033: Add StringUtils.countMatches(CharSequence, char)
o LANG-1021: Provide methods to retrieve all fields/methods annotated with a
specific type. Thanks to Alexander Müller.
specific type. Thanks to Alexander Müller.
o LANG-1016: NumberUtils#isParsable method(s). Thanks to
Juan Pablo Santos Rodríguez.
Juan Pablo Santos Rodríguez.
o LANG-999: Add fuzzy String matching logic to StringUtils. Thanks to
Ben Ripkens.
o LANG-994: Add zero copy read method to StrBuilder. Thanks to
@ -763,12 +823,12 @@ o LANG-943: Test DurationFormatUtilsTest.testEdgeDuration fails in
o LANG-613: ConstructorUtils.getAccessibleConstructor() Does Not Check the
Accessibility of Enclosing Classes
o LANG-951: Fragments are wrong by 1 day when using fragment YEAR or MONTH.
Thanks to Sebastian Götz.
Thanks to Sebastian Götz.
o LANG-950: FastDateParser does not handle two digit year parsing like
SimpleDateFormat
o LANG-949: FastDateParserTest.testParses does not test FastDateParser
o LANG-915: Wrong locale handling in LocaleUtils.toLocale().
Thanks to Sergio Fernández.
Thanks to Sergio Fernández.
CHANGES
=========
@ -867,7 +927,7 @@ o LANG-462: FastDateFormat supports parse methods.
BUG FIXES
===========
o LANG-932: Spelling fixes. Thanks to Ville Skyttä.
o LANG-932: Spelling fixes. Thanks to Ville Skyttä.
o LANG-929: OctalUnescaper tried to parse all of \279.
o LANG-928: OctalUnescaper had bugs when parsing octals starting with a zero.
o LANG-905: EqualsBuilder returned true when comparing arrays, even when the

13
pom.xml
View File

@ -26,7 +26,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>commons-lang3</artifactId>
<version>3.8-SNAPSHOT</version>
<version>3.8</version>
<name>Apache Commons Lang</name>
<inceptionYear>2001</inceptionYear>
@ -47,7 +47,7 @@
<connection>scm:git:http://git-wip-us.apache.org/repos/asf/commons-lang.git</connection>
<developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/commons-lang.git</developerConnection>
<url>https://git-wip-us.apache.org/repos/asf?p=commons-lang.git</url>
<tag>LANG_3_6</tag>
<tag>LANG_3_8</tag>
</scm>
<developers>
@ -593,6 +593,15 @@
<!-- JMH Benchmark related properties, version, target compiler and name of the benchmarking uber jar. -->
<jmh.version>1.21</jmh.version>
<uberjar.name>benchmarks</uberjar.name>
<!-- Commons Release Plugin -->
<commons.bc.version>3.7</commons.bc.version>
<commons.rc.version>RC1</commons.rc.version>
<commons.release.isDistModule>true</commons.release.isDistModule>
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/lang</commons.distSvnStagingUrl>
<commons.releaseManagerName>Rob Tompkins</commons.releaseManagerName>
<commons.releaseManagerKey>B6E73D84EA4FCC47166087253FAAD2CD5ECBB314</commons.releaseManagerKey>
</properties>

View File

@ -102,7 +102,8 @@ limitations under the License.
It is essential that you
<a href="https://www.apache.org/info/verification.html">verify the integrity</a>
of downloaded files, preferably using the <code>PGP</code> signature (<code>*.asc</code> files);
failing that using the <code>SHA1</code> hash (<code>*.sha1</code> checksum files).
failing that using the <code>SHA256</code> hash (<code>*.sha256</code> checksum files) or
<code>SHA1</code> hash (<code>*.sha1</code> checksum files).
</p>
<p>
The <a href="https://www.apache.org/dist/commons/KEYS">KEYS</a>
@ -116,12 +117,12 @@ limitations under the License.
<table>
<tr>
<td><a href="[preferred]/commons/lang3/binaries/commons-lang3-3.8-bin.tar.gz">commons-lang3-3.8-bin.tar.gz</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/binaries/commons-lang3-3.8-bin.tar.gz.sha1">sha1</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/binaries/commons-lang3-3.8-bin.tar.gz.sha256">sha256</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/binaries/commons-lang3-3.8-bin.tar.gz.asc">pgp</a></td>
</tr>
<tr>
<td><a href="[preferred]/commons/lang3/binaries/commons-lang3-3.8-bin.zip">commons-lang3-3.8-bin.zip</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/binaries/commons-lang3-3.8-bin.zip.sha1">sha1</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/binaries/commons-lang3-3.8-bin.zip.sha256">sha256</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/binaries/commons-lang3-3.8-bin.zip.asc">pgp</a></td>
</tr>
</table>
@ -130,12 +131,12 @@ limitations under the License.
<table>
<tr>
<td><a href="[preferred]/commons/lang3/source/commons-lang3-3.8-src.tar.gz">commons-lang3-3.8-src.tar.gz</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/source/commons-lang3-3.8-src.tar.gz.sha1">sha1</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/source/commons-lang3-3.8-src.tar.gz.sha256">sha256</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/source/commons-lang3-3.8-src.tar.gz.asc">pgp</a></td>
</tr>
<tr>
<td><a href="[preferred]/commons/lang3/source/commons-lang3-3.8-src.zip">commons-lang3-3.8-src.zip</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/source/commons-lang3-3.8-src.zip.sha1">sha1</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/source/commons-lang3-3.8-src.zip.sha256">sha256</a></td>
<td><a href="https://www.apache.org/dist/commons/lang3/source/commons-lang3-3.8-src.zip.asc">pgp</a></td>
</tr>
</table>