You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Rob Tompkins <ch...@gmail.com> on 2018/01/04 12:47:09 UTC

[commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

@Gary - Below is the result from my release plugin with [lang3]. Give it a looking over and let me know what you think.

-Rob

> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
> 
> Author: chtompki
> Date: Thu Jan  4 12:45:36 2018
> New Revision: 24009
> 
> Log:
> Staging release: commons-lang3, version: 3.8-SNAPSHOT
> 
> Added:
>    dev/commons/lang/RELEASE-NOTES.txt
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz   (with props)
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip   (with props)
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>    dev/commons/lang/site.zip   (with props)
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz   (with props)
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with props)
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> 
> Added: dev/commons/lang/RELEASE-NOTES.txt
> ==============================================================================
> --- dev/commons/lang/RELEASE-NOTES.txt (added)
> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
> @@ -0,0 +1,1176 @@
> +
> +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.7
> +                           Release Notes
> +
> +
> +INTRODUCTION:
> +
> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes resource contention (PR #296.) Thanks to Chas Honton.
> +o LANG-1360: Add methods to ObjectUtils to get various forms of class names in a null-safe manner Thanks to Gary Gregory.
> +
> +Fixed Bugs:
> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale Thanks to Stephen Colebourne.
> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on Java 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to Gary Gregory.
> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a generic return type of Enum.valueOf Thanks to mbusso.
> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...) regression Thanks to Brett Kail.
> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug Thanks to Naman Nigam.
> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should use toUpperCase(Locale) Thanks to BruceKuiLiu.
> +
> +Changes:
> +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
> +                               Version 3.6
> +                              Release Notes
> +
> +
> +INTRODUCTION:
> +
> +This document contains the release notes for the 3.6 version of
> +Apache Commons Lang as well as a history all changes in the Commons Lang 3.x
> +release line. Commons Lang is a set of utility functions and reusable
> +components that should be of use in any Java environment. Commons Lang 3.6 at
> +least requires Java 7.0. Note that this has changed from Commons Lang 3.5, which
> +only required Java 1.6.
> +
> +For the advice on upgrading from 2.x to 3.x, see the following page:
> +
> +    http://commons.apache.org/lang/article3_0.html
> +
> +HIGHLIGHTS
> +==========
> +
> +Some of the highlights in this release include:
> +
> +o The class org.apache.commons.lang3.concurrent.Memoizer is an implementation
> +    of the Memoizer pattern as shown in
> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p. 108.
> +o The class org.apache.commons.lang3.ArchUtils has been added. ArchUtils is
> +    a utility class for the "os.arch" system property.
> +
> +DEPRECATIONS
> +============
> +
> +The Apache Commons Community has recently set up the Commons Text component
> +as a home for algorithms working on strings. For this reason most of the string
> +focused functionality in Commons Lang has been deprecated and moved to
> +Commons Text. This includes:
> +
> +o All classes in the org.apache.commons.lang3.text and the
> +    org.apache.commons.lang3.text.translate packages
> +o org.apache.commons.lang3.StringEscapeUtils
> +o org.apache.commons.lang3.RandomStringUtils
> +o The methods org.apache.commons.lang3.StringUtils.getJaroWinklerDistance and
> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
> +
> +For more information see the Commons Text website:
> +
> +    http://commons.apache.org/text
> +
> +The class org.apache.commons.lang3.CharEncoding has been deprecated in favor of
> +java.nio.charset.StandardCharsets.
> +
> +The following methods have been deprecated in
> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding insert
> +methods. Note that the handling for null inputs differs between add and insert.
> +
> +o add(boolean[], int, boolean) -> insert(int, boolean[], boolean...)
> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
> +o add(char[], int, boolean)    -> insert(int, char[], char...)
> +o add(double[], int, boolean)  -> insert(int, double[], double...)
> +o add(float[], int, boolean)   -> insert(int, float[], float...)
> +o add(int[], int, boolean)     -> insert(int, int[], int...)
> +o add(long[], int, boolean)    -> insert(int, long[], long...)
> +o add(short[], int, boolean)   -> insert(int, short[], short...)
> +o add(T[], int, boolean)       -> insert(int, T[], T...)
> +
> +
> +COMPATIBILITY WITH JAVA 9
> +==================
> +
> +The MANIFEST.MF now contains an additional entry:
> +
> +  Automatic-Module-Name: org.apache.commons.lang3
> +
> +This should make it possible to use Commons Lang 3.6 as a module in the Java 9
> +module system. For more information see the corresponding issue and the
> +referenced mailing list discussions:
> +
> +    https://issues.apache.org/jira/browse/LANG-1338
> +
> +The build problems present in the 3.5 release have been resolved. Building
> +Commons Lang 3.6 should work out of the box with the latest Java 9 EA build.
> +Please report any Java 9 related issues at:
> +
> +    https://issues.apache.org/jira/browse/LANG
> +
> +NEW FEATURES
> +============
> +
> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
> +o LANG-1304: Add method in StringUtils to determine if string contains both
> +             mixed cased characters. Thanks to Andy Klimczak.
> +o LANG-1325: Increase test coverage of ToStringBuilder class to 100%.
> +             Thanks to Arshad Basha.
> +o LANG-1307: Add a method in StringUtils to extract only digits out of input
> +             string. Thanks to Arshad Basha.
> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
> +             Thanks to Mark Dacek.
> +o LANG-1299: Add method for converting string to an array of code points.
> +o LANG-660:  Add methods to insert arrays into arrays at an index.
> +o LANG-1034: Add support for recursive comparison to
> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
> +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.
> +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.
> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch" system property.
> +             Thanks to Tomschi.
> +o LANG-1272: Add shuffle methods to ArrayUtils.
> +o LANG-1317: Add MethodUtils#findAnnotation and extend
> +             MethodUtils#getMethodsWithAnnotation for non-public, super-class
> +             and interface methods. Thanks to Yasser Zamani.
> +o LANG-1331: Add ImmutablePair.nullPair().
> +o LANG-1332: Add ImmutableTriple.nullTriple().
> +
> +FIXED BUGS
> +==========
> +
> +o LANG-1337: Fix test failures in IBM JDK 8 for ToStringBuilderTest.
> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError when object is
> +             an array.
> +o LANG-1320: LocaleUtils#toLocale does not support language followed by UN M.49
> +             numeric-3 area code followed by variant.
> +o LANG-1300: Clarify or improve behaviour of int-based indexOf methods in
> +             StringUtils. Thanks to Mark Dacek.
> +o LANG-1286: RandomStringUtils random method can overflow and return characters
> +             outside of specified range.
> +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ò.
> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
> +             Thanks to Andreas Lundblad.
> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible heap
> +             pollution from parameterized vararg type T.
> +o LANG-1144: Multiple calls of
> +             org.apache.commons.lang3.concurrent.LazyInitializer.initialize()
> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException.
> +             Thanks to Andy Klimczak.
> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
> +             Thanks to Paul Pogonyshev.
> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return false for an
> +             empty array. Thanks to Pierre Templier.
> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago Andrade.
> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and Object arrays
> +             correctly. Thanks to Aaron Digulla.
> +o LANG-1312: LocaleUtils#toLocale does not support language followed by UN M.49
> +             numeric-3 area code.
> +o LANG-1265: Build failures when building with Java 9 EA.
> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon Murienik.
> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException if using
> +             varargs arguments and smaller types than the method defines.
> +             Thanks to Don Jeba.
> +
> +CHANGES
> +=======
> +
> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
> +             compatibility.
> +o LANG-1334: Deprecate CharEncoding in favour of
> +             java.nio.charset.StandardCharsets.
> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
> +             Thanks to Bruno P. Kinoshita.
> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.ArrayUtils.
> +             Thanks to Andrii Abramov.
> +o LANG-1274: StrSubstitutor should state its thread safety.
> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory consumption.
> +             Thanks to yufcuy.
> +o LANG-1279: Update Java requirement from Java 6 to 7.
> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
> +             toXxxxCase(char). Thanks to sebb.
> +o LANG-1297: Add SystemUtils.getHostName() API.
> +o LANG-1301: Moving apache-rat-plugin configuration into pluginManagement.
> +             Thanks to Karl Heinz Marbaise.
> +o LANG-1316: Deprecate classes/methods moved to commons-text.
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.5
> +
> +
> +HIGHLIGHTS
> +==========
> +
> +Some of the highlights in this release include:
> +
> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
> +o Support for shifting and swapping elements in
> +    org.apache.commons.lang3.ArrayUtils.
> +o New methods for generating random strings from different character classes
> +    including alphabetic, alpha-numeric and ASCII added to
> +    org.apache.commons.lang3.RandomStringUtils.
> +o Numerous extensions to org.apache.commons.lang3.StringUtils including
> +    null safe compare variants, more remove and replace variants, rotation and
> +    truncation.
> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to work with
> +    instances of java.lang.Thread and java.lang.ThreadGroup.
> +o Added annotations @EqualsExclude, @HashCodeExclude and @ToStringEclude to
> +    mark fields which should be ignored by the reflective builders in the
> +    org.apache.commons.lang3.builder package.
> +o Support for various modify and retrieve value use cases added to the classes
> +    in org.apache.commons.lang3.mutable.
> +
> +COMPATIBILITY
> +=============
> +
> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release. Users
> +should not experience any problems when upgrading from 3.4 to 3.5.
> +
> +There has been an addition to the org.apache.commons.lang3.time.DatePrinter
> +interface:
> +
> +o Added method 'public boolean parse(java.lang.String, java.text.ParsePosition,
> +    java.util.Calendar)'
> +o Added method 'public java.lang.Appendable format(long, java.lang.Appendable)'
> +o Added method 'public java.lang.Appendable format(java.util.Date,
> +    java.lang.Appendable)'
> +o Added method 'public java.lang.Appendable format(java.util.Calendar,
> +    java.lang.Appendable)'
> +
> +For this reason 3.5 is not strictly source compatible to 3.4. Since the
> +DatePrinter interface is not meant to be implemented by clients, this
> +change it not considered to cause any problems.
> +
> +JAVA 9 SUPPORT
> +==============
> +
> +Java 9 introduces a new version-string scheme. Details of this new scheme are
> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In order to support
> +JEP-223 two classes had to be changed:
> +
> +o org.apache.commons.lang3.JavaVersion
> +    deprecated enum constant JAVA_1_9
> +    introduced enum constant JAVA_9
> +
> +o org.apache.commons.lang3.SystemUtils
> +    deprecated constant IS_JAVA_1_9
> +    introduced constant IS_JAVA_9
> +
> +For more information see LANG-1197
> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs are expected
> +to work with Java 9.
> +
> +BUILDING ON JAVA 9
> +==================
> +
> +Java 8 introduced the Unicode Consortium's Common Locale Data Repository as
> +alternative source for locale data. Java 9 will use the CLDR provider as
> +default provider for locale data (see http://openjdk.java.net/jeps/252). This
> +causes an number of locale-sensitive test in Commons Lang to fail. In order
> +to build Commons Lang 3.5 on Java 9, the locale provider has to be set to
> +'JRE':
> +
> +    mvn -Djava.locale.providers=JRE clean install
> +
> +We are currently investigating ways to support building on Java 9 without
> +further configuration. For more information see:
> +https://issues.apache.org/jira/browse/LANG-1265
> +
> +
> +NEW FEATURES
> +==============
> +
> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to Kaiyuan Wang.
> +o LANG-1023: Add WordUtils.wrap overload with customizable breakable character.
> +             Thanks to Marko Bekhta.
> +o LANG-787:  Add method removeIgnoreCase(String, String) to StringUtils. Thanks
> +             to Gokul Nanthakumar C.
> +o LANG-1224: Extend RandomStringUtils with methods that generate strings
> +             between a min and max length. Thanks to Caleb Cushing.
> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String, char|String). Thanks to
> +             Gary Gregory.
> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to adilek.
> +o LANG-1085: Add a circuit breaker implementation. Thanks to Oliver Heger and
> +             Bruno P. Kinoshita.
> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
> +o LANG-1195: Enhance MethodUtils to allow invocation of private methods. Thanks
> +             to Derek C. Ashmore.
> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/incrementAndGet/
> +             decrementAndGet/addAndGet in Mutable* classes. Thanks to
> +             Haiyang Li and Matthew Bartenschlag.
> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint which match
> +             corresponding regular expression class. Thanks to Caleb Cushing.
> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick Manley.
> +o LANG-781:  Add methods to ObjectUtils class to check for null elements in the
> +             array. Thanks to Krzysztof Wolny.
> +o LANG-1228: Prefer Throwable.getCause() in ExceptionUtils.getCause().
> +             Thanks to Brad Hess.
> +o LANG-1233: DiffBuilder add method to allow appending from a DiffResult.
> +             Thanks to Nick Manley.
> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
> +             Thanks to Pascal Schumacher.
> +o LANG-1115: Add support for varargs in ConstructorUtils, MemberUtils, and
> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
> +o LANG-1134: Add methods to check numbers against NaN and inifinite to
> +             Validate. Thanks to Alan Smithee.
> +o LANG-1220: Add tests for missed branches in DateUtils.
> +             Thanks to Casey Scarborough.
> +o LANG-1146: z/OS identification in SystemUtils.
> +             Thanks to Gabor Liptak.
> +o LANG-1192: FastDateFormat support of the week-year component (uppercase 'Y').
> +             Thanks to Dominik Stadler.
> +o LANG-1169: Add StringUtils methods to compare a string to multiple strings.
> +             Thanks to Rafal Glowinski, Robert Parr and Arman Sharif.
> +o LANG-1185: Add remove by regular expression methods in StringUtils.
> +o LANG-1139: Add replace by regular expression methods in StringUtils.
> +o LANG-1171: Add compare methods in StringUtils.
> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks to
> +             Gary Gregory.
> +o LANG-1149: Ability to throw checked exceptions without declaring them. Thanks
> +             to Gregory Zak.
> +o LANG-1153: Implement ParsePosition api for FastDateParser.
> +o LANG-1137: Add check for duplicate event listener in EventListenerSupport.
> +             Thanks to Matthew Aguirre.
> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
> +             Eduardo Martins.
> +o LANG-1132: ReflectionToStringBuilder doesn't throw IllegalArgumentException
> +             when the constructor's object param is null. Thanks to Jack Tan.
> +o LANG-701:  StringUtils join with var args. Thanks to James Sawle.
> +o LANG-1105: Add ThreadUtils - A utility class which provides helper methods
> +             related to java.lang.Thread  Issue: LANG-1105. Thanks to
> +             Hendrik Saly.
> +o LANG-1031: Add annotations to exclude fields from ReflectionEqualsBuilder,
> +             ReflectionToStringBuilder and ReflectionHashCodeBuilder. Thanks
> +             to Felipe Adorno.
> +o LANG-1127: Use JUnit rules to set and reset the default Locale and TimeZone.
> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks to
> +             Loic Guibert.
> +o LANG-1099: Add swap and shift operations for arrays to ArrayUtils. Thanks to
> +             Adrian Ber.
> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to James Sawle.
> +o LANG-1074: Add a method to ArrayUtils for removing all occurrences of a given
> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
> +
> +FIXED BUGS
> +============
> +
> +o LANG-1261: ArrayUtils.contains returns false for instances of subtypes.
> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better reflect
> +             createNumber. Also, accommodated for "+" symbol as prefix in
> +             isCreatable and isNumber. Thanks to Rob Tompkins.
> +o LANG-1230: Remove unnecessary synchronization from registry lookup in
> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe Marschall.
> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to Henry Tung.
> +o LANG-1250: SerializationUtils#deserialize has unnecessary code and a comment
> +             for that. Thanks to Glease Wang.
> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException when fromType
> +             has type variables and toType generic superclass specifies type
> +             variable. Thanks to Pascal Schumacher.
> +o LANG-1226: StringUtils#normalizeSpace does not trim the string anymore.
> +             Thanks to Pascal Schumacher.
> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream should use
> +             static initializer to initialize primitiveTypes map. Thanks to
> +             Takuya Ueshin.
> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks to
> +             Benoit Wiart.
> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(String). Thanks to
> +             Nick Manley.
> +o LANG-1199: Fix implementation of StringUtils.getJaroWinklerDistance(). Thanks
> +             to M. Steiger.
> +o LANG-1244: Fix dead links in StringUtils.getLevenshteinDistance() javadoc.
> +             Thanks to jjbankert.
> +o LANG-1242: "\u2284":"?" mapping missing from
> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal Stewart.
> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case sensitive -
> +             documented as case insensitive. Thanks to Matthew Bartenschlag.
> +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 "ł".
> +             Thanks to kaching88.
> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
> +             NumberUtils.isNumber(). Thanks to pbrose.
> +o LANG-1222: Fix for incorrect comment on StringUtils.containsIgnoreCase
> +             method. Thanks to Adam J.
> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre Templier.
> +o LANG-1202: parseDateStrictly does't pass specified locale. Thanks to
> +             Markus Jelsma.
> +o LANG-1219: FastDateFormat doesn't respect summer daylight in some localized
> +             strings. Thanks to Jarek.
> +o LANG-1175: Remove Ant-based build.
> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
> +o LANG-1186: Fix NullPointerException in FastDateParser$TimeZoneStrategy.
> +             Thanks to NickManley.
> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer of -1
> +             (correct answer should be 0); revert fix for LANG-1077. Thanks to
> +             Qin Li.
> +o LANG-1002: Several predefined ISO FastDateFormats in DateFormatUtils are
> +             incorrect. Thanks to Michael Osipov.
> +o LANG-1152: StringIndexOutOfBoundsException or field over-write for large year
> +             fields in FastDateParser. Thanks to Pas Filip.
> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts on changes on
> +             system properties.
> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values Enum. Thanks
> +             to Loic Guibert.
> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin Casey.
> +o LANG-1122: Inconsistent behavior of swap for malformed inputs. Thanks to
> +             Adrian Ber.
> +o LANG-1130: Fix critical issues reported by SonarQube.
> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null inputs.
> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects correctly.
> +             Thanks to Jack Tan.
> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default Locale.
> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a timezone set.
> +             Thanks to Christian P. Momon.
> +o LANG-916:  DateFormatUtils.format does not correctly change Calendar
> +             TimeZone in certain situations. Thanks to Christian P. Momon.
> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones. Thanks to
> +             Aaron Sheldon.
> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with wildcard
> +             types. Thanks to Andy Coates.
> +o LANG-1118: StringUtils.repeat('z', -1) throws NegativeArraySizeException.
> +             Thanks to Loic Guibert.
> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
> +o LANG-1162: StringUtils#equals fails with Index OOBE on non-Strings with
> +             identical leading prefix..
> +o LANG-1163: There are no tests for CharSequenceUtils.regionMatches.
> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to BarkZhang.
> +o LANG-1191: Incorrect Javadoc
> +             StringUtils.containsAny(CharSequence, CharSequence...). Thanks to
> +             qed, Brent Worden and Gary Gregory.
> +
> +CHANGES
> +=========
> +o LANG-1197: Prepare Java 9 detection.
> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator) method is too
> +             big to be inlined. Thanks to Ruslan Cheremin.
> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly misleading. Thanks
> +             to Dominik Stadler.
> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks to
> +             Benoit Wiart.
> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to be inlined,
> +             which prevents whole builder to be scalarized. Thanks to
> +             Ruslan Cheremin.
> +o LANG-1243: Simplify ArrayUtils removeElements by using new decrementAndGet()
> +             method.
> +o LANG-1240: Optimize BitField constructor implementation. Thanks to zhanhb.
> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
> +             Mohammed Alfallaj.
> +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.
> +o LANG-1151: Performance improvements for NumberUtils.isParsable. Thanks to
> +             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.
> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc. Thanks to
> +             Matthias Niehoff.
> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel Karp.
> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks to
> +             Larry West and Pascal Schumacher.
> +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.
> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
> +             SystemUtils.PATH_SEPARATOR.
> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format descriptor for
> +             "invalid number of type parameters". Thanks to Bruno P. Kinoshita.
> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due to being
> +             package-private.
> +o LANG-1058: StringUtils.uncapitalize performance improvement. Thanks to
> +             Leo Wang.
> +o LANG-1069: CharSet.getInstance documentation does not clearly explain how
> +             to include negation character in set. Thanks to Arno Noordover.
> +o LANG-1107: Fix parsing edge cases in FastDateParser.
> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in SystemUtils. Thanks
> +             to Jake Wang.
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.4
> +
> +
> +COMPATIBILITY
> +=============
> +
> +Commons Lang 3.4 is fully binary compatible to the last release and can
> +therefore be used as a drop in replacement for 3.3.2. Note that the value of
> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_EXTENDED_FORMAT_PATTERN
> +has changed, which may affect clients using the constant. Furthermore the
> +constant is used internally in
> +o DurationFormatUtils.formatDurationISO(long)
> +o DurationFormatUtils.formatPeriodISO(long, long)
> +
> +For more information see https://issues.apache.org/jira/browse/LANG-1000.
> +
> +NEW FEATURES
> +==============
> +
> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo Kockert.
> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to Fabian Lange.
> +o LANG-1082: Add option to disable the "objectsTriviallyEqual" test in
> +             DiffBuilder. Thanks to Jonathan Baker.
> +o LANG-1015: Add JsonToStringStyle implementation to ToStringStyle. Thanks to
> +             Thiago Andrade.
> +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-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.
> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
> +             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
> +             Mikhail Mazursky.
> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
> +             Mikhail Mazursky.
> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object, String)
> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
> +
> +FIXED BUGS
> +============
> +
> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect. Thanks to
> +             Timo Kockert.
> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
> +o LANG-948:  Exception while using ExtendedMessageFormat and escaping braces.
> +             Thanks to Andrey Khobnya.
> +o LANG-1092: Wrong formating of time zones with daylight saving time in
> +             FastDatePrinter
> +o LANG-1090: FastDateParser does not set error indication in ParsePosition
> +o LANG-1089: FastDateParser does not handle excess hours as per
> +             SimpleDateFormat
> +o LANG-1061: FastDateParser error - timezones not handled correctly. Thanks to
> +             dmeneses.
> +o LANG-1087: NumberUtils#createNumber() returns positive BigDecimal when
> +             negative Float is expected. Thanks to Renat Zhilkibaev.
> +o LANG-1081: DiffBuilder.append(String, Object left, Object right) does not do
> +             a left.equals(right) check. Thanks to Jonathan Baker.
> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work consistently.
> +             Thanks to Jonathan Baker.
> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK. Thanks to
> +             Jonathan Baker.
> +o LANG-1073: Read wrong component type of array in add in ArrayUtils.
> +             Thanks to haiyang li.
> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in StringUtils.
> +             Thanks to haiyang li.
> +o LANG-1072: Duplicated "0x" check in createBigInteger in NumberUtils. Thanks 
> +             to haiyang li.
> +o LANG-1064: StringUtils.abbreviate description doesn't agree with the 
> +             examples. Thanks to B.J. Herbison.
> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK method ordering.
> +             Thanks to Alexandre Bartel.
> +o LANG-1000: ParseException when trying to parse UTC dates with Z as zone
> +             designator using DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT
> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is unclear
> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks to
> +             Michael Osipov.
> +o LANG-1088: FastDateParser should be case insensitive
> +o LANG-995:  Fix bug with stripping spaces on last line in WordUtils.wrap().
> +             Thanks to Andrey Khobnya.
> +
> +CHANGES
> +=========
> +
> +o LANG-1102: Make logic for comparing OS versions in SystemUtils smarter
> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian Lange.
> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
> +o LANG-1100: Avoid memory allocation when using date formating to StringBuffer.
> +             Thanks to mbracher.
> +o LANG-935:  Possible performance improvement on string escape functions.
> +             Thanks to Fabian Lange, Thomas Neidhart.
> +o LANG-1098: Avoid String allocation in StrBuilder.append(CharSequence). Thanks
> +             to Mikhail Mazurskiy, Fabian Lange.
> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to Micha? Kordas.
> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to Micha? Kordas.
> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha? Kordas.
> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha? Kordas.
> +o LANG-877:  Performance improvements for StringEscapeUtils. Thanks to
> +             Fabian Lange.
> +o LANG-1071: Fix wrong examples in JavaDoc of 
> +             StringUtils.replaceEachRepeatedly(...), 
> +             StringUtils.replaceEach(...) Thanks to Arno Noordover.
> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of fields it
> +             uses in performing comparisons
> +o LANG-1020: Improve performance of normalize space. Thanks to Libor Ondrusek.
> +o LANG-1027: org.apache.commons.lang3.SystemUtils#isJavaVersionAtLeast should
> +             return true by default
> +o LANG-1026: Bring static method references in StringUtils to consistent style.
> +             Thanks to Alex Yursha.
> +o LANG-1017: Use non-ASCII digits in Javadoc examples for 
> +             StringUtils.isNumeric. Thanks to Christoph Schneegans.
> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils from array
> +             input parameters to varargs. Thanks to Thiago Andrade.
> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks to
> +             Thiago Andrade.
> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default pattern to
> +             match #formatDurationHMS. Thanks to Michael Osipov.
> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods. Thanks to
> +             Thiago Andrade.
> +o LANG-731:  Better Javadoc for BitField class
> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation does not
> +             correspond to Javadoc and vice versa. Thanks to Michael Osipov.
> +o LANG-1003: DurationFormatUtils are not able to handle negative
> +             durations/periods
> +o LANG-998:  Javadoc is not clear on preferred pattern to instantiate
> +             FastDateParser / FastDatePrinter
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.3.2
> +
> +NEW FEATURES
> +==============
> +
> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
> +
> +FIXED BUGS
> +============
> +
> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0", "0.4790", et al
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.3.1
> +
> +FIXED BUGS
> +============
> +
> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH) returns wrong
> +             days
> +o LANG-983:  DurationFormatUtils does not describe format string fully
> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched quote char
> +o LANG-984:  DurationFormatUtils does not handle large durations correctly
> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS") - ms field
> +             size should be 4 digits
> +o LANG-978:  Failing tests with Java 8 b128
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.3
> +
> +NEW FEATURES
> +==============
> +
> +o LANG-955:  Add methods for removing all invalid characters according to
> +             XML 1.0 and XML 1.1 in an input string to StringEscapeUtils.
> +             Thanks to Adam Hooper.
> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
> +o LANG-962:  Add SerializationUtils.roundtrip(T extends Serializable) to
> +             serialize then deserialize
> +o LANG-637:  There should be a DifferenceBuilder with a
> +             ReflectionDifferenceBuilder implementation
> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to StringUtils.
> +             Thanks to Rekha Joshi.
> +o LANG-417:  New class ClassPathUtils with methods for turning FQN into
> +             resource path
> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween overloads
> +             for primitive types
> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
> +o LANG-966:  Add IBM OS/400 detection
> +
> +FIXED BUGS
> +============
> +
> +o LANG-621:  ReflectionToStringBuilder.toString does not debug 3rd party object
> +             fields within 3rd party object. Thanks to Philip Hodges,
> +             Thomas Neidhart.
> +o LANG-977:  NumericEntityEscaper incorrectly encodes supplementary characters.
> +             Thanks to Chris Karcher.
> +o LANG-973:  Make some private fields final
> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid Octal numbers
> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset) needlessly throws
> +             UnsupportedEncodingException. Thanks to Matt Bishop.
> +o LANG-946:  ConstantInitializerTest fails when building with IBM JDK 7
> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on Android.
> +             Thanks to Michael Keppler.
> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a threshold
> +             returns wrong result. Thanks to Yaniv Kunda, Eli Lindsey.
> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails in
> +             JDK 1.6, 1.7 and 1.8, BRST time zone
> +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.
> +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.
> +
> +CHANGES
> +=========
> +
> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.removeFinalModifier(Field)
> +             does not clean up after itself
> +o LANG-958:  FastDateParser javadoc incorrectly states that SimpleDateFormat
> +             is used internally
> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
> +o LANG-939:  Move Documentation from user guide to package-info files
> +o LANG-953:  Convert package.html files to package-info.java files
> +o LANG-940:  Fix deprecation warnings
> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.2.1
> +
> +BUG FIXES
> +===========
> +
> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
> +o LANG-941:  Test failure in LocaleUtilsTest when building with JDK 8
> +o LANG-942:  Test failure in FastDateParserTest and FastDateFormat_ParserTest
> +             when building with JDK8. Thanks to Bruno P. Kinoshita,
> +             Henri Yandell.
> +o LANG-938:  Build fails with test failures when building with JDK 8 
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.2
> +
> +COMPATIBILITY WITH 3.1
> +========================
> +
> +This release introduces backwards incompatible changes in 
> +org.apache.commons.lang3.time.FastDateFormat:
> +o Method 'protected java.util.List parsePattern()' has been removed
> +o Method 'protected java.lang.String parseToken(java.lang.String, int[])' has
> +  been removed
> +o Method 'protected org.apache.commons.lang3.time.FastDateFormat$NumberRule
> +  selectNumberRule(int, int)' has been removed
> +
> +These changes were the result of [LANG-462]. It is assumed that this change 
> +will not break clients as Charles Honton pointed out on 25/Jan/12:
> +"
> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)" and 
> +    "List<Rule> parsePattern()" couldn't have been overridden because
> +    NumberRule and Rule were private to FastDateFormat.
> + 2. Due to the factory pattern used, it's unlikely other two methods would have 
> +    been overridden.
> + 3. The four methods are highly implementation specific. I consider it a 
> +    mistake that the methods were exposed.
> +"
> +For more information see https://issues.apache.org/jira/browse/LANG-462.
> +
> +NEW FEATURES
> +==============
> +
> +o LANG-934:  Add removeFinalModifier to FieldUtils
> +o LANG-863:  Method returns number of inheritance hops between parent and
> +             subclass. Thanks to Daneel S. Yaitskov.
> +o LANG-774:  Added isStarted, isSuspended and isStopped to StopWatch.
> +             Thanks to Erhan Bagdemir.
> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence... methods.
> +             Thanks to Alexander Muthmann.
> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in favour of a new
> +             StringUtils.toString(byte[], CharSet). Thanks to Aaron Digulla.
> +o LANG-893:  StrSubstitutor now supports default values for variables.
> +             Thanks to Woonsan Ko.
> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon Mureinik.
> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
> +             StringBuilder, StrBuilder, and Appendable.
> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to StringUtils.
> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
> +o LANG-873:  Add FieldUtils getAllFields() to return all the fields defined in
> +             the given class and super classes.
> +o LANG-835:  StrBuilder should support StringBuilder as an input parameter.
> +o LANG-857:  StringIndexOutOfBoundsException in CharSequenceTranslator.
> +o LANG-856:  Code refactoring in NumberUtils.
> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex and octal
> +             numbers.
> +o LANG-854:  NumberUtils#createNumber - does not allow for hex numbers to be
> +             larger than Long. 
> +o LANG-853:  StringUtils join APIs for primitives. 
> +o LANG-841:  Add StringUtils API to call String.replaceAll in DOTALL a.k.a.
> +             single-line mode. 
> +o LANG-825:  Create StrBuilder APIs similar to
> +             String.format(String, Object...).
> +o LANG-675:  Add Triple class (ternary version of Pair).
> +o LANG-462:  FastDateFormat supports parse methods.
> +
> +BUG FIXES
> +===========
> +
> +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
> +             elements are different.
> +o LANG-917:  Fixed exception when combining custom and choice format in
> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly promising letters
> +             and numbers would, as opposed to may, appear  Issue:. Thanks to
> +             Andrzej Winnicki.
> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not updated. Thanks
> +             to Mark Bryan Yu.
> +o LANG-879:  LocaleUtils test fails with new Locale "ja_JP_JP_#u-ca-japanese"
> +             of JDK7.
> +o LANG-836:  StrSubstitutor does not support StringBuilder or CharSequence.
> +             Thanks to Arnaud Brunet.
> +o LANG-693:  Method createNumber from NumberUtils doesn't work for floating
> +             point numbers other than Float  Issue: LANG-693. Thanks to
> +             Calvin Echols.
> +o LANG-887:  FastDateFormat does not use the locale specific cache correctly.
> +o LANG-754:  ClassUtils.getShortName(String) will now only do a reverse lookup
> +             for array types.
> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not work for octal
> +             numbers.
> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting with an
> +             underscore.
> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript() do not
> +             output the escaped surrogate pairs that are Java parsable.
> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date objects 
> +             wastefully.
> +o LANG-845:  Spelling fixes.
> +o LANG-844:  Fix examples contained in javadoc of StringUtils.center methods.
> +o LANG-832:  FastDateParser does not handle unterminated quotes correctly.
> +o LANG-831:  FastDateParser does not handle white-space properly.
> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
> +o LANG-828:  FastDateParser does not handle non-Gregorian calendars properly.
> +o LANG-826:  FastDateParser does not handle non-ASCII digits correctly.
> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading "--".
> +o LANG-818:  FastDateFormat's "z" pattern does not respect timezone of Calendar
> +             instances passed to format().
> +o LANG-817:  Add org.apache.commons.lang3.SystemUtils.IS_OS_WINDOWS_8.
> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string reference
> +             equality.
> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
> +o LANG-807:  RandomStringUtils throws confusing IAE when end <= start.
> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false, universe,
> +             random) always throws java.lang.ArrayIndexOutOfBoundsException.
> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid class.
> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and Object versions.
> +o LANG-788:  SerializationUtils throws ClassNotFoundException when cloning 
> +             primitive classes.
> +o LANG-786:  StringUtils equals() relies on undefined behavior.
> +o LANG-783:  Documentation bug: StringUtils.split.
> +o LANG-777:  jar contains velocity template of release notes.
> +o LANG-776:  TypeUtilsTest contains incorrect type assignability assertion.
> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments for
> +             partially-assigned classes.
> +o LANG-773:  ImmutablePair doc contains nonsense text.
> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage text.
> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no longer defines 
> +             serialVersionUID.
> +o LANG-764:  StrBuilder is now serializable.
> +o LANG-761:  Fix Javadoc Ant warnings.
> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
> +o LANG-743:  Javadoc bug in static inner class DateIterator.
> +
> +CHANGES
> +=========
> +
> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class. Thanks
> +             to Christoph Schneegans.
> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking spaces
> +             (Unicode 00A0). Thanks to Timur Yarosh.
> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor. Thanks to 
> +             Allon Mureinik.
> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
> +o LANG-882:  LookupTranslator now works with implementations of CharSequence
> +             other than String.
> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a proper green
> +             implementation instead of inefficiently converting to Strings.
> +o LANG-839:  ArrayUtils removeElements methods use unnecessary HashSet.
> +o LANG-838:  ArrayUtils removeElements methods clone temporary index arrays
> +             unnecessarily.
> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale support.
> +o LANG-798:  Use generics in SerializationUtils.
> +
> +CHANGES WITHOUT TICKET
> +========================
> +
> +o Fixed URLs in javadoc to point to new oracle.com pages
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.1
> +
> +NEW FEATURES
> +==============
> +
> +o LANG-801:  Add Conversion utility to convert between data types on byte level
> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String charsetName)
> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and 
> +             isPrimitiveOrWrapper(Class<?>)
> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a Unix system
> +
> +BUG FIXES
> +===========
> +
> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and -0X
> +o LANG-744:  StringUtils throws java.security.AccessControlException on Google
> +             App Engine
> +o LANG-741:  Ant build has wrong component.name
> +o LANG-698:  Document that the Mutable numbers don't work as expected with
> +             String.format
> +
> +CHANGES
> +=========
> +
> +o LANG-758:  Add an example with whitespace in StringUtils.defaultIfEmpty
> +o LANG-752:  Fix createLong() so it behaves like createInteger()
> +o LANG-751:  Include the actual type in the Validate.isInstance and
> +             isAssignableFrom exception messages
> +o LANG-748:  Deprecating chomp(String, String)
> +o LANG-736:  CharUtils static final array CHAR_STRING is not needed to compute
> +             CHAR_STRING_ARRAY
> +
> +=============================================================================
> +
> +                        Release Notes for version 3.0
> +
> +ADDITIONS
> +===========
> +
> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
> +o LANG-285:  Wish : method unaccent.
> +o LANG-358:  ObjectUtils.coalesce.
> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods necessary.
> +o LANG-435:  Add ClassUtils.isAssignable() variants with autoboxing.
> +o LANG-444:  StringUtils.emptyToNull.
> +o LANG-482:  Enhance StrSubstitutor to support nested ${var-${subvr}} expansion
> +o LANG-482:  StrSubstitutor now supports substitution in variable names.
> +o LANG-496:  A generic implementation of the Lazy initialization pattern.
> +o LANG-497:  Addition of ContextedException and ContextedRuntimeException.
> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
> +o LANG-499:  Add support for the handling of ExecutionExceptions.
> +o LANG-501:  Add support for background initialization.
> +o LANG-529:  Add a concurrent package.
> +o LANG-533:  Validate: support for validating blank strings.
> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
> +o LANG-545:  Add ability to create a Future for a constant.
> +o LANG-546:  Add methods to Validate to check whether the index is valid for
> +             the array/list/string.
> +o LANG-553:  Add TypeUtils class to provide utility code for working with generic
> +             types.
> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation methods.
> +o LANG-559:  Added validState validation method.
> +o LANG-560:  New TimedSemaphore class.
> +o LANG-582:  Provide an implementation of the ThreadFactory interface.
> +o LANG-588:  Create a basic Pair<L, R> class.
> +o LANG-594:  DateUtils equal & compare functions up to most significant field.
> +o LANG-601:  Add Builder Interface / Update Builders to Implement It.
> +o LANG-609:  Support lazy initialization using atomic variables
> +o LANG-610:  Extend exception handling in ConcurrentUtils to runtime exceptions.
> +o LANG-614:  StringUtils.endsWithAny method
> +o LANG-640:  Add normalizeSpace to StringUtils
> +o LANG-644:  Provide documentation about the new concurrent package
> +o LANG-649:  BooleanUtils.toBooleanObject to support single character input
> +o LANG-651:  Add AnnotationUtils
> +o LANG-653:  Provide a very basic ConcurrentInitializer implementation
> +o LANG-655:  Add StringUtils.defaultIfBlank()
> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
> +o LANG-676:  Documented potential NPE if auto-boxing occurs for some BooleanUtils
> +             methods
> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
> +o LANG-692:  Add hashCodeMulti varargs method
> +o LANG-697:  Add FormattableUtils class
> +o LANG-684:  Levenshtein Distance Within a Given Threshold
> +
> +REMOVALS
> +==========
> +
> +o LANG-438:  Remove @deprecateds.
> +o LANG-492:  Remove code handled now by the JDK.
> +o LANG-493:  Remove code that does not hold enough value to remain.
> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in 
> +             StringUtils.indexOf(String, String, int).
> +o LANG-673:  WordUtils.abbreviate() removed
> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
> +
> +IMPROVEMENTS
> +==============
> +
> +o LANG-290:  EnumUtils for JDK 5.0.
> +o LANG-336:  Finally start using generics.
> +o LANG-355:  StrBuilder should implement CharSequence and Appendable.
> +o LANG-396:  Investigate for vararg usages.
> +o LANG-424:  Improve Javadoc for StringUtils class.
> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
> +o LANG-479:  Document where in SVN trunk is.
> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
> +o LANG-505:  Rewrite StringEscapeUtils.
> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+ notation.
> +o LANG-510:  Convert StringUtils API to take CharSequence.
> +o LANG-513:  Better EnumUtils.
> +o LANG-528:  Mutable classes should implement an appropriately typed Mutable
> +             interface.
> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
> +o LANG-540:  Make NumericEntityEscaper immutable.
> +o LANG-541:  Replace StringBuffer with StringBuilder.
> +o LANG-548:  Use Iterable on API instead of Collection.
> +o LANG-551:  Replace Range classes with generic version.
> +o LANG-562:  Change Maven groupId.
> +o LANG-563:  Change Java package name.
> +o LANG-570:  Do the test cases really still require main() and suite() methods?
> +o LANG-579:  Add new Validate methods.
> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class Separators.
> +o LANG-605:  DefaultExceptionContext overwrites values in recursive situations.
> +o LANG-668:  Change ObjectUtils min() & max() functions to use varargs rather
> +             than just two parameters
> +o LANG-681:  Push down WordUtils to "text" sub-package.
> +o LANG-711:  Add includeantruntime=false to javac targets to quell warnings in
> +             ant 1.8.1 and better (and modest performance gain).
> +o LANG-713:  Increase test coverage of FieldUtils read methods and tweak
> +             javadoc.
> +o LANG-718:  build.xml Java 1.5+ updates.
> +
> +BUG FIXES
> +===========
> +
> +o LANG-11:   Depend on JDK 1.5+.
> +o LANG-302:  StrBuilder does not implement clone().
> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte characters like
> +             Chinese, Japanese, etc.
> +o LANG-369:  ExceptionUtils not thread-safe.
> +o LANG-418:  Javadoc incorrect for StringUtils.endsWithIgnoreCase.
> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now return false
> +             for ""
> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars (0x00-0x20).
> +o LANG-448:  Lower Ascii Characters don't get encoded by Entities.java.
> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393 (EqualsBuilder).
> +o LANG-474:  Fixes for thread safety.
> +o LANG-478:  StopWatch does not resist to system time changes.
> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts unicode
> +             characters above U+00FFFF into 2 characters.
> +o LANG-481:  Possible race-conditions in hashCode of the range classes.
> +o LANG-564:  Improve StrLookup API documentation.
> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create unexpected
> +             ClassCastException.
> +o LANG-585:  exception.DefaultExceptionContext.getFormattedExceptionMessage
> +             catches Throwable.
> +o LANG-596:  StrSubstitutor should also handle the default properties of a
> +             java.util.Properties class
> +o LANG-600:  Javadoc is incorrect for public static int 
> +             lastIndexOf(String str, String searchStr).
> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked' exception.
> +o LANG-606:  EqualsBuilder causes StackOverflowException.
> +o LANG-608:  Some StringUtils methods should take an int character instead of
> +             char to use String API features.
> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16 supplementary
> +             characters
> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws 
> +             StringIndexOutOfBoundsException on Android runtime/Dalvik VM
> +o LANG-629:  Charset may not be threadsafe, because the HashSet is not synch.
> +o LANG-638:  NumberUtils createNumber throws a StringIndexOutOfBoundsException
> +             when argument containing "e" and "E" is passed in
> +o LANG-643:  Javadoc StringUtils.left() claims to throw on negative len, but
> +             doesn't
> +o LANG-645:  FastDateFormat.format() outputs incorrect week of year because
> +             locale isn't respected
> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal escapes and
> +             Unicode with extra u
> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '') = 0 incorrect
> +o LANG-658:  Some Entitys like &Ouml; are not matched properly against its
> +             ISO8859-1 representation
> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus sign, U+2212
> +             ISOtech
> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not reduce
> +             (Integer.MIN_VALUE, 2^k)
> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not always succeed in
> +             multiplyBy and divideBy
> +o LANG-664:  NumberUtils.isNumber(String) is not right when the String is
> +             "1.1L"
> +o LANG-672:  Doc bug in DateUtils#ceiling
> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour clock and not
> +             24 hour
> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
> +o LANG-703:  StringUtils.join throws NPE when toString returns null for one of
> +             objects in collection
> +o LANG-710:  StringIndexOutOfBoundsException when calling unescapeHtml4("&#03")
> +o LANG-714:  StringUtils doc/comment spelling fixes.
> +o LANG-715:  CharSetUtils.squeeze() speedup.
> +o LANG-716:  swapCase and *capitalize speedups.
> +
> +
> +Historical list of changes: http://commons.apache.org/lang/changes-report.html
> +
> +For complete information on Commons Lang, including instructions on how to
> +submit bug reports, patches, or suggestions for improvement, see the 
> +Apache Commons Lang website:
> +
> +http://commons.apache.org/lang/
> +
> +Have fun!
> +-Apache Commons Lang team
> +
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
> ==============================================================================
> Binary file - no diff available.
> 
> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
> ==============================================================================
> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc (added)
> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc Thu Jan  4 12:45:36 2018
> @@ -0,0 +1,16 @@
> +-----BEGIN PGP SIGNATURE-----
> +
> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
> +=tjQB
> +-----END PGP SIGNATURE-----
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
> ==============================================================================
> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5 (added)
> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +fe7776aab25e229c9a5805c3ba82d219
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
> ==============================================================================
> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1 (added)
> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
> ==============================================================================
> Binary file - no diff available.
> 
> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> ==============================================================================
> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc (added)
> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc Thu Jan  4 12:45:36 2018
> @@ -0,0 +1,16 @@
> +-----BEGIN PGP SIGNATURE-----
> +
> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
> +=6Bjb
> +-----END PGP SIGNATURE-----
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> ==============================================================================
> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5 (added)
> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +3b8ee236a7105277427d305587a6c8dd
> 
> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> ==============================================================================
> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1 (added)
> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> 
> Added: dev/commons/lang/site.zip
> ==============================================================================
> Binary file - no diff available.
> 
> Propchange: dev/commons/lang/site.zip
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> ==============================================================================
> Binary file - no diff available.
> 
> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> ==============================================================================
> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc (added)
> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc Thu Jan  4 12:45:36 2018
> @@ -0,0 +1,16 @@
> +-----BEGIN PGP SIGNATURE-----
> +
> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
> +=8mS4
> +-----END PGP SIGNATURE-----
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> ==============================================================================
> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5 (added)
> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +11b0a67eee0b856ee3629bdcfef35649
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> ==============================================================================
> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1 (added)
> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> ==============================================================================
> Binary file - no diff available.
> 
> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> ------------------------------------------------------------------------------
>    svn:mime-type = application/octet-stream
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> ==============================================================================
> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc (added)
> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc Thu Jan  4 12:45:36 2018
> @@ -0,0 +1,16 @@
> +-----BEGIN PGP SIGNATURE-----
> +
> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
> +=5+7f
> +-----END PGP SIGNATURE-----
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> ==============================================================================
> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5 (added)
> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +66d939d849bb560af8259d10156a58ec
> 
> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> ==============================================================================
> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1 (added)
> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1 Thu Jan  4 12:45:36 2018
> @@ -0,0 +1 @@
> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Rob Tompkins <ch...@gmail.com>.

> On Jan 4, 2018, at 1:36 PM, Gary Gregory <ga...@gmail.com> wrote:
> 
> It seems that in this case, we are creating a new internal component, no
> sandbox. Like commons-parent and the build plugin.

Agreed, but I would think the process for component creation would be analogous to that of moving a component out of the sandbox. I suppose I should poke around and read so that I don’t make any silly presumptions :-)

> 
> Gary
> 
>> On Thu, Jan 4, 2018 at 11:19 AM, Rob Tompkins <ch...@gmail.com> wrote:
>> 
>> I didn’t read back over the moving a component out of the sandbox bit, so
>> I figured I’d just go with the formality.
>> 
>>> On Jan 4, 2018, at 12:33 PM, Gary Gregory <ga...@gmail.com>
>> wrote:
>>> 
>>> Hi Rob,
>>> 
>>> I do not think we need a formal VOTE until we want to release, but why
>> not.
>>> Reusing COMMONSITE makes sense for now.
>>> 
>>> Go for it.
>>> 
>>> Gary
>>> 
>>>> On Thu, Jan 4, 2018 at 9:51 AM, Rob Tompkins <ch...@gmail.com>
>> wrote:
>>>> 
>>>> 
>>>> 
>>>>> On Jan 4, 2018, at 11:45 AM, Gary Gregory <ga...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins <chtompki@gmail.com
>>>> <ma...@gmail.com>> wrote:
>>>>> 
>>>>>> So with comments, I’m thinking I’ll submit a component vote. Any
>>>>>> opposition?
>>>>>> 
>>>>> 
>>>>> Do you already have a git repo,  JIRA project and all that?
>>>> 
>>>> Oh not at all….I’m going to put it up for a vote before creating any
>>>> repos. Before I start all that. I was thinking that we’d use
>> COMMONSSITE as
>>>> the jira for it because that’s what we use for the
>> [build-plugin]….thoughts?
>>>> 
>>>> -Rob
>>>> 
>>>>> 
>>>>> Gary
>>>>> 
>>>>>> 
>>>>>>> On Jan 4, 2018, at 11:28 AM, Gary Gregory <ga...@gmail.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>> That looks good. Thank you Rob!
>>>>>>> 
>>>>>>> Gary
>>>>>>> 
>>>>>>>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com>
>>>>>> wrote:
>>>>>>>> 
>>>>>>>> @Gary - Below is the result from my release plugin with [lang3].
>> Give
>>>>>> it a
>>>>>>>> looking over and let me know what you think.
>>>>>>>> 
>>>>>>>> -Rob
>>>>>>>> 
>>>>>>>>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
>>>>>>>>> 
>>>>>>>>> Author: chtompki
>>>>>>>>> Date: Thu Jan  4 12:45:36 2018
>>>>>>>>> New Revision: 24009
>>>>>>>>> 
>>>>>>>>> Log:
>>>>>>>>> Staging release: commons-lang3, version: 3.8-SNAPSHOT
>>>>>>>>> 
>>>>>>>>> Added:
>>>>>>>>> dev/commons/lang/RELEASE-NOTES.txt
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
>>>>>>>> (with props)
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.asc
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.md5
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.sha1
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
>>>> (with
>>>>>>>> props)
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>>>>>>>>> dev/commons/lang/site.zip   (with props)
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>>>>>>>> (with props)
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
>>>>>>>> props)
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/RELEASE-NOTES.txt
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/RELEASE-NOTES.txt (added)
>>>>>>>>> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1,1176 @@
>>>>>>>>> +
>>>>>>>>> +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.7
>>>>>>>>> +                           Release Notes
>>>>>>>>> +
>>>>>>>>> +
>>>>>>>>> +INTRODUCTION:
>>>>>>>>> +
>>>>>>>>> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes
>>>> resource
>>>>>>>> contention (PR #296.) Thanks to Chas Honton.
>>>>>>>>> +o LANG-1360: Add methods to ObjectUtils to get various forms of
>>>> class
>>>>>>>> names in a null-safe manner Thanks to Gary Gregory.
>>>>>>>>> +
>>>>>>>>> +Fixed Bugs:
>>>>>>>>> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
>>>>>>>> Thanks to Stephen Colebourne.
>>>>>>>>> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on
>>>> Java
>>>>>>>> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to
>> Gary
>>>>>>>> Gregory.
>>>>>>>>> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
>>>>>>>> generic return type of Enum.valueOf Thanks to mbusso.
>>>>>>>>> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
>>>>>>>> regression Thanks to Brett Kail.
>>>>>>>>> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction
>>>> bug
>>>>>>>> Thanks to Naman Nigam.
>>>>>>>>> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should
>>>> use
>>>>>>>> toUpperCase(Locale) Thanks to BruceKuiLiu.
>>>>>>>>> +
>>>>>>>>> +Changes:
>>>>>>>>> +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
>>>>>>>>> +                               Version 3.6
>>>>>>>>> +                              Release Notes
>>>>>>>>> +
>>>>>>>>> +
>>>>>>>>> +INTRODUCTION:
>>>>>>>>> +
>>>>>>>>> +This document contains the release notes for the 3.6 version of
>>>>>>>>> +Apache Commons Lang as well as a history all changes in the
>> Commons
>>>>>>>> Lang 3.x
>>>>>>>>> +release line. Commons Lang is a set of utility functions and
>>>> reusable
>>>>>>>>> +components that should be of use in any Java environment. Commons
>>>> Lang
>>>>>>>> 3.6 at
>>>>>>>>> +least requires Java 7.0. Note that this has changed from Commons
>>>> Lang
>>>>>>>> 3.5, which
>>>>>>>>> +only required Java 1.6.
>>>>>>>>> +
>>>>>>>>> +For the advice on upgrading from 2.x to 3.x, see the following
>> page:
>>>>>>>>> +
>>>>>>>>> +    http://commons.apache.org/lang/article3_0.html
>>>>>>>>> +
>>>>>>>>> +HIGHLIGHTS
>>>>>>>>> +==========
>>>>>>>>> +
>>>>>>>>> +Some of the highlights in this release include:
>>>>>>>>> +
>>>>>>>>> +o The class org.apache.commons.lang3.concurrent.Memoizer is an
>>>>>>>> implementation
>>>>>>>>> +    of the Memoizer pattern as shown in
>>>>>>>>> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p.
>>>> 108.
>>>>>>>>> +o The class org.apache.commons.lang3.ArchUtils has been added.
>>>>>>>> ArchUtils is
>>>>>>>>> +    a utility class for the "os.arch" system property.
>>>>>>>>> +
>>>>>>>>> +DEPRECATIONS
>>>>>>>>> +============
>>>>>>>>> +
>>>>>>>>> +The Apache Commons Community has recently set up the Commons Text
>>>>>>>> component
>>>>>>>>> +as a home for algorithms working on strings. For this reason most
>> of
>>>>>>>> the string
>>>>>>>>> +focused functionality in Commons Lang has been deprecated and
>> moved
>>>> to
>>>>>>>>> +Commons Text. This includes:
>>>>>>>>> +
>>>>>>>>> +o All classes in the org.apache.commons.lang3.text and the
>>>>>>>>> +    org.apache.commons.lang3.text.translate packages
>>>>>>>>> +o org.apache.commons.lang3.StringEscapeUtils
>>>>>>>>> +o org.apache.commons.lang3.RandomStringUtils
>>>>>>>>> +o The methods org.apache.commons.lang3.StringUtils.
>>>>>> getJaroWinklerDistance
>>>>>>>> and
>>>>>>>>> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
>>>>>>>>> +
>>>>>>>>> +For more information see the Commons Text website:
>>>>>>>>> +
>>>>>>>>> +    http://commons.apache.org/text
>>>>>>>>> +
>>>>>>>>> +The class org.apache.commons.lang3.CharEncoding has been
>> deprecated
>>>>>> in
>>>>>>>> favor of
>>>>>>>>> +java.nio.charset.StandardCharsets.
>>>>>>>>> +
>>>>>>>>> +The following methods have been deprecated in
>>>>>>>>> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
>>>>>>>> insert
>>>>>>>>> +methods. Note that the handling for null inputs differs between
>> add
>>>>>> and
>>>>>>>> insert.
>>>>>>>>> +
>>>>>>>>> +o add(boolean[], int, boolean) -> insert(int, boolean[],
>> boolean...)
>>>>>>>>> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
>>>>>>>>> +o add(char[], int, boolean)    -> insert(int, char[], char...)
>>>>>>>>> +o add(double[], int, boolean)  -> insert(int, double[], double...)
>>>>>>>>> +o add(float[], int, boolean)   -> insert(int, float[], float...)
>>>>>>>>> +o add(int[], int, boolean)     -> insert(int, int[], int...)
>>>>>>>>> +o add(long[], int, boolean)    -> insert(int, long[], long...)
>>>>>>>>> +o add(short[], int, boolean)   -> insert(int, short[], short...)
>>>>>>>>> +o add(T[], int, boolean)       -> insert(int, T[], T...)
>>>>>>>>> +
>>>>>>>>> +
>>>>>>>>> +COMPATIBILITY WITH JAVA 9
>>>>>>>>> +==================
>>>>>>>>> +
>>>>>>>>> +The MANIFEST.MF now contains an additional entry:
>>>>>>>>> +
>>>>>>>>> +  Automatic-Module-Name: org.apache.commons.lang3
>>>>>>>>> +
>>>>>>>>> +This should make it possible to use Commons Lang 3.6 as a module
>> in
>>>>>> the
>>>>>>>> Java 9
>>>>>>>>> +module system. For more information see the corresponding issue
>> and
>>>>>> the
>>>>>>>>> +referenced mailing list discussions:
>>>>>>>>> +
>>>>>>>>> +    https://issues.apache.org/jira/browse/LANG-1338
>>>>>>>>> +
>>>>>>>>> +The build problems present in the 3.5 release have been resolved.
>>>>>>>> Building
>>>>>>>>> +Commons Lang 3.6 should work out of the box with the latest Java 9
>>>> EA
>>>>>>>> build.
>>>>>>>>> +Please report any Java 9 related issues at:
>>>>>>>>> +
>>>>>>>>> +    https://issues.apache.org/jira/browse/LANG
>>>>>>>>> +
>>>>>>>>> +NEW FEATURES
>>>>>>>>> +============
>>>>>>>>> +
>>>>>>>>> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
>>>>>>>>> +o LANG-1304: Add method in StringUtils to determine if string
>>>> contains
>>>>>>>> both
>>>>>>>>> +             mixed cased characters. Thanks to Andy Klimczak.
>>>>>>>>> +o LANG-1325: Increase test coverage of ToStringBuilder class to
>>>> 100%.
>>>>>>>>> +             Thanks to Arshad Basha.
>>>>>>>>> +o LANG-1307: Add a method in StringUtils to extract only digits
>> out
>>>> of
>>>>>>>> input
>>>>>>>>> +             string. Thanks to Arshad Basha.
>>>>>>>>> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
>>>>>>>>> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
>>>>>>>>> +             Thanks to Mark Dacek.
>>>>>>>>> +o LANG-1299: Add method for converting string to an array of code
>>>>>>>> points.
>>>>>>>>> +o LANG-660:  Add methods to insert arrays into arrays at an index.
>>>>>>>>> +o LANG-1034: Add support for recursive comparison to
>>>>>>>>> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
>>>>>>>>> +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.
>>>>>>>>> +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.
>>>>>>>>> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch"
>>>> system
>>>>>>>> property.
>>>>>>>>> +             Thanks to Tomschi.
>>>>>>>>> +o LANG-1272: Add shuffle methods to ArrayUtils.
>>>>>>>>> +o LANG-1317: Add MethodUtils#findAnnotation and extend
>>>>>>>>> +             MethodUtils#getMethodsWithAnnotation for non-public,
>>>>>>>> super-class
>>>>>>>>> +             and interface methods. Thanks to Yasser Zamani.
>>>>>>>>> +o LANG-1331: Add ImmutablePair.nullPair().
>>>>>>>>> +o LANG-1332: Add ImmutableTriple.nullTriple().
>>>>>>>>> +
>>>>>>>>> +FIXED BUGS
>>>>>>>>> +==========
>>>>>>>>> +
>>>>>>>>> +o LANG-1337: Fix test failures in IBM JDK 8 for
>> ToStringBuilderTest.
>>>>>>>>> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError
>>>> when
>>>>>>>> object is
>>>>>>>>> +             an array.
>>>>>>>>> +o LANG-1320: LocaleUtils#toLocale does not support language
>> followed
>>>>>> by
>>>>>>>> UN M.49
>>>>>>>>> +             numeric-3 area code followed by variant.
>>>>>>>>> +o LANG-1300: Clarify or improve behaviour of int-based indexOf
>>>> methods
>>>>>>>> in
>>>>>>>>> +             StringUtils. Thanks to Mark Dacek.
>>>>>>>>> +o LANG-1286: RandomStringUtils random method can overflow and
>> return
>>>>>>>> characters
>>>>>>>>> +             outside of specified range.
>>>>>>>>> +o LANG-1292: WordUtils.wrap throws StringIndexOutOfBoundsExceptio
>> n.
>>>>>>>>> +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ò.
>>>>>>>>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is
>> contradictory.
>>>>>>>>> +             Thanks to Andreas Lundblad.
>>>>>>>>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible
>>>>>> heap
>>>>>>>>> +             pollution from parameterized vararg type T.
>>>>>>>>> +o LANG-1144: Multiple calls of
>>>>>>>>> +             org.apache.commons.lang3.concurrent.LazyInitializer.
>>>>>>>> initialize()
>>>>>>>>> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
>>>>>>>>> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException
>> .
>>>>>>>>> +             Thanks to Andy Klimczak.
>>>>>>>>> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
>>>>>>>>> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
>>>>>>>>> +             Thanks to Paul Pogonyshev.
>>>>>>>>> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return
>>>>>> false
>>>>>>>> for an
>>>>>>>>> +             empty array. Thanks to Pierre Templier.
>>>>>>>>> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
>>>>>>>> Andrade.
>>>>>>>>> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and
>>>> Object
>>>>>>>> arrays
>>>>>>>>> +             correctly. Thanks to Aaron Digulla.
>>>>>>>>> +o LANG-1312: LocaleUtils#toLocale does not support language
>> followed
>>>>>> by
>>>>>>>> UN M.49
>>>>>>>>> +             numeric-3 area code.
>>>>>>>>> +o LANG-1265: Build failures when building with Java 9 EA.
>>>>>>>>> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
>>>>>>>> Murienik.
>>>>>>>>> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException
>> if
>>>>>>>> using
>>>>>>>>> +             varargs arguments and smaller types than the method
>>>>>>>> defines.
>>>>>>>>> +             Thanks to Don Jeba.
>>>>>>>>> +
>>>>>>>>> +CHANGES
>>>>>>>>> +=======
>>>>>>>>> +
>>>>>>>>> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
>>>>>>>>> +             compatibility.
>>>>>>>>> +o LANG-1334: Deprecate CharEncoding in favour of
>>>>>>>>> +             java.nio.charset.StandardCharsets.
>>>>>>>>> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
>>>>>>>>> +             Thanks to Bruno P. Kinoshita.
>>>>>>>>> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
>>>>>>>> ArrayUtils.
>>>>>>>>> +             Thanks to Andrii Abramov.
>>>>>>>>> +o LANG-1274: StrSubstitutor should state its thread safety.
>>>>>>>>> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
>>>>>>>> consumption.
>>>>>>>>> +             Thanks to yufcuy.
>>>>>>>>> +o LANG-1279: Update Java requirement from Java 6 to 7.
>>>>>>>>> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
>>>>>>>>> +             toXxxxCase(char). Thanks to sebb.
>>>>>>>>> +o LANG-1297: Add SystemUtils.getHostName() API.
>>>>>>>>> +o LANG-1301: Moving apache-rat-plugin configuration into
>>>>>>>> pluginManagement.
>>>>>>>>> +             Thanks to Karl Heinz Marbaise.
>>>>>>>>> +o LANG-1316: Deprecate classes/methods moved to commons-text.
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.5
>>>>>>>>> +
>>>>>>>>> +
>>>>>>>>> +HIGHLIGHTS
>>>>>>>>> +==========
>>>>>>>>> +
>>>>>>>>> +Some of the highlights in this release include:
>>>>>>>>> +
>>>>>>>>> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
>>>>>>>>> +o Support for shifting and swapping elements in
>>>>>>>>> +    org.apache.commons.lang3.ArrayUtils.
>>>>>>>>> +o New methods for generating random strings from different
>> character
>>>>>>>> classes
>>>>>>>>> +    including alphabetic, alpha-numeric and ASCII added to
>>>>>>>>> +    org.apache.commons.lang3.RandomStringUtils.
>>>>>>>>> +o Numerous extensions to org.apache.commons.lang3.StringUtils
>>>>>> including
>>>>>>>>> +    null safe compare variants, more remove and replace variants,
>>>>>>>> rotation and
>>>>>>>>> +    truncation.
>>>>>>>>> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to
>>>>>> work
>>>>>>>> with
>>>>>>>>> +    instances of java.lang.Thread and java.lang.ThreadGroup.
>>>>>>>>> +o Added annotations @EqualsExclude, @HashCodeExclude and
>>>>>>>> @ToStringEclude to
>>>>>>>>> +    mark fields which should be ignored by the reflective builders
>>>> in
>>>>>>>> the
>>>>>>>>> +    org.apache.commons.lang3.builder package.
>>>>>>>>> +o Support for various modify and retrieve value use cases added to
>>>> the
>>>>>>>> classes
>>>>>>>>> +    in org.apache.commons.lang3.mutable.
>>>>>>>>> +
>>>>>>>>> +COMPATIBILITY
>>>>>>>>> +=============
>>>>>>>>> +
>>>>>>>>> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release.
>>>>>> Users
>>>>>>>>> +should not experience any problems when upgrading from 3.4 to 3.5.
>>>>>>>>> +
>>>>>>>>> +There has been an addition to the org.apache.commons.lang3.time.
>>>>>>>> DatePrinter
>>>>>>>>> +interface:
>>>>>>>>> +
>>>>>>>>> +o Added method 'public boolean parse(java.lang.String,
>>>>>>>> java.text.ParsePosition,
>>>>>>>>> +    java.util.Calendar)'
>>>>>>>>> +o Added method 'public java.lang.Appendable format(long,
>>>>>>>> java.lang.Appendable)'
>>>>>>>>> +o Added method 'public java.lang.Appendable format(java.util.Date,
>>>>>>>>> +    java.lang.Appendable)'
>>>>>>>>> +o Added method 'public java.lang.Appendable
>>>> format(java.util.Calendar,
>>>>>>>>> +    java.lang.Appendable)'
>>>>>>>>> +
>>>>>>>>> +For this reason 3.5 is not strictly source compatible to 3.4.
>> Since
>>>>>> the
>>>>>>>>> +DatePrinter interface is not meant to be implemented by clients,
>>>> this
>>>>>>>>> +change it not considered to cause any problems.
>>>>>>>>> +
>>>>>>>>> +JAVA 9 SUPPORT
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +Java 9 introduces a new version-string scheme. Details of this new
>>>>>>>> scheme are
>>>>>>>>> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In
>> order
>>>> to
>>>>>>>> support
>>>>>>>>> +JEP-223 two classes had to be changed:
>>>>>>>>> +
>>>>>>>>> +o org.apache.commons.lang3.JavaVersion
>>>>>>>>> +    deprecated enum constant JAVA_1_9
>>>>>>>>> +    introduced enum constant JAVA_9
>>>>>>>>> +
>>>>>>>>> +o org.apache.commons.lang3.SystemUtils
>>>>>>>>> +    deprecated constant IS_JAVA_1_9
>>>>>>>>> +    introduced constant IS_JAVA_9
>>>>>>>>> +
>>>>>>>>> +For more information see LANG-1197
>>>>>>>>> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs
>>>> are
>>>>>>>> expected
>>>>>>>>> +to work with Java 9.
>>>>>>>>> +
>>>>>>>>> +BUILDING ON JAVA 9
>>>>>>>>> +==================
>>>>>>>>> +
>>>>>>>>> +Java 8 introduced the Unicode Consortium's Common Locale Data
>>>>>>>> Repository as
>>>>>>>>> +alternative source for locale data. Java 9 will use the CLDR
>>>> provider
>>>>>> as
>>>>>>>>> +default provider for locale data (see
>> http://openjdk.java.net/jeps/
>>>>>> 252).
>>>>>>>> This
>>>>>>>>> +causes an number of locale-sensitive test in Commons Lang to fail.
>>>> In
>>>>>>>> order
>>>>>>>>> +to build Commons Lang 3.5 on Java 9, the locale provider has to be
>>>> set
>>>>>>>> to
>>>>>>>>> +'JRE':
>>>>>>>>> +
>>>>>>>>> +    mvn -Djava.locale.providers=JRE clean install
>>>>>>>>> +
>>>>>>>>> +We are currently investigating ways to support building on Java 9
>>>>>>>> without
>>>>>>>>> +further configuration. For more information see:
>>>>>>>>> +https://issues.apache.org/jira/browse/LANG-1265
>>>>>>>>> +
>>>>>>>>> +
>>>>>>>>> +NEW FEATURES
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
>>>>>>>>> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
>>>>>>>> Kaiyuan Wang.
>>>>>>>>> +o LANG-1023: Add WordUtils.wrap overload with customizable
>> breakable
>>>>>>>> character.
>>>>>>>>> +             Thanks to Marko Bekhta.
>>>>>>>>> +o LANG-787:  Add method removeIgnoreCase(String, String) to
>>>>>>>> StringUtils. Thanks
>>>>>>>>> +             to Gokul Nanthakumar C.
>>>>>>>>> +o LANG-1224: Extend RandomStringUtils with methods that generate
>>>>>> strings
>>>>>>>>> +             between a min and max length. Thanks to Caleb
>> Cushing.
>>>>>>>>> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String,
>>>> char|String).
>>>>>>>> Thanks to
>>>>>>>>> +             Gary Gregory.
>>>>>>>>> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to
>> adilek.
>>>>>>>>> +o LANG-1085: Add a circuit breaker implementation. Thanks to
>> Oliver
>>>>>>>> Heger and
>>>>>>>>> +             Bruno P. Kinoshita.
>>>>>>>>> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
>>>>>>>>> +o LANG-1195: Enhance MethodUtils to allow invocation of private
>>>>>>>> methods. Thanks
>>>>>>>>> +             to Derek C. Ashmore.
>>>>>>>>> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
>>>>>>>> incrementAndGet/
>>>>>>>>> +             decrementAndGet/addAndGet in Mutable* classes. Thanks
>>>> to
>>>>>>>>> +             Haiyang Li and Matthew Bartenschlag.
>>>>>>>>> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint
>>>> which
>>>>>>>> match
>>>>>>>>> +             corresponding regular expression class. Thanks to
>> Caleb
>>>>>>>> Cushing.
>>>>>>>>> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick
>> Manley.
>>>>>>>>> +o LANG-781:  Add methods to ObjectUtils class to check for null
>>>>>>>> elements in the
>>>>>>>>> +             array. Thanks to Krzysztof Wolny.
>>>>>>>>> +o LANG-1228: Prefer Throwable.getCause() in
>>>> ExceptionUtils.getCause().
>>>>>>>>> +             Thanks to Brad Hess.
>>>>>>>>> +o LANG-1233: DiffBuilder add method to allow appending from a
>>>>>>>> DiffResult.
>>>>>>>>> +             Thanks to Nick Manley.
>>>>>>>>> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
>>>>>>>>> +             Thanks to Pascal Schumacher.
>>>>>>>>> +o LANG-1115: Add support for varargs in ConstructorUtils,
>>>> MemberUtils,
>>>>>>>> and
>>>>>>>>> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
>>>>>>>>> +o LANG-1134: Add methods to check numbers against NaN and
>> inifinite
>>>> to
>>>>>>>>> +             Validate. Thanks to Alan Smithee.
>>>>>>>>> +o LANG-1220: Add tests for missed branches in DateUtils.
>>>>>>>>> +             Thanks to Casey Scarborough.
>>>>>>>>> +o LANG-1146: z/OS identification in SystemUtils.
>>>>>>>>> +             Thanks to Gabor Liptak.
>>>>>>>>> +o LANG-1192: FastDateFormat support of the week-year component
>>>>>>>> (uppercase 'Y').
>>>>>>>>> +             Thanks to Dominik Stadler.
>>>>>>>>> +o LANG-1169: Add StringUtils methods to compare a string to
>> multiple
>>>>>>>> strings.
>>>>>>>>> +             Thanks to Rafal Glowinski, Robert Parr and Arman
>>>> Sharif.
>>>>>>>>> +o LANG-1185: Add remove by regular expression methods in
>>>> StringUtils.
>>>>>>>>> +o LANG-1139: Add replace by regular expression methods in
>>>> StringUtils.
>>>>>>>>> +o LANG-1171: Add compare methods in StringUtils.
>>>>>>>>> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
>>>>>>>>> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks
>> to
>>>>>>>>> +             Gary Gregory.
>>>>>>>>> +o LANG-1149: Ability to throw checked exceptions without declaring
>>>>>>>> them. Thanks
>>>>>>>>> +             to Gregory Zak.
>>>>>>>>> +o LANG-1153: Implement ParsePosition api for FastDateParser.
>>>>>>>>> +o LANG-1137: Add check for duplicate event listener in
>>>>>>>> EventListenerSupport.
>>>>>>>>> +             Thanks to Matthew Aguirre.
>>>>>>>>> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
>>>>>>>>> +             Eduardo Martins.
>>>>>>>>> +o LANG-1132: ReflectionToStringBuilder doesn't throw
>>>>>>>> IllegalArgumentException
>>>>>>>>> +             when the constructor's object param is null. Thanks
>> to
>>>>>>>> Jack Tan.
>>>>>>>>> +o LANG-701:  StringUtils join with var args. Thanks to James
>> Sawle.
>>>>>>>>> +o LANG-1105: Add ThreadUtils - A utility class which provides
>> helper
>>>>>>>> methods
>>>>>>>>> +             related to java.lang.Thread  Issue: LANG-1105. Thanks
>>>> to
>>>>>>>>> +             Hendrik Saly.
>>>>>>>>> +o LANG-1031: Add annotations to exclude fields from
>>>>>>>> ReflectionEqualsBuilder,
>>>>>>>>> +             ReflectionToStringBuilder and
>>>> ReflectionHashCodeBuilder.
>>>>>>>> Thanks
>>>>>>>>> +             to Felipe Adorno.
>>>>>>>>> +o LANG-1127: Use JUnit rules to set and reset the default Locale
>> and
>>>>>>>> TimeZone.
>>>>>>>>> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks
>>>> to
>>>>>>>>> +             Loic Guibert.
>>>>>>>>> +o LANG-1099: Add swap and shift operations for arrays to
>> ArrayUtils.
>>>>>>>> Thanks to
>>>>>>>>> +             Adrian Ber.
>>>>>>>>> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to
>> James
>>>>>>>> Sawle.
>>>>>>>>> +o LANG-1074: Add a method to ArrayUtils for removing all
>> occurrences
>>>>>> of
>>>>>>>> a given
>>>>>>>>> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
>>>>>>>>> +
>>>>>>>>> +FIXED BUGS
>>>>>>>>> +============
>>>>>>>>> +
>>>>>>>>> +o LANG-1261: ArrayUtils.contains returns false for instances of
>>>>>>>> subtypes.
>>>>>>>>> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better
>>>>>> reflect
>>>>>>>>> +             createNumber. Also, accommodated for "+" symbol as
>>>> prefix
>>>>>>>> in
>>>>>>>>> +             isCreatable and isNumber. Thanks to Rob Tompkins.
>>>>>>>>> +o LANG-1230: Remove unnecessary synchronization from registry
>> lookup
>>>>>> in
>>>>>>>>> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
>>>>>>>> Marschall.
>>>>>>>>> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to
>> Henry
>>>>>>>> Tung.
>>>>>>>>> +o LANG-1250: SerializationUtils#deserialize has unnecessary code
>>>> and a
>>>>>>>> comment
>>>>>>>>> +             for that. Thanks to Glease Wang.
>>>>>>>>> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException
>> when
>>>>>>>> fromType
>>>>>>>>> +             has type variables and toType generic superclass
>>>>>> specifies
>>>>>>>> type
>>>>>>>>> +             variable. Thanks to Pascal Schumacher.
>>>>>>>>> +o LANG-1226: StringUtils#normalizeSpace does not trim the string
>>>>>>>> anymore.
>>>>>>>>> +             Thanks to Pascal Schumacher.
>>>>>>>>> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
>>>>>>>> should use
>>>>>>>>> +             static initializer to initialize primitiveTypes map.
>>>>>>>> Thanks to
>>>>>>>>> +             Takuya Ueshin.
>>>>>>>>> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks
>> to
>>>>>>>>> +             Benoit Wiart.
>>>>>>>>> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(
>>>> String).
>>>>>>>> Thanks to
>>>>>>>>> +             Nick Manley.
>>>>>>>>> +o LANG-1199: Fix implementation of StringUtils.
>>>>>> getJaroWinklerDistance().
>>>>>>>> Thanks
>>>>>>>>> +             to M. Steiger.
>>>>>>>>> +o LANG-1244: Fix dead links in StringUtils.
>> getLevenshteinDistance()
>>>>>>>> javadoc.
>>>>>>>>> +             Thanks to jjbankert.
>>>>>>>>> +o LANG-1242: "\u2284":"?" mapping missing from
>>>>>>>>> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
>>>>>>>> Stewart.
>>>>>>>>> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case
>>>> sensitive
>>>>>> -
>>>>>>>>> +             documented as case insensitive. Thanks to Matthew
>>>>>>>> Bartenschlag.
>>>>>>>>> +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 "Å‚".
>>>>>>>>> +             Thanks to kaching88.
>>>>>>>>> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently
>> with
>>>>>>>>> +             NumberUtils.isNumber(). Thanks to pbrose.
>>>>>>>>> +o LANG-1222: Fix for incorrect comment on
>>>>>> StringUtils.containsIgnoreCase
>>>>>>>>> +             method. Thanks to Adam J.
>>>>>>>>> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
>>>>>>>> Templier.
>>>>>>>>> +o LANG-1202: parseDateStrictly does't pass specified locale.
>> Thanks
>>>> to
>>>>>>>>> +             Markus Jelsma.
>>>>>>>>> +o LANG-1219: FastDateFormat doesn't respect summer daylight in
>> some
>>>>>>>> localized
>>>>>>>>> +             strings. Thanks to Jarek.
>>>>>>>>> +o LANG-1175: Remove Ant-based build.
>>>>>>>>> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
>>>>>>>>> +o LANG-1186: Fix NullPointerException in FastDateParser$
>>>>>>>> TimeZoneStrategy.
>>>>>>>>> +             Thanks to NickManley.
>>>>>>>>> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer
>>>> of
>>>>>> -1
>>>>>>>>> +             (correct answer should be 0); revert fix for
>> LANG-1077.
>>>>>>>> Thanks to
>>>>>>>>> +             Qin Li.
>>>>>>>>> +o LANG-1002: Several predefined ISO FastDateFormats in
>>>> DateFormatUtils
>>>>>>>> are
>>>>>>>>> +             incorrect. Thanks to Michael Osipov.
>>>>>>>>> +o LANG-1152: StringIndexOutOfBoundsException or field over-write
>>>> for
>>>>>>>> large year
>>>>>>>>> +             fields in FastDateParser. Thanks to Pas Filip.
>>>>>>>>> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts
>> on
>>>>>>>> changes on
>>>>>>>>> +             system properties.
>>>>>>>>> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values
>>>> Enum.
>>>>>>>> Thanks
>>>>>>>>> +             to Loic Guibert.
>>>>>>>>> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin
>> Casey.
>>>>>>>>> +o LANG-1122: Inconsistent behavior of swap for malformed inputs.
>>>>>> Thanks
>>>>>>>> to
>>>>>>>>> +             Adrian Ber.
>>>>>>>>> +o LANG-1130: Fix critical issues reported by SonarQube.
>>>>>>>>> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
>>>>>>>> inputs.
>>>>>>>>> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
>>>>>>>> correctly.
>>>>>>>>> +             Thanks to Jack Tan.
>>>>>>>>> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default
>>>>>> Locale.
>>>>>>>>> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a
>> timezone
>>>>>>>> set.
>>>>>>>>> +             Thanks to Christian P. Momon.
>>>>>>>>> +o LANG-916:  DateFormatUtils.format does not correctly change
>>>> Calendar
>>>>>>>>> +             TimeZone in certain situations. Thanks to Christian
>> P.
>>>>>>>> Momon.
>>>>>>>>> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones.
>>>>>> Thanks
>>>>>>>> to
>>>>>>>>> +             Aaron Sheldon.
>>>>>>>>> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
>>>>>>>> wildcard
>>>>>>>>> +             types. Thanks to Andy Coates.
>>>>>>>>> +o LANG-1118: StringUtils.repeat('z', -1) throws
>>>>>>>> NegativeArraySizeException.
>>>>>>>>> +             Thanks to Loic Guibert.
>>>>>>>>> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
>>>>>>>>> +o LANG-1162: StringUtils#equals fails with Index OOBE on
>> non-Strings
>>>>>>>> with
>>>>>>>>> +             identical leading prefix..
>>>>>>>>> +o LANG-1163: There are no tests for CharSequenceUtils.
>>>> regionMatches.
>>>>>>>>> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
>>>>>>>> BarkZhang.
>>>>>>>>> +o LANG-1191: Incorrect Javadoc
>>>>>>>>> +             StringUtils.containsAny(CharSequence,
>>>> CharSequence...).
>>>>>>>> Thanks to
>>>>>>>>> +             qed, Brent Worden and Gary Gregory.
>>>>>>>>> +
>>>>>>>>> +CHANGES
>>>>>>>>> +=========
>>>>>>>>> +o LANG-1197: Prepare Java 9 detection.
>>>>>>>>> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
>>>>>>>> method is too
>>>>>>>>> +             big to be inlined. Thanks to Ruslan Cheremin.
>>>>>>>>> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
>>>>>>>> misleading. Thanks
>>>>>>>>> +             to Dominik Stadler.
>>>>>>>>> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks
>> to
>>>>>>>>> +             Benoit Wiart.
>>>>>>>>> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to
>> be
>>>>>>>> inlined,
>>>>>>>>> +             which prevents whole builder to be scalarized. Thanks
>>>> to
>>>>>>>>> +             Ruslan Cheremin.
>>>>>>>>> +o LANG-1243: Simplify ArrayUtils removeElements by using new
>>>>>>>> decrementAndGet()
>>>>>>>>> +             method.
>>>>>>>>> +o LANG-1240: Optimize BitField constructor implementation. Thanks
>> to
>>>>>>>> zhanhb.
>>>>>>>>> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
>>>>>>>>> +             Mohammed Alfallaj.
>>>>>>>>> +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.
>>>>>>>>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.
>>>>>>>> Thanks to
>>>>>>>>> +             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.
>>>>>>>>> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc.
>> Thanks
>>>> to
>>>>>>>>> +             Matthias Niehoff.
>>>>>>>>> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel
>>>>>> Karp.
>>>>>>>>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks
>> to
>>>>>>>>> +             Larry West and Pascal Schumacher.
>>>>>>>>> +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.
>>>>>>>>> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
>>>>>>>>> +             SystemUtils.PATH_SEPARATOR.
>>>>>>>>> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format
>>>>>> descriptor
>>>>>>>> for
>>>>>>>>> +             "invalid number of type parameters". Thanks to Bruno
>> P.
>>>>>>>> Kinoshita.
>>>>>>>>> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due
>>>> to
>>>>>>>> being
>>>>>>>>> +             package-private.
>>>>>>>>> +o LANG-1058: StringUtils.uncapitalize performance improvement.
>>>> Thanks
>>>>>> to
>>>>>>>>> +             Leo Wang.
>>>>>>>>> +o LANG-1069: CharSet.getInstance documentation does not clearly
>>>>>> explain
>>>>>>>> how
>>>>>>>>> +             to include negation character in set. Thanks to Arno
>>>>>>>> Noordover.
>>>>>>>>> +o LANG-1107: Fix parsing edge cases in FastDateParser.
>>>>>>>>> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
>>>>>>>> SystemUtils. Thanks
>>>>>>>>> +             to Jake Wang.
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.4
>>>>>>>>> +
>>>>>>>>> +
>>>>>>>>> +COMPATIBILITY
>>>>>>>>> +=============
>>>>>>>>> +
>>>>>>>>> +Commons Lang 3.4 is fully binary compatible to the last release
>> and
>>>>>> can
>>>>>>>>> +therefore be used as a drop in replacement for 3.3.2. Note that
>> the
>>>>>>>> value of
>>>>>>>>> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
>>>>>>>> EXTENDED_FORMAT_PATTERN
>>>>>>>>> +has changed, which may affect clients using the constant.
>>>> Furthermore
>>>>>>>> the
>>>>>>>>> +constant is used internally in
>>>>>>>>> +o DurationFormatUtils.formatDurationISO(long)
>>>>>>>>> +o DurationFormatUtils.formatPeriodISO(long, long)
>>>>>>>>> +
>>>>>>>>> +For more information see https://issues.apache.org/
>>>>>>>> jira/browse/LANG-1000.
>>>>>>>>> +
>>>>>>>>> +NEW FEATURES
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
>>>>>>>> Kockert.
>>>>>>>>> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
>>>>>>>>> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to
>> Fabian
>>>>>>>> Lange.
>>>>>>>>> +o LANG-1082: Add option to disable the "objectsTriviallyEqual"
>> test
>>>> in
>>>>>>>>> +             DiffBuilder. Thanks to Jonathan Baker.
>>>>>>>>> +o LANG-1015: Add JsonToStringStyle implementation to
>> ToStringStyle.
>>>>>>>> Thanks to
>>>>>>>>> +             Thiago Andrade.
>>>>>>>>> +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-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.
>>>>>>>>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
>>>>>>>>> +             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
>>>>>>>>> +             Mikhail Mazursky.
>>>>>>>>> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
>>>>>>>>> +             Mikhail Mazursky.
>>>>>>>>> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object,
>>>> String)
>>>>>>>>> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
>>>>>>>>> +
>>>>>>>>> +FIXED BUGS
>>>>>>>>> +============
>>>>>>>>> +
>>>>>>>>> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
>>>>>>>> Thanks to
>>>>>>>>> +             Timo Kockert.
>>>>>>>>> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
>>>>>>>>> +o LANG-948:  Exception while using ExtendedMessageFormat and
>>>> escaping
>>>>>>>> braces.
>>>>>>>>> +             Thanks to Andrey Khobnya.
>>>>>>>>> +o LANG-1092: Wrong formating of time zones with daylight saving
>> time
>>>>>> in
>>>>>>>>> +             FastDatePrinter
>>>>>>>>> +o LANG-1090: FastDateParser does not set error indication in
>>>>>>>> ParsePosition
>>>>>>>>> +o LANG-1089: FastDateParser does not handle excess hours as per
>>>>>>>>> +             SimpleDateFormat
>>>>>>>>> +o LANG-1061: FastDateParser error - timezones not handled
>> correctly.
>>>>>>>> Thanks to
>>>>>>>>> +             dmeneses.
>>>>>>>>> +o LANG-1087: NumberUtils#createNumber() returns positive
>> BigDecimal
>>>>>> when
>>>>>>>>> +             negative Float is expected. Thanks to Renat
>> Zhilkibaev.
>>>>>>>>> +o LANG-1081: DiffBuilder.append(String, Object left, Object right)
>>>>>> does
>>>>>>>> not do
>>>>>>>>> +             a left.equals(right) check. Thanks to Jonathan Baker.
>>>>>>>>> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
>>>>>>>> consistently.
>>>>>>>>> +             Thanks to Jonathan Baker.
>>>>>>>>> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK.
>>>>>> Thanks
>>>>>>>> to
>>>>>>>>> +             Jonathan Baker.
>>>>>>>>> +o LANG-1073: Read wrong component type of array in add in
>>>> ArrayUtils.
>>>>>>>>> +             Thanks to haiyang li.
>>>>>>>>> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3
>> in
>>>>>>>> StringUtils.
>>>>>>>>> +             Thanks to haiyang li.
>>>>>>>>> +o LANG-1072: Duplicated "0x" check in createBigInteger in
>>>> NumberUtils.
>>>>>>>> Thanks
>>>>>>>>> +             to haiyang li.
>>>>>>>>> +o LANG-1064: StringUtils.abbreviate description doesn't agree with
>>>> the
>>>>>>>>> +             examples. Thanks to B.J. Herbison.
>>>>>>>>> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK
>> method
>>>>>>>> ordering.
>>>>>>>>> +             Thanks to Alexandre Bartel.
>>>>>>>>> +o LANG-1000: ParseException when trying to parse UTC dates with Z
>> as
>>>>>>>> zone
>>>>>>>>> +             designator using DateFormatUtils.ISO_DATETIME_
>>>>>>>> TIME_ZONE_FORMAT
>>>>>>>>> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is
>>>> unclear
>>>>>>>>> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks
>> to
>>>>>>>>> +             Michael Osipov.
>>>>>>>>> +o LANG-1088: FastDateParser should be case insensitive
>>>>>>>>> +o LANG-995:  Fix bug with stripping spaces on last line in
>>>>>>>> WordUtils.wrap().
>>>>>>>>> +             Thanks to Andrey Khobnya.
>>>>>>>>> +
>>>>>>>>> +CHANGES
>>>>>>>>> +=========
>>>>>>>>> +
>>>>>>>>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils
>>>>>> smarter
>>>>>>>>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
>>>>>>>> Lange.
>>>>>>>>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
>>>>>>>>> +o LANG-1100: Avoid memory allocation when using date formating to
>>>>>>>> StringBuffer.
>>>>>>>>> +             Thanks to mbracher.
>>>>>>>>> +o LANG-935:  Possible performance improvement on string escape
>>>>>>>> functions.
>>>>>>>>> +             Thanks to Fabian Lange, Thomas Neidhart.
>>>>>>>>> +o LANG-1098: Avoid String allocation in StrBuilder.append(
>>>>>> CharSequence).
>>>>>>>> Thanks
>>>>>>>>> +             to Mikhail Mazurskiy, Fabian Lange.
>>>>>>>>> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to
>>>> Micha?
>>>>>>>> Kordas.
>>>>>>>>> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to
>> Micha?
>>>>>>>> Kordas.
>>>>>>>>> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha?
>>>> Kordas.
>>>>>>>>> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha?
>>>>>> Kordas.
>>>>>>>>> +o LANG-877:  Performance improvements for StringEscapeUtils.
>> Thanks
>>>> to
>>>>>>>>> +             Fabian Lange.
>>>>>>>>> +o LANG-1071: Fix wrong examples in JavaDoc of
>>>>>>>>> +             StringUtils.replaceEachRepeatedly(...),
>>>>>>>>> +             StringUtils.replaceEach(...) Thanks to Arno
>> Noordover.
>>>>>>>>> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
>>>>>>>> fields it
>>>>>>>>> +             uses in performing comparisons
>>>>>>>>> +o LANG-1020: Improve performance of normalize space. Thanks to
>> Libor
>>>>>>>> Ondrusek.
>>>>>>>>> +o LANG-1027: org.apache.commons.lang3.SystemUtils#
>>>>>> isJavaVersionAtLeast
>>>>>>>> should
>>>>>>>>> +             return true by default
>>>>>>>>> +o LANG-1026: Bring static method references in StringUtils to
>>>>>>>> consistent style.
>>>>>>>>> +             Thanks to Alex Yursha.
>>>>>>>>> +o LANG-1017: Use non-ASCII digits in Javadoc examples for
>>>>>>>>> +             StringUtils.isNumeric. Thanks to Christoph
>> Schneegans.
>>>>>>>>> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils
>>>> from
>>>>>>>> array
>>>>>>>>> +             input parameters to varargs. Thanks to Thiago
>> Andrade.
>>>>>>>>> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks
>>>> to
>>>>>>>>> +             Thiago Andrade.
>>>>>>>>> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
>>>>>>>> pattern to
>>>>>>>>> +             match #formatDurationHMS. Thanks to Michael Osipov.
>>>>>>>>> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
>>>>>>>> Thanks to
>>>>>>>>> +             Thiago Andrade.
>>>>>>>>> +o LANG-731:  Better Javadoc for BitField class
>>>>>>>>> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation
>>>>>> does
>>>>>>>> not
>>>>>>>>> +             correspond to Javadoc and vice versa. Thanks to
>> Michael
>>>>>>>> Osipov.
>>>>>>>>> +o LANG-1003: DurationFormatUtils are not able to handle negative
>>>>>>>>> +             durations/periods
>>>>>>>>> +o LANG-998:  Javadoc is not clear on preferred pattern to
>>>> instantiate
>>>>>>>>> +             FastDateParser / FastDatePrinter
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.3.2
>>>>>>>>> +
>>>>>>>>> +NEW FEATURES
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
>>>>>>>>> +
>>>>>>>>> +FIXED BUGS
>>>>>>>>> +============
>>>>>>>>> +
>>>>>>>>> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0",
>>>> "0.4790",
>>>>>>>> et al
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.3.1
>>>>>>>>> +
>>>>>>>>> +FIXED BUGS
>>>>>>>>> +============
>>>>>>>>> +
>>>>>>>>> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH)
>>>>>> returns
>>>>>>>> wrong
>>>>>>>>> +             days
>>>>>>>>> +o LANG-983:  DurationFormatUtils does not describe format string
>>>> fully
>>>>>>>>> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched
>>>> quote
>>>>>>>> char
>>>>>>>>> +o LANG-984:  DurationFormatUtils does not handle large durations
>>>>>>>> correctly
>>>>>>>>> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS")
>> -
>>>> ms
>>>>>>>> field
>>>>>>>>> +             size should be 4 digits
>>>>>>>>> +o LANG-978:  Failing tests with Java 8 b128
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.3
>>>>>>>>> +
>>>>>>>>> +NEW FEATURES
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +o LANG-955:  Add methods for removing all invalid characters
>>>> according
>>>>>>>> to
>>>>>>>>> +             XML 1.0 and XML 1.1 in an input string to
>>>>>>>> StringEscapeUtils.
>>>>>>>>> +             Thanks to Adam Hooper.
>>>>>>>>> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
>>>>>>>>> +o LANG-962:  Add SerializationUtils.roundtrip(T extends
>>>> Serializable)
>>>>>> to
>>>>>>>>> +             serialize then deserialize
>>>>>>>>> +o LANG-637:  There should be a DifferenceBuilder with a
>>>>>>>>> +             ReflectionDifferenceBuilder implementation
>>>>>>>>> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
>>>>>>>> StringUtils.
>>>>>>>>> +             Thanks to Rekha Joshi.
>>>>>>>>> +o LANG-417:  New class ClassPathUtils with methods for turning FQN
>>>>>> into
>>>>>>>>> +             resource path
>>>>>>>>> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
>>>>>>>> overloads
>>>>>>>>> +             for primitive types
>>>>>>>>> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
>>>>>>>>> +o LANG-966:  Add IBM OS/400 detection
>>>>>>>>> +
>>>>>>>>> +FIXED BUGS
>>>>>>>>> +============
>>>>>>>>> +
>>>>>>>>> +o LANG-621:  ReflectionToStringBuilder.toString does not debug
>> 3rd
>>>>>>>> party object
>>>>>>>>> +             fields within 3rd party object. Thanks to Philip
>>>> Hodges,
>>>>>>>>> +             Thomas Neidhart.
>>>>>>>>> +o LANG-977:  NumericEntityEscaper incorrectly encodes
>> supplementary
>>>>>>>> characters.
>>>>>>>>> +             Thanks to Chris Karcher.
>>>>>>>>> +o LANG-973:  Make some private fields final
>>>>>>>>> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid
>>>>>> Octal
>>>>>>>> numbers
>>>>>>>>> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
>>>>>>>>> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset)
>>>> needlessly
>>>>>>>> throws
>>>>>>>>> +             UnsupportedEncodingException. Thanks to Matt Bishop.
>>>>>>>>> +o LANG-946:  ConstantInitializerTest fails when building with IBM
>>>> JDK
>>>>>> 7
>>>>>>>>> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
>>>>>>>> Android.
>>>>>>>>> +             Thanks to Michael Keppler.
>>>>>>>>> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
>>>>>>>> threshold
>>>>>>>>> +             returns wrong result. Thanks to Yaniv Kunda, Eli
>>>> Lindsey.
>>>>>>>>> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails
>> in
>>>>>>>>> +             JDK 1.6, 1.7 and 1.8, BRST time zone
>>>>>>>>> +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.
>>>>>>>>> +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.
>>>>>>>>> +
>>>>>>>>> +CHANGES
>>>>>>>>> +=========
>>>>>>>>> +
>>>>>>>>> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
>>>>>>>> removeFinalModifier(Field)
>>>>>>>>> +             does not clean up after itself
>>>>>>>>> +o LANG-958:  FastDateParser javadoc incorrectly states that
>>>>>>>> SimpleDateFormat
>>>>>>>>> +             is used internally
>>>>>>>>> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
>>>>>>>>> +o LANG-939:  Move Documentation from user guide to package-info
>>>> files
>>>>>>>>> +o LANG-953:  Convert package.html files to package-info.java files
>>>>>>>>> +o LANG-940:  Fix deprecation warnings
>>>>>>>>> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.2.1
>>>>>>>>> +
>>>>>>>>> +BUG FIXES
>>>>>>>>> +===========
>>>>>>>>> +
>>>>>>>>> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
>>>>>>>>> +o LANG-941:  Test failure in LocaleUtilsTest when building with
>> JDK
>>>> 8
>>>>>>>>> +o LANG-942:  Test failure in FastDateParserTest and
>>>>>>>> FastDateFormat_ParserTest
>>>>>>>>> +             when building with JDK8. Thanks to Bruno P.
>> Kinoshita,
>>>>>>>>> +             Henri Yandell.
>>>>>>>>> +o LANG-938:  Build fails with test failures when building with
>> JDK 8
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.2
>>>>>>>>> +
>>>>>>>>> +COMPATIBILITY WITH 3.1
>>>>>>>>> +========================
>>>>>>>>> +
>>>>>>>>> +This release introduces backwards incompatible changes in
>>>>>>>>> +org.apache.commons.lang3.time.FastDateFormat:
>>>>>>>>> +o Method 'protected java.util.List parsePattern()' has been
>> removed
>>>>>>>>> +o Method 'protected java.lang.String parseToken(java.lang.String,
>>>>>>>> int[])' has
>>>>>>>>> +  been removed
>>>>>>>>> +o Method 'protected org.apache.commons.lang3.time.
>>>>>>>> FastDateFormat$NumberRule
>>>>>>>>> +  selectNumberRule(int, int)' has been removed
>>>>>>>>> +
>>>>>>>>> +These changes were the result of [LANG-462]. It is assumed that
>> this
>>>>>>>> change
>>>>>>>>> +will not break clients as Charles Honton pointed out on 25/Jan/12:
>>>>>>>>> +"
>>>>>>>>> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)"
>>>> and
>>>>>>>>> +    "List<Rule> parsePattern()" couldn't have been overridden
>>>> because
>>>>>>>>> +    NumberRule and Rule were private to FastDateFormat.
>>>>>>>>> + 2. Due to the factory pattern used, it's unlikely other two
>> methods
>>>>>>>> would have
>>>>>>>>> +    been overridden.
>>>>>>>>> + 3. The four methods are highly implementation specific. I
>> consider
>>>>>> it a
>>>>>>>>> +    mistake that the methods were exposed.
>>>>>>>>> +"
>>>>>>>>> +For more information see https://issues.apache.org/
>>>>>> jira/browse/LANG-462
>>>>>>>> .
>>>>>>>>> +
>>>>>>>>> +NEW FEATURES
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +o LANG-934:  Add removeFinalModifier to FieldUtils
>>>>>>>>> +o LANG-863:  Method returns number of inheritance hops between
>>>> parent
>>>>>>>> and
>>>>>>>>> +             subclass. Thanks to Daneel S. Yaitskov.
>>>>>>>>> +o LANG-774:  Added isStarted, isSuspended and isStopped to
>>>> StopWatch.
>>>>>>>>> +             Thanks to Erhan Bagdemir.
>>>>>>>>> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence...
>>>>>> methods.
>>>>>>>>> +             Thanks to Alexander Muthmann.
>>>>>>>>> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
>>>>>>>>> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in
>>>> favour
>>>>>>>> of a new
>>>>>>>>> +             StringUtils.toString(byte[], CharSet). Thanks to
>> Aaron
>>>>>>>> Digulla.
>>>>>>>>> +o LANG-893:  StrSubstitutor now supports default values for
>>>> variables.
>>>>>>>>> +             Thanks to Woonsan Ko.
>>>>>>>>> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
>>>>>>>> Mureinik.
>>>>>>>>> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
>>>>>>>>> +             StringBuilder, StrBuilder, and Appendable.
>>>>>>>>> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
>>>>>>>>> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
>>>>>>>>> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
>>>>>>>> StringUtils.
>>>>>>>>> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
>>>>>>>>> +o LANG-873:  Add FieldUtils getAllFields() to return all the
>> fields
>>>>>>>> defined in
>>>>>>>>> +             the given class and super classes.
>>>>>>>>> +o LANG-835:  StrBuilder should support StringBuilder as an input
>>>>>>>> parameter.
>>>>>>>>> +o LANG-857:  StringIndexOutOfBoundsException in
>>>>>> CharSequenceTranslator.
>>>>>>>>> +o LANG-856:  Code refactoring in NumberUtils.
>>>>>>>>> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex
>> and
>>>>>>>> octal
>>>>>>>>> +             numbers.
>>>>>>>>> +o LANG-854:  NumberUtils#createNumber - does not allow for hex
>>>> numbers
>>>>>>>> to be
>>>>>>>>> +             larger than Long.
>>>>>>>>> +o LANG-853:  StringUtils join APIs for primitives.
>>>>>>>>> +o LANG-841:  Add StringUtils API to call String.replaceAll in
>> DOTALL
>>>>>>>> a.k.a.
>>>>>>>>> +             single-line mode.
>>>>>>>>> +o LANG-825:  Create StrBuilder APIs similar to
>>>>>>>>> +             String.format(String, Object...).
>>>>>>>>> +o LANG-675:  Add Triple class (ternary version of Pair).
>>>>>>>>> +o LANG-462:  FastDateFormat supports parse methods.
>>>>>>>>> +
>>>>>>>>> +BUG FIXES
>>>>>>>>> +===========
>>>>>>>>> +
>>>>>>>>> +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
>>>>>>>>> +             elements are different.
>>>>>>>>> +o LANG-917:  Fixed exception when combining custom and choice
>> format
>>>>>> in
>>>>>>>>> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
>>>>>>>>> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly
>>>>>> promising
>>>>>>>> letters
>>>>>>>>> +             and numbers would, as opposed to may, appear  Issue:.
>>>>>>>> Thanks to
>>>>>>>>> +             Andrzej Winnicki.
>>>>>>>>> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
>>>>>>>>> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not
>>>>>> updated.
>>>>>>>> Thanks
>>>>>>>>> +             to Mark Bryan Yu.
>>>>>>>>> +o LANG-879:  LocaleUtils test fails with new Locale
>>>>>>>> "ja_JP_JP_#u-ca-japanese"
>>>>>>>>> +             of JDK7.
>>>>>>>>> +o LANG-836:  StrSubstitutor does not support StringBuilder or
>>>>>>>> CharSequence.
>>>>>>>>> +             Thanks to Arnaud Brunet.
>>>>>>>>> +o LANG-693:  Method createNumber from NumberUtils doesn't work for
>>>>>>>> floating
>>>>>>>>> +             point numbers other than Float  Issue: LANG-693.
>> Thanks
>>>>>> to
>>>>>>>>> +             Calvin Echols.
>>>>>>>>> +o LANG-887:  FastDateFormat does not use the locale specific cache
>>>>>>>> correctly.
>>>>>>>>> +o LANG-754:  ClassUtils.getShortName(String) will now only do a
>>>>>>>> reverse lookup
>>>>>>>>> +             for array types.
>>>>>>>>> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not
>>>> work
>>>>>>>> for octal
>>>>>>>>> +             numbers.
>>>>>>>>> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting
>>>> with
>>>>>>>> an
>>>>>>>>> +             underscore.
>>>>>>>>> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript()
>>>> do
>>>>>>>> not
>>>>>>>>> +             output the escaped surrogate pairs that are Java
>>>>>> parsable.
>>>>>>>>> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date
>>>> objects
>>>>>>>>> +             wastefully.
>>>>>>>>> +o LANG-845:  Spelling fixes.
>>>>>>>>> +o LANG-844:  Fix examples contained in javadoc of
>> StringUtils.center
>>>>>>>> methods.
>>>>>>>>> +o LANG-832:  FastDateParser does not handle unterminated quotes
>>>>>>>> correctly.
>>>>>>>>> +o LANG-831:  FastDateParser does not handle white-space properly.
>>>>>>>>> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
>>>>>>>>> +o LANG-828:  FastDateParser does not handle non-Gregorian
>> calendars
>>>>>>>> properly.
>>>>>>>>> +o LANG-826:  FastDateParser does not handle non-ASCII digits
>>>>>> correctly.
>>>>>>>>> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading
>>>>>> "--".
>>>>>>>>> +o LANG-818:  FastDateFormat's "z" pattern does not respect
>> timezone
>>>> of
>>>>>>>> Calendar
>>>>>>>>> +             instances passed to format().
>>>>>>>>> +o LANG-817:  Add org.apache.commons.lang3.
>>>>>> SystemUtils.IS_OS_WINDOWS_8.
>>>>>>>>> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string
>>>>>> reference
>>>>>>>>> +             equality.
>>>>>>>>> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
>>>>>>>>> +o LANG-807:  RandomStringUtils throws confusing IAE when end <=
>>>> start.
>>>>>>>>> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
>>>>>>>> universe,
>>>>>>>>> +             random) always throws java.lang.
>>>>>>>> ArrayIndexOutOfBoundsException.
>>>>>>>>> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
>>>>>>>> class.
>>>>>>>>> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and
>>>> Object
>>>>>>>> versions.
>>>>>>>>> +o LANG-788:  SerializationUtils throws ClassNotFoundException when
>>>>>>>> cloning
>>>>>>>>> +             primitive classes.
>>>>>>>>> +o LANG-786:  StringUtils equals() relies on undefined behavior.
>>>>>>>>> +o LANG-783:  Documentation bug: StringUtils.split.
>>>>>>>>> +o LANG-777:  jar contains velocity template of release notes.
>>>>>>>>> +o LANG-776:  TypeUtilsTest contains incorrect type assignability
>>>>>>>> assertion.
>>>>>>>>> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments
>> for
>>>>>>>>> +             partially-assigned classes.
>>>>>>>>> +o LANG-773:  ImmutablePair doc contains nonsense text.
>>>>>>>>> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage
>>>>>> text.
>>>>>>>>> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no
>> longer
>>>>>>>> defines
>>>>>>>>> +             serialVersionUID.
>>>>>>>>> +o LANG-764:  StrBuilder is now serializable.
>>>>>>>>> +o LANG-761:  Fix Javadoc Ant warnings.
>>>>>>>>> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
>>>>>>>>> +o LANG-743:  Javadoc bug in static inner class DateIterator.
>>>>>>>>> +
>>>>>>>>> +CHANGES
>>>>>>>>> +=========
>>>>>>>>> +
>>>>>>>>> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
>>>>>>>> Thanks
>>>>>>>>> +             to Christoph Schneegans.
>>>>>>>>> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking
>>>>>> spaces
>>>>>>>>> +             (Unicode 00A0). Thanks to Timur Yarosh.
>>>>>>>>> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor.
>>>> Thanks
>>>>>> to
>>>>>>>>> +             Allon Mureinik.
>>>>>>>>> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
>>>>>>>>> +o LANG-882:  LookupTranslator now works with implementations of
>>>>>>>> CharSequence
>>>>>>>>> +             other than String.
>>>>>>>>> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a
>> proper
>>>>>>>> green
>>>>>>>>> +             implementation instead of inefficiently converting to
>>>>>>>> Strings.
>>>>>>>>> +o LANG-839:  ArrayUtils removeElements methods use unnecessary
>>>>>> HashSet.
>>>>>>>>> +o LANG-838:  ArrayUtils removeElements methods clone temporary
>> index
>>>>>>>> arrays
>>>>>>>>> +             unnecessarily.
>>>>>>>>> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
>>>>>>>> support.
>>>>>>>>> +o LANG-798:  Use generics in SerializationUtils.
>>>>>>>>> +
>>>>>>>>> +CHANGES WITHOUT TICKET
>>>>>>>>> +========================
>>>>>>>>> +
>>>>>>>>> +o Fixed URLs in javadoc to point to new oracle.com pages
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.1
>>>>>>>>> +
>>>>>>>>> +NEW FEATURES
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +o LANG-801:  Add Conversion utility to convert between data types
>> on
>>>>>>>> byte level
>>>>>>>>> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
>>>>>>>> charsetName)
>>>>>>>>> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
>>>>>>>>> +             isPrimitiveOrWrapper(Class<?>)
>>>>>>>>> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a
>>>>>> Unix
>>>>>>>> system
>>>>>>>>> +
>>>>>>>>> +BUG FIXES
>>>>>>>>> +===========
>>>>>>>>> +
>>>>>>>>> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
>>>>>>>>> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and
>> -0X
>>>>>>>>> +o LANG-744:  StringUtils throws java.security.
>>>> AccessControlException
>>>>>>>> on Google
>>>>>>>>> +             App Engine
>>>>>>>>> +o LANG-741:  Ant build has wrong component.name
>>>>>>>>> +o LANG-698:  Document that the Mutable numbers don't work as
>>>> expected
>>>>>>>> with
>>>>>>>>> +             String.format
>>>>>>>>> +
>>>>>>>>> +CHANGES
>>>>>>>>> +=========
>>>>>>>>> +
>>>>>>>>> +o LANG-758:  Add an example with whitespace in
>>>>>>>> StringUtils.defaultIfEmpty
>>>>>>>>> +o LANG-752:  Fix createLong() so it behaves like createInteger()
>>>>>>>>> +o LANG-751:  Include the actual type in the Validate.isInstance
>> and
>>>>>>>>> +             isAssignableFrom exception messages
>>>>>>>>> +o LANG-748:  Deprecating chomp(String, String)
>>>>>>>>> +o LANG-736:  CharUtils static final array CHAR_STRING is not
>> needed
>>>> to
>>>>>>>> compute
>>>>>>>>> +             CHAR_STRING_ARRAY
>>>>>>>>> +
>>>>>>>>> +===========================================================
>>>>>>>> ==================
>>>>>>>>> +
>>>>>>>>> +                        Release Notes for version 3.0
>>>>>>>>> +
>>>>>>>>> +ADDITIONS
>>>>>>>>> +===========
>>>>>>>>> +
>>>>>>>>> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
>>>>>>>>> +o LANG-285:  Wish : method unaccent.
>>>>>>>>> +o LANG-358:  ObjectUtils.coalesce.
>>>>>>>>> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
>>>>>>>> necessary.
>>>>>>>>> +o LANG-435:  Add ClassUtils.isAssignable() variants with
>> autoboxing.
>>>>>>>>> +o LANG-444:  StringUtils.emptyToNull.
>>>>>>>>> +o LANG-482:  Enhance StrSubstitutor to support nested
>>>> ${var-${subvr}}
>>>>>>>> expansion
>>>>>>>>> +o LANG-482:  StrSubstitutor now supports substitution in variable
>>>>>> names.
>>>>>>>>> +o LANG-496:  A generic implementation of the Lazy initialization
>>>>>>>> pattern.
>>>>>>>>> +o LANG-497:  Addition of ContextedException and
>>>>>>>> ContextedRuntimeException.
>>>>>>>>> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
>>>>>>>>> +o LANG-499:  Add support for the handling of ExecutionExceptions.
>>>>>>>>> +o LANG-501:  Add support for background initialization.
>>>>>>>>> +o LANG-529:  Add a concurrent package.
>>>>>>>>> +o LANG-533:  Validate: support for validating blank strings.
>>>>>>>>> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
>>>>>>>>> +o LANG-545:  Add ability to create a Future for a constant.
>>>>>>>>> +o LANG-546:  Add methods to Validate to check whether the index is
>>>>>>>> valid for
>>>>>>>>> +             the array/list/string.
>>>>>>>>> +o LANG-553:  Add TypeUtils class to provide utility code for
>> working
>>>>>>>> with generic
>>>>>>>>> +             types.
>>>>>>>>> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation
>>>>>> methods.
>>>>>>>>> +o LANG-559:  Added validState validation method.
>>>>>>>>> +o LANG-560:  New TimedSemaphore class.
>>>>>>>>> +o LANG-582:  Provide an implementation of the ThreadFactory
>>>> interface.
>>>>>>>>> +o LANG-588:  Create a basic Pair<L, R> class.
>>>>>>>>> +o LANG-594:  DateUtils equal & compare functions up to most
>>>>>> significant
>>>>>>>> field.
>>>>>>>>> +o LANG-601:  Add Builder Interface / Update Builders to Implement
>>>> It.
>>>>>>>>> +o LANG-609:  Support lazy initialization using atomic variables
>>>>>>>>> +o LANG-610:  Extend exception handling in ConcurrentUtils to
>> runtime
>>>>>>>> exceptions.
>>>>>>>>> +o LANG-614:  StringUtils.endsWithAny method
>>>>>>>>> +o LANG-640:  Add normalizeSpace to StringUtils
>>>>>>>>> +o LANG-644:  Provide documentation about the new concurrent
>> package
>>>>>>>>> +o LANG-649:  BooleanUtils.toBooleanObject to support single
>>>> character
>>>>>>>> input
>>>>>>>>> +o LANG-651:  Add AnnotationUtils
>>>>>>>>> +o LANG-653:  Provide a very basic ConcurrentInitializer
>>>> implementation
>>>>>>>>> +o LANG-655:  Add StringUtils.defaultIfBlank()
>>>>>>>>> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
>>>>>>>>> +o LANG-676:  Documented potential NPE if auto-boxing occurs for
>> some
>>>>>>>> BooleanUtils
>>>>>>>>> +             methods
>>>>>>>>> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
>>>>>>>>> +o LANG-692:  Add hashCodeMulti varargs method
>>>>>>>>> +o LANG-697:  Add FormattableUtils class
>>>>>>>>> +o LANG-684:  Levenshtein Distance Within a Given Threshold
>>>>>>>>> +
>>>>>>>>> +REMOVALS
>>>>>>>>> +==========
>>>>>>>>> +
>>>>>>>>> +o LANG-438:  Remove @deprecateds.
>>>>>>>>> +o LANG-492:  Remove code handled now by the JDK.
>>>>>>>>> +o LANG-493:  Remove code that does not hold enough value to
>> remain.
>>>>>>>>> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
>>>>>>>>> +             StringUtils.indexOf(String, String, int).
>>>>>>>>> +o LANG-673:  WordUtils.abbreviate() removed
>>>>>>>>> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
>>>>>>>>> +
>>>>>>>>> +IMPROVEMENTS
>>>>>>>>> +==============
>>>>>>>>> +
>>>>>>>>> +o LANG-290:  EnumUtils for JDK 5.0.
>>>>>>>>> +o LANG-336:  Finally start using generics.
>>>>>>>>> +o LANG-355:  StrBuilder should implement CharSequence and
>>>> Appendable.
>>>>>>>>> +o LANG-396:  Investigate for vararg usages.
>>>>>>>>> +o LANG-424:  Improve Javadoc for StringUtils class.
>>>>>>>>> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
>>>>>>>>> +o LANG-479:  Document where in SVN trunk is.
>>>>>>>>> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
>>>>>>>>> +o LANG-505:  Rewrite StringEscapeUtils.
>>>>>>>>> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+
>>>>>> notation.
>>>>>>>>> +o LANG-510:  Convert StringUtils API to take CharSequence.
>>>>>>>>> +o LANG-513:  Better EnumUtils.
>>>>>>>>> +o LANG-528:  Mutable classes should implement an appropriately
>> typed
>>>>>>>> Mutable
>>>>>>>>> +             interface.
>>>>>>>>> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
>>>>>>>>> +o LANG-540:  Make NumericEntityEscaper immutable.
>>>>>>>>> +o LANG-541:  Replace StringBuffer with StringBuilder.
>>>>>>>>> +o LANG-548:  Use Iterable on API instead of Collection.
>>>>>>>>> +o LANG-551:  Replace Range classes with generic version.
>>>>>>>>> +o LANG-562:  Change Maven groupId.
>>>>>>>>> +o LANG-563:  Change Java package name.
>>>>>>>>> +o LANG-570:  Do the test cases really still require main() and
>>>> suite()
>>>>>>>> methods?
>>>>>>>>> +o LANG-579:  Add new Validate methods.
>>>>>>>>> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
>>>>>>>> Separators.
>>>>>>>>> +o LANG-605:  DefaultExceptionContext overwrites values in
>> recursive
>>>>>>>> situations.
>>>>>>>>> +o LANG-668:  Change ObjectUtils min() & max() functions to use
>>>> varargs
>>>>>>>> rather
>>>>>>>>> +             than just two parameters
>>>>>>>>> +o LANG-681:  Push down WordUtils to "text" sub-package.
>>>>>>>>> +o LANG-711:  Add includeantruntime=false to javac targets to quell
>>>>>>>> warnings in
>>>>>>>>> +             ant 1.8.1 and better (and modest performance gain).
>>>>>>>>> +o LANG-713:  Increase test coverage of FieldUtils read methods and
>>>>>> tweak
>>>>>>>>> +             javadoc.
>>>>>>>>> +o LANG-718:  build.xml Java 1.5+ updates.
>>>>>>>>> +
>>>>>>>>> +BUG FIXES
>>>>>>>>> +===========
>>>>>>>>> +
>>>>>>>>> +o LANG-11:   Depend on JDK 1.5+.
>>>>>>>>> +o LANG-302:  StrBuilder does not implement clone().
>>>>>>>>> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
>>>>>>>> characters like
>>>>>>>>> +             Chinese, Japanese, etc.
>>>>>>>>> +o LANG-369:  ExceptionUtils not thread-safe.
>>>>>>>>> +o LANG-418:  Javadoc incorrect for StringUtils.
>> endsWithIgnoreCase.
>>>>>>>>> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
>>>>>>>> return false
>>>>>>>>> +             for ""
>>>>>>>>> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
>>>>>>>> (0x00-0x20).
>>>>>>>>> +o LANG-448:  Lower Ascii Characters don't get encoded by
>>>>>> Entities.java.
>>>>>>>>> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393
>>>>>> (EqualsBuilder).
>>>>>>>>> +o LANG-474:  Fixes for thread safety.
>>>>>>>>> +o LANG-478:  StopWatch does not resist to system time changes.
>>>>>>>>> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts
>>>> unicode
>>>>>>>>> +             characters above U+00FFFF into 2 characters.
>>>>>>>>> +o LANG-481:  Possible race-conditions in hashCode of the range
>>>>>> classes.
>>>>>>>>> +o LANG-564:  Improve StrLookup API documentation.
>>>>>>>>> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
>>>>>>>>> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create
>>>>>> unexpected
>>>>>>>>> +             ClassCastException.
>>>>>>>>> +o LANG-585:  exception.DefaultExceptionContext.
>>>>>>>> getFormattedExceptionMessage
>>>>>>>>> +             catches Throwable.
>>>>>>>>> +o LANG-596:  StrSubstitutor should also handle the default
>>>> properties
>>>>>>>> of a
>>>>>>>>> +             java.util.Properties class
>>>>>>>>> +o LANG-600:  Javadoc is incorrect for public static int
>>>>>>>>> +             lastIndexOf(String str, String searchStr).
>>>>>>>>> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
>>>>>>>> exception.
>>>>>>>>> +o LANG-606:  EqualsBuilder causes StackOverflowException.
>>>>>>>>> +o LANG-608:  Some StringUtils methods should take an int character
>>>>>>>> instead of
>>>>>>>>> +             char to use String API features.
>>>>>>>>> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
>>>>>>>> supplementary
>>>>>>>>> +             characters
>>>>>>>>> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
>>>>>>>>> +             StringIndexOutOfBoundsException on Android
>>>>>> runtime/Dalvik
>>>>>>>> VM
>>>>>>>>> +o LANG-629:  Charset may not be threadsafe, because the HashSet is
>>>> not
>>>>>>>> synch.
>>>>>>>>> +o LANG-638:  NumberUtils createNumber throws a
>>>>>>>> StringIndexOutOfBoundsException
>>>>>>>>> +             when argument containing "e" and "E" is passed in
>>>>>>>>> +o LANG-643:  Javadoc StringUtils.left() claims to throw on
>> negative
>>>>>>>> len, but
>>>>>>>>> +             doesn't
>>>>>>>>> +o LANG-645:  FastDateFormat.format() outputs incorrect week of
>> year
>>>>>>>> because
>>>>>>>>> +             locale isn't respected
>>>>>>>>> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
>>>>>>>> escapes and
>>>>>>>>> +             Unicode with extra u
>>>>>>>>> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '')
>> =
>>>> 0
>>>>>>>> incorrect
>>>>>>>>> +o LANG-658:  Some Entitys like &Ouml; are not matched properly
>>>> against
>>>>>>>> its
>>>>>>>>> +             ISO8859-1 representation
>>>>>>>>> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus
>>>> sign,
>>>>>>>> U+2212
>>>>>>>>> +             ISOtech
>>>>>>>>> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
>>>>>>>>> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not
>> reduce
>>>>>>>>> +             (Integer.MIN_VALUE, 2^k)
>>>>>>>>> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not
>> always
>>>>>>>> succeed in
>>>>>>>>> +             multiplyBy and divideBy
>>>>>>>>> +o LANG-664:  NumberUtils.isNumber(String) is not right when the
>>>> String
>>>>>>>> is
>>>>>>>>> +             "1.1L"
>>>>>>>>> +o LANG-672:  Doc bug in DateUtils#ceiling
>>>>>>>>> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour
>> clock
>>>>>> and
>>>>>>>> not
>>>>>>>>> +             24 hour
>>>>>>>>> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
>>>>>>>>> +o LANG-703:  StringUtils.join throws NPE when toString returns
>> null
>>>>>> for
>>>>>>>> one of
>>>>>>>>> +             objects in collection
>>>>>>>>> +o LANG-710:  StringIndexOutOfBoundsException when calling
>>>>>>>> unescapeHtml4("&#03")
>>>>>>>>> +o LANG-714:  StringUtils doc/comment spelling fixes.
>>>>>>>>> +o LANG-715:  CharSetUtils.squeeze() speedup.
>>>>>>>>> +o LANG-716:  swapCase and *capitalize speedups.
>>>>>>>>> +
>>>>>>>>> +
>>>>>>>>> +Historical list of changes: http://commons.apache.org/
>>>>>>>> lang/changes-report.html
>>>>>>>>> +
>>>>>>>>> +For complete information on Commons Lang, including instructions
>> on
>>>>>> how
>>>>>>>> to
>>>>>>>>> +submit bug reports, patches, or suggestions for improvement, see
>> the
>>>>>>>>> +Apache Commons Lang website:
>>>>>>>>> +
>>>>>>>>> +http://commons.apache.org/lang/
>>>>>>>>> +
>>>>>>>>> +Have fun!
>>>>>>>>> +-Apache Commons Lang team
>>>>>>>>> +
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> Binary file - no diff available.
>>>>>>>>> 
>>>>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>>>> bin.tar.gz
>>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------
>>>>>>>>> svn:mime-type = application/octet-stream
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>>>> bin.tar.gz.asc
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.asc
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.asc
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1,16 @@
>>>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>>>> +
>>>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>>>> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
>>>>>>>>> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
>>>>>>>>> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
>>>>>>>>> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
>>>>>>>>> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
>>>>>>>>> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
>>>>>>>>> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
>>>>>>>>> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
>>>>>>>>> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
>>>>>>>>> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
>>>>>>>>> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
>>>>>>>>> +=tjQB
>>>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>>>> bin.tar.gz.md5
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.md5
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.md5
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +fe7776aab25e229c9a5805c3ba82d219
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>>>> bin.tar.gz.sha1
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.sha1
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.sha1
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> Binary file - no diff available.
>>>>>>>>> 
>>>>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.zip
>>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------
>>>>>>>>> svn:mime-type = application/octet-stream
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.zip.asc
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.asc
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.asc
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1,16 @@
>>>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>>>> +
>>>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>>>> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
>>>>>>>>> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
>>>>>>>>> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
>>>>>>>>> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
>>>>>>>>> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
>>>>>>>>> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
>>>>>>>>> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
>>>>>>>>> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
>>>>>>>>> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
>>>>>>>>> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
>>>>>>>>> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
>>>>>>>>> +=6Bjb
>>>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.zip.md5
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.md5
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.md5
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +3b8ee236a7105277427d305587a6c8dd
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.zip.sha1
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.zip.sha1
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.zip.sha1
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/site.zip
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> Binary file - no diff available.
>>>>>>>>> 
>>>>>>>>> Propchange: dev/commons/lang/site.zip
>>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------
>>>>>>>>> svn:mime-type = application/octet-stream
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> Binary file - no diff available.
>>>>>>>>> 
>>>>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>>>>>> src.tar.gz
>>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------
>>>>>>>>> svn:mime-type = application/octet-stream
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>>>> src.tar.gz.asc
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.asc
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.asc
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1,16 @@
>>>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>>>> +
>>>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>>>> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
>>>>>>>>> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
>>>>>>>>> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
>>>>>>>>> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
>>>>>>>>> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
>>>>>>>>> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
>>>>>>>>> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
>>>>>>>>> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
>>>>>>>>> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
>>>>>>>>> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
>>>>>>>>> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
>>>>>>>>> +=8mS4
>>>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>>>> src.tar.gz.md5
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.md5
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.md5
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +11b0a67eee0b856ee3629bdcfef35649
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>>>>>> src.tar.gz.sha1
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.sha1
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.sha1
>>>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> Binary file - no diff available.
>>>>>>>>> 
>>>>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.zip
>>>>>>>>> ------------------------------------------------------------
>>>>>>>> ------------------
>>>>>>>>> svn:mime-type = application/octet-stream
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.zip.asc
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>> Thu
>>>>>>>> Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1,16 @@
>>>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>>>> +
>>>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>>>> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
>>>>>>>>> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
>>>>>>>>> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
>>>>>>>>> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
>>>>>>>>> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
>>>>>>>>> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
>>>>>>>>> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
>>>>>>>>> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
>>>>>>>>> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
>>>>>>>>> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
>>>>>>>>> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
>>>>>>>>> +=5+7f
>>>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.zip.md5
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>> Thu
>>>>>>>> Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +66d939d849bb560af8259d10156a58ec
>>>>>>>>> 
>>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.zip.sha1
>>>>>>>>> ============================================================
>>>>>>>> ==================
>>>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.zip.sha1
>>>>>>>> (added)
>>>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.zip.sha1
>>>>>> Thu
>>>>>>>> Jan  4 12:45:36 2018
>>>>>>>>> @@ -0,0 +1 @@
>>>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> ------------------------------------------------------------
>> ---------
>>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>>>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org <mailto:
>>>> dev-unsubscribe@commons.apache.org>
>>>>>> For additional commands, e-mail: dev-help@commons.apache.org <mailto:
>>>> dev-help@commons.apache.org>
>>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>> 
>> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Gary Gregory <ga...@gmail.com>.
It seems that in this case, we are creating a new internal component, no
sandbox. Like commons-parent and the build plugin.

Gary

On Thu, Jan 4, 2018 at 11:19 AM, Rob Tompkins <ch...@gmail.com> wrote:

> I didn’t read back over the moving a component out of the sandbox bit, so
> I figured I’d just go with the formality.
>
> > On Jan 4, 2018, at 12:33 PM, Gary Gregory <ga...@gmail.com>
> wrote:
> >
> > Hi Rob,
> >
> > I do not think we need a formal VOTE until we want to release, but why
> not.
> > Reusing COMMONSITE makes sense for now.
> >
> > Go for it.
> >
> > Gary
> >
> >> On Thu, Jan 4, 2018 at 9:51 AM, Rob Tompkins <ch...@gmail.com>
> wrote:
> >>
> >>
> >>
> >>> On Jan 4, 2018, at 11:45 AM, Gary Gregory <ga...@gmail.com>
> >> wrote:
> >>>
> >>> On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins <chtompki@gmail.com
> >> <ma...@gmail.com>> wrote:
> >>>
> >>>> So with comments, I’m thinking I’ll submit a component vote. Any
> >>>> opposition?
> >>>>
> >>>
> >>> Do you already have a git repo,  JIRA project and all that?
> >>
> >> Oh not at all….I’m going to put it up for a vote before creating any
> >> repos. Before I start all that. I was thinking that we’d use
> COMMONSSITE as
> >> the jira for it because that’s what we use for the
> [build-plugin]….thoughts?
> >>
> >> -Rob
> >>
> >>>
> >>> Gary
> >>>
> >>>>
> >>>>> On Jan 4, 2018, at 11:28 AM, Gary Gregory <ga...@gmail.com>
> >>>> wrote:
> >>>>>
> >>>>> That looks good. Thank you Rob!
> >>>>>
> >>>>> Gary
> >>>>>
> >>>>>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com>
> >>>> wrote:
> >>>>>>
> >>>>>> @Gary - Below is the result from my release plugin with [lang3].
> Give
> >>>> it a
> >>>>>> looking over and let me know what you think.
> >>>>>>
> >>>>>> -Rob
> >>>>>>
> >>>>>>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
> >>>>>>>
> >>>>>>> Author: chtompki
> >>>>>>> Date: Thu Jan  4 12:45:36 2018
> >>>>>>> New Revision: 24009
> >>>>>>>
> >>>>>>> Log:
> >>>>>>> Staging release: commons-lang3, version: 3.8-SNAPSHOT
> >>>>>>>
> >>>>>>> Added:
> >>>>>>> dev/commons/lang/RELEASE-NOTES.txt
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
> >>>>>> (with props)
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.asc
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.md5
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.sha1
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
> >> (with
> >>>>>> props)
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> >>>>>>> dev/commons/lang/site.zip   (with props)
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> >>>>>> (with props)
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
> >>>>>> props)
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/RELEASE-NOTES.txt
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/RELEASE-NOTES.txt (added)
> >>>>>>> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1,1176 @@
> >>>>>>> +
> >>>>>>> +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.7
> >>>>>>> +                           Release Notes
> >>>>>>> +
> >>>>>>> +
> >>>>>>> +INTRODUCTION:
> >>>>>>> +
> >>>>>>> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes
> >> resource
> >>>>>> contention (PR #296.) Thanks to Chas Honton.
> >>>>>>> +o LANG-1360: Add methods to ObjectUtils to get various forms of
> >> class
> >>>>>> names in a null-safe manner Thanks to Gary Gregory.
> >>>>>>> +
> >>>>>>> +Fixed Bugs:
> >>>>>>> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
> >>>>>> Thanks to Stephen Colebourne.
> >>>>>>> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on
> >> Java
> >>>>>> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to
> Gary
> >>>>>> Gregory.
> >>>>>>> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
> >>>>>> generic return type of Enum.valueOf Thanks to mbusso.
> >>>>>>> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
> >>>>>> regression Thanks to Brett Kail.
> >>>>>>> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction
> >> bug
> >>>>>> Thanks to Naman Nigam.
> >>>>>>> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should
> >> use
> >>>>>> toUpperCase(Locale) Thanks to BruceKuiLiu.
> >>>>>>> +
> >>>>>>> +Changes:
> >>>>>>> +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
> >>>>>>> +                               Version 3.6
> >>>>>>> +                              Release Notes
> >>>>>>> +
> >>>>>>> +
> >>>>>>> +INTRODUCTION:
> >>>>>>> +
> >>>>>>> +This document contains the release notes for the 3.6 version of
> >>>>>>> +Apache Commons Lang as well as a history all changes in the
> Commons
> >>>>>> Lang 3.x
> >>>>>>> +release line. Commons Lang is a set of utility functions and
> >> reusable
> >>>>>>> +components that should be of use in any Java environment. Commons
> >> Lang
> >>>>>> 3.6 at
> >>>>>>> +least requires Java 7.0. Note that this has changed from Commons
> >> Lang
> >>>>>> 3.5, which
> >>>>>>> +only required Java 1.6.
> >>>>>>> +
> >>>>>>> +For the advice on upgrading from 2.x to 3.x, see the following
> page:
> >>>>>>> +
> >>>>>>> +    http://commons.apache.org/lang/article3_0.html
> >>>>>>> +
> >>>>>>> +HIGHLIGHTS
> >>>>>>> +==========
> >>>>>>> +
> >>>>>>> +Some of the highlights in this release include:
> >>>>>>> +
> >>>>>>> +o The class org.apache.commons.lang3.concurrent.Memoizer is an
> >>>>>> implementation
> >>>>>>> +    of the Memoizer pattern as shown in
> >>>>>>> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p.
> >> 108.
> >>>>>>> +o The class org.apache.commons.lang3.ArchUtils has been added.
> >>>>>> ArchUtils is
> >>>>>>> +    a utility class for the "os.arch" system property.
> >>>>>>> +
> >>>>>>> +DEPRECATIONS
> >>>>>>> +============
> >>>>>>> +
> >>>>>>> +The Apache Commons Community has recently set up the Commons Text
> >>>>>> component
> >>>>>>> +as a home for algorithms working on strings. For this reason most
> of
> >>>>>> the string
> >>>>>>> +focused functionality in Commons Lang has been deprecated and
> moved
> >> to
> >>>>>>> +Commons Text. This includes:
> >>>>>>> +
> >>>>>>> +o All classes in the org.apache.commons.lang3.text and the
> >>>>>>> +    org.apache.commons.lang3.text.translate packages
> >>>>>>> +o org.apache.commons.lang3.StringEscapeUtils
> >>>>>>> +o org.apache.commons.lang3.RandomStringUtils
> >>>>>>> +o The methods org.apache.commons.lang3.StringUtils.
> >>>> getJaroWinklerDistance
> >>>>>> and
> >>>>>>> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
> >>>>>>> +
> >>>>>>> +For more information see the Commons Text website:
> >>>>>>> +
> >>>>>>> +    http://commons.apache.org/text
> >>>>>>> +
> >>>>>>> +The class org.apache.commons.lang3.CharEncoding has been
> deprecated
> >>>> in
> >>>>>> favor of
> >>>>>>> +java.nio.charset.StandardCharsets.
> >>>>>>> +
> >>>>>>> +The following methods have been deprecated in
> >>>>>>> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
> >>>>>> insert
> >>>>>>> +methods. Note that the handling for null inputs differs between
> add
> >>>> and
> >>>>>> insert.
> >>>>>>> +
> >>>>>>> +o add(boolean[], int, boolean) -> insert(int, boolean[],
> boolean...)
> >>>>>>> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
> >>>>>>> +o add(char[], int, boolean)    -> insert(int, char[], char...)
> >>>>>>> +o add(double[], int, boolean)  -> insert(int, double[], double...)
> >>>>>>> +o add(float[], int, boolean)   -> insert(int, float[], float...)
> >>>>>>> +o add(int[], int, boolean)     -> insert(int, int[], int...)
> >>>>>>> +o add(long[], int, boolean)    -> insert(int, long[], long...)
> >>>>>>> +o add(short[], int, boolean)   -> insert(int, short[], short...)
> >>>>>>> +o add(T[], int, boolean)       -> insert(int, T[], T...)
> >>>>>>> +
> >>>>>>> +
> >>>>>>> +COMPATIBILITY WITH JAVA 9
> >>>>>>> +==================
> >>>>>>> +
> >>>>>>> +The MANIFEST.MF now contains an additional entry:
> >>>>>>> +
> >>>>>>> +  Automatic-Module-Name: org.apache.commons.lang3
> >>>>>>> +
> >>>>>>> +This should make it possible to use Commons Lang 3.6 as a module
> in
> >>>> the
> >>>>>> Java 9
> >>>>>>> +module system. For more information see the corresponding issue
> and
> >>>> the
> >>>>>>> +referenced mailing list discussions:
> >>>>>>> +
> >>>>>>> +    https://issues.apache.org/jira/browse/LANG-1338
> >>>>>>> +
> >>>>>>> +The build problems present in the 3.5 release have been resolved.
> >>>>>> Building
> >>>>>>> +Commons Lang 3.6 should work out of the box with the latest Java 9
> >> EA
> >>>>>> build.
> >>>>>>> +Please report any Java 9 related issues at:
> >>>>>>> +
> >>>>>>> +    https://issues.apache.org/jira/browse/LANG
> >>>>>>> +
> >>>>>>> +NEW FEATURES
> >>>>>>> +============
> >>>>>>> +
> >>>>>>> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
> >>>>>>> +o LANG-1304: Add method in StringUtils to determine if string
> >> contains
> >>>>>> both
> >>>>>>> +             mixed cased characters. Thanks to Andy Klimczak.
> >>>>>>> +o LANG-1325: Increase test coverage of ToStringBuilder class to
> >> 100%.
> >>>>>>> +             Thanks to Arshad Basha.
> >>>>>>> +o LANG-1307: Add a method in StringUtils to extract only digits
> out
> >> of
> >>>>>> input
> >>>>>>> +             string. Thanks to Arshad Basha.
> >>>>>>> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
> >>>>>>> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
> >>>>>>> +             Thanks to Mark Dacek.
> >>>>>>> +o LANG-1299: Add method for converting string to an array of code
> >>>>>> points.
> >>>>>>> +o LANG-660:  Add methods to insert arrays into arrays at an index.
> >>>>>>> +o LANG-1034: Add support for recursive comparison to
> >>>>>>> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
> >>>>>>> +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.
> >>>>>>> +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.
> >>>>>>> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch"
> >> system
> >>>>>> property.
> >>>>>>> +             Thanks to Tomschi.
> >>>>>>> +o LANG-1272: Add shuffle methods to ArrayUtils.
> >>>>>>> +o LANG-1317: Add MethodUtils#findAnnotation and extend
> >>>>>>> +             MethodUtils#getMethodsWithAnnotation for non-public,
> >>>>>> super-class
> >>>>>>> +             and interface methods. Thanks to Yasser Zamani.
> >>>>>>> +o LANG-1331: Add ImmutablePair.nullPair().
> >>>>>>> +o LANG-1332: Add ImmutableTriple.nullTriple().
> >>>>>>> +
> >>>>>>> +FIXED BUGS
> >>>>>>> +==========
> >>>>>>> +
> >>>>>>> +o LANG-1337: Fix test failures in IBM JDK 8 for
> ToStringBuilderTest.
> >>>>>>> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError
> >> when
> >>>>>> object is
> >>>>>>> +             an array.
> >>>>>>> +o LANG-1320: LocaleUtils#toLocale does not support language
> followed
> >>>> by
> >>>>>> UN M.49
> >>>>>>> +             numeric-3 area code followed by variant.
> >>>>>>> +o LANG-1300: Clarify or improve behaviour of int-based indexOf
> >> methods
> >>>>>> in
> >>>>>>> +             StringUtils. Thanks to Mark Dacek.
> >>>>>>> +o LANG-1286: RandomStringUtils random method can overflow and
> return
> >>>>>> characters
> >>>>>>> +             outside of specified range.
> >>>>>>> +o LANG-1292: WordUtils.wrap throws StringIndexOutOfBoundsExceptio
> n.
> >>>>>>> +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ò.
> >>>>>>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is
> contradictory.
> >>>>>>> +             Thanks to Andreas Lundblad.
> >>>>>>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible
> >>>> heap
> >>>>>>> +             pollution from parameterized vararg type T.
> >>>>>>> +o LANG-1144: Multiple calls of
> >>>>>>> +             org.apache.commons.lang3.concurrent.LazyInitializer.
> >>>>>> initialize()
> >>>>>>> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
> >>>>>>> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException
> .
> >>>>>>> +             Thanks to Andy Klimczak.
> >>>>>>> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
> >>>>>>> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
> >>>>>>> +             Thanks to Paul Pogonyshev.
> >>>>>>> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return
> >>>> false
> >>>>>> for an
> >>>>>>> +             empty array. Thanks to Pierre Templier.
> >>>>>>> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
> >>>>>> Andrade.
> >>>>>>> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and
> >> Object
> >>>>>> arrays
> >>>>>>> +             correctly. Thanks to Aaron Digulla.
> >>>>>>> +o LANG-1312: LocaleUtils#toLocale does not support language
> followed
> >>>> by
> >>>>>> UN M.49
> >>>>>>> +             numeric-3 area code.
> >>>>>>> +o LANG-1265: Build failures when building with Java 9 EA.
> >>>>>>> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
> >>>>>> Murienik.
> >>>>>>> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException
> if
> >>>>>> using
> >>>>>>> +             varargs arguments and smaller types than the method
> >>>>>> defines.
> >>>>>>> +             Thanks to Don Jeba.
> >>>>>>> +
> >>>>>>> +CHANGES
> >>>>>>> +=======
> >>>>>>> +
> >>>>>>> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
> >>>>>>> +             compatibility.
> >>>>>>> +o LANG-1334: Deprecate CharEncoding in favour of
> >>>>>>> +             java.nio.charset.StandardCharsets.
> >>>>>>> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
> >>>>>>> +             Thanks to Bruno P. Kinoshita.
> >>>>>>> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
> >>>>>> ArrayUtils.
> >>>>>>> +             Thanks to Andrii Abramov.
> >>>>>>> +o LANG-1274: StrSubstitutor should state its thread safety.
> >>>>>>> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
> >>>>>> consumption.
> >>>>>>> +             Thanks to yufcuy.
> >>>>>>> +o LANG-1279: Update Java requirement from Java 6 to 7.
> >>>>>>> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
> >>>>>>> +             toXxxxCase(char). Thanks to sebb.
> >>>>>>> +o LANG-1297: Add SystemUtils.getHostName() API.
> >>>>>>> +o LANG-1301: Moving apache-rat-plugin configuration into
> >>>>>> pluginManagement.
> >>>>>>> +             Thanks to Karl Heinz Marbaise.
> >>>>>>> +o LANG-1316: Deprecate classes/methods moved to commons-text.
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.5
> >>>>>>> +
> >>>>>>> +
> >>>>>>> +HIGHLIGHTS
> >>>>>>> +==========
> >>>>>>> +
> >>>>>>> +Some of the highlights in this release include:
> >>>>>>> +
> >>>>>>> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
> >>>>>>> +o Support for shifting and swapping elements in
> >>>>>>> +    org.apache.commons.lang3.ArrayUtils.
> >>>>>>> +o New methods for generating random strings from different
> character
> >>>>>> classes
> >>>>>>> +    including alphabetic, alpha-numeric and ASCII added to
> >>>>>>> +    org.apache.commons.lang3.RandomStringUtils.
> >>>>>>> +o Numerous extensions to org.apache.commons.lang3.StringUtils
> >>>> including
> >>>>>>> +    null safe compare variants, more remove and replace variants,
> >>>>>> rotation and
> >>>>>>> +    truncation.
> >>>>>>> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to
> >>>> work
> >>>>>> with
> >>>>>>> +    instances of java.lang.Thread and java.lang.ThreadGroup.
> >>>>>>> +o Added annotations @EqualsExclude, @HashCodeExclude and
> >>>>>> @ToStringEclude to
> >>>>>>> +    mark fields which should be ignored by the reflective builders
> >> in
> >>>>>> the
> >>>>>>> +    org.apache.commons.lang3.builder package.
> >>>>>>> +o Support for various modify and retrieve value use cases added to
> >> the
> >>>>>> classes
> >>>>>>> +    in org.apache.commons.lang3.mutable.
> >>>>>>> +
> >>>>>>> +COMPATIBILITY
> >>>>>>> +=============
> >>>>>>> +
> >>>>>>> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release.
> >>>> Users
> >>>>>>> +should not experience any problems when upgrading from 3.4 to 3.5.
> >>>>>>> +
> >>>>>>> +There has been an addition to the org.apache.commons.lang3.time.
> >>>>>> DatePrinter
> >>>>>>> +interface:
> >>>>>>> +
> >>>>>>> +o Added method 'public boolean parse(java.lang.String,
> >>>>>> java.text.ParsePosition,
> >>>>>>> +    java.util.Calendar)'
> >>>>>>> +o Added method 'public java.lang.Appendable format(long,
> >>>>>> java.lang.Appendable)'
> >>>>>>> +o Added method 'public java.lang.Appendable format(java.util.Date,
> >>>>>>> +    java.lang.Appendable)'
> >>>>>>> +o Added method 'public java.lang.Appendable
> >> format(java.util.Calendar,
> >>>>>>> +    java.lang.Appendable)'
> >>>>>>> +
> >>>>>>> +For this reason 3.5 is not strictly source compatible to 3.4.
> Since
> >>>> the
> >>>>>>> +DatePrinter interface is not meant to be implemented by clients,
> >> this
> >>>>>>> +change it not considered to cause any problems.
> >>>>>>> +
> >>>>>>> +JAVA 9 SUPPORT
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +Java 9 introduces a new version-string scheme. Details of this new
> >>>>>> scheme are
> >>>>>>> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In
> order
> >> to
> >>>>>> support
> >>>>>>> +JEP-223 two classes had to be changed:
> >>>>>>> +
> >>>>>>> +o org.apache.commons.lang3.JavaVersion
> >>>>>>> +    deprecated enum constant JAVA_1_9
> >>>>>>> +    introduced enum constant JAVA_9
> >>>>>>> +
> >>>>>>> +o org.apache.commons.lang3.SystemUtils
> >>>>>>> +    deprecated constant IS_JAVA_1_9
> >>>>>>> +    introduced constant IS_JAVA_9
> >>>>>>> +
> >>>>>>> +For more information see LANG-1197
> >>>>>>> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs
> >> are
> >>>>>> expected
> >>>>>>> +to work with Java 9.
> >>>>>>> +
> >>>>>>> +BUILDING ON JAVA 9
> >>>>>>> +==================
> >>>>>>> +
> >>>>>>> +Java 8 introduced the Unicode Consortium's Common Locale Data
> >>>>>> Repository as
> >>>>>>> +alternative source for locale data. Java 9 will use the CLDR
> >> provider
> >>>> as
> >>>>>>> +default provider for locale data (see
> http://openjdk.java.net/jeps/
> >>>> 252).
> >>>>>> This
> >>>>>>> +causes an number of locale-sensitive test in Commons Lang to fail.
> >> In
> >>>>>> order
> >>>>>>> +to build Commons Lang 3.5 on Java 9, the locale provider has to be
> >> set
> >>>>>> to
> >>>>>>> +'JRE':
> >>>>>>> +
> >>>>>>> +    mvn -Djava.locale.providers=JRE clean install
> >>>>>>> +
> >>>>>>> +We are currently investigating ways to support building on Java 9
> >>>>>> without
> >>>>>>> +further configuration. For more information see:
> >>>>>>> +https://issues.apache.org/jira/browse/LANG-1265
> >>>>>>> +
> >>>>>>> +
> >>>>>>> +NEW FEATURES
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
> >>>>>>> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
> >>>>>> Kaiyuan Wang.
> >>>>>>> +o LANG-1023: Add WordUtils.wrap overload with customizable
> breakable
> >>>>>> character.
> >>>>>>> +             Thanks to Marko Bekhta.
> >>>>>>> +o LANG-787:  Add method removeIgnoreCase(String, String) to
> >>>>>> StringUtils. Thanks
> >>>>>>> +             to Gokul Nanthakumar C.
> >>>>>>> +o LANG-1224: Extend RandomStringUtils with methods that generate
> >>>> strings
> >>>>>>> +             between a min and max length. Thanks to Caleb
> Cushing.
> >>>>>>> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String,
> >> char|String).
> >>>>>> Thanks to
> >>>>>>> +             Gary Gregory.
> >>>>>>> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to
> adilek.
> >>>>>>> +o LANG-1085: Add a circuit breaker implementation. Thanks to
> Oliver
> >>>>>> Heger and
> >>>>>>> +             Bruno P. Kinoshita.
> >>>>>>> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
> >>>>>>> +o LANG-1195: Enhance MethodUtils to allow invocation of private
> >>>>>> methods. Thanks
> >>>>>>> +             to Derek C. Ashmore.
> >>>>>>> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
> >>>>>> incrementAndGet/
> >>>>>>> +             decrementAndGet/addAndGet in Mutable* classes. Thanks
> >> to
> >>>>>>> +             Haiyang Li and Matthew Bartenschlag.
> >>>>>>> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint
> >> which
> >>>>>> match
> >>>>>>> +             corresponding regular expression class. Thanks to
> Caleb
> >>>>>> Cushing.
> >>>>>>> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick
> Manley.
> >>>>>>> +o LANG-781:  Add methods to ObjectUtils class to check for null
> >>>>>> elements in the
> >>>>>>> +             array. Thanks to Krzysztof Wolny.
> >>>>>>> +o LANG-1228: Prefer Throwable.getCause() in
> >> ExceptionUtils.getCause().
> >>>>>>> +             Thanks to Brad Hess.
> >>>>>>> +o LANG-1233: DiffBuilder add method to allow appending from a
> >>>>>> DiffResult.
> >>>>>>> +             Thanks to Nick Manley.
> >>>>>>> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
> >>>>>>> +             Thanks to Pascal Schumacher.
> >>>>>>> +o LANG-1115: Add support for varargs in ConstructorUtils,
> >> MemberUtils,
> >>>>>> and
> >>>>>>> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
> >>>>>>> +o LANG-1134: Add methods to check numbers against NaN and
> inifinite
> >> to
> >>>>>>> +             Validate. Thanks to Alan Smithee.
> >>>>>>> +o LANG-1220: Add tests for missed branches in DateUtils.
> >>>>>>> +             Thanks to Casey Scarborough.
> >>>>>>> +o LANG-1146: z/OS identification in SystemUtils.
> >>>>>>> +             Thanks to Gabor Liptak.
> >>>>>>> +o LANG-1192: FastDateFormat support of the week-year component
> >>>>>> (uppercase 'Y').
> >>>>>>> +             Thanks to Dominik Stadler.
> >>>>>>> +o LANG-1169: Add StringUtils methods to compare a string to
> multiple
> >>>>>> strings.
> >>>>>>> +             Thanks to Rafal Glowinski, Robert Parr and Arman
> >> Sharif.
> >>>>>>> +o LANG-1185: Add remove by regular expression methods in
> >> StringUtils.
> >>>>>>> +o LANG-1139: Add replace by regular expression methods in
> >> StringUtils.
> >>>>>>> +o LANG-1171: Add compare methods in StringUtils.
> >>>>>>> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
> >>>>>>> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks
> to
> >>>>>>> +             Gary Gregory.
> >>>>>>> +o LANG-1149: Ability to throw checked exceptions without declaring
> >>>>>> them. Thanks
> >>>>>>> +             to Gregory Zak.
> >>>>>>> +o LANG-1153: Implement ParsePosition api for FastDateParser.
> >>>>>>> +o LANG-1137: Add check for duplicate event listener in
> >>>>>> EventListenerSupport.
> >>>>>>> +             Thanks to Matthew Aguirre.
> >>>>>>> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
> >>>>>>> +             Eduardo Martins.
> >>>>>>> +o LANG-1132: ReflectionToStringBuilder doesn't throw
> >>>>>> IllegalArgumentException
> >>>>>>> +             when the constructor's object param is null. Thanks
> to
> >>>>>> Jack Tan.
> >>>>>>> +o LANG-701:  StringUtils join with var args. Thanks to James
> Sawle.
> >>>>>>> +o LANG-1105: Add ThreadUtils - A utility class which provides
> helper
> >>>>>> methods
> >>>>>>> +             related to java.lang.Thread  Issue: LANG-1105. Thanks
> >> to
> >>>>>>> +             Hendrik Saly.
> >>>>>>> +o LANG-1031: Add annotations to exclude fields from
> >>>>>> ReflectionEqualsBuilder,
> >>>>>>> +             ReflectionToStringBuilder and
> >> ReflectionHashCodeBuilder.
> >>>>>> Thanks
> >>>>>>> +             to Felipe Adorno.
> >>>>>>> +o LANG-1127: Use JUnit rules to set and reset the default Locale
> and
> >>>>>> TimeZone.
> >>>>>>> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks
> >> to
> >>>>>>> +             Loic Guibert.
> >>>>>>> +o LANG-1099: Add swap and shift operations for arrays to
> ArrayUtils.
> >>>>>> Thanks to
> >>>>>>> +             Adrian Ber.
> >>>>>>> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to
> James
> >>>>>> Sawle.
> >>>>>>> +o LANG-1074: Add a method to ArrayUtils for removing all
> occurrences
> >>>> of
> >>>>>> a given
> >>>>>>> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
> >>>>>>> +
> >>>>>>> +FIXED BUGS
> >>>>>>> +============
> >>>>>>> +
> >>>>>>> +o LANG-1261: ArrayUtils.contains returns false for instances of
> >>>>>> subtypes.
> >>>>>>> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better
> >>>> reflect
> >>>>>>> +             createNumber. Also, accommodated for "+" symbol as
> >> prefix
> >>>>>> in
> >>>>>>> +             isCreatable and isNumber. Thanks to Rob Tompkins.
> >>>>>>> +o LANG-1230: Remove unnecessary synchronization from registry
> lookup
> >>>> in
> >>>>>>> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
> >>>>>> Marschall.
> >>>>>>> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to
> Henry
> >>>>>> Tung.
> >>>>>>> +o LANG-1250: SerializationUtils#deserialize has unnecessary code
> >> and a
> >>>>>> comment
> >>>>>>> +             for that. Thanks to Glease Wang.
> >>>>>>> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException
> when
> >>>>>> fromType
> >>>>>>> +             has type variables and toType generic superclass
> >>>> specifies
> >>>>>> type
> >>>>>>> +             variable. Thanks to Pascal Schumacher.
> >>>>>>> +o LANG-1226: StringUtils#normalizeSpace does not trim the string
> >>>>>> anymore.
> >>>>>>> +             Thanks to Pascal Schumacher.
> >>>>>>> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
> >>>>>> should use
> >>>>>>> +             static initializer to initialize primitiveTypes map.
> >>>>>> Thanks to
> >>>>>>> +             Takuya Ueshin.
> >>>>>>> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks
> to
> >>>>>>> +             Benoit Wiart.
> >>>>>>> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(
> >> String).
> >>>>>> Thanks to
> >>>>>>> +             Nick Manley.
> >>>>>>> +o LANG-1199: Fix implementation of StringUtils.
> >>>> getJaroWinklerDistance().
> >>>>>> Thanks
> >>>>>>> +             to M. Steiger.
> >>>>>>> +o LANG-1244: Fix dead links in StringUtils.
> getLevenshteinDistance()
> >>>>>> javadoc.
> >>>>>>> +             Thanks to jjbankert.
> >>>>>>> +o LANG-1242: "\u2284":"?" mapping missing from
> >>>>>>> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
> >>>>>> Stewart.
> >>>>>>> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case
> >> sensitive
> >>>> -
> >>>>>>> +             documented as case insensitive. Thanks to Matthew
> >>>>>> Bartenschlag.
> >>>>>>> +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 "Å‚".
> >>>>>>> +             Thanks to kaching88.
> >>>>>>> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently
> with
> >>>>>>> +             NumberUtils.isNumber(). Thanks to pbrose.
> >>>>>>> +o LANG-1222: Fix for incorrect comment on
> >>>> StringUtils.containsIgnoreCase
> >>>>>>> +             method. Thanks to Adam J.
> >>>>>>> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
> >>>>>> Templier.
> >>>>>>> +o LANG-1202: parseDateStrictly does't pass specified locale.
> Thanks
> >> to
> >>>>>>> +             Markus Jelsma.
> >>>>>>> +o LANG-1219: FastDateFormat doesn't respect summer daylight in
> some
> >>>>>> localized
> >>>>>>> +             strings. Thanks to Jarek.
> >>>>>>> +o LANG-1175: Remove Ant-based build.
> >>>>>>> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
> >>>>>>> +o LANG-1186: Fix NullPointerException in FastDateParser$
> >>>>>> TimeZoneStrategy.
> >>>>>>> +             Thanks to NickManley.
> >>>>>>> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer
> >> of
> >>>> -1
> >>>>>>> +             (correct answer should be 0); revert fix for
> LANG-1077.
> >>>>>> Thanks to
> >>>>>>> +             Qin Li.
> >>>>>>> +o LANG-1002: Several predefined ISO FastDateFormats in
> >> DateFormatUtils
> >>>>>> are
> >>>>>>> +             incorrect. Thanks to Michael Osipov.
> >>>>>>> +o LANG-1152: StringIndexOutOfBoundsException or field over-write
> >> for
> >>>>>> large year
> >>>>>>> +             fields in FastDateParser. Thanks to Pas Filip.
> >>>>>>> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts
> on
> >>>>>> changes on
> >>>>>>> +             system properties.
> >>>>>>> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values
> >> Enum.
> >>>>>> Thanks
> >>>>>>> +             to Loic Guibert.
> >>>>>>> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin
> Casey.
> >>>>>>> +o LANG-1122: Inconsistent behavior of swap for malformed inputs.
> >>>> Thanks
> >>>>>> to
> >>>>>>> +             Adrian Ber.
> >>>>>>> +o LANG-1130: Fix critical issues reported by SonarQube.
> >>>>>>> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
> >>>>>> inputs.
> >>>>>>> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
> >>>>>> correctly.
> >>>>>>> +             Thanks to Jack Tan.
> >>>>>>> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default
> >>>> Locale.
> >>>>>>> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a
> timezone
> >>>>>> set.
> >>>>>>> +             Thanks to Christian P. Momon.
> >>>>>>> +o LANG-916:  DateFormatUtils.format does not correctly change
> >> Calendar
> >>>>>>> +             TimeZone in certain situations. Thanks to Christian
> P.
> >>>>>> Momon.
> >>>>>>> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones.
> >>>> Thanks
> >>>>>> to
> >>>>>>> +             Aaron Sheldon.
> >>>>>>> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
> >>>>>> wildcard
> >>>>>>> +             types. Thanks to Andy Coates.
> >>>>>>> +o LANG-1118: StringUtils.repeat('z', -1) throws
> >>>>>> NegativeArraySizeException.
> >>>>>>> +             Thanks to Loic Guibert.
> >>>>>>> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
> >>>>>>> +o LANG-1162: StringUtils#equals fails with Index OOBE on
> non-Strings
> >>>>>> with
> >>>>>>> +             identical leading prefix..
> >>>>>>> +o LANG-1163: There are no tests for CharSequenceUtils.
> >> regionMatches.
> >>>>>>> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
> >>>>>> BarkZhang.
> >>>>>>> +o LANG-1191: Incorrect Javadoc
> >>>>>>> +             StringUtils.containsAny(CharSequence,
> >> CharSequence...).
> >>>>>> Thanks to
> >>>>>>> +             qed, Brent Worden and Gary Gregory.
> >>>>>>> +
> >>>>>>> +CHANGES
> >>>>>>> +=========
> >>>>>>> +o LANG-1197: Prepare Java 9 detection.
> >>>>>>> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
> >>>>>> method is too
> >>>>>>> +             big to be inlined. Thanks to Ruslan Cheremin.
> >>>>>>> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
> >>>>>> misleading. Thanks
> >>>>>>> +             to Dominik Stadler.
> >>>>>>> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks
> to
> >>>>>>> +             Benoit Wiart.
> >>>>>>> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to
> be
> >>>>>> inlined,
> >>>>>>> +             which prevents whole builder to be scalarized. Thanks
> >> to
> >>>>>>> +             Ruslan Cheremin.
> >>>>>>> +o LANG-1243: Simplify ArrayUtils removeElements by using new
> >>>>>> decrementAndGet()
> >>>>>>> +             method.
> >>>>>>> +o LANG-1240: Optimize BitField constructor implementation. Thanks
> to
> >>>>>> zhanhb.
> >>>>>>> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
> >>>>>>> +             Mohammed Alfallaj.
> >>>>>>> +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.
> >>>>>>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.
> >>>>>> Thanks to
> >>>>>>> +             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.
> >>>>>>> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc.
> Thanks
> >> to
> >>>>>>> +             Matthias Niehoff.
> >>>>>>> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel
> >>>> Karp.
> >>>>>>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks
> to
> >>>>>>> +             Larry West and Pascal Schumacher.
> >>>>>>> +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.
> >>>>>>> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
> >>>>>>> +             SystemUtils.PATH_SEPARATOR.
> >>>>>>> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format
> >>>> descriptor
> >>>>>> for
> >>>>>>> +             "invalid number of type parameters". Thanks to Bruno
> P.
> >>>>>> Kinoshita.
> >>>>>>> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due
> >> to
> >>>>>> being
> >>>>>>> +             package-private.
> >>>>>>> +o LANG-1058: StringUtils.uncapitalize performance improvement.
> >> Thanks
> >>>> to
> >>>>>>> +             Leo Wang.
> >>>>>>> +o LANG-1069: CharSet.getInstance documentation does not clearly
> >>>> explain
> >>>>>> how
> >>>>>>> +             to include negation character in set. Thanks to Arno
> >>>>>> Noordover.
> >>>>>>> +o LANG-1107: Fix parsing edge cases in FastDateParser.
> >>>>>>> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
> >>>>>> SystemUtils. Thanks
> >>>>>>> +             to Jake Wang.
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.4
> >>>>>>> +
> >>>>>>> +
> >>>>>>> +COMPATIBILITY
> >>>>>>> +=============
> >>>>>>> +
> >>>>>>> +Commons Lang 3.4 is fully binary compatible to the last release
> and
> >>>> can
> >>>>>>> +therefore be used as a drop in replacement for 3.3.2. Note that
> the
> >>>>>> value of
> >>>>>>> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
> >>>>>> EXTENDED_FORMAT_PATTERN
> >>>>>>> +has changed, which may affect clients using the constant.
> >> Furthermore
> >>>>>> the
> >>>>>>> +constant is used internally in
> >>>>>>> +o DurationFormatUtils.formatDurationISO(long)
> >>>>>>> +o DurationFormatUtils.formatPeriodISO(long, long)
> >>>>>>> +
> >>>>>>> +For more information see https://issues.apache.org/
> >>>>>> jira/browse/LANG-1000.
> >>>>>>> +
> >>>>>>> +NEW FEATURES
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
> >>>>>> Kockert.
> >>>>>>> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
> >>>>>>> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to
> Fabian
> >>>>>> Lange.
> >>>>>>> +o LANG-1082: Add option to disable the "objectsTriviallyEqual"
> test
> >> in
> >>>>>>> +             DiffBuilder. Thanks to Jonathan Baker.
> >>>>>>> +o LANG-1015: Add JsonToStringStyle implementation to
> ToStringStyle.
> >>>>>> Thanks to
> >>>>>>> +             Thiago Andrade.
> >>>>>>> +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-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.
> >>>>>>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
> >>>>>>> +             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
> >>>>>>> +             Mikhail Mazursky.
> >>>>>>> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
> >>>>>>> +             Mikhail Mazursky.
> >>>>>>> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object,
> >> String)
> >>>>>>> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
> >>>>>>> +
> >>>>>>> +FIXED BUGS
> >>>>>>> +============
> >>>>>>> +
> >>>>>>> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
> >>>>>> Thanks to
> >>>>>>> +             Timo Kockert.
> >>>>>>> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
> >>>>>>> +o LANG-948:  Exception while using ExtendedMessageFormat and
> >> escaping
> >>>>>> braces.
> >>>>>>> +             Thanks to Andrey Khobnya.
> >>>>>>> +o LANG-1092: Wrong formating of time zones with daylight saving
> time
> >>>> in
> >>>>>>> +             FastDatePrinter
> >>>>>>> +o LANG-1090: FastDateParser does not set error indication in
> >>>>>> ParsePosition
> >>>>>>> +o LANG-1089: FastDateParser does not handle excess hours as per
> >>>>>>> +             SimpleDateFormat
> >>>>>>> +o LANG-1061: FastDateParser error - timezones not handled
> correctly.
> >>>>>> Thanks to
> >>>>>>> +             dmeneses.
> >>>>>>> +o LANG-1087: NumberUtils#createNumber() returns positive
> BigDecimal
> >>>> when
> >>>>>>> +             negative Float is expected. Thanks to Renat
> Zhilkibaev.
> >>>>>>> +o LANG-1081: DiffBuilder.append(String, Object left, Object right)
> >>>> does
> >>>>>> not do
> >>>>>>> +             a left.equals(right) check. Thanks to Jonathan Baker.
> >>>>>>> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
> >>>>>> consistently.
> >>>>>>> +             Thanks to Jonathan Baker.
> >>>>>>> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK.
> >>>> Thanks
> >>>>>> to
> >>>>>>> +             Jonathan Baker.
> >>>>>>> +o LANG-1073: Read wrong component type of array in add in
> >> ArrayUtils.
> >>>>>>> +             Thanks to haiyang li.
> >>>>>>> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3
> in
> >>>>>> StringUtils.
> >>>>>>> +             Thanks to haiyang li.
> >>>>>>> +o LANG-1072: Duplicated "0x" check in createBigInteger in
> >> NumberUtils.
> >>>>>> Thanks
> >>>>>>> +             to haiyang li.
> >>>>>>> +o LANG-1064: StringUtils.abbreviate description doesn't agree with
> >> the
> >>>>>>> +             examples. Thanks to B.J. Herbison.
> >>>>>>> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK
> method
> >>>>>> ordering.
> >>>>>>> +             Thanks to Alexandre Bartel.
> >>>>>>> +o LANG-1000: ParseException when trying to parse UTC dates with Z
> as
> >>>>>> zone
> >>>>>>> +             designator using DateFormatUtils.ISO_DATETIME_
> >>>>>> TIME_ZONE_FORMAT
> >>>>>>> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is
> >> unclear
> >>>>>>> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks
> to
> >>>>>>> +             Michael Osipov.
> >>>>>>> +o LANG-1088: FastDateParser should be case insensitive
> >>>>>>> +o LANG-995:  Fix bug with stripping spaces on last line in
> >>>>>> WordUtils.wrap().
> >>>>>>> +             Thanks to Andrey Khobnya.
> >>>>>>> +
> >>>>>>> +CHANGES
> >>>>>>> +=========
> >>>>>>> +
> >>>>>>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils
> >>>> smarter
> >>>>>>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
> >>>>>> Lange.
> >>>>>>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
> >>>>>>> +o LANG-1100: Avoid memory allocation when using date formating to
> >>>>>> StringBuffer.
> >>>>>>> +             Thanks to mbracher.
> >>>>>>> +o LANG-935:  Possible performance improvement on string escape
> >>>>>> functions.
> >>>>>>> +             Thanks to Fabian Lange, Thomas Neidhart.
> >>>>>>> +o LANG-1098: Avoid String allocation in StrBuilder.append(
> >>>> CharSequence).
> >>>>>> Thanks
> >>>>>>> +             to Mikhail Mazurskiy, Fabian Lange.
> >>>>>>> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to
> >> Micha?
> >>>>>> Kordas.
> >>>>>>> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to
> Micha?
> >>>>>> Kordas.
> >>>>>>> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha?
> >> Kordas.
> >>>>>>> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha?
> >>>> Kordas.
> >>>>>>> +o LANG-877:  Performance improvements for StringEscapeUtils.
> Thanks
> >> to
> >>>>>>> +             Fabian Lange.
> >>>>>>> +o LANG-1071: Fix wrong examples in JavaDoc of
> >>>>>>> +             StringUtils.replaceEachRepeatedly(...),
> >>>>>>> +             StringUtils.replaceEach(...) Thanks to Arno
> Noordover.
> >>>>>>> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
> >>>>>> fields it
> >>>>>>> +             uses in performing comparisons
> >>>>>>> +o LANG-1020: Improve performance of normalize space. Thanks to
> Libor
> >>>>>> Ondrusek.
> >>>>>>> +o LANG-1027: org.apache.commons.lang3.SystemUtils#
> >>>> isJavaVersionAtLeast
> >>>>>> should
> >>>>>>> +             return true by default
> >>>>>>> +o LANG-1026: Bring static method references in StringUtils to
> >>>>>> consistent style.
> >>>>>>> +             Thanks to Alex Yursha.
> >>>>>>> +o LANG-1017: Use non-ASCII digits in Javadoc examples for
> >>>>>>> +             StringUtils.isNumeric. Thanks to Christoph
> Schneegans.
> >>>>>>> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils
> >> from
> >>>>>> array
> >>>>>>> +             input parameters to varargs. Thanks to Thiago
> Andrade.
> >>>>>>> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks
> >> to
> >>>>>>> +             Thiago Andrade.
> >>>>>>> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
> >>>>>> pattern to
> >>>>>>> +             match #formatDurationHMS. Thanks to Michael Osipov.
> >>>>>>> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
> >>>>>> Thanks to
> >>>>>>> +             Thiago Andrade.
> >>>>>>> +o LANG-731:  Better Javadoc for BitField class
> >>>>>>> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation
> >>>> does
> >>>>>> not
> >>>>>>> +             correspond to Javadoc and vice versa. Thanks to
> Michael
> >>>>>> Osipov.
> >>>>>>> +o LANG-1003: DurationFormatUtils are not able to handle negative
> >>>>>>> +             durations/periods
> >>>>>>> +o LANG-998:  Javadoc is not clear on preferred pattern to
> >> instantiate
> >>>>>>> +             FastDateParser / FastDatePrinter
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.3.2
> >>>>>>> +
> >>>>>>> +NEW FEATURES
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
> >>>>>>> +
> >>>>>>> +FIXED BUGS
> >>>>>>> +============
> >>>>>>> +
> >>>>>>> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0",
> >> "0.4790",
> >>>>>> et al
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.3.1
> >>>>>>> +
> >>>>>>> +FIXED BUGS
> >>>>>>> +============
> >>>>>>> +
> >>>>>>> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH)
> >>>> returns
> >>>>>> wrong
> >>>>>>> +             days
> >>>>>>> +o LANG-983:  DurationFormatUtils does not describe format string
> >> fully
> >>>>>>> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched
> >> quote
> >>>>>> char
> >>>>>>> +o LANG-984:  DurationFormatUtils does not handle large durations
> >>>>>> correctly
> >>>>>>> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS")
> -
> >> ms
> >>>>>> field
> >>>>>>> +             size should be 4 digits
> >>>>>>> +o LANG-978:  Failing tests with Java 8 b128
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.3
> >>>>>>> +
> >>>>>>> +NEW FEATURES
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +o LANG-955:  Add methods for removing all invalid characters
> >> according
> >>>>>> to
> >>>>>>> +             XML 1.0 and XML 1.1 in an input string to
> >>>>>> StringEscapeUtils.
> >>>>>>> +             Thanks to Adam Hooper.
> >>>>>>> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
> >>>>>>> +o LANG-962:  Add SerializationUtils.roundtrip(T extends
> >> Serializable)
> >>>> to
> >>>>>>> +             serialize then deserialize
> >>>>>>> +o LANG-637:  There should be a DifferenceBuilder with a
> >>>>>>> +             ReflectionDifferenceBuilder implementation
> >>>>>>> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
> >>>>>> StringUtils.
> >>>>>>> +             Thanks to Rekha Joshi.
> >>>>>>> +o LANG-417:  New class ClassPathUtils with methods for turning FQN
> >>>> into
> >>>>>>> +             resource path
> >>>>>>> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
> >>>>>> overloads
> >>>>>>> +             for primitive types
> >>>>>>> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
> >>>>>>> +o LANG-966:  Add IBM OS/400 detection
> >>>>>>> +
> >>>>>>> +FIXED BUGS
> >>>>>>> +============
> >>>>>>> +
> >>>>>>> +o LANG-621:  ReflectionToStringBuilder.toString does not debug
> 3rd
> >>>>>> party object
> >>>>>>> +             fields within 3rd party object. Thanks to Philip
> >> Hodges,
> >>>>>>> +             Thomas Neidhart.
> >>>>>>> +o LANG-977:  NumericEntityEscaper incorrectly encodes
> supplementary
> >>>>>> characters.
> >>>>>>> +             Thanks to Chris Karcher.
> >>>>>>> +o LANG-973:  Make some private fields final
> >>>>>>> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid
> >>>> Octal
> >>>>>> numbers
> >>>>>>> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
> >>>>>>> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset)
> >> needlessly
> >>>>>> throws
> >>>>>>> +             UnsupportedEncodingException. Thanks to Matt Bishop.
> >>>>>>> +o LANG-946:  ConstantInitializerTest fails when building with IBM
> >> JDK
> >>>> 7
> >>>>>>> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
> >>>>>> Android.
> >>>>>>> +             Thanks to Michael Keppler.
> >>>>>>> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
> >>>>>> threshold
> >>>>>>> +             returns wrong result. Thanks to Yaniv Kunda, Eli
> >> Lindsey.
> >>>>>>> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails
> in
> >>>>>>> +             JDK 1.6, 1.7 and 1.8, BRST time zone
> >>>>>>> +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.
> >>>>>>> +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.
> >>>>>>> +
> >>>>>>> +CHANGES
> >>>>>>> +=========
> >>>>>>> +
> >>>>>>> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
> >>>>>> removeFinalModifier(Field)
> >>>>>>> +             does not clean up after itself
> >>>>>>> +o LANG-958:  FastDateParser javadoc incorrectly states that
> >>>>>> SimpleDateFormat
> >>>>>>> +             is used internally
> >>>>>>> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
> >>>>>>> +o LANG-939:  Move Documentation from user guide to package-info
> >> files
> >>>>>>> +o LANG-953:  Convert package.html files to package-info.java files
> >>>>>>> +o LANG-940:  Fix deprecation warnings
> >>>>>>> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.2.1
> >>>>>>> +
> >>>>>>> +BUG FIXES
> >>>>>>> +===========
> >>>>>>> +
> >>>>>>> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
> >>>>>>> +o LANG-941:  Test failure in LocaleUtilsTest when building with
> JDK
> >> 8
> >>>>>>> +o LANG-942:  Test failure in FastDateParserTest and
> >>>>>> FastDateFormat_ParserTest
> >>>>>>> +             when building with JDK8. Thanks to Bruno P.
> Kinoshita,
> >>>>>>> +             Henri Yandell.
> >>>>>>> +o LANG-938:  Build fails with test failures when building with
> JDK 8
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.2
> >>>>>>> +
> >>>>>>> +COMPATIBILITY WITH 3.1
> >>>>>>> +========================
> >>>>>>> +
> >>>>>>> +This release introduces backwards incompatible changes in
> >>>>>>> +org.apache.commons.lang3.time.FastDateFormat:
> >>>>>>> +o Method 'protected java.util.List parsePattern()' has been
> removed
> >>>>>>> +o Method 'protected java.lang.String parseToken(java.lang.String,
> >>>>>> int[])' has
> >>>>>>> +  been removed
> >>>>>>> +o Method 'protected org.apache.commons.lang3.time.
> >>>>>> FastDateFormat$NumberRule
> >>>>>>> +  selectNumberRule(int, int)' has been removed
> >>>>>>> +
> >>>>>>> +These changes were the result of [LANG-462]. It is assumed that
> this
> >>>>>> change
> >>>>>>> +will not break clients as Charles Honton pointed out on 25/Jan/12:
> >>>>>>> +"
> >>>>>>> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)"
> >> and
> >>>>>>> +    "List<Rule> parsePattern()" couldn't have been overridden
> >> because
> >>>>>>> +    NumberRule and Rule were private to FastDateFormat.
> >>>>>>> + 2. Due to the factory pattern used, it's unlikely other two
> methods
> >>>>>> would have
> >>>>>>> +    been overridden.
> >>>>>>> + 3. The four methods are highly implementation specific. I
> consider
> >>>> it a
> >>>>>>> +    mistake that the methods were exposed.
> >>>>>>> +"
> >>>>>>> +For more information see https://issues.apache.org/
> >>>> jira/browse/LANG-462
> >>>>>> .
> >>>>>>> +
> >>>>>>> +NEW FEATURES
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +o LANG-934:  Add removeFinalModifier to FieldUtils
> >>>>>>> +o LANG-863:  Method returns number of inheritance hops between
> >> parent
> >>>>>> and
> >>>>>>> +             subclass. Thanks to Daneel S. Yaitskov.
> >>>>>>> +o LANG-774:  Added isStarted, isSuspended and isStopped to
> >> StopWatch.
> >>>>>>> +             Thanks to Erhan Bagdemir.
> >>>>>>> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence...
> >>>> methods.
> >>>>>>> +             Thanks to Alexander Muthmann.
> >>>>>>> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
> >>>>>>> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in
> >> favour
> >>>>>> of a new
> >>>>>>> +             StringUtils.toString(byte[], CharSet). Thanks to
> Aaron
> >>>>>> Digulla.
> >>>>>>> +o LANG-893:  StrSubstitutor now supports default values for
> >> variables.
> >>>>>>> +             Thanks to Woonsan Ko.
> >>>>>>> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
> >>>>>> Mureinik.
> >>>>>>> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
> >>>>>>> +             StringBuilder, StrBuilder, and Appendable.
> >>>>>>> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
> >>>>>>> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
> >>>>>>> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
> >>>>>> StringUtils.
> >>>>>>> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
> >>>>>>> +o LANG-873:  Add FieldUtils getAllFields() to return all the
> fields
> >>>>>> defined in
> >>>>>>> +             the given class and super classes.
> >>>>>>> +o LANG-835:  StrBuilder should support StringBuilder as an input
> >>>>>> parameter.
> >>>>>>> +o LANG-857:  StringIndexOutOfBoundsException in
> >>>> CharSequenceTranslator.
> >>>>>>> +o LANG-856:  Code refactoring in NumberUtils.
> >>>>>>> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex
> and
> >>>>>> octal
> >>>>>>> +             numbers.
> >>>>>>> +o LANG-854:  NumberUtils#createNumber - does not allow for hex
> >> numbers
> >>>>>> to be
> >>>>>>> +             larger than Long.
> >>>>>>> +o LANG-853:  StringUtils join APIs for primitives.
> >>>>>>> +o LANG-841:  Add StringUtils API to call String.replaceAll in
> DOTALL
> >>>>>> a.k.a.
> >>>>>>> +             single-line mode.
> >>>>>>> +o LANG-825:  Create StrBuilder APIs similar to
> >>>>>>> +             String.format(String, Object...).
> >>>>>>> +o LANG-675:  Add Triple class (ternary version of Pair).
> >>>>>>> +o LANG-462:  FastDateFormat supports parse methods.
> >>>>>>> +
> >>>>>>> +BUG FIXES
> >>>>>>> +===========
> >>>>>>> +
> >>>>>>> +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
> >>>>>>> +             elements are different.
> >>>>>>> +o LANG-917:  Fixed exception when combining custom and choice
> format
> >>>> in
> >>>>>>> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
> >>>>>>> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly
> >>>> promising
> >>>>>> letters
> >>>>>>> +             and numbers would, as opposed to may, appear  Issue:.
> >>>>>> Thanks to
> >>>>>>> +             Andrzej Winnicki.
> >>>>>>> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
> >>>>>>> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not
> >>>> updated.
> >>>>>> Thanks
> >>>>>>> +             to Mark Bryan Yu.
> >>>>>>> +o LANG-879:  LocaleUtils test fails with new Locale
> >>>>>> "ja_JP_JP_#u-ca-japanese"
> >>>>>>> +             of JDK7.
> >>>>>>> +o LANG-836:  StrSubstitutor does not support StringBuilder or
> >>>>>> CharSequence.
> >>>>>>> +             Thanks to Arnaud Brunet.
> >>>>>>> +o LANG-693:  Method createNumber from NumberUtils doesn't work for
> >>>>>> floating
> >>>>>>> +             point numbers other than Float  Issue: LANG-693.
> Thanks
> >>>> to
> >>>>>>> +             Calvin Echols.
> >>>>>>> +o LANG-887:  FastDateFormat does not use the locale specific cache
> >>>>>> correctly.
> >>>>>>> +o LANG-754:  ClassUtils.getShortName(String) will now only do a
> >>>>>> reverse lookup
> >>>>>>> +             for array types.
> >>>>>>> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not
> >> work
> >>>>>> for octal
> >>>>>>> +             numbers.
> >>>>>>> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting
> >> with
> >>>>>> an
> >>>>>>> +             underscore.
> >>>>>>> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript()
> >> do
> >>>>>> not
> >>>>>>> +             output the escaped surrogate pairs that are Java
> >>>> parsable.
> >>>>>>> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date
> >> objects
> >>>>>>> +             wastefully.
> >>>>>>> +o LANG-845:  Spelling fixes.
> >>>>>>> +o LANG-844:  Fix examples contained in javadoc of
> StringUtils.center
> >>>>>> methods.
> >>>>>>> +o LANG-832:  FastDateParser does not handle unterminated quotes
> >>>>>> correctly.
> >>>>>>> +o LANG-831:  FastDateParser does not handle white-space properly.
> >>>>>>> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
> >>>>>>> +o LANG-828:  FastDateParser does not handle non-Gregorian
> calendars
> >>>>>> properly.
> >>>>>>> +o LANG-826:  FastDateParser does not handle non-ASCII digits
> >>>> correctly.
> >>>>>>> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading
> >>>> "--".
> >>>>>>> +o LANG-818:  FastDateFormat's "z" pattern does not respect
> timezone
> >> of
> >>>>>> Calendar
> >>>>>>> +             instances passed to format().
> >>>>>>> +o LANG-817:  Add org.apache.commons.lang3.
> >>>> SystemUtils.IS_OS_WINDOWS_8.
> >>>>>>> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string
> >>>> reference
> >>>>>>> +             equality.
> >>>>>>> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
> >>>>>>> +o LANG-807:  RandomStringUtils throws confusing IAE when end <=
> >> start.
> >>>>>>> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
> >>>>>> universe,
> >>>>>>> +             random) always throws java.lang.
> >>>>>> ArrayIndexOutOfBoundsException.
> >>>>>>> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
> >>>>>> class.
> >>>>>>> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and
> >> Object
> >>>>>> versions.
> >>>>>>> +o LANG-788:  SerializationUtils throws ClassNotFoundException when
> >>>>>> cloning
> >>>>>>> +             primitive classes.
> >>>>>>> +o LANG-786:  StringUtils equals() relies on undefined behavior.
> >>>>>>> +o LANG-783:  Documentation bug: StringUtils.split.
> >>>>>>> +o LANG-777:  jar contains velocity template of release notes.
> >>>>>>> +o LANG-776:  TypeUtilsTest contains incorrect type assignability
> >>>>>> assertion.
> >>>>>>> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments
> for
> >>>>>>> +             partially-assigned classes.
> >>>>>>> +o LANG-773:  ImmutablePair doc contains nonsense text.
> >>>>>>> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage
> >>>> text.
> >>>>>>> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no
> longer
> >>>>>> defines
> >>>>>>> +             serialVersionUID.
> >>>>>>> +o LANG-764:  StrBuilder is now serializable.
> >>>>>>> +o LANG-761:  Fix Javadoc Ant warnings.
> >>>>>>> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
> >>>>>>> +o LANG-743:  Javadoc bug in static inner class DateIterator.
> >>>>>>> +
> >>>>>>> +CHANGES
> >>>>>>> +=========
> >>>>>>> +
> >>>>>>> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
> >>>>>> Thanks
> >>>>>>> +             to Christoph Schneegans.
> >>>>>>> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking
> >>>> spaces
> >>>>>>> +             (Unicode 00A0). Thanks to Timur Yarosh.
> >>>>>>> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor.
> >> Thanks
> >>>> to
> >>>>>>> +             Allon Mureinik.
> >>>>>>> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
> >>>>>>> +o LANG-882:  LookupTranslator now works with implementations of
> >>>>>> CharSequence
> >>>>>>> +             other than String.
> >>>>>>> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a
> proper
> >>>>>> green
> >>>>>>> +             implementation instead of inefficiently converting to
> >>>>>> Strings.
> >>>>>>> +o LANG-839:  ArrayUtils removeElements methods use unnecessary
> >>>> HashSet.
> >>>>>>> +o LANG-838:  ArrayUtils removeElements methods clone temporary
> index
> >>>>>> arrays
> >>>>>>> +             unnecessarily.
> >>>>>>> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
> >>>>>> support.
> >>>>>>> +o LANG-798:  Use generics in SerializationUtils.
> >>>>>>> +
> >>>>>>> +CHANGES WITHOUT TICKET
> >>>>>>> +========================
> >>>>>>> +
> >>>>>>> +o Fixed URLs in javadoc to point to new oracle.com pages
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.1
> >>>>>>> +
> >>>>>>> +NEW FEATURES
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +o LANG-801:  Add Conversion utility to convert between data types
> on
> >>>>>> byte level
> >>>>>>> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
> >>>>>> charsetName)
> >>>>>>> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
> >>>>>>> +             isPrimitiveOrWrapper(Class<?>)
> >>>>>>> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a
> >>>> Unix
> >>>>>> system
> >>>>>>> +
> >>>>>>> +BUG FIXES
> >>>>>>> +===========
> >>>>>>> +
> >>>>>>> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
> >>>>>>> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and
> -0X
> >>>>>>> +o LANG-744:  StringUtils throws java.security.
> >> AccessControlException
> >>>>>> on Google
> >>>>>>> +             App Engine
> >>>>>>> +o LANG-741:  Ant build has wrong component.name
> >>>>>>> +o LANG-698:  Document that the Mutable numbers don't work as
> >> expected
> >>>>>> with
> >>>>>>> +             String.format
> >>>>>>> +
> >>>>>>> +CHANGES
> >>>>>>> +=========
> >>>>>>> +
> >>>>>>> +o LANG-758:  Add an example with whitespace in
> >>>>>> StringUtils.defaultIfEmpty
> >>>>>>> +o LANG-752:  Fix createLong() so it behaves like createInteger()
> >>>>>>> +o LANG-751:  Include the actual type in the Validate.isInstance
> and
> >>>>>>> +             isAssignableFrom exception messages
> >>>>>>> +o LANG-748:  Deprecating chomp(String, String)
> >>>>>>> +o LANG-736:  CharUtils static final array CHAR_STRING is not
> needed
> >> to
> >>>>>> compute
> >>>>>>> +             CHAR_STRING_ARRAY
> >>>>>>> +
> >>>>>>> +===========================================================
> >>>>>> ==================
> >>>>>>> +
> >>>>>>> +                        Release Notes for version 3.0
> >>>>>>> +
> >>>>>>> +ADDITIONS
> >>>>>>> +===========
> >>>>>>> +
> >>>>>>> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
> >>>>>>> +o LANG-285:  Wish : method unaccent.
> >>>>>>> +o LANG-358:  ObjectUtils.coalesce.
> >>>>>>> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
> >>>>>> necessary.
> >>>>>>> +o LANG-435:  Add ClassUtils.isAssignable() variants with
> autoboxing.
> >>>>>>> +o LANG-444:  StringUtils.emptyToNull.
> >>>>>>> +o LANG-482:  Enhance StrSubstitutor to support nested
> >> ${var-${subvr}}
> >>>>>> expansion
> >>>>>>> +o LANG-482:  StrSubstitutor now supports substitution in variable
> >>>> names.
> >>>>>>> +o LANG-496:  A generic implementation of the Lazy initialization
> >>>>>> pattern.
> >>>>>>> +o LANG-497:  Addition of ContextedException and
> >>>>>> ContextedRuntimeException.
> >>>>>>> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
> >>>>>>> +o LANG-499:  Add support for the handling of ExecutionExceptions.
> >>>>>>> +o LANG-501:  Add support for background initialization.
> >>>>>>> +o LANG-529:  Add a concurrent package.
> >>>>>>> +o LANG-533:  Validate: support for validating blank strings.
> >>>>>>> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
> >>>>>>> +o LANG-545:  Add ability to create a Future for a constant.
> >>>>>>> +o LANG-546:  Add methods to Validate to check whether the index is
> >>>>>> valid for
> >>>>>>> +             the array/list/string.
> >>>>>>> +o LANG-553:  Add TypeUtils class to provide utility code for
> working
> >>>>>> with generic
> >>>>>>> +             types.
> >>>>>>> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation
> >>>> methods.
> >>>>>>> +o LANG-559:  Added validState validation method.
> >>>>>>> +o LANG-560:  New TimedSemaphore class.
> >>>>>>> +o LANG-582:  Provide an implementation of the ThreadFactory
> >> interface.
> >>>>>>> +o LANG-588:  Create a basic Pair<L, R> class.
> >>>>>>> +o LANG-594:  DateUtils equal & compare functions up to most
> >>>> significant
> >>>>>> field.
> >>>>>>> +o LANG-601:  Add Builder Interface / Update Builders to Implement
> >> It.
> >>>>>>> +o LANG-609:  Support lazy initialization using atomic variables
> >>>>>>> +o LANG-610:  Extend exception handling in ConcurrentUtils to
> runtime
> >>>>>> exceptions.
> >>>>>>> +o LANG-614:  StringUtils.endsWithAny method
> >>>>>>> +o LANG-640:  Add normalizeSpace to StringUtils
> >>>>>>> +o LANG-644:  Provide documentation about the new concurrent
> package
> >>>>>>> +o LANG-649:  BooleanUtils.toBooleanObject to support single
> >> character
> >>>>>> input
> >>>>>>> +o LANG-651:  Add AnnotationUtils
> >>>>>>> +o LANG-653:  Provide a very basic ConcurrentInitializer
> >> implementation
> >>>>>>> +o LANG-655:  Add StringUtils.defaultIfBlank()
> >>>>>>> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
> >>>>>>> +o LANG-676:  Documented potential NPE if auto-boxing occurs for
> some
> >>>>>> BooleanUtils
> >>>>>>> +             methods
> >>>>>>> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
> >>>>>>> +o LANG-692:  Add hashCodeMulti varargs method
> >>>>>>> +o LANG-697:  Add FormattableUtils class
> >>>>>>> +o LANG-684:  Levenshtein Distance Within a Given Threshold
> >>>>>>> +
> >>>>>>> +REMOVALS
> >>>>>>> +==========
> >>>>>>> +
> >>>>>>> +o LANG-438:  Remove @deprecateds.
> >>>>>>> +o LANG-492:  Remove code handled now by the JDK.
> >>>>>>> +o LANG-493:  Remove code that does not hold enough value to
> remain.
> >>>>>>> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
> >>>>>>> +             StringUtils.indexOf(String, String, int).
> >>>>>>> +o LANG-673:  WordUtils.abbreviate() removed
> >>>>>>> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
> >>>>>>> +
> >>>>>>> +IMPROVEMENTS
> >>>>>>> +==============
> >>>>>>> +
> >>>>>>> +o LANG-290:  EnumUtils for JDK 5.0.
> >>>>>>> +o LANG-336:  Finally start using generics.
> >>>>>>> +o LANG-355:  StrBuilder should implement CharSequence and
> >> Appendable.
> >>>>>>> +o LANG-396:  Investigate for vararg usages.
> >>>>>>> +o LANG-424:  Improve Javadoc for StringUtils class.
> >>>>>>> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
> >>>>>>> +o LANG-479:  Document where in SVN trunk is.
> >>>>>>> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
> >>>>>>> +o LANG-505:  Rewrite StringEscapeUtils.
> >>>>>>> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+
> >>>> notation.
> >>>>>>> +o LANG-510:  Convert StringUtils API to take CharSequence.
> >>>>>>> +o LANG-513:  Better EnumUtils.
> >>>>>>> +o LANG-528:  Mutable classes should implement an appropriately
> typed
> >>>>>> Mutable
> >>>>>>> +             interface.
> >>>>>>> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
> >>>>>>> +o LANG-540:  Make NumericEntityEscaper immutable.
> >>>>>>> +o LANG-541:  Replace StringBuffer with StringBuilder.
> >>>>>>> +o LANG-548:  Use Iterable on API instead of Collection.
> >>>>>>> +o LANG-551:  Replace Range classes with generic version.
> >>>>>>> +o LANG-562:  Change Maven groupId.
> >>>>>>> +o LANG-563:  Change Java package name.
> >>>>>>> +o LANG-570:  Do the test cases really still require main() and
> >> suite()
> >>>>>> methods?
> >>>>>>> +o LANG-579:  Add new Validate methods.
> >>>>>>> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
> >>>>>> Separators.
> >>>>>>> +o LANG-605:  DefaultExceptionContext overwrites values in
> recursive
> >>>>>> situations.
> >>>>>>> +o LANG-668:  Change ObjectUtils min() & max() functions to use
> >> varargs
> >>>>>> rather
> >>>>>>> +             than just two parameters
> >>>>>>> +o LANG-681:  Push down WordUtils to "text" sub-package.
> >>>>>>> +o LANG-711:  Add includeantruntime=false to javac targets to quell
> >>>>>> warnings in
> >>>>>>> +             ant 1.8.1 and better (and modest performance gain).
> >>>>>>> +o LANG-713:  Increase test coverage of FieldUtils read methods and
> >>>> tweak
> >>>>>>> +             javadoc.
> >>>>>>> +o LANG-718:  build.xml Java 1.5+ updates.
> >>>>>>> +
> >>>>>>> +BUG FIXES
> >>>>>>> +===========
> >>>>>>> +
> >>>>>>> +o LANG-11:   Depend on JDK 1.5+.
> >>>>>>> +o LANG-302:  StrBuilder does not implement clone().
> >>>>>>> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
> >>>>>> characters like
> >>>>>>> +             Chinese, Japanese, etc.
> >>>>>>> +o LANG-369:  ExceptionUtils not thread-safe.
> >>>>>>> +o LANG-418:  Javadoc incorrect for StringUtils.
> endsWithIgnoreCase.
> >>>>>>> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
> >>>>>> return false
> >>>>>>> +             for ""
> >>>>>>> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
> >>>>>> (0x00-0x20).
> >>>>>>> +o LANG-448:  Lower Ascii Characters don't get encoded by
> >>>> Entities.java.
> >>>>>>> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393
> >>>> (EqualsBuilder).
> >>>>>>> +o LANG-474:  Fixes for thread safety.
> >>>>>>> +o LANG-478:  StopWatch does not resist to system time changes.
> >>>>>>> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts
> >> unicode
> >>>>>>> +             characters above U+00FFFF into 2 characters.
> >>>>>>> +o LANG-481:  Possible race-conditions in hashCode of the range
> >>>> classes.
> >>>>>>> +o LANG-564:  Improve StrLookup API documentation.
> >>>>>>> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
> >>>>>>> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create
> >>>> unexpected
> >>>>>>> +             ClassCastException.
> >>>>>>> +o LANG-585:  exception.DefaultExceptionContext.
> >>>>>> getFormattedExceptionMessage
> >>>>>>> +             catches Throwable.
> >>>>>>> +o LANG-596:  StrSubstitutor should also handle the default
> >> properties
> >>>>>> of a
> >>>>>>> +             java.util.Properties class
> >>>>>>> +o LANG-600:  Javadoc is incorrect for public static int
> >>>>>>> +             lastIndexOf(String str, String searchStr).
> >>>>>>> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
> >>>>>> exception.
> >>>>>>> +o LANG-606:  EqualsBuilder causes StackOverflowException.
> >>>>>>> +o LANG-608:  Some StringUtils methods should take an int character
> >>>>>> instead of
> >>>>>>> +             char to use String API features.
> >>>>>>> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
> >>>>>> supplementary
> >>>>>>> +             characters
> >>>>>>> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
> >>>>>>> +             StringIndexOutOfBoundsException on Android
> >>>> runtime/Dalvik
> >>>>>> VM
> >>>>>>> +o LANG-629:  Charset may not be threadsafe, because the HashSet is
> >> not
> >>>>>> synch.
> >>>>>>> +o LANG-638:  NumberUtils createNumber throws a
> >>>>>> StringIndexOutOfBoundsException
> >>>>>>> +             when argument containing "e" and "E" is passed in
> >>>>>>> +o LANG-643:  Javadoc StringUtils.left() claims to throw on
> negative
> >>>>>> len, but
> >>>>>>> +             doesn't
> >>>>>>> +o LANG-645:  FastDateFormat.format() outputs incorrect week of
> year
> >>>>>> because
> >>>>>>> +             locale isn't respected
> >>>>>>> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
> >>>>>> escapes and
> >>>>>>> +             Unicode with extra u
> >>>>>>> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '')
> =
> >> 0
> >>>>>> incorrect
> >>>>>>> +o LANG-658:  Some Entitys like &Ouml; are not matched properly
> >> against
> >>>>>> its
> >>>>>>> +             ISO8859-1 representation
> >>>>>>> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus
> >> sign,
> >>>>>> U+2212
> >>>>>>> +             ISOtech
> >>>>>>> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
> >>>>>>> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not
> reduce
> >>>>>>> +             (Integer.MIN_VALUE, 2^k)
> >>>>>>> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not
> always
> >>>>>> succeed in
> >>>>>>> +             multiplyBy and divideBy
> >>>>>>> +o LANG-664:  NumberUtils.isNumber(String) is not right when the
> >> String
> >>>>>> is
> >>>>>>> +             "1.1L"
> >>>>>>> +o LANG-672:  Doc bug in DateUtils#ceiling
> >>>>>>> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour
> clock
> >>>> and
> >>>>>> not
> >>>>>>> +             24 hour
> >>>>>>> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
> >>>>>>> +o LANG-703:  StringUtils.join throws NPE when toString returns
> null
> >>>> for
> >>>>>> one of
> >>>>>>> +             objects in collection
> >>>>>>> +o LANG-710:  StringIndexOutOfBoundsException when calling
> >>>>>> unescapeHtml4("&#03")
> >>>>>>> +o LANG-714:  StringUtils doc/comment spelling fixes.
> >>>>>>> +o LANG-715:  CharSetUtils.squeeze() speedup.
> >>>>>>> +o LANG-716:  swapCase and *capitalize speedups.
> >>>>>>> +
> >>>>>>> +
> >>>>>>> +Historical list of changes: http://commons.apache.org/
> >>>>>> lang/changes-report.html
> >>>>>>> +
> >>>>>>> +For complete information on Commons Lang, including instructions
> on
> >>>> how
> >>>>>> to
> >>>>>>> +submit bug reports, patches, or suggestions for improvement, see
> the
> >>>>>>> +Apache Commons Lang website:
> >>>>>>> +
> >>>>>>> +http://commons.apache.org/lang/
> >>>>>>> +
> >>>>>>> +Have fun!
> >>>>>>> +-Apache Commons Lang team
> >>>>>>> +
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> Binary file - no diff available.
> >>>>>>>
> >>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>>>> bin.tar.gz
> >>>>>>> ------------------------------------------------------------
> >>>>>> ------------------
> >>>>>>> svn:mime-type = application/octet-stream
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>>>> bin.tar.gz.asc
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.asc
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.asc
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1,16 @@
> >>>>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>>>> +
> >>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>>>> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
> >>>>>>> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
> >>>>>>> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
> >>>>>>> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
> >>>>>>> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
> >>>>>>> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
> >>>>>>> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
> >>>>>>> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
> >>>>>>> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
> >>>>>>> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
> >>>>>>> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
> >>>>>>> +=tjQB
> >>>>>>> +-----END PGP SIGNATURE-----
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>>>> bin.tar.gz.md5
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.md5
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.md5
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +fe7776aab25e229c9a5805c3ba82d219
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>>>> bin.tar.gz.sha1
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.sha1
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.sha1
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> Binary file - no diff available.
> >>>>>>>
> >>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.zip
> >>>>>>> ------------------------------------------------------------
> >>>>>> ------------------
> >>>>>>> svn:mime-type = application/octet-stream
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.zip.asc
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.asc
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.asc
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1,16 @@
> >>>>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>>>> +
> >>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>>>> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
> >>>>>>> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
> >>>>>>> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
> >>>>>>> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
> >>>>>>> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
> >>>>>>> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
> >>>>>>> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
> >>>>>>> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
> >>>>>>> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
> >>>>>>> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
> >>>>>>> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
> >>>>>>> +=6Bjb
> >>>>>>> +-----END PGP SIGNATURE-----
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.zip.md5
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.md5
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.md5
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +3b8ee236a7105277427d305587a6c8dd
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.zip.sha1
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.zip.sha1
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.zip.sha1
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/site.zip
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> Binary file - no diff available.
> >>>>>>>
> >>>>>>> Propchange: dev/commons/lang/site.zip
> >>>>>>> ------------------------------------------------------------
> >>>>>> ------------------
> >>>>>>> svn:mime-type = application/octet-stream
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> Binary file - no diff available.
> >>>>>>>
> >>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >>>>>> src.tar.gz
> >>>>>>> ------------------------------------------------------------
> >>>>>> ------------------
> >>>>>>> svn:mime-type = application/octet-stream
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >>>> src.tar.gz.asc
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.asc
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.asc
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1,16 @@
> >>>>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>>>> +
> >>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>>>> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
> >>>>>>> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
> >>>>>>> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
> >>>>>>> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
> >>>>>>> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
> >>>>>>> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
> >>>>>>> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
> >>>>>>> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
> >>>>>>> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
> >>>>>>> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
> >>>>>>> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
> >>>>>>> +=8mS4
> >>>>>>> +-----END PGP SIGNATURE-----
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >>>> src.tar.gz.md5
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.md5
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.md5
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +11b0a67eee0b856ee3629bdcfef35649
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >>>>>> src.tar.gz.sha1
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.sha1
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.sha1
> >>>>>> Thu Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> Binary file - no diff available.
> >>>>>>>
> >>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.zip
> >>>>>>> ------------------------------------------------------------
> >>>>>> ------------------
> >>>>>>> svn:mime-type = application/octet-stream
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.zip.asc
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >> Thu
> >>>>>> Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1,16 @@
> >>>>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>>>> +
> >>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>>>> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
> >>>>>>> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
> >>>>>>> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
> >>>>>>> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
> >>>>>>> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
> >>>>>>> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
> >>>>>>> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
> >>>>>>> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
> >>>>>>> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
> >>>>>>> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
> >>>>>>> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
> >>>>>>> +=5+7f
> >>>>>>> +-----END PGP SIGNATURE-----
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.zip.md5
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >> Thu
> >>>>>> Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +66d939d849bb560af8259d10156a58ec
> >>>>>>>
> >>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.zip.sha1
> >>>>>>> ============================================================
> >>>>>> ==================
> >>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.zip.sha1
> >>>>>> (added)
> >>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.zip.sha1
> >>>> Thu
> >>>>>> Jan  4 12:45:36 2018
> >>>>>>> @@ -0,0 +1 @@
> >>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ------------------------------------------------------------
> ---------
> >>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>>>
> >>>>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org <mailto:
> >> dev-unsubscribe@commons.apache.org>
> >>>> For additional commands, e-mail: dev-help@commons.apache.org <mailto:
> >> dev-help@commons.apache.org>
> >>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Rob Tompkins <ch...@gmail.com>.
I didn’t read back over the moving a component out of the sandbox bit, so I figured I’d just go with the formality. 

> On Jan 4, 2018, at 12:33 PM, Gary Gregory <ga...@gmail.com> wrote:
> 
> Hi Rob,
> 
> I do not think we need a formal VOTE until we want to release, but why not.
> Reusing COMMONSITE makes sense for now.
> 
> Go for it.
> 
> Gary
> 
>> On Thu, Jan 4, 2018 at 9:51 AM, Rob Tompkins <ch...@gmail.com> wrote:
>> 
>> 
>> 
>>> On Jan 4, 2018, at 11:45 AM, Gary Gregory <ga...@gmail.com>
>> wrote:
>>> 
>>> On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins <chtompki@gmail.com
>> <ma...@gmail.com>> wrote:
>>> 
>>>> So with comments, I’m thinking I’ll submit a component vote. Any
>>>> opposition?
>>>> 
>>> 
>>> Do you already have a git repo,  JIRA project and all that?
>> 
>> Oh not at all….I’m going to put it up for a vote before creating any
>> repos. Before I start all that. I was thinking that we’d use COMMONSSITE as
>> the jira for it because that’s what we use for the [build-plugin]….thoughts?
>> 
>> -Rob
>> 
>>> 
>>> Gary
>>> 
>>>> 
>>>>> On Jan 4, 2018, at 11:28 AM, Gary Gregory <ga...@gmail.com>
>>>> wrote:
>>>>> 
>>>>> That looks good. Thank you Rob!
>>>>> 
>>>>> Gary
>>>>> 
>>>>>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com>
>>>> wrote:
>>>>>> 
>>>>>> @Gary - Below is the result from my release plugin with [lang3]. Give
>>>> it a
>>>>>> looking over and let me know what you think.
>>>>>> 
>>>>>> -Rob
>>>>>> 
>>>>>>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
>>>>>>> 
>>>>>>> Author: chtompki
>>>>>>> Date: Thu Jan  4 12:45:36 2018
>>>>>>> New Revision: 24009
>>>>>>> 
>>>>>>> Log:
>>>>>>> Staging release: commons-lang3, version: 3.8-SNAPSHOT
>>>>>>> 
>>>>>>> Added:
>>>>>>> dev/commons/lang/RELEASE-NOTES.txt
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
>>>>>> (with props)
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.sha1
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
>> (with
>>>>>> props)
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>>>>> dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>>>>>>> dev/commons/lang/site.zip   (with props)
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>>>>>> (with props)
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
>>>>>> props)
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>>>>> dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>>>>>> 
>>>>>>> Added: dev/commons/lang/RELEASE-NOTES.txt
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/RELEASE-NOTES.txt (added)
>>>>>>> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1,1176 @@
>>>>>>> +
>>>>>>> +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.7
>>>>>>> +                           Release Notes
>>>>>>> +
>>>>>>> +
>>>>>>> +INTRODUCTION:
>>>>>>> +
>>>>>>> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes
>> resource
>>>>>> contention (PR #296.) Thanks to Chas Honton.
>>>>>>> +o LANG-1360: Add methods to ObjectUtils to get various forms of
>> class
>>>>>> names in a null-safe manner Thanks to Gary Gregory.
>>>>>>> +
>>>>>>> +Fixed Bugs:
>>>>>>> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
>>>>>> Thanks to Stephen Colebourne.
>>>>>>> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on
>> Java
>>>>>> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to Gary
>>>>>> Gregory.
>>>>>>> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
>>>>>> generic return type of Enum.valueOf Thanks to mbusso.
>>>>>>> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
>>>>>> regression Thanks to Brett Kail.
>>>>>>> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction
>> bug
>>>>>> Thanks to Naman Nigam.
>>>>>>> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should
>> use
>>>>>> toUpperCase(Locale) Thanks to BruceKuiLiu.
>>>>>>> +
>>>>>>> +Changes:
>>>>>>> +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
>>>>>>> +                               Version 3.6
>>>>>>> +                              Release Notes
>>>>>>> +
>>>>>>> +
>>>>>>> +INTRODUCTION:
>>>>>>> +
>>>>>>> +This document contains the release notes for the 3.6 version of
>>>>>>> +Apache Commons Lang as well as a history all changes in the Commons
>>>>>> Lang 3.x
>>>>>>> +release line. Commons Lang is a set of utility functions and
>> reusable
>>>>>>> +components that should be of use in any Java environment. Commons
>> Lang
>>>>>> 3.6 at
>>>>>>> +least requires Java 7.0. Note that this has changed from Commons
>> Lang
>>>>>> 3.5, which
>>>>>>> +only required Java 1.6.
>>>>>>> +
>>>>>>> +For the advice on upgrading from 2.x to 3.x, see the following page:
>>>>>>> +
>>>>>>> +    http://commons.apache.org/lang/article3_0.html
>>>>>>> +
>>>>>>> +HIGHLIGHTS
>>>>>>> +==========
>>>>>>> +
>>>>>>> +Some of the highlights in this release include:
>>>>>>> +
>>>>>>> +o The class org.apache.commons.lang3.concurrent.Memoizer is an
>>>>>> implementation
>>>>>>> +    of the Memoizer pattern as shown in
>>>>>>> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p.
>> 108.
>>>>>>> +o The class org.apache.commons.lang3.ArchUtils has been added.
>>>>>> ArchUtils is
>>>>>>> +    a utility class for the "os.arch" system property.
>>>>>>> +
>>>>>>> +DEPRECATIONS
>>>>>>> +============
>>>>>>> +
>>>>>>> +The Apache Commons Community has recently set up the Commons Text
>>>>>> component
>>>>>>> +as a home for algorithms working on strings. For this reason most of
>>>>>> the string
>>>>>>> +focused functionality in Commons Lang has been deprecated and moved
>> to
>>>>>>> +Commons Text. This includes:
>>>>>>> +
>>>>>>> +o All classes in the org.apache.commons.lang3.text and the
>>>>>>> +    org.apache.commons.lang3.text.translate packages
>>>>>>> +o org.apache.commons.lang3.StringEscapeUtils
>>>>>>> +o org.apache.commons.lang3.RandomStringUtils
>>>>>>> +o The methods org.apache.commons.lang3.StringUtils.
>>>> getJaroWinklerDistance
>>>>>> and
>>>>>>> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
>>>>>>> +
>>>>>>> +For more information see the Commons Text website:
>>>>>>> +
>>>>>>> +    http://commons.apache.org/text
>>>>>>> +
>>>>>>> +The class org.apache.commons.lang3.CharEncoding has been deprecated
>>>> in
>>>>>> favor of
>>>>>>> +java.nio.charset.StandardCharsets.
>>>>>>> +
>>>>>>> +The following methods have been deprecated in
>>>>>>> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
>>>>>> insert
>>>>>>> +methods. Note that the handling for null inputs differs between add
>>>> and
>>>>>> insert.
>>>>>>> +
>>>>>>> +o add(boolean[], int, boolean) -> insert(int, boolean[], boolean...)
>>>>>>> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
>>>>>>> +o add(char[], int, boolean)    -> insert(int, char[], char...)
>>>>>>> +o add(double[], int, boolean)  -> insert(int, double[], double...)
>>>>>>> +o add(float[], int, boolean)   -> insert(int, float[], float...)
>>>>>>> +o add(int[], int, boolean)     -> insert(int, int[], int...)
>>>>>>> +o add(long[], int, boolean)    -> insert(int, long[], long...)
>>>>>>> +o add(short[], int, boolean)   -> insert(int, short[], short...)
>>>>>>> +o add(T[], int, boolean)       -> insert(int, T[], T...)
>>>>>>> +
>>>>>>> +
>>>>>>> +COMPATIBILITY WITH JAVA 9
>>>>>>> +==================
>>>>>>> +
>>>>>>> +The MANIFEST.MF now contains an additional entry:
>>>>>>> +
>>>>>>> +  Automatic-Module-Name: org.apache.commons.lang3
>>>>>>> +
>>>>>>> +This should make it possible to use Commons Lang 3.6 as a module in
>>>> the
>>>>>> Java 9
>>>>>>> +module system. For more information see the corresponding issue and
>>>> the
>>>>>>> +referenced mailing list discussions:
>>>>>>> +
>>>>>>> +    https://issues.apache.org/jira/browse/LANG-1338
>>>>>>> +
>>>>>>> +The build problems present in the 3.5 release have been resolved.
>>>>>> Building
>>>>>>> +Commons Lang 3.6 should work out of the box with the latest Java 9
>> EA
>>>>>> build.
>>>>>>> +Please report any Java 9 related issues at:
>>>>>>> +
>>>>>>> +    https://issues.apache.org/jira/browse/LANG
>>>>>>> +
>>>>>>> +NEW FEATURES
>>>>>>> +============
>>>>>>> +
>>>>>>> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
>>>>>>> +o LANG-1304: Add method in StringUtils to determine if string
>> contains
>>>>>> both
>>>>>>> +             mixed cased characters. Thanks to Andy Klimczak.
>>>>>>> +o LANG-1325: Increase test coverage of ToStringBuilder class to
>> 100%.
>>>>>>> +             Thanks to Arshad Basha.
>>>>>>> +o LANG-1307: Add a method in StringUtils to extract only digits out
>> of
>>>>>> input
>>>>>>> +             string. Thanks to Arshad Basha.
>>>>>>> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
>>>>>>> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
>>>>>>> +             Thanks to Mark Dacek.
>>>>>>> +o LANG-1299: Add method for converting string to an array of code
>>>>>> points.
>>>>>>> +o LANG-660:  Add methods to insert arrays into arrays at an index.
>>>>>>> +o LANG-1034: Add support for recursive comparison to
>>>>>>> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
>>>>>>> +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.
>>>>>>> +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.
>>>>>>> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch"
>> system
>>>>>> property.
>>>>>>> +             Thanks to Tomschi.
>>>>>>> +o LANG-1272: Add shuffle methods to ArrayUtils.
>>>>>>> +o LANG-1317: Add MethodUtils#findAnnotation and extend
>>>>>>> +             MethodUtils#getMethodsWithAnnotation for non-public,
>>>>>> super-class
>>>>>>> +             and interface methods. Thanks to Yasser Zamani.
>>>>>>> +o LANG-1331: Add ImmutablePair.nullPair().
>>>>>>> +o LANG-1332: Add ImmutableTriple.nullTriple().
>>>>>>> +
>>>>>>> +FIXED BUGS
>>>>>>> +==========
>>>>>>> +
>>>>>>> +o LANG-1337: Fix test failures in IBM JDK 8 for ToStringBuilderTest.
>>>>>>> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError
>> when
>>>>>> object is
>>>>>>> +             an array.
>>>>>>> +o LANG-1320: LocaleUtils#toLocale does not support language followed
>>>> by
>>>>>> UN M.49
>>>>>>> +             numeric-3 area code followed by variant.
>>>>>>> +o LANG-1300: Clarify or improve behaviour of int-based indexOf
>> methods
>>>>>> in
>>>>>>> +             StringUtils. Thanks to Mark Dacek.
>>>>>>> +o LANG-1286: RandomStringUtils random method can overflow and return
>>>>>> characters
>>>>>>> +             outside of specified range.
>>>>>>> +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ò.
>>>>>>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
>>>>>>> +             Thanks to Andreas Lundblad.
>>>>>>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible
>>>> heap
>>>>>>> +             pollution from parameterized vararg type T.
>>>>>>> +o LANG-1144: Multiple calls of
>>>>>>> +             org.apache.commons.lang3.concurrent.LazyInitializer.
>>>>>> initialize()
>>>>>>> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
>>>>>>> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException.
>>>>>>> +             Thanks to Andy Klimczak.
>>>>>>> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
>>>>>>> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
>>>>>>> +             Thanks to Paul Pogonyshev.
>>>>>>> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return
>>>> false
>>>>>> for an
>>>>>>> +             empty array. Thanks to Pierre Templier.
>>>>>>> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
>>>>>> Andrade.
>>>>>>> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and
>> Object
>>>>>> arrays
>>>>>>> +             correctly. Thanks to Aaron Digulla.
>>>>>>> +o LANG-1312: LocaleUtils#toLocale does not support language followed
>>>> by
>>>>>> UN M.49
>>>>>>> +             numeric-3 area code.
>>>>>>> +o LANG-1265: Build failures when building with Java 9 EA.
>>>>>>> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
>>>>>> Murienik.
>>>>>>> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException if
>>>>>> using
>>>>>>> +             varargs arguments and smaller types than the method
>>>>>> defines.
>>>>>>> +             Thanks to Don Jeba.
>>>>>>> +
>>>>>>> +CHANGES
>>>>>>> +=======
>>>>>>> +
>>>>>>> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
>>>>>>> +             compatibility.
>>>>>>> +o LANG-1334: Deprecate CharEncoding in favour of
>>>>>>> +             java.nio.charset.StandardCharsets.
>>>>>>> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
>>>>>>> +             Thanks to Bruno P. Kinoshita.
>>>>>>> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
>>>>>> ArrayUtils.
>>>>>>> +             Thanks to Andrii Abramov.
>>>>>>> +o LANG-1274: StrSubstitutor should state its thread safety.
>>>>>>> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
>>>>>> consumption.
>>>>>>> +             Thanks to yufcuy.
>>>>>>> +o LANG-1279: Update Java requirement from Java 6 to 7.
>>>>>>> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
>>>>>>> +             toXxxxCase(char). Thanks to sebb.
>>>>>>> +o LANG-1297: Add SystemUtils.getHostName() API.
>>>>>>> +o LANG-1301: Moving apache-rat-plugin configuration into
>>>>>> pluginManagement.
>>>>>>> +             Thanks to Karl Heinz Marbaise.
>>>>>>> +o LANG-1316: Deprecate classes/methods moved to commons-text.
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.5
>>>>>>> +
>>>>>>> +
>>>>>>> +HIGHLIGHTS
>>>>>>> +==========
>>>>>>> +
>>>>>>> +Some of the highlights in this release include:
>>>>>>> +
>>>>>>> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
>>>>>>> +o Support for shifting and swapping elements in
>>>>>>> +    org.apache.commons.lang3.ArrayUtils.
>>>>>>> +o New methods for generating random strings from different character
>>>>>> classes
>>>>>>> +    including alphabetic, alpha-numeric and ASCII added to
>>>>>>> +    org.apache.commons.lang3.RandomStringUtils.
>>>>>>> +o Numerous extensions to org.apache.commons.lang3.StringUtils
>>>> including
>>>>>>> +    null safe compare variants, more remove and replace variants,
>>>>>> rotation and
>>>>>>> +    truncation.
>>>>>>> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to
>>>> work
>>>>>> with
>>>>>>> +    instances of java.lang.Thread and java.lang.ThreadGroup.
>>>>>>> +o Added annotations @EqualsExclude, @HashCodeExclude and
>>>>>> @ToStringEclude to
>>>>>>> +    mark fields which should be ignored by the reflective builders
>> in
>>>>>> the
>>>>>>> +    org.apache.commons.lang3.builder package.
>>>>>>> +o Support for various modify and retrieve value use cases added to
>> the
>>>>>> classes
>>>>>>> +    in org.apache.commons.lang3.mutable.
>>>>>>> +
>>>>>>> +COMPATIBILITY
>>>>>>> +=============
>>>>>>> +
>>>>>>> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release.
>>>> Users
>>>>>>> +should not experience any problems when upgrading from 3.4 to 3.5.
>>>>>>> +
>>>>>>> +There has been an addition to the org.apache.commons.lang3.time.
>>>>>> DatePrinter
>>>>>>> +interface:
>>>>>>> +
>>>>>>> +o Added method 'public boolean parse(java.lang.String,
>>>>>> java.text.ParsePosition,
>>>>>>> +    java.util.Calendar)'
>>>>>>> +o Added method 'public java.lang.Appendable format(long,
>>>>>> java.lang.Appendable)'
>>>>>>> +o Added method 'public java.lang.Appendable format(java.util.Date,
>>>>>>> +    java.lang.Appendable)'
>>>>>>> +o Added method 'public java.lang.Appendable
>> format(java.util.Calendar,
>>>>>>> +    java.lang.Appendable)'
>>>>>>> +
>>>>>>> +For this reason 3.5 is not strictly source compatible to 3.4. Since
>>>> the
>>>>>>> +DatePrinter interface is not meant to be implemented by clients,
>> this
>>>>>>> +change it not considered to cause any problems.
>>>>>>> +
>>>>>>> +JAVA 9 SUPPORT
>>>>>>> +==============
>>>>>>> +
>>>>>>> +Java 9 introduces a new version-string scheme. Details of this new
>>>>>> scheme are
>>>>>>> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In order
>> to
>>>>>> support
>>>>>>> +JEP-223 two classes had to be changed:
>>>>>>> +
>>>>>>> +o org.apache.commons.lang3.JavaVersion
>>>>>>> +    deprecated enum constant JAVA_1_9
>>>>>>> +    introduced enum constant JAVA_9
>>>>>>> +
>>>>>>> +o org.apache.commons.lang3.SystemUtils
>>>>>>> +    deprecated constant IS_JAVA_1_9
>>>>>>> +    introduced constant IS_JAVA_9
>>>>>>> +
>>>>>>> +For more information see LANG-1197
>>>>>>> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs
>> are
>>>>>> expected
>>>>>>> +to work with Java 9.
>>>>>>> +
>>>>>>> +BUILDING ON JAVA 9
>>>>>>> +==================
>>>>>>> +
>>>>>>> +Java 8 introduced the Unicode Consortium's Common Locale Data
>>>>>> Repository as
>>>>>>> +alternative source for locale data. Java 9 will use the CLDR
>> provider
>>>> as
>>>>>>> +default provider for locale data (see http://openjdk.java.net/jeps/
>>>> 252).
>>>>>> This
>>>>>>> +causes an number of locale-sensitive test in Commons Lang to fail.
>> In
>>>>>> order
>>>>>>> +to build Commons Lang 3.5 on Java 9, the locale provider has to be
>> set
>>>>>> to
>>>>>>> +'JRE':
>>>>>>> +
>>>>>>> +    mvn -Djava.locale.providers=JRE clean install
>>>>>>> +
>>>>>>> +We are currently investigating ways to support building on Java 9
>>>>>> without
>>>>>>> +further configuration. For more information see:
>>>>>>> +https://issues.apache.org/jira/browse/LANG-1265
>>>>>>> +
>>>>>>> +
>>>>>>> +NEW FEATURES
>>>>>>> +==============
>>>>>>> +
>>>>>>> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
>>>>>>> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
>>>>>> Kaiyuan Wang.
>>>>>>> +o LANG-1023: Add WordUtils.wrap overload with customizable breakable
>>>>>> character.
>>>>>>> +             Thanks to Marko Bekhta.
>>>>>>> +o LANG-787:  Add method removeIgnoreCase(String, String) to
>>>>>> StringUtils. Thanks
>>>>>>> +             to Gokul Nanthakumar C.
>>>>>>> +o LANG-1224: Extend RandomStringUtils with methods that generate
>>>> strings
>>>>>>> +             between a min and max length. Thanks to Caleb Cushing.
>>>>>>> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String,
>> char|String).
>>>>>> Thanks to
>>>>>>> +             Gary Gregory.
>>>>>>> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to adilek.
>>>>>>> +o LANG-1085: Add a circuit breaker implementation. Thanks to Oliver
>>>>>> Heger and
>>>>>>> +             Bruno P. Kinoshita.
>>>>>>> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
>>>>>>> +o LANG-1195: Enhance MethodUtils to allow invocation of private
>>>>>> methods. Thanks
>>>>>>> +             to Derek C. Ashmore.
>>>>>>> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
>>>>>> incrementAndGet/
>>>>>>> +             decrementAndGet/addAndGet in Mutable* classes. Thanks
>> to
>>>>>>> +             Haiyang Li and Matthew Bartenschlag.
>>>>>>> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint
>> which
>>>>>> match
>>>>>>> +             corresponding regular expression class. Thanks to Caleb
>>>>>> Cushing.
>>>>>>> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick Manley.
>>>>>>> +o LANG-781:  Add methods to ObjectUtils class to check for null
>>>>>> elements in the
>>>>>>> +             array. Thanks to Krzysztof Wolny.
>>>>>>> +o LANG-1228: Prefer Throwable.getCause() in
>> ExceptionUtils.getCause().
>>>>>>> +             Thanks to Brad Hess.
>>>>>>> +o LANG-1233: DiffBuilder add method to allow appending from a
>>>>>> DiffResult.
>>>>>>> +             Thanks to Nick Manley.
>>>>>>> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
>>>>>>> +             Thanks to Pascal Schumacher.
>>>>>>> +o LANG-1115: Add support for varargs in ConstructorUtils,
>> MemberUtils,
>>>>>> and
>>>>>>> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
>>>>>>> +o LANG-1134: Add methods to check numbers against NaN and inifinite
>> to
>>>>>>> +             Validate. Thanks to Alan Smithee.
>>>>>>> +o LANG-1220: Add tests for missed branches in DateUtils.
>>>>>>> +             Thanks to Casey Scarborough.
>>>>>>> +o LANG-1146: z/OS identification in SystemUtils.
>>>>>>> +             Thanks to Gabor Liptak.
>>>>>>> +o LANG-1192: FastDateFormat support of the week-year component
>>>>>> (uppercase 'Y').
>>>>>>> +             Thanks to Dominik Stadler.
>>>>>>> +o LANG-1169: Add StringUtils methods to compare a string to multiple
>>>>>> strings.
>>>>>>> +             Thanks to Rafal Glowinski, Robert Parr and Arman
>> Sharif.
>>>>>>> +o LANG-1185: Add remove by regular expression methods in
>> StringUtils.
>>>>>>> +o LANG-1139: Add replace by regular expression methods in
>> StringUtils.
>>>>>>> +o LANG-1171: Add compare methods in StringUtils.
>>>>>>> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
>>>>>>> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks to
>>>>>>> +             Gary Gregory.
>>>>>>> +o LANG-1149: Ability to throw checked exceptions without declaring
>>>>>> them. Thanks
>>>>>>> +             to Gregory Zak.
>>>>>>> +o LANG-1153: Implement ParsePosition api for FastDateParser.
>>>>>>> +o LANG-1137: Add check for duplicate event listener in
>>>>>> EventListenerSupport.
>>>>>>> +             Thanks to Matthew Aguirre.
>>>>>>> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
>>>>>>> +             Eduardo Martins.
>>>>>>> +o LANG-1132: ReflectionToStringBuilder doesn't throw
>>>>>> IllegalArgumentException
>>>>>>> +             when the constructor's object param is null. Thanks to
>>>>>> Jack Tan.
>>>>>>> +o LANG-701:  StringUtils join with var args. Thanks to James Sawle.
>>>>>>> +o LANG-1105: Add ThreadUtils - A utility class which provides helper
>>>>>> methods
>>>>>>> +             related to java.lang.Thread  Issue: LANG-1105. Thanks
>> to
>>>>>>> +             Hendrik Saly.
>>>>>>> +o LANG-1031: Add annotations to exclude fields from
>>>>>> ReflectionEqualsBuilder,
>>>>>>> +             ReflectionToStringBuilder and
>> ReflectionHashCodeBuilder.
>>>>>> Thanks
>>>>>>> +             to Felipe Adorno.
>>>>>>> +o LANG-1127: Use JUnit rules to set and reset the default Locale and
>>>>>> TimeZone.
>>>>>>> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks
>> to
>>>>>>> +             Loic Guibert.
>>>>>>> +o LANG-1099: Add swap and shift operations for arrays to ArrayUtils.
>>>>>> Thanks to
>>>>>>> +             Adrian Ber.
>>>>>>> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to James
>>>>>> Sawle.
>>>>>>> +o LANG-1074: Add a method to ArrayUtils for removing all occurrences
>>>> of
>>>>>> a given
>>>>>>> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
>>>>>>> +
>>>>>>> +FIXED BUGS
>>>>>>> +============
>>>>>>> +
>>>>>>> +o LANG-1261: ArrayUtils.contains returns false for instances of
>>>>>> subtypes.
>>>>>>> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better
>>>> reflect
>>>>>>> +             createNumber. Also, accommodated for "+" symbol as
>> prefix
>>>>>> in
>>>>>>> +             isCreatable and isNumber. Thanks to Rob Tompkins.
>>>>>>> +o LANG-1230: Remove unnecessary synchronization from registry lookup
>>>> in
>>>>>>> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
>>>>>> Marschall.
>>>>>>> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to Henry
>>>>>> Tung.
>>>>>>> +o LANG-1250: SerializationUtils#deserialize has unnecessary code
>> and a
>>>>>> comment
>>>>>>> +             for that. Thanks to Glease Wang.
>>>>>>> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException when
>>>>>> fromType
>>>>>>> +             has type variables and toType generic superclass
>>>> specifies
>>>>>> type
>>>>>>> +             variable. Thanks to Pascal Schumacher.
>>>>>>> +o LANG-1226: StringUtils#normalizeSpace does not trim the string
>>>>>> anymore.
>>>>>>> +             Thanks to Pascal Schumacher.
>>>>>>> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
>>>>>> should use
>>>>>>> +             static initializer to initialize primitiveTypes map.
>>>>>> Thanks to
>>>>>>> +             Takuya Ueshin.
>>>>>>> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks to
>>>>>>> +             Benoit Wiart.
>>>>>>> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(
>> String).
>>>>>> Thanks to
>>>>>>> +             Nick Manley.
>>>>>>> +o LANG-1199: Fix implementation of StringUtils.
>>>> getJaroWinklerDistance().
>>>>>> Thanks
>>>>>>> +             to M. Steiger.
>>>>>>> +o LANG-1244: Fix dead links in StringUtils.getLevenshteinDistance()
>>>>>> javadoc.
>>>>>>> +             Thanks to jjbankert.
>>>>>>> +o LANG-1242: "\u2284":"?" mapping missing from
>>>>>>> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
>>>>>> Stewart.
>>>>>>> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case
>> sensitive
>>>> -
>>>>>>> +             documented as case insensitive. Thanks to Matthew
>>>>>> Bartenschlag.
>>>>>>> +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 "Å‚".
>>>>>>> +             Thanks to kaching88.
>>>>>>> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
>>>>>>> +             NumberUtils.isNumber(). Thanks to pbrose.
>>>>>>> +o LANG-1222: Fix for incorrect comment on
>>>> StringUtils.containsIgnoreCase
>>>>>>> +             method. Thanks to Adam J.
>>>>>>> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
>>>>>> Templier.
>>>>>>> +o LANG-1202: parseDateStrictly does't pass specified locale. Thanks
>> to
>>>>>>> +             Markus Jelsma.
>>>>>>> +o LANG-1219: FastDateFormat doesn't respect summer daylight in some
>>>>>> localized
>>>>>>> +             strings. Thanks to Jarek.
>>>>>>> +o LANG-1175: Remove Ant-based build.
>>>>>>> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
>>>>>>> +o LANG-1186: Fix NullPointerException in FastDateParser$
>>>>>> TimeZoneStrategy.
>>>>>>> +             Thanks to NickManley.
>>>>>>> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer
>> of
>>>> -1
>>>>>>> +             (correct answer should be 0); revert fix for LANG-1077.
>>>>>> Thanks to
>>>>>>> +             Qin Li.
>>>>>>> +o LANG-1002: Several predefined ISO FastDateFormats in
>> DateFormatUtils
>>>>>> are
>>>>>>> +             incorrect. Thanks to Michael Osipov.
>>>>>>> +o LANG-1152: StringIndexOutOfBoundsException or field over-write
>> for
>>>>>> large year
>>>>>>> +             fields in FastDateParser. Thanks to Pas Filip.
>>>>>>> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts on
>>>>>> changes on
>>>>>>> +             system properties.
>>>>>>> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values
>> Enum.
>>>>>> Thanks
>>>>>>> +             to Loic Guibert.
>>>>>>> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin Casey.
>>>>>>> +o LANG-1122: Inconsistent behavior of swap for malformed inputs.
>>>> Thanks
>>>>>> to
>>>>>>> +             Adrian Ber.
>>>>>>> +o LANG-1130: Fix critical issues reported by SonarQube.
>>>>>>> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
>>>>>> inputs.
>>>>>>> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
>>>>>> correctly.
>>>>>>> +             Thanks to Jack Tan.
>>>>>>> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default
>>>> Locale.
>>>>>>> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a timezone
>>>>>> set.
>>>>>>> +             Thanks to Christian P. Momon.
>>>>>>> +o LANG-916:  DateFormatUtils.format does not correctly change
>> Calendar
>>>>>>> +             TimeZone in certain situations. Thanks to Christian P.
>>>>>> Momon.
>>>>>>> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones.
>>>> Thanks
>>>>>> to
>>>>>>> +             Aaron Sheldon.
>>>>>>> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
>>>>>> wildcard
>>>>>>> +             types. Thanks to Andy Coates.
>>>>>>> +o LANG-1118: StringUtils.repeat('z', -1) throws
>>>>>> NegativeArraySizeException.
>>>>>>> +             Thanks to Loic Guibert.
>>>>>>> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
>>>>>>> +o LANG-1162: StringUtils#equals fails with Index OOBE on non-Strings
>>>>>> with
>>>>>>> +             identical leading prefix..
>>>>>>> +o LANG-1163: There are no tests for CharSequenceUtils.
>> regionMatches.
>>>>>>> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
>>>>>> BarkZhang.
>>>>>>> +o LANG-1191: Incorrect Javadoc
>>>>>>> +             StringUtils.containsAny(CharSequence,
>> CharSequence...).
>>>>>> Thanks to
>>>>>>> +             qed, Brent Worden and Gary Gregory.
>>>>>>> +
>>>>>>> +CHANGES
>>>>>>> +=========
>>>>>>> +o LANG-1197: Prepare Java 9 detection.
>>>>>>> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
>>>>>> method is too
>>>>>>> +             big to be inlined. Thanks to Ruslan Cheremin.
>>>>>>> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
>>>>>> misleading. Thanks
>>>>>>> +             to Dominik Stadler.
>>>>>>> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks to
>>>>>>> +             Benoit Wiart.
>>>>>>> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to be
>>>>>> inlined,
>>>>>>> +             which prevents whole builder to be scalarized. Thanks
>> to
>>>>>>> +             Ruslan Cheremin.
>>>>>>> +o LANG-1243: Simplify ArrayUtils removeElements by using new
>>>>>> decrementAndGet()
>>>>>>> +             method.
>>>>>>> +o LANG-1240: Optimize BitField constructor implementation. Thanks to
>>>>>> zhanhb.
>>>>>>> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
>>>>>>> +             Mohammed Alfallaj.
>>>>>>> +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.
>>>>>>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.
>>>>>> Thanks to
>>>>>>> +             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.
>>>>>>> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc. Thanks
>> to
>>>>>>> +             Matthias Niehoff.
>>>>>>> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel
>>>> Karp.
>>>>>>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks to
>>>>>>> +             Larry West and Pascal Schumacher.
>>>>>>> +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.
>>>>>>> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
>>>>>>> +             SystemUtils.PATH_SEPARATOR.
>>>>>>> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format
>>>> descriptor
>>>>>> for
>>>>>>> +             "invalid number of type parameters". Thanks to Bruno P.
>>>>>> Kinoshita.
>>>>>>> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due
>> to
>>>>>> being
>>>>>>> +             package-private.
>>>>>>> +o LANG-1058: StringUtils.uncapitalize performance improvement.
>> Thanks
>>>> to
>>>>>>> +             Leo Wang.
>>>>>>> +o LANG-1069: CharSet.getInstance documentation does not clearly
>>>> explain
>>>>>> how
>>>>>>> +             to include negation character in set. Thanks to Arno
>>>>>> Noordover.
>>>>>>> +o LANG-1107: Fix parsing edge cases in FastDateParser.
>>>>>>> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
>>>>>> SystemUtils. Thanks
>>>>>>> +             to Jake Wang.
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.4
>>>>>>> +
>>>>>>> +
>>>>>>> +COMPATIBILITY
>>>>>>> +=============
>>>>>>> +
>>>>>>> +Commons Lang 3.4 is fully binary compatible to the last release and
>>>> can
>>>>>>> +therefore be used as a drop in replacement for 3.3.2. Note that the
>>>>>> value of
>>>>>>> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
>>>>>> EXTENDED_FORMAT_PATTERN
>>>>>>> +has changed, which may affect clients using the constant.
>> Furthermore
>>>>>> the
>>>>>>> +constant is used internally in
>>>>>>> +o DurationFormatUtils.formatDurationISO(long)
>>>>>>> +o DurationFormatUtils.formatPeriodISO(long, long)
>>>>>>> +
>>>>>>> +For more information see https://issues.apache.org/
>>>>>> jira/browse/LANG-1000.
>>>>>>> +
>>>>>>> +NEW FEATURES
>>>>>>> +==============
>>>>>>> +
>>>>>>> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
>>>>>> Kockert.
>>>>>>> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
>>>>>>> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to Fabian
>>>>>> Lange.
>>>>>>> +o LANG-1082: Add option to disable the "objectsTriviallyEqual" test
>> in
>>>>>>> +             DiffBuilder. Thanks to Jonathan Baker.
>>>>>>> +o LANG-1015: Add JsonToStringStyle implementation to ToStringStyle.
>>>>>> Thanks to
>>>>>>> +             Thiago Andrade.
>>>>>>> +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-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.
>>>>>>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
>>>>>>> +             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
>>>>>>> +             Mikhail Mazursky.
>>>>>>> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
>>>>>>> +             Mikhail Mazursky.
>>>>>>> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object,
>> String)
>>>>>>> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
>>>>>>> +
>>>>>>> +FIXED BUGS
>>>>>>> +============
>>>>>>> +
>>>>>>> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
>>>>>> Thanks to
>>>>>>> +             Timo Kockert.
>>>>>>> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
>>>>>>> +o LANG-948:  Exception while using ExtendedMessageFormat and
>> escaping
>>>>>> braces.
>>>>>>> +             Thanks to Andrey Khobnya.
>>>>>>> +o LANG-1092: Wrong formating of time zones with daylight saving time
>>>> in
>>>>>>> +             FastDatePrinter
>>>>>>> +o LANG-1090: FastDateParser does not set error indication in
>>>>>> ParsePosition
>>>>>>> +o LANG-1089: FastDateParser does not handle excess hours as per
>>>>>>> +             SimpleDateFormat
>>>>>>> +o LANG-1061: FastDateParser error - timezones not handled correctly.
>>>>>> Thanks to
>>>>>>> +             dmeneses.
>>>>>>> +o LANG-1087: NumberUtils#createNumber() returns positive BigDecimal
>>>> when
>>>>>>> +             negative Float is expected. Thanks to Renat Zhilkibaev.
>>>>>>> +o LANG-1081: DiffBuilder.append(String, Object left, Object right)
>>>> does
>>>>>> not do
>>>>>>> +             a left.equals(right) check. Thanks to Jonathan Baker.
>>>>>>> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
>>>>>> consistently.
>>>>>>> +             Thanks to Jonathan Baker.
>>>>>>> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK.
>>>> Thanks
>>>>>> to
>>>>>>> +             Jonathan Baker.
>>>>>>> +o LANG-1073: Read wrong component type of array in add in
>> ArrayUtils.
>>>>>>> +             Thanks to haiyang li.
>>>>>>> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in
>>>>>> StringUtils.
>>>>>>> +             Thanks to haiyang li.
>>>>>>> +o LANG-1072: Duplicated "0x" check in createBigInteger in
>> NumberUtils.
>>>>>> Thanks
>>>>>>> +             to haiyang li.
>>>>>>> +o LANG-1064: StringUtils.abbreviate description doesn't agree with
>> the
>>>>>>> +             examples. Thanks to B.J. Herbison.
>>>>>>> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK method
>>>>>> ordering.
>>>>>>> +             Thanks to Alexandre Bartel.
>>>>>>> +o LANG-1000: ParseException when trying to parse UTC dates with Z as
>>>>>> zone
>>>>>>> +             designator using DateFormatUtils.ISO_DATETIME_
>>>>>> TIME_ZONE_FORMAT
>>>>>>> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is
>> unclear
>>>>>>> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks to
>>>>>>> +             Michael Osipov.
>>>>>>> +o LANG-1088: FastDateParser should be case insensitive
>>>>>>> +o LANG-995:  Fix bug with stripping spaces on last line in
>>>>>> WordUtils.wrap().
>>>>>>> +             Thanks to Andrey Khobnya.
>>>>>>> +
>>>>>>> +CHANGES
>>>>>>> +=========
>>>>>>> +
>>>>>>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils
>>>> smarter
>>>>>>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
>>>>>> Lange.
>>>>>>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
>>>>>>> +o LANG-1100: Avoid memory allocation when using date formating to
>>>>>> StringBuffer.
>>>>>>> +             Thanks to mbracher.
>>>>>>> +o LANG-935:  Possible performance improvement on string escape
>>>>>> functions.
>>>>>>> +             Thanks to Fabian Lange, Thomas Neidhart.
>>>>>>> +o LANG-1098: Avoid String allocation in StrBuilder.append(
>>>> CharSequence).
>>>>>> Thanks
>>>>>>> +             to Mikhail Mazurskiy, Fabian Lange.
>>>>>>> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to
>> Micha?
>>>>>> Kordas.
>>>>>>> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to Micha?
>>>>>> Kordas.
>>>>>>> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha?
>> Kordas.
>>>>>>> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha?
>>>> Kordas.
>>>>>>> +o LANG-877:  Performance improvements for StringEscapeUtils. Thanks
>> to
>>>>>>> +             Fabian Lange.
>>>>>>> +o LANG-1071: Fix wrong examples in JavaDoc of
>>>>>>> +             StringUtils.replaceEachRepeatedly(...),
>>>>>>> +             StringUtils.replaceEach(...) Thanks to Arno Noordover.
>>>>>>> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
>>>>>> fields it
>>>>>>> +             uses in performing comparisons
>>>>>>> +o LANG-1020: Improve performance of normalize space. Thanks to Libor
>>>>>> Ondrusek.
>>>>>>> +o LANG-1027: org.apache.commons.lang3.SystemUtils#
>>>> isJavaVersionAtLeast
>>>>>> should
>>>>>>> +             return true by default
>>>>>>> +o LANG-1026: Bring static method references in StringUtils to
>>>>>> consistent style.
>>>>>>> +             Thanks to Alex Yursha.
>>>>>>> +o LANG-1017: Use non-ASCII digits in Javadoc examples for
>>>>>>> +             StringUtils.isNumeric. Thanks to Christoph Schneegans.
>>>>>>> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils
>> from
>>>>>> array
>>>>>>> +             input parameters to varargs. Thanks to Thiago Andrade.
>>>>>>> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks
>> to
>>>>>>> +             Thiago Andrade.
>>>>>>> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
>>>>>> pattern to
>>>>>>> +             match #formatDurationHMS. Thanks to Michael Osipov.
>>>>>>> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
>>>>>> Thanks to
>>>>>>> +             Thiago Andrade.
>>>>>>> +o LANG-731:  Better Javadoc for BitField class
>>>>>>> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation
>>>> does
>>>>>> not
>>>>>>> +             correspond to Javadoc and vice versa. Thanks to Michael
>>>>>> Osipov.
>>>>>>> +o LANG-1003: DurationFormatUtils are not able to handle negative
>>>>>>> +             durations/periods
>>>>>>> +o LANG-998:  Javadoc is not clear on preferred pattern to
>> instantiate
>>>>>>> +             FastDateParser / FastDatePrinter
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.3.2
>>>>>>> +
>>>>>>> +NEW FEATURES
>>>>>>> +==============
>>>>>>> +
>>>>>>> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
>>>>>>> +
>>>>>>> +FIXED BUGS
>>>>>>> +============
>>>>>>> +
>>>>>>> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0",
>> "0.4790",
>>>>>> et al
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.3.1
>>>>>>> +
>>>>>>> +FIXED BUGS
>>>>>>> +============
>>>>>>> +
>>>>>>> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH)
>>>> returns
>>>>>> wrong
>>>>>>> +             days
>>>>>>> +o LANG-983:  DurationFormatUtils does not describe format string
>> fully
>>>>>>> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched
>> quote
>>>>>> char
>>>>>>> +o LANG-984:  DurationFormatUtils does not handle large durations
>>>>>> correctly
>>>>>>> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS") -
>> ms
>>>>>> field
>>>>>>> +             size should be 4 digits
>>>>>>> +o LANG-978:  Failing tests with Java 8 b128
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.3
>>>>>>> +
>>>>>>> +NEW FEATURES
>>>>>>> +==============
>>>>>>> +
>>>>>>> +o LANG-955:  Add methods for removing all invalid characters
>> according
>>>>>> to
>>>>>>> +             XML 1.0 and XML 1.1 in an input string to
>>>>>> StringEscapeUtils.
>>>>>>> +             Thanks to Adam Hooper.
>>>>>>> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
>>>>>>> +o LANG-962:  Add SerializationUtils.roundtrip(T extends
>> Serializable)
>>>> to
>>>>>>> +             serialize then deserialize
>>>>>>> +o LANG-637:  There should be a DifferenceBuilder with a
>>>>>>> +             ReflectionDifferenceBuilder implementation
>>>>>>> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
>>>>>> StringUtils.
>>>>>>> +             Thanks to Rekha Joshi.
>>>>>>> +o LANG-417:  New class ClassPathUtils with methods for turning FQN
>>>> into
>>>>>>> +             resource path
>>>>>>> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
>>>>>> overloads
>>>>>>> +             for primitive types
>>>>>>> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
>>>>>>> +o LANG-966:  Add IBM OS/400 detection
>>>>>>> +
>>>>>>> +FIXED BUGS
>>>>>>> +============
>>>>>>> +
>>>>>>> +o LANG-621:  ReflectionToStringBuilder.toString does not debug 3rd
>>>>>> party object
>>>>>>> +             fields within 3rd party object. Thanks to Philip
>> Hodges,
>>>>>>> +             Thomas Neidhart.
>>>>>>> +o LANG-977:  NumericEntityEscaper incorrectly encodes supplementary
>>>>>> characters.
>>>>>>> +             Thanks to Chris Karcher.
>>>>>>> +o LANG-973:  Make some private fields final
>>>>>>> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid
>>>> Octal
>>>>>> numbers
>>>>>>> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
>>>>>>> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset)
>> needlessly
>>>>>> throws
>>>>>>> +             UnsupportedEncodingException. Thanks to Matt Bishop.
>>>>>>> +o LANG-946:  ConstantInitializerTest fails when building with IBM
>> JDK
>>>> 7
>>>>>>> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
>>>>>> Android.
>>>>>>> +             Thanks to Michael Keppler.
>>>>>>> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
>>>>>> threshold
>>>>>>> +             returns wrong result. Thanks to Yaniv Kunda, Eli
>> Lindsey.
>>>>>>> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails in
>>>>>>> +             JDK 1.6, 1.7 and 1.8, BRST time zone
>>>>>>> +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.
>>>>>>> +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.
>>>>>>> +
>>>>>>> +CHANGES
>>>>>>> +=========
>>>>>>> +
>>>>>>> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
>>>>>> removeFinalModifier(Field)
>>>>>>> +             does not clean up after itself
>>>>>>> +o LANG-958:  FastDateParser javadoc incorrectly states that
>>>>>> SimpleDateFormat
>>>>>>> +             is used internally
>>>>>>> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
>>>>>>> +o LANG-939:  Move Documentation from user guide to package-info
>> files
>>>>>>> +o LANG-953:  Convert package.html files to package-info.java files
>>>>>>> +o LANG-940:  Fix deprecation warnings
>>>>>>> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.2.1
>>>>>>> +
>>>>>>> +BUG FIXES
>>>>>>> +===========
>>>>>>> +
>>>>>>> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
>>>>>>> +o LANG-941:  Test failure in LocaleUtilsTest when building with JDK
>> 8
>>>>>>> +o LANG-942:  Test failure in FastDateParserTest and
>>>>>> FastDateFormat_ParserTest
>>>>>>> +             when building with JDK8. Thanks to Bruno P. Kinoshita,
>>>>>>> +             Henri Yandell.
>>>>>>> +o LANG-938:  Build fails with test failures when building with JDK 8
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.2
>>>>>>> +
>>>>>>> +COMPATIBILITY WITH 3.1
>>>>>>> +========================
>>>>>>> +
>>>>>>> +This release introduces backwards incompatible changes in
>>>>>>> +org.apache.commons.lang3.time.FastDateFormat:
>>>>>>> +o Method 'protected java.util.List parsePattern()' has been removed
>>>>>>> +o Method 'protected java.lang.String parseToken(java.lang.String,
>>>>>> int[])' has
>>>>>>> +  been removed
>>>>>>> +o Method 'protected org.apache.commons.lang3.time.
>>>>>> FastDateFormat$NumberRule
>>>>>>> +  selectNumberRule(int, int)' has been removed
>>>>>>> +
>>>>>>> +These changes were the result of [LANG-462]. It is assumed that this
>>>>>> change
>>>>>>> +will not break clients as Charles Honton pointed out on 25/Jan/12:
>>>>>>> +"
>>>>>>> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)"
>> and
>>>>>>> +    "List<Rule> parsePattern()" couldn't have been overridden
>> because
>>>>>>> +    NumberRule and Rule were private to FastDateFormat.
>>>>>>> + 2. Due to the factory pattern used, it's unlikely other two methods
>>>>>> would have
>>>>>>> +    been overridden.
>>>>>>> + 3. The four methods are highly implementation specific. I consider
>>>> it a
>>>>>>> +    mistake that the methods were exposed.
>>>>>>> +"
>>>>>>> +For more information see https://issues.apache.org/
>>>> jira/browse/LANG-462
>>>>>> .
>>>>>>> +
>>>>>>> +NEW FEATURES
>>>>>>> +==============
>>>>>>> +
>>>>>>> +o LANG-934:  Add removeFinalModifier to FieldUtils
>>>>>>> +o LANG-863:  Method returns number of inheritance hops between
>> parent
>>>>>> and
>>>>>>> +             subclass. Thanks to Daneel S. Yaitskov.
>>>>>>> +o LANG-774:  Added isStarted, isSuspended and isStopped to
>> StopWatch.
>>>>>>> +             Thanks to Erhan Bagdemir.
>>>>>>> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence...
>>>> methods.
>>>>>>> +             Thanks to Alexander Muthmann.
>>>>>>> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
>>>>>>> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in
>> favour
>>>>>> of a new
>>>>>>> +             StringUtils.toString(byte[], CharSet). Thanks to Aaron
>>>>>> Digulla.
>>>>>>> +o LANG-893:  StrSubstitutor now supports default values for
>> variables.
>>>>>>> +             Thanks to Woonsan Ko.
>>>>>>> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
>>>>>> Mureinik.
>>>>>>> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
>>>>>>> +             StringBuilder, StrBuilder, and Appendable.
>>>>>>> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
>>>>>>> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
>>>>>>> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
>>>>>> StringUtils.
>>>>>>> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
>>>>>>> +o LANG-873:  Add FieldUtils getAllFields() to return all the fields
>>>>>> defined in
>>>>>>> +             the given class and super classes.
>>>>>>> +o LANG-835:  StrBuilder should support StringBuilder as an input
>>>>>> parameter.
>>>>>>> +o LANG-857:  StringIndexOutOfBoundsException in
>>>> CharSequenceTranslator.
>>>>>>> +o LANG-856:  Code refactoring in NumberUtils.
>>>>>>> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex and
>>>>>> octal
>>>>>>> +             numbers.
>>>>>>> +o LANG-854:  NumberUtils#createNumber - does not allow for hex
>> numbers
>>>>>> to be
>>>>>>> +             larger than Long.
>>>>>>> +o LANG-853:  StringUtils join APIs for primitives.
>>>>>>> +o LANG-841:  Add StringUtils API to call String.replaceAll in DOTALL
>>>>>> a.k.a.
>>>>>>> +             single-line mode.
>>>>>>> +o LANG-825:  Create StrBuilder APIs similar to
>>>>>>> +             String.format(String, Object...).
>>>>>>> +o LANG-675:  Add Triple class (ternary version of Pair).
>>>>>>> +o LANG-462:  FastDateFormat supports parse methods.
>>>>>>> +
>>>>>>> +BUG FIXES
>>>>>>> +===========
>>>>>>> +
>>>>>>> +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
>>>>>>> +             elements are different.
>>>>>>> +o LANG-917:  Fixed exception when combining custom and choice format
>>>> in
>>>>>>> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
>>>>>>> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly
>>>> promising
>>>>>> letters
>>>>>>> +             and numbers would, as opposed to may, appear  Issue:.
>>>>>> Thanks to
>>>>>>> +             Andrzej Winnicki.
>>>>>>> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
>>>>>>> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not
>>>> updated.
>>>>>> Thanks
>>>>>>> +             to Mark Bryan Yu.
>>>>>>> +o LANG-879:  LocaleUtils test fails with new Locale
>>>>>> "ja_JP_JP_#u-ca-japanese"
>>>>>>> +             of JDK7.
>>>>>>> +o LANG-836:  StrSubstitutor does not support StringBuilder or
>>>>>> CharSequence.
>>>>>>> +             Thanks to Arnaud Brunet.
>>>>>>> +o LANG-693:  Method createNumber from NumberUtils doesn't work for
>>>>>> floating
>>>>>>> +             point numbers other than Float  Issue: LANG-693. Thanks
>>>> to
>>>>>>> +             Calvin Echols.
>>>>>>> +o LANG-887:  FastDateFormat does not use the locale specific cache
>>>>>> correctly.
>>>>>>> +o LANG-754:  ClassUtils.getShortName(String) will now only do a
>>>>>> reverse lookup
>>>>>>> +             for array types.
>>>>>>> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not
>> work
>>>>>> for octal
>>>>>>> +             numbers.
>>>>>>> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting
>> with
>>>>>> an
>>>>>>> +             underscore.
>>>>>>> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript()
>> do
>>>>>> not
>>>>>>> +             output the escaped surrogate pairs that are Java
>>>> parsable.
>>>>>>> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date
>> objects
>>>>>>> +             wastefully.
>>>>>>> +o LANG-845:  Spelling fixes.
>>>>>>> +o LANG-844:  Fix examples contained in javadoc of StringUtils.center
>>>>>> methods.
>>>>>>> +o LANG-832:  FastDateParser does not handle unterminated quotes
>>>>>> correctly.
>>>>>>> +o LANG-831:  FastDateParser does not handle white-space properly.
>>>>>>> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
>>>>>>> +o LANG-828:  FastDateParser does not handle non-Gregorian calendars
>>>>>> properly.
>>>>>>> +o LANG-826:  FastDateParser does not handle non-ASCII digits
>>>> correctly.
>>>>>>> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading
>>>> "--".
>>>>>>> +o LANG-818:  FastDateFormat's "z" pattern does not respect timezone
>> of
>>>>>> Calendar
>>>>>>> +             instances passed to format().
>>>>>>> +o LANG-817:  Add org.apache.commons.lang3.
>>>> SystemUtils.IS_OS_WINDOWS_8.
>>>>>>> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string
>>>> reference
>>>>>>> +             equality.
>>>>>>> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
>>>>>>> +o LANG-807:  RandomStringUtils throws confusing IAE when end <=
>> start.
>>>>>>> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
>>>>>> universe,
>>>>>>> +             random) always throws java.lang.
>>>>>> ArrayIndexOutOfBoundsException.
>>>>>>> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
>>>>>> class.
>>>>>>> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and
>> Object
>>>>>> versions.
>>>>>>> +o LANG-788:  SerializationUtils throws ClassNotFoundException when
>>>>>> cloning
>>>>>>> +             primitive classes.
>>>>>>> +o LANG-786:  StringUtils equals() relies on undefined behavior.
>>>>>>> +o LANG-783:  Documentation bug: StringUtils.split.
>>>>>>> +o LANG-777:  jar contains velocity template of release notes.
>>>>>>> +o LANG-776:  TypeUtilsTest contains incorrect type assignability
>>>>>> assertion.
>>>>>>> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments for
>>>>>>> +             partially-assigned classes.
>>>>>>> +o LANG-773:  ImmutablePair doc contains nonsense text.
>>>>>>> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage
>>>> text.
>>>>>>> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no longer
>>>>>> defines
>>>>>>> +             serialVersionUID.
>>>>>>> +o LANG-764:  StrBuilder is now serializable.
>>>>>>> +o LANG-761:  Fix Javadoc Ant warnings.
>>>>>>> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
>>>>>>> +o LANG-743:  Javadoc bug in static inner class DateIterator.
>>>>>>> +
>>>>>>> +CHANGES
>>>>>>> +=========
>>>>>>> +
>>>>>>> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
>>>>>> Thanks
>>>>>>> +             to Christoph Schneegans.
>>>>>>> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking
>>>> spaces
>>>>>>> +             (Unicode 00A0). Thanks to Timur Yarosh.
>>>>>>> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor.
>> Thanks
>>>> to
>>>>>>> +             Allon Mureinik.
>>>>>>> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
>>>>>>> +o LANG-882:  LookupTranslator now works with implementations of
>>>>>> CharSequence
>>>>>>> +             other than String.
>>>>>>> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a proper
>>>>>> green
>>>>>>> +             implementation instead of inefficiently converting to
>>>>>> Strings.
>>>>>>> +o LANG-839:  ArrayUtils removeElements methods use unnecessary
>>>> HashSet.
>>>>>>> +o LANG-838:  ArrayUtils removeElements methods clone temporary index
>>>>>> arrays
>>>>>>> +             unnecessarily.
>>>>>>> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
>>>>>> support.
>>>>>>> +o LANG-798:  Use generics in SerializationUtils.
>>>>>>> +
>>>>>>> +CHANGES WITHOUT TICKET
>>>>>>> +========================
>>>>>>> +
>>>>>>> +o Fixed URLs in javadoc to point to new oracle.com pages
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.1
>>>>>>> +
>>>>>>> +NEW FEATURES
>>>>>>> +==============
>>>>>>> +
>>>>>>> +o LANG-801:  Add Conversion utility to convert between data types on
>>>>>> byte level
>>>>>>> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
>>>>>> charsetName)
>>>>>>> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
>>>>>>> +             isPrimitiveOrWrapper(Class<?>)
>>>>>>> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a
>>>> Unix
>>>>>> system
>>>>>>> +
>>>>>>> +BUG FIXES
>>>>>>> +===========
>>>>>>> +
>>>>>>> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
>>>>>>> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and -0X
>>>>>>> +o LANG-744:  StringUtils throws java.security.
>> AccessControlException
>>>>>> on Google
>>>>>>> +             App Engine
>>>>>>> +o LANG-741:  Ant build has wrong component.name
>>>>>>> +o LANG-698:  Document that the Mutable numbers don't work as
>> expected
>>>>>> with
>>>>>>> +             String.format
>>>>>>> +
>>>>>>> +CHANGES
>>>>>>> +=========
>>>>>>> +
>>>>>>> +o LANG-758:  Add an example with whitespace in
>>>>>> StringUtils.defaultIfEmpty
>>>>>>> +o LANG-752:  Fix createLong() so it behaves like createInteger()
>>>>>>> +o LANG-751:  Include the actual type in the Validate.isInstance and
>>>>>>> +             isAssignableFrom exception messages
>>>>>>> +o LANG-748:  Deprecating chomp(String, String)
>>>>>>> +o LANG-736:  CharUtils static final array CHAR_STRING is not needed
>> to
>>>>>> compute
>>>>>>> +             CHAR_STRING_ARRAY
>>>>>>> +
>>>>>>> +===========================================================
>>>>>> ==================
>>>>>>> +
>>>>>>> +                        Release Notes for version 3.0
>>>>>>> +
>>>>>>> +ADDITIONS
>>>>>>> +===========
>>>>>>> +
>>>>>>> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
>>>>>>> +o LANG-285:  Wish : method unaccent.
>>>>>>> +o LANG-358:  ObjectUtils.coalesce.
>>>>>>> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
>>>>>> necessary.
>>>>>>> +o LANG-435:  Add ClassUtils.isAssignable() variants with autoboxing.
>>>>>>> +o LANG-444:  StringUtils.emptyToNull.
>>>>>>> +o LANG-482:  Enhance StrSubstitutor to support nested
>> ${var-${subvr}}
>>>>>> expansion
>>>>>>> +o LANG-482:  StrSubstitutor now supports substitution in variable
>>>> names.
>>>>>>> +o LANG-496:  A generic implementation of the Lazy initialization
>>>>>> pattern.
>>>>>>> +o LANG-497:  Addition of ContextedException and
>>>>>> ContextedRuntimeException.
>>>>>>> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
>>>>>>> +o LANG-499:  Add support for the handling of ExecutionExceptions.
>>>>>>> +o LANG-501:  Add support for background initialization.
>>>>>>> +o LANG-529:  Add a concurrent package.
>>>>>>> +o LANG-533:  Validate: support for validating blank strings.
>>>>>>> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
>>>>>>> +o LANG-545:  Add ability to create a Future for a constant.
>>>>>>> +o LANG-546:  Add methods to Validate to check whether the index is
>>>>>> valid for
>>>>>>> +             the array/list/string.
>>>>>>> +o LANG-553:  Add TypeUtils class to provide utility code for working
>>>>>> with generic
>>>>>>> +             types.
>>>>>>> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation
>>>> methods.
>>>>>>> +o LANG-559:  Added validState validation method.
>>>>>>> +o LANG-560:  New TimedSemaphore class.
>>>>>>> +o LANG-582:  Provide an implementation of the ThreadFactory
>> interface.
>>>>>>> +o LANG-588:  Create a basic Pair<L, R> class.
>>>>>>> +o LANG-594:  DateUtils equal & compare functions up to most
>>>> significant
>>>>>> field.
>>>>>>> +o LANG-601:  Add Builder Interface / Update Builders to Implement
>> It.
>>>>>>> +o LANG-609:  Support lazy initialization using atomic variables
>>>>>>> +o LANG-610:  Extend exception handling in ConcurrentUtils to runtime
>>>>>> exceptions.
>>>>>>> +o LANG-614:  StringUtils.endsWithAny method
>>>>>>> +o LANG-640:  Add normalizeSpace to StringUtils
>>>>>>> +o LANG-644:  Provide documentation about the new concurrent package
>>>>>>> +o LANG-649:  BooleanUtils.toBooleanObject to support single
>> character
>>>>>> input
>>>>>>> +o LANG-651:  Add AnnotationUtils
>>>>>>> +o LANG-653:  Provide a very basic ConcurrentInitializer
>> implementation
>>>>>>> +o LANG-655:  Add StringUtils.defaultIfBlank()
>>>>>>> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
>>>>>>> +o LANG-676:  Documented potential NPE if auto-boxing occurs for some
>>>>>> BooleanUtils
>>>>>>> +             methods
>>>>>>> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
>>>>>>> +o LANG-692:  Add hashCodeMulti varargs method
>>>>>>> +o LANG-697:  Add FormattableUtils class
>>>>>>> +o LANG-684:  Levenshtein Distance Within a Given Threshold
>>>>>>> +
>>>>>>> +REMOVALS
>>>>>>> +==========
>>>>>>> +
>>>>>>> +o LANG-438:  Remove @deprecateds.
>>>>>>> +o LANG-492:  Remove code handled now by the JDK.
>>>>>>> +o LANG-493:  Remove code that does not hold enough value to remain.
>>>>>>> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
>>>>>>> +             StringUtils.indexOf(String, String, int).
>>>>>>> +o LANG-673:  WordUtils.abbreviate() removed
>>>>>>> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
>>>>>>> +
>>>>>>> +IMPROVEMENTS
>>>>>>> +==============
>>>>>>> +
>>>>>>> +o LANG-290:  EnumUtils for JDK 5.0.
>>>>>>> +o LANG-336:  Finally start using generics.
>>>>>>> +o LANG-355:  StrBuilder should implement CharSequence and
>> Appendable.
>>>>>>> +o LANG-396:  Investigate for vararg usages.
>>>>>>> +o LANG-424:  Improve Javadoc for StringUtils class.
>>>>>>> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
>>>>>>> +o LANG-479:  Document where in SVN trunk is.
>>>>>>> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
>>>>>>> +o LANG-505:  Rewrite StringEscapeUtils.
>>>>>>> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+
>>>> notation.
>>>>>>> +o LANG-510:  Convert StringUtils API to take CharSequence.
>>>>>>> +o LANG-513:  Better EnumUtils.
>>>>>>> +o LANG-528:  Mutable classes should implement an appropriately typed
>>>>>> Mutable
>>>>>>> +             interface.
>>>>>>> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
>>>>>>> +o LANG-540:  Make NumericEntityEscaper immutable.
>>>>>>> +o LANG-541:  Replace StringBuffer with StringBuilder.
>>>>>>> +o LANG-548:  Use Iterable on API instead of Collection.
>>>>>>> +o LANG-551:  Replace Range classes with generic version.
>>>>>>> +o LANG-562:  Change Maven groupId.
>>>>>>> +o LANG-563:  Change Java package name.
>>>>>>> +o LANG-570:  Do the test cases really still require main() and
>> suite()
>>>>>> methods?
>>>>>>> +o LANG-579:  Add new Validate methods.
>>>>>>> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
>>>>>> Separators.
>>>>>>> +o LANG-605:  DefaultExceptionContext overwrites values in recursive
>>>>>> situations.
>>>>>>> +o LANG-668:  Change ObjectUtils min() & max() functions to use
>> varargs
>>>>>> rather
>>>>>>> +             than just two parameters
>>>>>>> +o LANG-681:  Push down WordUtils to "text" sub-package.
>>>>>>> +o LANG-711:  Add includeantruntime=false to javac targets to quell
>>>>>> warnings in
>>>>>>> +             ant 1.8.1 and better (and modest performance gain).
>>>>>>> +o LANG-713:  Increase test coverage of FieldUtils read methods and
>>>> tweak
>>>>>>> +             javadoc.
>>>>>>> +o LANG-718:  build.xml Java 1.5+ updates.
>>>>>>> +
>>>>>>> +BUG FIXES
>>>>>>> +===========
>>>>>>> +
>>>>>>> +o LANG-11:   Depend on JDK 1.5+.
>>>>>>> +o LANG-302:  StrBuilder does not implement clone().
>>>>>>> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
>>>>>> characters like
>>>>>>> +             Chinese, Japanese, etc.
>>>>>>> +o LANG-369:  ExceptionUtils not thread-safe.
>>>>>>> +o LANG-418:  Javadoc incorrect for StringUtils.endsWithIgnoreCase.
>>>>>>> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
>>>>>> return false
>>>>>>> +             for ""
>>>>>>> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
>>>>>> (0x00-0x20).
>>>>>>> +o LANG-448:  Lower Ascii Characters don't get encoded by
>>>> Entities.java.
>>>>>>> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393
>>>> (EqualsBuilder).
>>>>>>> +o LANG-474:  Fixes for thread safety.
>>>>>>> +o LANG-478:  StopWatch does not resist to system time changes.
>>>>>>> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts
>> unicode
>>>>>>> +             characters above U+00FFFF into 2 characters.
>>>>>>> +o LANG-481:  Possible race-conditions in hashCode of the range
>>>> classes.
>>>>>>> +o LANG-564:  Improve StrLookup API documentation.
>>>>>>> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
>>>>>>> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create
>>>> unexpected
>>>>>>> +             ClassCastException.
>>>>>>> +o LANG-585:  exception.DefaultExceptionContext.
>>>>>> getFormattedExceptionMessage
>>>>>>> +             catches Throwable.
>>>>>>> +o LANG-596:  StrSubstitutor should also handle the default
>> properties
>>>>>> of a
>>>>>>> +             java.util.Properties class
>>>>>>> +o LANG-600:  Javadoc is incorrect for public static int
>>>>>>> +             lastIndexOf(String str, String searchStr).
>>>>>>> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
>>>>>> exception.
>>>>>>> +o LANG-606:  EqualsBuilder causes StackOverflowException.
>>>>>>> +o LANG-608:  Some StringUtils methods should take an int character
>>>>>> instead of
>>>>>>> +             char to use String API features.
>>>>>>> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
>>>>>> supplementary
>>>>>>> +             characters
>>>>>>> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
>>>>>>> +             StringIndexOutOfBoundsException on Android
>>>> runtime/Dalvik
>>>>>> VM
>>>>>>> +o LANG-629:  Charset may not be threadsafe, because the HashSet is
>> not
>>>>>> synch.
>>>>>>> +o LANG-638:  NumberUtils createNumber throws a
>>>>>> StringIndexOutOfBoundsException
>>>>>>> +             when argument containing "e" and "E" is passed in
>>>>>>> +o LANG-643:  Javadoc StringUtils.left() claims to throw on negative
>>>>>> len, but
>>>>>>> +             doesn't
>>>>>>> +o LANG-645:  FastDateFormat.format() outputs incorrect week of year
>>>>>> because
>>>>>>> +             locale isn't respected
>>>>>>> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
>>>>>> escapes and
>>>>>>> +             Unicode with extra u
>>>>>>> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '') =
>> 0
>>>>>> incorrect
>>>>>>> +o LANG-658:  Some Entitys like &Ouml; are not matched properly
>> against
>>>>>> its
>>>>>>> +             ISO8859-1 representation
>>>>>>> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus
>> sign,
>>>>>> U+2212
>>>>>>> +             ISOtech
>>>>>>> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
>>>>>>> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not reduce
>>>>>>> +             (Integer.MIN_VALUE, 2^k)
>>>>>>> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not always
>>>>>> succeed in
>>>>>>> +             multiplyBy and divideBy
>>>>>>> +o LANG-664:  NumberUtils.isNumber(String) is not right when the
>> String
>>>>>> is
>>>>>>> +             "1.1L"
>>>>>>> +o LANG-672:  Doc bug in DateUtils#ceiling
>>>>>>> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour clock
>>>> and
>>>>>> not
>>>>>>> +             24 hour
>>>>>>> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
>>>>>>> +o LANG-703:  StringUtils.join throws NPE when toString returns null
>>>> for
>>>>>> one of
>>>>>>> +             objects in collection
>>>>>>> +o LANG-710:  StringIndexOutOfBoundsException when calling
>>>>>> unescapeHtml4("&#03")
>>>>>>> +o LANG-714:  StringUtils doc/comment spelling fixes.
>>>>>>> +o LANG-715:  CharSetUtils.squeeze() speedup.
>>>>>>> +o LANG-716:  swapCase and *capitalize speedups.
>>>>>>> +
>>>>>>> +
>>>>>>> +Historical list of changes: http://commons.apache.org/
>>>>>> lang/changes-report.html
>>>>>>> +
>>>>>>> +For complete information on Commons Lang, including instructions on
>>>> how
>>>>>> to
>>>>>>> +submit bug reports, patches, or suggestions for improvement, see the
>>>>>>> +Apache Commons Lang website:
>>>>>>> +
>>>>>>> +http://commons.apache.org/lang/
>>>>>>> +
>>>>>>> +Have fun!
>>>>>>> +-Apache Commons Lang team
>>>>>>> +
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> Binary file - no diff available.
>>>>>>> 
>>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz
>>>>>>> ------------------------------------------------------------
>>>>>> ------------------
>>>>>>> svn:mime-type = application/octet-stream
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.asc
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.asc
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.asc
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1,16 @@
>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>> +
>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
>>>>>>> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
>>>>>>> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
>>>>>>> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
>>>>>>> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
>>>>>>> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
>>>>>>> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
>>>>>>> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
>>>>>>> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
>>>>>>> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
>>>>>>> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
>>>>>>> +=tjQB
>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.md5
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.md5
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.md5
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +fe7776aab25e229c9a5805c3ba82d219
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>>>> bin.tar.gz.sha1
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.sha1
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.sha1
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> Binary file - no diff available.
>>>>>>> 
>>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.zip
>>>>>>> ------------------------------------------------------------
>>>>>> ------------------
>>>>>>> svn:mime-type = application/octet-stream
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.zip.asc
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1,16 @@
>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>> +
>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
>>>>>>> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
>>>>>>> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
>>>>>>> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
>>>>>>> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
>>>>>>> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
>>>>>>> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
>>>>>>> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
>>>>>>> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
>>>>>>> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
>>>>>>> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
>>>>>>> +=6Bjb
>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.zip.md5
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +3b8ee236a7105277427d305587a6c8dd
>>>>>>> 
>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.zip.sha1
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.sha1
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.sha1
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>> 
>>>>>>> Added: dev/commons/lang/site.zip
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> Binary file - no diff available.
>>>>>>> 
>>>>>>> Propchange: dev/commons/lang/site.zip
>>>>>>> ------------------------------------------------------------
>>>>>> ------------------
>>>>>>> svn:mime-type = application/octet-stream
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> Binary file - no diff available.
>>>>>>> 
>>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>>>> src.tar.gz
>>>>>>> ------------------------------------------------------------
>>>>>> ------------------
>>>>>>> svn:mime-type = application/octet-stream
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.asc
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.asc
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.asc
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1,16 @@
>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>> +
>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
>>>>>>> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
>>>>>>> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
>>>>>>> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
>>>>>>> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
>>>>>>> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
>>>>>>> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
>>>>>>> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
>>>>>>> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
>>>>>>> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
>>>>>>> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
>>>>>>> +=8mS4
>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.md5
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.md5
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.md5
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +11b0a67eee0b856ee3629bdcfef35649
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>>>> src.tar.gz.sha1
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.sha1
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.sha1
>>>>>> Thu Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> Binary file - no diff available.
>>>>>>> 
>>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.zip
>>>>>>> ------------------------------------------------------------
>>>>>> ------------------
>>>>>>> svn:mime-type = application/octet-stream
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.zip.asc
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>> Thu
>>>>>> Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1,16 @@
>>>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>>>> +
>>>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>>>> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
>>>>>>> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
>>>>>>> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
>>>>>>> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
>>>>>>> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
>>>>>>> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
>>>>>>> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
>>>>>>> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
>>>>>>> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
>>>>>>> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
>>>>>>> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
>>>>>>> +=5+7f
>>>>>>> +-----END PGP SIGNATURE-----
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.zip.md5
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>> Thu
>>>>>> Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +66d939d849bb560af8259d10156a58ec
>>>>>>> 
>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.zip.sha1
>>>>>>> ============================================================
>>>>>> ==================
>>>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>>>>> (added)
>>>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>>> Thu
>>>>>> Jan  4 12:45:36 2018
>>>>>>> @@ -0,0 +1 @@
>>>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>>>> 
>>>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org <mailto:
>> dev-unsubscribe@commons.apache.org>
>>>> For additional commands, e-mail: dev-help@commons.apache.org <mailto:
>> dev-help@commons.apache.org>
>> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Gary Gregory <ga...@gmail.com>.
Hi Rob,

I do not think we need a formal VOTE until we want to release, but why not.
Reusing COMMONSITE makes sense for now.

Go for it.

Gary

On Thu, Jan 4, 2018 at 9:51 AM, Rob Tompkins <ch...@gmail.com> wrote:

>
>
> > On Jan 4, 2018, at 11:45 AM, Gary Gregory <ga...@gmail.com>
> wrote:
> >
> > On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins <chtompki@gmail.com
> <ma...@gmail.com>> wrote:
> >
> >> So with comments, I’m thinking I’ll submit a component vote. Any
> >> opposition?
> >>
> >
> > Do you already have a git repo,  JIRA project and all that?
>
> Oh not at all….I’m going to put it up for a vote before creating any
> repos. Before I start all that. I was thinking that we’d use COMMONSSITE as
> the jira for it because that’s what we use for the [build-plugin]….thoughts?
>
> -Rob
>
> >
> > Gary
> >
> >>
> >>> On Jan 4, 2018, at 11:28 AM, Gary Gregory <ga...@gmail.com>
> >> wrote:
> >>>
> >>> That looks good. Thank you Rob!
> >>>
> >>> Gary
> >>>
> >>>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com>
> >> wrote:
> >>>>
> >>>> @Gary - Below is the result from my release plugin with [lang3]. Give
> >> it a
> >>>> looking over and let me know what you think.
> >>>>
> >>>> -Rob
> >>>>
> >>>>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
> >>>>>
> >>>>> Author: chtompki
> >>>>> Date: Thu Jan  4 12:45:36 2018
> >>>>> New Revision: 24009
> >>>>>
> >>>>> Log:
> >>>>> Staging release: commons-lang3, version: 3.8-SNAPSHOT
> >>>>>
> >>>>> Added:
> >>>>>  dev/commons/lang/RELEASE-NOTES.txt
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
> >>>> (with props)
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.sha1
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
>  (with
> >>>> props)
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> >>>>>  dev/commons/lang/site.zip   (with props)
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> >>>> (with props)
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
> >>>> props)
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >>>>>
> >>>>> Added: dev/commons/lang/RELEASE-NOTES.txt
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/RELEASE-NOTES.txt (added)
> >>>>> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1,1176 @@
> >>>>> +
> >>>>> +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.7
> >>>>> +                           Release Notes
> >>>>> +
> >>>>> +
> >>>>> +INTRODUCTION:
> >>>>> +
> >>>>> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes
> resource
> >>>> contention (PR #296.) Thanks to Chas Honton.
> >>>>> +o LANG-1360: Add methods to ObjectUtils to get various forms of
> class
> >>>> names in a null-safe manner Thanks to Gary Gregory.
> >>>>> +
> >>>>> +Fixed Bugs:
> >>>>> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
> >>>> Thanks to Stephen Colebourne.
> >>>>> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on
> Java
> >>>> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to Gary
> >>>> Gregory.
> >>>>> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
> >>>> generic return type of Enum.valueOf Thanks to mbusso.
> >>>>> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
> >>>> regression Thanks to Brett Kail.
> >>>>> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction
> bug
> >>>> Thanks to Naman Nigam.
> >>>>> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should
> use
> >>>> toUpperCase(Locale) Thanks to BruceKuiLiu.
> >>>>> +
> >>>>> +Changes:
> >>>>> +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
> >>>>> +                               Version 3.6
> >>>>> +                              Release Notes
> >>>>> +
> >>>>> +
> >>>>> +INTRODUCTION:
> >>>>> +
> >>>>> +This document contains the release notes for the 3.6 version of
> >>>>> +Apache Commons Lang as well as a history all changes in the Commons
> >>>> Lang 3.x
> >>>>> +release line. Commons Lang is a set of utility functions and
> reusable
> >>>>> +components that should be of use in any Java environment. Commons
> Lang
> >>>> 3.6 at
> >>>>> +least requires Java 7.0. Note that this has changed from Commons
> Lang
> >>>> 3.5, which
> >>>>> +only required Java 1.6.
> >>>>> +
> >>>>> +For the advice on upgrading from 2.x to 3.x, see the following page:
> >>>>> +
> >>>>> +    http://commons.apache.org/lang/article3_0.html
> >>>>> +
> >>>>> +HIGHLIGHTS
> >>>>> +==========
> >>>>> +
> >>>>> +Some of the highlights in this release include:
> >>>>> +
> >>>>> +o The class org.apache.commons.lang3.concurrent.Memoizer is an
> >>>> implementation
> >>>>> +    of the Memoizer pattern as shown in
> >>>>> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p.
> 108.
> >>>>> +o The class org.apache.commons.lang3.ArchUtils has been added.
> >>>> ArchUtils is
> >>>>> +    a utility class for the "os.arch" system property.
> >>>>> +
> >>>>> +DEPRECATIONS
> >>>>> +============
> >>>>> +
> >>>>> +The Apache Commons Community has recently set up the Commons Text
> >>>> component
> >>>>> +as a home for algorithms working on strings. For this reason most of
> >>>> the string
> >>>>> +focused functionality in Commons Lang has been deprecated and moved
> to
> >>>>> +Commons Text. This includes:
> >>>>> +
> >>>>> +o All classes in the org.apache.commons.lang3.text and the
> >>>>> +    org.apache.commons.lang3.text.translate packages
> >>>>> +o org.apache.commons.lang3.StringEscapeUtils
> >>>>> +o org.apache.commons.lang3.RandomStringUtils
> >>>>> +o The methods org.apache.commons.lang3.StringUtils.
> >> getJaroWinklerDistance
> >>>> and
> >>>>> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
> >>>>> +
> >>>>> +For more information see the Commons Text website:
> >>>>> +
> >>>>> +    http://commons.apache.org/text
> >>>>> +
> >>>>> +The class org.apache.commons.lang3.CharEncoding has been deprecated
> >> in
> >>>> favor of
> >>>>> +java.nio.charset.StandardCharsets.
> >>>>> +
> >>>>> +The following methods have been deprecated in
> >>>>> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
> >>>> insert
> >>>>> +methods. Note that the handling for null inputs differs between add
> >> and
> >>>> insert.
> >>>>> +
> >>>>> +o add(boolean[], int, boolean) -> insert(int, boolean[], boolean...)
> >>>>> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
> >>>>> +o add(char[], int, boolean)    -> insert(int, char[], char...)
> >>>>> +o add(double[], int, boolean)  -> insert(int, double[], double...)
> >>>>> +o add(float[], int, boolean)   -> insert(int, float[], float...)
> >>>>> +o add(int[], int, boolean)     -> insert(int, int[], int...)
> >>>>> +o add(long[], int, boolean)    -> insert(int, long[], long...)
> >>>>> +o add(short[], int, boolean)   -> insert(int, short[], short...)
> >>>>> +o add(T[], int, boolean)       -> insert(int, T[], T...)
> >>>>> +
> >>>>> +
> >>>>> +COMPATIBILITY WITH JAVA 9
> >>>>> +==================
> >>>>> +
> >>>>> +The MANIFEST.MF now contains an additional entry:
> >>>>> +
> >>>>> +  Automatic-Module-Name: org.apache.commons.lang3
> >>>>> +
> >>>>> +This should make it possible to use Commons Lang 3.6 as a module in
> >> the
> >>>> Java 9
> >>>>> +module system. For more information see the corresponding issue and
> >> the
> >>>>> +referenced mailing list discussions:
> >>>>> +
> >>>>> +    https://issues.apache.org/jira/browse/LANG-1338
> >>>>> +
> >>>>> +The build problems present in the 3.5 release have been resolved.
> >>>> Building
> >>>>> +Commons Lang 3.6 should work out of the box with the latest Java 9
> EA
> >>>> build.
> >>>>> +Please report any Java 9 related issues at:
> >>>>> +
> >>>>> +    https://issues.apache.org/jira/browse/LANG
> >>>>> +
> >>>>> +NEW FEATURES
> >>>>> +============
> >>>>> +
> >>>>> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
> >>>>> +o LANG-1304: Add method in StringUtils to determine if string
> contains
> >>>> both
> >>>>> +             mixed cased characters. Thanks to Andy Klimczak.
> >>>>> +o LANG-1325: Increase test coverage of ToStringBuilder class to
> 100%.
> >>>>> +             Thanks to Arshad Basha.
> >>>>> +o LANG-1307: Add a method in StringUtils to extract only digits out
> of
> >>>> input
> >>>>> +             string. Thanks to Arshad Basha.
> >>>>> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
> >>>>> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
> >>>>> +             Thanks to Mark Dacek.
> >>>>> +o LANG-1299: Add method for converting string to an array of code
> >>>> points.
> >>>>> +o LANG-660:  Add methods to insert arrays into arrays at an index.
> >>>>> +o LANG-1034: Add support for recursive comparison to
> >>>>> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
> >>>>> +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.
> >>>>> +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.
> >>>>> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch"
> system
> >>>> property.
> >>>>> +             Thanks to Tomschi.
> >>>>> +o LANG-1272: Add shuffle methods to ArrayUtils.
> >>>>> +o LANG-1317: Add MethodUtils#findAnnotation and extend
> >>>>> +             MethodUtils#getMethodsWithAnnotation for non-public,
> >>>> super-class
> >>>>> +             and interface methods. Thanks to Yasser Zamani.
> >>>>> +o LANG-1331: Add ImmutablePair.nullPair().
> >>>>> +o LANG-1332: Add ImmutableTriple.nullTriple().
> >>>>> +
> >>>>> +FIXED BUGS
> >>>>> +==========
> >>>>> +
> >>>>> +o LANG-1337: Fix test failures in IBM JDK 8 for ToStringBuilderTest.
> >>>>> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError
> when
> >>>> object is
> >>>>> +             an array.
> >>>>> +o LANG-1320: LocaleUtils#toLocale does not support language followed
> >> by
> >>>> UN M.49
> >>>>> +             numeric-3 area code followed by variant.
> >>>>> +o LANG-1300: Clarify or improve behaviour of int-based indexOf
> methods
> >>>> in
> >>>>> +             StringUtils. Thanks to Mark Dacek.
> >>>>> +o LANG-1286: RandomStringUtils random method can overflow and return
> >>>> characters
> >>>>> +             outside of specified range.
> >>>>> +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ò.
> >>>>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
> >>>>> +             Thanks to Andreas Lundblad.
> >>>>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible
> >> heap
> >>>>> +             pollution from parameterized vararg type T.
> >>>>> +o LANG-1144: Multiple calls of
> >>>>> +             org.apache.commons.lang3.concurrent.LazyInitializer.
> >>>> initialize()
> >>>>> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
> >>>>> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException.
> >>>>> +             Thanks to Andy Klimczak.
> >>>>> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
> >>>>> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
> >>>>> +             Thanks to Paul Pogonyshev.
> >>>>> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return
> >> false
> >>>> for an
> >>>>> +             empty array. Thanks to Pierre Templier.
> >>>>> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
> >>>> Andrade.
> >>>>> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and
> Object
> >>>> arrays
> >>>>> +             correctly. Thanks to Aaron Digulla.
> >>>>> +o LANG-1312: LocaleUtils#toLocale does not support language followed
> >> by
> >>>> UN M.49
> >>>>> +             numeric-3 area code.
> >>>>> +o LANG-1265: Build failures when building with Java 9 EA.
> >>>>> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
> >>>> Murienik.
> >>>>> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException if
> >>>> using
> >>>>> +             varargs arguments and smaller types than the method
> >>>> defines.
> >>>>> +             Thanks to Don Jeba.
> >>>>> +
> >>>>> +CHANGES
> >>>>> +=======
> >>>>> +
> >>>>> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
> >>>>> +             compatibility.
> >>>>> +o LANG-1334: Deprecate CharEncoding in favour of
> >>>>> +             java.nio.charset.StandardCharsets.
> >>>>> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
> >>>>> +             Thanks to Bruno P. Kinoshita.
> >>>>> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
> >>>> ArrayUtils.
> >>>>> +             Thanks to Andrii Abramov.
> >>>>> +o LANG-1274: StrSubstitutor should state its thread safety.
> >>>>> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
> >>>> consumption.
> >>>>> +             Thanks to yufcuy.
> >>>>> +o LANG-1279: Update Java requirement from Java 6 to 7.
> >>>>> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
> >>>>> +             toXxxxCase(char). Thanks to sebb.
> >>>>> +o LANG-1297: Add SystemUtils.getHostName() API.
> >>>>> +o LANG-1301: Moving apache-rat-plugin configuration into
> >>>> pluginManagement.
> >>>>> +             Thanks to Karl Heinz Marbaise.
> >>>>> +o LANG-1316: Deprecate classes/methods moved to commons-text.
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.5
> >>>>> +
> >>>>> +
> >>>>> +HIGHLIGHTS
> >>>>> +==========
> >>>>> +
> >>>>> +Some of the highlights in this release include:
> >>>>> +
> >>>>> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
> >>>>> +o Support for shifting and swapping elements in
> >>>>> +    org.apache.commons.lang3.ArrayUtils.
> >>>>> +o New methods for generating random strings from different character
> >>>> classes
> >>>>> +    including alphabetic, alpha-numeric and ASCII added to
> >>>>> +    org.apache.commons.lang3.RandomStringUtils.
> >>>>> +o Numerous extensions to org.apache.commons.lang3.StringUtils
> >> including
> >>>>> +    null safe compare variants, more remove and replace variants,
> >>>> rotation and
> >>>>> +    truncation.
> >>>>> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to
> >> work
> >>>> with
> >>>>> +    instances of java.lang.Thread and java.lang.ThreadGroup.
> >>>>> +o Added annotations @EqualsExclude, @HashCodeExclude and
> >>>> @ToStringEclude to
> >>>>> +    mark fields which should be ignored by the reflective builders
> in
> >>>> the
> >>>>> +    org.apache.commons.lang3.builder package.
> >>>>> +o Support for various modify and retrieve value use cases added to
> the
> >>>> classes
> >>>>> +    in org.apache.commons.lang3.mutable.
> >>>>> +
> >>>>> +COMPATIBILITY
> >>>>> +=============
> >>>>> +
> >>>>> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release.
> >> Users
> >>>>> +should not experience any problems when upgrading from 3.4 to 3.5.
> >>>>> +
> >>>>> +There has been an addition to the org.apache.commons.lang3.time.
> >>>> DatePrinter
> >>>>> +interface:
> >>>>> +
> >>>>> +o Added method 'public boolean parse(java.lang.String,
> >>>> java.text.ParsePosition,
> >>>>> +    java.util.Calendar)'
> >>>>> +o Added method 'public java.lang.Appendable format(long,
> >>>> java.lang.Appendable)'
> >>>>> +o Added method 'public java.lang.Appendable format(java.util.Date,
> >>>>> +    java.lang.Appendable)'
> >>>>> +o Added method 'public java.lang.Appendable
> format(java.util.Calendar,
> >>>>> +    java.lang.Appendable)'
> >>>>> +
> >>>>> +For this reason 3.5 is not strictly source compatible to 3.4. Since
> >> the
> >>>>> +DatePrinter interface is not meant to be implemented by clients,
> this
> >>>>> +change it not considered to cause any problems.
> >>>>> +
> >>>>> +JAVA 9 SUPPORT
> >>>>> +==============
> >>>>> +
> >>>>> +Java 9 introduces a new version-string scheme. Details of this new
> >>>> scheme are
> >>>>> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In order
> to
> >>>> support
> >>>>> +JEP-223 two classes had to be changed:
> >>>>> +
> >>>>> +o org.apache.commons.lang3.JavaVersion
> >>>>> +    deprecated enum constant JAVA_1_9
> >>>>> +    introduced enum constant JAVA_9
> >>>>> +
> >>>>> +o org.apache.commons.lang3.SystemUtils
> >>>>> +    deprecated constant IS_JAVA_1_9
> >>>>> +    introduced constant IS_JAVA_9
> >>>>> +
> >>>>> +For more information see LANG-1197
> >>>>> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs
> are
> >>>> expected
> >>>>> +to work with Java 9.
> >>>>> +
> >>>>> +BUILDING ON JAVA 9
> >>>>> +==================
> >>>>> +
> >>>>> +Java 8 introduced the Unicode Consortium's Common Locale Data
> >>>> Repository as
> >>>>> +alternative source for locale data. Java 9 will use the CLDR
> provider
> >> as
> >>>>> +default provider for locale data (see http://openjdk.java.net/jeps/
> >> 252).
> >>>> This
> >>>>> +causes an number of locale-sensitive test in Commons Lang to fail.
> In
> >>>> order
> >>>>> +to build Commons Lang 3.5 on Java 9, the locale provider has to be
> set
> >>>> to
> >>>>> +'JRE':
> >>>>> +
> >>>>> +    mvn -Djava.locale.providers=JRE clean install
> >>>>> +
> >>>>> +We are currently investigating ways to support building on Java 9
> >>>> without
> >>>>> +further configuration. For more information see:
> >>>>> +https://issues.apache.org/jira/browse/LANG-1265
> >>>>> +
> >>>>> +
> >>>>> +NEW FEATURES
> >>>>> +==============
> >>>>> +
> >>>>> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
> >>>>> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
> >>>> Kaiyuan Wang.
> >>>>> +o LANG-1023: Add WordUtils.wrap overload with customizable breakable
> >>>> character.
> >>>>> +             Thanks to Marko Bekhta.
> >>>>> +o LANG-787:  Add method removeIgnoreCase(String, String) to
> >>>> StringUtils. Thanks
> >>>>> +             to Gokul Nanthakumar C.
> >>>>> +o LANG-1224: Extend RandomStringUtils with methods that generate
> >> strings
> >>>>> +             between a min and max length. Thanks to Caleb Cushing.
> >>>>> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String,
> char|String).
> >>>> Thanks to
> >>>>> +             Gary Gregory.
> >>>>> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to adilek.
> >>>>> +o LANG-1085: Add a circuit breaker implementation. Thanks to Oliver
> >>>> Heger and
> >>>>> +             Bruno P. Kinoshita.
> >>>>> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
> >>>>> +o LANG-1195: Enhance MethodUtils to allow invocation of private
> >>>> methods. Thanks
> >>>>> +             to Derek C. Ashmore.
> >>>>> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
> >>>> incrementAndGet/
> >>>>> +             decrementAndGet/addAndGet in Mutable* classes. Thanks
> to
> >>>>> +             Haiyang Li and Matthew Bartenschlag.
> >>>>> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint
> which
> >>>> match
> >>>>> +             corresponding regular expression class. Thanks to Caleb
> >>>> Cushing.
> >>>>> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick Manley.
> >>>>> +o LANG-781:  Add methods to ObjectUtils class to check for null
> >>>> elements in the
> >>>>> +             array. Thanks to Krzysztof Wolny.
> >>>>> +o LANG-1228: Prefer Throwable.getCause() in
> ExceptionUtils.getCause().
> >>>>> +             Thanks to Brad Hess.
> >>>>> +o LANG-1233: DiffBuilder add method to allow appending from a
> >>>> DiffResult.
> >>>>> +             Thanks to Nick Manley.
> >>>>> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
> >>>>> +             Thanks to Pascal Schumacher.
> >>>>> +o LANG-1115: Add support for varargs in ConstructorUtils,
> MemberUtils,
> >>>> and
> >>>>> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
> >>>>> +o LANG-1134: Add methods to check numbers against NaN and inifinite
> to
> >>>>> +             Validate. Thanks to Alan Smithee.
> >>>>> +o LANG-1220: Add tests for missed branches in DateUtils.
> >>>>> +             Thanks to Casey Scarborough.
> >>>>> +o LANG-1146: z/OS identification in SystemUtils.
> >>>>> +             Thanks to Gabor Liptak.
> >>>>> +o LANG-1192: FastDateFormat support of the week-year component
> >>>> (uppercase 'Y').
> >>>>> +             Thanks to Dominik Stadler.
> >>>>> +o LANG-1169: Add StringUtils methods to compare a string to multiple
> >>>> strings.
> >>>>> +             Thanks to Rafal Glowinski, Robert Parr and Arman
> Sharif.
> >>>>> +o LANG-1185: Add remove by regular expression methods in
> StringUtils.
> >>>>> +o LANG-1139: Add replace by regular expression methods in
> StringUtils.
> >>>>> +o LANG-1171: Add compare methods in StringUtils.
> >>>>> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
> >>>>> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks to
> >>>>> +             Gary Gregory.
> >>>>> +o LANG-1149: Ability to throw checked exceptions without declaring
> >>>> them. Thanks
> >>>>> +             to Gregory Zak.
> >>>>> +o LANG-1153: Implement ParsePosition api for FastDateParser.
> >>>>> +o LANG-1137: Add check for duplicate event listener in
> >>>> EventListenerSupport.
> >>>>> +             Thanks to Matthew Aguirre.
> >>>>> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
> >>>>> +             Eduardo Martins.
> >>>>> +o LANG-1132: ReflectionToStringBuilder doesn't throw
> >>>> IllegalArgumentException
> >>>>> +             when the constructor's object param is null. Thanks to
> >>>> Jack Tan.
> >>>>> +o LANG-701:  StringUtils join with var args. Thanks to James Sawle.
> >>>>> +o LANG-1105: Add ThreadUtils - A utility class which provides helper
> >>>> methods
> >>>>> +             related to java.lang.Thread  Issue: LANG-1105. Thanks
> to
> >>>>> +             Hendrik Saly.
> >>>>> +o LANG-1031: Add annotations to exclude fields from
> >>>> ReflectionEqualsBuilder,
> >>>>> +             ReflectionToStringBuilder and
> ReflectionHashCodeBuilder.
> >>>> Thanks
> >>>>> +             to Felipe Adorno.
> >>>>> +o LANG-1127: Use JUnit rules to set and reset the default Locale and
> >>>> TimeZone.
> >>>>> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks
> to
> >>>>> +             Loic Guibert.
> >>>>> +o LANG-1099: Add swap and shift operations for arrays to ArrayUtils.
> >>>> Thanks to
> >>>>> +             Adrian Ber.
> >>>>> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to James
> >>>> Sawle.
> >>>>> +o LANG-1074: Add a method to ArrayUtils for removing all occurrences
> >> of
> >>>> a given
> >>>>> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
> >>>>> +
> >>>>> +FIXED BUGS
> >>>>> +============
> >>>>> +
> >>>>> +o LANG-1261: ArrayUtils.contains returns false for instances of
> >>>> subtypes.
> >>>>> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better
> >> reflect
> >>>>> +             createNumber. Also, accommodated for "+" symbol as
> prefix
> >>>> in
> >>>>> +             isCreatable and isNumber. Thanks to Rob Tompkins.
> >>>>> +o LANG-1230: Remove unnecessary synchronization from registry lookup
> >> in
> >>>>> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
> >>>> Marschall.
> >>>>> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to Henry
> >>>> Tung.
> >>>>> +o LANG-1250: SerializationUtils#deserialize has unnecessary code
> and a
> >>>> comment
> >>>>> +             for that. Thanks to Glease Wang.
> >>>>> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException when
> >>>> fromType
> >>>>> +             has type variables and toType generic superclass
> >> specifies
> >>>> type
> >>>>> +             variable. Thanks to Pascal Schumacher.
> >>>>> +o LANG-1226: StringUtils#normalizeSpace does not trim the string
> >>>> anymore.
> >>>>> +             Thanks to Pascal Schumacher.
> >>>>> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
> >>>> should use
> >>>>> +             static initializer to initialize primitiveTypes map.
> >>>> Thanks to
> >>>>> +             Takuya Ueshin.
> >>>>> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks to
> >>>>> +             Benoit Wiart.
> >>>>> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(
> String).
> >>>> Thanks to
> >>>>> +             Nick Manley.
> >>>>> +o LANG-1199: Fix implementation of StringUtils.
> >> getJaroWinklerDistance().
> >>>> Thanks
> >>>>> +             to M. Steiger.
> >>>>> +o LANG-1244: Fix dead links in StringUtils.getLevenshteinDistance()
> >>>> javadoc.
> >>>>> +             Thanks to jjbankert.
> >>>>> +o LANG-1242: "\u2284":"?" mapping missing from
> >>>>> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
> >>>> Stewart.
> >>>>> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case
> sensitive
> >> -
> >>>>> +             documented as case insensitive. Thanks to Matthew
> >>>> Bartenschlag.
> >>>>> +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 "Å‚".
> >>>>> +             Thanks to kaching88.
> >>>>> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
> >>>>> +             NumberUtils.isNumber(). Thanks to pbrose.
> >>>>> +o LANG-1222: Fix for incorrect comment on
> >> StringUtils.containsIgnoreCase
> >>>>> +             method. Thanks to Adam J.
> >>>>> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
> >>>> Templier.
> >>>>> +o LANG-1202: parseDateStrictly does't pass specified locale. Thanks
> to
> >>>>> +             Markus Jelsma.
> >>>>> +o LANG-1219: FastDateFormat doesn't respect summer daylight in some
> >>>> localized
> >>>>> +             strings. Thanks to Jarek.
> >>>>> +o LANG-1175: Remove Ant-based build.
> >>>>> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
> >>>>> +o LANG-1186: Fix NullPointerException in FastDateParser$
> >>>> TimeZoneStrategy.
> >>>>> +             Thanks to NickManley.
> >>>>> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer
> of
> >> -1
> >>>>> +             (correct answer should be 0); revert fix for LANG-1077.
> >>>> Thanks to
> >>>>> +             Qin Li.
> >>>>> +o LANG-1002: Several predefined ISO FastDateFormats in
> DateFormatUtils
> >>>> are
> >>>>> +             incorrect. Thanks to Michael Osipov.
> >>>>> +o LANG-1152: StringIndexOutOfBoundsException or field over-write
> for
> >>>> large year
> >>>>> +             fields in FastDateParser. Thanks to Pas Filip.
> >>>>> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts on
> >>>> changes on
> >>>>> +             system properties.
> >>>>> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values
> Enum.
> >>>> Thanks
> >>>>> +             to Loic Guibert.
> >>>>> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin Casey.
> >>>>> +o LANG-1122: Inconsistent behavior of swap for malformed inputs.
> >> Thanks
> >>>> to
> >>>>> +             Adrian Ber.
> >>>>> +o LANG-1130: Fix critical issues reported by SonarQube.
> >>>>> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
> >>>> inputs.
> >>>>> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
> >>>> correctly.
> >>>>> +             Thanks to Jack Tan.
> >>>>> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default
> >> Locale.
> >>>>> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a timezone
> >>>> set.
> >>>>> +             Thanks to Christian P. Momon.
> >>>>> +o LANG-916:  DateFormatUtils.format does not correctly change
> Calendar
> >>>>> +             TimeZone in certain situations. Thanks to Christian P.
> >>>> Momon.
> >>>>> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones.
> >> Thanks
> >>>> to
> >>>>> +             Aaron Sheldon.
> >>>>> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
> >>>> wildcard
> >>>>> +             types. Thanks to Andy Coates.
> >>>>> +o LANG-1118: StringUtils.repeat('z', -1) throws
> >>>> NegativeArraySizeException.
> >>>>> +             Thanks to Loic Guibert.
> >>>>> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
> >>>>> +o LANG-1162: StringUtils#equals fails with Index OOBE on non-Strings
> >>>> with
> >>>>> +             identical leading prefix..
> >>>>> +o LANG-1163: There are no tests for CharSequenceUtils.
> regionMatches.
> >>>>> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
> >>>> BarkZhang.
> >>>>> +o LANG-1191: Incorrect Javadoc
> >>>>> +             StringUtils.containsAny(CharSequence,
> CharSequence...).
> >>>> Thanks to
> >>>>> +             qed, Brent Worden and Gary Gregory.
> >>>>> +
> >>>>> +CHANGES
> >>>>> +=========
> >>>>> +o LANG-1197: Prepare Java 9 detection.
> >>>>> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
> >>>> method is too
> >>>>> +             big to be inlined. Thanks to Ruslan Cheremin.
> >>>>> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
> >>>> misleading. Thanks
> >>>>> +             to Dominik Stadler.
> >>>>> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks to
> >>>>> +             Benoit Wiart.
> >>>>> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to be
> >>>> inlined,
> >>>>> +             which prevents whole builder to be scalarized. Thanks
> to
> >>>>> +             Ruslan Cheremin.
> >>>>> +o LANG-1243: Simplify ArrayUtils removeElements by using new
> >>>> decrementAndGet()
> >>>>> +             method.
> >>>>> +o LANG-1240: Optimize BitField constructor implementation. Thanks to
> >>>> zhanhb.
> >>>>> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
> >>>>> +             Mohammed Alfallaj.
> >>>>> +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.
> >>>>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.
> >>>> Thanks to
> >>>>> +             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.
> >>>>> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc. Thanks
> to
> >>>>> +             Matthias Niehoff.
> >>>>> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel
> >> Karp.
> >>>>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks to
> >>>>> +             Larry West and Pascal Schumacher.
> >>>>> +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.
> >>>>> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
> >>>>> +             SystemUtils.PATH_SEPARATOR.
> >>>>> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format
> >> descriptor
> >>>> for
> >>>>> +             "invalid number of type parameters". Thanks to Bruno P.
> >>>> Kinoshita.
> >>>>> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due
> to
> >>>> being
> >>>>> +             package-private.
> >>>>> +o LANG-1058: StringUtils.uncapitalize performance improvement.
> Thanks
> >> to
> >>>>> +             Leo Wang.
> >>>>> +o LANG-1069: CharSet.getInstance documentation does not clearly
> >> explain
> >>>> how
> >>>>> +             to include negation character in set. Thanks to Arno
> >>>> Noordover.
> >>>>> +o LANG-1107: Fix parsing edge cases in FastDateParser.
> >>>>> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
> >>>> SystemUtils. Thanks
> >>>>> +             to Jake Wang.
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.4
> >>>>> +
> >>>>> +
> >>>>> +COMPATIBILITY
> >>>>> +=============
> >>>>> +
> >>>>> +Commons Lang 3.4 is fully binary compatible to the last release and
> >> can
> >>>>> +therefore be used as a drop in replacement for 3.3.2. Note that the
> >>>> value of
> >>>>> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
> >>>> EXTENDED_FORMAT_PATTERN
> >>>>> +has changed, which may affect clients using the constant.
> Furthermore
> >>>> the
> >>>>> +constant is used internally in
> >>>>> +o DurationFormatUtils.formatDurationISO(long)
> >>>>> +o DurationFormatUtils.formatPeriodISO(long, long)
> >>>>> +
> >>>>> +For more information see https://issues.apache.org/
> >>>> jira/browse/LANG-1000.
> >>>>> +
> >>>>> +NEW FEATURES
> >>>>> +==============
> >>>>> +
> >>>>> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
> >>>> Kockert.
> >>>>> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
> >>>>> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to Fabian
> >>>> Lange.
> >>>>> +o LANG-1082: Add option to disable the "objectsTriviallyEqual" test
> in
> >>>>> +             DiffBuilder. Thanks to Jonathan Baker.
> >>>>> +o LANG-1015: Add JsonToStringStyle implementation to ToStringStyle.
> >>>> Thanks to
> >>>>> +             Thiago Andrade.
> >>>>> +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-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.
> >>>>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
> >>>>> +             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
> >>>>> +             Mikhail Mazursky.
> >>>>> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
> >>>>> +             Mikhail Mazursky.
> >>>>> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object,
> String)
> >>>>> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
> >>>>> +
> >>>>> +FIXED BUGS
> >>>>> +============
> >>>>> +
> >>>>> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
> >>>> Thanks to
> >>>>> +             Timo Kockert.
> >>>>> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
> >>>>> +o LANG-948:  Exception while using ExtendedMessageFormat and
> escaping
> >>>> braces.
> >>>>> +             Thanks to Andrey Khobnya.
> >>>>> +o LANG-1092: Wrong formating of time zones with daylight saving time
> >> in
> >>>>> +             FastDatePrinter
> >>>>> +o LANG-1090: FastDateParser does not set error indication in
> >>>> ParsePosition
> >>>>> +o LANG-1089: FastDateParser does not handle excess hours as per
> >>>>> +             SimpleDateFormat
> >>>>> +o LANG-1061: FastDateParser error - timezones not handled correctly.
> >>>> Thanks to
> >>>>> +             dmeneses.
> >>>>> +o LANG-1087: NumberUtils#createNumber() returns positive BigDecimal
> >> when
> >>>>> +             negative Float is expected. Thanks to Renat Zhilkibaev.
> >>>>> +o LANG-1081: DiffBuilder.append(String, Object left, Object right)
> >> does
> >>>> not do
> >>>>> +             a left.equals(right) check. Thanks to Jonathan Baker.
> >>>>> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
> >>>> consistently.
> >>>>> +             Thanks to Jonathan Baker.
> >>>>> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK.
> >> Thanks
> >>>> to
> >>>>> +             Jonathan Baker.
> >>>>> +o LANG-1073: Read wrong component type of array in add in
> ArrayUtils.
> >>>>> +             Thanks to haiyang li.
> >>>>> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in
> >>>> StringUtils.
> >>>>> +             Thanks to haiyang li.
> >>>>> +o LANG-1072: Duplicated "0x" check in createBigInteger in
> NumberUtils.
> >>>> Thanks
> >>>>> +             to haiyang li.
> >>>>> +o LANG-1064: StringUtils.abbreviate description doesn't agree with
> the
> >>>>> +             examples. Thanks to B.J. Herbison.
> >>>>> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK method
> >>>> ordering.
> >>>>> +             Thanks to Alexandre Bartel.
> >>>>> +o LANG-1000: ParseException when trying to parse UTC dates with Z as
> >>>> zone
> >>>>> +             designator using DateFormatUtils.ISO_DATETIME_
> >>>> TIME_ZONE_FORMAT
> >>>>> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is
> unclear
> >>>>> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks to
> >>>>> +             Michael Osipov.
> >>>>> +o LANG-1088: FastDateParser should be case insensitive
> >>>>> +o LANG-995:  Fix bug with stripping spaces on last line in
> >>>> WordUtils.wrap().
> >>>>> +             Thanks to Andrey Khobnya.
> >>>>> +
> >>>>> +CHANGES
> >>>>> +=========
> >>>>> +
> >>>>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils
> >> smarter
> >>>>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
> >>>> Lange.
> >>>>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
> >>>>> +o LANG-1100: Avoid memory allocation when using date formating to
> >>>> StringBuffer.
> >>>>> +             Thanks to mbracher.
> >>>>> +o LANG-935:  Possible performance improvement on string escape
> >>>> functions.
> >>>>> +             Thanks to Fabian Lange, Thomas Neidhart.
> >>>>> +o LANG-1098: Avoid String allocation in StrBuilder.append(
> >> CharSequence).
> >>>> Thanks
> >>>>> +             to Mikhail Mazurskiy, Fabian Lange.
> >>>>> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to
> Micha?
> >>>> Kordas.
> >>>>> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to Micha?
> >>>> Kordas.
> >>>>> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha?
> Kordas.
> >>>>> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha?
> >> Kordas.
> >>>>> +o LANG-877:  Performance improvements for StringEscapeUtils. Thanks
> to
> >>>>> +             Fabian Lange.
> >>>>> +o LANG-1071: Fix wrong examples in JavaDoc of
> >>>>> +             StringUtils.replaceEachRepeatedly(...),
> >>>>> +             StringUtils.replaceEach(...) Thanks to Arno Noordover.
> >>>>> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
> >>>> fields it
> >>>>> +             uses in performing comparisons
> >>>>> +o LANG-1020: Improve performance of normalize space. Thanks to Libor
> >>>> Ondrusek.
> >>>>> +o LANG-1027: org.apache.commons.lang3.SystemUtils#
> >> isJavaVersionAtLeast
> >>>> should
> >>>>> +             return true by default
> >>>>> +o LANG-1026: Bring static method references in StringUtils to
> >>>> consistent style.
> >>>>> +             Thanks to Alex Yursha.
> >>>>> +o LANG-1017: Use non-ASCII digits in Javadoc examples for
> >>>>> +             StringUtils.isNumeric. Thanks to Christoph Schneegans.
> >>>>> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils
> from
> >>>> array
> >>>>> +             input parameters to varargs. Thanks to Thiago Andrade.
> >>>>> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks
> to
> >>>>> +             Thiago Andrade.
> >>>>> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
> >>>> pattern to
> >>>>> +             match #formatDurationHMS. Thanks to Michael Osipov.
> >>>>> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
> >>>> Thanks to
> >>>>> +             Thiago Andrade.
> >>>>> +o LANG-731:  Better Javadoc for BitField class
> >>>>> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation
> >> does
> >>>> not
> >>>>> +             correspond to Javadoc and vice versa. Thanks to Michael
> >>>> Osipov.
> >>>>> +o LANG-1003: DurationFormatUtils are not able to handle negative
> >>>>> +             durations/periods
> >>>>> +o LANG-998:  Javadoc is not clear on preferred pattern to
> instantiate
> >>>>> +             FastDateParser / FastDatePrinter
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.3.2
> >>>>> +
> >>>>> +NEW FEATURES
> >>>>> +==============
> >>>>> +
> >>>>> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
> >>>>> +
> >>>>> +FIXED BUGS
> >>>>> +============
> >>>>> +
> >>>>> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0",
> "0.4790",
> >>>> et al
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.3.1
> >>>>> +
> >>>>> +FIXED BUGS
> >>>>> +============
> >>>>> +
> >>>>> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH)
> >> returns
> >>>> wrong
> >>>>> +             days
> >>>>> +o LANG-983:  DurationFormatUtils does not describe format string
> fully
> >>>>> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched
> quote
> >>>> char
> >>>>> +o LANG-984:  DurationFormatUtils does not handle large durations
> >>>> correctly
> >>>>> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS") -
> ms
> >>>> field
> >>>>> +             size should be 4 digits
> >>>>> +o LANG-978:  Failing tests with Java 8 b128
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.3
> >>>>> +
> >>>>> +NEW FEATURES
> >>>>> +==============
> >>>>> +
> >>>>> +o LANG-955:  Add methods for removing all invalid characters
> according
> >>>> to
> >>>>> +             XML 1.0 and XML 1.1 in an input string to
> >>>> StringEscapeUtils.
> >>>>> +             Thanks to Adam Hooper.
> >>>>> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
> >>>>> +o LANG-962:  Add SerializationUtils.roundtrip(T extends
> Serializable)
> >> to
> >>>>> +             serialize then deserialize
> >>>>> +o LANG-637:  There should be a DifferenceBuilder with a
> >>>>> +             ReflectionDifferenceBuilder implementation
> >>>>> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
> >>>> StringUtils.
> >>>>> +             Thanks to Rekha Joshi.
> >>>>> +o LANG-417:  New class ClassPathUtils with methods for turning FQN
> >> into
> >>>>> +             resource path
> >>>>> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
> >>>> overloads
> >>>>> +             for primitive types
> >>>>> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
> >>>>> +o LANG-966:  Add IBM OS/400 detection
> >>>>> +
> >>>>> +FIXED BUGS
> >>>>> +============
> >>>>> +
> >>>>> +o LANG-621:  ReflectionToStringBuilder.toString does not debug 3rd
> >>>> party object
> >>>>> +             fields within 3rd party object. Thanks to Philip
> Hodges,
> >>>>> +             Thomas Neidhart.
> >>>>> +o LANG-977:  NumericEntityEscaper incorrectly encodes supplementary
> >>>> characters.
> >>>>> +             Thanks to Chris Karcher.
> >>>>> +o LANG-973:  Make some private fields final
> >>>>> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid
> >> Octal
> >>>> numbers
> >>>>> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
> >>>>> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset)
> needlessly
> >>>> throws
> >>>>> +             UnsupportedEncodingException. Thanks to Matt Bishop.
> >>>>> +o LANG-946:  ConstantInitializerTest fails when building with IBM
> JDK
> >> 7
> >>>>> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
> >>>> Android.
> >>>>> +             Thanks to Michael Keppler.
> >>>>> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
> >>>> threshold
> >>>>> +             returns wrong result. Thanks to Yaniv Kunda, Eli
> Lindsey.
> >>>>> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails in
> >>>>> +             JDK 1.6, 1.7 and 1.8, BRST time zone
> >>>>> +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.
> >>>>> +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.
> >>>>> +
> >>>>> +CHANGES
> >>>>> +=========
> >>>>> +
> >>>>> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
> >>>> removeFinalModifier(Field)
> >>>>> +             does not clean up after itself
> >>>>> +o LANG-958:  FastDateParser javadoc incorrectly states that
> >>>> SimpleDateFormat
> >>>>> +             is used internally
> >>>>> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
> >>>>> +o LANG-939:  Move Documentation from user guide to package-info
> files
> >>>>> +o LANG-953:  Convert package.html files to package-info.java files
> >>>>> +o LANG-940:  Fix deprecation warnings
> >>>>> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.2.1
> >>>>> +
> >>>>> +BUG FIXES
> >>>>> +===========
> >>>>> +
> >>>>> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
> >>>>> +o LANG-941:  Test failure in LocaleUtilsTest when building with JDK
> 8
> >>>>> +o LANG-942:  Test failure in FastDateParserTest and
> >>>> FastDateFormat_ParserTest
> >>>>> +             when building with JDK8. Thanks to Bruno P. Kinoshita,
> >>>>> +             Henri Yandell.
> >>>>> +o LANG-938:  Build fails with test failures when building with JDK 8
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.2
> >>>>> +
> >>>>> +COMPATIBILITY WITH 3.1
> >>>>> +========================
> >>>>> +
> >>>>> +This release introduces backwards incompatible changes in
> >>>>> +org.apache.commons.lang3.time.FastDateFormat:
> >>>>> +o Method 'protected java.util.List parsePattern()' has been removed
> >>>>> +o Method 'protected java.lang.String parseToken(java.lang.String,
> >>>> int[])' has
> >>>>> +  been removed
> >>>>> +o Method 'protected org.apache.commons.lang3.time.
> >>>> FastDateFormat$NumberRule
> >>>>> +  selectNumberRule(int, int)' has been removed
> >>>>> +
> >>>>> +These changes were the result of [LANG-462]. It is assumed that this
> >>>> change
> >>>>> +will not break clients as Charles Honton pointed out on 25/Jan/12:
> >>>>> +"
> >>>>> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)"
> and
> >>>>> +    "List<Rule> parsePattern()" couldn't have been overridden
> because
> >>>>> +    NumberRule and Rule were private to FastDateFormat.
> >>>>> + 2. Due to the factory pattern used, it's unlikely other two methods
> >>>> would have
> >>>>> +    been overridden.
> >>>>> + 3. The four methods are highly implementation specific. I consider
> >> it a
> >>>>> +    mistake that the methods were exposed.
> >>>>> +"
> >>>>> +For more information see https://issues.apache.org/
> >> jira/browse/LANG-462
> >>>> .
> >>>>> +
> >>>>> +NEW FEATURES
> >>>>> +==============
> >>>>> +
> >>>>> +o LANG-934:  Add removeFinalModifier to FieldUtils
> >>>>> +o LANG-863:  Method returns number of inheritance hops between
> parent
> >>>> and
> >>>>> +             subclass. Thanks to Daneel S. Yaitskov.
> >>>>> +o LANG-774:  Added isStarted, isSuspended and isStopped to
> StopWatch.
> >>>>> +             Thanks to Erhan Bagdemir.
> >>>>> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence...
> >> methods.
> >>>>> +             Thanks to Alexander Muthmann.
> >>>>> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
> >>>>> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in
> favour
> >>>> of a new
> >>>>> +             StringUtils.toString(byte[], CharSet). Thanks to Aaron
> >>>> Digulla.
> >>>>> +o LANG-893:  StrSubstitutor now supports default values for
> variables.
> >>>>> +             Thanks to Woonsan Ko.
> >>>>> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
> >>>> Mureinik.
> >>>>> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
> >>>>> +             StringBuilder, StrBuilder, and Appendable.
> >>>>> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
> >>>>> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
> >>>>> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
> >>>> StringUtils.
> >>>>> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
> >>>>> +o LANG-873:  Add FieldUtils getAllFields() to return all the fields
> >>>> defined in
> >>>>> +             the given class and super classes.
> >>>>> +o LANG-835:  StrBuilder should support StringBuilder as an input
> >>>> parameter.
> >>>>> +o LANG-857:  StringIndexOutOfBoundsException in
> >> CharSequenceTranslator.
> >>>>> +o LANG-856:  Code refactoring in NumberUtils.
> >>>>> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex and
> >>>> octal
> >>>>> +             numbers.
> >>>>> +o LANG-854:  NumberUtils#createNumber - does not allow for hex
> numbers
> >>>> to be
> >>>>> +             larger than Long.
> >>>>> +o LANG-853:  StringUtils join APIs for primitives.
> >>>>> +o LANG-841:  Add StringUtils API to call String.replaceAll in DOTALL
> >>>> a.k.a.
> >>>>> +             single-line mode.
> >>>>> +o LANG-825:  Create StrBuilder APIs similar to
> >>>>> +             String.format(String, Object...).
> >>>>> +o LANG-675:  Add Triple class (ternary version of Pair).
> >>>>> +o LANG-462:  FastDateFormat supports parse methods.
> >>>>> +
> >>>>> +BUG FIXES
> >>>>> +===========
> >>>>> +
> >>>>> +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
> >>>>> +             elements are different.
> >>>>> +o LANG-917:  Fixed exception when combining custom and choice format
> >> in
> >>>>> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
> >>>>> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly
> >> promising
> >>>> letters
> >>>>> +             and numbers would, as opposed to may, appear  Issue:.
> >>>> Thanks to
> >>>>> +             Andrzej Winnicki.
> >>>>> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
> >>>>> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not
> >> updated.
> >>>> Thanks
> >>>>> +             to Mark Bryan Yu.
> >>>>> +o LANG-879:  LocaleUtils test fails with new Locale
> >>>> "ja_JP_JP_#u-ca-japanese"
> >>>>> +             of JDK7.
> >>>>> +o LANG-836:  StrSubstitutor does not support StringBuilder or
> >>>> CharSequence.
> >>>>> +             Thanks to Arnaud Brunet.
> >>>>> +o LANG-693:  Method createNumber from NumberUtils doesn't work for
> >>>> floating
> >>>>> +             point numbers other than Float  Issue: LANG-693. Thanks
> >> to
> >>>>> +             Calvin Echols.
> >>>>> +o LANG-887:  FastDateFormat does not use the locale specific cache
> >>>> correctly.
> >>>>> +o LANG-754:  ClassUtils.getShortName(String) will now only do a
> >>>> reverse lookup
> >>>>> +             for array types.
> >>>>> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not
> work
> >>>> for octal
> >>>>> +             numbers.
> >>>>> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting
> with
> >>>> an
> >>>>> +             underscore.
> >>>>> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript()
> do
> >>>> not
> >>>>> +             output the escaped surrogate pairs that are Java
> >> parsable.
> >>>>> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date
> objects
> >>>>> +             wastefully.
> >>>>> +o LANG-845:  Spelling fixes.
> >>>>> +o LANG-844:  Fix examples contained in javadoc of StringUtils.center
> >>>> methods.
> >>>>> +o LANG-832:  FastDateParser does not handle unterminated quotes
> >>>> correctly.
> >>>>> +o LANG-831:  FastDateParser does not handle white-space properly.
> >>>>> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
> >>>>> +o LANG-828:  FastDateParser does not handle non-Gregorian calendars
> >>>> properly.
> >>>>> +o LANG-826:  FastDateParser does not handle non-ASCII digits
> >> correctly.
> >>>>> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading
> >> "--".
> >>>>> +o LANG-818:  FastDateFormat's "z" pattern does not respect timezone
> of
> >>>> Calendar
> >>>>> +             instances passed to format().
> >>>>> +o LANG-817:  Add org.apache.commons.lang3.
> >> SystemUtils.IS_OS_WINDOWS_8.
> >>>>> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string
> >> reference
> >>>>> +             equality.
> >>>>> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
> >>>>> +o LANG-807:  RandomStringUtils throws confusing IAE when end <=
> start.
> >>>>> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
> >>>> universe,
> >>>>> +             random) always throws java.lang.
> >>>> ArrayIndexOutOfBoundsException.
> >>>>> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
> >>>> class.
> >>>>> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and
> Object
> >>>> versions.
> >>>>> +o LANG-788:  SerializationUtils throws ClassNotFoundException when
> >>>> cloning
> >>>>> +             primitive classes.
> >>>>> +o LANG-786:  StringUtils equals() relies on undefined behavior.
> >>>>> +o LANG-783:  Documentation bug: StringUtils.split.
> >>>>> +o LANG-777:  jar contains velocity template of release notes.
> >>>>> +o LANG-776:  TypeUtilsTest contains incorrect type assignability
> >>>> assertion.
> >>>>> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments for
> >>>>> +             partially-assigned classes.
> >>>>> +o LANG-773:  ImmutablePair doc contains nonsense text.
> >>>>> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage
> >> text.
> >>>>> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no longer
> >>>> defines
> >>>>> +             serialVersionUID.
> >>>>> +o LANG-764:  StrBuilder is now serializable.
> >>>>> +o LANG-761:  Fix Javadoc Ant warnings.
> >>>>> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
> >>>>> +o LANG-743:  Javadoc bug in static inner class DateIterator.
> >>>>> +
> >>>>> +CHANGES
> >>>>> +=========
> >>>>> +
> >>>>> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
> >>>> Thanks
> >>>>> +             to Christoph Schneegans.
> >>>>> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking
> >> spaces
> >>>>> +             (Unicode 00A0). Thanks to Timur Yarosh.
> >>>>> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor.
> Thanks
> >> to
> >>>>> +             Allon Mureinik.
> >>>>> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
> >>>>> +o LANG-882:  LookupTranslator now works with implementations of
> >>>> CharSequence
> >>>>> +             other than String.
> >>>>> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a proper
> >>>> green
> >>>>> +             implementation instead of inefficiently converting to
> >>>> Strings.
> >>>>> +o LANG-839:  ArrayUtils removeElements methods use unnecessary
> >> HashSet.
> >>>>> +o LANG-838:  ArrayUtils removeElements methods clone temporary index
> >>>> arrays
> >>>>> +             unnecessarily.
> >>>>> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
> >>>> support.
> >>>>> +o LANG-798:  Use generics in SerializationUtils.
> >>>>> +
> >>>>> +CHANGES WITHOUT TICKET
> >>>>> +========================
> >>>>> +
> >>>>> +o Fixed URLs in javadoc to point to new oracle.com pages
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.1
> >>>>> +
> >>>>> +NEW FEATURES
> >>>>> +==============
> >>>>> +
> >>>>> +o LANG-801:  Add Conversion utility to convert between data types on
> >>>> byte level
> >>>>> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
> >>>> charsetName)
> >>>>> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
> >>>>> +             isPrimitiveOrWrapper(Class<?>)
> >>>>> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a
> >> Unix
> >>>> system
> >>>>> +
> >>>>> +BUG FIXES
> >>>>> +===========
> >>>>> +
> >>>>> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
> >>>>> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and -0X
> >>>>> +o LANG-744:  StringUtils throws java.security.
> AccessControlException
> >>>> on Google
> >>>>> +             App Engine
> >>>>> +o LANG-741:  Ant build has wrong component.name
> >>>>> +o LANG-698:  Document that the Mutable numbers don't work as
> expected
> >>>> with
> >>>>> +             String.format
> >>>>> +
> >>>>> +CHANGES
> >>>>> +=========
> >>>>> +
> >>>>> +o LANG-758:  Add an example with whitespace in
> >>>> StringUtils.defaultIfEmpty
> >>>>> +o LANG-752:  Fix createLong() so it behaves like createInteger()
> >>>>> +o LANG-751:  Include the actual type in the Validate.isInstance and
> >>>>> +             isAssignableFrom exception messages
> >>>>> +o LANG-748:  Deprecating chomp(String, String)
> >>>>> +o LANG-736:  CharUtils static final array CHAR_STRING is not needed
> to
> >>>> compute
> >>>>> +             CHAR_STRING_ARRAY
> >>>>> +
> >>>>> +===========================================================
> >>>> ==================
> >>>>> +
> >>>>> +                        Release Notes for version 3.0
> >>>>> +
> >>>>> +ADDITIONS
> >>>>> +===========
> >>>>> +
> >>>>> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
> >>>>> +o LANG-285:  Wish : method unaccent.
> >>>>> +o LANG-358:  ObjectUtils.coalesce.
> >>>>> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
> >>>> necessary.
> >>>>> +o LANG-435:  Add ClassUtils.isAssignable() variants with autoboxing.
> >>>>> +o LANG-444:  StringUtils.emptyToNull.
> >>>>> +o LANG-482:  Enhance StrSubstitutor to support nested
> ${var-${subvr}}
> >>>> expansion
> >>>>> +o LANG-482:  StrSubstitutor now supports substitution in variable
> >> names.
> >>>>> +o LANG-496:  A generic implementation of the Lazy initialization
> >>>> pattern.
> >>>>> +o LANG-497:  Addition of ContextedException and
> >>>> ContextedRuntimeException.
> >>>>> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
> >>>>> +o LANG-499:  Add support for the handling of ExecutionExceptions.
> >>>>> +o LANG-501:  Add support for background initialization.
> >>>>> +o LANG-529:  Add a concurrent package.
> >>>>> +o LANG-533:  Validate: support for validating blank strings.
> >>>>> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
> >>>>> +o LANG-545:  Add ability to create a Future for a constant.
> >>>>> +o LANG-546:  Add methods to Validate to check whether the index is
> >>>> valid for
> >>>>> +             the array/list/string.
> >>>>> +o LANG-553:  Add TypeUtils class to provide utility code for working
> >>>> with generic
> >>>>> +             types.
> >>>>> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation
> >> methods.
> >>>>> +o LANG-559:  Added validState validation method.
> >>>>> +o LANG-560:  New TimedSemaphore class.
> >>>>> +o LANG-582:  Provide an implementation of the ThreadFactory
> interface.
> >>>>> +o LANG-588:  Create a basic Pair<L, R> class.
> >>>>> +o LANG-594:  DateUtils equal & compare functions up to most
> >> significant
> >>>> field.
> >>>>> +o LANG-601:  Add Builder Interface / Update Builders to Implement
> It.
> >>>>> +o LANG-609:  Support lazy initialization using atomic variables
> >>>>> +o LANG-610:  Extend exception handling in ConcurrentUtils to runtime
> >>>> exceptions.
> >>>>> +o LANG-614:  StringUtils.endsWithAny method
> >>>>> +o LANG-640:  Add normalizeSpace to StringUtils
> >>>>> +o LANG-644:  Provide documentation about the new concurrent package
> >>>>> +o LANG-649:  BooleanUtils.toBooleanObject to support single
> character
> >>>> input
> >>>>> +o LANG-651:  Add AnnotationUtils
> >>>>> +o LANG-653:  Provide a very basic ConcurrentInitializer
> implementation
> >>>>> +o LANG-655:  Add StringUtils.defaultIfBlank()
> >>>>> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
> >>>>> +o LANG-676:  Documented potential NPE if auto-boxing occurs for some
> >>>> BooleanUtils
> >>>>> +             methods
> >>>>> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
> >>>>> +o LANG-692:  Add hashCodeMulti varargs method
> >>>>> +o LANG-697:  Add FormattableUtils class
> >>>>> +o LANG-684:  Levenshtein Distance Within a Given Threshold
> >>>>> +
> >>>>> +REMOVALS
> >>>>> +==========
> >>>>> +
> >>>>> +o LANG-438:  Remove @deprecateds.
> >>>>> +o LANG-492:  Remove code handled now by the JDK.
> >>>>> +o LANG-493:  Remove code that does not hold enough value to remain.
> >>>>> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
> >>>>> +             StringUtils.indexOf(String, String, int).
> >>>>> +o LANG-673:  WordUtils.abbreviate() removed
> >>>>> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
> >>>>> +
> >>>>> +IMPROVEMENTS
> >>>>> +==============
> >>>>> +
> >>>>> +o LANG-290:  EnumUtils for JDK 5.0.
> >>>>> +o LANG-336:  Finally start using generics.
> >>>>> +o LANG-355:  StrBuilder should implement CharSequence and
> Appendable.
> >>>>> +o LANG-396:  Investigate for vararg usages.
> >>>>> +o LANG-424:  Improve Javadoc for StringUtils class.
> >>>>> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
> >>>>> +o LANG-479:  Document where in SVN trunk is.
> >>>>> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
> >>>>> +o LANG-505:  Rewrite StringEscapeUtils.
> >>>>> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+
> >> notation.
> >>>>> +o LANG-510:  Convert StringUtils API to take CharSequence.
> >>>>> +o LANG-513:  Better EnumUtils.
> >>>>> +o LANG-528:  Mutable classes should implement an appropriately typed
> >>>> Mutable
> >>>>> +             interface.
> >>>>> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
> >>>>> +o LANG-540:  Make NumericEntityEscaper immutable.
> >>>>> +o LANG-541:  Replace StringBuffer with StringBuilder.
> >>>>> +o LANG-548:  Use Iterable on API instead of Collection.
> >>>>> +o LANG-551:  Replace Range classes with generic version.
> >>>>> +o LANG-562:  Change Maven groupId.
> >>>>> +o LANG-563:  Change Java package name.
> >>>>> +o LANG-570:  Do the test cases really still require main() and
> suite()
> >>>> methods?
> >>>>> +o LANG-579:  Add new Validate methods.
> >>>>> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
> >>>> Separators.
> >>>>> +o LANG-605:  DefaultExceptionContext overwrites values in recursive
> >>>> situations.
> >>>>> +o LANG-668:  Change ObjectUtils min() & max() functions to use
> varargs
> >>>> rather
> >>>>> +             than just two parameters
> >>>>> +o LANG-681:  Push down WordUtils to "text" sub-package.
> >>>>> +o LANG-711:  Add includeantruntime=false to javac targets to quell
> >>>> warnings in
> >>>>> +             ant 1.8.1 and better (and modest performance gain).
> >>>>> +o LANG-713:  Increase test coverage of FieldUtils read methods and
> >> tweak
> >>>>> +             javadoc.
> >>>>> +o LANG-718:  build.xml Java 1.5+ updates.
> >>>>> +
> >>>>> +BUG FIXES
> >>>>> +===========
> >>>>> +
> >>>>> +o LANG-11:   Depend on JDK 1.5+.
> >>>>> +o LANG-302:  StrBuilder does not implement clone().
> >>>>> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
> >>>> characters like
> >>>>> +             Chinese, Japanese, etc.
> >>>>> +o LANG-369:  ExceptionUtils not thread-safe.
> >>>>> +o LANG-418:  Javadoc incorrect for StringUtils.endsWithIgnoreCase.
> >>>>> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
> >>>> return false
> >>>>> +             for ""
> >>>>> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
> >>>> (0x00-0x20).
> >>>>> +o LANG-448:  Lower Ascii Characters don't get encoded by
> >> Entities.java.
> >>>>> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393
> >> (EqualsBuilder).
> >>>>> +o LANG-474:  Fixes for thread safety.
> >>>>> +o LANG-478:  StopWatch does not resist to system time changes.
> >>>>> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts
> unicode
> >>>>> +             characters above U+00FFFF into 2 characters.
> >>>>> +o LANG-481:  Possible race-conditions in hashCode of the range
> >> classes.
> >>>>> +o LANG-564:  Improve StrLookup API documentation.
> >>>>> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
> >>>>> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create
> >> unexpected
> >>>>> +             ClassCastException.
> >>>>> +o LANG-585:  exception.DefaultExceptionContext.
> >>>> getFormattedExceptionMessage
> >>>>> +             catches Throwable.
> >>>>> +o LANG-596:  StrSubstitutor should also handle the default
> properties
> >>>> of a
> >>>>> +             java.util.Properties class
> >>>>> +o LANG-600:  Javadoc is incorrect for public static int
> >>>>> +             lastIndexOf(String str, String searchStr).
> >>>>> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
> >>>> exception.
> >>>>> +o LANG-606:  EqualsBuilder causes StackOverflowException.
> >>>>> +o LANG-608:  Some StringUtils methods should take an int character
> >>>> instead of
> >>>>> +             char to use String API features.
> >>>>> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
> >>>> supplementary
> >>>>> +             characters
> >>>>> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
> >>>>> +             StringIndexOutOfBoundsException on Android
> >> runtime/Dalvik
> >>>> VM
> >>>>> +o LANG-629:  Charset may not be threadsafe, because the HashSet is
> not
> >>>> synch.
> >>>>> +o LANG-638:  NumberUtils createNumber throws a
> >>>> StringIndexOutOfBoundsException
> >>>>> +             when argument containing "e" and "E" is passed in
> >>>>> +o LANG-643:  Javadoc StringUtils.left() claims to throw on negative
> >>>> len, but
> >>>>> +             doesn't
> >>>>> +o LANG-645:  FastDateFormat.format() outputs incorrect week of year
> >>>> because
> >>>>> +             locale isn't respected
> >>>>> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
> >>>> escapes and
> >>>>> +             Unicode with extra u
> >>>>> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '') =
> 0
> >>>> incorrect
> >>>>> +o LANG-658:  Some Entitys like &Ouml; are not matched properly
> against
> >>>> its
> >>>>> +             ISO8859-1 representation
> >>>>> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus
> sign,
> >>>> U+2212
> >>>>> +             ISOtech
> >>>>> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
> >>>>> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not reduce
> >>>>> +             (Integer.MIN_VALUE, 2^k)
> >>>>> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not always
> >>>> succeed in
> >>>>> +             multiplyBy and divideBy
> >>>>> +o LANG-664:  NumberUtils.isNumber(String) is not right when the
> String
> >>>> is
> >>>>> +             "1.1L"
> >>>>> +o LANG-672:  Doc bug in DateUtils#ceiling
> >>>>> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour clock
> >> and
> >>>> not
> >>>>> +             24 hour
> >>>>> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
> >>>>> +o LANG-703:  StringUtils.join throws NPE when toString returns null
> >> for
> >>>> one of
> >>>>> +             objects in collection
> >>>>> +o LANG-710:  StringIndexOutOfBoundsException when calling
> >>>> unescapeHtml4("&#03")
> >>>>> +o LANG-714:  StringUtils doc/comment spelling fixes.
> >>>>> +o LANG-715:  CharSetUtils.squeeze() speedup.
> >>>>> +o LANG-716:  swapCase and *capitalize speedups.
> >>>>> +
> >>>>> +
> >>>>> +Historical list of changes: http://commons.apache.org/
> >>>> lang/changes-report.html
> >>>>> +
> >>>>> +For complete information on Commons Lang, including instructions on
> >> how
> >>>> to
> >>>>> +submit bug reports, patches, or suggestions for improvement, see the
> >>>>> +Apache Commons Lang website:
> >>>>> +
> >>>>> +http://commons.apache.org/lang/
> >>>>> +
> >>>>> +Have fun!
> >>>>> +-Apache Commons Lang team
> >>>>> +
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz
> >>>>> ============================================================
> >>>> ==================
> >>>>> Binary file - no diff available.
> >>>>>
> >>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz
> >>>>> ------------------------------------------------------------
> >>>> ------------------
> >>>>>  svn:mime-type = application/octet-stream
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.asc
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.asc
> >>>> (added)
> >>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.asc
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1,16 @@
> >>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>> +
> >>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
> >>>>> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
> >>>>> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
> >>>>> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
> >>>>> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
> >>>>> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
> >>>>> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
> >>>>> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
> >>>>> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
> >>>>> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
> >>>>> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
> >>>>> +=tjQB
> >>>>> +-----END PGP SIGNATURE-----
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.md5
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.md5
> >>>> (added)
> >>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.md5
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +fe7776aab25e229c9a5805c3ba82d219
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >>>> bin.tar.gz.sha1
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.sha1
> >>>> (added)
> >>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.sha1
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
> >>>>> ============================================================
> >>>> ==================
> >>>>> Binary file - no diff available.
> >>>>>
> >>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.zip
> >>>>> ------------------------------------------------------------
> >>>> ------------------
> >>>>>  svn:mime-type = application/octet-stream
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.zip.asc
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >>>> (added)
> >>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1,16 @@
> >>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>> +
> >>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
> >>>>> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
> >>>>> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
> >>>>> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
> >>>>> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
> >>>>> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
> >>>>> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
> >>>>> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
> >>>>> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
> >>>>> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
> >>>>> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
> >>>>> +=6Bjb
> >>>>> +-----END PGP SIGNATURE-----
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.zip.md5
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >>>> (added)
> >>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +3b8ee236a7105277427d305587a6c8dd
> >>>>>
> >>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.zip.sha1
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.sha1
> >>>> (added)
> >>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.sha1
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>
> >>>>> Added: dev/commons/lang/site.zip
> >>>>> ============================================================
> >>>> ==================
> >>>>> Binary file - no diff available.
> >>>>>
> >>>>> Propchange: dev/commons/lang/site.zip
> >>>>> ------------------------------------------------------------
> >>>> ------------------
> >>>>>  svn:mime-type = application/octet-stream
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> >>>>> ============================================================
> >>>> ==================
> >>>>> Binary file - no diff available.
> >>>>>
> >>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >>>> src.tar.gz
> >>>>> ------------------------------------------------------------
> >>>> ------------------
> >>>>>  svn:mime-type = application/octet-stream
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.asc
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.asc
> >>>> (added)
> >>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.asc
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1,16 @@
> >>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>> +
> >>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
> >>>>> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
> >>>>> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
> >>>>> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
> >>>>> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
> >>>>> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
> >>>>> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
> >>>>> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
> >>>>> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
> >>>>> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
> >>>>> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
> >>>>> +=8mS4
> >>>>> +-----END PGP SIGNATURE-----
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.md5
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.md5
> >>>> (added)
> >>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.md5
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +11b0a67eee0b856ee3629bdcfef35649
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >>>> src.tar.gz.sha1
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.sha1
> >>>> (added)
> >>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.sha1
> >>>> Thu Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> >>>>> ============================================================
> >>>> ==================
> >>>>> Binary file - no diff available.
> >>>>>
> >>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.zip
> >>>>> ------------------------------------------------------------
> >>>> ------------------
> >>>>>  svn:mime-type = application/octet-stream
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.zip.asc
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >>>> (added)
> >>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> Thu
> >>>> Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1,16 @@
> >>>>> +-----BEGIN PGP SIGNATURE-----
> >>>>> +
> >>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>>>> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
> >>>>> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
> >>>>> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
> >>>>> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
> >>>>> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
> >>>>> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
> >>>>> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
> >>>>> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
> >>>>> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
> >>>>> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
> >>>>> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
> >>>>> +=5+7f
> >>>>> +-----END PGP SIGNATURE-----
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.zip.md5
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >>>> (added)
> >>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> Thu
> >>>> Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +66d939d849bb560af8259d10156a58ec
> >>>>>
> >>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.zip.sha1
> >>>>> ============================================================
> >>>> ==================
> >>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >>>> (added)
> >>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >> Thu
> >>>> Jan  4 12:45:36 2018
> >>>>> @@ -0,0 +1 @@
> >>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >>>> For additional commands, e-mail: dev-help@commons.apache.org
> >>>>
> >>>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org <mailto:
> dev-unsubscribe@commons.apache.org>
> >> For additional commands, e-mail: dev-help@commons.apache.org <mailto:
> dev-help@commons.apache.org>
>

Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Rob Tompkins <ch...@gmail.com>.

> On Jan 4, 2018, at 11:45 AM, Gary Gregory <ga...@gmail.com> wrote:
> 
> On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins <chtompki@gmail.com <ma...@gmail.com>> wrote:
> 
>> So with comments, I’m thinking I’ll submit a component vote. Any
>> opposition?
>> 
> 
> Do you already have a git repo,  JIRA project and all that?

Oh not at all….I’m going to put it up for a vote before creating any repos. Before I start all that. I was thinking that we’d use COMMONSSITE as the jira for it because that’s what we use for the [build-plugin]….thoughts?

-Rob

> 
> Gary
> 
>> 
>>> On Jan 4, 2018, at 11:28 AM, Gary Gregory <ga...@gmail.com>
>> wrote:
>>> 
>>> That looks good. Thank you Rob!
>>> 
>>> Gary
>>> 
>>>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com>
>> wrote:
>>>> 
>>>> @Gary - Below is the result from my release plugin with [lang3]. Give
>> it a
>>>> looking over and let me know what you think.
>>>> 
>>>> -Rob
>>>> 
>>>>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
>>>>> 
>>>>> Author: chtompki
>>>>> Date: Thu Jan  4 12:45:36 2018
>>>>> New Revision: 24009
>>>>> 
>>>>> Log:
>>>>> Staging release: commons-lang3, version: 3.8-SNAPSHOT
>>>>> 
>>>>> Added:
>>>>>  dev/commons/lang/RELEASE-NOTES.txt
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
>>>> (with props)
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip   (with
>>>> props)
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>>>  dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>>>>>  dev/commons/lang/site.zip   (with props)
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>>>> (with props)
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
>>>> props)
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>>>  dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>>>> 
>>>>> Added: dev/commons/lang/RELEASE-NOTES.txt
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/RELEASE-NOTES.txt (added)
>>>>> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1,1176 @@
>>>>> +
>>>>> +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.7
>>>>> +                           Release Notes
>>>>> +
>>>>> +
>>>>> +INTRODUCTION:
>>>>> +
>>>>> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes resource
>>>> contention (PR #296.) Thanks to Chas Honton.
>>>>> +o LANG-1360: Add methods to ObjectUtils to get various forms of class
>>>> names in a null-safe manner Thanks to Gary Gregory.
>>>>> +
>>>>> +Fixed Bugs:
>>>>> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
>>>> Thanks to Stephen Colebourne.
>>>>> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on Java
>>>> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to Gary
>>>> Gregory.
>>>>> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
>>>> generic return type of Enum.valueOf Thanks to mbusso.
>>>>> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
>>>> regression Thanks to Brett Kail.
>>>>> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug
>>>> Thanks to Naman Nigam.
>>>>> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should use
>>>> toUpperCase(Locale) Thanks to BruceKuiLiu.
>>>>> +
>>>>> +Changes:
>>>>> +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
>>>>> +                               Version 3.6
>>>>> +                              Release Notes
>>>>> +
>>>>> +
>>>>> +INTRODUCTION:
>>>>> +
>>>>> +This document contains the release notes for the 3.6 version of
>>>>> +Apache Commons Lang as well as a history all changes in the Commons
>>>> Lang 3.x
>>>>> +release line. Commons Lang is a set of utility functions and reusable
>>>>> +components that should be of use in any Java environment. Commons Lang
>>>> 3.6 at
>>>>> +least requires Java 7.0. Note that this has changed from Commons Lang
>>>> 3.5, which
>>>>> +only required Java 1.6.
>>>>> +
>>>>> +For the advice on upgrading from 2.x to 3.x, see the following page:
>>>>> +
>>>>> +    http://commons.apache.org/lang/article3_0.html
>>>>> +
>>>>> +HIGHLIGHTS
>>>>> +==========
>>>>> +
>>>>> +Some of the highlights in this release include:
>>>>> +
>>>>> +o The class org.apache.commons.lang3.concurrent.Memoizer is an
>>>> implementation
>>>>> +    of the Memoizer pattern as shown in
>>>>> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p. 108.
>>>>> +o The class org.apache.commons.lang3.ArchUtils has been added.
>>>> ArchUtils is
>>>>> +    a utility class for the "os.arch" system property.
>>>>> +
>>>>> +DEPRECATIONS
>>>>> +============
>>>>> +
>>>>> +The Apache Commons Community has recently set up the Commons Text
>>>> component
>>>>> +as a home for algorithms working on strings. For this reason most of
>>>> the string
>>>>> +focused functionality in Commons Lang has been deprecated and moved to
>>>>> +Commons Text. This includes:
>>>>> +
>>>>> +o All classes in the org.apache.commons.lang3.text and the
>>>>> +    org.apache.commons.lang3.text.translate packages
>>>>> +o org.apache.commons.lang3.StringEscapeUtils
>>>>> +o org.apache.commons.lang3.RandomStringUtils
>>>>> +o The methods org.apache.commons.lang3.StringUtils.
>> getJaroWinklerDistance
>>>> and
>>>>> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
>>>>> +
>>>>> +For more information see the Commons Text website:
>>>>> +
>>>>> +    http://commons.apache.org/text
>>>>> +
>>>>> +The class org.apache.commons.lang3.CharEncoding has been deprecated
>> in
>>>> favor of
>>>>> +java.nio.charset.StandardCharsets.
>>>>> +
>>>>> +The following methods have been deprecated in
>>>>> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
>>>> insert
>>>>> +methods. Note that the handling for null inputs differs between add
>> and
>>>> insert.
>>>>> +
>>>>> +o add(boolean[], int, boolean) -> insert(int, boolean[], boolean...)
>>>>> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
>>>>> +o add(char[], int, boolean)    -> insert(int, char[], char...)
>>>>> +o add(double[], int, boolean)  -> insert(int, double[], double...)
>>>>> +o add(float[], int, boolean)   -> insert(int, float[], float...)
>>>>> +o add(int[], int, boolean)     -> insert(int, int[], int...)
>>>>> +o add(long[], int, boolean)    -> insert(int, long[], long...)
>>>>> +o add(short[], int, boolean)   -> insert(int, short[], short...)
>>>>> +o add(T[], int, boolean)       -> insert(int, T[], T...)
>>>>> +
>>>>> +
>>>>> +COMPATIBILITY WITH JAVA 9
>>>>> +==================
>>>>> +
>>>>> +The MANIFEST.MF now contains an additional entry:
>>>>> +
>>>>> +  Automatic-Module-Name: org.apache.commons.lang3
>>>>> +
>>>>> +This should make it possible to use Commons Lang 3.6 as a module in
>> the
>>>> Java 9
>>>>> +module system. For more information see the corresponding issue and
>> the
>>>>> +referenced mailing list discussions:
>>>>> +
>>>>> +    https://issues.apache.org/jira/browse/LANG-1338
>>>>> +
>>>>> +The build problems present in the 3.5 release have been resolved.
>>>> Building
>>>>> +Commons Lang 3.6 should work out of the box with the latest Java 9 EA
>>>> build.
>>>>> +Please report any Java 9 related issues at:
>>>>> +
>>>>> +    https://issues.apache.org/jira/browse/LANG
>>>>> +
>>>>> +NEW FEATURES
>>>>> +============
>>>>> +
>>>>> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
>>>>> +o LANG-1304: Add method in StringUtils to determine if string contains
>>>> both
>>>>> +             mixed cased characters. Thanks to Andy Klimczak.
>>>>> +o LANG-1325: Increase test coverage of ToStringBuilder class to 100%.
>>>>> +             Thanks to Arshad Basha.
>>>>> +o LANG-1307: Add a method in StringUtils to extract only digits out of
>>>> input
>>>>> +             string. Thanks to Arshad Basha.
>>>>> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
>>>>> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
>>>>> +             Thanks to Mark Dacek.
>>>>> +o LANG-1299: Add method for converting string to an array of code
>>>> points.
>>>>> +o LANG-660:  Add methods to insert arrays into arrays at an index.
>>>>> +o LANG-1034: Add support for recursive comparison to
>>>>> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
>>>>> +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.
>>>>> +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.
>>>>> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch" system
>>>> property.
>>>>> +             Thanks to Tomschi.
>>>>> +o LANG-1272: Add shuffle methods to ArrayUtils.
>>>>> +o LANG-1317: Add MethodUtils#findAnnotation and extend
>>>>> +             MethodUtils#getMethodsWithAnnotation for non-public,
>>>> super-class
>>>>> +             and interface methods. Thanks to Yasser Zamani.
>>>>> +o LANG-1331: Add ImmutablePair.nullPair().
>>>>> +o LANG-1332: Add ImmutableTriple.nullTriple().
>>>>> +
>>>>> +FIXED BUGS
>>>>> +==========
>>>>> +
>>>>> +o LANG-1337: Fix test failures in IBM JDK 8 for ToStringBuilderTest.
>>>>> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError when
>>>> object is
>>>>> +             an array.
>>>>> +o LANG-1320: LocaleUtils#toLocale does not support language followed
>> by
>>>> UN M.49
>>>>> +             numeric-3 area code followed by variant.
>>>>> +o LANG-1300: Clarify or improve behaviour of int-based indexOf methods
>>>> in
>>>>> +             StringUtils. Thanks to Mark Dacek.
>>>>> +o LANG-1286: RandomStringUtils random method can overflow and return
>>>> characters
>>>>> +             outside of specified range.
>>>>> +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ò.
>>>>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
>>>>> +             Thanks to Andreas Lundblad.
>>>>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible
>> heap
>>>>> +             pollution from parameterized vararg type T.
>>>>> +o LANG-1144: Multiple calls of
>>>>> +             org.apache.commons.lang3.concurrent.LazyInitializer.
>>>> initialize()
>>>>> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
>>>>> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException.
>>>>> +             Thanks to Andy Klimczak.
>>>>> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
>>>>> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
>>>>> +             Thanks to Paul Pogonyshev.
>>>>> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return
>> false
>>>> for an
>>>>> +             empty array. Thanks to Pierre Templier.
>>>>> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
>>>> Andrade.
>>>>> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and Object
>>>> arrays
>>>>> +             correctly. Thanks to Aaron Digulla.
>>>>> +o LANG-1312: LocaleUtils#toLocale does not support language followed
>> by
>>>> UN M.49
>>>>> +             numeric-3 area code.
>>>>> +o LANG-1265: Build failures when building with Java 9 EA.
>>>>> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
>>>> Murienik.
>>>>> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException if
>>>> using
>>>>> +             varargs arguments and smaller types than the method
>>>> defines.
>>>>> +             Thanks to Don Jeba.
>>>>> +
>>>>> +CHANGES
>>>>> +=======
>>>>> +
>>>>> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
>>>>> +             compatibility.
>>>>> +o LANG-1334: Deprecate CharEncoding in favour of
>>>>> +             java.nio.charset.StandardCharsets.
>>>>> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
>>>>> +             Thanks to Bruno P. Kinoshita.
>>>>> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
>>>> ArrayUtils.
>>>>> +             Thanks to Andrii Abramov.
>>>>> +o LANG-1274: StrSubstitutor should state its thread safety.
>>>>> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
>>>> consumption.
>>>>> +             Thanks to yufcuy.
>>>>> +o LANG-1279: Update Java requirement from Java 6 to 7.
>>>>> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
>>>>> +             toXxxxCase(char). Thanks to sebb.
>>>>> +o LANG-1297: Add SystemUtils.getHostName() API.
>>>>> +o LANG-1301: Moving apache-rat-plugin configuration into
>>>> pluginManagement.
>>>>> +             Thanks to Karl Heinz Marbaise.
>>>>> +o LANG-1316: Deprecate classes/methods moved to commons-text.
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.5
>>>>> +
>>>>> +
>>>>> +HIGHLIGHTS
>>>>> +==========
>>>>> +
>>>>> +Some of the highlights in this release include:
>>>>> +
>>>>> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
>>>>> +o Support for shifting and swapping elements in
>>>>> +    org.apache.commons.lang3.ArrayUtils.
>>>>> +o New methods for generating random strings from different character
>>>> classes
>>>>> +    including alphabetic, alpha-numeric and ASCII added to
>>>>> +    org.apache.commons.lang3.RandomStringUtils.
>>>>> +o Numerous extensions to org.apache.commons.lang3.StringUtils
>> including
>>>>> +    null safe compare variants, more remove and replace variants,
>>>> rotation and
>>>>> +    truncation.
>>>>> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to
>> work
>>>> with
>>>>> +    instances of java.lang.Thread and java.lang.ThreadGroup.
>>>>> +o Added annotations @EqualsExclude, @HashCodeExclude and
>>>> @ToStringEclude to
>>>>> +    mark fields which should be ignored by the reflective builders in
>>>> the
>>>>> +    org.apache.commons.lang3.builder package.
>>>>> +o Support for various modify and retrieve value use cases added to the
>>>> classes
>>>>> +    in org.apache.commons.lang3.mutable.
>>>>> +
>>>>> +COMPATIBILITY
>>>>> +=============
>>>>> +
>>>>> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release.
>> Users
>>>>> +should not experience any problems when upgrading from 3.4 to 3.5.
>>>>> +
>>>>> +There has been an addition to the org.apache.commons.lang3.time.
>>>> DatePrinter
>>>>> +interface:
>>>>> +
>>>>> +o Added method 'public boolean parse(java.lang.String,
>>>> java.text.ParsePosition,
>>>>> +    java.util.Calendar)'
>>>>> +o Added method 'public java.lang.Appendable format(long,
>>>> java.lang.Appendable)'
>>>>> +o Added method 'public java.lang.Appendable format(java.util.Date,
>>>>> +    java.lang.Appendable)'
>>>>> +o Added method 'public java.lang.Appendable format(java.util.Calendar,
>>>>> +    java.lang.Appendable)'
>>>>> +
>>>>> +For this reason 3.5 is not strictly source compatible to 3.4. Since
>> the
>>>>> +DatePrinter interface is not meant to be implemented by clients, this
>>>>> +change it not considered to cause any problems.
>>>>> +
>>>>> +JAVA 9 SUPPORT
>>>>> +==============
>>>>> +
>>>>> +Java 9 introduces a new version-string scheme. Details of this new
>>>> scheme are
>>>>> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In order to
>>>> support
>>>>> +JEP-223 two classes had to be changed:
>>>>> +
>>>>> +o org.apache.commons.lang3.JavaVersion
>>>>> +    deprecated enum constant JAVA_1_9
>>>>> +    introduced enum constant JAVA_9
>>>>> +
>>>>> +o org.apache.commons.lang3.SystemUtils
>>>>> +    deprecated constant IS_JAVA_1_9
>>>>> +    introduced constant IS_JAVA_9
>>>>> +
>>>>> +For more information see LANG-1197
>>>>> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs are
>>>> expected
>>>>> +to work with Java 9.
>>>>> +
>>>>> +BUILDING ON JAVA 9
>>>>> +==================
>>>>> +
>>>>> +Java 8 introduced the Unicode Consortium's Common Locale Data
>>>> Repository as
>>>>> +alternative source for locale data. Java 9 will use the CLDR provider
>> as
>>>>> +default provider for locale data (see http://openjdk.java.net/jeps/
>> 252).
>>>> This
>>>>> +causes an number of locale-sensitive test in Commons Lang to fail. In
>>>> order
>>>>> +to build Commons Lang 3.5 on Java 9, the locale provider has to be set
>>>> to
>>>>> +'JRE':
>>>>> +
>>>>> +    mvn -Djava.locale.providers=JRE clean install
>>>>> +
>>>>> +We are currently investigating ways to support building on Java 9
>>>> without
>>>>> +further configuration. For more information see:
>>>>> +https://issues.apache.org/jira/browse/LANG-1265
>>>>> +
>>>>> +
>>>>> +NEW FEATURES
>>>>> +==============
>>>>> +
>>>>> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
>>>>> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
>>>> Kaiyuan Wang.
>>>>> +o LANG-1023: Add WordUtils.wrap overload with customizable breakable
>>>> character.
>>>>> +             Thanks to Marko Bekhta.
>>>>> +o LANG-787:  Add method removeIgnoreCase(String, String) to
>>>> StringUtils. Thanks
>>>>> +             to Gokul Nanthakumar C.
>>>>> +o LANG-1224: Extend RandomStringUtils with methods that generate
>> strings
>>>>> +             between a min and max length. Thanks to Caleb Cushing.
>>>>> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String, char|String).
>>>> Thanks to
>>>>> +             Gary Gregory.
>>>>> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to adilek.
>>>>> +o LANG-1085: Add a circuit breaker implementation. Thanks to Oliver
>>>> Heger and
>>>>> +             Bruno P. Kinoshita.
>>>>> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
>>>>> +o LANG-1195: Enhance MethodUtils to allow invocation of private
>>>> methods. Thanks
>>>>> +             to Derek C. Ashmore.
>>>>> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
>>>> incrementAndGet/
>>>>> +             decrementAndGet/addAndGet in Mutable* classes. Thanks to
>>>>> +             Haiyang Li and Matthew Bartenschlag.
>>>>> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint which
>>>> match
>>>>> +             corresponding regular expression class. Thanks to Caleb
>>>> Cushing.
>>>>> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick Manley.
>>>>> +o LANG-781:  Add methods to ObjectUtils class to check for null
>>>> elements in the
>>>>> +             array. Thanks to Krzysztof Wolny.
>>>>> +o LANG-1228: Prefer Throwable.getCause() in ExceptionUtils.getCause().
>>>>> +             Thanks to Brad Hess.
>>>>> +o LANG-1233: DiffBuilder add method to allow appending from a
>>>> DiffResult.
>>>>> +             Thanks to Nick Manley.
>>>>> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
>>>>> +             Thanks to Pascal Schumacher.
>>>>> +o LANG-1115: Add support for varargs in ConstructorUtils, MemberUtils,
>>>> and
>>>>> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
>>>>> +o LANG-1134: Add methods to check numbers against NaN and inifinite to
>>>>> +             Validate. Thanks to Alan Smithee.
>>>>> +o LANG-1220: Add tests for missed branches in DateUtils.
>>>>> +             Thanks to Casey Scarborough.
>>>>> +o LANG-1146: z/OS identification in SystemUtils.
>>>>> +             Thanks to Gabor Liptak.
>>>>> +o LANG-1192: FastDateFormat support of the week-year component
>>>> (uppercase 'Y').
>>>>> +             Thanks to Dominik Stadler.
>>>>> +o LANG-1169: Add StringUtils methods to compare a string to multiple
>>>> strings.
>>>>> +             Thanks to Rafal Glowinski, Robert Parr and Arman Sharif.
>>>>> +o LANG-1185: Add remove by regular expression methods in StringUtils.
>>>>> +o LANG-1139: Add replace by regular expression methods in StringUtils.
>>>>> +o LANG-1171: Add compare methods in StringUtils.
>>>>> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
>>>>> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks to
>>>>> +             Gary Gregory.
>>>>> +o LANG-1149: Ability to throw checked exceptions without declaring
>>>> them. Thanks
>>>>> +             to Gregory Zak.
>>>>> +o LANG-1153: Implement ParsePosition api for FastDateParser.
>>>>> +o LANG-1137: Add check for duplicate event listener in
>>>> EventListenerSupport.
>>>>> +             Thanks to Matthew Aguirre.
>>>>> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
>>>>> +             Eduardo Martins.
>>>>> +o LANG-1132: ReflectionToStringBuilder doesn't throw
>>>> IllegalArgumentException
>>>>> +             when the constructor's object param is null. Thanks to
>>>> Jack Tan.
>>>>> +o LANG-701:  StringUtils join with var args. Thanks to James Sawle.
>>>>> +o LANG-1105: Add ThreadUtils - A utility class which provides helper
>>>> methods
>>>>> +             related to java.lang.Thread  Issue: LANG-1105. Thanks to
>>>>> +             Hendrik Saly.
>>>>> +o LANG-1031: Add annotations to exclude fields from
>>>> ReflectionEqualsBuilder,
>>>>> +             ReflectionToStringBuilder and ReflectionHashCodeBuilder.
>>>> Thanks
>>>>> +             to Felipe Adorno.
>>>>> +o LANG-1127: Use JUnit rules to set and reset the default Locale and
>>>> TimeZone.
>>>>> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks to
>>>>> +             Loic Guibert.
>>>>> +o LANG-1099: Add swap and shift operations for arrays to ArrayUtils.
>>>> Thanks to
>>>>> +             Adrian Ber.
>>>>> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to James
>>>> Sawle.
>>>>> +o LANG-1074: Add a method to ArrayUtils for removing all occurrences
>> of
>>>> a given
>>>>> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
>>>>> +
>>>>> +FIXED BUGS
>>>>> +============
>>>>> +
>>>>> +o LANG-1261: ArrayUtils.contains returns false for instances of
>>>> subtypes.
>>>>> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better
>> reflect
>>>>> +             createNumber. Also, accommodated for "+" symbol as prefix
>>>> in
>>>>> +             isCreatable and isNumber. Thanks to Rob Tompkins.
>>>>> +o LANG-1230: Remove unnecessary synchronization from registry lookup
>> in
>>>>> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
>>>> Marschall.
>>>>> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to Henry
>>>> Tung.
>>>>> +o LANG-1250: SerializationUtils#deserialize has unnecessary code and a
>>>> comment
>>>>> +             for that. Thanks to Glease Wang.
>>>>> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException when
>>>> fromType
>>>>> +             has type variables and toType generic superclass
>> specifies
>>>> type
>>>>> +             variable. Thanks to Pascal Schumacher.
>>>>> +o LANG-1226: StringUtils#normalizeSpace does not trim the string
>>>> anymore.
>>>>> +             Thanks to Pascal Schumacher.
>>>>> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
>>>> should use
>>>>> +             static initializer to initialize primitiveTypes map.
>>>> Thanks to
>>>>> +             Takuya Ueshin.
>>>>> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks to
>>>>> +             Benoit Wiart.
>>>>> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(String).
>>>> Thanks to
>>>>> +             Nick Manley.
>>>>> +o LANG-1199: Fix implementation of StringUtils.
>> getJaroWinklerDistance().
>>>> Thanks
>>>>> +             to M. Steiger.
>>>>> +o LANG-1244: Fix dead links in StringUtils.getLevenshteinDistance()
>>>> javadoc.
>>>>> +             Thanks to jjbankert.
>>>>> +o LANG-1242: "\u2284":"?" mapping missing from
>>>>> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
>>>> Stewart.
>>>>> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case sensitive
>> -
>>>>> +             documented as case insensitive. Thanks to Matthew
>>>> Bartenschlag.
>>>>> +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 "Å‚".
>>>>> +             Thanks to kaching88.
>>>>> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
>>>>> +             NumberUtils.isNumber(). Thanks to pbrose.
>>>>> +o LANG-1222: Fix for incorrect comment on
>> StringUtils.containsIgnoreCase
>>>>> +             method. Thanks to Adam J.
>>>>> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
>>>> Templier.
>>>>> +o LANG-1202: parseDateStrictly does't pass specified locale. Thanks to
>>>>> +             Markus Jelsma.
>>>>> +o LANG-1219: FastDateFormat doesn't respect summer daylight in some
>>>> localized
>>>>> +             strings. Thanks to Jarek.
>>>>> +o LANG-1175: Remove Ant-based build.
>>>>> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
>>>>> +o LANG-1186: Fix NullPointerException in FastDateParser$
>>>> TimeZoneStrategy.
>>>>> +             Thanks to NickManley.
>>>>> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer of
>> -1
>>>>> +             (correct answer should be 0); revert fix for LANG-1077.
>>>> Thanks to
>>>>> +             Qin Li.
>>>>> +o LANG-1002: Several predefined ISO FastDateFormats in DateFormatUtils
>>>> are
>>>>> +             incorrect. Thanks to Michael Osipov.
>>>>> +o LANG-1152: StringIndexOutOfBoundsException or field over-write for
>>>> large year
>>>>> +             fields in FastDateParser. Thanks to Pas Filip.
>>>>> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts on
>>>> changes on
>>>>> +             system properties.
>>>>> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values Enum.
>>>> Thanks
>>>>> +             to Loic Guibert.
>>>>> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin Casey.
>>>>> +o LANG-1122: Inconsistent behavior of swap for malformed inputs.
>> Thanks
>>>> to
>>>>> +             Adrian Ber.
>>>>> +o LANG-1130: Fix critical issues reported by SonarQube.
>>>>> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
>>>> inputs.
>>>>> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
>>>> correctly.
>>>>> +             Thanks to Jack Tan.
>>>>> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default
>> Locale.
>>>>> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a timezone
>>>> set.
>>>>> +             Thanks to Christian P. Momon.
>>>>> +o LANG-916:  DateFormatUtils.format does not correctly change Calendar
>>>>> +             TimeZone in certain situations. Thanks to Christian P.
>>>> Momon.
>>>>> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones.
>> Thanks
>>>> to
>>>>> +             Aaron Sheldon.
>>>>> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
>>>> wildcard
>>>>> +             types. Thanks to Andy Coates.
>>>>> +o LANG-1118: StringUtils.repeat('z', -1) throws
>>>> NegativeArraySizeException.
>>>>> +             Thanks to Loic Guibert.
>>>>> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
>>>>> +o LANG-1162: StringUtils#equals fails with Index OOBE on non-Strings
>>>> with
>>>>> +             identical leading prefix..
>>>>> +o LANG-1163: There are no tests for CharSequenceUtils.regionMatches.
>>>>> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
>>>> BarkZhang.
>>>>> +o LANG-1191: Incorrect Javadoc
>>>>> +             StringUtils.containsAny(CharSequence, CharSequence...).
>>>> Thanks to
>>>>> +             qed, Brent Worden and Gary Gregory.
>>>>> +
>>>>> +CHANGES
>>>>> +=========
>>>>> +o LANG-1197: Prepare Java 9 detection.
>>>>> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
>>>> method is too
>>>>> +             big to be inlined. Thanks to Ruslan Cheremin.
>>>>> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
>>>> misleading. Thanks
>>>>> +             to Dominik Stadler.
>>>>> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks to
>>>>> +             Benoit Wiart.
>>>>> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to be
>>>> inlined,
>>>>> +             which prevents whole builder to be scalarized. Thanks to
>>>>> +             Ruslan Cheremin.
>>>>> +o LANG-1243: Simplify ArrayUtils removeElements by using new
>>>> decrementAndGet()
>>>>> +             method.
>>>>> +o LANG-1240: Optimize BitField constructor implementation. Thanks to
>>>> zhanhb.
>>>>> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
>>>>> +             Mohammed Alfallaj.
>>>>> +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.
>>>>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.
>>>> Thanks to
>>>>> +             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.
>>>>> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc. Thanks to
>>>>> +             Matthias Niehoff.
>>>>> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel
>> Karp.
>>>>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks to
>>>>> +             Larry West and Pascal Schumacher.
>>>>> +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.
>>>>> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
>>>>> +             SystemUtils.PATH_SEPARATOR.
>>>>> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format
>> descriptor
>>>> for
>>>>> +             "invalid number of type parameters". Thanks to Bruno P.
>>>> Kinoshita.
>>>>> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due to
>>>> being
>>>>> +             package-private.
>>>>> +o LANG-1058: StringUtils.uncapitalize performance improvement. Thanks
>> to
>>>>> +             Leo Wang.
>>>>> +o LANG-1069: CharSet.getInstance documentation does not clearly
>> explain
>>>> how
>>>>> +             to include negation character in set. Thanks to Arno
>>>> Noordover.
>>>>> +o LANG-1107: Fix parsing edge cases in FastDateParser.
>>>>> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
>>>> SystemUtils. Thanks
>>>>> +             to Jake Wang.
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.4
>>>>> +
>>>>> +
>>>>> +COMPATIBILITY
>>>>> +=============
>>>>> +
>>>>> +Commons Lang 3.4 is fully binary compatible to the last release and
>> can
>>>>> +therefore be used as a drop in replacement for 3.3.2. Note that the
>>>> value of
>>>>> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
>>>> EXTENDED_FORMAT_PATTERN
>>>>> +has changed, which may affect clients using the constant. Furthermore
>>>> the
>>>>> +constant is used internally in
>>>>> +o DurationFormatUtils.formatDurationISO(long)
>>>>> +o DurationFormatUtils.formatPeriodISO(long, long)
>>>>> +
>>>>> +For more information see https://issues.apache.org/
>>>> jira/browse/LANG-1000.
>>>>> +
>>>>> +NEW FEATURES
>>>>> +==============
>>>>> +
>>>>> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
>>>> Kockert.
>>>>> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
>>>>> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to Fabian
>>>> Lange.
>>>>> +o LANG-1082: Add option to disable the "objectsTriviallyEqual" test in
>>>>> +             DiffBuilder. Thanks to Jonathan Baker.
>>>>> +o LANG-1015: Add JsonToStringStyle implementation to ToStringStyle.
>>>> Thanks to
>>>>> +             Thiago Andrade.
>>>>> +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-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.
>>>>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
>>>>> +             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
>>>>> +             Mikhail Mazursky.
>>>>> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
>>>>> +             Mikhail Mazursky.
>>>>> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object, String)
>>>>> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
>>>>> +
>>>>> +FIXED BUGS
>>>>> +============
>>>>> +
>>>>> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
>>>> Thanks to
>>>>> +             Timo Kockert.
>>>>> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
>>>>> +o LANG-948:  Exception while using ExtendedMessageFormat and escaping
>>>> braces.
>>>>> +             Thanks to Andrey Khobnya.
>>>>> +o LANG-1092: Wrong formating of time zones with daylight saving time
>> in
>>>>> +             FastDatePrinter
>>>>> +o LANG-1090: FastDateParser does not set error indication in
>>>> ParsePosition
>>>>> +o LANG-1089: FastDateParser does not handle excess hours as per
>>>>> +             SimpleDateFormat
>>>>> +o LANG-1061: FastDateParser error - timezones not handled correctly.
>>>> Thanks to
>>>>> +             dmeneses.
>>>>> +o LANG-1087: NumberUtils#createNumber() returns positive BigDecimal
>> when
>>>>> +             negative Float is expected. Thanks to Renat Zhilkibaev.
>>>>> +o LANG-1081: DiffBuilder.append(String, Object left, Object right)
>> does
>>>> not do
>>>>> +             a left.equals(right) check. Thanks to Jonathan Baker.
>>>>> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
>>>> consistently.
>>>>> +             Thanks to Jonathan Baker.
>>>>> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK.
>> Thanks
>>>> to
>>>>> +             Jonathan Baker.
>>>>> +o LANG-1073: Read wrong component type of array in add in ArrayUtils.
>>>>> +             Thanks to haiyang li.
>>>>> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in
>>>> StringUtils.
>>>>> +             Thanks to haiyang li.
>>>>> +o LANG-1072: Duplicated "0x" check in createBigInteger in NumberUtils.
>>>> Thanks
>>>>> +             to haiyang li.
>>>>> +o LANG-1064: StringUtils.abbreviate description doesn't agree with the
>>>>> +             examples. Thanks to B.J. Herbison.
>>>>> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK method
>>>> ordering.
>>>>> +             Thanks to Alexandre Bartel.
>>>>> +o LANG-1000: ParseException when trying to parse UTC dates with Z as
>>>> zone
>>>>> +             designator using DateFormatUtils.ISO_DATETIME_
>>>> TIME_ZONE_FORMAT
>>>>> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is unclear
>>>>> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks to
>>>>> +             Michael Osipov.
>>>>> +o LANG-1088: FastDateParser should be case insensitive
>>>>> +o LANG-995:  Fix bug with stripping spaces on last line in
>>>> WordUtils.wrap().
>>>>> +             Thanks to Andrey Khobnya.
>>>>> +
>>>>> +CHANGES
>>>>> +=========
>>>>> +
>>>>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils
>> smarter
>>>>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
>>>> Lange.
>>>>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
>>>>> +o LANG-1100: Avoid memory allocation when using date formating to
>>>> StringBuffer.
>>>>> +             Thanks to mbracher.
>>>>> +o LANG-935:  Possible performance improvement on string escape
>>>> functions.
>>>>> +             Thanks to Fabian Lange, Thomas Neidhart.
>>>>> +o LANG-1098: Avoid String allocation in StrBuilder.append(
>> CharSequence).
>>>> Thanks
>>>>> +             to Mikhail Mazurskiy, Fabian Lange.
>>>>> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to Micha?
>>>> Kordas.
>>>>> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to Micha?
>>>> Kordas.
>>>>> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha? Kordas.
>>>>> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha?
>> Kordas.
>>>>> +o LANG-877:  Performance improvements for StringEscapeUtils. Thanks to
>>>>> +             Fabian Lange.
>>>>> +o LANG-1071: Fix wrong examples in JavaDoc of
>>>>> +             StringUtils.replaceEachRepeatedly(...),
>>>>> +             StringUtils.replaceEach(...) Thanks to Arno Noordover.
>>>>> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
>>>> fields it
>>>>> +             uses in performing comparisons
>>>>> +o LANG-1020: Improve performance of normalize space. Thanks to Libor
>>>> Ondrusek.
>>>>> +o LANG-1027: org.apache.commons.lang3.SystemUtils#
>> isJavaVersionAtLeast
>>>> should
>>>>> +             return true by default
>>>>> +o LANG-1026: Bring static method references in StringUtils to
>>>> consistent style.
>>>>> +             Thanks to Alex Yursha.
>>>>> +o LANG-1017: Use non-ASCII digits in Javadoc examples for
>>>>> +             StringUtils.isNumeric. Thanks to Christoph Schneegans.
>>>>> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils from
>>>> array
>>>>> +             input parameters to varargs. Thanks to Thiago Andrade.
>>>>> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks to
>>>>> +             Thiago Andrade.
>>>>> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
>>>> pattern to
>>>>> +             match #formatDurationHMS. Thanks to Michael Osipov.
>>>>> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
>>>> Thanks to
>>>>> +             Thiago Andrade.
>>>>> +o LANG-731:  Better Javadoc for BitField class
>>>>> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation
>> does
>>>> not
>>>>> +             correspond to Javadoc and vice versa. Thanks to Michael
>>>> Osipov.
>>>>> +o LANG-1003: DurationFormatUtils are not able to handle negative
>>>>> +             durations/periods
>>>>> +o LANG-998:  Javadoc is not clear on preferred pattern to instantiate
>>>>> +             FastDateParser / FastDatePrinter
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.3.2
>>>>> +
>>>>> +NEW FEATURES
>>>>> +==============
>>>>> +
>>>>> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
>>>>> +
>>>>> +FIXED BUGS
>>>>> +============
>>>>> +
>>>>> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0", "0.4790",
>>>> et al
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.3.1
>>>>> +
>>>>> +FIXED BUGS
>>>>> +============
>>>>> +
>>>>> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH)
>> returns
>>>> wrong
>>>>> +             days
>>>>> +o LANG-983:  DurationFormatUtils does not describe format string fully
>>>>> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched quote
>>>> char
>>>>> +o LANG-984:  DurationFormatUtils does not handle large durations
>>>> correctly
>>>>> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS") - ms
>>>> field
>>>>> +             size should be 4 digits
>>>>> +o LANG-978:  Failing tests with Java 8 b128
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.3
>>>>> +
>>>>> +NEW FEATURES
>>>>> +==============
>>>>> +
>>>>> +o LANG-955:  Add methods for removing all invalid characters according
>>>> to
>>>>> +             XML 1.0 and XML 1.1 in an input string to
>>>> StringEscapeUtils.
>>>>> +             Thanks to Adam Hooper.
>>>>> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
>>>>> +o LANG-962:  Add SerializationUtils.roundtrip(T extends Serializable)
>> to
>>>>> +             serialize then deserialize
>>>>> +o LANG-637:  There should be a DifferenceBuilder with a
>>>>> +             ReflectionDifferenceBuilder implementation
>>>>> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
>>>> StringUtils.
>>>>> +             Thanks to Rekha Joshi.
>>>>> +o LANG-417:  New class ClassPathUtils with methods for turning FQN
>> into
>>>>> +             resource path
>>>>> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
>>>> overloads
>>>>> +             for primitive types
>>>>> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
>>>>> +o LANG-966:  Add IBM OS/400 detection
>>>>> +
>>>>> +FIXED BUGS
>>>>> +============
>>>>> +
>>>>> +o LANG-621:  ReflectionToStringBuilder.toString does not debug 3rd
>>>> party object
>>>>> +             fields within 3rd party object. Thanks to Philip Hodges,
>>>>> +             Thomas Neidhart.
>>>>> +o LANG-977:  NumericEntityEscaper incorrectly encodes supplementary
>>>> characters.
>>>>> +             Thanks to Chris Karcher.
>>>>> +o LANG-973:  Make some private fields final
>>>>> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid
>> Octal
>>>> numbers
>>>>> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
>>>>> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset) needlessly
>>>> throws
>>>>> +             UnsupportedEncodingException. Thanks to Matt Bishop.
>>>>> +o LANG-946:  ConstantInitializerTest fails when building with IBM JDK
>> 7
>>>>> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
>>>> Android.
>>>>> +             Thanks to Michael Keppler.
>>>>> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
>>>> threshold
>>>>> +             returns wrong result. Thanks to Yaniv Kunda, Eli Lindsey.
>>>>> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails in
>>>>> +             JDK 1.6, 1.7 and 1.8, BRST time zone
>>>>> +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.
>>>>> +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.
>>>>> +
>>>>> +CHANGES
>>>>> +=========
>>>>> +
>>>>> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
>>>> removeFinalModifier(Field)
>>>>> +             does not clean up after itself
>>>>> +o LANG-958:  FastDateParser javadoc incorrectly states that
>>>> SimpleDateFormat
>>>>> +             is used internally
>>>>> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
>>>>> +o LANG-939:  Move Documentation from user guide to package-info files
>>>>> +o LANG-953:  Convert package.html files to package-info.java files
>>>>> +o LANG-940:  Fix deprecation warnings
>>>>> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.2.1
>>>>> +
>>>>> +BUG FIXES
>>>>> +===========
>>>>> +
>>>>> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
>>>>> +o LANG-941:  Test failure in LocaleUtilsTest when building with JDK 8
>>>>> +o LANG-942:  Test failure in FastDateParserTest and
>>>> FastDateFormat_ParserTest
>>>>> +             when building with JDK8. Thanks to Bruno P. Kinoshita,
>>>>> +             Henri Yandell.
>>>>> +o LANG-938:  Build fails with test failures when building with JDK 8
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.2
>>>>> +
>>>>> +COMPATIBILITY WITH 3.1
>>>>> +========================
>>>>> +
>>>>> +This release introduces backwards incompatible changes in
>>>>> +org.apache.commons.lang3.time.FastDateFormat:
>>>>> +o Method 'protected java.util.List parsePattern()' has been removed
>>>>> +o Method 'protected java.lang.String parseToken(java.lang.String,
>>>> int[])' has
>>>>> +  been removed
>>>>> +o Method 'protected org.apache.commons.lang3.time.
>>>> FastDateFormat$NumberRule
>>>>> +  selectNumberRule(int, int)' has been removed
>>>>> +
>>>>> +These changes were the result of [LANG-462]. It is assumed that this
>>>> change
>>>>> +will not break clients as Charles Honton pointed out on 25/Jan/12:
>>>>> +"
>>>>> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)" and
>>>>> +    "List<Rule> parsePattern()" couldn't have been overridden because
>>>>> +    NumberRule and Rule were private to FastDateFormat.
>>>>> + 2. Due to the factory pattern used, it's unlikely other two methods
>>>> would have
>>>>> +    been overridden.
>>>>> + 3. The four methods are highly implementation specific. I consider
>> it a
>>>>> +    mistake that the methods were exposed.
>>>>> +"
>>>>> +For more information see https://issues.apache.org/
>> jira/browse/LANG-462
>>>> .
>>>>> +
>>>>> +NEW FEATURES
>>>>> +==============
>>>>> +
>>>>> +o LANG-934:  Add removeFinalModifier to FieldUtils
>>>>> +o LANG-863:  Method returns number of inheritance hops between parent
>>>> and
>>>>> +             subclass. Thanks to Daneel S. Yaitskov.
>>>>> +o LANG-774:  Added isStarted, isSuspended and isStopped to StopWatch.
>>>>> +             Thanks to Erhan Bagdemir.
>>>>> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence...
>> methods.
>>>>> +             Thanks to Alexander Muthmann.
>>>>> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
>>>>> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in favour
>>>> of a new
>>>>> +             StringUtils.toString(byte[], CharSet). Thanks to Aaron
>>>> Digulla.
>>>>> +o LANG-893:  StrSubstitutor now supports default values for variables.
>>>>> +             Thanks to Woonsan Ko.
>>>>> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
>>>> Mureinik.
>>>>> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
>>>>> +             StringBuilder, StrBuilder, and Appendable.
>>>>> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
>>>>> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
>>>>> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
>>>> StringUtils.
>>>>> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
>>>>> +o LANG-873:  Add FieldUtils getAllFields() to return all the fields
>>>> defined in
>>>>> +             the given class and super classes.
>>>>> +o LANG-835:  StrBuilder should support StringBuilder as an input
>>>> parameter.
>>>>> +o LANG-857:  StringIndexOutOfBoundsException in
>> CharSequenceTranslator.
>>>>> +o LANG-856:  Code refactoring in NumberUtils.
>>>>> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex and
>>>> octal
>>>>> +             numbers.
>>>>> +o LANG-854:  NumberUtils#createNumber - does not allow for hex numbers
>>>> to be
>>>>> +             larger than Long.
>>>>> +o LANG-853:  StringUtils join APIs for primitives.
>>>>> +o LANG-841:  Add StringUtils API to call String.replaceAll in DOTALL
>>>> a.k.a.
>>>>> +             single-line mode.
>>>>> +o LANG-825:  Create StrBuilder APIs similar to
>>>>> +             String.format(String, Object...).
>>>>> +o LANG-675:  Add Triple class (ternary version of Pair).
>>>>> +o LANG-462:  FastDateFormat supports parse methods.
>>>>> +
>>>>> +BUG FIXES
>>>>> +===========
>>>>> +
>>>>> +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
>>>>> +             elements are different.
>>>>> +o LANG-917:  Fixed exception when combining custom and choice format
>> in
>>>>> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
>>>>> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly
>> promising
>>>> letters
>>>>> +             and numbers would, as opposed to may, appear  Issue:.
>>>> Thanks to
>>>>> +             Andrzej Winnicki.
>>>>> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
>>>>> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not
>> updated.
>>>> Thanks
>>>>> +             to Mark Bryan Yu.
>>>>> +o LANG-879:  LocaleUtils test fails with new Locale
>>>> "ja_JP_JP_#u-ca-japanese"
>>>>> +             of JDK7.
>>>>> +o LANG-836:  StrSubstitutor does not support StringBuilder or
>>>> CharSequence.
>>>>> +             Thanks to Arnaud Brunet.
>>>>> +o LANG-693:  Method createNumber from NumberUtils doesn't work for
>>>> floating
>>>>> +             point numbers other than Float  Issue: LANG-693. Thanks
>> to
>>>>> +             Calvin Echols.
>>>>> +o LANG-887:  FastDateFormat does not use the locale specific cache
>>>> correctly.
>>>>> +o LANG-754:  ClassUtils.getShortName(String) will now only do a
>>>> reverse lookup
>>>>> +             for array types.
>>>>> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not work
>>>> for octal
>>>>> +             numbers.
>>>>> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting with
>>>> an
>>>>> +             underscore.
>>>>> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript() do
>>>> not
>>>>> +             output the escaped surrogate pairs that are Java
>> parsable.
>>>>> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date objects
>>>>> +             wastefully.
>>>>> +o LANG-845:  Spelling fixes.
>>>>> +o LANG-844:  Fix examples contained in javadoc of StringUtils.center
>>>> methods.
>>>>> +o LANG-832:  FastDateParser does not handle unterminated quotes
>>>> correctly.
>>>>> +o LANG-831:  FastDateParser does not handle white-space properly.
>>>>> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
>>>>> +o LANG-828:  FastDateParser does not handle non-Gregorian calendars
>>>> properly.
>>>>> +o LANG-826:  FastDateParser does not handle non-ASCII digits
>> correctly.
>>>>> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading
>> "--".
>>>>> +o LANG-818:  FastDateFormat's "z" pattern does not respect timezone of
>>>> Calendar
>>>>> +             instances passed to format().
>>>>> +o LANG-817:  Add org.apache.commons.lang3.
>> SystemUtils.IS_OS_WINDOWS_8.
>>>>> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string
>> reference
>>>>> +             equality.
>>>>> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
>>>>> +o LANG-807:  RandomStringUtils throws confusing IAE when end <= start.
>>>>> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
>>>> universe,
>>>>> +             random) always throws java.lang.
>>>> ArrayIndexOutOfBoundsException.
>>>>> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
>>>> class.
>>>>> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and Object
>>>> versions.
>>>>> +o LANG-788:  SerializationUtils throws ClassNotFoundException when
>>>> cloning
>>>>> +             primitive classes.
>>>>> +o LANG-786:  StringUtils equals() relies on undefined behavior.
>>>>> +o LANG-783:  Documentation bug: StringUtils.split.
>>>>> +o LANG-777:  jar contains velocity template of release notes.
>>>>> +o LANG-776:  TypeUtilsTest contains incorrect type assignability
>>>> assertion.
>>>>> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments for
>>>>> +             partially-assigned classes.
>>>>> +o LANG-773:  ImmutablePair doc contains nonsense text.
>>>>> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage
>> text.
>>>>> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no longer
>>>> defines
>>>>> +             serialVersionUID.
>>>>> +o LANG-764:  StrBuilder is now serializable.
>>>>> +o LANG-761:  Fix Javadoc Ant warnings.
>>>>> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
>>>>> +o LANG-743:  Javadoc bug in static inner class DateIterator.
>>>>> +
>>>>> +CHANGES
>>>>> +=========
>>>>> +
>>>>> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
>>>> Thanks
>>>>> +             to Christoph Schneegans.
>>>>> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking
>> spaces
>>>>> +             (Unicode 00A0). Thanks to Timur Yarosh.
>>>>> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor. Thanks
>> to
>>>>> +             Allon Mureinik.
>>>>> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
>>>>> +o LANG-882:  LookupTranslator now works with implementations of
>>>> CharSequence
>>>>> +             other than String.
>>>>> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a proper
>>>> green
>>>>> +             implementation instead of inefficiently converting to
>>>> Strings.
>>>>> +o LANG-839:  ArrayUtils removeElements methods use unnecessary
>> HashSet.
>>>>> +o LANG-838:  ArrayUtils removeElements methods clone temporary index
>>>> arrays
>>>>> +             unnecessarily.
>>>>> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
>>>> support.
>>>>> +o LANG-798:  Use generics in SerializationUtils.
>>>>> +
>>>>> +CHANGES WITHOUT TICKET
>>>>> +========================
>>>>> +
>>>>> +o Fixed URLs in javadoc to point to new oracle.com pages
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.1
>>>>> +
>>>>> +NEW FEATURES
>>>>> +==============
>>>>> +
>>>>> +o LANG-801:  Add Conversion utility to convert between data types on
>>>> byte level
>>>>> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
>>>> charsetName)
>>>>> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
>>>>> +             isPrimitiveOrWrapper(Class<?>)
>>>>> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a
>> Unix
>>>> system
>>>>> +
>>>>> +BUG FIXES
>>>>> +===========
>>>>> +
>>>>> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
>>>>> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and -0X
>>>>> +o LANG-744:  StringUtils throws java.security.AccessControlException
>>>> on Google
>>>>> +             App Engine
>>>>> +o LANG-741:  Ant build has wrong component.name
>>>>> +o LANG-698:  Document that the Mutable numbers don't work as expected
>>>> with
>>>>> +             String.format
>>>>> +
>>>>> +CHANGES
>>>>> +=========
>>>>> +
>>>>> +o LANG-758:  Add an example with whitespace in
>>>> StringUtils.defaultIfEmpty
>>>>> +o LANG-752:  Fix createLong() so it behaves like createInteger()
>>>>> +o LANG-751:  Include the actual type in the Validate.isInstance and
>>>>> +             isAssignableFrom exception messages
>>>>> +o LANG-748:  Deprecating chomp(String, String)
>>>>> +o LANG-736:  CharUtils static final array CHAR_STRING is not needed to
>>>> compute
>>>>> +             CHAR_STRING_ARRAY
>>>>> +
>>>>> +===========================================================
>>>> ==================
>>>>> +
>>>>> +                        Release Notes for version 3.0
>>>>> +
>>>>> +ADDITIONS
>>>>> +===========
>>>>> +
>>>>> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
>>>>> +o LANG-285:  Wish : method unaccent.
>>>>> +o LANG-358:  ObjectUtils.coalesce.
>>>>> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
>>>> necessary.
>>>>> +o LANG-435:  Add ClassUtils.isAssignable() variants with autoboxing.
>>>>> +o LANG-444:  StringUtils.emptyToNull.
>>>>> +o LANG-482:  Enhance StrSubstitutor to support nested ${var-${subvr}}
>>>> expansion
>>>>> +o LANG-482:  StrSubstitutor now supports substitution in variable
>> names.
>>>>> +o LANG-496:  A generic implementation of the Lazy initialization
>>>> pattern.
>>>>> +o LANG-497:  Addition of ContextedException and
>>>> ContextedRuntimeException.
>>>>> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
>>>>> +o LANG-499:  Add support for the handling of ExecutionExceptions.
>>>>> +o LANG-501:  Add support for background initialization.
>>>>> +o LANG-529:  Add a concurrent package.
>>>>> +o LANG-533:  Validate: support for validating blank strings.
>>>>> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
>>>>> +o LANG-545:  Add ability to create a Future for a constant.
>>>>> +o LANG-546:  Add methods to Validate to check whether the index is
>>>> valid for
>>>>> +             the array/list/string.
>>>>> +o LANG-553:  Add TypeUtils class to provide utility code for working
>>>> with generic
>>>>> +             types.
>>>>> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation
>> methods.
>>>>> +o LANG-559:  Added validState validation method.
>>>>> +o LANG-560:  New TimedSemaphore class.
>>>>> +o LANG-582:  Provide an implementation of the ThreadFactory interface.
>>>>> +o LANG-588:  Create a basic Pair<L, R> class.
>>>>> +o LANG-594:  DateUtils equal & compare functions up to most
>> significant
>>>> field.
>>>>> +o LANG-601:  Add Builder Interface / Update Builders to Implement It.
>>>>> +o LANG-609:  Support lazy initialization using atomic variables
>>>>> +o LANG-610:  Extend exception handling in ConcurrentUtils to runtime
>>>> exceptions.
>>>>> +o LANG-614:  StringUtils.endsWithAny method
>>>>> +o LANG-640:  Add normalizeSpace to StringUtils
>>>>> +o LANG-644:  Provide documentation about the new concurrent package
>>>>> +o LANG-649:  BooleanUtils.toBooleanObject to support single character
>>>> input
>>>>> +o LANG-651:  Add AnnotationUtils
>>>>> +o LANG-653:  Provide a very basic ConcurrentInitializer implementation
>>>>> +o LANG-655:  Add StringUtils.defaultIfBlank()
>>>>> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
>>>>> +o LANG-676:  Documented potential NPE if auto-boxing occurs for some
>>>> BooleanUtils
>>>>> +             methods
>>>>> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
>>>>> +o LANG-692:  Add hashCodeMulti varargs method
>>>>> +o LANG-697:  Add FormattableUtils class
>>>>> +o LANG-684:  Levenshtein Distance Within a Given Threshold
>>>>> +
>>>>> +REMOVALS
>>>>> +==========
>>>>> +
>>>>> +o LANG-438:  Remove @deprecateds.
>>>>> +o LANG-492:  Remove code handled now by the JDK.
>>>>> +o LANG-493:  Remove code that does not hold enough value to remain.
>>>>> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
>>>>> +             StringUtils.indexOf(String, String, int).
>>>>> +o LANG-673:  WordUtils.abbreviate() removed
>>>>> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
>>>>> +
>>>>> +IMPROVEMENTS
>>>>> +==============
>>>>> +
>>>>> +o LANG-290:  EnumUtils for JDK 5.0.
>>>>> +o LANG-336:  Finally start using generics.
>>>>> +o LANG-355:  StrBuilder should implement CharSequence and Appendable.
>>>>> +o LANG-396:  Investigate for vararg usages.
>>>>> +o LANG-424:  Improve Javadoc for StringUtils class.
>>>>> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
>>>>> +o LANG-479:  Document where in SVN trunk is.
>>>>> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
>>>>> +o LANG-505:  Rewrite StringEscapeUtils.
>>>>> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+
>> notation.
>>>>> +o LANG-510:  Convert StringUtils API to take CharSequence.
>>>>> +o LANG-513:  Better EnumUtils.
>>>>> +o LANG-528:  Mutable classes should implement an appropriately typed
>>>> Mutable
>>>>> +             interface.
>>>>> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
>>>>> +o LANG-540:  Make NumericEntityEscaper immutable.
>>>>> +o LANG-541:  Replace StringBuffer with StringBuilder.
>>>>> +o LANG-548:  Use Iterable on API instead of Collection.
>>>>> +o LANG-551:  Replace Range classes with generic version.
>>>>> +o LANG-562:  Change Maven groupId.
>>>>> +o LANG-563:  Change Java package name.
>>>>> +o LANG-570:  Do the test cases really still require main() and suite()
>>>> methods?
>>>>> +o LANG-579:  Add new Validate methods.
>>>>> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
>>>> Separators.
>>>>> +o LANG-605:  DefaultExceptionContext overwrites values in recursive
>>>> situations.
>>>>> +o LANG-668:  Change ObjectUtils min() & max() functions to use varargs
>>>> rather
>>>>> +             than just two parameters
>>>>> +o LANG-681:  Push down WordUtils to "text" sub-package.
>>>>> +o LANG-711:  Add includeantruntime=false to javac targets to quell
>>>> warnings in
>>>>> +             ant 1.8.1 and better (and modest performance gain).
>>>>> +o LANG-713:  Increase test coverage of FieldUtils read methods and
>> tweak
>>>>> +             javadoc.
>>>>> +o LANG-718:  build.xml Java 1.5+ updates.
>>>>> +
>>>>> +BUG FIXES
>>>>> +===========
>>>>> +
>>>>> +o LANG-11:   Depend on JDK 1.5+.
>>>>> +o LANG-302:  StrBuilder does not implement clone().
>>>>> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
>>>> characters like
>>>>> +             Chinese, Japanese, etc.
>>>>> +o LANG-369:  ExceptionUtils not thread-safe.
>>>>> +o LANG-418:  Javadoc incorrect for StringUtils.endsWithIgnoreCase.
>>>>> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
>>>> return false
>>>>> +             for ""
>>>>> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
>>>> (0x00-0x20).
>>>>> +o LANG-448:  Lower Ascii Characters don't get encoded by
>> Entities.java.
>>>>> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393
>> (EqualsBuilder).
>>>>> +o LANG-474:  Fixes for thread safety.
>>>>> +o LANG-478:  StopWatch does not resist to system time changes.
>>>>> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts unicode
>>>>> +             characters above U+00FFFF into 2 characters.
>>>>> +o LANG-481:  Possible race-conditions in hashCode of the range
>> classes.
>>>>> +o LANG-564:  Improve StrLookup API documentation.
>>>>> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
>>>>> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create
>> unexpected
>>>>> +             ClassCastException.
>>>>> +o LANG-585:  exception.DefaultExceptionContext.
>>>> getFormattedExceptionMessage
>>>>> +             catches Throwable.
>>>>> +o LANG-596:  StrSubstitutor should also handle the default properties
>>>> of a
>>>>> +             java.util.Properties class
>>>>> +o LANG-600:  Javadoc is incorrect for public static int
>>>>> +             lastIndexOf(String str, String searchStr).
>>>>> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
>>>> exception.
>>>>> +o LANG-606:  EqualsBuilder causes StackOverflowException.
>>>>> +o LANG-608:  Some StringUtils methods should take an int character
>>>> instead of
>>>>> +             char to use String API features.
>>>>> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
>>>> supplementary
>>>>> +             characters
>>>>> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
>>>>> +             StringIndexOutOfBoundsException on Android
>> runtime/Dalvik
>>>> VM
>>>>> +o LANG-629:  Charset may not be threadsafe, because the HashSet is not
>>>> synch.
>>>>> +o LANG-638:  NumberUtils createNumber throws a
>>>> StringIndexOutOfBoundsException
>>>>> +             when argument containing "e" and "E" is passed in
>>>>> +o LANG-643:  Javadoc StringUtils.left() claims to throw on negative
>>>> len, but
>>>>> +             doesn't
>>>>> +o LANG-645:  FastDateFormat.format() outputs incorrect week of year
>>>> because
>>>>> +             locale isn't respected
>>>>> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
>>>> escapes and
>>>>> +             Unicode with extra u
>>>>> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '') = 0
>>>> incorrect
>>>>> +o LANG-658:  Some Entitys like &Ouml; are not matched properly against
>>>> its
>>>>> +             ISO8859-1 representation
>>>>> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus sign,
>>>> U+2212
>>>>> +             ISOtech
>>>>> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
>>>>> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not reduce
>>>>> +             (Integer.MIN_VALUE, 2^k)
>>>>> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not always
>>>> succeed in
>>>>> +             multiplyBy and divideBy
>>>>> +o LANG-664:  NumberUtils.isNumber(String) is not right when the String
>>>> is
>>>>> +             "1.1L"
>>>>> +o LANG-672:  Doc bug in DateUtils#ceiling
>>>>> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour clock
>> and
>>>> not
>>>>> +             24 hour
>>>>> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
>>>>> +o LANG-703:  StringUtils.join throws NPE when toString returns null
>> for
>>>> one of
>>>>> +             objects in collection
>>>>> +o LANG-710:  StringIndexOutOfBoundsException when calling
>>>> unescapeHtml4("&#03")
>>>>> +o LANG-714:  StringUtils doc/comment spelling fixes.
>>>>> +o LANG-715:  CharSetUtils.squeeze() speedup.
>>>>> +o LANG-716:  swapCase and *capitalize speedups.
>>>>> +
>>>>> +
>>>>> +Historical list of changes: http://commons.apache.org/
>>>> lang/changes-report.html
>>>>> +
>>>>> +For complete information on Commons Lang, including instructions on
>> how
>>>> to
>>>>> +submit bug reports, patches, or suggestions for improvement, see the
>>>>> +Apache Commons Lang website:
>>>>> +
>>>>> +http://commons.apache.org/lang/
>>>>> +
>>>>> +Have fun!
>>>>> +-Apache Commons Lang team
>>>>> +
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
>>>>> ============================================================
>>>> ==================
>>>>> Binary file - no diff available.
>>>>> 
>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz
>>>>> ------------------------------------------------------------
>>>> ------------------
>>>>>  svn:mime-type = application/octet-stream
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.asc
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.asc
>>>> (added)
>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.asc
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1,16 @@
>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>> +
>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
>>>>> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
>>>>> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
>>>>> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
>>>>> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
>>>>> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
>>>>> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
>>>>> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
>>>>> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
>>>>> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
>>>>> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
>>>>> +=tjQB
>>>>> +-----END PGP SIGNATURE-----
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.md5
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.md5
>>>> (added)
>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.md5
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +fe7776aab25e229c9a5805c3ba82d219
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>>>> bin.tar.gz.sha1
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.sha1
>>>> (added)
>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.sha1
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
>>>>> ============================================================
>>>> ==================
>>>>> Binary file - no diff available.
>>>>> 
>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip
>>>>> ------------------------------------------------------------
>>>> ------------------
>>>>>  svn:mime-type = application/octet-stream
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.asc
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>> (added)
>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1,16 @@
>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>> +
>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
>>>>> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
>>>>> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
>>>>> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
>>>>> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
>>>>> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
>>>>> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
>>>>> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
>>>>> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
>>>>> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
>>>>> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
>>>>> +=6Bjb
>>>>> +-----END PGP SIGNATURE-----
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.md5
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>> (added)
>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +3b8ee236a7105277427d305587a6c8dd
>>>>> 
>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.zip.sha1
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>>>> (added)
>>>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>> 
>>>>> Added: dev/commons/lang/site.zip
>>>>> ============================================================
>>>> ==================
>>>>> Binary file - no diff available.
>>>>> 
>>>>> Propchange: dev/commons/lang/site.zip
>>>>> ------------------------------------------------------------
>>>> ------------------
>>>>>  svn:mime-type = application/octet-stream
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>>>>> ============================================================
>>>> ==================
>>>>> Binary file - no diff available.
>>>>> 
>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz
>>>>> ------------------------------------------------------------
>>>> ------------------
>>>>>  svn:mime-type = application/octet-stream
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.asc
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>>>> (added)
>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1,16 @@
>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>> +
>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
>>>>> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
>>>>> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
>>>>> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
>>>>> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
>>>>> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
>>>>> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
>>>>> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
>>>>> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
>>>>> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
>>>>> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
>>>>> +=8mS4
>>>>> +-----END PGP SIGNATURE-----
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.md5
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>>>> (added)
>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +11b0a67eee0b856ee3629bdcfef35649
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>>>> src.tar.gz.sha1
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>>>> (added)
>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>>>> Thu Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
>>>>> ============================================================
>>>> ==================
>>>>> Binary file - no diff available.
>>>>> 
>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
>>>>> ------------------------------------------------------------
>>>> ------------------
>>>>>  svn:mime-type = application/octet-stream
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>> (added)
>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc Thu
>>>> Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1,16 @@
>>>>> +-----BEGIN PGP SIGNATURE-----
>>>>> +
>>>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>>>> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
>>>>> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
>>>>> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
>>>>> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
>>>>> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
>>>>> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
>>>>> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
>>>>> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
>>>>> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
>>>>> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
>>>>> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
>>>>> +=5+7f
>>>>> +-----END PGP SIGNATURE-----
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>> (added)
>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5 Thu
>>>> Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +66d939d849bb560af8259d10156a58ec
>>>>> 
>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>>>> ============================================================
>>>> ==================
>>>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>>> (added)
>>>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>> Thu
>>>> Jan  4 12:45:36 2018
>>>>> @@ -0,0 +1 @@
>>>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>> 
>>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org <ma...@commons.apache.org>
>> For additional commands, e-mail: dev-help@commons.apache.org <ma...@commons.apache.org>

Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Gary Gregory <ga...@gmail.com>.
On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins <ch...@gmail.com> wrote:

> So with comments, I’m thinking I’ll submit a component vote. Any
> opposition?
>

Do you already have a git repo,  JIRA project and all that?

Gary

>
> > On Jan 4, 2018, at 11:28 AM, Gary Gregory <ga...@gmail.com>
> wrote:
> >
> > That looks good. Thank you Rob!
> >
> > Gary
> >
> >> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com>
> wrote:
> >>
> >> @Gary - Below is the result from my release plugin with [lang3]. Give
> it a
> >> looking over and let me know what you think.
> >>
> >> -Rob
> >>
> >>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
> >>>
> >>> Author: chtompki
> >>> Date: Thu Jan  4 12:45:36 2018
> >>> New Revision: 24009
> >>>
> >>> Log:
> >>> Staging release: commons-lang3, version: 3.8-SNAPSHOT
> >>>
> >>> Added:
> >>>   dev/commons/lang/RELEASE-NOTES.txt
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
> >> (with props)
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip   (with
> >> props)
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> >>>   dev/commons/lang/site.zip   (with props)
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> >> (with props)
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
> >> props)
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >>>
> >>> Added: dev/commons/lang/RELEASE-NOTES.txt
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/RELEASE-NOTES.txt (added)
> >>> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1,1176 @@
> >>> +
> >>> +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.7
> >>> +                           Release Notes
> >>> +
> >>> +
> >>> +INTRODUCTION:
> >>> +
> >>> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes resource
> >> contention (PR #296.) Thanks to Chas Honton.
> >>> +o LANG-1360: Add methods to ObjectUtils to get various forms of class
> >> names in a null-safe manner Thanks to Gary Gregory.
> >>> +
> >>> +Fixed Bugs:
> >>> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
> >> Thanks to Stephen Colebourne.
> >>> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on Java
> >> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to Gary
> >> Gregory.
> >>> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
> >> generic return type of Enum.valueOf Thanks to mbusso.
> >>> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
> >> regression Thanks to Brett Kail.
> >>> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug
> >> Thanks to Naman Nigam.
> >>> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should use
> >> toUpperCase(Locale) Thanks to BruceKuiLiu.
> >>> +
> >>> +Changes:
> >>> +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
> >>> +                               Version 3.6
> >>> +                              Release Notes
> >>> +
> >>> +
> >>> +INTRODUCTION:
> >>> +
> >>> +This document contains the release notes for the 3.6 version of
> >>> +Apache Commons Lang as well as a history all changes in the Commons
> >> Lang 3.x
> >>> +release line. Commons Lang is a set of utility functions and reusable
> >>> +components that should be of use in any Java environment. Commons Lang
> >> 3.6 at
> >>> +least requires Java 7.0. Note that this has changed from Commons Lang
> >> 3.5, which
> >>> +only required Java 1.6.
> >>> +
> >>> +For the advice on upgrading from 2.x to 3.x, see the following page:
> >>> +
> >>> +    http://commons.apache.org/lang/article3_0.html
> >>> +
> >>> +HIGHLIGHTS
> >>> +==========
> >>> +
> >>> +Some of the highlights in this release include:
> >>> +
> >>> +o The class org.apache.commons.lang3.concurrent.Memoizer is an
> >> implementation
> >>> +    of the Memoizer pattern as shown in
> >>> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p. 108.
> >>> +o The class org.apache.commons.lang3.ArchUtils has been added.
> >> ArchUtils is
> >>> +    a utility class for the "os.arch" system property.
> >>> +
> >>> +DEPRECATIONS
> >>> +============
> >>> +
> >>> +The Apache Commons Community has recently set up the Commons Text
> >> component
> >>> +as a home for algorithms working on strings. For this reason most of
> >> the string
> >>> +focused functionality in Commons Lang has been deprecated and moved to
> >>> +Commons Text. This includes:
> >>> +
> >>> +o All classes in the org.apache.commons.lang3.text and the
> >>> +    org.apache.commons.lang3.text.translate packages
> >>> +o org.apache.commons.lang3.StringEscapeUtils
> >>> +o org.apache.commons.lang3.RandomStringUtils
> >>> +o The methods org.apache.commons.lang3.StringUtils.
> getJaroWinklerDistance
> >> and
> >>> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
> >>> +
> >>> +For more information see the Commons Text website:
> >>> +
> >>> +    http://commons.apache.org/text
> >>> +
> >>> +The class org.apache.commons.lang3.CharEncoding has been deprecated
> in
> >> favor of
> >>> +java.nio.charset.StandardCharsets.
> >>> +
> >>> +The following methods have been deprecated in
> >>> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
> >> insert
> >>> +methods. Note that the handling for null inputs differs between add
> and
> >> insert.
> >>> +
> >>> +o add(boolean[], int, boolean) -> insert(int, boolean[], boolean...)
> >>> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
> >>> +o add(char[], int, boolean)    -> insert(int, char[], char...)
> >>> +o add(double[], int, boolean)  -> insert(int, double[], double...)
> >>> +o add(float[], int, boolean)   -> insert(int, float[], float...)
> >>> +o add(int[], int, boolean)     -> insert(int, int[], int...)
> >>> +o add(long[], int, boolean)    -> insert(int, long[], long...)
> >>> +o add(short[], int, boolean)   -> insert(int, short[], short...)
> >>> +o add(T[], int, boolean)       -> insert(int, T[], T...)
> >>> +
> >>> +
> >>> +COMPATIBILITY WITH JAVA 9
> >>> +==================
> >>> +
> >>> +The MANIFEST.MF now contains an additional entry:
> >>> +
> >>> +  Automatic-Module-Name: org.apache.commons.lang3
> >>> +
> >>> +This should make it possible to use Commons Lang 3.6 as a module in
> the
> >> Java 9
> >>> +module system. For more information see the corresponding issue and
> the
> >>> +referenced mailing list discussions:
> >>> +
> >>> +    https://issues.apache.org/jira/browse/LANG-1338
> >>> +
> >>> +The build problems present in the 3.5 release have been resolved.
> >> Building
> >>> +Commons Lang 3.6 should work out of the box with the latest Java 9 EA
> >> build.
> >>> +Please report any Java 9 related issues at:
> >>> +
> >>> +    https://issues.apache.org/jira/browse/LANG
> >>> +
> >>> +NEW FEATURES
> >>> +============
> >>> +
> >>> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
> >>> +o LANG-1304: Add method in StringUtils to determine if string contains
> >> both
> >>> +             mixed cased characters. Thanks to Andy Klimczak.
> >>> +o LANG-1325: Increase test coverage of ToStringBuilder class to 100%.
> >>> +             Thanks to Arshad Basha.
> >>> +o LANG-1307: Add a method in StringUtils to extract only digits out of
> >> input
> >>> +             string. Thanks to Arshad Basha.
> >>> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
> >>> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
> >>> +             Thanks to Mark Dacek.
> >>> +o LANG-1299: Add method for converting string to an array of code
> >> points.
> >>> +o LANG-660:  Add methods to insert arrays into arrays at an index.
> >>> +o LANG-1034: Add support for recursive comparison to
> >>> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
> >>> +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.
> >>> +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.
> >>> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch" system
> >> property.
> >>> +             Thanks to Tomschi.
> >>> +o LANG-1272: Add shuffle methods to ArrayUtils.
> >>> +o LANG-1317: Add MethodUtils#findAnnotation and extend
> >>> +             MethodUtils#getMethodsWithAnnotation for non-public,
> >> super-class
> >>> +             and interface methods. Thanks to Yasser Zamani.
> >>> +o LANG-1331: Add ImmutablePair.nullPair().
> >>> +o LANG-1332: Add ImmutableTriple.nullTriple().
> >>> +
> >>> +FIXED BUGS
> >>> +==========
> >>> +
> >>> +o LANG-1337: Fix test failures in IBM JDK 8 for ToStringBuilderTest.
> >>> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError when
> >> object is
> >>> +             an array.
> >>> +o LANG-1320: LocaleUtils#toLocale does not support language followed
> by
> >> UN M.49
> >>> +             numeric-3 area code followed by variant.
> >>> +o LANG-1300: Clarify or improve behaviour of int-based indexOf methods
> >> in
> >>> +             StringUtils. Thanks to Mark Dacek.
> >>> +o LANG-1286: RandomStringUtils random method can overflow and return
> >> characters
> >>> +             outside of specified range.
> >>> +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ò.
> >>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
> >>> +             Thanks to Andreas Lundblad.
> >>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible
> heap
> >>> +             pollution from parameterized vararg type T.
> >>> +o LANG-1144: Multiple calls of
> >>> +             org.apache.commons.lang3.concurrent.LazyInitializer.
> >> initialize()
> >>> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
> >>> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException.
> >>> +             Thanks to Andy Klimczak.
> >>> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
> >>> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
> >>> +             Thanks to Paul Pogonyshev.
> >>> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return
> false
> >> for an
> >>> +             empty array. Thanks to Pierre Templier.
> >>> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
> >> Andrade.
> >>> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and Object
> >> arrays
> >>> +             correctly. Thanks to Aaron Digulla.
> >>> +o LANG-1312: LocaleUtils#toLocale does not support language followed
> by
> >> UN M.49
> >>> +             numeric-3 area code.
> >>> +o LANG-1265: Build failures when building with Java 9 EA.
> >>> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
> >> Murienik.
> >>> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException if
> >> using
> >>> +             varargs arguments and smaller types than the method
> >> defines.
> >>> +             Thanks to Don Jeba.
> >>> +
> >>> +CHANGES
> >>> +=======
> >>> +
> >>> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
> >>> +             compatibility.
> >>> +o LANG-1334: Deprecate CharEncoding in favour of
> >>> +             java.nio.charset.StandardCharsets.
> >>> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
> >>> +             Thanks to Bruno P. Kinoshita.
> >>> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
> >> ArrayUtils.
> >>> +             Thanks to Andrii Abramov.
> >>> +o LANG-1274: StrSubstitutor should state its thread safety.
> >>> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
> >> consumption.
> >>> +             Thanks to yufcuy.
> >>> +o LANG-1279: Update Java requirement from Java 6 to 7.
> >>> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
> >>> +             toXxxxCase(char). Thanks to sebb.
> >>> +o LANG-1297: Add SystemUtils.getHostName() API.
> >>> +o LANG-1301: Moving apache-rat-plugin configuration into
> >> pluginManagement.
> >>> +             Thanks to Karl Heinz Marbaise.
> >>> +o LANG-1316: Deprecate classes/methods moved to commons-text.
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.5
> >>> +
> >>> +
> >>> +HIGHLIGHTS
> >>> +==========
> >>> +
> >>> +Some of the highlights in this release include:
> >>> +
> >>> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
> >>> +o Support for shifting and swapping elements in
> >>> +    org.apache.commons.lang3.ArrayUtils.
> >>> +o New methods for generating random strings from different character
> >> classes
> >>> +    including alphabetic, alpha-numeric and ASCII added to
> >>> +    org.apache.commons.lang3.RandomStringUtils.
> >>> +o Numerous extensions to org.apache.commons.lang3.StringUtils
> including
> >>> +    null safe compare variants, more remove and replace variants,
> >> rotation and
> >>> +    truncation.
> >>> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to
> work
> >> with
> >>> +    instances of java.lang.Thread and java.lang.ThreadGroup.
> >>> +o Added annotations @EqualsExclude, @HashCodeExclude and
> >> @ToStringEclude to
> >>> +    mark fields which should be ignored by the reflective builders in
> >> the
> >>> +    org.apache.commons.lang3.builder package.
> >>> +o Support for various modify and retrieve value use cases added to the
> >> classes
> >>> +    in org.apache.commons.lang3.mutable.
> >>> +
> >>> +COMPATIBILITY
> >>> +=============
> >>> +
> >>> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release.
> Users
> >>> +should not experience any problems when upgrading from 3.4 to 3.5.
> >>> +
> >>> +There has been an addition to the org.apache.commons.lang3.time.
> >> DatePrinter
> >>> +interface:
> >>> +
> >>> +o Added method 'public boolean parse(java.lang.String,
> >> java.text.ParsePosition,
> >>> +    java.util.Calendar)'
> >>> +o Added method 'public java.lang.Appendable format(long,
> >> java.lang.Appendable)'
> >>> +o Added method 'public java.lang.Appendable format(java.util.Date,
> >>> +    java.lang.Appendable)'
> >>> +o Added method 'public java.lang.Appendable format(java.util.Calendar,
> >>> +    java.lang.Appendable)'
> >>> +
> >>> +For this reason 3.5 is not strictly source compatible to 3.4. Since
> the
> >>> +DatePrinter interface is not meant to be implemented by clients, this
> >>> +change it not considered to cause any problems.
> >>> +
> >>> +JAVA 9 SUPPORT
> >>> +==============
> >>> +
> >>> +Java 9 introduces a new version-string scheme. Details of this new
> >> scheme are
> >>> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In order to
> >> support
> >>> +JEP-223 two classes had to be changed:
> >>> +
> >>> +o org.apache.commons.lang3.JavaVersion
> >>> +    deprecated enum constant JAVA_1_9
> >>> +    introduced enum constant JAVA_9
> >>> +
> >>> +o org.apache.commons.lang3.SystemUtils
> >>> +    deprecated constant IS_JAVA_1_9
> >>> +    introduced constant IS_JAVA_9
> >>> +
> >>> +For more information see LANG-1197
> >>> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs are
> >> expected
> >>> +to work with Java 9.
> >>> +
> >>> +BUILDING ON JAVA 9
> >>> +==================
> >>> +
> >>> +Java 8 introduced the Unicode Consortium's Common Locale Data
> >> Repository as
> >>> +alternative source for locale data. Java 9 will use the CLDR provider
> as
> >>> +default provider for locale data (see http://openjdk.java.net/jeps/
> 252).
> >> This
> >>> +causes an number of locale-sensitive test in Commons Lang to fail. In
> >> order
> >>> +to build Commons Lang 3.5 on Java 9, the locale provider has to be set
> >> to
> >>> +'JRE':
> >>> +
> >>> +    mvn -Djava.locale.providers=JRE clean install
> >>> +
> >>> +We are currently investigating ways to support building on Java 9
> >> without
> >>> +further configuration. For more information see:
> >>> +https://issues.apache.org/jira/browse/LANG-1265
> >>> +
> >>> +
> >>> +NEW FEATURES
> >>> +==============
> >>> +
> >>> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
> >>> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
> >> Kaiyuan Wang.
> >>> +o LANG-1023: Add WordUtils.wrap overload with customizable breakable
> >> character.
> >>> +             Thanks to Marko Bekhta.
> >>> +o LANG-787:  Add method removeIgnoreCase(String, String) to
> >> StringUtils. Thanks
> >>> +             to Gokul Nanthakumar C.
> >>> +o LANG-1224: Extend RandomStringUtils with methods that generate
> strings
> >>> +             between a min and max length. Thanks to Caleb Cushing.
> >>> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String, char|String).
> >> Thanks to
> >>> +             Gary Gregory.
> >>> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to adilek.
> >>> +o LANG-1085: Add a circuit breaker implementation. Thanks to Oliver
> >> Heger and
> >>> +             Bruno P. Kinoshita.
> >>> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
> >>> +o LANG-1195: Enhance MethodUtils to allow invocation of private
> >> methods. Thanks
> >>> +             to Derek C. Ashmore.
> >>> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
> >> incrementAndGet/
> >>> +             decrementAndGet/addAndGet in Mutable* classes. Thanks to
> >>> +             Haiyang Li and Matthew Bartenschlag.
> >>> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint which
> >> match
> >>> +             corresponding regular expression class. Thanks to Caleb
> >> Cushing.
> >>> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick Manley.
> >>> +o LANG-781:  Add methods to ObjectUtils class to check for null
> >> elements in the
> >>> +             array. Thanks to Krzysztof Wolny.
> >>> +o LANG-1228: Prefer Throwable.getCause() in ExceptionUtils.getCause().
> >>> +             Thanks to Brad Hess.
> >>> +o LANG-1233: DiffBuilder add method to allow appending from a
> >> DiffResult.
> >>> +             Thanks to Nick Manley.
> >>> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
> >>> +             Thanks to Pascal Schumacher.
> >>> +o LANG-1115: Add support for varargs in ConstructorUtils, MemberUtils,
> >> and
> >>> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
> >>> +o LANG-1134: Add methods to check numbers against NaN and inifinite to
> >>> +             Validate. Thanks to Alan Smithee.
> >>> +o LANG-1220: Add tests for missed branches in DateUtils.
> >>> +             Thanks to Casey Scarborough.
> >>> +o LANG-1146: z/OS identification in SystemUtils.
> >>> +             Thanks to Gabor Liptak.
> >>> +o LANG-1192: FastDateFormat support of the week-year component
> >> (uppercase 'Y').
> >>> +             Thanks to Dominik Stadler.
> >>> +o LANG-1169: Add StringUtils methods to compare a string to multiple
> >> strings.
> >>> +             Thanks to Rafal Glowinski, Robert Parr and Arman Sharif.
> >>> +o LANG-1185: Add remove by regular expression methods in StringUtils.
> >>> +o LANG-1139: Add replace by regular expression methods in StringUtils.
> >>> +o LANG-1171: Add compare methods in StringUtils.
> >>> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
> >>> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks to
> >>> +             Gary Gregory.
> >>> +o LANG-1149: Ability to throw checked exceptions without declaring
> >> them. Thanks
> >>> +             to Gregory Zak.
> >>> +o LANG-1153: Implement ParsePosition api for FastDateParser.
> >>> +o LANG-1137: Add check for duplicate event listener in
> >> EventListenerSupport.
> >>> +             Thanks to Matthew Aguirre.
> >>> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
> >>> +             Eduardo Martins.
> >>> +o LANG-1132: ReflectionToStringBuilder doesn't throw
> >> IllegalArgumentException
> >>> +             when the constructor's object param is null. Thanks to
> >> Jack Tan.
> >>> +o LANG-701:  StringUtils join with var args. Thanks to James Sawle.
> >>> +o LANG-1105: Add ThreadUtils - A utility class which provides helper
> >> methods
> >>> +             related to java.lang.Thread  Issue: LANG-1105. Thanks to
> >>> +             Hendrik Saly.
> >>> +o LANG-1031: Add annotations to exclude fields from
> >> ReflectionEqualsBuilder,
> >>> +             ReflectionToStringBuilder and ReflectionHashCodeBuilder.
> >> Thanks
> >>> +             to Felipe Adorno.
> >>> +o LANG-1127: Use JUnit rules to set and reset the default Locale and
> >> TimeZone.
> >>> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks to
> >>> +             Loic Guibert.
> >>> +o LANG-1099: Add swap and shift operations for arrays to ArrayUtils.
> >> Thanks to
> >>> +             Adrian Ber.
> >>> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to James
> >> Sawle.
> >>> +o LANG-1074: Add a method to ArrayUtils for removing all occurrences
> of
> >> a given
> >>> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
> >>> +
> >>> +FIXED BUGS
> >>> +============
> >>> +
> >>> +o LANG-1261: ArrayUtils.contains returns false for instances of
> >> subtypes.
> >>> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better
> reflect
> >>> +             createNumber. Also, accommodated for "+" symbol as prefix
> >> in
> >>> +             isCreatable and isNumber. Thanks to Rob Tompkins.
> >>> +o LANG-1230: Remove unnecessary synchronization from registry lookup
> in
> >>> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
> >> Marschall.
> >>> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to Henry
> >> Tung.
> >>> +o LANG-1250: SerializationUtils#deserialize has unnecessary code and a
> >> comment
> >>> +             for that. Thanks to Glease Wang.
> >>> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException when
> >> fromType
> >>> +             has type variables and toType generic superclass
> specifies
> >> type
> >>> +             variable. Thanks to Pascal Schumacher.
> >>> +o LANG-1226: StringUtils#normalizeSpace does not trim the string
> >> anymore.
> >>> +             Thanks to Pascal Schumacher.
> >>> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
> >> should use
> >>> +             static initializer to initialize primitiveTypes map.
> >> Thanks to
> >>> +             Takuya Ueshin.
> >>> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks to
> >>> +             Benoit Wiart.
> >>> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(String).
> >> Thanks to
> >>> +             Nick Manley.
> >>> +o LANG-1199: Fix implementation of StringUtils.
> getJaroWinklerDistance().
> >> Thanks
> >>> +             to M. Steiger.
> >>> +o LANG-1244: Fix dead links in StringUtils.getLevenshteinDistance()
> >> javadoc.
> >>> +             Thanks to jjbankert.
> >>> +o LANG-1242: "\u2284":"?" mapping missing from
> >>> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
> >> Stewart.
> >>> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case sensitive
> -
> >>> +             documented as case insensitive. Thanks to Matthew
> >> Bartenschlag.
> >>> +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 "Å‚".
> >>> +             Thanks to kaching88.
> >>> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
> >>> +             NumberUtils.isNumber(). Thanks to pbrose.
> >>> +o LANG-1222: Fix for incorrect comment on
> StringUtils.containsIgnoreCase
> >>> +             method. Thanks to Adam J.
> >>> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
> >> Templier.
> >>> +o LANG-1202: parseDateStrictly does't pass specified locale. Thanks to
> >>> +             Markus Jelsma.
> >>> +o LANG-1219: FastDateFormat doesn't respect summer daylight in some
> >> localized
> >>> +             strings. Thanks to Jarek.
> >>> +o LANG-1175: Remove Ant-based build.
> >>> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
> >>> +o LANG-1186: Fix NullPointerException in FastDateParser$
> >> TimeZoneStrategy.
> >>> +             Thanks to NickManley.
> >>> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer of
> -1
> >>> +             (correct answer should be 0); revert fix for LANG-1077.
> >> Thanks to
> >>> +             Qin Li.
> >>> +o LANG-1002: Several predefined ISO FastDateFormats in DateFormatUtils
> >> are
> >>> +             incorrect. Thanks to Michael Osipov.
> >>> +o LANG-1152: StringIndexOutOfBoundsException or field over-write for
> >> large year
> >>> +             fields in FastDateParser. Thanks to Pas Filip.
> >>> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts on
> >> changes on
> >>> +             system properties.
> >>> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values Enum.
> >> Thanks
> >>> +             to Loic Guibert.
> >>> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin Casey.
> >>> +o LANG-1122: Inconsistent behavior of swap for malformed inputs.
> Thanks
> >> to
> >>> +             Adrian Ber.
> >>> +o LANG-1130: Fix critical issues reported by SonarQube.
> >>> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
> >> inputs.
> >>> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
> >> correctly.
> >>> +             Thanks to Jack Tan.
> >>> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default
> Locale.
> >>> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a timezone
> >> set.
> >>> +             Thanks to Christian P. Momon.
> >>> +o LANG-916:  DateFormatUtils.format does not correctly change Calendar
> >>> +             TimeZone in certain situations. Thanks to Christian P.
> >> Momon.
> >>> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones.
> Thanks
> >> to
> >>> +             Aaron Sheldon.
> >>> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
> >> wildcard
> >>> +             types. Thanks to Andy Coates.
> >>> +o LANG-1118: StringUtils.repeat('z', -1) throws
> >> NegativeArraySizeException.
> >>> +             Thanks to Loic Guibert.
> >>> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
> >>> +o LANG-1162: StringUtils#equals fails with Index OOBE on non-Strings
> >> with
> >>> +             identical leading prefix..
> >>> +o LANG-1163: There are no tests for CharSequenceUtils.regionMatches.
> >>> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
> >> BarkZhang.
> >>> +o LANG-1191: Incorrect Javadoc
> >>> +             StringUtils.containsAny(CharSequence, CharSequence...).
> >> Thanks to
> >>> +             qed, Brent Worden and Gary Gregory.
> >>> +
> >>> +CHANGES
> >>> +=========
> >>> +o LANG-1197: Prepare Java 9 detection.
> >>> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
> >> method is too
> >>> +             big to be inlined. Thanks to Ruslan Cheremin.
> >>> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
> >> misleading. Thanks
> >>> +             to Dominik Stadler.
> >>> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks to
> >>> +             Benoit Wiart.
> >>> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to be
> >> inlined,
> >>> +             which prevents whole builder to be scalarized. Thanks to
> >>> +             Ruslan Cheremin.
> >>> +o LANG-1243: Simplify ArrayUtils removeElements by using new
> >> decrementAndGet()
> >>> +             method.
> >>> +o LANG-1240: Optimize BitField constructor implementation. Thanks to
> >> zhanhb.
> >>> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
> >>> +             Mohammed Alfallaj.
> >>> +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.
> >>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.
> >> Thanks to
> >>> +             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.
> >>> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc. Thanks to
> >>> +             Matthias Niehoff.
> >>> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel
> Karp.
> >>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks to
> >>> +             Larry West and Pascal Schumacher.
> >>> +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.
> >>> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
> >>> +             SystemUtils.PATH_SEPARATOR.
> >>> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format
> descriptor
> >> for
> >>> +             "invalid number of type parameters". Thanks to Bruno P.
> >> Kinoshita.
> >>> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due to
> >> being
> >>> +             package-private.
> >>> +o LANG-1058: StringUtils.uncapitalize performance improvement. Thanks
> to
> >>> +             Leo Wang.
> >>> +o LANG-1069: CharSet.getInstance documentation does not clearly
> explain
> >> how
> >>> +             to include negation character in set. Thanks to Arno
> >> Noordover.
> >>> +o LANG-1107: Fix parsing edge cases in FastDateParser.
> >>> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
> >> SystemUtils. Thanks
> >>> +             to Jake Wang.
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.4
> >>> +
> >>> +
> >>> +COMPATIBILITY
> >>> +=============
> >>> +
> >>> +Commons Lang 3.4 is fully binary compatible to the last release and
> can
> >>> +therefore be used as a drop in replacement for 3.3.2. Note that the
> >> value of
> >>> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
> >> EXTENDED_FORMAT_PATTERN
> >>> +has changed, which may affect clients using the constant. Furthermore
> >> the
> >>> +constant is used internally in
> >>> +o DurationFormatUtils.formatDurationISO(long)
> >>> +o DurationFormatUtils.formatPeriodISO(long, long)
> >>> +
> >>> +For more information see https://issues.apache.org/
> >> jira/browse/LANG-1000.
> >>> +
> >>> +NEW FEATURES
> >>> +==============
> >>> +
> >>> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
> >> Kockert.
> >>> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
> >>> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to Fabian
> >> Lange.
> >>> +o LANG-1082: Add option to disable the "objectsTriviallyEqual" test in
> >>> +             DiffBuilder. Thanks to Jonathan Baker.
> >>> +o LANG-1015: Add JsonToStringStyle implementation to ToStringStyle.
> >> Thanks to
> >>> +             Thiago Andrade.
> >>> +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-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.
> >>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
> >>> +             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
> >>> +             Mikhail Mazursky.
> >>> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
> >>> +             Mikhail Mazursky.
> >>> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object, String)
> >>> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
> >>> +
> >>> +FIXED BUGS
> >>> +============
> >>> +
> >>> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
> >> Thanks to
> >>> +             Timo Kockert.
> >>> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
> >>> +o LANG-948:  Exception while using ExtendedMessageFormat and escaping
> >> braces.
> >>> +             Thanks to Andrey Khobnya.
> >>> +o LANG-1092: Wrong formating of time zones with daylight saving time
> in
> >>> +             FastDatePrinter
> >>> +o LANG-1090: FastDateParser does not set error indication in
> >> ParsePosition
> >>> +o LANG-1089: FastDateParser does not handle excess hours as per
> >>> +             SimpleDateFormat
> >>> +o LANG-1061: FastDateParser error - timezones not handled correctly.
> >> Thanks to
> >>> +             dmeneses.
> >>> +o LANG-1087: NumberUtils#createNumber() returns positive BigDecimal
> when
> >>> +             negative Float is expected. Thanks to Renat Zhilkibaev.
> >>> +o LANG-1081: DiffBuilder.append(String, Object left, Object right)
> does
> >> not do
> >>> +             a left.equals(right) check. Thanks to Jonathan Baker.
> >>> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
> >> consistently.
> >>> +             Thanks to Jonathan Baker.
> >>> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK.
> Thanks
> >> to
> >>> +             Jonathan Baker.
> >>> +o LANG-1073: Read wrong component type of array in add in ArrayUtils.
> >>> +             Thanks to haiyang li.
> >>> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in
> >> StringUtils.
> >>> +             Thanks to haiyang li.
> >>> +o LANG-1072: Duplicated "0x" check in createBigInteger in NumberUtils.
> >> Thanks
> >>> +             to haiyang li.
> >>> +o LANG-1064: StringUtils.abbreviate description doesn't agree with the
> >>> +             examples. Thanks to B.J. Herbison.
> >>> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK method
> >> ordering.
> >>> +             Thanks to Alexandre Bartel.
> >>> +o LANG-1000: ParseException when trying to parse UTC dates with Z as
> >> zone
> >>> +             designator using DateFormatUtils.ISO_DATETIME_
> >> TIME_ZONE_FORMAT
> >>> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is unclear
> >>> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks to
> >>> +             Michael Osipov.
> >>> +o LANG-1088: FastDateParser should be case insensitive
> >>> +o LANG-995:  Fix bug with stripping spaces on last line in
> >> WordUtils.wrap().
> >>> +             Thanks to Andrey Khobnya.
> >>> +
> >>> +CHANGES
> >>> +=========
> >>> +
> >>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils
> smarter
> >>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
> >> Lange.
> >>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
> >>> +o LANG-1100: Avoid memory allocation when using date formating to
> >> StringBuffer.
> >>> +             Thanks to mbracher.
> >>> +o LANG-935:  Possible performance improvement on string escape
> >> functions.
> >>> +             Thanks to Fabian Lange, Thomas Neidhart.
> >>> +o LANG-1098: Avoid String allocation in StrBuilder.append(
> CharSequence).
> >> Thanks
> >>> +             to Mikhail Mazurskiy, Fabian Lange.
> >>> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to Micha?
> >> Kordas.
> >>> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to Micha?
> >> Kordas.
> >>> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha? Kordas.
> >>> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha?
> Kordas.
> >>> +o LANG-877:  Performance improvements for StringEscapeUtils. Thanks to
> >>> +             Fabian Lange.
> >>> +o LANG-1071: Fix wrong examples in JavaDoc of
> >>> +             StringUtils.replaceEachRepeatedly(...),
> >>> +             StringUtils.replaceEach(...) Thanks to Arno Noordover.
> >>> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
> >> fields it
> >>> +             uses in performing comparisons
> >>> +o LANG-1020: Improve performance of normalize space. Thanks to Libor
> >> Ondrusek.
> >>> +o LANG-1027: org.apache.commons.lang3.SystemUtils#
> isJavaVersionAtLeast
> >> should
> >>> +             return true by default
> >>> +o LANG-1026: Bring static method references in StringUtils to
> >> consistent style.
> >>> +             Thanks to Alex Yursha.
> >>> +o LANG-1017: Use non-ASCII digits in Javadoc examples for
> >>> +             StringUtils.isNumeric. Thanks to Christoph Schneegans.
> >>> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils from
> >> array
> >>> +             input parameters to varargs. Thanks to Thiago Andrade.
> >>> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks to
> >>> +             Thiago Andrade.
> >>> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
> >> pattern to
> >>> +             match #formatDurationHMS. Thanks to Michael Osipov.
> >>> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
> >> Thanks to
> >>> +             Thiago Andrade.
> >>> +o LANG-731:  Better Javadoc for BitField class
> >>> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation
> does
> >> not
> >>> +             correspond to Javadoc and vice versa. Thanks to Michael
> >> Osipov.
> >>> +o LANG-1003: DurationFormatUtils are not able to handle negative
> >>> +             durations/periods
> >>> +o LANG-998:  Javadoc is not clear on preferred pattern to instantiate
> >>> +             FastDateParser / FastDatePrinter
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.3.2
> >>> +
> >>> +NEW FEATURES
> >>> +==============
> >>> +
> >>> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
> >>> +
> >>> +FIXED BUGS
> >>> +============
> >>> +
> >>> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0", "0.4790",
> >> et al
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.3.1
> >>> +
> >>> +FIXED BUGS
> >>> +============
> >>> +
> >>> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH)
> returns
> >> wrong
> >>> +             days
> >>> +o LANG-983:  DurationFormatUtils does not describe format string fully
> >>> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched quote
> >> char
> >>> +o LANG-984:  DurationFormatUtils does not handle large durations
> >> correctly
> >>> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS") - ms
> >> field
> >>> +             size should be 4 digits
> >>> +o LANG-978:  Failing tests with Java 8 b128
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.3
> >>> +
> >>> +NEW FEATURES
> >>> +==============
> >>> +
> >>> +o LANG-955:  Add methods for removing all invalid characters according
> >> to
> >>> +             XML 1.0 and XML 1.1 in an input string to
> >> StringEscapeUtils.
> >>> +             Thanks to Adam Hooper.
> >>> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
> >>> +o LANG-962:  Add SerializationUtils.roundtrip(T extends Serializable)
> to
> >>> +             serialize then deserialize
> >>> +o LANG-637:  There should be a DifferenceBuilder with a
> >>> +             ReflectionDifferenceBuilder implementation
> >>> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
> >> StringUtils.
> >>> +             Thanks to Rekha Joshi.
> >>> +o LANG-417:  New class ClassPathUtils with methods for turning FQN
> into
> >>> +             resource path
> >>> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
> >> overloads
> >>> +             for primitive types
> >>> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
> >>> +o LANG-966:  Add IBM OS/400 detection
> >>> +
> >>> +FIXED BUGS
> >>> +============
> >>> +
> >>> +o LANG-621:  ReflectionToStringBuilder.toString does not debug 3rd
> >> party object
> >>> +             fields within 3rd party object. Thanks to Philip Hodges,
> >>> +             Thomas Neidhart.
> >>> +o LANG-977:  NumericEntityEscaper incorrectly encodes supplementary
> >> characters.
> >>> +             Thanks to Chris Karcher.
> >>> +o LANG-973:  Make some private fields final
> >>> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid
> Octal
> >> numbers
> >>> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
> >>> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset) needlessly
> >> throws
> >>> +             UnsupportedEncodingException. Thanks to Matt Bishop.
> >>> +o LANG-946:  ConstantInitializerTest fails when building with IBM JDK
> 7
> >>> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
> >> Android.
> >>> +             Thanks to Michael Keppler.
> >>> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
> >> threshold
> >>> +             returns wrong result. Thanks to Yaniv Kunda, Eli Lindsey.
> >>> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails in
> >>> +             JDK 1.6, 1.7 and 1.8, BRST time zone
> >>> +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.
> >>> +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.
> >>> +
> >>> +CHANGES
> >>> +=========
> >>> +
> >>> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
> >> removeFinalModifier(Field)
> >>> +             does not clean up after itself
> >>> +o LANG-958:  FastDateParser javadoc incorrectly states that
> >> SimpleDateFormat
> >>> +             is used internally
> >>> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
> >>> +o LANG-939:  Move Documentation from user guide to package-info files
> >>> +o LANG-953:  Convert package.html files to package-info.java files
> >>> +o LANG-940:  Fix deprecation warnings
> >>> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.2.1
> >>> +
> >>> +BUG FIXES
> >>> +===========
> >>> +
> >>> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
> >>> +o LANG-941:  Test failure in LocaleUtilsTest when building with JDK 8
> >>> +o LANG-942:  Test failure in FastDateParserTest and
> >> FastDateFormat_ParserTest
> >>> +             when building with JDK8. Thanks to Bruno P. Kinoshita,
> >>> +             Henri Yandell.
> >>> +o LANG-938:  Build fails with test failures when building with JDK 8
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.2
> >>> +
> >>> +COMPATIBILITY WITH 3.1
> >>> +========================
> >>> +
> >>> +This release introduces backwards incompatible changes in
> >>> +org.apache.commons.lang3.time.FastDateFormat:
> >>> +o Method 'protected java.util.List parsePattern()' has been removed
> >>> +o Method 'protected java.lang.String parseToken(java.lang.String,
> >> int[])' has
> >>> +  been removed
> >>> +o Method 'protected org.apache.commons.lang3.time.
> >> FastDateFormat$NumberRule
> >>> +  selectNumberRule(int, int)' has been removed
> >>> +
> >>> +These changes were the result of [LANG-462]. It is assumed that this
> >> change
> >>> +will not break clients as Charles Honton pointed out on 25/Jan/12:
> >>> +"
> >>> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)" and
> >>> +    "List<Rule> parsePattern()" couldn't have been overridden because
> >>> +    NumberRule and Rule were private to FastDateFormat.
> >>> + 2. Due to the factory pattern used, it's unlikely other two methods
> >> would have
> >>> +    been overridden.
> >>> + 3. The four methods are highly implementation specific. I consider
> it a
> >>> +    mistake that the methods were exposed.
> >>> +"
> >>> +For more information see https://issues.apache.org/
> jira/browse/LANG-462
> >> .
> >>> +
> >>> +NEW FEATURES
> >>> +==============
> >>> +
> >>> +o LANG-934:  Add removeFinalModifier to FieldUtils
> >>> +o LANG-863:  Method returns number of inheritance hops between parent
> >> and
> >>> +             subclass. Thanks to Daneel S. Yaitskov.
> >>> +o LANG-774:  Added isStarted, isSuspended and isStopped to StopWatch.
> >>> +             Thanks to Erhan Bagdemir.
> >>> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence...
> methods.
> >>> +             Thanks to Alexander Muthmann.
> >>> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
> >>> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in favour
> >> of a new
> >>> +             StringUtils.toString(byte[], CharSet). Thanks to Aaron
> >> Digulla.
> >>> +o LANG-893:  StrSubstitutor now supports default values for variables.
> >>> +             Thanks to Woonsan Ko.
> >>> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
> >> Mureinik.
> >>> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
> >>> +             StringBuilder, StrBuilder, and Appendable.
> >>> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
> >>> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
> >>> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
> >> StringUtils.
> >>> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
> >>> +o LANG-873:  Add FieldUtils getAllFields() to return all the fields
> >> defined in
> >>> +             the given class and super classes.
> >>> +o LANG-835:  StrBuilder should support StringBuilder as an input
> >> parameter.
> >>> +o LANG-857:  StringIndexOutOfBoundsException in
> CharSequenceTranslator.
> >>> +o LANG-856:  Code refactoring in NumberUtils.
> >>> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex and
> >> octal
> >>> +             numbers.
> >>> +o LANG-854:  NumberUtils#createNumber - does not allow for hex numbers
> >> to be
> >>> +             larger than Long.
> >>> +o LANG-853:  StringUtils join APIs for primitives.
> >>> +o LANG-841:  Add StringUtils API to call String.replaceAll in DOTALL
> >> a.k.a.
> >>> +             single-line mode.
> >>> +o LANG-825:  Create StrBuilder APIs similar to
> >>> +             String.format(String, Object...).
> >>> +o LANG-675:  Add Triple class (ternary version of Pair).
> >>> +o LANG-462:  FastDateFormat supports parse methods.
> >>> +
> >>> +BUG FIXES
> >>> +===========
> >>> +
> >>> +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
> >>> +             elements are different.
> >>> +o LANG-917:  Fixed exception when combining custom and choice format
> in
> >>> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
> >>> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly
> promising
> >> letters
> >>> +             and numbers would, as opposed to may, appear  Issue:.
> >> Thanks to
> >>> +             Andrzej Winnicki.
> >>> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
> >>> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not
> updated.
> >> Thanks
> >>> +             to Mark Bryan Yu.
> >>> +o LANG-879:  LocaleUtils test fails with new Locale
> >> "ja_JP_JP_#u-ca-japanese"
> >>> +             of JDK7.
> >>> +o LANG-836:  StrSubstitutor does not support StringBuilder or
> >> CharSequence.
> >>> +             Thanks to Arnaud Brunet.
> >>> +o LANG-693:  Method createNumber from NumberUtils doesn't work for
> >> floating
> >>> +             point numbers other than Float  Issue: LANG-693. Thanks
> to
> >>> +             Calvin Echols.
> >>> +o LANG-887:  FastDateFormat does not use the locale specific cache
> >> correctly.
> >>> +o LANG-754:  ClassUtils.getShortName(String) will now only do a
> >> reverse lookup
> >>> +             for array types.
> >>> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not work
> >> for octal
> >>> +             numbers.
> >>> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting with
> >> an
> >>> +             underscore.
> >>> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript() do
> >> not
> >>> +             output the escaped surrogate pairs that are Java
> parsable.
> >>> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date objects
> >>> +             wastefully.
> >>> +o LANG-845:  Spelling fixes.
> >>> +o LANG-844:  Fix examples contained in javadoc of StringUtils.center
> >> methods.
> >>> +o LANG-832:  FastDateParser does not handle unterminated quotes
> >> correctly.
> >>> +o LANG-831:  FastDateParser does not handle white-space properly.
> >>> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
> >>> +o LANG-828:  FastDateParser does not handle non-Gregorian calendars
> >> properly.
> >>> +o LANG-826:  FastDateParser does not handle non-ASCII digits
> correctly.
> >>> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading
> "--".
> >>> +o LANG-818:  FastDateFormat's "z" pattern does not respect timezone of
> >> Calendar
> >>> +             instances passed to format().
> >>> +o LANG-817:  Add org.apache.commons.lang3.
> SystemUtils.IS_OS_WINDOWS_8.
> >>> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string
> reference
> >>> +             equality.
> >>> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
> >>> +o LANG-807:  RandomStringUtils throws confusing IAE when end <= start.
> >>> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
> >> universe,
> >>> +             random) always throws java.lang.
> >> ArrayIndexOutOfBoundsException.
> >>> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
> >> class.
> >>> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and Object
> >> versions.
> >>> +o LANG-788:  SerializationUtils throws ClassNotFoundException when
> >> cloning
> >>> +             primitive classes.
> >>> +o LANG-786:  StringUtils equals() relies on undefined behavior.
> >>> +o LANG-783:  Documentation bug: StringUtils.split.
> >>> +o LANG-777:  jar contains velocity template of release notes.
> >>> +o LANG-776:  TypeUtilsTest contains incorrect type assignability
> >> assertion.
> >>> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments for
> >>> +             partially-assigned classes.
> >>> +o LANG-773:  ImmutablePair doc contains nonsense text.
> >>> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage
> text.
> >>> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no longer
> >> defines
> >>> +             serialVersionUID.
> >>> +o LANG-764:  StrBuilder is now serializable.
> >>> +o LANG-761:  Fix Javadoc Ant warnings.
> >>> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
> >>> +o LANG-743:  Javadoc bug in static inner class DateIterator.
> >>> +
> >>> +CHANGES
> >>> +=========
> >>> +
> >>> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
> >> Thanks
> >>> +             to Christoph Schneegans.
> >>> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking
> spaces
> >>> +             (Unicode 00A0). Thanks to Timur Yarosh.
> >>> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor. Thanks
> to
> >>> +             Allon Mureinik.
> >>> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
> >>> +o LANG-882:  LookupTranslator now works with implementations of
> >> CharSequence
> >>> +             other than String.
> >>> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a proper
> >> green
> >>> +             implementation instead of inefficiently converting to
> >> Strings.
> >>> +o LANG-839:  ArrayUtils removeElements methods use unnecessary
> HashSet.
> >>> +o LANG-838:  ArrayUtils removeElements methods clone temporary index
> >> arrays
> >>> +             unnecessarily.
> >>> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
> >> support.
> >>> +o LANG-798:  Use generics in SerializationUtils.
> >>> +
> >>> +CHANGES WITHOUT TICKET
> >>> +========================
> >>> +
> >>> +o Fixed URLs in javadoc to point to new oracle.com pages
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.1
> >>> +
> >>> +NEW FEATURES
> >>> +==============
> >>> +
> >>> +o LANG-801:  Add Conversion utility to convert between data types on
> >> byte level
> >>> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
> >> charsetName)
> >>> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
> >>> +             isPrimitiveOrWrapper(Class<?>)
> >>> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a
> Unix
> >> system
> >>> +
> >>> +BUG FIXES
> >>> +===========
> >>> +
> >>> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
> >>> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and -0X
> >>> +o LANG-744:  StringUtils throws java.security.AccessControlException
> >> on Google
> >>> +             App Engine
> >>> +o LANG-741:  Ant build has wrong component.name
> >>> +o LANG-698:  Document that the Mutable numbers don't work as expected
> >> with
> >>> +             String.format
> >>> +
> >>> +CHANGES
> >>> +=========
> >>> +
> >>> +o LANG-758:  Add an example with whitespace in
> >> StringUtils.defaultIfEmpty
> >>> +o LANG-752:  Fix createLong() so it behaves like createInteger()
> >>> +o LANG-751:  Include the actual type in the Validate.isInstance and
> >>> +             isAssignableFrom exception messages
> >>> +o LANG-748:  Deprecating chomp(String, String)
> >>> +o LANG-736:  CharUtils static final array CHAR_STRING is not needed to
> >> compute
> >>> +             CHAR_STRING_ARRAY
> >>> +
> >>> +===========================================================
> >> ==================
> >>> +
> >>> +                        Release Notes for version 3.0
> >>> +
> >>> +ADDITIONS
> >>> +===========
> >>> +
> >>> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
> >>> +o LANG-285:  Wish : method unaccent.
> >>> +o LANG-358:  ObjectUtils.coalesce.
> >>> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
> >> necessary.
> >>> +o LANG-435:  Add ClassUtils.isAssignable() variants with autoboxing.
> >>> +o LANG-444:  StringUtils.emptyToNull.
> >>> +o LANG-482:  Enhance StrSubstitutor to support nested ${var-${subvr}}
> >> expansion
> >>> +o LANG-482:  StrSubstitutor now supports substitution in variable
> names.
> >>> +o LANG-496:  A generic implementation of the Lazy initialization
> >> pattern.
> >>> +o LANG-497:  Addition of ContextedException and
> >> ContextedRuntimeException.
> >>> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
> >>> +o LANG-499:  Add support for the handling of ExecutionExceptions.
> >>> +o LANG-501:  Add support for background initialization.
> >>> +o LANG-529:  Add a concurrent package.
> >>> +o LANG-533:  Validate: support for validating blank strings.
> >>> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
> >>> +o LANG-545:  Add ability to create a Future for a constant.
> >>> +o LANG-546:  Add methods to Validate to check whether the index is
> >> valid for
> >>> +             the array/list/string.
> >>> +o LANG-553:  Add TypeUtils class to provide utility code for working
> >> with generic
> >>> +             types.
> >>> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation
> methods.
> >>> +o LANG-559:  Added validState validation method.
> >>> +o LANG-560:  New TimedSemaphore class.
> >>> +o LANG-582:  Provide an implementation of the ThreadFactory interface.
> >>> +o LANG-588:  Create a basic Pair<L, R> class.
> >>> +o LANG-594:  DateUtils equal & compare functions up to most
> significant
> >> field.
> >>> +o LANG-601:  Add Builder Interface / Update Builders to Implement It.
> >>> +o LANG-609:  Support lazy initialization using atomic variables
> >>> +o LANG-610:  Extend exception handling in ConcurrentUtils to runtime
> >> exceptions.
> >>> +o LANG-614:  StringUtils.endsWithAny method
> >>> +o LANG-640:  Add normalizeSpace to StringUtils
> >>> +o LANG-644:  Provide documentation about the new concurrent package
> >>> +o LANG-649:  BooleanUtils.toBooleanObject to support single character
> >> input
> >>> +o LANG-651:  Add AnnotationUtils
> >>> +o LANG-653:  Provide a very basic ConcurrentInitializer implementation
> >>> +o LANG-655:  Add StringUtils.defaultIfBlank()
> >>> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
> >>> +o LANG-676:  Documented potential NPE if auto-boxing occurs for some
> >> BooleanUtils
> >>> +             methods
> >>> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
> >>> +o LANG-692:  Add hashCodeMulti varargs method
> >>> +o LANG-697:  Add FormattableUtils class
> >>> +o LANG-684:  Levenshtein Distance Within a Given Threshold
> >>> +
> >>> +REMOVALS
> >>> +==========
> >>> +
> >>> +o LANG-438:  Remove @deprecateds.
> >>> +o LANG-492:  Remove code handled now by the JDK.
> >>> +o LANG-493:  Remove code that does not hold enough value to remain.
> >>> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
> >>> +             StringUtils.indexOf(String, String, int).
> >>> +o LANG-673:  WordUtils.abbreviate() removed
> >>> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
> >>> +
> >>> +IMPROVEMENTS
> >>> +==============
> >>> +
> >>> +o LANG-290:  EnumUtils for JDK 5.0.
> >>> +o LANG-336:  Finally start using generics.
> >>> +o LANG-355:  StrBuilder should implement CharSequence and Appendable.
> >>> +o LANG-396:  Investigate for vararg usages.
> >>> +o LANG-424:  Improve Javadoc for StringUtils class.
> >>> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
> >>> +o LANG-479:  Document where in SVN trunk is.
> >>> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
> >>> +o LANG-505:  Rewrite StringEscapeUtils.
> >>> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+
> notation.
> >>> +o LANG-510:  Convert StringUtils API to take CharSequence.
> >>> +o LANG-513:  Better EnumUtils.
> >>> +o LANG-528:  Mutable classes should implement an appropriately typed
> >> Mutable
> >>> +             interface.
> >>> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
> >>> +o LANG-540:  Make NumericEntityEscaper immutable.
> >>> +o LANG-541:  Replace StringBuffer with StringBuilder.
> >>> +o LANG-548:  Use Iterable on API instead of Collection.
> >>> +o LANG-551:  Replace Range classes with generic version.
> >>> +o LANG-562:  Change Maven groupId.
> >>> +o LANG-563:  Change Java package name.
> >>> +o LANG-570:  Do the test cases really still require main() and suite()
> >> methods?
> >>> +o LANG-579:  Add new Validate methods.
> >>> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
> >> Separators.
> >>> +o LANG-605:  DefaultExceptionContext overwrites values in recursive
> >> situations.
> >>> +o LANG-668:  Change ObjectUtils min() & max() functions to use varargs
> >> rather
> >>> +             than just two parameters
> >>> +o LANG-681:  Push down WordUtils to "text" sub-package.
> >>> +o LANG-711:  Add includeantruntime=false to javac targets to quell
> >> warnings in
> >>> +             ant 1.8.1 and better (and modest performance gain).
> >>> +o LANG-713:  Increase test coverage of FieldUtils read methods and
> tweak
> >>> +             javadoc.
> >>> +o LANG-718:  build.xml Java 1.5+ updates.
> >>> +
> >>> +BUG FIXES
> >>> +===========
> >>> +
> >>> +o LANG-11:   Depend on JDK 1.5+.
> >>> +o LANG-302:  StrBuilder does not implement clone().
> >>> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
> >> characters like
> >>> +             Chinese, Japanese, etc.
> >>> +o LANG-369:  ExceptionUtils not thread-safe.
> >>> +o LANG-418:  Javadoc incorrect for StringUtils.endsWithIgnoreCase.
> >>> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
> >> return false
> >>> +             for ""
> >>> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
> >> (0x00-0x20).
> >>> +o LANG-448:  Lower Ascii Characters don't get encoded by
> Entities.java.
> >>> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393
> (EqualsBuilder).
> >>> +o LANG-474:  Fixes for thread safety.
> >>> +o LANG-478:  StopWatch does not resist to system time changes.
> >>> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts unicode
> >>> +             characters above U+00FFFF into 2 characters.
> >>> +o LANG-481:  Possible race-conditions in hashCode of the range
> classes.
> >>> +o LANG-564:  Improve StrLookup API documentation.
> >>> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
> >>> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create
> unexpected
> >>> +             ClassCastException.
> >>> +o LANG-585:  exception.DefaultExceptionContext.
> >> getFormattedExceptionMessage
> >>> +             catches Throwable.
> >>> +o LANG-596:  StrSubstitutor should also handle the default properties
> >> of a
> >>> +             java.util.Properties class
> >>> +o LANG-600:  Javadoc is incorrect for public static int
> >>> +             lastIndexOf(String str, String searchStr).
> >>> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
> >> exception.
> >>> +o LANG-606:  EqualsBuilder causes StackOverflowException.
> >>> +o LANG-608:  Some StringUtils methods should take an int character
> >> instead of
> >>> +             char to use String API features.
> >>> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
> >> supplementary
> >>> +             characters
> >>> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
> >>> +             StringIndexOutOfBoundsException on Android
> runtime/Dalvik
> >> VM
> >>> +o LANG-629:  Charset may not be threadsafe, because the HashSet is not
> >> synch.
> >>> +o LANG-638:  NumberUtils createNumber throws a
> >> StringIndexOutOfBoundsException
> >>> +             when argument containing "e" and "E" is passed in
> >>> +o LANG-643:  Javadoc StringUtils.left() claims to throw on negative
> >> len, but
> >>> +             doesn't
> >>> +o LANG-645:  FastDateFormat.format() outputs incorrect week of year
> >> because
> >>> +             locale isn't respected
> >>> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
> >> escapes and
> >>> +             Unicode with extra u
> >>> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '') = 0
> >> incorrect
> >>> +o LANG-658:  Some Entitys like &Ouml; are not matched properly against
> >> its
> >>> +             ISO8859-1 representation
> >>> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus sign,
> >> U+2212
> >>> +             ISOtech
> >>> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
> >>> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not reduce
> >>> +             (Integer.MIN_VALUE, 2^k)
> >>> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not always
> >> succeed in
> >>> +             multiplyBy and divideBy
> >>> +o LANG-664:  NumberUtils.isNumber(String) is not right when the String
> >> is
> >>> +             "1.1L"
> >>> +o LANG-672:  Doc bug in DateUtils#ceiling
> >>> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour clock
> and
> >> not
> >>> +             24 hour
> >>> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
> >>> +o LANG-703:  StringUtils.join throws NPE when toString returns null
> for
> >> one of
> >>> +             objects in collection
> >>> +o LANG-710:  StringIndexOutOfBoundsException when calling
> >> unescapeHtml4("&#03")
> >>> +o LANG-714:  StringUtils doc/comment spelling fixes.
> >>> +o LANG-715:  CharSetUtils.squeeze() speedup.
> >>> +o LANG-716:  swapCase and *capitalize speedups.
> >>> +
> >>> +
> >>> +Historical list of changes: http://commons.apache.org/
> >> lang/changes-report.html
> >>> +
> >>> +For complete information on Commons Lang, including instructions on
> how
> >> to
> >>> +submit bug reports, patches, or suggestions for improvement, see the
> >>> +Apache Commons Lang website:
> >>> +
> >>> +http://commons.apache.org/lang/
> >>> +
> >>> +Have fun!
> >>> +-Apache Commons Lang team
> >>> +
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
> >>> ============================================================
> >> ==================
> >>> Binary file - no diff available.
> >>>
> >>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz
> >>> ------------------------------------------------------------
> >> ------------------
> >>>   svn:mime-type = application/octet-stream
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.asc
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.asc
> >> (added)
> >>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.asc
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1,16 @@
> >>> +-----BEGIN PGP SIGNATURE-----
> >>> +
> >>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
> >>> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
> >>> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
> >>> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
> >>> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
> >>> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
> >>> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
> >>> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
> >>> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
> >>> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
> >>> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
> >>> +=tjQB
> >>> +-----END PGP SIGNATURE-----
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.md5
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.md5
> >> (added)
> >>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.md5
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +fe7776aab25e229c9a5805c3ba82d219
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> >> bin.tar.gz.sha1
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.sha1
> >> (added)
> >>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.sha1
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
> >>> ============================================================
> >> ==================
> >>> Binary file - no diff available.
> >>>
> >>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip
> >>> ------------------------------------------------------------
> >> ------------------
> >>>   svn:mime-type = application/octet-stream
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.asc
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >> (added)
> >>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1,16 @@
> >>> +-----BEGIN PGP SIGNATURE-----
> >>> +
> >>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
> >>> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
> >>> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
> >>> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
> >>> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
> >>> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
> >>> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
> >>> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
> >>> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
> >>> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
> >>> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
> >>> +=6Bjb
> >>> +-----END PGP SIGNATURE-----
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.md5
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >> (added)
> >>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +3b8ee236a7105277427d305587a6c8dd
> >>>
> >>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.zip.sha1
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> >> (added)
> >>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>
> >>> Added: dev/commons/lang/site.zip
> >>> ============================================================
> >> ==================
> >>> Binary file - no diff available.
> >>>
> >>> Propchange: dev/commons/lang/site.zip
> >>> ------------------------------------------------------------
> >> ------------------
> >>>   svn:mime-type = application/octet-stream
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> >>> ============================================================
> >> ==================
> >>> Binary file - no diff available.
> >>>
> >>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz
> >>> ------------------------------------------------------------
> >> ------------------
> >>>   svn:mime-type = application/octet-stream
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.asc
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> >> (added)
> >>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1,16 @@
> >>> +-----BEGIN PGP SIGNATURE-----
> >>> +
> >>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
> >>> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
> >>> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
> >>> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
> >>> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
> >>> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
> >>> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
> >>> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
> >>> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
> >>> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
> >>> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
> >>> +=8mS4
> >>> +-----END PGP SIGNATURE-----
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.md5
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> >> (added)
> >>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +11b0a67eee0b856ee3629bdcfef35649
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> >> src.tar.gz.sha1
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> >> (added)
> >>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> >> Thu Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> >>> ============================================================
> >> ==================
> >>> Binary file - no diff available.
> >>>
> >>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> >>> ------------------------------------------------------------
> >> ------------------
> >>>   svn:mime-type = application/octet-stream
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >> (added)
> >>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc Thu
> >> Jan  4 12:45:36 2018
> >>> @@ -0,0 +1,16 @@
> >>> +-----BEGIN PGP SIGNATURE-----
> >>> +
> >>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> >>> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
> >>> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
> >>> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
> >>> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
> >>> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
> >>> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
> >>> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
> >>> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
> >>> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
> >>> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
> >>> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
> >>> +=5+7f
> >>> +-----END PGP SIGNATURE-----
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >> (added)
> >>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5 Thu
> >> Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +66d939d849bb560af8259d10156a58ec
> >>>
> >>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >>> ============================================================
> >> ==================
> >>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >> (added)
> >>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> Thu
> >> Jan  4 12:45:36 2018
> >>> @@ -0,0 +1 @@
> >>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >>>
> >>>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> >> For additional commands, e-mail: dev-help@commons.apache.org
> >>
> >>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Rob Tompkins <ch...@gmail.com>.
So with comments, I’m thinking I’ll submit a component vote. Any opposition?

> On Jan 4, 2018, at 11:28 AM, Gary Gregory <ga...@gmail.com> wrote:
> 
> That looks good. Thank you Rob!
> 
> Gary
> 
>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com> wrote:
>> 
>> @Gary - Below is the result from my release plugin with [lang3]. Give it a
>> looking over and let me know what you think.
>> 
>> -Rob
>> 
>>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
>>> 
>>> Author: chtompki
>>> Date: Thu Jan  4 12:45:36 2018
>>> New Revision: 24009
>>> 
>>> Log:
>>> Staging release: commons-lang3, version: 3.8-SNAPSHOT
>>> 
>>> Added:
>>>   dev/commons/lang/RELEASE-NOTES.txt
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
>> (with props)
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip   (with
>> props)
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>>   dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>>>   dev/commons/lang/site.zip   (with props)
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>> (with props)
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
>> props)
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>>   dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>> 
>>> Added: dev/commons/lang/RELEASE-NOTES.txt
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/RELEASE-NOTES.txt (added)
>>> +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1,1176 @@
>>> +
>>> +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.7
>>> +                           Release Notes
>>> +
>>> +
>>> +INTRODUCTION:
>>> +
>>> +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes resource
>> contention (PR #296.) Thanks to Chas Honton.
>>> +o LANG-1360: Add methods to ObjectUtils to get various forms of class
>> names in a null-safe manner Thanks to Gary Gregory.
>>> +
>>> +Fixed Bugs:
>>> +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
>> Thanks to Stephen Colebourne.
>>> +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on Java
>> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to Gary
>> Gregory.
>>> +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
>> generic return type of Enum.valueOf Thanks to mbusso.
>>> +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
>> regression Thanks to Brett Kail.
>>> +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug
>> Thanks to Naman Nigam.
>>> +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should use
>> toUpperCase(Locale) Thanks to BruceKuiLiu.
>>> +
>>> +Changes:
>>> +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
>>> +                               Version 3.6
>>> +                              Release Notes
>>> +
>>> +
>>> +INTRODUCTION:
>>> +
>>> +This document contains the release notes for the 3.6 version of
>>> +Apache Commons Lang as well as a history all changes in the Commons
>> Lang 3.x
>>> +release line. Commons Lang is a set of utility functions and reusable
>>> +components that should be of use in any Java environment. Commons Lang
>> 3.6 at
>>> +least requires Java 7.0. Note that this has changed from Commons Lang
>> 3.5, which
>>> +only required Java 1.6.
>>> +
>>> +For the advice on upgrading from 2.x to 3.x, see the following page:
>>> +
>>> +    http://commons.apache.org/lang/article3_0.html
>>> +
>>> +HIGHLIGHTS
>>> +==========
>>> +
>>> +Some of the highlights in this release include:
>>> +
>>> +o The class org.apache.commons.lang3.concurrent.Memoizer is an
>> implementation
>>> +    of the Memoizer pattern as shown in
>>> +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p. 108.
>>> +o The class org.apache.commons.lang3.ArchUtils has been added.
>> ArchUtils is
>>> +    a utility class for the "os.arch" system property.
>>> +
>>> +DEPRECATIONS
>>> +============
>>> +
>>> +The Apache Commons Community has recently set up the Commons Text
>> component
>>> +as a home for algorithms working on strings. For this reason most of
>> the string
>>> +focused functionality in Commons Lang has been deprecated and moved to
>>> +Commons Text. This includes:
>>> +
>>> +o All classes in the org.apache.commons.lang3.text and the
>>> +    org.apache.commons.lang3.text.translate packages
>>> +o org.apache.commons.lang3.StringEscapeUtils
>>> +o org.apache.commons.lang3.RandomStringUtils
>>> +o The methods org.apache.commons.lang3.StringUtils.getJaroWinklerDistance
>> and
>>> +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
>>> +
>>> +For more information see the Commons Text website:
>>> +
>>> +    http://commons.apache.org/text
>>> +
>>> +The class org.apache.commons.lang3.CharEncoding has been deprecated in
>> favor of
>>> +java.nio.charset.StandardCharsets.
>>> +
>>> +The following methods have been deprecated in
>>> +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
>> insert
>>> +methods. Note that the handling for null inputs differs between add and
>> insert.
>>> +
>>> +o add(boolean[], int, boolean) -> insert(int, boolean[], boolean...)
>>> +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
>>> +o add(char[], int, boolean)    -> insert(int, char[], char...)
>>> +o add(double[], int, boolean)  -> insert(int, double[], double...)
>>> +o add(float[], int, boolean)   -> insert(int, float[], float...)
>>> +o add(int[], int, boolean)     -> insert(int, int[], int...)
>>> +o add(long[], int, boolean)    -> insert(int, long[], long...)
>>> +o add(short[], int, boolean)   -> insert(int, short[], short...)
>>> +o add(T[], int, boolean)       -> insert(int, T[], T...)
>>> +
>>> +
>>> +COMPATIBILITY WITH JAVA 9
>>> +==================
>>> +
>>> +The MANIFEST.MF now contains an additional entry:
>>> +
>>> +  Automatic-Module-Name: org.apache.commons.lang3
>>> +
>>> +This should make it possible to use Commons Lang 3.6 as a module in the
>> Java 9
>>> +module system. For more information see the corresponding issue and the
>>> +referenced mailing list discussions:
>>> +
>>> +    https://issues.apache.org/jira/browse/LANG-1338
>>> +
>>> +The build problems present in the 3.5 release have been resolved.
>> Building
>>> +Commons Lang 3.6 should work out of the box with the latest Java 9 EA
>> build.
>>> +Please report any Java 9 related issues at:
>>> +
>>> +    https://issues.apache.org/jira/browse/LANG
>>> +
>>> +NEW FEATURES
>>> +============
>>> +
>>> +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
>>> +o LANG-1304: Add method in StringUtils to determine if string contains
>> both
>>> +             mixed cased characters. Thanks to Andy Klimczak.
>>> +o LANG-1325: Increase test coverage of ToStringBuilder class to 100%.
>>> +             Thanks to Arshad Basha.
>>> +o LANG-1307: Add a method in StringUtils to extract only digits out of
>> input
>>> +             string. Thanks to Arshad Basha.
>>> +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
>>> +o LANG-1167: Add null filter to ReflectionToStringBuilder.
>>> +             Thanks to Mark Dacek.
>>> +o LANG-1299: Add method for converting string to an array of code
>> points.
>>> +o LANG-660:  Add methods to insert arrays into arrays at an index.
>>> +o LANG-1034: Add support for recursive comparison to
>>> +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
>>> +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.
>>> +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.
>>> +o LANG-1313: Add ArchUtils - An utility class for the "os.arch" system
>> property.
>>> +             Thanks to Tomschi.
>>> +o LANG-1272: Add shuffle methods to ArrayUtils.
>>> +o LANG-1317: Add MethodUtils#findAnnotation and extend
>>> +             MethodUtils#getMethodsWithAnnotation for non-public,
>> super-class
>>> +             and interface methods. Thanks to Yasser Zamani.
>>> +o LANG-1331: Add ImmutablePair.nullPair().
>>> +o LANG-1332: Add ImmutableTriple.nullTriple().
>>> +
>>> +FIXED BUGS
>>> +==========
>>> +
>>> +o LANG-1337: Fix test failures in IBM JDK 8 for ToStringBuilderTest.
>>> +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError when
>> object is
>>> +             an array.
>>> +o LANG-1320: LocaleUtils#toLocale does not support language followed by
>> UN M.49
>>> +             numeric-3 area code followed by variant.
>>> +o LANG-1300: Clarify or improve behaviour of int-based indexOf methods
>> in
>>> +             StringUtils. Thanks to Mark Dacek.
>>> +o LANG-1286: RandomStringUtils random method can overflow and return
>> characters
>>> +             outside of specified range.
>>> +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ò.
>>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
>>> +             Thanks to Andreas Lundblad.
>>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible heap
>>> +             pollution from parameterized vararg type T.
>>> +o LANG-1144: Multiple calls of
>>> +             org.apache.commons.lang3.concurrent.LazyInitializer.
>> initialize()
>>> +             are possible. Thanks to Waldemar Maier, Gary Gregory.
>>> +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException.
>>> +             Thanks to Andy Klimczak.
>>> +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
>>> +o LANG-1070: ArrayUtils#add confusing example in javadoc.
>>> +             Thanks to Paul Pogonyshev.
>>> +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return false
>> for an
>>> +             empty array. Thanks to Pierre Templier.
>>> +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
>> Andrade.
>>> +o LANG-1311: TypeUtils.toString() doesn't handle primitive and Object
>> arrays
>>> +             correctly. Thanks to Aaron Digulla.
>>> +o LANG-1312: LocaleUtils#toLocale does not support language followed by
>> UN M.49
>>> +             numeric-3 area code.
>>> +o LANG-1265: Build failures when building with Java 9 EA.
>>> +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
>> Murienik.
>>> +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException if
>> using
>>> +             varargs arguments and smaller types than the method
>> defines.
>>> +             Thanks to Don Jeba.
>>> +
>>> +CHANGES
>>> +=======
>>> +
>>> +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
>>> +             compatibility.
>>> +o LANG-1334: Deprecate CharEncoding in favour of
>>> +             java.nio.charset.StandardCharsets.
>>> +o LANG-1110: Implement HashSetvBitSetTest using JMH.
>>> +             Thanks to Bruno P. Kinoshita.
>>> +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
>> ArrayUtils.
>>> +             Thanks to Andrii Abramov.
>>> +o LANG-1274: StrSubstitutor should state its thread safety.
>>> +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
>> consumption.
>>> +             Thanks to yufcuy.
>>> +o LANG-1279: Update Java requirement from Java 6 to 7.
>>> +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
>>> +             toXxxxCase(char). Thanks to sebb.
>>> +o LANG-1297: Add SystemUtils.getHostName() API.
>>> +o LANG-1301: Moving apache-rat-plugin configuration into
>> pluginManagement.
>>> +             Thanks to Karl Heinz Marbaise.
>>> +o LANG-1316: Deprecate classes/methods moved to commons-text.
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.5
>>> +
>>> +
>>> +HIGHLIGHTS
>>> +==========
>>> +
>>> +Some of the highlights in this release include:
>>> +
>>> +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
>>> +o Support for shifting and swapping elements in
>>> +    org.apache.commons.lang3.ArrayUtils.
>>> +o New methods for generating random strings from different character
>> classes
>>> +    including alphabetic, alpha-numeric and ASCII added to
>>> +    org.apache.commons.lang3.RandomStringUtils.
>>> +o Numerous extensions to org.apache.commons.lang3.StringUtils including
>>> +    null safe compare variants, more remove and replace variants,
>> rotation and
>>> +    truncation.
>>> +o Added org.apache.commons.lang3.ThreadUtils - a utility class to work
>> with
>>> +    instances of java.lang.Thread and java.lang.ThreadGroup.
>>> +o Added annotations @EqualsExclude, @HashCodeExclude and
>> @ToStringEclude to
>>> +    mark fields which should be ignored by the reflective builders in
>> the
>>> +    org.apache.commons.lang3.builder package.
>>> +o Support for various modify and retrieve value use cases added to the
>> classes
>>> +    in org.apache.commons.lang3.mutable.
>>> +
>>> +COMPATIBILITY
>>> +=============
>>> +
>>> +Apache Commons Lang 3.5 is binary compatible with the 3.4 release. Users
>>> +should not experience any problems when upgrading from 3.4 to 3.5.
>>> +
>>> +There has been an addition to the org.apache.commons.lang3.time.
>> DatePrinter
>>> +interface:
>>> +
>>> +o Added method 'public boolean parse(java.lang.String,
>> java.text.ParsePosition,
>>> +    java.util.Calendar)'
>>> +o Added method 'public java.lang.Appendable format(long,
>> java.lang.Appendable)'
>>> +o Added method 'public java.lang.Appendable format(java.util.Date,
>>> +    java.lang.Appendable)'
>>> +o Added method 'public java.lang.Appendable format(java.util.Calendar,
>>> +    java.lang.Appendable)'
>>> +
>>> +For this reason 3.5 is not strictly source compatible to 3.4. Since the
>>> +DatePrinter interface is not meant to be implemented by clients, this
>>> +change it not considered to cause any problems.
>>> +
>>> +JAVA 9 SUPPORT
>>> +==============
>>> +
>>> +Java 9 introduces a new version-string scheme. Details of this new
>> scheme are
>>> +documented in JEP-223 (http://openjdk.java.net/jeps/223). In order to
>> support
>>> +JEP-223 two classes had to be changed:
>>> +
>>> +o org.apache.commons.lang3.JavaVersion
>>> +    deprecated enum constant JAVA_1_9
>>> +    introduced enum constant JAVA_9
>>> +
>>> +o org.apache.commons.lang3.SystemUtils
>>> +    deprecated constant IS_JAVA_1_9
>>> +    introduced constant IS_JAVA_9
>>> +
>>> +For more information see LANG-1197
>>> +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs are
>> expected
>>> +to work with Java 9.
>>> +
>>> +BUILDING ON JAVA 9
>>> +==================
>>> +
>>> +Java 8 introduced the Unicode Consortium's Common Locale Data
>> Repository as
>>> +alternative source for locale data. Java 9 will use the CLDR provider as
>>> +default provider for locale data (see http://openjdk.java.net/jeps/252).
>> This
>>> +causes an number of locale-sensitive test in Commons Lang to fail. In
>> order
>>> +to build Commons Lang 3.5 on Java 9, the locale provider has to be set
>> to
>>> +'JRE':
>>> +
>>> +    mvn -Djava.locale.providers=JRE clean install
>>> +
>>> +We are currently investigating ways to support building on Java 9
>> without
>>> +further configuration. For more information see:
>>> +https://issues.apache.org/jira/browse/LANG-1265
>>> +
>>> +
>>> +NEW FEATURES
>>> +==============
>>> +
>>> +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
>>> +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
>> Kaiyuan Wang.
>>> +o LANG-1023: Add WordUtils.wrap overload with customizable breakable
>> character.
>>> +             Thanks to Marko Bekhta.
>>> +o LANG-787:  Add method removeIgnoreCase(String, String) to
>> StringUtils. Thanks
>>> +             to Gokul Nanthakumar C.
>>> +o LANG-1224: Extend RandomStringUtils with methods that generate strings
>>> +             between a min and max length. Thanks to Caleb Cushing.
>>> +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String, char|String).
>> Thanks to
>>> +             Gary Gregory.
>>> +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to adilek.
>>> +o LANG-1085: Add a circuit breaker implementation. Thanks to Oliver
>> Heger and
>>> +             Bruno P. Kinoshita.
>>> +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
>>> +o LANG-1195: Enhance MethodUtils to allow invocation of private
>> methods. Thanks
>>> +             to Derek C. Ashmore.
>>> +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
>> incrementAndGet/
>>> +             decrementAndGet/addAndGet in Mutable* classes. Thanks to
>>> +             Haiyang Li and Matthew Bartenschlag.
>>> +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint which
>> match
>>> +             corresponding regular expression class. Thanks to Caleb
>> Cushing.
>>> +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick Manley.
>>> +o LANG-781:  Add methods to ObjectUtils class to check for null
>> elements in the
>>> +             array. Thanks to Krzysztof Wolny.
>>> +o LANG-1228: Prefer Throwable.getCause() in ExceptionUtils.getCause().
>>> +             Thanks to Brad Hess.
>>> +o LANG-1233: DiffBuilder add method to allow appending from a
>> DiffResult.
>>> +             Thanks to Nick Manley.
>>> +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
>>> +             Thanks to Pascal Schumacher.
>>> +o LANG-1115: Add support for varargs in ConstructorUtils, MemberUtils,
>> and
>>> +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
>>> +o LANG-1134: Add methods to check numbers against NaN and inifinite to
>>> +             Validate. Thanks to Alan Smithee.
>>> +o LANG-1220: Add tests for missed branches in DateUtils.
>>> +             Thanks to Casey Scarborough.
>>> +o LANG-1146: z/OS identification in SystemUtils.
>>> +             Thanks to Gabor Liptak.
>>> +o LANG-1192: FastDateFormat support of the week-year component
>> (uppercase 'Y').
>>> +             Thanks to Dominik Stadler.
>>> +o LANG-1169: Add StringUtils methods to compare a string to multiple
>> strings.
>>> +             Thanks to Rafal Glowinski, Robert Parr and Arman Sharif.
>>> +o LANG-1185: Add remove by regular expression methods in StringUtils.
>>> +o LANG-1139: Add replace by regular expression methods in StringUtils.
>>> +o LANG-1171: Add compare methods in StringUtils.
>>> +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
>>> +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks to
>>> +             Gary Gregory.
>>> +o LANG-1149: Ability to throw checked exceptions without declaring
>> them. Thanks
>>> +             to Gregory Zak.
>>> +o LANG-1153: Implement ParsePosition api for FastDateParser.
>>> +o LANG-1137: Add check for duplicate event listener in
>> EventListenerSupport.
>>> +             Thanks to Matthew Aguirre.
>>> +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
>>> +             Eduardo Martins.
>>> +o LANG-1132: ReflectionToStringBuilder doesn't throw
>> IllegalArgumentException
>>> +             when the constructor's object param is null. Thanks to
>> Jack Tan.
>>> +o LANG-701:  StringUtils join with var args. Thanks to James Sawle.
>>> +o LANG-1105: Add ThreadUtils - A utility class which provides helper
>> methods
>>> +             related to java.lang.Thread  Issue: LANG-1105. Thanks to
>>> +             Hendrik Saly.
>>> +o LANG-1031: Add annotations to exclude fields from
>> ReflectionEqualsBuilder,
>>> +             ReflectionToStringBuilder and ReflectionHashCodeBuilder.
>> Thanks
>>> +             to Felipe Adorno.
>>> +o LANG-1127: Use JUnit rules to set and reset the default Locale and
>> TimeZone.
>>> +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks to
>>> +             Loic Guibert.
>>> +o LANG-1099: Add swap and shift operations for arrays to ArrayUtils.
>> Thanks to
>>> +             Adrian Ber.
>>> +o LANG-1050: Change nullToEmpty methods to generics. Thanks to James
>> Sawle.
>>> +o LANG-1074: Add a method to ArrayUtils for removing all occurrences of
>> a given
>>> +             element  Issue: LANG-1074. Thanks to Haiyang Li.
>>> +
>>> +FIXED BUGS
>>> +============
>>> +
>>> +o LANG-1261: ArrayUtils.contains returns false for instances of
>> subtypes.
>>> +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better reflect
>>> +             createNumber. Also, accommodated for "+" symbol as prefix
>> in
>>> +             isCreatable and isNumber. Thanks to Rob Tompkins.
>>> +o LANG-1230: Remove unnecessary synchronization from registry lookup in
>>> +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
>> Marschall.
>>> +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to Henry
>> Tung.
>>> +o LANG-1250: SerializationUtils#deserialize has unnecessary code and a
>> comment
>>> +             for that. Thanks to Glease Wang.
>>> +o LANG-1190: TypeUtils.isAssignable throws NullPointerException when
>> fromType
>>> +             has type variables and toType generic superclass specifies
>> type
>>> +             variable. Thanks to Pascal Schumacher.
>>> +o LANG-1226: StringUtils#normalizeSpace does not trim the string
>> anymore.
>>> +             Thanks to Pascal Schumacher.
>>> +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
>> should use
>>> +             static initializer to initialize primitiveTypes map.
>> Thanks to
>>> +             Takuya Ueshin.
>>> +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks to
>>> +             Benoit Wiart.
>>> +o LANG-1018: Fix precision loss on NumberUtils.createNumber(String).
>> Thanks to
>>> +             Nick Manley.
>>> +o LANG-1199: Fix implementation of StringUtils.getJaroWinklerDistance().
>> Thanks
>>> +             to M. Steiger.
>>> +o LANG-1244: Fix dead links in StringUtils.getLevenshteinDistance()
>> javadoc.
>>> +             Thanks to jjbankert.
>>> +o LANG-1242: "\u2284":"?" mapping missing from
>>> +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
>> Stewart.
>>> +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case sensitive -
>>> +             documented as case insensitive. Thanks to Matthew
>> Bartenschlag.
>>> +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 "Å‚".
>>> +             Thanks to kaching88.
>>> +o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
>>> +             NumberUtils.isNumber(). Thanks to pbrose.
>>> +o LANG-1222: Fix for incorrect comment on StringUtils.containsIgnoreCase
>>> +             method. Thanks to Adam J.
>>> +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
>> Templier.
>>> +o LANG-1202: parseDateStrictly does't pass specified locale. Thanks to
>>> +             Markus Jelsma.
>>> +o LANG-1219: FastDateFormat doesn't respect summer daylight in some
>> localized
>>> +             strings. Thanks to Jarek.
>>> +o LANG-1175: Remove Ant-based build.
>>> +o LANG-1194: Limit max heap memory for consistent Travis CI build.
>>> +o LANG-1186: Fix NullPointerException in FastDateParser$
>> TimeZoneStrategy.
>>> +             Thanks to NickManley.
>>> +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer of -1
>>> +             (correct answer should be 0); revert fix for LANG-1077.
>> Thanks to
>>> +             Qin Li.
>>> +o LANG-1002: Several predefined ISO FastDateFormats in DateFormatUtils
>> are
>>> +             incorrect. Thanks to Michael Osipov.
>>> +o LANG-1152: StringIndexOutOfBoundsException or field over-write for
>> large year
>>> +             fields in FastDateParser. Thanks to Pas Filip.
>>> +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts on
>> changes on
>>> +             system properties.
>>> +o LANG-1147: EnumUtils *BitVector issue with more than 32 values Enum.
>> Thanks
>>> +             to Loic Guibert.
>>> +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin Casey.
>>> +o LANG-1122: Inconsistent behavior of swap for malformed inputs. Thanks
>> to
>>> +             Adrian Ber.
>>> +o LANG-1130: Fix critical issues reported by SonarQube.
>>> +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
>> inputs.
>>> +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
>> correctly.
>>> +             Thanks to Jack Tan.
>>> +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default Locale.
>>> +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a timezone
>> set.
>>> +             Thanks to Christian P. Momon.
>>> +o LANG-916:  DateFormatUtils.format does not correctly change Calendar
>>> +             TimeZone in certain situations. Thanks to Christian P.
>> Momon.
>>> +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones. Thanks
>> to
>>> +             Aaron Sheldon.
>>> +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
>> wildcard
>>> +             types. Thanks to Andy Coates.
>>> +o LANG-1118: StringUtils.repeat('z', -1) throws
>> NegativeArraySizeException.
>>> +             Thanks to Loic Guibert.
>>> +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
>>> +o LANG-1162: StringUtils#equals fails with Index OOBE on non-Strings
>> with
>>> +             identical leading prefix..
>>> +o LANG-1163: There are no tests for CharSequenceUtils.regionMatches.
>>> +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
>> BarkZhang.
>>> +o LANG-1191: Incorrect Javadoc
>>> +             StringUtils.containsAny(CharSequence, CharSequence...).
>> Thanks to
>>> +             qed, Brent Worden and Gary Gregory.
>>> +
>>> +CHANGES
>>> +=========
>>> +o LANG-1197: Prepare Java 9 detection.
>>> +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
>> method is too
>>> +             big to be inlined. Thanks to Ruslan Cheremin.
>>> +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
>> misleading. Thanks
>>> +             to Dominik Stadler.
>>> +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks to
>>> +             Benoit Wiart.
>>> +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to be
>> inlined,
>>> +             which prevents whole builder to be scalarized. Thanks to
>>> +             Ruslan Cheremin.
>>> +o LANG-1243: Simplify ArrayUtils removeElements by using new
>> decrementAndGet()
>>> +             method.
>>> +o LANG-1240: Optimize BitField constructor implementation. Thanks to
>> zhanhb.
>>> +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
>>> +             Mohammed Alfallaj.
>>> +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.
>>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.
>> Thanks to
>>> +             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.
>>> +o LANG-1210: StringUtils#startsWithAny has error in Javadoc. Thanks to
>>> +             Matthias Niehoff.
>>> +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel Karp.
>>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks to
>>> +             Larry West and Pascal Schumacher.
>>> +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.
>>> +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
>>> +             SystemUtils.PATH_SEPARATOR.
>>> +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format descriptor
>> for
>>> +             "invalid number of type parameters". Thanks to Bruno P.
>> Kinoshita.
>>> +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due to
>> being
>>> +             package-private.
>>> +o LANG-1058: StringUtils.uncapitalize performance improvement. Thanks to
>>> +             Leo Wang.
>>> +o LANG-1069: CharSet.getInstance documentation does not clearly explain
>> how
>>> +             to include negation character in set. Thanks to Arno
>> Noordover.
>>> +o LANG-1107: Fix parsing edge cases in FastDateParser.
>>> +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
>> SystemUtils. Thanks
>>> +             to Jake Wang.
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.4
>>> +
>>> +
>>> +COMPATIBILITY
>>> +=============
>>> +
>>> +Commons Lang 3.4 is fully binary compatible to the last release and can
>>> +therefore be used as a drop in replacement for 3.3.2. Note that the
>> value of
>>> +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
>> EXTENDED_FORMAT_PATTERN
>>> +has changed, which may affect clients using the constant. Furthermore
>> the
>>> +constant is used internally in
>>> +o DurationFormatUtils.formatDurationISO(long)
>>> +o DurationFormatUtils.formatPeriodISO(long, long)
>>> +
>>> +For more information see https://issues.apache.org/
>> jira/browse/LANG-1000.
>>> +
>>> +NEW FEATURES
>>> +==============
>>> +
>>> +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
>> Kockert.
>>> +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
>>> +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to Fabian
>> Lange.
>>> +o LANG-1082: Add option to disable the "objectsTriviallyEqual" test in
>>> +             DiffBuilder. Thanks to Jonathan Baker.
>>> +o LANG-1015: Add JsonToStringStyle implementation to ToStringStyle.
>> Thanks to
>>> +             Thiago Andrade.
>>> +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-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.
>>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
>>> +             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
>>> +             Mikhail Mazursky.
>>> +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
>>> +             Mikhail Mazursky.
>>> +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object, String)
>>> +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
>>> +
>>> +FIXED BUGS
>>> +============
>>> +
>>> +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
>> Thanks to
>>> +             Timo Kockert.
>>> +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
>>> +o LANG-948:  Exception while using ExtendedMessageFormat and escaping
>> braces.
>>> +             Thanks to Andrey Khobnya.
>>> +o LANG-1092: Wrong formating of time zones with daylight saving time in
>>> +             FastDatePrinter
>>> +o LANG-1090: FastDateParser does not set error indication in
>> ParsePosition
>>> +o LANG-1089: FastDateParser does not handle excess hours as per
>>> +             SimpleDateFormat
>>> +o LANG-1061: FastDateParser error - timezones not handled correctly.
>> Thanks to
>>> +             dmeneses.
>>> +o LANG-1087: NumberUtils#createNumber() returns positive BigDecimal when
>>> +             negative Float is expected. Thanks to Renat Zhilkibaev.
>>> +o LANG-1081: DiffBuilder.append(String, Object left, Object right) does
>> not do
>>> +             a left.equals(right) check. Thanks to Jonathan Baker.
>>> +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
>> consistently.
>>> +             Thanks to Jonathan Baker.
>>> +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK. Thanks
>> to
>>> +             Jonathan Baker.
>>> +o LANG-1073: Read wrong component type of array in add in ArrayUtils.
>>> +             Thanks to haiyang li.
>>> +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in
>> StringUtils.
>>> +             Thanks to haiyang li.
>>> +o LANG-1072: Duplicated "0x" check in createBigInteger in NumberUtils.
>> Thanks
>>> +             to haiyang li.
>>> +o LANG-1064: StringUtils.abbreviate description doesn't agree with the
>>> +             examples. Thanks to B.J. Herbison.
>>> +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK method
>> ordering.
>>> +             Thanks to Alexandre Bartel.
>>> +o LANG-1000: ParseException when trying to parse UTC dates with Z as
>> zone
>>> +             designator using DateFormatUtils.ISO_DATETIME_
>> TIME_ZONE_FORMAT
>>> +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is unclear
>>> +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks to
>>> +             Michael Osipov.
>>> +o LANG-1088: FastDateParser should be case insensitive
>>> +o LANG-995:  Fix bug with stripping spaces on last line in
>> WordUtils.wrap().
>>> +             Thanks to Andrey Khobnya.
>>> +
>>> +CHANGES
>>> +=========
>>> +
>>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils smarter
>>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
>> Lange.
>>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
>>> +o LANG-1100: Avoid memory allocation when using date formating to
>> StringBuffer.
>>> +             Thanks to mbracher.
>>> +o LANG-935:  Possible performance improvement on string escape
>> functions.
>>> +             Thanks to Fabian Lange, Thomas Neidhart.
>>> +o LANG-1098: Avoid String allocation in StrBuilder.append(CharSequence).
>> Thanks
>>> +             to Mikhail Mazurskiy, Fabian Lange.
>>> +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to Micha?
>> Kordas.
>>> +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to Micha?
>> Kordas.
>>> +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha? Kordas.
>>> +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha? Kordas.
>>> +o LANG-877:  Performance improvements for StringEscapeUtils. Thanks to
>>> +             Fabian Lange.
>>> +o LANG-1071: Fix wrong examples in JavaDoc of
>>> +             StringUtils.replaceEachRepeatedly(...),
>>> +             StringUtils.replaceEach(...) Thanks to Arno Noordover.
>>> +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
>> fields it
>>> +             uses in performing comparisons
>>> +o LANG-1020: Improve performance of normalize space. Thanks to Libor
>> Ondrusek.
>>> +o LANG-1027: org.apache.commons.lang3.SystemUtils#isJavaVersionAtLeast
>> should
>>> +             return true by default
>>> +o LANG-1026: Bring static method references in StringUtils to
>> consistent style.
>>> +             Thanks to Alex Yursha.
>>> +o LANG-1017: Use non-ASCII digits in Javadoc examples for
>>> +             StringUtils.isNumeric. Thanks to Christoph Schneegans.
>>> +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils from
>> array
>>> +             input parameters to varargs. Thanks to Thiago Andrade.
>>> +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks to
>>> +             Thiago Andrade.
>>> +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
>> pattern to
>>> +             match #formatDurationHMS. Thanks to Michael Osipov.
>>> +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
>> Thanks to
>>> +             Thiago Andrade.
>>> +o LANG-731:  Better Javadoc for BitField class
>>> +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation does
>> not
>>> +             correspond to Javadoc and vice versa. Thanks to Michael
>> Osipov.
>>> +o LANG-1003: DurationFormatUtils are not able to handle negative
>>> +             durations/periods
>>> +o LANG-998:  Javadoc is not clear on preferred pattern to instantiate
>>> +             FastDateParser / FastDatePrinter
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.3.2
>>> +
>>> +NEW FEATURES
>>> +==============
>>> +
>>> +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
>>> +
>>> +FIXED BUGS
>>> +============
>>> +
>>> +o LANG-992:  NumberUtils#isNumber() returns false for "0.0", "0.4790",
>> et al
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.3.1
>>> +
>>> +FIXED BUGS
>>> +============
>>> +
>>> +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH) returns
>> wrong
>>> +             days
>>> +o LANG-983:  DurationFormatUtils does not describe format string fully
>>> +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched quote
>> char
>>> +o LANG-984:  DurationFormatUtils does not handle large durations
>> correctly
>>> +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS") - ms
>> field
>>> +             size should be 4 digits
>>> +o LANG-978:  Failing tests with Java 8 b128
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.3
>>> +
>>> +NEW FEATURES
>>> +==============
>>> +
>>> +o LANG-955:  Add methods for removing all invalid characters according
>> to
>>> +             XML 1.0 and XML 1.1 in an input string to
>> StringEscapeUtils.
>>> +             Thanks to Adam Hooper.
>>> +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
>>> +o LANG-962:  Add SerializationUtils.roundtrip(T extends Serializable) to
>>> +             serialize then deserialize
>>> +o LANG-637:  There should be a DifferenceBuilder with a
>>> +             ReflectionDifferenceBuilder implementation
>>> +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
>> StringUtils.
>>> +             Thanks to Rekha Joshi.
>>> +o LANG-417:  New class ClassPathUtils with methods for turning FQN into
>>> +             resource path
>>> +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
>> overloads
>>> +             for primitive types
>>> +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
>>> +o LANG-966:  Add IBM OS/400 detection
>>> +
>>> +FIXED BUGS
>>> +============
>>> +
>>> +o LANG-621:  ReflectionToStringBuilder.toString does not debug 3rd
>> party object
>>> +             fields within 3rd party object. Thanks to Philip Hodges,
>>> +             Thomas Neidhart.
>>> +o LANG-977:  NumericEntityEscaper incorrectly encodes supplementary
>> characters.
>>> +             Thanks to Chris Karcher.
>>> +o LANG-973:  Make some private fields final
>>> +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid Octal
>> numbers
>>> +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
>>> +o LANG-969:  StringUtils.toEncodedString(byte[], Charset) needlessly
>> throws
>>> +             UnsupportedEncodingException. Thanks to Matt Bishop.
>>> +o LANG-946:  ConstantInitializerTest fails when building with IBM JDK 7
>>> +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
>> Android.
>>> +             Thanks to Michael Keppler.
>>> +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
>> threshold
>>> +             returns wrong result. Thanks to Yaniv Kunda, Eli Lindsey.
>>> +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails in
>>> +             JDK 1.6, 1.7 and 1.8, BRST time zone
>>> +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.
>>> +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.
>>> +
>>> +CHANGES
>>> +=========
>>> +
>>> +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
>> removeFinalModifier(Field)
>>> +             does not clean up after itself
>>> +o LANG-958:  FastDateParser javadoc incorrectly states that
>> SimpleDateFormat
>>> +             is used internally
>>> +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
>>> +o LANG-939:  Move Documentation from user guide to package-info files
>>> +o LANG-953:  Convert package.html files to package-info.java files
>>> +o LANG-940:  Fix deprecation warnings
>>> +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.2.1
>>> +
>>> +BUG FIXES
>>> +===========
>>> +
>>> +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
>>> +o LANG-941:  Test failure in LocaleUtilsTest when building with JDK 8
>>> +o LANG-942:  Test failure in FastDateParserTest and
>> FastDateFormat_ParserTest
>>> +             when building with JDK8. Thanks to Bruno P. Kinoshita,
>>> +             Henri Yandell.
>>> +o LANG-938:  Build fails with test failures when building with JDK 8
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.2
>>> +
>>> +COMPATIBILITY WITH 3.1
>>> +========================
>>> +
>>> +This release introduces backwards incompatible changes in
>>> +org.apache.commons.lang3.time.FastDateFormat:
>>> +o Method 'protected java.util.List parsePattern()' has been removed
>>> +o Method 'protected java.lang.String parseToken(java.lang.String,
>> int[])' has
>>> +  been removed
>>> +o Method 'protected org.apache.commons.lang3.time.
>> FastDateFormat$NumberRule
>>> +  selectNumberRule(int, int)' has been removed
>>> +
>>> +These changes were the result of [LANG-462]. It is assumed that this
>> change
>>> +will not break clients as Charles Honton pointed out on 25/Jan/12:
>>> +"
>>> + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)" and
>>> +    "List<Rule> parsePattern()" couldn't have been overridden because
>>> +    NumberRule and Rule were private to FastDateFormat.
>>> + 2. Due to the factory pattern used, it's unlikely other two methods
>> would have
>>> +    been overridden.
>>> + 3. The four methods are highly implementation specific. I consider it a
>>> +    mistake that the methods were exposed.
>>> +"
>>> +For more information see https://issues.apache.org/jira/browse/LANG-462
>> .
>>> +
>>> +NEW FEATURES
>>> +==============
>>> +
>>> +o LANG-934:  Add removeFinalModifier to FieldUtils
>>> +o LANG-863:  Method returns number of inheritance hops between parent
>> and
>>> +             subclass. Thanks to Daneel S. Yaitskov.
>>> +o LANG-774:  Added isStarted, isSuspended and isStopped to StopWatch.
>>> +             Thanks to Erhan Bagdemir.
>>> +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence... methods.
>>> +             Thanks to Alexander Muthmann.
>>> +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
>>> +o LANG-795:  StringUtils.toString(byte[], String) deprecated in favour
>> of a new
>>> +             StringUtils.toString(byte[], CharSet). Thanks to Aaron
>> Digulla.
>>> +o LANG-893:  StrSubstitutor now supports default values for variables.
>>> +             Thanks to Woonsan Ko.
>>> +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
>> Mureinik.
>>> +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
>>> +             StringBuilder, StrBuilder, and Appendable.
>>> +o LANG-886:  Added CharSetUtils.containsAny(String, String).
>>> +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
>>> +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
>> StringUtils.
>>> +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
>>> +o LANG-873:  Add FieldUtils getAllFields() to return all the fields
>> defined in
>>> +             the given class and super classes.
>>> +o LANG-835:  StrBuilder should support StringBuilder as an input
>> parameter.
>>> +o LANG-857:  StringIndexOutOfBoundsException in CharSequenceTranslator.
>>> +o LANG-856:  Code refactoring in NumberUtils.
>>> +o LANG-855:  NumberUtils#createBigInteger does not allow for hex and
>> octal
>>> +             numbers.
>>> +o LANG-854:  NumberUtils#createNumber - does not allow for hex numbers
>> to be
>>> +             larger than Long.
>>> +o LANG-853:  StringUtils join APIs for primitives.
>>> +o LANG-841:  Add StringUtils API to call String.replaceAll in DOTALL
>> a.k.a.
>>> +             single-line mode.
>>> +o LANG-825:  Create StrBuilder APIs similar to
>>> +             String.format(String, Object...).
>>> +o LANG-675:  Add Triple class (ternary version of Pair).
>>> +o LANG-462:  FastDateFormat supports parse methods.
>>> +
>>> +BUG FIXES
>>> +===========
>>> +
>>> +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
>>> +             elements are different.
>>> +o LANG-917:  Fixed exception when combining custom and choice format in
>>> +             ExtendedMessageFormat. Thanks to Arne Burmeister.
>>> +o LANG-902:  RandomStringUtils.random javadoc was incorrectly promising
>> letters
>>> +             and numbers would, as opposed to may, appear  Issue:.
>> Thanks to
>>> +             Andrzej Winnicki.
>>> +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
>>> +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not updated.
>> Thanks
>>> +             to Mark Bryan Yu.
>>> +o LANG-879:  LocaleUtils test fails with new Locale
>> "ja_JP_JP_#u-ca-japanese"
>>> +             of JDK7.
>>> +o LANG-836:  StrSubstitutor does not support StringBuilder or
>> CharSequence.
>>> +             Thanks to Arnaud Brunet.
>>> +o LANG-693:  Method createNumber from NumberUtils doesn't work for
>> floating
>>> +             point numbers other than Float  Issue: LANG-693. Thanks to
>>> +             Calvin Echols.
>>> +o LANG-887:  FastDateFormat does not use the locale specific cache
>> correctly.
>>> +o LANG-754:  ClassUtils.getShortName(String) will now only do a
>> reverse lookup
>>> +             for array types.
>>> +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not work
>> for octal
>>> +             numbers.
>>> +o LANG-865:  LocaleUtils.toLocale does not parse strings starting with
>> an
>>> +             underscore.
>>> +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript() do
>> not
>>> +             output the escaped surrogate pairs that are Java parsable.
>>> +o LANG-849:  FastDateFormat and FastDatePrinter generates Date objects
>>> +             wastefully.
>>> +o LANG-845:  Spelling fixes.
>>> +o LANG-844:  Fix examples contained in javadoc of StringUtils.center
>> methods.
>>> +o LANG-832:  FastDateParser does not handle unterminated quotes
>> correctly.
>>> +o LANG-831:  FastDateParser does not handle white-space properly.
>>> +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
>>> +o LANG-828:  FastDateParser does not handle non-Gregorian calendars
>> properly.
>>> +o LANG-826:  FastDateParser does not handle non-ASCII digits correctly.
>>> +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading "--".
>>> +o LANG-818:  FastDateFormat's "z" pattern does not respect timezone of
>> Calendar
>>> +             instances passed to format().
>>> +o LANG-817:  Add org.apache.commons.lang3.SystemUtils.IS_OS_WINDOWS_8.
>>> +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string reference
>>> +             equality.
>>> +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
>>> +o LANG-807:  RandomStringUtils throws confusing IAE when end <= start.
>>> +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
>> universe,
>>> +             random) always throws java.lang.
>> ArrayIndexOutOfBoundsException.
>>> +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
>> class.
>>> +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and Object
>> versions.
>>> +o LANG-788:  SerializationUtils throws ClassNotFoundException when
>> cloning
>>> +             primitive classes.
>>> +o LANG-786:  StringUtils equals() relies on undefined behavior.
>>> +o LANG-783:  Documentation bug: StringUtils.split.
>>> +o LANG-777:  jar contains velocity template of release notes.
>>> +o LANG-776:  TypeUtilsTest contains incorrect type assignability
>> assertion.
>>> +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments for
>>> +             partially-assigned classes.
>>> +o LANG-773:  ImmutablePair doc contains nonsense text.
>>> +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage text.
>>> +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no longer
>> defines
>>> +             serialVersionUID.
>>> +o LANG-764:  StrBuilder is now serializable.
>>> +o LANG-761:  Fix Javadoc Ant warnings.
>>> +o LANG-747:  NumberUtils does not handle Long Hex numbers.
>>> +o LANG-743:  Javadoc bug in static inner class DateIterator.
>>> +
>>> +CHANGES
>>> +=========
>>> +
>>> +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
>> Thanks
>>> +             to Christoph Schneegans.
>>> +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking spaces
>>> +             (Unicode 00A0). Thanks to Timur Yarosh.
>>> +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor. Thanks to
>>> +             Allon Mureinik.
>>> +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
>>> +o LANG-882:  LookupTranslator now works with implementations of
>> CharSequence
>>> +             other than String.
>>> +o LANG-846:  Provide CharSequenceUtils.regionMatches with a proper
>> green
>>> +             implementation instead of inefficiently converting to
>> Strings.
>>> +o LANG-839:  ArrayUtils removeElements methods use unnecessary HashSet.
>>> +o LANG-838:  ArrayUtils removeElements methods clone temporary index
>> arrays
>>> +             unnecessarily.
>>> +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
>> support.
>>> +o LANG-798:  Use generics in SerializationUtils.
>>> +
>>> +CHANGES WITHOUT TICKET
>>> +========================
>>> +
>>> +o Fixed URLs in javadoc to point to new oracle.com pages
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.1
>>> +
>>> +NEW FEATURES
>>> +==============
>>> +
>>> +o LANG-801:  Add Conversion utility to convert between data types on
>> byte level
>>> +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
>> charsetName)
>>> +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
>>> +             isPrimitiveOrWrapper(Class<?>)
>>> +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a Unix
>> system
>>> +
>>> +BUG FIXES
>>> +===========
>>> +
>>> +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
>>> +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and -0X
>>> +o LANG-744:  StringUtils throws java.security.AccessControlException
>> on Google
>>> +             App Engine
>>> +o LANG-741:  Ant build has wrong component.name
>>> +o LANG-698:  Document that the Mutable numbers don't work as expected
>> with
>>> +             String.format
>>> +
>>> +CHANGES
>>> +=========
>>> +
>>> +o LANG-758:  Add an example with whitespace in
>> StringUtils.defaultIfEmpty
>>> +o LANG-752:  Fix createLong() so it behaves like createInteger()
>>> +o LANG-751:  Include the actual type in the Validate.isInstance and
>>> +             isAssignableFrom exception messages
>>> +o LANG-748:  Deprecating chomp(String, String)
>>> +o LANG-736:  CharUtils static final array CHAR_STRING is not needed to
>> compute
>>> +             CHAR_STRING_ARRAY
>>> +
>>> +===========================================================
>> ==================
>>> +
>>> +                        Release Notes for version 3.0
>>> +
>>> +ADDITIONS
>>> +===========
>>> +
>>> +o LANG-276:  MutableBigDecimal and MutableBigInteger.
>>> +o LANG-285:  Wish : method unaccent.
>>> +o LANG-358:  ObjectUtils.coalesce.
>>> +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
>> necessary.
>>> +o LANG-435:  Add ClassUtils.isAssignable() variants with autoboxing.
>>> +o LANG-444:  StringUtils.emptyToNull.
>>> +o LANG-482:  Enhance StrSubstitutor to support nested ${var-${subvr}}
>> expansion
>>> +o LANG-482:  StrSubstitutor now supports substitution in variable names.
>>> +o LANG-496:  A generic implementation of the Lazy initialization
>> pattern.
>>> +o LANG-497:  Addition of ContextedException and
>> ContextedRuntimeException.
>>> +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
>>> +o LANG-499:  Add support for the handling of ExecutionExceptions.
>>> +o LANG-501:  Add support for background initialization.
>>> +o LANG-529:  Add a concurrent package.
>>> +o LANG-533:  Validate: support for validating blank strings.
>>> +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
>>> +o LANG-545:  Add ability to create a Future for a constant.
>>> +o LANG-546:  Add methods to Validate to check whether the index is
>> valid for
>>> +             the array/list/string.
>>> +o LANG-553:  Add TypeUtils class to provide utility code for working
>> with generic
>>> +             types.
>>> +o LANG-559:  Added isAssignableFrom and isInstanceOf validation methods.
>>> +o LANG-559:  Added validState validation method.
>>> +o LANG-560:  New TimedSemaphore class.
>>> +o LANG-582:  Provide an implementation of the ThreadFactory interface.
>>> +o LANG-588:  Create a basic Pair<L, R> class.
>>> +o LANG-594:  DateUtils equal & compare functions up to most significant
>> field.
>>> +o LANG-601:  Add Builder Interface / Update Builders to Implement It.
>>> +o LANG-609:  Support lazy initialization using atomic variables
>>> +o LANG-610:  Extend exception handling in ConcurrentUtils to runtime
>> exceptions.
>>> +o LANG-614:  StringUtils.endsWithAny method
>>> +o LANG-640:  Add normalizeSpace to StringUtils
>>> +o LANG-644:  Provide documentation about the new concurrent package
>>> +o LANG-649:  BooleanUtils.toBooleanObject to support single character
>> input
>>> +o LANG-651:  Add AnnotationUtils
>>> +o LANG-653:  Provide a very basic ConcurrentInitializer implementation
>>> +o LANG-655:  Add StringUtils.defaultIfBlank()
>>> +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
>>> +o LANG-676:  Documented potential NPE if auto-boxing occurs for some
>> BooleanUtils
>>> +             methods
>>> +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
>>> +o LANG-692:  Add hashCodeMulti varargs method
>>> +o LANG-697:  Add FormattableUtils class
>>> +o LANG-684:  Levenshtein Distance Within a Given Threshold
>>> +
>>> +REMOVALS
>>> +==========
>>> +
>>> +o LANG-438:  Remove @deprecateds.
>>> +o LANG-492:  Remove code handled now by the JDK.
>>> +o LANG-493:  Remove code that does not hold enough value to remain.
>>> +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
>>> +             StringUtils.indexOf(String, String, int).
>>> +o LANG-673:  WordUtils.abbreviate() removed
>>> +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
>>> +
>>> +IMPROVEMENTS
>>> +==============
>>> +
>>> +o LANG-290:  EnumUtils for JDK 5.0.
>>> +o LANG-336:  Finally start using generics.
>>> +o LANG-355:  StrBuilder should implement CharSequence and Appendable.
>>> +o LANG-396:  Investigate for vararg usages.
>>> +o LANG-424:  Improve Javadoc for StringUtils class.
>>> +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
>>> +o LANG-479:  Document where in SVN trunk is.
>>> +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
>>> +o LANG-505:  Rewrite StringEscapeUtils.
>>> +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+ notation.
>>> +o LANG-510:  Convert StringUtils API to take CharSequence.
>>> +o LANG-513:  Better EnumUtils.
>>> +o LANG-528:  Mutable classes should implement an appropriately typed
>> Mutable
>>> +             interface.
>>> +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
>>> +o LANG-540:  Make NumericEntityEscaper immutable.
>>> +o LANG-541:  Replace StringBuffer with StringBuilder.
>>> +o LANG-548:  Use Iterable on API instead of Collection.
>>> +o LANG-551:  Replace Range classes with generic version.
>>> +o LANG-562:  Change Maven groupId.
>>> +o LANG-563:  Change Java package name.
>>> +o LANG-570:  Do the test cases really still require main() and suite()
>> methods?
>>> +o LANG-579:  Add new Validate methods.
>>> +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
>> Separators.
>>> +o LANG-605:  DefaultExceptionContext overwrites values in recursive
>> situations.
>>> +o LANG-668:  Change ObjectUtils min() & max() functions to use varargs
>> rather
>>> +             than just two parameters
>>> +o LANG-681:  Push down WordUtils to "text" sub-package.
>>> +o LANG-711:  Add includeantruntime=false to javac targets to quell
>> warnings in
>>> +             ant 1.8.1 and better (and modest performance gain).
>>> +o LANG-713:  Increase test coverage of FieldUtils read methods and tweak
>>> +             javadoc.
>>> +o LANG-718:  build.xml Java 1.5+ updates.
>>> +
>>> +BUG FIXES
>>> +===========
>>> +
>>> +o LANG-11:   Depend on JDK 1.5+.
>>> +o LANG-302:  StrBuilder does not implement clone().
>>> +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
>> characters like
>>> +             Chinese, Japanese, etc.
>>> +o LANG-369:  ExceptionUtils not thread-safe.
>>> +o LANG-418:  Javadoc incorrect for StringUtils.endsWithIgnoreCase.
>>> +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
>> return false
>>> +             for ""
>>> +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
>> (0x00-0x20).
>>> +o LANG-448:  Lower Ascii Characters don't get encoded by Entities.java.
>>> +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393 (EqualsBuilder).
>>> +o LANG-474:  Fixes for thread safety.
>>> +o LANG-478:  StopWatch does not resist to system time changes.
>>> +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts unicode
>>> +             characters above U+00FFFF into 2 characters.
>>> +o LANG-481:  Possible race-conditions in hashCode of the range classes.
>>> +o LANG-564:  Improve StrLookup API documentation.
>>> +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
>>> +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create unexpected
>>> +             ClassCastException.
>>> +o LANG-585:  exception.DefaultExceptionContext.
>> getFormattedExceptionMessage
>>> +             catches Throwable.
>>> +o LANG-596:  StrSubstitutor should also handle the default properties
>> of a
>>> +             java.util.Properties class
>>> +o LANG-600:  Javadoc is incorrect for public static int
>>> +             lastIndexOf(String str, String searchStr).
>>> +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
>> exception.
>>> +o LANG-606:  EqualsBuilder causes StackOverflowException.
>>> +o LANG-608:  Some StringUtils methods should take an int character
>> instead of
>>> +             char to use String API features.
>>> +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
>> supplementary
>>> +             characters
>>> +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
>>> +             StringIndexOutOfBoundsException on Android runtime/Dalvik
>> VM
>>> +o LANG-629:  Charset may not be threadsafe, because the HashSet is not
>> synch.
>>> +o LANG-638:  NumberUtils createNumber throws a
>> StringIndexOutOfBoundsException
>>> +             when argument containing "e" and "E" is passed in
>>> +o LANG-643:  Javadoc StringUtils.left() claims to throw on negative
>> len, but
>>> +             doesn't
>>> +o LANG-645:  FastDateFormat.format() outputs incorrect week of year
>> because
>>> +             locale isn't respected
>>> +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
>> escapes and
>>> +             Unicode with extra u
>>> +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '') = 0
>> incorrect
>>> +o LANG-658:  Some Entitys like &Ouml; are not matched properly against
>> its
>>> +             ISO8859-1 representation
>>> +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus sign,
>> U+2212
>>> +             ISOtech
>>> +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
>>> +o LANG-662:  org.apache.commons.lang3.math.Fraction does not reduce
>>> +             (Integer.MIN_VALUE, 2^k)
>>> +o LANG-663:  org.apache.commons.lang3.math.Fraction does not always
>> succeed in
>>> +             multiplyBy and divideBy
>>> +o LANG-664:  NumberUtils.isNumber(String) is not right when the String
>> is
>>> +             "1.1L"
>>> +o LANG-672:  Doc bug in DateUtils#ceiling
>>> +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour clock and
>> not
>>> +             24 hour
>>> +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
>>> +o LANG-703:  StringUtils.join throws NPE when toString returns null for
>> one of
>>> +             objects in collection
>>> +o LANG-710:  StringIndexOutOfBoundsException when calling
>> unescapeHtml4("&#03")
>>> +o LANG-714:  StringUtils doc/comment spelling fixes.
>>> +o LANG-715:  CharSetUtils.squeeze() speedup.
>>> +o LANG-716:  swapCase and *capitalize speedups.
>>> +
>>> +
>>> +Historical list of changes: http://commons.apache.org/
>> lang/changes-report.html
>>> +
>>> +For complete information on Commons Lang, including instructions on how
>> to
>>> +submit bug reports, patches, or suggestions for improvement, see the
>>> +Apache Commons Lang website:
>>> +
>>> +http://commons.apache.org/lang/
>>> +
>>> +Have fun!
>>> +-Apache Commons Lang team
>>> +
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
>>> ============================================================
>> ==================
>>> Binary file - no diff available.
>>> 
>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz
>>> ------------------------------------------------------------
>> ------------------
>>>   svn:mime-type = application/octet-stream
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.asc
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
>> (added)
>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1,16 @@
>>> +-----BEGIN PGP SIGNATURE-----
>>> +
>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>> +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
>>> +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
>>> +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
>>> +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
>>> +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
>>> +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
>>> +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
>>> +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
>>> +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
>>> +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
>>> +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
>>> +=tjQB
>>> +-----END PGP SIGNATURE-----
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.md5
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
>> (added)
>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +fe7776aab25e229c9a5805c3ba82d219
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
>> bin.tar.gz.sha1
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
>> (added)
>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
>>> ============================================================
>> ==================
>>> Binary file - no diff available.
>>> 
>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
>>> ------------------------------------------------------------
>> ------------------
>>>   svn:mime-type = application/octet-stream
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>> (added)
>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1,16 @@
>>> +-----BEGIN PGP SIGNATURE-----
>>> +
>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>> +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
>>> +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
>>> +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
>>> +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
>>> +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
>>> +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
>>> +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
>>> +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
>>> +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
>>> +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
>>> +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
>>> +=6Bjb
>>> +-----END PGP SIGNATURE-----
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>> (added)
>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +3b8ee236a7105277427d305587a6c8dd
>>> 
>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>> (added)
>>> +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>> 
>>> Added: dev/commons/lang/site.zip
>>> ============================================================
>> ==================
>>> Binary file - no diff available.
>>> 
>>> Propchange: dev/commons/lang/site.zip
>>> ------------------------------------------------------------
>> ------------------
>>>   svn:mime-type = application/octet-stream
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>>> ============================================================
>> ==================
>>> Binary file - no diff available.
>>> 
>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz
>>> ------------------------------------------------------------
>> ------------------
>>>   svn:mime-type = application/octet-stream
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>> (added)
>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1,16 @@
>>> +-----BEGIN PGP SIGNATURE-----
>>> +
>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>> +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
>>> +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
>>> +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
>>> +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
>>> +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
>>> +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
>>> +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
>>> +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
>>> +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
>>> +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
>>> +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
>>> +=8mS4
>>> +-----END PGP SIGNATURE-----
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>> (added)
>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +11b0a67eee0b856ee3629bdcfef35649
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
>> src.tar.gz.sha1
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>> (added)
>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
>> Thu Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
>>> ============================================================
>> ==================
>>> Binary file - no diff available.
>>> 
>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
>>> ------------------------------------------------------------
>> ------------------
>>>   svn:mime-type = application/octet-stream
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
>> (added)
>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc Thu
>> Jan  4 12:45:36 2018
>>> @@ -0,0 +1,16 @@
>>> +-----BEGIN PGP SIGNATURE-----
>>> +
>>> +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
>>> +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
>>> +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
>>> +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
>>> +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
>>> +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
>>> +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
>>> +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
>>> +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
>>> +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
>>> +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
>>> +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
>>> +=5+7f
>>> +-----END PGP SIGNATURE-----
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
>> (added)
>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5 Thu
>> Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +66d939d849bb560af8259d10156a58ec
>>> 
>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>>> ============================================================
>> ==================
>>> --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
>> (added)
>>> +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1 Thu
>> Jan  4 12:45:36 2018
>>> @@ -0,0 +1 @@
>>> +da39a3ee5e6b4b0d3255bfef95601890afd80709
>>> 
>>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>> 
>> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/)

Posted by Gary Gregory <ga...@gmail.com>.
That looks good. Thank you Rob!

Gary

On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <ch...@gmail.com> wrote:

> @Gary - Below is the result from my release plugin with [lang3]. Give it a
> looking over and let me know what you think.
>
> -Rob
>
> > On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote:
> >
> > Author: chtompki
> > Date: Thu Jan  4 12:45:36 2018
> > New Revision: 24009
> >
> > Log:
> > Staging release: commons-lang3, version: 3.8-SNAPSHOT
> >
> > Added:
> >    dev/commons/lang/RELEASE-NOTES.txt
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
>  (with props)
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip   (with
> props)
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> >    dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> >    dev/commons/lang/site.zip   (with props)
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
>  (with props)
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip   (with
> props)
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> >    dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> >
> > Added: dev/commons/lang/RELEASE-NOTES.txt
> > ============================================================
> ==================
> > --- dev/commons/lang/RELEASE-NOTES.txt (added)
> > +++ dev/commons/lang/RELEASE-NOTES.txt Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1,1176 @@
> > +
> > +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.7
> > +                           Release Notes
> > +
> > +
> > +INTRODUCTION:
> > +
> > +This document contains the release notes for the 3.7 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-1355: TimeZone.getTimeZone() in FastDateParser causes resource
> contention (PR #296.) Thanks to Chas Honton.
> > +o LANG-1360: Add methods to ObjectUtils to get various forms of class
> names in a null-safe manner Thanks to Gary Gregory.
> > +
> > +Fixed Bugs:
> > +o LANG-1362: Fix tests DateUtilsTest for Java 9 with en_GB locale
> Thanks to Stephen Colebourne.
> > +o LANG-1365: Fix NullPointerException in isJavaVersionAtLeast on Java
> 10, add SystemUtils.IS_JAVA_10, add JavaVersion.JAVA_10 Thanks to Gary
> Gregory.
> > +o LANG-1348: StackOverflowError on TypeUtils.toString(...) for a
> generic return type of Enum.valueOf Thanks to mbusso.
> > +o LANG-1350: ConstructorUtils.invokeConstructor(Class, Object...)
> regression Thanks to Brett Kail.
> > +o LANG-1349: EqualsBuilder#isRegistered: swappedPair construction bug
> Thanks to Naman Nigam.
> > +o LANG-1357: org.apache.commons.lang3.time.FastDateParser should use
> toUpperCase(Locale) Thanks to BruceKuiLiu.
> > +
> > +Changes:
> > +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
> > +                               Version 3.6
> > +                              Release Notes
> > +
> > +
> > +INTRODUCTION:
> > +
> > +This document contains the release notes for the 3.6 version of
> > +Apache Commons Lang as well as a history all changes in the Commons
> Lang 3.x
> > +release line. Commons Lang is a set of utility functions and reusable
> > +components that should be of use in any Java environment. Commons Lang
> 3.6 at
> > +least requires Java 7.0. Note that this has changed from Commons Lang
> 3.5, which
> > +only required Java 1.6.
> > +
> > +For the advice on upgrading from 2.x to 3.x, see the following page:
> > +
> > +    http://commons.apache.org/lang/article3_0.html
> > +
> > +HIGHLIGHTS
> > +==========
> > +
> > +Some of the highlights in this release include:
> > +
> > +o The class org.apache.commons.lang3.concurrent.Memoizer is an
> implementation
> > +    of the Memoizer pattern as shown in
> > +    Goetz, Brian et al. (2006) - Java Concurrency in Practice, p. 108.
> > +o The class org.apache.commons.lang3.ArchUtils has been added.
> ArchUtils is
> > +    a utility class for the "os.arch" system property.
> > +
> > +DEPRECATIONS
> > +============
> > +
> > +The Apache Commons Community has recently set up the Commons Text
> component
> > +as a home for algorithms working on strings. For this reason most of
> the string
> > +focused functionality in Commons Lang has been deprecated and moved to
> > +Commons Text. This includes:
> > +
> > +o All classes in the org.apache.commons.lang3.text and the
> > +    org.apache.commons.lang3.text.translate packages
> > +o org.apache.commons.lang3.StringEscapeUtils
> > +o org.apache.commons.lang3.RandomStringUtils
> > +o The methods org.apache.commons.lang3.StringUtils.getJaroWinklerDistance
> and
> > +    org.apache.commons.lang3.StringUtils.getLevenshteinDistance
> > +
> > +For more information see the Commons Text website:
> > +
> > +    http://commons.apache.org/text
> > +
> > +The class org.apache.commons.lang3.CharEncoding has been deprecated in
> favor of
> > +java.nio.charset.StandardCharsets.
> > +
> > +The following methods have been deprecated in
> > +org.apache.commons.lang3.ArrayUtils in favor of the corresponding
> insert
> > +methods. Note that the handling for null inputs differs between add and
> insert.
> > +
> > +o add(boolean[], int, boolean) -> insert(int, boolean[], boolean...)
> > +o add(byte[], int, boolean)    -> insert(int, byte[], byte...)
> > +o add(char[], int, boolean)    -> insert(int, char[], char...)
> > +o add(double[], int, boolean)  -> insert(int, double[], double...)
> > +o add(float[], int, boolean)   -> insert(int, float[], float...)
> > +o add(int[], int, boolean)     -> insert(int, int[], int...)
> > +o add(long[], int, boolean)    -> insert(int, long[], long...)
> > +o add(short[], int, boolean)   -> insert(int, short[], short...)
> > +o add(T[], int, boolean)       -> insert(int, T[], T...)
> > +
> > +
> > +COMPATIBILITY WITH JAVA 9
> > +==================
> > +
> > +The MANIFEST.MF now contains an additional entry:
> > +
> > +  Automatic-Module-Name: org.apache.commons.lang3
> > +
> > +This should make it possible to use Commons Lang 3.6 as a module in the
> Java 9
> > +module system. For more information see the corresponding issue and the
> > +referenced mailing list discussions:
> > +
> > +    https://issues.apache.org/jira/browse/LANG-1338
> > +
> > +The build problems present in the 3.5 release have been resolved.
> Building
> > +Commons Lang 3.6 should work out of the box with the latest Java 9 EA
> build.
> > +Please report any Java 9 related issues at:
> > +
> > +    https://issues.apache.org/jira/browse/LANG
> > +
> > +NEW FEATURES
> > +============
> > +
> > +o LANG-1336: Add NUL Byte To CharUtils. Thanks to Beluga Behr.
> > +o LANG-1304: Add method in StringUtils to determine if string contains
> both
> > +             mixed cased characters. Thanks to Andy Klimczak.
> > +o LANG-1325: Increase test coverage of ToStringBuilder class to 100%.
> > +             Thanks to Arshad Basha.
> > +o LANG-1307: Add a method in StringUtils to extract only digits out of
> input
> > +             string. Thanks to Arshad Basha.
> > +o LANG-1256: Add JMH maven dependencies. Thanks to C0rWin.
> > +o LANG-1167: Add null filter to ReflectionToStringBuilder.
> > +             Thanks to Mark Dacek.
> > +o LANG-1299: Add method for converting string to an array of code
> points.
> > +o LANG-660:  Add methods to insert arrays into arrays at an index.
> > +o LANG-1034: Add support for recursive comparison to
> > +             EqualsBuilder#reflectionEquals. Thanks to Yathos UG.
> > +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.
> > +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.
> > +o LANG-1313: Add ArchUtils - An utility class for the "os.arch" system
> property.
> > +             Thanks to Tomschi.
> > +o LANG-1272: Add shuffle methods to ArrayUtils.
> > +o LANG-1317: Add MethodUtils#findAnnotation and extend
> > +             MethodUtils#getMethodsWithAnnotation for non-public,
> super-class
> > +             and interface methods. Thanks to Yasser Zamani.
> > +o LANG-1331: Add ImmutablePair.nullPair().
> > +o LANG-1332: Add ImmutableTriple.nullTriple().
> > +
> > +FIXED BUGS
> > +==========
> > +
> > +o LANG-1337: Fix test failures in IBM JDK 8 for ToStringBuilderTest.
> > +o LANG-1319: MultilineRecursiveToStringStyle StackOverflowError when
> object is
> > +             an array.
> > +o LANG-1320: LocaleUtils#toLocale does not support language followed by
> UN M.49
> > +             numeric-3 area code followed by variant.
> > +o LANG-1300: Clarify or improve behaviour of int-based indexOf methods
> in
> > +             StringUtils. Thanks to Mark Dacek.
> > +o LANG-1286: RandomStringUtils random method can overflow and return
> characters
> > +             outside of specified range.
> > +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ò.
> > +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is contradictory.
> > +             Thanks to Andreas Lundblad.
> > +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possible heap
> > +             pollution from parameterized vararg type T.
> > +o LANG-1144: Multiple calls of
> > +             org.apache.commons.lang3.concurrent.LazyInitializer.
> initialize()
> > +             are possible. Thanks to Waldemar Maier, Gary Gregory.
> > +o LANG-1276: StrBuilder#replaceAll ArrayIndexOutOfBoundsException.
> > +             Thanks to Andy Klimczak.
> > +o LANG-1278: BooleanUtils javadoc issues. Thanks to Duke Yin.
> > +o LANG-1070: ArrayUtils#add confusing example in javadoc.
> > +             Thanks to Paul Pogonyshev.
> > +o LANG-1271: StringUtils#isAnyEmpty and #isAnyBlank should return false
> for an
> > +             empty array. Thanks to Pierre Templier.
> > +o LANG-1155: Add StringUtils#unwrap. Thanks to Saif Asif, Thiago
> Andrade.
> > +o LANG-1311: TypeUtils.toString() doesn't handle primitive and Object
> arrays
> > +             correctly. Thanks to Aaron Digulla.
> > +o LANG-1312: LocaleUtils#toLocale does not support language followed by
> UN M.49
> > +             numeric-3 area code.
> > +o LANG-1265: Build failures when building with Java 9 EA.
> > +o LANG-1314: javadoc creation broken with Java 8. Thanks to Allon
> Murienik.
> > +o LANG-1310: MethodUtils.invokeMethod throws ArrayStoreException if
> using
> > +             varargs arguments and smaller types than the method
> defines.
> > +             Thanks to Don Jeba.
> > +
> > +CHANGES
> > +=======
> > +
> > +o LANG-1338: Add Automatic-Module-Name MANIFEST entry for Java 9
> > +             compatibility.
> > +o LANG-1334: Deprecate CharEncoding in favour of
> > +             java.nio.charset.StandardCharsets.
> > +o LANG-1110: Implement HashSetvBitSetTest using JMH.
> > +             Thanks to Bruno P. Kinoshita.
> > +o LANG-1290: Increase test coverage of org.apache.commons.lang3.
> ArrayUtils.
> > +             Thanks to Andrii Abramov.
> > +o LANG-1274: StrSubstitutor should state its thread safety.
> > +o LANG-1277: StringUtils#getLevenshteinDistance reduce memory
> consumption.
> > +             Thanks to yufcuy.
> > +o LANG-1279: Update Java requirement from Java 6 to 7.
> > +o LANG-1143: StringUtils should use toXxxxCase(int) rather than
> > +             toXxxxCase(char). Thanks to sebb.
> > +o LANG-1297: Add SystemUtils.getHostName() API.
> > +o LANG-1301: Moving apache-rat-plugin configuration into
> pluginManagement.
> > +             Thanks to Karl Heinz Marbaise.
> > +o LANG-1316: Deprecate classes/methods moved to commons-text.
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.5
> > +
> > +
> > +HIGHLIGHTS
> > +==========
> > +
> > +Some of the highlights in this release include:
> > +
> > +o Added Java 9 detection to org.apache.commons.lang3.SystemUtils.
> > +o Support for shifting and swapping elements in
> > +    org.apache.commons.lang3.ArrayUtils.
> > +o New methods for generating random strings from different character
> classes
> > +    including alphabetic, alpha-numeric and ASCII added to
> > +    org.apache.commons.lang3.RandomStringUtils.
> > +o Numerous extensions to org.apache.commons.lang3.StringUtils including
> > +    null safe compare variants, more remove and replace variants,
> rotation and
> > +    truncation.
> > +o Added org.apache.commons.lang3.ThreadUtils - a utility class to work
> with
> > +    instances of java.lang.Thread and java.lang.ThreadGroup.
> > +o Added annotations @EqualsExclude, @HashCodeExclude and
> @ToStringEclude to
> > +    mark fields which should be ignored by the reflective builders in
> the
> > +    org.apache.commons.lang3.builder package.
> > +o Support for various modify and retrieve value use cases added to the
> classes
> > +    in org.apache.commons.lang3.mutable.
> > +
> > +COMPATIBILITY
> > +=============
> > +
> > +Apache Commons Lang 3.5 is binary compatible with the 3.4 release. Users
> > +should not experience any problems when upgrading from 3.4 to 3.5.
> > +
> > +There has been an addition to the org.apache.commons.lang3.time.
> DatePrinter
> > +interface:
> > +
> > +o Added method 'public boolean parse(java.lang.String,
> java.text.ParsePosition,
> > +    java.util.Calendar)'
> > +o Added method 'public java.lang.Appendable format(long,
> java.lang.Appendable)'
> > +o Added method 'public java.lang.Appendable format(java.util.Date,
> > +    java.lang.Appendable)'
> > +o Added method 'public java.lang.Appendable format(java.util.Calendar,
> > +    java.lang.Appendable)'
> > +
> > +For this reason 3.5 is not strictly source compatible to 3.4. Since the
> > +DatePrinter interface is not meant to be implemented by clients, this
> > +change it not considered to cause any problems.
> > +
> > +JAVA 9 SUPPORT
> > +==============
> > +
> > +Java 9 introduces a new version-string scheme. Details of this new
> scheme are
> > +documented in JEP-223 (http://openjdk.java.net/jeps/223). In order to
> support
> > +JEP-223 two classes had to be changed:
> > +
> > +o org.apache.commons.lang3.JavaVersion
> > +    deprecated enum constant JAVA_1_9
> > +    introduced enum constant JAVA_9
> > +
> > +o org.apache.commons.lang3.SystemUtils
> > +    deprecated constant IS_JAVA_1_9
> > +    introduced constant IS_JAVA_9
> > +
> > +For more information see LANG-1197
> > +(https://issues.apache.org/jira/browse/LANG-1197). All other APIs are
> expected
> > +to work with Java 9.
> > +
> > +BUILDING ON JAVA 9
> > +==================
> > +
> > +Java 8 introduced the Unicode Consortium's Common Locale Data
> Repository as
> > +alternative source for locale data. Java 9 will use the CLDR provider as
> > +default provider for locale data (see http://openjdk.java.net/jeps/252).
> This
> > +causes an number of locale-sensitive test in Commons Lang to fail. In
> order
> > +to build Commons Lang 3.5 on Java 9, the locale provider has to be set
> to
> > +'JRE':
> > +
> > +    mvn -Djava.locale.providers=JRE clean install
> > +
> > +We are currently investigating ways to support building on Java 9
> without
> > +further configuration. For more information see:
> > +https://issues.apache.org/jira/browse/LANG-1265
> > +
> > +
> > +NEW FEATURES
> > +==============
> > +
> > +o LANG-1275: Added a tryAcquire() method to TimedSemaphore.
> > +o LANG-1255: Add DateUtils.toCalendar(Date, TimeZone). Thanks to
> Kaiyuan Wang.
> > +o LANG-1023: Add WordUtils.wrap overload with customizable breakable
> character.
> > +             Thanks to Marko Bekhta.
> > +o LANG-787:  Add method removeIgnoreCase(String, String) to
> StringUtils. Thanks
> > +             to Gokul Nanthakumar C.
> > +o LANG-1224: Extend RandomStringUtils with methods that generate strings
> > +             between a min and max length. Thanks to Caleb Cushing.
> > +o LANG-1257: Add APIs StringUtils.wrapIfMissing(String, char|String).
> Thanks to
> > +             Gary Gregory.
> > +o LANG-1253: Add RandomUtils#nextBoolean() method. Thanks to adilek.
> > +o LANG-1085: Add a circuit breaker implementation. Thanks to Oliver
> Heger and
> > +             Bruno P. Kinoshita.
> > +o LANG-1013: Add StringUtils.truncate(). Thanks to Thiago Andrade.
> > +o LANG-1195: Enhance MethodUtils to allow invocation of private
> methods. Thanks
> > +             to Derek C. Ashmore.
> > +o LANG-1189: Add getAndIncrement/getAndDecrement/getAndAdd/
> incrementAndGet/
> > +             decrementAndGet/addAndGet in Mutable* classes. Thanks to
> > +             Haiyang Li and Matthew Bartenschlag.
> > +o LANG-1225: Add RandomStringUtils#randomGraph and #randomPrint which
> match
> > +             corresponding regular expression class. Thanks to Caleb
> Cushing.
> > +o LANG-1223: Add StopWatch#getTime(TimeUnit). Thanks to Nick Manley.
> > +o LANG-781:  Add methods to ObjectUtils class to check for null
> elements in the
> > +             array. Thanks to Krzysztof Wolny.
> > +o LANG-1228: Prefer Throwable.getCause() in ExceptionUtils.getCause().
> > +             Thanks to Brad Hess.
> > +o LANG-1233: DiffBuilder add method to allow appending from a
> DiffResult.
> > +             Thanks to Nick Manley.
> > +o LANG-1168: Add SystemUtils.IS_OS_WINDOWS_10 property.
> > +             Thanks to Pascal Schumacher.
> > +o LANG-1115: Add support for varargs in ConstructorUtils, MemberUtils,
> and
> > +             MethodUtils. Thanks to Jim Lloyd and Joe Ferner.
> > +o LANG-1134: Add methods to check numbers against NaN and inifinite to
> > +             Validate. Thanks to Alan Smithee.
> > +o LANG-1220: Add tests for missed branches in DateUtils.
> > +             Thanks to Casey Scarborough.
> > +o LANG-1146: z/OS identification in SystemUtils.
> > +             Thanks to Gabor Liptak.
> > +o LANG-1192: FastDateFormat support of the week-year component
> (uppercase 'Y').
> > +             Thanks to Dominik Stadler.
> > +o LANG-1169: Add StringUtils methods to compare a string to multiple
> strings.
> > +             Thanks to Rafal Glowinski, Robert Parr and Arman Sharif.
> > +o LANG-1185: Add remove by regular expression methods in StringUtils.
> > +o LANG-1139: Add replace by regular expression methods in StringUtils.
> > +o LANG-1171: Add compare methods in StringUtils.
> > +o LANG-1174: Add sugar to RandomUtils. Thanks to Punkratz312.
> > +o LANG-1154: FastDateFormat APIs that use a StringBuilder. Thanks to
> > +             Gary Gregory.
> > +o LANG-1149: Ability to throw checked exceptions without declaring
> them. Thanks
> > +             to Gregory Zak.
> > +o LANG-1153: Implement ParsePosition api for FastDateParser.
> > +o LANG-1137: Add check for duplicate event listener in
> EventListenerSupport.
> > +             Thanks to Matthew Aguirre.
> > +o LANG-1135: Add method containsAllWords to WordUtils. Thanks to
> > +             Eduardo Martins.
> > +o LANG-1132: ReflectionToStringBuilder doesn't throw
> IllegalArgumentException
> > +             when the constructor's object param is null. Thanks to
> Jack Tan.
> > +o LANG-701:  StringUtils join with var args. Thanks to James Sawle.
> > +o LANG-1105: Add ThreadUtils - A utility class which provides helper
> methods
> > +             related to java.lang.Thread  Issue: LANG-1105. Thanks to
> > +             Hendrik Saly.
> > +o LANG-1031: Add annotations to exclude fields from
> ReflectionEqualsBuilder,
> > +             ReflectionToStringBuilder and ReflectionHashCodeBuilder.
> Thanks
> > +             to Felipe Adorno.
> > +o LANG-1127: Use JUnit rules to set and reset the default Locale and
> TimeZone.
> > +o LANG-1119: Add rotate(string, int) method to StringUtils. Thanks to
> > +             Loic Guibert.
> > +o LANG-1099: Add swap and shift operations for arrays to ArrayUtils.
> Thanks to
> > +             Adrian Ber.
> > +o LANG-1050: Change nullToEmpty methods to generics. Thanks to James
> Sawle.
> > +o LANG-1074: Add a method to ArrayUtils for removing all occurrences of
> a given
> > +             element  Issue: LANG-1074. Thanks to Haiyang Li.
> > +
> > +FIXED BUGS
> > +============
> > +
> > +o LANG-1261: ArrayUtils.contains returns false for instances of
> subtypes.
> > +o LANG-1252: Rename NumberUtils.isNumber, isCreatable to better reflect
> > +             createNumber. Also, accommodated for "+" symbol as prefix
> in
> > +             isCreatable and isNumber. Thanks to Rob Tompkins.
> > +o LANG-1230: Remove unnecessary synchronization from registry lookup in
> > +             EqualsBuilder and HashCodeBuilder. Thanks to Philippe
> Marschall.
> > +o LANG-1214: Handle "void" in ClassUtils.getClass(). Thanks to Henry
> Tung.
> > +o LANG-1250: SerializationUtils#deserialize has unnecessary code and a
> comment
> > +             for that. Thanks to Glease Wang.
> > +o LANG-1190: TypeUtils.isAssignable throws NullPointerException when
> fromType
> > +             has type variables and toType generic superclass specifies
> type
> > +             variable. Thanks to Pascal Schumacher.
> > +o LANG-1226: StringUtils#normalizeSpace does not trim the string
> anymore.
> > +             Thanks to Pascal Schumacher.
> > +o LANG-1251: SerializationUtils.ClassLoaderAwareObjectInputStream
> should use
> > +             static initializer to initialize primitiveTypes map.
> Thanks to
> > +             Takuya Ueshin.
> > +o LANG-1248: FastDatePrinter Memory allocation regression. Thanks to
> > +             Benoit Wiart.
> > +o LANG-1018: Fix precision loss on NumberUtils.createNumber(String).
> Thanks to
> > +             Nick Manley.
> > +o LANG-1199: Fix implementation of StringUtils.getJaroWinklerDistance().
> Thanks
> > +             to M. Steiger.
> > +o LANG-1244: Fix dead links in StringUtils.getLevenshteinDistance()
> javadoc.
> > +             Thanks to jjbankert.
> > +o LANG-1242: "\u2284":"?" mapping missing from
> > +             EntityArrays#HTML40_EXTENDED_ESCAPE. Thanks to Neal
> Stewart.
> > +o LANG-901:  StringUtils#startsWithAny/endsWithAny is case sensitive -
> > +             documented as case insensitive. Thanks to Matthew
> Bartenschlag.
> > +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 "Å‚".
> > +             Thanks to kaching88.
> > +o LANG-1205: NumberUtils.createNumber() behaves inconsistently with
> > +             NumberUtils.isNumber(). Thanks to pbrose.
> > +o LANG-1222: Fix for incorrect comment on StringUtils.containsIgnoreCase
> > +             method. Thanks to Adam J.
> > +o LANG-1221: Fix typo on appendIfMissing javadoc. Thanks to Pierre
> Templier.
> > +o LANG-1202: parseDateStrictly does't pass specified locale. Thanks to
> > +             Markus Jelsma.
> > +o LANG-1219: FastDateFormat doesn't respect summer daylight in some
> localized
> > +             strings. Thanks to Jarek.
> > +o LANG-1175: Remove Ant-based build.
> > +o LANG-1194: Limit max heap memory for consistent Travis CI build.
> > +o LANG-1186: Fix NullPointerException in FastDateParser$
> TimeZoneStrategy.
> > +             Thanks to NickManley.
> > +o LANG-1193: ordinalIndexOf("abc", "ab", 1) gives incorrect answer of -1
> > +             (correct answer should be 0); revert fix for LANG-1077.
> Thanks to
> > +             Qin Li.
> > +o LANG-1002: Several predefined ISO FastDateFormats in DateFormatUtils
> are
> > +             incorrect. Thanks to Michael Osipov.
> > +o LANG-1152: StringIndexOutOfBoundsException or field over-write for
> large year
> > +             fields in FastDateParser. Thanks to Pas Filip.
> > +o LANG-1141: StrLookup.systemPropertiesLookup() no longer reacts on
> changes on
> > +             system properties.
> > +o LANG-1147: EnumUtils *BitVector issue with more than 32 values Enum.
> Thanks
> > +             to Loic Guibert.
> > +o LANG-1059: Capitalize javadoc is incorrect. Thanks to Colin Casey.
> > +o LANG-1122: Inconsistent behavior of swap for malformed inputs. Thanks
> to
> > +             Adrian Ber.
> > +o LANG-1130: Fix critical issues reported by SonarQube.
> > +o LANG-1131: StrBuilder.equals(StrBuilder) doesn't check for null
> inputs.
> > +o LANG-1128: JsonToStringStyle doesn't handle chars and objects
> correctly.
> > +             Thanks to Jack Tan.
> > +o LANG-1126: DateFormatUtilsTest.testSMTP depends on the default Locale.
> > +o LANG-1123: Unit test FastDatePrinterTimeZonesTest needs a timezone
> set.
> > +             Thanks to Christian P. Momon.
> > +o LANG-916:  DateFormatUtils.format does not correctly change Calendar
> > +             TimeZone in certain situations. Thanks to Christian P.
> Momon.
> > +o LANG-1116: DateUtilsTest.testLang530 fails for some timezones. Thanks
> to
> > +             Aaron Sheldon.
> > +o LANG-1114: TypeUtils.ParameterizedType#equals doesn't work with
> wildcard
> > +             types. Thanks to Andy Coates.
> > +o LANG-1118: StringUtils.repeat('z', -1) throws
> NegativeArraySizeException.
> > +             Thanks to Loic Guibert.
> > +o LANG-1111: Fix FindBugs warnings in DurationFormatUtils.
> > +o LANG-1162: StringUtils#equals fails with Index OOBE on non-Strings
> with
> > +             identical leading prefix..
> > +o LANG-1163: There are no tests for CharSequenceUtils.regionMatches.
> > +o LANG-1200: Fix JavaDoc of StringUtils.ordinalIndexOf. Thanks to
> BarkZhang.
> > +o LANG-1191: Incorrect Javadoc
> > +             StringUtils.containsAny(CharSequence, CharSequence...).
> Thanks to
> > +             qed, Brent Worden and Gary Gregory.
> > +
> > +CHANGES
> > +=========
> > +o LANG-1197: Prepare Java 9 detection.
> > +o LANG-1262: CompareToBuilder.append(Object, Object, Comparator)
> method is too
> > +             big to be inlined. Thanks to Ruslan Cheremin.
> > +o LANG-1259: JavaDoc for ArrayUtils.isNotEmpty() is slightly
> misleading. Thanks
> > +             to Dominik Stadler.
> > +o LANG-1247: FastDatePrinter generates extra Date objects. Thanks to
> > +             Benoit Wiart.
> > +o LANG-1229: HashCodeBuilder.append(Object,Object) is too big to be
> inlined,
> > +             which prevents whole builder to be scalarized. Thanks to
> > +             Ruslan Cheremin.
> > +o LANG-1243: Simplify ArrayUtils removeElements by using new
> decrementAndGet()
> > +             method.
> > +o LANG-1240: Optimize BitField constructor implementation. Thanks to
> zhanhb.
> > +o LANG-1206: Improve CharSetUtils.squeeze() performance. Thanks to
> > +             Mohammed Alfallaj.
> > +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.
> > +o LANG-1151: Performance improvements for NumberUtils.isParsable.
> Thanks to
> > +             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.
> > +o LANG-1210: StringUtils#startsWithAny has error in Javadoc. Thanks to
> > +             Matthias Niehoff.
> > +o LANG-1208: StrSubstitutor can preserve escapes. Thanks to Samuel Karp.
> > +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks to
> > +             Larry West and Pascal Schumacher.
> > +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.
> > +o LANG-1075: Deprecate SystemUtils.FILE_SEPARATOR and
> > +             SystemUtils.PATH_SEPARATOR.
> > +o LANG-979:  TypeUtils.parameterizeWithOwner - wrong format descriptor
> for
> > +             "invalid number of type parameters". Thanks to Bruno P.
> Kinoshita.
> > +o LANG-1112: MultilineRecursiveToStringStyle largely unusable due to
> being
> > +             package-private.
> > +o LANG-1058: StringUtils.uncapitalize performance improvement. Thanks to
> > +             Leo Wang.
> > +o LANG-1069: CharSet.getInstance documentation does not clearly explain
> how
> > +             to include negation character in set. Thanks to Arno
> Noordover.
> > +o LANG-1107: Fix parsing edge cases in FastDateParser.
> > +o LANG-1273: Added new property IS_OS_MAC_OSX_EL_CAPITAN in
> SystemUtils. Thanks
> > +             to Jake Wang.
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.4
> > +
> > +
> > +COMPATIBILITY
> > +=============
> > +
> > +Commons Lang 3.4 is fully binary compatible to the last release and can
> > +therefore be used as a drop in replacement for 3.3.2. Note that the
> value of
> > +org.apache.commons.lang3.time.DurationFormatUtils.ISO_
> EXTENDED_FORMAT_PATTERN
> > +has changed, which may affect clients using the constant. Furthermore
> the
> > +constant is used internally in
> > +o DurationFormatUtils.formatDurationISO(long)
> > +o DurationFormatUtils.formatPeriodISO(long, long)
> > +
> > +For more information see https://issues.apache.org/
> jira/browse/LANG-1000.
> > +
> > +NEW FEATURES
> > +==============
> > +
> > +o LANG-821:  Support OS X versions in SystemUtils. Thanks to Timo
> Kockert.
> > +o LANG-1103: Add SystemUtils.IS_JAVA_1_9
> > +o LANG-1093: Add ClassUtils.getAbbreviatedName(). Thanks to Fabian
> Lange.
> > +o LANG-1082: Add option to disable the "objectsTriviallyEqual" test in
> > +             DiffBuilder. Thanks to Jonathan Baker.
> > +o LANG-1015: Add JsonToStringStyle implementation to ToStringStyle.
> Thanks to
> > +             Thiago Andrade.
> > +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-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.
> > +o LANG-1016: NumberUtils#isParsable method(s). Thanks to
> > +             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
> > +             Mikhail Mazursky.
> > +o LANG-993:  Add zero copy write method to StrBuilder. Thanks to
> > +             Mikhail Mazursky.
> > +o LANG-1044: Add method MethodUtils.invokeExactMethod(Object, String)
> > +o LANG-1045: Add method MethodUtils.invokeMethod(Object, String)
> > +
> > +FIXED BUGS
> > +============
> > +
> > +o LANG-794:  SystemUtils.IS_OS_WINDOWS_2008, VISTA are incorrect.
> Thanks to
> > +             Timo Kockert.
> > +o LANG-1104: Parse test fails for TimeZone America/Sao_Paulo
> > +o LANG-948:  Exception while using ExtendedMessageFormat and escaping
> braces.
> > +             Thanks to Andrey Khobnya.
> > +o LANG-1092: Wrong formating of time zones with daylight saving time in
> > +             FastDatePrinter
> > +o LANG-1090: FastDateParser does not set error indication in
> ParsePosition
> > +o LANG-1089: FastDateParser does not handle excess hours as per
> > +             SimpleDateFormat
> > +o LANG-1061: FastDateParser error - timezones not handled correctly.
> Thanks to
> > +             dmeneses.
> > +o LANG-1087: NumberUtils#createNumber() returns positive BigDecimal when
> > +             negative Float is expected. Thanks to Renat Zhilkibaev.
> > +o LANG-1081: DiffBuilder.append(String, Object left, Object right) does
> not do
> > +             a left.equals(right) check. Thanks to Jonathan Baker.
> > +o LANG-1055: StrSubstitutor.replaceSystemProperties does not work
> consistently.
> > +             Thanks to Jonathan Baker.
> > +o LANG-1083: Add (T) casts to get unit tests to pass in old JDK. Thanks
> to
> > +             Jonathan Baker.
> > +o LANG-1073: Read wrong component type of array in add in ArrayUtils.
> > +             Thanks to haiyang li.
> > +o LANG-1077: StringUtils.ordinalIndexOf("aaaaaa", "aa", 2) != 3 in
> StringUtils.
> > +             Thanks to haiyang li.
> > +o LANG-1072: Duplicated "0x" check in createBigInteger in NumberUtils.
> Thanks
> > +             to haiyang li.
> > +o LANG-1064: StringUtils.abbreviate description doesn't agree with the
> > +             examples. Thanks to B.J. Herbison.
> > +o LANG-1041: Fix MethodUtilsTest so it does not depend on JDK method
> ordering.
> > +             Thanks to Alexandre Bartel.
> > +o LANG-1000: ParseException when trying to parse UTC dates with Z as
> zone
> > +             designator using DateFormatUtils.ISO_DATETIME_
> TIME_ZONE_FORMAT
> > +o LANG-1035: Javadoc for EqualsBuilder.reflectionEquals() is unclear
> > +o LANG-1001: ISO 8601 misspelled throughout the Javadocs. Thanks to
> > +             Michael Osipov.
> > +o LANG-1088: FastDateParser should be case insensitive
> > +o LANG-995:  Fix bug with stripping spaces on last line in
> WordUtils.wrap().
> > +             Thanks to Andrey Khobnya.
> > +
> > +CHANGES
> > +=========
> > +
> > +o LANG-1102: Make logic for comparing OS versions in SystemUtils smarter
> > +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabian
> Lange.
> > +o LANG-1101: FastDateParser and FastDatePrinter support 'X' format
> > +o LANG-1100: Avoid memory allocation when using date formating to
> StringBuffer.
> > +             Thanks to mbracher.
> > +o LANG-935:  Possible performance improvement on string escape
> functions.
> > +             Thanks to Fabian Lange, Thomas Neidhart.
> > +o LANG-1098: Avoid String allocation in StrBuilder.append(CharSequence).
> Thanks
> > +             to Mikhail Mazurskiy, Fabian Lange.
> > +o LANG-1098: Update maven-checkstyle-plugin to 2.14. Thanks to Micha?
> Kordas.
> > +o LANG-1097: Update org.easymock:easymock to 3.3.1. Thanks to Micha?
> Kordas.
> > +o LANG-1096: Update maven-pmd-plugin to 3.4. Thanks to Micha? Kordas.
> > +o LANG-1095: Update maven-antrun-plugin to 1.8. Thanks to Micha? Kordas.
> > +o LANG-877:  Performance improvements for StringEscapeUtils. Thanks to
> > +             Fabian Lange.
> > +o LANG-1071: Fix wrong examples in JavaDoc of
> > +             StringUtils.replaceEachRepeatedly(...),
> > +             StringUtils.replaceEach(...) Thanks to Arno Noordover.
> > +o LANG-827:  CompareToBuilder's doc doesn't specify precedence of
> fields it
> > +             uses in performing comparisons
> > +o LANG-1020: Improve performance of normalize space. Thanks to Libor
> Ondrusek.
> > +o LANG-1027: org.apache.commons.lang3.SystemUtils#isJavaVersionAtLeast
> should
> > +             return true by default
> > +o LANG-1026: Bring static method references in StringUtils to
> consistent style.
> > +             Thanks to Alex Yursha.
> > +o LANG-1017: Use non-ASCII digits in Javadoc examples for
> > +             StringUtils.isNumeric. Thanks to Christoph Schneegans.
> > +o LANG-1008: Change min/max methods in NumberUtils/IEEE754rUtils from
> array
> > +             input parameters to varargs. Thanks to Thiago Andrade.
> > +o LANG-1006: Add wrap (with String or char) to StringUtils. Thanks to
> > +             Thiago Andrade.
> > +o LANG-1005: Extend DurationFormatUtils#formatDurationISO default
> pattern to
> > +             match #formatDurationHMS. Thanks to Michael Osipov.
> > +o LANG-1007: Fixing NumberUtils JAVADoc comments for max methods.
> Thanks to
> > +             Thiago Andrade.
> > +o LANG-731:  Better Javadoc for BitField class
> > +o LANG-1004: DurationFormatUtils#formatDurationHMS implementation does
> not
> > +             correspond to Javadoc and vice versa. Thanks to Michael
> Osipov.
> > +o LANG-1003: DurationFormatUtils are not able to handle negative
> > +             durations/periods
> > +o LANG-998:  Javadoc is not clear on preferred pattern to instantiate
> > +             FastDateParser / FastDatePrinter
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.3.2
> > +
> > +NEW FEATURES
> > +==============
> > +
> > +o LANG-989:  Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8
> > +
> > +FIXED BUGS
> > +============
> > +
> > +o LANG-992:  NumberUtils#isNumber() returns false for "0.0", "0.4790",
> et al
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.3.1
> > +
> > +FIXED BUGS
> > +============
> > +
> > +o LANG-987:  DateUtils.getFragmentInDays(Date, Calendar.MONTH) returns
> wrong
> > +             days
> > +o LANG-983:  DurationFormatUtils does not describe format string fully
> > +o LANG-981:  DurationFormatUtils#lexx does not detect unmatched quote
> char
> > +o LANG-984:  DurationFormatUtils does not handle large durations
> correctly
> > +o LANG-982:  DurationFormatUtils.formatDuration(61999, "s.SSSS") - ms
> field
> > +             size should be 4 digits
> > +o LANG-978:  Failing tests with Java 8 b128
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.3
> > +
> > +NEW FEATURES
> > +==============
> > +
> > +o LANG-955:  Add methods for removing all invalid characters according
> to
> > +             XML 1.0 and XML 1.1 in an input string to
> StringEscapeUtils.
> > +             Thanks to Adam Hooper.
> > +o LANG-970:  Add APIs MutableBoolean setTrue() and setFalse()
> > +o LANG-962:  Add SerializationUtils.roundtrip(T extends Serializable) to
> > +             serialize then deserialize
> > +o LANG-637:  There should be a DifferenceBuilder with a
> > +             ReflectionDifferenceBuilder implementation
> > +o LANG-944:  Add the Jaro-Winkler string distance algorithm to
> StringUtils.
> > +             Thanks to Rekha Joshi.
> > +o LANG-417:  New class ClassPathUtils with methods for turning FQN into
> > +             resource path
> > +o LANG-834:  Validate: add inclusiveBetween and exclusiveBetween
> overloads
> > +             for primitive types
> > +o LANG-900:  New RandomUtils class. Thanks to Duncan Jones.
> > +o LANG-966:  Add IBM OS/400 detection
> > +
> > +FIXED BUGS
> > +============
> > +
> > +o LANG-621:  ReflectionToStringBuilder.toString does not debug 3rd
> party object
> > +             fields within 3rd party object. Thanks to Philip Hodges,
> > +             Thomas Neidhart.
> > +o LANG-977:  NumericEntityEscaper incorrectly encodes supplementary
> characters.
> > +             Thanks to Chris Karcher.
> > +o LANG-973:  Make some private fields final
> > +o LANG-971:  NumberUtils#isNumber(String) fails to reject invalid Octal
> numbers
> > +o LANG-972:  NumberUtils#isNumber does not allow for hex 0XABCD
> > +o LANG-969:  StringUtils.toEncodedString(byte[], Charset) needlessly
> throws
> > +             UnsupportedEncodingException. Thanks to Matt Bishop.
> > +o LANG-946:  ConstantInitializerTest fails when building with IBM JDK 7
> > +o LANG-954:  uncaught PatternSyntaxException in FastDateFormat on
> Android.
> > +             Thanks to Michael Keppler.
> > +o LANG-936:  StringUtils.getLevenshteinDistance with too big of a
> threshold
> > +             returns wrong result. Thanks to Yaniv Kunda, Eli Lindsey.
> > +o LANG-943:  Test DurationFormatUtilsTest.testEdgeDuration fails in
> > +             JDK 1.6, 1.7 and 1.8, BRST time zone
> > +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.
> > +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.
> > +
> > +CHANGES
> > +=========
> > +
> > +o LANG-961:  org.apache.commons.lang3.reflect.FieldUtils.
> removeFinalModifier(Field)
> > +             does not clean up after itself
> > +o LANG-958:  FastDateParser javadoc incorrectly states that
> SimpleDateFormat
> > +             is used internally
> > +o LANG-956:  Improve JavaDoc of WordUtils.wrap methods
> > +o LANG-939:  Move Documentation from user guide to package-info files
> > +o LANG-953:  Convert package.html files to package-info.java files
> > +o LANG-940:  Fix deprecation warnings
> > +o LANG-819:  EnumUtils.generateBitVector needs a "? extends"
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.2.1
> > +
> > +BUG FIXES
> > +===========
> > +
> > +o LANG-937:  Fix missing Hamcrest dependency in Ant Build
> > +o LANG-941:  Test failure in LocaleUtilsTest when building with JDK 8
> > +o LANG-942:  Test failure in FastDateParserTest and
> FastDateFormat_ParserTest
> > +             when building with JDK8. Thanks to Bruno P. Kinoshita,
> > +             Henri Yandell.
> > +o LANG-938:  Build fails with test failures when building with JDK 8
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.2
> > +
> > +COMPATIBILITY WITH 3.1
> > +========================
> > +
> > +This release introduces backwards incompatible changes in
> > +org.apache.commons.lang3.time.FastDateFormat:
> > +o Method 'protected java.util.List parsePattern()' has been removed
> > +o Method 'protected java.lang.String parseToken(java.lang.String,
> int[])' has
> > +  been removed
> > +o Method 'protected org.apache.commons.lang3.time.
> FastDateFormat$NumberRule
> > +  selectNumberRule(int, int)' has been removed
> > +
> > +These changes were the result of [LANG-462]. It is assumed that this
> change
> > +will not break clients as Charles Honton pointed out on 25/Jan/12:
> > +"
> > + 1. Methods "FastDateFormat$NumberRule selectNumberRule(int, int)" and
> > +    "List<Rule> parsePattern()" couldn't have been overridden because
> > +    NumberRule and Rule were private to FastDateFormat.
> > + 2. Due to the factory pattern used, it's unlikely other two methods
> would have
> > +    been overridden.
> > + 3. The four methods are highly implementation specific. I consider it a
> > +    mistake that the methods were exposed.
> > +"
> > +For more information see https://issues.apache.org/jira/browse/LANG-462
> .
> > +
> > +NEW FEATURES
> > +==============
> > +
> > +o LANG-934:  Add removeFinalModifier to FieldUtils
> > +o LANG-863:  Method returns number of inheritance hops between parent
> and
> > +             subclass. Thanks to Daneel S. Yaitskov.
> > +o LANG-774:  Added isStarted, isSuspended and isStopped to StopWatch.
> > +             Thanks to Erhan Bagdemir.
> > +o LANG-848:  Added StringUtils.isBlank/isEmpty CharSequence... methods.
> > +             Thanks to Alexander Muthmann.
> > +o LANG-926:  Added ArrayUtils.reverse(array, from, to) methods.
> > +o LANG-795:  StringUtils.toString(byte[], String) deprecated in favour
> of a new
> > +             StringUtils.toString(byte[], CharSet). Thanks to Aaron
> Digulla.
> > +o LANG-893:  StrSubstitutor now supports default values for variables.
> > +             Thanks to Woonsan Ko.
> > +o LANG-913:  Adding .gitignore to commons-lang. Thanks to Allon
> Mureinik.
> > +o LANG-837:  Add ObjectUtils.toIdentityString methods that support
> > +             StringBuilder, StrBuilder, and Appendable.
> > +o LANG-886:  Added CharSetUtils.containsAny(String, String).
> > +o LANG-797:  Added escape/unescapeJson to StringEscapeUtils.
> > +o LANG-875:  Added appendIfMissing and prependIfMissing methods to
> StringUtils.
> > +o LANG-870:  Add StringUtils.LF and StringUtils.CR values.
> > +o LANG-873:  Add FieldUtils getAllFields() to return all the fields
> defined in
> > +             the given class and super classes.
> > +o LANG-835:  StrBuilder should support StringBuilder as an input
> parameter.
> > +o LANG-857:  StringIndexOutOfBoundsException in CharSequenceTranslator.
> > +o LANG-856:  Code refactoring in NumberUtils.
> > +o LANG-855:  NumberUtils#createBigInteger does not allow for hex and
> octal
> > +             numbers.
> > +o LANG-854:  NumberUtils#createNumber - does not allow for hex numbers
> to be
> > +             larger than Long.
> > +o LANG-853:  StringUtils join APIs for primitives.
> > +o LANG-841:  Add StringUtils API to call String.replaceAll in DOTALL
> a.k.a.
> > +             single-line mode.
> > +o LANG-825:  Create StrBuilder APIs similar to
> > +             String.format(String, Object...).
> > +o LANG-675:  Add Triple class (ternary version of Pair).
> > +o LANG-462:  FastDateFormat supports parse methods.
> > +
> > +BUG FIXES
> > +===========
> > +
> > +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
> > +             elements are different.
> > +o LANG-917:  Fixed exception when combining custom and choice format in
> > +             ExtendedMessageFormat. Thanks to Arne Burmeister.
> > +o LANG-902:  RandomStringUtils.random javadoc was incorrectly promising
> letters
> > +             and numbers would, as opposed to may, appear  Issue:.
> Thanks to
> > +             Andrzej Winnicki.
> > +o LANG-921:  BooleanUtils.xor(boolean...) produces wrong results.
> > +o LANG-896:  BooleanUtils.toBoolean(String str) javadoc is not updated.
> Thanks
> > +             to Mark Bryan Yu.
> > +o LANG-879:  LocaleUtils test fails with new Locale
> "ja_JP_JP_#u-ca-japanese"
> > +             of JDK7.
> > +o LANG-836:  StrSubstitutor does not support StringBuilder or
> CharSequence.
> > +             Thanks to Arnaud Brunet.
> > +o LANG-693:  Method createNumber from NumberUtils doesn't work for
> floating
> > +             point numbers other than Float  Issue: LANG-693. Thanks to
> > +             Calvin Echols.
> > +o LANG-887:  FastDateFormat does not use the locale specific cache
> correctly.
> > +o LANG-754:  ClassUtils.getShortName(String) will now only do a
> reverse lookup
> > +             for array types.
> > +o LANG-881:  NumberUtils.createNumber() Javadoc says it does not work
> for octal
> > +             numbers.
> > +o LANG-865:  LocaleUtils.toLocale does not parse strings starting with
> an
> > +             underscore.
> > +o LANG-858:  StringEscapeUtils.escapeJava() and escapeEcmaScript() do
> not
> > +             output the escaped surrogate pairs that are Java parsable.
> > +o LANG-849:  FastDateFormat and FastDatePrinter generates Date objects
> > +             wastefully.
> > +o LANG-845:  Spelling fixes.
> > +o LANG-844:  Fix examples contained in javadoc of StringUtils.center
> methods.
> > +o LANG-832:  FastDateParser does not handle unterminated quotes
> correctly.
> > +o LANG-831:  FastDateParser does not handle white-space properly.
> > +o LANG-830:  FastDateParser could use \Q \E to quote regexes.
> > +o LANG-828:  FastDateParser does not handle non-Gregorian calendars
> properly.
> > +o LANG-826:  FastDateParser does not handle non-ASCII digits correctly.
> > +o LANG-822:  NumberUtils#createNumber - bad behaviour for leading "--".
> > +o LANG-818:  FastDateFormat's "z" pattern does not respect timezone of
> Calendar
> > +             instances passed to format().
> > +o LANG-817:  Add org.apache.commons.lang3.SystemUtils.IS_OS_WINDOWS_8.
> > +o LANG-813:  StringUtils.equalsIgnoreCase doesn't check string reference
> > +             equality.
> > +o LANG-810:  StringUtils.join() endIndex, bugged for loop.
> > +o LANG-807:  RandomStringUtils throws confusing IAE when end <= start.
> > +o LANG-805:  RandomStringUtils.random(count, 0, 0, false, false,
> universe,
> > +             random) always throws java.lang.
> ArrayIndexOutOfBoundsException.
> > +o LANG-802:  LocaleUtils - unnecessary recursive call in SyncAvoid
> class.
> > +o LANG-800:  Javadoc bug in DateUtils#ceiling for Calendar and Object
> versions.
> > +o LANG-788:  SerializationUtils throws ClassNotFoundException when
> cloning
> > +             primitive classes.
> > +o LANG-786:  StringUtils equals() relies on undefined behavior.
> > +o LANG-783:  Documentation bug: StringUtils.split.
> > +o LANG-777:  jar contains velocity template of release notes.
> > +o LANG-776:  TypeUtilsTest contains incorrect type assignability
> assertion.
> > +o LANG-775:  TypeUtils.getTypeArguments() misses type arguments for
> > +             partially-assigned classes.
> > +o LANG-773:  ImmutablePair doc contains nonsense text.
> > +o LANG-772:  ClassUtils.PACKAGE_SEPARATOR Javadoc contains garbage text.
> > +o LANG-765:  EventListenerSupport.ProxyInvocationHandler no longer
> defines
> > +             serialVersionUID.
> > +o LANG-764:  StrBuilder is now serializable.
> > +o LANG-761:  Fix Javadoc Ant warnings.
> > +o LANG-747:  NumberUtils does not handle Long Hex numbers.
> > +o LANG-743:  Javadoc bug in static inner class DateIterator.
> > +
> > +CHANGES
> > +=========
> > +
> > +o LANG-931:  Misleading Javadoc comment in StrBuilderReader class.
> Thanks
> > +             to Christoph Schneegans.
> > +o LANG-910:  StringUtils.normalizeSpace now handles non-breaking spaces
> > +             (Unicode 00A0). Thanks to Timur Yarosh.
> > +o LANG-804:  Redundant check for zero in HashCodeBuilder ctor. Thanks to
> > +             Allon Mureinik.
> > +o LANG-884:  Simplify FastDateFormat; eliminate boxing.
> > +o LANG-882:  LookupTranslator now works with implementations of
> CharSequence
> > +             other than String.
> > +o LANG-846:  Provide CharSequenceUtils.regionMatches with a proper
> green
> > +             implementation instead of inefficiently converting to
> Strings.
> > +o LANG-839:  ArrayUtils removeElements methods use unnecessary HashSet.
> > +o LANG-838:  ArrayUtils removeElements methods clone temporary index
> arrays
> > +             unnecessarily.
> > +o LANG-799:  DateUtils#parseDate uses default locale; add Locale
> support.
> > +o LANG-798:  Use generics in SerializationUtils.
> > +
> > +CHANGES WITHOUT TICKET
> > +========================
> > +
> > +o Fixed URLs in javadoc to point to new oracle.com pages
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.1
> > +
> > +NEW FEATURES
> > +==============
> > +
> > +o LANG-801:  Add Conversion utility to convert between data types on
> byte level
> > +o LANG-760:  Add API StringUtils.toString(byte[] intput, String
> charsetName)
> > +o LANG-756:  Add APIs ClassUtils.isPrimitiveWrapper(Class<?>) and
> > +             isPrimitiveOrWrapper(Class<?>)
> > +o LANG-695:  SystemUtils.IS_OS_UNIX doesn't recognize FreeBSD as a Unix
> system
> > +
> > +BUG FIXES
> > +===========
> > +
> > +o LANG-749:  Incorrect Bundle-SymbolicName in Manifest
> > +o LANG-746:  NumberUtils does not handle upper-case hex: 0X and -0X
> > +o LANG-744:  StringUtils throws java.security.AccessControlException
> on Google
> > +             App Engine
> > +o LANG-741:  Ant build has wrong component.name
> > +o LANG-698:  Document that the Mutable numbers don't work as expected
> with
> > +             String.format
> > +
> > +CHANGES
> > +=========
> > +
> > +o LANG-758:  Add an example with whitespace in
> StringUtils.defaultIfEmpty
> > +o LANG-752:  Fix createLong() so it behaves like createInteger()
> > +o LANG-751:  Include the actual type in the Validate.isInstance and
> > +             isAssignableFrom exception messages
> > +o LANG-748:  Deprecating chomp(String, String)
> > +o LANG-736:  CharUtils static final array CHAR_STRING is not needed to
> compute
> > +             CHAR_STRING_ARRAY
> > +
> > +===========================================================
> ==================
> > +
> > +                        Release Notes for version 3.0
> > +
> > +ADDITIONS
> > +===========
> > +
> > +o LANG-276:  MutableBigDecimal and MutableBigInteger.
> > +o LANG-285:  Wish : method unaccent.
> > +o LANG-358:  ObjectUtils.coalesce.
> > +o LANG-386:  LeftOf/RightOfNumber in Range convenience methods
> necessary.
> > +o LANG-435:  Add ClassUtils.isAssignable() variants with autoboxing.
> > +o LANG-444:  StringUtils.emptyToNull.
> > +o LANG-482:  Enhance StrSubstitutor to support nested ${var-${subvr}}
> expansion
> > +o LANG-482:  StrSubstitutor now supports substitution in variable names.
> > +o LANG-496:  A generic implementation of the Lazy initialization
> pattern.
> > +o LANG-497:  Addition of ContextedException and
> ContextedRuntimeException.
> > +o LANG-498:  Add StringEscapeUtils.escapeText() methods.
> > +o LANG-499:  Add support for the handling of ExecutionExceptions.
> > +o LANG-501:  Add support for background initialization.
> > +o LANG-529:  Add a concurrent package.
> > +o LANG-533:  Validate: support for validating blank strings.
> > +o LANG-537:  Add ArrayUtils.toArray to create generic arrays.
> > +o LANG-545:  Add ability to create a Future for a constant.
> > +o LANG-546:  Add methods to Validate to check whether the index is
> valid for
> > +             the array/list/string.
> > +o LANG-553:  Add TypeUtils class to provide utility code for working
> with generic
> > +             types.
> > +o LANG-559:  Added isAssignableFrom and isInstanceOf validation methods.
> > +o LANG-559:  Added validState validation method.
> > +o LANG-560:  New TimedSemaphore class.
> > +o LANG-582:  Provide an implementation of the ThreadFactory interface.
> > +o LANG-588:  Create a basic Pair<L, R> class.
> > +o LANG-594:  DateUtils equal & compare functions up to most significant
> field.
> > +o LANG-601:  Add Builder Interface / Update Builders to Implement It.
> > +o LANG-609:  Support lazy initialization using atomic variables
> > +o LANG-610:  Extend exception handling in ConcurrentUtils to runtime
> exceptions.
> > +o LANG-614:  StringUtils.endsWithAny method
> > +o LANG-640:  Add normalizeSpace to StringUtils
> > +o LANG-644:  Provide documentation about the new concurrent package
> > +o LANG-649:  BooleanUtils.toBooleanObject to support single character
> input
> > +o LANG-651:  Add AnnotationUtils
> > +o LANG-653:  Provide a very basic ConcurrentInitializer implementation
> > +o LANG-655:  Add StringUtils.defaultIfBlank()
> > +o LANG-667:  Add a Null-safe compare() method to ObjectUtils
> > +o LANG-676:  Documented potential NPE if auto-boxing occurs for some
> BooleanUtils
> > +             methods
> > +o LANG-678:  Add support for ConcurrentMap.putIfAbsent()
> > +o LANG-692:  Add hashCodeMulti varargs method
> > +o LANG-697:  Add FormattableUtils class
> > +o LANG-684:  Levenshtein Distance Within a Given Threshold
> > +
> > +REMOVALS
> > +==========
> > +
> > +o LANG-438:  Remove @deprecateds.
> > +o LANG-492:  Remove code handled now by the JDK.
> > +o LANG-493:  Remove code that does not hold enough value to remain.
> > +o LANG-590:  Remove JDK 1.2/1.3 bug handling in
> > +             StringUtils.indexOf(String, String, int).
> > +o LANG-673:  WordUtils.abbreviate() removed
> > +o LANG-691:  Removed DateUtils.UTC_TIME_ZONE
> > +
> > +IMPROVEMENTS
> > +==============
> > +
> > +o LANG-290:  EnumUtils for JDK 5.0.
> > +o LANG-336:  Finally start using generics.
> > +o LANG-355:  StrBuilder should implement CharSequence and Appendable.
> > +o LANG-396:  Investigate for vararg usages.
> > +o LANG-424:  Improve Javadoc for StringUtils class.
> > +o LANG-458:  Refactor Validate.java to eliminate code redundancy.
> > +o LANG-479:  Document where in SVN trunk is.
> > +o LANG-504:  bring ArrayUtils.isEmpty to the generics world.
> > +o LANG-505:  Rewrite StringEscapeUtils.
> > +o LANG-507:  StringEscapeUtils.unescapeJava should support \u+ notation.
> > +o LANG-510:  Convert StringUtils API to take CharSequence.
> > +o LANG-513:  Better EnumUtils.
> > +o LANG-528:  Mutable classes should implement an appropriately typed
> Mutable
> > +             interface.
> > +o LANG-539:  Compile commons.lang for CDC 1.1/Foundation 1.1.
> > +o LANG-540:  Make NumericEntityEscaper immutable.
> > +o LANG-541:  Replace StringBuffer with StringBuilder.
> > +o LANG-548:  Use Iterable on API instead of Collection.
> > +o LANG-551:  Replace Range classes with generic version.
> > +o LANG-562:  Change Maven groupId.
> > +o LANG-563:  Change Java package name.
> > +o LANG-570:  Do the test cases really still require main() and suite()
> methods?
> > +o LANG-579:  Add new Validate methods.
> > +o LANG-599:  ClassUtils.getClass(): Allow Dots as Inner Class
> Separators.
> > +o LANG-605:  DefaultExceptionContext overwrites values in recursive
> situations.
> > +o LANG-668:  Change ObjectUtils min() & max() functions to use varargs
> rather
> > +             than just two parameters
> > +o LANG-681:  Push down WordUtils to "text" sub-package.
> > +o LANG-711:  Add includeantruntime=false to javac targets to quell
> warnings in
> > +             ant 1.8.1 and better (and modest performance gain).
> > +o LANG-713:  Increase test coverage of FieldUtils read methods and tweak
> > +             javadoc.
> > +o LANG-718:  build.xml Java 1.5+ updates.
> > +
> > +BUG FIXES
> > +===========
> > +
> > +o LANG-11:   Depend on JDK 1.5+.
> > +o LANG-302:  StrBuilder does not implement clone().
> > +o LANG-339:  StringEscapeUtils.escapeHtml() escapes multibyte
> characters like
> > +             Chinese, Japanese, etc.
> > +o LANG-369:  ExceptionUtils not thread-safe.
> > +o LANG-418:  Javadoc incorrect for StringUtils.endsWithIgnoreCase.
> > +o LANG-428:  StringUtils.isAlpha, isAlphanumeric and isNumeric now
> return false
> > +             for ""
> > +o LANG-439:  StringEscapeUtils.escapeHTML() does not escape chars
> (0x00-0x20).
> > +o LANG-448:  Lower Ascii Characters don't get encoded by Entities.java.
> > +o LANG-468:  JDK 1.5 build/runtime failure on LANG-393 (EqualsBuilder).
> > +o LANG-474:  Fixes for thread safety.
> > +o LANG-478:  StopWatch does not resist to system time changes.
> > +o LANG-480:  StringEscapeUtils.escapeHtml incorrectly converts unicode
> > +             characters above U+00FFFF into 2 characters.
> > +o LANG-481:  Possible race-conditions in hashCode of the range classes.
> > +o LANG-564:  Improve StrLookup API documentation.
> > +o LANG-568:  @SuppressWarnings("unchecked") is used too generally.
> > +o LANG-571:  ArrayUtils.add(T[:  array, T element) can create unexpected
> > +             ClassCastException.
> > +o LANG-585:  exception.DefaultExceptionContext.
> getFormattedExceptionMessage
> > +             catches Throwable.
> > +o LANG-596:  StrSubstitutor should also handle the default properties
> of a
> > +             java.util.Properties class
> > +o LANG-600:  Javadoc is incorrect for public static int
> > +             lastIndexOf(String str, String searchStr).
> > +o LANG-602:  ContextedRuntimeException no longer an 'unchecked'
> exception.
> > +o LANG-606:  EqualsBuilder causes StackOverflowException.
> > +o LANG-608:  Some StringUtils methods should take an int character
> instead of
> > +             char to use String API features.
> > +o LANG-617:  StringEscapeUtils.escapeXML() can't process UTF-16
> supplementary
> > +             characters
> > +o LANG-624:  SystemUtils.getJavaVersionAsFloat throws
> > +             StringIndexOutOfBoundsException on Android runtime/Dalvik
> VM
> > +o LANG-629:  Charset may not be threadsafe, because the HashSet is not
> synch.
> > +o LANG-638:  NumberUtils createNumber throws a
> StringIndexOutOfBoundsException
> > +             when argument containing "e" and "E" is passed in
> > +o LANG-643:  Javadoc StringUtils.left() claims to throw on negative
> len, but
> > +             doesn't
> > +o LANG-645:  FastDateFormat.format() outputs incorrect week of year
> because
> > +             locale isn't respected
> > +o LANG-646:  StringEscapeUtils.unescapeJava doesn't handle octal
> escapes and
> > +             Unicode with extra u
> > +o LANG-656:  Example StringUtils.indexOfAnyBut("zzabyycdxx", '') = 0
> incorrect
> > +o LANG-658:  Some Entitys like &Ouml; are not matched properly against
> its
> > +             ISO8859-1 representation
> > +o LANG-659:  EntityArrays typo: {"\u2122", "&minus;"}, // minus sign,
> U+2212
> > +             ISOtech
> > +o LANG-66:   StringEscaper.escapeXml() escapes characters > 0x7f.
> > +o LANG-662:  org.apache.commons.lang3.math.Fraction does not reduce
> > +             (Integer.MIN_VALUE, 2^k)
> > +o LANG-663:  org.apache.commons.lang3.math.Fraction does not always
> succeed in
> > +             multiplyBy and divideBy
> > +o LANG-664:  NumberUtils.isNumber(String) is not right when the String
> is
> > +             "1.1L"
> > +o LANG-672:  Doc bug in DateUtils#ceiling
> > +o LANG-677:  DateUtils.isSameLocalTime compares using 12 hour clock and
> not
> > +             24 hour
> > +o LANG-685:  EqualsBuilder synchronizes on HashCodeBuilder.
> > +o LANG-703:  StringUtils.join throws NPE when toString returns null for
> one of
> > +             objects in collection
> > +o LANG-710:  StringIndexOutOfBoundsException when calling
> unescapeHtml4("&#03")
> > +o LANG-714:  StringUtils doc/comment spelling fixes.
> > +o LANG-715:  CharSetUtils.squeeze() speedup.
> > +o LANG-716:  swapCase and *capitalize speedups.
> > +
> > +
> > +Historical list of changes: http://commons.apache.org/
> lang/changes-report.html
> > +
> > +For complete information on Commons Lang, including instructions on how
> to
> > +submit bug reports, patches, or suggestions for improvement, see the
> > +Apache Commons Lang website:
> > +
> > +http://commons.apache.org/lang/
> > +
> > +Have fun!
> > +-Apache Commons Lang team
> > +
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz
> > ============================================================
> ==================
> > Binary file - no diff available.
> >
> > Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz
> > ------------------------------------------------------------
> ------------------
> >    svn:mime-type = application/octet-stream
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.asc
> > ============================================================
> ==================
> > --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
> (added)
> > +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.asc
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1,16 @@
> > +-----BEGIN PGP SIGNATURE-----
> > +
> > +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> > +sxQvGg/+Mgp0sahCwviT0m59s6wjDjBFAdwt2txEv1jxDu/FoSbx/Q2P4gi/R5Jt
> > +sAMLmrpd2+wMkzXqGW0uEiKQmZQo9QrsR0MI4vMmzBLyTlPHrD3CyNfW4Vt8TyK7
> > +RyN3aVJWs9pa6ty5iKx9qT0g6k869OpIUFGQUZ/wOQqNFZKMGoHly3VGmfUVhVK0
> > +0CcIiLPsZ1HywoWgCZJpN3tX+J9Aas1LQtDxGcKVfVtJTvc67jLFAVpMhIAAzj64
> > +HmjcuT4L4/2R5cGD8OyQPsv+eMncISaK9WAh0PTP1TQu4v964sebUi2qFIrsMFYd
> > +RYsKR11vj28PEXqKw8o9QSW4SvkfkEVzYjQkUcVOc3Gb0pBRyxPdz/FQFII1rrbI
> > +icis/kURFNBpCCG2J3gNupqUDBPNC2/XkNM98rSgpkqNGQ8qf8w36QMZHL1L6LO/
> > +kVRAy/eVfVuFfsGvhhtJVqZgTA/dH0K3rj0yrgv3tloEr0bM7TC5Wo4jHIFksCQf
> > +GlBlIXCUIJMkr2PRC1egG5Sq9VUtdfaLAJgIPbq+znY4P1GDodqn5u5RxtyZViWs
> > +s53THLLdYOAPWNERez+amkec9NjYYNEN7OmvF80I26iN6I/g1eDT9XiouA1k4kmW
> > +8t5vVKpeeGqiRsWIL8SuMLxGCrsysN7ZaAxbVxz+Cbvk/muiG84=
> > +=tjQB
> > +-----END PGP SIGNATURE-----
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.md5
> > ============================================================
> ==================
> > --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
> (added)
> > +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.md5
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +fe7776aab25e229c9a5805c3ba82d219
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-
> bin.tar.gz.sha1
> > ============================================================
> ==================
> > --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
> (added)
> > +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.tar.gz.sha1
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
> > ============================================================
> ==================
> > Binary file - no diff available.
> >
> > Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip
> > ------------------------------------------------------------
> ------------------
> >    svn:mime-type = application/octet-stream
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> > ============================================================
> ==================
> > --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> (added)
> > +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.asc
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1,16 @@
> > +-----BEGIN PGP SIGNATURE-----
> > +
> > +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> > +sxTdfA/+LQRB1YrNitC1x8DOUYWKoDdoOamJain4dNxuUdcWfbNmoabHfSemCXjm
> > +D+uaqZZ8f3EaqzcTXmhv5cCOqBnQNHlLVEA0WKN6EaZ6TLTuFWAVeHtLbO6Gk03I
> > +5oGAXP5dj9m6ABRyuaUJequoFhL+6xUEDM8Hd+uIHp6a0OEsKCHXAwBwsJHPKgUS
> > +7AO3sruFt98lXCv5h/Pgi0wgCGD+WQfvzJBSxeKc1pR6+BnmVaMcKki+TtOfIQE3
> > +ACvjEkijPgiNe3mBcrvKSWHMlySGenFFu2uV4qNVNdE/0XwofLSFHTGXZabf/4p8
> > +dfacqnb8cs86/6BmG1vpFc2fL8fCnrF3vitu3GgQhfIBbXYuhyDLjbBDrIE0O3d/
> > +xoaoIruAbfPvhF8x5F8Sd69o3LLUcWrW5h3jBKFQpUWI2SwwqxqPK9xnlKaJuDlL
> > +z9tA5b+2s1pgt44agclBJolUX+o+NzZSE5aS0SlV9b3t4ja/sbEXVSsT7VSA9CMb
> > +Nv32iAxYsCyHdvQHEp8VVFIuuPJWwrRVEg4LsSkOqpM01PyM//HHeW6v2lq7Apmp
> > +s31foJGakwQVvHdlC4DxJS1Jfiu/bbCmNl6590WbGwLp7SR26JgC44joWvv5N7D8
> > +vabchYyY124vRuWGgLfqYJVmVjKJNv96otx46yr49OLFO66loGo=
> > +=6Bjb
> > +-----END PGP SIGNATURE-----
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> > ============================================================
> ==================
> > --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> (added)
> > +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.md5
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +3b8ee236a7105277427d305587a6c8dd
> >
> > Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> > ============================================================
> ==================
> > --- dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> (added)
> > +++ dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT-bin.zip.sha1
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >
> > Added: dev/commons/lang/site.zip
> > ============================================================
> ==================
> > Binary file - no diff available.
> >
> > Propchange: dev/commons/lang/site.zip
> > ------------------------------------------------------------
> ------------------
> >    svn:mime-type = application/octet-stream
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz
> > ============================================================
> ==================
> > Binary file - no diff available.
> >
> > Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz
> > ------------------------------------------------------------
> ------------------
> >    svn:mime-type = application/octet-stream
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> > ============================================================
> ==================
> > --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> (added)
> > +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.asc
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1,16 @@
> > +-----BEGIN PGP SIGNATURE-----
> > +
> > +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> > +sxQEgQ//UW7n08aL8vSkbSjn3hV4z8SbcQ/0PV29/V5GZ74QtAEPppavJZ/W9nja
> > +NsbUz4TRp6SDh8RaS1H78mpdXSMRvim6JaGRGqDrlxi6SYoA6LpAgbfo/RuOLt+v
> > +eMnBRZKwiikNCP9xk99shnRwhKlXn07hxU0fuWdAK898w3/vFN3E4NUpWPChnK0r
> > +qo9kWDtla2gtHCxjgHQs7X0CISskqwc5/o/9wo5vkFJCoIkuBGWwidIy0/qhhHbs
> > +vC5Zn3+0Ky5JArnDqj10A2gZAldeGLe7Ghb0j0gZg6hYInMunfkMDBWSWLHC/rTA
> > +thntKReWVnkNIV2N7WL4lkvLAl8a6nMS8zeUNGs4Tcl+AO+cpZ9fZGNkIVKCruyC
> > +IgUh2qcM/KrPbOUZFx1CLq6db8UOwo7pkSwJ52SbcBEIk1S9qLcYkBtVefRr8v1B
> > +R7hRfehrAm+r0nJLwugiuTanafW9YUZzT4s88VBCHdqQbya3f2b+EH3qNzGNcXBS
> > +0yn3qqqrWdb1CbrMi5mv4OTb/g1OtISLpZx5i2UjI95KOZu1O8pF5XnLB8SlUfIG
> > +QGvIIYh+cpBpY4fkcTEnT7+57z9z9HUUsFoDcAgHpKwMIn+8mEy5/oDcr5GCVJfW
> > +hpyFy+OIVkBVeGVL5lvvfdun99s2tMQK+sadQXZHHlIp5zktdaw=
> > +=8mS4
> > +-----END PGP SIGNATURE-----
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> > ============================================================
> ==================
> > --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> (added)
> > +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.md5
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +11b0a67eee0b856ee3629bdcfef35649
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-
> src.tar.gz.sha1
> > ============================================================
> ==================
> > --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> (added)
> > +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.tar.gz.sha1
> Thu Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> > ============================================================
> ==================
> > Binary file - no diff available.
> >
> > Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip
> > ------------------------------------------------------------
> ------------------
> >    svn:mime-type = application/octet-stream
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> > ============================================================
> ==================
> > --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc
> (added)
> > +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.asc Thu
> Jan  4 12:45:36 2018
> > @@ -0,0 +1,16 @@
> > +-----BEGIN PGP SIGNATURE-----
> > +
> > +iQIzBAABCAAdFiEEtuc9hOpPzEcWYIclP6rSzV7LsxQFAlpOIdMACgkQP6rSzV7L
> > +sxRc7Q/5ASnS5NgvQneV8Ypb2twHWaSW2W1W/EdufcW9JadnUQz/mjWxSTCOP/EJ
> > +t2jMsDS8xv0Qvx5BuYpK/PzYh6CztMwBVVAJlLyd1GhJid7mM3ptzK5cNUmfFi4O
> > +3JZItWrBNLRT0yZyBj0WzaaTUZAZuma48EDeZ8xBgG01dE0pbJhdXW+9X9KC/WdK
> > +tPPprHl9d1zZCTpoyYzknX1hbVPB5vw/T9o3RPU7tJBjLG1Mj176sa1kjTuGwNZ0
> > +Zup/gy7eaof59klFQ7r3HOVhHjPJJEDebmLXb4L5YVZEJZJHcnI5tAqdcu8nDlft
> > +L+OTnQuhH0ueHDqfJCxvzxY7pjShwVrawXuy983FwdaLvtzGm2tOqyYxbmPy4PwY
> > +F02d4bkBbprjGfnKCgIgQ8X29Fzp4MNJ9y8XbObtQCvp9lA4ZaRQk3Y3RBgmWL6J
> > +ifYOJ8YuBSvohPtdAtvTZHcq8jTd3krgQ4kGQ76j2dIGGgzLv8DmEXyH8aS+E8y4
> > +bLjKDBgRVfaMx1wEJXFhXa8P7dDyYEgOgHrfgDaadaW7IsBF2dH3p8K+If2MjzVX
> > +eTWTd+TbqqjmMfHal928m6wQFTco9DrC19GvZcwbakELYg/tW6ovmjIbZnRFtVkz
> > +iQBZSr3JG1UTtsgJtzEB8TZrODXyiKoGeCqc0pgkyqZ3TpBw3i8=
> > +=5+7f
> > +-----END PGP SIGNATURE-----
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> > ============================================================
> ==================
> > --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5
> (added)
> > +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.md5 Thu
> Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +66d939d849bb560af8259d10156a58ec
> >
> > Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> > ============================================================
> ==================
> > --- dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1
> (added)
> > +++ dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip.sha1 Thu
> Jan  4 12:45:36 2018
> > @@ -0,0 +1 @@
> > +da39a3ee5e6b4b0d3255bfef95601890afd80709
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>