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 &lt;<a
+href="https://www.apache.org/dist/commons/KEYS"><samp>https://www.apache.org/dist/commons/KEYS</samp></a>&gt;.</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