Author: ggregory
Date: Sat Aug 10 14:51:13 2024
New Revision: 70783

Log:
Staging release: commons-vfs2-distribution, version: 2.10.0

Added:
    dev/commons/vfs/2.10.0-RC1/
    dev/commons/vfs/2.10.0-RC1/HEADER.html
    dev/commons/vfs/2.10.0-RC1/README.html
    dev/commons/vfs/2.10.0-RC1/RELEASE-NOTES.txt
    dev/commons/vfs/2.10.0-RC1/binaries/
    dev/commons/vfs/2.10.0-RC1/binaries/HEADER.html
    dev/commons/vfs/2.10.0-RC1/binaries/README.html
    dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz   (with 
props)
    dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.asc
    dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.sha512
    dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip   (with 
props)
    dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.asc
    dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.sha512
    dev/commons/vfs/2.10.0-RC1/signature-validator.sh
    dev/commons/vfs/2.10.0-RC1/site/
    dev/commons/vfs/2.10.0-RC1/site/Apache Commons VFS 
Distribution-2.10.0.spdx.rdf.xml
    dev/commons/vfs/2.10.0-RC1/source/
    dev/commons/vfs/2.10.0-RC1/source/HEADER.html
    dev/commons/vfs/2.10.0-RC1/source/README.html
    dev/commons/vfs/2.10.0-RC1/source/commons-vfs-2.10.0-src.tar.gz   (with 
props)
    dev/commons/vfs/2.10.0-RC1/source/commons-vfs-2.10.0-src.tar.gz.asc
    dev/commons/vfs/2.10.0-RC1/source/commons-vfs-2.10.0-src.tar.gz.sha512
    dev/commons/vfs/2.10.0-RC1/source/commons-vfs-2.10.0-src.zip   (with props)
    dev/commons/vfs/2.10.0-RC1/source/commons-vfs-2.10.0-src.zip.asc
    dev/commons/vfs/2.10.0-RC1/source/commons-vfs-2.10.0-src.zip.sha512

Added: dev/commons/vfs/2.10.0-RC1/HEADER.html
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/HEADER.html (added)
+++ dev/commons/vfs/2.10.0-RC1/HEADER.html Sat Aug 10 14:51:13 2024
@@ -0,0 +1,31 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<h2>Apache Commons Project Distributions</h2>
+
+<p>
+    The most recent source and binary releases for the Apache Commons project 
are available from this
+    directory listing. For older releases, please use the
+    <a href="https://archive.apache.org/dist/commons/";>archives</a>.
+</p>
+
+<h2>Important Notices</h2>
+
+<ul>
+    <li><a href="#mirrors">Download from your nearest mirror site!</a></li>
+    <li><a href="#sig">PGP/GPG Signatures</a></li>
+</ul>
+

Added: dev/commons/vfs/2.10.0-RC1/README.html
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/README.html (added)
+++ dev/commons/vfs/2.10.0-RC1/README.html Sat Aug 10 14:51:13 2024
@@ -0,0 +1,66 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<h1>Commons-VFS v2.10.0.</h1>
+
+<p>This is the 2.10.0 version of commons-vfs2-distribution. It is available in 
both binary and source distributions.</p>
+
+
+<p><font color="red" size="+2">Note:</font>
+    The tar files in the distribution use GNU tar extensions
+    and must be untarred with a GNU compatible version of tar. The version
+    of tar on Solaris and Mac OS X will not work with these files</p>
+
+<a name="changes"><h2>Changes</h2></a>
+
+<p>The changes in this release are detailed in the release notes.</p>
+
+<p>Thank you for using <a 
href="https://commons.apache.org/proper/commons-vfs/commons-vfs2-distribution/";>VFS</a>.</p>
+
+<p>From the Apache Commons Project<br><a 
href="https://commons.apache.org/";>https://commons.apache.org/</a></p>
+
+<h2><a name="mirrors">Download from your
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/";>nearest mirror 
site!</a></a></h2>
+
+<p>
+    Do not download from www.apache.org.  Please use a mirror site
+    to help us save apache.org bandwidth.
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/";>Go
+        here to find your nearest mirror.</a>
+</p>
+
+<a name="sig"><h2>Signatures</h2></a>
+
+<p>Many of the files have been digitally signed using GnuPG.  If so,
+    there will be an accompanying <samp><em>file</em>.asc</samp> signature
+    file in the same directory as the file (binaries/ or source/).  The
+    signing keys can be found in the distribution directory at &lt;<a
+            
HREF="http://downloads.apache.org/commons/KEYS";><samp>http://downloads.apache.org/commons/KEYS</samp></a>&gt;.</p>
+
+<p><b>Always download the KEYS file directly from the Apache site, never from 
a mirror site.</b></p>
+
+
+<pre>Always test available signatures, <i>e.g.</i>,
+$ pgpk -a KEYS
+$ pgpv commons-vfs2-distribution-2.10.0-bin.tar.gz.asc
+or,
+$ pgp -ka KEYS
+$ pgp commons-vfs2-distribution-2.10.0-bin.tar.gz.asc
+or,
+$ gpg --import KEYS
+$ gpg --verify commons-vfs2-distribution-2.10.0-bin.tar.gz.asc
+</pre>
+<p>
\ No newline at end of file

