diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java
index 85365e28d26a096492ef44d75b9bd439a693717b..0ad858ecda4d169bb6f38eadc9f2f001e5bb7c7d 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java
@@ -178,7 +178,7 @@ public class EditBean extends IndexBean {
         return getBooleanProperty(tunnel, "i2cp.encryptLeaseSet");
     }
     
-    /** @since 0.9.11 */
+    /** @since 0.9.12 */
     public int getSigType(int tunnel) {
         return getProperty(tunnel, I2PClient.PROP_SIGTYPE, 0);
     }
@@ -351,7 +351,7 @@ public class EditBean extends IndexBean {
         return Addresses.getAllAddresses();
     }
 
-    /** @since 0.9.11 */
+    /** @since 0.9.12 */
     public boolean isAdvanced() {
         return _context.getBooleanProperty("routerconsole.advanced");
     }
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
index 6dfa4bba89eb0142aa38dad51c19b443c4332d66..0750f1d07cdd460de8a9d278039cbbf9e81912c3 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java
@@ -964,7 +964,7 @@ public class IndexBean {
         _certSigner = val;
     }
 
-    /** @since 0.9.11 */
+    /** @since 0.9.12 */
     public void setSigType(String val) {
         if (val != null) {
             _otherOptions.put(I2PClient.PROP_SIGTYPE, val);
diff --git a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java
index 493a0d272622465d4b0f0004b5100612ca643ece..624abd3430c9fdeb79af391aa037cf01e35c8581 100644
--- a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java
+++ b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java
@@ -260,7 +260,7 @@ public class I2PSocketManagerFactory {
 
     /**
      *  @param opts may be null
-     *  @since 0.9.11
+     *  @since 0.9.12
      */
     private static SigType getSigType(Properties opts) {
         if (opts != null) {
diff --git a/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java b/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java
index eef101c1e4ed9714a78536085679d8d5655a3727..70b29e72fa0b9f6df7b81e3aef21c0adeeb25f17 100644
--- a/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java
+++ b/apps/susidns/src/java/src/i2p/susi/dns/AddressBean.java
@@ -238,7 +238,7 @@ public class AddressBean
 
 	/**
 	 * Do this the easy way
-	 * @since 0.9.11
+	 * @since 0.9.12
 	 */
 	public String getSigType() {
 		// (4 / 3) * (pubkey length + signing key length)
diff --git a/core/java/src/net/i2p/client/I2PClient.java b/core/java/src/net/i2p/client/I2PClient.java
index bbfd6811aeaae96e992a09f04fd9287ca396a91f..c4503608cf240a1281954268d913e33fd3d0304b 100644
--- a/core/java/src/net/i2p/client/I2PClient.java
+++ b/core/java/src/net/i2p/client/I2PClient.java
@@ -41,9 +41,9 @@ public interface I2PClient {
     /** @since 0.8.1 */
     public final static String PROP_RELIABILITY_NONE = "none";
 
-    /** @since 0.9.11 */
+    /** @since 0.9.12 */
     public static final String PROP_SIGTYPE = "i2cp.destination.sigType";
-    /** @since 0.9.11 */
+    /** @since 0.9.12 */
     public static final SigType DEFAULT_SIGTYPE = SigType.DSA_SHA1;
 
     /**
@@ -97,7 +97,7 @@ public interface I2PClient {
      *
      * @param destKeyStream location to write out the destination, PrivateKey, and SigningPrivateKey,
      *                      format is specified in {@link net.i2p.data.PrivateKeyFile PrivateKeyFile}
-     * @since 0.9.11
+     * @since 0.9.12
      */
     public Destination createDestination(OutputStream destKeyStream, SigType type) throws I2PException, IOException;
 
diff --git a/core/java/src/net/i2p/client/I2PClientImpl.java b/core/java/src/net/i2p/client/I2PClientImpl.java
index e29cdc342658ea1eaebc72112a0aca3122b7fc9e..e0c7feea9ff7f025df66542feba73081897f0ed4 100644
--- a/core/java/src/net/i2p/client/I2PClientImpl.java
+++ b/core/java/src/net/i2p/client/I2PClientImpl.java
@@ -58,7 +58,7 @@ class I2PClientImpl implements I2PClient {
      *
      * @param destKeyStream location to write out the destination, PrivateKey, and SigningPrivateKey,
      *                      format is specified in {@link net.i2p.data.PrivateKeyFile PrivateKeyFile}
-     * @since 0.9.11
+     * @since 0.9.12
      */
     public Destination createDestination(OutputStream destKeyStream, SigType type) throws I2PException, IOException {
         Certificate cert;
diff --git a/core/java/src/net/i2p/client/I2PSimpleClient.java b/core/java/src/net/i2p/client/I2PSimpleClient.java
index 8e198daf9fe38afb1f15ed033a26096cb05102f1..38286f2b1ba9f05654f138be63efa786fb99aa73 100644
--- a/core/java/src/net/i2p/client/I2PSimpleClient.java
+++ b/core/java/src/net/i2p/client/I2PSimpleClient.java
@@ -33,7 +33,7 @@ public class I2PSimpleClient implements I2PClient {
     /**
      *  @deprecated Don't do this
      *  @throws UnsupportedOperationException always
-     *  @since 0.9.11
+     *  @since 0.9.12
      */
     public Destination createDestination(OutputStream destKeyStream, SigType type) throws I2PException, IOException {
         throw new UnsupportedOperationException();
diff --git a/core/java/src/net/i2p/crypto/DSAEngine.java b/core/java/src/net/i2p/crypto/DSAEngine.java
index 16c63e8ea9e7b46efcfa49b75515423c02fbb879..b80dac38c6395688de96544ecbddfdb71334d77c 100644
--- a/core/java/src/net/i2p/crypto/DSAEngine.java
+++ b/core/java/src/net/i2p/crypto/DSAEngine.java
@@ -93,7 +93,7 @@ public class DSAEngine {
     }
 
     /**
-     *  Verify using any sig type as of 0.9.11 (DSA only prior to that)
+     *  Verify using any sig type as of 0.9.12 (DSA only prior to that)
      */
     public boolean verifySignature(Signature signature, byte signedData[], int offset, int size, SigningPublicKey verifyingKey) {
         boolean rv;
@@ -266,7 +266,7 @@ public class DSAEngine {
     }
 
     /**
-     *  Sign using any key type as of 0.9.11 (DSA-SHA1 only prior to that)
+     *  Sign using any key type as of 0.9.12 (DSA-SHA1 only prior to that)
      *
      *  @return null on error
      */
@@ -495,7 +495,7 @@ public class DSAEngine {
     /**
      *  Generic verify DSA_SHA1, ECDSA, or RSA
      *  @throws GeneralSecurityException if algorithm unvailable or on other errors
-     *  @since 0.9.9 added off/len 0.9.11
+     *  @since 0.9.9 added off/len 0.9.12
      */
     private boolean altVerifySig(Signature signature, byte[] data, int offset, int len, SigningPublicKey verifyingKey)
                         throws GeneralSecurityException {
@@ -555,7 +555,7 @@ public class DSAEngine {
     /**
      *  Alternate to verifySignature() using java.security libraries.
      *  @throws GeneralSecurityException if algorithm unvailable or on other errors
-     *  @since 0.8.7 added off/len 0.9.11
+     *  @since 0.8.7 added off/len 0.9.12
      */
     private boolean altVerifySigSHA1(Signature signature, byte[] data, int offset,
                                      int len, SigningPublicKey verifyingKey) throws GeneralSecurityException {
@@ -574,7 +574,7 @@ public class DSAEngine {
     /**
      *  Generic sign DSA_SHA1, ECDSA, or RSA
      *  @throws GeneralSecurityException if algorithm unvailable or on other errors
-     *  @since 0.9.9 added off/len 0.9.11
+     *  @since 0.9.9 added off/len 0.9.12
      */
     private Signature altSign(byte[] data, int offset, int len,
                               SigningPrivateKey privateKey) throws GeneralSecurityException {
@@ -624,7 +624,7 @@ public class DSAEngine {
     /**
      *  Alternate to sign() using java.security libraries.
      *  @throws GeneralSecurityException if algorithm unvailable or on other errors
-     *  @since 0.8.7 added off/len args 0.9.11
+     *  @since 0.8.7 added off/len args 0.9.12
      */
     private Signature altSignSHA1(byte[] data, int offset, int len,
                                   SigningPrivateKey privateKey) throws GeneralSecurityException {
diff --git a/core/java/src/net/i2p/crypto/SigType.java b/core/java/src/net/i2p/crypto/SigType.java
index a37d65dfb040e511f0546664f8b4731589a1bc0d..c5e32f048dbb54c5e3115a92ba4c5d270742b145 100644
--- a/core/java/src/net/i2p/crypto/SigType.java
+++ b/core/java/src/net/i2p/crypto/SigType.java
@@ -177,7 +177,7 @@ public enum SigType {
      *
      *  @param stype number or name
      *  @return null if not found
-     *  @since 0.9.9 moved from SU3File in 0.9.11
+     *  @since 0.9.9 moved from SU3File in 0.9.12
      */
     public static SigType parseSigType(String stype) {
         try {
diff --git a/core/java/src/net/i2p/data/Certificate.java b/core/java/src/net/i2p/data/Certificate.java
index a4a1b3148d22c14e2d548e319aa55a33ec30b8cd..49fc560e6f2e8ab533566a358ca0935a55c25c92 100644
--- a/core/java/src/net/i2p/data/Certificate.java
+++ b/core/java/src/net/i2p/data/Certificate.java
@@ -42,7 +42,7 @@ public class Certificate extends DataStructureImpl {
     public final static int CERTIFICATE_LENGTH_SIGNED_WITH_HASH = Signature.SIGNATURE_BYTES + Hash.HASH_LENGTH;
     /** Contains multiple certs */
     public final static int CERTIFICATE_TYPE_MULTIPLE = 4;
-    /** @since 0.9.11 */
+    /** @since 0.9.12 */
     public final static int CERTIFICATE_TYPE_KEY = 5;
 
     /**
@@ -218,7 +218,7 @@ public class Certificate extends DataStructureImpl {
      *  Up-convert this to a KeyCertificate
      *
      *  @throws DataFormatException if cert type != CERTIFICATE_TYPE_KEY
-     *  @since 0.9.11
+     *  @since 0.9.12
      */
     public KeyCertificate toKeyCertificate() throws DataFormatException {
         if (_type != CERTIFICATE_TYPE_KEY)
diff --git a/core/java/src/net/i2p/data/KeyCertificate.java b/core/java/src/net/i2p/data/KeyCertificate.java
index 5726c80b14f6d908e66ca69b08a716b788be78f2..f4251ce211dec974e608890781ab484fffb27707 100644
--- a/core/java/src/net/i2p/data/KeyCertificate.java
+++ b/core/java/src/net/i2p/data/KeyCertificate.java
@@ -11,7 +11,7 @@ import net.i2p.crypto.SigType;
  *
  * The crypto type is assumed to be always 0x0000 (ElG) for now.
  *
- * @since 0.9.11
+ * @since 0.9.12
  */
 public class KeyCertificate extends Certificate {
 
diff --git a/core/java/src/net/i2p/data/KeysAndCert.java b/core/java/src/net/i2p/data/KeysAndCert.java
index 33a1de2944dc3f6c64b4e48f392c645398b97108..fc58a422ca0b4ccbb5358848ca18b3e7574f8b4a 100644
--- a/core/java/src/net/i2p/data/KeysAndCert.java
+++ b/core/java/src/net/i2p/data/KeysAndCert.java
@@ -81,7 +81,7 @@ public class KeysAndCert extends DataStructureImpl {
     
     /**
      * @throws IllegalStateException if was already set
-     * @since 0.9.11
+     * @since 0.9.12
      */
     public void setPadding(byte[] padding) {
         if (_padding != null)
diff --git a/core/java/src/net/i2p/data/PrivateKeyFile.java b/core/java/src/net/i2p/data/PrivateKeyFile.java
index b97d76257461d08baa56fdb8be98d02b75273f92..c9c202f5bc334efffb2793f6d4e432280ba1c5c9 100644
--- a/core/java/src/net/i2p/data/PrivateKeyFile.java
+++ b/core/java/src/net/i2p/data/PrivateKeyFile.java
@@ -227,7 +227,7 @@ public class PrivateKeyFile {
     /**
      * Change cert type - caller must also call write().
      * Side effect - creates new Destination object.
-     * @since 0.9.11
+     * @since 0.9.12
      */
     public Certificate setKeyCert(SigType type) {
         if (type == SigType.DSA_SHA1)
diff --git a/core/java/src/net/i2p/data/SigningPublicKey.java b/core/java/src/net/i2p/data/SigningPublicKey.java
index c7ec32bb8cccd80191d00905469e99a6d72bad62..50dba721379b2d5cffd2d2444abe12668e037096 100644
--- a/core/java/src/net/i2p/data/SigningPublicKey.java
+++ b/core/java/src/net/i2p/data/SigningPublicKey.java
@@ -116,7 +116,7 @@ public class SigningPublicKey extends SimpleDataStructure {
      *  Up-convert this from an untyped (type 0) SPK to a typed SPK based on the Key Cert given
      *
      *  @throws IllegalArgumentException if this is already typed to a different type
-     *  @since 0.9.11
+     *  @since 0.9.12
      */
     public SigningPublicKey toTypedKey(KeyCertificate kcert) {
         if (_data == null)
@@ -147,7 +147,7 @@ public class SigningPublicKey extends SimpleDataStructure {
      *
      *  @return leading padding length > 0 or null
      *  @throws IllegalArgumentException if this is already typed to a different type
-     *  @since 0.9.11
+     *  @since 0.9.12
      */
     public byte[] getPadding(KeyCertificate kcert) {
         if (_data == null)
@@ -169,7 +169,7 @@ public class SigningPublicKey extends SimpleDataStructure {
     /**
      *  Write the data up to a max of 128 bytes.
      *  If longer, the rest will be written in the KeyCertificate.
-     *  @since 0.9.11
+     *  @since 0.9.12
      */
     public void writeTruncatedBytes(OutputStream out) throws DataFormatException, IOException {
         if (_type.getPubkeyLen() <= KEYSIZE_BYTES)
diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java
index 9b54d208a9157277b152c76f5e6285040c465052..ad2322c47813250de0dc05ab632cca101a9f51a6 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/StoreJob.java
@@ -501,11 +501,11 @@ class StoreJob extends JobImpl {
         return VersionComparator.comp(v, MIN_ENCRYPTION_VERSION) >= 0;
     }
 
-    private static final String MIN_KEYCERT_VERSION = "0.9.11";
+    private static final String MIN_KEYCERT_VERSION = "0.9.12";
 
     /**
      * Does he support key certs (assumed with a non-DSA key)?
-     * @since 0.9.11
+     * @since 0.9.12
      */
     private static boolean supportsKeyCerts(RouterInfo ri) {
         String v = ri.getOption("router.version");
@@ -518,7 +518,7 @@ class StoreJob extends JobImpl {
 
     /**
      * Does he support more than 6 leasesets?
-     * @since 0.9.11
+     * @since 0.9.12
      */
     private static boolean supportsBigLeaseSets(RouterInfo ri) {
         String v = ri.getOption("router.version");