[ANNOUNCE] Apache Log4j 2.12.2 released

2021-12-15 Thread Gary Gregory
The Apache Log4j 2 team is pleased to announce the Log4j 2.12.2 release!

Apache Log4j is a well known framework for logging application
behavior. Log4j 2 is an upgrade to Log4j that provides significant
improvements over its predecessor, Log4j 1.x, and provides many other
modern features such as support for Markers, lambda expressions for
lazy logging, property substitution using Lookups, multiple patterns
on a PatternLayout and asynchronous Loggers. Another notable Log4j 2
feature is the ability to be "garbage-free" (avoid allocating
temporary objects) while logging. In addition, Log4j 2 will not lose
events while reconfiguring.

The 2.12.2 artifacts for Java 7 may be downloaded from
https://logging.apache.org/log4j/log4j-2.12.2/download.html

This release contains changes addressing only CVE-2021-44228 and
CVE-2021-45046 for users still using Java 7:

* Removed Message Lookups in PatternLayout. "%m{lookup}",
"%m{nolookup}", and variants will still be accepted as conversion
patterns, but have no effect.

* Disabled JNDI by default and only allowing "java" protocol
when enabled.

* Made JNDI Lookup inoperable and removed the message Lookup
capability.

The Log4j 2.12.2 API, as well as many core components, maintains
binary compatibility with previous releases. This version is
recommended as an upgrade.


Apache Log4j 2.12.2 requires a minimum of Java 7 to build and run.
Log4j 2.16.0 is the most recent Log4j release and users are
encouraged to upgrade this version, if possible. Java 7 is no
longer supported by the Log4j team.

For complete information on Apache Log4j 2, including instructions on
how to submit bug reports, patches, or suggestions for improvement,
see the Apache Apache Log4j 2 website:

Site: https://logging.apache.org/log4j/2.x/
Main download page: https://logging.apache.org/log4j/2.x/download.html


[ANNOUNCE] Apache Commons DBCP 2.9.0

2021-08-30 Thread Gary Gregory
The Apache Commons DBCP team is pleased to announce the release of
Apache Apache Commons DBCP 2.9.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

For complete information on Apache Commons DBCP, including
instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons
DBCP website:

https://commons.apache.org/dbcp/

Download page: https://commons.apache.org/dbcp/download_dbcp.cgi

Gary Gregory,
Apache Commons Team


Fwd: [ANNOUNCE] Apache Commons DBCP 2.9.0

2021-08-05 Thread Gary Gregory
The Apache Commons DBCP team is pleased to announce the release of
Apache Commons DBCP 2.9.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

Changes in this version:
https://commons.apache.org/proper/commons-dbcp/changes-report.html#a2.9.0

For complete information on Apache Commons DBCP, including
instructions on how to submit bug reports, patches, or suggestions for
improvement, see the Apache Apache Commons DBCP website:

https://commons.apache.org/dbcp/

Download page: https://commons.apache.org/dbcp/download_dbcp.cgi

Have fun!
Gary Gregory,
for the Apache Commons Team


Fwd: [ANNOUNCE] Apache Commons CSV 1.9.0

2021-07-31 Thread Gary Gregory
The Apache Commons project announces the release of Apache Commons CSV 1.9.0.

Commons CSV requires at least Java 8.

The Apache Commons CSV library provides a simple interface for reading
and writing CSV files of various types.

This is a Feature and bug fix release (Java 8)

Historical list of changes:
https://commons.apache.org/proper/commons-csv/changes-report.html

For complete information on Apache Commons CSV, including instructions
on how to submit bug reports, patches, or suggestions for improvement,
see the Apache Apache Commons CSV website:

https://commons.apache.org/proper/commons-csv/

Download page: https://commons.apache.org/proper/commons-csv/download_csv.cgi

Have fun!

Gary Gregory
Apache Commons Team


[ANNOUNCE] Apache Commons VFS Project 2.9.0

2021-07-21 Thread Gary Gregory
The Apache Commons VFS Project team is pleased to announce the release
of Apache Commons VFS Project 2.9.0.

Apache Commons VFS is a Virtual File System library.

Maintenance release. Requires Java 8.

Changes in this version include:

Fixed Bugs:
o   Add and use FileOperationProvider.EMPTY_ARRAY. Thanks to
Gary Gregory.
o   VFS.close(): Set `instance` to `null` after closing it;
#163. Thanks to Boris Petrov.
o   Fix closing the files cache after warning that not all
components have been closed; #165. Thanks to Boris Petrov.
o   Fix NPE when closing a stream from a different thread
#167. See also #166. Thanks to Boris Petrov, Gary Gregory, Max
Kellermann.
o VFS-798:  IllegalArgumentException: Bad escape for Chinese
characters in FileObject path #168. Thanks to XenoAmess, Gary Gregory.
o   Minor changes #185. Thanks to Arturo Bernal.
o   Port internal embedded HTTP asynchronous file server used
in tests from from Apache HttpComponents HttpCore/HttpClient 4.x to
5.0.x. Thanks to Gary Gregory.
o   Replace construction of FileInputStream and
FileOutputStream objects with Files NIO APIs. #164. Thanks to Arturo
Bernal.
o   Only use reflection VFS.createFileSystemManager(String) if
the FileSystemManager is not a subclass of AbstractFileSystem. Thanks
to Gary Gregory.
o   Simplify if conditions #170. Thanks to Arturo Bernal.
o   Redundant local variable #171. Thanks to Arturo Bernal.
o VFS-804:  Fix and Refine Javadoc #174. Thanks to Arturo Bernal.
o VFS-784:  SSL Connection failing with http4 provider with squid
proxy nginx combination. Thanks to satish-csi, Michael Osipov, Gary
Gregory.
o   Remove checked exception from method signatures that do
not throw them. This maintains binary compatibility but not source
compatibility.
- 
org.apache.commons.vfs2.impl.DefaultFileSystemConfigBuilder.setUserAuthenticator(FileSystemOptions,
UserAuthenticator)
- 
org.apache.commons.vfs2.impl.DefaultFileSystemManager.setBaseFile(File)
- 
org.apache.commons.vfs2.provider.LayeredFileNameParser.extractRootName(StringBuilder)
- 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.setCompression(FileSystemOptions,
String)
- 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.setConfigRepository(FileSystemOptions,
ConfigRepository)
- 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.setIdentities(FileSystemOptions,
File...)
- 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.setIdentityInfo(FileSystemOptions,
IdentityInfo...)
- 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.setIdentityProvider(FileSystemOptions,
IdentityProvider...)
- 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.setIdentityRepositoryFactory(FileSystemOptions,
IdentityRepositoryFactory)
- 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.setKnownHosts(FileSystemOptions,
File)
- 
org.apache.commons.vfs2.provider.local.LocalFile.LocalFile(LocalFileSystem,
String, AbstractFileName)
- org.apache.commons.vfs2.provider.local.LocalFile.doGetType()
- 
org.apache.commons.vfs2.provider.tar.TarFileObject.TarFileObject(AbstractFileName,
TarArchiveEntry, TarFileSystem, boolean)
- 
org.apache.commons.vfs2.provider.tar.TarFileSystem.createTarFileObject(AbstractFileName,
TarArchiveEntry)
- 
org.apache.commons.vfs2.provider.zip.ZipFileObject.ZipFileObject(AbstractFileName,
ZipEntry, ZipFileSystem, boolean)
- 
org.apache.commons.vfs2.provider.http4.Http4FileProvider.createHttpClientContext()
- 
org.apache.commons.vfs2.provider.http5.Http5FileProvider.createHttpClientContext()
- 
org.apache.commons.vfs2.provider.http4.Http4FileObject.getInternalURI()
- 
org.apache.commons.vfs2.provider.http5.Http5FileObject.getInternalURI()
Thanks to Gary Gregory.
o VFS-805:  HTTP seek always exhausts response #186. Thanks to Claus
Stadler, Gary Gregory.
o VFS-805:  SftpFileObject: Add synchronized to methods that read or
write the thread-unsafe instance variable of type
com.jcraft.jsch.SftpATTRS. Thanks to Max Kellermann, Mark Thomas,
Bernd, Gary Gregory.
o VFS-759:  WebDAV providers should loaded only when
commons-vfs2-jackrabbit* jars are available #84 Thanks to Woonsan Ko.
o   Simplify conditions and avoid extra checks #187. Thanks to
Arturo Bernal.
o VFS-803:  Simplify if as some conditions are covered by others #173.
Thanks to Arturo Bernal.

Changes:
o   Bump Log4j 2.14.0 -> 2.14.1. Thanks to Gary Gregory.
o   Bump Maven Surefire from 2.19.1 to 3.0.0-M5. Thanks to Gary Gregory.
o   Bump net.sourceforge.pmd:pmd-* from 6.32.0 to 6.33.0.
o   Bump checkstyle from 8.41 to 8.44 #175. Thanks to
Dependabot, Gary Gregory

Fwd: [ANNOUCE] Apache Commons IO 2.11.0

2021-07-15 Thread Gary Gregory
The Apache Commons Team is pleased to announce Apache Commons IO 2.11.0.

Commons IO is a package of Java 8 utility classes like java.io.

Changes in this version include:

Fixed Bugs:
o IO-741:  FileUtils.listFiles does not list matching files if File
parameter is a symbolic link. Thanks to Zach Sherman.
o IO-724:  FileUtils#deleteDirectory(File) exception Javadoc
inaccurate update #245. Thanks to liran2000.
o Minor changes #243. Thanks to Arturo Bernal.
o Replace construction of FileInputStream and FileOutputStream objects
with Files NIO APIs. #221. Thanks to Arturo Bernal.
o Fix IndexOutOfBoundsException in IOExceptionList constructors.
Thanks to Gary Gregory.
o Remove IOException from the method signatures that no longer throw
IOException.
   This maintains binary compatibility but not source compatibility.
   - FilenameUtils
   directoryContains(String, String)
   - BoundedReader
   BoundedReader(java.io.Reader, int)
   - IOUtils
   lineIterator(java.io.InputStream, Charset)
   lineIterator(java.io.InputStream, String)
   toByteArray(String)
   toInputStream(CharSequence, String)
   toInputStream(String, String)
   toString(byte[])
   toString(byte[], String)
   Thanks to Gary Gregory.

Changes:
o Add SymbolicLinkFileFilter. Thanks to Gary Gregory.
o Add test to make sure the setter of AndFileFilter works correctly
#244. Thanks to trncate.
o Add XmlStreamReader(Path). Thanks to Gary Gregory.
o Bump mockito-inline from 3.11.0 to 3.11.2 #247. Thanks to Dependabot.
o Bump jmh.version from 1.27 to 1.32 #237. Thanks to Dependabot.
o Bump spotbugs from 4.2.3 to 4.3.0 #249. Thanks to Dependabot.

Historical list of changes:
https://commons.apache.org/proper/commons-io/changes-report.html

For complete information on Apache Commons IO, including instructions
on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons
IO website:

https://commons.apache.org/proper/commons-io/

Download page: https://commons.apache.org/proper/commons-io/download_io.cgi

Have fun!
Gary Gregory, on behalf of the Apache Commons Team


[ANNOUNCEMENT] Apache Commons IO 2.9.0

2021-06-03 Thread Gary Gregory
The Apache Commons team announces Apache Commons IO 2.9.0.

Commons IO is a package of Java utility classes like java.io.
Classes in this package are considered to be so standard and of such high
reuse as to justify existence in java.io.

The Apache Commons IO library contains utility classes, stream
implementations, file filters,
file comparators, endian transformation classes, and much more.

Java 8 required.

Changes in this version include:

New features:
o   Add FileSystemProviders class. Thanks to Gary Gregory.
o   Let org.apache.commons.io.filefilter classes work with
java.nio.file.Files.walk* APIs. Thanks to Gary Gregory.
o   Let org.apache.commons.io.filefilter classes work with
java.nio.file.Files#newDirectoryStream(Path, DirectoryStream.Filter).
Thanks to Gary Gregory.
o IO-510:  Add and adapt ReadAheadInputStream and
BufferedFileChannelInputStream from Apache Spark. Thanks to Gary
Gregory, Apache Spark, David Mollitor.
o   Add PathUtils.createParentDirectories(Path,
FileAttribute...). Thanks to Gary Gregory.
o   Add factory methods to CloseShieldInputStream,
CloseShieldReader, CloseShieldOutputStream, CloseShieldWriter, #173.
Thanks to Rob Spoor, Gary Gregory.
o   Add QueueInputStream and QueueOutputStream as simpler
alternatives to PipedInputStream and PipedOutputStream #171. Thanks to
Rob Spoor, Gary Gregory.
o   Add StandardLineSeparator. Thanks to Gary Gregory.
o   Replace magic numbers with constants with the new
IOUtils.CR and LF. Thanks to Gary Gregory.
o   Add FileSystem#supportsDriveLetter(). Thanks to Gary Gregory.
o   Add FileUtils.delete(File). Thanks to Gary Gregory.
o IO-700:  Add FileUtils.moveFile(File, File, CopyOption...) #185.
Thanks to Gary Gregory.
o IO-700:  Add FileUtils.isEmptyDirectory(File). Thanks to Gary Gregory.
o   Add FileUtils.lastModified[Unchecked](File) to workaround
https://bugs.openjdk.java.net/browse/JDK-8177809. Thanks to Gary
Gregory.
o IO-709:  Add null safe variants of isDirectory and isRegularFile.
Thanks to Boris Unckel, Gary Gregory.
o   Add and use IOExceptionList(String, List). Thanks to Gary Gregory.
o   Add and use
ObservableInputStream.ObservableInputStream(InputStream, Observer...).
Thanks to Gary Gregory.
o   Make ObservableInputStream.getObservers() public. Thanks
to Gary Gregory.
o IO-706:  Add TimestampedObserver. Thanks to Gary Gregory.
o   Add and use IOUtils.byteArray(*). Thanks to Gary Gregory.
o   Make public and reuse IOUtils.EMPTY_BYTE_ARRAY. Thanks to
Gary Gregory.
o   Add IOUtils.copy(URL, File). Thanks to Gary Gregory.
o   Add copy(URL, OutputStream). Thanks to Gary Gregory.
o IO-651:  Add DeferredFileOutputStream.toInputStream() #206. Thanks
to jmark109, Gary Gregory.
o   Add
CharacterSetFilterReader.CharacterSetFilterReader(Reader, Integer...).
Thanks to Gary Gregory.
o   Add AbstractCharacterFilterReader(Reader, IntPredicate), #227.
Add CharacterFilterReader(Reader, IntPredicate), #227.
Add CharacterFilterReaderIntPredicateTest, #227. Thanks to Rob
Spoor, Gary Gregory.
o   Add IOConsumer.noop(). Thanks to Gary Gregory.
o   Add constructor ThresholdingOutputStream(int, IOConsumer,
IOFunction) and make the class concrete. Thanks to Gary Gregory.
o   Add constructor accepting collection of file alteration
observers #236. Thanks to nstdspace, Gary Gregory.

Fixed Bugs:
o IO-686:  IOUtils.toByteArray(InputStream) Javadoc does not match
code. Thanks to Alan Moffat, Gary Gregory.
o IO-689:  FileUtils: Remove Instant->ZonedDateTime->Instant
round-trip. Thanks to Uwe Schindler.
o   Make FilenameUtils.equals() not throw an exception #154.
Thanks to Michael Ernst, Gary Gregory.
o   Un-deprecate IOUtils.closeQuietly() methods. Thanks to Jan
Peter Stotz, Bernd Eckenfels, Gary Gregory.
o   FileUtils#copyDirectory(File, File, FileFilter,
preserveFileDate) clean up #163. Thanks to Michiel Kalkman.
o   AccumulatorPathVisitor does not track directories
properly. Thanks to Gary Gregory.
o IO-597:  FileUtils.iterateFiles runs out of memory when executed for
a directory with large number of files.
Re-implement FileUtils' iterateFiles(), iterateFilesAndDirs(),
listFiles(), listFilesAndDirs() to use NIO
file tree walking instead of IO file listings to avoid memory
consumption issues on large file trees. Thanks to Gary Gregory,
Arvind, Rob Spoor.
o   FileUtils.forceDelete(File) actually forces deletion of
read-only files as it did in version 2.6. Thanks to Gary Gregory.
o IO-692:  PathUtils.deleteFile() no longer throws a
NoSuchFileException when applied on a symbolic link pointing
to a file that doesn't exist. Thanks to Matthew Rooney, Emmanuel Bourg.
o IO-694:  Behavior change in FileUtils.copyDirectory() file last
modified timestamp preservation. Match Javadoc to code. Thanks to T

[ANNOUNCEMENT] Apache Commons Lang 3.12.0

2021-03-05 Thread Gary Gregory
Here are the release notes for the 3.12.0 version of Apache
Commons Lang.
Commons Lang is a set of utility functions and reusable components
that should be of use in any
Java environment.

Lang 3.9 and onwards now targets Java 8, making use of features that
arrived with Java 8.

For the advice on upgrading from 2.x to 3.x, see the following page:

https://commons.apache.org/lang/article3_0.html

Apache Commons Lang, a package of Java utility classes for the
classes that are in java.lang's hierarchy, or are considered to be so
standard as to justify existence in java.lang.

New features and bug fixes.

Changes in this version include:

New features:
oAdd BooleanUtils.booleanValues(). Thanks to Gary Gregory.
oAdd BooleanUtils.primitiveValues(). Thanks to Gary Gregory.
o LANG-1535: Add StringUtils.containsAnyIgnoreCase(CharSequence,
CharSequence...). Thanks to Gary Gregory, Isira Seneviratne.
o LANG-1359: Add StopWatch.getStopTime(). Thanks to Gary Gregory, Keegan Witt.
oMore test coverage for CharSequenceUtils. #631. Thanks to
Edgar Asatryan.
oAdd fluent-style ArraySorter. Thanks to Gary Gregory.
oAdd and use LocaleUtils.toLocale(Locale) to avoid NPEs.
Thanks to Gary Gregory.
oAdd FailableShortSupplier, handy for JDBC APIs. Thanks to
Gary Gregory.
oAdd JavaVersion.JAVA_17. Thanks to Gary Gregory.
o LANG-1636: Add missing boolean[] join method #686. Thanks to .
oAdd StringUtils.substringBefore(String, int). Thanks to
Gary Gregory.
oAdd Range.INTEGER. Thanks to Gary Gregory.
oAdd DurationUtils. Thanks to Gary Gregory.
oIntroduce the use of @Nonnull, and @Nullable, and the
Objects class as a helper tool.
oAdd and use true and false String constants #714. Thanks
to Arturo Bernal, Gary Gregory.
oAdd and use ObjectUtils.requireNonEmpty() #716. Thanks to
Arturo Bernal, Gary Gregory.

