01 Feb 2009: 0.7.0 Miek <miek@miek.nl>
  -- major bugfixes, internal filelist format change --
  - slowly going to a 1.0.0 release -
  * version bumped to 0.7.0 as the internal file list format
    has changed. Using this new version as a drop-in replacement
    for 0.6.6 you will get a larger backup then you expected.
  * rdup-backups.7: typo (Johann Klähn)
  * rdup-simple.sh: check for a minimum of 2 arguments (Tom Hendrikx)
  * rdup-simple.sh: fix -f (full dump)
  * rdup-up: add mkpath (works like mkdir -p) function and fix -t option
    (reported by Tom Hendrikx)
  * rdup-simple.sh/rdup-ln.sh: only report errors on stderr, for the rest 
    use stdout (Tom Hendrikx)
  * rdup: honor .nobackup files again (Tom Hendrikx)
  * rdup: Add filesize and linktype to the internal filelist - this is mostly to
    better support hard- and softlinks.
  * rdup: allow comments in the internal filelist, this is completely
    useless except that rdup now writes a line describing what's in the
    filelist using a comment: '# blaa ' etc.
  * rdup, rdup-tr, rdup-simple: handle link removals better and add
    a test case that will test this specific bug (reported by Tom
    Hendrikx)
  * small document tweaks and cleanups


12 Jan 2009: 0.6.6 Miek <miek@miek.nl>
  * fix to minor bug in rdup-simple which prevented local
    backups from working. (Tom Hendrikx)
  * do a fclose() in fs-up.c (Tom Hendrikx)


10 Jan 2009: 0.6.5 Miek <miek@miek.nl>
  * rdup-simple back as rdup-simple.sh, re-written to 
    use rdup-tr and rdup-up
    (installs to /usr/lib/rdup)
  * rdup-ln.sh: small tweaks and bugfixes
  * rdup-tr: also handle files that should be removed
  * don't include glib/stdio.h as this needs a glib version
    which is too new. (Dag Wieers)


30 Dec 2008: 0.6.4 Miek <miek@miek.nl>
 - further refinements and tweaks -
  * rdup-up: further updates and refinements
  * rdup-up: added strippath() function to strip leading path components
  * doc: minor updates to the manual pages, added a rdup-simple like
    script to rdup-backups.7
  * rdup-ln.sh: a shell script for checking and copying a previous
    rdup backup. Depends on GNU date and GNU cp. Installs into 
    /usr/lib/rdup/. Previously a small script called rdup-snap-link
    did this.


17 Dec 2008: 0.6.4-rc1 Miek <miek@miek.nl>
  - major feature enhancements, two new programs -
    + rdup-tr: transform rdup output to something else
    + rdup-up: update a directory tree with rdup archive

 * rdup: Added '%N' to the format string, which prints the
   path, but in case of soft- and hardlinks it will only
   print the link's name not the '-> target' part
 * rdup: rdup.1.in had a long deserved make-over
 * rdup: Print symlinks correctly when there named on the cmd line
 * rdup: regexp: don't use g_slist_next, but k->next in gfunc.c
 * rdup: Suid/sgid/sticky bit output was corrected
 * rdup-tr: Added rdup-tr; a tool to convert rdup output to
   (modified) rdup output, tar, pax or cpio files
 * rdup-tr: Don't compile rdup-tr if libarchive is not found
 * rdup-tr: rdup-tr.1 manpage
 * rdup-up: Added rdup-up; C version of rdup-snap
 * rdup-up: Added rdup-up.1 manpage
 * rdup-up: Support for fifos, pipes, devices
 * updated rdup-backups.7 as general info about backups with rdup
 * Set the copyright to 2009 already


11 Nov 2009: 0.6.3 Miek <miek@miek.nl>
 * make regular expressions actually work (patch from Crispin Boylan)


03 Nov 2008: 0.6.2 Miek <miek@miek.nl>
 * rdup-utils: completely removed from rdup(-core).
   There is now a seperate svn repos with those tools. 
 * rdup: Added -R switch, which will reverse rdup's output
   This is a depth first output, first the directories
   then the files.
 * rdup: Use libpcre3 for regular expressions, MUCH much more powerfull
   than the POSIX regex previously used. This does add an extra
   dependency for libpcre3 (requested by Sorin Ionescu)
 * rdup: support for named pipe's, sockets and character and
   block devices. The rdup-utils IGNORE these files.
   This overloads the size (%s) in case of block/character
   devices - then it is 'major,minor' numbers
 * rdup: always write the device out with 5 position for the 
   internal filelist. This could also have resulted in too large 
   incrementals.


