~akopytov/percona-xtrabackup/bug1166888-2.1

« back to all changes in this revision

Viewing changes to src/libarchive/NEWS

  • Committer: Alexey Kopytov
  • Date: 2012-02-10 20:05:56 UTC
  • mto: (391.1.5 staging)
  • mto: This revision was merged to the branch mainline in revision 390.
  • Revision ID: akopytov@gmail.com-20120210200556-6kx41z8wwrqfucro
Rebase of the parallel compression patch on new trunk + post-review
fixes.

Implementation of parallel compression and streaming for XtraBackup.

This revision implements the following changes:

* InnoDB files are now streamed by the xtrabackup binary rather than
innobackupex. As a result, integrity is now verified by xtrabackup and
thus tar4ibd is no longer needed, so it was removed.

* xtrabackup binary now accepts the new '--stream' option which has
exactly the same semantics as the '--stream' option in
innobackupex: it tells xtrabackup to stream all files to the standard
output in the specified format rather than storing them locally.

* The xtrabackup binary can now do parallel compression using the
quicklz library. Two new options were added to xtrabackup to support
this feature:

- '--compress' tells xtrabackup to compress all output data, including
the transaction log file and meta data files, using the specified
compression algorithm. The only currently supported algorithm is
'quicklz'. The resulting files have the qpress archive format,
i.e. every *.qp file produced by xtrabackup is essentially a one-file
qpress archive and can be extracted and uncompressed by the qpress
file archiver (http://www.quicklz.com/).

- '--compress-threads' specifies the number of worker threads used by
xtrabackup for parallel data compression. This option defaults to 1.

Parallel compression ('--compress-threads') can be used together with
parallel file copying ('--parallel'). For example, '--parallel=4
--compress --compress-threads=2' will create 4 IO threads that will
read the data and pipe it to 2 compression threads.

* To support simultaneous compression and streaming, a new custom
streaming format called 'xbstream' was introduced to XtraBackup in
addition to the 'tar' format. That was required to overcome some
limitations of traditional archive formats such as 'tar', 'cpio' and
others that do not allow streaming dynamically generated files, for
example dynamically compressed files.  Other advantages of xbstream over
traditional streaming/archive formats include ability to stream multiple
files concurrently (so it is possible to use streaming in the xbstream
format together with the --parallel option) and more compact data
storage.

* To allow streaming and extracting files to/from the xbstream format
produced by xtrabackup, a new utility aptly called 'xbstream' was
added to the XtraBackup distribution. This utility has a tar-like
interface:

- with the '-x' option it extracts files from the stream read from its
standard input to the current directory unless specified otherwise
with the '-C' option.

- with the '-c' option it streams files specified on the command line
to its standard output.

The utility also tries to minimize its impact on the OS page cache by
using the appropriate posix_fadvise() calls when available.

Show diffs side-by-side

added added

removed removed

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