xref: /aosp_15_r20/external/apache-commons-compress/src/changes/release-notes.vm (revision ba8755cb0ae00084b4d58129cd522613d3299f27)
1*ba8755cbSAndroid Build Coastguard Worker## Licensed to the Apache Software Foundation (ASF) under one
2*ba8755cbSAndroid Build Coastguard Worker## or more contributor license agreements.  See the NOTICE file
3*ba8755cbSAndroid Build Coastguard Worker## distributed with this work for additional information
4*ba8755cbSAndroid Build Coastguard Worker## regarding copyright ownership.  The ASF licenses this file
5*ba8755cbSAndroid Build Coastguard Worker## to you under the Apache License, Version 2.0 (the
6*ba8755cbSAndroid Build Coastguard Worker## "License"); you may not use this file except in compliance
7*ba8755cbSAndroid Build Coastguard Worker## with the License.  You may obtain a copy of the License at
8*ba8755cbSAndroid Build Coastguard Worker##
9*ba8755cbSAndroid Build Coastguard Worker##  http://www.apache.org/licenses/LICENSE-2.0
10*ba8755cbSAndroid Build Coastguard Worker##
11*ba8755cbSAndroid Build Coastguard Worker## Unless required by applicable law or agreed to in writing,
12*ba8755cbSAndroid Build Coastguard Worker## software distributed under the License is distributed on an
13*ba8755cbSAndroid Build Coastguard Worker## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14*ba8755cbSAndroid Build Coastguard Worker## KIND, either express or implied.  See the License for the
15*ba8755cbSAndroid Build Coastguard Worker## specific language governing permissions and limitations
16*ba8755cbSAndroid Build Coastguard Worker## under the License.
17*ba8755cbSAndroid Build Coastguard Worker              ${project.name} RELEASE NOTES
18*ba8755cbSAndroid Build Coastguard Worker
19*ba8755cbSAndroid Build Coastguard Worker$introduction.replaceAll("(?<!\015)\012", "
20*ba8755cbSAndroid Build Coastguard Worker")
21*ba8755cbSAndroid Build Coastguard Worker
22*ba8755cbSAndroid Build Coastguard Worker## N.B. the available variables are described here:
23*ba8755cbSAndroid Build Coastguard Worker## http://maven.apache.org/plugins/maven-changes-plugin/examples/using-a-custom-announcement-template.html
24*ba8755cbSAndroid Build Coastguard Worker## Hack to improve layout: replace all pairs of spaces with a single new-line
25*ba8755cbSAndroid Build Coastguard Worker$release.description.replaceAll("  ", "
26*ba8755cbSAndroid Build Coastguard Worker")
27*ba8755cbSAndroid Build Coastguard Worker
28*ba8755cbSAndroid Build Coastguard Worker## Fix up indentation for multi-line action descriptions
29*ba8755cbSAndroid Build Coastguard Worker#macro ( indent )
30*ba8755cbSAndroid Build Coastguard Worker#set($action=$action.replaceAll("(?m)^  +","  "))
31*ba8755cbSAndroid Build Coastguard Worker#end
32*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions().size() == 0)
33*ba8755cbSAndroid Build Coastguard WorkerNo changes defined in this version.
34*ba8755cbSAndroid Build Coastguard Worker#else
35*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('add').size() !=0)
36*ba8755cbSAndroid Build Coastguard WorkerNew features:
37*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('add'))
38*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows.
39*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n","
40*ba8755cbSAndroid Build Coastguard Worker"))
41*ba8755cbSAndroid Build Coastguard Worker#indent()
42*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue())
43*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue())
44*ba8755cbSAndroid Build Coastguard Worker#else
45*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
46*ba8755cbSAndroid Build Coastguard Worker#end
47*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo())
48*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo())
49*ba8755cbSAndroid Build Coastguard Worker#else
50*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
51*ba8755cbSAndroid Build Coastguard Worker#end
52*ba8755cbSAndroid Build Coastguard Workero ${action}##
53*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "")
54*ba8755cbSAndroid Build Coastguard Worker
55*ba8755cbSAndroid Build Coastguard Worker  Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end
56*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end
57*ba8755cbSAndroid Build Coastguard Worker#end
58*ba8755cbSAndroid Build Coastguard Worker
59*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
60*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
61*ba8755cbSAndroid Build Coastguard Worker#end
62*ba8755cbSAndroid Build Coastguard Worker#end
63*ba8755cbSAndroid Build Coastguard Worker
64*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('fix').size() !=0)
65*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
66*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('fix'))
67*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows.
68*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n","
69*ba8755cbSAndroid Build Coastguard Worker"))
70*ba8755cbSAndroid Build Coastguard Worker#indent()
71*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue())
72*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue())
73*ba8755cbSAndroid Build Coastguard Worker#else
74*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
75*ba8755cbSAndroid Build Coastguard Worker#end
76*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo())
77*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo())
78*ba8755cbSAndroid Build Coastguard Worker#else
79*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
80*ba8755cbSAndroid Build Coastguard Worker#end
81*ba8755cbSAndroid Build Coastguard Workero ${action}##
82*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "")
83*ba8755cbSAndroid Build Coastguard Worker
84*ba8755cbSAndroid Build Coastguard Worker  Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end
85*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end
86*ba8755cbSAndroid Build Coastguard Worker#end
87*ba8755cbSAndroid Build Coastguard Worker
88*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
89*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
90*ba8755cbSAndroid Build Coastguard Worker#end
91*ba8755cbSAndroid Build Coastguard Worker#end
92*ba8755cbSAndroid Build Coastguard Worker
93*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('update').size() !=0)
94*ba8755cbSAndroid Build Coastguard WorkerChanges:
95*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('update'))
96*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows.
97*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n","
98*ba8755cbSAndroid Build Coastguard Worker"))
99*ba8755cbSAndroid Build Coastguard Worker#indent()
100*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue())
101*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue())
102*ba8755cbSAndroid Build Coastguard Worker#else
103*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
104*ba8755cbSAndroid Build Coastguard Worker#end
105*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo())
106*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo())
107*ba8755cbSAndroid Build Coastguard Worker#else
108*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
109*ba8755cbSAndroid Build Coastguard Worker#end
110*ba8755cbSAndroid Build Coastguard Workero ${action}##
111*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "")
112*ba8755cbSAndroid Build Coastguard Worker
113*ba8755cbSAndroid Build Coastguard Worker  Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end
114*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end
115*ba8755cbSAndroid Build Coastguard Worker#end
116*ba8755cbSAndroid Build Coastguard Worker
117*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
118*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
119*ba8755cbSAndroid Build Coastguard Worker#end
120*ba8755cbSAndroid Build Coastguard Worker#end
121*ba8755cbSAndroid Build Coastguard Worker
122*ba8755cbSAndroid Build Coastguard Worker#if ($release.getActions('remove').size() !=0)
123*ba8755cbSAndroid Build Coastguard WorkerRemoved:
124*ba8755cbSAndroid Build Coastguard Worker#foreach($actionItem in $release.getActions('remove'))
125*ba8755cbSAndroid Build Coastguard Worker## Use replaceAll to fix up LF-only line ends on Windows.
126*ba8755cbSAndroid Build Coastguard Worker#set($action=$actionItem.getAction().replaceAll("\n","
127*ba8755cbSAndroid Build Coastguard Worker"))
128*ba8755cbSAndroid Build Coastguard Worker#indent()
129*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getIssue())
130*ba8755cbSAndroid Build Coastguard Worker#set($issue=$actionItem.getIssue())
131*ba8755cbSAndroid Build Coastguard Worker#else
132*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
133*ba8755cbSAndroid Build Coastguard Worker#end
134*ba8755cbSAndroid Build Coastguard Worker#if ($actionItem.getDueTo())
135*ba8755cbSAndroid Build Coastguard Worker#set($dueto=$actionItem.getDueTo())
136*ba8755cbSAndroid Build Coastguard Worker#else
137*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
138*ba8755cbSAndroid Build Coastguard Worker#end
139*ba8755cbSAndroid Build Coastguard Workero ${action}##
140*ba8755cbSAndroid Build Coastguard Worker#if($!issue != "")
141*ba8755cbSAndroid Build Coastguard Worker
142*ba8755cbSAndroid Build Coastguard Worker  Issue: $issue. #if($!dueto != "")Thanks to $dueto. #end
143*ba8755cbSAndroid Build Coastguard Worker#else#if($!dueto != "") Thanks to $dueto. #end
144*ba8755cbSAndroid Build Coastguard Worker#end
145*ba8755cbSAndroid Build Coastguard Worker
146*ba8755cbSAndroid Build Coastguard Worker#set($issue="")
147*ba8755cbSAndroid Build Coastguard Worker#set($dueto="")
148*ba8755cbSAndroid Build Coastguard Worker#end
149*ba8755cbSAndroid Build Coastguard Worker#end
150*ba8755cbSAndroid Build Coastguard Worker## End of main loop
151*ba8755cbSAndroid Build Coastguard Worker#end
152*ba8755cbSAndroid Build Coastguard Worker#macro ( fixurl $url )
153*ba8755cbSAndroid Build Coastguard Worker$url.replaceAll("proper/commons-","")
154*ba8755cbSAndroid Build Coastguard Worker#end
155*ba8755cbSAndroid Build Coastguard WorkerFor complete information on ${project.name}, including instructions
156*ba8755cbSAndroid Build Coastguard Workeron how to submit bug reports, patches, or suggestions for improvement,
157*ba8755cbSAndroid Build Coastguard Workersee the ${project.name} website:
158*ba8755cbSAndroid Build Coastguard Worker
159*ba8755cbSAndroid Build Coastguard Worker#fixurl ( ${project.url} )
160*ba8755cbSAndroid Build Coastguard Worker
161*ba8755cbSAndroid Build Coastguard WorkerOld Release Notes
162*ba8755cbSAndroid Build Coastguard Worker=================
163*ba8755cbSAndroid Build Coastguard Worker
164*ba8755cbSAndroid Build Coastguard WorkerRelease 1.9
165*ba8755cbSAndroid Build Coastguard Worker-----------
166*ba8755cbSAndroid Build Coastguard Worker
167*ba8755cbSAndroid Build Coastguard WorkerNew features:
168*ba8755cbSAndroid Build Coastguard Workero Added support for DEFLATE streams without any gzip framing.
169*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-263.
170*ba8755cbSAndroid Build Coastguard Worker  Thanks to Matthias Stevens.
171*ba8755cbSAndroid Build Coastguard Worker
172*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
173*ba8755cbSAndroid Build Coastguard Workero When reading 7z files unknown file properties and properties of type
174*ba8755cbSAndroid Build Coastguard Worker  kDummy are now ignored.
175*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-287.
176*ba8755cbSAndroid Build Coastguard Workero Expanding 7z archives using LZMA compression could cause an
177*ba8755cbSAndroid Build Coastguard Worker  EOFException.
178*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-286.
179*ba8755cbSAndroid Build Coastguard Workero Long-Name and -link or PAX-header entries in TAR archives always had
180*ba8755cbSAndroid Build Coastguard Worker  the current time as last modfication time, creating archives that
181*ba8755cbSAndroid Build Coastguard Worker  are different at the byte level each time an archive was built.
182*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-289.
183*ba8755cbSAndroid Build Coastguard Worker  Thanks to Bob Robertson.
184*ba8755cbSAndroid Build Coastguard Worker
185*ba8755cbSAndroid Build Coastguard WorkerChanges:
186*ba8755cbSAndroid Build Coastguard Workero Checking for XZ for Java may be expensive.  The result will now be
187*ba8755cbSAndroid Build Coastguard Worker  cached outside of an OSGi environment.  You can use the new
188*ba8755cbSAndroid Build Coastguard Worker  XZUtils#setCacheXZAvailability to overrride this default behavior.
189*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-285.
190*ba8755cbSAndroid Build Coastguard Worker
191*ba8755cbSAndroid Build Coastguard WorkerRelease 1.8.1
192*ba8755cbSAndroid Build Coastguard Worker-------------
193*ba8755cbSAndroid Build Coastguard Worker
194*ba8755cbSAndroid Build Coastguard WorkerNew features:
195*ba8755cbSAndroid Build Coastguard Workero COMPRESS-272:  CompressorStreamFactory can now auto-detect Unix compress
196*ba8755cbSAndroid Build Coastguard Worker                 (".Z") streams.
197*ba8755cbSAndroid Build Coastguard Worker
198*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
199*ba8755cbSAndroid Build Coastguard Workero COMPRESS-270:  The snappy, ar and tar inputstreams might fail to read from a
200*ba8755cbSAndroid Build Coastguard Worker                 non-buffered stream in certain cases.
201*ba8755cbSAndroid Build Coastguard Workero COMPRESS-277:  IOUtils#skip might skip fewer bytes than requested even though
202*ba8755cbSAndroid Build Coastguard Worker                 more could be read from the stream.
203*ba8755cbSAndroid Build Coastguard Workero COMPRESS-276:  ArchiveStreams now validate there is a current entry before
204*ba8755cbSAndroid Build Coastguard Worker                 reading or writing entry data.
205*ba8755cbSAndroid Build Coastguard Workero ArjArchiveInputStream#canReadEntryData tested the current
206*ba8755cbSAndroid Build Coastguard Worker                 entry of the stream rather than its argument.
207*ba8755cbSAndroid Build Coastguard Workero COMPRESS-274:  ChangeSet#delete and deleteDir now properly deal with unnamed
208*ba8755cbSAndroid Build Coastguard Worker                 entries.
209*ba8755cbSAndroid Build Coastguard Workero COMPRESS-273:  Added a few null checks to improve robustness.
210*ba8755cbSAndroid Build Coastguard Workero COMPRESS-278:  TarArchiveInputStream failed to read archives with empty
211*ba8755cbSAndroid Build Coastguard Worker                 gid/uid fields.
212*ba8755cbSAndroid Build Coastguard Workero COMPRESS-279:  TarArchiveInputStream now again throws an exception when it
213*ba8755cbSAndroid Build Coastguard Worker                 encounters a truncated archive while reading from the last
214*ba8755cbSAndroid Build Coastguard Worker                 entry.
215*ba8755cbSAndroid Build Coastguard Workero COMPRESS-280:  Adapted TarArchiveInputStream#skip to the modified
216*ba8755cbSAndroid Build Coastguard Worker                 IOUtils#skip method. Thanks to BELUGA BEHR.
217*ba8755cbSAndroid Build Coastguard Worker
218*ba8755cbSAndroid Build Coastguard WorkerChanges:
219*ba8755cbSAndroid Build Coastguard Workero The dependency on org.tukaani:xz is now marked as optional.
220*ba8755cbSAndroid Build Coastguard Worker
221*ba8755cbSAndroid Build Coastguard WorkerRelease 1.8
222*ba8755cbSAndroid Build Coastguard Worker-----------
223*ba8755cbSAndroid Build Coastguard Worker
224*ba8755cbSAndroid Build Coastguard WorkerNew features:
225*ba8755cbSAndroid Build Coastguard Workero GzipCompressorInputStream now provides access to the same
226*ba8755cbSAndroid Build Coastguard Worker  metadata that can be provided via GzipParameters when writing
227*ba8755cbSAndroid Build Coastguard Worker  a gzip stream.
228*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-260.
229*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile now supports chaining multiple
230*ba8755cbSAndroid Build Coastguard Worker  compression/encryption/filter methods and passing options to
231*ba8755cbSAndroid Build Coastguard Worker  the methods.
232*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-266.
233*ba8755cbSAndroid Build Coastguard Workero The (compression) method(s) can now be specified per entry in
234*ba8755cbSAndroid Build Coastguard Worker  SevenZOutputFile.
235*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-261.
236*ba8755cbSAndroid Build Coastguard Workero SevenZArchiveEntry "knows" which method(s) have been used to
237*ba8755cbSAndroid Build Coastguard Worker  write it to the archive.
238*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-258.
239*ba8755cbSAndroid Build Coastguard Workero The 7z package now supports the delta filter as method.
240*ba8755cbSAndroid Build Coastguard Workero The 7z package now supports BCJ filters for several platforms.
241*ba8755cbSAndroid Build Coastguard Worker  You will need a version >= 1.5 of XZ for Java to read archives
242*ba8755cbSAndroid Build Coastguard Worker  using BCJ, though.
243*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-257.
244*ba8755cbSAndroid Build Coastguard Worker
245*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
246*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputStream read fewer bytes than possible from
247*ba8755cbSAndroid Build Coastguard Worker  a truncated stream.
248*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-253.
249*ba8755cbSAndroid Build Coastguard Workero SevenZFile failed claiming the dictionary was too large when
250*ba8755cbSAndroid Build Coastguard Worker  archives used LZMA compression for headers and content and
251*ba8755cbSAndroid Build Coastguard Worker  certain non-default dictionary sizes.
252*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-253.
253*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory.createCompressorInputStream with
254*ba8755cbSAndroid Build Coastguard Worker  explicit compression did not honor decompressConcatenated
255*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-259.
256*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream will now read archives created by tar
257*ba8755cbSAndroid Build Coastguard Worker  implementations that encode big numbers by not adding a
258*ba8755cbSAndroid Build Coastguard Worker  trailing NUL.
259*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-262.
260*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream would return NUL bytes for the first 512
261*ba8755cbSAndroid Build Coastguard Worker  bytes of a STORED entry if it was the very first entry of the
262*ba8755cbSAndroid Build Coastguard Worker  archive.
263*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-264.
264*ba8755cbSAndroid Build Coastguard Workero When writing PAX/POSIX headers for TAR entries with
265*ba8755cbSAndroid Build Coastguard Worker  backslashes or certain non-ASCII characters in their name
266*ba8755cbSAndroid Build Coastguard Worker  TarArchiveOutputStream could fail.
267*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-265.
268*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory now throws a StreamingNotSupported - a
269*ba8755cbSAndroid Build Coastguard Worker  new subclass of ArchiveException - if it is asked to read from
270*ba8755cbSAndroid Build Coastguard Worker  or write to a stream and Commons Compress doesn't support
271*ba8755cbSAndroid Build Coastguard Worker  streaming for the format.  This currently only applies to the
272*ba8755cbSAndroid Build Coastguard Worker  7z format.
273*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-267.
274*ba8755cbSAndroid Build Coastguard Worker
275*ba8755cbSAndroid Build Coastguard WorkerRelease 1.7
276*ba8755cbSAndroid Build Coastguard Worker-----------
277*ba8755cbSAndroid Build Coastguard Worker
278*ba8755cbSAndroid Build Coastguard WorkerNew features:
279*ba8755cbSAndroid Build Coastguard Workero Read-Only support for Snappy compression.
280*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-147. Thanks to BELUGA BEHR.
281*ba8755cbSAndroid Build Coastguard Workero Read-Only support for .Z compressed files.
282*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-243. Thanks to Damjan Jovanovic.
283*ba8755cbSAndroid Build Coastguard Workero ZipFile and ZipArchiveInputStream now support reading entries
284*ba8755cbSAndroid Build Coastguard Worker  compressed using the SHRINKING method. Thanks to Damjan Jovanovic.
285*ba8755cbSAndroid Build Coastguard Workero GzipCompressorOutputStream now supports setting the compression
286*ba8755cbSAndroid Build Coastguard Worker  level and the header metadata (filename, comment, modification time,
287*ba8755cbSAndroid Build Coastguard Worker  operating system and extra flags)
288*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-250. Thanks to Emmanuel Bourg.
289*ba8755cbSAndroid Build Coastguard Workero ZipFile and ZipArchiveInputStream now support reading entries
290*ba8755cbSAndroid Build Coastguard Worker  compressed using the IMPLODE method.
291*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-115. Thanks to Emmanuel Bourg.
292*ba8755cbSAndroid Build Coastguard Workero ZipFile and the 7z file classes now implement Closeable and can be
293*ba8755cbSAndroid Build Coastguard Worker  used in try-with-resources constructs.
294*ba8755cbSAndroid Build Coastguard Worker
295*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
296*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile#closeArchiveEntry throws an exception when using
297*ba8755cbSAndroid Build Coastguard Worker  LZMA2 compression on Java8.  Issue: COMPRESS-241.
298*ba8755cbSAndroid Build Coastguard Workero 7z reading of big 64bit values could be wrong.
299*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-244. Thanks to Nico Kruber.
300*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream could fail to read an archive completely.
301*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-245.
302*ba8755cbSAndroid Build Coastguard Workero The time-setters in X5455_ExtendedTimestamp now set the
303*ba8755cbSAndroid Build Coastguard Worker  corresponding flags explicitly - i.e. they set the bit if the valus
304*ba8755cbSAndroid Build Coastguard Worker  is not-null and reset it otherwise.  This may cause
305*ba8755cbSAndroid Build Coastguard Worker  incompatibilities if you use setFlags to unset a bit and later set
306*ba8755cbSAndroid Build Coastguard Worker  the time to a non-null value - the flag will now be set.
307*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-242.
308*ba8755cbSAndroid Build Coastguard Workero SevenZOutputFile would create invalid archives if more than six
309*ba8755cbSAndroid Build Coastguard Worker  empty files or directories were included.  Issue: COMPRESS-252.
310*ba8755cbSAndroid Build Coastguard Worker
311*ba8755cbSAndroid Build Coastguard WorkerRelease 1.6
312*ba8755cbSAndroid Build Coastguard Worker-----------
313*ba8755cbSAndroid Build Coastguard Worker
314*ba8755cbSAndroid Build Coastguard WorkerVersion 1.6 introduces changes to the internal API of the tar package that
315*ba8755cbSAndroid Build Coastguard Workerbreak backwards compatibility in the following rare cases.  This version
316*ba8755cbSAndroid Build Coastguard Workerremoves the package private TarBuffer class along with the protected "buffer"
317*ba8755cbSAndroid Build Coastguard Workermembers in TarArchiveInputStream and TarArchiveOutputStream.  This change will
318*ba8755cbSAndroid Build Coastguard Workeronly affect you if you have created a subclass of one of the stream classes
319*ba8755cbSAndroid Build Coastguard Workerand accessed the buffer member or directly used the TarBuffer class.
320*ba8755cbSAndroid Build Coastguard Worker
321*ba8755cbSAndroid Build Coastguard WorkerChanges in this version include:
322*ba8755cbSAndroid Build Coastguard Worker
323*ba8755cbSAndroid Build Coastguard WorkerNew features:
324*ba8755cbSAndroid Build Coastguard Workero Added support for 7z archives.  Most compression algorithms
325*ba8755cbSAndroid Build Coastguard Worker  can be read and written, LZMA and encryption are only
326*ba8755cbSAndroid Build Coastguard Worker  supported when reading.  Issue: COMPRESS-54. Thanks to Damjan Jovanovic.
327*ba8755cbSAndroid Build Coastguard Workero Added read-only support for ARJ archives that don't use
328*ba8755cbSAndroid Build Coastguard Worker  compression.  Issue: COMPRESS-226. Thanks to Damjan Jovanovic.
329*ba8755cbSAndroid Build Coastguard Workero DumpArchiveInputStream now supports an encoding parameter that
330*ba8755cbSAndroid Build Coastguard Worker  can be used to specify the encoding of file names.
331*ba8755cbSAndroid Build Coastguard Workero The CPIO streams now support an encoding parameter that can be
332*ba8755cbSAndroid Build Coastguard Worker  used to specify the encoding of file names.
333*ba8755cbSAndroid Build Coastguard Workero Read-only support for LZMA standalone compression has been added.
334*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-111.
335*ba8755cbSAndroid Build Coastguard Worker
336*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
337*ba8755cbSAndroid Build Coastguard Workero TarBuffer.tryToConsumeSecondEOFRecord could throw a
338*ba8755cbSAndroid Build Coastguard Worker  NullPointerException  Issue: COMPRESS-223. Thanks to Jeremy Gustie.
339*ba8755cbSAndroid Build Coastguard Workero Parsing of zip64 extra fields has become more lenient in order
340*ba8755cbSAndroid Build Coastguard Worker  to be able to read archives created by DotNetZip and maybe
341*ba8755cbSAndroid Build Coastguard Worker  other archivers as well.  Issue: COMPRESS-228.
342*ba8755cbSAndroid Build Coastguard Workero TAR will now properly read the names of symbolic links with
343*ba8755cbSAndroid Build Coastguard Worker  long names that use the GNU variant to specify the long file
344*ba8755cbSAndroid Build Coastguard Worker  name.  Issue: COMPRESS-229. Thanks to Christoph Gysin.
345*ba8755cbSAndroid Build Coastguard Workero ZipFile#getInputStream could return null if the archive
346*ba8755cbSAndroid Build Coastguard Worker  contained duplicate entries.
347*ba8755cbSAndroid Build Coastguard Worker  The class now also provides two new methods to obtain all
348*ba8755cbSAndroid Build Coastguard Worker  entries of a given name rather than just the first one.
349*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-227.
350*ba8755cbSAndroid Build Coastguard Workero CpioArchiveInputStream failed to read archives created by
351*ba8755cbSAndroid Build Coastguard Worker  Redline RPM.  Issue: COMPRESS-236. Thanks to Andrew Duffy.
352*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream now properly handles link names that
353*ba8755cbSAndroid Build Coastguard Worker  are too long to fit into a traditional TAR header.  Issue:
354*ba8755cbSAndroid Build Coastguard Worker  COMPRESS-237. Thanks to Emmanuel Bourg.
355*ba8755cbSAndroid Build Coastguard Workero The auto-detecting create*InputStream methods of Archive and
356*ba8755cbSAndroid Build Coastguard Worker  CompressorStreamFactory could fail to detect the format of
357*ba8755cbSAndroid Build Coastguard Worker  blocking input streams.  Issue: COMPRESS-239.
358*ba8755cbSAndroid Build Coastguard Worker
359*ba8755cbSAndroid Build Coastguard WorkerChanges:
360*ba8755cbSAndroid Build Coastguard Workero Readabilty patch to TarArchiveInputStream.  Issue:
361*ba8755cbSAndroid Build Coastguard Worker  COMPRESS-232. Thanks to BELUGA BEHR.
362*ba8755cbSAndroid Build Coastguard Workero Performance improvements to TarArchiveInputStream, in
363*ba8755cbSAndroid Build Coastguard Worker  particular to the skip method.  Issue: COMPRESS-234. Thanks to
364*ba8755cbSAndroid Build Coastguard Worker  BELUGA BEHR.
365*ba8755cbSAndroid Build Coastguard Worker
366*ba8755cbSAndroid Build Coastguard WorkerRelease 1.5
367*ba8755cbSAndroid Build Coastguard Worker-----------
368*ba8755cbSAndroid Build Coastguard Worker
369*ba8755cbSAndroid Build Coastguard WorkerNew features:
370*ba8755cbSAndroid Build Coastguard Worker
371*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory has an option to create decompressing
372*ba8755cbSAndroid Build Coastguard Worker  streams that decompress the full input for formats that support
373*ba8755cbSAndroid Build Coastguard Worker  multiple concatenated streams.
374*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-220.
375*ba8755cbSAndroid Build Coastguard Worker
376*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
377*ba8755cbSAndroid Build Coastguard Worker
378*ba8755cbSAndroid Build Coastguard Workero Typo in CompressorStreamFactory Javadoc
379*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-218.
380*ba8755cbSAndroid Build Coastguard Worker  Thanks to Gili.
381*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory's tar stream detection created false positives
382*ba8755cbSAndroid Build Coastguard Worker  for AIFF files.
383*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-191.
384*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
385*ba8755cbSAndroid Build Coastguard Workero XZ for Java didn't provide an OSGi bundle.  Compress' dependency on
386*ba8755cbSAndroid Build Coastguard Worker  it has now been marked optional so Compress itself can still be used
387*ba8755cbSAndroid Build Coastguard Worker  in an OSGi context.
388*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-199.
389*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
390*ba8755cbSAndroid Build Coastguard Workero When specifying the encoding explicitly TarArchiveOutputStream would
391*ba8755cbSAndroid Build Coastguard Worker  write unreadable names in GNU mode or even cause errors in POSIX
392*ba8755cbSAndroid Build Coastguard Worker  mode for file names longer than 66 characters.
393*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-200.
394*ba8755cbSAndroid Build Coastguard Worker  Thanks to Christian Schlichtherle.
395*ba8755cbSAndroid Build Coastguard Workero Writing TAR PAX headers failed if the generated entry name ended
396*ba8755cbSAndroid Build Coastguard Worker  with a "/".
397*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-203.
398*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream sometimes failed to provide input to the
399*ba8755cbSAndroid Build Coastguard Worker  Inflater when it needed it, leading to reads returning 0.
400*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-189.
401*ba8755cbSAndroid Build Coastguard Worker  Thanks to Daniel Lowe.
402*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream ignored the encoding for GNU long name
403*ba8755cbSAndroid Build Coastguard Worker  entries.
404*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-212.
405*ba8755cbSAndroid Build Coastguard Workero TarArchiveInputStream could leave the second EOF record inside the
406*ba8755cbSAndroid Build Coastguard Worker  stream it had just finished reading.
407*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-206.
408*ba8755cbSAndroid Build Coastguard Worker  Thanks to Peter De Maeyer.
409*ba8755cbSAndroid Build Coastguard Workero DumpArchiveInputStream no longer implicitly closes the original
410*ba8755cbSAndroid Build Coastguard Worker  input stream when it reaches the end of the archive.
411*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream now consumes the remainder of the archive when
412*ba8755cbSAndroid Build Coastguard Worker  getNextZipEntry returns null.
413*ba8755cbSAndroid Build Coastguard Workero Unit tests could fail if the source tree was checked out to a
414*ba8755cbSAndroid Build Coastguard Worker  directory tree containign spaces.
415*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-205.
416*ba8755cbSAndroid Build Coastguard Worker  Thanks to Daniel Lowe.
417*ba8755cbSAndroid Build Coastguard Workero Fixed a potential ArrayIndexOutOfBoundsException when reading STORED
418*ba8755cbSAndroid Build Coastguard Worker  entries from ZipArchiveInputStream.
419*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-219.
420*ba8755cbSAndroid Build Coastguard Workero CompressorStreamFactory can now be used without XZ for Java being
421*ba8755cbSAndroid Build Coastguard Worker  available.
422*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-221.
423*ba8755cbSAndroid Build Coastguard Worker
424*ba8755cbSAndroid Build Coastguard WorkerChanges:
425*ba8755cbSAndroid Build Coastguard Worker
426*ba8755cbSAndroid Build Coastguard Workero Improved exception message if a zip archive cannot be read because
427*ba8755cbSAndroid Build Coastguard Worker  of an unsupported compression method.
428*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-188.
429*ba8755cbSAndroid Build Coastguard Worker  Thanks to Harald Kuhn.
430*ba8755cbSAndroid Build Coastguard Workero ArchiveStreamFactory has a setting for file name encoding that sets
431*ba8755cbSAndroid Build Coastguard Worker  up encoding for ZIP and TAR streams.
432*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-192.
433*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
434*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry now has a method to verify its checksum.
435*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-191.
436*ba8755cbSAndroid Build Coastguard Worker  Thanks to Jukka Zitting.
437*ba8755cbSAndroid Build Coastguard Workero Split/spanned ZIP archives are now properly detected by
438*ba8755cbSAndroid Build Coastguard Worker  ArchiveStreamFactory but will cause an
439*ba8755cbSAndroid Build Coastguard Worker  UnsupportedZipFeatureException when read.
440*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream now reads archives that start with a "PK00"
441*ba8755cbSAndroid Build Coastguard Worker  signature.  Archives with this signatures are created when the
442*ba8755cbSAndroid Build Coastguard Worker  archiver was willing to split the archive but in the end only needed
443*ba8755cbSAndroid Build Coastguard Worker  a single segment - so didn't split anything.
444*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-208.
445*ba8755cbSAndroid Build Coastguard Workero TarArchiveEntry has a new constructor that allows setting linkFlag
446*ba8755cbSAndroid Build Coastguard Worker  and preserveLeadingSlashes at the same time.
447*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-201.
448*ba8755cbSAndroid Build Coastguard Workero ChangeSetPerformer has a new perform overload that uses a ZipFile
449*ba8755cbSAndroid Build Coastguard Worker  instance as input.
450*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-159.
451*ba8755cbSAndroid Build Coastguard Workero Garbage collection pressure has been reduced by reusing temporary
452*ba8755cbSAndroid Build Coastguard Worker  byte arrays in classes.
453*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-172.
454*ba8755cbSAndroid Build Coastguard Worker  Thanks to Thomas Mair.
455*ba8755cbSAndroid Build Coastguard Workero Can now handle zip extra field 0x5455 - Extended Timestamp.
456*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-210.
457*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
458*ba8755cbSAndroid Build Coastguard Workero handle zip extra field 0x7875 - Info Zip New Unix Extra Field.
459*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-211.
460*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
461*ba8755cbSAndroid Build Coastguard Workero ZipShort, ZipLong, ZipEightByteInteger should implement Serializable
462*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-213.
463*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
464*ba8755cbSAndroid Build Coastguard Workero better support for unix symlinks in ZipFile entries.
465*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-214.
466*ba8755cbSAndroid Build Coastguard Worker  Thanks to Julius Davies.
467*ba8755cbSAndroid Build Coastguard Workero ZipFile's initialization has been improved for non-Zip64 archives.
468*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-215.
469*ba8755cbSAndroid Build Coastguard Worker  Thanks to Robin Power.
470*ba8755cbSAndroid Build Coastguard Workero Updated XZ for Java dependency to 1.2 as this version provides
471*ba8755cbSAndroid Build Coastguard Worker  proper OSGi manifest attributes.
472*ba8755cbSAndroid Build Coastguard Worker
473*ba8755cbSAndroid Build Coastguard WorkerRelease 1.4.1
474*ba8755cbSAndroid Build Coastguard Worker-------------
475*ba8755cbSAndroid Build Coastguard Worker
476*ba8755cbSAndroid Build Coastguard WorkerThis is a security bugfix release, see
477*ba8755cbSAndroid Build Coastguard Workerhttps://commons.apache.org/proper/commons-compress/security.html#Fixed_in_Apache_Commons_Compress_1.4.1
478*ba8755cbSAndroid Build Coastguard Worker
479*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
480*ba8755cbSAndroid Build Coastguard Worker
481*ba8755cbSAndroid Build Coastguard Workero Ported libbzip2's fallback sort algorithm to
482*ba8755cbSAndroid Build Coastguard Worker  BZip2CompressorOutputStream to speed up compression in certain
483*ba8755cbSAndroid Build Coastguard Worker  edge cases.
484*ba8755cbSAndroid Build Coastguard Worker
485*ba8755cbSAndroid Build Coastguard WorkerRelease 1.4
486*ba8755cbSAndroid Build Coastguard Worker-----------
487*ba8755cbSAndroid Build Coastguard Worker
488*ba8755cbSAndroid Build Coastguard WorkerNew features:
489*ba8755cbSAndroid Build Coastguard Workero COMPRESS-156:  Support for the XZ format has been added.
490*ba8755cbSAndroid Build Coastguard Worker
491*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
492*ba8755cbSAndroid Build Coastguard Workero COMPRESS-183:  The tar package now allows the encoding of file names to be
493*ba8755cbSAndroid Build Coastguard Worker                 specified and can optionally use PAX extension headers to
494*ba8755cbSAndroid Build Coastguard Worker                 write non-ASCII file names.
495*ba8755cbSAndroid Build Coastguard Worker                 The stream classes now write (or expect to read) archives that
496*ba8755cbSAndroid Build Coastguard Worker                 use the platform's native encoding for file names.  Apache
497*ba8755cbSAndroid Build Coastguard Worker                 Commons Compress 1.3 used to strip everything but the lower
498*ba8755cbSAndroid Build Coastguard Worker                 eight bits of each character which effectively only worked for
499*ba8755cbSAndroid Build Coastguard Worker                 ASCII and ISO-8859-1 file names.
500*ba8755cbSAndroid Build Coastguard Worker                 This new default behavior is a breaking change.
501*ba8755cbSAndroid Build Coastguard Workero COMPRESS-184:  TarArchiveInputStream failed to parse PAX headers that
502*ba8755cbSAndroid Build Coastguard Worker                 contained non-ASCII characters.
503*ba8755cbSAndroid Build Coastguard Workero COMPRESS-178:  TarArchiveInputStream throws IllegalArgumentException instead of IOException
504*ba8755cbSAndroid Build Coastguard Workero COMPRESS-179:  TarUtils.formatLongOctalOrBinaryBytes() assumes the field will be 12 bytes long
505*ba8755cbSAndroid Build Coastguard Workero COMPRESS-175:  GNU Tar sometimes uses binary encoding for UID and GID
506*ba8755cbSAndroid Build Coastguard Workero COMPRESS-171:  ArchiveStreamFactory.createArchiveInputStream would claim
507*ba8755cbSAndroid Build Coastguard Worker                 short text files were TAR archives.
508*ba8755cbSAndroid Build Coastguard Workero COMPRESS-164:  ZipFile didn't work properly for archives using unicode extra
509*ba8755cbSAndroid Build Coastguard Worker                 fields rather than UTF-8 filenames and the EFS-Flag.
510*ba8755cbSAndroid Build Coastguard Workero COMPRESS-169:  For corrupt archives ZipFile would throw a RuntimeException in
511*ba8755cbSAndroid Build Coastguard Worker                 some cases and an IOException in others.  It will now
512*ba8755cbSAndroid Build Coastguard Worker                 consistently throw an IOException.
513*ba8755cbSAndroid Build Coastguard Worker
514*ba8755cbSAndroid Build Coastguard WorkerChanges:
515*ba8755cbSAndroid Build Coastguard Workero COMPRESS-182:  The tar package can now write archives that use star/GNU/BSD
516*ba8755cbSAndroid Build Coastguard Worker                 extensions or use the POSIX/PAX variant to store numeric
517*ba8755cbSAndroid Build Coastguard Worker                 values that don't fit into the traditional header fields.
518*ba8755cbSAndroid Build Coastguard Workero COMPRESS-181:  Added a workaround for a Bug some tar implementations that add
519*ba8755cbSAndroid Build Coastguard Worker                 a NUL byte as first byte in numeric header fields.
520*ba8755cbSAndroid Build Coastguard Workero COMPRESS-176:  Added a workaround for a Bug in WinZIP which uses backslashes
521*ba8755cbSAndroid Build Coastguard Worker                 as path separators in Unicode Extra Fields.
522*ba8755cbSAndroid Build Coastguard Workero COMPRESS-131:  ArrayOutOfBounds while decompressing bz2. Added test case - code already seems to have been fixed.
523*ba8755cbSAndroid Build Coastguard Workero COMPRESS-146:  BZip2CompressorInputStream now optionally supports reading of
524*ba8755cbSAndroid Build Coastguard Worker                 concatenated .bz2 files.
525*ba8755cbSAndroid Build Coastguard Workero COMPRESS-154:  GZipCompressorInputStream now optionally supports reading of
526*ba8755cbSAndroid Build Coastguard Worker                 concatenated .gz files.
527*ba8755cbSAndroid Build Coastguard Workero COMPRESS-16:  The tar package can now read archives that use star/GNU/BSD
528*ba8755cbSAndroid Build Coastguard Worker                 extensions for files that are longer than 8 GByte as well as
529*ba8755cbSAndroid Build Coastguard Worker                 archives that use the POSIX/PAX variant.
530*ba8755cbSAndroid Build Coastguard Workero COMPRESS-165:  The tar package can now write archives that use star/GNU/BSD
531*ba8755cbSAndroid Build Coastguard Worker                 extensions for files that are longer than 8 GByte as well as
532*ba8755cbSAndroid Build Coastguard Worker                 archives that use the POSIX/PAX variant.
533*ba8755cbSAndroid Build Coastguard Workero COMPRESS-166:  The tar package can now use the POSIX/PAX variant for writing
534*ba8755cbSAndroid Build Coastguard Worker                 entries with names longer than 100 characters.
535*ba8755cbSAndroid Build Coastguard Worker
536*ba8755cbSAndroid Build Coastguard WorkerRelease 1.3
537*ba8755cbSAndroid Build Coastguard Worker-----------
538*ba8755cbSAndroid Build Coastguard Worker
539*ba8755cbSAndroid Build Coastguard WorkerCommons Compress 1.3 is the first version to require Java5 at runtime.
540*ba8755cbSAndroid Build Coastguard Worker
541*ba8755cbSAndroid Build Coastguard WorkerChanges in this version include:
542*ba8755cbSAndroid Build Coastguard Worker
543*ba8755cbSAndroid Build Coastguard WorkerNew features:
544*ba8755cbSAndroid Build Coastguard Workero Support for the Pack200 format has been added.  Issue: COMPRESS-142.
545*ba8755cbSAndroid Build Coastguard Workero Read-only support for the format used by the Unix dump(8) tool
546*ba8755cbSAndroid Build Coastguard Worker  has been added.  Issue: COMPRESS-132.
547*ba8755cbSAndroid Build Coastguard Worker
548*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
549*ba8755cbSAndroid Build Coastguard Workero BZip2CompressorInputStream's getBytesRead method always
550*ba8755cbSAndroid Build Coastguard Worker  returned 0.
551*ba8755cbSAndroid Build Coastguard Workero ZipArchiveInputStream and ZipArchiveOutputStream could leak
552*ba8755cbSAndroid Build Coastguard Worker  resources on some JDKs.  Issue: COMPRESS-152.
553*ba8755cbSAndroid Build Coastguard Workero TarArchiveOutputStream's getBytesWritten method didn't count
554*ba8755cbSAndroid Build Coastguard Worker  correctly.  Issue: COMPRESS-160.
555*ba8755cbSAndroid Build Coastguard Worker
556*ba8755cbSAndroid Build Coastguard WorkerChanges:
557*ba8755cbSAndroid Build Coastguard Workero The ZIP package now supports Zip64 extensions.  Issue: COMPRESS-36.
558*ba8755cbSAndroid Build Coastguard Workero The AR package now supports the BSD dialect of storing file
559*ba8755cbSAndroid Build Coastguard Worker  names longer than 16 chars (both reading and writing).
560*ba8755cbSAndroid Build Coastguard Worker  Issue: COMPRESS-144.
561*ba8755cbSAndroid Build Coastguard Worker
562*ba8755cbSAndroid Build Coastguard WorkerRelease 1.2
563*ba8755cbSAndroid Build Coastguard Worker-----------
564*ba8755cbSAndroid Build Coastguard Worker
565*ba8755cbSAndroid Build Coastguard WorkerNew features:
566*ba8755cbSAndroid Build Coastguard Workero COMPRESS-123:  ZipArchiveEntry has a new method getRawName that provides the
567*ba8755cbSAndroid Build Coastguard Worker        original bytes that made up the name.  This may allow user
568*ba8755cbSAndroid Build Coastguard Worker        code to detect the encoding.
569*ba8755cbSAndroid Build Coastguard Workero COMPRESS-122:  TarArchiveEntry provides access to the flags that determine
570*ba8755cbSAndroid Build Coastguard Worker        whether it is an archived symbolic link, pipe or other
571*ba8755cbSAndroid Build Coastguard Worker        "uncommon" file system object.
572*ba8755cbSAndroid Build Coastguard Worker
573*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
574*ba8755cbSAndroid Build Coastguard Workero COMPRESS-129:  ZipArchiveInputStream could fail with a "Truncated ZIP" error
575*ba8755cbSAndroid Build Coastguard Worker        message for entries between 2 GByte and 4 GByte in size.
576*ba8755cbSAndroid Build Coastguard Workero COMPRESS-145:  TarArchiveInputStream now detects sparse entries using the
577*ba8755cbSAndroid Build Coastguard Worker        oldgnu format and properly reports it cannot extract their
578*ba8755cbSAndroid Build Coastguard Worker        contents.
579*ba8755cbSAndroid Build Coastguard Workero COMPRESS-130:  The Javadoc for ZipArchiveInputStream#skip now matches the
580*ba8755cbSAndroid Build Coastguard Worker        implementation, the code has been made more defensive.
581*ba8755cbSAndroid Build Coastguard Workero COMPRESS-140:  ArArchiveInputStream fails if entries contain only blanks for
582*ba8755cbSAndroid Build Coastguard Worker        userId or groupId. Thanks to Trejkaz.
583*ba8755cbSAndroid Build Coastguard Workero COMPRESS-139:  ZipFile may leak resources on some JDKs.
584*ba8755cbSAndroid Build Coastguard Workero COMPRESS-125:  BZip2CompressorInputStream throws IOException if
585*ba8755cbSAndroid Build Coastguard Worker        underlying stream returns available() == 0.
586*ba8755cbSAndroid Build Coastguard Worker        Removed the check.
587*ba8755cbSAndroid Build Coastguard Workero COMPRESS-127:  Calling close() on inputStream returned by
588*ba8755cbSAndroid Build Coastguard Worker        CompressorStreamFactory.createCompressorInputStream()
589*ba8755cbSAndroid Build Coastguard Worker        does not close the underlying input stream.
590*ba8755cbSAndroid Build Coastguard Workero COMPRESS-119:  TarArchiveOutputStream#finish now writes all buffered
591*ba8755cbSAndroid Build Coastguard Worker        data to the stream
592*ba8755cbSAndroid Build Coastguard Worker
593*ba8755cbSAndroid Build Coastguard WorkerChanges:
594*ba8755cbSAndroid Build Coastguard Workero ZipFile now implements finalize which closes the underlying
595*ba8755cbSAndroid Build Coastguard Worker        file.
596*ba8755cbSAndroid Build Coastguard Workero COMPRESS-117:  Certain tar files not recognised by
597*ba8755cbSAndroid Build Coastguard Worker        ArchiveStreamFactory.
598*ba8755cbSAndroid Build Coastguard Worker
599*ba8755cbSAndroid Build Coastguard WorkerRelease 1.1
600*ba8755cbSAndroid Build Coastguard Worker-----------
601*ba8755cbSAndroid Build Coastguard Worker
602*ba8755cbSAndroid Build Coastguard WorkerNew features:
603*ba8755cbSAndroid Build Coastguard Workero COMPRESS-108:  Command-line interface to list archive contents.
604*ba8755cbSAndroid Build Coastguard Worker       Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc]
605*ba8755cbSAndroid Build Coastguard Workero COMPRESS-109:  Tar implementation does not support Pax headers
606*ba8755cbSAndroid Build Coastguard Worker       Added support for reading pax headers.
607*ba8755cbSAndroid Build Coastguard Worker       Note: does not support global pax headers
608*ba8755cbSAndroid Build Coastguard Workero COMPRESS-103:  ZipArchiveInputStream can optionally extract data that used
609*ba8755cbSAndroid Build Coastguard Worker        the STORED compression method and a data descriptor.
610*ba8755cbSAndroid Build Coastguard Worker        Doing so in a stream is not safe in general, so you have to
611*ba8755cbSAndroid Build Coastguard Worker        explicitly enable the feature.  By default the stream will
612*ba8755cbSAndroid Build Coastguard Worker        throw an exception if it encounters such an entry.
613*ba8755cbSAndroid Build Coastguard Workero COMPRESS-98:  The ZIP classes will throw specialized exceptions if any
614*ba8755cbSAndroid Build Coastguard Worker        attempt is made to read or write data that uses zip features
615*ba8755cbSAndroid Build Coastguard Worker        not supported (yet).
616*ba8755cbSAndroid Build Coastguard Workero COMPRESS-99:  ZipFile#getEntries returns entries in a predictable order -
617*ba8755cbSAndroid Build Coastguard Worker        the order they appear inside the central directory.
618*ba8755cbSAndroid Build Coastguard Worker        A new method getEntriesInPhysicalOrder returns entries in
619*ba8755cbSAndroid Build Coastguard Worker        order of the entry data, i.e. the order ZipArchiveInputStream
620*ba8755cbSAndroid Build Coastguard Worker        would see.
621*ba8755cbSAndroid Build Coastguard Workero The Archive*Stream and ZipFile classes now have
622*ba8755cbSAndroid Build Coastguard Worker        can(Read|Write)EntryData methods that can be used to check
623*ba8755cbSAndroid Build Coastguard Worker        whether a given entry's data can be read/written.
624*ba8755cbSAndroid Build Coastguard Worker        The method currently returns false for ZIP archives if an
625*ba8755cbSAndroid Build Coastguard Worker        entry uses an unsupported compression method or encryption.
626*ba8755cbSAndroid Build Coastguard Workero COMPRESS-89:  The ZIP classes now detect encrypted entries.
627*ba8755cbSAndroid Build Coastguard Workero COMPRESS-97:  Added autodetection of compression format to
628*ba8755cbSAndroid Build Coastguard Worker        CompressorStreamFactory.
629*ba8755cbSAndroid Build Coastguard Workero COMPRESS-95:  Improve ExceptionMessages in ArchiveStreamFactory Thanks to Joerg Bellmann.
630*ba8755cbSAndroid Build Coastguard Workero A new constructor of TarArchiveEntry can create entries with
631*ba8755cbSAndroid Build Coastguard Worker        names that start with slashes - the default is to strip
632*ba8755cbSAndroid Build Coastguard Worker        leading slashes in order to create relative path names.
633*ba8755cbSAndroid Build Coastguard Workero ArchiveEntry now has a getLastModifiedDate method.
634*ba8755cbSAndroid Build Coastguard Workero COMPRESS-78:  Add a BZip2Utils class modelled after GZipUtils Thanks to Jukka Zitting.
635*ba8755cbSAndroid Build Coastguard Worker
636*ba8755cbSAndroid Build Coastguard WorkerFixed Bugs:
637*ba8755cbSAndroid Build Coastguard Workero COMPRESS-72:  Move acknowledgements from NOTICE to README
638*ba8755cbSAndroid Build Coastguard Workero COMPRESS-113:  TarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size
639*ba8755cbSAndroid Build Coastguard Workero COMPRESS-118:  TarUtils.parseName does not properly handle characters outside the range 0-127
640*ba8755cbSAndroid Build Coastguard Workero COMPRESS-107:  ArchiveStreamFactory does not recognise tar files created by Ant
641*ba8755cbSAndroid Build Coastguard Workero COMPRESS-110:  Support "ustar" prefix field, which is used when file paths are longer
642*ba8755cbSAndroid Build Coastguard Worker       than 100 characters.
643*ba8755cbSAndroid Build Coastguard Workero COMPRESS-100:  ZipArchiveInputStream will throw an exception if it detects an
644*ba8755cbSAndroid Build Coastguard Worker        entry that uses a data descriptor for a STORED entry since it
645*ba8755cbSAndroid Build Coastguard Worker        cannot reliably find the end of data for this "compression"
646*ba8755cbSAndroid Build Coastguard Worker        method.
647*ba8755cbSAndroid Build Coastguard Workero COMPRESS-101:  ZipArchiveInputStream should now properly read archives that
648*ba8755cbSAndroid Build Coastguard Worker        use data descriptors but without the "unofficial" signature.
649*ba8755cbSAndroid Build Coastguard Workero COMPRESS-74:  ZipArchiveInputStream failed to update the number of bytes
650*ba8755cbSAndroid Build Coastguard Worker        read properly.
651*ba8755cbSAndroid Build Coastguard Workero ArchiveInputStream has a new method getBytesRead that should
652*ba8755cbSAndroid Build Coastguard Worker        be preferred over getCount since the later may truncate the
653*ba8755cbSAndroid Build Coastguard Worker        number of bytes read for big archives.
654*ba8755cbSAndroid Build Coastguard Workero COMPRESS-85:  The cpio archives created by CpioArchiveOutputStream couldn't
655*ba8755cbSAndroid Build Coastguard Worker        be read by many existing native implementations because the
656*ba8755cbSAndroid Build Coastguard Worker        archives contained multiple entries with the same inode/device
657*ba8755cbSAndroid Build Coastguard Worker        combinations and weren't padded to a blocksize of 512 bytes.
658*ba8755cbSAndroid Build Coastguard Workero COMPRESS-73:  ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now
659*ba8755cbSAndroid Build Coastguard Worker        more lenient when parsing extra fields.
660*ba8755cbSAndroid Build Coastguard Workero COMPRESS-82:  cpio is terribly slow.
661*ba8755cbSAndroid Build Coastguard Worker        Documented that buffered streams are needed for performance
662*ba8755cbSAndroid Build Coastguard Workero Improved exception message if the extra field data in ZIP
663*ba8755cbSAndroid Build Coastguard Worker        archives cannot be parsed.
664*ba8755cbSAndroid Build Coastguard Workero COMPRESS-17:  Tar format unspecified - current support documented.
665*ba8755cbSAndroid Build Coastguard Workero COMPRESS-94:  ZipArchiveEntry's equals method was broken for entries created
666*ba8755cbSAndroid Build Coastguard Worker        with the String-arg constructor.  This lead to broken ZIP
667*ba8755cbSAndroid Build Coastguard Worker        archives if two different entries had the same hash code. Thanks to Anon Devs.
668*ba8755cbSAndroid Build Coastguard Workero COMPRESS-87:  ZipArchiveInputStream could repeatedly return 0 on read() when
669*ba8755cbSAndroid Build Coastguard Worker        the archive was truncated. Thanks to Antoni Mylka.
670*ba8755cbSAndroid Build Coastguard Workero COMPRESS-86:  Tar archive entries holding the file name for names longer
671*ba8755cbSAndroid Build Coastguard Worker        than 100 characters in GNU longfile mode didn't properly
672*ba8755cbSAndroid Build Coastguard Worker        specify they'd be using the "oldgnu" extension.
673*ba8755cbSAndroid Build Coastguard Workero COMPRESS-83:  Delegate all read and write methods in GZip stream in order to
674*ba8755cbSAndroid Build Coastguard Worker        speed up operations.
675*ba8755cbSAndroid Build Coastguard Workero The ar and cpio streams now properly read and write last
676*ba8755cbSAndroid Build Coastguard Worker        modified times.
677*ba8755cbSAndroid Build Coastguard Workero COMPRESS-81:  TarOutputStream can leave garbage at the end of the archive
678*ba8755cbSAndroid Build Coastguard Worker
679*ba8755cbSAndroid Build Coastguard WorkerChanges:
680*ba8755cbSAndroid Build Coastguard Workero COMPRESS-112:  ArArchiveInputStream does not handle GNU extended filename records (//)
681*ba8755cbSAndroid Build Coastguard Workero COMPRESS-105:  Document that the name of an ZipArchiveEntry determines whether
682*ba8755cbSAndroid Build Coastguard Worker       an entry is considered a directory or not.
683*ba8755cbSAndroid Build Coastguard Worker       If you don't use the constructor with the File argument the entry's
684*ba8755cbSAndroid Build Coastguard Worker        name must end in a "/" in order for the entry to be known as a directory.
685*ba8755cbSAndroid Build Coastguard Workero COMPRESS-79:  Move DOS/Java time conversions into Zip utility class.
686*ba8755cbSAndroid Build Coastguard Workero COMPRESS-75:  ZipArchiveInputStream does not show location in file
687*ba8755cbSAndroid Build Coastguard Worker       where a problem occurred.
688*ba8755cbSAndroid Build Coastguard Worker
689