diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
index 755fc2719828055dd84c063e6d6c18a3a0237773..17cb4e6ac5a65d5fd85b72a8bb3e96cbe48b262f 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/ui/TunnelConfig.java
@@ -47,7 +47,8 @@ public class TunnelConfig {
     private String _i2cpPort;
     private int _tunnelDepth = -1;
     private int _tunnelQuantity = -1;
-    private int _tunnelVariance = -1;
+    // -2 or higher is valid
+    private int _tunnelVariance = -3;
     private int _tunnelBackupQuantity = -1;
     private boolean _connectDelay;
     private String _customOptions;
@@ -801,7 +802,7 @@ public class TunnelConfig {
             config.setProperty("option.inbound.length", Integer.toString(_tunnelDepth));
             config.setProperty("option.outbound.length", Integer.toString(_tunnelDepth));
         }
-        if (_tunnelVariance >= 0) {
+        if (_tunnelVariance >= -2) {
             config.setProperty("option.inbound.lengthVariance", Integer.toString(_tunnelVariance));
             config.setProperty("option.outbound.lengthVariance", Integer.toString(_tunnelVariance));
         }
diff --git a/core/java/src/net/i2p/CoreVersion.java b/core/java/src/net/i2p/CoreVersion.java
index d189588ecfd2e97baf081b6652b6fdcdde47f4d9..0aa44511d581225722896057c2968712e6cdcd7b 100644
--- a/core/java/src/net/i2p/CoreVersion.java
+++ b/core/java/src/net/i2p/CoreVersion.java
@@ -18,7 +18,7 @@ public class CoreVersion {
     /** deprecated */
     public final static String ID = "Monotone";
 
-    public final static String VERSION = "0.9.19";
+    public final static String VERSION = "0.9.20";
 
     /**
      *  For Vuze.
diff --git a/core/java/src/net/i2p/util/FortunaRandomSource.java b/core/java/src/net/i2p/util/FortunaRandomSource.java
index 340b836a4694fda43bc87c9fdeda50177032fcad..9688e87648588f6bc01a199a3d339ebb59365450 100644
--- a/core/java/src/net/i2p/util/FortunaRandomSource.java
+++ b/core/java/src/net/i2p/util/FortunaRandomSource.java
@@ -262,8 +262,14 @@ public class FortunaRandomSource extends RandomSource implements EntropyHarveste
     /** reseed the fortuna */
     @Override
     public void feedEntropy(String source, byte[] data, int offset, int len) {
-        synchronized(_fortuna) {
-            _fortuna.addRandomBytes(data, offset, len);
+        try {
+            synchronized(_fortuna) {
+                _fortuna.addRandomBytes(data, offset, len);
+            }
+        } catch (Exception e) {
+            // AIOOBE seen, root cause unknown, ticket #1576
+            Log log = _context.logManager().getLog(FortunaRandomSource.class);
+            log.warn("feedEntropy()", e);
         }
     }
     
diff --git a/history.txt b/history.txt
index a8f316f19aadd042a7c68ba668eab32f1a5e543e..b5ffdbc6bf9b6b3e5fe858d115cad0d50c23befe 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,11 @@
+* 2015-06-02 0.9.20 released
+
+2015-05-31 zzz
+ * Fortuna: Catch AIOOBE (ticket #1576)
+
+2015-05-30 zzz
+ * i2ptunnel: Fix +/- variance config (ticket #1587)
+
 2015-05-29 zzz
  * HTTP client: Fix occasional truncation of compressed responses
 
diff --git a/installer/install.xml b/installer/install.xml
index cdbf0a510f782d6c15b19387d0cda4164418520a..95ed4b1cd4836962e57cbccd0f2f68ec64ef32fa 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -4,7 +4,7 @@
 
     <info>
         <appname>i2p</appname>
-        <appversion>0.9.19</appversion>
+        <appversion>0.9.20</appversion>
         <authors>
             <author name="I2P" email="https://geti2p.net/"/>
         </authors>
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 98bd96d4eda2be114bd00bdd087b6be7b6a865e2..a411b009986dc5f1f6384384ad98aeea42885422 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,10 +18,10 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 32;
+    public final static long BUILD = 0;
 
     /** for example "-test" */
-    public final static String EXTRA = "-rc";
+    public final static String EXTRA = "";
     public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
     public static void main(String args[]) {
         System.out.println("I2P Router version: " + FULL_VERSION);