31 Jul 2008: 0.6.1 Miek <miek@miek.nl>
 * Added support for amazon's S3 service: see s3-rdup
   this is not added to rdup-simple and probably never will,
   but examples are given in the manual page on how
   to use it.
 * crawler.c: removed new_dir argument for dir_crawl
   this would test if a directory is new and if so would
   include all the files in it. This did not work properly
   and would result into files being included in the backup, which 
   would otherwise would be skipped when doing an incremental
   (Louis-Dominique Dubeau)
 * debian/ directory erased as rdup is now included in Debian and there 
   are better working builds for Ubuntu on Launchpad
 * Remove translation stuff from Perl utils - Perl 5.10 has a
   problem with the hack I employed. Thanks to Dawid Ciezarkiewicz
   for lending his machine with Arch Linux (and Perl 5.10)
 * Remove the -a flag from rdup and all the utils. Never like this hack anyway.


29 May 2008: 0.6.0 Miek <miek@miek.nl>
 -- 0.6.0 is 0.6.0-rc1 with following tweaks --
 * Fix a bug in which a directory can not be created
   in rdup-snap-link (Louis-Dominique Dubeau)


23 May 2008: 0.6.0-rc1 Miek <miek@miek.nl>
  -- i18n and hardlink support added: default output changed --
 * i18n support added, but nothing is translated yet
   - this is for the perl scripts and the rdup C core
   - shell scripts do not use i18n
 * hardlink support
   - symlink output has also changed to support this
   - each link is printed as 'link -> target'
   - filesize is overloaded to take the length of 'link' in this case
   - hardlinks have the file type 'h'
   - now we have: -, d, l and h types
   New sample output:

    +d 0751 1000 1000 11 0 /home/miekg/bin
    +h 0700 1000 1000 44 21 /home/miekg/bin/acx2 -> /home/miekg/bin/cx
    +h 0700 1000 1000 51 28 /home/miekg/bin/cx-hardlink -> /home/miekg/bin/cx
    +l 0777 1000 1000 24 18 /home/miekg/bin/t -> tt
    +- 0775 1000 1000 21 174 /home/miekg/bin/wifi

 * added gpg encryption/decryption to rdup-simple and rdup-restore
   (requested by: Jan Spakula)
 * rdup-simple: be more consistent for the naming of the internal
   filelist and timestamp files (Jan Spakula)
 * killed off rdup-cp and put that functionality in rdup-snap
 * implemented gettext for i18n use.
 * exit ./configure when glib2-dev is not found
 * subtract the filesize when files are removed in rdup-snap
 * remove last remnants of syslog from shared.pl.in
 * fixed example cron.rdup
 * use here docs in the shell script usage
 * update rdup-restore and removed rdup-snap-here
 * documentation updates and assorted tweaks
 * removed last remnants of rdup-snap-here
 * used lintian on the debian package


19 Mar 2008: 0.5.7 Miek <miek@miek.nl>
 -- spring cleaning --
 * removed rdup-purge, this can be done in a shell oneliner
 * removed sh-tools/ as it was already deprecated
 * added rdup-hist to show files from the backup and copy, cat
   or diff them. Also see rdup-hist.1
 * Remove syslogging from rdup-snap for the sake of simplicity.
   It also gave troubles on Mac OS X.
 * make the rdup-backups.1 page look nicer
   

15 Mar 2008: 0.5.6 Miek <miek@miek.nl>
 -- Bugfixes and documentation improvements --
 * Document the use of /dev/null better in rdup.1
 * Knut Franke: generate rdup-backups.1 from configure.ac
 * fixup relative pathname argument in conjunction 
   with the -E (exclude) option (reported by Dave Foster)
   Added: abspath.c


12 Feb 2008: 0.5.5 Miek <miek@miek.nl>
 -- code cleanups and license change: GPL 3 --
 * Changed license to GPL 3
 * Print the octal mode (%b) with 4 digits to also allow
    for the correct transfer of sgid/suid/sticky bits.
 * Add support in rdup-snap/rdup-simple for hourly backups
 * Cleanup the perl code
 * Fixup the documentation


22 Jan 2008: 0.5.4 Miek <miek@miek.nl>
  -- bugfixes --
  * Fix longstanding bug on Solaris; don't rewind filedes although
    this worked on all other unices (linux/freebsd/macos).
  * Fix the .nobackup; file located in directories with this file
    in it shouldn't be backed up.


