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 <<a + HREF="http://downloads.apache.org/commons/KEYS"><samp>http://downloads.apache.org/commons/KEYS</samp></a>>.</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 <<a + HREF="http://downloads.apache.org/commons/KEYS"><samp>http://downloads.apache.org/commons/KEYS</samp></a>>.</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 +