leisenfels mit schrift und slogan 48

VFSLib Release Notes

Changes in version VFSLib 2.8.3 Build 231 (2024-07-29)
Changes in version VFSLib 2.8.2 Build 201 (2024-03-29)
Changes in version VFSLib 2.8.1 Build 188 (2024-03-20)
Changes in version VFSLib 1.6.7 Build 59 (2015-12-28)
Changes in version VFSLib 1.6.6 Build 57 (2015-04-15)
Changes in version VFSLib 1.6.5 Build 56 (2014-06-20)
Changes in version VFSLib 1.6.4 Build 52 (2014-02-04)
Changes in version VFSLib 1.6.3 Build 46 (2013-10-24)
Changes in version VFSLib 1.6.2 Build 37 (2013-10-13)
Changes in version VFSLib 1.6.1 Build 33 (2013-10-04)

 


VFSLib 2.8.3 Build 231 (2024-07-29)

Miscellaneous change  Added Support For New Google Drive API v3 Library Versions

The new library versions are:

groupId=com.google.apis artifactId=google-api-services-drive version=v3-rev20240628-2.0.0

groupId=com.google.api-client artifactId=google-api-client version=2.6.0

groupId=com.google.oauth-client artifactId=google-oauth-client-jetty version=1.36.0

Type:  Miscellaneous change
Categories:  Compatibility, Deployment, Libraries, Google Drive Provider
Editions:  Community

Miscellaneous change  Added Support For New AWS SDK S3 Library Version 2.26.25

The new library version is:

groupId=software.amazon.awssdk artifactId=s3 version=2.26.25

Type:  Miscellaneous change
Categories:  Compatibility, Deployment, Libraries, Amazon S3 Provider
Editions:  Community

Security issue solved  Support For Latest Dropbox SDK To Fix Outdated Certificate Trust Store

As reported by the Dropbox maintainers an update is required to not run into issues with an outdated certificate trust store. The Dropbox SDK version used by VFSLib has therefore been updated.

All VFSLib users are strongly recommended to update to VFSLib version 2.8.3 ASAP, since the used certificates will stop working in many web browsers and devices in 2026.

Dropbox states: "On or after January 1, 2026, the Dropbox API servers will be updated to use new root certificates, so you’ll need to update the version of the SDK used in your app before then."

Links:  See the Dropbox blog post
Type:  Security issue solved
Categories:  Compatibility, Deployment, Libraries, Dropbox Provider
Editions:  Community

Enhanced functionality  New Convenience Getter for VFSFileSystemManager With Full Protocol Support

The new VFSLibSettings.getManagerAllProtocols() method provides a file system manager with support for all available protocols including the file based protocols like "jar" and "file". These are useful to access classpath resources via VFSLib.

The existing VFSLibSettings.getManagerNetwork() removes the file based protocols and should therefore be used for 'real' network protocols like "http" and "sftp".

Type:  Enhanced functionality
Categories:  VFSLib Core, Compatibility
Editions:  Community

VFSLib 2.8.2 Build 201 (2024-03-29)

Fixed bug  Fix for Obsolete FileObject's from Internal Cache

During intensive module tests an error occurred for remote folders created and deleted multiple times. In certain situations the previous file/folder IDs have been re-used. This led to runtime errors e.g. if obsolete files/folders should be removed by their IDs.

This behaviour has now been fixed so that IDs of files/folders are freshly resolved.

Type:  Fixed bug
Categories:  VFSLib Core, Dropbox Provider, Google Drive Provider, Amazon S3 Provider
Editions:  Community

Miscellaneous change  Adjusted Capabilities of Amazon S3 Provider (No Renaming Support)

Since also the latest AWS API version 2 does not provide support for renaming files or folders (as well as the AWS S3 Console), the Capability.RENAME in S3FileProvider has now been removed. If the doRename() method is called for S3FileObject objects, a FileSystemException is thrown.

Links:  Visit the Amazon S3 homepage
Type:  Miscellaneous change
Categories:  VFSLib Core, Amazon S3 Provider
Editions:  Community

Enhanced functionality  New Google Drive Provider Options to Avoid SocketTimeoutException's During Download

When downloading larger files e.g. 30 MB via the Google Drive provider took more than the default 20 seconds, then "java.net.SocketTimeoutException: Read timed out" was thrown.

To give the connections more time to process, two new file system options have been added: GDriveFileSystemConfigBuilder.CONNECT_TIMEOUT_SECONDS (Integer, default: 20 seconds) GDriveFileSystemConfigBuilder.READ_TIMEOUT_SECONDS (Integer, default: 20 seconds)

