diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java
index 26ca7aefbcc6e976a23e3adfcb43ca53ab8a1b3d..45a242652e39af4a578c19995c694255bb06f56a 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java
@@ -254,7 +254,7 @@ public class ConfigClientsHandler extends FormHandler {
      * requested and add the .war to that one
      */
     private void startWebApp(String app) {
-        Server s = PluginStarter.getConsoleServer();
+        Server s = WebAppStarter.getConsoleServer();
         if (s != null) {
                     try {
                         File path = new File(_context.getBaseDir(), "webapps");
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
index 154b9c1eb4f749e812a8bc26aef4db8306520ecd..3aaf34e5b4d0373d3ca1731d8c3592c0ec0656d5 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/PluginStarter.java
@@ -6,7 +6,6 @@ import java.lang.reflect.Method;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.ArrayList;
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -23,7 +22,6 @@ import net.i2p.util.FileUtil;
 import net.i2p.util.Log;
 import net.i2p.util.Translate;
 
-import org.mortbay.http.HttpListener;
 import org.mortbay.jetty.Server;
 
 
@@ -93,7 +91,7 @@ public class PluginStarter implements Runnable {
         }
 
         // start console webapps in console/webapps
-        Server server = getConsoleServer();
+        Server server = WebAppStarter.getConsoleServer();
         if (server != null) {
             File consoleDir = new File(pluginDir, "console");
             Properties props = RouterConsoleRunner.webAppProperties(consoleDir.getAbsolutePath());
@@ -185,7 +183,7 @@ public class PluginStarter implements Runnable {
         }
 
         // stop console webapps in console/webapps
-        Server server = getConsoleServer();
+        Server server = WebAppStarter.getConsoleServer();
         if (server != null) {
             File consoleDir = new File(pluginDir, "console");
             Properties props = RouterConsoleRunner.webAppProperties(consoleDir.getAbsolutePath());
@@ -318,20 +316,6 @@ public class PluginStarter implements Runnable {
         } catch (IOException ioe) {}
     }
 
-    /** see comments in ConfigClientsHandler */
-    static Server getConsoleServer() {
-        Collection c = Server.getHttpServers();
-        for (int i = 0; i < c.size(); i++) {
-            Server s = (Server) c.toArray()[i];
-            HttpListener[] hl = s.getListeners();
-            for (int j = 0; j < hl.length; j++) {
-                if (hl[j].getPort() == 7657)
-                    return s;
-            }
-        }
-        return null;
-    }
-
     /** @param action "start" or "stop" or "uninstall" */
     private static void runClientApps(RouterContext ctx, File pluginDir, List<ClientAppConfig> apps, String action) {
         Log log = ctx.logManager().getLog(PluginStarter.class);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java
index 1117fd93abdaaa9e2ba7574a6231cd913a805aa0..fd64f71f5fe598da9c9b1aa086f08b4831495253 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/WebAppStarter.java
@@ -2,12 +2,14 @@ package net.i2p.router.web;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Collection;
 import java.util.Properties;
 import java.util.StringTokenizer;
 
 import net.i2p.I2PAppContext;
 
 import org.mortbay.http.HttpContext;
+import org.mortbay.http.HttpListener;
 import org.mortbay.jetty.Server;
 import org.mortbay.jetty.servlet.WebApplicationContext;
 
@@ -73,4 +75,17 @@ public class WebAppStarter {
         } catch (InterruptedException ie) {}
     }
 
+    /** see comments in ConfigClientsHandler */
+    static Server getConsoleServer() {
+        Collection c = Server.getHttpServers();
+        for (int i = 0; i < c.size(); i++) {
+            Server s = (Server) c.toArray()[i];
+            HttpListener[] hl = s.getListeners();
+            for (int j = 0; j < hl.length; j++) {
+                if (hl[j].getPort() == 7657)
+                    return s;
+            }
+        }
+        return null;
+    }
 }
diff --git a/history.txt b/history.txt
index 301f2a21058e7e82dc63c4d7f38fadd78ecefb1c..177623dc6641bfc5965af5a5981cf688b6c7affb 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,16 @@
+2010-02-18 zzz
+    * Clock: Slew tweak
+    * i2psnark: Improve error message when finding HTML
+    * HTTP Proxy: Fix blank page instead of error page for eepsite unreachable
+    * Plugins:
+      - Fix plugin start button
+      - Change signer prop to match docs
+      - Tweaks
+    * Transport:
+      - Fix recognition of IP change when not firewalled
+      - Require consecutive identical results from two peers before changing IP
+    * TrustedUpdate: CLI exits 1 on failure for ease of use in scripts
+
 2010-02-15 zzz
     Propagate from 3 dev branches.
 
@@ -17,7 +30,8 @@
     * Streaming: MessageOutputStream logging tweaks
     * Transport:
       - Prepare for using address costs
-      - Adjust bids based on address cost, disabled until 0.7.12
+      - Adjust bids based on address cost
+      - Increase cost if near transport capacity, disabled until 0.7.12
       - Clear the geoip negative cache periodically
 
     i2p.i2p.zzz.plugin:
@@ -61,7 +75,7 @@
       - Save expired tunnel build configs for a while, so that we will still use the tunnel
         and update peer stats if the reply comes in late
       - Don't update our own profile for Tunnel Build Replies
-      - VTBM generation only through routers >= 0.1.12
+      - VTBM generation only through routers >= 0.7.12
       - VTBM generation disabled for now
 
 * 2010-02-15  0.7.11 released
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index b8546913b6cc18d89a6649558f7117b30b9aafa8..f17951822885d8b71d7d1268cc9659da031e8fca 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,7 +18,7 @@ public class RouterVersion {
     /** deprecated */
     public final static String ID = "Monotone";
     public final static String VERSION = CoreVersion.VERSION;
-    public final static long BUILD = 1;
+    public final static long BUILD = 2;
 
     /** for example "-test" */
     public final static String EXTRA = "";