Apache Commons logo Commons VFS

Apache Commons VFS Release Notes

Release History

Version Date Description
2.9.0 2021-06-16 Maintenance release. Requires Java 8.
2.8.0 2021-03-06 Feature and maintenance release. Requires Java 8.
2.7.0 2020-10-26 Feature and maintenance release. Requires Java 8.
2.6.0 2020-01-06 Feature and maintenance release.
2.5.0 2019-12-24 Feature and maintenance release.
2.4.1 2019-08-10 Bug fix release.
2.4 2019-07-12 Feature and maintenance release.
2.3 2019-02-01 Feature and maintenance release.
2.2 2017-10-06 Feature and maintenance release.
2.1 2016-05-19 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.
2.0 2011-08-24 Backwards incompatible update of Commons VFS to Java 5

Release 2.9.0 – 2021-06-16

Type Changes By
Fix Add and use FileOperationProvider.EMPTY_ARRAY. Thanks to Gary Gregory. ggregory
Fix VFS.close(): Set `instance` to `null` after closing it; #163. Thanks to Boris Petrov. ggregory
Fix Fix closing the files cache after warning that not all components have been closed; #165. Thanks to Boris Petrov. ggregory
Fix Fix NPE when closing a stream from a different thread #167. See also #166. Thanks to Boris Petrov, Gary Gregory, Max Kellermann. ggregory
Fix IllegalArgumentException: Bad escape for Chinese characters in FileObject path #168. Fixes VFS-798. Thanks to XenoAmess, Gary Gregory. ggregory
Fix Minor changes #185. Thanks to Arturo Bernal. ggregory
Fix 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. ggregory
Fix Replace construction of FileInputStream and FileOutputStream objects with Files NIO APIs. #164. Thanks to Arturo Bernal. ggregory
Fix Only use reflection VFS.createFileSystemManager(String) if the FileSystemManager is not a subclass of AbstractFileSystem. Thanks to Gary Gregory. ggregory
Fix Simplify if conditions #170. Thanks to Arturo Bernal. ggregory
Fix Redundant local variable #171. Thanks to Arturo Bernal. ggregory
Fix Fix and Refine Javadoc #174. Fixes VFS-804. Thanks to Arturo Bernal. ggregory
Fix SSL Connection failing with http4 provider with squid proxy nginx combination. Fixes VFS-784. Thanks to satish-csi, Michael Osipov, Gary Gregory. ggregory
Fix 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. ggregory
Fix HTTP seek always exhausts response #186. Fixes VFS-805. Thanks to Claus Stadler, Gary Gregory. ggregory
Fix SftpFileObject: Add synchronized to methods that read or write the thread-unsafe instance variable of type com.jcraft.jsch.SftpATTRS. Fixes VFS-805. Thanks to Max Kellermann, Mark Thomas, Bernd, Gary Gregory. ggregory
Fix WebDAV providers should loaded only when commons-vfs2-jackrabbit* jars are available #84. Fixes VFS-759. Thanks to Woonsan Ko. ggregory
Fix Simplify conditions and avoid extra checks #187. Thanks to Arturo Bernal. ggregory
Fix Simplify if as some conditions are covered by others #173. Fixes VFS-803. Thanks to Arturo Bernal. ggregory
Update Bump Log4j 2.14.0 -> 2.14.1. Thanks to Gary Gregory. ggregory
Update Bump Maven Surefire from 2.19.1 to 3.0.0-M5. Thanks to Gary Gregory. ggregory
Update Bump net.sourceforge.pmd:pmd-* from 6.32.0 to 6.33.0. ggregory
Update Bump checkstyle from 8.41 to 8.44 #175. Thanks to Dependabot, Gary Gregory. ggregory
Update Bump actions/setup-java to v2 #177. Thanks to Boris Petrov. ggregory
Update Bump mockito-core from 3.8.0 to 3.11.2 #178. Thanks to Dependabot, Gary GRegory. ggregory
Update Bump commons-io from 2.8.0 to 2.10.0. Thanks to Gary Gregory. ggregory
Update Bump actions/cache from 2.1.4 to 2.1.6 #183. Thanks to Dependabot. ggregory
Update Bump jackrabbit2.version from 2.21.5 to 2.21.6 #180. Thanks to Dependabot. ggregory
Update Bump commons.jacoco.version from 0.8.6 to 0.8.7. Thanks to Gary Gregory. ggregory
Update Bump hadoop.version 3.3.0 to 3.3.1. Thanks to Gary Gregory. ggregory
Update Bump commons.pmd.version from 6.33.0 to 6.36.0 #191. Thanks to Dependabot. ggregory
Update Bump asm from 9.1 to 9.2 #194. Thanks to Dependabot. ggregory
Update Bump commons-compress from 1.20 to 1.21 #195. Thanks to Dependabot. ggregory
Update Bump httpclient5 from 5.0.3 to 5.1 #196. Thanks to Dependabot. ggregory
Update Bump commons.spotbugs.version from 4.2.2 to 4.3.0. Thanks to Gary Gregory. ggregory
Update Bump commons-io from 2.10.0 to 2.11.0 #197. Thanks to Gary Gregory. ggregory
Update 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. ggregory
Update Bump commons.felix.version from 5.1.1 to 5.1.2. Thanks to Gary Gregory. ggregory
Update Bump biz.aQute.bndlib.version from 5.1.2 to 5.3.0. Thanks to Gary Gregory. ggregory
Update Bump commons.javadoc.version from 3.2.0 to 3.3.0. Thanks to Gary Gregory. ggregory
Update Update from to javax.mail:mail 1.4.7 to com.sun.mail:jakarta.mail 1.6.7. Thanks to Gary Gregory. ggregory

Release 2.8.0 – 2021-03-06

