commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <>
Subject [ANN] Apache Commons Compress 1.10 Released
Date Wed, 19 Aug 2015 03:33:25 GMT
Hash: SHA1

The Apache Commons Team is pleased to announce the release of Apache
Commons Compress 1.10.

Version 1.10 provides a new infrastructure that allows creating ZIP
archives in parallel as well as improvements and bug fixes for several
archiving and compression formats.

The Apache Commons Compress Library defines a Java API for working with
ar, cpio, tar, zip, 7z, arj, dump, gzip, pack200, bzip2, lzma, snappy,
Z, xz and deflate files.

Release 1.10 moves the former
org.apache.commons.compress.compressors.z._internal_ package which
breaks backwards compatibility for code which used the old package.

This also changes the superclass of ZCompressorInputStream which makes
this class binary incompatible with the one of Compress 1.9.  Code
that extends ZCompressorInputStream will need to be recompiled in
order to work with Compress 1.10.

Source and binary distributions are available for download from the
Apache Commons download site:

When downloading, please verify signatures using the KEYS file available
at the above location when downloading the release.

Changes in this version include:

New features:
o CompressorStreamFactory can now auto-detect DEFLATE streams
  with ZLIB header.
  Issue: COMPRESS-316. Thanks to Nick Burch. 
o CompressorStreamFactory can now auto-detect LZMA streams.
  Issue: COMPRESS-313. 
o Added support for parallel compression. This low-level API allows
  a client to build a zip/jar file by using the class

  Zip documentation updated with further notes about parallel features.

  Please note that some aspects of jar creation need to be
  handled by client code and is not part of commons-compress for this
  Issue: COMPRESS-296. Thanks to Kristian Rosenvold. 
o Cut overall object instantiation in half by changing file
  header generation algorithm, for a 10-15 percent performance

  Also extracted two private methods createLocalFileHeader
  and createCentralFileHeader in ZipArchiveOutputStream.
  These may have some interesting additional usages in the
  near future. Thanks to Kristian Rosenvold. 
o New methods in ZipArchiveOutputStream and ZipFile allows
  entries to be copied from one archive to another without
  having to re-compress them.
  Issue: COMPRESS-295. Thanks to Kristian Rosenvold. 

Fixed Bugs:
o TarArchiveInputStream can now read entries with group or
  user ids > 0x80000000.
  Issue: COMPRESS-314. 
o TarArchiveOutputStream can now write entries with group or
  user ids > 0x80000000.
  Issue: COMPRESS-315. 
o TarArchiveEntry's constructor with a File and a String arg
  didn't normalize the name.
  Issue: COMPRESS-312. 
o ZipEncodingHelper no longer reads system properties directly
  to determine the default charset.
  Issue: COMPRESS-308. 
o BZip2CompressorInputStream#read would return -1 when asked to
  read 0 bytes.
  Issue: COMPRESS-309. 
o ArchiveStreamFactory fails to pass on the encoding when creating
  some streams.
    * ArjArchiveInputStream
    * CpioArchiveInputStream
    * DumpArchiveInputStream
    * JarArchiveInputStream
    * TarArchiveInputStream
    * JarArchiveOutputStream
  Issue: COMPRESS-306. 
o Restore immutability/thread-safety to ArchiveStreamFactory.
  The class is now immutable provided that the method setEntryEncoding
  is not used. The class is thread-safe.
  Issue: COMPRESS-302. 
o Restore immutability/thread-safety to CompressorStreamFactory.
  The class is now immutable provided that the method
  setDecompressConcatenated is not used.  The class is thread-safe.
  Issue: COMPRESS-303.
o ZipFile logs a warning in its finalizer when its constructor
  has thrown an exception reading the file - for example if the
  file doesn't exist.
  Issue: COMPRESS-297. 
o Improved error message when tar encounters a groupId that is
  too big to write without using the STAR or POSIX format.
  Issue: COMPRESS-290. Thanks to Kristian Rosenvold. 
o SevenZFile now throws the specific PasswordRequiredException
  when it encounters an encrypted stream but no password has
  been specified.
  Issue: COMPRESS-298. 

o Moved the package
  org.apache.commons.compress.compressors.z._internal_ to
  org.apache.commons.compress.compressors.lzw and made it part
  of the API that is officially supported.  This will break
  existing code that uses the old package. Thanks to Damjan Jovanovic. 

For complete information on Commons Compress, including instructions
on how to submit bug reports, patches, or suggestions for improvement,
see the Apache Commons Compress website:

Stefan Bodewig, on behalf of the Apache Commons community
Version: GnuPG v1.4.9 (GNU/Linux)


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message