Reasonable values are CONNECT_TIMEOUT_SECONDS = 30s and READ_TIMEOUT_SECONDS = 600s Even large file downloads should be possible depending on your Internet speed.

Type:  Enhanced functionality
Categories:  VFSLib Core, Google Drive Provider, Provider Options
Editions:  Community

Fixed bug  Fix For Delete Non-empty Folder Issue of Examples

When non-empty folders were deleted, then all providers ignored this request (kept). For non-empty folders the deleteAll() method needs to be called instead of delete().

The examples have now been fixed.

Type:  Fixed bug
Categories:  Compatibility, VFSLib Core, Dropbox Provider, Google Drive Provider, Amazon S3 Provider
Editions:  Community

Fixed bug  Fix For Dropbox doListChildrenResolved() Lower-case Issue

When Dropbox folders were listed, then the DbxFileObject returned a list with entry names in lower-case.

This behaviour has now been fixed so that children are listed with their original names.

Type:  Fixed bug
Categories:  Compatibility, VFSLib Core, Dropbox Provider
Editions:  Community

Miscellaneous change  VFSLib Now Published to Maven Central Repository

The VFSLib library can now be easily included in own projects by adding the Maven dependency. The JAR files may also be downloaded directly from the Leisenfels homepage.

Links:  VFSLib at Maven Central repository
Type:  Miscellaneous change
Categories:  Deployment, Download, Libraries
Editions:  Community

VFSLib 2.8.1 Build 188 (2024-03-20)

Miscellaneous change  Added Support For New AWS SDK For Java Version 2 (S3)

The Amazon S3 component of VFSLib now exclusively supports the new AWS API version 2 provided by Amazon. Required JAR libraries are being referenced by the Maven pom.xml build resources.

groupId=software.amazon.awssdk artifactId=s3 version=2.25.7

The new AWS API version 2 is based on classes in the 'software.amazon.awssdk' package.

Type:  Miscellaneous change
Categories:  Compatibility, Deployment, Libraries, Amazon S3 Provider
Editions:  Community

Miscellaneous change  Protected Instead of Private Class Access

All private access declarations of the class fields, methods etc. have been changed from private to protected. This allows developers to easily extend the existing VFSLib classes without unnecessary re-coding or access via reflection.

Type:  Miscellaneous change
Categories:  Compatibility, VFSLib Core
Editions:  Community

Miscellaneous change  Reduced Language Support to English (U.S.)

In order to minimize development overhead due to translations, VFSLib now provides exclusive support for English user texts and message codes. The same applies for the VFSLib documentation in any form.

Type:  Miscellaneous change
Categories:  Language Support, Documentation
Editions:  Community

Miscellaneous change  Added Support For New Google Drive API v3

The Google Drive component of VFSLib now exclusively supports the new v3 API version provided by Google. Required JAR libraries are being referenced by the Maven pom.xml build resources.

groupId=com.google.apis artifactId=google-api-services-drive version=v3-rev20240123-2.0.0

The new v3 API version is based on classes in the 'com.google.api.services.drive' package.

Type:  Miscellaneous change
Categories:  Compatibility, Deployment, Libraries, Google Drive Provider
Editions:  Community

Miscellaneous change  Added Support For New Dropbox Core SDK v6

The Dropbox component of VFSLib now exclusively supports the new v6 Core SDK version provided by Dropbox. Required JAR libraries are being referenced by the Maven pom.xml build resources.

groupId=com.dropbox.core artifactId=dropbox-core-sdk version=6.0.0

The new v6 Dropbox SDK version is based on classes in the 'com.dropbox.core' package.

Type:  Miscellaneous change
Categories:  Compatibility, Deployment, Libraries, Dropbox Provider
Editions:  Community

Miscellaneous change  Minimum Java Version for VFSLib Raised From 1.6 to 1.8

The minimum Java version for VFSLib is now 1.8. The Java version 1.8 is required for all supported platforms.

Type:  Miscellaneous change
Categories:  Compatibility, Deployment, Libraries
Editions:  Community

Enhanced functionality  Private Key File Support For SFTP Network Connections

Connecting to SFTP servers is now possible also if a private key file is specified for the network connection. This allows for connecting to protected SFTP servers like EC2 instances by Amazon AWS which do not allow direct login using user name and password.

In general SFTP servers must support the KexAlgorithms +diffie-hellman-group1-sha1 due to the used library.

Type:  Enhanced functionality
Categories:  network, Libraries, Provider Options
Editions:  Community

