xref: /freebsd/contrib/libarchive/NEWS (revision 2f513db72b034fd5ef7f080b11be5c711c15186a)
1Feb 11, 2020: libarchive 3.4.2 released
2
3Jan 23, 2020: Important fixes for writing XAR archives
4
5Jan 20, 2020: New tar option: --safe-writes (atomical file extraction)
6
7Jan 03, 2020: Support mbed TLS (PolarSSL) as optional crypto provider
8
9Dec 30, 2019: libarchive 3.4.1 released
10
11Dec 11, 2019: New pax write option "xattrhdr"
12
13Nov 17, 2019: Unicode filename support for reading lha/lzh archives
14
15Jun 11, 2019: libarchive 3.4.0 released
16
17May 18, 2019: Fixes for reading Android APK and JAR archives
18
19Apr 16, 2019: Support for non-recursive list and extract
20
21Apr 14, 2019: New tar option: --exclude-vcs
22
23Mar 27, 2019: Support for file and directory symlinks on Windows
24
25Mar 12, 2019: Important fixes for storing file attributes and flags
26
27Jan 20, 2019: Support for xz, lzma, ppmd8 and bzip2 decompression in ZIP files
28
29Oct 06, 2018: RAR 5.0 reader
30
31Sep 03, 2018: libarchive 3.3.3 released
32
33Jul 19, 2018: Avoid super-linear slowdown on malformed mtree files
34
35Jan 27, 2018: Many fixes for building with Visual Studio
36
37Oct 19, 2017: NO_OVERWRITE doesn't change existing directory attributes
38
39Aug 12, 2017: New support for Zstandard read and write filters
40
41Jul 09, 2017: libarchive 3.3.2 released
42
43Mar 16, 2017: NFSv4 ACL support for Linux (librichacl)
44
45Feb 26, 2017: libarchive 3.3.1 released
46    Security & Feature release
47
48Feb 19, 2017: libarchive 3.3.0 released
49    Security & Feature release
50
51Jan 29, 2017: Limited NFSv4 ACL support for Mac OS (Darwin)
52
53Jan 10, 2017: POSIX.1e and NFSv4 ACL support for Solaris and derivates
54
55Dec 27, 2016: NFSv4 ACL read and write support for pax
56    Deprecated functions: archive_entry_acl_text(), archive_entry_acl_text_w()
57
58Nov, 2016: libarchive is now being tested by the OSS-Fuzz project
59
60Oct 26, 2016: Remove liblzmadec support
61
62Oct 23, 2016: libarchive 3.2.2 released
63    Security release
64
65Jun 20, 2016: libarchive 3.2.1 released
66    This fixes a handful of security and other critical issues with 3.2.0
67
68May 01, 2016: libarchive 3.2.0 released
69
70Apr 09, 2016: libarchive 3.1.901a released
71    Another test release in preparation for 3.2.0
72
73Feb 13, 2016: libarchive 3.1.900a released
74    This is a test release in preparation for 3.2.0
75
76Oct 21, 2015: Preliminary port to OSF
77
78Apr 11, 2015: libarchive's issue tracker is now hosted at GitHub.
79    https://github.com/libarchive/libarchive/issues
80
81Early 2015:  Many fixes to crash and overflow bugs thanks to Hanno Boeck
82
83Oct 13, 2014: Zip encryption and decryption support
84
85Aug 13, 2014: Add support for lz4 compression.
86
87Jun 10, 2014: Add warc format support
88
89May  3, 2014: Add experimental Zip streaming extension
90
91Apr  6, 2014: Add bsdcat command-line tool
92
93Jan 12, 2014: Add Zip64 support
94
95Dec  1, 2013: Rewrite Zip write logic
96
97Jul  1, 2013: Add ability to detect encrypted entries for many formats
98     (This does not add the ability to *decrypt* those entries, however)
99
100Feb 23, 2013: "raw" write support added
101
102Feb 09, 2013: libarchive 3.1.2 released
103
104Jan 28, 2013: libarchive's new website moved to http://www.libarchive.org.
105
106Jan 13, 2013: libarchive 3.1.1 released
107
108Jan 13, 2013: libarchive 3.1.0 released
109
110Dec 07, 2012: Implement functions to manually set the format and filters used.
111
112Nov 11, 2012: Add support for __MACOSX directory in Zip archives, which resource
113    forks are stored in.
114
115Oct 20, 2012: Add support for writing v7 tar format.
116
117Oct 09, 2012: Add support for grzip compression.
118
119Oct 07, 2012: Introduce b64encode filter.
120Oct 07, 2012: Introduce uuencode filter.
121
122Oct 06, 2012: Add support for lzop.
123
124Sep 27, 2012: Implement function used to seek within data blocks.
125    (Currently only supported for uncompressed RAR archives).
126
127Apr 22, 2012: Add basic archive read and write filter support for lrzip.
128
129Mar 27, 2012: libarchive 3.0.4 released
130
131Feb 05, 2012: libarchive development now hosted at GitHub.
132    http://libarchive.github.com/
133Feb 05, 2012: libarchive's issue tracker remains at Google Code.
134    http://code.google.com/p/libarchive/issues/list
135Feb 05, 2012: libarchive's mailing lists remain at Google Groups.
136
137Dec 24, 2011: libarchive 3.0.2 released
138Dec 23, 2011: Various fixes merged from FreeBSD
139Dec 23, 2011: Symlink support in Zip reader and writer
140Dec 23, 2011: Robustness fixes to 7Zip reader
141
142Nov 27, 2011: libarchive 3.0.1b released
143
144Nov 26, 2011: 7Zip reader
145Nov 26, 2011: Small fixes to ISO and Zip to improve robustness with corrupted input
146Nov 24, 2011: Improve streaming Zip reader's support for uncompressed entries
147Nov 20, 2011: New seeking Zip reader supports SFX Zip archives
148Nov 20, 2011: Build fixes on Windows
149
150Nov 13, 2011: libarchive 3.0.0a released
151
152Nov 06, 2011: Update shared-library version calculations for libarchive 3.x
153Sep 04, 2011: Fix tar -s; follow GNU tar for controlling hardlink/symlink substitutions
154Aug 18, 2011: Fix reading ISO images built by NetBSD's mkisofs
155Aug 15, 2011: Old archive_read_support_compression_XXX functions are deprecated and
156   will disappear in libarchive 4.0.
157Jun 26, 2011: RAR reader
158Jun 16, 2011: Add tar:compat-2x option to emulate broken libarchive 2.x
159   handling of pax UTF-8 headers
160Apr 25, 2011: Refactor read_open() into a collection of single-item setters;
161   support the old interfaces as wrappers
162Apr 12, 2011: Split disk writer into separate POSIX and Windows implementations
163Apr 10, 2011: Improvements to character translations on Windows.
164Mar 30, 2011: More work to return errors instead of calling abort()
165Mar 23, 2011: Add charset option to many writers to control MBCS filenames
166Mar 17, 2011: Overhauled support for per-format extension options
167Mar 17, 2011: Track character set used for mbcs strings, support
168   translating to/from user-specified locale
169Mar 09, 2011: Recognize mtree files without requiring a signature
170Mar 06, 2011: Use iconv to convert to/from Unicode instead of making bad
171   assumptions about the C90 character set translation functions
172Feb 17, 2011: Fixes for AIX, TRU64, and other platforms
173Dec 22, 2010: CAB reader
174Dec 20, 2010: LHA/LZH reader
175Jul 03, 2010: minitar example demonstrates archive_read_disk directory traversal
176Jun 29, 2010: Many improvements to ISO reader compatibility
177Jun 26, 2010: Use larger buffers when copy files into an archive
178Jun 18, 2010: Reimplement Mac OS extensions in libarchive
179Jun 09, 2010: archive_read_disk now supports traversals
180May 28, 2010: XAR writer
181May 16, 2010: Fix ^T handling; don't exit on interrupted reads and writes
182May 09, 2010: Improved detection of platform-specific crypto support
183May 04, 2010: lzip read and write filters
184May 01, 2010: New options: tar --gid --gname --uid --uname
185Apr 28, 2010: Use Red-black tree for ISO reader/writer to improve performance
186Apr 17, 2010: Minimal writer for legacy GNU tar format
187Mar 12, 2010: Don't dereference symlinks on Linux when reading ACLs.
188Mar 06, 2010: Fix build when an older libarchive is already installed
189Feb 28, 2010: Relax handling of state failures; misuse by clients now generally
190      results in a sticky ARCHIVE_FATAL rather than a visit to abort()
191Feb 25, 2010: ISO writer
192Feb 21, 2010: Split many man pages into smaller chunks.
193Feb 21, 2010: Performance: Cheat on block sizes when reading archives from disk.
194Feb 21, 2010: Use int64_t instead of off_t, dev_t, ino_t, uid_t, and gid_t
195Feb 20, 2010: Document new ACL functions.
196Feb 19, 2010: Support multiple write filters
197Feb 07, 2010: Remove some legacy libarchive 1.x APIs
198Feb 04, 2010: Read afio headers
199Feb 02, 2010: Archive sparse files compatibly with GNU tar
200Feb 01, 2010: Integrate Apple extensions for Mac OS extended attributes into bsdtar
201Jan 31, 2010: Support cpio -V
202
203Feb 04, 2010: libarchive 2.8.0 released
204Jan 17, 2010: Fix error handling for 'echo nonexistent | cpio -o'
205Jan 17, 2010: Don't use futimes() on Cygwin
206
207Jan 02, 2010: libarchive 2.7.902a released (test release for 2.8)
208Jan 02, 2010: Fix tar/test/test_windows on MinGW
209Jan 02, 2010: Fix memory leaks in libarchive tests
210Jan 01, 2010: Fix memory leak when filter startup fails
211
212Dec 27, 2009: libarchive 2.7.901a released (test release for 2.8)
213
214Aug 04, 2009: libarchive 2.7.1 released
215Jul 20, 2009: Suppress bogus warning about unxz
216Jul 19, 2009: Support Cygwin 1.7
217Jun 11, 2009: Support lzma/xz files compressed with larger buffer sizes.
218May 24, 2009: Handle gzip files signed with OpenBSD "gzsig" program.
219May 07, 2009: Avoid false failures when reading from pipe.
220
221Apr 16, 2009: libarchive 2.7.0 released
222
223Apr 10, 2009: libarchive 2.6.992a released
224Apr 09, 2009: Fix SIGPIPE issue building with MSVC.
225Apr 09, 2009: Fix several minor memory leaks in libarchive and libarchive_test
226
227Apr 08, 2009: libarchive 2.6.991a released
228Apr 07, 2009: Additional tests added to bsdcpio_test
229
230Apr 01, 2009: libarchive 2.6.990a released
231Apr 01, 2009: Use command-line gunzip, bunzip2, unxz, unlzma for
232	decompression if the library is built without suitable
233	libraries.  The setup functions return ARCHIVE_WARN
234	in this case so clients can adapt if necessary.
235Apr 01, 2009: Use getpw*_r and getgr*_r functions for thread-safety.
236Mar 24, 2009: Add archive_read_next_header2(), which is up to 25%
237	more efficient for some clients; from Brian Harring.
238Mar 22, 2009: PDF versions of manpages are now included in the distribution.
239Mar, 2009: Major work to improve Cygwin build by Charles Wilson.
240Feb/Mar, 2009: Major work on cmake build support, mostly by Michihiro NAKAJIMA.
241Feb/Mar, 2009: Major work on Visual Studio support by Michihiro NAKAJIMA.
242	All tests now pass.
243Feb 25, 2009: Fix Debian Bug #516577
244Feb 21, 2009: Yacc is no longer needed to build; date parser rewritten in C.
245Jan/Feb, 2009: Mtree work by Michihiro.
246Feb, 2009: Joliet support by Andreas Henriksson.
247Jan/Feb, 2009: New options framework by Michihiro.
248Feb, 2009: High-res timestamps on Tru64, AIX, and GNU Hurd, by Björn Jacke.
249Jan 18, 2009: Extended attributes work on FreeBSD and Linux now	with pax format.
250Jan 07, 2009: New archive_read_disk_entry_from_file() knows about ACLs,
251	extended attributes, etc so that bsdtar and bsdcpio don't require
252	such system-specific knowledge.
253Jan 03, 2009: Read filter system extensively refactored.  In particular,
254	read filter pipelines are now built out automatically and individual
255	filters should be much easier to implement.  Documentation on the
256	Googlecode Wiki explains how to implement new filters.
257Dec 28, 2008: Many Windows/Visual Studio fixes from Michihiro NAKAJIMA.
258
259Dec 28, 2008: Main libarchive development moved from FreeBSD Perforce
260	server to Google Code.  This should make it easier for more
261	people to participate in libarchive development.
262
263Dec 28, 2008: libarchive 2.6.0 released
264Dec 25, 2008: libarchive 2.5.905a released
265Dec 10, 2008: libarchive 2.5.904a released
266Dec 04, 2008: libarchive 2.5.903a released
267Nov 09, 2008: libarchive 2.5.902a released
268Nov 08, 2008: libarchive 2.5.901a released
269Nov 08, 2008: Start of pre-release testing for libarchive 2.6
270
271Nov 07, 2008: Read filter refactor: The decompression routines just
272	consume and produce arbitrarily-sized blocks.  The reblocking
273	from read_support_compression_none() has been pulled into the
274	read core.  Also, the decompression bid now makes multiple
275	passes and stacks read filters.
276Oct 21, 2008: bsdcpio: New command-line parser.
277Oct 19, 2008: Internal read_ahead change: short reads are now an error
278Oct 06, 2008: bsdtar: option parser no longer uses getopt_long(),
279	gives consistent option parsing on all platforms.
280Sep 19, 2008: Jaakko Heinonen: shar utility built on libarchive
281Sep 17, 2008: Pedro Giffuni: birthtime support
282Sep 17, 2008: Miklos Vajna: lzma reader and test.  Note:  I still have
283	some concerns about the auto-detection (LZMA file format
284	doesn't support auto-detection well), so this is not yet
285	enabled under archive_read_support_compression_all().  For
286	now, you must call archive_read_support_compression_lzma() if
287	you want LZMA read support.
288Sep 11, 2008: Ivailo Petrov: Many fixes to Windows build, new solution files
289Jul 26, 2008: archive_entry now tracks which values have not been set.
290	This helps zip extraction (file size is often "unknown") and
291	time restores (tar usually doesn't know atime).
292Jul 26, 2008: Joerg Sonnenberger: Performance improvements to shar writer
293Jul 25, 2008: Joerg Sonnenberger: mtree write support
294
295Jul 02, 2008: libarchive 2.5.5 released
296
297Jul 02, 2008: libarchive 2.5.5b released
298Jul 01, 2008: bsdcpio is being used by enough people, we can call it 1.0.0 now
299Jun 20, 2008: bsdcpio: If a -l link fails with EXDEV, copy the file instead
300Jun 19, 2008: bsdcpio: additional long options for better GNU cpio compat
301Jun 15, 2008: Many small portability and bugfixes since 2.5.4b.
302
303May 25, 2008: libarchive 2.5.4b released
304May 21, 2008: Joerg Sonnenberger: fix bsdtar hardlink handling for newc format
305
306May 21, 2008: More progress on Windows building.  Thanks to "Scott"
307        for the Windows makefiles, thanks to Kees Zeelenberg for
308        code contributions.
309
310May 21, 2008: Fix a number of non-exploitable integer and buffer overflows,
311        thanks to David Remahl at Apple for pointing these out.
312
313May 21, 2008: Colin Percival: SIGINFO or SIGUSR1 to bsdtar prints progress info
314
315May 16, 2008: bsdtar's test harness no longer depends on file ordering.
316        This was causing spurious test failures on a lot of systems.
317        Thanks to Bernhard R. Link for the diagnosis.
318
319May 14, 2008: Joerg Sonnenberger: -s substitution support for bsdtar
320
321May 13, 2008: Joerg Sonnenberger: Many mtree improvements
322
323May 11, 2008: Joerg Sonnenberger: fix hardlink extraction when
324	hardlinks have different permissions from original file
325
326April 30, 2008: Primary libarchive work has been moved into the FreeBSD
327	project's Perforce repository: 	http://perforce.freebsd.org/
328	The libarchive project can be browsed at
329        //depot/user/kientzle/libarchive-portable
330        Direct link: http://preview.tinyurl.com/46mdgr
331
332May 04, 2008: libarchive 2.5.3b released
333	* libarchive: Several fixes to link resolver to address bsdcpio crashes
334	* bsdcpio: -p hardlink handling fixes
335	* tar/pax: Ensure ustar dirnames end in '/'; be more careful about
336	  measuring filenames when deciding what pathname fields to use
337	* libarchive: Mark which entry strings are set; be accurate about
338	  distinguishing empty strings ("") from unset ones (NULL)
339	* tar: Don't crash reading entries with empty filenames
340	* libarchive_test, bsdtar_test, bsdcpio_test:  Better defaults:
341	  run all tests, delete temp dirs, summarize repeated failures
342	* -no-undefined to libtool for Cygwin
343	* libarchive_test: Skip large file tests on systems with 32-bit off_t
344	* iso9660: Don't bother trying to find the body of an empty file;
345	  this works around strange behavior from some ISO9660 writers
346	* tar: allow -r -T to be used together
347	* tar: allow --format with -r or -u
348	* libarchive: Don't build archive.h
349
350May 04, 2008: Simplified building: archive.h is no longer constructed
351	This may require additional #if conditionals on some platforms.
352
353Mar 30, 2008: libarchive 2.5.1b released
354
355Mar 15, 2008: libarchive 2.5.0b released
356Mar 15, 2008: bsdcpio now seems to correctly write hardlinks into newc,
357	ustar, and old cpio archives.  Just a little more testing before
358	bsdcpio 1.0 becomes a reality.
359Mar 15, 2008: I think the new linkify() interface is finally handling
360	all known hardlink strategies.
361Mar 15, 2008: Mtree read fixes from Joerg Sonnenberger.
362Mar 15, 2008: Many new bsdtar and bsdcpio options from Joerg Sonnenberger.
363Mar 15, 2008: test harnesses no longer require uudecode; they
364	now have built-in decoding logic that decodes the reference
365	files as they are needed.
366
367Mar 14, 2008: libarchive 2.4.14 released; identical to 2.4.13 except for
368	a point fix for gname/uname mixup in pax format that was introduced
369	with the UTF-8 fixes.
370
371Feb 26, 2008: libarchive 2.4.13 released
372Feb 25, 2008: Handle path, linkname, gname, or uname that can't be converted
373	to/from UTF-8.  Implement "hdrcharset" attribute from SUS-2008.
374Feb 25, 2008: Fix name clash on NetBSD.
375Feb 18, 2008: Fix writing empty 'ar' archives, per Kai Wang
376Feb 18, 2008: [bsdtar] Permit appending on block devices.
377Feb 09, 2008: New "linkify" resolver to help with newc hardlink writing;
378	bsdcpio still needs to be converted to use this.
379Feb 02, 2008: Windows compatibility fixes from Ivailo Petrov, Kees Zeelenberg
380Jan 30, 2008: Ignore hardlink size for non-POSIX tar archives.
381
382Jan 22, 2008: libarchive 2.4.12 released
383Jan 22, 2008: Fix bad padding when writing symlinks to newc cpio archives.
384Jan 22, 2008: Verify bsdcpio_test by getting it to work against GNU cpio 2.9.
385	bsdcpio_test complains about missing options (-y and -z), format
386	of informational messages (--version, --help), and a minor formatting
387	issue in odc format output.  After this update, bsdcpio_test uncovered
388	several more cosmetic issues in bsdcpio, all now fixed.
389Jan 22, 2008: Experimental support for self-extracting Zip archives.
390Jan 22, 2008: Extend hardlink restore strategy to work correctly with
391	hardlinks extracted from newc cpio files.  (Which store the body
392	only with the last occurrence of a link.)
393
394Dec 30, 2007: libarchive 2.4.11 released
395Dec 30, 2007: Fixed a compile error in bsdcpio on some systems.
396
397Dec 29, 2007: libarchive 2.4.10 released
398Dec 29, 2007: bsdcpio 0.9.0 is ready for wider use.
399Dec 29, 2007: Completed initial test harness for bsdcpio.
400
401Dec 22, 2007: libarchive 2.4.9 released
402Dec 22, 2007: Implement the remaining options for bsdcpio:  -a, -q, -L, -f,
403	pattern selection for -i and -it.
404
405Dec 13, 2007: libarchive 2.4.8 released
406Dec 13, 2007: gzip and bzip2 compression now handle zero-byte writes correctly,
407	Thanks to Damien Golding for bringing this to my attention.
408
409Dec 12, 2007: libarchive 2.4.7 released
410
411Dec 10, 2007: libarchive 2.4.6 released
412Dec 09, 2007: tar/test/test_copy.c verifies "tar -c | tar -x" copy pipeline
413Dec 07, 2007: Fix a couple of minor memory leaks.
414
415Dec 04, 2007: libarchive 2.4.5 released
416Dec 04, 2007: Fix cpio/test/test_write_odc by setting the umask first.
417
418Dec 03, 2007: libarchive 2.4.4 released
419Dec 03, 2007: New configure options --disable-xattr and --disable-acl,
420	thanks to Samuli Suominen.
421
422Dec 03, 2007: libarchive 2.4.3 released
423Dec 03, 2007: Thanks to Lapo Luchini for sending me a ZIP file that
424	libarchive couldn't handle.  Fixed a bug in handling of
425	"length at end" flags in ZIP files.
426Dec 03, 2007: Fixed bsdcpio -help, bsdtar -help tests.
427Dec 02, 2007: First cut at real bsdtar test harness.
428
429Dec 02, 2007: libarchive 2.4.2 released
430
431Dec 02, 2007: libarchive 2.4.1 released
432Dec 02, 2007: Minor fixes, rough cut of mdoc-to-man conversion for
433	man pages.
434
435Oct 30, 2007: libarchive 2.4.0 released
436Oct 30, 2007: Minor compile fix thanks to Joerg Schilling.
437Oct 30, 2007: Only run the format auction once at the beginning of the
438	archive.  This is simpler and supports better error recovery.
439Oct 29, 2007: Test support for very large entries in tar archives:
440	libarchive_test now exercises entries from 2GB up to 1TB.
441
442Oct 27, 2007: libarchive 2.3.5 released
443Oct 27, 2007: Correct some unnecessary internal data copying in the
444	"compression none" reader and writer; this reduces user time
445	by up to 2/3 in some tests.  (Thanks to Jan Psota for
446	publishing his performance test results to GNU tar's bug-tar
447	mailing list; those results pointed me towards this problem.)
448Oct 27, 2007: Fix for skipping archive entries that are exactly
449	a multiple of 4G on 32-bit platforms.
450Oct 25, 2007: Fix for reading very large (>8G) tar archives; this was
451	broken when I put in support for new GNU tar sparse formats.
452Oct 20, 2007: Initial work on new pattern-matching code for cpio; I
453	hope this eventually replaces the code currently in bsdtar.
454
455Oct 08, 2007: libarchive 2.3.4 released
456Oct 05, 2007: Continuing work on bsdcpio test suite.
457Oct 05, 2007: New cpio.5 manpage, updates to "History" of bsdcpio.1 and
458	bsdtar.1 manpages.
459Oct 05, 2007: Fix zip reader to immediately return EOF if you try
460	to read body of non-regular file.  In particular, this fixes
461	bsdtar extraction of zip archives.
462
463Sep 30, 2007: libarchive 2.3.3 released
464Sep 26, 2007: Rework Makefile.am so that the enable/disable options
465	actually do the right things.
466Sep 26, 2007: cpio-odc and cpio-newc archives no longer write bodies
467	for non-regular files.
468Sep 26, 2007: Test harness for bsdcpio is in place, needs more tests written.
469	This is much nicer than the ragtag collection of test scripts
470	that bsdtar has.
471
472Sep 20, 2007: libarchive 2.3.2 released
473Sep 20, 2007: libarchive 2.3.1 broke bsdtar because the archive_write_data()
474	fix was implemented incorrectly.
475
476Sep 16, 2007: libarchive 2.3.1 released
477Sep 16, 2007: Many fixes to bsdcpio 0.3:  handle hardlinks with -p, recognize
478	block size on writing, fix a couple of segfaults.
479Sep 16, 2007: Fixed return value from archive_write_data() when used
480	with archive_write_disk() to match the documentation and other
481	instances of this same function.
482Sep 15, 2007: Add archive_entry_link_resolver, archive_entry_strmode
483
484Sep 11, 2007: libarchive 2.2.8 released
485Sep 09, 2007: bsdcpio 0.2 supports most (not yet all) of the old POSIX spec.
486
487Sep 01, 2007: libarchive 2.2.7 released
488Aug 31, 2007: Support for reading mtree files, including an mtree.5 manpage
489	(A little experimental still.)
490Aug 18, 2007: Read gtar 1.17 --posix --sparse entries.
491Aug 13, 2007: Refined suid/sgid restore handling; it is no longer
492	an error if suid/sgid bits are dropped when you request
493	perm restore but don't request owner restore.
494Aug 06, 2007: Use --enable-bsdcpio if you want to try bsdcpio
495
496Aug 05, 2007: libarchive 2.2.6 released
497Aug 05, 2007: New configure option --disable-bsdtar, thanks to Joerg
498	Sonnenberger.
499Aug 05, 2007: Several bug fixes from FreeBSD CVS repo.
500
501Jul 13, 2007: libarchive 2.2.5 released
502
503Jul 12, 2007: libarchive 2.2.4 released
504Jul 12, 2007: Thanks to Colin Percival's help in diagnosing and
505	fixing several critical security bugs.  Details available at
506	http://security.freebsd.org/advisories/FreeBSD-SA-07:05.libarchive.asc
507
508May 26, 2007: libarchive 2.2.3 released
509May 26, 2007: Fix memory leaks in ZIP reader and shar writer, add some
510	missing system headers to archive_entry.h, dead code cleanup
511	from Colin Percival, more tests for gzip/bzip2, fix an
512	EOF anomaly in bzip2 decompression.
513
514May 12, 2007: libarchive 2.2.2 released
515May 12, 2007: Fix archive_write_disk permission restore by cloning
516	entry passed into write_header so that permission info is
517	still available at finish_entry time.  (archive_read_extract()
518	worked okay because it held onto the passed-in entry, but
519	direct consumers of archive_write_disk would break).  This
520	required fixing archive_entry_clone(), which now works and has
521	a reasonably complete test case.
522May 10, 2007: Skeletal cpio implementation.
523
524May 06, 2007: libarchive 2.2.1 released
525May 06, 2007: Flesh out a lot more of test_entry.c so as to catch
526	problems such as the device node breakage before releasing <sigh>.
527May 05, 2007: Fix a bad bug introduced in 2.1.9 that broke device
528	node entries in tar archives.
529May 03, 2007: Move 'struct stat' out of archive_entry core as well.
530	This removes some portability headaches and fixes a bunch
531	of corner cases that arise when manipulating archives on
532	dissimilar systems.
533
534Apr 30, 2007: libarchive 2.1.10 released
535Apr 31, 2007: Minor code cleanup.
536
537Apr 24, 2007: libarchive 2.1.9 released
538Apr 24, 2007: Fix some recently-introduced problems with libraries
539	(Just let automake handle it and it all works much better.)
540	Finish isolating major()/minor()/makedev() in archive_entry.c.
541
542Apr 23, 2007: libarchive 2.1.8 released
543Apr 23, 2007: Minor fixes found from building on MacOS X
544
545Apr 22, 2007: libarchive 2.1.7 released
546Apr 22, 2007: Eliminated all uses of 'struct stat' from the
547	format readers/writers.  This should improve portability;
548	'struct stat' is now only used in archive_entry and in
549	code that actually touches the disk.
550
551Apr 17, 2007: libarchive 2.1.6 released
552	Libarchive now compiles and passes all tests on Interix.
553
554Apr 16, 2007: libarchive 2.1.5 released
555
556Apr 15, 2007: libarchive 2.1b2 released
557Apr 15, 2007: New libarchive_internals.3 documentation of internal APIs.
558	Not complete, but should prove helpful.
559Apr 15, 2007: Experimental "read_compress_program" and "write_compress_program"
560	for using libarchive with external compression.  Not yet
561	well tested, and likely has portability issues.  Feedback
562	appreciated.
563
564Apr 14, 2007: libarchive 2.0.31 released
565Apr 14, 2007: More fixes for Interix, more 'ar' work
566
567Apr 14, 2007: libarchive 2.0.30 released
568Apr 13, 2007: libarchive now enforces trailing '/' on dirs
569	written to tar archives
570
571Apr 11, 2007: libarchive 2.0.29 released
572Apr 11, 2007: Make it easier to statically configure for different platforms.
573Apr 11, 2007: Updated config.guess, config.sub, libtool
574
575Apr 06, 2007: libarchive 2.0.28 released
576Apr 06, 2007: 'ar' format read/write support thanks to Kai Wang.
577
578Apr 01, 2007: libarchive 2.0.27 released
579Mar 31, 2007: Several minor fixes from Colin Percival and Joerg Sonnenberger.
580
581Mar 12, 2007: libarchive 2.0.25 released
582Mar 12, 2007: Fix broken --unlink flag.
583
584Mar 11, 2007: libarchive 2.0.24 released
585Mar 10, 2007: Correct an ACL blunder that causes any ACL with an entry
586    that refers to a non-existent user or group to not be restored correctly.
587    The fix both makes the parser more tolerant (so that archives created
588    with the buggy ACLs can be read now) and corrects the ACL formatter.
589Mar 10, 2007: More work on test portability to Linux.
590
591Mar 10, 2007: libarchive 2.0.22 released
592Mar 10, 2007: Header cleanups; added linux/fs.h, removed
593    some unnecessary headers, added #include guards in bsdtar.
594    If you see any obvious compile failures from this, let me know.
595Mar 10, 2007: Work on bsdtar test scripts: not yet robust enough
596    to enable as part of "make check", but getting better.
597Mar 10, 2007: libarchive now returns ARCHIVE_FAILED when
598    a header write fails in a way that only affects this item.
599    Less bad than ARCHIVE_FATAL, but worse than ARCHIVE_WARN.
600
601Mar 07, 2007: libarchive 2.0.21 released
602Mar 07, 2007: Add some ACL tests (only for the system-independent
603    portion of the ACL support for now).
604Mar 07, 2007: tar's ability to read ACLs off disk got
605    turned off for FreeBSD; re-enable it.  (ACL restores and
606    libarchive support for storing/reading ACLs from pax
607    archives was unaffected.)
608
609Mar 02, 2007: libarchive 2.0.20 released
610Mar 2, 2007:  It's not perfect, but it's pretty good.
611    Libarchive 2.0 is officially out of beta.
612
613Feb 28, 2007: libarchive 2.0b17 released
614Feb 27, 2007: Make the GID restore checks more robust by checking
615    whether the current user has too few or too many privileges.
616
617Feb 26, 2007: libarchive 2.0b15 released
618Feb 26, 2007: Don't lose symlinks when extracting from ISOs.
619    Thanks to Diego "Flameeyes" Pettenò for telling me about the
620    broken testcase on Gentoo that (finally!) led me to the cause
621    of this long-standing bug.
622
623Feb 26, 2007: libarchive 2.0b14 released
624Feb 26, 2007: Fix a broken test on platforms that lack lchmod().
625
626Feb 25, 2007: libarchive 2.0b13 released
627Feb 25, 2007: Empty archives were being written as empty files,
628    without a proper end-of-archive marker.  Fixed.
629
630Feb 23, 2007: libarchive 2.0b12 released
631Feb 22, 2007: Basic security checks added: _EXTRACT_SECURE_NODOTDOT
632    and _EXTRACT_SECURE_SYMLINK.  These checks used to be in bsdtar,
633    but they belong down in libarchive where they can be used by
634    other tools and where they can be better optimized.
635
636Feb 11, 2007: libarchive 2.0b11 released
637Feb 10, 2007: Fixed a bunch of errors in libarchive's handling
638    of EXTRACT_PERM and EXTRACT_OWNER, especially relating
639    to SUID and SGID bits.
640
641Jan 31, 2007: libarchive 2.0b9 released
642Jan 31, 2007: Added read support for "empty" archives as a
643    distinct archive format.  Bsdtar uses this to handle, e.g.,
644    "touch foo.tar; tar -rf foo.tar"
645
646Jan 22, 2007: libarchive 2.0b6 released
647Jan 22, 2007: archive_write_disk API is now in place.  It provides
648    a finer-grained interface than archive_read_extract.  In particular,
649    you can use it to create objects on disk without having an archive
650    around (just feed it archive_entry objects describing what you
651    want to create), you can override the uname/gname-to-uid/gid lookups
652    (minitar uses this to avoid getpwXXX() and getgrXXX() bloat).
653
654Jan 09, 2007: libarchive 2.0a3 released
655Jan 9, 2007: archive_extract is now much better; it handles the
656    most common cases with a minimal number of system calls.
657    Some features still need a lot of testing, especially corner
658    cases involving objects that already exist on disk.   I expect
659    the next round of API overhaul will simplify building test cases.
660Jan 9, 2007: a number of fixes thanks to Colin Percival, especially
661    corrections to the skip() framework and handling of large files.
662Jan 9, 2007: Fixes for large ISOs.  The code should correctly handle
663    very large ISOs with entries up to 4G.   Thanks to Robert Sciuk
664    for pointing out these issues.
665
666Sep 05, 2006: libarchive 1.3.1 released
667Sep 5, 2006: Bump version to 1.3 for new I/O wrappers.
668Sep 4, 2006: New memory and FILE read/write wrappers.
669Sep 4, 2006: libarchive test harness is now minimally functional;
670    it's located a few minor bugs in error-handling logic
671
672Aug 17, 2006: libarchive 1.2.54 released
673Aug 17, 2006: Outline ABI changes for libarchive 2.0; these
674   are protected behind #ifdef's until I think I've found everything
675   that needs to change.
676Aug 17, 2006: Fix error-handling in archive_read/write_close()
677   They weren't returning any errors before.
678Aug 17, 2006: Fix recursive-add logic to not trigger if it's not set
679   Fixes a bug adding files when writing archive to pipe or when
680   using archive_write_open() directly.
681Jul 2006: New "skip" handling improves performance extracting
682   single files from large uncompressed archives.
683
684Mar 21, 2006: 1.2.52 released
685Mar 21, 2006: Fix -p on platforms that don't have platform-specific
686   extended attribute code.
687Mar 20, 2006: Add NEWS file; fill in some older history from other
688   files.  I'll try to keep this file up-to-date from now on.
689
690OLDER NEWS SUMMARIES
691
692Mar 19, 2006: libarchive 1.2.51 released
693Mar 18, 2006: Many fixes to extended attribute support, including a redesign
694   of the storage format to simplify debugging.
695Mar 12, 2006: Remove 'tp' support; it was a fun idea, but not worth
696   spending much time on.
697Mar 11, 2006: Incorporated Jaakko Heinonen's still-experimental support
698   for extended attributes (Currently Linux-only.).
699Mar 11, 2006: Reorganized distribution package: There is now one tar.gz
700   file that builds both libarchive and bsdtar.
701Feb 13, 2006: Minor bug fixes: correctly read cpio device entries, write
702   Pax attribute entry names.
703Nov 7, 2005: Experimental 'tp' format support in libarchive.  Feedback
704   appreciated; this is not enabled by archive_read_support_format_all()
705   yet as I'm not quite content with the format detection heuristics.
706Nov 7, 2005: Some more portability improvements thanks to Darin Broady,
707   minor bugfixes.
708Oct 12, 2005: Use GNU libtool to build shared libraries on many systems.
709Aug 9, 2005: Correctly detect that MacOS X does not have POSIX ACLs.
710Apr 17, 2005: Kees Zeelenberg has ported libarchive and bsdtar to Windows:
711   http://gnuwin32.sourceforge.net/
712Apr 11, 2005: Extended Zip/Zip64 support thanks to Dan Nelson.  -L/-h
713   fix from Jaakko Heinonen.
714Mar 12, 2005: archive_read_extract can now handle very long
715   pathnames (I've tested with pathnames up to 1MB).
716Mar 12, 2005: Marcus Geiger has written an article about libarchive
717   http://xsnil.antbear.org/2005/02/05/archive-mit-libarchive-verarbeiten/
718   including examples of using it from Objective-C.  His MoinX
719   http://moinx.antbear.org/ desktop Wiki uses
720   libarchive for archiving and restoring Wiki pages.
721Jan 22, 2005: Preliminary ZIP extraction support,
722    new directory-walking code for bsdtar.
723Jan 16, 2005: ISO9660 extraction code added; manpage corrections.
724May 22, 2004: Many gtar-compatible long options have been added; almost
725    all FreeBSD ports extract correctly with bsdtar.
726May 18, 2004: bsdtar can read Solaris, HP-UX, Unixware, star, gtar,
727    and pdtar archives.
728