Fixed Bugs:
o LANG-1592: Correct implementation of RandomUtils.nextLong(long,
long) Thanks to Huang Pingcai, Alex Herbert.
o LANG-1600: Restore handling of collections for non-JSON
ToStringStyle #610. Thanks to Michael F.
oContextedException Javadoc add missing semicolon #581.
Thanks to iamchao1129.
o LANG-1608: Resolve JUnit pioneer transitive dependencies using JUnit
BOM. Thanks to Edgar Asatryan.
oNumberUtilsTest - incorrect types in min/max tests #634.
Thanks to HubertWo, Gary Gregory.
o LANG-1579: Improve StringUtils.stripAccents conversion of remaining
accents. Thanks to XenoAmess.
o LANG-1606: StringUtils.countMatches - clarify Javadoc. Thanks to
Rustem Galiev.
o LANG-1591: Remove redundant argument from substring call. Thanks to bhawna94.
o LANG-1613: BigDecimal is created when you pass it the min and max
values, #642. Thanks to Arturo Bernal, Gary Gregory.
o LANG-1541: ArrayUtils.contains() and indexOf() fail to handle
Double.NaN #647. Thanks to Arturo Bernal, Gary Gregory.
o LANG-1615: ArrayUtils contains() and indexOf() fail to handle
Float.NaN # #561. Thanks to Arturo Bernal, Gary Gregory.
oFix potential NPE in TypeUtils.isAssignable(Type,
ParameterizedType, Map, Type>). Thanks to Gary Gregory.
o LANG-1420: TypeUtils.isAssignable returns wrong result for
GenericArrayType and ParameterizedType, #643. Thanks to Gordon Fraser,
Rostislav Krasny, Arturo Bernal, Gary Gregory.
o LANG-1612: testGetAllFields and testGetFieldsWithAnnotation
sometimes fail. Thanks to XinT, Gary Gregory.
oFix Javadoc for SystemUtils.isJavaVersionAtMost() #638.
Thanks to John R. D'Orazio.
o LANG-1610: Fix StringUtils.unwrap throws
StringIndexOutOfBoundsException #636. Thanks to Tony Liang.
oFix formatting of isAnyBlank() and isAnyEmpty(). #513.
Thanks to Isira Seneviratne.
o LANG-1618: TypeUtils. containsTypeVariables does not support
GenericArrayType #661. Thanks to Arturo Bernal.
o LANG-1622: Javadoc of some methods incorrectly refers to another
method, #667, #668. #670. Thanks to Kanak Sony, anomen-s.
o LANG-1620: Refine StringUtils.lastIndexOfIgnoreCase #664. Thanks to
Arturo Bernal.
o LANG-1619: Refine StringUtils.abbreviate #663. Thanks to Arturo Bernal.
o LANG-1584: Refine StringUtils.isNumericSpace #573. Thanks to Arturo Bernal.
o LANG-1580: Refine StringUtils.deleteWhitespace #569. Thanks to Arturo Bernal.
o LANG-1626: Correction in Javadoc of some methods. #673 Thanks to Kanak Sony.
o LANG-1628: Javadoc for RandomStringUtils.random() letters, numbers
parameters is wrong. Thanks to Jarkko Rantavuori.
oCorrect markup in Javadoc for unbalanced braces #679.
Thanks to Felix Schumacher.
o LANG-1544: MethodUtils.invokeMethod NullPointerException in case of
null in args list #680. Thanks to Peter Nagy, Michael Buck, Gary
Gregory.
o LANG-1637: Fix 2 digit week year formatting #688. Thanks to Uri
Gonen, Gary Gregory, Michael Osipov.
oFix broken Javadoc links to commons-text #712. Thanks to
Chris Smowton

[ANNOUNCEMENT] Apache Commons Net 3.8.0

2021-02-21 Thread Gary Gregory
The Apache Commons Net team is pleased to announce the release of
Apache Commons Net 3.8.0.

Apache Commons Net library contains a collection of network utilities
and protocol implementations.

Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S),
SMTP(S), Telnet, Whois

Maintenance and bug fix release (Java 7).

For complete information on Apache Commons Net, including instructions
on how to submit bug reports, patches, or suggestions for improvement,
see the Apache Apache Commons Net website:

https://commons.apache.org/proper/commons-net/

Download page: https://commons.apache.org/proper/commons-net/download_net.cgi

Changes in this version include:
===

New features:
o   Add and use NetConstants. Thanks to Arturo Bernal, Gary Gregory.
o   Add and use SocketClient.applySocketAttributes(). Thanks
to Gary Gregory.
o   Add FTPClient.hasFeature(FTPCmd). Thanks to Gary Gregory.
o   Add FTPClient.mdtmCalendar(String). Thanks to Gary Gregory.

Fixed Bugs:
o   Fix concurrent counting of chunks in IMAPExportMbox.
Thanks to Gary Gregory.
o   Fix possible if rare NPEs in tests. Thanks to Gary Gregory.

Changes:
o   Bump actions/checkout from v2.3.3 to v2.3.4 #69. Thanks to
Dependabot.

o NET-685:  Update SocketClient default connect timeout from ? to 60
seconds #51. Thanks to Simo385.

o NET-695:  Apply SocketClient timeout after connection but before SSL
negotiation. Thanks to Gary Gregory, Possibly Cott.
o   Minor Improvements #71, #72. Thanks to Arturo Bernal, Gary Gregory.
o   Bump actions/cache from v2 to v2.1.4 #73. Thanks to Dependabot.

Historical list of changes:
https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
-Apache Commons Net Team


[ANNOUNCE] Apache Commons VFS Project 2.7.0

2020-10-31 Thread Gary Gregory
The Apache Commons VFS Project team is pleased to announce the release of
Apache Commons VFS Project 2.7.0.

Apache Commons VFS is a Virtual File System library.

Maintenance release. Requires Java 8.

Changes in this version include:

New features:
o VFS-757:  [SFTP] Configure whether exec detection is enabled #80. Thanks
to ddg-igh.
o   Add proxy config for some HTTP/HTTPS test #108. Thanks to
PeterAlfredLee.
o   Fix some test error when JVM's default language is not US en
#107. Thanks to PeterAlfredLee.
o VFS-787:  Allow users to set proxy schemes like http/https #122. Thanks
to satish bhor.
o VFS-786:  Allow users to set custom keystore types like JCEKS, PKCS12
#121. Thanks to satish bhor.
o VFS-570:  Add HDFS write support #114. Thanks to garpinc, Gary Gregory.
o   Add FileObject.getURI(). Thanks to Gary Gregory.
o   Add FileObject.getPath(). Thanks to Gary Gregory.
o VFS-768:  Update Apache httpclient 4.5.11 to 4.5.13 and httpclient5
5.0-beta7 to 5.0.3. Thanks to ddg-igh, Gary Gregory.
o   Add
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.isDisableDetectExecChannel(FileSystemOptions)
and setDisableDetectExecChannel(FileSystemOptions, boolean). Thanks to Gary
Gregory.
o   Add
org.apache.commons.vfs2.FileSystemConfigBuilder.toBooleanObject(boolean).
Thanks to Gary Gregory.
o   org.apache.commons.vfs2.provider.VfsComponent now implements
java.io.Closeable. Thanks to Gary Gregory.
o   Modify some code use try-with-resources #138. Thanks to
PeterAlfredLee.

Fixed Bugs:
o VFS-753:  NumberFormatException in SftpFileSystem::getUId. Thanks to John
Webb, Gary Gregory.
o VFS-779:  Possible null pointer dereference in
org.apache.commons.vfs2.impl.DefaultFileReplicator.close() due to return
value of called method. Thanks to Gary Gregory.
o   Modify some loop using stream API #96. Thanks to PeterAlfredLee.
o VFS-780:  SftpFileSystem returns null channel and produce NPE - fix
get… #110. Thanks to Wuchte.
o VFS-788:  [webdav/webdav4] Jackrabbit1 and jackrabbit2 modules getting
same OSGi symbolic name. Thanks to satish bhor.
o VFS-624:  Fix for read() in constructors of LocalFileRandomAccessContent
and RamFileRandomAccessContent #93. Thanks to PeterAlfredLee.
o VFS-769:  Fix .tgz and .tbz2 createFileSystem fails #94 Thanks to
PeterAlfredLee.
o VFS-664:  Fix for file names with exclamation mark can not be read #95.
Thanks to PeterAlfredLee.
o VFS-777:  NoSuchMethodError due to multiple versions of
commons-codec:commons-codec:jar. Thanks to Bing-ok, Gary Gregory.
o   Remove workaround for JDK BUG: 6192331 which was fixed way back
in Java 6: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6192331
Thanks to Gary Gregory.
o   FileObject.getURL() returns an illegal URL when a it should
escape a space. Thanks to Gary Gregory.
o   Fix test fail caused by lack proxy configuration for machines
behind a proxy #139. Thanks to PeterAlfredLee.

Changes:
o   Update some file from CRLF to LF #141. Thanks to PeterAlfredLee.
o VFS-755:  Update org.apache.httpcomponents:httpclient from 4.5.10 to
4.5.11. Thanks to Gary Gregory.
o VFS-756:  Update org.apache.jackrabbit:jackrabbit-standalone-components
from 2.19.6 to 2.21.3. Thanks to Gary Gregory.
o VFS-754:  Update Apache Commons Compress from 1.19 to 1.20. Thanks to
Gary Gregory.
o   Update tests from Apache Commons Lang 3.9 to 3.11. Thanks to
Gary Gregory.
o   Update tests from Log4j 2.13.0 to 2.13.3. Thanks to Gary
Gregory.
o   Update tests from org.mockito:mockito-core from 3.2.4 to
3.5.13, #131. Thanks to Gary Gregory, Dependabot.
o   Update Apache Commons IO from 2.6 to 2.8.0. Thanks to Gary
Gregory.
o   Update site reports from org.apache.bcel:bcel 6.4.1 to 6.5.0.
Thanks to Gary Gregory.
o   Update actions/checkout from v1 to v2.3.3 #100, #109, #130.
Thanks to Dependabot.
o   Update actions/setup-java from v1.4.0 to v1.4.3 #111, #113,
#133. Thanks to Dependabot.
o   Update commons-parent from 50 to 52. Thanks to Gary Gregory.
o   Update checkstyle from 8.27 to 8.36.2 #123, #132. Thanks to
Dependabot.
o   Update maven-pmd-plugin from 3.12.0 to 3.13.0 #125. Thanks to
Dependabot.
o   Update exec-maven-plugin from 1.6.0 to 3.0.0 #127. Thanks to
Dependabot.
o   Update com.puppycrawl.tools:checkstyle 8.36 -> 8.36.1. Thanks
to Gary Gregory.
o   Update Apache Commons Net from 3.6 to 3.7.2. Thanks to Gary
Gregory.
o   Update JUnit from 4.13 to 4.13.1. Thanks to Gary Gregory.


Historical list of changes:
http://commons.apache.org/proper/commons-vfs/changes-report.html

For complete information on Apache Commons VFS Project, including
instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons VFS
Project website:

http://commons.apache.org/proper/commons-vfs/

Download page: h

[ANNOUNCE] Apache Commons Net 3.7.2.

2020-10-18 Thread Gary Gregory
The Apache Commons Net team is pleased to announce the release of Apache
Commons Net 3.7.2.

Apache Commons Net library contains a collection of network utilities and
protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S),
SMTP(S), Telnet, Whois

Maintenance and bug fix release.

For complete information on Apache Commons Net, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Net
website:

https://commons.apache.org/proper/commons-net/

Download page:
https://commons.apache.org/proper/commons-net/download_net.cgi

Changes in this version include:

Fixed Bugs:
o NET-689:  Host name is not set on the SSLSocket causing
isEndpointCheckingEnabled to fail. Thanks to Charlie, Gary Gregory.
o   Fix possible socket and input stream leak on socket exception
in org.apache.commons.net.ftp.FTPClient._retrieveFile(String, String,
OutputStream). Thanks to Dependabot.
o NET-690:  Performance issue when using the FTPClient to retrieve files
#65. Thanks to payal-meh, Gary Gregory.

Changes:
o NET-691:  Improve Javadoc for IMAPSClient #68. Thanks to Lewis John
McGibbney.
o   Bump actions/setup-java from v1.4.2 to v1.4.3 #62. Thanks to
Dependabot.
o   Bump junit from 4.13 to 4.13.1 #67. Thanks to Dependabot.

Historical list of changes:
https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
Gary Gregory, on behalf of the Apache Commons team


[ANNOUCE] Apache Commons Net 3.7.1

2020-10-04 Thread Gary Gregory
The Apache Commons Net team is pleased to announce the release of Apache
Commons Net 3.7.1.

Apache Commons Net library contains a collection of network utilities and
protocol implementations.
Supported protocols include: Echo, Finger, FTP, NNTP, NTP, POP3(S),
SMTP(S), Telnet, Whois

Maintenance and bug fix release.

For complete information on Apache Commons Net, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Net
website:

https://commons.apache.org/proper/commons-net/

Download page:
https://commons.apache.org/proper/commons-net/download_net.cgi

Fixed Bugs:
o NET-687:  [FTPS] javax.net.ssl.SSLException: Unsupported or unrecognized
SSL message, #59. Thanks to Gary Gregory, Mikael, j-verse.

Updates:
o NET-673:  Update actions/checkout from v2.3.1 to v2.3.3 #56, #61. Thanks
to Dependabot.
o NET-673:  Update actions/setup-java from v1.4.0 to v1.4.2 #58. Thanks to
Dependabot.

Historical list of changes:
https://commons.apache.org/proper/commons-net/changes-report.html

Enjoy!
Gary Gregory, for the Apache Commons Net team


[ANNOUNCE] Apache Commons Pool 2.9.0

2020-09-29 Thread Gary Gregory
The Apache Commons Pool team is pleased to announce the release of Apache
Commons Pool 2.9.0.

Apache Commons Pool provides an object-pooling API and a number of object
pool implementations.
Version 2 contains a completely re-written pooling implementation compared
to the 1.x series.
In addition to performance and scalability improvements, version 2 includes
robust instance
tracking and pool monitoring.

Version 2.9.x requires Java 8 or above.
Version 2.8.x requires Java 8 or above.
Version 2.7.x requires Java 8 or above.
Version 2.6.x requires Java 7 or above.
Version 2.5.x requires Java 7 or above.
Version 2.0 requires 6 or above.

No client code changes are required to migrate from versions 2.0-2.3 to
version 2.4.3.
Users of version 1.x should consult the migration guide on the Commons Pool
web site.

NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean,
GenericKeyedObjectPoolMXBean
  and GenericKeyedObjectPoolMXBean) exist only to define the attributes
and methods
  that will be made available via JMX. They must not be implemented by
clients as
  they are subject to change between major, minor and patch version
releases of
  Commons Pool. Clients that implement any of these interfaces may not,
therefore,
  be able to upgrade to a new minor or patch release without requiring
code
  changes.

This is a minor release (Java 8).

Changes in version 2.9.0 include:

Changes:
o POOL-387:  Object factory destroy method should carry information on
activation context. Thanks to Phil Steitz.
oUpdate spotbugs from 4.0.6 to 4.1.3, #37, #41, #46. Thanks to
Dependabot.
oUpdate actions/checkout from v2.3.1 to v2.3.3 #56, #45. Thanks
to Dependabot.
oUpdate actions/setup-java from v1.4.0 to v1.4.2 #42. Thanks to
Dependabot.
oUpdate optional asm-util from 8.0.1 to 9.0 #44. Thanks to
Dependabot.

For complete information on Apache Commons Pool, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Pool
website:

https://commons.apache.org/proper/commons-pool/

Download page:
https://commons.apache.org/proper/commons-pool/download_pool.cgi

Gary Gregory,
Apache Commons Team


[ANNOUNCE] Apache Commons DBCP 2.8.0

2020-09-25 Thread Gary Gregory
The Apache Commons DBCP team is pleased to announce the release of Apache
Apache Commons DBCP 2.8.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

Changes in this version include:

New features:
o DBCP-564:  Fix BasicManagedDataSource leak of connections opened after
transaction is rollback-only #39. Thanks to Florent Guillaume.
o DBCP-566:  Add clearStatementPoolOnReturn #42. Thanks to Robert Paschek,
Gary Gregory, Phil Steitz.
o DBCP-559:  Add start, restart methods to BasicDataSource. #50. Thanks to
Phil Steitz.

Fixed Bugs:
o DBCP-555:  NPE when creating a SQLExceptionList with a null list. Thanks
to Gary Gregory.
o DBCP-558:  Fix DelegatingConnection readOnly and autoCommit caching
mechanism #35. Thanks to louislatreille.
oFix regression introduced by unreleased code clean-up #63.
Thanks to Sebastian Haas.

Changes:
oUpdate to PR#36 - PrepareStatement and prepareCall methods are
extracted #37. Thanks to DoiMasayuki, Alexander Norz, Gary Gregory.
oMask out user name and password from
DriverAdapterCPDS.toString(). Thanks to Gary Gregory.
o DBCP-650:  Update Apache Commons Pool from 2.7.0 to 2.8.1, #48. Thanks to
Gary Gregory, Dependabot.
oUpdate tests from H2 1.4.199 to 1.4.200. Thanks to Gary
Gregory.
oUpdate tests from Mockito 3.0.0 to 3.5.11 #47, #60, #64.
Thanks to Gary Gregory, Dependabot.
oUpdate tests from jboss-logging 3.4.0.Final to 3.4.1.Final.
Thanks to Gary Gregory.
oUpdate tests from narayana-jta 5.9.5.Final to 5.10.6.Final,
#61. Thanks to Gary Gregory.
oUpdate tests from junit-jupiter 5.5.1 to 5.7.0 #62. Thanks to
Gary Gregory.
oUpdate tests from org.slf4j:slf4j-simple 1.7.26 to 1.7.30.
Thanks to Gary Gregory.
oUpdate build from
com.github.siom79.japicmp:japicmp-maven-plugin 0.13.1 to 0.14.3. Thanks to
Gary Gregory.
oUpdate build from maven-javadoc-plugin 3.1.1 to 3.2.0. Thanks
to Gary Gregory.
oUpdate build from maven-pmd-plugin 3.12.0 to 3.13.0. Thanks to
Gary Gregory.
oUpdate org.apache.commons:commons-parent from 48 to 51. Thanks
to Gary Gregory.
oUpdate jacoco-maven-plugin from 0.8.4 to 0.8.6. Thanks to Gary
Gregory.
oUpdate maven-checkstyle-plugin from 3.0.0 to 3.1.1. Thanks to
Gary Gregory.
oUpdate actions/checkout from v1 to v2.3.2, #44, #51. Thanks to
Dependabot.
oUpdate actions/setup-java from v1.4.0 to v1.4.2 #58. Thanks to
Dependabot.

