[[!tag announcement obnam]]
I have just released version 1.7 of Obnam, my backup program.
Version 1.7, released 2014-03-15
WARNING: This release has had fairly large parts of the internals re-written. There shouldn't be any externally visible changes due to that, but there is a chance of bugs. Be careful. Make a copy of your backup repository before upgrading, if you can.
The
convert5to6
subcommand has been removed. If you need to convert from a pre-1.0 backup repository, and haven't done so yet, please use Obnam version 1.6.1 or earlier to do so.A new
backup-finished
hook is provided by the backup plugin, so that other plugins may do processing at the end of a backup, such as report the successful backup to a monitoring system. Patch by Enrico Tröger.The FUSE plugin can now refresh its view, by having the user read the
.pid
file. Patch by Valery Yundin.New option
--always-restore-setuid
to always restore setuid/setgid flags in permissions, even if the restore is not being run byroot
or the owner of the files (as recorded in the backup).New option
--exclude-from
allows exclusion patterns to be given in a separate file (one per line), instead of in a configuration file or on the command line. Patch by Enrico Tröger.A start of a manual for Obnam. This will gain more content with new releases. The current versions is mainly an edited version of Lars's blog posts about backups, plus the Obnam tutorial from the Obnam homepage. See http://code.liw.fi/obnam/manual/ for rendered versions (PDF, HTML).
Most of the error messages Obnam produces now have a unique error code:
ERROR: R0B15DX: Cannot find requested generation for client havelock
for example. More error messages will gain error codes in future releases. The error codes are meant to be easy to search for, and will allow error messages to be translated in the future.The
obnam-benchmark
program got rewritten so that it'll do something useful, but at the same time, it is no longer useful as a general tool. It is now expected to be run from the Obnam source tree (a cloned git repository), and isn't installed anymore.The log file now includes information about the transfer overhead to the repository. Overhead is all the bytes that are not file content data: filenames, permission bits, extended attributes, etc, plus Obnam internal bookkeeping.
obnam verify
now shows progress both based on number of files and amount of data.
Bug fixes:
Obnam now doesn't remove chunks that are shared between clients. Previously, this would sometimes happen, because only the first client would correctly record itself as using a chunk. Now all clients do that.
Obnam now creates a
trustdb.gpg
in the temporary GNUPGHOME it uses during encryption operations. From version 2.0.22 (or thereabouts),gpg
insists on having atrustdb.gpg
in the GNUPGHOME it uses.When backing up a large file, and making a checkpoint generation in the middle of it, Obnam would say "continuing backup" after the checkpoint was finished, instead of saying the name of the file. This is now fixed.
Internal changes:
The
obnamlib.Error
exception class has been replaced by theobnamlib.ObnamError
class, which derives from the newobnamlib.StructuredError
class. All new exceptions will need to be derived fromobnamlib.Error
in the future. Also, due to the wayStructuredError
works, it is now necessary to create a new exception class for each kind of error. This gives us unique the error codes mentioned above.The old
obnamlib.Repository
class is gone, and replaced with theobnamlib.RepositoryInterface
class, which gets implemented for each repository format (there is only one, for now, but there will be more).