Type Changes By
Fix Based on WEBDAV4 vs. WEBDAV4S set back-end http scheme #118. Fixes VFS-783. Thanks to satish-csi, Michael Osipov, Woonsan Ko, Gary Gregory. ggregory
Fix Proper http scheme setting on webdav/webdav2 with unit tests #143. Fixes VFS-783. Thanks to satish-csi, Woonsan Ko, Gary Gregory. ggregory
Fix [SFTP] SftpFileSystem.executeCommand() should use UTF-8 instead of the platform default. Fixes VFS-783. Thanks to Gary Gregory. ggregory
Fix FileContentThreadData: lazy ArrayList initialization to save memory #155. Thanks to Max Kellermann. ggregory
Fix Fix possible ClassCastException in DefaultFileSystemManager.freeUnusedResources(). Thanks to Gary Gregory. ggregory
Fix TarProvider Incorrectly marks file IMAGINARY after garbage collection with WeakRefFilesCache, #97. Fixes VFS-748. Thanks to PeterAlfredLee, Gary Gregory. ggregory
Fix Fix file resource leak in CombinedResources (properties file) which keeps the Commons VFS jar file open. Fixes VFS-794. Thanks to Gary Gregory. ggregory
Fix Rework SoftRefFilesCache locking part 1 #158. Thanks to Max Kellermann, Bruno P. Kinoshita, Gary Gregory. ggregory
Fix [HTTP4][HTTP5] Credentials conflict when root and proxy hosts are same name but different ports, #120. Fixes VFS-785. Thanks to satish bhor, Michael Osipov, Gary Gregory. ggregory
Fix Rework SoftRefFilesCache locking #154. Thanks to Max Kellermann, Gary Gregory, Florent Guillaume, Bruno P. Kinoshita, Bernd. ggregory
Fix Pass correct proxy authentication credentials #117. Fixes VFS-782. Thanks to satish-csi, Gary Gregory. ggregory
Add Add ability to remove a provider from DefaultFileSystemManager #149. Thanks to Boris Petrov, Gary Gregory. ggregory
Add Add and use VFS.close(). Thanks to Gary Gregory. ggregory
Add [FTP] Add support for ControlKeepAliveReplyTimeout and ControlKeepAliveTimeout. Thanks to Gary Gregory, xiaqingyun. ggregory
Add [FTP] Tests can be configured with a custom FTP server command factory. Thanks to Gary Gregory, Michael Graham. ggregory
Add [FTP] Add support for MDTM to get more accurate last modified times. Fixes VFS-257. Thanks to Andrew Franklin, Michael Graham, Gary Gregory. ggregory
Add [FTP] Add FtpFileSystemConfigBuilder.setConnectTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [FTP] Add FtpFileSystemConfigBuilder.setDataTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [FTP] Add FtpFileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [FTP] Add FtpFileSystemConfigBuilder.getConnectTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [FTP] Add FtpFileSystemConfigBuilder.getDataTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [FTP] Add FtpFileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [FTP] Add FtpFileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP] Add HttpFileSystemConfigBuilder.setConnectionTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP] Add HttpFileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP] Add HttpFileSystemConfigBuilder.getConnectionTimeout(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP] Add HttpFileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [SFTP] Add SftpFileSystemConfigBuilder.setConnectTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [SFTP] Add SftpFileSystemConfigBuilder.setSessionTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [SFTP] Add SftpFileSystemConfigBuilder.getConnectTimeout(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [SFTP] Add SftpFileSystemConfigBuilder.getSessionTimeout(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP4] Add Http4FileSystemConfigBuilder.setConnectionTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP4] Add Http4FileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP4] Add Http4FileSystemConfigBuilder.getConnectionTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP4] Add Http4FileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP5] Add Http5FileSystemConfigBuilder.setConnectionTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP5] Add Http5FileSystemConfigBuilder.setSoTimeout(FileSystemOptions, Duration) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP5] Add Http5FileSystemConfigBuilder.getConnectionTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add [HTTP5] Add Http5FileSystemConfigBuilder.getSoTimeoutDuration(FileSystemOptions) and deprecate Integer version. Thanks to Gary Gregory. ggregory
Add Add AbstractFileSystem.AbstractFileSystem() for Serializable subclasses (PMD). Thanks to PMD, Gary Gregory. ggregory
Update Modify some code use for-each loop and stream API #142. Thanks to PeterAlfredLee. ggregory
Update Simplify some String tests in method Os#determineOsFamily #147. Thanks to PeterAlfredLee. ggregory
Update Update org.mockito:mockito-core 3.5.13 -> 3.8.0. Thanks to Gary Gregory. ggregory
Update Update org.apache.jackrabbit:jackrabbit-* 2.21.3 -> 2.21.5. Thanks to Gary Gregory. ggregory
Update Bump actions/checkout from v2.3.3 to v2.3.4 #144. Thanks to Dependabot. ggregory
Update Update tests from Log4j 2.13.3 to 2.14.0. Thanks to Gary Gregory. ggregory
Update Update com.puppycrawl.tools:checkstyle 8.36.2 -> 8.41. Thanks to Gary Gregory. ggregory
Update Update maven-checkstyle-plugin 3.1.1 -> 3.1.2. Thanks to Gary Gregory. ggregory
Update Update org.apache.httpcomponents:httpcore-nio 4.4.13 -> 4.4.14. Thanks to Gary Gregory. ggregory
Update Modify some calls of method Collection.toArray #145. Thanks to PeterAlfredLee, Gary Gregory. ggregory
Update Update commons.japicmp.version 0.14.3 -> 0.15.3. Thanks to Gary Gregory. ggregory
Update Minor Improvements, #152, #156, #160. Thanks to Arturo Bernal. ggregory
Update Update commons.spotbugs.version 4.1.4 -> 4.2.0. Thanks to Gary Gregory. ggregory
Update Update commons.spotbugs.impl.version 4.1.3 -> 4.2.0. Thanks to Gary Gregory. ggregory
Update Bump actions/cache from v2 to v2.1.4 #159. Thanks to Dependabot. ggregory
Update Update commons-net:commons-net 3.7.2-> 3.8.0. Thanks to Gary Gregory. ggregory
Update Update junit 4.13.1 -> 4.13.2. Thanks to Gary Gregory. ggregory
Update Update maven-pmd-plugin 3.13.0 -> 3.14.0. Thanks to Gary Gregory. ggregory
Update Code improvements for SoftRefFilesCache (simplify loop, use isEmpty, ...). Fixes VFS-795. Thanks to Max Kellermann. kinow
Update Update commons-lang3 3.11 -> 3.12.0. Thanks to Gary Gregory. ggregory

Release 2.7.0 – 2020-10-26