For complete information on Apache Commons DBCP, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons DBCP
website:

https://commons.apache.org/dbcp/

Download page: https://commons.apache.org/dbcp/download_dbcp.cgi
Gary Gregory
on Behalf of the Apache Commons Team


[ANNOUNCE] Apache Commons IO 2.8.0

2020-09-10 Thread Gary Gregory
Commons IO is a package of Java utility classes like java.io.
Classes in this package are considered to be so standard and of such high
reuse as to justify existence in java.io.

The Apache Commons IO library contains utility classes, stream
implementations, file filters,
file comparators, endian transformation classes, and much more.

==
Apache Commons IO Version 2.8.0
==

Java 8 required.

Changes in this version include:

New features:

o Add org.apache.commons.io.input.CircularInputStream. Thanks to Gary Gregory.
o Add org.apache.commons.io.file.PathUtils.cleanDirectory(Path,
FileVisitOption...). Thanks to Gary Gregory.
o Add org.apache.commons.io.file.PathUtils.deleteDirectory(Path,
FileVisitOption...). Thanks to Gary Gregory.
o Add NullAppendable. Thanks to Gary Gregory.
o Add PathUtils.getAclEntryList(Path). Thanks to Gary Gregory.
o Null-guard IOUtils.close(Closeable, IOConsumer). Thanks to Gary Gregory.
o Add ReversedLinesFileReader.readLines(int). Thanks to Gary Gregory.
o Add ReversedLinesFileReader.toString(int). Thanks to Gary Gregory.
o IO-684:  Add PathUtils.delete(Path, DeleteOption...).
Add PathUtils.deleteDirectory(Path, DeleteOption...).
Add PathUtils.deleteFile(Path, DeleteOption...).
Add PathUtils.setReadOnly(Path, boolean, LinkOption...).
Add CleaningPathVisitor.CleaningPathVisitor(PathCounters,
DeleteOption[], String...).
Add DeletingPathVisitor.DeletingPathVisitor(PathCounters,
DeleteOption[], String...). Thanks to Gary Gregory, Robin Jansohn.
o Add RandomAccessFileInputStream. Thanks to Gary Gregory.
o IO-681:  IOUtils.close(Closeable) should allow a list of closeables.
o Add IOUtils.consume(InputStream). Thanks to Gary Gregory.
o IO-676:  Add isFileNewer() and isFileOlder() methods that support
the Java 8 Date/Time API. #124. Thanks to Isira Seneviratne, Gary
Gregory.
o Add a MarkShieldInputStream #119. Thanks to Adam Retter, Gary Gregory.
o Deprecate IOUtils.LINE_SEPARATOR in favor of Java 7's
System.lineSeparator(). Thanks to Gary Gregory.

Fixed Bugs:

o CharSequenceReader.skip should return 0 instead of EOF on stream end
#123. Thanks to Rob Spoor, Jochen Wiedmann.
o Implement CharSequenceReader.ready() #122. Thanks to Rob Spoor.
o IO-669:  Fix code smells; fix typos #115. Thanks to XenoAmess, Gary Gregory.
o Add caching for required charsets #120. Thanks to Jerome Wolff, Gary Gregory.
o IO-673:  Make some simplifications #121. Thanks to Jerome Wolff.
o IO-674:  InfiniteCircularInputStream is not infinite if its input
buffer contains -1. Thanks to Gary Gregory.
o IO-675:  InfiniteCircularInputStream throws a divide-by-zero
exception when reading if its input buffer is size 0. Thanks to Gary
Gregory.
o IO-677:  FileSystem.getCurrent() does not return the correct enum.
Thanks to Gary Gregory.
o IO-679:  input.AbstractCharacterFilterReader passes count of chars
read #132. Thanks to proneel.
o IO-683:  CircularBufferInputStream.read() fails to convert byte to
unsigned int
o Fix SpotBugs issues in org.apache.commons.io.FileUtils. Thanks to
Gary Gregory.
o IO-672:  Copying a File sets last modified date to 01 January 1970.
o IO-676:  Prevent NullPointerException in ReversedLinesFileReader
constructors #117. Thanks to Michael Ernst, Gary Gregory.

Changes:

o Replace FindBugs with SpotBugs. Thanks to Gary Gregory.
o maven-checkstyle-plugin 3.1.0 -> 3.1.1. Thanks to Gary Gregory.
o Update tests from org.apache.commons:commons-lang3 3.10 to 3.11.
Thanks to Gary Gregory.
o Update commons-parent from 50 to 51 #129. Thanks to Gary Gregory.
o Update actions/checkout from v1 to v2.3.1 #126. Thanks to Gary Gregory.
o Update junit-pioneer from 0.6.0 to 0.8.0, #127, #135. Thanks to Gary Gregory.
o Update mockito-core from 3.3.3 to 3.5.9 #128, #133, #145, #149,
#151. Thanks to Gary Gregory.
o Update spotbugs from 4.0.6 to 4.1.1 #134. Thanks to Dependabot.
o Update junit-pioneer from 0.8.0 to 0.9.0 #138. Thanks to Dependabot.
o Update actions/checkout from v2.3.1 to v2.3.2 #140. Thanks to Dependabot.
o Update actions/setup-java from v1.4.0 to v1.4.2 #141, #148. Thanks
to Dependabot.

Compatibility with 2.7:

Binary compatible: Yes.
Source compatible: Yes.
Semantic compatible: Yes.

Commons IO 2.7 requires Java 8.
Commons IO 2.6 requires Java 7.
Commons IO 2.5 requires Java 6.
Commons IO 2.4 requires Java 6.
Commons IO 2.3 requires Java 6.
Commons IO 2.2 requires Java 5.
Commons IO 1.4 requires Java 1.3.

Historical list of changes:
https://commons.apache.org/proper/commons-io/changes-report.html

For complete information on Apache Commons IO, including instructions
on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons
IO website:

https://commons.apache.org/proper/commons-io/

Download page: https://commons.apache.org/proper/commons-io/download_io.cgi

Have 

[ANNOUNCEMENT] Apache Commons Pool 2.8.1

2020-07-31 Thread Gary Gregory
The Apache Commons Pool team is pleased to announce the release of Apache
Commons Pool 2.8.1.

Apache Commons Pool provides an object-pooling API and a number of object
pool implementations.
Version 2 contains a completely re-written pooling implementation compared
to the 1.x series.
In addition to performance and scalability improvements, version 2 includes
robust instance
tracking and pool monitoring. Version 2 requires JDK level 1.6 or above.

No client code changes are required to migrate from versions 2.0-2.3 to
version 2.4.3.
Users of version 1.x should consult the migration guide on the Commons Pool
web site.

NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean,
GenericKeyedObjectPoolMXBean
  and GenericKeyedObjectPoolMXBean) exist only to define the attributes
and methods
  that will be made available via JMX. They must not be implemented by
clients as
  they are subject to change between major, minor and patch version
releases of
  Commons Pool. Clients that implement any of these interfaces may not,
therefore,
  be able to upgrade to a new minor or patch release without requiring
code
  changes.

This is a maintenance release (Java 8).

Changes in version 2.8.1 include:

New features:
o POOL-385:  Added Automatic-Module-Name to support JPMS #31. Thanks to
scholzi100.

Fixed Bugs:
o POOL-386:  Refactored EvictionTimer usage tracking to fix POOL-386 and
handle abandoned pools. #32. Thanks to Phil Steitz, Mark Thomas.
o[Javadoc] Add missing @throws comment in PoolUtils. #27.
Thanks to Prodigysov, Gary Gregory.

Changes:
o POOL-384:  Update optional library org.ow2.asm:asm-util from 7.2 to
8.0.1. Thanks to Gary Gregory.
oUpdate site reports from org.apache.bcel:bcel 6.4.1 to 6.5.0.
Thanks to Gary Gregory.
oUpdate site reports from maven-pmd-plugin 3.12.0 to 3.13.0.
Thanks to Gary Gregory.
oUpdate build from biz.aQute.bnd:biz.aQute.bndlib 5.1.0 ->
5.1.2. Thanks to Gary Gregory.
oUpdate actions/checkout from v1 to v2.3.1 #33. Thanks to
Dependabot.
oUpdate commons-parent from 50 to 51 #36. Thanks to Dependabot.
oUpdate Checkstyle plugin from 3.0.0 to 3.1.1. Thanks to Gary
Gregory.
oUpdate JApiCmp from 0.14.1 to 0.14.3. Thanks to Gary Gregory.
oUpdate animal-sniffer-maven-plugin from 1.16 to 1.19. Thanks
to Gary Gregory.

For complete information on Apache Commons Pool, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Pool
website:

https://commons.apache.org/proper/commons-pool/

Download page:
https://commons.apache.org/proper/commons-pool/download_pool.cgi

Gary Gregory,
on behalf on the Apache Commons Team


[ANNOUCEMENT] Apache Commons Text 1.9

2020-07-25 Thread Gary Gregory
The Apache Commons Team announces the release of Apache Commons Text 1.9.

This document contains the release notes for the 1.9 version of Apache
Commons Text.
Commons Text is a set of utility functions and reusable components for the
purpose of processing
and manipulating text that should be of use in a Java environment.

Apache Commons Text is a library focused on algorithms working on strings.

Release 1.9. Requires Java 8.

Changes in this version include:

New features:
o Add StringMatcher.size(). Thanks to Gary Gregory.
o Refactor TextStringBuilder.readFrom(Readable), extracting
readFrom(CharBuffer) and readFrom(Reader). Thanks to Gary Gregory.
o Add BiStringLookup and implementation BiFunctionStringLookup. Thanks to
Gary Gregory.
o Add
org.apache.commons.text.StringSubstitutor.StringSubstitutor(StringSubstitutor).
Thanks to Gary Gregory.
o Add
org.apache.commons.text.TextStringBuilder.TextStringBuilder(CharSequence).
Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.drainChar(int). Thanks to
Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.drainChars(int, int,
char[]. int). Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.isNotEmpty(). Thanks to
Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.isReallocated(). Thanks to
Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.readFrom(Reader, int).
Thanks to Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.set(String). Thanks to Gary
Gregory.
o Add org.apache.commons.text.TextStringBuilder.wrap(char[]). Thanks to
Gary Gregory.
o Add org.apache.commons.text.TextStringBuilder.wrap(char[], int). Thanks
to Gary Gregory.
o Add org.apache.commons.text.io.StringSubstitutorReader. Thanks to Gary
Gregory.
o Add
org.apache.commons.text.lookup.StringLookupFactory.functionStringLookup(Function). Thanks to Gary Gregory.
o Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence,
int). Thanks to Gary Gregory.
o Add org.apache.commons.text.matcher.StringMatcher.isMatch(CharSequence,
int, int, int). Thanks to Gary Gregory.
o Add
org.apache.commons.text.matcher.StringMatcherFactory.andMatcher(StringMatcher...).
Thanks to Gary Gregory.
o Add
org.apache.commons.text.matcher.StringMatcherFactory.stringMatcher(char...).
Thanks to Gary Gregory.

Fixed Bugs:
o TEXT-166:  Removed non-existing parameter from Javadocs and spelled out
parameters in throws. Thanks to Mikko Maunu.
o TEXT-149:  StringEscapeUtils.unescapeCsv doesn't remove quotes at begin
and end of string. Thanks to Yuji Konishi.
o TEXT-174:  ScriptStringLookup does not accept ":" #126. Thanks to
furkilic.
o TEXT-178:  StringSubstitutor incorrectly removes some escape characters.
Thanks to Gary Gregory.
o TEXT-181:  Fix Javadocs #135. Thanks to XenoAmess.
o TEXT-182:  Fix typos #137. Thanks to XenoAmess.
o TEXT-183:  Make ConstantStringLookup.constantCache final #136. Thanks to
XenoAmess.
o TEXT-184:  Simplify if in CaseUtils #134. Thanks to XenoAmess.

Changes:
o [javadoc] Fix compiler warnings in Java code example in Javadoc #124.
Thanks to Johan Hammar.
o TEXT-177:  Update from Apache Commons Lang 3.9 to 3.11. Thanks to Gary
Gregory.
o [build] Skip clirr since we use JApiCmp. Thanks to Gary Gregory.
o [test] junit-jupiter 5.5.1 -> 5.5.2. Thanks to Gary Gregory.
o [test] org.assertj:assertj-core 3.13.2 -> 3.16.1. Thanks to Gary Gregory.
o [build] com.puppycrawl.tools:checkstyle 8.23 -> 8.34. Thanks to Gary
Gregory.
o [build] Update JUnit from 5.5.2 to 5.6.2. Thanks to Gary Gregory.
o [build] commons.jacoco.version 0.8.4 -> 0.8.5. Thanks to Gary Gregory.
o [build] commons.javadoc.version 3.1.1 -> 3.2.0. Thanks to Gary Gregory.
o [build] commons.japicmp.version 0.14.1 -> 0.14.3. Thanks to Gary Gregory.
o [build] checkstyle.plugin.version 3.1.0 -> 3.1.1. Thanks to Gary Gregory.
o [build] checkstyle.version 8.27 -> 8.33. Thanks to Gary Gregory.
o [build] org.apache.commons:commons-parent 48 -> 51. Thanks to Gary
Gregory.
o [build] maven-pmd-plugin 3.12.0 -> 3.13.0. Thanks to Gary Gregory.
o [build] org.mockito 3.3.3 -> 3.4.4. Thanks to Gary Gregory.


Historical list of changes:
https://commons.apache.org/proper/commons-text/changes-report.html

For complete information on Apache Commons Text, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Text
website:

https://commons.apache.org/proper/commons-text

Download page:
https://commons.apache.org/proper/commons-text/download_text.cgi

Have fun!
-Gary Gregory for the Apache Commons Team


[ANNOUCEMENT] Apache Commons Lang Version 3.11

2020-07-18 Thread Gary Gregory
The Apache Commons Lang team has released version 3.11.

This document contains the release notes for the 3.11 version of Apache
Commons Lang.
Commons Lang is a set of utility functions and reusable components that
should be of use in any
Java environment.

Lang 3.9 and onwards now targets Java 8, making use of features that
arrived with Java 8.

For the advice on upgrading from 2.x to 3.x, see the following page:

https://commons.apache.org/lang/article3_0.html

Apache Commons Lang, a package of Java utility classes for the
classes that are in java.lang's hierarchy, or are considered to be so
standard as to justify existence in java.lang.

New features and bug fixes.

Changes in this version include:

New features:
oAdd ArrayUtils.isSameLength() to compare more array types
#430. Thanks to XenoAmess, Gary Gregory.
oAdded the Locks class as a convenient possibility to deal with
locked objects.
o LANG-1568: Add to Functions: FailableBooleanSupplier,
FailableIntSupplier, FailableLongSupplier, FailableDoubleSupplier, and so
on.
o LANG-1569: Add ArrayUtils.get(T[], index, T) to provide an out-of-bounds
default value.
o LANG-1570: Add JavaVersion enum constants for Java 14 and 15. #553.
Thanks to Edgar Asatryan.
oAdd JavaVersion enum constants for Java 16. Thanks to Gary
Gregory.
o LANG-1556: Use Java 8 lambdas and Map operations. Thanks to XenoAmess.
o LANG-1565: Change removeLastFieldSeparator to use endsWith #550. Thanks
to XenoAmess.
o LANG-1557: Change a Pattern to a static final field, for not letting it
compile each time the function invoked. #542. Thanks to XenoAmess, Gary
Gregory.
oAdd ImmutablePair factory methods left() and right().
oAdd ObjectUtils.toString(Object, Supplier).
oAdd
org.apache.commons.lang3.StringUtils.substringAfter(String, int).
oAdd
org.apache.commons.lang3.StringUtils.substringAfterLast(String, int).

Fixed Bugs:
oFix Javadoc for StringUtils.appendIfMissingIgnoreCase() #507.
Thanks to contextshuffling.
o LANG-1560: Refine Javadoc #545. Thanks to XenoAmess.
o LANG-1554: Fix typos #539. Thanks to XenoAmess.
o LANG-1555: Ignored exception `ignored`, should not be called so #540.
Thanks to XenoAmess.
o LANG-1528: StringUtils.replaceEachRepeatedly gives IllegalStateException
#505. Thanks to Edwin Delgado H.
o LANG-1543: [JSON string for maps] ToStringBuilder.reflectionToString
doesnt render nested maps correctly. Thanks to Swaraj Pal, Wander Costa,
Gary Gregory.
oCorrect Javadocs of methods that use Validate.notNull() and
replace some uses of Validate.isTrue() with Validate.notNull(). #525.
Thanks to Isira Seneviratne.
o LANG-1539: Add allNull() and anyNull() methods to ObjectUtils. #522.
Thanks to Isira Seneviratne.

Changes:
oRefine test output for FastDateParserTest Thanks to Jin Xu.
o LANG-1549: CharSequenceUtils.lastIndexOf : remake it Thanks to Jin Xu.
oremove encoding and docEncoding and use inherited values from
commons-parent Thanks to XenoAmess.
oSimplify null checks in Pair.hashCode() using
Objects.hashCode(). #517. Thanks to Isira Seneviratne, Bruno P. Kinoshita.
oSimplify null checks in Triple.hashCode() using
Objects.hashCode(). #516. Thanks to Isira Seneviratne, Bruno P. Kinoshita.
oSimplify some if statements in StringUtils. #521. Thanks to
Isira Seneviratne, Bruno P. Kinoshita.
o LANG-1537: Simplify a null check in the private replaceEach() method of
StringUtils. #514. Thanks to Isira Seneviratne, Bruno P. Kinoshita.
o LANG-1534: Replace some usages of the ternary operator with calls to
Math.max() and Math.min() #512. Thanks to Isira Seneviratne, Bruno P.
Kinoshita.
o(Javadoc) Fix return tag for throwableOf*() methods #518.
Thanks to Arend v. Reinersdorff, Bruno P. Kinoshita.
o LANG-1545: CharSequenceUtils.regionMatches is wrong dealing with
Georgian. Thanks to XenoAmess, Gary Gregory.
o LANG-1550: Optimize ArrayUtils::isArrayIndexValid method. #551. Thanks to
Edgar Asatryan.
o LANG-1561: Use List.sort instead of Collection.sort #546. Thanks to
XenoAmess.
o LANG-1563: Use StandardCharsets.UTF_8 #548. Thanks to XenoAmess.
o LANG-1564: Use Collections.singletonList insteadof Arrays.asList when
there be only one element. #549. Thanks to XenoAmess.
o LANG-1553: Change array style from `int a[]` to `int[] a` #537. Thanks to
XenoAmess.
o LANG-1552: Change from addAll to constructors for some List #536. Thanks
to XenoAmess.
o LANG-1558: Simplify if as some conditions are covered by others #543.
Thanks to XenoAmess.
o LANG-1567: Fixed Javadocs for setTestRecursive() #556. Thanks to Miguel
Muñoz, Bruno P. Kinoshita, Gary Gregory.
o LANG-1542: ToStringBuilder.reflectionToString - Wrong JSON format when
object has a List of Enum. Thanks to Tr?n Ng?c Khoa, Gary Gregory.
oMake
org.apache.commons.lang3.CharSequenceUtils.toCharArray(CharSequence) public.
o

