This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-vfs.git
The following commit(s) were added to refs/heads/master by this push: new 4bd39d7 FileObject.getURL() returns an illegal URL when it should escape a space. 4bd39d7 is described below commit 4bd39d7b8efa5773afe7d79071358ffdbc1501ac Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sat Sep 26 16:19:00 2020 -0400 FileObject.getURL() returns an illegal URL when it should escape a space. --- .../commons/vfs2/provider/AbstractFileName.java | 4 +- .../commons/vfs2/test/ProviderTestSuite.java | 2 +- .../org/apache/commons/vfs2/test/UrlTests.java | 31 +- src/changes/changes.xml | 2239 ++++++++++---------- 4 files changed, 1150 insertions(+), 1126 deletions(-) diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileName.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileName.java index b08f468..8ac0667 100644 --- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileName.java +++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileName.java @@ -33,13 +33,13 @@ public abstract class AbstractFileName implements FileName { // How reserved URI chars were selected: // // URIs can contain :, /, ?, #, @ - // See http://download.oracle.com/javase/6/docs/api/java/net/URI.html + // See https://docs.oracle.com/javase/8/docs/api/java/net/URI.html // http://tools.ietf.org/html/rfc3986#section-2.2 // // Since : and / occur before the path, only chars after path are escaped (i.e., # and ?) // ? is a reserved filesystem character for Windows and Unix, so can't be part of a file name. // Therefore only # is a reserved char in a URI as part of the path that can be in the file name. - private static final char[] RESERVED_URI_CHARS = { '#' }; + private static final char[] RESERVED_URI_CHARS = { '#', ' ' }; private final String scheme; private final String absPath; diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/ProviderTestSuite.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/ProviderTestSuite.java index 89cecc5..0f1f1f7 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/ProviderTestSuite.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/ProviderTestSuite.java @@ -46,6 +46,7 @@ public class ProviderTestSuite extends AbstractTestSuite { */ @Override protected void addBaseTests() throws Exception { + addTests(UrlTests.class); addTests(ProviderCacheStrategyTests.class); addTests(UriTests.class); addTests(NamingTests.class); @@ -59,7 +60,6 @@ public class ProviderTestSuite extends AbstractTestSuite { addTests(ProviderRenameTests.class); addTests(ProviderDeleteTests.class); addTests(LastModifiedTests.class); - addTests(UrlTests.class); addTests(UrlStructureTests.class); addTests(VfsClassLoaderTests.class); } diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/UrlTests.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/UrlTests.java index 0169ae6..d51ff36 100644 --- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/UrlTests.java +++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/test/UrlTests.java @@ -18,12 +18,15 @@ package org.apache.commons.vfs2.test; import java.io.IOException; import java.net.MalformedURLException; +import java.net.URI; import java.net.URL; import java.net.URLConnection; import org.apache.commons.vfs2.Capability; import org.apache.commons.vfs2.FileObject; +import org.apache.commons.vfs2.FileSystemException; import org.apache.commons.vfs2.FileSystemOptions; +import org.junit.Test; /** * URL test cases for providers. @@ -35,7 +38,21 @@ public class UrlTests extends AbstractProviderTestCase { */ @Override protected Capability[] getRequiredCaps() { - return new Capability[] { Capability.URI }; + return new Capability[] {Capability.URI}; + } + + @Test + public void testReservedCharacter_Space() throws FileSystemException { + try (final FileObject fileObject = getReadFolder().resolveFile("file with spaces.txt")) { + final URL url = fileObject.getURL(); + final String string = url.toString(); + assertTrue(string, string.contains("file%20with%20spaces.txt")); + } + try (final FileObject fileObject = getReadFolder().resolveFile("file%20with%20spaces.txt")) { + final URL url = fileObject.getURL(); + final String string = url.toString(); + assertTrue(string, string.contains("file%20with%20spaces.txt")); + } } /** @@ -76,15 +93,19 @@ public class UrlTests extends AbstractProviderTestCase { * Tests content. */ public void testURLContent() throws Exception { + testURLContent(getReadFolder()); + } + + private void testURLContent(final FileObject readFolder) throws FileSystemException, IOException, Exception { // Test non-empty file - FileObject file = getReadFolder().resolveFile("file1.txt"); - assertTrue(file.exists()); + FileObject file = readFolder.resolveFile("file1.txt"); + assertTrue(file.toString(), file.exists()); URLConnection urlCon = file.getURL().openConnection(); assertSameURLContent(FILE1_CONTENT, urlCon); // Test empty file - file = getReadFolder().resolveFile("empty.txt"); + file = readFolder.resolveFile("empty.txt"); assertTrue(file.exists()); urlCon = file.getURL().openConnection(); @@ -107,7 +128,7 @@ public class UrlTests extends AbstractProviderTestCase { assertEquals("Two files resolved by URI must be equals on " + uri, f1, f2); assertSame("Resolving two times should not produce new filesystem on " + uri, f1.getFileSystem(), - f2.getFileSystem()); + f2.getFileSystem()); } } diff --git a/src/changes/changes.xml b/src/changes/changes.xml index d184d6a..3d88046 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -1,1118 +1,1121 @@ -<?xml version="1.0"?> -<!-- - 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. ---> -<!-- -This file is also used by the maven-changes-plugin to generate the release notes. -Useful ways of finding items to add to this file are: - -1. Add items when you fix a bug or add a feature (this makes the -release process easy :-). - -2. Do a JIRA search for tickets closed since the previous release. - -3. Use the report generated by the maven-changelog-plugin to see all -SVN commits. Set the project.properties' maven.changelog.range -property to the number of days since the last release. - -To generate the release notes from this file: - -mvn -N changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] - -then tweak the formatting if necessary -and commit - -The <action> type attribute can be add,update,fix,remove. ---> - -<document xmlns="http://maven.apache.org/changes/1.0.0"> - <properties> - <title>Apache Commons VFS Release Notes</title> - <author email="d...@commons.apache.org">Apache Commons Developers</author> - </properties> - - <body> - <release version="2.7.0" date="2020-MM-DD" description="Maintenance release."> -<!-- <action issue="VFS-443" dev="ggregory" type="update" due-to="nickallen"> --> -<!-- [Local] Need an easy way to convert from a FileObject to a File. --> -<!-- </action> --> -<!-- START Might need to be moved to the next version --> - <action issue="VFS-753" dev="ggregory" due-to="John Webb, Gary Gregory" type="fix"> - NumberFormatException in SftpFileSystem::getUId. - </action> - <action issue="VFS-779" dev="ggregory" due-to="Gary Gregory" type="fix"> - Possible null pointer dereference in org.apache.commons.vfs2.impl.DefaultFileReplicator.close() due to return value of called method. - </action> - <action dev="ggregory" due-to="Gary Gregory" type="fix"> - Add org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.isDisableDetectExecChannel(FileSystemOptions) and setDisableDetectExecChannel(FileSystemOptions, boolean). - </action> - <action dev="ggregory" due-to="Gary Gregory" type="fix"> - Add org.apache.commons.vfs2.FileSystemConfigBuilder.toBooleanObject(boolean). - </action> - <action dev="ggregory" due-to="Gary Gregory" type="update"> - org.apache.commons.vfs2.provider.VfsComponent now implements java.io.Closeable. - </action> - <action dev="ggregory" due-to="PeterAlfredLee" type="fix"> - Modify some loop using stream API #96. - </action> - <action issue="VFS-757" dev="ggregory" due-to="ddg-igh" type="add"> - [SFTP] Configure whether exec detection is enabled #80. - </action> - <action dev="ggregory" due-to="PeterAlfredLee" type="add"> - Add proxy config for some HTTP/HTTPS test #108. - </action> - <action issue="VFS-780" dev="ggregory" due-to="Wuchte" type="fix"> - SftpFileSystem returns null channel and produce NPE - fix get… #110. - </action> - <action dev="ggregory" due-to="PeterAlfredLee" type="add"> - Fix some test error when JVM's default language is not US en #107. - </action> - <action issue="VFS-788" dev="ggregory" due-to="satish bhor" type="fix"> - [webdav/webdav4] Jackrabbit1 and jackrabbit2 modules getting same OSGi symbolic name. - </action> - <action issue="VFS-787" dev="ggregory" due-to="satish bhor" type="add"> - Allow users to set proxy schemes like http/https #122. - </action> - <action issue="VFS-786" dev="ggregory" due-to="satish bhor" type="add"> - Allow users to set custom keystore types like JCEKS, PKCS12 #121. - </action> - <action issue="VFS-624" dev="ggregory" due-to="PeterAlfredLee" type="fix"> - Fix for read() in constructors of LocalFileRandomAccessContent and RamFileRandomAccessContent #93. - </action> - <action issue="VFS-769" dev="ggregory" due-to="PeterAlfredLee" type="fix"> - Fix .tgz and .tbz2 createFileSystem fails #94 - </action> - <action issue="VFS-664" dev="ggregory" due-to="PeterAlfredLee" type="fix"> - Fix for file names with exclamation mark can not be read #95. - </action> - <action issue="VFS-777" dev="ggregory" due-to="Bing-ok, Gary Gregory" type="fix"> - NoSuchMethodError due to multiple versions of commons-codec:commons-codec:jar. - </action> - <action issue="VFS-570" dev="ggregory" due-to="garpinc, Gary Gregory" type="add"> - Add HDFS write support #114. - </action> - <action dev="ggregory" due-to="Gary Gregory" type="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 - </action> - <!-- UPDATES --> - <action issue="VFS-755" dev="ggregory" due-to="Gary Gregory" type="update"> - Update org.apache.httpcomponents:httpclient from 4.5.10 to 4.5.11. - </action> - <action issue="VFS-756" dev="ggregory" due-to="Gary Gregory" type="update"> - Update org.apache.jackrabbit:jackrabbit-standalone-components from 2.19.6 to 2.21.3. - </action> - <action issue="VFS-754" dev="ggregory" due-to="Gary Gregory" type="update"> - Update Apache Commons Compress from 1.19 to 1.20. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Update tests from Apache Commons Lang 3.9 to 3.11. - </action> - <action issue="VFS-768" dev="ggregory" due-to="ddg-igh" type="add"> - Update Apache httpclient 4.5.11 to 4.5.12 and httpclient5 5.0-beta7 to 5.0.1. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Update tests from Log4j 2.13.0 to 2.13.3. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Update tests from org.mockito:mockito-core from 3.2.4 to 3.4.4. - </action> - <action type="update" dev="ggregory" due-to="Gary Gregory"> - Update Apache Commons IO from 2.6 to 2.8.0. - </action> - <action dev="ggregory" type="update" due-to="Gary Gregory"> - Update site reports from org.apache.bcel:bcel 6.4.1 to 6.5.0. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Update actions/checkout from v1 to v2.3.3 #100, #109, #130. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Update actions/setup-java from v1.4.0 to v1.4.2 #111, #113. - </action> - <action dev="ggregory" type="update" due-to="Gary Gregory"> - Update commons-parent from 50 to 52. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Update checkstyle from 8.27 to 8.36 #123. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Update maven-pmd-plugin from 3.12.0 to 3.13.0 #125. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Update exec-maven-plugin from 1.6.0 to 3.0.0 #127. - </action> - </release> - <release version="2.6.0" date="2020-01-06" description="New features and bug fix release."> - <action dev="ggregory" due-to="Eitan Adler" type="fix"> - Clean up tests and simplify assertions #76. - </action> - <action issue="VFS-750" dev="ggregory" due-to="Boris Petrov, Gary Gregory" type="fix"> - Fix backwards incompatibility in AbstractFileObject.getInputStream(). - </action> - <action dev="ggregory" due-to="Gary Gregory" type="update"> - Update JUnit from 4.12 to 4.13. - </action> - <action issue="VFS-751" dev="ggregory" due-to="Gary Gregory" type="fix"> - Deprecate org.apache.commons.vfs2.FileUtil for org.apache.commons.vfs2.util.FileObjectUtils. - </action> - </release> - <release version="2.5.0" date="2019-12-24" description="New features and bug fix release."> - <action issue="VFS-741" dev="ecki" type="fix"> - FileObject#getChildren allows listing of files with known scheme prefix (generalizes VFS-398). - </action> - <action issue="VFS-726" dev="ggregory" type="fix" due-to="Cornelius Höfig, Gary Gregory"> - getInputStream(int bufferSize) on SftpFileObject effectively ignores buffer size. - </action> - <action issue="VFS-704" dev="ggregory" type="fix" due-to="Boris Petrov, Gary Gregory"> - Some providers wrap their input/output streams twice in a BufferedInputStream. - </action> - <action issue="VFS-727" dev="ggregory" type="fix" due-to="Michiel Hendriks, Gary Gregory"> - Prevented creation of singleton file system manager from providers. - </action> - <action issue="VFS-444" dev="ggregory" type="fix" due-to="Walter Eaves, Xavier Dury, Michiel Hendriks, Gary Gregory"> - ResourceFileProvider "res://" failed to obtain FileObject from resolved FileName. - </action> - <action issue="VFS-728" dev="ggregory" type="update" due-to="Gary Gregory"> - Update Apache Commons Compress from 1.18 to 1.19. - </action> - <action issue="VFS-729" dev="ggregory" type="update" due-to="Michiel Hendriks, Gary Gregory"> - Upgrade Hadoop to 2.7.4 or later; will use current 3.2.0. - </action> - <action issue="VFS-731" dev="ggregory" type="update" due-to="Gary Gregory"> - Update org.apache.httpcomponents:httpclient from 4.5.9 to 4.5.10. - </action> - <action issue="VFS-732" dev="ggregory" type="update" due-to="Gary Gregory"> - Update org.apache.httpcomponents:httpcore-nio from 4.4.11 to 4.4.12. - </action> - <action dev="ggregory" type="update" due-to="Gary Gregory"> - Update tests using org.mockito:mockito-core from 3.0.0 to 3.1.0. - </action> - <action issue="VFS-734" dev="ggregory" type="add" due-to="Gary Gregory"> - Add functional interface org.apache.commons.vfs2.function.VfsConsumer. - </action> - <action issue="VFS-735" dev="ggregory" type="add" due-to="Gary Gregory"> - Add org.apache.commons.vfs2.FileSystemManager.close() via AutoCloseable. - </action> - <action issue="VFS-736" dev="ggregory" type="add" due-to="Gary Gregory"> - Add org.apache.commons.vfs2.VFS.reset(). - </action> - <action issue="VFS-737" dev="ggregory" type="update" due-to="Gary Gregory"> - Update Hadoop from 3.2.0 to 3.2.1. - </action> - <action issue="VFS-733" dev="ggregory" type="fix" due-to="Falco, Gary Gregory, Bruno P. Kinoshita"> - Parent layer of ZipFileSystem set to null through OnCallRefreshFileObject and DecoratedFileObject.refresh(). - </action> - <action issue="VFS-738" dev="ggregory" type="add" due-to="Gary Gregory"> - Deprecate org.apache.commons.vfs2.FileChangeEvent.getFile() in favor of getFileObject(). - </action> - <action issue="VFS-739" dev="ggregory" type="fix" due-to="xia0c, Gary Gregory"> - Changes to parseUri breaks backward compatibility by throwing NullPointerException in some cases. - </action> - <action issue="VFS-686" dev="ggregory" type="add" due-to="Woonsan Ko, Gary Gregory"> - Add webdav4 provider based on the latest Jackrabbit 2.x #52. - </action> - <action issue="VFS-742" dev="ggregory" type="add" due-to="Gary Gregory"> - Add org.apache.commons.vfs2.FileContent.isEmpty(). - </action> - <action issue="VFS-743" dev="ggregory" type="add" due-to="Gary Gregory"> - Add org.apache.commons.vfs2.provider.compressed.CompressedFileFileObject.SIZE_UNDEFINED. - </action> - <action issue="VFS-744" dev="ggregory" type="fix" due-to="Gary Gregory"> - org.apache.commons.vfs2.FileContent.getByteArray() can throw NegativeArraySizeException for BZip2 files. - </action> - <action issue="VFS-687" dev="ggregory" type="add" due-to="Woonsan Ko, Gary Gregory"> - Add http5 and http5s providers (#74) - </action> - <action issue="VFS-590" dev="ggregory" type="fix" due-to="L, Alex Pearce, Gary Gregory"> - SFTP moveTo operation might fail on permission checks even if the operation itself might succeed. #75. - </action> - <action issue="VFS-617" dev="ggregory" type="fix" due-to="Tim Nickels, Joshua Woods, David Johansson, Bernd Eckenfels, Len, Nim Lhûg, Vineet Tyagi, Gopal Warawate, Alex Pearce, Gary Gregory"> - SFTP isReadable fails if unable to determine group identity. #75. - </action> - <action issue="VFS-749" dev="ggregory" type="update" due-to="Gary Gregory"> - Update Apache Commons Parent from 48 to 50. - </action> - </release> - <release version="2.4.1" date="2019-08-10" description="Bug fix release."> - <action issue="VFS-725" dev="ggregory" type="fix" due-to="Gary Gregory"> - [Local] org.apache.commons.vfs2.FileContent.getLastModifiedTime() is losing milliseconds (always ends in 000). - </action> - <action issue="VFS-724" dev="ggregory" type="fix" due-to="William R, Gary Gregory"> - FileContent#getByteArray() throws IllegalArgumentException: Buffer size <= 0 when file size is 0. - </action> - <action dev="ggregory" type="fix" due-to="Gary Gregory"> - Javadoc fixes. - </action> - </release> - <release version="2.4" date="2019-07-12" description="New features and bug fix release."> - <action issue="VFS-690" dev="ggregory" type="add"> - Allow to set key exchange algorithm explicitly. GitHub #32. - </action> - <action issue="VFS-692" dev="ggregory" type="update" due-to="Gary Gregory"> - Update Apache Commons Collections from 4.2 to 4.3. - </action> - <action issue="VFS-693" dev="ggregory" type="update" due-to="Boris Petrov, Gary Gregory"> - Add support for customizing FTP transfer aborted status codes. GitHub PR #51. - </action> - <action issue="VFS-694" dev="ggregory" type="fix" due-to="Boris Petrov"> - Fix inability to start the DefaultFileMonitor after it has been stopped. GitHub PR #55. - </action> - <action issue="VFS-696" dev="ggregory" type="fix" due-to="rayzzed"> - SFTP HTTP and SOCKS proxy authentication. GitHub PR #49. - </action> - <action issue="VFS-497" dev="ggregory" type="add" due-to="Michael Schnell"> - Ported filters from Commons IO #9. - </action> - <action issue="VFS-696" dev="ggregory" type="add" due-to="Robert DeRose"> - More efficient comparison in FileExtensionSelector #44. - </action> - <action issue="VFS-660" dev="ggregory" type="add" due-to="Liu Yubao"> - Expose workaround for connecting to FTP server from different subnets in PASV mode #35. - </action> - <action issue="VFS-699" dev="ggregory" type="add" due-to="Boris Petrov"> - Add setting for FTP encoding auto-detection #58. - </action> - <action issue="VFS-702" dev="ggregory" type="update" due-to="Boris Petrov"> - Simplify adding files to DefaultFileMonitor #57. - </action> - <action issue="VFS-703" dev="ggregory" type="update" due-to="Gary Gregory"> - Update Apache Commons Lang from 3.8.1 to 3.9. - </action> - <action issue="VFS-706" dev="ggregory" type="add" due-to="Boris Petrov"> - Add ability to specify buffer sizes #59. - </action> - <action issue="VFS-609" dev="ggregory" type="add" due-to="stevezhuang, Rostislav, Gary Gregory"> - SFTP provider doesn't support a private key as byte array #60. - </action> - <action issue="VFS-707" dev="ggregory" type="add" due-to="Gary Gregory"> - Update Apache HttpClient from 4.5.7 to 4.5.8. - </action> - <action issue="VFS-707" dev="ggregory" type="fix" due-to="Gary Gregory"> - [SFTP] SftpFileSystem.executeCommand(String, StringBuilder) can leak ChannelExec objects. - </action> - <action issue="VFS-709" dev="ggregory" type="fix" due-to="Gary Gregory"> - [SFTP] SftpFileSystem.getGroupsIds() can initialize underlying data more than once while multithreading. - </action> - <action issue="VFS-710" dev="ggregory" type="fix" due-to="Gary Gregory"> - [SFTP] SftpFileSystem.getUid() can initialize underlying data more than once while multithreading. - </action> - <action issue="VFS-711" dev="ggregory" type="fix" due-to="Gary Gregory"> - [SFTP] SftpFileSystem can initialize underlying Session more than once while multithreading. - </action> - <action issue="VFS-662" dev="ggregory" type="fix" due-to="qxo, Alexey Abashev, Gary Gregory"> - [SFTP] SftpFileSystem has Thread-safe issue about idleChannel (#36). - </action> - <action issue="VFS-700" dev="ggregory" type="fix" due-to="Gary Gregory, Matthias Krueger"> - Some tests fail on Java 11 and above. - </action> - <action issue="VFS-712" dev="ggregory" type="add" due-to="Gary Gregory"> - Add null-safe org.apache.commons.vfs2.util.FileObjectUtils.exists(FileObject). - </action> - <action issue="VFS-713" dev="ggregory" type="add" due-to="Gary Gregory"> - Add FileObjectUtils.readProperties(FileObject) method to read a .properties file. - </action> - <action issue="VFS-715" dev="ggregory" type="add" due-to="Gary Gregory"> - Add org.apache.commons.vfs2.FileContent.getByteArray(). - </action> - <action issue="VFS-716" dev="ggregory" type="fix" due-to="Boris Petrov"> - Fix AbstractFileName.getURI returning unencoded #-sign #64. - </action> - <action issue="VFS-698" dev="ggregory" type="fix" due-to="David Septimus, Bernd"> - SFTP file attributes are fetched multiple times leading to very slow directory listing; #65. - </action> - <action issue="VFS-717" dev="ggregory" type="fix" due-to="Gary Gregory"> - Update org.apache.httpcomponents:httpclient from 4.5.8 to 4.5.9. - </action> - <action issue="VFS-718" dev="ggregory" type="fix" due-to="Boris Petrov"> - MonitorInputStream should not close the stream in "read" #67. - </action> - <action issue="VFS-719" dev="ggregory" type="add" due-to="Gary Gregory"> - Add methods to get the contents of file objects as strings. - </action> - <action issue="VFS-720" dev="ggregory" type="add" due-to="Boris Petrov"> - Implement Closeable for RandomAccessContent #66. - </action> - <action issue="VFS-721" dev="ggregory" type="add" due-to="Gary Gregory"> - Add support for symbolic links for the local file system and add FileObject#isSymbolicLink(). - </action> - <action issue="VFS-722" dev="ggregory" type="update" due-to="Gary Gregory"> - Update Apache Commons Collections from 4.3 to 4.4. - </action> - <!-- Source code notes --> - <action dev="ggregory" type="update"> - Source incompatibility: org.apache.commons.vfs2.FileFilter.accept(FileSelectInfo) now throws checked exception FileSystemException. - </action> - <action dev="ggregory" type="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. - </action> - <action dev="ggregory" type="update"> - Public API note: The overridden method org.apache.commons.vfs2.provider.sftp.SftpFileObject#refresh() was removed but is implemented in a superclass. - </action> - <action dev="ggregory" type="update"> - Public API note: The overridden method org.apache.commons.vfs2.provider.sftp.SftpFileProvider#init() was removed but is implemented in a superclass. - </action> - </release> - <release version="2.3" date="2019-02-01" description="New features and bug fix release."> - <action issue="VFS-645" dev="ggregory" type="fix"> - VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and up. - </action> - <action issue="VFS-678" dev="ecki" type="fix"> - Fix various LGTM.com code review warnings. - </action> - <action issue="VFS-652" dev="ecki" type="fix"> - PatternFileSelector documentation to describe actual matching against getPath(). - </action> - <action issue="VFS-650" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.15 to 1.16.1. - </action> - <action issue="VFS-646" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.14 to 1.15. - </action> - <action issue="VFS-589" dev="ggregory" type="fix" due-to="L, Gary Gregory"> - SFTP moveTo operation hangs if the server does not support SSH channelExec. - </action> - <action issue="VFS-653" dev="ggregory" type="update"> - Replace use of deprecated APIs in HDFS provider. - </action> - <action issue="VFS-655" dev="ggregory" type="fix" due-to="Arnaud MERGEY"> - OSGI MANIFEST.MF "Import-Package" should be ";resolution:=optional" for Maven "optional" dependencies. - </action> - <action issue="VFS-657" dev="ggregory" type="fix" due-to="Elias Putz"> - FileSelector implementations like FileDepthSelector should throw Exception. - </action> - <action issue="VFS-614" dev="ggregory" type="fix" due-to="Boris Petrov, Otto Fowler"> - MonitorInputStream should not close the stream in read(). - </action> - <action issue="VFS-666" dev="ggregory" type="update"> - Update Apache Commons Collections from 4.1 to 4.2. - </action> - <action issue="VFS-667" dev="ggregory" type="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. - </action> - <action issue="VFS-668" dev="ggregory" type="update"> - Throw a NPE with a better message when a class loader is null. - </action> - <action issue="VFS-669" dev="ggregory" type="fix"> - org.apache.commons.vfs2.util.CombinedResources.loadResources(String) should not throw an NPE for the system class loader is null. - </action> - <action issue="VFS-671" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.16.1 to 1.18. - </action> - <action issue="VFS-675" dev="ggregory" type="fix"> - NullPointerException at AbstractFileObject.java:221. - </action> - <action issue="VFS-680" dev="ggregory" type="update"> - Update from Java 7 to Java 8. - </action> - <action issue="VFS-681" dev="ggregory" type="update" due-to="Robert DeRose"> - VFS.setManager should be synchronized; #43. - </action> - <action issue="VFS-674" dev="ggregory" type="fix" due-to="Boris Petrov, Gary Gregory"> - Cannot close an FTP input stream without an exception. - </action> - <action issue="VFS-682" dev="ggregory" type="update"> - Throw a org.apache.commons.vfs2.FileSystemException instead of a NullPointerException in org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveName(FileName, String, NameScope). - </action> - <action issue="VFS-294" dev="ggregory" type="fix" due-to="Johannes Scharf"> - NullPointerException in FtpFileObject.getChildFile(). - </action> - <action issue="VFS-679" dev="ggregory" type="fix" due-to="Boris Petrov, Gary Gregory"> - NullPointerException in FtpFileObject.doGetLastModifiedTime(). - </action> - <action issue="VFS-398" dev="ggregory" type="fix" due-to="Otto Fowler"> - FtpFileObject.getChildren() fails when a folder contains a file with a colon in the name. - </action> - <action issue="VFS-688" dev="ggregory" type="update"> - [SFTP] Update jsch from 0.1.54 to 0.1.55. - </action> - <action issue="VFS-677" dev="ggregory" type="add" due-to="dingxbcn"> - [SFTP] Add support for append mode. - </action> - <action issue="VFS-673" dev="ggregory" type="add" due-to="Oleksandr Lykhonosov"> - [SFTP] Support com.jcraft.jsch.ConfigRepository (~/.ssh/config) with SftpFileSystemConfigBuilder and flag to load OpenSSHConfig. - </action> - <action issue="VFS-673" dev="ggregory" type="add" due-to="Daniel Banks"> - DefaultFileSystemManager should implement AutoCloseable. - </action> - <action issue="VFS-637" dev="ggregory" type="add" due-to="Gary Gregory"> - Zip files with legacy encoding and special characters let VFS crash. - </action> - <action issue="VFS-360" dev="ggregory" type="add" due-to="Woonsan Ko"> - Add HTTP provider based on HttpComponents HttpClient 4. - </action> - <action issue="VFS-689" dev="ggregory" type="add" due-to="Gary Gregory"> - org.apache.commons.vfs2.provider.http.HttpFileObject.getHeadMethod() does not release connection when an exception is thrown. - </action> - </release> - <release version="2.2" date="2017-10-06" description="New features and bug fix release."> - <action issue="VFS-642" dev="pschumacher" type="update" due-to="ilangoldfeld"> - Upgrade to jcifs 1.3.17 - </action> - <action issue="VFS-189" dev="kinow" type="fix"> - Possible NPE in DefaultFileSystemManager. - </action> - <action issue="VFS-628" dev="ggregory" type="add"> - Add a file inverter FileSelector: InvertIncludeFileSelector. - </action> - <action issue="VFS-612" dev="ggregory" type="update"> - Update the platform requirement from Java 6 to Java 7. - </action> - <action issue="VFS-615" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.11 to 1.12. - </action> - <action issue="VFS-629" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.12 to 1.13. - </action> - <action issue="VFS-639" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.13 to 1.14. - </action> - <action issue="VFS-631" dev="ggregory" type="update"> - Update from Apache Commons Net 3.5 to 3.6. - </action> - <action issue="VFS-632" dev="ggregory" type="update"> - Update from JCraft jsch for SFTP/SSH from 0.1.53 to 0.1.54. - </action> - <action issue="VFS-621" dev="ggregory" type="update"> - Add API VFS.setManager(FileSystemManager). - </action> - <action issue="VFS-643" dev="ggregory" type="update"> - VFS should not log at the INFO level. - </action> - <action issue="VFS-620" dev="ggregory" type="fix" due-to="stevezhuang"> - FileObject.moveTo(FileObject) API doesn't work well for a Linux FTP. - </action> - <action issue="VFS-291" dev="ggregory" type="fix"> - ZIP archives are not properly closed after unzipping and cannot be deleted until the JVM exists. - </action> - <action issue="VFS-644" dev="ggregory" type="fix"> - AbstractFileSystem.streamClosed() always sets openStream count to zero. - </action> - </release> - <release version="2.1" date="2016-05-19" description="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."> -<!-- <action issue="VFS-443" dev="ggregory" type="update" due-to="nickallen"> --> -<!-- [Local] Need an easy way to convert from a FileObject to a File. --> -<!-- </action> --> -<!-- START Might need to be moved to the next version --> - <action issue="VFS-607" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.10 to 1.11. - </action> - <action issue="VFS-608" dev="ggregory" type="update"> - Update Apache Commons Net from 3.4 to 3.5. - </action> -<!-- END Might need to be moved to the next version --> - <action issue="VFS-424" dev="ecki" type="fix"> - Fix StandardFileSystemManager class loading so it works in a OSGi environment. - </action> - <action issue="VFS-490" dev="ecki" type="fix"> - [vfsclassloader] Do not open folders with .jar extension. Adds tests. - </action> - <action issue="VFS-582" dev="ecki" type="fix"> - [tests] revert rename of getTestDirectoryFile to make test classes more compatible for external providers. - </action> - <action issue="VFS-480" dev="ecki" type="fix"> - Make startup of SoftRefsFileCache cleaner thread work and less racy to avoid leaks. - </action> - <action issue="VFS-549" dev="ecki" type="fix"> - Use File.seperator instead of getProperty("file.separator"). - </action> - <action issue="VFS-567" dev="ecki" type="fix" due-to="Antonio Petrelli"> - [ftp] Ignore exceptions while QUIT/disconnect. - </action> - <action issue="VFS-572" dev="ecki" type="fix" due-to="Sandra Parsick"> - [sftp] better documentation for knownhosts file option. - </action> - <action issue="VFS-574" dev="ecki" type="fix"> - Ensure FileOpertionProviders are closed. Adds some testcases. - The error code for missing operations exceptions corrected: vfs.operation/operation-not-supported.error - </action> - <action issue="VFS-279" dev="ecki" type="fix" due-to="Didier Earith, Simon Legner"> - [local] Avoid ClassCastException when replicating local files while OnCall caching is active. - </action> - <action issue="VFS-297" dev="joehni" type="fix" due-to="Kirill Safonov, Jimmy Praet"> - [sftp] VSF fails to reuse FileSystem instances if FileSystemOptions contain - an array as value. Reported for SFTP using identities. - </action> - <action issue="VFS-198" dev="ecki" type="add" due-to="Andrew Franklin, Simon Legner"> - [http] Make user agent configurable. - </action> - <action issue="VFS-202" dev="ecki" type="fix" due-to="Sergey Vladimirov, Simon Legner"> - [http] Allow URLs responding with 405 to HEAD requests. - </action> - <action issue="VFS-490" dev="ecki" type="fix"> - [hdfs] Make OSGi package imports for hdfs resolution=optional. - Removed all scopes from dependency management. - </action> - <action issue="VFS-560" dev="ecki" type="fix"> - [http] avoid initial HEAD request to root of HttpFileSystem as it might be wrong context. - </action> - <action issue="VFS-236" dev="ecki" type="fix" due-to="Matt Casters"> - [smb] Allow SMB to be used with no authentication. - </action> - <action issue="VFS-564" dev="ecki" type="fix" due-to="Dmitry Konstantinov"> - Make some loggers static. - </action> - <action issue="VFS-555" dev="rwhitcomb" type="add"> - [hdfs] Add the ability to specify an HDFS configuration file with HdfsFileSystemConfigBuilder. - </action> - <action issue="VFS-557" dev="ecki" type="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. - </action> - <action issue="VFS-558" dev="ecki" type="fix"> - Make moveTo() and getParent() work with CacheStrategy.ON_CALL. - In case of FTP Provider it would lead otherwise to an UnsupportedOperationException. - </action> - <action dev="ecki" type="fix"> - [sandbox] RACRandomAccessFile is now in org.apache.commons.vfs2.util package (so sandbox has only one overlapping package). - </action> - <action issue="VFS-530" dev="ecki" type="update" due-to="Dave Marion"> - [hdfs] Use stable Apache Hadoop 2.6 dependencies. - </action> - <action dev="ecki" type="add"> - [example] make VFS Shell print version and implement new 'info' command. - </action> - <action issue="VFS-552" dev="ecki" type="fix"> - [sandbox] include vfs-providers.xml in JAR for dynamic registration of mime and smb providers. - </action> - <action issue="VFS-551" dev="ecki" type="fix" due-to="David Camilo Espitia Manrique"> - Javadoc: make it clear that DefaultCryptor is only an obfuscation function. - </action> - <action issue="VFS-309" dev="ecki" type="fix"> - DefaultFileContent will remove thread data whenever possible to avoid leaks. - </action> - <action issue="VFS-487" dev="ecki" type="fix" due-to="Dave Marion"> - DefaultFileMonitor detects recreated files. - </action> - <action issue="VFS-523" dev="ecki" type="fix" due-to="Roger Whitcomb"> - [HDFS] Make HdfsFileObject.equal use system hashcode/equals instead of - wrongly comparing file path only. - </action> - <action issue="VFS-544" dev="ecki" type="fix"> - [Virtual] Allow virtual file systems and virtual file system provider - to be closed, to avoid memory leak. - </action> - <action issue="VFS-142" dev="ecki" type="fix" due-to="Ryan Boettcher"> - Use ThreadLocal.remove() to clean out FileContentThreadData objects. - </action> - <action issue="VFS-545" dev="ecki" type="fix"> - Make DefaultFilesCache remove reference to filesystem when it is cleared (closed). - </action> - <action issue="VFS-521" dev="ecki" type="fix"> - [Ram][Tests] Make RAM provider test pass on Java 8 - (JDK-8042377, self-suppression not permitted, MonitorOutputStream#close()). - </action> - <action issue="VFS-601" dev="ggregory" type="update"> - Update Apache Commons Net from 3.3 to 3.4. - </action> - <action issue="VFS-602" dev="ggregory" type="update"> - Update Apache Commons IO from 2.4 to 2.5. - </action> - <action issue="VFS-579" dev="ggregory" type="update"> - Update Jsch from 0.1.51 to 0.1.53. - </action> - <action issue="VFS-542" dev="ggregory" type="update"> - Update Jsch from 0.1.50 to 0.1.51. - </action> - <action issue="VFS-578" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.9 to 1.10. - </action> - <action issue="VFS-541" dev="ggregory" type="update"> - Update Apache Commons Compress from 1.6 to 1.9. - </action> - <action issue="VFS-540" dev="ggregory" type="update"> - Update Apache Commons Logging from 1.1.3 to 1.2. - </action> - <action issue="VFS-539" dev="ggregory" type="update"> - Update Apache Commons Lang from 3.1 to 3.3.2. - </action> - <action issue="VFS-532" dev="ggregory" type="add" due-to="Gareth Daniel Smith"> - [FTP] Allow configuring remoteVerificationEnabled on FTPClient instances. - </action> - <action issue="VFS-338" dev="ecki" type="fix" due-to="Daniel R."> - [Local][Tests] Avoid IndexOutOfBoundsException when validating local file URIs. - </action> - <action issue="VFS-526" dev="ecki" type="update"> - [HDFS][Tests] Support HDFS testing on Windows (but keep profile "no-hdfs" enabled on Windows VFS-529). - </action> - <action issue="VFS-453" dev="ecki" type="update" due-to="Jiri Syrovy"> - [HTTP][WEBDAV] Add file system options for connect and socket timeout. - </action> - <action issue="VFS-167" dev="ecki" type="update" due-to="Jimmy Praet"> - [FTP] Allow Proxy support to file system options. - </action> - <action issue="VFS-520" dev="ecki" type="update"> - Make Javadoc compatible with Java 8 tool. - </action> - <action issue="VFS-518" dev="ggregory" type="update" due-to="Roland Illig"> - Documentation of FileSystemOptions should be more helpful. - </action> - <action issue="VFS-500" dev="ggregory" type="update" due-to="Bernd Eckenfels"> - VFSClassLoader.findResources missing. - </action> - <action issue="VFS-514" dev="ggregory" type="update" due-to="Bernd Eckenfels"> - [tests] PermissionsTests leaves unclean test directory. - </action> - <action issue="VFS-501" dev="ggregory" type="update" due-to="Yves Schumann"> - Hide passwords from log/console output. - </action> - <action issue="VFS-496" dev="ggregory" type="update" due-to="Bernd Eckenfels"> - Resource translation issues. - </action> - <action issue="VFS-494" dev="ggregory" type="update" due-to="Allen Xudong Cheng"> - [SFTP] No support for SFTP servers with non Latin-1 file name encoding. - </action> - <action issue="VFS-368" dev="ggregory" type="update" due-to="Brendan Long"> - [SFTP] Documentation implies that "userDirIsRoot" defaults to true. - </action> - <action issue="VFS-265" dev="ggregory" type="update" due-to="Scott Bjerstedt"> - [FTP] Set user dir as root dir by default. - </action> - <action issue="VFS-489" dev="ggregory" type="fix" due-to="Bernd Eckenfels"> - [tests] ProviderWriteTests#testListener does not fail cleanly. - </action> - <action issue="VFS-486" dev="ggregory" type="fix" due-to="Sam Haldane"> - DefaultFileMonitor sleeps for twice the specified delay when checkPerRun > 0. - </action> - <action issue="VFS-484" dev="ggregory" type="update"> - [SFTP] Update Jsch to 0.1.50 from 0.1.49. - </action> - <action issue="VFS-482" dev="ggregory" type="fix"> - Wrong assertion messages in RAM provider test case. - </action> - <action issue="VFS-507" dev="ggregory" type="update"> - Update to Apache Commons Collection 4.1 from 3.2.1 and use generics. - </action> - <action issue="VFS-476" dev="ggregory" type="update"> - Update Apache Commons Logging to 1.1.3 from 1.1.2. - </action> - <action issue="VFS-475" dev="ggregory" type="update"> - Update Apache Commons Net to 3.3 from 3.2. - </action> - <action issue="VFS-506" dev="ggregory" type="update"> - [Tar][Bzip2] Update Apache Commons Compress to 1.6 from 1.5. - </action> - <action issue="VFS-471" dev="ggregory" type="update"> - Update to Apache Commons Compress 1.5. - </action> - <action issue="VFS-469" dev="joehni" type="remove"> - Remove unused dependency to javax.jcr:jcr. - </action> - <action issue="VFS-283" dev="joehni" type="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. - </action> - <action issue="VFS-460" dev="joehni" type="fix"> - Dependency to commons-compress set as optional. - </action> - <action issue="VFS-468" dev="joehni" type="add"> - [FTPS] Add option for KeyManager (and TrustManager) to support FTPS servers that ask for the client certificate for authentication. - </action> - <action issue="VFS-464" dev="joehni" type="fix"> - StaticUserAuthenticator should return only requested authentication data. - </action> - <action issue="VFS-463" dev="joehni" type="update"> - FileSytemConfigBuilder supports system properties for the value of enum-based configuration entries. - </action> - <action issue="VFS-462" dev="joehni" type="update"> - [FTPS] Deprecate FtpsFileSystemConfigBuilder.setFtpsType and FtpsFileSystemConfigBuilder.getFtpsType - in favor of FtpsFileSystemConfigBuilder.setFtpsMode and FtpsFileSystemConfigBuilder.getFtpsMode which - use new enum FtpsMode instead. - </action> - <action issue="VFS-461" dev="joehni" type="fix"> - [FTP/FTPS] ConfigBuilder does not consider system properties for the value of SoTimeout and Encoding. - </action> - <action issue="VFS-412" dev="joehni" type="add" due-to="Jose Juan Montiel"> - [FTPS] Add support for command to set the DataChannelProtectionLevel. - </action> - <action issue="VFS-459" dev="joehni" type="update"> - [FTP/FTPS] Sent commands and the received answer is logged at debug level. - </action> - <action issue="VFS-458" dev="joehni" type="fix"> - [FTPS] Provider missed functionality and bug fixes already available for the FTP provider. - </action> - <action issue="VFS-452" dev="ggregory" type="fix" due-to="Jean-Marc Borer"> - [HTTP] HttpFileObject read/write attributes should reflect underlying FileSystem capabilities. - </action> - <action issue="VFS-285" dev="tn" type="fix" due-to="Kirill Safonov"> - AbstractFileObject.getChildren() may corrupt its internal state if a filename - can not be resolved. - </action> - <action issue="VFS-450" dev="ggregory" type="fix" due-to="Dave Marion"> - [HDFS] HDFSFileSystem.resolveFile() does not honor CacheStrategy.ON_RESOLVE. - </action> - <action issue="VFS-442" dev="ggregory" type="add" due-to="Dave Marion"> - [HDFS] Add an HDFS FileSystem Provider. - </action> - <action issue="VFS-448" dev="ggregory" type="fix"> - commons-vfs 2.0 JAR has flawed OSGi MANIFEST.MF. - </action> - <action issue="VFS-447" dev="ggregory" type="add"> - [FTP/FTPS] Update Apache Commons Net to 3.2 from 3.1. - </action> - <action issue="VFS-445" dev="ggregory" type="add"> - Add FileSystemManager.resolveFile(URI) and resolveFile(URL). - </action> - <action issue="VFS-440" dev="ggregory" type="add" due-to="bpiwowar"> - [SFTP] Stream (e.g. netcat) proxy for Sftp file system (aka ProxyCommand). - </action> - <action issue="VFS-439" dev="ggregory" type="fix" due-to="pensecit"> - StaticUserAuthenticator usage example wrong. - </action> - <action issue="VFS-437" dev="ggregory" type="fix" due-to="denniszhu, danttran, jpowang"> - [FTP] StackOverFlowError getting the type of a directory with a symbolic link to a parent directory with the same name. - </action> - <action issue="VFS-435" dev="ggregory" type="fix" due-to="george scott"> - FileSystemConfigBuilder does not use prefix for some system property lookups. - </action> - <action issue="VFS-434" dev="ggregory" type="fix"> - FileSystemException should reuse IOException's chained exception. - </action> - <action issue="VFS-433" dev="ggregory" type="fix"> - [WebDAV] Message "vfs.provider.webdav/propfind.error" is not defined. - </action> - <action issue="VFS-430" dev="ggregory" type="fix" due-to="antonin.stefanutti"> - The SoftRefFilesCache class logs clear text password. - </action> - <action issue="VFS-432" dev="ggregory" type="add"> - [HTTP][WebDAV] Allow HTTP follow redirect. - </action> - <action issue="VFS-431" dev="ggregory" type="add"> - FileSystemOption does not implement toString(). - </action> - <action issue="VFS-429" dev="ggregory" type="fix"> - Remove extra FileSystem ivar in AbstractFileObject subclasses with generics. - </action> - <action issue="VFS-427" dev="ggregory" type="fix" due-to="awelynant"> - [HTTP] NPE on HttpFileObject.getContent().getContentInfo(). - </action> - <action issue="VFS-405" dev="ggregory" type="add" due-to="dwaszak"> - Get/set the file permissions. - </action> - <action issue="VFS-457" dev="joehni" type="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 - </action> - <action issue="VFS-456" dev="joehni" type="update"> - Use org.bouncycastel:bcprov-jdk16 instead of org.bouncycastle:bcprof-jdk15on since Java 1.6 is required. - </action> - <action issue="VFS-415" dev="ggregory" type="update"> - Update VFS requirement to Java 1.6. - </action> - <action issue="VFS-426" dev="ggregory" type="add" due-to="daniel.bergholm"> - HTTP URL query string not part of cache key. - </action> - <action issue="VFS-425" dev="ggregory" type="add"> - Add API FileObject.isExecutable(). - </action> - <action issue="VFS-421" dev="ggregory" type="add" due-to="bpiwowar"> - [SFTP] Configure a custom Identity Repository. - </action> - <action issue="VFS-418" dev="ggregory" type="update"> - Update to Apache Commons Compress 1.4.1. - </action> - <action issue="VFS-417" dev="ggregory" type="add"> - [RAM][Local] Add and implement new API: RandomAccessContent.setLength(long). - </action> - <action issue="VFS-406" dev="ggregory" type="fix" due-to="mp1"> - [RAM] resize throws ArrayOOBE when shrinking in size. - </action> - <action issue="VFS-321" dev="ggregory" type="update" due-to="sebb"> - AbstractFileObject sometimes uses getFileSystem() and sometimes references "fs" field directly. - </action> - <action issue="VFS-327" dev="ggregory" type="update" due-to="sebb"> - UriParser.canonicalizePath possible NPE for filenameParser. - </action> - <action issue="VFS-353" dev="ggregory" type="fix" due-to="bergander"> - [FTP] Client should call logout before disconnecting. - </action> - <action issue="VFS-408" dev="ggregory" type="fix" due-to="ani...@yahoo.com"> - CompressedFileFileObject Exception thrown when container file has no extension. - </action> - <action issue="VFS-400" dev="ggregory" type="add"> - Add a FileSelector based on regular expressions. - </action> - <action issue="VFS-258" dev="ggregory" type="fix" due-to="mzawirski"> - [SFTP][RAM] Unsafe casting to AbstractFileObject subclasses in doRename(). - </action> - <action issue="VFS-254" dev="ggregory" type="add" due-to="mzawirski"> - Let FileObject and FileContent extend java.io.Closeable. - </action> - <action issue="VFS-413" dev="ggregory" type="fix" due-to="polivenok"> - [FTP] No support for FTP servers with non Latin-1 control encoding. - </action> - <action issue="VFS-252" dev="ggregory" type="add"> - [SMB] SmbFileObject does not support setLastModifiedTime while jcifs supports it. - </action> - <action issue="VFS-200" dev="ggregory" type="fix"> - [SFTP] Failure when files are very large. - </action> - <action issue="VFS-416" dev="joehni" type="update"> - [SFTP] Update Jsch to version 0.1.49 from 0.1.47. - </action> - <action issue="VFS-296" dev="ggregory" type="fix" due-to="andreasp"> - [FTP] FTP socket timeout setting doesn't work if connect hangs. - </action> - <action issue="VFS-313" dev="ggregory" type="add" due-to="bda...@saintandreas.org"> - [FTP] Configuration does not include option for setting socket timeout. - </action> - <action issue="VFS-414" dev="ggregory" type="add"> - [FTP] Add config API to set the file type. - </action> - <action issue="VFS-182" dev="ggregory" type="add"> - [FTP] Usage of FTP with heterogeneous FTP server (possibility of using Ascii file type). - </action> - <action issue="VFS-395" dev="ggregory" type="update"> - [POM] Remove maven-scm-* dependencies. - </action> - <action issue="VFS-411" dev="ggregory" type="update"> - [SFTP] Update Jsch to version 0.1.47 from 0.1.46. - </action> - <action issue="VFS-410" dev="ggregory" type="fix" due-to="mstockhammer"> - [SFTP] SftpFileObject getInputStream(long) reads the whole file into memory. - </action> - <action issue="VFS-409" dev="ggregory" type="update"> - Update Apache Commons Compress to 1.4 from 1.3. - </action> - <action issue="VFS-407" dev="ggregory" type="fix" due-to="mp1"> - [RAM] Reading a RAM FileSystem file fails because it never returns EOF -1. - </action> - <action issue="VFS-404" dev="ggregory" type="update"> - [FTP][FTPS] Update Apache Commons Net to 3.1 from 3.0.1. - </action> - <action issue="VFS-402" dev="ggregory" type="update"> - [WebDAV] Update Apache Jackrabbit 1.5.2 to 1.6.5. - </action> - <action issue="VFS-401" dev="ggregory" type="update"> - Update JSch to 0.1.46 from 0.1.45 for the SFTP provider. - </action> - <action issue="VFS-392" dev="ggregory" type="update"> - Build tests WebDAV file system with an embedded WebDAV server (Apache Jackrabbit). - </action> - <action issue="VFS-391" dev="ggregory" type="update"> - Build tests URL HTTP file system with an embedded HTTP server (Apache HttpComponent Core). - </action> - <action issue="VFS-390" dev="ggregory" type="update"> - Use variable argument list in org.apache.commons.vfs2.util.Messages instead of Object[]. - </action> - <action issue="VFS-389" dev="ggregory" type="update"> - Use variable argument lists in FileSystemException instead of Object[]s. - </action> - <action issue="VFS-388" dev="ggregory" type="update"> - Build tests SFTP file system with an embedded SFTP server (Apache MINA). - </action> - <action issue="VFS-387" dev="ggregory" type="update"> - Build tests FTP file system with an embedded FTP server (Apache MINA). - </action> - <action issue="VFS-386" dev="ggregory" type="update"> - Build tests HTTP file system with an embedded HTTP server (Apache HttpComponent Core). - </action> - <action issue="VFS-385" dev="ggregory" type="update"> - Add HTTP status code to HTTP file provider exception messages when available. - </action> - <action issue="VFS-384" dev="ggregory" type="update"> - Update Apache Commons Net to 3.0.1 from 2.2 for FTP and SFTP providers. - </action> - <action issue="VFS-383" dev="ggregory" type="update"> - Update JSch to 0.1.45 from 0.1.42 for the SFTP provider. - </action> - <action issue="VFS-382" dev="ggregory" type="fix"> - SFTP getChildren() does not fail when called on a file. - </action> - <action issue="VFS-381" dev="ggregory" type="add"> - Iterate over a FileObject using the Java "foreach" statement, to provide all descendents of a FileObject. - </action> - <action issue="VFS-380" dev="ggregory" type="fix"> - FTP connect.error message used instead of SFTP connect.error message. - </action> - <action issue="VFS-379" dev="ggregory" type="update"> - Replace custom BZIP2 code with Apache Commons Compress 1.3. - </action> - <action issue="VFS-378" dev="ggregory" type="fix"> - Tar error message are missing from resource file. - </action> - <action issue="VFS-377" dev="ggregory" type="update"> - Replace custom TAR code with Apache Commons Compress 1.3. - </action> - <action issue="VFS-375" dev="ggregory" type="update"> - Upgrade to Apache Commons Compress 1.3 from 1.2. - </action> - <action issue="VFS-374" dev="ggregory" type="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. - </action> - <action issue="VFS-373" dev="ggregory" type="add"> - Add FileContent write APIs. - </action> - <action issue="VFS-372" dev="ggregory" type="add"> - Add constructors FileDepthSelector() and FileDepthSelector(int). - </action> - <action issue="VFS-371" dev="ggregory" type="add"> - Add FileObject API deleteAll(). - </action> - <action issue="VFS-370" dev="ggregory" type="add"> - Add a FileExtensionSelector class. - </action> - <action issue="VFS-367" dev="ggregory" type="add"> - Add APIs FileObject isFile(), FileObject isFolder(), and FileName isFile(). - </action> - <action issue="VFS-366" dev="ggregory" type="update"> - Can't sort a List of FileObject's, FileObject to implement Comparable<FileObject>. - </action> - <action issue="VFS-341" dev="rgoers" type="update" due-to="Rajika Kumarasiri"> - Enable logging of JSch using the Commons Logging Log object in SftpClientFactory. - </action> - <action issue="VFS-355" dev="rgoers" type="fix" due-to="Miroslav Pokorny"> - The read method of RamFileRandomAccessContent's input stream does not return -1 at eof. - </action> - <action issue="VFS-356" dev="rgoers" type="fix"> - Throw an IOException if an attempt is made to seek to a position before the start of the file. - </action> - <action issue="VFS-359" dev="rgoers" type="fix" due-to="Miroslav Pokorny"> - Don't delete a RamFileObject if it is open. - </action> - <action issue="VFS-352" dev="rgoers" type="fix"> - ZipFileSystem now uses an internal Map as a cache for all the files in the zip archive. - </action> - <action issue="VFS-351" dev="rgoers" type="fix" due-to="John Backstrand"> - Chain the SftpException in the FileSystemException. - </action> - <action issue="VFS-361" dev="rgoers" type="update"> - Upgrade commons collections version to 3.2.1. - </action> - <action issue="VFS-325" dev="rgoers" type="fix" due-to="Larry Reeve"> - Allow # character in file names. - </action> - <action issue="VFS-335" dev="rgoers" type="fix"> - Use atomic variables in MonitorInputStream. - </action> - <action issue="VFS-364" dev="rgoers" type="fix"> - Check the href in the response for just a path in addition to a full uri. - </action> - </release> - <release version="2.0" date="2011-08-24" description="Backwards incompatible update of Commons VFS to Java 5"> - <action issue="VFS-348" dev="rgoers" type="fix" due-to="Stefan Bodewig"> - Update the version of commons-net. - </action> - <action issue="VFS-230" dev="rgoers" type="fix"> - Documented FileSystem capabilities on the web site. - </action> - <action issue="VFS-337" dev="rgoers" type="fix"> - AbstractFileObject and classes that extend from it use AbstractFileName in the constructor and in - the createFile method. - </action> - <action issue="VFS-245" dev="rgoers" type="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. - </action> - <action issue="VFS-334" dev="sebb" type="fix"> - DefaultFileSystemConfigBuilder.getConfigClass() returns DefaultFileSystemConfigBuilder.class which is not a FileSystem - </action> - <action dev="rgoers" type="fix" issue="VFS-305" due-to="Tom"> - Add encoding option to FTP provider. - </action> - <action dev="rgoers" type="fix" issue="VFS-315" due-to="David Hausladen"> - Fix potential NullPointerException if the DavProperty is null or contains null values. - </action> - <action dev="rgoers" type="fix" issue="VFS-316" due-to="David Hausladen"> - Add option for preemptive authentication for HTTP based protocols. - </action> - <action dev="rgoers" type="fix" issue="VFS-322" due-to="Curtis Boyden"> - Allow tar files that contain files over 2GB in size. - </action> - <action dev="rgoers" type="fix" issue="VFS-324" due-to="sebb"> - Clear the cache in RamFileSystem and the children in RamFileData. - </action> - <action dev="sebb" type="fix" issue="VFS-319"> - Typo in FtpsFileSystemConfigBuilder.setFtpsType - </action> - <action dev="rgoers" type="fix" issue="VFS-227" due-to="Sergey Vladimirov"> - InputStream and RandomAccessContent memory leak in FileContentThreadData - </action> - <action dev="rgoers" type="update" issue="VFS-263" due-to="Ingo Maas"> - WebdavFileObject does not implement doSetAttribute() - </action> - <action dev="rgoers" type="fix" issue="VFS-259" due-to="Marek Zawirski"> - Http and Webdav FIleContentInfoFactory: undress to AbstractFileObject before casting - </action> - <action dev="rgoers" type="fix" issue="VFS-261" due-to="Simon Olofsson"> - WebDAV upload corrupts binary files - </action> - <action dev="rgoers" type="fix" issue="VFS-276" due-to="Vince Bonfanti"> - add ProviderTestConfig.getDefaultFileSystemManager() method - </action> - <action dev="rgoers" type="fix" issue="VFS-282" due-to="Alexey"> - SftpFileProvider and SftpFileSystemConfigBuilder can't change ssh authentication methods - </action> - <action dev="rgoers" type="fix" issue="VFS-269" due-to="Marek Zawirski"> - HttpFileObject: unsupported content over 2GB length - </action> - <action dev="rgoers" type="fix" issue="VFS-287" due-to="Mircea-Eugen Ionica"> - LocalFileName objects are not released from AbstractFileSystem.listenerMap when all listeners are removed. - </action> - <action dev="rgoers" type="fix" issue="VFS-216" due-to="Reetu Mutti"> - 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. - </action> - <action dev="rgoers" type="fix" issue="VFS-289" due-to="Kirill Safonov"> - FTP connection is not released If exception is thrown out of FtpFileObject.doGetOutputStream(). - </action> - <action dev="rgoers" type="fix" issue="VFS-286" due-to="Kirill Safonov"> - 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. - </action> - <action dev="jcarman" type="add" issue="VFS-264" due-to="Scott Bjerstedt"> - Add FTPS provider. - </action> - <action dev="rgoers" type="add" issue="VFS-244"> - Rename HttpRandomAccesContent to HttpRandomAccessContent. - </action> - </release> - </body> -</document> +<?xml version="1.0"?> +<!-- + 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. +--> +<!-- +This file is also used by the maven-changes-plugin to generate the release notes. +Useful ways of finding items to add to this file are: + +1. Add items when you fix a bug or add a feature (this makes the +release process easy :-). + +2. Do a JIRA search for tickets closed since the previous release. + +3. Use the report generated by the maven-changelog-plugin to see all +SVN commits. Set the project.properties' maven.changelog.range +property to the number of days since the last release. + +To generate the release notes from this file: + +mvn -N changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] + +then tweak the formatting if necessary +and commit + +The <action> type attribute can be add,update,fix,remove. +--> + +<document xmlns="http://maven.apache.org/changes/1.0.0"> + <properties> + <title>Apache Commons VFS Release Notes</title> + <author email="d...@commons.apache.org">Apache Commons Developers</author> + </properties> + + <body> + <release version="2.7.0" date="2020-MM-DD" description="Maintenance release."> +<!-- <action issue="VFS-443" dev="ggregory" type="update" due-to="nickallen"> --> +<!-- [Local] Need an easy way to convert from a FileObject to a File. --> +<!-- </action> --> +<!-- START Might need to be moved to the next version --> + <action issue="VFS-753" dev="ggregory" due-to="John Webb, Gary Gregory" type="fix"> + NumberFormatException in SftpFileSystem::getUId. + </action> + <action issue="VFS-779" dev="ggregory" due-to="Gary Gregory" type="fix"> + Possible null pointer dereference in org.apache.commons.vfs2.impl.DefaultFileReplicator.close() due to return value of called method. + </action> + <action dev="ggregory" due-to="Gary Gregory" type="fix"> + Add org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.isDisableDetectExecChannel(FileSystemOptions) and setDisableDetectExecChannel(FileSystemOptions, boolean). + </action> + <action dev="ggregory" due-to="Gary Gregory" type="fix"> + Add org.apache.commons.vfs2.FileSystemConfigBuilder.toBooleanObject(boolean). + </action> + <action dev="ggregory" due-to="Gary Gregory" type="update"> + org.apache.commons.vfs2.provider.VfsComponent now implements java.io.Closeable. + </action> + <action dev="ggregory" due-to="PeterAlfredLee" type="fix"> + Modify some loop using stream API #96. + </action> + <action issue="VFS-757" dev="ggregory" due-to="ddg-igh" type="add"> + [SFTP] Configure whether exec detection is enabled #80. + </action> + <action dev="ggregory" due-to="PeterAlfredLee" type="add"> + Add proxy config for some HTTP/HTTPS test #108. + </action> + <action issue="VFS-780" dev="ggregory" due-to="Wuchte" type="fix"> + SftpFileSystem returns null channel and produce NPE - fix get… #110. + </action> + <action dev="ggregory" due-to="PeterAlfredLee" type="add"> + Fix some test error when JVM's default language is not US en #107. + </action> + <action issue="VFS-788" dev="ggregory" due-to="satish bhor" type="fix"> + [webdav/webdav4] Jackrabbit1 and jackrabbit2 modules getting same OSGi symbolic name. + </action> + <action issue="VFS-787" dev="ggregory" due-to="satish bhor" type="add"> + Allow users to set proxy schemes like http/https #122. + </action> + <action issue="VFS-786" dev="ggregory" due-to="satish bhor" type="add"> + Allow users to set custom keystore types like JCEKS, PKCS12 #121. + </action> + <action issue="VFS-624" dev="ggregory" due-to="PeterAlfredLee" type="fix"> + Fix for read() in constructors of LocalFileRandomAccessContent and RamFileRandomAccessContent #93. + </action> + <action issue="VFS-769" dev="ggregory" due-to="PeterAlfredLee" type="fix"> + Fix .tgz and .tbz2 createFileSystem fails #94 + </action> + <action issue="VFS-664" dev="ggregory" due-to="PeterAlfredLee" type="fix"> + Fix for file names with exclamation mark can not be read #95. + </action> + <action issue="VFS-777" dev="ggregory" due-to="Bing-ok, Gary Gregory" type="fix"> + NoSuchMethodError due to multiple versions of commons-codec:commons-codec:jar. + </action> + <action issue="VFS-570" dev="ggregory" due-to="garpinc, Gary Gregory" type="add"> + Add HDFS write support #114. + </action> + <action dev="ggregory" due-to="Gary Gregory" type="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 + </action> + <action dev="ggregory" due-to="Gary Gregory" type="fix"> + FileObject.getURL() returns an illegal URL when a it should escape a space. + </action> + <!-- UPDATES --> + <action issue="VFS-755" dev="ggregory" due-to="Gary Gregory" type="update"> + Update org.apache.httpcomponents:httpclient from 4.5.10 to 4.5.11. + </action> + <action issue="VFS-756" dev="ggregory" due-to="Gary Gregory" type="update"> + Update org.apache.jackrabbit:jackrabbit-standalone-components from 2.19.6 to 2.21.3. + </action> + <action issue="VFS-754" dev="ggregory" due-to="Gary Gregory" type="update"> + Update Apache Commons Compress from 1.19 to 1.20. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Update tests from Apache Commons Lang 3.9 to 3.11. + </action> + <action issue="VFS-768" dev="ggregory" due-to="ddg-igh" type="add"> + Update Apache httpclient 4.5.11 to 4.5.12 and httpclient5 5.0-beta7 to 5.0.1. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Update tests from Log4j 2.13.0 to 2.13.3. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Update tests from org.mockito:mockito-core from 3.2.4 to 3.4.4. + </action> + <action type="update" dev="ggregory" due-to="Gary Gregory"> + Update Apache Commons IO from 2.6 to 2.8.0. + </action> + <action dev="ggregory" type="update" due-to="Gary Gregory"> + Update site reports from org.apache.bcel:bcel 6.4.1 to 6.5.0. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Update actions/checkout from v1 to v2.3.3 #100, #109, #130. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Update actions/setup-java from v1.4.0 to v1.4.2 #111, #113. + </action> + <action dev="ggregory" type="update" due-to="Gary Gregory"> + Update commons-parent from 50 to 52. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Update checkstyle from 8.27 to 8.36 #123. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Update maven-pmd-plugin from 3.12.0 to 3.13.0 #125. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Update exec-maven-plugin from 1.6.0 to 3.0.0 #127. + </action> + </release> + <release version="2.6.0" date="2020-01-06" description="New features and bug fix release."> + <action dev="ggregory" due-to="Eitan Adler" type="fix"> + Clean up tests and simplify assertions #76. + </action> + <action issue="VFS-750" dev="ggregory" due-to="Boris Petrov, Gary Gregory" type="fix"> + Fix backwards incompatibility in AbstractFileObject.getInputStream(). + </action> + <action dev="ggregory" due-to="Gary Gregory" type="update"> + Update JUnit from 4.12 to 4.13. + </action> + <action issue="VFS-751" dev="ggregory" due-to="Gary Gregory" type="fix"> + Deprecate org.apache.commons.vfs2.FileUtil for org.apache.commons.vfs2.util.FileObjectUtils. + </action> + </release> + <release version="2.5.0" date="2019-12-24" description="New features and bug fix release."> + <action issue="VFS-741" dev="ecki" type="fix"> + FileObject#getChildren allows listing of files with known scheme prefix (generalizes VFS-398). + </action> + <action issue="VFS-726" dev="ggregory" type="fix" due-to="Cornelius Höfig, Gary Gregory"> + getInputStream(int bufferSize) on SftpFileObject effectively ignores buffer size. + </action> + <action issue="VFS-704" dev="ggregory" type="fix" due-to="Boris Petrov, Gary Gregory"> + Some providers wrap their input/output streams twice in a BufferedInputStream. + </action> + <action issue="VFS-727" dev="ggregory" type="fix" due-to="Michiel Hendriks, Gary Gregory"> + Prevented creation of singleton file system manager from providers. + </action> + <action issue="VFS-444" dev="ggregory" type="fix" due-to="Walter Eaves, Xavier Dury, Michiel Hendriks, Gary Gregory"> + ResourceFileProvider "res://" failed to obtain FileObject from resolved FileName. + </action> + <action issue="VFS-728" dev="ggregory" type="update" due-to="Gary Gregory"> + Update Apache Commons Compress from 1.18 to 1.19. + </action> + <action issue="VFS-729" dev="ggregory" type="update" due-to="Michiel Hendriks, Gary Gregory"> + Upgrade Hadoop to 2.7.4 or later; will use current 3.2.0. + </action> + <action issue="VFS-731" dev="ggregory" type="update" due-to="Gary Gregory"> + Update org.apache.httpcomponents:httpclient from 4.5.9 to 4.5.10. + </action> + <action issue="VFS-732" dev="ggregory" type="update" due-to="Gary Gregory"> + Update org.apache.httpcomponents:httpcore-nio from 4.4.11 to 4.4.12. + </action> + <action dev="ggregory" type="update" due-to="Gary Gregory"> + Update tests using org.mockito:mockito-core from 3.0.0 to 3.1.0. + </action> + <action issue="VFS-734" dev="ggregory" type="add" due-to="Gary Gregory"> + Add functional interface org.apache.commons.vfs2.function.VfsConsumer. + </action> + <action issue="VFS-735" dev="ggregory" type="add" due-to="Gary Gregory"> + Add org.apache.commons.vfs2.FileSystemManager.close() via AutoCloseable. + </action> + <action issue="VFS-736" dev="ggregory" type="add" due-to="Gary Gregory"> + Add org.apache.commons.vfs2.VFS.reset(). + </action> + <action issue="VFS-737" dev="ggregory" type="update" due-to="Gary Gregory"> + Update Hadoop from 3.2.0 to 3.2.1. + </action> + <action issue="VFS-733" dev="ggregory" type="fix" due-to="Falco, Gary Gregory, Bruno P. Kinoshita"> + Parent layer of ZipFileSystem set to null through OnCallRefreshFileObject and DecoratedFileObject.refresh(). + </action> + <action issue="VFS-738" dev="ggregory" type="add" due-to="Gary Gregory"> + Deprecate org.apache.commons.vfs2.FileChangeEvent.getFile() in favor of getFileObject(). + </action> + <action issue="VFS-739" dev="ggregory" type="fix" due-to="xia0c, Gary Gregory"> + Changes to parseUri breaks backward compatibility by throwing NullPointerException in some cases. + </action> + <action issue="VFS-686" dev="ggregory" type="add" due-to="Woonsan Ko, Gary Gregory"> + Add webdav4 provider based on the latest Jackrabbit 2.x #52. + </action> + <action issue="VFS-742" dev="ggregory" type="add" due-to="Gary Gregory"> + Add org.apache.commons.vfs2.FileContent.isEmpty(). + </action> + <action issue="VFS-743" dev="ggregory" type="add" due-to="Gary Gregory"> + Add org.apache.commons.vfs2.provider.compressed.CompressedFileFileObject.SIZE_UNDEFINED. + </action> + <action issue="VFS-744" dev="ggregory" type="fix" due-to="Gary Gregory"> + org.apache.commons.vfs2.FileContent.getByteArray() can throw NegativeArraySizeException for BZip2 files. + </action> + <action issue="VFS-687" dev="ggregory" type="add" due-to="Woonsan Ko, Gary Gregory"> + Add http5 and http5s providers (#74) + </action> + <action issue="VFS-590" dev="ggregory" type="fix" due-to="L, Alex Pearce, Gary Gregory"> + SFTP moveTo operation might fail on permission checks even if the operation itself might succeed. #75. + </action> + <action issue="VFS-617" dev="ggregory" type="fix" due-to="Tim Nickels, Joshua Woods, David Johansson, Bernd Eckenfels, Len, Nim Lhûg, Vineet Tyagi, Gopal Warawate, Alex Pearce, Gary Gregory"> + SFTP isReadable fails if unable to determine group identity. #75. + </action> + <action issue="VFS-749" dev="ggregory" type="update" due-to="Gary Gregory"> + Update Apache Commons Parent from 48 to 50. + </action> + </release> + <release version="2.4.1" date="2019-08-10" description="Bug fix release."> + <action issue="VFS-725" dev="ggregory" type="fix" due-to="Gary Gregory"> + [Local] org.apache.commons.vfs2.FileContent.getLastModifiedTime() is losing milliseconds (always ends in 000). + </action> + <action issue="VFS-724" dev="ggregory" type="fix" due-to="William R, Gary Gregory"> + FileContent#getByteArray() throws IllegalArgumentException: Buffer size <= 0 when file size is 0. + </action> + <action dev="ggregory" type="fix" due-to="Gary Gregory"> + Javadoc fixes. + </action> + </release> + <release version="2.4" date="2019-07-12" description="New features and bug fix release."> + <action issue="VFS-690" dev="ggregory" type="add"> + Allow to set key exchange algorithm explicitly. GitHub #32. + </action> + <action issue="VFS-692" dev="ggregory" type="update" due-to="Gary Gregory"> + Update Apache Commons Collections from 4.2 to 4.3. + </action> + <action issue="VFS-693" dev="ggregory" type="update" due-to="Boris Petrov, Gary Gregory"> + Add support for customizing FTP transfer aborted status codes. GitHub PR #51. + </action> + <action issue="VFS-694" dev="ggregory" type="fix" due-to="Boris Petrov"> + Fix inability to start the DefaultFileMonitor after it has been stopped. GitHub PR #55. + </action> + <action issue="VFS-696" dev="ggregory" type="fix" due-to="rayzzed"> + SFTP HTTP and SOCKS proxy authentication. GitHub PR #49. + </action> + <action issue="VFS-497" dev="ggregory" type="add" due-to="Michael Schnell"> + Ported filters from Commons IO #9. + </action> + <action issue="VFS-696" dev="ggregory" type="add" due-to="Robert DeRose"> + More efficient comparison in FileExtensionSelector #44. + </action> + <action issue="VFS-660" dev="ggregory" type="add" due-to="Liu Yubao"> + Expose workaround for connecting to FTP server from different subnets in PASV mode #35. + </action> + <action issue="VFS-699" dev="ggregory" type="add" due-to="Boris Petrov"> + Add setting for FTP encoding auto-detection #58. + </action> + <action issue="VFS-702" dev="ggregory" type="update" due-to="Boris Petrov"> + Simplify adding files to DefaultFileMonitor #57. + </action> + <action issue="VFS-703" dev="ggregory" type="update" due-to="Gary Gregory"> + Update Apache Commons Lang from 3.8.1 to 3.9. + </action> + <action issue="VFS-706" dev="ggregory" type="add" due-to="Boris Petrov"> + Add ability to specify buffer sizes #59. + </action> + <action issue="VFS-609" dev="ggregory" type="add" due-to="stevezhuang, Rostislav, Gary Gregory"> + SFTP provider doesn't support a private key as byte array #60. + </action> + <action issue="VFS-707" dev="ggregory" type="add" due-to="Gary Gregory"> + Update Apache HttpClient from 4.5.7 to 4.5.8. + </action> + <action issue="VFS-707" dev="ggregory" type="fix" due-to="Gary Gregory"> + [SFTP] SftpFileSystem.executeCommand(String, StringBuilder) can leak ChannelExec objects. + </action> + <action issue="VFS-709" dev="ggregory" type="fix" due-to="Gary Gregory"> + [SFTP] SftpFileSystem.getGroupsIds() can initialize underlying data more than once while multithreading. + </action> + <action issue="VFS-710" dev="ggregory" type="fix" due-to="Gary Gregory"> + [SFTP] SftpFileSystem.getUid() can initialize underlying data more than once while multithreading. + </action> + <action issue="VFS-711" dev="ggregory" type="fix" due-to="Gary Gregory"> + [SFTP] SftpFileSystem can initialize underlying Session more than once while multithreading. + </action> + <action issue="VFS-662" dev="ggregory" type="fix" due-to="qxo, Alexey Abashev, Gary Gregory"> + [SFTP] SftpFileSystem has Thread-safe issue about idleChannel (#36). + </action> + <action issue="VFS-700" dev="ggregory" type="fix" due-to="Gary Gregory, Matthias Krueger"> + Some tests fail on Java 11 and above. + </action> + <action issue="VFS-712" dev="ggregory" type="add" due-to="Gary Gregory"> + Add null-safe org.apache.commons.vfs2.util.FileObjectUtils.exists(FileObject). + </action> + <action issue="VFS-713" dev="ggregory" type="add" due-to="Gary Gregory"> + Add FileObjectUtils.readProperties(FileObject) method to read a .properties file. + </action> + <action issue="VFS-715" dev="ggregory" type="add" due-to="Gary Gregory"> + Add org.apache.commons.vfs2.FileContent.getByteArray(). + </action> + <action issue="VFS-716" dev="ggregory" type="fix" due-to="Boris Petrov"> + Fix AbstractFileName.getURI returning unencoded #-sign #64. + </action> + <action issue="VFS-698" dev="ggregory" type="fix" due-to="David Septimus, Bernd"> + SFTP file attributes are fetched multiple times leading to very slow directory listing; #65. + </action> + <action issue="VFS-717" dev="ggregory" type="fix" due-to="Gary Gregory"> + Update org.apache.httpcomponents:httpclient from 4.5.8 to 4.5.9. + </action> + <action issue="VFS-718" dev="ggregory" type="fix" due-to="Boris Petrov"> + MonitorInputStream should not close the stream in "read" #67. + </action> + <action issue="VFS-719" dev="ggregory" type="add" due-to="Gary Gregory"> + Add methods to get the contents of file objects as strings. + </action> + <action issue="VFS-720" dev="ggregory" type="add" due-to="Boris Petrov"> + Implement Closeable for RandomAccessContent #66. + </action> + <action issue="VFS-721" dev="ggregory" type="add" due-to="Gary Gregory"> + Add support for symbolic links for the local file system and add FileObject#isSymbolicLink(). + </action> + <action issue="VFS-722" dev="ggregory" type="update" due-to="Gary Gregory"> + Update Apache Commons Collections from 4.3 to 4.4. + </action> + <!-- Source code notes --> + <action dev="ggregory" type="update"> + Source incompatibility: org.apache.commons.vfs2.FileFilter.accept(FileSelectInfo) now throws checked exception FileSystemException. + </action> + <action dev="ggregory" type="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. + </action> + <action dev="ggregory" type="update"> + Public API note: The overridden method org.apache.commons.vfs2.provider.sftp.SftpFileObject#refresh() was removed but is implemented in a superclass. + </action> + <action dev="ggregory" type="update"> + Public API note: The overridden method org.apache.commons.vfs2.provider.sftp.SftpFileProvider#init() was removed but is implemented in a superclass. + </action> + </release> + <release version="2.3" date="2019-02-01" description="New features and bug fix release."> + <action issue="VFS-645" dev="ggregory" type="fix"> + VfsClassLoaderTests and JarProviderTestCase fails on Java 9 and up. + </action> + <action issue="VFS-678" dev="ecki" type="fix"> + Fix various LGTM.com code review warnings. + </action> + <action issue="VFS-652" dev="ecki" type="fix"> + PatternFileSelector documentation to describe actual matching against getPath(). + </action> + <action issue="VFS-650" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.15 to 1.16.1. + </action> + <action issue="VFS-646" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.14 to 1.15. + </action> + <action issue="VFS-589" dev="ggregory" type="fix" due-to="L, Gary Gregory"> + SFTP moveTo operation hangs if the server does not support SSH channelExec. + </action> + <action issue="VFS-653" dev="ggregory" type="update"> + Replace use of deprecated APIs in HDFS provider. + </action> + <action issue="VFS-655" dev="ggregory" type="fix" due-to="Arnaud MERGEY"> + OSGI MANIFEST.MF "Import-Package" should be ";resolution:=optional" for Maven "optional" dependencies. + </action> + <action issue="VFS-657" dev="ggregory" type="fix" due-to="Elias Putz"> + FileSelector implementations like FileDepthSelector should throw Exception. + </action> + <action issue="VFS-614" dev="ggregory" type="fix" due-to="Boris Petrov, Otto Fowler"> + MonitorInputStream should not close the stream in read(). + </action> + <action issue="VFS-666" dev="ggregory" type="update"> + Update Apache Commons Collections from 4.1 to 4.2. + </action> + <action issue="VFS-667" dev="ggregory" type="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. + </action> + <action issue="VFS-668" dev="ggregory" type="update"> + Throw a NPE with a better message when a class loader is null. + </action> + <action issue="VFS-669" dev="ggregory" type="fix"> + org.apache.commons.vfs2.util.CombinedResources.loadResources(String) should not throw an NPE for the system class loader is null. + </action> + <action issue="VFS-671" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.16.1 to 1.18. + </action> + <action issue="VFS-675" dev="ggregory" type="fix"> + NullPointerException at AbstractFileObject.java:221. + </action> + <action issue="VFS-680" dev="ggregory" type="update"> + Update from Java 7 to Java 8. + </action> + <action issue="VFS-681" dev="ggregory" type="update" due-to="Robert DeRose"> + VFS.setManager should be synchronized; #43. + </action> + <action issue="VFS-674" dev="ggregory" type="fix" due-to="Boris Petrov, Gary Gregory"> + Cannot close an FTP input stream without an exception. + </action> + <action issue="VFS-682" dev="ggregory" type="update"> + Throw a org.apache.commons.vfs2.FileSystemException instead of a NullPointerException in org.apache.commons.vfs2.impl.DefaultFileSystemManager.resolveName(FileName, String, NameScope). + </action> + <action issue="VFS-294" dev="ggregory" type="fix" due-to="Johannes Scharf"> + NullPointerException in FtpFileObject.getChildFile(). + </action> + <action issue="VFS-679" dev="ggregory" type="fix" due-to="Boris Petrov, Gary Gregory"> + NullPointerException in FtpFileObject.doGetLastModifiedTime(). + </action> + <action issue="VFS-398" dev="ggregory" type="fix" due-to="Otto Fowler"> + FtpFileObject.getChildren() fails when a folder contains a file with a colon in the name. + </action> + <action issue="VFS-688" dev="ggregory" type="update"> + [SFTP] Update jsch from 0.1.54 to 0.1.55. + </action> + <action issue="VFS-677" dev="ggregory" type="add" due-to="dingxbcn"> + [SFTP] Add support for append mode. + </action> + <action issue="VFS-673" dev="ggregory" type="add" due-to="Oleksandr Lykhonosov"> + [SFTP] Support com.jcraft.jsch.ConfigRepository (~/.ssh/config) with SftpFileSystemConfigBuilder and flag to load OpenSSHConfig. + </action> + <action issue="VFS-673" dev="ggregory" type="add" due-to="Daniel Banks"> + DefaultFileSystemManager should implement AutoCloseable. + </action> + <action issue="VFS-637" dev="ggregory" type="add" due-to="Gary Gregory"> + Zip files with legacy encoding and special characters let VFS crash. + </action> + <action issue="VFS-360" dev="ggregory" type="add" due-to="Woonsan Ko"> + Add HTTP provider based on HttpComponents HttpClient 4. + </action> + <action issue="VFS-689" dev="ggregory" type="add" due-to="Gary Gregory"> + org.apache.commons.vfs2.provider.http.HttpFileObject.getHeadMethod() does not release connection when an exception is thrown. + </action> + </release> + <release version="2.2" date="2017-10-06" description="New features and bug fix release."> + <action issue="VFS-642" dev="pschumacher" type="update" due-to="ilangoldfeld"> + Upgrade to jcifs 1.3.17 + </action> + <action issue="VFS-189" dev="kinow" type="fix"> + Possible NPE in DefaultFileSystemManager. + </action> + <action issue="VFS-628" dev="ggregory" type="add"> + Add a file inverter FileSelector: InvertIncludeFileSelector. + </action> + <action issue="VFS-612" dev="ggregory" type="update"> + Update the platform requirement from Java 6 to Java 7. + </action> + <action issue="VFS-615" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.11 to 1.12. + </action> + <action issue="VFS-629" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.12 to 1.13. + </action> + <action issue="VFS-639" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.13 to 1.14. + </action> + <action issue="VFS-631" dev="ggregory" type="update"> + Update from Apache Commons Net 3.5 to 3.6. + </action> + <action issue="VFS-632" dev="ggregory" type="update"> + Update from JCraft jsch for SFTP/SSH from 0.1.53 to 0.1.54. + </action> + <action issue="VFS-621" dev="ggregory" type="update"> + Add API VFS.setManager(FileSystemManager). + </action> + <action issue="VFS-643" dev="ggregory" type="update"> + VFS should not log at the INFO level. + </action> + <action issue="VFS-620" dev="ggregory" type="fix" due-to="stevezhuang"> + FileObject.moveTo(FileObject) API doesn't work well for a Linux FTP. + </action> + <action issue="VFS-291" dev="ggregory" type="fix"> + ZIP archives are not properly closed after unzipping and cannot be deleted until the JVM exists. + </action> + <action issue="VFS-644" dev="ggregory" type="fix"> + AbstractFileSystem.streamClosed() always sets openStream count to zero. + </action> + </release> + <release version="2.1" date="2016-05-19" description="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."> +<!-- <action issue="VFS-443" dev="ggregory" type="update" due-to="nickallen"> --> +<!-- [Local] Need an easy way to convert from a FileObject to a File. --> +<!-- </action> --> +<!-- START Might need to be moved to the next version --> + <action issue="VFS-607" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.10 to 1.11. + </action> + <action issue="VFS-608" dev="ggregory" type="update"> + Update Apache Commons Net from 3.4 to 3.5. + </action> +<!-- END Might need to be moved to the next version --> + <action issue="VFS-424" dev="ecki" type="fix"> + Fix StandardFileSystemManager class loading so it works in a OSGi environment. + </action> + <action issue="VFS-490" dev="ecki" type="fix"> + [vfsclassloader] Do not open folders with .jar extension. Adds tests. + </action> + <action issue="VFS-582" dev="ecki" type="fix"> + [tests] revert rename of getTestDirectoryFile to make test classes more compatible for external providers. + </action> + <action issue="VFS-480" dev="ecki" type="fix"> + Make startup of SoftRefsFileCache cleaner thread work and less racy to avoid leaks. + </action> + <action issue="VFS-549" dev="ecki" type="fix"> + Use File.seperator instead of getProperty("file.separator"). + </action> + <action issue="VFS-567" dev="ecki" type="fix" due-to="Antonio Petrelli"> + [ftp] Ignore exceptions while QUIT/disconnect. + </action> + <action issue="VFS-572" dev="ecki" type="fix" due-to="Sandra Parsick"> + [sftp] better documentation for knownhosts file option. + </action> + <action issue="VFS-574" dev="ecki" type="fix"> + Ensure FileOpertionProviders are closed. Adds some testcases. + The error code for missing operations exceptions corrected: vfs.operation/operation-not-supported.error + </action> + <action issue="VFS-279" dev="ecki" type="fix" due-to="Didier Earith, Simon Legner"> + [local] Avoid ClassCastException when replicating local files while OnCall caching is active. + </action> + <action issue="VFS-297" dev="joehni" type="fix" due-to="Kirill Safonov, Jimmy Praet"> + [sftp] VSF fails to reuse FileSystem instances if FileSystemOptions contain + an array as value. Reported for SFTP using identities. + </action> + <action issue="VFS-198" dev="ecki" type="add" due-to="Andrew Franklin, Simon Legner"> + [http] Make user agent configurable. + </action> + <action issue="VFS-202" dev="ecki" type="fix" due-to="Sergey Vladimirov, Simon Legner"> + [http] Allow URLs responding with 405 to HEAD requests. + </action> + <action issue="VFS-490" dev="ecki" type="fix"> + [hdfs] Make OSGi package imports for hdfs resolution=optional. + Removed all scopes from dependency management. + </action> + <action issue="VFS-560" dev="ecki" type="fix"> + [http] avoid initial HEAD request to root of HttpFileSystem as it might be wrong context. + </action> + <action issue="VFS-236" dev="ecki" type="fix" due-to="Matt Casters"> + [smb] Allow SMB to be used with no authentication. + </action> + <action issue="VFS-564" dev="ecki" type="fix" due-to="Dmitry Konstantinov"> + Make some loggers static. + </action> + <action issue="VFS-555" dev="rwhitcomb" type="add"> + [hdfs] Add the ability to specify an HDFS configuration file with HdfsFileSystemConfigBuilder. + </action> + <action issue="VFS-557" dev="ecki" type="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. + </action> + <action issue="VFS-558" dev="ecki" type="fix"> + Make moveTo() and getParent() work with CacheStrategy.ON_CALL. + In case of FTP Provider it would lead otherwise to an UnsupportedOperationException. + </action> + <action dev="ecki" type="fix"> + [sandbox] RACRandomAccessFile is now in org.apache.commons.vfs2.util package (so sandbox has only one overlapping package). + </action> + <action issue="VFS-530" dev="ecki" type="update" due-to="Dave Marion"> + [hdfs] Use stable Apache Hadoop 2.6 dependencies. + </action> + <action dev="ecki" type="add"> + [example] make VFS Shell print version and implement new 'info' command. + </action> + <action issue="VFS-552" dev="ecki" type="fix"> + [sandbox] include vfs-providers.xml in JAR for dynamic registration of mime and smb providers. + </action> + <action issue="VFS-551" dev="ecki" type="fix" due-to="David Camilo Espitia Manrique"> + Javadoc: make it clear that DefaultCryptor is only an obfuscation function. + </action> + <action issue="VFS-309" dev="ecki" type="fix"> + DefaultFileContent will remove thread data whenever possible to avoid leaks. + </action> + <action issue="VFS-487" dev="ecki" type="fix" due-to="Dave Marion"> + DefaultFileMonitor detects recreated files. + </action> + <action issue="VFS-523" dev="ecki" type="fix" due-to="Roger Whitcomb"> + [HDFS] Make HdfsFileObject.equal use system hashcode/equals instead of + wrongly comparing file path only. + </action> + <action issue="VFS-544" dev="ecki" type="fix"> + [Virtual] Allow virtual file systems and virtual file system provider + to be closed, to avoid memory leak. + </action> + <action issue="VFS-142" dev="ecki" type="fix" due-to="Ryan Boettcher"> + Use ThreadLocal.remove() to clean out FileContentThreadData objects. + </action> + <action issue="VFS-545" dev="ecki" type="fix"> + Make DefaultFilesCache remove reference to filesystem when it is cleared (closed). + </action> + <action issue="VFS-521" dev="ecki" type="fix"> + [Ram][Tests] Make RAM provider test pass on Java 8 + (JDK-8042377, self-suppression not permitted, MonitorOutputStream#close()). + </action> + <action issue="VFS-601" dev="ggregory" type="update"> + Update Apache Commons Net from 3.3 to 3.4. + </action> + <action issue="VFS-602" dev="ggregory" type="update"> + Update Apache Commons IO from 2.4 to 2.5. + </action> + <action issue="VFS-579" dev="ggregory" type="update"> + Update Jsch from 0.1.51 to 0.1.53. + </action> + <action issue="VFS-542" dev="ggregory" type="update"> + Update Jsch from 0.1.50 to 0.1.51. + </action> + <action issue="VFS-578" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.9 to 1.10. + </action> + <action issue="VFS-541" dev="ggregory" type="update"> + Update Apache Commons Compress from 1.6 to 1.9. + </action> + <action issue="VFS-540" dev="ggregory" type="update"> + Update Apache Commons Logging from 1.1.3 to 1.2. + </action> + <action issue="VFS-539" dev="ggregory" type="update"> + Update Apache Commons Lang from 3.1 to 3.3.2. + </action> + <action issue="VFS-532" dev="ggregory" type="add" due-to="Gareth Daniel Smith"> + [FTP] Allow configuring remoteVerificationEnabled on FTPClient instances. + </action> + <action issue="VFS-338" dev="ecki" type="fix" due-to="Daniel R."> + [Local][Tests] Avoid IndexOutOfBoundsException when validating local file URIs. + </action> + <action issue="VFS-526" dev="ecki" type="update"> + [HDFS][Tests] Support HDFS testing on Windows (but keep profile "no-hdfs" enabled on Windows VFS-529). + </action> + <action issue="VFS-453" dev="ecki" type="update" due-to="Jiri Syrovy"> + [HTTP][WEBDAV] Add file system options for connect and socket timeout. + </action> + <action issue="VFS-167" dev="ecki" type="update" due-to="Jimmy Praet"> + [FTP] Allow Proxy support to file system options. + </action> + <action issue="VFS-520" dev="ecki" type="update"> + Make Javadoc compatible with Java 8 tool. + </action> + <action issue="VFS-518" dev="ggregory" type="update" due-to="Roland Illig"> + Documentation of FileSystemOptions should be more helpful. + </action> + <action issue="VFS-500" dev="ggregory" type="update" due-to="Bernd Eckenfels"> + VFSClassLoader.findResources missing. + </action> + <action issue="VFS-514" dev="ggregory" type="update" due-to="Bernd Eckenfels"> + [tests] PermissionsTests leaves unclean test directory. + </action> + <action issue="VFS-501" dev="ggregory" type="update" due-to="Yves Schumann"> + Hide passwords from log/console output. + </action> + <action issue="VFS-496" dev="ggregory" type="update" due-to="Bernd Eckenfels"> + Resource translation issues. + </action> + <action issue="VFS-494" dev="ggregory" type="update" due-to="Allen Xudong Cheng"> + [SFTP] No support for SFTP servers with non Latin-1 file name encoding. + </action> + <action issue="VFS-368" dev="ggregory" type="update" due-to="Brendan Long"> + [SFTP] Documentation implies that "userDirIsRoot" defaults to true. + </action> + <action issue="VFS-265" dev="ggregory" type="update" due-to="Scott Bjerstedt"> + [FTP] Set user dir as root dir by default. + </action> + <action issue="VFS-489" dev="ggregory" type="fix" due-to="Bernd Eckenfels"> + [tests] ProviderWriteTests#testListener does not fail cleanly. + </action> + <action issue="VFS-486" dev="ggregory" type="fix" due-to="Sam Haldane"> + DefaultFileMonitor sleeps for twice the specified delay when checkPerRun > 0. + </action> + <action issue="VFS-484" dev="ggregory" type="update"> + [SFTP] Update Jsch to 0.1.50 from 0.1.49. + </action> + <action issue="VFS-482" dev="ggregory" type="fix"> + Wrong assertion messages in RAM provider test case. + </action> + <action issue="VFS-507" dev="ggregory" type="update"> + Update to Apache Commons Collection 4.1 from 3.2.1 and use generics. + </action> + <action issue="VFS-476" dev="ggregory" type="update"> + Update Apache Commons Logging to 1.1.3 from 1.1.2. + </action> + <action issue="VFS-475" dev="ggregory" type="update"> + Update Apache Commons Net to 3.3 from 3.2. + </action> + <action issue="VFS-506" dev="ggregory" type="update"> + [Tar][Bzip2] Update Apache Commons Compress to 1.6 from 1.5. + </action> + <action issue="VFS-471" dev="ggregory" type="update"> + Update to Apache Commons Compress 1.5. + </action> + <action issue="VFS-469" dev="joehni" type="remove"> + Remove unused dependency to javax.jcr:jcr. + </action> + <action issue="VFS-283" dev="joehni" type="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. + </action> + <action issue="VFS-460" dev="joehni" type="fix"> + Dependency to commons-compress set as optional. + </action> + <action issue="VFS-468" dev="joehni" type="add"> + [FTPS] Add option for KeyManager (and TrustManager) to support FTPS servers that ask for the client certificate for authentication. + </action> + <action issue="VFS-464" dev="joehni" type="fix"> + StaticUserAuthenticator should return only requested authentication data. + </action> + <action issue="VFS-463" dev="joehni" type="update"> + FileSytemConfigBuilder supports system properties for the value of enum-based configuration entries. + </action> + <action issue="VFS-462" dev="joehni" type="update"> + [FTPS] Deprecate FtpsFileSystemConfigBuilder.setFtpsType and FtpsFileSystemConfigBuilder.getFtpsType + in favor of FtpsFileSystemConfigBuilder.setFtpsMode and FtpsFileSystemConfigBuilder.getFtpsMode which + use new enum FtpsMode instead. + </action> + <action issue="VFS-461" dev="joehni" type="fix"> + [FTP/FTPS] ConfigBuilder does not consider system properties for the value of SoTimeout and Encoding. + </action> + <action issue="VFS-412" dev="joehni" type="add" due-to="Jose Juan Montiel"> + [FTPS] Add support for command to set the DataChannelProtectionLevel. + </action> + <action issue="VFS-459" dev="joehni" type="update"> + [FTP/FTPS] Sent commands and the received answer is logged at debug level. + </action> + <action issue="VFS-458" dev="joehni" type="fix"> + [FTPS] Provider missed functionality and bug fixes already available for the FTP provider. + </action> + <action issue="VFS-452" dev="ggregory" type="fix" due-to="Jean-Marc Borer"> + [HTTP] HttpFileObject read/write attributes should reflect underlying FileSystem capabilities. + </action> + <action issue="VFS-285" dev="tn" type="fix" due-to="Kirill Safonov"> + AbstractFileObject.getChildren() may corrupt its internal state if a filename + can not be resolved. + </action> + <action issue="VFS-450" dev="ggregory" type="fix" due-to="Dave Marion"> + [HDFS] HDFSFileSystem.resolveFile() does not honor CacheStrategy.ON_RESOLVE. + </action> + <action issue="VFS-442" dev="ggregory" type="add" due-to="Dave Marion"> + [HDFS] Add an HDFS FileSystem Provider. + </action> + <action issue="VFS-448" dev="ggregory" type="fix"> + commons-vfs 2.0 JAR has flawed OSGi MANIFEST.MF. + </action> + <action issue="VFS-447" dev="ggregory" type="add"> + [FTP/FTPS] Update Apache Commons Net to 3.2 from 3.1. + </action> + <action issue="VFS-445" dev="ggregory" type="add"> + Add FileSystemManager.resolveFile(URI) and resolveFile(URL). + </action> + <action issue="VFS-440" dev="ggregory" type="add" due-to="bpiwowar"> + [SFTP] Stream (e.g. netcat) proxy for Sftp file system (aka ProxyCommand). + </action> + <action issue="VFS-439" dev="ggregory" type="fix" due-to="pensecit"> + StaticUserAuthenticator usage example wrong. + </action> + <action issue="VFS-437" dev="ggregory" type="fix" due-to="denniszhu, danttran, jpowang"> + [FTP] StackOverFlowError getting the type of a directory with a symbolic link to a parent directory with the same name. + </action> + <action issue="VFS-435" dev="ggregory" type="fix" due-to="george scott"> + FileSystemConfigBuilder does not use prefix for some system property lookups. + </action> + <action issue="VFS-434" dev="ggregory" type="fix"> + FileSystemException should reuse IOException's chained exception. + </action> + <action issue="VFS-433" dev="ggregory" type="fix"> + [WebDAV] Message "vfs.provider.webdav/propfind.error" is not defined. + </action> + <action issue="VFS-430" dev="ggregory" type="fix" due-to="antonin.stefanutti"> + The SoftRefFilesCache class logs clear text password. + </action> + <action issue="VFS-432" dev="ggregory" type="add"> + [HTTP][WebDAV] Allow HTTP follow redirect. + </action> + <action issue="VFS-431" dev="ggregory" type="add"> + FileSystemOption does not implement toString(). + </action> + <action issue="VFS-429" dev="ggregory" type="fix"> + Remove extra FileSystem ivar in AbstractFileObject subclasses with generics. + </action> + <action issue="VFS-427" dev="ggregory" type="fix" due-to="awelynant"> + [HTTP] NPE on HttpFileObject.getContent().getContentInfo(). + </action> + <action issue="VFS-405" dev="ggregory" type="add" due-to="dwaszak"> + Get/set the file permissions. + </action> + <action issue="VFS-457" dev="joehni" type="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 + </action> + <action issue="VFS-456" dev="joehni" type="update"> + Use org.bouncycastel:bcprov-jdk16 instead of org.bouncycastle:bcprof-jdk15on since Java 1.6 is required. + </action> + <action issue="VFS-415" dev="ggregory" type="update"> + Update VFS requirement to Java 1.6. + </action> + <action issue="VFS-426" dev="ggregory" type="add" due-to="daniel.bergholm"> + HTTP URL query string not part of cache key. + </action> + <action issue="VFS-425" dev="ggregory" type="add"> + Add API FileObject.isExecutable(). + </action> + <action issue="VFS-421" dev="ggregory" type="add" due-to="bpiwowar"> + [SFTP] Configure a custom Identity Repository. + </action> + <action issue="VFS-418" dev="ggregory" type="update"> + Update to Apache Commons Compress 1.4.1. + </action> + <action issue="VFS-417" dev="ggregory" type="add"> + [RAM][Local] Add and implement new API: RandomAccessContent.setLength(long). + </action> + <action issue="VFS-406" dev="ggregory" type="fix" due-to="mp1"> + [RAM] resize throws ArrayOOBE when shrinking in size. + </action> + <action issue="VFS-321" dev="ggregory" type="update" due-to="sebb"> + AbstractFileObject sometimes uses getFileSystem() and sometimes references "fs" field directly. + </action> + <action issue="VFS-327" dev="ggregory" type="update" due-to="sebb"> + UriParser.canonicalizePath possible NPE for filenameParser. + </action> + <action issue="VFS-353" dev="ggregory" type="fix" due-to="bergander"> + [FTP] Client should call logout before disconnecting. + </action> + <action issue="VFS-408" dev="ggregory" type="fix" due-to="ani...@yahoo.com"> + CompressedFileFileObject Exception thrown when container file has no extension. + </action> + <action issue="VFS-400" dev="ggregory" type="add"> + Add a FileSelector based on regular expressions. + </action> + <action issue="VFS-258" dev="ggregory" type="fix" due-to="mzawirski"> + [SFTP][RAM] Unsafe casting to AbstractFileObject subclasses in doRename(). + </action> + <action issue="VFS-254" dev="ggregory" type="add" due-to="mzawirski"> + Let FileObject and FileContent extend java.io.Closeable. + </action> + <action issue="VFS-413" dev="ggregory" type="fix" due-to="polivenok"> + [FTP] No support for FTP servers with non Latin-1 control encoding. + </action> + <action issue="VFS-252" dev="ggregory" type="add"> + [SMB] SmbFileObject does not support setLastModifiedTime while jcifs supports it. + </action> + <action issue="VFS-200" dev="ggregory" type="fix"> + [SFTP] Failure when files are very large. + </action> + <action issue="VFS-416" dev="joehni" type="update"> + [SFTP] Update Jsch to version 0.1.49 from 0.1.47. + </action> + <action issue="VFS-296" dev="ggregory" type="fix" due-to="andreasp"> + [FTP] FTP socket timeout setting doesn't work if connect hangs. + </action> + <action issue="VFS-313" dev="ggregory" type="add" due-to="bda...@saintandreas.org"> + [FTP] Configuration does not include option for setting socket timeout. + </action> + <action issue="VFS-414" dev="ggregory" type="add"> + [FTP] Add config API to set the file type. + </action> + <action issue="VFS-182" dev="ggregory" type="add"> + [FTP] Usage of FTP with heterogeneous FTP server (possibility of using Ascii file type). + </action> + <action issue="VFS-395" dev="ggregory" type="update"> + [POM] Remove maven-scm-* dependencies. + </action> + <action issue="VFS-411" dev="ggregory" type="update"> + [SFTP] Update Jsch to version 0.1.47 from 0.1.46. + </action> + <action issue="VFS-410" dev="ggregory" type="fix" due-to="mstockhammer"> + [SFTP] SftpFileObject getInputStream(long) reads the whole file into memory. + </action> + <action issue="VFS-409" dev="ggregory" type="update"> + Update Apache Commons Compress to 1.4 from 1.3. + </action> + <action issue="VFS-407" dev="ggregory" type="fix" due-to="mp1"> + [RAM] Reading a RAM FileSystem file fails because it never returns EOF -1. + </action> + <action issue="VFS-404" dev="ggregory" type="update"> + [FTP][FTPS] Update Apache Commons Net to 3.1 from 3.0.1. + </action> + <action issue="VFS-402" dev="ggregory" type="update"> + [WebDAV] Update Apache Jackrabbit 1.5.2 to 1.6.5. + </action> + <action issue="VFS-401" dev="ggregory" type="update"> + Update JSch to 0.1.46 from 0.1.45 for the SFTP provider. + </action> + <action issue="VFS-392" dev="ggregory" type="update"> + Build tests WebDAV file system with an embedded WebDAV server (Apache Jackrabbit). + </action> + <action issue="VFS-391" dev="ggregory" type="update"> + Build tests URL HTTP file system with an embedded HTTP server (Apache HttpComponent Core). + </action> + <action issue="VFS-390" dev="ggregory" type="update"> + Use variable argument list in org.apache.commons.vfs2.util.Messages instead of Object[]. + </action> + <action issue="VFS-389" dev="ggregory" type="update"> + Use variable argument lists in FileSystemException instead of Object[]s. + </action> + <action issue="VFS-388" dev="ggregory" type="update"> + Build tests SFTP file system with an embedded SFTP server (Apache MINA). + </action> + <action issue="VFS-387" dev="ggregory" type="update"> + Build tests FTP file system with an embedded FTP server (Apache MINA). + </action> + <action issue="VFS-386" dev="ggregory" type="update"> + Build tests HTTP file system with an embedded HTTP server (Apache HttpComponent Core). + </action> + <action issue="VFS-385" dev="ggregory" type="update"> + Add HTTP status code to HTTP file provider exception messages when available. + </action> + <action issue="VFS-384" dev="ggregory" type="update"> + Update Apache Commons Net to 3.0.1 from 2.2 for FTP and SFTP providers. + </action> + <action issue="VFS-383" dev="ggregory" type="update"> + Update JSch to 0.1.45 from 0.1.42 for the SFTP provider. + </action> + <action issue="VFS-382" dev="ggregory" type="fix"> + SFTP getChildren() does not fail when called on a file. + </action> + <action issue="VFS-381" dev="ggregory" type="add"> + Iterate over a FileObject using the Java "foreach" statement, to provide all descendents of a FileObject. + </action> + <action issue="VFS-380" dev="ggregory" type="fix"> + FTP connect.error message used instead of SFTP connect.error message. + </action> + <action issue="VFS-379" dev="ggregory" type="update"> + Replace custom BZIP2 code with Apache Commons Compress 1.3. + </action> + <action issue="VFS-378" dev="ggregory" type="fix"> + Tar error message are missing from resource file. + </action> + <action issue="VFS-377" dev="ggregory" type="update"> + Replace custom TAR code with Apache Commons Compress 1.3. + </action> + <action issue="VFS-375" dev="ggregory" type="update"> + Upgrade to Apache Commons Compress 1.3 from 1.2. + </action> + <action issue="VFS-374" dev="ggregory" type="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. + </action> + <action issue="VFS-373" dev="ggregory" type="add"> + Add FileContent write APIs. + </action> + <action issue="VFS-372" dev="ggregory" type="add"> + Add constructors FileDepthSelector() and FileDepthSelector(int). + </action> + <action issue="VFS-371" dev="ggregory" type="add"> + Add FileObject API deleteAll(). + </action> + <action issue="VFS-370" dev="ggregory" type="add"> + Add a FileExtensionSelector class. + </action> + <action issue="VFS-367" dev="ggregory" type="add"> + Add APIs FileObject isFile(), FileObject isFolder(), and FileName isFile(). + </action> + <action issue="VFS-366" dev="ggregory" type="update"> + Can't sort a List of FileObject's, FileObject to implement Comparable<FileObject>. + </action> + <action issue="VFS-341" dev="rgoers" type="update" due-to="Rajika Kumarasiri"> + Enable logging of JSch using the Commons Logging Log object in SftpClientFactory. + </action> + <action issue="VFS-355" dev="rgoers" type="fix" due-to="Miroslav Pokorny"> + The read method of RamFileRandomAccessContent's input stream does not return -1 at eof. + </action> + <action issue="VFS-356" dev="rgoers" type="fix"> + Throw an IOException if an attempt is made to seek to a position before the start of the file. + </action> + <action issue="VFS-359" dev="rgoers" type="fix" due-to="Miroslav Pokorny"> + Don't delete a RamFileObject if it is open. + </action> + <action issue="VFS-352" dev="rgoers" type="fix"> + ZipFileSystem now uses an internal Map as a cache for all the files in the zip archive. + </action> + <action issue="VFS-351" dev="rgoers" type="fix" due-to="John Backstrand"> + Chain the SftpException in the FileSystemException. + </action> + <action issue="VFS-361" dev="rgoers" type="update"> + Upgrade commons collections version to 3.2.1. + </action> + <action issue="VFS-325" dev="rgoers" type="fix" due-to="Larry Reeve"> + Allow # character in file names. + </action> + <action issue="VFS-335" dev="rgoers" type="fix"> + Use atomic variables in MonitorInputStream. + </action> + <action issue="VFS-364" dev="rgoers" type="fix"> + Check the href in the response for just a path in addition to a full uri. + </action> + </release> + <release version="2.0" date="2011-08-24" description="Backwards incompatible update of Commons VFS to Java 5"> + <action issue="VFS-348" dev="rgoers" type="fix" due-to="Stefan Bodewig"> + Update the version of commons-net. + </action> + <action issue="VFS-230" dev="rgoers" type="fix"> + Documented FileSystem capabilities on the web site. + </action> + <action issue="VFS-337" dev="rgoers" type="fix"> + AbstractFileObject and classes that extend from it use AbstractFileName in the constructor and in + the createFile method. + </action> + <action issue="VFS-245" dev="rgoers" type="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. + </action> + <action issue="VFS-334" dev="sebb" type="fix"> + DefaultFileSystemConfigBuilder.getConfigClass() returns DefaultFileSystemConfigBuilder.class which is not a FileSystem + </action> + <action dev="rgoers" type="fix" issue="VFS-305" due-to="Tom"> + Add encoding option to FTP provider. + </action> + <action dev="rgoers" type="fix" issue="VFS-315" due-to="David Hausladen"> + Fix potential NullPointerException if the DavProperty is null or contains null values. + </action> + <action dev="rgoers" type="fix" issue="VFS-316" due-to="David Hausladen"> + Add option for preemptive authentication for HTTP based protocols. + </action> + <action dev="rgoers" type="fix" issue="VFS-322" due-to="Curtis Boyden"> + Allow tar files that contain files over 2GB in size. + </action> + <action dev="rgoers" type="fix" issue="VFS-324" due-to="sebb"> + Clear the cache in RamFileSystem and the children in RamFileData. + </action> + <action dev="sebb" type="fix" issue="VFS-319"> + Typo in FtpsFileSystemConfigBuilder.setFtpsType + </action> + <action dev="rgoers" type="fix" issue="VFS-227" due-to="Sergey Vladimirov"> + InputStream and RandomAccessContent memory leak in FileContentThreadData + </action> + <action dev="rgoers" type="update" issue="VFS-263" due-to="Ingo Maas"> + WebdavFileObject does not implement doSetAttribute() + </action> + <action dev="rgoers" type="fix" issue="VFS-259" due-to="Marek Zawirski"> + Http and Webdav FIleContentInfoFactory: undress to AbstractFileObject before casting + </action> + <action dev="rgoers" type="fix" issue="VFS-261" due-to="Simon Olofsson"> + WebDAV upload corrupts binary files + </action> + <action dev="rgoers" type="fix" issue="VFS-276" due-to="Vince Bonfanti"> + add ProviderTestConfig.getDefaultFileSystemManager() method + </action> + <action dev="rgoers" type="fix" issue="VFS-282" due-to="Alexey"> + SftpFileProvider and SftpFileSystemConfigBuilder can't change ssh authentication methods + </action> + <action dev="rgoers" type="fix" issue="VFS-269" due-to="Marek Zawirski"> + HttpFileObject: unsupported content over 2GB length + </action> + <action dev="rgoers" type="fix" issue="VFS-287" due-to="Mircea-Eugen Ionica"> + LocalFileName objects are not released from AbstractFileSystem.listenerMap when all listeners are removed. + </action> + <action dev="rgoers" type="fix" issue="VFS-216" due-to="Reetu Mutti"> + 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. + </action> + <action dev="rgoers" type="fix" issue="VFS-289" due-to="Kirill Safonov"> + FTP connection is not released If exception is thrown out of FtpFileObject.doGetOutputStream(). + </action> + <action dev="rgoers" type="fix" issue="VFS-286" due-to="Kirill Safonov"> + 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. + </action> + <action dev="jcarman" type="add" issue="VFS-264" due-to="Scott Bjerstedt"> + Add FTPS provider. + </action> + <action dev="rgoers" type="add" issue="VFS-244"> + Rename HttpRandomAccesContent to HttpRandomAccessContent. + </action> + </release> + </body> +</document>