]> git.tuebingen.mpg.de Git - dss.git/blobdiff - NEWS
Improve comment of snapshot_currently_being_removed.
[dss.git] / NEWS
diff --git a/NEWS b/NEWS
index 2e595fdb3c522831d035f91449b33186e266e7b1..947ba587eee5524f15e7f04ac4c0d818e1199db1 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,147 @@
 ------------------
-0.1.3 (2009-06-06)
+1.0.0 (2017-11-19)
+------------------
+After almost ten years of development, dss has finally reached version
+1.0.0. Many new features have been implemented for this release. The
+list below contains the user-visible changes since the previous
+0.1.7 release. For the complete changelog consult the git log.
+
+The biggest user-visible change is that the former modes of operation
+have been replaced by subcommands. For example, the former -R option
+to start dss in "run" mode corresponds to the "run" subcommand of
+version 1.0.0. Each subcommand has its own set of options. Global
+options and options for subcommands are split with the usual "--"
+separator. For example, to specify the global --loglevel option and
+the run-specific --daemon option, use dss --loglevel 2 -- run --daemon.
+
+Although the new version has different syntax rules, the on-disk
+snapshot format remains the same. No conversion is required to continue
+existing snapshot directories created with older dss versions.
+
+The 0.1.x series will still be maintained for a while as the "maint"
+branch of the git repository, but this branch will only receive
+bug fixes.
+
+ - The gengetopt option parser has been replaced by the
+ [lopsub](http://people.tuebingen.mpg.de/maan/lopsub) library. Hence
+ lopsub must be installed to compile this package. help2man is
+ no longer required since lopsub has built-in roff support.
+
+ - New subcommand "configtest" to check the command line options and
+ the configuration file for syntactic correctness.
+
+ - New option: --mountpoint. If this option is given, dss aborts if
+ no file system is mounted on the destination directory.
+
+ - New option --checksum to let rsync compute checksums occasionally.
+
+ - The kill subcommand gained the new --wait option which instructs dss
+ to wait until the signalled process has terminated.
+
+ - The --no-resume option has been removed.
+
+ - On exit, the run subcommand now waits for any previously spawned
+ rsync or rm processes to terminate.
+
+ - The ls subcommand now shows the age of incomplete snapshots rather
+ than 0:00.
+
+ - In run mode, dss no longer exits successfully if another instance
+ is already running.
+
+ - The command specified as the argument to --exit-hook is now subject
+ to word splitting. Previously, the string was executed as-is.
+
+ - Improved error diagnostics for the kill subcommand.
+
+ - For all subcommands other than "run", timestamps and function names
+ are omitted from the log output.
+
+ - "make install" will install the executable and the man page.
+
+ - CFLAGS, CPPFLAGS and LDFLAGS can now be used to override the flags
+ of the build system.
+
+ - Source code files are now annotated with the SPDX GPL-2.0 license
+ identifier.
+
+ - The dss logo is now created with ImageMagick rather than dia.
+
+------------------
+0.1.7 (2017-04-17)
 ------------------
 
+ - Documentation improvements.
+
+ - Improved error diagnostics.
+
+ - dss no longer refuses to run in daemon mode without a log file.
+
+ - Minor tweaks to the snapshot pruning algorithm.
+
+ - A fix for create mode when rsync exists unsuccessfully.
+
+ - NEWS and README have been converted to markdown format.
+
+ - We now compile with -Wunused-parameter and -Wshadow.
+
+------------------
+0.1.6 (2015-08-05)
+------------------
+
+ - New option --min-complete to specify the minimal number of snapshots
+   to keep.
+
+ - Improved handling of rsync errors. The new --max-rsync-errors option
+ tells dss to terminate after the given number of rsync failures.
+
+ - New home page URL and email address.
+
+ - Reworked rsync restart logic, new --max-rsync-errors option.
+
+ - Avoidance of "Errors with program diagnostics" error from rsync.
+
+ - Improved signal handling.
+
+------------------
+0.1.5 (2014-01-14)
+------------------
+
+ - snapshot recycling: outdated, redundant and orphaned snapshots are
+ reused as the basis for new snapshots.
+
+ - New subcommands: --kill, --reload.
+
+ - The semaphore-based locking system prevents to start multiple
+ instances of dss.
+
+ - When dss receives SIGHUP it now writes the internal state and the
+ configuration to the log file
+
+ - First steps to make the source code ANSI C conform (thanks to
+ Daniel Richard G).
+
+ - dss writes log messages to stderr rather than to the logfile unless
+ running in daemon mode.
+
+ - Default hooks work also on systems where "/bin/true" does not exist,
+ e.g. Mac OS.
+
+------------------
+0.1.4 (2010-11-08)
+------------------
+This version of dss contains some new features, many improvements of
+existing features and several bug fixes.
+
+Support for resuming snapshot creation after restart has been added
+and snapshot removal is deferred until at least one current snapshot
+exists. The internal handling of the various hooks has been simplified
+and many error messages have been clarified. On SIGHUP, dss now writes
+its configuration and internal state to the log file.
+
+------------------
+0.1.3 (2009-06-06)
+------------------
 You can now specify pre-rm/post-rm-hooks that are executed whenever
 a snapshot is deleted. This release adds better compatibility with
 rsync 3.0, and avoids busy loops when automatically restarting the
@@ -10,7 +150,6 @@ rsync process.
 ------------------
 0.1.2 (2009-03-05)
 ------------------
-
 This release includes the reason why a snapshot gets removed in the
 log message. It will never remove the snapshot that is currently
 being created. It will really pass the full path to the last complete
@@ -19,9 +158,8 @@ snapshot in the post_create_hook.
 ------------------
 0.1.1 (2008-11-13)
 ------------------
-
 This release prevents busy loops on rsync exit code 13. It ignores
-any snapshot directory with creation time > completion time. It
+any snapshot directory with creation time >= completion time. It
 opens /dev/null for reading and writing when executing rsync. It shows
 human readable snapshot creation duration when listing snapshots. It
 restarts the rsync process if it returned with exit code 13.
@@ -29,5 +167,4 @@ restarts the rsync process if it returned with exit code 13.
 ------------------
 0.1.0 (2008-10-10)
 ------------------
-
 Initial public release.