2 - SNAPSHOT FORMAT CHANGE: A few minor tweaks have been made to the
3 snapshot format. There is nothing substantial--this is primarily
4 a cleaning up of the format before use becomes more widespread.
5 An efficient and explicit means for representing sparse files has
6 been added to the format. Updated tools will be needed to
7 properly understand the new snapshots. Tools will continue to be
8 able to read the old snapshot format.
9 - LOCAL DATABASE CHANGE: The local database has been changed so that
10 segment utilization data for past snapshots is stored more
11 efficiently. The script in contrib/upgrade0.6-localdb.sql must be
12 run on a database to upgrade it prior to running backups with the
14 - The statcache implementation has been reworked, and the format
15 changed. The first backup will run more slowly since the old
16 statcache data will be ignored. New statcache data will be
17 written to statcache2. The old statcache file can be deleted.
18 - Metadata is shared between snapshots where possible. The
19 --full-metadata option can be used to disable this (completely
20 writing out all metadata with the new snapshot).
21 - Add an "intent" field to snapshots, which specifies informally how
22 long a snapshot is intended to be kept. For example, 1 can be
23 used for daily snapshots, and 7 for weekly snapshots. Segment
24 cleaning is now partly guided by intent values, but tuning of the
25 cleaning algorithms is not yet finished.
28 - Have the lbs-util tool check the version number when reading a
29 snapshot, and signal an error if the format is not recognized.
30 - Include a sample script, contrib/parity-gen, for creating
31 RAID-like parity sets to recover from some segment corruption.
32 The par2 command (http://parchive.sourceforge.net/) is used to
33 actually generate the parity sets; the parity-gen script simply
34 automates maintaining the parity sets.
37 - Much improved Python interface for accessing and manipulating LBS
38 archives and local database information. The interface should not
39 yet be considered completely stable.
40 - Python implementation of lbs-util now includes most of the
41 features of the Perl implementation, plus some other new features.
42 The Perl library and utility are deprecated and have been removed
44 - Preliminary snapshot restore support in lbs-util. This is still
45 not yet extensively tested.
48 - Documentation improvements: a getting started README, and a
49 description of some of the implementation details.
50 - Include an example filter script, lbs-filter-gpg, for encrypting
51 segment data as it is written.
52 - Add support for signed snapshot descriptor files (via the
53 --signature-filter option). Due to the checksums contained in the
54 snapshot descriptor, the signature covers the entire contents of
56 - Preview release of lbs-util.py, a Python-based program for
57 managing LBS snapshots. It currently implements a very simple
58 form of automatic segment cleaning, though this isn't much tested.
59 - Improved segment repacking support; after cleaning segments,
60 objects can be written out in different groups based on age. This
61 may help with long-term segment cleaning efficiency, but probably
65 - LOCAL DATABASE CHANGE: A checksums file is now written out along
66 with the snapshot descriptor that contains checksums of segments
67 used in a snapshot. This will allow quick integrity checks of a
68 snapshot, without needing to decompress or decrypt the segment
69 files. The local database schema was modified to store the
70 checksums for segments.
71 - Build dependence on libtar has been dropped. All necessary
72 support for writing TAR files is now directly included with the
74 - The snapshot format is now documented, at least in part. See
76 - Snapshots now include link count and inode number for files with
77 multiple hard links, so that a restore program could determine
78 which files should be hard linked on restore. The reference
79 restore.pl script does not use this.
80 - Bugfix: Print a help message instead of crashing if no files are
82 - Bugfix: File descriptors of files being backed up were closed
83 twice. In some cases this might have led to an unrelated file
84 being closed (if the file descriptor was quickly re-used).
85 - Preview of a new lbs-util command for maintaining snapshots.
86 Functionality is currently limited.
89 - Update reference restore.pl script to handle octal/hexadecimal
90 (format change introduced in 0.2).
91 - Better support for mixing multiple backup schemes: the statcache
92 file is now per-scheme, so performance should be better in cases
93 where multiple different backups (of different source directories)
94 are made, all sharing the same local database directory.
97 - Bugfix: Do not print an error when only one directory is specified
101 - SNAPSHOT FORMAT CHANGE: Metadata logs in backups can now contain
102 octal and hexadecimal values. Old restore programs may not be
103 able to read these new backups. The reference restore.pl script
104 has not yet been updated.
105 - LOCAL DATABASE CHANGE: Backups may be assigned a name with the
106 --scheme= command-line option, to allow different backup sets to
107 be mixed in the same directory. The database schema for the local
109 - Improved selection (inclusion/exclusion) of files to be included
111 - Device major/minor numbers are dumped for block and character