Added: dev/commons/vfs/2.10.0-RC1/RELEASE-NOTES.txt
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/RELEASE-NOTES.txt (added)
+++ dev/commons/vfs/2.10.0-RC1/RELEASE-NOTES.txt Sat Aug 10 14:51:13 2024
@@ -0,0 +1,938 @@
+Apache Commons VFS Project 2.10.0
+RELEASE NOTES
+
+The Apache Commons VFS Project team is pleased to announce the release of 
Apache Commons VFS Project 2.10.0.
+
+Apache Commons VFS is a Virtual File System library.
+
+Maintenance release. Requires Java 8 or above.
+
+Changes in this version
+-----------------------
+
+New features
+------------
+
+* VFS-848:  Config option for trailing slash in webdav URI #425. Thanks to 
beise, Gary Gregory.
+*           Split out Apache Ant Tasks into its own Maven module 
commons-vfs2-ant. Thanks to Gary Gregory.
+* VFS-851:  Split out HDFS provider into its own Maven module 
commons-vfs2-hdfs. Thanks to Gary Gregory.
+*           Generate JPMS module info files when building on Java 11 or 
greater, except for commons-vfs2-hdfs due to Hadoop libraries' overlapping 
packages. Thanks to Gary Gregory.
+*           Add Visual Studio Code files to gitignore #205. Thanks to Seth 
Falco.
+*           Add DefaultFileMonitor.setDelay(Duration), getDelayDuration() and 
deprecate setDelay(long), getDelay(). Thanks to Gary Gregory.
+*           DefaultFileMonitor implements AutoCloseable. Thanks to Gary 
Gregory.
+*           Add FalseFileFilter.INSTANCE and deprecate FalseFileFilter.FALSE. 
Thanks to Gary Gregory.
+*           Add TrueFileFilter.INSTANCE and deprecate TrueFileFilter.TRUE. 
Thanks to Gary Gregory.
+*           FileSystemOptions implements Comparable. Thanks to Gary Gregory.
+*           Add RandomAccessMode.from(AccessMode) and toAccessModes(). Thanks 
to Gary Gregory.
+*           Extract the layer separator character constant into 
LayeredFileName.LAYER_SEPARATOR. Thanks to Gary Gregory.
+*           Add github/codeql-action.
+* VFS-821:  Deprecate FileSelector#traverseDescendents in favor of 
traverseDescendants. Thanks to Marc Wrobel, Gary Gregory.
+* VFS-821:  Add active port range configuration for FTP client factory #318. 
Thanks to Maksym Perevertov, Gary Gregory.
+* VFS-833:  Make constructor FileSystemOptions(Map) public. Thanks to Kannan 
Ramamoorthy, Bernd Eckenfels, Gary Gregory.
+*           Add a BOM POM commons-vfs2-bom. Thanks to Gary Gregory.
+
+Fixed Bugs:
+* VFS-854:  Avoid debug-logging URL credentials. Thanks to Andrey Turbanov.
+* VFS-853:  Double wrapped weak FileListener can lose change notification with 
DelegateFileObject. Thanks to Bernd Eckenfels.
+*           Replace package.html with package-info.java #206. Thanks to Seth 
Falco.
+* VFS-807:  LocalFile.doGetOutputStream(boolean) for an existing file no 
longer truncates the file. Thanks to Gary Gregory, L.
+*           Update the Javadoc link to not lead to 404. #218. Thanks to 
wodencafe.
+* VFS-810:  Percent encoded backslashes in authority of URLs aren't allowed 
for WebDav. Thanks to Jan Aelbrecht, Gary Gregory.
+* VFS-793:  GenericFileName.getURI() returns invalid URI. Thanks to Vitali 
Nashkevich, Gary Gregory.
+*           Fix typos in error messages. Thanks to Gary Gregory.
+*           LocalFile: Fix exception message "Unknown message with code" and 
use an actual message code. Thanks to Gary Gregory.
+* VFS-778:  SFTP channel isn't returned to the pool when 
SftpFileObject.doGetOutputStream throws an exception. #215. Thanks to 
zhouwenqing, Gary Gregory.
+*           Fix OSGi "Unused Import-Package instructions". Thanks to Gary 
Gregory.
+* VFS-813:  NullPointerException needs a better message in SftpClientFactory 
when connect with private key. Thanks to Andrey Turbanov, Gary Gregory.
+* VFS-811:  Javadoc API links are broken in the commons-vfs project site #227. 
Thanks to Woonsan Ko, Gary Gregory.
+* VFS-812:  Don't throw FileSystemException when closing file content output 
stream using a BufferedOutputStream #228. Thanks to XenoAmess, Gary Gregory.
+* VFS-814:  FtpFileObject: re-fetch MDTM after refresh #238. Thanks to Luke 
Wood, Gary Gregory.
+*           Simplify conditions and avoid extra checks #253. Thanks to Arturo 
Bernal.
+*           Refactor AbstractFileObject#getOutputStream() #151. Thanks to 
Boris Petrov, Gary Gregory.
+* VFS-770:  FileSystemManager.createFileSystem(FileObject) fails on Gzip 
files. #92. Thanks to Thomas BELOT, PeterAlfredLee, Gary Gregory.
+*           Simplify/remove redundant operations. #258. Thanks to Arturo 
Bernal.
+*           SFTP: Memory leak because AbstractFileProvider#findFileSystem. 
Thanks to Tobias Gierke, Gary Gregory.
+*           Fix typos #275, #276, #277. Thanks to Marc Wrobel.
+*           Fix links in Javadoc and documentations #284. Thanks to Marc 
Wrobel.
+*           [SFTP] Handle the case where a user does not have any groups #280. 
Thanks to Mark van der Walle, Gary Gregory.
+*           The dependency hadoop-hdfs-client is not set as optional #291. 
Thanks to ymenager.
+*           AbstractFileObject uses the wrong exception for "cause" #316. 
Thanks to Boris Petrov.
+*           JUnit5 assertThrows SftpFileSystemGroupsTests #323. Thanks to John 
Patrick.
+* VFS-825:  Fix for GZip input and output stream results in StackOverflowError 
#322. Thanks to Anthony Goubard.
+*           MonitorInputStream.read(byte[], int, int) and read() should be 
synchronized like the superclass BufferedInputStream. Thanks to Gary Gregory.
+* VFS-683:  Class loader thread safety #367. Thanks to Daryl Odnert, Otto 
Fowler, Bernd Eckenfels, Dave MacDonald, Ivan Bella, Gary Gregory.
+* VFS-832:  Sftp channel not put back in doGetInputStream #370. Thanks to 
Wangerry, Gary Gregory.
+*           [StepSecurity] ci: Harden GitHub Actions #401. Thanks to 
step-security-bot, Gary Gregory.
+* VFS-846:  Resolve a FileName to correct FileType #424. Thanks to beise, Gary 
Gregory.
+* VFS-844:  Prevent that source files urlString is twice URIEncoded #423. 
Thanks to beise, Gary Gregory.
+* VFS-843:  Close the HttpConnection after consuming the entire HttpEntity 
#421. Thanks to beise, Gary Gregory.
+* VFS-841:  Copy the Main class for testing with Jackrabbit Standalone 
Components instead of reusing #409. Thanks to Woonsan Ko, Gary Gregory.
+* VFS-849:  HttpConnection resources not properly cleaned up in webdav request 
#428. Thanks to beise, Gary Gregory.
+*           Don't use deprecated methods in 
org.apache.commons.vfs2.provider.ftp.FtpClientFactory. Thanks to Gary Gregory.
+*           Reduce deprecated calls in org.apache.commons.vfs2.provider.http5. 
Thanks to Gary Gregory.
+*           
DelegatingFileSystemOptionsBuilder.setConfigClass[es](FileSystemOptions, 
String, String, Class) now throw the more general ReflectiveOperationException 
instead of 2 subclasses. Thanks to Gary Gregory.
+* VFS-524:  A URI with an IPv6 address can't be parsed out correctly #438. 
Thanks to Alex, Fedor Yudanov, Gary Gregory.
+*           Port assertions to JUnit 5 APIs. Thanks to Gary Gregory.
+*           Scheme "http" now uses Apache HttpClient 5 instead of HttpClient 
3. Thanks to Gary Gregory.
+*           Scheme "https" now uses Apache HttpClient 5 instead of HttpClient 
3. Thanks to Gary Gregory.
+*           Deprecate package org.apache.commons.vfs2.provider.http in favor 
of org.apache.commons.vfs2.provider.http5. Thanks to Gary Gregory.
+*           Deprecate package org.apache.commons.vfs2.provider.https in favor 
of org.apache.commons.vfs2.provider.http5s. Thanks to Gary Gregory.
+*           Deprecate package org.apache.commons.vfs2.provider.http4 in favor 
of org.apache.commons.vfs2.provider.http5. Thanks to Gary Gregory.
+*           Deprecate package org.apache.commons.vfs2.provider.http4s in favor 
of org.apache.commons.vfs2.provider.http5s. Thanks to Gary Gregory.
+*           Support URLencoding during normalization #396. Thanks to Arnout 
Engelen, Gary Gregory.
+*           Add some documentation to make the unit tests easier to follow 
#556. Thanks to Arnout Engelen, Gary Gregory.
+*           Fix or address PMD warnings UnnecessaryReturn, 
UnusedLocalVariable, UnnecessaryFullyQualifiedName, UnnecessaryImport, and so 
on. Thanks to Gary Gregory.
+*           Simplify UriParser #558. Thanks to Arnout Engelen.
+
+Changes
+-------
+
+*           Bump actions/cache and others. Thanks to Dependabot, Gary Gregory.
+*           Bump actions/checkout #217, #220, #245, #315, and others. Thanks 
to Dependabot, Gary Gregory.
+*           Bump actions/setup-java #324, and others. Thanks to Gary Gregory, 
Dependabot.
+*           Bump actions/upload-artifact from #327, and others. Thanks to 
Dependabot.
+*           Bump jakarta.mail from 1.6.7 to 2.0.1 #200. Thanks to Dependabot.
+*           Bump commons.animal-sniffer.version from 1.19 to 1.21. Thanks to 
Gary Gregory.
+*           Bump com.puppycrawl.tools:checkstyle from 8.44 to 9.3 #211. Thanks 
to Gary Gregory.
+*           Bump com.github.spotbugs:spotbugs from 4.3.0 to 4.7.3 #216, #269, 
#319. Thanks to Dependabot, Gary Gregory.
+*           Bump spotbugs-maven-plugin from 4.3.0 to 4.7.3.0, #229, #236. 
#264, #282, #331, #333. Thanks to Gary Gregory, Dependabot.
+*           Bump org.apache.jackrabbit:jackrabbit-standalone-components from 
2.21.7 to 2.20.16, 2.21.x is beta only. Thanks to Dependabot, Gary Gregory.
+*           Bump org.apache.httpcomponents.client5:httpclient5 from 5.1 to 
5.4-beta1 #561. Thanks to Gary Gregory, Dependabot.
+*           Bump org.apache.httpcomponents.core5:httpcore5 from 5.1.5 to 
5.3-beta1 #369, #399, #429, #447, #559. Thanks to Dependabot.
+*           Bump org.apache.mina:mina-core from 2.1.4 to 2.1.8. Thanks to Gary 
Gregory, Dependabot.
+*           Bump maven-pmd-plugin from 3.14.0 to 3.19.0 #223, #294, #304. 
Thanks to Dependabot, Gary Gregory.
+*           Bump net.sourceforge.pmd:pmd-* from 6.36.0 to 6.53.0 #208, #247, 
#256, #261, #266, #270, #283, #339, #361. Thanks to Dependabot, Gary Gregory.
+*           Bump org.mockito:mockito-core from 3.11.2 to 4.11.0 #263, #292, 
#308, #337, #355, #359. Thanks to Gary Gregory, Dependabot.
+*           Bump maven-javadoc-plugin from 3.3.0 to 3.4.1, #293. Thanks to 
Gary Gregory, Dependabot.
+*           Bump biz.aQute.bnd:biz.aQute.bndlib from 5.3.0 to 6.3.1. Thanks to 
Gary Gregory.
+*           Bump commons.japicmp.version from 0.15.3 to 0.16.0. Thanks to Gary 
Gregory.
+*           Replace JUnit 4.13.2 with 5.9.1 #281, #306. Thanks to Gary 
Gregory, John Patrick, Dependabot.
+*           Bump org.apache.httpcomponents:httpcore-nio from 4.4.14 to 4.4.16, 
#341. Thanks to Gary Gregory, Dependabot.
+*           Bump Apache Log4j 2.14.1 to 2.23.1 [Tests] #226, #230, #305, #378, 
#448, #461, #487, #499. Thanks to Gary Gregory, Dependabot.
+*           Bump ftpserver-core from 1.1.1 to 1.1.2 #235. Thanks to XenoAmess.
+*           Bump hadoop.version from 3.3.1 to 3.3.6 #246, #262, #290, #386, 
#402. Thanks to Dependabot.
+*           Bump slf4j.version from 1.7.26 to 2.0.15 #484, #486, #524, #575, 
#580. Thanks to Dependabot.
+*           Bump org.apache.commons:commons-parent from 52 to 72 #497. Thanks 
to Dependabot, Gary Gregory.
+*           Bump org.ow2.asm:asm from 9.2 to 9.4. Thanks to Gary Gregory.
+*           Bump commons.jacoco.version from 0.8.7 to 0.8.8. Thanks to Gary 
Gregory.
+*           Bump commons.surefire.version from 3.0.0-M5 to 3.0.0-M7. Thanks to 
Gary Gregory.
+*           Bump Apache Commons BCEL from 6.5.0 to 6.10.0 #346, #451, #522, 
#569. Thanks to Gary Gregory, Dependabot.
+*           Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #321 Thanks to 
Dependabot.
+*           Bump commons-compress from 1.21 to 1.27.0 #329, #385, $498, #535, 
#579. Thanks to Dependabot, Gary Gregory.
+*           Bump commons-net:commons-net from 3.8.0 to 3.11.1 #546, #548. 
Thanks to Gary Gregory, Dependabot.
+*           Bump httpclient from 4.5.13 to 4.5.14 #344. Thanks to Dependabot.
+*           Bump commons-io:commons-io from 2.11.0 to 2.16.1 #515. Thanks to 
Gary Gregory.
+*           Bump commons-codec:commons-codec from 1.15 to 1.17.1 #480, #530, 
#567. Thanks to Gary Gregory.
+*           Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.16.0 #568, 
#577. Thanks to Gary Gregory.
+*           Bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.4.0 #445, 
#536, #576. Thanks to Dependabot.
+*           Bump commons-logging:commons-logging from 1.2 to 1.3.3, #531, 
#563. Thanks to Gary Gregory.
+*           Bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.2.0 #494. 
Thanks to Gary Gregory.
+*           Bump org.apache.commons:commons-collections4 from 4.4 to 4.5.0-M2. 
Thanks to Gary Gregory.
+*           Bump ant:ant 1.6.5 to org.apache.ant:ant 1.10.14. Thanks to Gary 
Gregory.
+
+
+Historical list of changes: 
https://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 Commons VFS Project 
website:
+
+https://commons.apache.org/proper/commons-vfs/
+
+Download page: https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+            Apache Commons VFS Project 2.9.0
+            RELEASE NOTES
+            2021-07-16
+
+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 or above.
+
+Changes in this version include:
+
+New features
+------------
+*           Add and use FileOperationProvider.EMPTY_ARRAY. Thanks to Gary 
Gregory.
+*           VFS.close(): Set `instance` to `null` after closing it; #163. 
Thanks to Boris Petrov.
+*           Fix closing the files cache after warning that not all components 
have been closed; #165. Thanks to Boris Petrov.
+*           Fix NPE when closing a stream from a different thread #167. See 
also #166. Thanks to Boris Petrov, Gary Gregory, Max Kellermann.
+* VFS-798:  IllegalArgumentException: Bad escape for Chinese characters in 
FileObject path #168. Thanks to XenoAmess, Gary Gregory.
+*           Minor changes #185. Thanks to Arturo Bernal.
+*           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.
+*           Replace construction of FileInputStream and FileOutputStream 
objects with Files NIO APIs. #164. Thanks to Arturo Bernal.
+*           Only use reflection VFS.createFileSystemManager(String) if the 
FileSystemManager is not a subclass of AbstractFileSystem. Thanks to Gary 
Gregory.
+*           Simplify if conditions #170. Thanks to Arturo Bernal.
+*           Redundant local variable #171. Thanks to Arturo Bernal.
+* VFS-804:  Fix and Refine Javadoc #174. Thanks to Arturo Bernal.
+* VFS-784:  SSL Connection failing with http4 provider with squid proxy nginx 
combination. Thanks to satish-csi, Michael Osipov, Gary Gregory.
+*           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.
+* VFS-805:  HTTP seek always exhausts response #186. Thanks to Claus Stadler, 
Gary Gregory.
+* 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.
+* VFS-759:  WebDAV providers should loaded only when commons-vfs2-jackrabbit* 
jars are available #84 Thanks to Woonsan Ko.
+*           Simplify conditions and avoid extra checks #187. Thanks to Arturo 
Bernal.
+* VFS-803:  Simplify if as some conditions are covered by others #173. Thanks 
to Arturo Bernal.
+
+Changes
+-------
+
+*           Bump Log4j 2.14.0 -> 2.14.1. Thanks to Gary Gregory.
+*           Bump Maven Surefire from 2.19.1 to 3.0.0-M5. Thanks to Gary 
Gregory.
+*           Bump net.sourceforge.pmd:pmd-* from 6.32.0 to 6.33.0.
+*           Bump checkstyle from 8.41 to 8.44 #175. Thanks to Dependabot, Gary 
Gregory.
+*           Bump actions/setup-java to v2 #177. Thanks to Boris Petrov.
+*           Bump mockito-core from 3.8.0 to 3.11.2 #178. Thanks to Dependabot, 
Gary Gregory.
+*           Bump commons-io from 2.8.0 to 2.10.0. Thanks to Gary Gregory.
+*           Bump actions/cache from 2.1.4 to 2.1.6 #183. Thanks to Dependabot.
+*           Bump jackrabbit2.version from 2.21.5 to 2.21.6 #180. Thanks to 
Dependabot.
+*           Bump commons.jacoco.version from 0.8.6 to 0.8.7. Thanks to Gary 
Gregory.
+*           Bump hadoop.version 3.3.0 to 3.3.1. Thanks to Gary Gregory.
+*           Bump commons.pmd.version from 6.33.0 to 6.36.0 #191. Thanks to 
Dependabot.
+*           Bump asm from 9.1 to 9.2 #194. Thanks to Dependabot.
+*           Bump commons-compress from 1.20 to 1.21 #195. Thanks to Dependabot.
+*           Bump httpclient5 from 5.0.3 to 5.1 #196. Thanks to Dependabot.
+*           Bump commons.spotbugs.version from 4.2.2 to 4.3.0. Thanks to Gary 
Gregory.
+*           Bump commons-io from 2.10.0 to 2.11.0 #197. Thanks to Gary Gregory.
+*           Bump commons.spotbugs.impl.version from 4.2.2 to 4.3.0.
+            Workaround https://github.com/spotbugs/spotbugs/issues/1539 Thanks 
to Gary Gregory.
+*           Bump commons.felix.version from 5.1.1 to 5.1.2. Thanks to Gary 
Gregory.
+*           Bump biz.aQute.bndlib.version from 5.1.2 to 5.3.0. Thanks to Gary 
Gregory.
+*           Bump commons.javadoc.version from 3.2.0 to 3.3.0. Thanks to Gary 
Gregory.
+*           Update from to javax.mail:mail 1.4.7 to com.sun.mail:jakarta.mail 
1.6.7. Thanks to Gary Gregory.
+
+
+Historical list of changes: 
https://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 Commons VFS Project 
website:
+
+https://commons.apache.org/proper/commons-vfs/
+
+Download page: https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+            Apache Commons VFS Project 2.8.0
+            RELEASE NOTES
+            2021-03-06
+
+The Apache Commons VFS Project team is pleased to announce the release of 
Apache Commons VFS Project 2.8.0.
+
+Apache Commons VFS is a Virtual File System library.
+
+Feature and maintenance release. Requires Java 8 or above.
+
+Changes in this version include:
+
+New features
+------------
+*           Add ability to remove a provider from DefaultFileSystemManager 
#149. Thanks to Boris Petrov, Gary Gregory.
+*           Add and use VFS.close(). Thanks to Gary Gregory.
+*           [FTP] Add support for ControlKeepAliveReplyTimeout and 
ControlKeepAliveTimeout. Thanks to Gary Gregory, xiaqingyun.
+*           [FTP] Tests can be configured with a custom FTP server command 
factory. Thanks to Gary Gregory, Michael Graham.
+* VFS-257:  [FTP] Add support for MDTM to get more accurate last modified 
times. Thanks to Andrew Franklin, Michael Graham, Gary Gregory.
+*           [FTP] Add 
FtpFileSystemConfigBuilder.setConnectTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [FTP] Add 
FtpFileSystemConfigBuilder.setDataTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [FTP] Add 
FtpFileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [FTP] Add 
FtpFileSystemConfigBuilder.getConnectTimeoutDuration(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [FTP] Add 
FtpFileSystemConfigBuilder.getDataTimeoutDuration(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [FTP] Add 
FtpFileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [FTP] Add 
FtpFileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP] Add 
HttpFileSystemConfigBuilder.setConnectionTimeout(FileSystemOptions, Duration) 
and deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP] Add 
HttpFileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP] Add 
HttpFileSystemConfigBuilder.getConnectionTimeout(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP] Add 
HttpFileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [SFTP] Add 
SftpFileSystemConfigBuilder.setConnectTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [SFTP] Add 
SftpFileSystemConfigBuilder.setSessionTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [SFTP] Add 
SftpFileSystemConfigBuilder.getConnectTimeout(FileSystemOptions) and deprecate 
Integer version. Thanks to Gary Gregory.
+*           [SFTP] Add 
SftpFileSystemConfigBuilder.getSessionTimeout(FileSystemOptions) and deprecate 
Integer version. Thanks to Gary Gregory.
+*           [HTTP4] Add 
Http4FileSystemConfigBuilder.setConnectionTimeout(FileSystemOptions, Duration) 
and deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP4] Add 
Http4FileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP4] Add 
Http4FileSystemConfigBuilder.getConnectionTimeoutDuration(FileSystemOptions) 
and deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP4] Add 
Http4FileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP5] Add 
Http5FileSystemConfigBuilder.setConnectionTimeout(FileSystemOptions, Duration) 
and deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP5] Add 
Http5FileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP5] Add 
Http5FileSystemConfigBuilder.getConnectionTimeoutDuration(FileSystemOptions) 
and deprecate Integer version. Thanks to Gary Gregory.
+*           [HTTP5] Add 
Http5FileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and 
deprecate Integer version. Thanks to Gary Gregory.
+*           Add AbstractFileSystem.AbstractFileSystem() for Serializable 
subclasses (PMD). Thanks to PMD, Gary Gregory.
+
+New features
+------------
+* VFS-783:  Based on WEBDAV4 vs. WEBDAV4S set back-end http scheme #118. 
Thanks to satish-csi, Michael Osipov, Woonsan Ko, Gary Gregory.
+* VFS-783:  Proper http scheme setting on webdav/webdav2 with unit tests #143. 
Thanks to satish-csi, Woonsan Ko, Gary Gregory.
+* VFS-783:  [SFTP] SftpFileSystem.executeCommand() should use UTF-8 instead of 
the platform default. Thanks to Gary Gregory.
+*           FileContentThreadData: lazy ArrayList initialization to save 
memory #155. Thanks to Max Kellermann.
+*           Fix possible ClassCastException in 
DefaultFileSystemManager.freeUnusedResources(). Thanks to Gary Gregory.
+* VFS-748:  TarProvider Incorrectly marks file IMAGINARY after garbage 
collection with WeakRefFilesCache, #97. Thanks to PeterAlfredLee, Gary Gregory.
+* VFS-794:  Fix file resource leak in CombinedResources (properties file) 
which keeps the Commons VFS jar file open. Thanks to Gary Gregory.
+*           Rework SoftRefFilesCache locking part 1 #158. Thanks to Max 
Kellermann, Bruno P. Kinoshita, Gary Gregory.
+* VFS-785:  [HTTP4][HTTP5] Credentials conflict when root and proxy hosts are 
same name but different ports, #120. Thanks to satish bhor, Michael Osipov, 
Gary Gregory.
+*           Rework SoftRefFilesCache locking #154. Thanks to Max Kellermann, 
Gary Gregory, Florent Guillaume, Bruno P. Kinoshita, Bernd.
+* VFS-782:  Pass correct proxy authentication credentials #117. Thanks to 
satish-csi, Gary Gregory.
+
+Changes
+-------
+
+*           Modify some code use for-each loop and stream API #142. Thanks to 
PeterAlfredLee.
+*           Simplify some String tests in method Os#determineOsFamily #147. 
Thanks to PeterAlfredLee.
+*           Update org.mockito:mockito-core 3.5.13 -> 3.8.0. Thanks to Gary 
Gregory.
+*           Update org.apache.jackrabbit:jackrabbit-* 2.21.3 -> 2.21.5. Thanks 
to Gary Gregory.
+*           Bump actions/checkout from v2.3.3 to v2.3.4 #144. Thanks to 
Dependabot.
+*           Update tests from Log4j 2.13.3 to 2.14.0. Thanks to Gary Gregory.
+*           Update com.puppycrawl.tools:checkstyle 8.36.2 -> 8.41. Thanks to 
Gary Gregory.
+*           Update maven-checkstyle-plugin 3.1.1 -> 3.1.2. Thanks to Gary 
Gregory.
+*           Update org.apache.httpcomponents:httpcore-nio 4.4.13 -> 4.4.14. 
Thanks to Gary Gregory.
+*           Modify some calls of method Collection.toArray #145. Thanks to 
PeterAlfredLee, Gary Gregory.
+*           Update commons.japicmp.version 0.14.3 -> 0.15.3. Thanks to Gary 
Gregory.
+*           Minor Improvements, #152, #156, #160. Thanks to Arturo Bernal.
+*           Update commons.spotbugs.version 4.1.4 -> 4.2.0. Thanks to Gary 
Gregory.
+*           Update commons.spotbugs.impl.version 4.1.3 -> 4.2.0. Thanks to 
Gary Gregory.
+*           Bump actions/cache from v2 to v2.1.4 #159. Thanks to Dependabot.
+*           Update commons-net:commons-net 3.7.2-> 3.8.0. Thanks to Gary 
Gregory.
+*           Update junit 4.13.1 -> 4.13.2. Thanks to Gary Gregory.
+*           Update maven-pmd-plugin 3.13.0 -> 3.14.0. Thanks to Gary Gregory.
+* VFS-795:  Code improvements for SoftRefFilesCache (simplify loop, use 
isEmpty, ...). Thanks to Max Kellermann.
+*           Update commons-lang3 3.11 -> 3.12.0. Thanks to Gary Gregory.
+
+
+Historical list of changes: 
https://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 Commons VFS Project 
website:
+
+https://commons.apache.org/proper/commons-vfs/
+
+Download page: https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+            Apache Commons VFS Project 2.7.0
+            RELEASE NOTES
+            2020-10-19
+
+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 or above.
+
+Changes in this version include:
+
+New features
+------------
+* VFS-757:  [SFTP] Configure whether exec detection is enabled #80. Thanks to 
ddg-igh.
+*           Add proxy config for some HTTP/HTTPS test #108. Thanks to 
PeterAlfredLee.
+*           Fix some test error when JVM's default language is not US en #107. 
Thanks to PeterAlfredLee.
+* VFS-787:  Allow users to set proxy schemes like http/https #122. Thanks to 
satish bhor.
+* VFS-786:  Allow users to set custom keystore types like JCEKS, PKCS12 #121. 
Thanks to satish bhor.
+* VFS-570:  Add HDFS write support #114. Thanks to garpinc, Gary Gregory.
+*           Add FileObject.getURI(). Thanks to Gary Gregory.
+*           Add FileObject.getPath(). Thanks to Gary Gregory.
+* 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.
+*           Add 
org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.isDisableDetectExecChannel(FileSystemOptions)
 and setDisableDetectExecChannel(FileSystemOptions, boolean). Thanks to Gary 
