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