blob: c9a7ec1779ef855ad9b7750d60421a715bc2730f [file] [log] [blame]
Siegfried Goeschlf03f2f92009-03-23 14:52:23 +00001<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 Licensed to the Apache Software Foundation (ASF) under one
4 or more contributor license agreements. See the NOTICE file
5 distributed with this work for additional information
6 regarding copyright ownership. The ASF licenses this file
7 to you under the Apache License, Version 2.0 (the
8 "License"); you may not use this file except in compliance
9 with the License. You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing,
14 software distributed under the License is distributed on an
15 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 KIND, either express or implied. See the License for the
17 specific language governing permissions and limitations
18 under the License.
19-->
Sebastian Bazley48882f12010-04-13 21:02:37 +000020
21<!--
22This file is also used by the maven-changes-plugin to generate the release notes.
23Useful ways of finding items to add to this file are:
24
Sebastian Bazley27dea242010-05-10 17:42:37 +0000251. Add items when you fix a bug or add a feature (this makes the
Sebastian Bazley48882f12010-04-13 21:02:37 +000026release process easy :-).
27
282. Do a JIRA search for tickets closed since the previous release.
29
303. Use the report generated by the maven-changelog-plugin to see all
31SVN commits. TBA how to use this with SVN.
32
33To generate the release notes from this file:
34
Sebastian Bazley7badf0e2012-03-31 12:06:33 +000035mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=m.n]
Sebastian Bazley48882f12010-04-13 21:02:37 +000036
37The <action> type attribute can be add,update,fix,remove.
38-->
39
Siegfried Goeschlf03f2f92009-03-23 14:52:23 +000040<document>
41 <properties>
42 <title>commons-compress</title>
Siegfried Goeschlf03f2f92009-03-23 14:52:23 +000043 </properties>
44 <body>
Stefan Bodewiga0a8f3c2014-03-12 22:40:31 +000045 <release version="1.9" date="not released yet"
46 description="Release 1.9">
Emmanuel Bourg61792c92014-03-19 12:28:16 +000047 <action type="update" date="2014-03-19">
48 The dependency on org.tukaani:xz is now marked as optional.
49 </action>
Stefan Bodewig627e1bb2014-03-28 16:29:24 +000050 <action type="fix" date="2014-03-28" issue="COMPRESS-270">
51 The snappy, ar and tar inputstreams might fail to read from a
52 non-buffered stream in certain cases.
53 </action>
Stefan Bodewigc5f9ceb2014-04-12 16:16:53 +000054 <action type="add" date="2014-04-12" issue="COMPRESS-272">
55 CompressorStreamFactory can now auto-detect Unix compress
56 (".Z") streams.
57 </action>
Stefan Bodewigc28a1c02014-04-13 08:34:35 +000058 <action type="fix" date="2014-04-12" issue="COMPRESS-277">
Stefan Bodewig557800a2014-04-12 17:05:57 +000059 IOUtils#skip might skip fewer bytes than requested even though
60 more could be read from the stream.
61 </action>
Stefan Bodewigc28a1c02014-04-13 08:34:35 +000062 <action type="fix" date="2014-04-13" issue="COMPRESS-276">
Stefan Bodewigaa0c7052014-04-13 08:32:47 +000063 ArchiveStreams now validate there is a current entry before
64 rreading or writing entry data.
65 </action>
Stefan Bodewiga1379c02014-04-13 08:38:31 +000066 <action type="fix" date="2014-04-13">
67 ArjArchiveInputStream#canReadEntryData tested the current
68 entry of the stream rather than its argument.
69 </action>
Stefan Bodewig8e5f6652014-04-13 08:56:31 +000070 <action type="fix" date="2014-04-13" issue="COMPRESS-274">
71 ChangeSet#delete and deleteDir now properly deal with unnamed
72 entries.
73 </action>
Stefan Bodewig383d9032014-04-18 14:29:36 +000074 <action type="fix" date="2014-04-18" issue="COMPRESS-273">
Stefan Bodewig5ab06da2014-04-18 14:13:44 +000075 Added a few null checks to improve robustness.
76 </action>
Stefan Bodewiga0a8f3c2014-03-12 22:40:31 +000077 </release>
78 <release version="1.8" date="2014-03-12"
Stefan Bodewigad634c02014-01-20 05:20:29 +000079 description="Release 1.8">
Stefan Bodewig71e4eea2014-01-20 13:26:08 +000080 <action issue="COMPRESS-253" type="fix" date="2014-01-20">
81 BZip2CompressorInputStream read fewer bytes than possible from
82 a truncated stream.
83 </action>
Stefan Bodewigcbb5a1a2014-01-22 05:13:34 +000084 <action issue="COMPRESS-253" type="fix" date="2014-01-22">
85 SevenZFile failed claiming the dictionary was too large when
86 archives used LZMA compression for headers and content and
Stefan Bodewigd3cbe222014-02-22 19:42:23 +000087 certain non-default dictionary sizes.
Stefan Bodewigcbb5a1a2014-01-22 05:13:34 +000088 </action>
Stefan Bodewig07b15a12014-01-24 14:41:14 +000089 <action issue="COMPRESS-259" type="fix" date="2014-01-24">
90 CompressorStreamFactory.createCompressorInputStream with
91 explicit compression did not honor decompressConcatenated
92 </action>
Stefan Bodewig7c068db2014-02-20 16:03:23 +000093 <action issue="COMPRESS-260" type="add" date="2014-02-20">
94 GzipCompressorInputStream now provides access to the same
95 metadata that can be provided via GzipParameters when writing
96 a gzip stream.
97 </action>
Stefan Bodewig8da37722014-02-21 05:20:08 +000098 <action issue="COMPRESS-262" type="fix" date="2014-02-21">
99 TarArchiveInputStream will now read archives created by tar
100 implementations that encode big numbers by not adding a
101 trailing NUL.
102 </action>
Stefan Bodewigaed56112014-02-21 14:21:12 +0000103 <action issue="COMPRESS-264" type="fix" date="2014-02-21">
104 ZipArchiveInputStream would return NUL bytes for the first 512
105 bytes of a STORED entry if it was the very first entry of the
106 archive.
107 </action>
Stefan Bodewigc608c332014-02-22 07:00:42 +0000108 <action issue="COMPRESS-265" type="fix" date="2014-02-22">
109 When writing PAX/POSIX headers for TAR entries with
110 backslashes or certain non-ASCII characters in their name
111 TarArchiveOutputStream could fail.
112 </action>
Stefan Bodewiga99d1e32014-02-22 19:19:30 +0000113 <action issue="COMPRESS-267" type="fix" date="2014-02-22">
114 ArchiveStreamFactory now throws a StreamingNotSupported - a
115 new subclass of ArchiveException - if it is asked to read from
116 or write to a stream and Commons Compress doesn't support
117 streaming for the format. This currently only applies to the
118 7z format.
119 </action>
Stefan Bodewig1144ed72014-02-25 12:10:43 +0000120 <action issue="COMPRESS-266" type="add" date="2014-02-25">
121 SevenZOutputFile now supports chaining multiple
122 compression/encryption/filter methods and passing options to
123 the methods.
124 </action>
Stefan Bodewig845b3702014-02-26 05:05:53 +0000125 <action issue="COMPRESS-261" type="add" date="2014-02-26">
126 The (compression) method(s) can now be specified per entry in
127 SevenZOutputFile.
128 </action>
Stefan Bodewig891f0562014-02-26 20:33:05 +0000129 <action issue="COMPRESS-258" type="add" date="2014-02-26">
130 SevenZArchiveEntry "knows" which method(s) have been used to
131 write it to the archive.
132 </action>
Stefan Bodewige9364362014-02-28 16:05:02 +0000133 <action type="add" date="2014-02-28">
134 The 7z package now supports the delta filter as method.
135 </action>
Stefan Bodewig59c17802014-03-03 11:17:59 +0000136 <action issue="COMPRESS-257" type="add" date="2014-03-03">
137 The 7z package now supports BCJ filters for several platforms.
Stefan Bodewig2db47812014-03-08 17:18:24 +0000138 You will need a version &gt;= 1.5 of XZ for Java to read archives
Stefan Bodewig59c17802014-03-03 11:17:59 +0000139 using BCJ, though.
140 </action>
Stefan Bodewigad634c02014-01-20 05:20:29 +0000141 </release>
142 <release version="1.7" date="2014-01-20"
Stefan Bodewig61741ad2013-10-26 05:19:05 +0000143 description="Release 1.7">
Stefan Bodewigb3302332013-12-06 05:26:38 +0000144 <action issue="COMPRESS-241" type="fix" date="2013-10-27">
Stefan Bodewig46600212013-10-27 17:43:14 +0000145 SevenZOutputFile#closeArchiveEntry throws an exception when
146 using LZMA2 compression on Java8.
147 </action>
Stefan Bodewigb0cd9d42013-12-06 05:33:38 +0000148 <action issue="COMPRESS-147" type="add" date="2013-11-07"
149 due-to="BELUGA BEHR">
150 Read-Only support for Snappy compression.
151 </action>
Stefan Bodewigdb0ea952013-11-27 05:35:26 +0000152 <action issue="COMPRESS-244" type="fix" date="2013-11-27"
153 due-to="Nico Kruber">
154 7z reading of big 64bit values could be wrong.
155 </action>
Stefan Bodewigb0cd9d42013-12-06 05:33:38 +0000156 <action issue="COMPRESS-243" type="add" date="2013-11-30"
157 due-to="Damjan Jovanovic">
158 Read-Only support for .Z compressed files.
159 </action>
Stefan Bodewig408b4a52013-12-15 14:03:43 +0000160 <action type="add" date="2013-12-06" due-to="Damjan Jovanovic">
Emmanuel Bourg1b47ffe2013-12-19 12:30:01 +0000161 ZipFile and ZipArchiveInputStream now support reading entries compressed using the
Stefan Bodewig408b4a52013-12-15 14:03:43 +0000162 SHRINKING method.
163 </action>
Stefan Bodewig2221ee82013-12-06 05:22:12 +0000164 <action issue="COMPRESS-245" type="fix" date="2013-12-06">
165 TarArchiveInputStream could fail to read an archive completely.
166 </action>
Stefan Bodewig09a41992013-12-08 19:14:25 +0000167 <action issue="COMPRESS-242" type="fix" date="2013-12-08">
168 The time-setters in X5455_ExtendedTimestamp now set the
169 corresponding flags explicitly - i.e. they set the bit if the
170 valus is not-null and reset it otherwise. This may cause
171 incompatibilities if you use setFlags to unset a bit and later
172 set the time to a non-null value - the flag will now be set.
173 </action>
Stefan Bodewigd3cbe222014-02-22 19:42:23 +0000174 <action issue="COMPRESS-250" type="add" date="2013-12-16" due-to="Emmanuel Bourg">
Stefan Bodewig30e3ded2013-12-18 14:58:23 +0000175 GzipCompressorOutputStream now supports setting the compression level and the header metadata
176 (filename, comment, modification time, operating system and extra flags)
177 </action>
Stefan Bodewigd3cbe222014-02-22 19:42:23 +0000178 <action issue="COMPRESS-115" type="add" date="2013-12-19" due-to="Emmanuel Bourg">
Emmanuel Bourgf9487ac2013-12-19 16:09:54 +0000179 ZipFile and ZipArchiveInputStream now support reading entries compressed using the IMPLODE method.
180 </action>
Stefan Bodewigd3cbe222014-02-22 19:42:23 +0000181 <action issue="COMPRESS-252" type="fix" date="2013-12-20">
Stefan Bodewig96947342014-01-08 05:18:49 +0000182 SevenZOutputFile would create invalid archives if more than
183 six empty files or directories were included.
184 </action>
Stefan Bodewig34ad7f32013-12-20 14:52:13 +0000185 <action type="add" date="2013-12-20">
186 ZipFile and the 7z file classes now implement Closeable and
187 can be used in try-with-resources constructs.
188 </action>
Stefan Bodewig61741ad2013-10-26 05:19:05 +0000189 </release>
190 <release version="1.6" date="2013-10-26"
Stefan Bodewiga7be29e2013-03-14 08:37:14 +0000191 description="Release 1.6">
Stefan Bodewigd4baeb12013-04-25 13:36:09 +0000192 <action type="fix" date="2013-04-25" issue="COMPRESS-223"
193 due-to="Jeremy Gustie">
194 TarBuffer.tryToConsumeSecondEOFRecord could throw a
195 NullPointerException
196 </action>
Stefan Bodewig026afc52013-06-04 04:26:51 +0000197 <action type="add" date="2013-05-07" issue="COMPRESS-54"
198 due-to="Damjan Jovanovic">
Stefan Bodewig40e16cc2013-09-29 06:35:11 +0000199 Added support for 7z archives. Most compression algorithms
Stefan Bodewigc90c2df2013-10-11 14:27:59 +0000200 can be read and written, LZMA and encryption are only
201 supported when reading.
Stefan Bodewig026afc52013-06-04 04:26:51 +0000202 </action>
203 <action type="add" date="2013-05-19" issue="COMPRESS-226"
204 due-to="Damjan Jovanovic">
205 Added read-only support for ARJ archives that don't use
206 compression.
207 </action>
Stefan Bodewige860d2f2013-05-26 17:36:35 +0000208 <action type="fix" date="2013-05-26" issue="COMPRESS-228">
209 Parsing of zip64 extra fields has become more lenient in order
210 to be able to read archives created by DotNetZip and maybe
211 other archivers as well.
212 </action>
Stefan Bodewig601e4d72013-06-03 09:20:30 +0000213 <action type="fix" date="2013-06-03" issue="COMPRESS-229"
214 due-to="Christoph Gysin">
215 TAR will now properly read the names of symbolic links with
216 long names that use the GNU variant to specify the long file
217 name.
218 </action>
Stefan Bodewig026afc52013-06-04 04:26:51 +0000219 <action type="fix" date="2013-06-04" issue="COMPRESS-227">
Stefan Bodewig866f6d22013-08-09 07:13:06 +0000220 ZipFile#getInputStream could return null if the archive
Stefan Bodewig026afc52013-06-04 04:26:51 +0000221 contained duplicate entries.
222 The class now also provides two new methods to obtain all
223 entries of a given name rather than just the first one.
224 </action>
Stefan Bodewigd57a6622013-07-08 14:25:37 +0000225 <action type="update" date="2013-07-08" issue="COMPRESS-232"
226 due-to="BELUGA BEHR">
227 Readabilty patch to TarArchiveInputStream.
228 </action>
Stefan Bodewig040e42d2013-08-08 16:18:45 +0000229 <action type="update" date="2013-08-08" issue="COMPRESS-234"
Stefan Bodewigd2bcb032013-07-08 15:09:16 +0000230 due-to="BELUGA BEHR">
Stefan Bodewiga671a702013-08-08 15:57:55 +0000231 Performance improvements to TarArchiveInputStream, in
232 particular to the skip method.
Stefan Bodewigd2bcb032013-07-08 15:09:16 +0000233 </action>
Stefan Bodewig040e42d2013-08-08 16:18:45 +0000234 <action type="fix" date="2013-08-08" issue="COMPRESS-236"
235 due-to="Andrew Duffy">
236 CpioArchiveInputStream failed to read archives created by
237 Redline RPM.
238 </action>
Stefan Bodewig2ba22032013-08-09 06:51:18 +0000239 <action type="fix" date="2013-08-09" issue="COMPRESS-237"
240 due-to="Emmanuel Bourg">
241 TarArchiveOutputStream now properly handles link names that
242 are too long to fit into a traditional TAR header.
243 </action>
Stefan Bodewig5972cab2013-08-10 16:22:49 +0000244 <action type="add" date="2013-08-10">
245 DumpArchiveInputStream now supports an encoding parameter that
Stefan Bodewig90b73bf2013-08-10 17:04:41 +0000246 can be used to specify the encoding of file names.
247 </action>
248 <action type="add" date="2013-08-10">
249 The CPIO streams now support an encoding parameter that can be
250 used to specify the encoding of file names.
Stefan Bodewig5972cab2013-08-10 16:22:49 +0000251 </action>
Stefan Bodewig4a154172013-10-13 04:06:16 +0000252 <action type="add" date="2013-09-22" issue="COMPRESS-111">
Stefan Bodewig40e16cc2013-09-29 06:35:11 +0000253 Read-only support for LZMA standalone compression has been added.
254 </action>
Stefan Bodewigf3d34aa2013-10-04 13:25:44 +0000255 <action type="fix" date="2013-10-04" issue="COMPRESS-239">
256 The auto-detecting create*InputStream methods of Archive and
257 CompressorStreamFactory could fail to detect the format of
Stefan Bodewigc90c2df2013-10-11 14:27:59 +0000258 blocking input streams.
Stefan Bodewigf3d34aa2013-10-04 13:25:44 +0000259 </action>
Stefan Bodewig61741ad2013-10-26 05:19:05 +0000260 <action type="fix" date="2013-10-21" issue="COMPRESS-240"
261 due-to="Gary Gregory">
262 ZipEncodingHelper.isUTF8(String) does not check all UTF-8 aliases.
263 </action>
Stefan Bodewiga7be29e2013-03-14 08:37:14 +0000264 </release>
265 <release version="1.5" date="2013-03-14"
Stefan Bodewig9bdacbf2012-07-07 05:30:40 +0000266 description="Release 1.5">
Sebastian Bazley853576a2013-02-19 17:18:57 +0000267 <action type="fix" date="2012-02-19" issue="COMPRESS-218"
268 due-to="Gili">
269 Typo in CompressorStreamFactory Javadoc
270 </action>
Stefan Bodewigc96b2e22012-07-08 18:55:06 +0000271 <action type="update" date="2012-07-08" issue="COMPRESS-188"
272 due-to="Harald Kuhn">
273 Improved exception message if a zip archive cannot be read
274 because of an unsupported compression method.
275 </action>
Stefan Bodewig2ab43b02012-07-07 19:34:11 +0000276 <action type="update" date="2012-07-07" issue="COMPRESS-192"
277 due-to="Jukka Zitting">
278 ArchiveStreamFactory has a setting for file name encoding that
279 sets up encoding for ZIP and TAR streams.
280 </action>
Stefan Bodewig9bdacbf2012-07-07 05:30:40 +0000281 <action type="fix" date="2012-07-07" issue="COMPRESS-191"
282 due-to="Jukka Zitting">
283 ArchiveStreamFactory's tar stream detection created false
284 positives for AIFF files.
285 </action>
286 <action type="update" date="2012-07-07" issue="COMPRESS-191"
287 due-to="Jukka Zitting">
288 TarArchiveEntry now has a method to verify its checksum.
289 </action>
Stefan Bodewig73603cd2012-12-27 18:28:24 +0000290 <action type="fix" date="2012-12-27" issue="COMPRESS-199"
291 due-to="Jukka Zitting">
Stefan Bodewigb19fe702013-01-31 14:20:14 +0000292 XZ for Java didn't provide an OSGi bundle. Compress'
Stefan Bodewig73603cd2012-12-27 18:28:24 +0000293 dependency on it has now been marked optional so Compress
294 itself can still be used in an OSGi context.
295 </action>
Stefan Bodewigca5721d2012-12-28 17:34:54 +0000296 <action type="fix" date="2012-12-27" issue="COMPRESS-200"
297 due-to="Christian Schlichtherle">
Stefan Bodewige9d7bcf2012-12-27 20:54:42 +0000298 When specifying the encoding explicitly TarArchiveOutputStream
299 would write unreadable names in GNU mode or even cause errors
300 in POSIX mode for file names longer than 66 characters.
301 </action>
Stefan Bodewig09b8f6d2012-12-27 21:34:35 +0000302 <action type="fix" date="2012-12-27" issue="COMPRESS-203">
303 Writing TAR PAX headers failed if the generated entry name
304 ended with a "/".
305 </action>
Stefan Bodewigca5721d2012-12-28 17:34:54 +0000306 <action type="fix" date="2012-12-28" issue="COMPRESS-189"
307 due-to="Daniel Lowe">
Stefan Bodewige2cf4122012-12-28 06:53:21 +0000308 ZipArchiveInputStream sometimes failed to provide input to the
309 Inflater when it needed it, leading to reads returning 0.
310 </action>
Stefan Bodewig376f7d62013-01-01 11:11:26 +0000311 <action type="update" date="2013-01-01">
312 Split/spanned ZIP archives are now properly detected by
313 ArchiveStreamFactory but will cause an
314 UnsupportedZipFeatureException when read.
315 </action>
316 <action type="update" date="2013-01-01" issue="COMPRESS-208">
317 ZipArchiveInputStream now reads archives that start with a
318 "PK00" signature. Archives with this signatures are created
319 when the archiver was willing to split the archive but in the
320 end only needed a single segment - so didn't split anything.
321 </action>
Stefan Bodewig65837142013-01-01 17:30:48 +0000322 <action type="update" date="2013-01-01" issue="COMPRESS-201">
323 TarArchiveEntry has a new constructor that allows setting
324 linkFlag and preserveLeadingSlashes at the same time.
325 </action>
Stefan Bodewigec0f5852013-01-01 18:33:33 +0000326 <action type="update" date="2013-01-01" issue="COMPRESS-159">
327 ChangeSetPerformer has a new perform overload that uses a
328 ZipFile instance as input.
329 </action>
Stefan Bodewigf4044dd2013-01-04 15:59:38 +0000330 <action type="fix" date="2013-01-04" issue="COMPRESS-212">
331 TarArchiveInputStream ignored the encoding for GNU long name
332 entries.
333 </action>
Stefan Bodewiga2f978e2013-01-05 19:28:42 +0000334 <action type="update" date="2013-01-05" issue="COMPRESS-172"
335 due-to="Thomas Mair">
336 Garbage collection pressure has been reduced by reusing
337 temporary byte arrays in classes.
338 </action>
Julius Davies2a2c5fc2013-01-08 22:16:17 +0000339 <action type="update" date="2013-01-08" issue="COMPRESS-210"
340 due-to="Julius Davies">
341 Can now handle zip extra field 0x5455 - Extended Timestamp.
342 </action>
343 <action type="update" date="2013-01-07" issue="COMPRESS-211"
344 due-to="Julius Davies">
345 handle zip extra field 0x7875 - Info Zip New Unix Extra Field.
346 </action>
347 <action type="update" date="2013-01-07" issue="COMPRESS-213"
348 due-to="Julius Davies">
349 ZipShort, ZipLong, ZipEightByteInteger should implement Serializable
350 </action>
Stefan Bodewigdf4c4792013-01-19 14:02:01 +0000351 <action type="update" date="2013-01-14" issue="COMPRESS-214"
352 due-to="Julius Davies">
353 better support for unix symlinks in ZipFile entries
354 </action>
355 <action type="update" date="2013-01-19" issue="COMPRESS-215"
356 due-to="Robin Power">
357 ZipFile's initialization has been improved for non-Zip64
358 archives.
Julius Davies8f398dd2013-01-14 21:47:51 +0000359 </action>
Stefan Bodewig79a7d822013-01-20 19:10:24 +0000360 <action type="fix" date="2013-01-20" issue="COMPRESS-206"
361 due-to="Peter De Maeyer">
362 TarArchiveInputStream could leave the second EOF record
363 inside the stream it had just finished reading.
364 </action>
Stefan Bodewig31610932013-01-20 19:32:30 +0000365 <action type="fix" date="2013-01-20">
366 DumpArchiveInputStream no longer implicitly closes the
367 original input stream when it reaches the end of the
368 archive.
369 </action>
Stefan Bodewig7181d542013-01-22 12:45:24 +0000370 <action type="fix" date="2013-01-22">
371 ZipArchiveInputStream now consumes the remainder of the
372 archive when getNextZipEntry returns null.
373 </action>
Stefan Bodewigbb74f0c2013-01-27 09:45:53 +0000374 <action type="fix" date="2013-01-27" issue="COMPRESS-205"
375 due-to="Daniel Lowe">
376 Unit tests could fail if the source tree was checked out to
377 a directory tree containign spaces.
378 </action>
Stefan Bodewig6caf54d2013-01-31 14:19:04 +0000379 <action type="update" date="2013-01-31">
380 Updated XZ for Java dependency to 1.2 as this version
381 provides proper OSGi manifest attributes.
382 </action>
Stefan Bodewigd9b55962013-02-20 19:22:39 +0000383 <action type="fix" date="2013-02-20" issue="COMPRESS-219">
384 Fixed a potential ArrayIndexOutOfBoundsException when
385 reading STORED entries from ZipArchiveInputStream.
386 </action>
Stefan Bodewig62200b42013-03-07 16:16:32 +0000387 <action type="fix" date="2013-03-07" issue="COMPRESS-221">
388 CompressorStreamFactory can now be used without XZ for Java
389 being available.
390 </action>
Stefan Bodewig01c3fe92013-03-07 16:24:37 +0000391 <action type="add" date="2013-03-07" issue="COMPRESS-220">
392 CompressorStreamFactory has an option to create
393 decompressing streams that decompress the full input for
394 formats that support multiple concatenated streams.
395 </action>
Stefan Bodewig9bdacbf2012-07-07 05:30:40 +0000396 </release>
Stefan Bodewigc5674662012-05-23 14:11:38 +0000397 <release version="1.4.1" date="2012-05-23"
Stefan Bodewig15883a62012-05-20 18:44:25 +0000398 description="Release 1.4.1">
399 <action type="fix" date="2012-05-20">
400 Ported libbzip2's fallback sort algorithm to
401 BZip2CompressorOutputStream to speed up compression in certain
402 edge cases.
Stefan Bodewigc5674662012-05-23 14:11:38 +0000403 Using specially crafted inputs this can be used as a denial
404 of service attack. See the security reports page for details.
Stefan Bodewig15883a62012-05-20 18:44:25 +0000405 </action>
Stefan Bodewigbbb461e2012-04-11 05:00:20 +0000406 </release>
407 <release version="1.4" date="2012-04-11"
Stefan Bodewig3447a362011-11-01 06:16:11 +0000408 description="Release 1.4">
Stefan Bodewig96292652012-03-24 05:32:31 +0000409 <action issue="COMPRESS-183" type="fix" date="2012-03-24">
410 The tar package now allows the encoding of file names to be
411 specified and can optionally use PAX extension headers to
412 write non-ASCII file names.
413 The stream classes now write (or expect to read) archives that
414 use the platform's native encoding for file names. Apache
415 Commons Compress 1.3 used to strip everything but the lower
416 eight bits of each character which effectively only worked for
417 ASCII and ISO-8859-1 file names.
418 This new default behavior is a breaking change.
419 </action>
Stefan Bodewig4f42b002012-03-23 13:58:04 +0000420 <action issue="COMPRESS-184" type="fix" date="2012-03-23">
Stefan Bodewigc2bc7a42012-03-23 13:47:59 +0000421 TarArchiveInputStream failed to parse PAX headers that
422 contained non-ASCII characters.
423 </action>
Stefan Bodewig42398712012-03-10 06:45:36 +0000424 <action issue="COMPRESS-182" type="update" date="2012-03-02">
425 The tar package can now write archives that use star/GNU/BSD
426 extensions or use the POSIX/PAX variant to store numeric
427 values that don't fit into the traditional header fields.
428 </action>
Stefan Bodewig40f2e632012-03-02 19:59:50 +0000429 <action issue="COMPRESS-181" type="update" date="2012-03-02">
430 Added a workaround for a Bug some tar implementations that add
431 a NUL byte as first byte in numeric header fields.
432 </action>
Stefan Bodewigc75c10f2012-02-28 05:00:26 +0000433 <action issue="COMPRESS-176" type="update" date="2012-02-28">
434 Added a workaround for a Bug in WinZIP which uses backslashes
435 as path separators in Unicode Extra Fields.
436 </action>
Sebastian Bazley432543d2012-02-23 01:30:56 +0000437 <action issue="COMPRESS-131" type="update" date="2012-02-23">
438 ArrayOutOfBounds while decompressing bz2. Added test case - code already seems to have been fixed.
439 </action>
Sebastian Bazleybc84d202012-02-23 01:03:01 +0000440 <action issue="COMPRESS-178" type="fix" date="2012-02-23">
441 TarArchiveInputStream throws IllegalArgumentException instead of IOException
442 </action>
Sebastian Bazley915e8ef2012-02-23 00:36:15 +0000443 <action issue="COMPRESS-179" type="fix" date="2012-02-23">
444 TarUtils.formatLongOctalOrBinaryBytes() assumes the field will be 12 bytes long
445 </action>
Sebastian Bazley7ee6b672012-02-22 23:42:49 +0000446 <action issue="COMPRESS-175" type="fix" date="2012-02-22">
447 GNU Tar sometimes uses binary encoding for UID and GID
448 </action>
Stefan Bodewiga9331732012-01-29 20:56:50 +0000449 <action issue="COMPRESS-171" type="fix" date="2012-01-29">
450 ArchiveStreamFactory.createArchiveInputStream would claim
451 short text files were TAR archives.
452 </action>
Stefan Bodewige166fa72011-11-03 06:32:25 +0000453 <action issue="COMPRESS-156" type="add" date="2011-11-02">
454 Support for the XZ format has been added.
455 </action>
Stefan Bodewig20fd83a2011-11-07 16:36:51 +0000456 <action issue="COMPRESS-146" type="update" date="2011-11-07">
457 BZip2CompressorInputStream now optionally supports reading of
458 concatenated .bz2 files.
459 </action>
Stefan Bodewigfa237cc2011-11-09 16:18:05 +0000460 <action issue="COMPRESS-154" type="update" date="2011-11-09">
461 GZipCompressorInputStream now optionally supports reading of
462 concatenated .gz files.
463 </action>
Stefan Bodewig34766062011-12-05 15:39:52 +0000464 <action issue="COMPRESS-164" type="fix" date="2011-12-05">
465 ZipFile didn't work properly for archives using unicode extra
466 fields rather than UTF-8 filenames and the EFS-Flag.
467 </action>
Stefan Bodewigc4704be2011-12-07 12:14:59 +0000468 <action issue="COMPRESS-16" type="update" date="2011-12-07">
469 The tar package can now read archives that use star/GNU/BSD
470 extensions for files that are longer than 8 GByte as well as
471 archives that use the POSIX/PAX variant.
472 </action>
Stefan Bodewigf90c1cb2011-12-08 16:43:50 +0000473 <action issue="COMPRESS-165" type="update" date="2011-12-08">
474 The tar package can now write archives that use star/GNU/BSD
475 extensions for files that are longer than 8 GByte as well as
476 archives that use the POSIX/PAX variant.
477 </action>
478 <action issue="COMPRESS-166" type="update" date="2011-12-08">
479 The tar package can now use the POSIX/PAX variant for writing
480 entries with names longer than 100 characters.
481 </action>
Stefan Bodewig00cc49e2011-12-22 17:22:19 +0000482 <action issue="COMPRESS-169" type="fix" date="2011-12-22">
483 For corrupt archives ZipFile would throw a RuntimeException in
484 some cases and an IOException in others. It will now
485 consistently throw an IOException.
486 </action>
Stefan Bodewig3447a362011-11-01 06:16:11 +0000487 </release>
488 <release version="1.3" date="2011-11-01"
Stefan Bodewig7df24262011-07-31 05:43:43 +0000489 description="Release 1.3 - API compatible to 1.2 but requires Java5 at runtime">
Stefan Bodewigf4ff2002011-09-14 15:03:35 +0000490 <action issue="COMPRESS-142" type="add" date="2011-09-14">
491 Support for the Pack200 format has been added.
492 </action>
Stefan Bodewig67248f02011-08-22 05:47:26 +0000493 <action issue="COMPRESS-132" type="add" date="2011-08-17">
494 Read-only support for the format used by the Unix dump(8) tool
495 has been added.
496 </action>
Stefan Bodewig3ae0c502011-08-15 04:13:10 +0000497 <action issue="COMPRESS-36" type="update" date="2011-08-15">
498 The ZIP package now supports Zip64 extensions.
499 </action>
Stefan Bodewig1b915c72011-08-08 11:39:41 +0000500 <action issue="COMPRESS-144" type="update" date="2011-08-08">
501 The AR package now supports the BSD dialect of storing file
502 names longer than 16 chars (both reading and writing).
503 </action>
Stefan Bodewig02991912011-08-08 04:41:15 +0000504 <action type="fix" date="2011-08-08">
Stefan Bodewigc84526b2011-08-08 05:09:25 +0000505 BZip2CompressorInputStream's getBytesRead method always
Stefan Bodewig02991912011-08-08 04:41:15 +0000506 returned 0.
507 </action>
Stefan Bodewigd48f1062011-08-03 13:36:01 +0000508 <action issue="COMPRESS-152" type="fix" date="2011-08-03">
509 ZipArchiveInputStream and ZipArchiveOutputStream could leak
510 resources on some JDKs.
511 </action>
Stefan Bodewigfdac1472011-10-23 12:15:13 +0000512 <action issue="COMPRESS-160" type="fix" date="2011-10-23">
513 TarArchiveOutputStream's getBytesWritten method didn't count
514 correctly.
515 </action>
Stefan Bodewig7df24262011-07-31 05:43:43 +0000516 </release>
517 <release version="1.2" date="2011-07-31"
Stefan Bodewig947e9832011-07-27 03:53:35 +0000518 description="Release 1.2 - a bugfix release, the last release expected to be compatible with Java 1.4">
Stefan Bodewiga9bd2e22011-07-26 14:12:44 +0000519 <action issue="COMPRESS-129" type="fix" date="2011-07-26">
520 ZipArchiveInputStream could fail with a "Truncated ZIP" error
521 message for entries between 2 GByte and 4 GByte in size.
522 </action>
Stefan Bodewigeedeff92011-07-23 04:57:17 +0000523 <action issue="COMPRESS-145" type="fix" date="2011-07-23"
524 due-tue="Patrick Dreyer">
Stefan Bodewig2b90da62011-07-25 05:54:45 +0000525 TarArchiveInputStream now detects sparse entries using the
526 oldgnu format and properly reports it cannot extract their
527 contents.
Stefan Bodewigeedeff92011-07-23 04:57:17 +0000528 </action>
529 <action issue="COMPRESS-123" type="add" date="2011-07-23">
Stefan Bodewig934a96e2011-07-23 04:33:44 +0000530 ZipArchiveEntry has a new method getRawName that provides the
531 original bytes that made up the name. This may allow user
532 code to detect the encoding.
533 </action>
Stefan Bodewig7a76c472011-07-20 14:55:50 +0000534 <action issue="COMPRESS-130" type="fix" date="2011-07-20">
535 The Javadoc for ZipArchiveInputStream#skip now matches the
536 implementation, the code has been made more defensive.
537 </action>
Stefan Bodewig541898f2011-07-20 14:23:20 +0000538 <action issue="COMPRESS-140" type="fix" date="2011-07-20"
539 due-to="Trejkaz">
540 ArArchiveInputStream fails if entries contain only blanks for
541 userId or groupId.
542 </action>
Stefan Bodewigb4d75052011-07-13 13:53:18 +0000543 <action issue="COMPRESS-139" type="fix" date="2011-07-13">
544 ZipFile may leak resources on some JDKs.
545 </action>
Stefan Bodewig8c2e5e62011-04-18 04:28:14 +0000546 <action type="update" date="2011-04-18">
547 ZipFile now implements finalize which closes the underlying
548 file.
549 </action>
Sebastian Bazley60d6b6a2011-03-23 12:50:15 +0000550 <action issue="COMPRESS-117" type="update" date="2011-03-23">
551 Certain tar files not recognised by ArchiveStreamFactory.
552 </action>
Sebastian Bazley9f68b5d2011-03-23 11:17:25 +0000553 <action issue="COMPRESS-125" type="fix" date="2011-03-23">
554 BZip2CompressorInputStream throws IOException if underlying stream returns available() == 0.
555 Removed the check.
556 </action>
Sebastian Bazley8376ecf2011-03-23 11:06:43 +0000557 <action issue="COMPRESS-127" type="fix" date="2011-03-23">
558 Calling close() on inputStream returned by CompressorStreamFactory.createCompressorInputStream()
559 does not close the underlying input stream.
560 </action>
Stefan Bodewig86aaf842010-10-29 15:03:49 +0000561 <action issue="COMPRESS-122" type="add" date="2010-10-29">
562 TarArchiveEntry provides access to the flags that determine
563 whether it is an archived symbolic link, pipe or other
564 "uncommon" file system object.
565 </action>
Stefan Bodewig1eb9dbb2010-10-26 09:44:59 +0000566 <action issue="COMPRESS-119" type="fix" date="2010-10-26">
Sebastian Bazley7dd43012010-10-28 14:15:27 +0000567 TarArchiveOutputStream#finish now writes all buffered data to the stream
Stefan Bodewig1eb9dbb2010-10-26 09:44:59 +0000568 </action>
569 </release>
570 <release version="1.1" date="2010-08-13" description="Release 1.1">
Sebastian Bazley75c87112010-06-02 11:15:23 +0000571 <action issue="COMPRESS-72" type="fix" date="2010-06-02">
572 Move acknowledgements from NOTICE to README
573 </action>
Sebastian Bazley35e4e4f2010-06-02 11:00:25 +0000574 <action issue="COMPRESS-113" type="fix" date="2010-06-02">
575 TarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size
576 </action>
577 <action issue="COMPRESS-108" type="add" date="2010-05-23">
Sebastian Bazleydfc66382010-05-23 11:53:07 +0000578 Command-line interface to list archive contents.
579 Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc]
580 </action>
Sebastian Bazley050db3d2010-05-17 15:09:29 +0000581 <action issue="COMPRESS-118" type="fix" date="2010-05-17">
582 TarUtils.parseName does not properly handle characters outside the range 0-127
583 </action>
Sebastian Bazleyc83d9f72010-05-13 10:25:15 +0000584 <action issue="COMPRESS-112" type="update" date="2010-05-13">
585 ArArchiveInputStream does not handle GNU extended filename records (//)
586 </action>
Sebastian Bazley35e4e4f2010-06-02 11:00:25 +0000587 <action issue="COMPRESS-109" type="add" date="2010-05-10">
Sebastian Bazley23bfa662010-05-10 15:10:27 +0000588 Tar implementation does not support Pax headers
589 Added support for reading pax headers.
590 Note: does not support global pax headers
Sebastian Bazley27dea242010-05-10 17:42:37 +0000591 </action>
Sebastian Bazley23bfa662010-05-10 15:10:27 +0000592 <action issue="COMPRESS-107" type="fix" date="2010-05-10">
593 ArchiveStreamFactory does not recognise tar files created by Ant
Sebastian Bazley27dea242010-05-10 17:42:37 +0000594 </action>
Sebastian Bazley8fcd06e2010-05-09 20:46:59 +0000595 <action issue="COMPRESS-110" type="fix" date="2010-05-09">
596 Support "ustar" prefix field, which is used when file paths are longer
597 than 100 characters.
Sebastian Bazley27dea242010-05-10 17:42:37 +0000598 </action>
Sebastian Bazley69f6d062010-05-05 10:59:58 +0000599 <action type="update" date="2010-04-19" issue="COMPRESS-105">
600 Document that the name of an ZipArchiveEntry determines whether
Sebastian Bazley27dea242010-05-10 17:42:37 +0000601 an entry is considered a directory or not.
Sebastian Bazley69f6d062010-05-05 10:59:58 +0000602 If you don't use the constructor with the File argument the entry's
603 name must end in a "/" in order for the entry to be known as a directory.
604 </action>
Stefan Bodewig03e94a42010-03-19 15:08:23 +0000605 <action type="add" date="2010-03-19" issue="COMPRESS-103">
606 ZipArchiveInputStream can optionally extract data that used
607 the STORED compression method and a data descriptor.
608 Doing so in a stream is not safe in general, so you have to
609 explicitly enable the feature. By default the stream will
610 throw an exception if it encounters such an entry.
611 </action>
Stefan Bodewig62cb9c42010-03-12 16:06:20 +0000612 <action type="fix" date="2010-03-12" issue="COMPRESS-100">
613 ZipArchiveInputStream will throw an exception if it detects an
614 entry that uses a data descriptor for a STORED entry since it
615 cannot reliably find the end of data for this "compression"
616 method.
617 </action>
Stefan Bodewigd7ea9ff2010-03-12 15:35:44 +0000618 <action type="fix" date="2010-03-12" issue="COMPRESS-101">
619 ZipArchiveInputStream should now properly read archives that
620 use data descriptors but without the "unofficial" signature.
621 </action>
Stefan Bodewig30e1cc82010-03-09 11:23:41 +0000622 <action type="add" date="2010-03-09" issue="COMPRESS-98">
623 The ZIP classes will throw specialized exceptions if any
624 attempt is made to read or write data that uses zip features
625 not supported (yet).
626 </action>
Stefan Bodewigade93792010-03-08 12:00:25 +0000627 <action type="add" date="2010-03-08" issue="COMPRESS-99">
628 ZipFile#getEntries returns entries in a predictable order -
629 the order they appear inside the central directory.
630 A new method getEntriesInPhysicalOrder returns entries in
631 order of the entry data, i.e. the order ZipArchiveInputStream
632 would see.
633 </action>
Stefan Bodewige0ffbc12010-02-19 10:59:01 +0000634 <action type="add" date="2010-02-19">
Stefan Bodewige0692ec2010-02-24 15:35:47 +0000635 The Archive*Stream and ZipFile classes now have
636 can(Read|Write)EntryData methods that can be used to check
637 whether a given entry's data can be read/written.
Stefan Bodewiga33505b2010-02-19 12:23:27 +0000638 The method currently returns false for ZIP archives if an
639 entry uses an unsupported compression method or encryption.
Stefan Bodewige0ffbc12010-02-19 10:59:01 +0000640 </action>
641 <action type="add" date="2010-02-19" issue="COMPRESS-89">
642 The ZIP classes now detect encrypted entries.
643 </action>
Sebastian Bazley886f71b2010-04-13 21:21:03 +0000644 <action type="update" date="2010-02-18" issue="COMPRESS-79">
645 Move DOS/Java time conversions into Zip utility class.
646 </action>
Stefan Bodewiga1015f32010-02-18 16:11:13 +0000647 <action type="fix" date="2010-02-18" issue="COMPRESS-74">
648 ZipArchiveInputStream failed to update the number of bytes
649 read properly.
650 </action>
651 <action type="fix" date="2010-02-18">
652 ArchiveInputStream has a new method getBytesRead that should
653 be preferred over getCount since the later may truncate the
654 number of bytes read for big archives.
655 </action>
Stefan Bodewig315b9472010-02-18 14:56:03 +0000656 <action type="fix" date="2010-02-18" issue="COMPRESS-85">
657 The cpio archives created by CpioArchiveOutputStream couldn't
658 be read by many existing native implementations because the
659 archives contained multiple entries with the same inode/device
660 combinations and weren't padded to a blocksize of 512 bytes.
661 </action>
Stefan Bodewig91695e42010-02-16 13:59:03 +0000662 <action type="fix" date="2010-02-16" issue="COMPRESS-73">
663 ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now
664 more lenient when parsing extra fields.
665 </action>
Sebastian Bazley78e0f2c2010-06-01 16:38:13 +0000666 <action issue="COMPRESS-75" type="update" date="2010-02-12">
667 ZipArchiveInputStream does not show location in file where a problem occurred.
668 </action>
Sebastian Bazley886f71b2010-04-13 21:21:03 +0000669 <action type="fix" date="2010-02-12" issue="COMPRESS-82">
670 cpio is terribly slow.
671 Documented that buffered streams are needed for performance
672 </action>
Stefan Bodewig292e1852010-03-04 15:54:09 +0000673 <action type="add" date="2010-02-12" issue="COMPRESS-97">
674 Added autodetection of compression format to
675 CompressorStreamFactory.
676 </action>
Stefan Bodewig124f97c2010-02-12 11:35:14 +0000677 <action type="fix" date="2010-02-12">
678 Improved exception message if the extra field data in ZIP
679 archives cannot be parsed.
680 </action>
Sebastian Bazley886f71b2010-04-13 21:21:03 +0000681 <action type="fix" date="2010-02-11" issue="COMPRESS-17">
682 Tar format unspecified - current support documented.
683 </action>
Stefan Bodewig124f97c2010-02-12 11:35:14 +0000684 <action type="add" issue="COMPRESS-95" date="2010-01-29"
Christian Grobmeiere7517b82010-01-29 07:47:21 +0000685 due-to="Joerg Bellmann">
686 Improve ExceptionMessages in ArchiveStreamFactory
687 </action>
Stefan Bodewig5066e9a2010-01-07 09:34:55 +0000688 <action type="fix" issue="COMPRESS-94" date="2010-01-07"
689 due-to="Anon Devs">
690 ZipArchiveEntry's equals method was broken for entries created
691 with the String-arg constructor. This lead to broken ZIP
692 archives if two different entries had the same hash code.
693 </action>
Stefan Bodewigdc3fc472009-10-30 05:29:17 +0000694 <action type="fix" issue="COMPRESS-87" date="2009-10-30"
695 due-to="Antoni Mylka">
696 ZipArchiveInputStream could repeatedly return 0 on read() when
697 the archive was truncated.
698 </action>
Stefan Bodewig7bb5d882009-10-08 12:07:19 +0000699 <action type="fix" issue="COMPRESS-86" date="2009-10-08">
700 Tar archive entries holding the file name for names longer
701 than 100 characters in GNU longfile mode didn't properly
702 specify they'd be using the "oldgnu" extension.
703 </action>
Stefan Bodewig3e2ddad2009-08-25 08:11:44 +0000704 <action type="add" date="2009-08-25">
705 A new constructor of TarArchiveEntry can create entries with
706 names that start with slashes - the default is to strip
707 leading slashes in order to create relative path names.
708 </action>
Stefan Bodewig7be8ef62009-08-01 20:25:13 +0000709 <action issue="COMPRESS-83" type="fix" date="2009-08-01">
710 Delegate all read and write methods in GZip stream in order to
711 speed up operations.
712 </action>
713 <action type="add" date="2009-08-01">
714 ArchiveEntry now has a getLastModifiedDate method.
715 </action>
716 <action type="fix" date="2009-08-01">
717 The ar and cpio streams now properly read and write last
718 modified times.
719 </action>
Stefan Bodewig2318ba32009-06-30 07:25:44 +0000720 <action issue="COMPRESS-81" type="fix" date="2009-06-30">
721 TarOutputStream can leave garbage at the end of the archive
722 </action>
Stefan Bodewig47b706e2009-06-30 08:23:08 +0000723 <action issue="COMPRESS-78" type="add" date="2009-06-30"
724 due-to="Jukka Zitting">
725 Add a BZip2Utils class modelled after GZipUtils
726 </action>
Stefan Bodewig2318ba32009-06-30 07:25:44 +0000727 </release>
728 <release version="1.0" date="2009-05-21" description="First Public Release">
729 <action dev="all" type="add" date="2009-05-21">
Christian Grobmeier35ac05e2009-05-10 17:32:20 +0000730 Initial release
731 </action>
Siegfried Goeschlf03f2f92009-03-23 14:52:23 +0000732 <action dev="sgoeschl" type="fix">
733 Updating the pom.xml for preparing a move to commons-proper
734 </action>
735 </release>
736 </body>
737</document>