21 Jan 2008: 0.5.3 Miek <miek@miek.nl>
  -- cleanups --
  * Didn't use File::Copy::Recursive - so drop it
  * Small documentation updates 
  * Small fixes in the c source
  * Small build updates, makedist.sh, remove 'strip'


20 Sep 2007: 0.5.2 Miek <miek@miek.nl>
  -- cleanups --
  * Fix the debian pkg - don't create /etc/rdup by default
  * rdup-purge add File::Path perl module
  * rdup-simple: enable -a (thanks to: Mathieu Chappuis)
  * Go back to plain manpages - rst isn't worth the trouble


23 Jun 2007: 0.5.1 Miek <miek@miek.nl>
  -- bug fix and feature enhancements --
  * rdup: Fix race condition with growing files and remote backups
  * Gnumakefile.in: Dont create unneed directories (Sven Hartrump) 
  * Documentation: moved to restructed text as the source for docs
    (work in progress)
  * Added: rdup-purge: logarithmic purge script (idea from simple-backup)


17 May 2007: 0.5.0 Miek <miek@miek.nl>
  -- major new release - not backwards compatible -
  * All paths have changed /usr/bin is now used, no more sbin
  * All manual pages now fall in the section 1, not 8
  * No more use of /etc/rdup, only ~/.rdup
  * rdup-snap-link is the only script that optionally will
    check /etc/rdup
  * rdup: use ctime not the mtime
  * rdup: major rewrite of the core algorithm, it now uses
    a remove-list, new-list and posibly changed list - 
    only items that are on the changed list are ctime checked.
  * rdup: much better algorithm for detecting incremental filesystem
    changes; directory renames are now detected
  * rdup: the internal filelist is extended with a device number
    and a inode number; these are needed to detect directory moves.
    switch
  * backup with: rdup-simple
  * restore with: rdup-restore
  * todo: rdup-restore in the same line as rdup-simple
  * todo: rdup-snapshot
  * Major rewrite of rdup-restore
  * Removed: rdup-dump, rdup-snapshot, rdup-mirror


09 May 2007: 0.3.9 Miek <miek@miek.nl>
  -- new features and fixes --
   * Add -S and -D to the known options of rdup-restore (reported by 
     Ben Coffey)
   * Add runtime check to find mcrypt to rdup-crypt (reported by Ben
     Coffey)
   * Add runtime checks to rdup-gzip and rdup-gpg too
   * Documentation updates and tweaks
   * Added rdup-simple; 
   	- other calling semantics
	- uses ~/.rdup for storing files
   * Added rdup-gpg - encrypt with gpg, decryption makes use of
     gpg-agent, otherwise you need to type your passphrase for 
     every file
   * Force ordering of encryption and compressions. First compress
     then encrypt; all scripts do this now. 
   * Force ordering of decryption and decompression: First decrypt
     then decompress.
     

