www-announce mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Grobmeier <grobme...@apache.org>
Subject [ANNOUNCE] Commons Compress 1.1 released
Date Tue, 24 Aug 2010 04:57:29 GMT
The Commons Compress team is pleased to announce the
commons-compress-1.1 release!

Commons Compress defines an API for working with compression and
archive formats.
  These include: bzip2, gzip and ar, cpio, jar, tar, zip.

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.

For more information on Apache Commons Compress, visit the Commons
Compress home page:


Changes in this version include:

New features:
o Command-line interface to list archive contents.
       Usage: java -jar commons-compress-n.m.jar archive-name
[zip|tar|etc]  Issue: COMPRESS-108.
o Tar implementation does not support Pax headers
       Added support for reading pax headers.
       Note: does not support global pax headers  Issue: COMPRESS-109.
o ZipArchiveInputStream can optionally extract data that used
        the STORED compression method and a data descriptor.
        Doing so in a stream is not safe in general, so you have to
        explicitly enable the feature.  By default the stream will
        throw an exception if it encounters such an entry.  Issue:
o The ZIP classes will throw specialized exceptions if any
        attempt is made to read or write data that uses zip features
        not supported (yet).  Issue: COMPRESS-98.
o ZipFile#getEntries returns entries in a predictable order -
        the order they appear inside the central directory.
        A new method getEntriesInPhysicalOrder returns entries in
        order of the entry data, i.e. the order ZipArchiveInputStream
        would see.  Issue: COMPRESS-99.
o The Archive*Stream and ZipFile classes now have
        can(Read|Write)EntryData methods that can be used to check
        whether a given entry's data can be read/written.
        The method currently returns false for ZIP archives if an
        entry uses an unsupported compression method or encryption.
o The ZIP classes now detect encrypted entries.  Issue: COMPRESS-89.
o Added autodetection of compression format to
        CompressorStreamFactory.  Issue: COMPRESS-97.
o Improve ExceptionMessages in ArchiveStreamFactory  Issue:
COMPRESS-95. Thanks to Joerg Bellmann.
o A new constructor of TarArchiveEntry can create entries with
        names that start with slashes - the default is to strip
        leading slashes in order to create relative path names.
o ArchiveEntry now has a getLastModifiedDate method.
o Add a BZip2Utils class modelled after GZipUtils  Issue: COMPRESS-78.
Thanks to Jukka Zitting.

Fixed Bugs:
o Move acknowledgements from NOTICE to README  Issue: COMPRESS-72.
o TarArchiveEntry.parseTarHeader() includes the trailing space/NUL
when parsing the octal size  Issue: COMPRESS-113.
o TarUtils.parseName does not properly handle characters outside the
range 0-127  Issue: COMPRESS-118.
o ArchiveStreamFactory does not recognise tar files created by Ant
Issue: COMPRESS-107.
o Support "ustar" prefix field, which is used when file paths are longer
       than 100 characters.  Issue: COMPRESS-110.
o ZipArchiveInputStream will throw an exception if it detects an
        entry that uses a data descriptor for a STORED entry since it
        cannot reliably find the end of data for this "compression"
        method.  Issue: COMPRESS-100.
o ZipArchiveInputStream should now properly read archives that
        use data descriptors but without the "unofficial" signature.
Issue: COMPRESS-101.
o ZipArchiveInputStream failed to update the number of bytes
        read properly.  Issue: COMPRESS-74.
o ArchiveInputStream has a new method getBytesRead that should
        be preferred over getCount since the later may truncate the
        number of bytes read for big archives.
o The cpio archives created by CpioArchiveOutputStream couldn't
        be read by many existing native implementations because the
        archives contained multiple entries with the same inode/device
        combinations and weren't padded to a blocksize of 512 bytes.
Issue: COMPRESS-85.
o ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now
        more lenient when parsing extra fields.  Issue: COMPRESS-73.
o cpio is terribly slow.
        Documented that buffered streams are needed for performance
Issue: COMPRESS-82.
o Improved exception message if the extra field data in ZIP
        archives cannot be parsed.
o Tar format unspecified - current support documented.  Issue: COMPRESS-17.
o ZipArchiveEntry's equals method was broken for entries created
        with the String-arg constructor.  This lead to broken ZIP
        archives if two different entries had the same hash code.
Issue: COMPRESS-94. Thanks to Anon Devs.
o ZipArchiveInputStream could repeatedly return 0 on read() when
        the archive was truncated.  Issue: COMPRESS-87. Thanks to Antoni Mylka.
o Tar archive entries holding the file name for names longer
        than 100 characters in GNU longfile mode didn't properly
        specify they'd be using the "oldgnu" extension.  Issue: COMPRESS-86.
o Delegate all read and write methods in GZip stream in order to
        speed up operations.  Issue: COMPRESS-83.
o The ar and cpio streams now properly read and write last
        modified times.
o TarOutputStream can leave garbage at the end of the archive  Issue:

o ArArchiveInputStream does not handle GNU extended filename records
(//)  Issue: COMPRESS-112.
o Document that the name of an ZipArchiveEntry determines whether
       an entry is considered a directory or not.
       If you don't use the constructor with the File argument the entry's
        name must end in a "/" in order for the entry to be known as a
directory.  Issue: COMPRESS-105.
o Move DOS/Java time conversions into Zip utility class.  Issue: COMPRESS-79.
o ZipArchiveInputStream does not show location in file where a problem
occurred.  Issue: COMPRESS-75.

Have fun!
-Commons Compress team

View raw message