blob: a18fcdcbee3f8064a3b958cde7d81828f04a0ab6 [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 Bodewig3447a362011-11-01 06:16:11 +000045 <release version="1.4" date="unreleased"
46 description="Release 1.4">
Stefan Bodewig96292652012-03-24 05:32:31 +000047 <action issue="COMPRESS-183" type="fix" date="2012-03-24">
48 The tar package now allows the encoding of file names to be
49 specified and can optionally use PAX extension headers to
50 write non-ASCII file names.
51 The stream classes now write (or expect to read) archives that
52 use the platform's native encoding for file names. Apache
53 Commons Compress 1.3 used to strip everything but the lower
54 eight bits of each character which effectively only worked for
55 ASCII and ISO-8859-1 file names.
56 This new default behavior is a breaking change.
57 </action>
Stefan Bodewig4f42b002012-03-23 13:58:04 +000058 <action issue="COMPRESS-184" type="fix" date="2012-03-23">
Stefan Bodewigc2bc7a42012-03-23 13:47:59 +000059 TarArchiveInputStream failed to parse PAX headers that
60 contained non-ASCII characters.
61 </action>
Stefan Bodewig42398712012-03-10 06:45:36 +000062 <action issue="COMPRESS-182" type="update" date="2012-03-02">
63 The tar package can now write archives that use star/GNU/BSD
64 extensions or use the POSIX/PAX variant to store numeric
65 values that don't fit into the traditional header fields.
66 </action>
Stefan Bodewig40f2e632012-03-02 19:59:50 +000067 <action issue="COMPRESS-181" type="update" date="2012-03-02">
68 Added a workaround for a Bug some tar implementations that add
69 a NUL byte as first byte in numeric header fields.
70 </action>
Stefan Bodewigc75c10f2012-02-28 05:00:26 +000071 <action issue="COMPRESS-176" type="update" date="2012-02-28">
72 Added a workaround for a Bug in WinZIP which uses backslashes
73 as path separators in Unicode Extra Fields.
74 </action>
Sebastian Bazley432543d2012-02-23 01:30:56 +000075 <action issue="COMPRESS-131" type="update" date="2012-02-23">
76 ArrayOutOfBounds while decompressing bz2. Added test case - code already seems to have been fixed.
77 </action>
Sebastian Bazleybc84d202012-02-23 01:03:01 +000078 <action issue="COMPRESS-178" type="fix" date="2012-02-23">
79 TarArchiveInputStream throws IllegalArgumentException instead of IOException
80 </action>
Sebastian Bazley915e8ef2012-02-23 00:36:15 +000081 <action issue="COMPRESS-179" type="fix" date="2012-02-23">
82 TarUtils.formatLongOctalOrBinaryBytes() assumes the field will be 12 bytes long
83 </action>
Sebastian Bazley7ee6b672012-02-22 23:42:49 +000084 <action issue="COMPRESS-175" type="fix" date="2012-02-22">
85 GNU Tar sometimes uses binary encoding for UID and GID
86 </action>
Stefan Bodewiga9331732012-01-29 20:56:50 +000087 <action issue="COMPRESS-171" type="fix" date="2012-01-29">
88 ArchiveStreamFactory.createArchiveInputStream would claim
89 short text files were TAR archives.
90 </action>
Stefan Bodewige166fa72011-11-03 06:32:25 +000091 <action issue="COMPRESS-156" type="add" date="2011-11-02">
92 Support for the XZ format has been added.
93 </action>
Stefan Bodewig20fd83a2011-11-07 16:36:51 +000094 <action issue="COMPRESS-146" type="update" date="2011-11-07">
95 BZip2CompressorInputStream now optionally supports reading of
96 concatenated .bz2 files.
97 </action>
Stefan Bodewigfa237cc2011-11-09 16:18:05 +000098 <action issue="COMPRESS-154" type="update" date="2011-11-09">
99 GZipCompressorInputStream now optionally supports reading of
100 concatenated .gz files.
101 </action>
Stefan Bodewig34766062011-12-05 15:39:52 +0000102 <action issue="COMPRESS-164" type="fix" date="2011-12-05">
103 ZipFile didn't work properly for archives using unicode extra
104 fields rather than UTF-8 filenames and the EFS-Flag.
105 </action>
Stefan Bodewigc4704be2011-12-07 12:14:59 +0000106 <action issue="COMPRESS-16" type="update" date="2011-12-07">
107 The tar package can now read archives that use star/GNU/BSD
108 extensions for files that are longer than 8 GByte as well as
109 archives that use the POSIX/PAX variant.
110 </action>
Stefan Bodewigf90c1cb2011-12-08 16:43:50 +0000111 <action issue="COMPRESS-165" type="update" date="2011-12-08">
112 The tar package can now write archives that use star/GNU/BSD
113 extensions for files that are longer than 8 GByte as well as
114 archives that use the POSIX/PAX variant.
115 </action>
116 <action issue="COMPRESS-166" type="update" date="2011-12-08">
117 The tar package can now use the POSIX/PAX variant for writing
118 entries with names longer than 100 characters.
119 </action>
Stefan Bodewig00cc49e2011-12-22 17:22:19 +0000120 <action issue="COMPRESS-169" type="fix" date="2011-12-22">
121 For corrupt archives ZipFile would throw a RuntimeException in
122 some cases and an IOException in others. It will now
123 consistently throw an IOException.
124 </action>
Stefan Bodewig3447a362011-11-01 06:16:11 +0000125 </release>
126 <release version="1.3" date="2011-11-01"
Stefan Bodewig7df24262011-07-31 05:43:43 +0000127 description="Release 1.3 - API compatible to 1.2 but requires Java5 at runtime">
Stefan Bodewigf4ff2002011-09-14 15:03:35 +0000128 <action issue="COMPRESS-142" type="add" date="2011-09-14">
129 Support for the Pack200 format has been added.
130 </action>
Stefan Bodewig67248f02011-08-22 05:47:26 +0000131 <action issue="COMPRESS-132" type="add" date="2011-08-17">
132 Read-only support for the format used by the Unix dump(8) tool
133 has been added.
134 </action>
Stefan Bodewig3ae0c502011-08-15 04:13:10 +0000135 <action issue="COMPRESS-36" type="update" date="2011-08-15">
136 The ZIP package now supports Zip64 extensions.
137 </action>
Stefan Bodewig1b915c72011-08-08 11:39:41 +0000138 <action issue="COMPRESS-144" type="update" date="2011-08-08">
139 The AR package now supports the BSD dialect of storing file
140 names longer than 16 chars (both reading and writing).
141 </action>
Stefan Bodewig02991912011-08-08 04:41:15 +0000142 <action type="fix" date="2011-08-08">
Stefan Bodewigc84526b2011-08-08 05:09:25 +0000143 BZip2CompressorInputStream's getBytesRead method always
Stefan Bodewig02991912011-08-08 04:41:15 +0000144 returned 0.
145 </action>
Stefan Bodewigd48f1062011-08-03 13:36:01 +0000146 <action issue="COMPRESS-152" type="fix" date="2011-08-03">
147 ZipArchiveInputStream and ZipArchiveOutputStream could leak
148 resources on some JDKs.
149 </action>
Stefan Bodewigfdac1472011-10-23 12:15:13 +0000150 <action issue="COMPRESS-160" type="fix" date="2011-10-23">
151 TarArchiveOutputStream's getBytesWritten method didn't count
152 correctly.
153 </action>
Stefan Bodewig7df24262011-07-31 05:43:43 +0000154 </release>
155 <release version="1.2" date="2011-07-31"
Stefan Bodewig947e9832011-07-27 03:53:35 +0000156 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 +0000157 <action issue="COMPRESS-129" type="fix" date="2011-07-26">
158 ZipArchiveInputStream could fail with a "Truncated ZIP" error
159 message for entries between 2 GByte and 4 GByte in size.
160 </action>
Stefan Bodewigeedeff92011-07-23 04:57:17 +0000161 <action issue="COMPRESS-145" type="fix" date="2011-07-23"
162 due-tue="Patrick Dreyer">
Stefan Bodewig2b90da62011-07-25 05:54:45 +0000163 TarArchiveInputStream now detects sparse entries using the
164 oldgnu format and properly reports it cannot extract their
165 contents.
Stefan Bodewigeedeff92011-07-23 04:57:17 +0000166 </action>
167 <action issue="COMPRESS-123" type="add" date="2011-07-23">
Stefan Bodewig934a96e2011-07-23 04:33:44 +0000168 ZipArchiveEntry has a new method getRawName that provides the
169 original bytes that made up the name. This may allow user
170 code to detect the encoding.
171 </action>
Stefan Bodewig7a76c472011-07-20 14:55:50 +0000172 <action issue="COMPRESS-130" type="fix" date="2011-07-20">
173 The Javadoc for ZipArchiveInputStream#skip now matches the
174 implementation, the code has been made more defensive.
175 </action>
Stefan Bodewig541898f2011-07-20 14:23:20 +0000176 <action issue="COMPRESS-140" type="fix" date="2011-07-20"
177 due-to="Trejkaz">
178 ArArchiveInputStream fails if entries contain only blanks for
179 userId or groupId.
180 </action>
Stefan Bodewigb4d75052011-07-13 13:53:18 +0000181 <action issue="COMPRESS-139" type="fix" date="2011-07-13">
182 ZipFile may leak resources on some JDKs.
183 </action>
Stefan Bodewig8c2e5e62011-04-18 04:28:14 +0000184 <action type="update" date="2011-04-18">
185 ZipFile now implements finalize which closes the underlying
186 file.
187 </action>
Sebastian Bazley60d6b6a2011-03-23 12:50:15 +0000188 <action issue="COMPRESS-117" type="update" date="2011-03-23">
189 Certain tar files not recognised by ArchiveStreamFactory.
190 </action>
Sebastian Bazley9f68b5d2011-03-23 11:17:25 +0000191 <action issue="COMPRESS-125" type="fix" date="2011-03-23">
192 BZip2CompressorInputStream throws IOException if underlying stream returns available() == 0.
193 Removed the check.
194 </action>
Sebastian Bazley8376ecf2011-03-23 11:06:43 +0000195 <action issue="COMPRESS-127" type="fix" date="2011-03-23">
196 Calling close() on inputStream returned by CompressorStreamFactory.createCompressorInputStream()
197 does not close the underlying input stream.
198 </action>
Stefan Bodewig86aaf842010-10-29 15:03:49 +0000199 <action issue="COMPRESS-122" type="add" date="2010-10-29">
200 TarArchiveEntry provides access to the flags that determine
201 whether it is an archived symbolic link, pipe or other
202 "uncommon" file system object.
203 </action>
Stefan Bodewig1eb9dbb2010-10-26 09:44:59 +0000204 <action issue="COMPRESS-119" type="fix" date="2010-10-26">
Sebastian Bazley7dd43012010-10-28 14:15:27 +0000205 TarArchiveOutputStream#finish now writes all buffered data to the stream
Stefan Bodewig1eb9dbb2010-10-26 09:44:59 +0000206 </action>
207 </release>
208 <release version="1.1" date="2010-08-13" description="Release 1.1">
Sebastian Bazley75c87112010-06-02 11:15:23 +0000209 <action issue="COMPRESS-72" type="fix" date="2010-06-02">
210 Move acknowledgements from NOTICE to README
211 </action>
Sebastian Bazley35e4e4f2010-06-02 11:00:25 +0000212 <action issue="COMPRESS-113" type="fix" date="2010-06-02">
213 TarArchiveEntry.parseTarHeader() includes the trailing space/NUL when parsing the octal size
214 </action>
215 <action issue="COMPRESS-108" type="add" date="2010-05-23">
Sebastian Bazleydfc66382010-05-23 11:53:07 +0000216 Command-line interface to list archive contents.
217 Usage: java -jar commons-compress-n.m.jar archive-name [zip|tar|etc]
218 </action>
Sebastian Bazley050db3d2010-05-17 15:09:29 +0000219 <action issue="COMPRESS-118" type="fix" date="2010-05-17">
220 TarUtils.parseName does not properly handle characters outside the range 0-127
221 </action>
Sebastian Bazleyc83d9f72010-05-13 10:25:15 +0000222 <action issue="COMPRESS-112" type="update" date="2010-05-13">
223 ArArchiveInputStream does not handle GNU extended filename records (//)
224 </action>
Sebastian Bazley35e4e4f2010-06-02 11:00:25 +0000225 <action issue="COMPRESS-109" type="add" date="2010-05-10">
Sebastian Bazley23bfa662010-05-10 15:10:27 +0000226 Tar implementation does not support Pax headers
227 Added support for reading pax headers.
228 Note: does not support global pax headers
Sebastian Bazley27dea242010-05-10 17:42:37 +0000229 </action>
Sebastian Bazley23bfa662010-05-10 15:10:27 +0000230 <action issue="COMPRESS-107" type="fix" date="2010-05-10">
231 ArchiveStreamFactory does not recognise tar files created by Ant
Sebastian Bazley27dea242010-05-10 17:42:37 +0000232 </action>
Sebastian Bazley8fcd06e2010-05-09 20:46:59 +0000233 <action issue="COMPRESS-110" type="fix" date="2010-05-09">
234 Support "ustar" prefix field, which is used when file paths are longer
235 than 100 characters.
Sebastian Bazley27dea242010-05-10 17:42:37 +0000236 </action>
Sebastian Bazley69f6d062010-05-05 10:59:58 +0000237 <action type="update" date="2010-04-19" issue="COMPRESS-105">
238 Document that the name of an ZipArchiveEntry determines whether
Sebastian Bazley27dea242010-05-10 17:42:37 +0000239 an entry is considered a directory or not.
Sebastian Bazley69f6d062010-05-05 10:59:58 +0000240 If you don't use the constructor with the File argument the entry's
241 name must end in a "/" in order for the entry to be known as a directory.
242 </action>
Stefan Bodewig03e94a42010-03-19 15:08:23 +0000243 <action type="add" date="2010-03-19" issue="COMPRESS-103">
244 ZipArchiveInputStream can optionally extract data that used
245 the STORED compression method and a data descriptor.
246 Doing so in a stream is not safe in general, so you have to
247 explicitly enable the feature. By default the stream will
248 throw an exception if it encounters such an entry.
249 </action>
Stefan Bodewig62cb9c42010-03-12 16:06:20 +0000250 <action type="fix" date="2010-03-12" issue="COMPRESS-100">
251 ZipArchiveInputStream will throw an exception if it detects an
252 entry that uses a data descriptor for a STORED entry since it
253 cannot reliably find the end of data for this "compression"
254 method.
255 </action>
Stefan Bodewigd7ea9ff2010-03-12 15:35:44 +0000256 <action type="fix" date="2010-03-12" issue="COMPRESS-101">
257 ZipArchiveInputStream should now properly read archives that
258 use data descriptors but without the "unofficial" signature.
259 </action>
Stefan Bodewig30e1cc82010-03-09 11:23:41 +0000260 <action type="add" date="2010-03-09" issue="COMPRESS-98">
261 The ZIP classes will throw specialized exceptions if any
262 attempt is made to read or write data that uses zip features
263 not supported (yet).
264 </action>
Stefan Bodewigade93792010-03-08 12:00:25 +0000265 <action type="add" date="2010-03-08" issue="COMPRESS-99">
266 ZipFile#getEntries returns entries in a predictable order -
267 the order they appear inside the central directory.
268 A new method getEntriesInPhysicalOrder returns entries in
269 order of the entry data, i.e. the order ZipArchiveInputStream
270 would see.
271 </action>
Stefan Bodewige0ffbc12010-02-19 10:59:01 +0000272 <action type="add" date="2010-02-19">
Stefan Bodewige0692ec2010-02-24 15:35:47 +0000273 The Archive*Stream and ZipFile classes now have
274 can(Read|Write)EntryData methods that can be used to check
275 whether a given entry's data can be read/written.
Stefan Bodewiga33505b2010-02-19 12:23:27 +0000276 The method currently returns false for ZIP archives if an
277 entry uses an unsupported compression method or encryption.
Stefan Bodewige0ffbc12010-02-19 10:59:01 +0000278 </action>
279 <action type="add" date="2010-02-19" issue="COMPRESS-89">
280 The ZIP classes now detect encrypted entries.
281 </action>
Sebastian Bazley886f71b2010-04-13 21:21:03 +0000282 <action type="update" date="2010-02-18" issue="COMPRESS-79">
283 Move DOS/Java time conversions into Zip utility class.
284 </action>
Stefan Bodewiga1015f32010-02-18 16:11:13 +0000285 <action type="fix" date="2010-02-18" issue="COMPRESS-74">
286 ZipArchiveInputStream failed to update the number of bytes
287 read properly.
288 </action>
289 <action type="fix" date="2010-02-18">
290 ArchiveInputStream has a new method getBytesRead that should
291 be preferred over getCount since the later may truncate the
292 number of bytes read for big archives.
293 </action>
Stefan Bodewig315b9472010-02-18 14:56:03 +0000294 <action type="fix" date="2010-02-18" issue="COMPRESS-85">
295 The cpio archives created by CpioArchiveOutputStream couldn't
296 be read by many existing native implementations because the
297 archives contained multiple entries with the same inode/device
298 combinations and weren't padded to a blocksize of 512 bytes.
299 </action>
Stefan Bodewig91695e42010-02-16 13:59:03 +0000300 <action type="fix" date="2010-02-16" issue="COMPRESS-73">
301 ZipArchiveEntry, ZipFile and ZipArchiveInputStream are now
302 more lenient when parsing extra fields.
303 </action>
Sebastian Bazley78e0f2c2010-06-01 16:38:13 +0000304 <action issue="COMPRESS-75" type="update" date="2010-02-12">
305 ZipArchiveInputStream does not show location in file where a problem occurred.
306 </action>
Sebastian Bazley886f71b2010-04-13 21:21:03 +0000307 <action type="fix" date="2010-02-12" issue="COMPRESS-82">
308 cpio is terribly slow.
309 Documented that buffered streams are needed for performance
310 </action>
Stefan Bodewig292e1852010-03-04 15:54:09 +0000311 <action type="add" date="2010-02-12" issue="COMPRESS-97">
312 Added autodetection of compression format to
313 CompressorStreamFactory.
314 </action>
Stefan Bodewig124f97c2010-02-12 11:35:14 +0000315 <action type="fix" date="2010-02-12">
316 Improved exception message if the extra field data in ZIP
317 archives cannot be parsed.
318 </action>
Sebastian Bazley886f71b2010-04-13 21:21:03 +0000319 <action type="fix" date="2010-02-11" issue="COMPRESS-17">
320 Tar format unspecified - current support documented.
321 </action>
Stefan Bodewig124f97c2010-02-12 11:35:14 +0000322 <action type="add" issue="COMPRESS-95" date="2010-01-29"
Christian Grobmeiere7517b82010-01-29 07:47:21 +0000323 due-to="Joerg Bellmann">
324 Improve ExceptionMessages in ArchiveStreamFactory
325 </action>
Stefan Bodewig5066e9a2010-01-07 09:34:55 +0000326 <action type="fix" issue="COMPRESS-94" date="2010-01-07"
327 due-to="Anon Devs">
328 ZipArchiveEntry's equals method was broken for entries created
329 with the String-arg constructor. This lead to broken ZIP
330 archives if two different entries had the same hash code.
331 </action>
Stefan Bodewigdc3fc472009-10-30 05:29:17 +0000332 <action type="fix" issue="COMPRESS-87" date="2009-10-30"
333 due-to="Antoni Mylka">
334 ZipArchiveInputStream could repeatedly return 0 on read() when
335 the archive was truncated.
336 </action>
Stefan Bodewig7bb5d882009-10-08 12:07:19 +0000337 <action type="fix" issue="COMPRESS-86" date="2009-10-08">
338 Tar archive entries holding the file name for names longer
339 than 100 characters in GNU longfile mode didn't properly
340 specify they'd be using the "oldgnu" extension.
341 </action>
Stefan Bodewig3e2ddad2009-08-25 08:11:44 +0000342 <action type="add" date="2009-08-25">
343 A new constructor of TarArchiveEntry can create entries with
344 names that start with slashes - the default is to strip
345 leading slashes in order to create relative path names.
346 </action>
Stefan Bodewig7be8ef62009-08-01 20:25:13 +0000347 <action issue="COMPRESS-83" type="fix" date="2009-08-01">
348 Delegate all read and write methods in GZip stream in order to
349 speed up operations.
350 </action>
351 <action type="add" date="2009-08-01">
352 ArchiveEntry now has a getLastModifiedDate method.
353 </action>
354 <action type="fix" date="2009-08-01">
355 The ar and cpio streams now properly read and write last
356 modified times.
357 </action>
Stefan Bodewig2318ba32009-06-30 07:25:44 +0000358 <action issue="COMPRESS-81" type="fix" date="2009-06-30">
359 TarOutputStream can leave garbage at the end of the archive
360 </action>
Stefan Bodewig47b706e2009-06-30 08:23:08 +0000361 <action issue="COMPRESS-78" type="add" date="2009-06-30"
362 due-to="Jukka Zitting">
363 Add a BZip2Utils class modelled after GZipUtils
364 </action>
Stefan Bodewig2318ba32009-06-30 07:25:44 +0000365 </release>
366 <release version="1.0" date="2009-05-21" description="First Public Release">
367 <action dev="all" type="add" date="2009-05-21">
Christian Grobmeier35ac05e2009-05-10 17:32:20 +0000368 Initial release
369 </action>
Siegfried Goeschlf03f2f92009-03-23 14:52:23 +0000370 <action dev="sgoeschl" type="fix">
371 Updating the pom.xml for preparing a move to commons-proper
372 </action>
373 </release>
374 </body>
375</document>