diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
index d33bfdea205587f85cbdd6fd69f9dd32c0c9edf1..6e0e004da88041d4021af2f948cfceb9e6ffe70b 100644
--- a/CONTRIBUTING.rst
+++ b/CONTRIBUTING.rst
@@ -374,6 +374,15 @@ A workaround is to hardcode the version with::
 Release process
 ===============
 
+To build a Monkeysign release, you will need to have a few tools
+already installed, namely the Python packages ``wheel``,
+``setuptools`` and ``setuptools-scm``. We also assume you use the
+following Debian packages, although you may be able to work around
+those: ``devscripts``, ``git``, ``git-buildpackage``, ``pip`` and
+``twine``. In Debian, this should get you started::
+
+  sudo apt install python-wheel python-setuptools python-setuptools-scm devscripts git git-buildpackage python-pip twine
+
 1. make sure tests pass::
 
      ./scripts/monkeysign --test
diff --git a/debian/changelog b/debian/changelog
index 200421469f05e80afa0dae69b920a3352e54da52..db965100f9820ba665ece25e9808741bce3d4edf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+monkeysign (2.2.3) unstable; urgency=medium
+
+  [ Simon Fondrie-Teitler ]
+  * Don't escape percent signs that are actually required in default mua command
+
+  [ Antoine Beaupré ]
+  * some small improvements to the bug issue template
+  * create 2.2.x branch officially
+  * silence errors in test suite with GnuPG 2
+
+ -- Antoine Beaupré <anarcat@debian.org>  Tue, 24 Jan 2017 15:40:35 -0500
+
 monkeysign (2.2.2) unstable; urgency=medium
 
   [ Antoine Beaupré ]
diff --git a/monkeysign/gpg.py b/monkeysign/gpg.py
index 871ecedf2dab3a21e3b9ce4ba83943328bf005e6..e40ca59de1f0b2bda6ce6a616b37385ed748e6c5 100644
--- a/monkeysign/gpg.py
+++ b/monkeysign/gpg.py
@@ -616,7 +616,7 @@ class TempKeyring(Keyring):
         Keyring.__init__(self, tempfile.mkdtemp(prefix="pygpg-"))
 
     def __del__(self):
-        shutil.rmtree(self.homedir)
+        shutil.rmtree(self.homedir, ignore_errors=True)
 
 class OpenPGPkey():
     """An OpenPGP key.
diff --git a/monkeysign/ui.py b/monkeysign/ui.py
index d95309818f6e4e732ab3b904688026cca905ae3f..d2938ef2a9b2beba7987860dd8b263f4461d846c 100644
--- a/monkeysign/ui.py
+++ b/monkeysign/ui.py
@@ -179,11 +179,10 @@ class MonkeysignArgumentParser(argparse.ArgumentParser):
                                    '"To:" header (default: %(default)s)'))
         default_mua = "xdg-email --utf8 --to '%(to)s' --subject '%(subject)s' --body '%(body)s' --attach '%(attach)s'"
         self.add_argument('--mua', nargs='?', default=None, const=default_mua,
-                            help=_('Mail User Agent to use to send mail. all '
-                                   'parameters are passed on the commandline,'
-                                   'overrides --mta. '
-                                   '(default: %s when specified)')
-                            % default_mua)
+                          help=_('Mail User Agent to use to send mail. all '
+                                 'parameters are passed on the commandline,'
+                                 'overrides --mta. '
+                                 '(default: %(const)s when specified)'))
         self.add_argument('--nomail', '--no-mail', action='store_true',
                             help=_('do not send email at all'))
         self.add_argument('-t', '--to',
diff --git a/setup.py b/setup.py
index 8ce0209bf998820441c749f80fa6f3406ef0ebc3..26079b9c094f4d3de2dbd7e7adde39b5cf45b9cb 100755
--- a/setup.py
+++ b/setup.py
@@ -34,7 +34,7 @@ setup(name='monkeysign',
           'write_to': 'monkeysign/_version.py',
       },
       setup_requires=['sphinx', 'setuptools_scm'],
-      install_requieres=['pysocks'],
+      install_requires=['pysocks'],
       author='Antoine Beaupré',
       author_email='anarcat@debian.org',
       url=monkeysign.__website__,