Miscellaneous change  VFSLib Moved to Leisenfels Tech Zone Under BSD license

The VFSLib may now be used without license costs under a BSD-style license. The commercial licensing model is no longer supported for VFSLib. In order to deploy VFSLib for your own projects just download the source code archive, configure and run the Maven build. Add the VFSLib dependency to your own projects and checkout the examples.

The new and only edition for VFSLib is the Community Edition (CE).

Links:  Tech Zone Licensing
Type:  Miscellaneous change
Categories:  Release Management, Compatibility
Editions:  Community

VFSLib 1.6.7 Build 59 (2015-12-28)

Enhanced functionality  Easier Deployment of VFSLib Examples

The VFSLib may now be executed much easier. Additional resources have been added to the "example" subdirectory of the ZIP/TGZ library archives. This includes an Ant environment so that there is no need to install Ant separately on your system. Two separate scripts "runexamples.bat" for Windows and "runexamples.sh" for Linux/UNIX systems have been added. The necessary steps to run the examples are documented in the new "example/README.txt" file.

Please keep in mind that Java 1.6 or newer must be installed and available in the execution PATH to run the examples.

Due to a bug reported for Ant (see NetBeans [Bug 200790]) the VFSLib examples have been modified so that this issue can be circumvented.

Links:  Visit the NetBeans website for issue [Bug 200790]
Type:  Enhanced functionality
Categories:  Deployment, Documentation
Editions:  dbe, gde, ase, ee

VFSLib 1.6.6 Build 57 (2015-04-15)

Fixed bug  Applied Patch For Bug In Commons VFS [VFS-228]

Previous versions of VFSLib were shipped with the original Commons VFS JAR library named commons-vfs-2.0.jar. VFSLib is now packaged with a substitute file named vfs-2.0.jar indicating that it's not the original Commons library but a self-compiled one.

The original Commons VFS library threw ClassNotFoundException's for DefaultLocalFileProvider which could cause a program based on VFS to crash. For example this happened often if VFS was used by Ant tasks which perform a specific class loading internally. In order to solve this VFS bug a patch had to be applied. Then the patched library had to be compiled freshly.

All developers using VFSLib up to version 1.6.5 and planning to update to 1.6.6 or later should also remove the old commons-vfs-2.0.jar and add the new vfs-2.0.jar library instead.

Links:  Visit the Apache.org website for issue [VFS-228]
Type:  Fixed bug
Categories:  VFSLib Core, Compatibility, Applications, Libraries
Editions:  dbe, gde, ase, ee

Fixed bug  Network URL Address Parsing Not Functional

The network connections dialog provides the functionality to specify network connections to reach servers via protocols like FTP/SFTP. Due to a bug in the standard Java API (URI class!) the parsing of fully specified URLs like ftp://kernel.org:21/pub went wrong. The port (here: ":21") was not recognized properly as separate part of the URL address but as part of the server name (here: "kernel.org:21"). This caused the other methods like getPort() returning false values, of course also components like the connection dialog then displayed these wrong values.

This behaviour has been fixed so that network URI addresses may be edited properly.

Type:  Fixed bug
Categories:  VFSLib Core, Applications
Editions:  dbe, gde, ase, ee

Fixed bug  License Not Valid

Due to a timezone issue found in the license engine used by Leisenfels both license types for evaluation and commercial have been rejected in certain situations. For example if a U.S. customer obtained a license at 10 p.m. then the license was generated being valid from the next day. The license could not be used immediately in these rare cases.

This behaviour has been fixed so that licenses are valid from one day before the license is obtained.

Type:  Fixed bug
Categories:  Deployment
Editions:  dbe, gde, ase, ee

VFSLib 1.6.5 Build 56 (2014-06-20)

Fixed bug  Setting Upload Content Length Only When Required

