blob: 50f8cf514f33d641ca1c9efaaec2057a4b7cc129 [file] [log] [blame]
Apache Commons Compress 1.1-SNAPSHOT RELEASE NOTES
Release 1.1
Changes in this version include:
New features:
o COMPRESS-108: Command-line interface to list archive contents.
Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc]
o COMPRESS-109: Tar implementation does not support Pax headers
Added support for reading pax headers.
Note: does not support global pax headers
o COMPRESS-103: 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.
o COMPRESS-98: The ZIP classes will throw specialized exceptions if any
attempt is made to read or write data that uses zip features
not supported (yet).
o COMPRESS-99: 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.
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 COMPRESS-89: The ZIP classes now detect encrypted entries.
o COMPRESS-97: Added autodetection of compression format to
CompressorStreamFactory.
o COMPRESS-95: Improve ExceptionMessages in ArchiveStreamFactory 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 COMPRESS-78: Add a BZip2Utils class modelled after GZipUtils Thanks to Jukka Zitting.
Fixed Bugs:
o COMPRESS-113: TarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size
o COMPRESS-118: TarUtils.parseName does not properly handle characters outside the range 0-127
o COMPRESS-107: ArchiveStreamFactory does not recognise tar files created by Ant
o COMPRESS-110: Support "ustar" prefix field, which is used when file paths are longer
than 100 characters.
o COMPRESS-100: 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.
o COMPRESS-101: ZipArchiveInputStream should now properly read archives that
use data descriptors but without the "unofficial" signature.
o COMPRESS-74: ZipArchiveInputStream failed to update the number of bytes
read properly.
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 COMPRESS-85: 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.
o COMPRESS-73: ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now
more lenient when parsing extra fields.
o COMPRESS-82: cpio is terribly slow.
Documented that buffered streams are needed for performance
o Improved exception message if the extra field data in ZIP
archives cannot be parsed.
o COMPRESS-17: Tar format unspecified - current support documented.
o COMPRESS-94: 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. Thanks to Anon Devs.
o COMPRESS-87: ZipArchiveInputStream could repeatedly return 0 on read() when
the archive was truncated. Thanks to Antoni Mylka.
o COMPRESS-86: 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.
o COMPRESS-83: Delegate all read and write methods in GZip stream in order to
speed up operations.
o The ar and cpio streams now properly read and write last
modified times.
o COMPRESS-81: TarOutputStream can leave garbage at the end of the archive
Changes:
o COMPRESS-112: ArArchiveInputStream does not handle GNU extended filename records (//)
o COMPRESS-105: 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.
o COMPRESS-79: Move DOS/Java time conversions into Zip utility class.
o COMPRESS-75: ZipArchiveInputStream does not show location in file where a problem occurred.
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/