You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2019/08/24 16:21:06 UTC
svn commit: r35357 - in /dev/commons/compress: ./ binaries/ source/
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