Backups are fun and exciting! Restores are exciting, in a terrifying and stressful way. Fixing serious bugs is gratifying, in a depressing way.

I am glad to announce two software releases: Obnam version 1.6.1 and larch version 1.20131130. Obnam is my backup application, larch is a Python copy-on-write B-tree implementation that Obnam uses. I've uploaded the new versions to Debian unstable and to my own apt repository at [code.liw.fi] (also for wheezy). (I don't have the energy to upload to Debian backports: help is welcome there.)

These are mainly bug fix releases, and minor improvements. The larch release fixes serious problems, and everyone should be upgrading.

NEWS for larch:

  • Serious bug fixed: the "KeyError" crash for reference counts. This was false memory use optimisation, which triggered a rare bug in related code. Repeatable test case by Rob Kendrick, and helpful analysis by Itamar Turing-Trauring.

  • Serious bug fixed: another "node missing" bug. This crash was caused by a bug that overwrote on-disk reference count groups with zeroes. Repeatable test case by Rob Kendrick.

  • Fixes to fsck from Antoine Brenner.

NEWS for Obnam (combining versions 1.6 and 1.6.1, both released today):

  • Fix Debian package dependencies correctly.

  • Stop logging paramiko exceptions that get converted into another type of exception by the SFTP plugin in Obnam.

  • obnam-benchmark can now use an installed version of larch. Patch by Lars Kruse.

  • Obnam has been ported to FreeBSD by Itamar Turner-Trauring of HybridCluster.

  • Backup progress reporting now reports scanned file data, not just backed up file data. This will hopefully be less confusing to people.

  • The list-keys, client-keys, and list-toplevels commands now obey a new option, --key-details, to show the usernames attached to each public key. Patch by Lars Kruse.

  • New option --ssh-command to set the command Obnam runs when invoking ssh. patch by Lars Kruse.

  • obnam clients can now be used without being an existing client. Patch by Itamar Turner-Trauring.

  • New option --ssh-host-keys-check to better specify how SSH host keys should be checked. Patch by Itamar Turner-Trauring.

Bug fixes:

  • Fix"obnam list-toplevels so it doesn't give an error when it's unable to read the per-client directory of another client, when encryption is used. Fix by Lars Kruse.

  • Fix the encryption plugin to give a better error message when it looks for client directories but fails to find them. Fix by Lars Kruse.

  • obnam list-toplevels got confused when the repository contained extra files, such as "lock" (left there by a previous, crashed Obnam run). It no longer does. Fix by Lars Kruse.

  • The SFTP plugin now handles another error code (EACCESS) when writing a file and the directory it should go into not existing. Patch by Armin Größlinger.

  • Obnam's manual page now explains about breaking long logical lines into multiple physical ones.

  • The /~/ path prefix in SFTP URLs works again, at least with sufficiently new versions of Paramiko (1.7.7.1 in Debian wheezy is OK). Reported by Lars Kruse.

  • The Nagios plugin to report errors in a way Nagios expects. Patch by Martijn Grendelman.

  • The Nagios plugin for Obnam now correctly handles the case where a backup repository for a client exists, but does not have a backup yet. Patch by Lars Kruse.

  • obnam ls now handles trailing slashes in filename arguments. Reported by Biltong.

  • When restoring a backup, Obnam will now continue past errors, instead of aborting with the first one. Patch by Itamar Turner-Trauring.