Skip to content

1.0-rc2

Pre-release
Pre-release
Compare
Choose a tag to compare
@cgdecker cgdecker released this 23 May 21:00
· 354 commits to master since this release

Second release candidate, containing a number of fixes and usability improvements.

This release can be used with Maven as:

<dependency>
  <groupId>com.google.jimfs</groupId>
  <artifactId>jimfs</artifactId>
  <version>1.0-rc2</version>
</dependency>

Notable changes:

  • FileSystem instances are now cached statically, so even if multiple instances of JimfsFileSystemProvider are created, they'll share the same cache of file systems. This is meant to ensure that what ClassLoader happens to load JimfsFileSystemProvider has no effect on behavior (the provider instance itself is only cached if it can be loaded by the system ClassLoader).
  • FileSystem instances are now cached with weak references, allowing them to be garbage collected when no references remain even if close() has not been called. This is preferable in most cases. The only negative impact is that if you wish to hold on to a URI (either for a FileSystem or a Path in that file system) and later use it to retrieve that FileSystem/Path, it may not work unless you ensure that a strong reference to the FileSystem is held somewhere.
  • Closing a FileSystem now closes all open streams, channels, etc. for that file system and causes most Files methods to throw ClosedFileSystemException.
  • The jar now has OSGi metadata.