New in v0.11.1 (2002/12/31) --------------------------- **Warning** Various features have been removed from this version, so this is not a safe upgrade. Also this version has less error checking, and, if it crashes, this version may be more prone to leave the destination directory in an inconsistent state. I plan to look at these issues in the next version. Also, this version is quite different from previous ones, so you cannot run version 0.11.1 on one end of a connection and any previous version on the other side. The following features have been removed: --mirror-only option: If you just want to mirror something, use rsync. (Or you could use rdiff-backup and then just delete the rdiff-backup-data directory, and then update the root mtime.) --change-source-perms option: This feature was pretty complicated to implement, and if something happened to rdiff-backup during a transfer, the old permissions could not be restored. All "resume" related functionality, like --checkpoint-interval: This was complicated to implement, and didn't seem to work all that well. Directory statistics file: Although the session statistics file is still generated, the directory statistics file no longer is, because the new code structure makes it less inconvenient. The various --exclude and --include options no longer work when restoring. This may be added later if there is demand. --windows-mode and filename quoting doesn't work. There have been several requests for this in the past, so it will probably be re-added in the next version. Extensive refactoring. A lot of rdiff-backup's code was structured as if it were still in one file, so it didn't make enough use of Python's module system. Now rdiff-backup writes metadata (uid, gid, mtime, etc.) to a compressed text file in the rdiff-backup-data directory. Here are some ramifications: A user does not need root access on the destination side to record file ownership information. Some files may be recognized as not having changed based on this metadata, so it may not be necessary to traverse the whole mirror directory. This can reduce file access on the destination side. Even when the --no-hard-links option is given when backing up, link relationships can be restored properly. However, if this option is given, mirror files will not be linked together. Special file types like device and sockets which cannot be created on the remote side for some reason can still be backed up and restored properly. Fixed bug with the --{include|exclude}-globbing-filelist options (reported by Claus Herwig). Added --list-changed-since option to list the files changed since the given date, and added Bud Bruegger's patch to that. The format and information this option provides will probably change in the near future. Restoring is now pipelined for better high latency performance, and unchanged files in the target directory will not be recopied. New in v0.11.0 (2002/10/05) --------------------------- If get a socket error from trying to create a socket whose name is too long, just skip file instead of exiting with error (bug report by Ivo De Decker). Added --exclude-special-files switch, which excludes fifos, symlinks, sockets, and device files. --windows-mode is now short for --windows-time-format --chars-to-quote A-Z: --no-hard-links --exclude-special-files. Thanks to Paul-Erik Törrönen for some helpful windows info. Multiple --include and --exclude statements can now be given in a single file. See the documentation on --{include|exclude}-globbing-filelist. Thanks to Henrik Lewander for pointing out that command line length could otherwise be a problem. Fixed bug in filelist processing that ignored leading or trailing whitespace in filelists. Now filenames with, for instance, trailing spaces can be used in filelists. Filelists which took advantage of this bug for formatting may have to be editted. Applied major/minor patch contributed by David S. rdiff-backup should now correctly copy device files on platforms such as NetBSD. It is now possible to restore from a read-only filesystem (before rdiff-backup would fail when trying to open log file). Thanks to Gregor Zattler for bug report. Fixed bug that prevented certain restores when the source directory was specified with a trailing backslash. Added a bit more logging so it should be apparent which file was being processed when an error occurs (thanks to Gerd Knops for suggestion). Fixed bug when using --chars-to-quote and directory deleted that has quoted characters in it. New in v0.10.1 (2002/09/16) --------------------------- rdiff-backup should now correctly handle files larger than 2GB. Thanks to Russ Allbery for telling me how to do this. New in v0.10.0 (2002/09/10) --------------------------- Fixed bug, probably introduced in 0.9.3, which prevented restores from a local source to a remote destination. Reported by Phillip Eby. Fixed another bug reported by Phillip Eby, where restores would fail if rdiff-backup had only been run once and no increments were available. A few man page additions regarding restoring, statistics, and --test-server (thanks to Gregor Zattler, Christopher Schanzle, and Tobias Polzin for suggestions). Fixed comparison bug where rdiff-backup would unnecessarily report a directory as changed when its source size differed from its mirror size. Thanks to Tim Allen for report. New in v0.9.5 (2002/08/09) -------------------------- Fixed --verbosity option (now both -v and --verbosity work). Thanks to Chris Dumont for report. ****** IMPORTANT ****** Fixed serious permissions bug found by Robert Weber. Previous versions in the 0.9.x branch would throw away high bit permissions (like the setuid and setuid bits). This would be especially bad when running with the --change-source-perms operation. Anyone running 0.9.0 - 0.9.4 should upgrade immediately. Complain about --change-source-perms when running as root, as this option should not be necessary then. Fixed bug with --windows-mode. Thanks to Chris Grindstaff for report. New in v0.9.4 (2002/07/24) -------------------------- Man page now correctly included in rpm. To prevent confusion, rdiff-backup script does not have exec permissions until it is installed (thanks Jason Piterak). Sockets are now replicated. Why not? (Suggestion by Mickey Everts) Bad resuming information (because, say, it is left over from a previous version) should no longer cause exit, except when --resume is specified. Better error handling in certain cases when errors occur in file reads (thanks to John Goerzen for report). New in v0.9.3 (2002/07/15) -------------------------- Added --sleep-ratio option after hearing that rdiff-backup was too hard on hard disks (thanks to Steve Alexander for the suggestion). Quick example: --sleep-ratio 0.25 makes rdiff-backup sleep about 25% of the time. Maybe this will help on bandwidth usage also. Fixed -m/--mirror-only option. Added --exclude-other-filesystems option. Thanks to Paul Wouters for the suggestion. Added convenience field TotalDestinationSizeChange (total change in destination directory - mirror change + increments change) to session_statistics file. Handle a particular situation better where a file changes in a certain way while rdiff-backup is processing it. Before rdiff-backup would just crash; now it skips the file. Thanks to Scott Bender for the bug report. A couple interface fixes to --remove-older-than. Added some security features to the protocol, so rdiff-backup will now only allow commands from remote connections. The extra security will be enabled automatically on the client (it knows what to expect), but the extra switches --restrict, --restrict-update-only, and --restrict-read-only have been added for use with --server. New in v0.9.2 (2002/06/27) -------------------------- Interface directly with librsync(.a|.so) instead of running "rdiff" command line utility. This can significant save fork()ing time when processing lots of smallish files that have changed. Also, rdiff is no longer required to be in the PATH. Further speed optimizations, mostly reducing CPU consumption when scanning through unchanged files. Fixed Path bug which could caused globbing and regexp include/exclude statements to malfunction when the base of the source directory was "/" (root of filesystem). Thanks to Vlastimil Adamovsky for noting this bug. Added quoting for spaces in directory_statistics file, hopefully making it easier to parse. New in v0.9.1 (2002/06/19) -------------------------- Fixed some bad C. Besides being unportable and leaking memory, it may have lead to someone's backup directory getting deleted (?). Tweaked some error recovery code to make it more like 0.8.0. Improved the installation a bit. New in v0.9.0 (2002/06/17) -------------------------- Changed lots of the code to distribute as standard python package instead of single script. Installation procedure is also different. Speed optimizations - average user might see speed increase of 2 or more. New in v0.8.0 (2002/06/14) -------------------------- Added --null-separator argument so filenames can safely include newlines in an include/exclude filelist. Fixed bug that affected restoring from current mirror with the '-r now' option. New in v0.7.6 (2002/05/31) -------------------------- Improved statistics support, and added --print-statistics and --calculate-average switches. See the directory_statistics and session_statistics files in the rdiff-backup-data directory. Major improvements to error correction and resuming. Now signals SIGQUIT, SIGHUP, and SIGTERM are caught to exit more gracefully. Fixed crankyness when --exclude-filelist is the last exclude option and it is given an empty file (thanks to Bryce C for report). New in v0.7.5 (2002/05/21) -------------------------- Fixed resuming bug. After a bit of empirical testing, increased Globals.conn_bufsize and enabled ssh compression by default (and also added --ssh-no-compression option). This should speed up the "typical" remote session. Fixed bug noticed by Dean Gaudet in processing of --(include|exclude)-filelist[-stdin] options when source directory was remote. Fixed --include error reporting bug reported by Ben Edwards. Small change so 'door' files and other unknown file types will be ignored. (Thanks for Steve Simitzis for sending in a patch for this.) Fixed bug noticed by Dean Gaudet where, unless the --change-source-perms option is specified, rdiff-backup wouldn't even attempt to open files lacking ownership permissions. New in v0.7.4 (2002/05/11) -------------------------- Added new restore syntax and corresponding -r and --restore-as-of options. For instance, "rdiff-backup -r 1/3/2002 /backup/foo out" will try to restore /backup/foo (a file on the mirror directory) to out, as it was January 3rd, 2002. See man page for more information. directory_statistics.