xref: /aosp_15_r20/external/apache-commons-compress/RELEASE-NOTES.txt (revision ba8755cb0ae00084b4d58129cd522613d3299f27)
1*ba8755cbSAndroid Build Coastguard Worker              Apache Commons Compress RELEASE NOTES
2*ba8755cbSAndroid Build Coastguard Worker
3*ba8755cbSAndroid Build Coastguard WorkerApache Commons Compress software defines an API for working with
4*ba8755cbSAndroid Build Coastguard Workercompression and archive formats.  These include: bzip2, gzip, pack200,
5*ba8755cbSAndroid Build Coastguard Workerlzma, xz, Snappy, traditional Unix Compress, DEFLATE, DEFLATE64, LZ4,
6*ba8755cbSAndroid Build Coastguard WorkerBrotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
7*ba8755cbSAndroid Build Coastguard Worker
8*ba8755cbSAndroid Build Coastguard WorkerRelease 1.18
9*ba8755cbSAndroid Build Coastguard Worker------------
10*ba8755cbSAndroid Build Coastguard Worker
11*ba8755cbSAndroid Build Coastguard WorkerNew features:
12*ba8755cbSAndroid Build Coastguard Workero It is now possible to specify the arguments of zstd-jni's
13*ba8755cbSAndroid Build Coastguard Worker  ZstdOutputStream constructors via Commons Compress as well.
14*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-460.
15*ba8755cbSAndroid Build Coastguard Worker  Thanks to Carmi Grushko.
16*ba8755cbSAndroid Build Coastguard Worker
17*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
18*ba8755cbSAndroid Build Coastguard Workero The example Expander class has been vulnerable to a path
19*ba8755cbSAndroid Build Coastguard Worker  traversal in the edge case that happens when the target
20*ba8755cbSAndroid Build Coastguard Worker  directory has a sibling directory and the name of the target
21*ba8755cbSAndroid Build Coastguard Worker  directory is a prefix of the sibling directory's name.
22*ba8755cbSAndroid Build Coastguard Worker  Thanks to Didier Loiseau.
23*ba8755cbSAndroid Build Coastguard Workero Changed the OSGi Import-Package to also optionally import
24*ba8755cbSAndroid Build Coastguard Worker  javax.crypto so encrypted archives can be read.
25*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-456.
26*ba8755cbSAndroid Build Coastguard Workero Changed various implementations of the close method to better
27*ba8755cbSAndroid Build Coastguard Worker  ensure all held resources get closed even if exceptions are
28*ba8755cbSAndroid Build Coastguard Worker  thrown during the closing the stream.
29*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-457.
30*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream can now detect the APK Signing Block
31*ba8755cbSAndroid Build Coastguard Worker  used in signed Android APK files and treats it as an "end of
32*ba8755cbSAndroid Build Coastguard Worker  archive" marker.
33*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-455.
34*ba8755cbSAndroid Build Coastguard Workero The cpio streams didn't handle archives using a multi-byte
35*ba8755cbSAndroid Build Coastguard Worker  encoding properly.
36*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-459.
37*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jens Reimann.
38*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream#read would silently return -1 on a
39*ba8755cbSAndroid Build Coastguard Worker  corrupted stored entry and even return > 0 after hitting the
40*ba8755cbSAndroid Build Coastguard Worker  end of the archive.
41*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-463.
42*ba8755cbSAndroid Build Coastguard Workero ArArchiveInputStream#read would allow to read from the stream
43*ba8755cbSAndroid Build Coastguard Worker  without opening an entry at all.
44*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-462.
45*ba8755cbSAndroid Build Coastguard Worker
46*ba8755cbSAndroid Build Coastguard WorkerRelease 1.17
47*ba8755cbSAndroid Build Coastguard Worker------------
48*ba8755cbSAndroid Build Coastguard Worker
49*ba8755cbSAndroid Build Coastguard WorkerNew features:
50*ba8755cbSAndroid Build Coastguard Workero Added a unit test that is supposed to fail if we break the
51*ba8755cbSAndroid Build Coastguard Worker  OSGi manifest entries again.
52*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-443.
53*ba8755cbSAndroid Build Coastguard Workero Add a new SkipShieldingInputStream class that can be used with
54*ba8755cbSAndroid Build Coastguard Worker  streams that throw an IOException when skip is invoked.
55*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-449.
56*ba8755cbSAndroid Build Coastguard Workero New constructors have been added to SevenZFile that accept
57*ba8755cbSAndroid Build Coastguard Worker  char[]s rather than byte[]s in order to avoid a common error
58*ba8755cbSAndroid Build Coastguard Worker  of using the wrong encoding when creating the byte[].  This
59*ba8755cbSAndroid Build Coastguard Worker  change may break source compatibility for client code that
60*ba8755cbSAndroid Build Coastguard Worker  uses one of the constructors expecting a password and passes
61*ba8755cbSAndroid Build Coastguard Worker  in null as password. We recommend to change the code to use a
62*ba8755cbSAndroid Build Coastguard Worker  constructor without password argument.
63*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-452.
64*ba8755cbSAndroid Build Coastguard Worker
65*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
66*ba8755cbSAndroid Build Coastguard Workero Removed the objenesis dependency from the pom as it is not
67*ba8755cbSAndroid Build Coastguard Worker  needed at all.
68*ba8755cbSAndroid Build Coastguard Workero Fixed resource leak in ParallelScatterZipCreator#writeTo.
69*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-446.
70*ba8755cbSAndroid Build Coastguard Workero Certain errors when parsing ZIP extra fields in corrupt
71*ba8755cbSAndroid Build Coastguard Worker  archives are now turned into ZipException, they used to
72*ba8755cbSAndroid Build Coastguard Worker  manifest as ArrayIndexOutOfBoundsException before.
73*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-447.
74*ba8755cbSAndroid Build Coastguard Workero IOUtils.copy now verifies the buffer size is bigger than 0.
75*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-451.
76*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream failed to read some files with stored
77*ba8755cbSAndroid Build Coastguard Worker  entries using a data descriptor.
78*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-454.
79*ba8755cbSAndroid Build Coastguard Worker
80*ba8755cbSAndroid Build Coastguard WorkerChanges:
81*ba8755cbSAndroid Build Coastguard Workero Fixed some code examples.
82*ba8755cbSAndroid Build Coastguard Worker  Github Pull Request #63.
83*ba8755cbSAndroid Build Coastguard Worker  Thanks to Marchenko Sergey.
84*ba8755cbSAndroid Build Coastguard Workero The streams returned by ZipFile and most other decompressing
85*ba8755cbSAndroid Build Coastguard Worker  streams now provide information about the number of compressed
86*ba8755cbSAndroid Build Coastguard Worker  and uncompressed bytes read so far. This may be used to detect
87*ba8755cbSAndroid Build Coastguard Worker  a ZipBomb if the compression ratio exceeds a certain
88*ba8755cbSAndroid Build Coastguard Worker  threshold, for example.
89*ba8755cbSAndroid Build Coastguard Worker  For SevenZFile a new method returns the statistics for the
90*ba8755cbSAndroid Build Coastguard Worker  current entry.
91*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-445.
92*ba8755cbSAndroid Build Coastguard Worker  Thanks to Andreas Beeker.
93*ba8755cbSAndroid Build Coastguard Workero Added a workaround for a bug in AdoptOpenJDK for S/390 to
94*ba8755cbSAndroid Build Coastguard Worker  BZip2CompressorInputStream.
95*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-453.
96*ba8755cbSAndroid Build Coastguard Worker
97*ba8755cbSAndroid Build Coastguard WorkerRelease 1.16.1
98*ba8755cbSAndroid Build Coastguard Worker--------------
99*ba8755cbSAndroid Build Coastguard Worker
100*ba8755cbSAndroid Build Coastguard WorkerFixed Bug:
101*ba8755cbSAndroid Build Coastguard Workero Fixed the OSGi manifest entry for imports that has been broken
102*ba8755cbSAndroid Build Coastguard Worker  in 1.16.
103*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-442.
104*ba8755cbSAndroid Build Coastguard Worker
105*ba8755cbSAndroid Build Coastguard WorkerRelease 1.16
106*ba8755cbSAndroid Build Coastguard Worker------------
107*ba8755cbSAndroid Build Coastguard Worker
108*ba8755cbSAndroid Build Coastguard WorkerNew features:
109*ba8755cbSAndroid Build Coastguard Workero Add read-only support for Zstandard compression based on the
110*ba8755cbSAndroid Build Coastguard Worker  Zstd-jni project.
111*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-423. Thanks to Andre F de Miranda.
112*ba8755cbSAndroid Build Coastguard Workero Added auto-detection for Zstandard compressed streams.
113*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-425.
114*ba8755cbSAndroid Build Coastguard Workero Added write-support for Zstandard compression.
115*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-426.
116*ba8755cbSAndroid Build Coastguard Workero Added read-only DEFLATE64 support to ZIP archives and as
117*ba8755cbSAndroid Build Coastguard Worker  stand-alone CompressorInputStream.
118*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-380. Thanks to Christian Marquez Grabia.
119*ba8755cbSAndroid Build Coastguard Workero Added read-only DEFLATE64 support to 7z archives.
120*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-437.
121*ba8755cbSAndroid Build Coastguard Worker
122*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
123*ba8755cbSAndroid Build Coastguard Workero Synchronized iteration over a synchronizedList in
124*ba8755cbSAndroid Build Coastguard Worker  ParallelScatterZipCreator.
125*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-430. Thanks to Bruno P. Kinoshita.
126*ba8755cbSAndroid Build Coastguard Workero ZipFile could get stuck in an infinite loop when parsing ZIP
127*ba8755cbSAndroid Build Coastguard Worker  archives with certain strong encryption headers.
128*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-432.
129*ba8755cbSAndroid Build Coastguard Workero Added improved checks to detect corrupted bzip2 streams and
130*ba8755cbSAndroid Build Coastguard Worker  throw the expected IOException rather than obscure
131*ba8755cbSAndroid Build Coastguard Worker  RuntimeExceptions.
132*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-424.
133*ba8755cbSAndroid Build Coastguard Worker
134*ba8755cbSAndroid Build Coastguard WorkerChanges:
135*ba8755cbSAndroid Build Coastguard Workero Replaces instanceof checks with a type marker in LZ77 support code.
136*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-435. Thanks to BELUGA BEHR.
137*ba8755cbSAndroid Build Coastguard Workero Updated XZ for Java dependency to 1.8 in order to pick up bug fix
138*ba8755cbSAndroid Build Coastguard Worker  to LZMA2InputStream's available method.
139*ba8755cbSAndroid Build Coastguard Workero ZipArchiveEntry now exposes how the name or comment have been
140*ba8755cbSAndroid Build Coastguard Worker  determined when the entry was read.
141*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-429. Thanks to Damiano Albani.
142*ba8755cbSAndroid Build Coastguard Workero ZipFile.getInputStream will now always buffer the stream
143*ba8755cbSAndroid Build Coastguard Worker  internally in order to improve read performance.
144*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-438.
145*ba8755cbSAndroid Build Coastguard Workero Speed improvement for DEFLATE64 decompression.
146*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-440. Thanks to Dawid Weiss.
147*ba8755cbSAndroid Build Coastguard Workero Added a few extra sanity checks for the rarer compression
148*ba8755cbSAndroid Build Coastguard Worker  methods used in ZIP archives.
149*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-436.
150*ba8755cbSAndroid Build Coastguard Workero Simplified the special handling for the dummy byte required by
151*ba8755cbSAndroid Build Coastguard Worker  zlib when using java.util.zip.Inflater.
152*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-441.
153*ba8755cbSAndroid Build Coastguard Workero Various code cleanups.
154*ba8755cbSAndroid Build Coastguard Worker  Github Pull Request #61. Thanks to Shahab Kondri.
155*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry's preserveLeadingSlashes constructor argument
156*ba8755cbSAndroid Build Coastguard Worker  has been renamed and can now also be used to preserve the
157*ba8755cbSAndroid Build Coastguard Worker  drive letter on Windows.
158*ba8755cbSAndroid Build Coastguard Worker
159*ba8755cbSAndroid Build Coastguard WorkerRelease 1.15
160*ba8755cbSAndroid Build Coastguard Worker------------
161*ba8755cbSAndroid Build Coastguard Worker
162*ba8755cbSAndroid Build Coastguard WorkerNew features:
163*ba8755cbSAndroid Build Coastguard Workero Added magic MANIFEST entry Automatic-Module-Name so the module
164*ba8755cbSAndroid Build Coastguard Worker  name will be org.apache.commons.compress when the jar is used
165*ba8755cbSAndroid Build Coastguard Worker  as an automatic module in Java9.
166*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-397.
167*ba8755cbSAndroid Build Coastguard Workero Added a new utility class FixedLengthBlockOutputStream that
168*ba8755cbSAndroid Build Coastguard Worker  can be used to ensure writing always happens in blocks of a
169*ba8755cbSAndroid Build Coastguard Worker  given size.
170*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-405. Thanks to Simon Spero.
171*ba8755cbSAndroid Build Coastguard Workero It is now possible to specify/read custom PAX headers when
172*ba8755cbSAndroid Build Coastguard Worker  writing/reading tar archives.
173*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-400. Thanks to Simon Spero.
174*ba8755cbSAndroid Build Coastguard Worker
175*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
176*ba8755cbSAndroid Build Coastguard Workero Make sure "version needed to extract" in local file header and
177*ba8755cbSAndroid Build Coastguard Worker  central directory of a ZIP archive agree with each other.
178*ba8755cbSAndroid Build Coastguard Worker  Also ensure the version is set to 2.0 if DEFLATE is used.
179*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-394.
180*ba8755cbSAndroid Build Coastguard Workero Don't use a data descriptor in ZIP archives when copying a raw
181*ba8755cbSAndroid Build Coastguard Worker  entry that already knows its size and CRC information.
182*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-395.
183*ba8755cbSAndroid Build Coastguard Workero Travis build redundantly repeats compilation and tests redundantly
184*ba8755cbSAndroid Build Coastguard Worker  GitHub Pull Request #43. Thanks to Simon Spero.
185*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-413
186*ba8755cbSAndroid Build Coastguard Workero The MANIFEST of 1.14 lacks an OSGi Import-Package for XZ for
187*ba8755cbSAndroid Build Coastguard Worker  Java.
188*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-396.
189*ba8755cbSAndroid Build Coastguard Workero BUILDING.md now passes the RAT check.
190*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-406. Thanks to Simon Spero.
191*ba8755cbSAndroid Build Coastguard Workero Made sure ChecksumCalculatingInputStream receives valid
192*ba8755cbSAndroid Build Coastguard Worker  checksum and input stream instances via the constructor.
193*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-412. Thanks to Michael Hausegger.
194*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream now verifies the block and record sizes
195*ba8755cbSAndroid Build Coastguard Worker  specified at construction time are compatible with the tar
196*ba8755cbSAndroid Build Coastguard Worker  specification. In particular 512 is the only record size
197*ba8755cbSAndroid Build Coastguard Worker  accepted and the block size must be a multiple of 512.
198*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-407. Thanks to Simon Spero.
199*ba8755cbSAndroid Build Coastguard Workero Fixed class names of CpioArchiveEntry and
200*ba8755cbSAndroid Build Coastguard Worker  CpioArchiveInputStream in various Javadocs.
201*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-415.
202*ba8755cbSAndroid Build Coastguard Workero The code of the extended timestamp zip extra field incorrectly
203*ba8755cbSAndroid Build Coastguard Worker  assumed the time was stored as unsigned 32-bit int and thus
204*ba8755cbSAndroid Build Coastguard Worker  created incorrect results for years after 2037.
205*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-416. Thanks to Simon Spero.
206*ba8755cbSAndroid Build Coastguard Workero Removed ZipEncoding code that became obsolete when we started
207*ba8755cbSAndroid Build Coastguard Worker  to require Java 5 as baseline long ago.
208*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-410. Thanks to Simon Spero.
209*ba8755cbSAndroid Build Coastguard Workero The tar package will no longer try to parse the major and
210*ba8755cbSAndroid Build Coastguard Worker  minor device numbers unless the entry represents a character
211*ba8755cbSAndroid Build Coastguard Worker  or block special file.
212*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-417.
213*ba8755cbSAndroid Build Coastguard Workero When reading tar headers with name fields containing embedded
214*ba8755cbSAndroid Build Coastguard Worker  NULs, the name will now be terminated at the first NUL byte.
215*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-421. Thanks to Roel Spilker.
216*ba8755cbSAndroid Build Coastguard Workero Simplified TarArchiveOutputStream by replacing the internal
217*ba8755cbSAndroid Build Coastguard Worker  buffering with new class FixedLengthBlockOutputStream.
218*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-409.
219*ba8755cbSAndroid Build Coastguard Worker
220*ba8755cbSAndroid Build Coastguard WorkerRelease 1.14
221*ba8755cbSAndroid Build Coastguard Worker------------
222*ba8755cbSAndroid Build Coastguard Worker
223*ba8755cbSAndroid Build Coastguard WorkerNew features:
224*ba8755cbSAndroid Build Coastguard Workero Added write support for Snappy.
225*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-246.
226*ba8755cbSAndroid Build Coastguard Workero Added support for LZ4 (block and frame format).
227*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-271.
228*ba8755cbSAndroid Build Coastguard Workero Add static detect(InputStream in) to CompressorStreamFactory
229*ba8755cbSAndroid Build Coastguard Worker  and ArchiveStreamFactory
230*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-385.
231*ba8755cbSAndroid Build Coastguard Workero Added a way to limit amount of memory ZCompressorStream may
232*ba8755cbSAndroid Build Coastguard Worker  use.
233*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-382. Thanks to Tim Allison.
234*ba8755cbSAndroid Build Coastguard Workero Added a way to limit amount of memory ZCompressorStream may
235*ba8755cbSAndroid Build Coastguard Worker  use.
236*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-386. Thanks to Tim Allison.
237*ba8755cbSAndroid Build Coastguard Workero Added a way to limit amount of memory LZMACompressorStream and
238*ba8755cbSAndroid Build Coastguard Worker  XZCompressorInputStream may use.
239*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-382. Thanks to Tim Allison.
240*ba8755cbSAndroid Build Coastguard Workero Add Brotli decoder based on the Google Brotli library.
241*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-392. Thanks to Philippe Mouawad.
242*ba8755cbSAndroid Build Coastguard Workero ZipEntry now exposes its data offset.
243*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-390. Thanks to Zbynek Vyskovsky.
244*ba8755cbSAndroid Build Coastguard Workero Using ZipArchiveEntry's setAlignment it is now possible to
245*ba8755cbSAndroid Build Coastguard Worker  ensure the data offset of an entry starts at a file position
246*ba8755cbSAndroid Build Coastguard Worker  that at word or page boundaries.
247*ba8755cbSAndroid Build Coastguard Worker  A new extra field has been added for this purpose.
248*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-391. Thanks to Zbynek Vyskovsky.
249*ba8755cbSAndroid Build Coastguard Worker
250*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
251*ba8755cbSAndroid Build Coastguard Workero SnappyCompressorInputStream slides the window too early
252*ba8755cbSAndroid Build Coastguard Worker  leading to ArrayIndexOutOfBoundsExceptions for some streams.
253*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-378.
254*ba8755cbSAndroid Build Coastguard Workero ZipArchiveEntry#isUnixSymlink now only returns true if the
255*ba8755cbSAndroid Build Coastguard Worker  corresponding link flag is the only file-type flag set.
256*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-379. Thanks to Guillaume Boué.
257*ba8755cbSAndroid Build Coastguard Workero Fixed an integer overflow in CPIO's CRC calculation.
258*ba8755cbSAndroid Build Coastguard Worker  Pull Request #17. Thanks to Daniel Collin.
259*ba8755cbSAndroid Build Coastguard Workero Make unit tests work on Windows paths with spaces in their names.
260*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-387.
261*ba8755cbSAndroid Build Coastguard Workero Internal location pointer in ZipFile could get incremented
262*ba8755cbSAndroid Build Coastguard Worker  even if nothing had been read.
263*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-389.
264*ba8755cbSAndroid Build Coastguard Workero LZMACompressorOutputStream#flush would throw an exception
265*ba8755cbSAndroid Build Coastguard Worker  rather than be the NOP it promised to be.
266*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-393.
267*ba8755cbSAndroid Build Coastguard Worker
268*ba8755cbSAndroid Build Coastguard WorkerChanges:
269*ba8755cbSAndroid Build Coastguard Workero The blocksize for FramedSnappyCompressorInputStream can now be
270*ba8755cbSAndroid Build Coastguard Worker  configured as some IWA files seem to be using blocks larger
271*ba8755cbSAndroid Build Coastguard Worker  than the default 32k.
272*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-358.
273*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputstream now uses BitInputStream internally.
274*ba8755cbSAndroid Build Coastguard Worker  Pull Request #13. Thanks to Thomas Meyer.
275*ba8755cbSAndroid Build Coastguard Workero Improved performance for concurrent reads from ZipFile when
276*ba8755cbSAndroid Build Coastguard Worker  reading from a file.
277*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-388. Thanks to Zbynek Vyskovsky.
278*ba8755cbSAndroid Build Coastguard Worker
279*ba8755cbSAndroid Build Coastguard WorkerRelease 1.13
280*ba8755cbSAndroid Build Coastguard Worker------------
281*ba8755cbSAndroid Build Coastguard Worker
282*ba8755cbSAndroid Build Coastguard WorkerCommons Compress 1.13 is the first version to require Java 7 at
283*ba8755cbSAndroid Build Coastguard Workerruntime.
284*ba8755cbSAndroid Build Coastguard Worker
285*ba8755cbSAndroid Build Coastguard WorkerChanges in this version include:
286*ba8755cbSAndroid Build Coastguard Worker
287*ba8755cbSAndroid Build Coastguard WorkerNew features:
288*ba8755cbSAndroid Build Coastguard Workero SevenZFile, SevenZOutputFile, ZipFile and
289*ba8755cbSAndroid Build Coastguard Worker  ZipArchiveOutputStream can now work on non-file resources if
290*ba8755cbSAndroid Build Coastguard Worker  they can be accessed via SeekableByteChannel.
291*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-327.
292*ba8755cbSAndroid Build Coastguard Workero Allow compressor extensions through a standard JRE ServiceLoader.
293*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-368.
294*ba8755cbSAndroid Build Coastguard Workero Allow archive extensions through a standard JRE ServiceLoader.
295*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-369.
296*ba8755cbSAndroid Build Coastguard Workero Add write support for the legacy LZMA format, this requires XZ
297*ba8755cbSAndroid Build Coastguard Worker  for Java 1.6.
298*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-373.
299*ba8755cbSAndroid Build Coastguard Workero Add write support for the legacy LZMA stream to 7z, this
300*ba8755cbSAndroid Build Coastguard Worker  requires XZ for Java 1.6.
301*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-374.
302*ba8755cbSAndroid Build Coastguard Workero Allow the clients of ParallelScatterZipCreator to provide
303*ba8755cbSAndroid Build Coastguard Worker  ZipArchiveEntryRequestSupplier.
304*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-375. Thanks to Plamen Totev.
305*ba8755cbSAndroid Build Coastguard Workero Add a version-independent link to the API docs of the latest
306*ba8755cbSAndroid Build Coastguard Worker  release.
307*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-372.
308*ba8755cbSAndroid Build Coastguard Worker
309*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
310*ba8755cbSAndroid Build Coastguard Workero BitInputStream could return bad results when overflowing
311*ba8755cbSAndroid Build Coastguard Worker  internally - if two consecutive reads tried to read more than
312*ba8755cbSAndroid Build Coastguard Worker  64 bits.
313*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-363.
314*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream.closeEntry does not properly advance to
315*ba8755cbSAndroid Build Coastguard Worker  next entry if there are junk bytes at end of data section.
316*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-364. Thanks to Mike Mole.
317*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream now throws an Exception if it encounters
318*ba8755cbSAndroid Build Coastguard Worker  a broken ZIP archive rather than signaling end-of-archive.
319*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-367. Thanks to Mike Mole.
320*ba8755cbSAndroid Build Coastguard Workero ScatterZipOutputStream didn't close the StreamCompressor
321*ba8755cbSAndroid Build Coastguard Worker  causing a potential resource leak.
322*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-377.
323*ba8755cbSAndroid Build Coastguard Worker
324*ba8755cbSAndroid Build Coastguard WorkerChanges:
325*ba8755cbSAndroid Build Coastguard Workero Update Java requirement from 6 to 7.
326*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-360.
327*ba8755cbSAndroid Build Coastguard Workero Clarified which TarArchiveEntry methods are useless for
328*ba8755cbSAndroid Build Coastguard Worker  entries read from an archive.
329*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-366.
330*ba8755cbSAndroid Build Coastguard Worker
331*ba8755cbSAndroid Build Coastguard WorkerRelease 1.12
332*ba8755cbSAndroid Build Coastguard Worker------------
333*ba8755cbSAndroid Build Coastguard Worker
334*ba8755cbSAndroid Build Coastguard WorkerCommons Compress 1.12 is the first version to require Java 6 at
335*ba8755cbSAndroid Build Coastguard Workerruntime.
336*ba8755cbSAndroid Build Coastguard Worker
337*ba8755cbSAndroid Build Coastguard WorkerRelease 1.12 changes the behavior of BZip2CompressorOutputStream's
338*ba8755cbSAndroid Build Coastguard Workerfinalize method so that it no longer invokes finish. This is going to
339*ba8755cbSAndroid Build Coastguard Workerbreak code that relied on the finalizer to clean up an unfinished
340*ba8755cbSAndroid Build Coastguard Workerstream. The code will need to be changed to call finish or close
341*ba8755cbSAndroid Build Coastguard Workeritself. Note that a finalizer is not guaranteed to run, so the feature
342*ba8755cbSAndroid Build Coastguard Workerwas not 100% effective in any case.
343*ba8755cbSAndroid Build Coastguard Worker
344*ba8755cbSAndroid Build Coastguard WorkerNew features:
345*ba8755cbSAndroid Build Coastguard Worker
346*ba8755cbSAndroid Build Coastguard Workero FramedSnappyCompressorInputStream now supports the dialect of
347*ba8755cbSAndroid Build Coastguard Worker  Snappy used by the IWA files contained within the zip archives
348*ba8755cbSAndroid Build Coastguard Worker  used in Apple's iWork 13 files.
349*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-352.
350*ba8755cbSAndroid Build Coastguard Worker
351*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
352*ba8755cbSAndroid Build Coastguard Worker
353*ba8755cbSAndroid Build Coastguard Workero SevenZFile.read() throws an IllegalStateException for empty entries.
354*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-348.
355*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream failed to parse PAX headers that included
356*ba8755cbSAndroid Build Coastguard Worker  blank lines.
357*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-355. Thanks to Jeremy Gustie.
358*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream failed to parse PAX headers whose tar entry
359*ba8755cbSAndroid Build Coastguard Worker  name ended with a slash.
360*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-356. Thanks to Jeremy Gustie.
361*ba8755cbSAndroid Build Coastguard Worker
362*ba8755cbSAndroid Build Coastguard WorkerChanges:
363*ba8755cbSAndroid Build Coastguard Workero Update requirement from Java 5 to 6.
364*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-349.
365*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry wastefully allocates empty arrays.
366*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-350.
367*ba8755cbSAndroid Build Coastguard Workero Javadoc for BZip2CompressorInputStream(InputStream, boolean) should
368*ba8755cbSAndroid Build Coastguard Worker  refer to IOEx, not NPE.
369*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-353.
370*ba8755cbSAndroid Build Coastguard Workero PureJavaCrc32C in the snappy package is now final so it is now safe
371*ba8755cbSAndroid Build Coastguard Worker  to call a virtual method inside the constructor.
372*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-354.
373*ba8755cbSAndroid Build Coastguard Worker
374*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream and CpioArchiveInputStream could throw
375*ba8755cbSAndroid Build Coastguard Worker  exceptions who's messages contained potentially corrupt entry names
376*ba8755cbSAndroid Build Coastguard Worker  read from a broken archive. They will now sanitize the names by
377*ba8755cbSAndroid Build Coastguard Worker  replacing unprintable characters and restricting the length to 255
378*ba8755cbSAndroid Build Coastguard Worker  characters.
379*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-351.
380*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorOutputStream no longer tries to finish the output
381*ba8755cbSAndroid Build Coastguard Worker  stream in finalize. This is a breaking change for code that relied
382*ba8755cbSAndroid Build Coastguard Worker  on the finalizer.
383*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-357.
384*ba8755cbSAndroid Build Coastguard Worker
385*ba8755cbSAndroid Build Coastguard Worker
386*ba8755cbSAndroid Build Coastguard WorkerRelease 1.11
387*ba8755cbSAndroid Build Coastguard Worker------------
388*ba8755cbSAndroid Build Coastguard Worker
389*ba8755cbSAndroid Build Coastguard WorkerNew features:
390*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream now supports reading global PAX headers.
391*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-347.
392*ba8755cbSAndroid Build Coastguard Workero The PAX headers for sparse entries written by star are now
393*ba8755cbSAndroid Build Coastguard Worker  applied.
394*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-346.
395*ba8755cbSAndroid Build Coastguard Workero GNU sparse files using one of the PAX formats are now
396*ba8755cbSAndroid Build Coastguard Worker  detected, but cannot be extracted.
397*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-345.
398*ba8755cbSAndroid Build Coastguard Workero New method SevenZFile.getEntries can be used to list the
399*ba8755cbSAndroid Build Coastguard Worker  contents of a 7z archive.
400*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-341.
401*ba8755cbSAndroid Build Coastguard Workero When using Zip64Mode.Always also use ZIP64 extensions inside
402*ba8755cbSAndroid Build Coastguard Worker  the central directory.
403*ba8755cbSAndroid Build Coastguard Worker  GitHub Pull Request #10 Thanks to Matt Hovey.
404*ba8755cbSAndroid Build Coastguard Workero ZipFile.getRawInputStream() is now part of the public API
405*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-323.
406*ba8755cbSAndroid Build Coastguard Workero Allow byte-for-byte replication of Zip entries.
407*ba8755cbSAndroid Build Coastguard Worker  GitHub Pull Request #6. Thanks to Jason van Zyl.
408*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry's preserveLeadingSlashes is now a property and used
409*ba8755cbSAndroid Build Coastguard Worker  on later calls to setName, too.
410*ba8755cbSAndroid Build Coastguard Worker  This behavior is a breaking change.
411*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-328.
412*ba8755cbSAndroid Build Coastguard Workero Added read-only support for bzip2 compression used inside of
413*ba8755cbSAndroid Build Coastguard Worker  ZIP archives.
414*ba8755cbSAndroid Build Coastguard Worker  GitHub Pull Request #4. Thanks to Sören Glimm.
415*ba8755cbSAndroid Build Coastguard Worker
416*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
417*ba8755cbSAndroid Build Coastguard Workero ArArchiveInputStream can now read GNU extended names that are
418*ba8755cbSAndroid Build Coastguard Worker  terminated with a NUL byte rather than a linefeed.
419*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-344.
420*ba8755cbSAndroid Build Coastguard Workero Native Memory Leak in Sevenz-DeflateDecoder.
421*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-343. Thanks to Rene Preissel.
422*ba8755cbSAndroid Build Coastguard Workero SevenZFile will now only try to drain an entry's content when
423*ba8755cbSAndroid Build Coastguard Worker  moving on to the next entry if data is read from the next
424*ba8755cbSAndroid Build Coastguard Worker  entry. This should improve performance for applications that
425*ba8755cbSAndroid Build Coastguard Worker  try to skip over entries.
426*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-340. Thanks to Dawid Weiss.
427*ba8755cbSAndroid Build Coastguard Workero file names of tar archives using the xstar format are now
428*ba8755cbSAndroid Build Coastguard Worker  parsed properly.
429*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-336.
430*ba8755cbSAndroid Build Coastguard Workero checksums of tars that pad the checksum field to the left are
431*ba8755cbSAndroid Build Coastguard Worker  now calculated properly.
432*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-335.
433*ba8755cbSAndroid Build Coastguard Workero ArArchiveInputStream failed to read past the first entry when
434*ba8755cbSAndroid Build Coastguard Worker  BSD long names have been used.
435*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-334. Thanks to Jeremy Gustie.
436*ba8755cbSAndroid Build Coastguard Workero Added buffering for random access which speeds up 7Z support.
437*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-333. Thanks to Dawid Weiss.
438*ba8755cbSAndroid Build Coastguard Workero The checksum validation of TararchiveEntry is now as strict as
439*ba8755cbSAndroid Build Coastguard Worker  the validation of GNU tar, which eliminates a few cases of
440*ba8755cbSAndroid Build Coastguard Worker  false positives of ArchiveStreamFactory.
441*ba8755cbSAndroid Build Coastguard Worker  This behavior is a breaking change since the check has become
442*ba8755cbSAndroid Build Coastguard Worker  more strict but any archive that fails the checksum test now
443*ba8755cbSAndroid Build Coastguard Worker  would also fail it when extracted with other tools and must be
444*ba8755cbSAndroid Build Coastguard Worker  considered an invalid archive.
445*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-331.
446*ba8755cbSAndroid Build Coastguard Workero SnappyCompressorInputStream and
447*ba8755cbSAndroid Build Coastguard Worker  FramedSnappyCompressorInputStream returned 0 at the end of the
448*ba8755cbSAndroid Build Coastguard Worker  stream under certain circumstances.
449*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-332.
450*ba8755cbSAndroid Build Coastguard Workero Adjusted unit test to updates in Java8 and later that change
451*ba8755cbSAndroid Build Coastguard Worker  the logic of ZipEntry#getTime.
452*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-326.
453*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream will now recognize GNU long name and
454*ba8755cbSAndroid Build Coastguard Worker  link entries even if the special entry has a different name
455*ba8755cbSAndroid Build Coastguard Worker  than GNU tar uses itself.  This seems to be the case for
456*ba8755cbSAndroid Build Coastguard Worker  archives created by star.
457*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-324.
458*ba8755cbSAndroid Build Coastguard Workero ArrayIndexOutOfBoundsException when InfoZIP type 7875 extra
459*ba8755cbSAndroid Build Coastguard Worker  fields are read from the central directory.
460*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-321.
461*ba8755cbSAndroid Build Coastguard Worker
462*ba8755cbSAndroid Build Coastguard WorkerRelease 1.10
463*ba8755cbSAndroid Build Coastguard Worker------------
464*ba8755cbSAndroid Build Coastguard Worker
465*ba8755cbSAndroid Build Coastguard WorkerRelease 1.10 moves the former
466*ba8755cbSAndroid Build Coastguard Workerorg.apache.commons.compress.compressors.z._internal_ package which
467*ba8755cbSAndroid Build Coastguard Workerbreaks backwards compatibility for code which used the old package.
468*ba8755cbSAndroid Build Coastguard Worker
469*ba8755cbSAndroid Build Coastguard WorkerThis also changes the superclass of ZCompressorInputStream which makes
470*ba8755cbSAndroid Build Coastguard Workerthis class binary incompatible with the one of Compress 1.9.  Code
471*ba8755cbSAndroid Build Coastguard Workerthat extends ZCompressorInputStream will need to be recompiled in
472*ba8755cbSAndroid Build Coastguard Workerorder to work with Compress 1.10.
473*ba8755cbSAndroid Build Coastguard Worker
474*ba8755cbSAndroid Build Coastguard WorkerNew features:
475*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory can now auto-detect DEFLATE streams
476*ba8755cbSAndroid Build Coastguard Worker  with ZLIB header.
477*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-316. Thanks to Nick Burch.
478*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory can now auto-detect LZMA streams.
479*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-313.
480*ba8755cbSAndroid Build Coastguard Workero Added support for parallel compression. This low-level API allows
481*ba8755cbSAndroid Build Coastguard Worker  a client to build a zip/jar file by using the class
482*ba8755cbSAndroid Build Coastguard Worker  org.apache.commons.compress.archivers.zip.ParallelScatterZipCreator.
483*ba8755cbSAndroid Build Coastguard Worker
484*ba8755cbSAndroid Build Coastguard Worker  Zip documentation updated with further notes about parallel features.
485*ba8755cbSAndroid Build Coastguard Worker
486*ba8755cbSAndroid Build Coastguard Worker  Please note that some aspects of jar creation need to be
487*ba8755cbSAndroid Build Coastguard Worker  handled by client code and is not part of commons-compress for this
488*ba8755cbSAndroid Build Coastguard Worker  release.
489*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-296. Thanks to Kristian Rosenvold.
490*ba8755cbSAndroid Build Coastguard Workero Cut overall object instantiation in half by changing file
491*ba8755cbSAndroid Build Coastguard Worker  header generation algorithm, for a 10-15 percent performance
492*ba8755cbSAndroid Build Coastguard Worker  improvement.
493*ba8755cbSAndroid Build Coastguard Worker
494*ba8755cbSAndroid Build Coastguard Worker  Also extracted two private methods createLocalFileHeader
495*ba8755cbSAndroid Build Coastguard Worker  and createCentralFileHeader in ZipArchiveOutputStream.
496*ba8755cbSAndroid Build Coastguard Worker  These may have some interesting additional usages in the
497*ba8755cbSAndroid Build Coastguard Worker  near future. Thanks to Kristian Rosenvold.
498*ba8755cbSAndroid Build Coastguard Workero New methods in ZipArchiveOutputStream and ZipFile allows
499*ba8755cbSAndroid Build Coastguard Worker  entries to be copied from one archive to another without
500*ba8755cbSAndroid Build Coastguard Worker  having to re-compress them.
501*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-295. Thanks to Kristian Rosenvold.
502*ba8755cbSAndroid Build Coastguard Worker
503*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
504*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream can now read entries with group or
505*ba8755cbSAndroid Build Coastguard Worker  user ids > 0x80000000.
506*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-314.
507*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream can now write entries with group or
508*ba8755cbSAndroid Build Coastguard Worker  user ids > 0x80000000.
509*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-315.
510*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry's constructor with a File and a String arg
511*ba8755cbSAndroid Build Coastguard Worker  didn't normalize the name.
512*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-312.
513*ba8755cbSAndroid Build Coastguard Workero ZipEncodingHelper no longer reads system properties directly
514*ba8755cbSAndroid Build Coastguard Worker  to determine the default charset.
515*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-308.
516*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputStream#read would return -1 when asked to
517*ba8755cbSAndroid Build Coastguard Worker  read 0 bytes.
518*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-309.
519*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory fails to pass on the encoding when creating
520*ba8755cbSAndroid Build Coastguard Worker  some streams.
521*ba8755cbSAndroid Build Coastguard Worker    * ArjArchiveInputStream
522*ba8755cbSAndroid Build Coastguard Worker    * CpioArchiveInputStream
523*ba8755cbSAndroid Build Coastguard Worker    * DumpArchiveInputStream
524*ba8755cbSAndroid Build Coastguard Worker    * JarArchiveInputStream
525*ba8755cbSAndroid Build Coastguard Worker    * TarArchiveInputStream
526*ba8755cbSAndroid Build Coastguard Worker    * JarArchiveOutputStream
527*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-306.
528*ba8755cbSAndroid Build Coastguard Workero Restore immutability/thread-safety to ArchiveStreamFactory.
529*ba8755cbSAndroid Build Coastguard Worker  The class is now immutable provided that the method setEntryEncoding
530*ba8755cbSAndroid Build Coastguard Worker  is not used. The class is thread-safe.
531*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-302.
532*ba8755cbSAndroid Build Coastguard Workero Restore immutability/thread-safety to CompressorStreamFactory.
533*ba8755cbSAndroid Build Coastguard Worker  The class is now immutable provided that the method
534*ba8755cbSAndroid Build Coastguard Worker  setDecompressConcatenated is not used.  The class is thread-safe.
535*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-303.
536*ba8755cbSAndroid Build Coastguard Workero ZipFile logs a warning in its finalizer when its constructor
537*ba8755cbSAndroid Build Coastguard Worker  has thrown an exception reading the file - for example if the
538*ba8755cbSAndroid Build Coastguard Worker  file doesn't exist.
539*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-297.
540*ba8755cbSAndroid Build Coastguard Workero Improved error message when tar encounters a groupId that is
541*ba8755cbSAndroid Build Coastguard Worker  too big to write without using the STAR or POSIX format.
542*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-290. Thanks to Kristian Rosenvold.
543*ba8755cbSAndroid Build Coastguard Workero SevenZFile now throws the specific PasswordRequiredException
544*ba8755cbSAndroid Build Coastguard Worker  when it encounters an encrypted stream but no password has
545*ba8755cbSAndroid Build Coastguard Worker  been specified.
546*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-298.
547*ba8755cbSAndroid Build Coastguard Worker
548*ba8755cbSAndroid Build Coastguard WorkerChanges:
549*ba8755cbSAndroid Build Coastguard Workero Moved the package
550*ba8755cbSAndroid Build Coastguard Worker  org.apache.commons.compress.compressors.z._internal_ to
551*ba8755cbSAndroid Build Coastguard Worker  org.apache.commons.compress.compressors.lzw and made it part
552*ba8755cbSAndroid Build Coastguard Worker  of the API that is officially supported.  This will break
553*ba8755cbSAndroid Build Coastguard Worker  existing code that uses the old package. Thanks to Damjan Jovanovic.
554*ba8755cbSAndroid Build Coastguard Worker
555*ba8755cbSAndroid Build Coastguard WorkerFor complete information on Apache Commons Compress, including instructions
556*ba8755cbSAndroid Build Coastguard Workeron how to submit bug reports, patches, or suggestions for improvement,
557*ba8755cbSAndroid Build Coastguard Workersee the Apache Commons Compress website:
558*ba8755cbSAndroid Build Coastguard Worker
559*ba8755cbSAndroid Build Coastguard Workerhttps://commons.apache.org/compress/
560*ba8755cbSAndroid Build Coastguard Worker
561*ba8755cbSAndroid Build Coastguard WorkerOld Release Notes
562*ba8755cbSAndroid Build Coastguard Worker=================
563*ba8755cbSAndroid Build Coastguard Worker
564*ba8755cbSAndroid Build Coastguard WorkerRelease 1.9
565*ba8755cbSAndroid Build Coastguard Worker-----------
566*ba8755cbSAndroid Build Coastguard Worker
567*ba8755cbSAndroid Build Coastguard WorkerNew features:
568*ba8755cbSAndroid Build Coastguard Workero Added support for DEFLATE streams without any gzip framing.
569*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-263.
570*ba8755cbSAndroid Build Coastguard Worker  Thanks to Matthias Stevens.
571*ba8755cbSAndroid Build Coastguard Worker
572*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
573*ba8755cbSAndroid Build Coastguard Workero When reading 7z files unknown file properties and properties of type
574*ba8755cbSAndroid Build Coastguard Worker  kDummy are now ignored.
575*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-287.
576*ba8755cbSAndroid Build Coastguard Workero Expanding 7z archives using LZMA compression could cause an
577*ba8755cbSAndroid Build Coastguard Worker  EOFException.
578*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-286.
579*ba8755cbSAndroid Build Coastguard Workero Long-Name and -link or PAX-header entries in TAR archives always had
580*ba8755cbSAndroid Build Coastguard Worker  the current time as last modfication time, creating archives that
581*ba8755cbSAndroid Build Coastguard Worker  are different at the byte level each time an archive was built.
582*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-289.
583*ba8755cbSAndroid Build Coastguard Worker  Thanks to Bob Robertson.
584*ba8755cbSAndroid Build Coastguard Worker
585*ba8755cbSAndroid Build Coastguard WorkerChanges:
586*ba8755cbSAndroid Build Coastguard Workero Checking for XZ for Java may be expensive.  The result will now be
587*ba8755cbSAndroid Build Coastguard Worker  cached outside of an OSGi environment.  You can use the new
588*ba8755cbSAndroid Build Coastguard Worker  XZUtils#setCacheXZAvailability to overrride this default behavior.
589*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-285.
590*ba8755cbSAndroid Build Coastguard Worker
591*ba8755cbSAndroid Build Coastguard WorkerRelease 1.8.1
592*ba8755cbSAndroid Build Coastguard Worker-------------
593*ba8755cbSAndroid Build Coastguard Worker
594*ba8755cbSAndroid Build Coastguard WorkerNew features:
595*ba8755cbSAndroid Build Coastguard Workero COMPRESS-272:  CompressorStreamFactory can now auto-detect Unix compress
596*ba8755cbSAndroid Build Coastguard Worker                 (".Z") streams.
597*ba8755cbSAndroid Build Coastguard Worker
598*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
599*ba8755cbSAndroid Build Coastguard Workero COMPRESS-270:  The snappy, ar and tar inputstreams might fail to read from a
600*ba8755cbSAndroid Build Coastguard Worker                 non-buffered stream in certain cases.
601*ba8755cbSAndroid Build Coastguard Workero COMPRESS-277:  IOUtils#skip might skip fewer bytes than requested even though
602*ba8755cbSAndroid Build Coastguard Worker                 more could be read from the stream.
603*ba8755cbSAndroid Build Coastguard Workero COMPRESS-276:  ArchiveStreams now validate there is a current entry before
604*ba8755cbSAndroid Build Coastguard Worker                 reading or writing entry data.
605*ba8755cbSAndroid Build Coastguard Workero ArjArchiveInputStream#canReadEntryData tested the current
606*ba8755cbSAndroid Build Coastguard Worker                 entry of the stream rather than its argument.
607*ba8755cbSAndroid Build Coastguard Workero COMPRESS-274:  ChangeSet#delete and deleteDir now properly deal with unnamed
608*ba8755cbSAndroid Build Coastguard Worker                 entries.
609*ba8755cbSAndroid Build Coastguard Workero COMPRESS-273:  Added a few null checks to improve robustness.
610*ba8755cbSAndroid Build Coastguard Workero COMPRESS-278:  TarArchiveInputStream failed to read archives with empty
611*ba8755cbSAndroid Build Coastguard Worker                 gid/uid fields.
612*ba8755cbSAndroid Build Coastguard Workero COMPRESS-279:  TarArchiveInputStream now again throws an exception when it
613*ba8755cbSAndroid Build Coastguard Worker                 encounters a truncated archive while reading from the last
614*ba8755cbSAndroid Build Coastguard Worker                 entry.
615*ba8755cbSAndroid Build Coastguard Workero COMPRESS-280:  Adapted TarArchiveInputStream#skip to the modified
616*ba8755cbSAndroid Build Coastguard Worker                 IOUtils#skip method. Thanks to BELUGA BEHR.
617*ba8755cbSAndroid Build Coastguard Worker
618*ba8755cbSAndroid Build Coastguard WorkerChanges:
619*ba8755cbSAndroid Build Coastguard Workero The dependency on org.tukaani:xz is now marked as optional.
620*ba8755cbSAndroid Build Coastguard Worker
621*ba8755cbSAndroid Build Coastguard WorkerRelease 1.8
622*ba8755cbSAndroid Build Coastguard Worker-----------
623*ba8755cbSAndroid Build Coastguard Worker
624*ba8755cbSAndroid Build Coastguard WorkerNew features:
625*ba8755cbSAndroid Build Coastguard Workero GzipCompressorInputStream now provides access to the same
626*ba8755cbSAndroid Build Coastguard Worker  metadata that can be provided via GzipParameters when writing
627*ba8755cbSAndroid Build Coastguard Worker  a gzip stream.
628*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-260.
629*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile now supports chaining multiple
630*ba8755cbSAndroid Build Coastguard Worker  compression/encryption/filter methods and passing options to
631*ba8755cbSAndroid Build Coastguard Worker  the methods.
632*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-266.
633*ba8755cbSAndroid Build Coastguard Workero The (compression) method(s) can now be specified per entry in
634*ba8755cbSAndroid Build Coastguard Worker  SevenZOutputFile.
635*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-261.
636*ba8755cbSAndroid Build Coastguard Workero SevenZArchiveEntry "knows" which method(s) have been used to
637*ba8755cbSAndroid Build Coastguard Worker  write it to the archive.
638*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-258.
639*ba8755cbSAndroid Build Coastguard Workero The 7z package now supports the delta filter as method.
640*ba8755cbSAndroid Build Coastguard Workero The 7z package now supports BCJ filters for several platforms.
641*ba8755cbSAndroid Build Coastguard Worker  You will need a version >= 1.5 of XZ for Java to read archives
642*ba8755cbSAndroid Build Coastguard Worker  using BCJ, though.
643*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-257.
644*ba8755cbSAndroid Build Coastguard Worker
645*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
646*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputStream read fewer bytes than possible from
647*ba8755cbSAndroid Build Coastguard Worker  a truncated stream.
648*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-253.
649*ba8755cbSAndroid Build Coastguard Workero SevenZFile failed claiming the dictionary was too large when
650*ba8755cbSAndroid Build Coastguard Worker  archives used LZMA compression for headers and content and
651*ba8755cbSAndroid Build Coastguard Worker  certain non-default dictionary sizes.
652*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-253.
653*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory.createCompressorInputStream with
654*ba8755cbSAndroid Build Coastguard Worker  explicit compression did not honor decompressConcatenated
655*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-259.
656*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream will now read archives created by tar
657*ba8755cbSAndroid Build Coastguard Worker  implementations that encode big numbers by not adding a
658*ba8755cbSAndroid Build Coastguard Worker  trailing NUL.
659*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-262.
660*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream would return NUL bytes for the first 512
661*ba8755cbSAndroid Build Coastguard Worker  bytes of a STORED entry if it was the very first entry of the
662*ba8755cbSAndroid Build Coastguard Worker  archive.
663*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-264.
664*ba8755cbSAndroid Build Coastguard Workero When writing PAX/POSIX headers for TAR entries with
665*ba8755cbSAndroid Build Coastguard Worker  backslashes or certain non-ASCII characters in their name
666*ba8755cbSAndroid Build Coastguard Worker  TarArchiveOutputStream could fail.
667*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-265.
668*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory now throws a StreamingNotSupported - a
669*ba8755cbSAndroid Build Coastguard Worker  new subclass of ArchiveException - if it is asked to read from
670*ba8755cbSAndroid Build Coastguard Worker  or write to a stream and Commons Compress doesn't support
671*ba8755cbSAndroid Build Coastguard Worker  streaming for the format.  This currently only applies to the
672*ba8755cbSAndroid Build Coastguard Worker  7z format.
673*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-267.
674*ba8755cbSAndroid Build Coastguard Worker
675*ba8755cbSAndroid Build Coastguard WorkerRelease 1.7
676*ba8755cbSAndroid Build Coastguard Worker-----------
677*ba8755cbSAndroid Build Coastguard Worker
678*ba8755cbSAndroid Build Coastguard WorkerNew features:
679*ba8755cbSAndroid Build Coastguard Workero Read-Only support for Snappy compression.
680*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-147. Thanks to BELUGA BEHR.
681*ba8755cbSAndroid Build Coastguard Workero Read-Only support for .Z compressed files.
682*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-243. Thanks to Damjan Jovanovic.
683*ba8755cbSAndroid Build Coastguard Workero ZipFile and ZipArchiveInputStream now support reading entries
684*ba8755cbSAndroid Build Coastguard Worker  compressed using the SHRINKING method. Thanks to Damjan Jovanovic.
685*ba8755cbSAndroid Build Coastguard Workero GzipCompressorOutputStream now supports setting the compression
686*ba8755cbSAndroid Build Coastguard Worker  level and the header metadata (filename, comment, modification time,
687*ba8755cbSAndroid Build Coastguard Worker  operating system and extra flags)
688*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-250. Thanks to Emmanuel Bourg.
689*ba8755cbSAndroid Build Coastguard Workero ZipFile and ZipArchiveInputStream now support reading entries
690*ba8755cbSAndroid Build Coastguard Worker  compressed using the IMPLODE method.
691*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-115. Thanks to Emmanuel Bourg.
692*ba8755cbSAndroid Build Coastguard Workero ZipFile and the 7z file classes now implement Closeable and can be
693*ba8755cbSAndroid Build Coastguard Worker  used in try-with-resources constructs.
694*ba8755cbSAndroid Build Coastguard Worker
695*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
696*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile#closeArchiveEntry throws an exception when using
697*ba8755cbSAndroid Build Coastguard Worker  LZMA2 compression on Java8.  Issue: COMPRESS-241.
698*ba8755cbSAndroid Build Coastguard Workero 7z reading of big 64bit values could be wrong.
699*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-244. Thanks to Nico Kruber.
700*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream could fail to read an archive completely.
701*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-245.
702*ba8755cbSAndroid Build Coastguard Workero The time-setters in X5455_ExtendedTimestamp now set the
703*ba8755cbSAndroid Build Coastguard Worker  corresponding flags explicitly - i.e. they set the bit if the valus
704*ba8755cbSAndroid Build Coastguard Worker  is not-null and reset it otherwise.  This may cause
705*ba8755cbSAndroid Build Coastguard Worker  incompatibilities if you use setFlags to unset a bit and later set
706*ba8755cbSAndroid Build Coastguard Worker  the time to a non-null value - the flag will now be set.
707*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-242.
708*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile would create invalid archives if more than six
709*ba8755cbSAndroid Build Coastguard Worker  empty files or directories were included.  Issue: COMPRESS-252.
710*ba8755cbSAndroid Build Coastguard Worker
711*ba8755cbSAndroid Build Coastguard WorkerRelease 1.6
712*ba8755cbSAndroid Build Coastguard Worker-----------
713*ba8755cbSAndroid Build Coastguard Worker
714*ba8755cbSAndroid Build Coastguard WorkerVersion 1.6 introduces changes to the internal API of the tar package that
715*ba8755cbSAndroid Build Coastguard Workerbreak backwards compatibility in the following rare cases.  This version
716*ba8755cbSAndroid Build Coastguard Workerremoves the package private TarBuffer class along with the protected "buffer"
717*ba8755cbSAndroid Build Coastguard Workermembers in TarArchiveInputStream and TarArchiveOutputStream.  This change will
718*ba8755cbSAndroid Build Coastguard Workeronly affect you if you have created a subclass of one of the stream classes
719*ba8755cbSAndroid Build Coastguard Workerand accessed the buffer member or directly used the TarBuffer class.
720*ba8755cbSAndroid Build Coastguard Worker
721*ba8755cbSAndroid Build Coastguard WorkerChanges in this version include:
722*ba8755cbSAndroid Build Coastguard Worker
723*ba8755cbSAndroid Build Coastguard WorkerNew features:
724*ba8755cbSAndroid Build Coastguard Workero Added support for 7z archives.  Most compression algorithms
725*ba8755cbSAndroid Build Coastguard Worker  can be read and written, LZMA and encryption are only
726*ba8755cbSAndroid Build Coastguard Worker  supported when reading.  Issue: COMPRESS-54. Thanks to Damjan Jovanovic.
727*ba8755cbSAndroid Build Coastguard Workero Added read-only support for ARJ archives that don't use
728*ba8755cbSAndroid Build Coastguard Worker  compression.  Issue: COMPRESS-226. Thanks to Damjan Jovanovic.
729*ba8755cbSAndroid Build Coastguard Workero DumpArchiveInputStream now supports an encoding parameter that
730*ba8755cbSAndroid Build Coastguard Worker  can be used to specify the encoding of file names.
731*ba8755cbSAndroid Build Coastguard Workero The CPIO streams now support an encoding parameter that can be
732*ba8755cbSAndroid Build Coastguard Worker  used to specify the encoding of file names.
733*ba8755cbSAndroid Build Coastguard Workero Read-only support for LZMA standalone compression has been added.
734*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-111.
735*ba8755cbSAndroid Build Coastguard Worker
736*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
737*ba8755cbSAndroid Build Coastguard Workero TarBuffer.tryToConsumeSecondEOFRecord could throw a
738*ba8755cbSAndroid Build Coastguard Worker  NullPointerException  Issue: COMPRESS-223. Thanks to Jeremy Gustie.
739*ba8755cbSAndroid Build Coastguard Workero Parsing of zip64 extra fields has become more lenient in order
740*ba8755cbSAndroid Build Coastguard Worker  to be able to read archives created by DotNetZip and maybe
741*ba8755cbSAndroid Build Coastguard Worker  other archivers as well.  Issue: COMPRESS-228.
742*ba8755cbSAndroid Build Coastguard Workero TAR will now properly read the names of symbolic links with
743*ba8755cbSAndroid Build Coastguard Worker  long names that use the GNU variant to specify the long file
744*ba8755cbSAndroid Build Coastguard Worker  name.  Issue: COMPRESS-229. Thanks to Christoph Gysin.
745*ba8755cbSAndroid Build Coastguard Workero ZipFile#getInputStream could return null if the archive
746*ba8755cbSAndroid Build Coastguard Worker  contained duplicate entries.
747*ba8755cbSAndroid Build Coastguard Worker  The class now also provides two new methods to obtain all
748*ba8755cbSAndroid Build Coastguard Worker  entries of a given name rather than just the first one.
749*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-227.
750*ba8755cbSAndroid Build Coastguard Workero CpioArchiveInputStream failed to read archives created by
751*ba8755cbSAndroid Build Coastguard Worker  Redline RPM.  Issue: COMPRESS-236. Thanks to Andrew Duffy.
752*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream now properly handles link names that
753*ba8755cbSAndroid Build Coastguard Worker  are too long to fit into a traditional TAR header.  Issue:
754*ba8755cbSAndroid Build Coastguard Worker  COMPRESS-237. Thanks to Emmanuel Bourg.
755*ba8755cbSAndroid Build Coastguard Workero The auto-detecting create*InputStream methods of Archive and
756*ba8755cbSAndroid Build Coastguard Worker  CompressorStreamFactory could fail to detect the format of
757*ba8755cbSAndroid Build Coastguard Worker  blocking input streams.  Issue: COMPRESS-239.
758*ba8755cbSAndroid Build Coastguard Worker
759*ba8755cbSAndroid Build Coastguard WorkerChanges:
760*ba8755cbSAndroid Build Coastguard Workero Readabilty patch to TarArchiveInputStream.  Issue:
761*ba8755cbSAndroid Build Coastguard Worker  COMPRESS-232. Thanks to BELUGA BEHR.
762*ba8755cbSAndroid Build Coastguard Workero Performance improvements to TarArchiveInputStream, in
763*ba8755cbSAndroid Build Coastguard Worker  particular to the skip method.  Issue: COMPRESS-234. Thanks to
764*ba8755cbSAndroid Build Coastguard Worker  BELUGA BEHR.
765*ba8755cbSAndroid Build Coastguard Worker
766*ba8755cbSAndroid Build Coastguard WorkerRelease 1.5
767*ba8755cbSAndroid Build Coastguard Worker-----------
768*ba8755cbSAndroid Build Coastguard Worker
769*ba8755cbSAndroid Build Coastguard WorkerNew features:
770*ba8755cbSAndroid Build Coastguard Worker
771*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory has an option to create decompressing
772*ba8755cbSAndroid Build Coastguard Worker  streams that decompress the full input for formats that support
773*ba8755cbSAndroid Build Coastguard Worker  multiple concatenated streams.
774*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-220.
775*ba8755cbSAndroid Build Coastguard Worker
776*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
777*ba8755cbSAndroid Build Coastguard Worker
778*ba8755cbSAndroid Build Coastguard Workero Typo in CompressorStreamFactory Javadoc
779*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-218.
780*ba8755cbSAndroid Build Coastguard Worker  Thanks to Gili.
781*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory's tar stream detection created false positives
782*ba8755cbSAndroid Build Coastguard Worker  for AIFF files.
783*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-191.
784*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
785*ba8755cbSAndroid Build Coastguard Workero XZ for Java didn't provide an OSGi bundle.  Compress' dependency on
786*ba8755cbSAndroid Build Coastguard Worker  it has now been marked optional so Compress itself can still be used
787*ba8755cbSAndroid Build Coastguard Worker  in an OSGi context.
788*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-199.
789*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
790*ba8755cbSAndroid Build Coastguard Workero When specifying the encoding explicitly TarArchiveOutputStream would
791*ba8755cbSAndroid Build Coastguard Worker  write unreadable names in GNU mode or even cause errors in POSIX
792*ba8755cbSAndroid Build Coastguard Worker  mode for file names longer than 66 characters.
793*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-200.
794*ba8755cbSAndroid Build Coastguard Worker  Thanks to Christian Schlichtherle.
795*ba8755cbSAndroid Build Coastguard Workero Writing TAR PAX headers failed if the generated entry name ended
796*ba8755cbSAndroid Build Coastguard Worker  with a "/".
797*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-203.
798*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream sometimes failed to provide input to the
799*ba8755cbSAndroid Build Coastguard Worker  Inflater when it needed it, leading to reads returning 0.
800*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-189.
801*ba8755cbSAndroid Build Coastguard Worker  Thanks to Daniel Lowe.
802*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream ignored the encoding for GNU long name
803*ba8755cbSAndroid Build Coastguard Worker  entries.
804*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-212.
805*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream could leave the second EOF record inside the
806*ba8755cbSAndroid Build Coastguard Worker  stream it had just finished reading.
807*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-206.
808*ba8755cbSAndroid Build Coastguard Worker  Thanks to Peter De Maeyer.
809*ba8755cbSAndroid Build Coastguard Workero DumpArchiveInputStream no longer implicitly closes the original
810*ba8755cbSAndroid Build Coastguard Worker  input stream when it reaches the end of the archive.
811*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream now consumes the remainder of the archive when
812*ba8755cbSAndroid Build Coastguard Worker  getNextZipEntry returns null.
813*ba8755cbSAndroid Build Coastguard Workero Unit tests could fail if the source tree was checked out to a
814*ba8755cbSAndroid Build Coastguard Worker  directory tree containign spaces.
815*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-205.
816*ba8755cbSAndroid Build Coastguard Worker  Thanks to Daniel Lowe.
817*ba8755cbSAndroid Build Coastguard Workero Fixed a potential ArrayIndexOutOfBoundsException when reading STORED
818*ba8755cbSAndroid Build Coastguard Worker  entries from ZipArchiveInputStream.
819*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-219.
820*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory can now be used without XZ for Java being
821*ba8755cbSAndroid Build Coastguard Worker  available.
822*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-221.
823*ba8755cbSAndroid Build Coastguard Worker
824*ba8755cbSAndroid Build Coastguard WorkerChanges:
825*ba8755cbSAndroid Build Coastguard Worker
826*ba8755cbSAndroid Build Coastguard Workero Improved exception message if a zip archive cannot be read because
827*ba8755cbSAndroid Build Coastguard Worker  of an unsupported compression method.
828*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-188.
829*ba8755cbSAndroid Build Coastguard Worker  Thanks to Harald Kuhn.
830*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory has a setting for file name encoding that sets
831*ba8755cbSAndroid Build Coastguard Worker  up encoding for ZIP and TAR streams.
832*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-192.
833*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
834*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry now has a method to verify its checksum.
835*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-191.
836*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
837*ba8755cbSAndroid Build Coastguard Workero Split/spanned ZIP archives are now properly detected by
838*ba8755cbSAndroid Build Coastguard Worker  ArchiveStreamFactory but will cause an
839*ba8755cbSAndroid Build Coastguard Worker  UnsupportedZipFeatureException when read.
840*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream now reads archives that start with a "PK00"
841*ba8755cbSAndroid Build Coastguard Worker  signature.  Archives with this signatures are created when the
842*ba8755cbSAndroid Build Coastguard Worker  archiver was willing to split the archive but in the end only needed
843*ba8755cbSAndroid Build Coastguard Worker  a single segment - so didn't split anything.
844*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-208.
845*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry has a new constructor that allows setting linkFlag
846*ba8755cbSAndroid Build Coastguard Worker  and preserveLeadingSlashes at the same time.
847*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-201.
848*ba8755cbSAndroid Build Coastguard Workero ChangeSetPerformer has a new perform overload that uses a ZipFile
849*ba8755cbSAndroid Build Coastguard Worker  instance as input.
850*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-159.
851*ba8755cbSAndroid Build Coastguard Workero Garbage collection pressure has been reduced by reusing temporary
852*ba8755cbSAndroid Build Coastguard Worker  byte arrays in classes.
853*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-172.
854*ba8755cbSAndroid Build Coastguard Worker  Thanks to Thomas Mair.
855*ba8755cbSAndroid Build Coastguard Workero Can now handle zip extra field 0x5455 - Extended Timestamp.
856*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-210.
857*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
858*ba8755cbSAndroid Build Coastguard Workero handle zip extra field 0x7875 - Info Zip New Unix Extra Field.
859*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-211.
860*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
861*ba8755cbSAndroid Build Coastguard Workero ZipShort, ZipLong, ZipEightByteInteger should implement Serializable
862*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-213.
863*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
864*ba8755cbSAndroid Build Coastguard Workero better support for unix symlinks in ZipFile entries.
865*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-214.
866*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
867*ba8755cbSAndroid Build Coastguard Workero ZipFile's initialization has been improved for non-Zip64 archives.
868*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-215.
869*ba8755cbSAndroid Build Coastguard Worker  Thanks to Robin Power.
870*ba8755cbSAndroid Build Coastguard Workero Updated XZ for Java dependency to 1.2 as this version provides
871*ba8755cbSAndroid Build Coastguard Worker  proper OSGi manifest attributes.
872*ba8755cbSAndroid Build Coastguard Worker
873*ba8755cbSAndroid Build Coastguard WorkerRelease 1.4.1
874*ba8755cbSAndroid Build Coastguard Worker-------------
875*ba8755cbSAndroid Build Coastguard Worker
876*ba8755cbSAndroid Build Coastguard WorkerThis is a security bugfix release, see
877*ba8755cbSAndroid Build Coastguard Workerhttps://commons.apache.org/proper/commons-compress/security.html#Fixed_in_Apache_Commons_Compress_1.4.1
878*ba8755cbSAndroid Build Coastguard Worker
879*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
880*ba8755cbSAndroid Build Coastguard Worker
881*ba8755cbSAndroid Build Coastguard Workero Ported libbzip2's fallback sort algorithm to
882*ba8755cbSAndroid Build Coastguard Worker  BZip2CompressorOutputStream to speed up compression in certain
883*ba8755cbSAndroid Build Coastguard Worker  edge cases.
884*ba8755cbSAndroid Build Coastguard Worker
885*ba8755cbSAndroid Build Coastguard WorkerRelease 1.4
886*ba8755cbSAndroid Build Coastguard Worker-----------
887*ba8755cbSAndroid Build Coastguard Worker
888*ba8755cbSAndroid Build Coastguard WorkerNew features:
889*ba8755cbSAndroid Build Coastguard Workero COMPRESS-156:  Support for the XZ format has been added.
890*ba8755cbSAndroid Build Coastguard Worker
891*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
892*ba8755cbSAndroid Build Coastguard Workero COMPRESS-183:  The tar package now allows the encoding of file names to be
893*ba8755cbSAndroid Build Coastguard Worker                 specified and can optionally use PAX extension headers to
894*ba8755cbSAndroid Build Coastguard Worker                 write non-ASCII file names.
895*ba8755cbSAndroid Build Coastguard Worker                 The stream classes now write (or expect to read) archives that
896*ba8755cbSAndroid Build Coastguard Worker                 use the platform's native encoding for file names.  Apache
897*ba8755cbSAndroid Build Coastguard Worker                 Commons Compress 1.3 used to strip everything but the lower
898*ba8755cbSAndroid Build Coastguard Worker                 eight bits of each character which effectively only worked for
899*ba8755cbSAndroid Build Coastguard Worker                 ASCII and ISO-8859-1 file names.
900*ba8755cbSAndroid Build Coastguard Worker                 This new default behavior is a breaking change.
901*ba8755cbSAndroid Build Coastguard Workero COMPRESS-184:  TarArchiveInputStream failed to parse PAX headers that
902*ba8755cbSAndroid Build Coastguard Worker                 contained non-ASCII characters.
903*ba8755cbSAndroid Build Coastguard Workero COMPRESS-178:  TarArchiveInputStream throws IllegalArgumentException instead of IOException
904*ba8755cbSAndroid Build Coastguard Workero COMPRESS-179:  TarUtils.formatLongOctalOrBinaryBytes() assumes the field will be 12 bytes long
905*ba8755cbSAndroid Build Coastguard Workero COMPRESS-175:  GNU Tar sometimes uses binary encoding for UID and GID
906*ba8755cbSAndroid Build Coastguard Workero COMPRESS-171:  ArchiveStreamFactory.createArchiveInputStream would claim
907*ba8755cbSAndroid Build Coastguard Worker                 short text files were TAR archives.
908*ba8755cbSAndroid Build Coastguard Workero COMPRESS-164:  ZipFile didn't work properly for archives using unicode extra
909*ba8755cbSAndroid Build Coastguard Worker                 fields rather than UTF-8 filenames and the EFS-Flag.
910*ba8755cbSAndroid Build Coastguard Workero COMPRESS-169:  For corrupt archives ZipFile would throw a RuntimeException in
911*ba8755cbSAndroid Build Coastguard Worker                 some cases and an IOException in others.  It will now
912*ba8755cbSAndroid Build Coastguard Worker                 consistently throw an IOException.
913*ba8755cbSAndroid Build Coastguard Worker
914*ba8755cbSAndroid Build Coastguard WorkerChanges:
915*ba8755cbSAndroid Build Coastguard Workero COMPRESS-182:  The tar package can now write archives that use star/GNU/BSD
916*ba8755cbSAndroid Build Coastguard Worker                 extensions or use the POSIX/PAX variant to store numeric
917*ba8755cbSAndroid Build Coastguard Worker                 values that don't fit into the traditional header fields.
918*ba8755cbSAndroid Build Coastguard Workero COMPRESS-181:  Added a workaround for a Bug some tar implementations that add
919*ba8755cbSAndroid Build Coastguard Worker                 a NUL byte as first byte in numeric header fields.
920*ba8755cbSAndroid Build Coastguard Workero COMPRESS-176:  Added a workaround for a Bug in WinZIP which uses backslashes
921*ba8755cbSAndroid Build Coastguard Worker                 as path separators in Unicode Extra Fields.
922*ba8755cbSAndroid Build Coastguard Workero COMPRESS-131:  ArrayOutOfBounds while decompressing bz2. Added test case - code already seems to have been fixed.
923*ba8755cbSAndroid Build Coastguard Workero COMPRESS-146:  BZip2CompressorInputStream now optionally supports reading of
924*ba8755cbSAndroid Build Coastguard Worker                 concatenated .bz2 files.
925*ba8755cbSAndroid Build Coastguard Workero COMPRESS-154:  GZipCompressorInputStream now optionally supports reading of
926*ba8755cbSAndroid Build Coastguard Worker                 concatenated .gz files.
927*ba8755cbSAndroid Build Coastguard Workero COMPRESS-16:  The tar package can now read archives that use star/GNU/BSD
928*ba8755cbSAndroid Build Coastguard Worker                 extensions for files that are longer than 8 GByte as well as
929*ba8755cbSAndroid Build Coastguard Worker                 archives that use the POSIX/PAX variant.
930*ba8755cbSAndroid Build Coastguard Workero COMPRESS-165:  The tar package can now write archives that use star/GNU/BSD
931*ba8755cbSAndroid Build Coastguard Worker                 extensions for files that are longer than 8 GByte as well as
932*ba8755cbSAndroid Build Coastguard Worker                 archives that use the POSIX/PAX variant.
933*ba8755cbSAndroid Build Coastguard Workero COMPRESS-166:  The tar package can now use the POSIX/PAX variant for writing
934*ba8755cbSAndroid Build Coastguard Worker                 entries with names longer than 100 characters.
935*ba8755cbSAndroid Build Coastguard Worker
936*ba8755cbSAndroid Build Coastguard WorkerRelease 1.3
937*ba8755cbSAndroid Build Coastguard Worker-----------
938*ba8755cbSAndroid Build Coastguard Worker
939*ba8755cbSAndroid Build Coastguard WorkerCommons Compress 1.3 is the first version to require Java5 at runtime.
940*ba8755cbSAndroid Build Coastguard Worker
941*ba8755cbSAndroid Build Coastguard WorkerChanges in this version include:
942*ba8755cbSAndroid Build Coastguard Worker
943*ba8755cbSAndroid Build Coastguard WorkerNew features:
944*ba8755cbSAndroid Build Coastguard Workero Support for the Pack200 format has been added.  Issue: COMPRESS-142.
945*ba8755cbSAndroid Build Coastguard Workero Read-only support for the format used by the Unix dump(8) tool
946*ba8755cbSAndroid Build Coastguard Worker  has been added.  Issue: COMPRESS-132.
947*ba8755cbSAndroid Build Coastguard Worker
948*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
949*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputStream's getBytesRead method always
950*ba8755cbSAndroid Build Coastguard Worker  returned 0.
951*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream and ZipArchiveOutputStream could leak
952*ba8755cbSAndroid Build Coastguard Worker  resources on some JDKs.  Issue: COMPRESS-152.
953*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream's getBytesWritten method didn't count
954*ba8755cbSAndroid Build Coastguard Worker  correctly.  Issue: COMPRESS-160.
955*ba8755cbSAndroid Build Coastguard Worker
956*ba8755cbSAndroid Build Coastguard WorkerChanges:
957*ba8755cbSAndroid Build Coastguard Workero The ZIP package now supports Zip64 extensions.  Issue: COMPRESS-36.
958*ba8755cbSAndroid Build Coastguard Workero The AR package now supports the BSD dialect of storing file
959*ba8755cbSAndroid Build Coastguard Worker  names longer than 16 chars (both reading and writing).
960*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-144.
961*ba8755cbSAndroid Build Coastguard Worker
962*ba8755cbSAndroid Build Coastguard WorkerRelease 1.2
963*ba8755cbSAndroid Build Coastguard Worker-----------
964*ba8755cbSAndroid Build Coastguard Worker
965*ba8755cbSAndroid Build Coastguard WorkerNew features:
966*ba8755cbSAndroid Build Coastguard Workero COMPRESS-123:  ZipArchiveEntry has a new method getRawName that provides the
967*ba8755cbSAndroid Build Coastguard Worker        original bytes that made up the name.  This may allow user
968*ba8755cbSAndroid Build Coastguard Worker        code to detect the encoding.
969*ba8755cbSAndroid Build Coastguard Workero COMPRESS-122:  TarArchiveEntry provides access to the flags that determine
970*ba8755cbSAndroid Build Coastguard Worker        whether it is an archived symbolic link, pipe or other
971*ba8755cbSAndroid Build Coastguard Worker        "uncommon" file system object.
972*ba8755cbSAndroid Build Coastguard Worker
973*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
974*ba8755cbSAndroid Build Coastguard Workero COMPRESS-129:  ZipArchiveInputStream could fail with a "Truncated ZIP" error
975*ba8755cbSAndroid Build Coastguard Worker        message for entries between 2 GByte and 4 GByte in size.
976*ba8755cbSAndroid Build Coastguard Workero COMPRESS-145:  TarArchiveInputStream now detects sparse entries using the
977*ba8755cbSAndroid Build Coastguard Worker        oldgnu format and properly reports it cannot extract their
978*ba8755cbSAndroid Build Coastguard Worker        contents.
979*ba8755cbSAndroid Build Coastguard Workero COMPRESS-130:  The Javadoc for ZipArchiveInputStream#skip now matches the
980*ba8755cbSAndroid Build Coastguard Worker        implementation, the code has been made more defensive.
981*ba8755cbSAndroid Build Coastguard Workero COMPRESS-140:  ArArchiveInputStream fails if entries contain only blanks for
982*ba8755cbSAndroid Build Coastguard Worker        userId or groupId. Thanks to Trejkaz.
983*ba8755cbSAndroid Build Coastguard Workero COMPRESS-139:  ZipFile may leak resources on some JDKs.
984*ba8755cbSAndroid Build Coastguard Workero COMPRESS-125:  BZip2CompressorInputStream throws IOException if
985*ba8755cbSAndroid Build Coastguard Worker        underlying stream returns available() == 0.
986*ba8755cbSAndroid Build Coastguard Worker        Removed the check.
987*ba8755cbSAndroid Build Coastguard Workero COMPRESS-127:  Calling close() on inputStream returned by
988*ba8755cbSAndroid Build Coastguard Worker        CompressorStreamFactory.createCompressorInputStream()
989*ba8755cbSAndroid Build Coastguard Worker        does not close the underlying input stream.
990*ba8755cbSAndroid Build Coastguard Workero COMPRESS-119:  TarArchiveOutputStream#finish now writes all buffered
991*ba8755cbSAndroid Build Coastguard Worker        data to the stream
992*ba8755cbSAndroid Build Coastguard Worker
993*ba8755cbSAndroid Build Coastguard WorkerChanges:
994*ba8755cbSAndroid Build Coastguard Workero ZipFile now implements finalize which closes the underlying
995*ba8755cbSAndroid Build Coastguard Worker        file.
996*ba8755cbSAndroid Build Coastguard Workero COMPRESS-117:  Certain tar files not recognised by
997*ba8755cbSAndroid Build Coastguard Worker        ArchiveStreamFactory.
998*ba8755cbSAndroid Build Coastguard Worker
999*ba8755cbSAndroid Build Coastguard WorkerRelease 1.1
1000*ba8755cbSAndroid Build Coastguard Worker-----------
1001*ba8755cbSAndroid Build Coastguard Worker
1002*ba8755cbSAndroid Build Coastguard WorkerNew features:
1003*ba8755cbSAndroid Build Coastguard Workero COMPRESS-108:  Command-line interface to list archive contents.
1004*ba8755cbSAndroid Build Coastguard Worker       Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc]
1005*ba8755cbSAndroid Build Coastguard Workero COMPRESS-109:  Tar implementation does not support Pax headers
1006*ba8755cbSAndroid Build Coastguard Worker       Added support for reading pax headers.
1007*ba8755cbSAndroid Build Coastguard Worker       Note: does not support global pax headers
1008*ba8755cbSAndroid Build Coastguard Workero COMPRESS-103:  ZipArchiveInputStream can optionally extract data that used
1009*ba8755cbSAndroid Build Coastguard Worker        the STORED compression method and a data descriptor.
1010*ba8755cbSAndroid Build Coastguard Worker        Doing so in a stream is not safe in general, so you have to
1011*ba8755cbSAndroid Build Coastguard Worker        explicitly enable the feature.  By default the stream will
1012*ba8755cbSAndroid Build Coastguard Worker        throw an exception if it encounters such an entry.
1013*ba8755cbSAndroid Build Coastguard Workero COMPRESS-98:  The ZIP classes will throw specialized exceptions if any
1014*ba8755cbSAndroid Build Coastguard Worker        attempt is made to read or write data that uses zip features
1015*ba8755cbSAndroid Build Coastguard Worker        not supported (yet).
1016*ba8755cbSAndroid Build Coastguard Workero COMPRESS-99:  ZipFile#getEntries returns entries in a predictable order -
1017*ba8755cbSAndroid Build Coastguard Worker        the order they appear inside the central directory.
1018*ba8755cbSAndroid Build Coastguard Worker        A new method getEntriesInPhysicalOrder returns entries in
1019*ba8755cbSAndroid Build Coastguard Worker        order of the entry data, i.e. the order ZipArchiveInputStream
1020*ba8755cbSAndroid Build Coastguard Worker        would see.
1021*ba8755cbSAndroid Build Coastguard Workero The Archive*Stream and ZipFile classes now have
1022*ba8755cbSAndroid Build Coastguard Worker        can(Read|Write)EntryData methods that can be used to check
1023*ba8755cbSAndroid Build Coastguard Worker        whether a given entry's data can be read/written.
1024*ba8755cbSAndroid Build Coastguard Worker        The method currently returns false for ZIP archives if an
1025*ba8755cbSAndroid Build Coastguard Worker        entry uses an unsupported compression method or encryption.
1026*ba8755cbSAndroid Build Coastguard Workero COMPRESS-89:  The ZIP classes now detect encrypted entries.
1027*ba8755cbSAndroid Build Coastguard Workero COMPRESS-97:  Added autodetection of compression format to
1028*ba8755cbSAndroid Build Coastguard Worker        CompressorStreamFactory.
1029*ba8755cbSAndroid Build Coastguard Workero COMPRESS-95:  Improve ExceptionMessages in ArchiveStreamFactory Thanks to Joerg Bellmann.
1030*ba8755cbSAndroid Build Coastguard Workero A new constructor of TarArchiveEntry can create entries with
1031*ba8755cbSAndroid Build Coastguard Worker        names that start with slashes - the default is to strip
1032*ba8755cbSAndroid Build Coastguard Worker        leading slashes in order to create relative path names.
1033*ba8755cbSAndroid Build Coastguard Workero ArchiveEntry now has a getLastModifiedDate method.
1034*ba8755cbSAndroid Build Coastguard Workero COMPRESS-78:  Add a BZip2Utils class modelled after GZipUtils Thanks to Jukka Zitting.
1035*ba8755cbSAndroid Build Coastguard Worker
1036*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
1037*ba8755cbSAndroid Build Coastguard Workero COMPRESS-72:  Move acknowledgements from NOTICE to README
1038*ba8755cbSAndroid Build Coastguard Workero COMPRESS-113:  TarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size
1039*ba8755cbSAndroid Build Coastguard Workero COMPRESS-118:  TarUtils.parseName does not properly handle characters outside the range 0-127
1040*ba8755cbSAndroid Build Coastguard Workero COMPRESS-107:  ArchiveStreamFactory does not recognise tar files created by Ant
1041*ba8755cbSAndroid Build Coastguard Workero COMPRESS-110:  Support "ustar" prefix field, which is used when file paths are longer
1042*ba8755cbSAndroid Build Coastguard Worker       than 100 characters.
1043*ba8755cbSAndroid Build Coastguard Workero COMPRESS-100:  ZipArchiveInputStream will throw an exception if it detects an
1044*ba8755cbSAndroid Build Coastguard Worker        entry that uses a data descriptor for a STORED entry since it
1045*ba8755cbSAndroid Build Coastguard Worker        cannot reliably find the end of data for this "compression"
1046*ba8755cbSAndroid Build Coastguard Worker        method.
1047*ba8755cbSAndroid Build Coastguard Workero COMPRESS-101:  ZipArchiveInputStream should now properly read archives that
1048*ba8755cbSAndroid Build Coastguard Worker        use data descriptors but without the "unofficial" signature.
1049*ba8755cbSAndroid Build Coastguard Workero COMPRESS-74:  ZipArchiveInputStream failed to update the number of bytes
1050*ba8755cbSAndroid Build Coastguard Worker        read properly.
1051*ba8755cbSAndroid Build Coastguard Workero ArchiveInputStream has a new method getBytesRead that should
1052*ba8755cbSAndroid Build Coastguard Worker        be preferred over getCount since the later may truncate the
1053*ba8755cbSAndroid Build Coastguard Worker        number of bytes read for big archives.
1054*ba8755cbSAndroid Build Coastguard Workero COMPRESS-85:  The cpio archives created by CpioArchiveOutputStream couldn't
1055*ba8755cbSAndroid Build Coastguard Worker        be read by many existing native implementations because the
1056*ba8755cbSAndroid Build Coastguard Worker        archives contained multiple entries with the same inode/device
1057*ba8755cbSAndroid Build Coastguard Worker        combinations and weren't padded to a blocksize of 512 bytes.
1058*ba8755cbSAndroid Build Coastguard Workero COMPRESS-73:  ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now
1059*ba8755cbSAndroid Build Coastguard Worker        more lenient when parsing extra fields.
1060*ba8755cbSAndroid Build Coastguard Workero COMPRESS-82:  cpio is terribly slow.
1061*ba8755cbSAndroid Build Coastguard Worker        Documented that buffered streams are needed for performance
1062*ba8755cbSAndroid Build Coastguard Workero Improved exception message if the extra field data in ZIP
1063*ba8755cbSAndroid Build Coastguard Worker        archives cannot be parsed.
1064*ba8755cbSAndroid Build Coastguard Workero COMPRESS-17:  Tar format unspecified - current support documented.
1065*ba8755cbSAndroid Build Coastguard Workero COMPRESS-94:  ZipArchiveEntry's equals method was broken for entries created
1066*ba8755cbSAndroid Build Coastguard Worker        with the String-arg constructor.  This lead to broken ZIP
1067*ba8755cbSAndroid Build Coastguard Worker        archives if two different entries had the same hash code. Thanks to Anon Devs.
1068*ba8755cbSAndroid Build Coastguard Workero COMPRESS-87:  ZipArchiveInputStream could repeatedly return 0 on read() when
1069*ba8755cbSAndroid Build Coastguard Worker        the archive was truncated. Thanks to Antoni Mylka.
1070*ba8755cbSAndroid Build Coastguard Workero COMPRESS-86:  Tar archive entries holding the file name for names longer
1071*ba8755cbSAndroid Build Coastguard Worker        than 100 characters in GNU longfile mode didn't properly
1072*ba8755cbSAndroid Build Coastguard Worker        specify they'd be using the "oldgnu" extension.
1073*ba8755cbSAndroid Build Coastguard Workero COMPRESS-83:  Delegate all read and write methods in GZip stream in order to
1074*ba8755cbSAndroid Build Coastguard Worker        speed up operations.
1075*ba8755cbSAndroid Build Coastguard Workero The ar and cpio streams now properly read and write last
1076*ba8755cbSAndroid Build Coastguard Worker        modified times.
1077*ba8755cbSAndroid Build Coastguard Workero COMPRESS-81:  TarOutputStream can leave garbage at the end of the archive
1078*ba8755cbSAndroid Build Coastguard Worker
1079*ba8755cbSAndroid Build Coastguard WorkerChanges:
1080*ba8755cbSAndroid Build Coastguard Workero COMPRESS-112:  ArArchiveInputStream does not handle GNU extended filename records (//)
1081*ba8755cbSAndroid Build Coastguard Workero COMPRESS-105:  Document that the name of an ZipArchiveEntry determines whether
1082*ba8755cbSAndroid Build Coastguard Worker       an entry is considered a directory or not.
1083*ba8755cbSAndroid Build Coastguard Worker       If you don't use the constructor with the File argument the entry's
1084*ba8755cbSAndroid Build Coastguard Worker        name must end in a "/" in order for the entry to be known as a directory.
1085*ba8755cbSAndroid Build Coastguard Workero COMPRESS-79:  Move DOS/Java time conversions into Zip utility class.
1086*ba8755cbSAndroid Build Coastguard Workero COMPRESS-75:  ZipArchiveInputStream does not show location in file
1087*ba8755cbSAndroid Build Coastguard Worker       where a problem occurred.
1088*ba8755cbSAndroid Build Coastguard Worker
1089