Gregory.
+*           Add 
org.apache.commons.vfs2.FileSystemConfigBuilder.toBooleanObject(boolean). 
Thanks to Gary Gregory.
+*           org.apache.commons.vfs2.provider.VfsComponent now implements 
java.io.Closeable. Thanks to Gary Gregory.
+*           Modify some code use try-with-resources #138. Thanks to 
PeterAlfredLee.
+
+New features
+------------
+* VFS-753:  NumberFormatException in SftpFileSystem::getUId. Thanks to John 
Webb, Gary Gregory.
+* 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.
+*           Modify some loop using stream API #96. Thanks to PeterAlfredLee.
+* VFS-780:  SftpFileSystem returns null channel and produce NPE - fix get… 
#110. Thanks to Wuchte.
+* VFS-788:  [webdav/webdav4] Jackrabbit1 and jackrabbit2 modules getting same 
OSGi symbolic name. Thanks to satish bhor.
+* VFS-624:  Fix for read() in constructors of LocalFileRandomAccessContent and 
RamFileRandomAccessContent #93. Thanks to PeterAlfredLee.
+* VFS-769:  Fix .tgz and .tbz2 createFileSystem fails #94 Thanks to 
PeterAlfredLee.
+* VFS-664:  Fix for file names with exclamation mark can not be read #95. 
Thanks to PeterAlfredLee.
+* VFS-777:  NoSuchMethodError due to multiple versions of 
commons-codec:commons-codec:jar. Thanks to Bing-ok, Gary Gregory.
+*           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.
+*           FileObject.getURL() returns an illegal URL when a it should escape 
a space. Thanks to Gary Gregory.
+*           Fix test fail caused by lack proxy configuration for machines 
behind a proxy #139. Thanks to PeterAlfredLee.
+
+Changes
+-------
+
+*           Update some file from CRLF to LF #141. Thanks to PeterAlfredLee.
+* VFS-755:  Update org.apache.httpcomponents:httpclient from 4.5.10 to 4.5.11. 
Thanks to Gary Gregory.
+* VFS-756:  Update org.apache.jackrabbit:jackrabbit-standalone-components from 
2.19.6 to 2.21.3. Thanks to Gary Gregory.
+* VFS-754:  Update Apache Commons Compress from 1.19 to 1.20. Thanks to Gary 
Gregory.
+*           Update tests from Apache Commons Lang 3.9 to 3.11. Thanks to Gary 
Gregory.
+*           Update tests from Log4j 2.13.0 to 2.13.3. Thanks to Gary Gregory.
+*           Update tests from org.mockito:mockito-core from 3.2.4 to 3.5.13, 
#131. Thanks to Gary Gregory, Dependabot.
+*           Update Apache Commons IO from 2.6 to 2.8.0. Thanks to Gary Gregory.
+*           Update site reports from org.apache.bcel:bcel 6.4.1 to 6.5.0. 
Thanks to Gary Gregory.
+*           Update actions/checkout from v1 to v2.3.3 #100, #109, #130. Thanks 
to Dependabot.
+*           Update actions/setup-java from v1.4.0 to v1.4.3 #111, #113, #133. 
Thanks to Dependabot.
+*           Update commons-parent from 50 to 52. Thanks to Gary Gregory.
+*           Update checkstyle from 8.27 to 8.36.2 #123, #132. Thanks to 
Dependabot.
+*           Update maven-pmd-plugin from 3.12.0 to 3.13.0 #125. Thanks to 
Dependabot.
+*           Update exec-maven-plugin from 1.6.0 to 3.0.0 #127. Thanks to 
Dependabot.
+*           Update com.puppycrawl.tools:checkstyle 8.36 -> 8.36.1. Thanks to 
Gary Gregory.
+*           Update Apache Commons Net from 3.6 to 3.7.2. Thanks to Gary 
Gregory.
+*           Update JUnit from 4.13 to 4.13.1. Thanks to Gary Gregory.
+
+
+Historical list of changes: 
https://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 Commons VFS Project 
website:
+
+https://commons.apache.org/proper/commons-vfs/
+
+Download page: https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+            Apache Commons VFS Project 2.6.0
+            RELEASE NOTES
+            2020-01-06
+
+The Apache Commons VFS Project team is pleased to announce the release of 
Apache Commons VFS Project 2.6.0.
+
+Apache Commons VFS is a Virtual File System library.
+
+New features and bug fix release.
+
+Changes in this version include:
+
+New features
+------------
+*           Clean up tests and simplify assertions #76. Thanks to Eitan Adler.
+* VFS-750:  Fix backwards incompatibility in 
AbstractFileObject.getInputStream(). Thanks to Boris Petrov, Gary Gregory.
+* VFS-751:  Deprecate org.apache.commons.vfs2.FileUtil for 
org.apache.commons.vfs2.util.FileObjectUtils. Thanks to Gary Gregory.
+
+Changes
+-------
+
+*           Update JUnit from 4.12 to 4.13. Thanks to Gary Gregory.
+
+
+Historical list of changes: 
https://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 Commons VFS Project 
website:
+
+https://commons.apache.org/proper/commons-vfs/
+
+Download page: https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+            Apache Commons VFS 2.5.0
+            RELEASE NOTES
+            2019-12-24
+
+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
+------------
+* VFS-734:  Add functional interface 
org.apache.commons.vfs2.function.VfsConsumer. Thanks to Gary Gregory.
+* VFS-735:  Add org.apache.commons.vfs2.FileSystemManager.close() via 
AutoCloseable. Thanks to Gary Gregory.
+* VFS-736:  Add org.apache.commons.vfs2.VFS.reset(). Thanks to Gary Gregory.
+* VFS-742:  Add org.apache.commons.vfs2.FileContent.isEmpty(). Thanks to Gary 
Gregory.
+* VFS-743:  Add 
org.apache.commons.vfs2.provider.compressed.CompressedFileFileObject.SIZE_UNDEFINED.
 Thanks to Gary Gregory.
