+0.11 [???]
+ - SNAPSHOT FORMAT CHANGES:
+ - Timestamps encoded into the top-level snapshot file name are
+ now UTC instead of the local time zone. This should avoid
+ ambiguity and ensure sorted order is chronological order in
+ the face of time zone changes.
+ - The format identifier is now "Format: Cumulus Snapshot v0.nn"
+ instead of "Format: LBS Snapshot v0.nn" (but the updated tools
+ will accept either variation).
+ - Additional checksum algorithms: sha224, sha256 (sha1 is still
+ supported).
+ - LOCAL DATABASE CHANGES:
+ - Segment utilization data (per snapshot) is tracked
+ differently, to allow better segment cleaning decisions.
+ - New, greatly-enhanced file include/exclude filtering language.
+ This is based on the filter language is rsync (though simplified)
+ and allows glob-like patterns. It also supports filter rules
+ merged at backup-time from files in the file system; this allows,
+ for example, users to control which files in their home
+ directories are included in backups. See doc/exclude.rst for
+ details.
+ - A new Python-based command-line interface to Cumulus. Eventually
+ this should be the only command directly invoked by the user; it
+ will automate backup expiration, segment cleaning, backup
+ mirroring, etc. Configuration options are read from a config file
+ so they can be applied consistently.
+
+0.10 [2012-05-29]
+ - Make a release that packages up various long-existing patches.
+ - Add FTP and SFTP storage backends (from Ralf Schlatterbeck and
+ Albert Dengg).
+ - Various bugfixes.
+
+0.9 [2009-07-28]
+ - Rework storage layer, to make it easier to support local files,
+ S3, and in the future more storage backends. cumulus-util now
+ permits URLS for specifying storage locations, including s3:// for
+ Amazon S3 storage.
+ - The script-level interface between the main cumulus binary and
+ remote storage has changed. It should not yet be considered
+ completely finalized.
+ - Add a tool (cumulus-sync) for copying snapshots between storage
+ repositories.
+ - Add a (mostly proof-of-concept) FUSE interface for accessing
+ snapshots.
+ - Implement a basic garbage-collection command for deleting unused
+ segments. There still needs to be a way to select snapshots to
+ delete (perhaps based on some type of schedule).
+ - Assorted minor bugfixes.
+
+0.8 [2008-08-01]
+ - SNAPSHOT FORMAT CHANGE: The snapshot format has been extended to
+ allow the local database to be partially rebuilt from the contents
+ of the metadata log. This may be useful for disaster recovery and
+ other scenarios. The changes are small, but old tools will not
+ read the new backups.
+ - Add the --rebuild-statcache option which will re-read all files
+ instead of depending on the statcache file to be correct. This
+ will additionally print warnings if a file has changed but would
+ not have been detected as changed based on the statcache, and will
+ add subfile incremental signatures for existing files that do not
+ have them.
+
+0.7 [2008-06-23]
+ - LOCAL DATABASE CHANGE: The addition of subfile incrementals has
+ requires an extension to the local database. The upgrade script
+ contrib/upgrade0.7-localdb.sql should be run prior to running
+ backups with this version.
+ - Name change: the system is now known as Cumulus (replacing the old
+ name of "LBS"). Some traces of the old name still remain.
+ - Initial support for direct backups to remote storage. A sample
+ script is provided for backing up to Amazon S3. Other scripts
+ should be simple to write. The interface should not yet be
+ considered stable, and may change in a future release.
+ - Support for efficient subfile incremental backups. Changes to a
+ small portion of a file do not require re-uploading substantially
+ all of the file, even in cases where there is an insertion or
+ deletion that shifts most of the file contents.
+ - Allow selected files/directories to be restored, not simply an
+ entire snapshot. Additionally, restore files in an order that
+ should optimize performance (restore files based on how they are
+ grouped into segments, instead of lexicographic order).
+ Currently, the implementation of these changes requires that all
+ metadata be loaded into memory when the restore tool runs, so it
+ is more memory-intensive than the old version. This may be fixed
+ in a future version; in the meantime, if the current restore tool
+ requires too much memory, try the old restore tool or the
+ restore.pl script.
+ - Add a verbose ("-v") flag. By default, files will not be listed
+ as they are backed up. The old behavior can be turned back on
+ with -v.
+
+0.6 [2008-02-19]
+ - SNAPSHOT FORMAT CHANGE: A few minor tweaks have been made to the
+ snapshot format. There is nothing substantial--this is primarily
+ a cleaning up of the format before use becomes more widespread.
+ An efficient and explicit means for representing sparse files has
+ been added to the format. Updated tools will be needed to
+ properly understand the new snapshots. Tools will continue to be
+ able to read the old snapshot format.
+ - LOCAL DATABASE CHANGE: The local database has been changed so that
+ segment utilization data for past snapshots is stored more
+ efficiently. The script in contrib/upgrade0.6-localdb.sql must be
+ run on a database to upgrade it prior to running backups with the
+ new tool.
+ - The statcache implementation has been reworked, and the format
+ changed. The first backup will run more slowly since the old
+ statcache data will be ignored. New statcache data will be
+ written to statcache2. The old statcache file can be deleted.
+ - Metadata is shared between snapshots where possible. The
+ --full-metadata option can be used to disable this (completely
+ writing out all metadata with the new snapshot).
+ - Add an "intent" field to snapshots, which specifies informally how
+ long a snapshot is intended to be kept. For example, 1 can be
+ used for daily snapshots, and 7 for weekly snapshots. Segment
+ cleaning is now partly guided by intent values, but tuning of the
+ cleaning algorithms is not yet finished.
+