Type Changes By
Fix NumberFormatException in SftpFileSystem::getUId. Fixes VFS-753. Thanks to John Webb, Gary Gregory. ggregory
Fix Possible null pointer dereference in org.apache.commons.vfs2.impl.DefaultFileReplicator.close() due to return value of called method. Fixes VFS-779. Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.isDisableDetectExecChannel(FileSystemOptions) and setDisableDetectExecChannel(FileSystemOptions, boolean). Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.vfs2.FileSystemConfigBuilder.toBooleanObject(boolean). Thanks to Gary Gregory. ggregory
Add org.apache.commons.vfs2.provider.VfsComponent now implements java.io.Closeable. Thanks to Gary Gregory. ggregory
Fix Modify some loop using stream API #96. Thanks to PeterAlfredLee. ggregory
Add [SFTP] Configure whether exec detection is enabled #80. Fixes VFS-757. Thanks to ddg-igh. ggregory
Add Add proxy config for some HTTP/HTTPS test #108. Thanks to PeterAlfredLee. ggregory
Fix SftpFileSystem returns null channel and produce NPE - fix get… #110. Fixes VFS-780. Thanks to Wuchte. ggregory
Add Fix some test error when JVM's default language is not US en #107. Thanks to PeterAlfredLee. ggregory
Fix [webdav/webdav4] Jackrabbit1 and jackrabbit2 modules getting same OSGi symbolic name. Fixes VFS-788. Thanks to satish bhor. ggregory
Add Allow users to set proxy schemes like http/https #122. Fixes VFS-787. Thanks to satish bhor. ggregory
Add Allow users to set custom keystore types like JCEKS, PKCS12 #121. Fixes VFS-786. Thanks to satish bhor. ggregory
Fix Fix for read() in constructors of LocalFileRandomAccessContent and RamFileRandomAccessContent #93. Fixes VFS-624. Thanks to PeterAlfredLee. ggregory
Fix Fix .tgz and .tbz2 createFileSystem fails #94. Fixes VFS-769. Thanks to PeterAlfredLee. ggregory
Fix Fix for file names with exclamation mark can not be read #95. Fixes VFS-664. Thanks to PeterAlfredLee. ggregory
Fix NoSuchMethodError due to multiple versions of commons-codec:commons-codec:jar. Fixes VFS-777. Thanks to Bing-ok, Gary Gregory. ggregory
Add Add HDFS write support #114. Fixes VFS-570. Thanks to garpinc, Gary Gregory. ggregory
Fix 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. ggregory
Fix FileObject.getURL() returns an illegal URL when a it should escape a space. Thanks to Gary Gregory. ggregory
Add Add FileObject.getURI(). Thanks to Gary Gregory. ggregory
Add Add FileObject.getPath(). Thanks to Gary Gregory. ggregory
Fix Fix test fail caused by lack proxy configuration for machines behind a proxy #139. Thanks to PeterAlfredLee. ggregory
Fix Modify some code use try-with-resources #138. Thanks to PeterAlfredLee. ggregory
Update Update some file from CRLF to LF #141. Thanks to PeterAlfredLee. ggregory
Update Update org.apache.httpcomponents:httpclient from 4.5.10 to 4.5.11. Fixes VFS-755. Thanks to Gary Gregory. ggregory
Update Update org.apache.jackrabbit:jackrabbit-standalone-components from 2.19.6 to 2.21.3. Fixes VFS-756. Thanks to Gary Gregory. ggregory
Update Update Apache Commons Compress from 1.19 to 1.20. Fixes VFS-754. Thanks to Gary Gregory. ggregory
Update Update tests from Apache Commons Lang 3.9 to 3.11. Thanks to Gary Gregory. ggregory
Add Update Apache httpclient 4.5.11 to 4.5.13 and httpclient5 5.0-beta7 to 5.0.3. Fixes VFS-768. Thanks to ddg-igh, Gary Gregory. ggregory
Update Update tests from Log4j 2.13.0 to 2.13.3. Thanks to Gary Gregory. ggregory
Update Update tests from org.mockito:mockito-core from 3.2.4 to 3.5.13, #131. Thanks to Gary Gregory, Dependabot. ggregory
Update Update Apache Commons IO from 2.6 to 2.8.0. Thanks to Gary Gregory. ggregory
Update Update site reports from org.apache.bcel:bcel 6.4.1 to 6.5.0. Thanks to Gary Gregory. ggregory
Update Update actions/checkout from v1 to v2.3.3 #100, #109, #130. Thanks to Dependabot. ggregory
Update Update actions/setup-java from v1.4.0 to v1.4.3 #111, #113, #133. Thanks to Dependabot. ggregory
Update Update commons-parent from 50 to 52. Thanks to Gary Gregory. ggregory
Update Update checkstyle from 8.27 to 8.36.2 #123, #132. Thanks to Dependabot. ggregory
Update Update maven-pmd-plugin from 3.12.0 to 3.13.0 #125. Thanks to Dependabot. ggregory
Update Update exec-maven-plugin from 1.6.0 to 3.0.0 #127. Thanks to Dependabot. ggregory
Update Update com.puppycrawl.tools:checkstyle 8.36 -> 8.36.1. Thanks to Gary Gregory. ggregory
Update Update Apache Commons Net from 3.6 to 3.7.2. Thanks to Gary Gregory. ggregory
Update Update JUnit from 4.13 to 4.13.1. Thanks to Gary Gregory. ggregory
Update Update FindBugs to SpotBugs 4.1.3. Thanks to Gary Gregory. ggregory

Release 2.6.0 – 2020-01-06

Type Changes By
Fix Clean up tests and simplify assertions #76. Thanks to Eitan Adler. ggregory
Fix Fix backwards incompatibility in AbstractFileObject.getInputStream(). Fixes VFS-750. Thanks to Boris Petrov, Gary Gregory. ggregory
Update Update JUnit from 4.12 to 4.13. Thanks to Gary Gregory. ggregory
Fix Deprecate org.apache.commons.vfs2.FileUtil for org.apache.commons.vfs2.util.FileObjectUtils. Fixes VFS-751. Thanks to Gary Gregory. ggregory

Release 2.5.0 – 2019-12-24