+* VFS-687:  Add http5 and http5s providers (#74) Thanks to Woonsan Ko, Gary 
Gregory.
+* VFS-686:  Add webdav4 provider based on the latest Jackrabbit 2.x #52. 
Thanks to Woonsan Ko, Gary Gregory.
+* VFS-738:  Deprecate org.apache.commons.vfs2.FileChangeEvent.getFile() in 
favor of getFileObject(). Thanks to Gary Gregory.
+
+New features
+------------
+* VFS-741:  FileObject#getChildren allows listing of files with known scheme 
prefix (generalizes VFS-398).
+* VFS-726:  getInputStream(int bufferSize) on SftpFileObject effectively 
ignores buffer size. Thanks to Cornelius Höfig, Gary Gregory.
+* VFS-704:  Some providers wrap their input/output streams twice in a 
BufferedInputStream. Thanks to Boris Petrov, Gary Gregory.
+* VFS-727:  Prevented creation of singleton file system manager from 
providers. Thanks to Michiel Hendriks, Gary Gregory.
+* VFS-733:  Parent layer of ZipFileSystem set to null through 
OnCallRefreshFileObject and DecoratedFileObject.refresh(). Thanks to Falco, 
Gary Gregory, Bruno P. Kinoshita.
+* VFS-739:  Changes to parseUri breaks backward compatibility by throwing 
NullPointerException in some cases. Thanks to xia0c, Gary Gregory.
+* VFS-744:  org.apache.commons.vfs2.FileContent.getByteArray() can throw 
NegativeArraySizeException for BZip2 files. Thanks to Gary Gregory.
+* 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.
+* 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.
+* VFS-444:  ResourceFileProvider "res://" failed to obtain FileObject from 
resolved FileName. Thanks to Walter Eaves, Xavier Dury, Michiel Hendriks, Gary 
Gregory.
+
+Changes
+-------
+
+* VFS-737:  Update Hadoop from 3.2.0 to 3.2.1. Thanks to Gary Gregory.
+* VFS-728:  Update Apache Commons Compress from 1.18 to 1.19. Thanks to Gary 
Gregory.
+* VFS-729:  Upgrade Hadoop to 2.7.4 or later; will use current 3.2.0. Thanks 
to Michiel Hendriks, Gary Gregory.
+* VFS-731:  Update org.apache.httpcomponents:httpclient from 4.5.9 to 4.5.10. 
Thanks to Gary Gregory.
+* VFS-732:  Update org.apache.httpcomponents:httpcore-nio from 4.4.11 to 
4.4.12. Thanks to Gary Gregory.
+*           Update tests using org.mockito:mockito-core from 3.0.0 to 3.1.0. 
Thanks to Gary Gregory.
+* VFS-749:  Update Apache Commons Parent from 48 to 50. Thanks to Gary Gregory.
+
+
+Historical list of changes: 
https://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 Commons VFS website:
+
+https://commons.apache.org/proper/commons-vfs/
+
+Download it from https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+            Apache Commons VFS 2.4.1
+            RELEASE NOTES
+            2019-08-10    
+
+The Apache Commons VFS team is pleased to announce the release of Apache 
Commons VFS 2.4.1
+
+Apache Commons VFS is a Virtual File System library.
+
+New features and bug fix release.
+
+Changes in this version include:
+
+New features
+------------
+* VFS-725:  [Local] org.apache.commons.vfs2.FileContent.getLastModifiedTime() 
is losing milliseconds (always ends in 000). Thanks to Gary Gregory.
+* VFS-724:  FileContent#getByteArray() throws IllegalArgumentException: Buffer 
size <= 0 when file size is 0. Thanks to William R, Gary Gregory.
+*           Javadoc fixes. Thanks to Gary Gregory.
+
+
+Historical list of changes: 
https://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 Commons VFS website:
+
+Visit https://commons.apache.org/proper/commons-vfs/
+
+Download it from https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+            Apache Commons VFS 2.4
+            RELEASE NOTES
+
+The Apache Commons VFS team is pleased to announce the release of Apache 
Commons VFS 2.4.
+
+Apache Commons VFS is a Virtual File System library.
+
+New features and bug fix release.
+
+Changes in this version include:
+
+New features
+------------
+* VFS-690:  Allow to set key exchange algorithm explicitly. GitHub #32.
+* VFS-497:  Ported filters from Commons IO #9. Thanks to Michael Schnell.
+* VFS-696:  More efficient comparison in FileExtensionSelector #44. Thanks to 
Robert DeRose.
+* VFS-660:  Expose workaround for connecting to FTP server from different 
subnets in PASV mode #35. Thanks to Liu Yubao.
+* VFS-699:  Add setting for FTP encoding auto-detection #58. Thanks to Boris 
Petrov.
+* VFS-706:  Add ability to specify buffer sizes #59. Thanks to Boris Petrov.
+* VFS-609:  SFTP provider doesn't support a private key as byte array #60. 
Thanks to stevezhuang, Rostislav, Gary Gregory.
+* VFS-707:  Update Apache HttpClient from 4.5.7 to 4.5.8. Thanks to Gary 
Gregory.
+* VFS-712:  Add null-safe 
org.apache.commons.vfs2.util.FileObjectUtils.exists(FileObject). Thanks to Gary 
Gregory.
+* VFS-713:  Add FileObjectUtils.readProperties(FileObject) method to read a 
.properties file. Thanks to Gary Gregory.
+* VFS-715:  Add org.apache.commons.vfs2.FileContent.getByteArray(). Thanks to 
Gary Gregory.
+* VFS-719:  Add methods to get the contents of file objects as strings. Thanks 
to Gary Gregory.
+* VFS-720:  Implement Closeable for RandomAccessContent #66. Thanks to Boris 
Petrov.
+* VFS-721:  Add support for symbolic links for the local file system and add 
FileObject#isSymbolicLink(). Thanks to Gary Gregory.
+
+New features
+------------
+* VFS-694:  Fix inability to start the DefaultFileMonitor after it has been 
stopped. GitHub PR #55. Thanks to Boris Petrov.
+* VFS-696:  SFTP HTTP and SOCKS proxy authentication. GitHub PR #49. Thanks to 
rayzzed.
+* VFS-707:  [SFTP] SftpFileSystem.executeCommand(String, StringBuilder) can 
leak ChannelExec objects. Thanks to Gary Gregory.
+* VFS-709:  [SFTP] SftpFileSystem.getGroupsIds() can initialize underlying 
data more than once while multithreading. Thanks to Gary Gregory.
+* VFS-710:  [SFTP] SftpFileSystem.getUid() can initialize underlying data more 
than once while multithreading. Thanks to Gary Gregory.
+* VFS-711:  [SFTP] SftpFileSystem can initialize underlying Session more than 
once while multithreading. Thanks to Gary Gregory.
+* VFS-662:  [SFTP] SftpFileSystem has Thread-safe issue about idleChannel 
(#36). Thanks to qxo, Alexey Abashev, Gary Gregory.
+* VFS-700:  Some tests fail on Java 11 and above. Thanks to Gary Gregory, 
Matthias Krueger.
+* VFS-716:  Fix AbstractFileName.getURI returning unencoded #-sign #64. Thanks 
to Boris Petrov.
+* VFS-698:  SFTP file attributes are fetched multiple times leading to very 
slow directory listing; #65. Thanks to David Septimus, Bernd.
+* VFS-717:  Update org.apache.httpcomponents:httpclient from 4.5.8 to 4.5.9. 
Thanks to Gary Gregory.
+* VFS-718:  MonitorInputStream should not close the stream in "read" #67. 
Thanks to Boris Petrov.
+
+Changes
+-------
+
+* VFS-692:  Update Apache Commons Collections from 4.2 to 4.3. Thanks to Gary 
Gregory.
+* VFS-693:  Add support for customizing FTP transfer aborted status codes. 
GitHub PR #51. Thanks to Boris Petrov, Gary Gregory.
+* VFS-702:  Simplify adding files to DefaultFileMonitor #57. Thanks to Boris 
Petrov.
+* VFS-703:  Update Apache Commons Lang from 3.8.1 to 3.9. Thanks to Gary 
Gregory.
+* VFS-722:  Update Apache Commons Collections from 4.3 to 4.4. Thanks to Gary 
Gregory.
+*           Source incompatibility: 
org.apache.commons.vfs2.FileFilter.accept(FileSelectInfo) now throws checked 
exception FileSystemException.
+*           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.
+*           Public API note: The overridden method 
org.apache.commons.vfs2.provider.sftp.SftpFileObject#refresh() was removed but 
is implemented in a superclass.
+*           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: 
https://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 Commons VFS website:
+
+Visit https://commons.apache.org/proper/commons-vfs/
+
+Download it from https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+              Apache Commons VFS 2.3
+                  RELEASE NOTES
+
+The Apache Commons VFS team is pleased to announce the release of Apache 
Commons VFS 2.3.
+
+Apache Commons VFS is a Virtual File System library.
+
+New features and bug fix release.
+
+Changes in this version include:
+
+New features
+------------
+* VFS-677:  [SFTP] Add support for append mode. Thanks to dingxbcn.
+* VFS-673:  [SFTP] Support com.jcraft.jsch.ConfigRepository (~/.ssh/config) 
with SftpFileSystemConfigBuilder and flag to load OpenSSHConfig. Thanks to 
Oleksandr Lykhonosov.
+* VFS-673:  DefaultFileSystemManager should implement AutoCloseable. Thanks to 
Daniel Banks.
+* VFS-637:  Zip files with legacy encoding and special characters let VFS 
crash. Thanks to Gary Gregory.
+* VFS-360:  Add HTTP provider based on HttpComponents HttpClient 4. Thanks to 
Woonsan Ko.
+* VFS-689:  
org.apache.commons.vfs2.provider.http.HttpFileObject.getHeadMethod() does not 
release connection when an exception is thrown. Thanks to Gary Gregory.
+
+New features
+------------
+* VFS-645:  VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and up.
+* VFS-678:  Fix various LGTM.com code review warnings.
+* VFS-652:  PatternFileSelector documentation to describe actual matching 
against getPath().
+* VFS-589:  SFTP moveTo operation hangs if the server does not support SSH 
channelExec. Thanks to L, Gary Gregory.
+* VFS-655:  OSGI MANIFEST.MF "Import-Package" should be 
";resolution:=optional" for Maven "optional" dependencies. Thanks to Arnaud 
MERGEY.
+* VFS-657:  FileSelector implementations like FileDepthSelector should throw 
Exception. Thanks to Elias Putz.
+* VFS-614:  MonitorInputStream should not close the stream in read(). Thanks 
to Boris Petrov, Otto Fowler.
+* 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.
+* VFS-669:  
org.apache.commons.vfs2.util.CombinedResources.loadResources(String) should not 
throw an NPE for the system class loader is null.
+* VFS-675:  NullPointerException at AbstractFileObject.java:221.
+* VFS-674:  Cannot close an FTP input stream without an exception. Thanks to 
Boris Petrov, Gary Gregory.
+* VFS-294:  NullPointerException in FtpFileObject.getChildFile(). Thanks to 
Johannes Scharf.
+* VFS-679:  NullPointerException in FtpFileObject.doGetLastModifiedTime(). 
Thanks to Boris Petrov, Gary Gregory.
+* VFS-398:  FtpFileObject.getChildren() fails when a folder contains a file 
with a colon in the name. Thanks to Otto Fowler.
+
+Changes
+-------
+
+* VFS-650:  Update Apache Commons Compress from 1.15 to 1.16.1.
+* VFS-646:  Update Apache Commons Compress from 1.14 to 1.15.
+* VFS-653:  Replace use of deprecated APIs in HDFS provider.
+* VFS-666:  Update Apache Commons Collections from 4.1 to 4.2.
+* VFS-668:  Throw a NPE with a better message when a class loader is null.
+* VFS-671:  Update Apache Commons Compress from 1.16.1 to 1.18.
+* VFS-680:  Update from Java 7 to Java 8.
+* VFS-681:  VFS.setManager should be synchronized; #43. Thanks to Robert 
DeRose.
+* VFS-682:  Throw a org.apache.commons.vfs2.FileSystemException instead of a 
NullPointerException in 
org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveName(FileName, 
String, NameScope).
+* VFS-688:  [SFTP] Update jsch from 0.1.54 to 0.1.55.
+
+
+Historical list of changes: 
https://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 Commons VFS website:
+
+Visit https://commons.apache.org/proper/commons-vfs/
+
+Download it from https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+              Apache Commons VFS 2.2
+                  RELEASE NOTES
+
+The Apache Commons VFS team is pleased to announce the release of Apache 
Commons VFS 2.2.
+
+Apache Commons VFS is a Virtual File System library.
+
+New features and bug fix release.
+
+Changes in this version include:
+
+New features
+------------
+* VFS-628:  Add a file inverter FileSelector: InvertIncludeFileSelector.
+
+New features
+------------
+* VFS-189:  Possible NPE in DefaultFileSystemManager.
+* VFS-620:  FileObject.moveTo(FileObject) API doesn't work well for a Linux 
FTP. Thanks to stevezhuang.
+* VFS-291:  ZIP archives are not properly closed after unzipping and cannot be 
deleted until the JVM exists.
+* VFS-644:  AbstractFileSystem.streamClosed() always sets openStream count to 
zero.
+
+Changes
+-------
+
+* VFS-642:  Upgrade to jcifs 1.3.17 Thanks to ilangoldfeld.
+* VFS-612:  Update the platform requirement from Java 6 to Java 7.
+* VFS-615:  Update Apache Commons Compress from 1.11 to 1.12.
+* VFS-629:  Update Apache Commons Compress from 1.12 to 1.13.
+* VFS-639:  Update Apache Commons Compress from 1.13 to 1.14.
+* VFS-631:  Update from Apache Commons Net 3.5 to 3.6.
+* VFS-632:  Update from JCraft jsch for SFTP/SSH from 0.1.53 to 0.1.54.
+* VFS-621:  Add API VFS.setManager(FileSystemManager).
+* VFS-643:  VFS should not log at the INFO level.
+
+Known Problems:
+* VFS-645:  VfsClassLoaderTests fails on Java 9.
+
+
+Historical list of changes: 
https://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 Commons VFS website:
+
+Visit https://commons.apache.org/proper/commons-vfs/
+
+Download it from https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------
+
+              Apache Commons VFS 2.1
+                  RELEASE NOTES
+
+The Apache Commons VFS team is pleased to announce the release of Apache 
Commons VFS 2.1.
+
+Apache Commons VFS is a Virtual File System library.
+
+New features and bug fix release.
+
+Please note that the Clirr report shows several errors.
+These may affect source compatibility.
+However they should not affect binary compatibility, as explained below.
+
+FileContent, FileName, FileObject, FileSystemManager, RandomAccessContent:
+The above interfaces have been updated to add new methods.
+This does not affect binary compatibility; for details please see:
+https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.5.3-100
+The above changes may affect source compatibility.
+ Changes to method parameters and return types in TarFileObject and 
TarFileSystem
+The original parameter/return types were the following:
+org.apache.commons.vfs2.provider.tar.TarEntry
+org.apache.commons.vfs2.provider.tar.TarInputStream
+The above were package protected, so any methods using them did not form part 
of the public API.
+Therefore source and binary compatibility is not affected.
+
+Changes in this version include:
+
+New features
+------------
+* VFS-198:  [http] Make user agent configurable. Thanks to Andrew Franklin, 
Simon Legner.
+* VFS-555:  [hdfs] Add the ability to specify an HDFS configuration file with 
HdfsFileSystemConfigBuilder.
+*           [example] make VFS Shell print version and implement new 'info' 
command.
+* VFS-532:  [FTP] Allow configuring remoteVerificationEnabled on FTPClient 
instances. Thanks to Gareth Daniel Smith.
+* VFS-468:  [FTPS] Add option for KeyManager (and TrustManager) to support 
FTPS servers that ask for the client certificate for authentication.
+* VFS-412:  [FTPS] Add support for command to set the 
DataChannelProtectionLevel. Thanks to Jose Juan Montiel.
+* VFS-442:  [HDFS] Add an HDFS FileSystem Provider. Thanks to Dave Marion.
+* VFS-447:  [FTP/FTPS] Update Apache Commons Net to 3.2 from 3.1.
+* VFS-445:  Add FileSystemManager.resolveFile(URI) and resolveFile(URL).
+* VFS-440:  [SFTP] Stream (e.g. netcat) proxy for Sftp file system (aka 
ProxyCommand). Thanks to bpiwowar.
+* VFS-432:  [HTTP][WebDAV] Allow HTTP follow redirect.
+* VFS-431:  FileSystemOption does not implement toString().
+* VFS-405:  Get/set the file permissions. Thanks to dwaszak.
+* VFS-426:  HTTP URL query string not part of cache key. Thanks to 
daniel.bergholm.
+* VFS-425:  Add API FileObject.isExecutable().
+* VFS-421:  [SFTP] Configure a custom Identity Repository. Thanks to bpiwowar.
+* VFS-417:  [RAM][Local] Add and implement new API: 
RandomAccessContent.setLength(long).
+* VFS-400:  Add a FileSelector based on regular expressions.
+* VFS-254:  Let FileObject and FileContent extend java.io.Closeable. Thanks to 
mzawirski.
+* VFS-252:  [SMB] SmbFileObject does not support setLastModifiedTime while 
jcifs supports it.
+* VFS-313:  [FTP] Configuration does not include option for setting socket 
timeout. Thanks to bda...@saintandreas.org.
+* VFS-414:  [FTP] Add config API to set the file type.
+* VFS-182:  [FTP] Usage of FTP with heterogeneous FTP server (possibility of 
using Ascii file type).
+* VFS-381:  Iterate over a FileObject using the Java "foreach" statement, to 
provide all descendants of a FileObject.
+* VFS-373:  Add FileContent write APIs.
+* VFS-372:  Add constructors FileDepthSelector() and FileDepthSelector(int).
+* VFS-371:  Add FileObject API deleteAll().
+* VFS-370:  Add a FileExtensionSelector class.
+* VFS-367:  Add APIs FileObject isFile(), FileObject isFolder(), and FileName 
isFile().
+
+New features
+------------
+* VFS-424:  Fix StandardFileSystemManager class loading so it works in a OSGi 
environment.
+* VFS-490:  [vfsclassloader] Do not open folders with .jar extension. Adds 
tests.
+* VFS-582:  [tests] revert rename of getTestDirectoryFile to make test classes 
more compatible for external providers.
+* VFS-480:  Make startup of SoftRefsFileCache cleaner thread work and less 
racy to avoid leaks.
+* VFS-549:  Use File.separator instead of getProperty("file.separator").
+* VFS-567:  [ftp] Ignore exceptions while QUIT/disconnect. Thanks to Antonio 
Petrelli.
+* VFS-572:  [sftp] better documentation for knownhosts file option. Thanks to 
Sandra Parsick.
+* VFS-574:  Ensure FileOperationProviders are closed. Adds some testcases.
+            The error code for missing operations exceptions corrected: 
vfs.operation/operation-not-supported.error
+* VFS-279:  [local] Avoid ClassCastException when replicating local files 
while OnCall caching is active. Thanks to Didier Earith, Simon Legner.
+* VFS-297:  [sftp] VSF fails to reuse FileSystem instances if 
FileSystemOptions contain
+            an array as value. Reported for SFTP using identities. Thanks to 
Kirill Safonov, Jimmy Praet.
+* VFS-202:  [http] Allow URLs responding with 405 to HEAD requests. Thanks to 
Sergey Vladimirov, Simon Legner.
+* VFS-490:  [hdfs] Make OSGi package imports for hdfs resolution=optional.
+            Removed all scopes from dependency management.
+* VFS-560:  [http] avoid initial HEAD request to root of HttpFileSystem as it 
might be wrong context.
+* VFS-236:  [smb] Allow SMB to be used with no authentication. Thanks to Matt 
Casters.
+* VFS-564:  Make some loggers static. Thanks to Dmitry Konstantinov.
+* VFS-557:  [webdav][test] Create WebDav test directory in target/test. Avoid 
creating core/jackrabbit/tmp.
+            Logfiles of Jackrabbit are preserved when 
-DWebdavProviderTestCase.Debug=true is specified.
+* VFS-558:  Make moveTo() and getParent() work with CacheStrategy.ON_CALL.
+            In case of FTP Provider it would lead otherwise to an 
UnsupportedOperationException.
+*           [sandbox] RACRandomAccessFile is now in 
org.apache.commons.vfs2.util package (so sandbox has only one overlapping 
package).
+* VFS-552:  [sandbox] include vfs-providers.xml in JAR for dynamic 
registration of mime and smb providers.
+* VFS-551:  Javadoc: make it clear that DefaultCryptor is only an obfuscation 
function. Thanks to David Camilo Espitia Manrique.
+* VFS-309:  DefaultFileContent will remove thread data whenever possible to 
avoid leaks.
+* VFS-487:  DefaultFileMonitor detects recreated files. Thanks to Dave Marion.
+* VFS-523:  [HDFS] Make HdfsFileObject.equal use system hashcode/equals 
instead of
+            wrongly comparing file path only. Thanks to Roger Whitcomb.
+* VFS-544:  [Virtual] Allow virtual file systems and virtual file system 
provider
+            to be closed, to avoid memory leak.
+* VFS-142:  Use ThreadLocal.remove() to clean out FileContentThreadData 
objects. Thanks to Ryan Boettcher.
+* VFS-545:  Make DefaultFilesCache remove reference to filesystem when it is 
cleared (closed).
+* VFS-521:  [Ram][Tests] Make RAM provider test pass on Java 8
+            (JDK-8042377, self-suppression not permitted, 
MonitorOutputStream#close()).
+* VFS-338:  [Local][Tests] Avoid IndexOutOfBoundsException when validating 
local file URIs. Thanks to Daniel R..
+* VFS-489:  [tests] ProviderWriteTests#testListener does not fail cleanly. 
Thanks to Bernd Eckenfels.
+* VFS-486:  DefaultFileMonitor sleeps for twice the specified delay when 
checkPerRun > 0. Thanks to Sam Haldane.
+* VFS-482:  Wrong assertion messages in RAM provider test case.
+* VFS-460:  Dependency to commons-compress set as optional.
+* VFS-464:  StaticUserAuthenticator should return only requested 
authentication data.
+* VFS-461:  [FTP/FTPS] ConfigBuilder does not consider system properties for 
the value of SoTimeout and Encoding.
+* VFS-458:  [FTPS] Provider missed functionality and bug fixes already 
available for the FTP provider.
+* VFS-452:  [HTTP] HttpFileObject read/write attributes should reflect 
underlying FileSystem capabilities. Thanks to Jean-Marc Borer.
+* VFS-285:  AbstractFileObject.getChildren() may corrupt its internal state if 
a filename
+            can not be resolved. Thanks to Kirill Safonov.
+* VFS-450:  [HDFS] HDFSFileSystem.resolveFile() does not honor 
CacheStrategy.ON_RESOLVE. Thanks to Dave Marion.
+* VFS-448:  commons-vfs 2.0 JAR has flawed OSGi MANIFEST.MF.
+* VFS-439:  StaticUserAuthenticator usage example wrong. Thanks to pensecit.
+* VFS-437:  [FTP] StackOverFlowError getting the type of a directory with a 
symbolic link to a parent directory with the same name. Thanks to denniszhu, 
danttran, jpowang.
+* VFS-435:  FileSystemConfigBuilder does not use prefix for some system 
property lookups. Thanks to george scott.
+* VFS-434:  FileSystemException should reuse IOException's chained exception.
+* VFS-433:  [WebDAV] Message "vfs.provider.webdav/propfind.error" is not 
defined.
+* VFS-430:  The SoftRefFilesCache class logs clear text password. Thanks to 
antonin.stefanutti.
+* VFS-429:  Remove extra FileSystem ivar in AbstractFileObject subclasses with 
generics.
+* VFS-427:  [HTTP] NPE on HttpFileObject.getContent().getContentInfo(). Thanks 
to awelynant.
+* VFS-406:  [RAM] resize throws ArrayOOBE when shrinking in size. Thanks to 
mp1.
+* VFS-353:  [FTP] Client should call logout before disconnecting. Thanks to 
bergander.
+* VFS-408:  CompressedFileFileObject Exception thrown when container file has 
no extension. Thanks to ani...@yahoo.com.
+* VFS-258:  [SFTP][RAM] Unsafe casting to AbstractFileObject subclasses in 
doRename(). Thanks to mzawirski.
+* VFS-413:  [FTP] No support for FTP servers with non Latin-1 control 
encoding. Thanks to polivenok.
+* VFS-200:  [SFTP] Failure when files are very large.
+* VFS-296:  [FTP] FTP socket timeout setting doesn't work if connect hangs. 
Thanks to andreasp.
+* VFS-410:  [SFTP] SftpFileObject getInputStream(long) reads the whole file 
into memory. Thanks to mstockhammer.
+* VFS-407:  [RAM] Reading a RAM FileSystem file fails because it never returns 
EOF -1. Thanks to mp1.
+* VFS-382:  SFTP getChildren() does not fail when called on a file.
+* VFS-380:  FTP connect.error message used instead of SFTP connect.error 
message.
+* VFS-378:  Tar error message are missing from resource file.
+* VFS-374:  Incorrect lazy initialization of static field 
org.apache.commons.vfs2.util.Messages.resources in 
org.apache.commons.vfs2.util.Messages.findMessage(String)Add FileContent write 
APIs.
+* VFS-355:  The read method of RamFileRandomAccessContent's input stream does 
not return -1 at eof. Thanks to Miroslav Pokorny.
+* VFS-356:  Throw an IOException if an attempt is made to seek to a position 
before the start of the file.
+* VFS-359:  Don't delete a RamFileObject if it is open. Thanks to Miroslav 
Pokorny.
+* VFS-352:  ZipFileSystem now uses an internal Map as a cache for all the 
files in the zip archive.
+* VFS-351:  Chain the SftpException in the FileSystemException. Thanks to John 
Backstrand.
+* VFS-325:  Allow # character in file names. Thanks to Larry Reeve.
+* VFS-335:  Use atomic variables in MonitorInputStream.
+* VFS-364:  Check the href in the response for just a path in addition to a 
full uri.
+
+Changes
+-------
+
+* VFS-607:  Update Apache Commons Compress from 1.10 to 1.11.
+* VFS-608:  Update Apache Commons Net from 3.4 to 3.5.
+* VFS-530:  [hdfs] Use stable Apache Hadoop 2.6 dependencies. Thanks to Dave 
Marion.
+* VFS-601:  Update Apache Commons Net from 3.3 to 3.4.
+* VFS-602:  Update Apache Commons IO from 2.4 to 2.5.
+* VFS-579:  Update Jsch from 0.1.51 to 0.1.53.
+* VFS-542:  Update Jsch from 0.1.50 to 0.1.51.
+* VFS-578:  Update Apache Commons Compress from 1.9 to 1.10.
+* VFS-541:  Update Apache Commons Compress from 1.6 to 1.9.
+* VFS-540:  Update Apache Commons Logging from 1.1.3 to 1.2.
+* VFS-539:  Update Apache Commons Lang from 3.1 to 3.3.2.
+* VFS-526:  [HDFS][Tests] Support HDFS testing on Windows (but keep profile 
"no-hdfs" enabled on Windows VFS-529).
+* VFS-453:  [HTTP][WEBDAV] Add file system options for connect and socket 
timeout. Thanks to Jiri Syrovy.
+* VFS-167:  [FTP] Allow Proxy support to file system options. Thanks to Jimmy 
Praet.
+* VFS-520:  Make Javadoc compatible with Java 8 tool.
+* VFS-518:  Documentation of FileSystemOptions should be more helpful. Thanks 
to Roland Illig.
+* VFS-500:  VFSClassLoader.findResources missing. Thanks to Bernd Eckenfels.
+* VFS-514:  [tests] PermissionsTests leaves unclean test directory. Thanks to 
Bernd Eckenfels.
+* VFS-501:  Hide passwords from log/console output. Thanks to Yves Schumann.
+* VFS-496:  Resource translation issues. Thanks to Bernd Eckenfels.
+* VFS-494:  [SFTP] No support for SFTP servers with non Latin-1 file name 
encoding. Thanks to Allen Xudong Cheng.
+* VFS-368:  [SFTP] Documentation implies that "userDirIsRoot" defaults to 
true. Thanks to Brendan Long.
+* VFS-265:  [FTP] Set user dir as root dir by default. Thanks to Scott 
Bjerstedt.
+* VFS-484:  [SFTP] Update Jsch to 0.1.50 from 0.1.49.
+* VFS-507:  Update to Apache Commons Collection 4.1 from 3.2.1 and use 
generics.
+* VFS-476:  Update Apache Commons Logging to 1.1.3 from 1.1.2.
+* VFS-475:  Update Apache Commons Net to 3.3 from 3.2.
+* VFS-506:  [Tar][Bzip2] Update Apache Commons Compress to 1.6 from 1.5.
+* VFS-471:  Update to Apache Commons Compress 1.5.
+* VFS-283:  [SFTP] SFTP provider did not support passphrase-protected keys nor 
the exchange of a public key with
+            a requesting SFTP server. To support such triples (private 
key/passphrase/public key) instead of private
+            keys only, a new structure EntityInfo has been created. 
SftpFileSystemConfigBuilder has now the new
+            getter and setter methods getIdentityInfo and setIdentity info 
which replace the now deprecated methods
+            getIdentities and setIdentities.
+* VFS-463:  FileSystemConfigBuilder supports system properties for the value 
of enum-based configuration entries.
+* VFS-462:  [FTPS] Deprecate FtpsFileSystemConfigBuilder.setFtpsType and 
FtpsFileSystemConfigBuilder.getFtpsType
+            in favor of FtpsFileSystemConfigBuilder.setFtpsMode and 
FtpsFileSystemConfigBuilder.getFtpsMode which
+            use new enum FtpsMode instead.
+* VFS-459:  [FTP/FTPS] Sent commands and the received answer is logged at 
debug level.
+* VFS-457:  Update test dependencies: sshd-core version 0.7.0 to 0.8.0; 
mina-core 2.0.4 to 2.0.7; junit 4.11 to 4.12; slf4j-* 1.5.5 to 1.5.11
+* VFS-456:  Use org.bouncycastle:bcprov-jdk16 instead of 
org.bouncycastle:bcprof-jdk15on since Java 1.6 is required.
+* VFS-415:  Update VFS requirement to Java 1.6.
+* VFS-418:  Update to Apache Commons Compress 1.4.1.
+* VFS-321:  AbstractFileObject sometimes uses getFileSystem() and sometimes 
references "fs" field directly. Thanks to sebb.
+* VFS-327:  UriParser.canonicalizePath possible NPE for filenameParser. Thanks 
to sebb.
+* VFS-416:  [SFTP] Update Jsch to version 0.1.49 from 0.1.47.
+* VFS-395:  [POM] Remove maven-scm-* dependencies.
+* VFS-411:  [SFTP] Update Jsch to version 0.1.47 from 0.1.46.
+* VFS-409:  Update Apache Commons Compress to 1.4 from 1.3.
+* VFS-404:  [FTP][FTPS] Update Apache Commons Net to 3.1 from 3.0.1.
+* VFS-402:  [WebDAV] Update Apache Jackrabbit 1.5.2 to 1.6.5.
+* VFS-401:  Update JSch to 0.1.46 from 0.1.45 for the SFTP provider.
+* VFS-392:  Build tests WebDAV file system with an embedded WebDAV server 
(Apache Jackrabbit).
+* VFS-391:  Build tests URL HTTP file system with an embedded HTTP server 
(Apache HttpComponent Core).
+* VFS-390:  Use variable argument list in 
org.apache.commons.vfs2.util.Messages instead of Object[].
+* VFS-389:  Use variable argument lists in FileSystemException instead of 
Object[]s.
+* VFS-388:  Build tests SFTP file system with an embedded SFTP server (Apache 
MINA).
+* VFS-387:  Build tests FTP file system with an embedded FTP server (Apache 
MINA).
+* VFS-386:  Build tests HTTP file system with an embedded HTTP server (Apache 
HttpComponent Core).
+* VFS-385:  Add HTTP status code to HTTP file provider exception messages when 
available.
+* VFS-384:  Update Apache Commons Net to 3.0.1 from 2.2 for FTP and SFTP 
providers.
+* VFS-383:  Update JSch to 0.1.45 from 0.1.42 for the SFTP provider.
+* VFS-379:  Replace custom BZIP2 code with Apache Commons Compress 1.3.
+* VFS-377:  Replace custom TAR code with Apache Commons Compress 1.3.
+* VFS-375:  Upgrade to Apache Commons Compress 1.3 from 1.2.
+* VFS-366:  Can't sort a List of FileObject's, FileObject to implement 
Comparable<FileObject>.
+* VFS-341:  Enable logging of JSch using the Commons Logging Log object in 
SftpClientFactory. Thanks to Rajika Kumarasiri.
+* VFS-361:  Upgrade commons collections version to 3.2.1.
+
+Removed
+-------
+
+* VFS-469:  Remove unused dependency to javax.jcr:jcr.
+
+Historical list of changes: 
https://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 Commons VFS website:
+
+Visit https://commons.apache.org/proper/commons-vfs/
+
+Download it from https://commons.apache.org/proper/commons-vfs/download_vfs.cgi
+
+-----------------------------------------------------------------------------

Added: dev/commons/vfs/2.10.0-RC1/binaries/HEADER.html
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/binaries/HEADER.html (added)
+++ dev/commons/vfs/2.10.0-RC1/binaries/HEADER.html Sat Aug 10 14:51:13 2024
@@ -0,0 +1,31 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<h2>Apache Commons Project Distributions</h2>
+
+<p>
+    The most recent source and binary releases for the Apache Commons project 
are available from this
+    directory listing. For older releases, please use the
+    <a href="https://archive.apache.org/dist/commons/";>archives</a>.
+</p>
+
+<h2>Important Notices</h2>
+
+<ul>
+    <li><a href="#mirrors">Download from your nearest mirror site!</a></li>
+    <li><a href="#sig">PGP/GPG Signatures</a></li>
+</ul>
+

Added: dev/commons/vfs/2.10.0-RC1/binaries/README.html
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/binaries/README.html (added)
+++ dev/commons/vfs/2.10.0-RC1/binaries/README.html Sat Aug 10 14:51:13 2024
@@ -0,0 +1,66 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<h1>Commons-VFS v2.10.0.</h1>
+
+<p>This is the 2.10.0 version of commons-vfs2-distribution. It is available in 
both binary and source distributions.</p>
+
+
+<p><font color="red" size="+2">Note:</font>
+    The tar files in the distribution use GNU tar extensions
+    and must be untarred with a GNU compatible version of tar. The version
+    of tar on Solaris and Mac OS X will not work with these files</p>
+
+<a name="changes"><h2>Changes</h2></a>
+
+<p>The changes in this release are detailed in the release notes.</p>
+
+<p>Thank you for using <a 
href="https://commons.apache.org/proper/commons-vfs/commons-vfs2-distribution/";>VFS</a>.</p>
+
+<p>From the Apache Commons Project<br><a 
href="https://commons.apache.org/";>https://commons.apache.org/</a></p>
+
+<h2><a name="mirrors">Download from your
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/";>nearest mirror 
site!</a></a></h2>
+
+<p>
+    Do not download from www.apache.org.  Please use a mirror site
+    to help us save apache.org bandwidth.
+    <a href="http://www.apache.org/dyn/closer.cgi/commons/";>Go
+        here to find your nearest mirror.</a>
+</p>
+
+<a name="sig"><h2>Signatures</h2></a>
+
+<p>Many of the files have been digitally signed using GnuPG.  If so,
+    there will be an accompanying <samp><em>file</em>.asc</samp> signature
+    file in the same directory as the file (binaries/ or source/).  The
+    signing keys can be found in the distribution directory at &lt;<a
+            
HREF="http://downloads.apache.org/commons/KEYS";><samp>http://downloads.apache.org/commons/KEYS</samp></a>&gt;.</p>
+
+<p><b>Always download the KEYS file directly from the Apache site, never from 
a mirror site.</b></p>
+
+
+<pre>Always test available signatures, <i>e.g.</i>,
+$ pgpk -a KEYS
+$ pgpv commons-vfs2-distribution-2.10.0-bin.tar.gz.asc
+or,
+$ pgp -ka KEYS
+$ pgp commons-vfs2-distribution-2.10.0-bin.tar.gz.asc
+or,
+$ gpg --import KEYS
+$ gpg --verify commons-vfs2-distribution-2.10.0-bin.tar.gz.asc
+</pre>
+<p>
\ No newline at end of file

Added: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz
==============================================================================
Binary file - no diff available.

Propchange: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.asc
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.asc 
(added)
+++ dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.asc Sat 
Aug 10 14:51:13 2024
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCgAdFiEELbTx7w+nYezE6pNchv3H4qESYssFAma3flgACgkQhv3H4qES
+Ystx+Qf/eqiTwAQQGmBMLjYuCJPbSXdXAzgMBYTubn/ek8bK2Kl/WPP4rPf7Rgyf
+WwQ6dRdLfZlnMKnFqS8EniqL/9Jra9RfO3h7Uva78HuvxQJMbFnJnu7VB6zJbRmg
+cP3idbJhx4CKk9rAY9bCtMVxU7/76Y4YFD9x9wgOw4R/I1NNbZg/Xm3BGgDQNyPl
+eMbOY0uKID2X852fijjD55gufPc7WfSMxMASukRr6naNFqhAcKLZ2Gle7rp+3aE9
+45uYvkX9x7h5H/N87ZNpO3ujQq+WV87DmWwskVRObUAxn2Ug49v7O6svBb7RCqdy
+7XjizTyHej3mcDTKwoiml6dsXgp/RQ==
+=Ehqr
+-----END PGP SIGNATURE-----

Added: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.sha512
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.sha512 
(added)
+++ dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.tar.gz.sha512 
Sat Aug 10 14:51:13 2024
@@ -0,0 +1 @@
+15509f3f9588e8fcae0ee65f4c64bcb7cd18f05550e363d37d39cd03d01b2fb527e7d9f172e9833c8dea99beef79a696513bb964607f92f9e27227d45736b669

Added: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip
==============================================================================
Binary file - no diff available.

Propchange: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.asc
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.asc (added)
+++ dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.asc Sat Aug 
10 14:51:13 2024
@@ -0,0 +1,11 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQEzBAABCgAdFiEELbTx7w+nYezE6pNchv3H4qESYssFAma3flgACgkQhv3H4qES
+YsvocQf7Bnk7IyPpaBoMVY43lxS91SJFcqSsna3JYKlWjb1M9xUq4aJb1ib3efKj
+zogKXQLlna6APDBz8lyrA3KNc3R29zJPG7uySjUu+Q2f6eS/vR7Acllie3XjYDAK
+TQPlLSmfr0n/MkOlhJcrjc3mMeZ4jblc58YmhXiy3nkqzDBgbA40lf0V6jfuisf3
+8raItuaPIJJzn0KliqXthE7pHxTJtVSP0SyMePnRSTMkKz944Te3Qf8Y8Nu42e2x
+cfoZhS0wpnKj5miRUMNXNLhwZNzd5pbZP/V93OEGXDVylJtvWqYEsAKipDMUoHMl
+fK1t/J0HV1pad7n6oDXxlf22c8HAvw==
+=42CH
+-----END PGP SIGNATURE-----

Added: dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.sha512
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.sha512 
(added)
+++ dev/commons/vfs/2.10.0-RC1/binaries/commons-vfs-2.10.0-bin.zip.sha512 Sat 
Aug 10 14:51:13 2024
@@ -0,0 +1 @@
+ecd46fbde9686e7dacaf5f50823f75bec673992f0965ef3e8937db701c4042f30d0e311a3a34ff9612da3e353a25ac7429690d401f73581b5cf6ea22449f1e30

Added: dev/commons/vfs/2.10.0-RC1/signature-validator.sh
==============================================================================
--- dev/commons/vfs/2.10.0-RC1/signature-validator.sh (added)
+++ dev/commons/vfs/2.10.0-RC1/signature-validator.sh Sat Aug 10 14:51:13 2024
@@ -0,0 +1,161 @@
+#!/bin/bash -x
+###########
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+###########
+# DOCUMENTATION.
+# This script is to be placed in the root of the svn dist checkout.
+# For example, my directory looks like:
+#
+#   drwxr-xr-x@  8 usr  staff   256 Oct  1 11:22 .svn
+#   -rw-r--r--@  1 usr  staff  1230 Oct  1 11:22 HEADER.html
+#   -rw-r--r--@  1 usr  staff  2649 Oct  1 11:22 README.html
+#   -rw-r--r--@  1 usr  staff  5093 Oct  1 11:22 RELEASE-NOTES.txt
+#   drwxr-xr-x@ 10 usr  staff   320 Oct  1 11:22 binaries
+#   -rw-r--r--@  1 usr  staff  3900 Oct  1 13:40 signature-validation.sh
+#   drwxr-xr-x@ 44 usr  staff  1408 Oct  1 11:22 site
+#   drwxr-xr-x@ 10 usr  staff   320 Oct  1 11:37 source
+#
+# From here you run ./signature-validation.sh and it will create a directory 
"artifacts-for-validation-deletable-post-validation
+# in which all of the binaries generated by a release are copied and then it 
checks to see that all of the signatures and hashes
+# are infact correct for the artifacts.
+#
+###########
+
+if test "$#" != "1"
+then
+  echo "ERROR:"
+  echo "We expect the a url like 
https://repository.apache.org/content/repositories/orgapachecommons-1531/commons-net/commons-net/3.7.1/";
+  echo "to be passed in as a parameter to the script."
+fi
+
+
+
+BASEDIR="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
+VALIDATION_DIR=${BASEDIR}/artifacts-for-validation-deletable-post-validation
+BINARIES_DIR=${BASEDIR}/binaries
+SOURCE_DIR=${BASEDIR}/source
+
+BASE_NEXUS_URL="$1"
+
+function clean_and_build_validation_dir() {
+       mkdir -p ${VALIDATION_DIR}
+}
+
+function copy_in_checked_out_artifacts() {
+       cp ${BASEDIR}/binaries/commons* ${VALIDATION_DIR}
+       cp ${BASEDIR}/source/commons* ${VALIDATION_DIR}
+}
+
+function download_nexus_artifacts_to_validation_directory() {
+       # Curls html page and does text modification to put artifacts in 
semicolon delimited list
+       # ...(ugly but works, debug by removing pipes one at a time)
+       echo "INFO: Downloading artifacts from nexus"
+
+  echo ${BASE_NEXUS_URL}
+       NEXUS_ARTIFACTS=$(curl ${BASE_NEXUS_URL} \
+                              | grep "${BASE_NEXUS_URL}" \
+                              | cut -d '>' -f3 \
+                              | sed "s|</a|;|g" \
+                         | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g' \
+                         | sed 's/ //g'
+                       )
+       IFS=';' read -r -a array <<< "${NEXUS_ARTIFACTS}"
+
+       for element in "${array[@]}"
+       do
+               ARTIFACT_NAME=$(echo $element | cut -d '/' -f7)
+               echo $ARTIFACT_NAME
+               URL="${BASE_NEXUS_URL}${element}"
+               curl $URL -o ${VALIDATION_DIR}/$ARTIFACT_NAME
+       done
+}
+
+function validate_signatures() {
+       echo "INFO: Validating Signatures in ${VALIDATION_DIR}"
+       ALL_ARTIFACTS=$(ls -Al ${VALIDATION_DIR} \
+                                         | awk -F':[0-9]* ' '/:/{print $2}' \
+                                    | sed -e ':a' -e 'N' -e '$!ba' -e 
's/\n/;/g' \
+                                )
+
+  ARTIFACTS_FOR_VALIDATION=()
+
+  IFS=';' read -r -a array <<< "${ALL_ARTIFACTS}"
+
+  for element in "${array[@]}"
+  do
+    if [[ ! (${element} =~ ^.*asc$ || ${element} =~ ^.*sha512$ || ${element} 
=~ ^.*md5$ || ${element} =~ ^.*sha1$) ]];
+    then
+      ARTIFACTS_FOR_VALIDATION=("${ARTIFACTS_FOR_VALIDATION[@]}" $element)
+    fi
+  done
+
+       for element in "${ARTIFACTS_FOR_VALIDATION[@]}"
+  do
+    if [[ ${element} =~ ^.*tar.gz.*$ || ${element} =~ ^.*zip.*$ ]];
+    then
+      ARTIFACT_SHA512=$(openssl sha512 ${VALIDATION_DIR}/$element | cut -d '=' 
-f2 | cut -d ' ' -f2)
+      FILE_SHA512=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.sha512)
+      if test "${ARTIFACT_SHA512}" != "${FILE_SHA512}"
+      then
+        echo "$element failed sha512 check"
+        echo "==${ARTIFACT_SHA512}=="
+        echo "==${FILE_SHA512}=="
+        exit 1;
+      fi
+    else
+      ARTIFACT_MD5=$(openssl md5 ${VALIDATION_DIR}/$element | cut -d '=' -f2 | 
cut -d ' ' -f2)
+      FILE_MD5=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.md5)
+      ARTIFACT_SHA1=$(openssl sha1 ${VALIDATION_DIR}/$element | cut -d '=' -f2 
| cut -d ' ' -f2)
+      FILE_SHA1=$(cut -d$'\r' -f1 ${VALIDATION_DIR}/$element.sha1)
+      if test "${ARTIFACT_MD5}" != "${FILE_MD5}"
+      then
+        echo "$element failed md5 check"
+        echo "==${ARTIFACT_MD5}=="
+        echo "==${FILE_MD5}=="
+        exit 1;
+      fi
+      if test "${ARTIFACT_SHA1}" != "${FILE_SHA1}"
+      then
+        echo "$element failed sha1 check"
+        echo "==${ARTIFACT_SHA1}=="
+        echo "==${FILE_SHA1}=="
+        exit 1;
+      fi
+
+
+      gpg --verify ${VALIDATION_DIR}/$element.asc ${VALIDATION_DIR}/$element > 
/dev/null 2>&1
+      if test "$?" != "0"
+      then
+        echo "$element failed gpg signature check"
+        exit 1;
+      fi
+    fi
+  done
+
+  echo "SUCCESSFUL VALIDATION"
+}
+
+function clean_up_afterwards() {
+  rm -rf ${VALIDATION_DIR}
+}
+
+
+echo $(clean_and_build_validation_dir)
+echo $(copy_in_checked_out_artifacts)
+echo $(download_nexus_artifacts_to_validation_directory)
+echo $(validate_signatures)
+#clean_up_afterwards
+



Reply via email to