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 <chtom...@gmail.com> wrote: > > > > On Jan 4, 2018, at 11:45 AM, Gary Gregory <garydgreg...@gmail.com> > wrote: > > > > On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins <chtom...@gmail.com > <mailto:chtom...@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 <garydgreg...@gmail.com> > >> wrote: > >>> > >>> That looks good. Thank you Rob! > >>> > >>> Gary > >>> > >>>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins <chtom...@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, chtom...@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-unsubscr...@commons.apache.org > >>>> For additional commands, e-mail: dev-h...@commons.apache.org > >>>> > >>>> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org <mailto: > dev-unsubscr...@commons.apache.org> > >> For additional commands, e-mail: dev-h...@commons.apache.org <mailto: > dev-h...@commons.apache.org> >