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 Ö are not matched properly against its
> + ISO8859-1 representation
> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
> +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 Ö are not matched properly
>>>> against
>>>>>>>> its
>>>>>>>>> + ISO8859-1 representation
>>>>>>>>> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
>>>>>>>>> +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 Ö are not matched properly
> >> against
> >>>>>> its
> >>>>>>> + ISO8859-1 representation
> >>>>>>> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
> >>>>>>> +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 Ö are not matched properly
>> against
>>>>>> its
>>>>>>> + ISO8859-1 representation
>>>>>>> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
>>>>>>> +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 Ö are not matched properly
> against
> >>>> its
> >>>>> + ISO8859-1 representation
> >>>>> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
> >>>>> +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 Ö are not matched properly against
>>>> its
>>>>> + ISO8859-1 representation
>>>>> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
>>>>> +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 Ö are not matched properly against
> >> its
> >>> + ISO8859-1 representation
> >>> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
> >>> +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 Ö are not matched properly against
>> its
>>> + ISO8859-1 representation
>>> +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
>>> +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 Ö are not matched properly against
> its
> > + ISO8859-1 representation
> > +o LANG-659: EntityArrays typo: {"\u2122", "−"}, // 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("")
> > +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
>
>