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