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