Merge from vendor branch LIBARCHIVE:
[dragonfly.git] / contrib / libarchive-2 / NEWS
1 Mar 14, 2008: libarchive 2.4.14 released.  This is identical to 2.4.13
2         except it contains a one-line fix to the uname/gname problem
3         introduced by the Feb 25 UTF-8 fix.  This bug makes libarchive
4         refuse to add a file to a pax archive if it has a valid gname
5         but not a valid uname.  In some cases, it can also cause the
6         uname to be stored for the gname.
7
8 Feb 26, 2008: libarchive 2.4.13 released
9 Feb 25, 2008: Handle path, linkname, gname, or uname that can't be converted
10         to/from UTF-8.  Implement "hdrcharset" attribute from SUS-2008.
11 Feb 25, 2008: Fix name clash on NetBSD.
12 Feb 18, 2008: Fix writing empty 'ar' archives, per Kai Wang
13 Feb 18, 2008: [bsdtar] Permit appending on block devices.
14 Feb 09, 2008: New "linkify" resolver to help with newc hardlink writing;
15         bsdcpio still needs to be converted to use this.
16 Feb 02, 2008: Windows compatibility fixes from Ivailo Petrov, Kees Zeelenberg
17 Jan 30, 2008: Ignore hardlink size for non-POSIX tar archives.
18
19 Jan 22, 2008: libarchive 2.4.12 released
20 Jan 22, 2008: Fix bad padding when writing symlinks to newc cpio archives.
21 Jan 22, 2008: Verify bsdcpio_test by getting it to work against GNU cpio 2.9.
22         bsdcpio_test complains about missing options (-y and -z), format
23         of informational messages (--version, --help), and a minor formatting
24         issue in odc format output.  After this update, bsdcpio_test uncovered
25         several more cosmetic issues in bsdcpio, all now fixed.
26 Jan 22, 2008: Experimental support for self-extracting Zip archives.
27 Jan 22, 2008: Extend hardlink restore strategy to work correctly with
28         hardlinks extracted from newc cpio files.  (Which store the body
29         only with the last occurrence of a link.)
30
31 Dec 30, 2007: libarchive 2.4.11 released
32 Dec 30, 2007: Fixed a compile error in bsdcpio on some systems.
33
34 Dec 29, 2007: libarchive 2.4.10 released
35 Dec 29, 2007: bsdcpio 0.9.0 is ready for wider use.
36 Dec 29, 2007: Completed initial test harness for bsdcpio.
37
38 Dec 22, 2007: libarchive 2.4.9 released
39 Dec 22, 2007: Implement the remaining options for bsdcpio:  -a, -q, -L, -f,
40         pattern selection for -i and -it.
41
42 Dec 13, 2007: libarchive 2.4.8 released
43 Dec 13, 2007: gzip and bzip2 compression now handle zero-byte writes correctly,
44         Thanks to Damien Golding for bringing this to my attention.
45
46 Dec 12, 2007: libarchive 2.4.7 released
47
48 Dec 10, 2007: libarchive 2.4.6 released
49 Dec 09, 2007: tar/test/test_copy.c verifies "tar -c | tar -x" copy pipeline
50 Dec 07, 2007: Fix a couple of minor memory leaks.
51
52 Dec 04, 2007: libarchive 2.4.5 released
53 Dec 04, 2007: Fix cpio/test/test_write_odc by setting the umask first.
54
55 Dec 03, 2007: libarchive 2.4.4 released
56 Dec 03, 2007: New configure options --disable-xattr and --disable-acl,
57         thanks to Samuli Suominen.
58
59 Dec 03, 2007: libarchive 2.4.3 released
60 Dec 03, 2007: Thanks to Lapo Luchini for sending me a ZIP file that
61         libarchive couldn't handle.  Fixed a bug in handling of
62         "length at end" flags in ZIP files.
63 Dec 03, 2007: Fixed bsdcpio -help, bsdtar -help tests.
64 Dec 02, 2007: First cut at real bsdtar test harness.
65
66 Dec 02, 2007: libarchive 2.4.2 released
67
68 Dec 02, 2007: libarchive 2.4.1 released
69 Dec 02, 2007: Minor fixes, rough cut of mdoc-to-man conversion for
70         man pages.
71
72 Oct 30, 2007: libarchive 2.4.0 released
73 Oct 30, 2007: Minor compile fix thanks to Joerg Schilling.
74 Oct 30, 2007: Only run the format auction once at the beginning of the
75         archive.  This is simpler and supports better error recovery.
76 Oct 29, 2007: Test support for very large entries in tar archives:
77         libarchive_test now exercises entries from 2GB up to 1TB.
78
79 Oct 27, 2007: libarchive 2.3.5 released
80 Oct 27, 2007: Correct some unnecessary internal data copying in the
81         "compression none" reader and writer; this reduces user time
82         by up to 2/3 in some tests.  (Thanks to Jan Psota for
83         publishing his performance test results to GNU tar's bug-tar
84         mailing list; those results pointed me towards this problem.)
85 Oct 27, 2007: Fix for skipping archive entries that are exactly
86         a multiple of 4G on 32-bit platforms.
87 Oct 25, 2007: Fix for reading very large (>8G) tar archives; this was
88         broken when I put in support for new GNU tar sparse formats.
89 Oct 20, 2007: Initial work on new pattern-matching code for cpio; I
90         hope this eventually replaces the code currently in bsdtar.
91
92 Oct 08, 2007: libarchive 2.3.4 released
93 Oct 05, 2007: Continuing work on bsdcpio test suite.
94 Oct 05, 2007: New cpio.5 manpage, updates to "History" of bsdcpio.1 and
95         bsdtar.1 manpages.
96 Oct 05, 2007: Fix zip reader to immediately return EOF if you try
97         to read body of non-regular file.  In particular, this fixes
98         bsdtar extraction of zip archives.
99
100 Sep 30, 2007: libarchive 2.3.3 released
101 Sep 26, 2007: Rework Makefile.am so that the enable/disable options
102         actually do the right things.
103 Sep 26, 2007: cpio-odc and cpio-newc archives no longer write bodies
104         for non-regular files.
105 Sep 26, 2007: Test harness for bsdcpio is in place, needs more tests written.
106         This is much nicer than the ragtag collection of test scripts
107         that bsdtar has.
108
109 Sep 20, 2007: libarchive 2.3.2 released
110 Sep 20, 2007: libarchive 2.3.1 broke bsdtar because the archive_write_data()
111         fix was implemented incorrectly.
112
113 Sep 16, 2007: libarchive 2.3.1 released
114 Sep 16, 2007: Many fixes to bsdcpio 0.3:  handle hardlinks with -p, recognize
115         block size on writing, fix a couple of segfaults.
116 Sep 16, 2007: Fixed return value from archive_write_data() when used
117         with archive_write_disk() to match the documentation and other
118         instances of this same function.
119 Sep 15, 2007: Add archive_entry_link_resolver, archive_entry_strmode
120
121 Sep 11, 2007: libarchive 2.2.8 released
122 Sep 09, 2007: bsdcpio 0.2 supports most (not yet all) of the old POSIX spec.
123
124 Sep 01, 2007: libarchive 2.2.7 released
125 Aug 31, 2007: Support for reading mtree files, including an mtree.5 manpage
126         (A little experimental still.)
127 Aug 18, 2007: Read gtar 1.17 --posix --sparse entries.
128 Aug 13, 2007: Refined suid/sgid restore handling; it is no longer
129         an error if suid/sgid bits are dropped when you request
130         perm restore but don't request owner restore.
131 Aug 06, 2007: Use --enable-bsdcpio if you want to try bsdcpio
132
133 Aug 05, 2007: libarchive 2.2.6 released
134 Aug 05, 2007: New configure option --disable-bsdtar, thanks to Joerg
135         Sonnenberger.
136 Aug 05, 2007: Several bug fixes from FreeBSD CVS repo.
137
138 Jul 13, 2007: libarchive 2.2.5 released
139
140 Jul 12, 2007: libarchive 2.2.4 released
141 Jul 12, 2007: Thanks to Colin Percival's help in diagnosing and
142         fixing several critical security bugs.  Details available at
143         http://security.freebsd.org/advisories/FreeBSD-SA-07:05.libarchive.asc
144
145 May 26, 2007: libarchive 2.2.3 released
146 May 26, 2007: Fix memory leaks in ZIP reader and shar writer, add some
147         missing system headers to archive_entry.h, dead code cleanup
148         from Colin Percival, more tests for gzip/bzip2, fix an
149         EOF anomaly in bzip2 decompression.
150
151 May 12, 2007: libarchive 2.2.2 released
152 May 12, 2007: Fix archive_write_disk permission restore by cloning
153         entry passed into write_header so that permission info is
154         still available at finish_entry time.  (archive_read_extract()
155         worked okay because it held onto the passed-in entry, but
156         direct consumers of archive_write_disk would break).  This
157         required fixing archive_entry_clone(), which now works and has
158         a reasonably complete test case.
159 May 10, 2007: Skeletal cpio implementation.
160
161 May 06, 2007: libarchive 2.2.1 released
162 May 06, 2007: Flesh out a lot more of test_entry.c so as to catch
163         problems such as the device node breakage before releasing <sigh>.
164 May 05, 2007: Fix a bad bug introduced in 2.1.9 that broke device
165         node entries in tar archives.
166 May 03, 2007: Move 'struct stat' out of archive_entry core as well.
167         This removes some portability headaches and fixes a bunch
168         of corner cases that arise when manipulating archives on
169         dissimilar systems.
170
171 Apr 30, 2007: libarchive 2.1.10 released
172 Apr 31, 2007: Minor code cleanup.
173
174 Apr 24, 2007: libarchive 2.1.9 released
175 Apr 24, 2007: Fix some recently-introduced problems with libraries
176         (Just let automake handle it and it all works much better.)
177         Finish isolating major()/minor()/makedev() in archive_entry.c.
178
179 Apr 23, 2007: libarchive 2.1.8 released
180 Apr 23, 2007: Minor fixes found from building on MacOS X
181
182 Apr 22, 2007: libarchive 2.1.7 released
183 Apr 22, 2007: Eliminated all uses of 'struct stat' from the
184         format readers/writers.  This should improve portability;
185         'struct stat' is now only used in archive_entry and in
186         code that actually touches the disk.
187
188 Apr 17, 2007: libarchive 2.1.6 released
189         Libarchive now compiles and passes all tests on Interix.
190
191 Apr 16, 2007: libarchive 2.1.5 released
192
193 Apr 15, 2007: libarchive 2.1b2 released
194 Apr 15, 2007: New libarchive_internals.3 documentation of internal APIs.
195         Not complete, but should prove helpful.
196 Apr 15, 2007: Experimental "read_compress_program" and "write_compress_program"
197         for using libarchive with external compression.  Not yet
198         well tested, and likely has portability issues.  Feedback
199         appreciated.
200
201 Apr 14, 2007: libarchive 2.0.31 released
202 Apr 14, 2007: More fixes for Interix, more 'ar' work
203
204 Apr 14, 2007: libarchive 2.0.30 released
205 Apr 13, 2007: libarchive now enforces trailing '/' on dirs
206         written to tar archives
207
208 Apr 11, 2007: libarchive 2.0.29 released
209 Apr 11, 2007: Make it easier to statically configure for different platforms.
210 Apr 11, 2007: Updated config.guess, config.sub, libtool
211
212 Apr 06, 2007: libarchive 2.0.28 released
213 Apr 06, 2007: 'ar' format read/write support thanks to Kai Wang.
214
215 Apr 01, 2007: libarchive 2.0.27 released
216 Mar 31, 2007: Several minor fixes from Colin Percival and Joerg Sonnenberger.
217
218 Mar 12, 2007: libarchive 2.0.25 released
219 Mar 12, 2007: Fix broken --unlink flag.
220
221 Mar 11, 2007: libarchive 2.0.24 released
222 Mar 10, 2007: Correct an ACL blunder that causes any ACL with an entry
223     that refers to a non-existent user or group to not be restored correctly.
224     The fix both makes the parser more tolerant (so that archives created
225     with the buggy ACLs can be read now) and corrects the ACL formatter.
226 Mar 10, 2007: More work on test portability to Linux.
227
228 Mar 10, 2007: libarchive 2.0.22 released
229 Mar 10, 2007: Header cleanups; added linux/fs.h, removed
230     some unnecessary headers, added #include guards in bsdtar.
231     If you see any obvious compile failures from this, let me know.
232 Mar 10, 2007: Work on bsdtar test scripts: not yet robust enough
233     to enable as part of "make check", but getting better.
234 Mar 10, 2007: libarchive now returns ARCHIVE_FAILED when
235     a header write fails in a way that only affects this item.
236     Less bad than ARCHIVE_FATAL, but worse than ARCHIVE_WARN.
237
238 Mar 07, 2007: libarchive 2.0.21 released
239 Mar 07, 2007: Add some ACL tests (only for the system-independent
240     portion of the ACL support for now).
241 Mar 07, 2007: tar's ability to read ACLs off disk got
242     turned off for FreeBSD; re-enable it.  (ACL restores and
243     libarchive support for storing/reading ACLs from pax
244     archives was unaffected.)
245
246 Mar 02, 2007: libarchive 2.0.20 released
247 Mar 2, 2007:  It's not perfect, but it's pretty good.
248     Libarchive 2.0 is officially out of beta.
249
250 Feb 28, 2007: libarchive 2.0b17 released
251 Feb 27, 2007: Make the GID restore checks more robust by checking
252     whether the current user has too few or too many privileges.
253
254 Feb 26, 2007: libarchive 2.0b15 released
255 Feb 26, 2007: Don't lose symlinks when extracting from ISOs.
256     Thanks to Diego "Flameeyes" Pettenò for telling me about the
257     broken testcase on Gentoo that (finally!) led me to the cause
258     of this long-standing bug.
259
260 Feb 26, 2007: libarchive 2.0b14 released
261 Feb 26, 2007: Fix a broken test on platforms that lack lchmod().
262
263 Feb 25, 2007: libarchive 2.0b13 released
264 Feb 25, 2007: Empty archives were being written as empty files,
265     without a proper end-of-archive marker.  Fixed.
266
267 Feb 23, 2007: libarchive 2.0b12 released
268 Feb 22, 2007: Basic security checks added: _EXTRACT_SECURE_NODOTDOT
269     and _EXTRACT_SECURE_SYMLINK.  These checks used to be in bsdtar,
270     but they belong down in libarchive where they can be used by
271     other tools and where they can be better optimized.
272
273 Feb 11, 2007: libarchive 2.0b11 released
274 Feb 10, 2007: Fixed a bunch of errors in libarchive's handling
275     of EXTRACT_PERM and EXTRACT_OWNER, especially relating
276     to SUID and SGID bits.
277
278 Jan 31, 2007: libarchive 2.0b9 released
279 Jan 31, 2007: Added read support for "empty" archives as a
280     distinct archive format.  Bsdtar uses this to handle, e.g.,
281     "touch foo.tar; tar -rf foo.tar"
282
283 Jan 22, 2007: libarchive 2.0b6 released
284 Jan 22, 2007: archive_write_disk API is now in place.  It provides
285     a finer-grained interface than archive_read_extract.  In particular,
286     you can use it to create objects on disk without having an archive
287     around (just feed it archive_entry objects describing what you
288     want to create), you can override the uname/gname-to-uid/gid lookups
289     (minitar uses this to avoid getpwXXX() and getgrXXX() bloat).
290
291 Jan 09, 2007: libarchive 2.0a3 released
292 Jan 9, 2007: archive_extract is now much better; it handles the
293     most common cases with a minimal number of system calls.
294     Some features still need a lot of testing, especially corner
295     cases involving objects that already exist on disk.   I expect
296     the next round of API overhaul will simplify building test cases.
297 Jan 9, 2007: a number of fixes thanks to Colin Percival, especially
298     corrections to the skip() framework and handling of large files.
299 Jan 9, 2007: Fixes for large ISOs.  The code should correctly handle
300     very large ISOs with entries up to 4G.   Thanks to Robert Sciuk
301     for pointing out these issues.
302
303 Sep 05, 2006: libarchive 1.3.1 released
304 Sep 5, 2006: Bump version to 1.3 for new I/O wrappers.
305 Sep 4, 2006: New memory and FILE read/write wrappers.
306 Sep 4, 2006: libarchive test harness is now minimally functional;
307     it's located a few minor bugs in error-handling logic
308
309 Aug 17, 2006: libarchive 1.2.54 released
310 Aug 17, 2006: Outline ABI changes for libarchive 2.0; these
311    are protected behind #ifdef's until I think I've found everything
312    that needs to change.
313 Aug 17, 2006: Fix error-handling in archive_read/write_close()
314    They weren't returning any errors before.
315 Aug 17, 2006: Fix recursive-add logic to not trigger if it's not set
316    Fixes a bug adding files when writing archive to pipe or when
317    using archive_write_open() directly.
318 Jul 2006: New "skip" handling improves performance extracting
319    single files from large uncompressed archives.
320
321 Mar 21, 2006: 1.2.52 released
322 Mar 21, 2006: Fix -p on platforms that don't have platform-specific
323    extended attribute code.
324 Mar 20, 2006: Add NEWS file; fill in some older history from other
325    files.  I'll try to keep this file up-to-date from now on.
326
327 OLDER NEWS SUMMARIES
328
329 Mar 19, 2006: libarchive 1.2.51 released
330 Mar 18, 2006: Many fixes to extended attribute support, including a redesign
331    of the storage format to simplify debugging.
332 Mar 12, 2006: Remove 'tp' support; it was a fun idea, but not worth
333    spending much time on.
334 Mar 11, 2006: Incorporated Jaakko Heinonen's still-experimental support
335    for extended attributes (Currently Linux-only.).
336 Mar 11, 2006: Reorganized distribution package: There is now one tar.gz
337    file that builds both libarchive and bsdtar.
338 Feb 13, 2006: Minor bug fixes: correctly read cpio device entries, write
339    Pax attribute entry names.
340 Nov 7, 2005: Experimental 'tp' format support in libarchive.  Feedback
341    appreciated; this is not enabled by archive_read_support_format_all()
342    yet as I'm not quite content with the format detection heuristics.
343 Nov 7, 2005: Some more portability improvements thanks to Darin Broady,
344    minor bugfixes.
345 Oct 12, 2005: Use GNU libtool to build shared libraries on many systems.
346 Aug 9, 2005: Correctly detect that MacOS X does not have POSIX ACLs.
347 Apr 17, 2005: Kees Zeelenberg has ported libarchive and bsdtar to Windows:
348    http://gnuwin32.sourceforge.net/
349 Apr 11, 2005: Extended Zip/Zip64 support thanks to Dan Nelson.  -L/-h
350    fix from Jaakko Heinonen.
351 Mar 12, 2005: archive_read_extract can now handle very long
352    pathnames (I've tested with pathnames up to 1MB).
353 Mar 12, 2005: Marcus Geiger has written an article about libarchive
354    http://xsnil.antbear.org/2005/02/05/archive-mit-libarchive-verarbeiten/
355    including examples of using it from Objective-C.  His MoinX
356    http://moinx.antbear.org/ desktop Wiki uses
357    libarchive for archiving and restoring Wiki pages.
358 Jan 22, 2005: Preliminary ZIP extraction support,
359     new directory-walking code for bsdtar.
360 Jan 16, 2005: ISO9660 extraction code added; manpage corrections.
361 May 22, 2004: Many gtar-compatible long options have been added; almost
362     all FreeBSD ports extract correctly with bsdtar.
363 May 18, 2004: bsdtar can read Solaris, HP-UX, Unixware, star, gtar,
364     and pdtar archives.