diff options
Diffstat (limited to 'src/changes/changes.xml')
-rw-r--r-- | src/changes/changes.xml | 1468 |
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 > 0x80000000. + </action> + <action issue="COMPRESS-315" type="fix" date="2015-05-06"> + TarArchiveOutputStream can now write entries with group or + user ids > 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 >= 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> |