Replace boost::scoped_ptr with std::unique_ptr.
[cumulus.git] / NEWS
diff --git a/NEWS b/NEWS
index 32bea66..1dbe28c 100644 (file)
--- a/NEWS
+++ b/NEWS
-0.6
+0.11 [???]
+    - SNAPSHOT FORMAT CHANGES:
+        - The object slice syntax has been simplified; backup restores
+          are still possible but rebuilding the local database from
+          snapshots before v0.8 will require translation.
+        - 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.
-      Updated tools will be needed to properly understand the new
-      snapshots.  Tools will continue to be able to read the old
-      snapshot format.
+      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
       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.
 
 0.5.1 [2007-11-13]
     - Have the lbs-util tool check the version number when reading a