From dev-return-165900-archive-asf-public=cust-asf.ponee.io@commons.apache.org Thu Jan 4 19:47:16 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 9EBBB180657 for ; Thu, 4 Jan 2018 19:47:16 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 8E5FE160C2B; Thu, 4 Jan 2018 18:47:16 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 0EC04160C18 for ; Thu, 4 Jan 2018 19:47:13 +0100 (CET) Received: (qmail 67686 invoked by uid 500); 4 Jan 2018 18:47:12 -0000 Mailing-List: contact dev-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Commons Developers List" Delivered-To: mailing list dev@commons.apache.org Received: (qmail 67674 invoked by uid 99); 4 Jan 2018 18:47:12 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jan 2018 18:47:12 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id E502E1A0942 for ; Thu, 4 Jan 2018 18:47:11 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.93 X-Spam-Level: X-Spam-Status: No, score=0.93 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_ASCII_DIVIDERS=0.8, KAM_LOTSOFHASH=0.25, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id GFagda_rnkeG for ; Thu, 4 Jan 2018 18:46:56 +0000 (UTC) Received: from mail-qt0-f176.google.com (mail-qt0-f176.google.com [209.85.216.176]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTPS id 959195F576 for ; Thu, 4 Jan 2018 18:46:55 +0000 (UTC) Received: by mail-qt0-f176.google.com with SMTP id u10so3022445qtg.2 for ; Thu, 04 Jan 2018 10:46:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:date:subject:message-id :references:in-reply-to:to; bh=1l2VMq6CwgSwNR1faCtxqwic8DxjkDYtmeWxhVAIDCc=; b=adF9p192ujW0w56VxFvxeVpV6aPqpFC4RybbUKLEcjXPAX6+8XaAuIPH6Z9/66tsyg GZBsDrohJnYXO6k4VoANLkw/BZ0vzUYV8l3ddroH1QDVpX2I0uUfx72Uo7Focrwlf4VX Wp47vwl2ox6eev0ipJVktveSU/tCcy3IbFuA+ObuEenN6nsm2P+0T6aJYVQHG53Vjyss n1ttHHrYJTAsHhSWpJJDPQDVagyoS0WMvgBiAuaSAuPr8p7vJpZWEuYkI+0pLCUOm1MK dKuiK0ammFnvqLGi5YVRfdSfcxJHSoShsGa4OHu7hZCcTd1zpNoMvcwEE1AR0UwtUhp9 9HDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version:date :subject:message-id:references:in-reply-to:to; bh=1l2VMq6CwgSwNR1faCtxqwic8DxjkDYtmeWxhVAIDCc=; b=Oq2+5lpNWq6LcQm/SWJUJtI7+VWpyPg1tQioshp4GWoa85QA1SLKAa3dZxlFgOY8Dn HWeADmgZyg0cT08I573U3zZvKaYJCfstqMaSTNyCu4le6mG3OQVPx1CYgkwP2QIFFpIG mZYGEEcx/o/shBXsrI/Cg3Nr0Sh0u2HbdwXmj95TZG7cHpz0zDr7iJ23hdEuNmXZ6K9g m3U4L33NZf5z8QF3F08a9o8oT6pUbMpyREw7anwv4H93tSCAv+bcKEaCX4nDZbk+AeMg rJT9UOfDpBOH1Wk5FBVc9ZYR9fRDZunPrdP8j8ucWS6lLpSd3pt9dPO86xXKHmEQge3v AcfQ== X-Gm-Message-State: AKwxytdDoReOAgmRXeZBLhH8615mrPkLK+5S6O4ktg/sz3rk5yadZ7fP IKJqlq+duiDkTry1UmX18+sgzeyn X-Google-Smtp-Source: ACJfBotJkuW1tz1Z789j3gejPRpAEgqb6PpZI1s7GKKyxb321XLiyDkNxBZWCQLq1/AJok0/yEvSNA== X-Received: by 10.200.7.137 with SMTP id l9mr691778qth.113.1515091611285; Thu, 04 Jan 2018 10:46:51 -0800 (PST) Received: from ?IPv6:2601:5c1:4500:58d0:e016:338f:e97f:2a8a? ([2601:5c1:4500:58d0:e016:338f:e97f:2a8a]) by smtp.gmail.com with ESMTPSA id o145sm2511000qke.9.2018.01.04.10.46.50 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Jan 2018 10:46:50 -0800 (PST) From: Rob Tompkins Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (1.0) Date: Thu, 4 Jan 2018 13:46:49 -0500 Subject: Re: [commons-release-plugin) (Was: svn commit: r24009 - in /dev/commons/lang: ./ binaries/ source/) Message-Id: <290FBA83-F44E-4FF4-B6DE-5B9B206D1436@gmail.com> References: <20180104124536.7EC833A0184@svn01-us-west.apache.org> <6A4496E9-0F86-4606-8C33-2B6F3E3816C1@gmail.com> <16922B35-F911-4F61-885F-4D1CC8CF1B09@gmail.com> <004DEEAE-9F5E-471C-AEAC-5ACC6B8980E3@gmail.com> In-Reply-To: To: Commons Developers List X-Mailer: iPhone Mail (15C153) > On Jan 4, 2018, at 1:36 PM, Gary Gregory wrote: >=20 > 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 analog= ous to that of moving a component out of the sandbox. I suppose I should pok= e around and read so that I don=E2=80=99t make any silly presumptions :-) >=20 > Gary >=20 >> On Thu, Jan 4, 2018 at 11:19 AM, Rob Tompkins wrote:= >>=20 >> I didn=E2=80=99t read back over the moving a component out of the sandbox= bit, so >> I figured I=E2=80=99d just go with the formality. >>=20 >>> On Jan 4, 2018, at 12:33 PM, Gary Gregory >> wrote: >>>=20 >>> Hi Rob, >>>=20 >>> I do not think we need a formal VOTE until we want to release, but why >> not. >>> Reusing COMMONSITE makes sense for now. >>>=20 >>> Go for it. >>>=20 >>> Gary >>>=20 >>>> On Thu, Jan 4, 2018 at 9:51 AM, Rob Tompkins >> wrote: >>>>=20 >>>>=20 >>>>=20 >>>>> On Jan 4, 2018, at 11:45 AM, Gary Gregory >>>> wrote: >>>>>=20 >>>>> On Thu, Jan 4, 2018 at 9:43 AM, Rob Tompkins >>> > wrote: >>>>>=20 >>>>>> So with comments, I=E2=80=99m thinking I=E2=80=99ll submit a componen= t vote. Any >>>>>> opposition? >>>>>>=20 >>>>>=20 >>>>> Do you already have a git repo, JIRA project and all that? >>>>=20 >>>> Oh not at all=E2=80=A6.I=E2=80=99m going to put it up for a vote before= creating any >>>> repos. Before I start all that. I was thinking that we=E2=80=99d use >> COMMONSSITE as >>>> the jira for it because that=E2=80=99s what we use for the >> [build-plugin]=E2=80=A6.thoughts? >>>>=20 >>>> -Rob >>>>=20 >>>>>=20 >>>>> Gary >>>>>=20 >>>>>>=20 >>>>>>> On Jan 4, 2018, at 11:28 AM, Gary Gregory >>>>>> wrote: >>>>>>>=20 >>>>>>> That looks good. Thank you Rob! >>>>>>>=20 >>>>>>> Gary >>>>>>>=20 >>>>>>>> On Thu, Jan 4, 2018 at 5:47 AM, Rob Tompkins >>>>>> wrote: >>>>>>>>=20 >>>>>>>> @Gary - Below is the result from my release plugin with [lang3]. >> Give >>>>>> it a >>>>>>>> looking over and let me know what you think. >>>>>>>>=20 >>>>>>>> -Rob >>>>>>>>=20 >>>>>>>>> On Jan 4, 2018, at 7:45 AM, chtompki@apache.org wrote: >>>>>>>>>=20 >>>>>>>>> Author: chtompki >>>>>>>>> Date: Thu Jan 4 12:45:36 2018 >>>>>>>>> New Revision: 24009 >>>>>>>>>=20 >>>>>>>>> Log: >>>>>>>>> Staging release: commons-lang3, version: 3.8-SNAPSHOT >>>>>>>>>=20 >>>>>>>>> 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/RELEASE-NOTES.txt >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 mor= e >>>>>>>>> +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 component= s >>>>>> 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 b= e >>>> 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/ >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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=C3=85=C2=BCniecki. >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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=C3=83=C2=B2. >>>>>>>>> +o LANG-1281: Javadoc of StringUtils.ordinalIndexOf is >> contradictory. >>>>>>>>> + Thanks to Andreas Lundblad. >>>>>>>>> +o LANG-1188: StringUtils#join(T...): warning: [unchecked] Possibl= e >>>>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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. >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.5 >>>>>>>>> + >>>>>>>>> + >>>>>>>>> +HIGHLIGHTS >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 builder= s >>>> in >>>>>>>> the >>>>>>>>> + org.apache.commons.lang3.builder package. >>>>>>>>> +o Support for various modify and retrieve value use cases added t= o >>>> the >>>>>>>> classes >>>>>>>>> + in org.apache.commons.lang3.mutable. >>>>>>>>> + >>>>>>>>> +COMPATIBILITY >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +Java 9 introduces a new version-string scheme. Details of this ne= w >>>>>>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 b= e >>>> set >>>>>>>> to >>>>>>>>> +'JRE': >>>>>>>>> + >>>>>>>>> + mvn -Djava.locale.providers=3DJRE 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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. Thank= s >>>> 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 declarin= g >>>>>>>> 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. Thank= s >>>> 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. Thank= s >>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 Philipp= e >>>>>>>> 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 >> "=C3=85 >>>> " >>>>>>>> and "=C3=85=E2=80=9A". >>>>>>>>> + 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 Pierr= e >>>>>>>> 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 answe= r >>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> +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. Thank= s >>>> 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 t= o >>>>>>>>> + 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=C3=83=C2=B6nsson. >>>>>>>>> +o LANG-1151: Performance improvements for NumberUtils.isParsable.= >>>>>>>> Thanks to >>>>>>>>> + Juan Pablo Santos Rodr=C3=83=C2=ADguez. >>>>>>>>> +o LANG-1218: EqualsBuilder.append(Object,Object) is too big to be= >>>>>>>> inlined, >>>>>>>>> + which prevents whole builder to be scalarized. Thank= s >>>> 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 Samue= l >>>>>> Karp. >>>>>>>>> +o LANG-1182: Clarify JavaDoc of StringUtils.containsAny(). Thanks= >> to >>>>>>>>> + Larry West and Pascal Schumacher. >>>>>>>>> +o LANG-1183: Making replacePattern/removePattern methods null saf= e >>>> in >>>>>>>>> + StringUtils. >>>>>>>>> +o LANG-1057: Replace StringBuilder with String concatenation for >>>>>> better >>>>>>>>> + optimization. Thanks to Ot=C3=83=C2=A1vio 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. >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.4 >>>>>>>>> + >>>>>>>>> + >>>>>>>>> +COMPATIBILITY >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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=C3=83=C2=A8rne. >>>>>>>>> +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=C3=83=C2=BCller= . >>>>>>>>> +o LANG-1016: NumberUtils#isParsable method(s). Thanks to >>>>>>>>> + Juan Pablo Santos Rodr=C3=83=C2=ADguez. >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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) !=3D 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 wit= h >>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +o LANG-1102: Make logic for comparing OS versions in SystemUtils >>>>>> smarter >>>>>>>>> +o LANG-1091: Shutdown thread pools in test cases. Thanks to Fabia= n >>>>>>>> Lange. >>>>>>>>> +o LANG-1101: FastDateParser and FastDatePrinter support 'X' forma= t >>>>>>>>> +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. Thank= s >>>> 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 >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.3.2 >>>>>>>>> + >>>>>>>>> +NEW FEATURES >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +o LANG-989: Add org.apache.commons.lang3.SystemUtils.IS_JAVA_1_8= >>>>>>>>> + >>>>>>>>> +FIXED BUGS >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +o LANG-992: NumberUtils#isNumber() returns false for "0.0", >>>> "0.4790", >>>>>>>> et al >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.3.1 >>>>>>>>> + >>>>>>>>> +FIXED BUGS >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.3 >>>>>>>>> + >>>>>>>>> +NEW FEATURES >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 FQ= N >>>>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 YEA= R >>>> or >>>>>>>> MONTH. >>>>>>>>> + Thanks to Sebastian G=C3=83=C2=B6tz. >>>>>>>>> +o LANG-950: FastDateParser does not handle two digit year parsin= g >>>>>> like >>>>>>>>> + SimpleDateFormat >>>>>>>>> +o LANG-949: FastDateParserTest.testParses does not test >>>>>> FastDateParser >>>>>>>>> +o LANG-915: Wrong locale handling in LocaleUtils.toLocale(). >>>>>>>>> + Thanks to Sergio Fern=C3=83=C2=A1ndez. >>>>>>>>> + >>>>>>>>> +CHANGES >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 file= s >>>>>>>>> +o LANG-940: Fix deprecation warnings >>>>>>>>> +o LANG-819: EnumUtils.generateBitVector needs a "? extends" >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.2.1 >>>>>>>>> + >>>>>>>>> +BUG FIXES >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.2 >>>>>>>>> + >>>>>>>>> +COMPATIBILITY WITH 3.1 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D >>>>>>>>> + >>>>>>>>> +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 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 suppor= t >>>>>>>>> + 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 t= o >>>>>>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +o LANG-932: Spelling fixes. Thanks to Ville Skytt=C3=83=C2=A4. >>>>>>>>> +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 fo= r >>>>>>>> floating >>>>>>>>> + point numbers other than Float Issue: LANG-693. >> Thanks >>>>>> to >>>>>>>>> + Calvin Echols. >>>>>>>>> +o LANG-887: FastDateFormat does not use the locale specific cach= e >>>>>>>> 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 <=3D= >>>> 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 SyncAvoi= d >>>>>>>> class. >>>>>>>>> +o LANG-800: Javadoc bug in DateUtils#ceiling for Calendar and >>>> Object >>>>>>>> versions. >>>>>>>>> +o LANG-788: SerializationUtils throws ClassNotFoundException whe= n >>>>>>>> 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 garbag= e >>>>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 t= o >>>>>>>> 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D >>>>>>>>> + >>>>>>>>> +o Fixed URLs in javadoc to point to new oracle.com pages >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.1 >>>>>>>>> + >>>>>>>>> +NEW FEATURES >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> + isAssignable=46rom 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 >>>>>>>>> + >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> + Release Notes for version 3.0 >>>>>>>>> + >>>>>>>>> +ADDITIONS >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 i= s >>>>>>>> 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 isAssignable=46rom 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 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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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=3Dfalse to javac targets to qu= ell >>>>>>>> warnings in >>>>>>>>> + ant 1.8.1 and better (and modest performance gain). >>>>>>>>> +o LANG-713: Increase test coverage of FieldUtils read methods an= d >>>>>> tweak >>>>>>>>> + javadoc. >>>>>>>>> +o LANG-718: build.xml Java 1.5+ updates. >>>>>>>>> + >>>>>>>>> +BUG FIXES >>>>>>>>> +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> + >>>>>>>>> +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 no= w >>>>>>>> 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 characte= r >>>>>>>> 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 i= s >>>> 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", '') >> =3D >>>> 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 >>>>>>>>> + >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>> bin.tar.gz >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> Binary file - no diff available. >>>>>>>>>=20 >>>>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>>>> bin.tar.gz >>>>>>>>> ------------------------------------------------------------ >>>>>>>> ------------------ >>>>>>>>> svn:mime-type =3D application/octet-stream >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>>>> bin.tar.gz.asc >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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=3D >>>>>>>>> +=3DtjQB >>>>>>>>> +-----END PGP SIGNATURE----- >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>>>> bin.tar.gz.md5 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>>>> bin.tar.gz.sha1 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >> bin.zip >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> Binary file - no diff available. >>>>>>>>>=20 >>>>>>>>> Propchange: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>> bin.zip >>>>>>>>> ------------------------------------------------------------ >>>>>>>> ------------------ >>>>>>>>> svn:mime-type =3D application/octet-stream >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>> bin.zip.asc >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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=3D >>>>>>>>> +=3D6Bjb >>>>>>>>> +-----END PGP SIGNATURE----- >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>> bin.zip.md5 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/binaries/commons-lang3-3.8-SNAPSHOT- >>>>>> bin.zip.sha1 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/site.zip >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> Binary file - no diff available. >>>>>>>>>=20 >>>>>>>>> Propchange: dev/commons/lang/site.zip >>>>>>>>> ------------------------------------------------------------ >>>>>>>> ------------------ >>>>>>>>> svn:mime-type =3D application/octet-stream >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >> src.tar.gz >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> Binary file - no diff available. >>>>>>>>>=20 >>>>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>>>>>> src.tar.gz >>>>>>>>> ------------------------------------------------------------ >>>>>>>> ------------------ >>>>>>>>> svn:mime-type =3D application/octet-stream >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>>>> src.tar.gz.asc >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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=3D >>>>>>>>> +=3D8mS4 >>>>>>>>> +-----END PGP SIGNATURE----- >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>>>> src.tar.gz.md5 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>>>>>> src.tar.gz.sha1 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT-src.zip >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> Binary file - no diff available. >>>>>>>>>=20 >>>>>>>>> Propchange: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>> src.zip >>>>>>>>> ------------------------------------------------------------ >>>>>>>> ------------------ >>>>>>>>> svn:mime-type =3D application/octet-stream >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>> src.zip.asc >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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=3D >>>>>>>>> +=3D5+7f >>>>>>>>> +-----END PGP SIGNATURE----- >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>> src.zip.md5 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>> Added: dev/commons/lang/source/commons-lang3-3.8-SNAPSHOT- >>>> src.zip.sha1 >>>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >>>>>>>>> --- 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 >>>>>>>>>=20 >>>>>>>>>=20 >>>>>>>>=20 >>>>>>>>=20 >>>>>>>> ------------------------------------------------------------ >> --------- >>>>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org >>>>>>>> For additional commands, e-mail: dev-help@commons.apache.org >>>>>>>>=20 >>>>>>>>=20 >>>>>>=20 >>>>>> ---------------------------------------------------------------------= >>>>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org >>> dev-unsubscribe@commons.apache.org> >>>>>> For additional commands, e-mail: dev-help@commons.apache.org >>> dev-help@commons.apache.org> >>>>=20 >>=20 >>=20 >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org >> For additional commands, e-mail: dev-help@commons.apache.org >>=20 >>=20 --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org For additional commands, e-mail: dev-help@commons.apache.org