Author: bodewig Date: Sat Aug 24 16:21:06 2019 New Revision: 35357 Log: RC1 of Commons Compress 1.19
Added: dev/commons/compress/README.html (with props) dev/commons/compress/RELEASE-NOTES.txt (with props) dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz (with props) dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.asc dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.sha512 dev/commons/compress/binaries/commons-compress-1.19-bin.zip (with props) dev/commons/compress/binaries/commons-compress-1.19-bin.zip.asc dev/commons/compress/binaries/commons-compress-1.19-bin.zip.sha512 dev/commons/compress/source/commons-compress-1.19-src.tar.gz (with props) dev/commons/compress/source/commons-compress-1.19-src.tar.gz.asc dev/commons/compress/source/commons-compress-1.19-src.tar.gz.sha512 dev/commons/compress/source/commons-compress-1.19-src.zip (with props) dev/commons/compress/source/commons-compress-1.19-src.zip.asc dev/commons/compress/source/commons-compress-1.19-src.zip.sha512 Added: dev/commons/compress/README.html ============================================================================== --- dev/commons/compress/README.html (added) +++ dev/commons/compress/README.html Sat Aug 24 16:21:06 2019 @@ -0,0 +1,45 @@ +<h1>Commons-Compress 1.19</h1> + +<p>This is the 1.19 release of commons-compress. It is available in both binary and source distributions.</p> + +<p><font color="red" size="+2">Note:</font> +The tar files in the distribution use GNU tar extensions +and must be untarred with a GNU compatible version of tar. The version +of tar on Solaris and Mac OS X will not work with these files.</p> + +<p>Thank you for using <a href="http://commons.apache.org/compress/">Commons Compress</a>.</p> + +<p>From the Apache Commons Project<br><a href="http://commons.apache.org/">http://commons.apache.org/</a></p> + +<h2><a name="mirrors">Download from your + <a href="http://www.apache.org/dyn/closer.cgi/commons/">nearest mirror site!</a></a></h2> + +<p> + Do not download from www.apache.org. Please use a mirror site + to help us save apache.org bandwidth. + <a href="http://www.apache.org/dyn/closer.cgi/commons/">Go + here to find your nearest mirror.</a> +</p> + +<a name="sig"><h2>Signatures</h2></a> + +<p>All of the files have been digitally signed using GnuPG. +There is an accompanying <samp><em>file</em>.asc</samp> signature +file in the same directory as the file (binaries/ or source/). The +signing keys can be found in the distribution directory at <<a +href="https://www.apache.org/dist/commons/KEYS"><samp>https://www.apache.org/dist/commons/KEYS</samp></a>>.</p> + +<p><b>Always download the KEYS file directly from the Apache site, never from a mirror site.</b></p> + + +<pre>Always test available signatures, <i>e.g.</i>, +$ pgpk -a KEYS +$ pgpv commons-compress-1.19-bin.tar.gz.asc +or, +$ pgp -ka KEYS +$ pgp commons-compress-1.19-bin.tar.gz.asc +or, +$ gpg --import KEYS +$ gpg --verify commons-compress-1.19-bin.tar.gz.asc +</pre> +<p> Propchange: dev/commons/compress/README.html ------------------------------------------------------------------------------ svn:eol-style = native Added: dev/commons/compress/RELEASE-NOTES.txt ============================================================================== --- dev/commons/compress/RELEASE-NOTES.txt (added) +++ dev/commons/compress/RELEASE-NOTES.txt Sat Aug 24 16:21:06 2019 @@ -0,0 +1,1194 @@ + Apache Commons Compress RELEASE NOTES + +Apache Commons Compress software defines an API for working with +compression and archive formats. These include: bzip2, gzip, pack200, +lzma, xz, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4, +Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj. + +Release 1.19 +------------ + +ZipArchiveInputStream and ZipFile will no longer throw an exception if +an extra field generally understood by Commons Compress is malformed +but rather turn them into UnrecognizedExtraField instances. You can +influence the way extra fields are parsed in more detail by using the +new getExtraFields(ExtraFieldParsingBehavior) method of +ZipArchiveEntry now. + +Some of the ZIP extra fields related to strong encryption will now +throw ZipExceptions rather than ArrayIndexOutOfBoundsExceptions in +certain cases when used directly. There is no practical difference +when they are read via ZipArchiveInputStream or ZipFile. + +New features: +o It is now possible to skip parsing of local file headers when + using ZipFile which may speed up reading the archive at the + cost of potentially missing important information. See the + javadocs of the ZipFile class for details. + Issue: COMPRESS-466. +o TarArchiveInputStream has a new constructor-arg lenient that + can be used to accept certain broken archives. + Issue: COMPRESS-469. +o ArjArchiveEntry and SevenZArchiveEntry now implement hashCode + and equals. + Issue: COMPRESS-475. +o Added a MultiReadOnlySeekableByteChannel class + that can be used to concatenate the parts of a multi volume 7z + archive so that SevenZFile can read them. + Issue: COMPRESS-231. + Thanks to Tim Underwood. + +Fixed Bugs: +o ZipArchiveInputStream could forget the compression level has + changed under certain circumstances. +o Fixed another potential resource leak in + ParallelScatterZipCreator#writeTo. + Issue: COMPRESS-470. +o ArArchiveInputStream could think it had hit EOF prematurely. + Github Pull Request #74. + Thanks to Alex Bertram. +o Throw IOException rather than RuntimeExceptions for certain + malformed LZ4 or Snappy inputs. + Issue: COMPRESS-490. +o ZipArchiveInputStream failed to read stored entries with a + data descriptor if the data descriptor didn't use the + signature invented by InfoZIP. + Issue: COMPRESS-482. + +Changes: +o SevenZFile now provides a way to cap memory consumption for + LZMA(2) compressed content. + Github Pull Request #76. + Issue: COMPRESS-481. + Thanks to Robin Schimpf. +o The ARJ package has been updated to contain constants for more + recent specifications. + Issue: COMPRESS-464. + Thanks to Rostislav Krasny. +o Update optional library zstd-jni from 1.3.3-3 to 1.4.0-1. + Issue: COMPRESS-484. +o ParallelScatterZipCreator now writes the entries to the + gathered output in the same order they have been added. + Github Pull Requests #78 and #79. + Issue: COMPRESS-485. + Thanks to Hervé Boutemy, Tibor Digana. +o The Expander and Archive example classes can leak resources + they have wrapped around passed in streams or channels. The + methods consuming streams and channels have been adapted to + give the calling code a chance to deal with those wrapper + resources. + Issue: COMPRESS-486. +o ZipArchiveInputStream and ZipFile no longer assume Commons + Compress would understand extra fields better than the writer + of the archive and silently turn extra fields that Commons + Compress should understand into UnrecognizedExtraFields if + parsing said fields fails. + It is now possible to take more control over the extra field + parsing process with a new overload of + ZipArchiveEntry#getExtraFields. + Issue: COMPRESS-479. +o ZipArchiveInputStream will now throw an exception if reading a + stored entry with a data descriptor and the data descriptor + doesn't match what it has actually read. + + The most common case for a situation like this is a stored ZIP + archive inside of the archive ZipArchiveInputStream currently + reads. In such a case ZipArchiveInputStream would happily + extract the contained archive and stop once the central + directory of the inner archive has been hit. This is a case + where ZipArchiveInputStream simply can not be used and only + ZipFile is able to read the archive. + + The only other explanation is a broken archive. So the + exception prevents users from thinking they had successfully + read the contents of the archive. + Issue: COMPRESS-483. +o The 7zip tools provide a default name for archive entries + without name; SevenZFile returns a null name for such + entries. A new method getDefaultName has been added to derive + the same name the 7zip tools would use and an option has been + added that sets SevenZArchiveEntry's name to the default name + if it is not contained inside the archive. + Issue: COMPRESS-478. + +Release 1.18 +------------ + +New features: +o It is now possible to specify the arguments of zstd-jni's + ZstdOutputStream constructors via Commons Compress as well. + Issue: COMPRESS-460. + Thanks to Carmi Grushko. + +Fixed Bugs: +o The example Expander class has been vulnerable to a path + traversal in the edge case that happens when the target + directory has a sibling directory and the name of the target + directory is a prefix of the sibling directory's name. + Thanks to Didier Loiseau. +o Changed the OSGi Import-Package to also optionally import + javax.crypto so encrypted archives can be read. + Issue: COMPRESS-456. +o Changed various implementations of the close method to better + ensure all held resources get closed even if exceptions are + thrown during the closing the stream. + Issue: COMPRESS-457. +o ZipArchiveInputStream can now detect the APK Signing Block + used in signed Android APK files and treats it as an "end of + archive" marker. + Issue: COMPRESS-455. +o The cpio streams didn't handle archives using a multi-byte + encoding properly. + Issue: COMPRESS-459. + Thanks to Jens Reimann. +o ZipArchiveInputStream#read would silently return -1 on a + corrupted stored entry and even return > 0 after hitting the + end of the archive. + Issue: COMPRESS-463. +o ArArchiveInputStream#read would allow to read from the stream + without opening an entry at all. + Issue: COMPRESS-462. + +Release 1.17 +------------ + +New features: +o Added a unit test that is supposed to fail if we break the + OSGi manifest entries again. + Issue: COMPRESS-443. +o Add a new SkipShieldingInputStream class that can be used with + streams that throw an IOException when skip is invoked. + Issue: COMPRESS-449. +o New constructors have been added to SevenZFile that accept + char[]s rather than byte[]s in order to avoid a common error + of using the wrong encoding when creating the byte[]. This + change may break source compatibility for client code that + uses one of the constructors expecting a password and passes + in null as password. We recommend to change the code to use a + constructor without password argument. + Issue: COMPRESS-452. + +Fixed Bugs: +o Removed the objenesis dependency from the pom as it is not + needed at all. +o Fixed resource leak in ParallelScatterZipCreator#writeTo. + Issue: COMPRESS-446. +o Certain errors when parsing ZIP extra fields in corrupt + archives are now turned into ZipException, they used to + manifest as ArrayIndexOutOfBoundsException before. + Issue: COMPRESS-447. +o IOUtils.copy now verifies the buffer size is bigger than 0. + Issue: COMPRESS-451. +o ZipArchiveInputStream failed to read some files with stored + entries using a data descriptor. + Issue: COMPRESS-454. + +Changes: +o Fixed some code examples. + Github Pull Request #63. + Thanks to Marchenko Sergey. +o The streams returned by ZipFile and most other decompressing + streams now provide information about the number of compressed + and uncompressed bytes read so far. This may be used to detect + a ZipBomb if the compression ratio exceeds a certain + threshold, for example. + For SevenZFile a new method returns the statistics for the + current entry. + Issue: COMPRESS-445. + Thanks to Andreas Beeker. +o Added a workaround for a bug in AdoptOpenJDK for S/390 to + BZip2CompressorInputStream. + Issue: COMPRESS-453. + +Release 1.16.1 +-------------- + +Fixed Bug: +o Fixed the OSGi manifest entry for imports that has been broken + in 1.16. + Issue: COMPRESS-442. + +Release 1.16 +------------ + +New features: +o Add read-only support for Zstandard compression based on the + Zstd-jni project. + Issue: COMPRESS-423. Thanks to Andre F de Miranda. +o Added auto-detection for Zstandard compressed streams. + Issue: COMPRESS-425. +o Added write-support for Zstandard compression. + Issue: COMPRESS-426. +o Added read-only DEFLATE64 support to ZIP archives and as + stand-alone CompressorInputStream. + Issue: COMPRESS-380. Thanks to Christian Marquez Grabia. +o Added read-only DEFLATE64 support to 7z archives. + Issue: COMPRESS-437. + +Fixed Bugs: +o Synchronized iteration over a synchronizedList in + ParallelScatterZipCreator. + Issue: COMPRESS-430. Thanks to Bruno P. Kinoshita. +o ZipFile could get stuck in an infinite loop when parsing ZIP + archives with certain strong encryption headers. + Issue: COMPRESS-432. +o Added improved checks to detect corrupted bzip2 streams and + throw the expected IOException rather than obscure + RuntimeExceptions. + Issue: COMPRESS-424. + +Changes: +o Replaces instanceof checks with a type marker in LZ77 support code. + Issue: COMPRESS-435. Thanks to BELUGA BEHR. +o Updated XZ for Java dependency to 1.8 in order to pick up bug fix + to LZMA2InputStream's available method. +o ZipArchiveEntry now exposes how the name or comment have been + determined when the entry was read. + Issue: COMPRESS-429. Thanks to Damiano Albani. +o ZipFile.getInputStream will now always buffer the stream + internally in order to improve read performance. + Issue: COMPRESS-438. +o Speed improvement for DEFLATE64 decompression. + Issue: COMPRESS-440. Thanks to Dawid Weiss. +o Added a few extra sanity checks for the rarer compression + methods used in ZIP archives. + Issue: COMPRESS-436. +o Simplified the special handling for the dummy byte required by + zlib when using java.util.zip.Inflater. + Issue: COMPRESS-441. +o Various code cleanups. + Github Pull Request #61. Thanks to Shahab Kondri. +o TarArchiveEntry's preserveLeadingSlashes constructor argument + has been renamed and can now also be used to preserve the + drive letter on Windows. + +Release 1.15 +------------ + +New features: +o Added magic MANIFEST entry Automatic-Module-Name so the module + name will be org.apache.commons.compress when the jar is used + as an automatic module in Java9. + Issue: COMPRESS-397. +o Added a new utility class FixedLengthBlockOutputStream that + can be used to ensure writing always happens in blocks of a + given size. + Issue: COMPRESS-405. Thanks to Simon Spero. +o It is now possible to specify/read custom PAX headers when + writing/reading tar archives. + Issue: COMPRESS-400. Thanks to Simon Spero. + +Fixed Bugs: +o Make sure "version needed to extract" in local file header and + central directory of a ZIP archive agree with each other. + Also ensure the version is set to 2.0 if DEFLATE is used. + Issue: COMPRESS-394. +o Don't use a data descriptor in ZIP archives when copying a raw + entry that already knows its size and CRC information. + Issue: COMPRESS-395. +o Travis build redundantly repeats compilation and tests redundantly + GitHub Pull Request #43. Thanks to Simon Spero. + Issue: COMPRESS-413 +o The MANIFEST of 1.14 lacks an OSGi Import-Package for XZ for + Java. + Issue: COMPRESS-396. +o BUILDING.md now passes the RAT check. + Issue: COMPRESS-406. Thanks to Simon Spero. +o Made sure ChecksumCalculatingInputStream receives valid + checksum and input stream instances via the constructor. + Issue: COMPRESS-412. Thanks to Michael Hausegger. +o TarArchiveOutputStream now verifies the block and record sizes + specified at construction time are compatible with the tar + specification. In particular 512 is the only record size + accepted and the block size must be a multiple of 512. + Issue: COMPRESS-407. Thanks to Simon Spero. +o Fixed class names of CpioArchiveEntry and + CpioArchiveInputStream in various Javadocs. + Issue: COMPRESS-415. +o The code of the extended timestamp zip extra field incorrectly + assumed the time was stored as unsigned 32-bit int and thus + created incorrect results for years after 2037. + Issue: COMPRESS-416. Thanks to Simon Spero. +o Removed ZipEncoding code that became obsolete when we started + to require Java 5 as baseline long ago. + Issue: COMPRESS-410. Thanks to Simon Spero. +o The tar package will no longer try to parse the major and + minor device numbers unless the entry represents a character + or block special file. + Issue: COMPRESS-417. +o When reading tar headers with name fields containing embedded + NULs, the name will now be terminated at the first NUL byte. + Issue: COMPRESS-421. Thanks to Roel Spilker. +o Simplified TarArchiveOutputStream by replacing the internal + buffering with new class FixedLengthBlockOutputStream. + Issue: COMPRESS-409. + +Release 1.14 +------------ + +New features: +o Added write support for Snappy. + Issue: COMPRESS-246. +o Added support for LZ4 (block and frame format). + Issue: COMPRESS-271. +o Add static detect(InputStream in) to CompressorStreamFactory + and ArchiveStreamFactory + Issue: COMPRESS-385. +o Added a way to limit amount of memory ZCompressorStream may + use. + Issue: COMPRESS-382. Thanks to Tim Allison. +o Added a way to limit amount of memory ZCompressorStream may + use. + Issue: COMPRESS-386. Thanks to Tim Allison. +o Added a way to limit amount of memory LZMACompressorStream and + XZCompressorInputStream may use. + Issue: COMPRESS-382. Thanks to Tim Allison. +o Add Brotli decoder based on the Google Brotli library. + Issue: COMPRESS-392. Thanks to Philippe Mouawad. +o ZipEntry now exposes its data offset. + Issue: COMPRESS-390. Thanks to Zbynek Vyskovsky. +o Using ZipArchiveEntry's setAlignment it is now possible to + ensure the data offset of an entry starts at a file position + that at word or page boundaries. + A new extra field has been added for this purpose. + Issue: COMPRESS-391. Thanks to Zbynek Vyskovsky. + +Fixed Bugs: +o SnappyCompressorInputStream slides the window too early + leading to ArrayIndexOutOfBoundsExceptions for some streams. + Issue: COMPRESS-378. +o ZipArchiveEntry#isUnixSymlink now only returns true if the + corresponding link flag is the only file-type flag set. + Issue: COMPRESS-379. Thanks to Guillaume Boué. +o Fixed an integer overflow in CPIO's CRC calculation. + Pull Request #17. Thanks to Daniel Collin. +o Make unit tests work on Windows paths with spaces in their names. + Issue: COMPRESS-387. +o Internal location pointer in ZipFile could get incremented + even if nothing had been read. + Issue: COMPRESS-389. +o LZMACompressorOutputStream#flush would throw an exception + rather than be the NOP it promised to be. + Issue: COMPRESS-393. + +Changes: +o The blocksize for FramedSnappyCompressorInputStream can now be + configured as some IWA files seem to be using blocks larger + than the default 32k. + Issue: COMPRESS-358. +o BZip2CompressorInputstream now uses BitInputStream internally. + Pull Request #13. Thanks to Thomas Meyer. +o Improved performance for concurrent reads from ZipFile when + reading from a file. + Issue: COMPRESS-388. Thanks to Zbynek Vyskovsky. + +Release 1.13 +------------ + +Commons Compress 1.13 is the first version to require Java 7 at +runtime. + +Changes in this version include: + +New features: +o SevenZFile, SevenZOutputFile, ZipFile and + ZipArchiveOutputStream can now work on non-file resources if + they can be accessed via SeekableByteChannel. + Issue: COMPRESS-327. +o Allow compressor extensions through a standard JRE ServiceLoader. + Issue: COMPRESS-368. +o Allow archive extensions through a standard JRE ServiceLoader. + Issue: COMPRESS-369. +o Add write support for the legacy LZMA format, this requires XZ + for Java 1.6. + Issue: COMPRESS-373. +o Add write support for the legacy LZMA stream to 7z, this + requires XZ for Java 1.6. + Issue: COMPRESS-374. +o Allow the clients of ParallelScatterZipCreator to provide + ZipArchiveEntryRequestSupplier. + Issue: COMPRESS-375. Thanks to Plamen Totev. +o Add a version-independent link to the API docs of the latest + release. + Issue: COMPRESS-372. + +Fixed Bugs: +o BitInputStream could return bad results when overflowing + internally - if two consecutive reads tried to read more than + 64 bits. + Issue: COMPRESS-363. +o ZipArchiveInputStream.closeEntry does not properly advance to + next entry if there are junk bytes at end of data section. + Issue: COMPRESS-364. Thanks to Mike Mole. +o ZipArchiveInputStream now throws an Exception if it encounters + a broken ZIP archive rather than signaling end-of-archive. + Issue: COMPRESS-367. Thanks to Mike Mole. +o ScatterZipOutputStream didn't close the StreamCompressor + causing a potential resource leak. + Issue: COMPRESS-377. + +Changes: +o Update Java requirement from 6 to 7. + Issue: COMPRESS-360. +o Clarified which TarArchiveEntry methods are useless for + entries read from an archive. + Issue: COMPRESS-366. + +Release 1.12 +------------ + +Commons Compress 1.12 is the first version to require Java 6 at +runtime. + +Release 1.12 changes the behavior of BZip2CompressorOutputStream's +finalize method so that it no longer invokes finish. This is going to +break code that relied on the finalizer to clean up an unfinished +stream. The code will need to be changed to call finish or close +itself. Note that a finalizer is not guaranteed to run, so the feature +was not 100% effective in any case. + +New features: + +o FramedSnappyCompressorInputStream now supports the dialect of + Snappy used by the IWA files contained within the zip archives + used in Apple's iWork 13 files. + Issue: COMPRESS-352. + +Fixed Bugs: + +o SevenZFile.read() throws an IllegalStateException for empty entries. + Issue: COMPRESS-348. +o TarArchiveInputStream failed to parse PAX headers that included + blank lines. + Issue: COMPRESS-355. Thanks to Jeremy Gustie. +o TarArchiveInputStream failed to parse PAX headers whose tar entry + name ended with a slash. + Issue: COMPRESS-356. Thanks to Jeremy Gustie. + +Changes: +o Update requirement from Java 5 to 6. + Issue: COMPRESS-349. +o TarArchiveEntry wastefully allocates empty arrays. + Issue: COMPRESS-350. +o Javadoc for BZip2CompressorInputStream(InputStream, boolean) should + refer to IOEx, not NPE. + Issue: COMPRESS-353. +o PureJavaCrc32C in the snappy package is now final so it is now safe + to call a virtual method inside the constructor. + Issue: COMPRESS-354. + +o ZipArchiveInputStream and CpioArchiveInputStream could throw + exceptions who's messages contained potentially corrupt entry names + read from a broken archive. They will now sanitize the names by + replacing unprintable characters and restricting the length to 255 + characters. + Issue: COMPRESS-351. +o BZip2CompressorOutputStream no longer tries to finish the output + stream in finalize. This is a breaking change for code that relied + on the finalizer. + Issue: COMPRESS-357. + + +Release 1.11 +------------ + +New features: +o TarArchiveInputStream now supports reading global PAX headers. + Issue: COMPRESS-347. +o The PAX headers for sparse entries written by star are now + applied. + Issue: COMPRESS-346. +o GNU sparse files using one of the PAX formats are now + detected, but cannot be extracted. + Issue: COMPRESS-345. +o New method SevenZFile.getEntries can be used to list the + contents of a 7z archive. + Issue: COMPRESS-341. +o When using Zip64Mode.Always also use ZIP64 extensions inside + the central directory. + GitHub Pull Request #10 Thanks to Matt Hovey. +o ZipFile.getRawInputStream() is now part of the public API + Issue: COMPRESS-323. +o Allow byte-for-byte replication of Zip entries. + GitHub Pull Request #6. Thanks to Jason van Zyl. +o TarArchiveEntry's preserveLeadingSlashes is now a property and used + on later calls to setName, too. + This behavior is a breaking change. + Issue: COMPRESS-328. +o Added read-only support for bzip2 compression used inside of + ZIP archives. + GitHub Pull Request #4. Thanks to Sören Glimm. + +Fixed Bugs: +o ArArchiveInputStream can now read GNU extended names that are + terminated with a NUL byte rather than a linefeed. + Issue: COMPRESS-344. +o Native Memory Leak in Sevenz-DeflateDecoder. + Issue: COMPRESS-343. Thanks to Rene Preissel. +o SevenZFile will now only try to drain an entry's content when + moving on to the next entry if data is read from the next + entry. This should improve performance for applications that + try to skip over entries. + Issue: COMPRESS-340. Thanks to Dawid Weiss. +o file names of tar archives using the xstar format are now + parsed properly. + Issue: COMPRESS-336. +o checksums of tars that pad the checksum field to the left are + now calculated properly. + Issue: COMPRESS-335. +o ArArchiveInputStream failed to read past the first entry when + BSD long names have been used. + Issue: COMPRESS-334. Thanks to Jeremy Gustie. +o Added buffering for random access which speeds up 7Z support. + Issue: COMPRESS-333. Thanks to Dawid Weiss. +o The checksum validation of TararchiveEntry is now as strict as + the validation of GNU tar, which eliminates a few cases of + false positives of ArchiveStreamFactory. + This behavior is a breaking change since the check has become + more strict but any archive that fails the checksum test now + would also fail it when extracted with other tools and must be + considered an invalid archive. + Issue: COMPRESS-331. +o SnappyCompressorInputStream and + FramedSnappyCompressorInputStream returned 0 at the end of the + stream under certain circumstances. + Issue: COMPRESS-332. +o Adjusted unit test to updates in Java8 and later that change + the logic of ZipEntry#getTime. + Issue: COMPRESS-326. +o TarArchiveOutputStream will now recognize GNU long name and + link entries even if the special entry has a different name + than GNU tar uses itself. This seems to be the case for + archives created by star. + Issue: COMPRESS-324. +o ArrayIndexOutOfBoundsException when InfoZIP type 7875 extra + fields are read from the central directory. + Issue: COMPRESS-321. + +Release 1.10 +------------ + +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. + +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 Apache Commons Compress, including instructions +on how to submit bug reports, patches, or suggestions for improvement, +see the Apache Commons Compress website: + +https://commons.apache.org/compress/ + +Old Release Notes +================= + +Release 1.9 +----------- + +New features: +o Added support for DEFLATE streams without any gzip framing. + Issue: COMPRESS-263. + Thanks to Matthias Stevens. + +Fixed Bugs: +o When reading 7z files unknown file properties and properties of type + kDummy are now ignored. + Issue: COMPRESS-287. +o Expanding 7z archives using LZMA compression could cause an + EOFException. + Issue: COMPRESS-286. +o Long-Name and -link or PAX-header entries in TAR archives always had + the current time as last modfication time, creating archives that + are different at the byte level each time an archive was built. + Issue: COMPRESS-289. + Thanks to Bob Robertson. + +Changes: +o Checking for XZ for Java may be expensive. The result will now be + cached outside of an OSGi environment. You can use the new + XZUtils#setCacheXZAvailability to overrride this default behavior. + Issue: COMPRESS-285. + +Release 1.8.1 +------------- + +New features: +o COMPRESS-272: CompressorStreamFactory can now auto-detect Unix compress + (".Z") streams. + +Fixed Bugs: +o COMPRESS-270: The snappy, ar and tar inputstreams might fail to read from a + non-buffered stream in certain cases. +o COMPRESS-277: IOUtils#skip might skip fewer bytes than requested even though + more could be read from the stream. +o COMPRESS-276: ArchiveStreams now validate there is a current entry before + reading or writing entry data. +o ArjArchiveInputStream#canReadEntryData tested the current + entry of the stream rather than its argument. +o COMPRESS-274: ChangeSet#delete and deleteDir now properly deal with unnamed + entries. +o COMPRESS-273: Added a few null checks to improve robustness. +o COMPRESS-278: TarArchiveInputStream failed to read archives with empty + gid/uid fields. +o COMPRESS-279: TarArchiveInputStream now again throws an exception when it + encounters a truncated archive while reading from the last + entry. +o COMPRESS-280: Adapted TarArchiveInputStream#skip to the modified + IOUtils#skip method. Thanks to BELUGA BEHR. + +Changes: +o The dependency on org.tukaani:xz is now marked as optional. + +Release 1.8 +----------- + +New features: +o GzipCompressorInputStream now provides access to the same + metadata that can be provided via GzipParameters when writing + a gzip stream. + Issue: COMPRESS-260. +o SevenZOutputFile now supports chaining multiple + compression/encryption/filter methods and passing options to + the methods. + Issue: COMPRESS-266. +o The (compression) method(s) can now be specified per entry in + SevenZOutputFile. + Issue: COMPRESS-261. +o SevenZArchiveEntry "knows" which method(s) have been used to + write it to the archive. + Issue: COMPRESS-258. +o The 7z package now supports the delta filter as method. +o The 7z package now supports BCJ filters for several platforms. + You will need a version >= 1.5 of XZ for Java to read archives + using BCJ, though. + Issue: COMPRESS-257. + +Fixed Bugs: +o BZip2CompressorInputStream read fewer bytes than possible from + a truncated stream. + Issue: COMPRESS-253. +o SevenZFile failed claiming the dictionary was too large when + archives used LZMA compression for headers and content and + certain non-default dictionary sizes. + Issue: COMPRESS-253. +o CompressorStreamFactory.createCompressorInputStream with + explicit compression did not honor decompressConcatenated + Issue: COMPRESS-259. +o TarArchiveInputStream will now read archives created by tar + implementations that encode big numbers by not adding a + trailing NUL. + Issue: COMPRESS-262. +o ZipArchiveInputStream would return NUL bytes for the first 512 + bytes of a STORED entry if it was the very first entry of the + archive. + Issue: COMPRESS-264. +o When writing PAX/POSIX headers for TAR entries with + backslashes or certain non-ASCII characters in their name + TarArchiveOutputStream could fail. + Issue: COMPRESS-265. +o ArchiveStreamFactory now throws a StreamingNotSupported - a + new subclass of ArchiveException - if it is asked to read from + or write to a stream and Commons Compress doesn't support + streaming for the format. This currently only applies to the + 7z format. + Issue: COMPRESS-267. + +Release 1.7 +----------- + +New features: +o Read-Only support for Snappy compression. + Issue: COMPRESS-147. Thanks to BELUGA BEHR. +o Read-Only support for .Z compressed files. + Issue: COMPRESS-243. Thanks to Damjan Jovanovic. +o ZipFile and ZipArchiveInputStream now support reading entries + compressed using the SHRINKING method. Thanks to Damjan Jovanovic. +o GzipCompressorOutputStream now supports setting the compression + level and the header metadata (filename, comment, modification time, + operating system and extra flags) + Issue: COMPRESS-250. Thanks to Emmanuel Bourg. +o ZipFile and ZipArchiveInputStream now support reading entries + compressed using the IMPLODE method. + Issue: COMPRESS-115. Thanks to Emmanuel Bourg. +o ZipFile and the 7z file classes now implement Closeable and can be + used in try-with-resources constructs. + +Fixed Bugs: +o SevenZOutputFile#closeArchiveEntry throws an exception when using + LZMA2 compression on Java8. Issue: COMPRESS-241. +o 7z reading of big 64bit values could be wrong. + Issue: COMPRESS-244. Thanks to Nico Kruber. +o TarArchiveInputStream could fail to read an archive completely. + Issue: COMPRESS-245. +o The time-setters in X5455_ExtendedTimestamp now set the + corresponding flags explicitly - i.e. they set the bit if the valus + is not-null and reset it otherwise. This may cause + incompatibilities if you use setFlags to unset a bit and later set + the time to a non-null value - the flag will now be set. + Issue: COMPRESS-242. +o SevenZOutputFile would create invalid archives if more than six + empty files or directories were included. Issue: COMPRESS-252. + +Release 1.6 +----------- + +Version 1.6 introduces changes to the internal API of the tar package that +break backwards compatibility in the following rare cases. This version +removes the package private TarBuffer class along with the protected "buffer" +members in TarArchiveInputStream and TarArchiveOutputStream. This change will +only affect you if you have created a subclass of one of the stream classes +and accessed the buffer member or directly used the TarBuffer class. + +Changes in this version include: + +New features: +o Added support for 7z archives. Most compression algorithms + can be read and written, LZMA and encryption are only + supported when reading. Issue: COMPRESS-54. Thanks to Damjan Jovanovic. +o Added read-only support for ARJ archives that don't use + compression. Issue: COMPRESS-226. Thanks to Damjan Jovanovic. +o DumpArchiveInputStream now supports an encoding parameter that + can be used to specify the encoding of file names. +o The CPIO streams now support an encoding parameter that can be + used to specify the encoding of file names. +o Read-only support for LZMA standalone compression has been added. + Issue: COMPRESS-111. + +Fixed Bugs: +o TarBuffer.tryToConsumeSecondEOFRecord could throw a + NullPointerException Issue: COMPRESS-223. Thanks to Jeremy Gustie. +o Parsing of zip64 extra fields has become more lenient in order + to be able to read archives created by DotNetZip and maybe + other archivers as well. Issue: COMPRESS-228. +o TAR will now properly read the names of symbolic links with + long names that use the GNU variant to specify the long file + name. Issue: COMPRESS-229. Thanks to Christoph Gysin. +o ZipFile#getInputStream could return null if the archive + contained duplicate entries. + The class now also provides two new methods to obtain all + entries of a given name rather than just the first one. + Issue: COMPRESS-227. +o CpioArchiveInputStream failed to read archives created by + Redline RPM. Issue: COMPRESS-236. Thanks to Andrew Duffy. +o TarArchiveOutputStream now properly handles link names that + are too long to fit into a traditional TAR header. Issue: + COMPRESS-237. Thanks to Emmanuel Bourg. +o The auto-detecting create*InputStream methods of Archive and + CompressorStreamFactory could fail to detect the format of + blocking input streams. Issue: COMPRESS-239. + +Changes: +o Readabilty patch to TarArchiveInputStream. Issue: + COMPRESS-232. Thanks to BELUGA BEHR. +o Performance improvements to TarArchiveInputStream, in + particular to the skip method. Issue: COMPRESS-234. Thanks to + BELUGA BEHR. + +Release 1.5 +----------- + +New features: + +o CompressorStreamFactory has an option to create decompressing + streams that decompress the full input for formats that support + multiple concatenated streams. + Issue: COMPRESS-220. + +Fixed Bugs: + +o Typo in CompressorStreamFactory Javadoc + Issue: COMPRESS-218. + Thanks to Gili. +o ArchiveStreamFactory's tar stream detection created false positives + for AIFF files. + Issue: COMPRESS-191. + Thanks to Jukka Zitting. +o XZ for Java didn't provide an OSGi bundle. Compress' dependency on + it has now been marked optional so Compress itself can still be used + in an OSGi context. + Issue: COMPRESS-199. + Thanks to Jukka Zitting. +o When specifying the encoding explicitly TarArchiveOutputStream would + write unreadable names in GNU mode or even cause errors in POSIX + mode for file names longer than 66 characters. + Issue: COMPRESS-200. + Thanks to Christian Schlichtherle. +o Writing TAR PAX headers failed if the generated entry name ended + with a "/". + Issue: COMPRESS-203. +o ZipArchiveInputStream sometimes failed to provide input to the + Inflater when it needed it, leading to reads returning 0. + Issue: COMPRESS-189. + Thanks to Daniel Lowe. +o TarArchiveInputStream ignored the encoding for GNU long name + entries. + Issue: COMPRESS-212. +o TarArchiveInputStream could leave the second EOF record inside the + stream it had just finished reading. + Issue: COMPRESS-206. + Thanks to Peter De Maeyer. +o DumpArchiveInputStream no longer implicitly closes the original + input stream when it reaches the end of the archive. +o ZipArchiveInputStream now consumes the remainder of the archive when + getNextZipEntry returns null. +o Unit tests could fail if the source tree was checked out to a + directory tree containign spaces. + Issue: COMPRESS-205. + Thanks to Daniel Lowe. +o Fixed a potential ArrayIndexOutOfBoundsException when reading STORED + entries from ZipArchiveInputStream. + Issue: COMPRESS-219. +o CompressorStreamFactory can now be used without XZ for Java being + available. + Issue: COMPRESS-221. + +Changes: + +o Improved exception message if a zip archive cannot be read because + of an unsupported compression method. + Issue: COMPRESS-188. + Thanks to Harald Kuhn. +o ArchiveStreamFactory has a setting for file name encoding that sets + up encoding for ZIP and TAR streams. + Issue: COMPRESS-192. + Thanks to Jukka Zitting. +o TarArchiveEntry now has a method to verify its checksum. + Issue: COMPRESS-191. + Thanks to Jukka Zitting. +o Split/spanned ZIP archives are now properly detected by + ArchiveStreamFactory but will cause an + UnsupportedZipFeatureException when read. +o ZipArchiveInputStream now reads archives that start with a "PK00" + signature. Archives with this signatures are created when the + archiver was willing to split the archive but in the end only needed + a single segment - so didn't split anything. + Issue: COMPRESS-208. +o TarArchiveEntry has a new constructor that allows setting linkFlag + and preserveLeadingSlashes at the same time. + Issue: COMPRESS-201. +o ChangeSetPerformer has a new perform overload that uses a ZipFile + instance as input. + Issue: COMPRESS-159. +o Garbage collection pressure has been reduced by reusing temporary + byte arrays in classes. + Issue: COMPRESS-172. + Thanks to Thomas Mair. +o Can now handle zip extra field 0x5455 - Extended Timestamp. + Issue: COMPRESS-210. + Thanks to Julius Davies. +o handle zip extra field 0x7875 - Info Zip New Unix Extra Field. + Issue: COMPRESS-211. + Thanks to Julius Davies. +o ZipShort, ZipLong, ZipEightByteInteger should implement Serializable + Issue: COMPRESS-213. + Thanks to Julius Davies. +o better support for unix symlinks in ZipFile entries. + Issue: COMPRESS-214. + Thanks to Julius Davies. +o ZipFile's initialization has been improved for non-Zip64 archives. + Issue: COMPRESS-215. + Thanks to Robin Power. +o Updated XZ for Java dependency to 1.2 as this version provides + proper OSGi manifest attributes. + +Release 1.4.1 +------------- + +This is a security bugfix release, see +https://commons.apache.org/proper/commons-compress/security.html#Fixed_in_Apache_Commons_Compress_1.4.1 + +Fixed Bugs: + +o Ported libbzip2's fallback sort algorithm to + BZip2CompressorOutputStream to speed up compression in certain + edge cases. + +Release 1.4 +----------- + +New features: +o COMPRESS-156: Support for the XZ format has been added. + +Fixed Bugs: +o COMPRESS-183: The tar package now allows the encoding of file names to be + specified and can optionally use PAX extension headers to + write non-ASCII file names. + The stream classes now write (or expect to read) archives that + use the platform's native encoding for file names. Apache + Commons Compress 1.3 used to strip everything but the lower + eight bits of each character which effectively only worked for + ASCII and ISO-8859-1 file names. + This new default behavior is a breaking change. +o COMPRESS-184: TarArchiveInputStream failed to parse PAX headers that + contained non-ASCII characters. +o COMPRESS-178: TarArchiveInputStream throws IllegalArgumentException instead of IOException +o COMPRESS-179: TarUtils.formatLongOctalOrBinaryBytes() assumes the field will be 12 bytes long +o COMPRESS-175: GNU Tar sometimes uses binary encoding for UID and GID +o COMPRESS-171: ArchiveStreamFactory.createArchiveInputStream would claim + short text files were TAR archives. +o COMPRESS-164: ZipFile didn't work properly for archives using unicode extra + fields rather than UTF-8 filenames and the EFS-Flag. +o COMPRESS-169: For corrupt archives ZipFile would throw a RuntimeException in + some cases and an IOException in others. It will now + consistently throw an IOException. + +Changes: +o COMPRESS-182: The tar package can now write archives that use star/GNU/BSD + extensions or use the POSIX/PAX variant to store numeric + values that don't fit into the traditional header fields. +o COMPRESS-181: Added a workaround for a Bug some tar implementations that add + a NUL byte as first byte in numeric header fields. +o COMPRESS-176: Added a workaround for a Bug in WinZIP which uses backslashes + as path separators in Unicode Extra Fields. +o COMPRESS-131: ArrayOutOfBounds while decompressing bz2. Added test case - code already seems to have been fixed. +o COMPRESS-146: BZip2CompressorInputStream now optionally supports reading of + concatenated .bz2 files. +o COMPRESS-154: GZipCompressorInputStream now optionally supports reading of + concatenated .gz files. +o COMPRESS-16: The tar package can now read archives that use star/GNU/BSD + extensions for files that are longer than 8 GByte as well as + archives that use the POSIX/PAX variant. +o COMPRESS-165: The tar package can now write archives that use star/GNU/BSD + extensions for files that are longer than 8 GByte as well as + archives that use the POSIX/PAX variant. +o COMPRESS-166: The tar package can now use the POSIX/PAX variant for writing + entries with names longer than 100 characters. + +Release 1.3 +----------- + +Commons Compress 1.3 is the first version to require Java5 at runtime. + +Changes in this version include: + +New features: +o Support for the Pack200 format has been added. Issue: COMPRESS-142. +o Read-only support for the format used by the Unix dump(8) tool + has been added. Issue: COMPRESS-132. + +Fixed Bugs: +o BZip2CompressorInputStream's getBytesRead method always + returned 0. +o ZipArchiveInputStream and ZipArchiveOutputStream could leak + resources on some JDKs. Issue: COMPRESS-152. +o TarArchiveOutputStream's getBytesWritten method didn't count + correctly. Issue: COMPRESS-160. + +Changes: +o The ZIP package now supports Zip64 extensions. Issue: COMPRESS-36. +o The AR package now supports the BSD dialect of storing file + names longer than 16 chars (both reading and writing). + Issue: COMPRESS-144. + +Release 1.2 +----------- + +New features: +o COMPRESS-123: ZipArchiveEntry has a new method getRawName that provides the + original bytes that made up the name. This may allow user + code to detect the encoding. +o COMPRESS-122: TarArchiveEntry provides access to the flags that determine + whether it is an archived symbolic link, pipe or other + "uncommon" file system object. + +Fixed Bugs: +o COMPRESS-129: ZipArchiveInputStream could fail with a "Truncated ZIP" error + message for entries between 2 GByte and 4 GByte in size. +o COMPRESS-145: TarArchiveInputStream now detects sparse entries using the + oldgnu format and properly reports it cannot extract their + contents. +o COMPRESS-130: The Javadoc for ZipArchiveInputStream#skip now matches the + implementation, the code has been made more defensive. +o COMPRESS-140: ArArchiveInputStream fails if entries contain only blanks for + userId or groupId. Thanks to Trejkaz. +o COMPRESS-139: ZipFile may leak resources on some JDKs. +o COMPRESS-125: BZip2CompressorInputStream throws IOException if + underlying stream returns available() == 0. + Removed the check. +o COMPRESS-127: Calling close() on inputStream returned by + CompressorStreamFactory.createCompressorInputStream() + does not close the underlying input stream. +o COMPRESS-119: TarArchiveOutputStream#finish now writes all buffered + data to the stream + +Changes: +o ZipFile now implements finalize which closes the underlying + file. +o COMPRESS-117: Certain tar files not recognised by + ArchiveStreamFactory. + +Release 1.1 +----------- + +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-72: Move acknowledgements from NOTICE to README +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. + Propchange: dev/commons/compress/RELEASE-NOTES.txt ------------------------------------------------------------------------------ svn:eol-style = native Added: dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz ============================================================================== Binary file - no diff available. Propchange: dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.asc ============================================================================== --- dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.asc (added) +++ dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.asc Sat Aug 24 16:21:06 2019 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHEEABEKADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCXWFijBMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4ty1h0AoJY/CQ46mxttWBTBoeO/qQk+IFGlAKDD +DqttV5ufvjtNRW2eiDvtRBBsFg== +=MxAp +-----END PGP SIGNATURE----- Added: dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.sha512 ============================================================================== --- dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.sha512 (added) +++ dev/commons/compress/binaries/commons-compress-1.19-bin.tar.gz.sha512 Sat Aug 24 16:21:06 2019 @@ -0,0 +1 @@ +494750d0d1aa16fab3d9456f2ab211b52b4a1fd87cb536355f8302d9b937559127a1a953ad39bf3c295be48f37a4a3e126136383f9af29a999b5d806f01cae33 commons-compress-1.19-bin.tar.gz Added: dev/commons/compress/binaries/commons-compress-1.19-bin.zip ============================================================================== Binary file - no diff available. Propchange: dev/commons/compress/binaries/commons-compress-1.19-bin.zip ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/compress/binaries/commons-compress-1.19-bin.zip.asc ============================================================================== --- dev/commons/compress/binaries/commons-compress-1.19-bin.zip.asc (added) +++ dev/commons/compress/binaries/commons-compress-1.19-bin.zip.asc Sat Aug 24 16:21:06 2019 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHEEABEKADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCXWFijBMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyEysAoLpQ8VADDSMs830KYVyhhP+mx7RWAKCz +tpsxkWR2F0pmAt9u2SzcjjnPuQ== +=FElr +-----END PGP SIGNATURE----- Added: dev/commons/compress/binaries/commons-compress-1.19-bin.zip.sha512 ============================================================================== --- dev/commons/compress/binaries/commons-compress-1.19-bin.zip.sha512 (added) +++ dev/commons/compress/binaries/commons-compress-1.19-bin.zip.sha512 Sat Aug 24 16:21:06 2019 @@ -0,0 +1 @@ +a4f60a4b22deba325c45addf35c18e2610ebd25a291049372bd9fa8ce3745e07f56ce8b8b5f3d40fa0ac42c342deee4717be92c409d5881b39c834d2dd41adec commons-compress-1.19-bin.zip Added: dev/commons/compress/source/commons-compress-1.19-src.tar.gz ============================================================================== Binary file - no diff available. Propchange: dev/commons/compress/source/commons-compress-1.19-src.tar.gz ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/compress/source/commons-compress-1.19-src.tar.gz.asc ============================================================================== --- dev/commons/compress/source/commons-compress-1.19-src.tar.gz.asc (added) +++ dev/commons/compress/source/commons-compress-1.19-src.tar.gz.asc Sat Aug 24 16:21:06 2019 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHEEABEKADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCXWFijBMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyNIkAn2gKkMs8N+T5giVT746EDm9sR8ypAKCe +9VpPXdbYTImJ4SYaSH+CUUOIYA== +=vNiG +-----END PGP SIGNATURE----- Added: dev/commons/compress/source/commons-compress-1.19-src.tar.gz.sha512 ============================================================================== --- dev/commons/compress/source/commons-compress-1.19-src.tar.gz.sha512 (added) +++ dev/commons/compress/source/commons-compress-1.19-src.tar.gz.sha512 Sat Aug 24 16:21:06 2019 @@ -0,0 +1 @@ +9c3c1152ea7419a2e5c398a1d9becfcb807708ed9dccda94e2c19666269d4d2d89c14fb329484a4668b002d3d2c02ca6cd3012b3144f7221c6969201a96c0c8f commons-compress-1.19-src.tar.gz Added: dev/commons/compress/source/commons-compress-1.19-src.zip ============================================================================== Binary file - no diff available. Propchange: dev/commons/compress/source/commons-compress-1.19-src.zip ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: dev/commons/compress/source/commons-compress-1.19-src.zip.asc ============================================================================== --- dev/commons/compress/source/commons-compress-1.19-src.zip.asc (added) +++ dev/commons/compress/source/commons-compress-1.19-src.zip.asc Sat Aug 24 16:21:06 2019 @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHEEABEKADEWIQTOgHWiUVR77iSbwVGiEVrhX2uLcgUCXWFijBMcYm9kZXdpZ0Bh +cGFjaGUub3JnAAoJEKIRWuFfa4tyMVcAoNYcy4746dAan3h7Ux3NWty77PNEAJ4/ +xBYzaGHAqIXuyepsdH2AQvXYMg== +=YZ7b +-----END PGP SIGNATURE----- Added: dev/commons/compress/source/commons-compress-1.19-src.zip.sha512 ============================================================================== --- dev/commons/compress/source/commons-compress-1.19-src.zip.sha512 (added) +++ dev/commons/compress/source/commons-compress-1.19-src.zip.sha512 Sat Aug 24 16:21:06 2019 @@ -0,0 +1 @@ +4c59a67bb3d329a56b37dd644093d7dfd4f283c1f12c5907d0263921c3cb660ac9168f432d0102f86e69d56eafdd2b493662ee05403df40936dc689aaa4656c7 commons-compress-1.19-src.zip