I’ve released version 0.23 of Obnam, my backup application.


  • restore now shows a progress bar.
  • fsck now has more useful progress reporting, and does more checking, including the integrity of the contents of file content.
  • fsck now also checks the integrity of the B-trees in the repository, so that it is not necessary to run fsck-larch manually anymore. This works remotely as well, whereas fsck-larch only worked on B-trees on the local filesystem.
  • force-lock now gives a warning if the client does not exist in the repository.
  • Subcommands for encryption now give a warning if encryption key is not given.
  • The --fsck-fix option will now instruct obnam fsck to try to fix problems found. For this release, it only means fixing B-tree missing node problems, but more will follow.
  • The default sizes have been changed for B-tree nodes (256 KiB) and file contents chunks (1 MiB), based on benchmarking.
  • SFTP protocol use has been optimized, which should result in some more speed. This also highlights the need to change obnam so it can do uploads in the background.
  • If a client does not exist in the repository, force-lock now gives a warning to the user, rather than ignoring it silently.


  • New --sftp-delay=100 option can be used to simulate SFTP backups over networks with long round trip times.
  • obnam-benchmark can now use --sftp-delay and other changes to make it more useful.


  • Got rid of terminal status plugin. Now, the Application class provides a ttystatus.TerminalStatus instance instead, in the ts attribute. Other plugings are supposed to use that for progress reporting and messaging to the user.
  • The posix_fadvise system call is used only if available. This should improve Obnam’s portability a bit.