-----BEGIN PGP SIGNED MESSAGE----- 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: http://commons.apache.org/proper/commons-compress/download_compress.cgi 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 org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator. 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 release. 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 improvement. 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. Changes: 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: http://commons.apache.org/compress/ Stefan Bodewig, on behalf of the Apache Commons community -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAlXT+QAACgkQohFa4V9ri3LkrACfZHp+9DYCSqmq5hOvX0t6JqUI ZHsAn27zoHtgGk9z3fMElTbmt7FqIbkH =5RGr -----END PGP SIGNATURE-----