Type Changes By
Fix FileObject#getChildren allows listing of files with known scheme prefix (generalizes VFS-398). Fixes VFS-741. ecki
Fix getInputStream(int bufferSize) on SftpFileObject effectively ignores buffer size. Fixes VFS-726. Thanks to Cornelius Höfig, Gary Gregory. ggregory
Fix Some providers wrap their input/output streams twice in a BufferedInputStream. Fixes VFS-704. Thanks to Boris Petrov, Gary Gregory. ggregory
Fix Prevented creation of singleton file system manager from providers. Fixes VFS-727. Thanks to Michiel Hendriks, Gary Gregory. ggregory
Fix ResourceFileProvider "res://" failed to obtain FileObject from resolved FileName. Fixes VFS-444. Thanks to Walter Eaves, Xavier Dury, Michiel Hendriks, Gary Gregory. ggregory
Update Update Apache Commons Compress from 1.18 to 1.19. Fixes VFS-728. Thanks to Gary Gregory. ggregory
Update Upgrade Hadoop to 2.7.4 or later; will use current 3.2.0. Fixes VFS-729. Thanks to Michiel Hendriks, Gary Gregory. ggregory
Update Update org.apache.httpcomponents:httpclient from 4.5.9 to 4.5.10. Fixes VFS-731. Thanks to Gary Gregory. ggregory
Update Update org.apache.httpcomponents:httpcore-nio from 4.4.11 to 4.4.12. Fixes VFS-732. Thanks to Gary Gregory. ggregory
Update Update tests using org.mockito:mockito-core from 3.0.0 to 3.1.0. Thanks to Gary Gregory. ggregory
Add Add functional interface org.apache.commons.vfs2.function.VfsConsumer. Fixes VFS-734. Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.vfs2.FileSystemManager.close() via AutoCloseable. Fixes VFS-735. Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.vfs2.VFS.reset(). Fixes VFS-736. Thanks to Gary Gregory. ggregory
Update Update Hadoop from 3.2.0 to 3.2.1. Fixes VFS-737. Thanks to Gary Gregory. ggregory
Fix Parent layer of ZipFileSystem set to null through OnCallRefreshFileObject and DecoratedFileObject.refresh(). Fixes VFS-733. Thanks to Falco, Gary Gregory, Bruno P. Kinoshita. ggregory
Add Deprecate org.apache.commons.vfs2.FileChangeEvent.getFile() in favor of getFileObject(). Fixes VFS-738. Thanks to Gary Gregory. ggregory
Fix Changes to parseUri breaks backward compatibility by throwing NullPointerException in some cases. Fixes VFS-739. Thanks to xia0c, Gary Gregory. ggregory
Add Add webdav4 provider based on the latest Jackrabbit 2.x #52. Fixes VFS-686. Thanks to Woonsan Ko, Gary Gregory. ggregory
Add Add org.apache.commons.vfs2.FileContent.isEmpty(). Fixes VFS-742. Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.vfs2.provider.compressed.CompressedFileFileObject.SIZE_UNDEFINED. Fixes VFS-743. Thanks to Gary Gregory. ggregory
Fix org.apache.commons.vfs2.FileContent.getByteArray() can throw NegativeArraySizeException for BZip2 files. Fixes VFS-744. Thanks to Gary Gregory. ggregory
Add Add http5 and http5s providers (#74). Fixes VFS-687. Thanks to Woonsan Ko, Gary Gregory. ggregory
Fix SFTP moveTo operation might fail on permission checks even if the operation itself might succeed. #75. Fixes VFS-590. Thanks to L, Alex Pearce, Gary Gregory. ggregory
Fix SFTP isReadable fails if unable to determine group identity. #75. Fixes VFS-617. Thanks to Tim Nickels, Joshua Woods, David Johansson, Bernd Eckenfels, Len, Nim Lhûg, Vineet Tyagi, Gopal Warawate, Alex Pearce, Gary Gregory. ggregory
Update Update Apache Commons Parent from 48 to 50. Fixes VFS-749. Thanks to Gary Gregory. ggregory

Release 2.4.1 – 2019-08-10

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

Release 2.4 – 2019-07-12

Type Changes By
Add Allow to set key exchange algorithm explicitly. GitHub #32. Fixes VFS-690. ggregory
Update Update Apache Commons Collections from 4.2 to 4.3. Fixes VFS-692. Thanks to Gary Gregory. ggregory
Update Add support for customizing FTP transfer aborted status codes. GitHub PR #51. Fixes VFS-693. Thanks to Boris Petrov, Gary Gregory. ggregory
Fix Fix inability to start the DefaultFileMonitor after it has been stopped. GitHub PR #55. Fixes VFS-694. Thanks to Boris Petrov. ggregory
Fix SFTP HTTP and SOCKS proxy authentication. GitHub PR #49. Fixes VFS-696. Thanks to rayzzed. ggregory
Add Ported filters from Commons IO #9. Fixes VFS-497. Thanks to Michael Schnell. ggregory
Add More efficient comparison in FileExtensionSelector #44. Fixes VFS-696. Thanks to Robert DeRose. ggregory
Add Expose workaround for connecting to FTP server from different subnets in PASV mode #35. Fixes VFS-660. Thanks to Liu Yubao. ggregory
Add Add setting for FTP encoding auto-detection #58. Fixes VFS-699. Thanks to Boris Petrov. ggregory
Update Simplify adding files to DefaultFileMonitor #57. Fixes VFS-702. Thanks to Boris Petrov. ggregory
Update Update Apache Commons Lang from 3.8.1 to 3.9. Fixes VFS-703. Thanks to Gary Gregory. ggregory
Add Add ability to specify buffer sizes #59. Fixes VFS-706. Thanks to Boris Petrov. ggregory
Add SFTP provider doesn't support a private key as byte array #60. Fixes VFS-609. Thanks to stevezhuang, Rostislav, Gary Gregory. ggregory
Add Update Apache HttpClient from 4.5.7 to 4.5.8. Fixes VFS-707. Thanks to Gary Gregory. ggregory
Fix [SFTP] SftpFileSystem.executeCommand(String, StringBuilder) can leak ChannelExec objects. Fixes VFS-707. Thanks to Gary Gregory. ggregory
Fix [SFTP] SftpFileSystem.getGroupsIds() can initialize underlying data more than once while multithreading. Fixes VFS-709. Thanks to Gary Gregory. ggregory
Fix [SFTP] SftpFileSystem.getUid() can initialize underlying data more than once while multithreading. Fixes VFS-710. Thanks to Gary Gregory. ggregory
Fix [SFTP] SftpFileSystem can initialize underlying Session more than once while multithreading. Fixes VFS-711. Thanks to Gary Gregory. ggregory
Fix [SFTP] SftpFileSystem has Thread-safe issue about idleChannel (#36). Fixes VFS-662. Thanks to qxo, Alexey Abashev, Gary Gregory. ggregory
Fix Some tests fail on Java 11 and above. Fixes VFS-700. Thanks to Gary Gregory, Matthias Krueger. ggregory
Add Add null-safe org.apache.commons.vfs2.util.FileObjectUtils.exists(FileObject). Fixes VFS-712. Thanks to Gary Gregory. ggregory
Add Add FileObjectUtils.readProperties(FileObject) method to read a .properties file. Fixes VFS-713. Thanks to Gary Gregory. ggregory
Add Add org.apache.commons.vfs2.FileContent.getByteArray(). Fixes VFS-715. Thanks to Gary Gregory. ggregory
Fix Fix AbstractFileName.getURI returning unencoded #-sign #64. Fixes VFS-716. Thanks to Boris Petrov. ggregory
Fix SFTP file attributes are fetched multiple times leading to very slow directory listing; #65. Fixes VFS-698. Thanks to David Septimus, Bernd. ggregory
Fix Update org.apache.httpcomponents:httpclient from 4.5.8 to 4.5.9. Fixes VFS-717. Thanks to Gary Gregory. ggregory
Fix MonitorInputStream should not close the stream in "read" #67. Fixes VFS-718. Thanks to Boris Petrov. ggregory
Add Add methods to get the contents of file objects as strings. Fixes VFS-719. Thanks to Gary Gregory. ggregory
Add Implement Closeable for RandomAccessContent #66. Fixes VFS-720. Thanks to Boris Petrov. ggregory
Add Add support for symbolic links for the local file system and add FileObject#isSymbolicLink(). Fixes VFS-721. Thanks to Gary Gregory. ggregory
Update Update Apache Commons Collections from 4.3 to 4.4. Fixes VFS-722. Thanks to Gary Gregory. ggregory
Update Source incompatibility: org.apache.commons.vfs2.FileFilter.accept(FileSelectInfo) now throws checked exception FileSystemException. ggregory
Update 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. ggregory
Update Public API note: The overridden method org.apache.commons.vfs2.provider.sftp.SftpFileObject#refresh() was removed but is implemented in a superclass. ggregory
Update Public API note: The overridden method org.apache.commons.vfs2.provider.sftp.SftpFileProvider#init() was removed but is implemented in a superclass. ggregory

Release 2.3 – 2019-02-01

Type Changes By
Fix VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and up. Fixes VFS-645. ggregory
Fix Fix various LGTM.com code review warnings. Fixes VFS-678. ecki
Fix PatternFileSelector documentation to describe actual matching against getPath(). Fixes VFS-652. ecki
Update Update Apache Commons Compress from 1.15 to 1.16.1. Fixes VFS-650. ggregory
Update Update Apache Commons Compress from 1.14 to 1.15. Fixes VFS-646. ggregory
Fix SFTP moveTo operation hangs if the server does not support SSH channelExec. Fixes VFS-589. Thanks to L, Gary Gregory. ggregory
Update Replace use of deprecated APIs in HDFS provider. Fixes VFS-653. ggregory
Fix OSGI MANIFEST.MF "Import-Package" should be ";resolution:=optional" for Maven "optional" dependencies. Fixes VFS-655. Thanks to Arnaud MERGEY. ggregory
Fix FileSelector implementations like FileDepthSelector should throw Exception. Fixes VFS-657. Thanks to Elias Putz. ggregory
Fix MonitorInputStream should not close the stream in read(). Fixes VFS-614. Thanks to Boris Petrov, Otto Fowler. ggregory
Update Update Apache Commons Collections from 4.1 to 4.2. Fixes VFS-666. ggregory
Fix 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. Fixes VFS-667. ggregory
Update Throw a NPE with a better message when a class loader is null. Fixes VFS-668. ggregory
Fix org.apache.commons.vfs2.util.CombinedResources.loadResources(String) should not throw an NPE for the system class loader is null. Fixes VFS-669. ggregory
Update Update Apache Commons Compress from 1.16.1 to 1.18. Fixes VFS-671. ggregory
Fix NullPointerException at AbstractFileObject.java:221. Fixes VFS-675. ggregory
Update Update from Java 7 to Java 8. Fixes VFS-680. ggregory
Update VFS.setManager should be synchronized; #43. Fixes VFS-681. Thanks to Robert DeRose. ggregory
Fix Cannot close an FTP input stream without an exception. Fixes VFS-674. Thanks to Boris Petrov, Gary Gregory. ggregory
Update Throw a org.apache.commons.vfs2.FileSystemException instead of a NullPointerException in org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveName(FileName, String, NameScope). Fixes VFS-682. ggregory
Fix NullPointerException in FtpFileObject.getChildFile(). Fixes VFS-294. Thanks to Johannes Scharf. ggregory
Fix NullPointerException in FtpFileObject.doGetLastModifiedTime(). Fixes VFS-679. Thanks to Boris Petrov, Gary Gregory. ggregory
Fix FtpFileObject.getChildren() fails when a folder contains a file with a colon in the name. Fixes VFS-398. Thanks to Otto Fowler. ggregory
Update [SFTP] Update jsch from 0.1.54 to 0.1.55. Fixes VFS-688. ggregory
Add [SFTP] Add support for append mode. Fixes VFS-677. Thanks to dingxbcn. ggregory
Add [SFTP] Support com.jcraft.jsch.ConfigRepository (~/.ssh/config) with SftpFileSystemConfigBuilder and flag to load OpenSSHConfig. Fixes VFS-673. Thanks to Oleksandr Lykhonosov. ggregory
Add DefaultFileSystemManager should implement AutoCloseable. Fixes VFS-673. Thanks to Daniel Banks. ggregory
Add Zip files with legacy encoding and special characters let VFS crash. Fixes VFS-637. Thanks to Gary Gregory. ggregory
Add Add HTTP provider based on HttpComponents HttpClient 4. Fixes VFS-360. Thanks to Woonsan Ko. ggregory
Add org.apache.commons.vfs2.provider.http.HttpFileObject.getHeadMethod() does not release connection when an exception is thrown. Fixes VFS-689. Thanks to Gary Gregory. ggregory

Release 2.2 – 2017-10-06

Type Changes By
Update Upgrade to jcifs 1.3.17. Fixes VFS-642. Thanks to ilangoldfeld. pschumacher
Fix Possible NPE in DefaultFileSystemManager. Fixes VFS-189. kinow
Add Add a file inverter FileSelector: InvertIncludeFileSelector. Fixes VFS-628. ggregory
Update Update the platform requirement from Java 6 to Java 7. Fixes VFS-612. ggregory
Update Update Apache Commons Compress from 1.11 to 1.12. Fixes VFS-615. ggregory
Update Update Apache Commons Compress from 1.12 to 1.13. Fixes VFS-629. ggregory
Update Update Apache Commons Compress from 1.13 to 1.14. Fixes VFS-639. ggregory
Update Update from Apache Commons Net 3.5 to 3.6. Fixes VFS-631. ggregory
Update Update from JCraft jsch for SFTP/SSH from 0.1.53 to 0.1.54. Fixes VFS-632. ggregory
Update Add API VFS.setManager(FileSystemManager). Fixes VFS-621. ggregory
Update VFS should not log at the INFO level. Fixes VFS-643. ggregory
Fix FileObject.moveTo(FileObject) API doesn't work well for a Linux FTP. Fixes VFS-620. Thanks to stevezhuang. ggregory
Fix ZIP archives are not properly closed after unzipping and cannot be deleted until the JVM exists. Fixes VFS-291. ggregory
Fix AbstractFileSystem.streamClosed() always sets openStream count to zero. Fixes VFS-644. ggregory

Release 2.1 – 2016-05-19

Type Changes By
Update Update Apache Commons Compress from 1.10 to 1.11. Fixes VFS-607. ggregory
Update Update Apache Commons Net from 3.4 to 3.5. Fixes VFS-608. ggregory
Fix Fix StandardFileSystemManager class loading so it works in a OSGi environment. Fixes VFS-424. ecki
Fix [vfsclassloader] Do not open folders with .jar extension. Adds tests. Fixes VFS-490. ecki
Fix [tests] revert rename of getTestDirectoryFile to make test classes more compatible for external providers. Fixes VFS-582. ecki
Fix Make startup of SoftRefsFileCache cleaner thread work and less racy to avoid leaks. Fixes VFS-480. ecki
Fix Use File.seperator instead of getProperty("file.separator"). Fixes VFS-549. ecki
Fix [ftp] Ignore exceptions while QUIT/disconnect. Fixes VFS-567. Thanks to Antonio Petrelli. ecki
Fix [sftp] better documentation for knownhosts file option. Fixes VFS-572. Thanks to Sandra Parsick. ecki
Fix Ensure FileOpertionProviders are closed. Adds some testcases. The error code for missing operations exceptions corrected: vfs.operation/operation-not-supported.error. Fixes VFS-574. ecki
Fix [local] Avoid ClassCastException when replicating local files while OnCall caching is active. Fixes VFS-279. Thanks to Didier Earith, Simon Legner. ecki
Fix [sftp] VSF fails to reuse FileSystem instances if FileSystemOptions contain an array as value. Reported for SFTP using identities. Fixes VFS-297. Thanks to Kirill Safonov, Jimmy Praet. joehni
Add [http] Make user agent configurable. Fixes VFS-198. Thanks to Andrew Franklin, Simon Legner. ecki
Fix [http] Allow URLs responding with 405 to HEAD requests. Fixes VFS-202. Thanks to Sergey Vladimirov, Simon Legner. ecki
Fix [hdfs] Make OSGi package imports for hdfs resolution=optional. Removed all scopes from dependency management. Fixes VFS-490. ecki
Fix [http] avoid initial HEAD request to root of HttpFileSystem as it might be wrong context. Fixes VFS-560. ecki
Fix [smb] Allow SMB to be used with no authentication. Fixes VFS-236. Thanks to Matt Casters. ecki
Fix Make some loggers static. Fixes VFS-564. Thanks to Dmitry Konstantinov. ecki
Add [hdfs] Add the ability to specify an HDFS configuration file with HdfsFileSystemConfigBuilder. Fixes VFS-555. rwhitcomb
Fix [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. Fixes VFS-557. ecki
Fix Make moveTo() and getParent() work with CacheStrategy.ON_CALL. In case of FTP Provider it would lead otherwise to an UnsupportedOperationException. Fixes VFS-558. ecki
Fix [sandbox] RACRandomAccessFile is now in org.apache.commons.vfs2.util package (so sandbox has only one overlapping package). ecki
Update [hdfs] Use stable Apache Hadoop 2.6 dependencies. Fixes VFS-530. Thanks to Dave Marion. ecki
Add [example] make VFS Shell print version and implement new 'info' command. ecki
Fix [sandbox] include vfs-providers.xml in JAR for dynamic registration of mime and smb providers. Fixes VFS-552. ecki
Fix Javadoc: make it clear that DefaultCryptor is only an obfuscation function. Fixes VFS-551. Thanks to David Camilo Espitia Manrique. ecki
Fix DefaultFileContent will remove thread data whenever possible to avoid leaks. Fixes VFS-309. ecki
Fix DefaultFileMonitor detects recreated files. Fixes VFS-487. Thanks to Dave Marion. ecki
Fix [HDFS] Make HdfsFileObject.equal use system hashcode/equals instead of wrongly comparing file path only. Fixes VFS-523. Thanks to Roger Whitcomb. ecki
Fix [Virtual] Allow virtual file systems and virtual file system provider to be closed, to avoid memory leak. Fixes VFS-544. ecki
Fix Use ThreadLocal.remove() to clean out FileContentThreadData objects. Fixes VFS-142. Thanks to Ryan Boettcher. ecki
Fix Make DefaultFilesCache remove reference to filesystem when it is cleared (closed). Fixes VFS-545. ecki
Fix [Ram][Tests] Make RAM provider test pass on Java 8 (JDK-8042377, self-suppression not permitted, MonitorOutputStream#close()). Fixes VFS-521. ecki
Update Update Apache Commons Net from 3.3 to 3.4. Fixes VFS-601. ggregory
Update Update Apache Commons IO from 2.4 to 2.5. Fixes VFS-602. ggregory
Update Update Jsch from 0.1.51 to 0.1.53. Fixes VFS-579. ggregory
Update Update Jsch from 0.1.50 to 0.1.51. Fixes VFS-542. ggregory
Update Update Apache Commons Compress from 1.9 to 1.10. Fixes VFS-578. ggregory
Update Update Apache Commons Compress from 1.6 to 1.9. Fixes VFS-541. ggregory
Update Update Apache Commons Logging from 1.1.3 to 1.2. Fixes VFS-540. ggregory
Update Update Apache Commons Lang from 3.1 to 3.3.2. Fixes VFS-539. ggregory
Add [FTP] Allow configuring remoteVerificationEnabled on FTPClient instances. Fixes VFS-532. Thanks to Gareth Daniel Smith. ggregory
Fix [Local][Tests] Avoid IndexOutOfBoundsException when validating local file URIs. Fixes VFS-338. Thanks to Daniel R.. ecki
Update [HDFS][Tests] Support HDFS testing on Windows (but keep profile "no-hdfs" enabled on Windows VFS-529). Fixes VFS-526. ecki
Update [HTTP][WEBDAV] Add file system options for connect and socket timeout. Fixes VFS-453. Thanks to Jiri Syrovy. ecki
Update [FTP] Allow Proxy support to file system options. Fixes VFS-167. Thanks to Jimmy Praet. ecki
Update Make Javadoc compatible with Java 8 tool. Fixes VFS-520. ecki
Update Documentation of FileSystemOptions should be more helpful. Fixes VFS-518. Thanks to Roland Illig. ggregory
Update VFSClassLoader.findResources missing. Fixes VFS-500. Thanks to Bernd Eckenfels. ggregory
Update [tests] PermissionsTests leaves unclean test directory. Fixes VFS-514. Thanks to Bernd Eckenfels. ggregory
Update Hide passwords from log/console output. Fixes VFS-501. Thanks to Yves Schumann. ggregory
Update Resource translation issues. Fixes VFS-496. Thanks to Bernd Eckenfels. ggregory
Update [SFTP] No support for SFTP servers with non Latin-1 file name encoding. Fixes VFS-494. Thanks to Allen Xudong Cheng. ggregory
Update [SFTP] Documentation implies that "userDirIsRoot" defaults to true. Fixes VFS-368. Thanks to Brendan Long. ggregory
Update [FTP] Set user dir as root dir by default. Fixes VFS-265. Thanks to Scott Bjerstedt. ggregory
Fix [tests] ProviderWriteTests#testListener does not fail cleanly. Fixes VFS-489. Thanks to Bernd Eckenfels. ggregory
Fix DefaultFileMonitor sleeps for twice the specified delay when checkPerRun > 0. Fixes VFS-486. Thanks to Sam Haldane. ggregory
Update [SFTP] Update Jsch to 0.1.50 from 0.1.49. Fixes VFS-484. ggregory
Fix Wrong assertion messages in RAM provider test case. Fixes VFS-482. ggregory
Update Update to Apache Commons Collection 4.1 from 3.2.1 and use generics. Fixes VFS-507. ggregory
Update Update Apache Commons Logging to 1.1.3 from 1.1.2. Fixes VFS-476. ggregory
Update Update Apache Commons Net to 3.3 from 3.2. Fixes VFS-475. ggregory
Update [Tar][Bzip2] Update Apache Commons Compress to 1.6 from 1.5. Fixes VFS-506. ggregory
Update Update to Apache Commons Compress 1.5. Fixes VFS-471. ggregory
Remove Remove unused dependency to javax.jcr:jcr. Fixes VFS-469. joehni
Update [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. Fixes VFS-283. joehni
Fix Dependency to commons-compress set as optional. Fixes VFS-460. joehni
Add [FTPS] Add option for KeyManager (and TrustManager) to support FTPS servers that ask for the client certificate for authentication. Fixes VFS-468. joehni
Fix StaticUserAuthenticator should return only requested authentication data. Fixes VFS-464. joehni
Update FileSytemConfigBuilder supports system properties for the value of enum-based configuration entries. Fixes VFS-463. joehni
Update [FTPS] Deprecate FtpsFileSystemConfigBuilder.setFtpsType and FtpsFileSystemConfigBuilder.getFtpsType in favor of FtpsFileSystemConfigBuilder.setFtpsMode and FtpsFileSystemConfigBuilder.getFtpsMode which use new enum FtpsMode instead. Fixes VFS-462. joehni
Fix [FTP/FTPS] ConfigBuilder does not consider system properties for the value of SoTimeout and Encoding. Fixes VFS-461. joehni
Add [FTPS] Add support for command to set the DataChannelProtectionLevel. Fixes VFS-412. Thanks to Jose Juan Montiel. joehni
Update [FTP/FTPS] Sent commands and the received answer is logged at debug level. Fixes VFS-459. joehni
Fix [FTPS] Provider missed functionality and bug fixes already available for the FTP provider. Fixes VFS-458. joehni
Fix [HTTP] HttpFileObject read/write attributes should reflect underlying FileSystem capabilities. Fixes VFS-452. Thanks to Jean-Marc Borer. ggregory
Fix AbstractFileObject.getChildren() may corrupt its internal state if a filename can not be resolved. Fixes VFS-285. Thanks to Kirill Safonov. tn
Fix [HDFS] HDFSFileSystem.resolveFile() does not honor CacheStrategy.ON_RESOLVE. Fixes VFS-450. Thanks to Dave Marion. ggregory
Add [HDFS] Add an HDFS FileSystem Provider. Fixes VFS-442. Thanks to Dave Marion. ggregory
Fix commons-vfs 2.0 JAR has flawed OSGi MANIFEST.MF. Fixes VFS-448. ggregory
Add [FTP/FTPS] Update Apache Commons Net to 3.2 from 3.1. Fixes VFS-447. ggregory
Add Add FileSystemManager.resolveFile(URI) and resolveFile(URL). Fixes VFS-445. ggregory
Add [SFTP] Stream (e.g. netcat) proxy for Sftp file system (aka ProxyCommand). Fixes VFS-440. Thanks to bpiwowar. ggregory
Fix StaticUserAuthenticator usage example wrong. Fixes VFS-439. Thanks to pensecit. ggregory
Fix [FTP] StackOverFlowError getting the type of a directory with a symbolic link to a parent directory with the same name. Fixes VFS-437. Thanks to denniszhu, danttran, jpowang. ggregory
Fix FileSystemConfigBuilder does not use prefix for some system property lookups. Fixes VFS-435. Thanks to george scott. ggregory
Fix FileSystemException should reuse IOException's chained exception. Fixes VFS-434. ggregory
Fix [WebDAV] Message "vfs.provider.webdav/propfind.error" is not defined. Fixes VFS-433. ggregory
Fix The SoftRefFilesCache class logs clear text password. Fixes VFS-430. Thanks to antonin.stefanutti. ggregory
Add [HTTP][WebDAV] Allow HTTP follow redirect. Fixes VFS-432. ggregory
Add FileSystemOption does not implement toString(). Fixes VFS-431. ggregory
Fix Remove extra FileSystem ivar in AbstractFileObject subclasses with generics. Fixes VFS-429. ggregory
Fix [HTTP] NPE on HttpFileObject.getContent().getContentInfo(). Fixes VFS-427. Thanks to awelynant. ggregory
Add Get/set the file permissions. Fixes VFS-405. Thanks to dwaszak. ggregory
Update 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. Fixes VFS-457. joehni
Update Use org.bouncycastel:bcprov-jdk16 instead of org.bouncycastle:bcprof-jdk15on since Java 1.6 is required. Fixes VFS-456. joehni
Update Update VFS requirement to Java 1.6. Fixes VFS-415. ggregory
Add HTTP URL query string not part of cache key. Fixes VFS-426. Thanks to daniel.bergholm. ggregory
Add Add API FileObject.isExecutable(). Fixes VFS-425. ggregory
Add [SFTP] Configure a custom Identity Repository. Fixes VFS-421. Thanks to bpiwowar. ggregory
Update Update to Apache Commons Compress 1.4.1. Fixes VFS-418. ggregory
Add [RAM][Local] Add and implement new API: RandomAccessContent.setLength(long). Fixes VFS-417. ggregory
Fix [RAM] resize throws ArrayOOBE when shrinking in size. Fixes VFS-406. Thanks to mp1. ggregory
Update AbstractFileObject sometimes uses getFileSystem() and sometimes references "fs" field directly. Fixes VFS-321. Thanks to sebb. ggregory
Update UriParser.canonicalizePath possible NPE for filenameParser. Fixes VFS-327. Thanks to sebb. ggregory
Fix [FTP] Client should call logout before disconnecting. Fixes VFS-353. Thanks to bergander. ggregory
Fix CompressedFileFileObject Exception thrown when container file has no extension. Fixes VFS-408. Thanks to anilm2@yahoo.com. ggregory
Add Add a FileSelector based on regular expressions. Fixes VFS-400. ggregory
Fix [SFTP][RAM] Unsafe casting to AbstractFileObject subclasses in doRename(). Fixes VFS-258. Thanks to mzawirski. ggregory
Add Let FileObject and FileContent extend java.io.Closeable. Fixes VFS-254. Thanks to mzawirski. ggregory
Fix [FTP] No support for FTP servers with non Latin-1 control encoding. Fixes VFS-413. Thanks to polivenok. ggregory
Add [SMB] SmbFileObject does not support setLastModifiedTime while jcifs supports it. Fixes VFS-252. ggregory
Fix [SFTP] Failure when files are very large. Fixes VFS-200. ggregory
Update [SFTP] Update Jsch to version 0.1.49 from 0.1.47. Fixes VFS-416. joehni
Fix [FTP] FTP socket timeout setting doesn't work if connect hangs. Fixes VFS-296. Thanks to andreasp. ggregory
Add [FTP] Configuration does not include option for setting socket timeout. Fixes VFS-313. Thanks to bdavis@saintandreas.org. ggregory
Add [FTP] Add config API to set the file type. Fixes VFS-414. ggregory
Add [FTP] Usage of FTP with heterogeneous FTP server (possibility of using Ascii file type). Fixes VFS-182. ggregory
Update [POM] Remove maven-scm-* dependencies. Fixes VFS-395. ggregory
Update [SFTP] Update Jsch to version 0.1.47 from 0.1.46. Fixes VFS-411. ggregory
Fix [SFTP] SftpFileObject getInputStream(long) reads the whole file into memory. Fixes VFS-410. Thanks to mstockhammer. ggregory
Update Update Apache Commons Compress to 1.4 from 1.3. Fixes VFS-409. ggregory
Fix [RAM] Reading a RAM FileSystem file fails because it never returns EOF -1. Fixes VFS-407. Thanks to mp1. ggregory
Update [FTP][FTPS] Update Apache Commons Net to 3.1 from 3.0.1. Fixes VFS-404. ggregory
Update [WebDAV] Update Apache Jackrabbit 1.5.2 to 1.6.5. Fixes VFS-402. ggregory
Update Update JSch to 0.1.46 from 0.1.45 for the SFTP provider. Fixes VFS-401. ggregory
Update Build tests WebDAV file system with an embedded WebDAV server (Apache Jackrabbit). Fixes VFS-392. ggregory
Update Build tests URL HTTP file system with an embedded HTTP server (Apache HttpComponent Core). Fixes VFS-391. ggregory
Update Use variable argument list in org.apache.commons.vfs2.util.Messages instead of Object[]. Fixes VFS-390. ggregory
Update Use variable argument lists in FileSystemException instead of Object[]s. Fixes VFS-389. ggregory
Update Build tests SFTP file system with an embedded SFTP server (Apache MINA). Fixes VFS-388. ggregory
Update Build tests FTP file system with an embedded FTP server (Apache MINA). Fixes VFS-387. ggregory
Update Build tests HTTP file system with an embedded HTTP server (Apache HttpComponent Core). Fixes VFS-386. ggregory
Update Add HTTP status code to HTTP file provider exception messages when available. Fixes VFS-385. ggregory
Update Update Apache Commons Net to 3.0.1 from 2.2 for FTP and SFTP providers. Fixes VFS-384. ggregory
Update Update JSch to 0.1.45 from 0.1.42 for the SFTP provider. Fixes VFS-383. ggregory
Fix SFTP getChildren() does not fail when called on a file. Fixes VFS-382. ggregory
Add Iterate over a FileObject using the Java "foreach" statement, to provide all descendents of a FileObject. Fixes VFS-381. ggregory
Fix FTP connect.error message used instead of SFTP connect.error message. Fixes VFS-380. ggregory
Update Replace custom BZIP2 code with Apache Commons Compress 1.3. Fixes VFS-379. ggregory
Fix Tar error message are missing from resource file. Fixes VFS-378. ggregory
Update Replace custom TAR code with Apache Commons Compress 1.3. Fixes VFS-377. ggregory
Update Upgrade to Apache Commons Compress 1.3 from 1.2. Fixes VFS-375. ggregory
Fix 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. Fixes VFS-374. ggregory
Add Add FileContent write APIs. Fixes VFS-373. ggregory
Add Add constructors FileDepthSelector() and FileDepthSelector(int). Fixes VFS-372. ggregory
Add Add FileObject API deleteAll(). Fixes VFS-371. ggregory
Add Add a FileExtensionSelector class. Fixes VFS-370. ggregory
Add Add APIs FileObject isFile(), FileObject isFolder(), and FileName isFile(). Fixes VFS-367. ggregory
Update Can't sort a List of FileObject's, FileObject to implement Comparable<FileObject>. Fixes VFS-366. ggregory
Update Enable logging of JSch using the Commons Logging Log object in SftpClientFactory. Fixes VFS-341. Thanks to Rajika Kumarasiri. rgoers
Fix The read method of RamFileRandomAccessContent's input stream does not return -1 at eof. Fixes VFS-355. Thanks to Miroslav Pokorny. rgoers
Fix Throw an IOException if an attempt is made to seek to a position before the start of the file. Fixes VFS-356. rgoers
Fix Don't delete a RamFileObject if it is open. Fixes VFS-359. Thanks to Miroslav Pokorny. rgoers
Fix ZipFileSystem now uses an internal Map as a cache for all the files in the zip archive. Fixes VFS-352. rgoers
Fix Chain the SftpException in the FileSystemException. Fixes VFS-351. Thanks to John Backstrand. rgoers
Update Upgrade commons collections version to 3.2.1. Fixes VFS-361. rgoers
Fix Allow # character in file names. Fixes VFS-325. Thanks to Larry Reeve. rgoers
Fix Use atomic variables in MonitorInputStream. Fixes VFS-335. rgoers
Fix Check the href in the response for just a path in addition to a full uri. Fixes VFS-364. rgoers

Release 2.0 – 2011-08-24

Type Changes By
Fix Update the version of commons-net. Fixes VFS-348. Thanks to Stefan Bodewig. rgoers
Fix Documented FileSystem capabilities on the web site. Fixes VFS-230. rgoers
Fix AbstractFileObject and classes that extend from it use AbstractFileName in the constructor and in the createFile method. Fixes VFS-337. rgoers
Fix AbstractFileName is not immutable as it should be. equals(), hashcode() and compareTo() have been modified to return the same results regardless of whether the FileType is changed. Fixes VFS-245. rgoers
Fix DefaultFileSystemConfigBuilder.getConfigClass() returns DefaultFileSystemConfigBuilder.class which is not a FileSystem. Fixes VFS-334. sebb
Fix Add encoding option to FTP provider. Fixes VFS-305. Thanks to Tom. rgoers
Fix Fix potential NullPointerException if the DavProperty is null or contains null values. Fixes VFS-315. Thanks to David Hausladen. rgoers
Fix Add option for preemptive authentication for HTTP based protocols. Fixes VFS-316. Thanks to David Hausladen. rgoers
Fix Allow tar files that contain files over 2GB in size. Fixes VFS-322. Thanks to Curtis Boyden. rgoers
Fix Clear the cache in RamFileSystem and the children in RamFileData. Fixes VFS-324. Thanks to sebb. rgoers
Fix Typo in FtpsFileSystemConfigBuilder.setFtpsType. Fixes VFS-319. sebb
Fix InputStream and RandomAccessContent memory leak in FileContentThreadData. Fixes VFS-227. Thanks to Sergey Vladimirov. rgoers
Update WebdavFileObject does not implement doSetAttribute(). Fixes VFS-263. Thanks to Ingo Maas. rgoers
Fix Http and Webdav FIleContentInfoFactory: undress to AbstractFileObject before casting. Fixes VFS-259. Thanks to Marek Zawirski. rgoers
Fix WebDAV upload corrupts binary files. Fixes VFS-261. Thanks to Simon Olofsson. rgoers
Fix add ProviderTestConfig.getDefaultFileSystemManager() method. Fixes VFS-276. Thanks to Vince Bonfanti. rgoers
Fix SftpFileProvider and SftpFileSystemConfigBuilder can't change ssh authentication methods. Fixes VFS-282. Thanks to Alexey. rgoers
Fix HttpFileObject: unsupported content over 2GB length. Fixes VFS-269. Thanks to Marek Zawirski. rgoers
Fix LocalFileName objects are not released from AbstractFileSystem.listenerMap when all listeners are removed. Fixes VFS-287. Thanks to Mircea-Eugen Ionica. rgoers
Fix The FTP Configuration includes an option to set a timeout for the data connection, but not for the socket timeout. This is a problem, as idle sockets can cause your download to hang forever and never timeout. Fixes VFS-216. Thanks to Reetu Mutti. rgoers
Fix FTP connection is not released If exception is thrown out of FtpFileObject.doGetOutputStream(). Fixes VFS-289. Thanks to Kirill Safonov. rgoers
Fix SftpFileObject.doListChildrenResolved() changes the working dir before doing ChannelSftp.ls() call. If ls() throws an exception, the current directory is not reset. All the subsequent operations that rely on the current dir will fail trying to change into nonexistent directory. Fixes VFS-286. Thanks to Kirill Safonov. rgoers
Add Add FTPS provider. Fixes VFS-264. Thanks to Scott Bjerstedt. jcarman
Add Rename HttpRandomAccesContent to HttpRandomAccessContent. Fixes VFS-244. rgoers