diff --git a/debian-alt/artful/changelog b/debian-alt/artful/changelog
index 1fbeb67a39082e59ee8a2f0daf9d0b8aac56e5b3..9283157b934ec35be2168e3885f1a84d9ea5505c 100644
--- a/debian-alt/artful/changelog
+++ b/debian-alt/artful/changelog
@@ -1,3 +1,9 @@
+i2p (0.9.34-2ubuntu1) artful; urgency=medium
+
+  * New upstream version 0.9.34
+
+ -- zzz on i2p (key signing) <zzz@i2pmail.org>  Wed, 11 Apr 2018 12:12:12 +0000
+
 i2p (0.9.33-1ubuntu1) artful; urgency=medium
 
   * New upstream version 0.9.33
diff --git a/debian-alt/doc/launchpad.txt b/debian-alt/doc/launchpad.txt
index e38911834423f791a608006553246d3cf59f1072..bfe184d51a19d302142d5ac8b00a3576ed320def 100644
--- a/debian-alt/doc/launchpad.txt
+++ b/debian-alt/doc/launchpad.txt
@@ -82,7 +82,7 @@ Generate files to upload
   otherwise, if just fixing up the control files, patches, etc:
     debuild -S -sd -kkeyid
   (note: no space allowed in -kkeyid)
-  If you get a dpkg-checkbuilddeps error for precise/trusty,
+  If you get a dpkg-checkbuilddeps error for precise/trusty/xenial,
   add a -d option, e.g. debuild -d -S -sa -kkeyid
 - If patches fail, you must fix them up, either manually or with quilt
   (quilt instructions go here)
diff --git a/debian-alt/precise/changelog b/debian-alt/precise/changelog
index cca94de2afc740690a206fd2c4feceba3df60746..37f8451008a6bc6f4c137aacefd84c9cffc6c9df 100644
--- a/debian-alt/precise/changelog
+++ b/debian-alt/precise/changelog
@@ -1,3 +1,9 @@
+i2p (0.9.34p-1~precise+1) precise; urgency=medium
+
+  * Backport to Precise
+
+ -- zzz on i2p (key signing) <zzz@i2pmail.org>  Wed, 11 Apr 2018 12:12:12 +0000
+
 i2p (0.9.33p-1~precise+1) precise; urgency=medium
 
   * Backport to Precise
diff --git a/debian-alt/trusty/changelog b/debian-alt/trusty/changelog
index 6ff0daeea644ecf68d913884f255dbfa24485a8f..50796426e63559194ec5318457710ff499935d2d 100644
--- a/debian-alt/trusty/changelog
+++ b/debian-alt/trusty/changelog
@@ -1,3 +1,9 @@
+i2p (0.9.34p-2~trusty+1) trusty; urgency=medium
+
+  * Backport to Trusty
+
+ -- zzz on i2p (key signing) <zzz@i2pmail.org>  Wed, 11 Apr 2018 12:12:12 +0000
+
 i2p (0.9.33p-2~trusty+1) trusty; urgency=medium
 
   * Backport to Trusty
diff --git a/debian-alt/xenial/changelog b/debian-alt/xenial/changelog
index 28818fb8e0be3b639817d7f6fbe4cb16ebf6fa8c..479ceda4b0999447d092674e32eba29aa9461180 100644
--- a/debian-alt/xenial/changelog
+++ b/debian-alt/xenial/changelog
@@ -1,3 +1,9 @@
+i2p (0.9.34x-2~xenial+1) xenial; urgency=medium
+
+  * Backport to Xenial
+
+ -- zzz on i2p (key signing) <zzz@i2pmail.org>  Wed, 11 Apr 2018 12:12:12 +0000
+
 i2p (0.9.33x-1~xenial+1) xenial; urgency=medium
 
   * Backport to Xenial
diff --git a/debian-alt/xenial/patches/0002-jetty-old-api.patch b/debian-alt/xenial/patches/0002-jetty-old-api.patch
new file mode 100644
index 0000000000000000000000000000000000000000..569b38662f6fb5e6a5fab4f02665b2b9fe3450c3
--- /dev/null
+++ b/debian-alt/xenial/patches/0002-jetty-old-api.patch
@@ -0,0 +1,26 @@
+Index: b/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java
+===================================================================
+--- a/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java
++++ b/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java
+@@ -44,19 +44,12 @@ public class HostCheckHandler extends Gz
+         _listenHosts = new HashSet<String>(8);
+         setMinGzipSize(64*1024);
+         if (_context.getBooleanPropertyDefaultTrue(PROP_GZIP)) {
+-            addIncludedMimeTypes(
+-                                 // our js is very small
+-                                 //"application/javascript", "application/x-javascript",
+-                                 "application/xhtml+xml", "application/xml",
+-                                 // ditto svg
+-                                 //"image/svg+xml",
+-                                 "text/css", "text/html", "text/plain"
+-                                );
++            setMimeTypes("application/xhtml+xml,application/xml,text/css,text/html,text/plain");
+         } else {
+             // poorly documented, but we must put something in,
+             // if empty all are matched,
+             // see IncludeExcludeSet
+-            addIncludedMimeTypes("xyzzy");
++            setMimeTypes("xyzzy");
+         }
+     }
+     
diff --git a/debian-alt/xenial/patches/series b/debian-alt/xenial/patches/series
new file mode 100644
index 0000000000000000000000000000000000000000..20f495f5fc21a88086a44a2d57ebc9b20a92e1cb
--- /dev/null
+++ b/debian-alt/xenial/patches/series
@@ -0,0 +1,2 @@
+0001-path-substitution.patch
+0002-jetty-old-api.patch
diff --git a/debian/rules b/debian/rules
index 6919b41b0f30d7944aeee4e24279749b19b27560..85a8a8a611a8873ff9f3abf1c639f4219f2195ac 100755
--- a/debian/rules
+++ b/debian/rules
@@ -38,7 +38,7 @@ export BITS := $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS)
 #export DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
 
 %:
-	dh $@ --with systemd,quilt,bash-completion
+	dh $@ --with systemd,bash-completion
 
 clean: createcopyright