Release process
===============

 * make sure tests pass (`./test.py`)
 * update version in `monkeysign/__init__.py` and run `dch -i -D unstable`
 * signed and annotated tag (`git tag -s -u keyid x.y`)
 * build Debian package (`git-buildpackage`)
 * install and test Debian package (`dpkg -i ../build-area/monkeysign_*.deb`)
 * upload Debian package
 * add announcement on website and blog

1.0 blockers
============

 * send one email per uid even if we sign them all
   - the way caff does this is by deleting irrelevant key uids,
   unfortunately our gpg library doesn't support the deluid command
   (nor does python-gnupg)
 * make translatable (look at the gameclock for inspiration)

2.0 blockers
============

The following needs to be fixed before 2.0 is released.

 * merge with python-gnupg (see below)
 * make options configuration accessible from the GUI (preferences?)
 * add a manpage
   - maybe this madness? https://andialbrecht.wordpress.com/2009/03/17/creating-a-man-page-with-distutils-and-optparse/

The merge question
==================

This software has a primitive GPG Python API that duplicates the work
of at least two other libraries. The `pythong-gnupg` library is
particularily similar and communication was started to consider the
possibility of merging. This section details how we should deal with
this.

 * decide to merge or split from pythong-gnupg (done: we merge)
   - for merge arguments:
     - gnupg has more history and authors
     - has more features (see below)
     - avoid project proliferation (already 4 python APIs to gpg)
     - may be less work
   - against merge arguments:
     - needs to rewrite monkeysign again (fairly easy)
     - i just spend about 20 hours in two days on this project
     - python-gnupg doesn't seem to have a VCS
     - hosted on code.google.com, BSD license (minor)
 * apply those improvements to python-gnupg
   - add key signing support
   - split the "context" and "keyring" classes
   - port monkeysign to python-gnupg
   - make sure python-gnupg is secure (ie. that it doesn't use
     popen([...], shell=True), see below

It seems that we have a new upstream for python-gnupg that resolves
most problems documented here:

https://github.com/isislovecruft/python-gnupg

We are in contact with upstream and they are open to merging in
changes, so we will go in that direction.
