commons-compress

Release History

VersionDateDescription
1.32011-11-01Release 1.3 - API compatible to 1.2 but requires Java5 at runtime
1.22011-07-31Release 1.2 - a bugfix release, the last release expected to be compatible with Java 1.4
1.12010-08-13Release 1.1
1.02009-05-21First Public Release

Release 1.3 - 2011-11-01

TypeChangesBy
addSupport for the Pack200 format has been added. Fixes COMPRESS-142.
addRead-only support for the format used by the Unix dump(8) tool has been added. Fixes COMPRESS-132.
updateThe ZIP package now supports Zip64 extensions. Fixes COMPRESS-36.
updateThe AR package now supports the BSD dialect of storing file names longer than 16 chars (both reading and writing). Fixes COMPRESS-144.
fixBZip2CompressorInputStream's getBytesRead method always returned 0.
fixZipArchiveInputStream and ZipArchiveOutputStream could leak resources on some JDKs. Fixes COMPRESS-152.
fixTarArchiveOutputStream's getBytesWritten method didn't count correctly. Fixes COMPRESS-160.

Release 1.2 - 2011-07-31

TypeChangesBy
fixZipArchiveInputStream could fail with a "Truncated ZIP" error message for entries between 2 GByte and 4 GByte in size. Fixes COMPRESS-129.
fixTarArchiveInputStream now detects sparse entries using the oldgnu format and properly reports it cannot extract their contents. Fixes COMPRESS-145.
addZipArchiveEntry has a new method getRawName that provides the original bytes that made up the name. This may allow user code to detect the encoding. Fixes COMPRESS-123.
fixThe Javadoc for ZipArchiveInputStream#skip now matches the implementation, the code has been made more defensive. Fixes COMPRESS-130.
fixArArchiveInputStream fails if entries contain only blanks for userId or groupId. Fixes COMPRESS-140. Thanks to Trejkaz.
fixZipFile may leak resources on some JDKs. Fixes COMPRESS-139.
updateZipFile now implements finalize which closes the underlying file.
updateCertain tar files not recognised by ArchiveStreamFactory. Fixes COMPRESS-117.
fixBZip2CompressorInputStream throws IOException if underlying stream returns available() == 0. Removed the check. Fixes COMPRESS-125.
fixCalling close() on inputStream returned by CompressorStreamFactory.createCompressorInputStream() does not close the underlying input stream. Fixes COMPRESS-127.
addTarArchiveEntry provides access to the flags that determine whether it is an archived symbolic link, pipe or other "uncommon" file system object. Fixes COMPRESS-122.
fixTarArchiveOutputStream#finish now writes all buffered data to the stream Fixes COMPRESS-119.

Release 1.1 - 2010-08-13

TypeChangesBy
fixMove acknowledgements from NOTICE to README Fixes COMPRESS-72.
fixTarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size Fixes COMPRESS-113.
addCommand-line interface to list archive contents. Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc] Fixes COMPRESS-108.
fixTarUtils.parseName does not properly handle characters outside the range 0-127 Fixes COMPRESS-118.
updateArArchiveInputStream does not handle GNU extended filename records (//) Fixes COMPRESS-112.
addTar implementation does not support Pax headers Added support for reading pax headers. Note: does not support global pax headers Fixes COMPRESS-109.
fixArchiveStreamFactory does not recognise tar files created by Ant Fixes COMPRESS-107.
fixSupport "ustar" prefix field, which is used when file paths are longer than 100 characters. Fixes COMPRESS-110.
updateDocument 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. Fixes COMPRESS-105.
addZipArchiveInputStream 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. Fixes COMPRESS-103.
fixZipArchiveInputStream 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. Fixes COMPRESS-100.
fixZipArchiveInputStream should now properly read archives that use data descriptors but without the "unofficial" signature. Fixes COMPRESS-101.
addThe ZIP classes will throw specialized exceptions if any attempt is made to read or write data that uses zip features not supported (yet). Fixes COMPRESS-98.
addZipFile#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. Fixes COMPRESS-99.
addThe 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.
addThe ZIP classes now detect encrypted entries. Fixes COMPRESS-89.
updateMove DOS/Java time conversions into Zip utility class. Fixes COMPRESS-79.
fixZipArchiveInputStream failed to update the number of bytes read properly. Fixes COMPRESS-74.
fixArchiveInputStream has a new method getBytesRead that should be preferred over getCount since the later may truncate the number of bytes read for big archives.
fixThe 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. Fixes COMPRESS-85.
fixZipArchiveEntry, ZipFile and ZipArchiveInputStream are now more lenient when parsing extra fields. Fixes COMPRESS-73.
updateZipArchiveInputStream does not show location in file where a problem occurred. Fixes COMPRESS-75.
fixcpio is terribly slow. Documented that buffered streams are needed for performance Fixes COMPRESS-82.
addAdded autodetection of compression format to CompressorStreamFactory. Fixes COMPRESS-97.
fixImproved exception message if the extra field data in ZIP archives cannot be parsed.
fixTar format unspecified - current support documented. Fixes COMPRESS-17.
addImprove ExceptionMessages in ArchiveStreamFactory Fixes COMPRESS-95. Thanks to Joerg Bellmann.
fixZipArchiveEntry'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. Fixes COMPRESS-94. Thanks to Anon Devs.
fixZipArchiveInputStream could repeatedly return 0 on read() when the archive was truncated. Fixes COMPRESS-87. Thanks to Antoni Mylka.
fixTar 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. Fixes COMPRESS-86.
addA 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.
fixDelegate all read and write methods in GZip stream in order to speed up operations. Fixes COMPRESS-83.
addArchiveEntry now has a getLastModifiedDate method.
fixThe ar and cpio streams now properly read and write last modified times.
fixTarOutputStream can leave garbage at the end of the archive Fixes COMPRESS-81.
addAdd a BZip2Utils class modelled after GZipUtils Fixes COMPRESS-78. Thanks to Jukka Zitting.

Release 1.0 - 2009-05-21

TypeChangesBy
addInitial releaseall
fixUpdating the pom.xml for preparing a move to commons-propersgoeschl