TrueZIP 7.3 released

I am pleased to announce the release of TrueZIP 7.3. TrueZIP 7.3 provides many new features, improvements and bug fixes: The TrueZIP Kernel has been improved a lot, the TrueZIP Driver TAR and TrueZIP Driver ZIP have been changed to use Apache Commons Compress and the TrueZIP Driver ZIP has lots of new features like WinZip AES Encryption, BZIP2 compression and more. Last, but not least, TrueZIP 7.3 is now licensed according to the Eclipse Public License 1.0.

Apart from the redesign in TrueZIP 7, this release has seen the biggest changes in TrueZIP since its inception in 2004.

The TrueZIP Kernel has been improved a lot in order to improve its reliability, robustness and scalability. As a new feature, it now supports appending to archive files. This means that you can choose to append entries to existing ZIP files when using the TrueZIP Driver ZIP. This is particularly useful if a new ZIP entry is small compared to the total size of its ZIP file and improves the overall performance a lot. To use this feature, have a look at this blog post.

The TrueZIP Driver ZIP has been almost completely rewritten. It now supports…

  • Appending To Existing ZIP Files
  • Recovery Of Lost ZIP Entries
  • WinZip AES Encryption
  • BZIP2 Compression
  • External File Attributes

For more information about these features, please have a look at the driver’s home page at https://christian-schlichtherle.bitbucket.io/truezip/truezip-driver/truezip-driver-zip/index.html. I will add some tutorial blog posts for these features in due time, so please stay tuned.

Triggered by the addition of the BZIP2 compression, the modules TrueZIP Driver TAR and TrueZIP Driver ZIP now depend on Apache Commons Compress. Previously, the module TrueZIP Driver TAR depended on Apache Ant. This change has cut the size of the all-in-one JAR by more than one megabyte and paves the way for future improvements.

Some bugs have been fixed, too, see below.

Release Notes

Following are the Release Notes as compiled by TrueZIP’s issue tracker at http://java.net/jira/browse/TRUEZIP.

Bug

  • [TRUEZIP-143] - FileOutputSocket may throw NPE when writing to a file in the current directory.
  • [TRUEZIP-147] - DOS date/time is earlier than 1980 AD:0x0
  • [TRUEZIP-150] - Streams.cat writer thread can hang when the input reader thread throws anything other than IOException
  • [TRUEZIP-154] - ServiceConfigurationError: Unknown file system scheme for path without a suffix
  • [TRUEZIP-156] - TFile.listFiles() & friends may throw NullPointerException

Improvement

  • [TRUEZIP-136] - Use a temporary file when creating new archive files.
  • [TRUEZIP-140] - Simplify interface of de.schlichtherle.truezip.fs.archive.FsArchiveDriver
  • [TRUEZIP-141] - Renamed class de.schlichtherle.truezip.fs.archive.FsMultiplexedArchiveOutputShop to de.schlichtherle.truezip.fs.archive.FsMultiplexedOutputShop
  • [TRUEZIP-142] - de.schlichtherle.truezip.zip.ZipConstants.FORCE_ZIP64_EXT uses ill-named system property
  • [TRUEZIP-144] - Deleting a ZIP entry should not trigger archive reassembly if FsOutputOption.GROW is set.
  • [TRUEZIP-145] - Dissolve FsContextModel
  • [TRUEZIP-146] - Extend ZipEntry to allow preservation and customization of internal/external file attributes
  • [TRUEZIP-149] - TrueZip Archive Fix
  • [TRUEZIP-151] - Most methods in ZipEntry should be final!
  • [TRUEZIP-152] - Change the name pattern from “tzp[0-9]+.suffix” to “tzp[0-9]+.filename”
  • [TRUEZIP-153] - Improve Exception Handling For False Positive Archive Files
  • [TRUEZIP-157] - Migrate from Ant to Commons Compress
  • [TRUEZIP-159] - Improve scalability for many archive files with many entries.
  • [TRUEZIP-160] - Transition from Apache License 2.0 to Eclipse Public License 1.0

New Feature

  • [TRUEZIP-9] - Support WinZip encryption scheme
  • [TRUEZIP-33] - Support appending to archive files
  • [TRUEZIP-158] - Add BZIP2 compression for ZIP files