Updates to documentation and contributed scripts for name change.
[cumulus.git] / NEWS
1 0.7 [??]
2     - LOCAL DATABASE CHANGE: The addition of subfile incrementals has
3       requires an extension to the local database.  The upgrade script
4       contrib/upgrade0.7-localdb.sql should be run prior to running
5       backups with this version.
6     - Name change: the system is now known as Cumulus (replacing the old
7       name of "LBS").  Some traces of the old name still remain.
8     - Initial support for direct backups to remote storage.  A sample
9       script is provided for backing up to Amazon S3.  Other scripts
10       should be simple to write.
11     - Support for efficient subfile incremental backups.  Changes to a
12       small portion of a file do not require re-uploading substantially
13       all of the file, even in cases where there is an insertion or
14       deletion that shifts most of the file contents.
15     - Allow selected files/directories to be restored, not simply an
16       entire snapshot.  Additionally, restore files in an order that
17       should optimize performance (restore files based on how they are
18       grouped into segments, instead of lexicographic order).
19       Currently, the implementation of these changes requires that all
20       metadata be loaded into memory when the restore tool runs, so it
21       is more memory-intensive than the old version.  This may be fixed
22       in a future version; in the meantime, if the current restore tool
23       requires too much memory, try the old restore tool or the
24       restore.pl script.
25
26 0.6 [2008-02-19]
27     - SNAPSHOT FORMAT CHANGE: A few minor tweaks have been made to the
28       snapshot format.  There is nothing substantial--this is primarily
29       a cleaning up of the format before use becomes more widespread.
30       An efficient and explicit means for representing sparse files has
31       been added to the format.  Updated tools will be needed to
32       properly understand the new snapshots.  Tools will continue to be
33       able to read the old snapshot format.
34     - LOCAL DATABASE CHANGE: The local database has been changed so that
35       segment utilization data for past snapshots is stored more
36       efficiently.  The script in contrib/upgrade0.6-localdb.sql must be
37       run on a database to upgrade it prior to running backups with the
38       new tool.
39     - The statcache implementation has been reworked, and the format
40       changed.  The first backup will run more slowly since the old
41       statcache data will be ignored.  New statcache data will be
42       written to statcache2.  The old statcache file can be deleted.
43     - Metadata is shared between snapshots where possible.  The
44       --full-metadata option can be used to disable this (completely
45       writing out all metadata with the new snapshot).
46     - Add an "intent" field to snapshots, which specifies informally how
47       long a snapshot is intended to be kept.  For example, 1 can be
48       used for daily snapshots, and 7 for weekly snapshots.  Segment
49       cleaning is now partly guided by intent values, but tuning of the
50       cleaning algorithms is not yet finished.
51
52 0.5.1 [2007-11-13]
53     - Have the lbs-util tool check the version number when reading a
54       snapshot, and signal an error if the format is not recognized.
55     - Include a sample script, contrib/parity-gen, for creating
56       RAID-like parity sets to recover from some segment corruption.
57       The par2 command (http://parchive.sourceforge.net/) is used to
58       actually generate the parity sets; the parity-gen script simply
59       automates maintaining the parity sets.
60
61 0.5 [2007-10-16]
62     - Much improved Python interface for accessing and manipulating LBS
63       archives and local database information.  The interface should not
64       yet be considered completely stable.
65     - Python implementation of lbs-util now includes most of the
66       features of the Perl implementation, plus some other new features.
67       The Perl library and utility are deprecated and have been removed
68       from this release.
69     - Preliminary snapshot restore support in lbs-util.  This is still
70       not yet extensively tested.
71
72 0.4 [2007-08-24]
73     - Documentation improvements: a getting started README, and a
74       description of some of the implementation details.
75     - Include an example filter script, lbs-filter-gpg, for encrypting
76       segment data as it is written.
77     - Add support for signed snapshot descriptor files (via the
78       --signature-filter option).  Due to the checksums contained in the
79       snapshot descriptor, the signature covers the entire contents of
80       the snapshot.
81     - Preview release of lbs-util.py, a Python-based program for
82       managing LBS snapshots.  It currently implements a very simple
83       form of automatic segment cleaning, though this isn't much tested.
84     - Improved segment repacking support; after cleaning segments,
85       objects can be written out in different groups based on age.  This
86       may help with long-term segment cleaning efficiency, but probably
87       needs more tuning.
88
89 0.3 [2007-08-10]
90     - LOCAL DATABASE CHANGE: A checksums file is now written out along
91       with the snapshot descriptor that contains checksums of segments
92       used in a snapshot.  This will allow quick integrity checks of a
93       snapshot, without needing to decompress or decrypt the segment
94       files.  The local database schema was modified to store the
95       checksums for segments.
96     - Build dependence on libtar has been dropped.  All necessary
97       support for writing TAR files is now directly included with the
98       source.
99     - The snapshot format is now documented, at least in part.  See
100       format.txt.
101     - Snapshots now include link count and inode number for files with
102       multiple hard links, so that a restore program could determine
103       which files should be hard linked on restore.  The reference
104       restore.pl script does not use this.
105     - Bugfix: Print a help message instead of crashing if no files are
106       specified.
107     - Bugfix: File descriptors of files being backed up were closed
108       twice.  In some cases this might have led to an unrelated file
109       being closed (if the file descriptor was quickly re-used).
110     - Preview of a new lbs-util command for maintaining snapshots.
111       Functionality is currently limited.
112
113 0.2.2 [2007-07-27]
114     - Update reference restore.pl script to handle octal/hexadecimal
115       (format change introduced in 0.2).
116     - Better support for mixing multiple backup schemes: the statcache
117       file is now per-scheme, so performance should be better in cases
118       where multiple different backups (of different source directories)
119       are made, all sharing the same local database directory.
120
121 0.2.1 [2007-07-20]
122     - Bugfix: Do not print an error when only one directory is specified
123       to back up.
124
125 0.2 [2007-07-20]
126     - SNAPSHOT FORMAT CHANGE: Metadata logs in backups can now contain
127       octal and hexadecimal values.  Old restore programs may not be
128       able to read these new backups.  The reference restore.pl script
129       has not yet been updated.
130     - LOCAL DATABASE CHANGE: Backups may be assigned a name with the
131       --scheme= command-line option, to allow different backup sets to
132       be mixed in the same directory.  The database schema for the local
133       database is changed.
134     - Improved selection (inclusion/exclusion) of files to be included
135       in a backup.
136     - Device major/minor numbers are dumped for block and character
137       devices.
138
139 0.1 [2007-07-14]
140     - Initial release.