diff --git a/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java b/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java
index 2d1eed6ee1c7fdb4cb473f26ab0ac53ff4d65dad..852c9cca0c0dd2192bf9a28e97b2b8f286038ee9 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/InternalTrayManager.java
@@ -372,8 +372,10 @@ class InternalTrayManager extends TrayManager {
         }
         PopupMenu awt = trayIcon.getPopupMenu();
         if (awt != null) {
-            awt.remove(0);
-            awt.insert(status, 0);
+            MenuItem item = awt.getItem(0);
+            String oldStatus = item.getLabel();
+            if (!status.equals(oldStatus))
+                item.setLabel(status);
         }
         if (_browserItem != null)
             _browserItem.setEnabled(!imminent);
diff --git a/apps/desktopgui/src/net/i2p/desktopgui/Main.java b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
index f7626f3aef0132e3c13cc1350c761550a5bf24a9..8c7954dbbbbddbc0605cecc1fbab81d73332a66f 100644
--- a/apps/desktopgui/src/net/i2p/desktopgui/Main.java
+++ b/apps/desktopgui/src/net/i2p/desktopgui/Main.java
@@ -63,7 +63,8 @@ public class Main implements RouterApp {
      */
     private synchronized void startUp() throws Exception {
         final TrayManager trayManager;
-        boolean useSwing = _appContext.getProperty(PROP_SWING, !SystemVersion.isWindows());
+        boolean useSwingDefault = !(SystemVersion.isWindows() || SystemVersion.isMac());
+        boolean useSwing = _appContext.getProperty(PROP_SWING, useSwingDefault);
         if (_context != null)
             trayManager = new InternalTrayManager(_context, this, useSwing);
         else
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java
index 9b2bcf9ca9c0c05caa010a42b437ab6709dbba2e..cd2129356e691ff7c3ba3dda20912bb83fec66a4 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java
@@ -202,7 +202,10 @@ public class ConfigServiceHandler extends FormHandler {
     public boolean shouldShowSystray() {
         return !
             (RouterConsoleRunner.DAEMON_USER.equals(System.getProperty("user.name")) ||
-             (SystemVersion.isWindows() && _context.hasWrapper() && WrapperManager.isLaunchedAsService()));
+             (SystemVersion.isWindows() && _context.hasWrapper() && WrapperManager.isLaunchedAsService()) ||
+             // headless=true is forced in i2prouter script to prevent useless dock icon;
+             // must fix this first
+             SystemVersion.isMac());
     }
 
     /**
diff --git a/history.txt b/history.txt
index 31b91e116a923d022faba2f890383b55c74abf8c..cd9fcbd375c35e4692f0ad212d2042c8701213b7 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,35 @@
+2016-05-20 zzz
+ * DesktopGui:
+   - Fix systray menu redraw on Mac;
+   - Switch to AWT by default on Mac;
+   - Hide DTG enable on Mac until we fix dock
+
+2016-05-19 zzz
+ * Config files, eepsite help: Add path information for OS X
+   and Windows as a service. (ticket #1495)
+
+2016-05-12 zzz
+ * NTP:
+   - Don't put random data in zeroed fields
+   - Increase random data in originate timestamp from 1 byte to 2 bytes
+   - Verify originate timestamp to prevent injection
+   - Verify received packet size
+ * SSU:
+   - If configured with a hostname, bind to all v4/v6
+     addresses found for that hostname.
+   - Fix binding if more than one IP or host was configured.
+
+2016-05-09 zzz
+ * Console:
+   - Fix escaping of search URLs on /confighome
+   - Fix HTML error on /configui
+ * DesktopGui: Add 9 new translations
+ * i2psnark: Limit cases when we display tracker errors;
+   include host name of tracker when we do
+
+2016-05-08 zzz
+ * Console: Fix UTF-8 passwords, partial fix for usernames
+
 2016-05-07 zzz
  * Build:
    - Add DTG to updater
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 5a58b19bc22ea9b489b5610aade18177efc4505e..e36cd3b14352a16a1e79c5fea474cb2f20cbaa5c 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 = 11;
+    public final static long BUILD = 12;
 
     /** for example "-test" */
     public final static String EXTRA = "";