14 Mar 2007: 0.3.8 Miek <miek@miek.nl>
  -- bugfixes --
   * NOTE: -n changed semantics!
   * Add 'E:' to the known options in rdup-dump.in
   * Fix the +NUMBER argument in rdup-snapshot (reported by Joerg Rueppel)
   * Fix usage of -z (and any other option that toggles rdup's -c option)
     (thanks to J.W. Janssen for reporting)
   * Use -f in rdup-gzip (bug reported by David Martin)
   * Fix a bug in rdup-crypt (reported by David Martin)
   * Use 'warn' in rdup-gzip/crypt, echo a warning and continue
     when files fail to zip or crypt.
   * rdup-dump, rdup-snapshot: -n path, changed semantics. If is
     now a path prefix in stead of a file prefix
   * documentation updates in the manpages of rdup-dump and
     rdup-snapshot
   * add -l to rdup-dump, rdup-snapshot for an optional lockfile dir


11 Feb 2007: 0.3.7 Miek <miek@miek.nl>
  -- bugfixes --
   * removed @datarootdir@ as this gives errors with older
     autoconf versions (reported by Jelte Jansen)
   * rdup-snap: when removing, look at the type, and if it's
     a dir use rmtree, otherwise unlink
   * Add -E option to all utilities (reported by Joerg Rueppel)
   * Fix -e in rdup-snapshot and rdup-dump
   * removed spec file from distribution - there are multiple
     spec files to be found on the internet


26 Jan 2007: 0.3.6 Miek <miek@miek.nl>
  -- minor bugfixes --
   * Small fixes for rdup-dump (Fabio Rossi)
   * sh-wrappers: print the unknown option when encountering one
   * gfunc.c: write remaining bytes when cutting of growing 
     files in a remote backup
   * Use DEcrypt and gUNzip when restoring
   * Added (local) locking in the shell wrapper tools
   * Allow control-C when reading the filelist file
   * When using /dev/null as filelist file, don't complain
     about not being able to ftruncate it
   * Always use our own getdelim() implementation
   * pl-tools: add warning when not being able to close a file
   * Fixes from rdup-snap ported to rdup-mirror


27 Dec 2006: 0.3.5 Miek <miek@miek.nl>
  -- minor features added --
   * Added '-E file' option, with which you can give rdup an exlude
     list. This list contains extended POSIX regular expressions. See
     rdup(8) for more info.
   * Add -E to rdup-dump and rdup-snapshot 
   * Remove rdup-grep, as most functionality can be achieved with -E
   * Added rpm from: http://www.sisyphus.ru/srpm/rdup/spec
   * Add patch from Fabio Rossi to rdup-mirror, this add -u switch
     which makes rdup-mirror not create any date-directories.
   * Completely rewrite rdup-restore, it now uses rdup-cp and rdup
     to restore. Restores for rdup-snapshot added.
   * Documentation fixes
	

15 Dec 2006: 0.3.4 Miek <miek@miek.nl>
  -- bug fix release --
   * Output a prefix zero when printing permissions like: ---rwxrwx
   * When doing a remote backup and not running as root, rdup-snap
     needs to set the permissions of dirs in such a way that it
     can still access the directory (ie: chmod +wx $dir).
     Thanks to Robert Haskins
   * Add a rpm spec file; feedback welcomed
   * Install the manual page of rdup-snap-link
   * Remove the screenshot.jpg; makes tar.bz2 200K smaller


04 Dec 2006: 0.3.3 Miek <miek@miek.nl>
   -- bug fix release --
   * Really fix the backup creation when using rdup-snap-link


02 Dec 2006: 0.3.2 Miek <miek@miek.nl>
   -- bug fix --
   * Use rmdir and NOT unlink to remove directories
   * Never remove in rdup-cp
   * Fix a bug for dir creation when using rdup-snapshot
     (this triggered on an incr. dump, during a month change)


26 Nov 2006: 0.3.1 Miek <miek@miek.nl>
   -- minor fixes --
   * print the bytes transfered with 1 decimal.
   * compilation fix when you don't have xattr (on Linux)
   * documentation updates; rdup-backups(8) [still needs work]
   * added: rdup-cp (and manpage) to copy from a rdup created backup


29 Oct 2006: 0.3.0 Miek <miek@miek.nl>
   -- minor fixes --
   * add manual page for rdup-snap-link
   * Some autotool fixes
   * documentation updates
   * rdup-snap-here fixes


25 Oct 2006: 0.3.0-rc1 Miek <miek@miek.nl>
   -- major features enhancements --
  ** OUTPUT CHANGES **
   * new format character: %b: permission bits
   * new format character: %H: print the sha1 hash of the file
   * output changed to: %p%T %b %u %g %l %s %n\n"
   * the LIST syntax was changed to include the
     filename size. This was due to a weird bug
     on Solaris where mangled entries are written...
  ** BIG changes **
   * When a file changes size:
     when smaller: NULLs are inserted
     when larger: the file is broken off
   * No shell utils are installed anymore, only the wrappers
   * rdup-snapshot, rdup-mirror add -f option: do a full dump
   * History.sh and yesterday.sh are removed from the archive
   * ${prefix/}share/rdup is used for common perl/shell files
     all utilities now source these files
   * Removed -l arg from the utils
   * All scripts are prefixed with 'rdup-'
   * All installed scripts loose the .sh/.pl suffix (Debian Policy)
   * rdup-snap added (perl) tool ala mirror but works on hard linked
     files
   * rdup-snapshot added (shell) small wrapper for rdup and rdup-snap
     This uses 'cp -plr' which is a gnu-ism
   * Solaris 10 extended attributes support was added
   * Loose the multiple backup directory stuff
  ** smaller changes **
   * Moved Makefile.in to GNUmakefile.in to force gmake usage
   * Bug fix in gzip.pl (now rdup-gzip)
   * Bug fix in crypt.pl (now rdup-crypt)
   * All documentation updated with the new names and some more updates
   * Don't install dump-here.sh or dump-here.sh.8
   * Added debian/ dir so a .deb package can be build
     (cd debian ; dpkg-buildpackage -rfakeroot)
   * If you want /etc/rdup to be in a different directory be sure
     to use ./configure --sysconfdir=foo, otherwise it might not work
   * rdup-snap.8 and rdup-snapshot.8 added
   * Refactored the wrapper scripts
   * Check_attr() and chown_attr() to shared.pl.in
   * Adding syslogging to rdup-snap and rdup-mirror
   * Added rdup-snap-here and manpage
   * Making backups with 0.3.0:
   	hardlink backup:
	rdup-snapshot -b /backup/$HOSTNAME dir-to-backup
	YYYYMM/DD will be added

   	mirror backup:
	rdup-dump -b /backup/$HOSTNAME dir-to-backup
	YYYYMM will be added


24 Sept 2006: 0.2.17 Miek <miek@miek.nl>
   -- non backwards compatible update + minor feature update --
   * rdup: fix compilation on Mac OS X (and prob. Solaris)
   * mirror.pl: remove the YYYYMM suffix for backup directory
   * mirror.sh: remove the YYYYMM suffix for backup directory
   * dump.sh will now add this YYYYMM suffix!
   * added rdup.cron example
   * added grep.pl, grep.pl.1 manual page
   * grep.pl/gzip.pl/crypt.pl: small refactoring to make them 
     smaller
   * sh-restore/ is REMOVED, there are now no special restore utils
   * Doc: moved all docs over to the perl versions of the utils.
   * Making backups with 0.2.17:
   	dump.sh -b /vol/backup/$HOSTNAME dir-to-back-up
	YYYYMM will be added

	mirror.pl will use the -b argument as-is, no magic
	there.
   * Restoring backups with 0.2.17:
   	resore.sh -b /tmp/RESTORE dir-to-restore

	and in /tmp/RESTORE you will find your restore


18 Sep 2006: 0.2.16 Miek <miek@miek.nl>
   -- bugfixes and moved to the perl utils --
   rdup:
   * some compilation updates for Solaris 10 (dirdf)
   * small documentation updates
   configure:
   * added check for GNU make (isn't used yet)
   scripts:
   * All sizes are report in MB
   * mirror.pl: major fixes: use the correct backup dir
     and correct -c.
     Allow multiple -b options to backup to different directories
     at the same time
     The -b argument is mandatory, but can now be given
     multiple times.
   * dump.sh: use the perl tools! Added -x option.
     The -b argument is mandatory, but can now be given
     multiple times.
     The $HOST directory isn't added by default! Now you need
     to specify: -b /vol/backup/$HOST
   * dump-here.sh: use perl tools too.
   * Added crypt.pl - a perl version crypt.sh


1 Sep 2006: 0.2.15 Miek <miek@miek.nl>
   scripts:
   * refactored mirror.sh, rorrim.sh, monthday.sh, mirror.pl
   * dump.sh: more quotes for dirs with spaces. Re-add trailing spaces 
     to path names
   * coding style changes to the perl scripts.
   * rdup: add -l (local) option. Disable size checking for
     files when doing a local backup and don't skip the file.
   * Documentation updates


1 Jul 2006: 0.2.14 Miek <miek@miek.nl>
   -- misc. bugfixes and new features --
   scripts:
   * use dd for "catching" the files' content
   * eliminate the use of 'head' as this didn't work on freebsd
   * dump-here.sh must be edited before use (added exit 1)
   * Added pl-tools/ directory for perl contributed scripts:
     added gzip.pl and mirror.pl both from Mark J Hewitt
     These are up to 50 times faster than the shell scripts!
   * Remove rb-tools dir from distribution - not uses & not finished
   * moved wrapper scripts (dump.sh, dump-here.sh and restore.sh) to
     sh-wrapper/ directory
   * implement good bash coding style(Remarks from Bob Proulx)
     use booleans in the scripts
     kill whitespace
   rdup:
   * Don't re-check directories for changed files sizes
     and only check for files that are to be added.
   * Compilation fix for gcc 2.95; don't use %zd in printf
   * check return value of ftruncate()


26 May 2006: 0.2.13 Miek <miek@miek.nl>
   -- BACKWARD INCOMPATIBLE CHANGES --
   * dump.sh: drop req. argument NAME. This is now an option: -N NAME
   -- bugfixes and improvements --
   * monthday.sh: rewritten again...this time hopefully for the last
     time. It now is simpeler and local_restore and remote_restore
     are almost identical.
   * rdup: when a file changes size during the printing, skip it (Mark J Hewitt)
   * rdup: when a filename has a newline in it, skip it (Mark J Hewitt)


10 May 2006: 0.2.12 Miek <miek@miek.nl>
  -- bugfixes --
   * dump.sh: fix a bug in detecting whether to do a
     full or an incremental dump (Bram de Kruijff)
   * mirror.sh, rorrim.sh: silence chown errors
   * mirror.sh, rorrim.sh: echo to >&2 
   * mirror.sh, dump.sh: completed extended attribute support
   * mirror.sh, rorrim.sh: when not root and a directory
     would get 000 permissions, change that to 700
   * rdup, msg() fixlet
   * doc: added quick-start tex document for SANE
   * doc: poster/ directory was added for SANE
   * doc: more updates (Bram de Kruijff)
   * monthday.sh: with +0 don't print files with a suffix (Bram de Kruijff)
     (added restore test for this)


05 May 2006: 0.2.11 Miek <miek@miek.nl>
  -- major feature enhancement + major bugfixes --
   * rdup is now feature complete
   * dump.sh, restore.sh: make remote backups really work
   * scripts: implemented sanity checks on the data received. 
   extended attributes: [linux only atm]
   * mirror.sh: added -a flag, only needed here.
   * rdup: -a flag: read extended attributes to restore uid/gid 
   * bandwidth shaping was added to dump.sh and restore.sh, depends on
     cstream
   * rorrim.sh, monthday.sh: cosmetic fixes
   * rdup: added a msg function to remove all fprintfs
   * documentation was updated and improved


01 May 2006: 0.2.10 Miek <miek@miek.nl>
  -- tiny bugfixes + major restore updates --
   * rdup: formalize file handling in rdup:
     - plain files are accepted on the cmd line (they
       already were, but generated a (harmless) warning)
     - if files/dirs do not exist rdup skips them, instead
       of quiting
   * rdup.8: documentation updates, and make it more clear
     that rdup handles file arguments just fine.
   * NEW: restore.sh: added this as a wrapper around rdup and
     monthday.sh and rorrim.sh
   * REMOVED: purge.sh, I want to focus on dump/restore. Everyone
     can write a rm -rf script
   * dump.sh, restore.sh: added -c user@remote switch to ease in 
     remote backups and remote restores.
   * man rdup.8: added -r/-m options.
   * doc: started tex documentation about rdup and its usage, 
     see the tex/ directory.
   * restore.sh, rorrim.sh: -p NUM (strip leading path components
     implmented)
   * Both dump.sh -c and restore.sh need testing.


25 Apr 2006: 0.2.9 Miek <miek@miek.nl>
  -- bugfixes + restore updates --
   * gzip.sh, crypt.sh: ignore and accept '-c' option
   * crypt.sh: use mcrypt -q to be more silent
   * monthday.sh: implement -c option 
     script has completely been rewritten
   * monthday.sh: also process the last file
   * rorrim.sh: -c (remote) fixes and other tweaks
   * dump.sh: support -z (compress) and -k (encrypt) options
   * dump.sh: fix the path to rdup and mirror.sh (Timur Vafin)
   * grep.sh: removed from rdup-utils
   * tests: added monthday +0 restore test
   * install monthday.sh and rorrim.sh by default


22 Apr 2006: 0.2.8 Miek <miek@miek.nl>
   -- bugfixes --
   * scripts: support -V (version) in all scripts
   * scripts: print "invalid option" when encountered to stderr
   * scripts: disable 'set -o nounset' as it clashes with getopt
   * scripts: use read -r to allow for backslashes in filenames
   * gzip.sh, crypt.sh: fix a bug in new size calculation 
     (reported by Erland Isaksson)
   * mirror.sh: with -c, don't print "**" twice
   * mirror.sh: use cp, not cat for moving file locally
   * rorrim.sh: use cp, not cat for moving file locally
   * hist.sh, yesterday.sh: fix unbound vars
   * hist.sh: implemented -z and -k 
   * tests: better test for running all rdup-utils
   * tests: added gzip.sh test
   * tests: added crypt.sh test
   * tests: added run restore scripts test
   * Ruby impl. of mirror.sh: mirror.rb (proof of concept)
   

11 Apr 2006: 0.2.7 Miek <miek@miek.nl>
   -- bugfixes + restore features --
   * rdup: re-touch the timestamp file at the end. This way an interupted
     backup can be re-run because all the rdup files are still untouched.
   * rdup: really give an error on non-supported files
   * doc: update mirror.sh manpage: removed -z -k from the manual
   * doc: added gzip.sh, rorrim.sh and grep.sh manpage
   * yesterday.sh: work correctly with directories
   * yesterday.sh: replace backup directory with ...
   * hist.sh: print "d " for directories and replace the backup dir with ... 
   * gzip.sh: accept -d option: decompress
   * crypt.sh: accept -d option: decrypt
   * grep.sh: match files,links/directories. Install it by default
   Source dir layout:
   * rename tools -> sh-tools, there is room for scripts in other languages
   * rename restore -> sh-restore, room for other languages
   Porting:
   * mirror.sh/rorrim.sh: use cp -RP (works on FreeBSD) 
    (ghostcorps (at) gmail.com)
   * mirror.sh/hist.sh/yesterday.sh: use $OSTYPE to ease portability
   * hist.sh/yesterday.sh: use freebsd's date and some ls foo
   * yesterday.sh: use shell code to mimic 'seq'
   Restore:
   * Added rorrim.sh (this was restore.sh) - restore files to a dir
   * Added monthday.sh - select files to restore
     [still only lightly tested, please help test]
   

30 Mar 2006: 0.2.6 Miek <miek@miek.nl>
   -- script updates and bugfixes --
   * more signal handling was added to the shell scripts, 
     they now echo what file they were processing when 
     they received the signal
   * mirror.sh: actually accept -v as an option
   * mirror.sh: handle filetype changes better 
   * usb-dump.sh: display (zenity) progress dialog when backing up
     moved usb-dump.sh to tools/
   * hist.sh: correctly count backwards x months
   * scripts/ directory was removed
   * rename usb-dump.sh to dump-here.sh, as that is what it does
     

18 Mar 2006: 0.2.5 Miek <miek@miek.nl>
   -- bugfixes --
   * usbdump.sh: be more informative on failed backups
   * error messages cleanup
   * indent is used to force coding style
   * added purge.sh script for deleting older backups
   * dump.sh and purge.sh now both have a manual page
     and are moved to the tools/ directory
   * patch for mirror.sh (add missing $) (Pavel Mracek)
   * Makefile cleanup


10 Mar 2006: 0.2.4 Miek <miek@miek.nl>
   -- bugfixes --
   * crawler.c: when finding .nobackup don't remove the parent directory
     (this keep 'dir' and 'dir/.nobackup' in the backup
   * mirror.sh: use chown -h for symlinks
   * mirorr.sh: mirror_suffix() use +DD.HH:MM again (Graham King)
   * dump.sh: create the top level backup dirs with 755
   * all scripts: enabled set -o nounset, to catch unbound vars


02 Mar 2006: 0.2.3 Miek <miek@miek.nl>
   -- features and bugfixes --
   * gfunc.c: bug, close files when catting them in cat().
   * gfunc.c: bug, size check should come before switch.
   * crawler.c: bug, use DIR_SEP everywhere
   * crawler.c: removed the filestack, and added files
     directly to the tree, this eliminates half a the
     mallocs, cutting down on rdup's memory req. 
     It is not faster (rdup is I/O bound)
   * rdup.c: removed the printing of directories when finished.
   * rdup.c: -vv now prints the processed files to standard error.
     (Usefull when doing a remote backup)
   * scripts: Added gzip.sh + manual page
   * scripts: Added crypt.sh + manual page
   * scripts: Removed zipped/crypt feature from mirror,
     use rdup -c | crypt.sh | mirror -c 
   * scripts: Simplified yesterday.sh and hist.sh
   * scripts: Added -d switch to hist.sh
   * scripts: The default algorithm for encryption is set 
     to blowfish - if you want to change this you'll
     have to edit the scripts.
   * scripts: mirror.sh: added quotes around file names to protect
     spaces.


23 Feb 2006: 0.2.2 Miek <miek@miek.nl>
   -- major feature release --
   * output changes:
     - directory size is always set to zero
   * Added -F FORMAT option that allows you 
     to specify the exact output of rdup 
     (Patch from Aaron Bader)
   * Added -r: show only removed files
   * Added -m: only show new/modified files
     (Both from Aaron Bader)
   * -0 semantics changed: now only applies to 
     the internal filelist. If you want a NULL use
     '\0' in the -F FORMAT string
   * Documentation was updated to reflect the current code
   * strerror() is now also printed more often
   * add ferror() check to cat() in gfunc.c
   * renamed excl.sh to rdgrep.sh (rdup-grep)
   * various small bits: typo's, check for signals more often.


16 Feb 2006: 0.2.1 Miek <miek@miek.nl>
   * the output format was changed: 
     the path_size was added to it
   * a -c option was added, which concatenate the file's
     output to standard output. This is done to make 
     remote backups more easy. This also changes rdup's output!
   * a -s <size> option was added which will only print
     out files that are smaller then a certain size.
   * A beginning was made with a perl impl. of hdup2, which 
     runs on top of rdup.
   * rmirror and mirror are combined into mirror.sh
   * all shared stuff was refactored
   Code:
   * Various typo's are fixed
   * -Wextra was dropped to allow compilation with older gcc's.
   * functions that weren't exported are now declared static.
   * Moved TODO to todo


25 Jan 2006: 0.2.0 Miek <miek@miek.nl>
   * Jumped to version 0.2.0.
   Build:
   * Reworked autoconf, autoREconf && ./configure && make
     must now be used to compile rdup
   Code:
   * Ported to FreeBSD, getdelim.c was added for that.
     Also test compiled it on Mac OS X with Fink.
   * Signal handling for SIGPIPE and SIGINT was implemented,
     we now print an error when receiving such a signal.


18 Jan 2006: 0.1.3 Miek <miek@miek.nl>
   * hist.sh updated, it goes back for 3 months now
   * yesterday.sh now works correctly 
   * mirror.sh/rmirror.sh now create suffixes for backup
     files based on their creation time. The suffix 
     used is +MONTHDAY.HH.MM.


06 Jan 2006: 0.1.2 Miek <miek@miek.nl>
   * All scripts were completely reworked, local
     and remote backing up is now working.
   * End-user script were improved, excl.sh is now
     a working example. Everything is much more 
     enduser friendly
   * Documentation and man pages were improved and
     updated to reflect the modifications in the scripts.
   Code:
   * refactored printing in gfunc.c, this was a minor change.


02 Jan 2006: 0.1.1 Miek <miek@miek.nl>
   * Use strcmp instead of g_ascii_strcasecmp() as
     case is significant in unix fs
   * Don't gzip the files by default with backup.sh
   * added mirror/dump.sh which is an example wrapper
     script for backupping.
   * Manual pages were updated.


31 Dec 2005: 0.1.0 Miek <miek@miek.nl>
   * Bumped version as rdup matures rapidly
   * Small fixes to the scripts 
   * Test infrastructure was added


30 Dec 2005: 0.0.4 Miek <miek@miek.nl>
   * Add the filesize to rdup's output. This change is 
     not backwards compatible. The output now is
     +/-MODE UID GID SIZE FILENAME
     SIZE = filesize in bytes
   * Added explicit timestamp file as suggest by Boris Goldowsky 
     (-N FILE, where the m_time of FILE is taken is the filestamp)
   Scripts:
   * Added remote directory with a script that can be piped
     to 'sftp b - user@remotehost'. This is a poor mans rsync - fully
     working though.
   * catch.sh and throw.sh are another remote backup implementation which
     allow encryption and zipping, only caveat is that the filesize
     MUST not change when fiddling with the contents of a file.
   * added hdup/ directory. The script in there implements the 
     core functionality of hdup2.
   Docs:
   * Started LaTeX document describing features and output
     of rdup and its scripts.
   Source:
   * Removed dump_type, backuptype is now implicitly stored in
     opt_timestamp (0 -> full, !0 -> inc)
   * Added -Os, this wipes 2K of the rdup exe (16%)
   * Ran 'rats':
     - take care getopts is not hit by a buffer overrun. 
     - Also removed potential race.


28 Dec 2005: 0.0.3 Miek <miek@miek.nl>
   * Reworked the source directory slighty, all mirror scripts
     are now in their own directory (mirror/)
   * Lots of documentation updates


26 Dec 2005: 0.0.2 Miek <miek@miek.nl>
   * Renamed to rdup.
   * rdup now uses GTree * instead of GSList *, making
     to incremental dump 100 times faster. 
   * make install target was added. /etc/rdup is the configuration
     directory of rdup
   * I'm now using rdup to backup my homesystem


25 Dec 2005: 0.0.1 Miek <miek@miek.nl>
   - First public release -
   * Fully working, but not all features implemented
   * Fully documented.
   * The supplied shell script implement one possible
     backup scheme. Feel free to add more
   * Look at the TODO for what needs to be done