[ANNOUNCEMENT] Apache Commons BCEL 6.5.0

2020-06-11 Thread Gary Gregory
The Apache Commons BCEL team is pleased to announce the release of
Apache Commons BCEL 6.5.0!

The Byte Code Engineering Library (BCEL) is intended to give users a
convenient
way to analyze, create, and manipulate compiled .class files. Classes are
represented by objects containing all the symbolic information of the given
class: methods, fields and byte code instructions.

Minor feature and bug fix release.

FIXED BUGS:
===

o BCEL-329: MethodGen duplicates some attributes. Thanks to Gary Gregory,
Mark Roberts.

CHANGES:


o BCEL-330: Remove unnecessary references to Constants. Thanks to Mark
Roberts.
o BCEL-336: MethodGen throws NullPointerException upon Invalid Class File
Missing Constructor Body. Thanks to Tomo Suzuki, Gary Gregory.
o   Improve documentation of Pass3bVerifier (#37). Thanks to
Michael Ernst.
o   Replaced deprecated constants in examples (#38). Thanks to
Arthur Kupriyanov.
o   Update tests from JNA 5.4.0 to 5.5.0. Thanks to Gary Gregory.
o   Update tests JUnit from 4.12 to 4.13. Thanks to Gary Gregory.
o   Update tests from Apache Commons Lang 3.9 to 3.10. Thanks to
Gary Gregory.
o   Update build maven-pmd-plugin 3.12.0 -> 3.13.0. Thanks to Gary
Gregory.
o   Update tests maven-surefire-plugin 3.0.0-M3 -> 3.0.0-M4. Thanks
to Gary Gregory.
o   Update build japicmp-maven-plugin 0.14.1 -> 0.14.3. Thanks to
Gary Gregory.
o   Update build jacoco-maven-plugin 0.8.4 -> 0.8.5. Thanks to Gary
Gregory.
o   Update tests from commons-io:commons-io 2.6 to 2.7. Thanks to
Gary Gregory.
o   Add support for invokestatic of an InterfaceMethodref #39.
Thanks to Mark Roberts.
o   Add attribute name(s) to Code.toString() #40. Thanks to Mark
Roberts.
o BCEL-338: org.apache.bcel.generic.InstructionFactory.createInvoke()
populates its internal ConstantPoolGen on bad input, then throws exception.
Thanks to Gary Gregory.
o BCEL-339: Throw IllegalArgumentException, IllegalStateException,
UnsupportedOperationException instead of RuntimeException. Thanks to Gary
Gregory.
o   Make some annotation methods public (#45). Thanks to Mark
Roberts.
o   Fix ConcurrentModificationException in the
maven-bundle-plugin:4.2.1:manifest on Java 15-ea. Thanks to Gary Gregory.


Historical list of changes:
https://commons.apache.org/proper/commons-bcel/changes-report.html

For complete information on Apache Commons BCEL, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons BCEL
website:

https://commons.apache.org/proper/commons-bcel

Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi

Have fun!
-Apache Commons Team


[ANNOUNCEMENT] Apache Commons Lang 3.10

2020-03-29 Thread Gary Gregory
The Apache Commons Team is please to announce the release of Apache Commons
Lang 3.10.

Commons Lang is a set of utility functions and reusable components that
should be of use in any  Java environment.

Lang 3.9 and onwards now targets Java 8, making use of features that
arrived with Java 8.

For the advice on upgrading from 2.x to 3.x, see the following page:

https://commons.apache.org/lang/article3_0.html

Apache Commons Lang, a package of Java utility classes for the
classes that are in java.lang's hierarchy, or are considered to be so
standard as to justify existence in java.lang.

New features and bug fixes. Requires Java 8, supports Java 9, 10, 11.

Changes in this version include:

New features:
o LANG-1457: Add ExceptionUtils.throwableOfType(Throwable, Class) and
friends.
o LANG-1458: Add EMPTY_ARRAY constants to classes in
org.apache.commons.lang3.tuple.
o LANG-1461: Add null-safe StringUtils APIs to wrap
String#getBytes([Charset|String]).
o LANG-1467: Add zero arg constructor for
org.apache.commons.lang3.NotImplementedException.
o LANG-1470: Add ArrayUtils.addFirst() methods.
o LANG-1479: Add Range.fit(T) to fit a value into a range.
o LANG-1477: Added Functions.as*, and tests thereof, as suggested by Peter
Verhas
o LANG-1485: Add getters for lhs and rhs objects in DiffResult #451. Thanks
to nicolasbd.
o LANG-1486: Generify builder classes Diffable, DiffBuilder, and DiffResult
#452. Thanks to Gary Gregory.
o LANG-1487: Add ClassLoaderUtils with toString() implementations #453.
Thanks to Gary Gregory.
o LANG-1489: Add null-safe APIs as StringUtils.toRootLowerCase(String) and
StringUtils.toRootUpperCase(String) #456. Thanks to Gary Gregory.
o LANG-1494: Add org.apache.commons.lang3.time.Calendars. Thanks to Gary
Gregory.
o LANG-1495: Add EnumUtils getEnum() methods with default values #475.
Thanks to Cheong Voon Leong.
o LANG-1177: Added indexesOf methods and simplified removeAllOccurences
#471. Thanks to Liel Fridman.
o LANG-1498: Add support of lambda value evaluation for defaulting methods
#416. Thanks to Lysergid, Gary Gregory.
o LANG-1503: Add factory methods to Pair classes with Map.Entry input.
#454. Thanks to XenoAmess, Gary Gregory.
o LANG-1505: Add StopWatch convenience APIs to format times and create a
simple instance. Thanks to Gary Gregory.
o LANG-1506: Allow a StopWatch to carry an optional message. Thanks to Gary
Gregory.
o LANG-1507: Add ComparableUtils #398. Thanks to Sam Kruglov, Mark Dacek,
Marc Magon, Pascal Schumacher, Rob Tompkins, Bruno P. Kinoshita, Amey
Jadiye, Gary Gregory.
o LANG-1508: Add org.apache.commons.lang3.SystemUtils.getUserName(). Thanks
to Gary Gregory.
o LANG-1509: Add ObjectToStringComparator. #483. Thanks to Gary Gregory.
o LANG-1510: Add org.apache.commons.lang3.arch.Processor.Arch.getLabel().
Thanks to Gary Gregory.
o LANG-1512: Add IS_JAVA_14 and IS_JAVA_15 to
org.apache.commons.lang3.SystemUtils. Thanks to Gary Gregory.
o LANG-1513: ObjectUtils: Get first non-null supplier value. Thanks to
Bernhard Bonigl, Gary Gregory.
oAdded the Streams class, and Functions.stream() as an accessor
thereof.

Fixed Bugs:
o LANG-1514: Make test more stable by wrapping assertions in hashset.
Thanks to contextshuffling.
o LANG-1450: Generate Javadoc jar on build.
o LANG-1460: Trivial: year of release for 3.9 says 2018, should be 2019
Thanks to Larry West.
o LANG-1476: Use synchronize on a set created with
Collections.synchronizedSet before iterating Thanks to emopers.
o LANG-1475: StringUtils.unwrap incorrect throw
StringIndexOutOfBoundsException. Thanks to stzx.
o LANG-1406: StringIndexOutOfBoundsException in
StringUtils.replaceIgnoreCase #423. Thanks to geratorres.
o LANG-1453: StringUtils.removeIgnoreCase("?a", "a") throws
IndexOutOfBoundsException #423. Thanks to geratorres.
o LANG-1426: Corrected usage examples in Javadocs #458. Thanks to Brower,
Mikko Maunu, Suraj Gautam.
o LANG-1463: StringUtils abbreviate returns String of length greater than
maxWidth #477. Thanks to bbeckercscc, Gary Gregory.
o LANG-1500: Test may fail due to a different order of fields returned by
reflection api #480. Thanks to contextshuffling.
o LANG-1501: Sort fields in ReflectionToStringBuilder for deterministic
order #481. Thanks to contextshuffling.
o LANG-1433: MethodUtils will throw a NPE if invokeMethod() is called for a
var-args method #407. Thanks to Christian Franzen.
o LANG-1518: MethodUtils.getAnnotation() with searchSupers = true does not
work if super is generic #494. Thanks to Michele Preti, Bruno P. Kinoshita,
Gary Gregory.

Changes:
o LANG-1437: Remove redundant if statements in join methods #411. Thanks to
Andrei Troie.
ocommons.japicmp.version 0.13.1 -> 0.14.1.
ojunit-jupiter 5.5.0 -> 5.5.1.
ojunit-jupiter 5.5.1 -> 5.5.2.
oImprove Javadoc based on the discussion of the GitHub PR #459.
Thanks to Jonathan Leitschuh, Bruno P. Kinoshita, Rob Tompkins, Gary
Gregory.
o

[ANNOUNCEMENT] Apache Commons CSV 1.8

2020-02-07 Thread Gary Gregory
This document contains the release notes for the 1.8 version of Apache
Commons CSV.
Commons CSV reads and writes files in variations of the Comma Separated
Value (CSV) format.

Commons CSV requires at least Java 8.

This release fixes serialization compatibility of CSVRecord with versions
1.0 to 1.6. New fields added since
1.7 are not serialized. Support for Serializable is scheduled to be removed
in version 2.0.

Changes in this version include:
NEW FEATURES
==

o CSV-255:  Add CSVRecord.isSet(int) method #52. Thanks to 0x100.

FIXED BUGS


o CSV-135:  Char escape doesn't work properly with quoting. Thanks to
Mateusz Zakarczemny.
o CSV-244:  Test case failures following CSVFormat#equals() update.
o CSV-243:  CSVFormat withTrim() and withIgnoreSurroundingSpaces() need
better docs.
o CSV-242:  CSVFormat equals() and hashCode() don't use all fields.
o CSV-241:  CSVFormat#validate() does not account for
allowDuplicateHeaderNames #43. Thanks to LuckyIlam, Gary Gregory.
o CSV-245:  Post 1.7 release fixes. Thanks to Alex Herbert.
o CSV-252:  Upgrade test framework to JUnit 5 Jupiter #49, #50. Thanks to
Alex Herbert.
o CSV-247:  A single empty header is allowed when not allowing empty column
headers. #47. Thanks to Alex Herbert, Gary Gregory.
o CSV-248:  CSVRecord is not Serializable. Thanks to Alex Herbert.
o   Use test scope for supercsv #48. Thanks to Alex Herbert.

CHANGES
=

o   Update tests from H2 1.4.199 to 1.4.200. Thanks to Gary Gregory.
o   Update tests from Hamcrest 2.1 to 2.2. Thanks to Gary Gregory.
o   Update tests from Mockito 3.1.0 to 3.2.4. Thanks to Gary
Gregory.
o   Fix typos in site and test #53. Thanks to Chen.
o   Fix typo performance test #55. Thanks to Chen.


Historical list of changes:
https://commons.apache.org/proper/commons-csv/changes-report.html

For complete information on Apache Commons CSV, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons CSV
website:

https://commons.apache.org/proper/commons-csv/

Download page:
https://commons.apache.org/proper/commons-csv/download_csv.cgi

Have fun!
-Apache Commons CSV team


[ANNOUNCEMENT] Apache Apache Commons Codec 1.14

2020-01-06 Thread Gary Gregory
The Apache Commons Codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal.  In addition to these
widely used encoders and decoders, the codec package also maintains a
collection of phonetic encoding utilities.

Feature and fix release.

Changes in this version include:

New features:
o CODEC-264:  Add MurmurHash3.hash128x64 methods to fix sign extension
error during seeding in hash128 methods. Thanks to Claude Warren.
o CODEC-267:  Add MurmurHash3.hash32x86 methods and IncrementalHash32x86 to
fix sign extension error in hash32 methods. Thanks to Claude Warren.
o CODEC-272:  Add RandomAccessFile digest methods #31. Thanks to Behrang,
Alex Herbert, Gary Gregory.
o CODEC-273:  Add Path APIs to org.apache.commons.codec.digest.DigestUtils
similar to File APIs. Thanks to Gary Gregory.
o CODEC-274:  Add SHA-512/224 and SHA-512/256 to DigestUtils for Java 9 and
up. Thanks to Gary Gregory.
o CODEC-275:  Add missing note in javadoc when sign extension error is
present #34. Thanks to Claude Warren.

Fixed Bugs:
o CODEC-261:  Hex: Allow encoding read-only ByteBuffer.
o CODEC-259:  Hex: Only use an available ByteBuffer backing array if the
length equals the remaining byte count.
o CODEC-265:  BaseNCodec to expand buffer using overflow conscious code.
o CODEC-270:  Base32/64: Fixed decoding check that all the final trailing
bits to discard are zero.
o CODEC-269:  Allow repeat calls to MurmurHash3.IncrementalHash32.end() to
generate the same value.
o CODEC-276:  Reliance on default encoding in MurmurHash2 and MurmurHash3.
Thanks to Gary Gregory.

Changes:
o CODEC-268:  MurmurHash3: Deprecate hash64 methods and hash methods
accepting a String that use the default encoding.
o CODEC-277:  Don't reload standard Charsets in
org.apache.commons.codec.Charsets. Thanks to Gary Gregory.
o CODEC-278:  Deprecate Charset constants in
org.apache.commons.codec.Charsets in favor of
java.nio.charset.StandardCharsets. Thanks to Gary Gregory.


For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons
Codec website:

https://commons.apache.org/proper/commons-codec/

Download page:
https://commons.apache.org/proper/commons-codec/download_codec.cgi

Gary Gregory
On behalf of the Apache Commons Team


[ANNOUNCEMENT] Apache Commons VFS 2.5.0

2019-12-29 Thread Gary Gregory
The Apache Commons VFS team is pleased to announce the release of Apache
Commons VFS 2.5.0.

Apache Commons VFS is a Virtual File System library.

New features and bug fix release.

Changes in this version include:

New features:
o VFS-734:  Add functional interface
org.apache.commons.vfs2.function.VfsConsumer. Thanks to Gary Gregory.
o VFS-735:  Add org.apache.commons.vfs2.FileSystemManager.close() via
AutoCloseable. Thanks to Gary Gregory.
o VFS-736:  Add org.apache.commons.vfs2.VFS.reset(). Thanks to Gary Gregory.
o VFS-742:  Add org.apache.commons.vfs2.FileContent.isEmpty(). Thanks to
Gary Gregory.
o VFS-743:  Add
org.apache.commons.vfs2.provider.compressed.CompressedFileFileObject.SIZE_UNDEFINED.
Thanks to Gary Gregory.
o VFS-687:  Add http5 and http5s providers (#74) Thanks to Woonsan Ko, Gary
Gregory.
o VFS-686:  Add webdav4 provider based on the latest Jackrabbit 2.x #52.
Thanks to Woonsan Ko, Gary Gregory.
o VFS-738:  Deprecate org.apache.commons.vfs2.FileChangeEvent.getFile() in
favor of getFileObject(). Thanks to Gary Gregory.

Fixed Bugs:
o VFS-741:  FileObject#getChildren allows listing of files with known
scheme prefix (generalizes VFS-398).
o VFS-726:  getInputStream(int bufferSize) on SftpFileObject effectively
ignores buffer size. Thanks to Cornelius Höfig, Gary Gregory.
o VFS-704:  Some providers wrap their input/output streams twice in a
BufferedInputStream. Thanks to Boris Petrov, Gary Gregory.
o VFS-727:  Prevented creation of singleton file system manager from
providers. Thanks to Michiel Hendriks, Gary Gregory.
o VFS-733:  Parent layer of ZipFileSystem set to null through
OnCallRefreshFileObject and DecoratedFileObject.refresh(). Thanks to Falco,
Gary Gregory, Bruno P. Kinoshita.
o VFS-739:  Changes to parseUri breaks backward compatibility by throwing
NullPointerException in some cases. Thanks to xia0c, Gary Gregory.
o VFS-744:  org.apache.commons.vfs2.FileContent.getByteArray() can throw
NegativeArraySizeException for BZip2 files. Thanks to Gary Gregory.
o VFS-590:  SFTP moveTo operation might fail on permission checks even if
the operation itself might succeed. #75. Thanks to L, Alex Pearce, Gary
Gregory.
o VFS-617:  SFTP isReadable fails if unable to determine group identity.
#75. Thanks to Tim Nickels, Joshua Woods, David Johansson, Bernd Eckenfels,
Len, Nim Lhûg, Vineet Tyagi, Gopal Warawate, Alex Pearce, Gary Gregory.
o VFS-444:  ResourceFileProvider "res://" failed to obtain FileObject from
resolved FileName. Thanks to Walter Eaves, Xavier Dury, Michiel Hendriks,
Gary Gregory.

Changes:
o VFS-737:  Update Hadoop from 3.2.0 to 3.2.1. Thanks to Gary Gregory.
o VFS-728:  Update Apache Commons Compress from 1.18 to 1.19. Thanks to
Gary Gregory.
o VFS-729:  Upgrade Hadoop to 2.7.4 or later; will use current 3.2.0.
Thanks to Michiel Hendriks, Gary Gregory.
o VFS-731:  Update org.apache.httpcomponents:httpclient from 4.5.9 to
4.5.10. Thanks to Gary Gregory.
o VFS-732:  Update org.apache.httpcomponents:httpcore-nio from 4.4.11 to
4.4.12. Thanks to Gary Gregory.
o   Update tests using org.mockito:mockito-core from 3.0.0 to
3.1.0. Thanks to Gary Gregory.
o VFS-749:  Update Apache Commons Parent from 48 to 50. Thanks to Gary
Gregory.


Historical list of changes:
http://commons.apache.org/proper/commons-vfs/changes-report.html

For complete information on Apache Commons VFS, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons VFS
website:

http://commons.apache.org/proper/commons-vfs/

Download it from
http://commons.apache.org/proper/commons-vfs/download_vfs.cgi

Gary Gregory
ggreg...@apache.org


[ANNOUNCEMENT] Apache Commons Pool 2.8.0

2019-12-11 Thread Gary Gregory
The Apache Commons Pool team is pleased to announce the release of Apache
Commons Pool 2.8.0.

Apache Commons Pool provides an object-pooling API and a number of object
pool implementations.
Version 2 contains a completely re-written pooling implementation compared
to the 1.x series.
In addition to performance and scalability improvements, version 2 includes
robust instance
tracking and pool monitoring. Version 2 requires JDK level 1.6 or above.

No client code changes are required to migrate from versions 2.0-2.3 to
version 2.4.3.
Users of version 1.x should consult the migration guide on the Commons Pool
web site.

NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean,
GenericKeyedObjectPoolMXBean
  and GenericKeyedObjectPoolMXBean) exist only to define the attributes
and methods
  that will be made available via JMX. They must not be implemented by
clients as
  they are subject to change between major, minor and patch version
releases of
  Commons Pool. Clients that implement any of these interfaces may not,
therefore,
  be able to upgrade to a new minor or patch release without requiring
code
  changes.

This is a maintenance release (Java 8).

Changes in version 2.8.0 include:

New features:
o POOL-378:  Deprecate PoolUtils.prefill(ObjectPool, int) in favor of
ObjectPool.addObjects(int). Thanks to Gary Gregory.
o POOL-379:  Deprecate PoolUtils.prefill(KeyedObjectPool, K, int) in favor
of KeyedObjectPool.addObjects(K, int). Thanks to Gary Gregory.
o POOL-380:  Deprecate PoolUtils.prefill(KeyedObjectPool, Collection, int)
in favor of KeyedObjectPool.addObjects(Collection, int). Thanks to Gary
Gregory.

Fixed Bugs:
o POOL-374:
 org.apache.commons.pool2.impl.GenericKeyedObjectPool.returnObject(K, T)
should throw IllegalStateException instead of NullPointerException when a
key is not found in the pool map. Thanks to Gary Gregory, Phil Steitz.
o POOL-376:  Fixed regression from original fix for POOL-356 which could
result in NPE when destroying objects. Thanks to Sazzadul Hoque, Phil
Steitz.
o POOL-326:  Eliminated NPE / ISE exceptions due to keyed pools being
prematurely removed. Thanks to Phil Steitz.
oClose BufferedOutputStream in test before calling toString on
underlying BufferedOutputStream #26. Thanks to emopers.
o[Javadoc] Add missing @throws comment in
SoftReferenceObjectPool. #28. Thanks to Prodigysov.

Changes:
o POOL-375:  Update optional library cglib from 3.2.12 to 3.3.0. Thanks to
Gary Gregory.
oUpdate site build from Apache Commons BCEL 6.3.1 to 6.4.1.
Thanks to Gary Gregory.
o POOL-377:  Update optional library org.ow2.asm:asm-util from 7.1 to 7.2.
Thanks to Gary Gregory.

For complete information on Apache Commons Pool, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Pool
website:

https://commons.apache.org/proper/commons-pool/

Download page:
https://commons.apache.org/proper/commons-pool/download_pool.cgi

Have fun,
Gary


[ANNOUNCEMENT] Apache Commons BCEL Version 6.4.1

2019-10-03 Thread Gary Gregory
The Apache Commons BCEL team is pleased to announce the release of
Apache Commons BCEL 6.4.1!

The Byte Code Engineering Library (BCEL) is intended to give users a
convenient
way to analyze, create, and manipulate compiled .class files. Classes are
represented by objects containing all the symbolic information of the given
class: methods, fields and byte code instructions.

Bug fix release.

FIXED BUGS:
===

o BCEL-328: java.util.EmptyStackException at
org.apache.bcel.classfile.DescendingVisitor.visitModule
(DescendingVisitor.java:592). Thanks to Gary Gregory, Mark Roberts.

CHANGES:


o   Update build from Checkstyle Maven Plugin 3.0.0 to 3.1.0.
Thanks to Gary Gregory.


Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html

For complete information on Apache Commons BCEL, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons BCEL
website:

https://commons.apache.org/proper/commons-bcel

Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi

Have fun!
-Apache Commons BCEL team

Feedback


Open source works best when you give feedback:

https://commons.apache.org/bcel

Please direct all bug reports to JIRA:

https://issues.apache.org/jira/browse/BCEL

Or subscribe to the commons-user mailing list

The Apache Commons Team


[ANNOUNCEMENT] Apache Commons BCEL Version 6.4.0

2019-09-26 Thread Gary Gregory
The Apache Commons BCEL team is pleased to announce the release of
Apache Commons BCEL 6.4.0!

The Byte Code Engineering Library (BCEL) is intended to give users a
convenient
way to analyze, create, and manipulate compiled .class files. Classes are
represented by objects containing all the symbolic information of the given
class: methods, fields and byte code instructions.

Feature and bug fix release.

NEW FEATURES:
=

o BCEL-318: Add method org.apache.bcel.classfile.ConstantUtf8.clearCache().
Thanks to Gary Gregory.
o BCEL-320: Add LruCacheClassPathRepository that can scan many JAR files
without OutOfMemoryError. Thanks to Tomo Suzuki, Gary Gregory.
o BCEL-322: Add constants to org.apache.bcel.Const for Java 14. Thanks to
Gary Gregory.
o BCEL-321: Refactor subclasses of ClassPathRepository for differences in
underlying cache. Thanks to Tomo Suzuki.

FIXED BUGS:
===

o BCEL-316: org.apache.bcel.classfile.Attribute class and subclasses should
NOT log to the console by default. Thanks to Gary Gregory.
o BCEL-278: InvokeInstruction.toString(final ConstantPool cp) throws
NoSuchElementException #11. Thanks to Valery Barysoky.
o BCEL-270: Calling toString(ConstantPool) on InvokeInstruction throws
NullPointerException. Thanks to Alexandru-Constantin Bledea.
o BCEL-323: org.apache.bcel.util.BCELifier to set major and minor versions.
Thanks to Tomo Suzuki.
o BCEL-326: Add missing Java 9 and Java 11 class file attributes. #33
Thanks to Mark Roberts.
o BCEL-325: ClassDumper crashes on a module-info.class. #33 Thanks to Mark
Roberts.
o BCEL-327: Update signature scanning in Utility to support TypeParameters.
#32 Thanks to Mark Roberts.

CHANGES:


o BCEL-317: Pluggable cache for ConstantUtf8. Thanks to Tomo Suzuki, Gary
Gregory.
o BCEL-299: Fix example src/examples/ClassDumper.java
ClassDumper.processID(). Thanks to Gary Gregory, zhangminglei.
o   Update tests from JNA 4.5.0 to 5.3.1. Thanks to Gary Gregory.
o   Update tests from JNA 5.3.1. to 5.4.0. Thanks to Gary Gregory.


Historical list of changes:
https://commons.apache.org/proper/commons-bcelchanges-report.html

For complete information on Apache Commons BCEL, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons BCEL
website:

https://commons.apache.org/proper/commons-bcel

Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi

Have fun!
-Apache Commons BCEL team


[ANNOUCEMENT] Apache Commons Text Version 1.8

2019-09-04 Thread Gary Gregory
Apache Commons Text
Version 1.8
Release Notes


INTRODUCTION:

This document contains the release notes for the 1.8 version of Apache
Commons Text.
Commons Text is a set of utility functions and reusable components for the
purpose of processing
and manipulating text that should be of use in a Java environment.


Apache Commons Text is a library focused on algorithms working on strings.

Release 1.8

Changes in this version include:

- New Features
  o TEXT-169: Add helper factory method
org.apache.commons.text.StringSubstitutor.createInterpolator(). Thanks to
Gary Gregory.
  o TEXT-170: Add String lookup for host names and IP addresses
(DnsStringLookup). Thanks to Gary Gregory.

- Fixed Bugs
  o TEXT-167: commons-text web page missing "RELEASE-NOTES-1.7.txt". Thanks
to Larry West.
  o TEXT-168: (doc) Fixed wrong value for Jaro-Winkler example #117. Thanks
to luksan47.
  o TEXT-171: StringLookupFactory.addDefaultStringLookups(Map) does not
convert keys to lower case. Thanks to Gary Gregory.

- Changes
  o Expand Javadoc for StringSubstitutor and friends. Thanks to Gary
Gregory.
  o [site] checkstyle.version 8.21 -> 8.23. Thanks to Gary Gregory.


Historical list of changes:
https://commons.apache.org/proper/commons-textchanges-report.html

For complete information on Apache Commons Text, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Text
website:

https://commons.apache.org/proper/commons-text

Download it from
https://commons.apache.org/proper/commons-text/download_text.cgi

Gary Gregory,
On behalf of the Apache Commons community.


[ANNOUNCEMENT] Apache Commons VFS Project 2.4.1

2019-08-15 Thread Gary Gregory
The Apache Commons VFS Project team is pleased to announce the release of
Apache Commons VFS Project 2.4.1-SNAPSHOT.

Apache Commons VFS is a Virtual File System library.

New features and bug fix release.

Changes in this version include:

Fixed Bugs:
o VFS-725:  [Local]
org.apache.commons.vfs2.FileContent.getLastModifiedTime() is losing
milliseconds (always ends in 000). Thanks to Gary Gregory.
o VFS-724:  FileContent#getByteArray() throws IllegalArgumentException:
Buffer size <= 0 when file size is 0. Thanks to William R, Gary Gregory.
o   Javadoc fixes. Thanks to Gary Gregory.


Historical list of changes:
http://commons.apache.org/proper/commons-vfs/changes-report.html

For complete information on Apache Commons VFS Project, including
instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons VFS
Project website:

Visit http://commons.apache.org/proper/commons-vfs/

Download it from
http://commons.apache.org/proper/commons-vfs/download_vfs.cgi

Gary Gregory
On behalf of the Apache Commons Team


[ANNOUNCEMENT] Apache Apache Commons DBCP 2.7.0

2019-08-07 Thread Gary Gregory
The Apache Commons DBCP team is pleased to announce the release of Apache
Apache Commons DBCP 2.7.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

Changes in this version include:

New features:
o DBCP-539:  ManagedDataSource#close() should declare used exceptions.
Thanks to Jacques Le Roux.
o DBCP-547:  Add a ConnectionFactory class name setting for
BasicDataSource.createConnectionFactory() #33. Thanks to leechoongyon, Gary
Gregory.
oAdd missing Javadocs. Thanks to Gary Gregory.

Fixed Bugs:
o DBCP-538:  Wrong JMX base name derived in BasicDataSource#updateJmxName.
Thanks to Ragnar Haugan, Gary Gregory.
o DBCP-546:  Avoid NPE when calling DriverAdapterCPDS.toString(). Thanks to
Sergey Chupov.
o DBCP-550:  java.util.IllegalFormatException while building a message for
a SQLFeatureNotSupportedException in
Jdbc41Bridge.getObject(ResultSet,String,Class). Thanks to Gary Gregory.
oFix Javadoc link in README.md #21. Thanks to LichKing-lee.

Changes:
o DBCP-540:  Close ObjectOutputStream before calling toByteArray() on
underlying ByteArrayOutputStream #28. Thanks to emopers.
o DBCP-541:  Upgrade to JUnit Jupiter #19. Thanks to Allon Murienik.
o DBCP-542:  Fix tests on Java 11. Thanks to Zheng Feng, Gary Gregory.
o DBCP-543:  Update Apache Commons Pool from 2.6.1 to 2.6.2. Thanks to Gary
Gregory.
o DBCP-529:  Add 'jmxName' property to web configuration parameters
listing. Thanks to Yuri.
o DBCP-548:  Update Apache Commons Pool from 2.6.2 to 2.7.0. Thanks to Gary
Gregory.
o DBCP-549:  Make
org.apache.commons.dbcp2.AbandonedTrace.removeTrace(AbandonedTrace)
null-safe. Thanks to Gary Gregory.
o DBCP-551:  org.apache.commons.dbcp2.DelegatingStatement.close() should
try to close ALL of its result sets even when an exception occurs. Thanks
to Gary Gregory.
o DBCP-552:  org.apache.commons.dbcp2.DelegatingConnection.passivate()
should close ALL of its resources even when an exception occurs. Thanks to
Gary Gregory.
o DBCP-553:  org.apache.commons.dbcp2.PoolablePreparedStatement.passivate()
should close ALL of its resources even when an exception occurs. Thanks to
Gary Gregory.
o DBCP-554:  org.apache.commons.dbcp2.PoolableCallableStatement.passivate()
should close ALL of its resources even when an exception occurs. Thanks to
Gary Gregory.
oUpdate tests from org.mockito:mockito-core 2.28.2 to 3.0.0.
Thanks to Gary Gregory.
oUpdate tests from H2 1.4.198 to 1.4.199. Thanks to Gary
Gregory.
oUpdate tests from com.h2database:h2 1.4.197 to 1.4.199. Thanks
to Gary Gregory.
oUpdate tests from org.jboss.narayana.jta:narayana-jta
5.9.2.Final to 5.9.5.Final. Thanks to Gary Gregory.
oUpdate tests from org.jboss.logging:jboss-logging 3.3.2.Final
to 3.4.0.Final. Thanks to Gary Gregory.
oUpdate tests from org.mockito:mockito-core 2.24.0 to 2.28.2.
Thanks to Gary Gregory.
oUpdate tests from org.mockito:mockito-core 2.28.2 to 3.0.0.
Thanks to Gary Gregory.


For complete information on Apache Commons DBCP, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons DBCP
website:

https://commons.apache.org/dbcp/

Download page: https://commons.apache.org/dbcp/download_dbcp.cgi

Gary Gregory
On behalf of the Apache Commons Team


[ANNOUCEMENT] Apache Commons Pool 2.7.0

2019-07-29 Thread Gary Gregory
The Apache Commons Pool team is pleased to announce the release of Apache
Commons Pool 2.7.0.

Apache Commons Pool provides an object-pooling API and a number of object
pool implementations.
Version 2 contains a completely re-written pooling implementation compared
to the 1.x series.
In addition to performance and scalability improvements, version 2 includes
robust instance
tracking and pool monitoring. Version 2 requires JDK level 1.6 or above.

No client code changes are required to migrate from versions 2.0-2.3 to
version 2.4.3.
Users of version 1.x should consult the migration guide on the Commons Pool
web site.

NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean,
GenericKeyedObjectPoolMXBean
  and GenericKeyedObjectPoolMXBean) exist only to define the attributes
and methods
  that will be made available via JMX. They must not be implemented by
clients as
  they are subject to change between major, minor and patch version
releases of
  Commons Pool. Clients that implement any of these interfaces may not,
therefore,
  be able to upgrade to a new minor or patch release without requiring
code
  changes.

This is a feature release (Java 8).

Changes in version 2.7.0 include:

New features:
o POOL-370:  Add org.apache.commons.pool2.PooledObject#getBorrowedCount().
Thanks to Mark Thomas, Gary Gregory.
o POOL-371:  Add
org.apache.commons.pool2.PooledObject#setRequireFullStackTrace(boolean).
Thanks to Matt Sicker, Gary Gregory.

Fixed Bugs:
o POOL-361:  Move validation for newly created objects into create(). Fixes
#23. Thanks to Pablo, Phil Steitz, Bruno P. Kinoshita.

Changes:
o POOL-364:  Update from Java 7 to Java 8. Thanks to Gary Gregory.
o POOL-365:  Update ASM from 7.0 to 7.1 Thanks to Gary Gregory.
o POOL-366:  Update optional library cglib from 3.2.10 to 3.2.12. Thanks to
Gary Gregory.
o POOL-367:  Fix typo in package private method name stopEvitor() ->
stopEvictor() #22. Thanks to Per Lundberg.

For complete information on Apache Commons Pool, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Pool
website:

https://commons.apache.org/proper/commons-pool/

Download page:
https://commons.apache.org/proper/commons-pool/download_pool.cgi

Gary Gregory
On behalf of the Apache Commons Team


[ANNOUNCEMENT] Apache Apache Commons Codec 1.13

2019-07-24 Thread Gary Gregory
The Apache Commons project is proud to announce Apache Apache Commons Codec
1.13.

The Apache Commons Codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal.  In addition to these
widely used encoders and decoders, the codec package also maintains a
collection of phonetic encoding utilities.

This is a feature and fix release.

Changes in this version include:

New features:
o CODEC-236:  MurmurHash2 for 32-bit or 64-bit value. Thanks to Viliam
Holub.
o CODEC-236:  MurmurHash3 for 32-bit or 128-bit value. Thanks to Austin
Appleby.

Fixed Bugs:
o CODEC-255:  ColognePhonetic handles x incorrectly Thanks to Holger Grote.
o CODEC-254:  ColognePhonetic does not treat the letter H correctly Thanks
to Holger Grote.
o CODEC-134:  Reject any decode request for a value that is impossible to
encode to for Base32/Base64 rather than blindly decoding.

Changes:
o CODEC-236:  Broken direct java.nio.ByteBuffer support in
org.apache.commons.codec.binary.Hex. Thanks to Tomas Shestakov, Gary
Gregory.

For complete information on Apache Commons Codec, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons
Codec website:

Visit https://commons.apache.org/proper/commons-codec/
Download from
https://commons.apache.org/proper/commons-codec/download_codec.cgi

Gary Gregory
On behalf of the Apache Commons Team


[ANNOUNCEMENT] Apache Commons VFS 2.4

2019-07-19 Thread Gary Gregory
The Apache Commons VFS Project team is pleased to announce the release of
Apache Commons VFS Project 2.4.

Apache Commons VFS is a Virtual File System library.

New features and bug fix release.

Changes in this version include:

New features:
o VFS-690:  Allow to set key exchange algorithm explicitly. GitHub #32.
o VFS-497:  Ported filters from Commons IO #9. Thanks to Michael Schnell.
o VFS-696:  More efficient comparison in FileExtensionSelector #44. Thanks
to Robert DeRose.
o VFS-660:  Expose workaround for connecting to FTP server from different
subnets in PASV mode #35. Thanks to Liu Yubao.
o VFS-699:  Add setting for FTP encoding auto-detection #58. Thanks to
Boris Petrov.
o VFS-706:  Add ability to specify buffer sizes #59. Thanks to Boris Petrov.
o VFS-609:  SFTP provider doesn't support a private key as byte array #60.
Thanks to stevezhuang, Rostislav, Gary Gregory.
o VFS-707:  Update Apache HttpClient from 4.5.7 to 4.5.8. Thanks to Gary
Gregory.
o VFS-712:  Add null-safe
org.apache.commons.vfs2.util.FileObjectUtils.exists(FileObject). Thanks to
Gary Gregory.
o VFS-713:  Add FileObjectUtils.readProperties(FileObject) method to read a
.properties file. Thanks to Gary Gregory.
o VFS-715:  Add org.apache.commons.vfs2.FileContent.getByteArray(). Thanks
to Gary Gregory.
o VFS-719:  Add methods to get the contents of file objects as strings.
Thanks to Gary Gregory.
o VFS-720:  Implement Closeable for RandomAccessContent #66. Thanks to
Boris Petrov.
o VFS-721:  Add support for symbolic links for the local file system and
add FileObject#isSymbolicLink(). Thanks to Gary Gregory.

Fixed Bugs:
o VFS-694:  Fix inability to start the DefaultFileMonitor after it has been
stopped. GitHub PR #55. Thanks to Boris Petrov.
o VFS-696:  SFTP HTTP and SOCKS proxy authentication. GitHub PR #49. Thanks
to rayzzed.
o VFS-707:  [SFTP] SftpFileSystem.executeCommand(String, StringBuilder) can
leak ChannelExec objects. Thanks to Gary Gregory.
o VFS-709:  [SFTP] SftpFileSystem.getGroupsIds() can initialize underlying
data more than once while multithreading. Thanks to Gary Gregory.
o VFS-710:  [SFTP] SftpFileSystem.getUid() can initialize underlying data
more than once while multithreading. Thanks to Gary Gregory.
o VFS-711:  [SFTP] SftpFileSystem can initialize underlying Session more
than once while multithreading. Thanks to Gary Gregory.
o VFS-662:  [SFTP] SftpFileSystem has Thread-safe issue about idleChannel
(#36). Thanks to qxo, Alexey Abashev, Gary Gregory.
o VFS-700:  Some tests fail on Java 11 and above. Thanks to Gary Gregory,
Matthias Krueger.
o VFS-716:  Fix AbstractFileName.getURI returning unencoded #-sign #64.
Thanks to Boris Petrov.
o VFS-698:  SFTP file attributes are fetched multiple times leading to very
slow directory listing; #65. Thanks to David Septimus, Bernd.
o VFS-717:  Update org.apache.httpcomponents:httpclient from 4.5.8 to
4.5.9. Thanks to Gary Gregory.
o VFS-718:  MonitorInputStream should not close the stream in "read" #67.
Thanks to Boris Petrov.

Changes:
o VFS-692:  Update Apache Commons Collections from 4.2 to 4.3. Thanks to
Gary Gregory.
o VFS-693:  Add support for customizing FTP transfer aborted status codes.
GitHub PR #51. Thanks to Boris Petrov, Gary Gregory.
o VFS-702:  Simplify adding files to DefaultFileMonitor #57. Thanks to
Boris Petrov.
o VFS-703:  Update Apache Commons Lang from 3.8.1 to 3.9. Thanks to Gary
Gregory.
o VFS-722:  Update Apache Commons Collections from 4.3 to 4.4. Thanks to
Gary Gregory.
o   Source incompatibility:
org.apache.commons.vfs2.FileFilter.accept(FileSelectInfo) now throws
checked exception FileSystemException.
o   Public API note: The overridden methods getURI() and
getFriendlyURI() in org.apache.commons.vfs2.provider.local.LocalFileName
where removed but are implemented in a superclass.
o   Public API note: The overridden method
org.apache.commons.vfs2.provider.sftp.SftpFileObject#refresh() was removed
but is implemented in a superclass.
o   Public API note: The overridden method
org.apache.commons.vfs2.provider.sftp.SftpFileProvider#init() was removed
but is implemented in a superclass.


Historical list of changes:
http://commons.apache.org/proper/commons-vfs/changes-report.html

For complete information on Apache Commons VFS Project, including
instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons VFS
Project website:

Visit http://commons.apache.org/proper/commons-vfs/

Download it from
http://commons.apache.org/proper/commons-vfs/download_vfs.cgi

Gary Gregory
On behalf of Apache Commons


[ANNOUNCEMENT] Apache Commons Text 1.7

2019-07-05 Thread Gary Gregory
The Apache Commons team has released Apache Commons Text 1.7.

This document contains the release notes for the 1.7 version of Apache
Commons Text.
Commons Text is a set of utility functions and reusable components for the
purpose of processing and manipulating text that should be of use in a Java
environment.

Apache Commons Text is a library focused on algorithms working on strings.

Changes in this version include:

New features:

o TEXT-148:  Add an enum to the lookup package that lists all StringLookups
o TEXT-127:  Add a toggle to throw an exception when a variable is unknown
in StringSubstitutor Thanks to Jean-Baptiste REICH, Sebb, Don Jeba, Gary
Gregory.
o TEXT-138:  TextStringBuilder append sub-sequence not consistent with
Appendable. Thanks to Neal Johnson, Don Jeba.
o TEXT-152:  Fix possible infinite loop in WordUtils.wrap for a regex
pattern that would trigger on a match of 0 length Thanks to @CAPS50.
o TEXT-155:  Add a generic IntersectionSimilarity measure

Fixed Bugs:

o TEXT-111:  WordUtils.wrap must calculate offset increment from wrapOn
pattern length Thanks to @CAPS50.
o TEXT-151:  Fix the JaroWinklerSimilarity to use StringUtils.equals to
test for CharSequence equality
o TEXT-165:  ResourceBundleStringLookup.lookup(String) throws
MissingResourceException instead of returning null.

Changes:

o TEXT-104:  Jaro Winkler Distance refers to similarity Thanks to Sascha
Szott.
o TEXT-153:  Make prefixSet in LookupTranslator a BitSet Thanks to
amirhadadi.
o TEXT-156:  Fix the RegexTokenizer to use a static Pattern
o TEXT-157:  Remove rounding from JaccardDistance and JaccardSimilarity
o TEXT-162:  Update Apache Commons Lang from 3.8.1 to 3.9.
oUpdate tests from org.assertj:assertj-core 3.12.1 to 3.12.2.
oUpdate site from com.puppycrawl.tools:checkstyle 8.18 to 8.21.

Historical list of changes:
https://commons.apache.org/proper/commons-text/changes-report.html

For complete information on Apache Commons Text, including instructions on
how to submit bug reports, patches, or suggestions for improvement, see the
Apache Apache Commons Text website:

https://commons.apache.org/proper/commons-text

Download it from
https://commons.apache.org/proper/commons-text/download_text.cgi

Gary Gregory
on behalf of Apache Commons


[ANNOUNCEMENT] Apache Commons Configuration Version 2.5

2019-05-28 Thread Gary Gregory
The Apache Commons team is pleased to announce the release of Apache
Commons Configuration Version 2.5.

The Commons Configuration software library provides a generic configuration
interface which enables an application to read configuration data from a
variety
of sources.

This is a minor release with new features and updated dependencies.

Changes in this version include:

Fixed Bugs:
o CONFIGURATION-731:  Allow user to specify the comments and separator
chars. Thanks to Shuai Zhang, Gary Gregory.

Changes:
o CONFIGURATION-738:  Update Jackson from 2.9.7 to 2.9.8. Thanks to Gary
Gregory.
o CONFIGURATION-739:  Update Apache Commons Codec from 1.11 to 1.12. Thanks
to Gary Gregory.
o CONFIGURATION-740:  Update Apache Commons VFS from 2.2 to 2.3. Thanks to
Gary Gregory.
o CONFIGURATION-741:  Update Spring from 4.3.19 to 4.3.22. Thanks to Gary
Gregory.
o CONFIGURATION-743:  Update optional library snakeyaml from 1.23 to 1.24.
Thanks to Gary Gregory.
o CONFIGURATION-747:  Update Apache Commons Lang from 3.8.1 to 3.9. Thanks
to Gary Gregory.
o CONFIGURATION-746:  Update Jackson from 2.9.8 to 2.9.9. Thanks to Gary
Gregory.
o CONFIGURATION-747:  Update Spring from 4.3.22 to 4.3.24. Thanks to Gary
Gregory.
o CONFIGURATION-745:  Add the special key "includeoptional" for properties
files. Thanks to Gary Gregory.

Historical list of changes:
http://commons.apache.org/proper/commons-configuration/changes-report.html

For complete information on Apache Commons Configuration, including
instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons
Configuration website:

http://commons.apache.org/proper/commons-configuration/

You can download source and binaries from our download page:

https://commons.apache.org/proper/commons-configuration/download_configuration.cgi

Alternatively, you can pull it from the central Maven repositories:


  org.apache.commons
  commons-configuration2
  2.5


Gary Gregory,
on behalf of the Apache Commons Team


[ANNOUCE] Apache Commons Pool 2.6.2

2019-04-15 Thread Gary Gregory
The Apache Commons Pool team is pleased to announce the release of Apache
Commons Pool 2.6.2.

Apache Commons Pool provides an object-pooling API and a number of object
pool implementations.
Version 2 contains a completely re-written pooling implementation compared
to the 1.x series.
In addition to performance and scalability improvements, version 2 includes
robust instance
tracking and pool monitoring. Version 2 requires JDK level 1.6 or above.

No client code changes are required to migrate from versions 2.0-2.3 to
version 2.4.3.
Users of version 1.x should consult the migration guide on the Commons Pool
web site.

NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean,
GenericKeyedObjectPoolMXBean
  and GenericKeyedObjectPoolMXBean) exist only to define the attributes
and methods
  that will be made available via JMX. They must not be implemented by
clients as
  they are subject to change between major, minor and patch version
releases of
  Commons Pool. Clients that implement any of these interfaces may not,
therefore,
  be able to upgrade to a new minor or patch release without requiring
code
  changes.

This is a maintenance release.

Changes in version 2.6.2 include:

Fixed Bugs:
o POOL-362:  Always null out
org.apache.commons.pool2.impl.BaseGenericObjectPool.evictionIterator to
match org.apache.commons.pool2.impl.BaseGenericObjectPool.evictor.
o POOL-363:  Evictor Thread prevents Spring Context shutdown in standalone
app. Thanks to Josh Landin.
o POOL-348:  The commons-pool-evictor-thread should run as a Deamon. Thanks
to Josh Landin.

For complete information on Apache Commons Pool, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Pool
website:

http://commons.apache.org/proper/commons-pool/

Download page:
http://commons.apache.org/proper/commons-pool/download_pool.cgi

Gary Gregory,
On behalf of the Apache Commons community


[ANNOUNCEMENT] Apache Commons BCEL 6.3.1

2019-03-26 Thread Gary Gregory
The Apache Commons BCEL team is pleased to announce the release of
Apache Commons BCEL 6.3.1!

The Byte Code Engineering Library (BCEL) is intended to give users a
convenient
way to analyze, create, and manipulate compiled .class files. Classes are
represented by objects containing all the symbolic information of the given
class: methods, fields and byte code instructions.

Bug fix release

FIXED BUGS:
===

o BCEL-267: Race conditions on static fields in BranchHandle and
InstructionHandle. Thanks to Stephan Herrmann, Sebb, Gary Gregory, Torsten
Curdt.
o BCEL-297: Possible NPE in override implementation of Object.equals (#20)
Thanks to Mark Roberts, mingleizhang.
o BCEL-315: NullPointerException at
org.apache.bcel.classfile.FieldOrMethod.dump(). Thanks to Gary Gregory.

CHANGES:


o BCEL-298: Add some files to .gitignore (#19) Thanks to mingleizhang.

Download it from
https://commons.apache.org/proper/commons-bcel/download_bcel.cgi

Have fun!
-Apache Commons BCEL team

Feedback


Open source works best when you give feedback:

http://commons.apache.org/bcel

Please direct all bug reports to JIRA:

https://issues.apache.org/jira/browse/BCEL

Or subscribe to the commons-user mailing list

Gary Gregory, on behalf of the Apache Commons Team.


[ANNOUNCE] Apache Commons VFS 2.3

2019-02-07 Thread Gary Gregory
The Apache Commons VFS Project team is pleased to announce the release of
Apache Commons VFS Project 2.3.

Apache Commons VFS is a Virtual File System library.

New features and bug fix release.

Changes in this version include:

New features:
o VFS-677:  [SFTP] Add support for append mode. Thanks to dingxbcn.
o VFS-673:  [SFTP] Support com.jcraft.jsch.ConfigRepository (~/.ssh/config)
with SftpFileSystemConfigBuilder and flag to load OpenSSHConfig. Thanks to
Oleksandr Lykhonosov.
o VFS-673:  DefaultFileSystemManager should implement AutoCloseable. Thanks
to Daniel Banks.
o VFS-637:  Zip files with legacy encoding and special characters let VFS
crash. Thanks to Gary Gregory.
o VFS-360:  Add HTTP provider based on HttpComponents HttpClient 4. Thanks
to Woonsan Ko.
o VFS-689:
org.apache.commons.vfs2.provider.http.HttpFileObject.getHeadMethod() does
not release connection when an exception is thrown. Thanks to Gary Gregory.

Fixed Bugs:
o VFS-645:  VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and
up.
o VFS-678:  Fix various LGTM.com code review warnings.
o VFS-652:  PatternFileSelector documentation to describe actual matching
against getPath().
o VFS-589:  SFTP moveTo operation hangs if the server does not support SSH
channelExec. Thanks to L, Gary Gregory.
o VFS-655:  OSGI MANIFEST.MF "Import-Package" should be
";resolution:=optional" for Maven "optional" dependencies. Thanks to Arnaud
MERGEY.
o VFS-657:  FileSelector implementations like FileDepthSelector should
throw Exception. Thanks to Elias Putz.
o VFS-614:  MonitorInputStream should not close the stream in read().
Thanks to Boris Petrov, Otto Fowler.
o VFS-667:
org.apache.commons.vfs2.provider.res.ResourceFileProvider.findFile(FileObject,
String, FileSystemOptions) should throw a
org.apache.commons.vfs2.FileSystemException instead of a NPE when the class
loader is null.
o VFS-669:
org.apache.commons.vfs2.util.CombinedResources.loadResources(String) should
not throw an NPE for the system class loader is null.
o VFS-675:  NullPointerException at AbstractFileObject.java:221.
o VFS-674:  Cannot close an FTP input stream without an exception. Thanks
to Boris Petrov, Gary Gregory.
o VFS-294:  NullPointerException in FtpFileObject.getChildFile(). Thanks to
Johannes Scharf.
o VFS-679:  NullPointerException in FtpFileObject.doGetLastModifiedTime().
Thanks to Boris Petrov, Gary Gregory.
o VFS-398:  FtpFileObject.getChildren() fails when a folder contains a file
with a colon in the name. Thanks to Otto Fowler.

Changes:
o VFS-650:  Update Apache Commons Compress from 1.15 to 1.16.1.
o VFS-646:  Update Apache Commons Compress from 1.14 to 1.15.
o VFS-653:  Replace use of deprecated APIs in HDFS provider.
o VFS-666:  Update Apache Commons Collections from 4.1 to 4.2.
o VFS-668:  Throw a NPE with a better message when a class loader is null.
o VFS-671:  Update Apache Commons Compress from 1.16.1 to 1.18.
o VFS-680:  Update from Java 7 to Java 8.
o VFS-681:  VFS.setManager should be synchronized; #43. Thanks to Robert
DeRose.
o VFS-682:  Throw a org.apache.commons.vfs2.FileSystemException instead of
a NullPointerException in
org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveName(FileName,
String, NameScope).
o VFS-688:  [SFTP] Update jsch from 0.1.54 to 0.1.55.


Historical list of changes:
http://commons.apache.org/proper/commons-vfs/changes-report.html

For complete information on Apache Commons VFS Project, including
instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons VFS
Project website:

http://commons.apache.org/proper/commons-vfs/

Download it from
https://commons.apache.org/proper/commons-vfs/download_vfs.cgi

Gary Gregory
On behalf of the Apache Commons Team


[ANNOUCEMENT] Apache Commons DBCP Version 2.5.0

2018-07-16 Thread Gary Gregory
The Apache Commons DBCP team is pleased to announce the release of Apache
Apache Commons DBCP 2.5.0-SNAPSHOT.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements and requires
Java 8 to support JDBC 4.2.

Changes in this version include:

New features:
o DBCP-506:  Support JDBC 4.2. Thanks to Gary Gregory.
o DBCP-479:  Support default schema in configuration. Thanks to Guillaume
Husta, Gary Gregory.

Fixed Bugs:
o DBCP-508:  Prepared statement keys should take a Connection's schema into
account. Thanks to Gary Gregory.
o DBCP-512:  Avoid exceptions when closing a connection in mutli-threaded
use case. Thanks to Gary Gregory.

Changes:
o DBCP-505:  Update Java requirement from version 7 to 8. Thanks to Gary
Gregory.
o DBCP-427:  Examines 'SQLException's thrown by underlying connections or
statements for fatal (disconnection) errors. Thanks to Vladimir Konkov,
Phil Steitz, Gary Gregory.
o DBCP-507:  Change default for fail-fast connections from false to true.
Thanks to Vladimir Konkov, Phil Steitz, Gary Gregory.
o DBCP-504:  Increase test coverage. Thanks to Bruno P. Kinoshita.
o DBCP-510:  Update Apache Commons Pool from 2.5.0 to 2.6.0. Thanks to Gary
Gregory.

Note that Clirr incorrectly reports one binary incompatible change because
it is not aware of Java 8 and default methods:
[ERROR] 7012: org.apache.commons.dbcp2.BasicDataSourceMXBean: Method
'public java.lang.String getDefaultSchema()' has been added to an interface

For complete information on Apache Commons DBCP, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons DBCP
website:

http://commons.apache.org/dbcp/

Download from
http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi

Gary Gregory


[ANNOUNCEMENT] Apache Commons Pool 2.6.0 released

2018-07-08 Thread Gary Gregory
  Apache Commons Pool 2.6.0 RELEASE NOTES

The Apache Commons Pool team is pleased to announce the release of Apache
Commons Pool 2.6.0.

Apache Commons Pool provides an object-pooling API and a number of object
pool implementations.
Version 2 contains a completely re-written pooling implementation compared
to the 1.x series.
In addition to performance and scalability improvements, version 2 includes
robust instance
tracking and pool monitoring.

- Version 2.6.0 requires Java 7 or above.
- Version 2.5.0 requires Java 7 or above.
- Version 2.0 requires 6 or above.

No client code changes are required to migrate from versions 2.0-2.3 to
version 2.4.3.
Users of version 1.x should consult the migration guide on the Commons Pool
web site.

NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean,
GenericKeyedObjectPoolMXBean
  and GenericKeyedObjectPoolMXBean) exist only to define the attributes
and methods
  that will be made available via JMX. They must not be implemented by
clients as
  they are subject to change between major, minor and patch version
releases of
  Commons Pool. Clients that implement any of these interfaces may not,
therefore,
  be able to upgrade to a new minor or patch release without requiring
code
  changes.

This is a maintenance release.

Changes in version 2.6.0 include:

Fixed Bugs:
o POOL-337:  Ensure cancelled eviction tasks are removed from scheduler.
Thanks to Reinald Verheij.
o POOL-338:  GenericObjectPool constructor may throw an exception under
OSGi. Thanks to Michael C, Gary Gregory.
o POOL-324:
org.apache.commons.pool2.impl.GenericObjectPool.getFactoryType() throws
java.lang.ClassCastException. Thanks to Jay Xu, Gary Gregory.
o POOL-344:  Delete repeated call startEvictor. Thanks to Yulin Wang.

Changes:
o POOL-336:  GenericObjectPool's borrowObject lock if create() fails with
Error. Thanks to Wolfgang Glas.
o POOL-339:  Update optional library cglib from 3.2.5 to 3.2.6.
o POOL-341:  Update optional library asm-util from 6.0 to 6.1.1.
o POOL-342:  Update optional library asm-util from 6.1.1 to 6.2.

Note that Clirr reports one warning:
"Value of field DEFAULT_EVICTION_POLICY_CLASS_NAME is no longer a
compile-time constant."
The value is initialized as "public static final String
DEFAULT_EVICTION_POLICY_CLASS_NAME = DefaultEvictionPolicy.class.getName();"
The value should not change from one run to the next.

For complete information on Apache Commons Pool, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Pool
website:

http://commons.apache.org/proper/commons-pool/

Download page:
https://commons.apache.org/proper/commons-pool/download_pool.cgi

Gary Gregory
On behalf of the Apache Commons community


[ANNOUCEMENT] Apache Commons DBCP 2.4.0 Released.

2018-06-19 Thread Gary Gregory
 The Apache Commons DBCP team is pleased to announce the release of Apache
Apache Commons DBCP 2.4.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements, which you
can download from
http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi

Changes in this version include:


Fixed Bugs:
o DBCP-484:  Connection leak during XATransaction in high load. Thanks to
Emanuel Freitas.
o DBCP-496:  Add support for pooling CallableStatements to the
org.apache.commons.dbcp2.cpdsadapter package. Thanks to Gary Gregory.

Changes:
o DBCP-492:  Drop Ant build. Thanks to Gary Gregory.
o DBCP-491:  Ensure DBCP ConnectionListener can deal with transaction
managers which invoke rollback in a separate thread. Thanks to Zheng Feng,
Gary Gregory.
o DBCP-494:  org.apache.commons.dbcp2.PStmtKey should make copies of given
arrays in constructors. Thanks to Gary Gregory.
o DBCP-495:  Remove duplicate code in
org.apache.commons.dbcp2.cpdsadapter.PStmtKeyCPDS. Thanks to Gary Gregory.
o DBCP-497:  Deprecate use of PStmtKeyCPDS in favor of PStmtKey. Thanks to
Gary Gregory.
o DBCP-498:  org.apache.commons.dbcp2.DataSourceConnectionFactory should
use a char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-499:  org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory
should use a char[] instead of a String to store passwords. Thanks to Gary
Gregory.
o DBCP-500:  org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS should
use a char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-501:  org.apache.commons.dbcp2.datasources.CPDSConnectionFactory
should use a char[] instead of a String to store passwords. Thanks to Gary
Gregory.
o DBCP-502:  org.apache.commons.dbcp2.datasources internals should use a
char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-503:
org.apache.commons.dbcp2.datasources.InstanceKeyDataSourceFactory.closeAll()
does not close all. Thanks to Gary Gregory.


For complete information on Apache Commons DBCP, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons DBCP
website:


[ANNOUNCEMENT] Apache Apache Commons DBCP 2.2.0

2017-12-27 Thread Gary Gregory
The Apache Commons DBCP team is pleased to announce the release of Apache
Apache Commons DBCP 2.2.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

Changes in this version include:

New features:
o DBCP-451:  Add constructor DriverManagerConnectionFactory(String).
o DBCP-462:  Refactoring to prepare for a future patch to enable pooling of
all
 prepared and callable statements in PoolingConnection. Thanks
to Keiichi Fujino.
o DBCP-458:  Make it simpler to extend BasicDataSource to allow sub-classes
to
 provide custom GenericObjectPool implementations. Thanks to
Adrian Tarau.
o DBCP-474:  Enable pooling of all prepared and callable statements
 inPoolingConnection. Thanks to Keiichi Fujino.

Fixed Bugs:
o DBCP-481:  Update Apache Commons Pool from 2.4.2 to 2.5.0. Thanks to Gary
Gregory.
o DBCP-454:  OSGi declarations contain multiple import headers for
javax.transaction. Thanks to Philipp Marx, Matt Sicker.
o DBCP-478:  Wrong parameter name in site documentation for BasicDataSource
Configuration Parameters. Thanks to nicola mele.
o DBCP-452:  Add jmxName to properties set by BasicDataSourceFactory.  This
 enables container-managed pools created from JNDI Resource
 definitions to enable JMX by supplying a valid root JMX name.
o DBCP-446:  NullPointerException thrown when calling
ManagedConnection.isClosed(). Thanks to Gary Gregory, feng yang, Euclides
M, Phil Steitz.
o DBCP-444:  InvalidateConnection can result in closed connection returned
by getConnection.
o DBCP-449:  Complete the fix for DBCP-418, enabling PoolableConnection
class to load in environments
 (such as GAE) where the JMX ManagementFactory is not
available. Thanks to Grzegorz D.
o DBCP-455:  Ensure that the cacheState setting is used when statement
pooling is
 disabled. Thanks to Kyohei Nakamura.
o DBCP-453:  Ensure that setSoftMinEvictableIdleTimeMillis is used when
working with
 BasicDataSource. Thanks to Philipp Marx.
o DBCP-456:  Correct the name of the configuration attribute
 softMinEvictableIdleTimeMillis. Thanks to Kyohei Nakamura.
o DBCP-472:  Avoid potential infinite loops when checking if an
SQLException is fatal
 for a connection or not.
o DBCP-468:  Expand the fail-fast for fatal connection errors feature to
include
 managed connections.
o DBCP-463:  Correct a typo in the method name
 PoolableConnectionFactory#setMaxOpenPreparedStatements. The
old method
 remains but is deprecated so not to break clients currently
using the
 incorrect name.
o DBCP-459:  Ensure that a thread's interrupt status is visible to the
caller if the
 thread is interrupted during a call to
 PoolingDataSource.getConnection().
o DBCP-457:  When using a BasicDataSource, pass changes related to the
handling of
 abandoned connections to the underlying pool so that the pool
 configuration may be updated dynamically.


For complete information on Apache Commons DBCP, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons DBCP
website:

http://commons.apache.org/dbcp/

Gary Gregory
Apache Commons V.P., Chair.


[ANNOUCEMENT] Apache Commons Pool 2.5.0

2017-12-20 Thread Gary Gregory
The Apache Commons Pool team is pleased to announce the release of Apache
Commons Pool 2.5.0.

Apache Commons Pool provides an object-pooling API and a number of object
pool implementations.
Version 2 contains a completely re-written pooling implementation compared
to the 1.x series.
In addition to performance and scalability improvements, version 2 includes
robust instance
tracking and pool monitoring. Version 2 requires JDK level 1.6 or above.

No client code changes are required to migrate from versions 2.4.x to
version 2.5.0.
Users of version 1.x should consult the migration guide on the Commons Pool
web site.

NOTE: The MBean interfaces (DefaultPooledObjectInfoMBean,
GenericKeyedObjectPoolMXBean
  and GenericKeyedObjectPoolMXBean) exist only to define the attributes
and methods
  that will be made available via JMX. They must not be implemented by
clients as
  they are subject to change between major, minor and patch version
releases of
  Commons Pool. Clients that implement any of these interfaces may not,
therefore,
  be able to upgrade to a new minor or patch release without requiring
code
  changes.

Changes in version 2.5.0 include:

New features:
o POOL-332:  ObjectPool and KeyedObject pool should extend Closeable.
o POOL-335:  Make abandoned logging stack trace requirements configurable.
This also reverts
 the default behavior introduced by POOL-320.


Changes:
o POOL-331:  Update from Java 6 to 7.
o POOL-333:  Update optional dependency asm-util from 5.2 to 6.0.
o POOL-334:  org.apache.commons.pool2.impl.ThrowableCallStack.Snapshot is
missing serialVersionUID.


For complete information on Apache Commons Pool, including instructions on
how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons Pool
website:

http://commons.apache.org/proper/commons-pool/

Enjoy!
Gary Gregory, on behalf of the Apache Commons Team


[ANNOUNCEMENT] Apache Commons BCEL 6.2 is out with better Java 9 support

2017-12-09 Thread Gary Gregory
The Apache Commons BCEL team is pleased to announce the release of Apache
Commons BCEL 6.2 with better Java 9 support!

The Byte Code Engineering Library (BCEL) is intended to give users a
convenient way to analyze, create, and manipulate compiled .class files.
Classes are represented by objects containing all the symbolic information
of the given class: methods, fields and byte code instructions.

Experimental Java 9 Support.

FIXED BUGS:
===

o BCEL-294: Incorrect comment in StackMap.java Thanks to Mark Roberts.
o BCEL-296: Incorrect comment in several classes. Thanks to Mark Roberts.
o BCEL-295: Fix local variable live range length; add test case. Thanks to
Mark Roberts.
o BCEL-300: org.apache.bcel.classfile.ClassFormatException: Invalid byte
tag in constant pool: 19.
o BCEL-301: org.apache.bcel.classfile.ClassFormatException: Invalid byte
tag in constant pool: 20.


Have fun!
-Apache Commons BCEL team

Feedback


Open source works best when you give feedback:

http://commons.apache.org/bcel

Please direct all bug reports to JIRA:

https://issues.apache.org/jira/browse/BCEL

Or subscribe to the commons-user mailing list

The Apache Commons Team


[ANNOUNCEMENT] Apache Commons Lang 3.7

2017-11-08 Thread Gary Gregory
The Apache Commons community is happy to announce the availability of
Apache Commons Lang 3.7.

Apache Commons Lang provides helper utilities for the java.lang API,
notably String manipulation methods, basic numerical methods, object
reflection, concurrency, creation and serialization and System properties.
Additionally it contains basic enhancements to java.util.Date and a series
of utilities dedicated to help with building methods, such as hashCode,
toString and equals.

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.

For more details see the release notes at:
http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt

Distribution packages can be downloaded from:
https://commons.apache.org/proper/commons-lang/download_lang.cgi

You may have to wait 24 hours for for all mirrors to catch sync up. The
release is available on Maven Central now.

When downloading, please verify signatures using the KEYS file available at:
http://www.apache.org/dist/commons

Maven artifacts are also available in the central Maven repository:


  org.apache.commons
  commons-lang3
  3.7


Have fun,
Gary Gregory, on behalf of the Apache Commons Community


[ANNOUCEMENT] Apache Commons Codec 1.11 is available

2017-10-21 Thread Gary Gregory
The Apache Commons team is pleased to announce the release of Commons Codec
1.11.

Apache Commons Codec (TM) software provides implementations of common
encoders and decoders such as Base64, Hex, Phonetic and URLs.

Details of the changes and bug fixes in this release can be found in the
release notes:
  http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt

For information on Commons VFS please visit the VFS website:
  http://commons.apache.org/codec/

Commons Codec can be downloaded from the following page:
 http://commons.apache.org/codec/download_codec.cgi

Allow a few more hours for all mirrors to catch up.

Gary Gregory
on behalf of the Apache Commons community


[ANNOUNCEMENT] Apache Commons VFS 2.2 Released

2017-10-06 Thread Gary Gregory
The Apache Commons team is pleased to announce the release of Commons VFS
2.2.

Commons VFS provides a single API for accessing various different file
systems. It presents a uniform view of the files from various different
sources, such as the files on local disk, on an HTTP server, or inside a
Zip archive.

Details of the changes and bug fixes in this release can be found in the
release notes:
  http://www.apache.org/dist/commons/vfs/RELEASE-NOTES.txt

For information on Commons VFS please visit the VFS website:
  http://commons.apache.org/vfs/

Commons VFS can be downloaded from the following page:
 http://commons.apache.org/vfs/download_vfs.cgi

Allow 24 hours for the mirrors to catch up.

Gary Gregory
on behalf of the Apache Commons community


[ANNOUNCEMENT] Apache Commons CSV 1.4

2016-05-31 Thread Gary Gregory
The Apache Commons team is pleased to announce the release of Apache
Commons CSV 1.4.

The Apache Commons CSV library provides a simple interface for reading and
writing CSV files of various types.

The main changes are the addition of a few APIs to make low-GC use-cases
possible.

Details of all changes in 1.4 can be found in the changelog:

http://commons.apache.org/proper/commons-csv/changes-report.html

1.4 is fully binary compatible to the last release. No client code changes
are required to migrate from version 1.3 to 1.4. The minimum required JDK
version for this release is 1.6.

Source and binary distributions are available for download from the Apache
Commons download site:

http://commons.apache.org/proper/commons-csv/download_csv.cgi

When downloading, please verify signatures using the KEYS file available at

http://www.apache.org/dist/commons/KEYS

Alternatively the release can be fetched from Maven Central:

  org.apache.commons
  commons-csv
  1.4


For complete information on Commons CSV, including instructions on how to
submit bug reports, patches, or suggestions for improvement, see the Apache
Commons Validator website:

http://commons.apache.org/proper/commons-csv/

Have fun!
Gary Gregory, on behalf of the Apache Commons Community


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons CSV 1.1 Released

2014-11-25 Thread Gary Gregory
The Apache Commons CSV team is pleased to announce the 1.1 release!

The Apache Commons CSV library provides a simple interface for reading and
writing
CSV files of various types.

This is our second release.

Changes in this version include:

New features:
o [CSV-129] Add CSVFormat#with 0-arg methods matching boolean arg methods.
o [CSV-131] Save positions of records to enable random access. Thanks to
Holger Stratmann.
o [CSV-139] CSVPrinter.printRecord(ResultSet) with metadata.

Fixed Bugs:
o [CSV-140] QuoteMode.NON_NUMERIC doesn't work with
CSVPrinter.printRecords(ResultSet). Thanks to Damjan Jovanovic.
o [CSV-130] CSVFormat#withHeader doesn't work well with #printComment, add
withHeaderComments(String...). Thanks to Sergei Lebedev.
o [CSV-128] CSVFormat.EXCEL should ignore empty header names.
o [CSV-132] Incorrect Javadoc referencing org.apache.commons.csv.CSVFormat
withQuote(). Thanks to Sascha Szott.

Changes:
o [CSV-124] Improve toString() implementation of CSVRecord. Thanks to
Kalyan.
o [CSV-134] Unified parameter validation. Thanks to wu wen.

For complete information on Commons CSV, including instructions on how to
submit bug reports, patches, or suggestions for improvement, see the Apache
Commons CSV website:

Site: http://commons.apache.org/proper/commons-csv/

Download: http://commons.apache.org/csv/download_codec.cgi

Happy Coding!
Happy Thanksgiving!
Gary Gregory on behalf of the Apache Commons CSV team

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
http://www.manning.com/bauer3/
JUnit in Action, Second Edition http://www.manning.com/tahchiev/
Spring Batch in Action http://www.manning.com/templier/
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] HttpComponents HttpClient 4.3.2 Released

2014-01-20 Thread Gary Gregory
The Apache HttpComponents project is pleased to announce 4.3.2 GA release
of HttpComponents HttpClient.

[Sorry for the resend, I had the wrong component in the email subject]

HttpClient 4.3.2 (GA) is a maintenance release that delivers a number of
improvements as well as bug fixes for issues reported since 4.3.1 release.
SNI support for Oracle JRE 1.7+ is being among the most notable
improvements.

Users of HttpClient 4.3 are encouraged to upgrade.

Download: http://hc.apache.org/downloads.cgi
Release notes:
https://www.apache.org/dist/httpcomponents/httpclient/RELEASE_NOTES-4.3.x.txt
HttpComponents site: http://hc.apache.org

About HttpComponents HttpClient

The Hyper-Text Transfer Protocol (HTTP) is perhaps the most significant
protocol used on the Internet today. Web services, network-enabled
appliances and the growth of network computing continue to expand the role
of the HTTP protocol beyond user-driven web browsers, while increasing the
number of applications that require HTTP support.

Although the java.net package provides basic functionality for accessing
resources via HTTP, it doesn't provide the full flexibility or
functionality needed by many applications. HttpClient seeks to fill this
void by providing an efficient, up-to-date, and feature-rich package
implementing the client side of the most recent HTTP standards and
recommendations.

Designed for extension while providing robust support for the base HTTP
protocol, HttpClient may be of interest to anyone building HTTP-aware
client applications such as web browsers, web service clients, or systems
that leverage or extend the HTTP protocol for distributed communication.

Gary Gregory on behalf of the HttpComponents team.

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Editionhttp://www.manning.com/bauer3/
JUnit in Action, Second Edition http://www.manning.com/tahchiev/
Spring Batch in Action http://www.manning.com/templier/
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons Exec 1.2 Released

2014-01-08 Thread Gary Gregory
The Apache Commons Exec team is pleased to announce the 1.2 release!

Apache Commons Exec is a library to reliably execute external processes
from within the JVM.

This is a mostly a maintenance release after a long absence from new
releases and still requires a only minimum of Java 1.3.

Changes in this version include:

New features:

o Set names for started threads.  Issue: EXEC-55. Thanks to Dominik
Stadler.

Fixed Bugs:

o Issue: EXEC-68.
  Watchdog kills process immediately if timeout is too large.
  Thanks to Joel McCance.

o Issue: EXEC-57.
  Applied the patch from Nickolay Martinov but the timeout disguises the
fact that the process might be still running.
  Therefore added a sanity check in order to throw an exception if the the
timeout for join() was exceeded.
  Thanks to Nickolay Martinov.

o Issue: EXEC-60.
  Fixed dead lock by calling the timeout observers outside of the
synchronized block thereby removing on pre-requisite of a deadlock.
  Also added a test case to demonstrate that this problem is fixed (which
of course can not guarantee the absence of a dead lock).
  Thanks to Peter Kofler.

o Issue: EXEC-52.
  Tests fail on HP-UX, because it uses a different syntax for the ping
command.
  Thanks to Nickolay Martinov.

o Issue: EXEC-49.
  Write dead end IOException when using Piped streams w/PumpStreamHandler.
  When encountering a PipedOutputStream we will automatically close it to
avoid the exception.
  Thanks to Kevin Telford.

o Issue: EXEC-34.
  Race condition prevent watchdog working using ExecuteStreamHandler.
  Patch submittd by Kristian Rosenvold.
  Thanks to Marco Ferrante.

For complete information on Commons Exec, including instructions on how to
submit bug reports, patches, or suggestions for improvement, see the Apache
Commons Exec website:

Site: http://commons.apache.org/proper/commons-exec/

Download: http://commons.apache.org/exec/download_codec.cgi

Enjoy,
Gary Gregory on behalf of the Apache Commons Exec team

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Editionhttp://www.manning.com/bauer3/
JUnit in Action, Second Edition http://www.manning.com/tahchiev/
Spring Batch in Action http://www.manning.com/templier/
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons Codec 1.9 Released

2013-12-24 Thread Gary Gregory
The Apache Commons Codec team is pleased to announce the Apache
commons-codec 1.9 release!

The Apache Codec package contains simple encoder and decoders for various
formats such as Base64 and Hexadecimal. In addition to these widely used
encoders and decoders, the Apache Codec package also maintains a collection
of phonetic encoding utilities.

This is a performance and fix release and requires a minimum of Java 1.6.

Changes in this version include:

Performance:
CODEC-174: Improve performance of Beider Morse encoder. Thanks to Thomas
Champagne.

Fixed Bugs:
o CODEC-175: Beider Morse does not close Scanners used to read config
files.
o CODEC-172: Base32 decode table has spurious value. Thanks to Matt Bishop.
o CODEC-170: Link broken in Metaphone Javadoc. Thanks to Ron Wheeler, Henri
Yandell.
o CODEC-176: Spelling fixes in Javadoc and comments. Thanks to Ville
Skyttä.


For complete information on Commons Codec, including instructions on how to
submit bug reports, patches, or suggestions for improvement, see the Apache
Commons Codec website:

Site: http://commons.apache.org/proper/commons-codec/

Download: http://commons.apache.org/codec/download_codec.cgi

Happy Holidays!
Gary Gregory, on behalf of the Apache Commons Codec team

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Editionhttp://www.manning.com/bauer3/
JUnit in Action, Second Edition http://www.manning.com/tahchiev/
Spring Batch in Action http://www.manning.com/templier/
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons Codec 1.8 Released

2013-04-28 Thread Gary Gregory
The Commons Codec team is pleased to announce the commons-codec 1.8 release!

The codec package contains simple encoder and decoders for various formats
such as Base64 and Hexadecimal. In addition to these widely used encoders
and decoders, the codec package also maintains a collection of phonetic
encoding utilities.

Commons Codec 1.8 requires a minimum of Java 1.6.

Changes in this version include:

New features:
o CODEC-168:  Add DigestUtils.updateDigest(MessageDigest, InputStream).
Thanks to Daniel Cassidy.
o CODEC-167:  Add JUnit to test our decode with pad character in the middle.
o CODEC-161:  Add Match Rating Approach (MRA) phonetic algorithm encoder.
Thanks to crice.

Fixed Bugs:
o CODEC-163:  ColognePhonetic encoder unnecessarily creates many char
arrays on every loop run. Thanks to leo141.
o CODEC-160:  Base64.encodeBase64URLSafeString doesn't add padding
characters at the end.

Site: http://commons.apache.org/codec/
Download: http://commons.apache.org/codec/download_codec.cgi

Have fun!
-The Commons Codec team

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Editionhttp://www.manning.com/bauer3/
JUnit in Action, Second Edition http://www.manning.com/tahchiev/
Spring Batch in Action http://www.manning.com/templier/
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons Codec 1.7 Released

2012-09-16 Thread Gary Gregory
The Commons Codec team is pleased to announce the commons-codec 1.7 release!

The codec package contains simple encoder and decoders for various formats
such as Base64 and Hexadecimal. In addition to these widely used encoders
and decoders, the codec package also maintains a collection of phonetic
encoding utilities.

Commons Codec 1.7 requires a minimum of Java 1.6.

Changes in this version include:

New features:
o CODEC-157:  DigestUtils: Add MD2 APIs. Thanks to ggregory.
o CODEC-156:  DigestUtils: add APIs named after standard algorithm name
SHA-1. Thanks to ggregory.
o CODEC-155:  DigestUtils.getDigest(String) should throw
IllegalArgumentException instead of RuntimeException. Thanks to ggregory.
o CODEC-153:  Create a class MessageDigestAlgorithms to define standard
algorithm names. Thanks to ggregory.
o CODEC-152:  DigestUtils.getDigest(String) loses the original exception.
Thanks to ggregory.
o CODEC-151:  Remove unnecessary attempt to fill up the salt variable in
UnixCrypt. Thanks to lathspell.
o CODEC-150:  Remove unnecessary call to Math.abs(). Thanks to lathspell.
o CODEC-148:  More tests and minor things. Thanks to lathspell.
o CODEC-146:  Added regression tests for PhoneticEngine based on
Solr-3.6.0. Thanks to Julius Davies.
o CODEC-139:  DigestUtils: add updateDigest methods and make methods
public. Thanks to dsebastien.
o CODEC-133:  Add classes for MD5/SHA1/SHA-512-based Unix crypt(3) hash
variants. Thanks to lathspell.
o CODEC-130:  Base64InputStream.skip skips underlying stream, not output.
Thanks to tn.
o CODEC-63:   Implement NYSIIS phonetic encoder. Thanks to bayard.

Fixed Bugs:
o CODEC-96:   Base64 encode() method is no longer thread-safe, breaking
clients using it as a shared BinaryEncoder.
  Note: the fix breaks binary compatibility, however the
changes are to a class (BaseNCodec) which is
  intended for internal use. Thanks to sebb.
o CODEC-138:  Complete FilterInputStream interface for
BaseNCodecInputStream.
o CODEC-136:  Use Charset objects when possible, create Charsets for
required character encodings.
o CODEC-132:  BeiderMorseEncoder OOM issues. Thanks to rcmuir.
o CODEC-131:  DoubleMetaphone javadoc contains dead links. Thanks to smolav.

Changes:
o CODEC-147:  BeiderMorseEncoder/PhoneticEngine: make results deterministic
by using a LinkedHashSet
  instead of a HashSet.
o CODEC-143:  StringBuffer could be replaced by StringBuilder for local
variables.


Site: http://commons.apache.org/codec/
Download: http://commons.apache.org/codec/download_codec.cgi

Have fun!
-The Commons Codec team

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
JUnit in Action, 2nd Ed: http://bit.ly/ECvg0
Spring Batch in Action: http://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory http://twitter.com/GaryGregory


ANNOUNCEMENT] Apache Commons IO 2.4 released

2012-07-05 Thread Gary Gregory
The Commons IO team is pleased to announce the Commons IO 2.4 release!

Commons IO is a package of Java utility classes like java.io.
Classes in this package are considered to be so standard and of such high
reuse as to justify existence in java.io.

The Commons IO library contains utility classes, stream implementations,
file filters, file comparators, endian transformation classes, and much
more.

New features and bug fixes.

Changes in this version include:

New features:
o IO-269:  Tailer locks file from deletion/rename on Windows. Thanks to
sebb.
o IO-333:  Export OSGi packages at version 1.x in addition to 2.x. Thanks
to fmeschbe.
o IO-320:  Add XmlStreamReader support for UTF-32. Thanks to ggregory.

o IO-331:  BOMInputStream wrongly detects UTF-32LE_BOM files as
UTF-16LE_BOM files in method getBOM(). Thanks to ggregory.
o IO-327:  Add byteCountToDisplaySize(BigInteger). Thanks to ggregory.
o IO-326:  Add new FileUtils.sizeOf[Directory] APIs to return BigInteger.
Thanks to ggregory, kinow.

o IO-325:  Add IOUtils.toByteArray methods to work with URL and URI. Thanks
to raviprak.
o IO-324:  Add missing Charset sister APIs to method that take a String
charset name. Thanks to raviprak.

Fixed Bugs:

o IO-336:  Yottabyte (YB) incorrectly defined in FileUtils. Thanks to
rleavelle.
o IO-279:  Tailer erroneously considers file as new. Thanks to Sergio
Bossa, Chris Baron.
o IO-335:  Tailer#readLines - incorrect CR handling.

o IO-334:  FileUtils.toURLs throws NPE for null parameter; document the
behavior.
o IO-332:  Improve tailer's reading performance. Thanks to liangly.
o IO-279:  Improve Tailer performance with buffered reads (see IO-332).

o IO-329:  FileUtils.writeLines uses unbuffered IO. Thanks to tivv.
o IO-319:  FileUtils.sizeOfDirectory follows symbolic links. Thanks to
raviprak.


Compatibility with 2.3:
Binary compatible: Yes.
Source compatible: Yes.

Semantic compatible: Yes.

Compatibility with 2.2 and 1.4:
Binary compatible: Yes.
Source compatible: No, see the rare case in
https://issues.apache.org/jira/browse/IO-318.

Semantic compatible: No, see the rare case in
https://issues.apache.org/jira/browse/IO-318.

Commons IO 2.4 requires JDK 1.6 or later.
Commons IO 2.3 requires JDK 1.6 or later.
Commons IO 2.2 requires JDK 1.5 or later.
Commons IO 1.4 requires JDK 1.3 or later.

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
JUnit in Action, 2nd Ed: http://bit.ly/ECvg0
Spring Batch in Action: http://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons IO 2.2 released

2012-03-30 Thread Gary Gregory
The Commons IO team is pleased to announce the Commons IO 2.2 release!

Commons IO is a package of Java utility classes like java.io.  Classes in
this package are considered to be so standard and of such high reuse as to
justify existence in java.io.

The Commons IO library contains utility classes, stream implementations,
file filters, file comparators, endian transformation classes, and much
more.

This is a drop-in replacement for 2.1. A list of the 15 new features, 1
change and 8 bug fixes in this release are found in the release notes and
below.

  https://commons.apache.org/io/changes-report.html#a2.2

For general information on Commons IO please visit the website:

  http://commons.apache.org/io/

The latest version may be downloaded from the following page:

  http://commons.apache.org/io/download_io.cgi

Thanks again to all involved in the release, both Commons users and
Commons developers.

==
Commons IO Package Version 2.2
==

Changes in this version include:

New features:
o IO-313:  Add IOUTils.toBufferedReader(Reader) Thanks to ggregory.
o IO-308:  Allow applications to provide buffer (or size) for copyLarge
methods. Thanks to Manoj Mokashi.
o IO-305:  New copyLarge() method in IOUtils that takes additional offset,
length arguments Thanks to Manoj Mokashi.
o IO-287:  Use terabyte (TB), petabyte (PB) and exabyte (EB) in
FileUtils.byteCountToDisplaySize(long size) Thanks to Ron Kuris, Gary
Gregory.
o IO-173:  FileUtils.listFiles() doesn't return directories Thanks to
Marcos Vinícius da Silva.
o IO-297:  CharSequenceInputStream to efficiently stream content of a
CharSequence Thanks to Oleg Kalnichevski.
o IO-304:  The second constructor of Tailer class does not pass 'delay' to
the third one Thanks to liangly.
o IO-303:  TeeOutputStream does not call branch.close() when main.close()
throws an exception Thanks to fabian.barney.
o IO-302:  ArrayIndexOutOfBoundsException in BOMInputStream when reading a
file without BOM multiple times Thanks to jsteuerwald, detinho.
o IO-301:  Add IOUtils.closeQuietly(Selector) necessary Thanks to
kaykay.unique.
o IO-292:  IOUtils.closeQuietly() should take a ServerSocket as a parameter
Thanks to sebb.
o IO-290:  Add read/readFully methods to IOUtils Thanks to sebb.
o IO-288:  Supply a ReversedLinesFileReader Thanks to Georg Henzler.
o IO-291:  Add new function FileUtils.directoryContains. Thanks to
ggregory.
o IO-275:  FileUtils.contentEquals and IOUtils.contentEquals - Add option
to ignore line endings
Added contentEqualsIgnoreEOL methods to both classes Thanks to CJ
Aspromgos.

Fixed Bugs:
o IO-311:  IOUtils.read(InputStream/Reader) ignores the offset parameter
Thanks to Robert Muir.
o IO-312:  CharSequenceInputStream(CharSequence s, Charset charset, int
bufferSize) ignores bufferSize
o IO-300:  FileUtils.moveDirectoryToDirectory removes source directory if
destination is a subdirectory
o IO-307:  ReaderInputStream#read(byte[] b, int off, int len) should check
for valid parameters
o IO-306:  ReaderInputStream#read(byte[] b, int off, int len) should always
return 0 for length == 0
o IO-276:  FileUtils#deleteDirectoryOnExit(File) does not work Thanks to
nkami.
o IO-273:  BoundedInputStream.read() treats max differently from
BoundedInputStream.read(byte[]...) Thanks to sebb.
o IO-298:  Various methods of class 'org.apache.commons.io.FileUtils'
incorrectly suppress 'java.io.IOException' Thanks to Christian Schulte.

Changes:
o IO-296:  ReaderInputStream optimization: more efficient reading of small
chunks of data Thanks to Oleg Kalnichevski.

Compatibility with 2.1 and 1.4:
Binary compatible: Yes
Source compatible: Yes
Semantic compatible: Yes. Check the bug fixes section for semantic bug fixes

Commons IO 2.2 requires a minimum of JDK 1.5.
Commons IO 1.4 requires a minimum of JDK 1.3.

Gary

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
JUnit in Action, 2nd Ed: http://goog_1249600977http://bit.ly/ECvg0
Spring Batch in Action: http://s.apache.org/HOqhttp://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons Codec 1.6 is now available

2011-12-07 Thread Gary Gregory
The Commons Codec team is pleased to announce the commons-codec-1.6 release!

The codec package contains simple encoder and decoders for
various formats such as Base64 and Hexadecimal. In addition to these
widely used encoders and decoders, the codec package also maintains a
collection of phonetic encoding utilities.

Changes in this version include:

Fixed Bugs:
o Use standard Maven directory layout.  Issue: CODEC-129. Thanks to
ggregory.
o Documentation spelling fixes.  Issue: CODEC-128. Thanks to
ville.sky...@iki.fi.
o Fix various character encoding issues in comments and test cases.  Issue:
CODEC-127.
o ColognePhonetic Javadoc should use HTML entities for special characters.
Issue: CODEC-123.

Changes:
o Implement a Beider-Morse phonetic matching codec.  Issue: CODEC-125.
Thanks to Matthew Pocock.
o Migrate to Java 5.  Issue: CODEC-119.
o Migrate to JUnit 4.  Issue: CODEC-120.

Site: http://commons.apache.org/codec/
Download: http://commons.apache.org/codec/download_codec.cgi

Have fun!
-Commons Codec team

-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
JUnit in Action, 2nd Ed: http://goog_1249600977http://bit.ly/ECvg0
Spring Batch in Action: http://s.apache.org/HOqhttp://bit.ly/bqpbCK
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory


[ANNOUNCEMENT] Apache Commons Codec 1.5 is now available

2011-03-29 Thread Gary Gregory
The Commons Codec team is pleased to announce the commons-codec-1.5 release!

The codec package contains simple encoder and decoders for various formats
such as Base64 and Hexadecimal.  In addition to thes widely used encoders
and decoders, the codec package also maintains acollection of phonetic
encoding utilities.

Changes in this version include:

New features:
o Add test(s) to check that encodeBase64() does not chunk output.  Issue:
CODEC-93. Thanks to sebb.
o ArrayIndexOutOfBoundsException when doing multiple reads() on encoding
Base64InputStream.  Issue: CODEC-105. Thanks to zak.
o Add the Cologne Phonetic to codec.lang.  Issue: CODEC-106. Thanks to
it2mmeyerfa.
o org.apache.commons.codec.net.URLCodec.ESCAPE_CHAR isn't final but should
be.  Issue: CODEC-111. Thanks to ggregory.
o Base64.encodeBase64(byte[] binaryData, boolean isChunked, boolean urlSafe,
int maxResultSize) throws IAE for valid maxResultSize if isChunked is
false.  Issue: CODEC-112. Thanks to sebb.
o org.apache.commons.codec.language.RefinedSoundex.US_ENGLISH_MAPPING should
be package protected MALICIOUS_CODE.  Issue: CODEC-113. Thanks to ggregory.
o org.apache.commons.codec.language.Soundex.US_ENGLISH_MAPPING should be
package protected MALICIOUS_CODE.  Issue: CODEC-114. Thanks to ggregory.
o DoubleMetaphone.maxCodeLen should probably be private.  Issue: CODEC-115.
Thanks to sebb.
o Split Caverphone class into two classes for Caverphone 1.0 and 2.0.
Issue: CODEC-118. Thanks to ggregory.

Fixed Bugs:
o new Base64().encode() appends a CRLF, and chunks results into 76 character
lines.  Issue: CODEC-89.
o Many test cases use getBytes() which uses the default platform encoding so
tests may fail on some platforms.  Issue: CODEC-92.
o Base64 default constructor behaviour changed to enable chunking in 1.4.
Issue: CODEC-97. Thanks to mjryall.
o Base64.encodeBase64String() shouldn't chunk.  Issue: CODEC-99. Thanks to
julius.
o Base64InputStream#read(byte[]) incorrectly returns 0 at end of any stream
which is multiple of 3 bytes long.  Issue: CODEC-101. Thanks to balusc.
o Typo in DecoderException message thrown from Hex.decodeHex.  Issue:
CODEC-103. Thanks to gnuf.
o Caverphone encodes names starting and ending with mb incorrectly.
Issue: CODEC-117. Thanks to ggregory.

Removed:
o Remove deprecated package private method Base64.discardWhitespace(byte[])
Issue: CODEC-116. Thanks to ggregory.

Have fun!
-Commons Codec team