Skip to content
Snippets Groups Projects
CHANGELOG.md 40.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Changelog
    
    All notable changes to this project will be documented in this file.
    
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
    and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
    
    
    ## [1.2.0] - 2021-01-21
    
    Jérôme Charaoui's avatar
    Jérôme Charaoui committed
    
    ### Fixed
    
    
    - [dup] Fix missing options from config file created with helper (DEBBUG-726119)
    
    ## [1.2.0-rc1] - 2021-01-14
    
    Jérôme Charaoui's avatar
    Jérôme Charaoui committed
    ### Added
    
    - [tests] Add a testsuite
    - [core] Add `--version` (`-V`) command-line option
    - [borg] New config options: `cache_directory`, `sshoptions` (#11310),
      `ignore_missing` and `port`
    - [restic] Introduce new handler for the restic backup program
    - [sys] Add SystemD and EFI infos to sytem report (#11325)
    
    - [all] Added new config setting `ionicelevel` (DEBBUG-409239)
    
    Jérôme Charaoui's avatar
    Jérôme Charaoui committed
    
    ### Changed
    
    - [core] Implement non-zero exit codes for main process (#8279)
    - [borg] Emit warning if borg returns exit code 1 instead of fail
    - [dup] Allow `bandwidthlimit` with `desturl`
    
    - [rsync] Change default ssh key file to RSA in `id_file` (#11315, DEBBUG-976650)
    
    Jérôme Charaoui's avatar
    Jérôme Charaoui committed
    - [project] Adopt Keep a Changelog format and convert old ChangeLog to markdown
    - [project] Moved project group from RiseupLabs to Liberate (#11314)
    
    ### Removed
    
    - [core] Support for vservers support has been completely removed
    - [rsync] Removed unused config parameter `ssh` (#4379)
    
    ### Fixed
    
    - [core] Fix issue with zero-padded integers in when setting (#9397)
    - [core] Fix incorrect warning related to day component in when setting
    
    Jérôme Charaoui's avatar
    Jérôme Charaoui committed
    - [borg] Fix connection test when empty remote directory exists
    - [borg] Properly quote create_options setting (#11304)
    - [borg] Raise fatal error if includes are missing
    - [dup] Test ssh connection when test mode enabled
    - [mysql] Fix helper writing incomplete config file (#11272)
    - [rsync] Fix initial directory creation in `mirror` and remote `short` modes
    - [sys] Fix LUKS version 2 header backup (#11316)
    
    - [sys] Fix dumping non-existent partition tables (#11293, DEBBUG-956206)
    
    Jérôme Charaoui's avatar
    Jérôme Charaoui committed
    - [sys] Fix error in rc.d info gathering on redhat/centos (##11294)
    - [sys] Fix error in sysctl info gathering
    
    
    ## [1.1.0] - 2018-06-29
    
    ### backupninja changes
    
    
    - Add validation check for when parameter. (#640) Thanks to ulrich
    
      <ulrich@habmalnefrage.de> for the patch.
    
    - Quote output strings passed to logging functions (#11278).
    
    - Ignore files in /etc/backup.d that lack suffix. Thanks to David Gasaway
      <dave@gasaway.org> for the patch.
    - Add Vagrantfile to help with testing/release process.
    
    ### documentation changes
    
    - Fix typos in README.md and manpages. Thank you, Lintian!
    - Improve release process documentation.
    
    ### handler changes
    
    #### borg
    
    - Add initial support for the borgbackup program. Thanks to Ben
      <ben@wainei.net> and Thomas Preissler <thomas@preissler.co.uk> for
      contributing patches.
    
    #### dup
    
    
    - Fix symmetric encryption. (#11274) Thanks to Matthijs Wensveen
    
      <matthijs.wensveen@gmail.com> for the patch.
    
    - Bail if archive dir doesn't exist. (#11286) Thanks to Hugh Nowlan
      <nosmo@nosmo.me> for the patch.
    
    - Use lsblk instead of sfdisk to get a list of block devices. (#11273)
      Thanks to Romain Dessort <romain@univers-libre.net> for the patch.
    
    - Avoid looking for partitions on zram devices. Thanks to Glandos
      <bugs-0xacab@antipoul.fr> for the patch.
    - Support extracting LUKS headers from partitions. Thanks to Lyz
      <lyz@riseup.net> for the patch.
    
    ## [1.0.2] - 2017-09-05
    
    ### handler changes
    
    #### dsync
    
    - Miscellaneous improvements to this experimental handler.
    
    #### dup
    
    - For local backups, check that the destination directory exists.  Thanks to
    
      ulrich for the preliminary patch. (#4049)
    
    - Gracefully handle legacy spaces between -o and IdentityFile.
    - Don't remove useful signature files with --extra-clean, on duplicity versions
      that have a sane handling of the cache.  Thanks to Alexander Mette
    
      <mail@amette.eu> for the patch!  (Closes: #6357)
    - Fix buggy version comparison. (#6746)
    
    - Support using a different passphrase for the signing key from the one used
    
      for the encryption key (Closes: DEBBUG-726072).  Thanks to Dominik George
    
          <nik@naturalnet.de> for the patch!
    
    - Run duplicity in a C locales environment (Closes: DEBBUG-736280).  Thanks to
    
      Jonathan Dupart <jonathan@dupart.org> for the report, and the initial patch!
    
    - Fix handling of Dropbox access token (Closes: #11260).
    
    
    #### mysql
    
    - Make "nodata" option compatible with compress=no.
    
    - Fix non-qualified table name extraction. (Closes: #4373)
    
    - Skip dumping information and performance\_schema databasase.  (Closes:
    
    
    #### rdiff
    
    - Add option to include rdiff-backup output in reports.  Thanks to David
      Gasaway <dave@gasaway.org> for the patch!
    
    #### rsync
    
    
    - Solve quoting issue with "su". (Closes: DEBBUG-683731, #4019)
    
    - Update increment folder date to avoid ending up with contradictory
    
      information. (Closes: #3929)
    
    - Force rsync handler run bash at the remote destination.  (Closes:
    
      #3003)
    - Support running in test mode (Closes: #8196).  Thanks to shred for the
    
      initial patch.
    
    #### sys
    
    - Fix LUKS header backup to properly detect partitions.
    - Provide the ability to backup the MBR for every device found, and to backup
      the BIOS (if the flashrom program is installed, and the mainboard is
      supported).
    
    - Add suse to the list of supported OS (#7101).  Thanks to Christian
    
      Prause <cprause@suse.com> for the patch.
    - Fix indentation. Thanks to Jools Wills <jools@oxfordinspire.co.uk> for the
    
      patch. (Closes: #6802)
    - Exclude tmpfs filesystems from df output. (Closes: DEBBUG-745818)
    
    
    #### tar
    
    - Support test mode and xz compression.  Thanks to Pierre ROUDIER
      <contact@pierreroudier.net> for the patches.
    
    ### helper changes
    
    #### rdiff
    
    
    - Don't give misleading information regarding required fields.  (#4410)
    
    - Support output\_as\_info.  Thanks to David Gasaway <dave@gasaway.org> for the
      patch!
    
    #### sys
    
    
    - Remove spurious quotes that broke the helper (Closes: #6803).  Thanks
    
      to Jools Wills <jools@oxfordinspire.co.uk> for the patch.
    
    ### backupninja changes
    
    
    - Indentation fixes, thanks to exobuzz. (#6726)
    
    - Ignore jobs whose filename ends with "~".  Thanks to Mark Janssen
      <mark@sig-io.nl> for the patch.
    
    #### build system changes
    
    - Pass the "foreign" option to AM\_INIT\_AUTOMAKE: README has been renamed to
      README.md.
    
    ### documentation changes
    
    - Update INSTALL file to add some missing recommended programs.
    - Document release process.
    - Merge FAQ content from the Redmine wiki into the one shipped with
      backupninja.
    - README.md: reorganize, reformat, and point to the examples configuration
      files.
    - INSTALL.md: recommend using packages on Debian and derivatives.
    - bandwidthlimit for the dup handler needs to be given in KB/s, and not (as
    
      wrongly advertised previously) in Kbit/s.  (Closes: #7603)
    
    
    ## [1.0.1] - 2012-06-29
    
    ### handler changes
    
    #### rsync
    
    
    - Issue warnings, not fatal errors, on non-fatal rsync errors.  (#3966)
    
    
    ## [1.0] - 2012-06-15
    
    The "happy birthdays" release!
    
    ### handler changes
    
    #### mysql
    
    - Use --skip-events when backing up the performance_schema database.  (Closes:
    
    
    #### rsync
    
    - Generate excludes command-line snippet the same way as the duplicity handler
      does.
    - Run rsync command-line through a shell, so that single-quotes around excludes
    
      are interpreted (Closes: DEBBUG-677410)
    
    
    #### sys
    
    - Don't execute /usr/bin/lspci or /sbin/modinfo when $hardware == "no"
    
    ### backupninja changes
    
    - Make it clear what lockfile could not be acquired, if any.
    
    
    ## [1.0-rc1] - 2012-05-15
    
    
    ### handler changes
    
    #### dup
    
    - Make the .dup generated by ninjahelper more consistent with example.dup.
    - Add support for RackSpace's CloudFiles.  Thanks to Yuval Kogman
      <nothingmuch@woobling.org> for the patch.
    - Adapt for new duplicity SSH backend.  Support bandwidthlimit with new
    
      duplicity, using trickle.  (Closes: DEBBUG-657201)
    
    - Report failure output at error loglevel so that it is emailed (Closes:
    
    
    #### maildir
    
    - Remove 'loadlimit' parameter - it is not used anywhere.
    
    #### mysql
    
    
    - Don't attempt to dump performance_schema database (#3741).
    
    - Don't produce empty uncompressed backups (#3820).
    
    
    #### rdiff-backup
    
    - Use fatal function to report failure of rdiff-backup jobs as such.
    
    #### rysnc
    
    
    - Fix numericids option (#3691).
    - Mangle $rsync_options just afterwards (#3702, #3001).
    
    - Fix metadata rotation.
    - Allow disabling rotation or setting 2 days as minimum for backup increments
    
      in rsync short format (#2107).
    - Abort on rsync error (#3692).
    - Cleanup orphaned metadata (#3727).
    
    - Use the backup start time and not the time the backup was finished.  (Closes:
    
      DEBBUG-654192).
    
    - Use 'debug', 'fatal' and 'warning' functions instead of regular echo and exit
    
      (#3840, #3721).
    - Quoting $starttime (#3868).
    
    - Validate created date on long_rotation to avoid too many arguments at
    
      comparison (#3868).
    
    - Quoting $exclude and $excludes and avoiding a for loop on $exclude to not
    
      expand wildcards in beforehand (#3882).
    - Quote excludes (#3882).
    - Changing remaining 'exit' to 'fatal' at rsync handler (#3721).
    - Removing duplicated locking support (#3838).
    - Documenting rotation parameters at example.rsync (#3891).
    - Ensure that a non-zero rsync exit status is caught (#3892).
    
    
    #### build system changes
    
    - Workaround automake sanity check that would prevent us from installing lib/\*
      into lib/backupninja/. Where else are be supposed to install such files
      anyway?
    - Have "make dist" ship handlers/\*.in instead of make results.
    - Have "make dist" ship the FAQ.
    - Install handlers as pkgdata_DATA, instead of their .in files.
    
    ### documentation changes
    
    - Document what features available to .sh jobs (Redmine #1558).
    
    ## [0.9.10] - 2011-09-23
    
    ### backupninja changes
    
    - Fix email reports, that were broken by the new locking support.
    
    ### handler changes
    
    #### dup
    
    
    - Cleanup: stop supporting duplicity < 0.6.01 (#2538).
    
    - Fix incorrect duplicity version check for keepincroffulls.  Thanks to Olivier
    
      Berger <oberger@ouvaton.org> for the patch.  (Closes #3443)
      (Closes: DEBBUG-641120)
    
    
    #### ldap
    
    - Don't install LDAP handler, helper and example configuration file.  Don't
      mention LDAP support in documentation.  Official LDAP support will come back
      once this code has found itself a maintainer. Interested? Get in touch!
    
    #### rsync
    
    
    - Fixing $rsync_options output when rsync is local (Closes #3001)
      (Closes: DEBBUG-639545)
    
    - Allow 'when = XXX' with spaces (#2769).  Thanks to aihtdikh for the
    
      patch.
    
    #### sys
    
    - Remove useless and inconsistent executable bit on handler.
    
    ### helper changes
    
    #### rdiff
    
    - Fix infinite loop when version inconsistency is detected.  Thanks to Chris
    
      Lamb <lamby@debian.org> for the patch.  (Closes: DEBBUG-639547)
    
    
    ## [0.9.9] - 2011-05-15
    
    ### backupninja changes
    
    - Use locking to avoid running concurrent instances of the same backup action.
      Thanks to Olivier Berger <oberger@ouvaton.org> for the patch.  (Closes:
    
    
    ### handler changes
    
    #### all handlers:
    
    
    - Stop using "local VAR" outside functions. (Closes: DEBBUG-530647)
    
    
    #### dup
    
    - Use --tempdir option rather than TMPDIR environment variable.  (Closes
      Roundup bug #598)
    - Remove support for duplicity < 0.4.4. Even etch-backports has a newer one.
    - Now support remove-all-inc-but-n-full command for duplicity >= 0.9.10 to
      allow removal of increments for older full backups.  Thanks to Olivier Berger
    
      <oberger@ouvaton.org> for the patch.  (Closes #2492) (Closes:
      DEBBUG-603478)
    
    
    #### ldap
    
    - Fix reliance on bash for pipefail.
    
    #### mysql
    
    - Fix reliance on bash for pipefail.  Thanks to Sergio Talens-Oliag
    
      <sto@debian.org> for the patch.  (Closes: DEBBUG-602374)
    
    
    #### postgresql
    
    - Support various pg_dump formats in addition to pg_dumpall.  Thanks to Jacob
      Anawalt <jlanawalt@gmail.com> for the patch.  (Closes Roundup bug #2534)
    - Fix reliance on bash for pipefail.
    
    #### rdiff
    
    - Support reading include/exclude patterns from files using the "include
      @/etc/backup_includes" syntax (Closes Roundup bug #2370). Thanks to ale for
      the patch.
    
    #### rsync
    
    - Fix long rotation.
    
    - Make units clearer (Closes #2737)
    - Do arithmetic using bash rather than bc (Closes: DEBBUG-603173)
    
    - Fix hwinfo (Closes: DEBBUG-625501)
    
    - Fix gathering of information about loaded modules: cut is in /usr/bin
      actually.
    
    #### tar
    
    
    - Install by default. (Closes #2907)
    
    
    ### helper changes
    
    #### dup
    
    - Fix separate signing key usecase. Thanks to Ian Beckwith for the patch.
    
    - Make units clearer (Closes #2737)
    
    
    #### rdiff
    
    - Generate 4096 bits RSA keys.
    
    #### tar
    
    
    - Install by default. (Closes #2907)
    
    
    ### documentation changes
    
    - Recommend using 4096 bits RSA keys everywhere.
    
    ## [0.9.8.1] - 2010-10-31
    
    ### backupninja changes
    
    - Do not error out when no job is configured. Thanks to Jordi Mallach
    
      <jordi@debian.org> for the patch (Closes: DEBBUG-597684)
    
    
    ### handler changes
    
    #### sys
    
    - Route around broken vgcfgbackup not able to handle multiple VG arguments
    
    ## [0.9.8] - 2010-09-12
    
    ### backupninja changes
    
    - Added GZIP_OPTS option, defaulting to --rsyncable, so that this option can be
      disabled on systems that don't support it. This also allows to use another
      compression program, such as pbzip2 on SMP machines (Closes Roundup bug
      #2405)
    
    ### handler changes
    
    #### sys
    
    
    - Only run mdadm if RAID devices actually exist (Closes: DEBBUG-572450)
    
    
    #### dup
    
    - Now default to use --full-if-older-than; see the new "increments" option to
      opt-out or tweak the default (30D) delay between full backups. Thanks a lot
    
      to Olivier Berger (Closes: DEBBUG-535996)
    
    - Use duplicity's --extra-clean option to get rid of unnecessary old cache
      files when cleaning up. This is enabled when using duplicity 0.6.01 or newer,
    
      that depends on local caching (Closes: DEBBUG-572721)
    - Ignore anything but digits and "." when comparing versions (Closes: DEBBUG-578987)
    
    - Put archive directory (cache) into /var/cache/backupninja/duplicity rather
      than the default /root/.cache/duplicity, unless the user has specified it
      (Closes: 580213)
    - Better example.dup documentation. Thanks, Alster!
    - Added ftp_password option to securely transmit the FTP password from
      backupninja to duplicity.
    
    #### mysql
    
    
    - Don't lock tables in the information_schema database (Closes: DEBBUG-587011)
    
    - Fix code logic to make dbusername/dbpassword actually usable (Closes Redmine
      bug #2264)
    
    #### rsync
    
    - Fix lockfile checks. This prevents multiple instances of the same rsync job
      to run in parallel.
    - Avoid passing the remote user twice to rsync-over-ssh.
    
    ### doc changes
    
    #### manpage
    
    
    - Fix typo in manpage (Closes: DEBBUG-583778)
    
    
    #### ldap
    
    - Add ssl option description, fix tls option description (Closes Roundup bug
      #2407)
    
    ## [0.9.7] - 2010-01-27
    
    ### backupninja changes
    
    - fix bug in reportspace, thanks Dan Garthwaite
    
    - do not assume English locale when using date (Closes: DEBBUG-465837)
    
    - add 'when = manual' option, that can be used in the global config file or in
      a given backup action file. Thanks Tuomas Jormola for the preliminary patch
    
      (Closes: DEBBUG-511299)
    
    - new reportinfo option: when set, messages sent by handlers with "info" are
    
      included in the report e-mail (closes DEBBUG-563734)
    
    - reportspace: skip non-directories and places that don't exist on the local
    
      filesystem (Closes: DEBBUG-536049)
    - set BACKUPNINJA_DEBUG when invoked with -d (Closes: DEBBUG-537266)
    
    - Allow form fields input to grow up to 100 chars (Closes: DEBBUG-562249)
    
    
    ### handler changes
    
    #### ldap
    
    - Use gzip's --rsyncable option.
    - Use bash pipefail option when needed so that failed dumps are reported as
      such.
    
    #### maildir
    
    - fix location of deleted_on file
    - add missing destid_file options to ssh connections
    - added sshoptions variable for arbitrary ssh options
    - updated example file to include destid_file, destport and sshoptions
    
    - use any subdirectories not just "a" to "z". Thanks Chris Nolan! (#606)
    
    
    #### mysql
    
    - Options passed to mysqldump are now customizable with the new sqldumpoptions
      configuration variable. Thanks to Chris Lamb for his preliminary patch
    
      (Closes: DEBBUG-502966)
    
    - Hide 'mysqladmin ping' output, to prevent confusing the user in case mysqld
      is running but the authentication fails, which apparently does not prevent
      mysqldump to work.
    - Fix the error message displayed when mysqld is not running: mysqladmin ping
      indeed returns 0 when authentication fails.
    - Use gzip's --rsyncable option.
    - Quote output filenames to support shell meta-characters in database names.
    - Use bash pipefail option when needed so that failed dumps are reported as
      such.
    
    #### pgsql
    
    - Use gzip's --rsyncable option.
    - Quote output filenames to support shell meta-characters in database names.
    - Use bash pipefail option when needed so that failed dumps are reported as
      such.
    
    #### rdiff
    
    
    - Fix include/exclude paths with spaces (Closes: DEBBUG-398435)
    
    - Fix confusing error if rdiff-backup cannot be found on remote server.
    - Increased element number in include/exclude and vserver ninjahelper interface
    
    #### sys
    
    - New luksheaders option (default=disabled) to backup the Luks header of every
      Luks device.
    - New lvm option (default=disabled) to backup LVM metadata for every detected
      volume group.
    - Backup dmsetup info as well, for easier restoring of Luks headers.
    
    #### dup
    
    - Fixed bandwidthlimit syntax error. Thanks to Ian Beckwith for the patch.
    - Send duplicity output to debug line by line instead of as a whole at one time
    
      (Closes: DEBBUG-536360)
    
    - Report duplicity output as "info" so that it can be included in report e-mail
    
      when reportinfo is on (Closes: DEBBUG-563734)
    
    - Fix include/exclude paths with spaces
    - Support backups to Amazon S3 buckets, thanks to stefan for the patch.
    
    ### helper changes
    
    #### dup
    
    
    - Do not propose to exclude /home/\*/.gnupg twice anymore (Closes: DEBBUG-563044)
    
    
    ### autotools
    
    - Added the stat command to the automagically replaced ones, hoping it will
      help supporting \*BSD some day.
    
    ## [0.9.6] - 2008-07-21
    
    ### backupninja changes
    
    - fix bug in cstream definition, thanks Jamie McClelland
    - Allow the entire backup run to be halted by an action, thanks to Matthew
    
      Palmer (Closes: DEBBUG-455836)
    - Fixed tr construct reporting a warning (Closes: DEBBUG-452669)
    
    
    ### lib changes
    
    #### vserver
    
    - added vservers_running function
    
    #### tools
    
    - mktemp is now required to run backupninja, removed less secure fall-back if
      mktemp did not exist on the system
    
    ### handler changes
    
    #### dup
    
    - General cleanup
    - Better support for new duplicity (>= 0.4.4) command line syntax: run
    
      remove-older-than when $keep is not set to yes (Closes: DEBBUG-458816), and run
    
      "duplicity cleanup" before any other duplicity command; both only trigger a
      warning on failure, since they should not stop backups from being done. Also
      migrated full/incremental backup switch to the new syntax.
    - Support every duplicity-supported transport with new configuration option
    
      desturl (Closes: DEBBUG-483712, DEBBUG-346040, Trac#2).
    
    - Actually allow to backup only VServers, by relaxing $include test.
    - Set secure permissions on tmpdir when creating it.
    
    #### ldap
    
    - support HDB backend just as the BDB one, and make message clearer when no
    
      supported backend is found (Closes: DEBBUG-476910)
    
    
    #### rdiff
    
    - Fixed ignore_version default value missing
    - Add patch from Matthew Palmer to rdiff handler to incorporate sshoptions into
    
      options via remote-schema not already specified (Closes: DEBBUG-424639)
    
    
    #### wget
    
    - New handler from rhatto designed to incrementally pull content from a website
      to a local folder, based on the rsync handler
    
    #### maildir
    
    - fixed bug where maildirs that start with a number were skipped
    - make maildir helper look in every subdirectory of the source directory for
      maildirs, rather than just looking in the directories [a-zA-Z0-9], thanks for
      the patch from chris@cenolan.com (Trac#43).
    - make deleted maildirs record the date they were deleted
    - add destid_file configuration option to enable you to specify an alternate
      ssh public key authentication file (defaulting to /root/.ssh/id_rsa) pgsql,
      mysql, svn, sys:
    - use new vservers_running function from lib/vserver (factorization++)
    
    #### sys
    
    - update for 2.6 kernels: use /proc/kallsyms instead of /proc/ksyms (Closes:
      Trac#39)
    - support selection of VServers to run on, in the same way as in the dup
      handler, with the new vsnames configuration option ; (Closes: Trac#45)
    - add support for capturing the package debconf selection states using
      debconf-get-selections
    - fixed catifexec function to actually work, also now passes the arguments
      given to catifexec() to the called command (Thanks John Hallam!)
    - Added more robust software RAID information capture by running mdadm -Q
      --detail /dev/md?\* because some people may have empty mdadm.conf files
      (Thanks to John Hallam).
    
    #### trac
    
    - stop failing on all the trac backups if just one fails, this means removing
      the temporary trac backup directories if they fail
    
    #### makecd
    
    - updated handler for new toolset (genisoimage and wodim)
    
    ## [0.9.5] - 2007-12-02
    
    ### backupninja changes
    
    - Fixed checks on configuration files permissions, since the patch applied to
    
      fix DEBBUG-370396 broke this, especially for configuration files created with
    
      permissions 000 by an older ninjahelper version.
    - Enhanced portability for other platforms
    - Added quoting because it was needed to prevent shell expansion, broking the
      toint function sometimes (Closes: Trac#11)
    - Fixed reportspace option (Closes: Trac#10)
    - Fixed ldap handler not recognizing database suffix (Closes: Trac#28)
    
    ### handler changes
    
    #### dup
    
    - Support duplicity >= 0.4.3 invocation syntax (--ssh-command option is not
    
      supported anymore) (Closes: DEBBUG-447425)
    
    - New tmpdir configuration option, very useful in case duplicity tends to fill
      up /tmp.
    
    #### ldap
    
    - Fixed shell command quoting issues, missing 'then' clauses, cleaned up
      compress=yes to be less redundant and not create empty uncompressed file
    
      (Closes: DEBBUG-394935)
    
    - Fixed ninjahelper to properly set compress option, standardized on yes/no
      instead of on/off
    - Fixed problem that caused combination of slapcat and compress to not work
      together (Closes: Trac#29)
    - Applied patch from romain.tartiere@healthgrid.org to fix the SSL/TLS options
      to be correct, also set TLS to be the default over SSL (Closes: Trac#13)
    
    #### maildir
    
    - Added an examples file (Closes: Trac#23)
    - Applied patch from Anarcat that fixes the cp/mkdir calls to not use GNU
      coreutils options, as well as some bashisms (Closes: Trac#24)
    - Fix test mode (Closes: Trac#25)
    
    #### mysql
    
    - Fixed case where odd combination of configuration options caused sqldump
    
      backups to get overwritten with an empty file (Closes: DEBBUG-402679)
    
    - Added 'nodata' option to enable you to specify tables that you want to omit
      the data from a backup, but still backup the table structure. This is very
      useful in cases where tables contain large amounts of cache data. See the
    
      example.mysql for options, thanks Daniel Bonniot (Closes: DEBBUG-408829)
    
    - Enhance code for selecting databases by asking MySQL not to give us the
      header (-N), to not draw pretty boxes around the output (-B), send the query
      via -e instead of a pipe and ensure MySQL listens to -B. Thanks to Matthew
    
      Palmer (Closes: DEBBUG-452039).
    
    
    #### pgsql
    
    - Support configuring PGSQLUSER for real, and document it a bit; this broken
      support actually prevented pgsql handler to work for VServers (Closes:
    
    
    #### rdiff-backup
    
    - Added cstream support to allow for bandwidth limiting
    
    - Handle "keep = yes" to disable old backups removal (Closes: DEBBUG-424633)
    
    - Add configuration option to allow you to disable the version check as in some
    
      instances this may be an ok scenario (Closes: DEBBUG-424632)
    
    - Added local destination support to helper (Closes: Trac#4)
    - Allow exclude-only configurations (Closes: Trac#21)
    
    #### rub/rsync
    
    - Fixed typo in rub handler that caused it to not work
    - Changed to use lib/vserver code
    - Fixed fsck error
    - Fixed integer comparison (Closes: Trac#3)
    - Renamed handler to 'rsync', replaces outdated rub handler
    - updated examples/Makefile.am and handlers/Makefile.am to include rsnap/rsync
    
      (Closes: DEBBUG-440554)
    
    - Added example.rsync configuration file
    
    #### sys
    
    - Fixed typo breaking things for VServers.
    
    - Fix bug when vrootdir is on its own partition (Closes: DEBBUG-395928)
    
    - Better sfdisk error and output handling: should now properly warn when it
      does not manage to backup a partition table, and shut up when it succeeds
    
      (Closes: DEBBUG-396632)
    
    - Added option to not use sfdisk at all, useful for vserver/xen instances that
    
      produce warnings about no harddisks found (Closes: DEBBUG-404071)
    - Fixed example in example.sys to detail the `__star__` in partitionsfile and
      note why its necessary (Closes: DEBBUG-409192)
    
    - Force C locale for sfdisk to ensure english words are found in grep
    - Make directory where output is placed configurable, and create the parent dir
      if it doesn't exist (Closes: Trac#1)
    
    #### ninjareport
    
    - Added first draft of method to aggregate reports from many servers into one
      email. Requires logtail, rsync, configuration of reporthost, reportdirectory
      and reportuser in backupninja.conf. Configure cron to run once a day, and
      individual backupninjas not to report by email their status, then enjoy one
      email report from all hosts, rather than multiple
    
    #### other
    
    - fixed 'make install' bug that failed if /etc/backup.d already existed
    - changed spaces to tabs in Makefile.am
    - updated redhat spec file (thanks Adam Monsen)
    
    ## [0.9.4] - 2006-10-06
    
    ### backupninja changes
    
    - Fixed bug in toint(), and thus isnow(), which caused it to not work when run
      from cron.
    
    - Recursively ignore subdirs in /etc/backup.d (Closes: DEBBUG-361102)
    
    - Add admingroup option to configuration to allow a group that can read/write
      configurations (instead of only allowing root). Checks and complains about
      group-readable files only when the group differs from the one in the
      configuration file (default is root as before).  Thanks to Martin Krafft for
    
      the patch (Closes: DEBBUG-370396).
    
    - When determining which backup actions to make, find now follows symlinks for
      $configdirectory
    - Changed order of -s to mail for compatibility
    - fixed permission stat call so it uses the --format supported by coreutils
    
      (Closes: DEBBUG-382747)
    
    - Added disk space report option (thanks Adam Kosmin)
    
    ### handler changes
    
    #### Added tar handler
    
    - create tarballs
    
    #### Added rsnap handler
    
    - rotated rsync snapshops
    - code from paulv@bikkel.org
    
    #### Added rub handler
    
    - alternative to rsnap
    - code from rhatto@riseup.net
    
    #### mysql
    
    
    - Fixed improper use of $vuserhome (Closes: DEBBUG-351083)
    
    - Fixed erroneous removal of tmpfile when it didn't exit
    - Fixed inversed vsname emptiness check
    - Fixed su quote usage to be more posixy
    - Compress for sqldumps now happens in-line to save some disk space (Closes:
    
    - Fixed --defaults-file now as --defaults-extra-file (thanks rhatto)
    
    #### pgsql
    
    - Fixed inversed vsname emptiness check
    - Fixed su quote usage to be more posixy
    
    - Fixed shell expansion, thanks Thomas Kotzian (Closes: DEBBUG-363297)
    
    - postgres user UID is now the one from inside the vserver if necessary
    
    - Compress now happens in-line to save some disk space (Closes: DEBBUG-370778)
    
    - $PGSQLUSER is used instead of hardcoding user 'postgres' (although this is
      the default)
    
    #### svn
    
    - Fixed inversed vsname emptiness check
    
    #### rdiff
    
    - Symlink and globbing support in include/exclude/vsinclude. Clarification:
      globbing is fully supported again, whereas no attempt is done to dereference
      symlinks anymore, due to incompatibilities between various readlink versions
      in this field.
    - Removed overzealous vsnames check
    - Now works if testconnect=no and if $test is not defined.
    - add $sshoptions config parameter in [dest] section of config so connections
      to ports other than 22 can be made by adding the following to the top of the
      handler config: options = --remote-schema 'ssh -p REMOTE-PORT -C %s
      rdiff-backup --server'
    
    #### dup
    
    - Symlink and globbing support in include/exclude/vsinclude. Clarification
      globbing is fully supported again, whereas no attempt is done to dereference
      symlinks anymore, due to incompatibilities between various readlink versions
      in this field.
    - Removed over zealous vsnames check
    - Does not pretend anymore that duplicity can work without any passphrase
    - Support duplicity 0.4.2 (with Debian patches applied; upstream's 0.4.3 will
      integrate them); documented how to write sftp-compatible sshoptions (Closes:
    
    - Now forbid to (try to) include /.
    
    #### sys
    
    - Many more system checks were added, (thanks to Petr Klíma)
    - Added warning if no devices were found (thanks Ranier Zocholl)
    - Enhanced debian package selections to include purged packages (thanks Tom
      Hoover)
    - Removed warning about vserver not running (thanks anarcat)
    
    #### ldap
    
    
    - Compress now happens in-line to save some disk space (Closes: DEBBUG-370778)
    
    
    #### makecd
    
    - Added nicelevel option (thanks rhatto)
    
    #### trac
    
    
    - fixed problem when src was set to the trac repo directly (Closes: DEBBUG-382737)
    
    - init_vservers: fixed DEBBUG-351083 (improper readlink syntax)
    
    - found_vservers: escaped special grep repetition character +
    - forced mktemp to use a template with a name to be more compatible with
      different versions of mktemp, thanks anarcat
    
    ### ninjahelper changes
    
    
    - Recursively ignore subdirs in /etc/backup.d (Closes: DEBBUG-361102)
    
    - Fix configdirectory error that forced you to use /etc/backup.d, thanks
      anarcat
    - When determining which backup actions to list, find now follows symlinks for
      $configdirectory
    - Stop checking helpers perms: both "make install" and distros packages install
      them with appropriate permissions, it's overzealous to check this at runtime,
      and is more complicated to do with current admingroup option.
    
    #### dup.helper
    
    - Fix: signing was enabled with symmetric encryption.
    
    #### other
    
    - changed cron permissions to 644
    - changed /etc/backup.d permissions to 0770 (for admingroup)
    - minor documentation fixes
    - improved RPM build process allowing 'make rpm-package' and 'make
      srpm-package' targets, also fixes permissions on man directories, cleans up
      RPM-related files during distclean, and adds default EDITOR for "autogen.sh
      -f" if none is set. (thanks Robert Napier)
    
    ## [0.9.3] - 2006-02-01
    
    ### backupninja changes
    
    #### backupninja.conf
    
    - added (commented out) the various default paths to programs such as
      PGSQLDUMP, so that users can figure out more easily they can customize them
    
    #### code refactor
    
    - now uses vservers lib to initialize vservers support
    
    ### handler changes
    
    #### duplicity, mysql, pgsql, rdiff, svn, sys:
    
    - start to use (at different degrees) new lib/vserver functionality
    
    #### mysql
    
    - fixed no user defaults file processing
    
    #### duplicity
    
    
    - fixed (again...) globbing in include and exclude options (DEBBUG-348022,
      follow-up to DEBBUG-338796)
    
    - warn if vsnames or vsinclude is enabled while vservers support is disabled in
      backupninja.conf
    - now works when multiple vservers names are given (separated by space) in
      vsnames config variable rdiff
    - fixed globbing bug in include, exclude and vsinclude options
    - it's now possible to choose exactly which vservers should be backed-up, as it
      already was with duplicity handler, with the "vsnames" configuration setting
    
    ### ninjahelper changes
    
    #### rdiff.helper
    
    - fixed errors in create remote dir
    - code formatting cleanup (three spaces indent)
    - fixed bug which caused only first include/exclude dir to have "include = "
    - fixed globbing bug with exclude
    
    #### ninjahelper
    
    - now reports error if the helper script has a syntax error or bombs out.
    - code formatting cleanup (three spaces indent)
    
    ### lib changes
    
    #### vserver
    
    - init_vservers: improved VROOTDIR detection
    - init_vservers: test in a stricter way the real vservers availability
    - init_vservers: canonicalize VROOTDIR (since duplicity et al.  don't follow
      symlinks)
    - init_vservers: warn if vservers are enabled but no vserver is found
    - new function: vservers_exist known bugs:
    
    #### easydialog
    
    - formDisplay does not return exit status.
    
    #### other
    
    - autotools fixes
    
    ## [0.9.2] - 2005-12-29
    
    ### backupninja changes
    
    - fixed broken toint() which caused when "everyday" problems
    - backupninja.conf.5 updated to include "when" and "vservers"
    
    #### code refactor:
    
    - moved to lib/ some code that has to be shared between backupninja and
      ninjahelper
    
    ### handler changes
    
    #### trac
    
    - mkdir subdirectory problem fixed
    
    #### duplicity