This file describes special operations that must be performed for an
upgrade between GNUnet versions.  You can obtain version of GNUnet
that you have installed by running

# gnunetd --version

If no migration procedure is listed for your version, a
data-preserving migration may not be possible.  For CVS versions,
you're on your own.


0.5.4 to 0.5.5:
===============

Recompile, restart gnunetd and you should be ready to go, everything
should be compatible.  0.5.5 adds some new messages to the protocol,
but this just means that older peers may not respond to certain
requests.


0.5.3 to 0.5.4:
===============

If you inserted many files of the same mime-type into GNUnet 0.5.3
with a gdbm database you will be able to free a lot of space by
changing your AFS-DISKQUOTA (gnunet.conf) to some other value
(increasing by 1 MB will be sufficient) and then running
gnunet-convert.

But other than this potential optimization, you don't really need to
do anything.  Even gnunet.conf did not change much. MAXCONNECT is now
obsolete, and there are six new, experimental IPv6 options that you
may want to add (sections [UDP6] and [TCP6] at the end of
contrib/gnunet.conf).

In short, recompile, restart gnunetd and you might be ready to go,
everything should be compatible.


0.5.2 to 0.5.3:
===============
We changed pretty much everything in the database format for 0.5.3 for
any database type.  The only sane solution is

# rm -rf .gnunet/data/afs/

Then configure the database, in particular set the quota and select
the database type.  If you want to use the new mysql database support,
you will have to do some extra work (see
src/applications/afs/database/high_mysql.c).

Note that many hardly reasonable options were removed from
gnunet.conf, so a good start is probably also:

# cp contrib/gnunet.conf ~/.gnunet/gnunet.conf

or, if you are root:

# cp contrib/gnunet.conf.root /etc/gnunet.conf


0.5.1 to 0.5.2:
===============
GNUnet now supports /etc/gnunet.conf as the default location for the
configuration file.  So just copy contrib/gnunet.conf to
/etc/gnunet.conf and delete ~/.gnunet/gnunet.conf *OR* edit the
existing ~/.gnunet/gnunet.conf file as needed.  No changes should be
strictly required, but it's probably a good idea to do a diff of your
configuration file with the default supplied by 0.5.2.  That's it.


0.5.0 to 0.5.1:
===============
Note that you need to upgrade libextractor to 0.2.0. Delete
the old hostkeys, the signature format has changed a bit:

# rm .gnunet/data/hosts/*

You have to rename the content database file. Do

# mkdir data/afs/content

and for gdbm,

# mv data/afs/database.gdb data/afs/content/bucket.0.gdb

or if you're using tdb,

# mv data/afs/databas.tdb data/afs/content/bucket.0.tdb

or directory

# mv data/afs/database.dir data/afs/content/bucket.0.dir

Then in gnunet.conf, set DATABASETYPE accordingly and

  DATABASEBUCKETS = 1

Thats all. If you wish to use more than one database bucket 
(for >2GB of non-indexed content), see man page for 
gnunet-convert.





0.4.x to 0.5.0:
===============
Just don't even try. Too much has changed. The typical process
will be something like:

# rm -rf ~/.gnunet
# mkdir ~/.gnunet
# cp GNUnet-0.5.0/contrib/gnunet.conf ~/.gnunet
# vi ~/.gnunet/gnunet.conf
