aboutsummaryrefslogtreecommitdiff
path: root/src/changes/changes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'src/changes/changes.xml')
-rw-r--r--src/changes/changes.xml1468
1 files changed, 1468 insertions, 0 deletions
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
new file mode 100644
index 000000000..77be50af3
--- /dev/null
+++ b/src/changes/changes.xml
@@ -0,0 +1,1468 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<!--
+This file is also used by the maven-changes-plugin to generate the release notes.
+Useful ways of finding items to add to this file are:
+
+1. Add items when you fix a bug or add a feature (this makes the
+release process easy :-).
+
+2. Do a JIRA search for tickets closed since the previous release.
+
+3. Use the report generated by the maven-changelog-plugin to see all
+SVN commits. TBA how to use this with SVN.
+
+To generate the release notes from this file:
+
+mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=m.n]
+
+The <action> type attribute can be add,update,fix,remove.
+-->
+
+<document>
+ <properties>
+ <title>commons-compress</title>
+ </properties>
+ <body>
+ <release version="1.19" date="not released, yet"
+ description="Release 1.19">
+ <action type="fix" date="2018-09-07">
+ ZipArchiveInputStream could forget the compression level has
+ changed under certain circumstances.
+ </action>
+ </release>
+ <release version="1.18" date="2018-08-16"
+ description="Release 1.18">
+ <action type="fix" date="2018-06-15" due-to="DidierLoiseau">
+ 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.
+ </action>
+ <action issue="COMPRESS-456" type="fix" date="2018-06-19">
+ Changed the OSGi Import-Package to also optionally import
+ javax.crypto so encrypted archives can be read.
+ </action>
+ <action issue="COMPRESS-457" type="fix" date="2018-07-01">
+ 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.
+ </action>
+ <action issue="COMPRESS-455" type="fix" date="2018-07-01">
+ ZipArchiveInputStream can now detect the APK Signing Block
+ used in signed Android APK files and treats it as an "end of
+ archive" marker.
+ </action>
+ <action issue="COMPRESS-459" type="fix" date="2018-07-11"
+ due-to="Jens Reimann">
+ The cpio streams didn't handle archives using a multi-byte
+ encoding properly.
+ </action>
+ <action issue="COMPRESS-460" type="add" date="2018-07-28"
+ due-to="Carmi Grushko">
+ It is now possible to specify the arguments of zstd-jni's
+ ZstdOutputStream constructors via Commons Compress as well.
+ </action>
+ <action issue="COMPRESS-463" type="fix" date="2018-08-09">
+ ZipArchiveInputStream#read would silently return -1 on a
+ corrupted stored entry and even return > 0 after hitting the
+ end of the archive.
+ </action>
+ <action issue="COMPRESS-462" type="fix" date="2018-08-10">
+ ArArchiveInputStream#read would allow to read from the stream
+ without opening an entry at all.
+ </action>
+ </release>
+ <release version="1.17" date="2018-06-03"
+ description="Release 1.17">
+ <action type="fix" date="2018-02-06">
+ Removed the objenesis dependency from the pom as it is not
+ needed at all.
+ </action>
+ <action issue="COMPRESS-446" type="fix" date="2018-03-29">
+ Fixed resource leak in ParallelScatterZipCreator#writeTo.
+ </action>
+ <action type="update" date="2018-04-01" due-to="Marchenko Sergey">
+ Fixed some code examples.
+ Github Pull Request #63.
+ </action>
+ <action issue="COMPRESS-447" type="fix" date="2018-04-22">
+ Certain errors when parsing ZIP extra fields in corrupt
+ archives are now turned into ZipException, they used to
+ manifest as ArrayIndexOutOfBoundsException before.
+ </action>
+ <action issue="COMPRESS-445" type="update" date="2018-04-22"
+ due-to="Andreas Beeker">
+ 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.
+ </action>
+ <action issue="COMPRESS-443" type="add" date="2018-04-25">
+ Added a unit test that is supposed to fail if we break the
+ OSGi manifest entries again.
+ </action>
+ <action issue="COMPRESS-449" type="add" date="2018-05-02">
+ Add a new SkipShieldingInputStream class that can be used with
+ streams that throw an IOException when skip is invoked.
+ </action>
+ <action issue="COMPRESS-451" type="fix" date="2018-05-04">
+ IOUtils.copy now verifies the buffer size is bigger than 0.
+ </action>
+ <action issue="COMPRESS-452" type="add" date="2018-05-09">
+ 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.
+ </action>
+ <action issue="COMPRESS-453" type="update" date="2018-05-24">
+ Added a workaround for a bug in AdoptOpenJDK for S/390 to
+ BZip2CompressorInputStream.
+ </action>
+ <action issue="COMPRESS-454" type="fix" date="2018-05-30">
+ ZipArchiveInputStream failed to read some files with stored
+ entries using a data descriptor.
+ </action>
+ </release>
+ <release version="1.16.1" date="2018-02-10"
+ description="Release 1.16.1">
+ <action issue="COMPRESS-442" type="fix" date="2018-02-06">
+ Fixed the OSGi manifest entry for imports that has been broken
+ in 1.16.
+ </action>
+ </release>
+ <release version="1.16" date="2018-02-05"
+ description="Release 1.16">
+ <action issue="COMPRESS-423" type="add" date="2017-10-17"
+ due-to="Andre F de Miranda">
+ Add read-only support for Zstandard compression based on the
+ Zstd-jni project.
+ </action>
+ <action issue="COMPRESS-425" type="add" date="2017-10-22">
+ Added auto-detection for Zstandard compressed streams.
+ </action>
+ <action issue="COMPRESS-430" type="fix" date="2017-11-25"
+ due-to="Bruno P. Kinoshita">
+ Synchronized iteration over a synchronizedList in ParallelScatterZipCreator.
+ </action>
+ <action issue="COMPRESS-432" type="fix" date="2017-12-22">
+ ZipFile could get stuck in an infinite loop when parsing ZIP
+ archives with certain strong encryption headers.
+ </action>
+ <action issue="COMPRESS-435" type="update" date="2017-12-27"
+ due-to="BELUGA BEHR">
+ Replaces instanceof checks with a type marker in LZ77 support code.
+ </action>
+ <action issue="COMPRESS-426" type="add" date="2017-12-28">
+ Added write-support for Zstandard compression.
+ </action>
+ <action issue="COMPRESS-424" type="fix" date="2017-12-30">
+ Added improved checks to detect corrupted bzip2 streams and
+ throw the expected IOException rather than obscure
+ RuntimeExceptions.
+ </action>
+ <action type="update" date="2018-01-04">
+ Updated XZ for Java dependency to 1.8 in order to pick up bug
+ fix to LZMA2InputStream's available method.
+ </action>
+ <action type="update" date="2018-01-05" issue="COMPRESS-429"
+ due-to="Damiano Albani">
+ ZipArchiveEntry now exposes how the name or comment have been
+ determined when the entry was read.
+ </action>
+ <action issue="COMPRESS-380" type="add" date="2018-01-09"
+ due-to="Christian Marquez Grabia">
+ Added read-only DEFLATE64 support to ZIP archives and as
+ stand-alone CompressorInputStream.
+ </action>
+ <action issue="COMPRESS-438" type="update" date="2018-01-10">
+ ZipFile.getInputStream will now always buffer the stream
+ internally in order to improve read performance.
+ </action>
+ <action issue="COMPRESS-440" type="update" date="2018-01-12"
+ due-to="Dawid Weiss">
+ Speed improvement for DEFLATE64 decompression.
+ </action>
+ <action issue="COMPRESS-437" type="add" date="2018-01-13">
+ Added read-only DEFLATE64 support to 7z archives.
+ </action>
+ <action issue="COMPRESS-436" type="update" date="2018-01-14">
+ Added a few extra sanity checks for the rarer compression
+ methods used in ZIP archives.
+ </action>
+ <action issue="COMPRESS-441" type="update" date="2018-01-14">
+ Simplified the special handling for the dummy byte required by
+ zlib when using java.util.zip.Inflater.
+ </action>
+ <action type="update" date="2018-01-18" due-to="Shahab Kondri">
+ Various code cleanups.
+ Github Pull Request #61.
+ </action>
+ <action type="update" date="2018-01-29">
+ TarArchiveEntry's preserveLeadingSlashes constructor argument
+ has been renamed and can now also be used to preserve the
+ drive letter on Windows.
+ </action>
+ </release>
+ <release version="1.15" date="2017-10-17"
+ description="Release 1.15
+----------------------------------------
+
+TarArchiveOutputStream now ensures record size is 512 and block size is
+a multiple of 512 as any other value would create invalid tar
+archives. This may break compatibility for code that deliberately
+wanted to create such files.">
+ <action issue="COMPRESS-394" type="fix" date="2017-05-22">
+ 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.
+ </action>
+ <action issue="COMPRESS-395" type="fix" date="2017-05-22">
+ Don't use a data descriptor in ZIP archives when copying a raw
+ entry that already knows its size and CRC information.
+ </action>
+ <action issue="COMPRESS-413" type="fix" date="2017-05-22" due-to="Simon Spero">
+ Travis build redundantly repeats compilation and tests redundantly #43.
+ </action>
+ <action issue="COMPRESS-397" type="add" date="2017-05-22">
+ 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.
+ </action>
+ <action issue="COMPRESS-396" type="fix" date="2017-05-23">
+ The MANIFEST of 1.14 lacks an OSGi Import-Package for XZ for
+ Java.
+ </action>
+ <action issue="COMPRESS-406" type="fix" date="2017-06-12"
+ due-to="Simon Spero">
+ BUILDING.md now passes the RAT check.
+ </action>
+ <action issue="COMPRESS-405" type="add" date="2017-06-15"
+ due-to="Simon Spero ">
+ Added a new utility class FixedLengthBlockOutputStream that
+ can be used to ensure writing always happens in blocks of a
+ given size.
+ </action>
+ <action issue="COMPRESS-412" type="fix" date="2017-06-17"
+ due-to="Michael Hausegger">
+ Made sure ChecksumCalculatingInputStream receives valid
+ checksum and input stream instances via the constructor.
+ </action>
+ <action issue="COMPRESS-407" type="fix" date="2017-06-24"
+ due-to="Simon Spero ">
+ 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.
+ At the same time the default block size in
+ TarArchiveOutputStream has been changed from 10240 to 512
+ bytes.
+ </action>
+ <action issue="COMPRESS-400" type="add" date="2017-06-26"
+ due-to="Simon Spero ">
+ It is now possible to specify/read custom PAX headers when
+ writing/reading tar archives.
+ </action>
+ <action issue="COMPRESS-415" type="fix" date="2017-06-27">
+ Fixed class names of CpioArchiveEntry and
+ CpioArchiveInputStream in various Javadocs.
+ </action>
+ <action issue="COMPRESS-416" type="fix" date="2017-07-04"
+ due-to="Simon Spero ">
+ 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.
+ </action>
+ <action issue="COMPRESS-410" type="fix" date="2017-07-05"
+ due-to="Simon Spero ">
+ Removed ZipEncoding code that became obsolete when we started
+ to require Java 5 as baseline long ago.
+ </action>
+ <action issue="COMPRESS-417" type="fix" date="2017-07-19">
+ 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.
+ </action>
+ <action issue="COMPRESS-421" type="fix" date="2017-10-06"
+ due-to="Roel Spilker">
+ When reading tar headers with name fields containing embedded
+ NULs, the name will now be terminated at the first NUL byte.
+ </action>
+ <action issue="COMPRESS-409" type="fix" date="2017-10-08">
+ Simplified TarArchiveOutputStream by replacing the internal
+ buffering with new class FixedLengthBlockOutputStream.
+ </action>
+ </release>
+ <release version="1.14" date="2017-05-14"
+ description="Release 1.14">
+ <action issue="COMPRESS-378" type="fix" date="2017-01-09">
+ SnappyCompressorInputStream slides the window too early
+ leading to ArrayIndexOutOfBoundsExceptions for some streams.
+ </action>
+ <action issue="COMPRESS-246" type="add" date="2017-01-10">
+ Added write support for Snappy.
+ </action>
+ <action issue="COMPRESS-358" type="update" date="2017-01-10">
+ The blocksize for FramedSnappyCompressorInputStream can now be
+ configured as some IWA files seem to be using blocks larger
+ than the default 32k.
+ </action>
+ <action issue="COMPRESS-379" type="fix" date="2017-01-15"
+ due-to="Guillaume Boué">
+ ZipArchiveEntry#isUnixSymlink now only returns true if the
+ corresponding link flag is the only file-type flag set.
+ </action>
+ <action issue="COMPRESS-271" type="add" date="2017-02-07">
+ Added support for LZ4 (block and frame format).
+ </action>
+ <action type="update" date="2017-02-15" due-to="Thomas Meyer">
+ BZip2CompressorInputstream now uses BitInputStream internally.
+ Pull Request #13.
+ </action>
+ <action type="fix" date="2017-03-29" due-to="Daniel Collin">
+ Fixed an integer overflow in CPIO's CRC calculation.
+ Pull Request #17.
+ </action>
+ <action issue="COMPRESS-385" type="add" date="2017-04-18">
+ Add static detect(InputStream in) to CompressorStreamFactory
+ and ArchiveStreamFactory
+ </action>
+ <action issue="COMPRESS-387" type="fix" date="2017-04-18">
+ Make unit tests work on Windows paths with spaces in their names.
+ </action>
+ <action issue="COMPRESS-388" type="update" date="2017-04-25"
+ due-to="Zbynek Vyskovsky">
+ Improved performance for concurrent reads from ZipFile when
+ reading from a file.
+ </action>
+ <action issue="COMPRESS-382" type="add" date="2017-04-25"
+ due-to="Tim Allison">
+ Added a way to limit amount of memory ZCompressorStream may
+ use.
+ </action>
+ <action issue="COMPRESS-386" type="add" date="2017-04-25"
+ due-to="Tim Allison">
+ Added a way to limit amount of memory ZCompressorStream may
+ use.
+ </action>
+ <action issue="COMPRESS-382" type="add" date="2017-04-25"
+ due-to="Tim Allison">
+ Added a way to limit amount of memory LZMACompressorStream and
+ XZCompressorInputStream may use.
+ </action>
+ <action issue="COMPRESS-389" type="fix" date="2017-04-26">
+ Internal location pointer in ZipFile could get incremented
+ even if nothing had been read.
+ </action>
+ <action issue="COMPRESS-392" type="add" date="2017-05-02" due-to="Philippe Mouawad">
+ Add Brotli decoder based on the Google Brotli library.
+ </action>
+ <action issue="COMPRESS-390" type="add" date="2017-05-04"
+ due-to="Zbynek Vyskovsky">
+ ZipEntry now exposes its data offset.
+ </action>
+ <action issue="COMPRESS-393" type="fix" date="2017-05-07">
+ LZMACompressorOutputStream#flush would throw an exception
+ rather than be the NOP it promised to be.
+ </action>
+ <action issue="COMPRESS-391" type="add" date="2017-05-11"
+ due-to="Zbynek Vyskovsky">
+ 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.
+ </action>
+ </release>
+ <release version="1.13" date="2016-12-29"
+ description="Release 1.13 - API compatible to 1.12 but requires Java 7 at runtime.">
+ <action issue="COMPRESS-360" type="update" date="2016-06-25" dev="ggregory">
+ Update Java requirement from 6 to 7.
+ </action>
+ <action issue="COMPRESS-363" type="fix" date="2016-07-01">
+ BitInputStream could return bad results when overflowing
+ internally - if two consecutive reads tried to read more than
+ 64 bits.
+ </action>
+ <action issue="COMPRESS-366" type="update" date="2016-10-07">
+ Clarified which TarArchiveEntry methods are useless for
+ entries read from an archive.
+ </action>
+ <action issue="COMPRESS-364" type="fix" date="2016-10-07"
+ due-to="Mike Mole">
+ ZipArchiveInputStream.closeEntry does not properly advance to
+ next entry if there are junk bytes at end of data section
+ </action>
+ <action issue="COMPRESS-327" type="add" date="2016-10-12">
+ SevenZFile, SevenZOutputFile, ZipFile and
+ ZipArchiveOutputStream can now work on non-file resources if
+ they can be accessed via SeekableByteChannel.
+ </action>
+ <action issue="COMPRESS-368" type="add" date="2016-11-15">
+ Allow compressor extensions through a standard JRE ServiceLoader.
+ </action>
+ <action issue="COMPRESS-369" type="add" date="2016-11-15">
+ Allow archive extensions through a standard JRE ServiceLoader.
+ </action>
+ <action issue="COMPRESS-373" type="add" date="2016-11-29">
+ Add write support for the legacy LZMA format, this requires XZ
+ for Java 1.6.
+ </action>
+ <action issue="COMPRESS-374" type="add" date="2016-11-29">
+ Add write support for the legacy LZMA stream to 7z, this
+ requires XZ for Java 1.6.
+ </action>
+ <action issue="COMPRESS-375" type="add" date="2016-12-04"
+ due-to="Plamen Totev">
+ Allow the clients of ParallelScatterZipCreator to provide
+ ZipArchiveEntryRequestSupplier.
+ </action>
+ <action issue="COMPRESS-367" type="fix" date="2016-12-09"
+ due-to="Mike Mole">
+ ZipArchiveInputStream now throws an Exception if it encounters
+ a broken ZIP archive rather than signaling end-of-archive.
+ </action>
+ <action issue="COMPRESS-377" type="fix" date="2016-12-20">
+ ScatterZipOutputStream didn't close the StreamCompressor
+ causing a potential resource leak.
+ </action>
+ <action issue="COMPRESS-372" type="add" date="2016-12-20">
+ Add a version-independent link to the API docs of the latest
+ release.
+ </action>
+ </release>
+ <release version="1.12" date="2016-06-21"
+ description="Release 1.12 - API compatible to 1.11 but requires 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.
+">
+ <action issue="COMPRESS-349" type="update" date="2016-04-09" dev="ggregory">
+ Update requirement from Java 5 to 6.
+ </action>
+ <action issue="COMPRESS-350" type="update" date="2016-04-09" dev="ggregory">
+ TarArchiveEntry wastefully allocates empty arrays.
+ </action>
+ <action issue="COMPRESS-348" type="fix" date="2016-04-24">
+ SevenZFile.read() throws an IllegalStateException for empty entries.
+ </action>
+ <action issue="COMPRESS-353" type="update" date="2016-05-06" dev="ggregory">
+ Javadoc for BZip2CompressorInputStream(InputStream, boolean) should refer to IOEx, not NPE.
+ </action>
+ <action issue="COMPRESS-354" type="update" date="2016-05-16">
+ PureJavaCrc32C in the snappy package is now final so it is now
+ safe to call a virtual method inside the constructor.
+ </action>
+ <action issue="COMPRESS-355" type="fix" date="2016-05-20"
+ due-to="Jeremy Gustie">
+ TarArchiveInputStream failed to parse PAX headers that
+ included blank lines.
+ </action>
+ <action issue="COMPRESS-356" type="fix" date="2016-05-20"
+ due-to="Jeremy Gustie">
+ TarArchiveInputStream failed to parse PAX headers whose tar
+ entry name ended with a slash.
+ </action>
+ <action issue="COMPRESS-352" type="add" date="2016-05-22">
+ FramedSnappyCompressorInputStream now supports the dialect of
+ Snappy used by the IWA files contained within the zip archives
+ used in Apple's iWork 13 files.
+ </action>
+ <action issue="COMPRESS-351" type="update" date="2016-06-07">
+ 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.
+ </action>
+ <action issue="COMPRESS-357" type="update" date="2016-06-15">
+ BZip2CompressorOutputStream no longer tries to finish the
+ output stream in finalize. This is a breaking change for code
+ that relied on the finalizer.
+ </action>
+ </release>
+ <release version="1.11" date="2016-04-06"
+ description="Release 1.11">
+ <action issue="COMPRESS-347" type="add" date="2016-03-23">
+ TarArchiveInputStream now supports reading global PAX headers.
+ </action>
+ <action issue="COMPRESS-346" type="add" date="2016-03-23">
+ The PAX headers for sparse entries written by star are now
+ applied.
+ </action>
+ <action issue="COMPRESS-345" type="add" date="2016-03-23">
+ GNU sparse files using one of the PAX formats are now
+ detected, but cannot be extracted.
+ </action>
+ <action issue="COMPRESS-344" type="fix" date="2016-03-22">
+ ArArchiveInputStream can now read GNU extended names that are
+ terminated with a NUL byte rather than a linefeed.
+ </action>
+ <action issue="COMPRESS-341" type="add" date="2016-03-20">
+ New method SevenZFile.getEntries can be used to list the
+ contents of a 7z archive.
+ </action>
+ <action issue="COMPRESS-343" type="fix" date="2016-03-17"
+ due-to="Rene Preissel">
+ Native Memory Leak in Sevenz-DeflateDecoder.
+ </action>
+ <action type="add" date="2016-03-05"
+ due-to="Matt Hovey">
+ When using Zip64Mode.Always also use ZIP64 extensions inside
+ the central directory.
+ GitHub Pull Request #10
+ </action>
+ <action issue="COMPRESS-340" type="fix" date="2016-02-24"
+ due-to="Dawid Weiss">
+ 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.
+ </action>
+ <action issue="COMPRESS-336" type="fix" date="2016-02-14">
+ file names of tar archives using the xstar format are now
+ parsed properly.
+ </action>
+ <action issue="COMPRESS-335" type="fix" date="2016-02-05">
+ checksums of tars that pad the checksum field to the left are
+ now calculated properly.
+ </action>
+ <action issue="COMPRESS-334" type="fix" date="2016-02-05"
+ due-to="Jeremy Gustie">
+ ArArchiveInputStream failed to read past the first entry when
+ BSD long names have been used.
+ </action>
+ <action issue="COMPRESS-333" type="fix" date="2016-02-03" due-to="Dawid Weiss">
+ Added buffering for random access which speeds up 7Z support.
+ </action>
+ <action issue="COMPRESS-331" type="fix" date="2016-01-31">
+ 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.
+ </action>
+ <action issue="COMPRESS-323" type="add" date="2016-01-29">
+ ZipFile.getRawInputStream() is now part of the public API
+ </action>
+ <action issue="COMPRESS-332" type="fix" date="2016-01-29">
+ SnappyCompressorInputStream and
+ FramedSnappyCompressorInputStream returned 0 at the end of the
+ stream under certain circumstances.
+ </action>
+ <action type="add" date="2016-01-27" due-to="Jason van Zyl">
+ Allow byte-for-byte replication of Zip entries.
+ GitHub Pull Request #6.
+ </action>
+ <action issue="COMPRESS-328" type="add" date="2016-01-15">
+ TarArchiveEntry's preserveLeadingSlashes is now a property and used
+ on later calls to setName, too.
+ This behavior is a breaking change.
+ </action>
+ <action issue="COMPRESS-326" type="fix" date="2015-10-24">
+ Adjusted unit test to updates in Java8 and later that change
+ the logic of ZipEntry#getTime.
+ </action>
+ <action issue="COMPRESS-324" type="fix" date="2015-10-06">
+ 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.
+ </action>
+ <action issue="COMPRESS-321" type="fix" date="2015-08-22">
+ ArrayIndexOutOfBoundsException when InfoZIP type 7875 extra
+ fields are read from the central directory.
+ </action>
+ <action type="add" date="2015-11-11" due-to="Sören Glimm">
+ Added read-only support for bzip2 compression used inside of
+ ZIP archives.
+ GitHub Pull Request #4.
+ </action>
+ </release>
+
+ <release version="1.10" date="2015-08-18"
+ description="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.
+">
+
+ <action issue="COMPRESS-317" type="fix" date="2015-06-09"
+ due-to="Lucas Werkmeister">
+ ArrayIndexOutOfBoundsException when ZIP extra fields are read
+ and the entry contains an UnparseableExtraField.
+ </action>
+ <action issue="COMPRESS-316" type="add" date="2015-05-23"
+ due-to="Nick Burch">
+ CompressorStreamFactory can now auto-detect DEFLATE streams
+ with ZLIB header.
+ </action>
+ <action issue="COMPRESS-314" type="fix" date="2015-05-08">
+ TarArchiveInputStream can now read entries with group or
+ user ids &gt; 0x80000000.
+ </action>
+ <action issue="COMPRESS-315" type="fix" date="2015-05-06">
+ TarArchiveOutputStream can now write entries with group or
+ user ids &gt; 0x80000000.
+ </action>
+ <action issue="COMPRESS-313" type="add" date="2015-03-30">
+ CompressorStreamFactory can now auto-detect LZMA streams.
+ </action>
+ <action issue="COMPRESS-312" type="fix" date="2015-03-28">
+ TarArchiveEntry's constructor with a File and a String arg
+ didn't normalize the name.
+ </action>
+ <action issue="COMPRESS-308" type="fix" date="2015-02-20">
+ ZipEncodingHelper no longer reads system properties directly
+ to determine the default charset.
+ </action>
+ <action issue="COMPRESS-309" type="fix" date="2015-02-20">
+ BZip2CompressorInputStream#read would return -1 when asked to
+ read 0 bytes.
+ </action>
+ <action issue="COMPRESS-306" type="fix" date="2015-02-17">
+ ArchiveStreamFactory fails to pass on the encoding when creating some streams.
+ * ArjArchiveInputStream
+ * CpioArchiveInputStream
+ * DumpArchiveInputStream
+ * JarArchiveInputStream
+ * TarArchiveInputStream
+ * JarArchiveOutputStream
+ </action>
+ <action issue="COMPRESS-302" type="fix" date="2015-02-16">
+ Restore immutability/thread-safety to ArchiveStreamFactory.
+ The class is now immutable provided that the method setEntryEncoding is not used.
+ The class is thread-safe.
+ </action>
+ <action issue="COMPRESS-303" type="fix" date="2015-02-16">
+ Restore immutability/thread-safety to CompressorStreamFactory.
+ The class is now immutable provided that the method setDecompressConcatenated is not used.
+ The class is thread-safe.
+ </action>
+ <action issue="COMPRESS-298" type="fix" date="2015-01-20">
+ SevenZFile now throws the specific PasswordRequiredException
+ when it encounters an encrypted stream but no password has
+ been specified.
+ </action>
+ <action issue="COMPRESS-290" type="fix" date="2015-01-13"
+ due-to="Kristian Rosenvold">
+ Improved error message when tar encounters a groupId that is
+ too big to write without using the STAR or POSIX format.
+ </action>
+ <action issue="COMPRESS-296" type="add" date="2015-01-10"
+ due-to="Kristian Rosenvold">
+ 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.
+ </action>
+ <action type="add" date="2014-12-24"
+ due-to="Kristian Rosenvold">
+ 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.
+ </action>
+ <action issue="COMPRESS-297" type="fix" date="2014-12-22">
+ 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.
+ </action>
+ <action issue="COMPRESS-295" type="add" date="2014-12-18"
+ due-to="Kristian Rosenvold">
+ New methods in ZipArchiveOutputStream and ZipFile allows
+ entries to be copied from one archive to another without
+ having to re-compress them.
+ </action>
+ <action type="update" date="2014-10-28"
+ due-to="Damjan Jovanovic">
+ 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.
+ </action>
+ </release>
+
+ <release version="1.9" date="2014-10-09"
+ description="Release 1.9">
+ <action type="add" date="2014-06-14" issue="COMPRESS-263"
+ due-to="Matthias Stevens">
+ Added support for DEFLATE streams without any gzip framing.
+ </action>
+ <action type="fix" date="2014-08-14" issue="COMPRESS-287">
+ When reading 7z files unknown file properties and properties
+ of type kDummy are now ignored.
+ </action>
+ <action type="fix" date="2014-08-21" issue="COMPRESS-286">
+ Expanding 7z archives using LZMA compression could cause an
+ EOFException.
+ </action>
+ <action type="update" date="2014-08-31" issue="COMPRESS-285">
+ 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.
+ </action>
+ <action type="fix" date="2014-09-19" issue="COMPRESS-289"
+ due-to="Bob Robertson">
+ 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.
+ </action>
+ </release>
+
+ <release version="1.8.1" date="2014-05-14"
+ description="Release 1.8.1">
+ <action type="update" date="2014-03-19">
+ The dependency on org.tukaani:xz is now marked as optional.
+ </action>
+ <action type="fix" date="2014-03-28" issue="COMPRESS-270">
+ The snappy, ar and tar inputstreams might fail to read from a
+ non-buffered stream in certain cases.
+ </action>
+ <action type="add" date="2014-04-12" issue="COMPRESS-272">
+ CompressorStreamFactory can now auto-detect Unix compress
+ (".Z") streams.
+ </action>
+ <action type="fix" date="2014-04-12" issue="COMPRESS-277">
+ IOUtils#skip might skip fewer bytes than requested even though
+ more could be read from the stream.
+ </action>
+ <action type="fix" date="2014-04-13" issue="COMPRESS-276">
+ ArchiveStreams now validate there is a current entry before
+ reading or writing entry data.
+ </action>
+ <action type="fix" date="2014-04-13">
+ ArjArchiveInputStream#canReadEntryData tested the current
+ entry of the stream rather than its argument.
+ </action>
+ <action type="fix" date="2014-04-13" issue="COMPRESS-274">
+ ChangeSet#delete and deleteDir now properly deal with unnamed
+ entries.
+ </action>
+ <action type="fix" date="2014-04-18" issue="COMPRESS-273">
+ Added a few null checks to improve robustness.
+ </action>
+ <action type="fix" date="2014-04-19" issue="COMPRESS-278">
+ TarArchiveInputStream failed to read archives with empty
+ gid/uid fields.
+ </action>
+ <action type="fix" date="2014-04-27" issue="COMPRESS-279">
+ TarArchiveInputStream now again throws an exception when it
+ encounters a truncated archive while reading from the last
+ entry.
+ </action>
+ <action type="fix" date="2014-05-02" issue="COMPRESS-280"
+ due-to="BELUGA BEHR">
+ Adapted TarArchiveInputStream#skip to the modified
+ IOUtils#skip method.
+ </action>
+ </release>
+ <release version="1.8" date="2014-03-12"
+ description="Release 1.8">
+ <action issue="COMPRESS-253" type="fix" date="2014-01-20">
+ BZip2CompressorInputStream read fewer bytes than possible from
+ a truncated stream.
+ </action>
+ <action issue="COMPRESS-253" type="fix" date="2014-01-22">
+ SevenZFile failed claiming the dictionary was too large when
+ archives used LZMA compression for headers and content and
+ certain non-default dictionary sizes.
+ </action>
+ <action issue="COMPRESS-259" type="fix" date="2014-01-24">
+ CompressorStreamFactory.createCompressorInputStream with
+ explicit compression did not honor decompressConcatenated
+ </action>
+ <action issue="COMPRESS-260" type="add" date="2014-02-20">
+ GzipCompressorInputStream now provides access to the same
+ metadata that can be provided via GzipParameters when writing
+ a gzip stream.
+ </action>
+ <action issue="COMPRESS-262" type="fix" date="2014-02-21">
+ TarArchiveInputStream will now read archives created by tar
+ implementations that encode big numbers by not adding a
+ trailing NUL.
+ </action>
+ <action issue="COMPRESS-264" type="fix" date="2014-02-21">
+ ZipArchiveInputStream would return NUL bytes for the first 512
+ bytes of a STORED entry if it was the very first entry of the
+ archive.
+ </action>
+ <action issue="COMPRESS-265" type="fix" date="2014-02-22">
+ When writing PAX/POSIX headers for TAR entries with
+ backslashes or certain non-ASCII characters in their name
+ TarArchiveOutputStream could fail.
+ </action>
+ <action issue="COMPRESS-267" type="fix" date="2014-02-22">
+ 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.
+ </action>
+ <action issue="COMPRESS-266" type="add" date="2014-02-25">
+ SevenZOutputFile now supports chaining multiple
+ compression/encryption/filter methods and passing options to
+ the methods.
+ </action>
+ <action issue="COMPRESS-261" type="add" date="2014-02-26">
+ The (compression) method(s) can now be specified per entry in
+ SevenZOutputFile.
+ </action>
+ <action issue="COMPRESS-258" type="add" date="2014-02-26">
+ SevenZArchiveEntry "knows" which method(s) have been used to
+ write it to the archive.
+ </action>
+ <action type="add" date="2014-02-28">
+ The 7z package now supports the delta filter as method.
+ </action>
+ <action issue="COMPRESS-257" type="add" date="2014-03-03">
+ The 7z package now supports BCJ filters for several platforms.
+ You will need a version &gt;= 1.5 of XZ for Java to read archives
+ using BCJ, though.
+ </action>
+ </release>
+ <release version="1.7" date="2014-01-20"
+ description="Release 1.7">
+ <action issue="COMPRESS-241" type="fix" date="2013-10-27">
+ SevenZOutputFile#closeArchiveEntry throws an exception when
+ using LZMA2 compression on Java8.
+ </action>
+ <action issue="COMPRESS-147" type="add" date="2013-11-07"
+ due-to="BELUGA BEHR">
+ Read-Only support for Snappy compression.
+ </action>
+ <action issue="COMPRESS-244" type="fix" date="2013-11-27"
+ due-to="Nico Kruber">
+ 7z reading of big 64bit values could be wrong.
+ </action>
+ <action issue="COMPRESS-243" type="add" date="2013-11-30"
+ due-to="Damjan Jovanovic">
+ Read-Only support for .Z compressed files.
+ </action>
+ <action type="add" date="2013-12-06" due-to="Damjan Jovanovic">
+ ZipFile and ZipArchiveInputStream now support reading entries compressed using the
+ SHRINKING method.
+ </action>
+ <action issue="COMPRESS-245" type="fix" date="2013-12-06">
+ TarArchiveInputStream could fail to read an archive completely.
+ </action>
+ <action issue="COMPRESS-242" type="fix" date="2013-12-08">
+ 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.
+ </action>
+ <action issue="COMPRESS-250" type="add" date="2013-12-16" due-to="Emmanuel Bourg">
+ GzipCompressorOutputStream now supports setting the compression level and the header metadata
+ (filename, comment, modification time, operating system and extra flags)
+ </action>
+ <action issue="COMPRESS-115" type="add" date="2013-12-19" due-to="Emmanuel Bourg">
+ ZipFile and ZipArchiveInputStream now support reading entries compressed using the IMPLODE method.
+ </action>
+ <action issue="COMPRESS-252" type="fix" date="2013-12-20">
+ SevenZOutputFile would create invalid archives if more than
+ six empty files or directories were included.
+ </action>
+ <action type="add" date="2013-12-20">
+ ZipFile and the 7z file classes now implement Closeable and
+ can be used in try-with-resources constructs.
+ </action>
+ </release>
+ <release version="1.6" date="2013-10-26"
+ description="Release 1.6">
+ <action type="fix" date="2013-04-25" issue="COMPRESS-223"
+ due-to="Jeremy Gustie">
+ TarBuffer.tryToConsumeSecondEOFRecord could throw a
+ NullPointerException
+ </action>
+ <action type="add" date="2013-05-07" issue="COMPRESS-54"
+ due-to="Damjan Jovanovic">
+ Added support for 7z archives. Most compression algorithms
+ can be read and written, LZMA and encryption are only
+ supported when reading.
+ </action>
+ <action type="add" date="2013-05-19" issue="COMPRESS-226"
+ due-to="Damjan Jovanovic">
+ Added read-only support for ARJ archives that don't use
+ compression.
+ </action>
+ <action type="fix" date="2013-05-26" issue="COMPRESS-228">
+ 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.
+ </action>
+ <action type="fix" date="2013-06-03" issue="COMPRESS-229"
+ due-to="Christoph Gysin">
+ TAR will now properly read the names of symbolic links with
+ long names that use the GNU variant to specify the long file
+ name.
+ </action>
+ <action type="fix" date="2013-06-04" issue="COMPRESS-227">
+ 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.
+ </action>
+ <action type="update" date="2013-07-08" issue="COMPRESS-232"
+ due-to="BELUGA BEHR">
+ Readabilty patch to TarArchiveInputStream.
+ </action>
+ <action type="update" date="2013-08-08" issue="COMPRESS-234"
+ due-to="BELUGA BEHR">
+ Performance improvements to TarArchiveInputStream, in
+ particular to the skip method.
+ </action>
+ <action type="fix" date="2013-08-08" issue="COMPRESS-236"
+ due-to="Andrew Duffy">
+ CpioArchiveInputStream failed to read archives created by
+ Redline RPM.
+ </action>
+ <action type="fix" date="2013-08-09" issue="COMPRESS-237"
+ due-to="Emmanuel Bourg">
+ TarArchiveOutputStream now properly handles link names that
+ are too long to fit into a traditional TAR header.
+ </action>
+ <action type="add" date="2013-08-10">
+ DumpArchiveInputStream now supports an encoding parameter that
+ can be used to specify the encoding of file names.
+ </action>
+ <action type="add" date="2013-08-10">
+ The CPIO streams now support an encoding parameter that can be
+ used to specify the encoding of file names.
+ </action>
+ <action type="add" date="2013-09-22" issue="COMPRESS-111">
+ Read-only support for LZMA standalone compression has been added.
+ </action>
+ <action type="fix" date="2013-10-04" issue="COMPRESS-239">
+ The auto-detecting create*InputStream methods of Archive and
+ CompressorStreamFactory could fail to detect the format of
+ blocking input streams.
+ </action>
+ <action type="fix" date="2013-10-21" issue="COMPRESS-240"
+ due-to="Gary Gregory">
+ ZipEncodingHelper.isUTF8(String) does not check all UTF-8 aliases.
+ </action>
+ </release>
+ <release version="1.5" date="2013-03-14"
+ description="Release 1.5">
+ <action type="fix" date="2012-02-19" issue="COMPRESS-218"
+ due-to="Gili">
+ Typo in CompressorStreamFactory Javadoc
+ </action>
+ <action type="update" date="2012-07-08" issue="COMPRESS-188"
+ due-to="Harald Kuhn">
+ Improved exception message if a zip archive cannot be read
+ because of an unsupported compression method.
+ </action>
+ <action type="update" date="2012-07-07" issue="COMPRESS-192"
+ due-to="Jukka Zitting">
+ ArchiveStreamFactory has a setting for file name encoding that
+ sets up encoding for ZIP and TAR streams.
+ </action>
+ <action type="fix" date="2012-07-07" issue="COMPRESS-191"
+ due-to="Jukka Zitting">
+ ArchiveStreamFactory's tar stream detection created false
+ positives for AIFF files.
+ </action>
+ <action type="update" date="2012-07-07" issue="COMPRESS-191"
+ due-to="Jukka Zitting">
+ TarArchiveEntry now has a method to verify its checksum.
+ </action>
+ <action type="fix" date="2012-12-27" issue="COMPRESS-199"
+ due-to="Jukka Zitting">
+ 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.
+ </action>
+ <action type="fix" date="2012-12-27" issue="COMPRESS-200"
+ due-to="Christian Schlichtherle">
+ 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.
+ </action>
+ <action type="fix" date="2012-12-27" issue="COMPRESS-203">
+ Writing TAR PAX headers failed if the generated entry name
+ ended with a "/".
+ </action>
+ <action type="fix" date="2012-12-28" issue="COMPRESS-189"
+ due-to="Daniel Lowe">
+ ZipArchiveInputStream sometimes failed to provide input to the
+ Inflater when it needed it, leading to reads returning 0.
+ </action>
+ <action type="update" date="2013-01-01">
+ Split/spanned ZIP archives are now properly detected by
+ ArchiveStreamFactory but will cause an
+ UnsupportedZipFeatureException when read.
+ </action>
+ <action type="update" date="2013-01-01" issue="COMPRESS-208">
+ 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.
+ </action>
+ <action type="update" date="2013-01-01" issue="COMPRESS-201">
+ TarArchiveEntry has a new constructor that allows setting
+ linkFlag and preserveLeadingSlashes at the same time.
+ </action>
+ <action type="update" date="2013-01-01" issue="COMPRESS-159">
+ ChangeSetPerformer has a new perform overload that uses a
+ ZipFile instance as input.
+ </action>
+ <action type="fix" date="2013-01-04" issue="COMPRESS-212">
+ TarArchiveInputStream ignored the encoding for GNU long name
+ entries.
+ </action>
+ <action type="update" date="2013-01-05" issue="COMPRESS-172"
+ due-to="Thomas Mair">
+ Garbage collection pressure has been reduced by reusing
+ temporary byte arrays in classes.
+ </action>
+ <action type="update" date="2013-01-08" issue="COMPRESS-210"
+ due-to="Julius Davies">
+ Can now handle zip extra field 0x5455 - Extended Timestamp.
+ </action>
+ <action type="update" date="2013-01-07" issue="COMPRESS-211"
+ due-to="Julius Davies">
+ handle zip extra field 0x7875 - Info Zip New Unix Extra Field.
+ </action>
+ <action type="update" date="2013-01-07" issue="COMPRESS-213"
+ due-to="Julius Davies">
+ ZipShort, ZipLong, ZipEightByteInteger should implement Serializable
+ </action>
+ <action type="update" date="2013-01-14" issue="COMPRESS-214"
+ due-to="Julius Davies">
+ better support for unix symlinks in ZipFile entries
+ </action>
+ <action type="update" date="2013-01-19" issue="COMPRESS-215"
+ due-to="Robin Power">
+ ZipFile's initialization has been improved for non-Zip64
+ archives.
+ </action>
+ <action type="fix" date="2013-01-20" issue="COMPRESS-206"
+ due-to="Peter De Maeyer">
+ TarArchiveInputStream could leave the second EOF record
+ inside the stream it had just finished reading.
+ </action>
+ <action type="fix" date="2013-01-20">
+ DumpArchiveInputStream no longer implicitly closes the
+ original input stream when it reaches the end of the
+ archive.
+ </action>
+ <action type="fix" date="2013-01-22">
+ ZipArchiveInputStream now consumes the remainder of the
+ archive when getNextZipEntry returns null.
+ </action>
+ <action type="fix" date="2013-01-27" issue="COMPRESS-205"
+ due-to="Daniel Lowe">
+ Unit tests could fail if the source tree was checked out to
+ a directory tree containign spaces.
+ </action>
+ <action type="update" date="2013-01-31">
+ Updated XZ for Java dependency to 1.2 as this version
+ provides proper OSGi manifest attributes.
+ </action>
+ <action type="fix" date="2013-02-20" issue="COMPRESS-219">
+ Fixed a potential ArrayIndexOutOfBoundsException when
+ reading STORED entries from ZipArchiveInputStream.
+ </action>
+ <action type="fix" date="2013-03-07" issue="COMPRESS-221">
+ CompressorStreamFactory can now be used without XZ for Java
+ being available.
+ </action>
+ <action type="add" date="2013-03-07" issue="COMPRESS-220">
+ CompressorStreamFactory has an option to create
+ decompressing streams that decompress the full input for
+ formats that support multiple concatenated streams.
+ </action>
+ </release>
+ <release version="1.4.1" date="2012-05-23"
+ description="Release 1.4.1">
+ <action type="fix" date="2012-05-20">
+ Ported libbzip2's fallback sort algorithm to
+ BZip2CompressorOutputStream to speed up compression in certain
+ edge cases.
+ Using specially crafted inputs this can be used as a denial
+ of service attack. See the security reports page for details.
+ </action>
+ </release>
+ <release version="1.4" date="2012-04-11"
+ description="Release 1.4">
+ <action issue="COMPRESS-183" type="fix" date="2012-03-24">
+ 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.
+ </action>
+ <action issue="COMPRESS-184" type="fix" date="2012-03-23">
+ TarArchiveInputStream failed to parse PAX headers that
+ contained non-ASCII characters.
+ </action>
+ <action issue="COMPRESS-182" type="update" date="2012-03-02">
+ 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.
+ </action>
+ <action issue="COMPRESS-181" type="update" date="2012-03-02">
+ Added a workaround for a Bug some tar implementations that add
+ a NUL byte as first byte in numeric header fields.
+ </action>
+ <action issue="COMPRESS-176" type="update" date="2012-02-28">
+ Added a workaround for a Bug in WinZIP which uses backslashes
+ as path separators in Unicode Extra Fields.
+ </action>
+ <action issue="COMPRESS-131" type="update" date="2012-02-23">
+ ArrayOutOfBounds while decompressing bz2. Added test case - code already seems to have been fixed.
+ </action>
+ <action issue="COMPRESS-178" type="fix" date="2012-02-23">
+ TarArchiveInputStream throws IllegalArgumentException instead of IOException
+ </action>
+ <action issue="COMPRESS-179" type="fix" date="2012-02-23">
+ TarUtils.formatLongOctalOrBinaryBytes() assumes the field will be 12 bytes long
+ </action>
+ <action issue="COMPRESS-175" type="fix" date="2012-02-22">
+ GNU Tar sometimes uses binary encoding for UID and GID
+ </action>
+ <action issue="COMPRESS-171" type="fix" date="2012-01-29">
+ ArchiveStreamFactory.createArchiveInputStream would claim
+ short text files were TAR archives.
+ </action>
+ <action issue="COMPRESS-156" type="add" date="2011-11-02">
+ Support for the XZ format has been added.
+ </action>
+ <action issue="COMPRESS-146" type="update" date="2011-11-07">
+ BZip2CompressorInputStream now optionally supports reading of
+ concatenated .bz2 files.
+ </action>
+ <action issue="COMPRESS-154" type="update" date="2011-11-09">
+ GZipCompressorInputStream now optionally supports reading of
+ concatenated .gz files.
+ </action>
+ <action issue="COMPRESS-164" type="fix" date="2011-12-05">
+ ZipFile didn't work properly for archives using unicode extra
+ fields rather than UTF-8 filenames and the EFS-Flag.
+ </action>
+ <action issue="COMPRESS-16" type="update" date="2011-12-07">
+ 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.
+ </action>
+ <action issue="COMPRESS-165" type="update" date="2011-12-08">
+ 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.
+ </action>
+ <action issue="COMPRESS-166" type="update" date="2011-12-08">
+ The tar package can now use the POSIX/PAX variant for writing
+ entries with names longer than 100 characters.
+ </action>
+ <action issue="COMPRESS-169" type="fix" date="2011-12-22">
+ For corrupt archives ZipFile would throw a RuntimeException in
+ some cases and an IOException in others. It will now
+ consistently throw an IOException.
+ </action>
+ </release>
+ <release version="1.3" date="2011-11-01"
+ description="Release 1.3 - API compatible to 1.2 but requires Java5 at runtime">
+ <action issue="COMPRESS-142" type="add" date="2011-09-14">
+ Support for the Pack200 format has been added.
+ </action>
+ <action issue="COMPRESS-132" type="add" date="2011-08-17">
+ Read-only support for the format used by the Unix dump(8) tool
+ has been added.
+ </action>
+ <action issue="COMPRESS-36" type="update" date="2011-08-15">
+ The ZIP package now supports Zip64 extensions.
+ </action>
+ <action issue="COMPRESS-144" type="update" date="2011-08-08">
+ The AR package now supports the BSD dialect of storing file
+ names longer than 16 chars (both reading and writing).
+ </action>
+ <action type="fix" date="2011-08-08">
+ BZip2CompressorInputStream's getBytesRead method always
+ returned 0.
+ </action>
+ <action issue="COMPRESS-152" type="fix" date="2011-08-03">
+ ZipArchiveInputStream and ZipArchiveOutputStream could leak
+ resources on some JDKs.
+ </action>
+ <action issue="COMPRESS-160" type="fix" date="2011-10-23">
+ TarArchiveOutputStream's getBytesWritten method didn't count
+ correctly.
+ </action>
+ </release>
+ <release version="1.2" date="2011-07-31"
+ description="Release 1.2 - a bugfix release, the last release expected to be compatible with Java 1.4">
+ <action issue="COMPRESS-129" type="fix" date="2011-07-26">
+ ZipArchiveInputStream could fail with a "Truncated ZIP" error
+ message for entries between 2 GByte and 4 GByte in size.
+ </action>
+ <action issue="COMPRESS-145" type="fix" date="2011-07-23"
+ due-tue="Patrick Dreyer">
+ TarArchiveInputStream now detects sparse entries using the
+ oldgnu format and properly reports it cannot extract their
+ contents.
+ </action>
+ <action issue="COMPRESS-123" type="add" date="2011-07-23">
+ 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.
+ </action>
+ <action issue="COMPRESS-130" type="fix" date="2011-07-20">
+ The Javadoc for ZipArchiveInputStream#skip now matches the
+ implementation, the code has been made more defensive.
+ </action>
+ <action issue="COMPRESS-140" type="fix" date="2011-07-20"
+ due-to="Trejkaz">
+ ArArchiveInputStream fails if entries contain only blanks for
+ userId or groupId.
+ </action>
+ <action issue="COMPRESS-139" type="fix" date="2011-07-13">
+ ZipFile may leak resources on some JDKs.
+ </action>
+ <action type="update" date="2011-04-18">
+ ZipFile now implements finalize which closes the underlying
+ file.
+ </action>
+ <action issue="COMPRESS-117" type="update" date="2011-03-23">
+ Certain tar files not recognised by ArchiveStreamFactory.
+ </action>
+ <action issue="COMPRESS-125" type="fix" date="2011-03-23">
+ BZip2CompressorInputStream throws IOException if underlying stream returns available() == 0.
+ Removed the check.
+ </action>
+ <action issue="COMPRESS-127" type="fix" date="2011-03-23">
+ Calling close() on inputStream returned by CompressorStreamFactory.createCompressorInputStream()
+ does not close the underlying input stream.
+ </action>
+ <action issue="COMPRESS-122" type="add" date="2010-10-29">
+ TarArchiveEntry provides access to the flags that determine
+ whether it is an archived symbolic link, pipe or other
+ "uncommon" file system object.
+ </action>
+ <action issue="COMPRESS-119" type="fix" date="2010-10-26">
+ TarArchiveOutputStream#finish now writes all buffered data to the stream
+ </action>
+ </release>
+ <release version="1.1" date="2010-08-13" description="Release 1.1">
+ <action issue="COMPRESS-72" type="fix" date="2010-06-02">
+ Move acknowledgements from NOTICE to README
+ </action>
+ <action issue="COMPRESS-113" type="fix" date="2010-06-02">
+ TarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size
+ </action>
+ <action issue="COMPRESS-108" type="add" date="2010-05-23">
+ Command-line interface to list archive contents.
+ Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc]
+ </action>
+ <action issue="COMPRESS-118" type="fix" date="2010-05-17">
+ TarUtils.parseName does not properly handle characters outside the range 0-127
+ </action>
+ <action issue="COMPRESS-112" type="update" date="2010-05-13">
+ ArArchiveInputStream does not handle GNU extended filename records (//)
+ </action>
+ <action issue="COMPRESS-109" type="add" date="2010-05-10">
+ Tar implementation does not support Pax headers
+ Added support for reading pax headers.
+ Note: does not support global pax headers
+ </action>
+ <action issue="COMPRESS-107" type="fix" date="2010-05-10">
+ ArchiveStreamFactory does not recognise tar files created by Ant
+ </action>
+ <action issue="COMPRESS-110" type="fix" date="2010-05-09">
+ Support "ustar" prefix field, which is used when file paths are longer
+ than 100 characters.
+ </action>
+ <action type="update" date="2010-04-19" issue="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.
+ </action>
+ <action type="add" date="2010-03-19" issue="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.
+ </action>
+ <action type="fix" date="2010-03-12" issue="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.
+ </action>
+ <action type="fix" date="2010-03-12" issue="COMPRESS-101">
+ ZipArchiveInputStream should now properly read archives that
+ use data descriptors but without the "unofficial" signature.
+ </action>
+ <action type="add" date="2010-03-09" issue="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).
+ </action>
+ <action type="add" date="2010-03-08" issue="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.
+ </action>
+ <action type="add" date="2010-02-19">
+ 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.
+ </action>
+ <action type="add" date="2010-02-19" issue="COMPRESS-89">
+ The ZIP classes now detect encrypted entries.
+ </action>
+ <action type="update" date="2010-02-18" issue="COMPRESS-79">
+ Move DOS/Java time conversions into Zip utility class.
+ </action>
+ <action type="fix" date="2010-02-18" issue="COMPRESS-74">
+ ZipArchiveInputStream failed to update the number of bytes
+ read properly.
+ </action>
+ <action type="fix" date="2010-02-18">
+ 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.
+ </action>
+ <action type="fix" date="2010-02-18" issue="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.
+ </action>
+ <action type="fix" date="2010-02-16" issue="COMPRESS-73">
+ ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now
+ more lenient when parsing extra fields.
+ </action>
+ <action issue="COMPRESS-75" type="update" date="2010-02-12">
+ ZipArchiveInputStream does not show location in file where a problem occurred.
+ </action>
+ <action type="fix" date="2010-02-12" issue="COMPRESS-82">
+ cpio is terribly slow.
+ Documented that buffered streams are needed for performance
+ </action>
+ <action type="add" date="2010-02-12" issue="COMPRESS-97">
+ Added autodetection of compression format to
+ CompressorStreamFactory.
+ </action>
+ <action type="fix" date="2010-02-12">
+ Improved exception message if the extra field data in ZIP
+ archives cannot be parsed.
+ </action>
+ <action type="fix" date="2010-02-11" issue="COMPRESS-17">
+ Tar format unspecified - current support documented.
+ </action>
+ <action type="add" issue="COMPRESS-95" date="2010-01-29"
+ due-to="Joerg Bellmann">
+ Improve ExceptionMessages in ArchiveStreamFactory
+ </action>
+ <action type="fix" issue="COMPRESS-94" date="2010-01-07"
+ due-to="Anon Devs">
+ 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.
+ </action>
+ <action type="fix" issue="COMPRESS-87" date="2009-10-30"
+ due-to="Antoni Mylka">
+ ZipArchiveInputStream could repeatedly return 0 on read() when
+ the archive was truncated.
+ </action>
+ <action type="fix" issue="COMPRESS-86" date="2009-10-08">
+ 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.
+ </action>
+ <action type="add" date="2009-08-25">
+ 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.
+ </action>
+ <action issue="COMPRESS-83" type="fix" date="2009-08-01">
+ Delegate all read and write methods in GZip stream in order to
+ speed up operations.
+ </action>
+ <action type="add" date="2009-08-01">
+ ArchiveEntry now has a getLastModifiedDate method.
+ </action>
+ <action type="fix" date="2009-08-01">
+ The ar and cpio streams now properly read and write last
+ modified times.
+ </action>
+ <action issue="COMPRESS-81" type="fix" date="2009-06-30">
+ TarOutputStream can leave garbage at the end of the archive
+ </action>
+ <action issue="COMPRESS-78" type="add" date="2009-06-30"
+ due-to="Jukka Zitting">
+ Add a BZip2Utils class modelled after GZipUtils
+ </action>
+ </release>
+ <release version="1.0" date="2009-05-21" description="First Public Release">
+ <action dev="all" type="add" date="2009-05-21">
+ Initial release
+ </action>
+ <action dev="sgoeschl" type="fix">
+ Updating the pom.xml for preparing a move to commons-proper
+ </action>
+ </release>
+ </body>
+</document>