-*- Org -*-

Changes in 0.4 (since 0.3)

* New features

** New Scheme bindings for GNU Guile 2.0

See "Guile Bindings" in the manual for details.  The Guile 1.8 bindings
based on G-Wrap will be removed in a future version.

** New `--archive-fd' option for `chop-archiver'

This allows the archival of data from an arbitrary file descriptor,
as in "tar cf - /foo/bar | chop-archiver --archive-fd".

** New `CTR' and `AESWRAP' cipher modes (from libgcrypt)

** New function: `chop_file_stream_open_fd'

* Packaging improvement, bug fixes

See `ChangeLog' for details.


Changes in 0.3 (since 0.2)

* New features

** New file system based block store

The `chop_fs_block_store' stores data blocks as a tree of files in the
user's file system, in a way similar to what Git does.  The main
advantage is its file system interface.  It makes it easy to rsync it to
a remote site or to publish it over FTP or HTTP, for instance, which can
be useful when the remote site cannot run `chop-block-server'.

** Block-level data integrity checks

The `chk' and `hash' block fetchers now return an error when retrieving
a block that has been tampered with.  They do so by comparing the hash
of the block with its key, and expect them to be the same.


** `chop-archiver --archive' implements incremental storage by default

By default, only blocks not already available in the block store are
written.  It makes incremental storage very fast (e.g., when
archiving a file that has already been stored, or when storing a file
that contains data similar to what's already available in the store) and
saves bandwidth when using a remote block store.  The `--no-smart-store'
option disables it.

* Packaging

** GNU gperf is now required

** A C99 compiler is now required (instead of C89)


Copyright (C) 2010, 2011  Ludovic Courtès <ludo@gnu.org>

  Copying and distribution of this file, with or without modification,
  are permitted in any medium without royalty provided the copyright
  notice and this notice are preserved.
