| <?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> |