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