Some time ago a new method for setting the S3 upload content length has been introduced to VFSLib (see release note #11 written 2014-02-03). As this works perfectly for the Amazon S3 provider this settings MUST NOT be used for SFTP connections when large files are being transferred. For example if a 2 GB video file is to be transferred via SFTP then a 2 GB array is allocated internally by the SFTP driver. Normally this leads to OutOfMemoryErrors of the Java VM which then has to be terminated by force (e.g. using the Windows Task Manager).

To avoid this unwanted side effect programmatically the method VFSUtils.isContentLengthRequired() has been added to VFSLib. It checks if the VFSLibConstants.ATTR_CONTENT_LENGTH attribute is required for a given VFS network file. Currently only the Amazon S3 provider requires this attribute.

Programmers should modify existing code using the FileObject.getContent().setAttribute() method as follows:

if (VFSUtils.isContentLengthRequired(url)) { url.getContent().setAttribute(VFSLibConstants.ATTR_CONTENT_LENGTH, len); }

Type:  Fixed bug
Categories:  Compatibility, Provider Options
Editions:  ase, ee

Miscellaneous change  Stack Trace Due To Missing Scheme

The VFSConnection.getDefaultFileSystemOptions() method printed stack traces if a null scheme has been passed as method parameter. Since VFSLib by design avoids printing unnecessary stack traces this behaviour has been fixed (scheme is checked for null values).

The null scheme stack trace has been detected only on Linux systems so far.

Type:  Miscellaneous change
Categories:  Compatibility
Editions:  dbe, gde, ase, ee

VFSLib 1.6.4 Build 52 (2014-02-04)

Fixed bug  Open Amazon S3 Object Multiple Times

Due to a limitation in the Amazon S3 API a workaround has been implemented for the S3 provider so that a S3 FileObject may be opened multiple times. This is necessary for example if digests are calculated once for MD5 and for SHA-1 using multiple threads. The S3Object.getObjectContent() method returns a previous input stream if it has not been closed in the meantime. So if it is still in use the same reference is provided which produces application errors. The workaround clones the S3Object and lets the clone open the new input stream instead.

Type:  Fixed bug
Categories:  Compatibility
Editions:  ase, ee

Miscellaneous change  Data Digester Now To Support VFSLib

The Data Digester software now is shipped with the current VFSLib component and therefore supports all file systems including Dropbox, Google Drive, and Amazon S3. Currently these features are only available for the Data Digester Enterprise Edition (EE) which comes with network support. Please download an installer appropriate for your computer. The software may be evaluated for 30 days. Please request an evaluation license which is possible also directly from the running application (Internet connection required).

Links:  Visit the Data Digester homepage
Type:  Miscellaneous change
Categories:  Applications, Download
Editions:  dbe, gde, ase, ee

Fixed bug  Added Content Length For Uploads

As required by the Amazon S3 API the content length for uploads can now be specified. If a file is uploaded to Amazon, Dropbox, or Google this is done with web requests. This kind of transfer technique requires that prior to the transfer the overall length of the transmitted data is specified.

All current providers have been modified the way that it is now possible to set the content length easily. Before an upload output stream is requested with getContent().getOutputStream() the length should be set with getContent().setAttribute(VFSLibConstants.ATTR_CONTENT_LENGTH, length). If this attribute is not set for the cloud providers then uploading small files may work but uploading large files > 10 MB will certainly fail. Please check out the modified example classes for details.

Type:  Fixed bug
Categories:  Compatibility, Documentation, Provider Options
Editions:  dbe, gde, ase, ee

Miscellaneous change  Updated To Dropbox 1.7.6

The current VFSLib is now shipped with Dropbox for Java API version 1.7.6.

The access token is now only valid for the Java session it has been requested for. For the ExampleDropbox.java and ExampleDropboxOptimized.java classes this means that the -token parameter is not longer supported. The access token MUST be requested each time the script is restarted, copied from the Dropbox website and inserted into the dialog input field. This is a little less convenient but surely the token security benefits from this change.

As for the earlier Dropbox versions also the new one has some limitations e.g. when uploading large files. Uploading files using the Java API is still slow compared to the Dropbox desktop application. According to forum posts at Dropbox this is the programmed behaviour. For large files users should use the Dropbox desktop client or switch to other cloud file system providers without this kind of limitation.

Links:  Visit the Dropbox homepage
Type:  Miscellaneous change
Categories:  Libraries, Compatibility, Deployment, Dropbox Provider
Editions:  dbe, ee

New feature  New Option "Use bucket URI"

For the Amazon S3 provider a new protocol option has been added: "Use bucket URI". By default the host name aws.amazon.com ist used to assemble the URI for Amazon S3 connections as for the traditional file systems like FTP/SFTP. Since bucket names are globally unique IDs by design it is now possible to configure VFSLib so that URIs like s3://This email address is being protected from spambots. You need JavaScript enabled to view it. can be used internally.

This is only a display feature which does not influence the internal behaviour of the Amazon S3 provider that comes with VFSLib. It may be changed at runtime.

Type:  New feature
Categories:  Provider Options
Editions:  ase, ee

Fixed bug  Save Token/Secret Key Feature Fixed

Like for the traditional VFSLib file systems also for the new cloud file systems Dropbox, Google Drive, and Amazon S3 it's now possible to save secret options like the access token or secret key. Applications like Data Digester provide a check box flag to configure the program behaviour for the configured network connections.

The previous version of VFSLib always stored the secret options, the flag did not work. This has now been fixed so that VFSLib applications may now "forget" about secret options. Remember that the secret options are still remembered while the application is running but not if it is restarted and the save flag has been disabled before.

Type:  Fixed bug
Categories:  Provider Options
Editions:  dbe, gde, ase, ee

Enhanced functionality  File System Options Validation

The file system options to be configured with the various FileSystemConfigBuilder classes are now checked for proper required values. For Dropbox and Google Drive the access token must be configured to operate properly. For Amazon S3 the access key ID, the secret key, and the bucket name are required options now.

Applications like Data Digester will show some indicator if one of these options are missing for the configured network connections.

Links:  Visit the Data Digester homepage
Type:  Enhanced functionality
Categories:  Provider Options, Dropbox Provider, Google Drive Provider
Editions:  dbe, gde, ase, ee

Miscellaneous change  Obfuscation Issue

If VFSLib is used as part of an obfuscated (scrambled) application then the providers for Dropbox, Google Drive, and Amazon S3 could not be activated. This happens although a proper commercial or evaluation license has been installed before.

The log file shows entries like "VFSLIB-0015: Dropbox functions require a Dropbox Edition or Enterprise Edition".

If you use ProGuard for obfuscation then add something like the following to your scripts:

Type:  Miscellaneous change
Categories:  Compatibility, Deployment
Editions:  dbe, gde, ase, ee

VFSLib 1.6.3 Build 46 (2013-10-24)

New feature  Enterprise Edition Available

While all VFSLib providers can be obtained separately the Enterprise Edition has now been released. The Enterprise Edition includes all providers currently available (Dropbox, Google Drive, Amazon S3). Please check out the attractive license pricing and volume discount offers.

Type:  New feature
Categories:  Release Management, Download
Editions:  dbe, gde, ase, ee

New feature  VFSLib Now to Support Amazon S3 (Amazon S3 Edition)

As third cloud file system provider the Amazon S3 Edition has been added to VFSLib. Please register a valid Amazon Web Services (AWS) account first. All necessary parameters for the Amazon S3 provider including the keys are provided by the Amazon S3 system.

Like the Dropbox provider also the Amazon S3 provider supports all standard VFS operation as there are creating files and folders, renaming, deleting, downloading, uploading etc. Remember that versioning is not supported by the original Commons VFS and so VFSLib doesn't.

Links:  Visit the Amazon S3 homepage
Type:  New feature
Categories:  Release Management, Download
Editions:  ase

VFSLib 1.6.2 Build 37 (2013-10-13)

New feature  Added Google Drive To VFSLib (Google Drive Edition)

As second file system provider Google Drive has been added to VFSLib.

Developers need a Google Drive account and their application setup on the Google website. Once an application token has been generated (you must allow your application to access your Google Drive files first) then the VFSLib Google Drive provider can be configured with a few steps.

Like the Dropbox provider also the Google Drive provider supports all standard VFS operation as there are creating files and folders, renaming, deleting, downloading, uploading etc. Remember that versioning is not supported by the original Commons VFS and so VFSLib doesn't.

Links:  Visit the Google Drive homepage
Type:  New feature
Categories:  Release Management, Download, Google Drive Provider
Editions:  gde

Fixed bug  Bugs in Java Examples Fixed

Some minor bugs found in the VFSLib Java examples have been fixed for the current release:

* ExampleDropbox: for loop uses iterated variable instead of fileobj (List a Dropbox folder)

Type:  Fixed bug
Categories:  Documentation, Dropbox Provider
Editions:  dbe, gde

VFSLib 1.6.1 Build 33 (2013-10-04)

New feature  First Official VFSLib (Dropbox Edition)

The release of the first official VFSLib for Dropbox (Dropbox Edition, aka DBE) is now likely to be published in the next few weeks. This initial version comes with a VFS provider implementing the functionality to access the Dropbox network file system.

Developers need a Dropbox account and their application setup on the Dropbox website. Once an application token has been generated (you must allow your application to access your Dropbox files first) then the VFSLib Dropbox provider can be configured with a few steps.

The first available VFSLib edition will be the Dropbox Edition (DBE), additional VFS providers e.g. to access Amazon S3 will be released in Q4/2013. Finally an Enterprise Edition will be published which contains all available VFSLib providers for an attractive price.

Links:  Visit the Dropbox homepage
Type:  New feature
Categories:  Release Management, Download, Dropbox Provider
Editions:  dbe

 

Print Email


Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
Ok