I am pleased to announce the release of TrueZIP 7.1.
TrueZIP 7.1 provides significant improvements when accessing archive files:
- When writing a compressed archive file into another archive file, its corresponding entry in the enclosing archive file gets no longer compressed again. This provides the best compression ratio and performance and is in conformance with the JEE spec when writing JARs into a WAR or EAR file. For more information, please refer to the new FAQ entry.
- When reading archive files, duplicate entries are now handled correctly by mounting them into a covariant file system entry. This enables an application to read the contents of a file entry and list the members of a directory entry with an equal normalized entry name. For more information, please refer to the new FAQ entry.
This release also focused on the documentation in an effort to provide the best possible TrueZIP Experience for beginners. In addition to gross Javadoc enhancements, there is a lot new content on the TrueZIP User Website at https://christian-schlichtherle.bitbucket.io/truezip:
- Guides for kick-starting TrueZIP File* applications from a Maven archetype in Eclipse or NetBeans or in a shell.
- A guide about using TrueZIP without Maven and why this is only a second best choice.
- A guide for migrating TrueZIP 6 applications.
- An extended FAQ to cover potential issues using the File* API and general questions.
Please note that some enhancements required a change of the public TrueZIP Kernel API. Therefore, clients of this API, including file system driver implementations, need to get recompiled. Pure TrueZIP File* API clients should not need to get recompiled, however.
Enjoy TrueZIP!
Release Notes
Following are the Release Notes for TrueZIP 7.1. The report has been compiled from the project’s Issue Management System JIRA at http://java.net/jira/browse/TRUEZIP.
Bug
- [TRUEZIP-80] - FsArchiveDriver accidentally requires FsConcurrentModel rather than just FsModel parameters to some of its methods
- [TRUEZIP-84] - Regression: Mounting an archive file with absolute entry names throws an AssertionError which wraps a URISyntaxException
- [TRUEZIP-86] - The TrueZIP Kernel does not work correctly with duplicated archive entries in all cases
Improvement
- [TRUEZIP-6] - Do NOT compress an already compressed archive file again when writing it to an enclosing archive file
- [TRUEZIP-72] - Improve URI readability when prompting for TZP file passwords
- [TRUEZIP-73] - Document more options for ZIP.RAES alias TZP archive drivers
- [TRUEZIP-74] - FsPath.hierarchicalize() and FsMountPoint.hierarchicalize() should not produce URIs with a trailing slash for a mount point
- [TRUEZIP-75] - Move FsEntryName.MOUNT_POINT_SEPARATOR to FsMountPoint.SEPARATOR
- [TRUEZIP-77] - TFile.exists() may mount an archive file system although not required
- [TRUEZIP-78] - Initiate Eclipse Project Files in Source Repository
- [TRUEZIP-79] - Remove Version Label From Top Navigation Bar On User Website
- [TRUEZIP-81] - Reduce accessibility of FsArchiveDriver.getPool() to protected
- [TRUEZIP-82] - ByteArrayReadOnlyFile should not be final and its close() method should declare to throw IOException
- [TRUEZIP-83] - ByteArrayIOEntry should have a method getCount(Access) instead of getReads() and getWrites()
- [TRUEZIP-85] - FsArchiveFileSystemEntry.create(*) should have a slightly different signature
- [TRUEZIP-87] - Improve TrueZIP Archetype File*
New Feature
- [TRUEZIP-76] - Provide sample code for pretty-printing the map of a file system driver provider
Task
- [TRUEZIP-51] - Ongoing task: Improve documentation