Skip to content

v0.6.3: Release 0.6.3

Compare
Choose a tag to compare
@sourcefrog sourcefrog released this 31 May 01:02
v0.6.3

Performance improvements

  • Improved performance of incremental backups, by removing check that blocks referenced by the previous backup are still present. In one experiment of writing a large tree with few changes to a moderately-slow USB drive, this cuts overall elapsed time by a factor of about 7x!

    The check is redundant unless the archive has somehow been corrupted: blocks are always written out before the index hunk than references them.

    The basic approach in Conserve is to assume, in commands other than validate, that the archive is correctly formatted, and to avoid unnecessary ad-hoc checks that this is true.

Behavior changes

  • Removed global --stats option. Stats are always shown as info-level messages.

  • Better ISO 8601 style timestamps in conserve versions output.

Bugs fixed

  • Don't panic on timestamps on or before the Unix epoch in 1970. (#100)

  • Correctly count index IO in the backup stats summary. (#87)

Documentation improved

  • Improved, updated, and corrected format and design documentation (in the doc subdirectory of the source tree.)

Archive format changes

  • Conserve 0.6.3 uses the same 0.6 archive format, but backups it writes can only be read by 0.6.3 and later.

  • Add a per-band minimum version (BAND_FORMAT_VERSION), allowing for future additions to the format without requiring a whole new archive. This is stored in band_format_version within the BANDHEAD file. Conserve gives a clean error message if it can't read the per-band minimum version. (#96)

  • Improved index uncompressed size slightly, by omitting the data offset within the block when it is zero, which is common.

API and internal changes

Various, including:

  • Removal of Report concept. Instead, operations return a type-specific Stats describing the work that was done, messages are logged, and progress bars are drawn through the ui module.

  • New small code style guide.