diff --git a/core/java/src/net/i2p/CoreVersion.java b/core/java/src/net/i2p/CoreVersion.java
index 066a529cae8f5a99bf6f80252d537959872d72b8..cc99a13bd1ad920d1a3c8e675ea8a8aefa75e21e 100644
--- a/core/java/src/net/i2p/CoreVersion.java
+++ b/core/java/src/net/i2p/CoreVersion.java
@@ -31,7 +31,7 @@ public class CoreVersion {
      *  Otherwise, the same as PUBLISHED_VERSION.
      *  RouterVersion.FULL_VERSION is suggested for display to the user.
      */
-    public final static String VERSION = "2.3.0";
+    public final static String VERSION = "2.4.0";
 
     /**
      *  The version published in the netdb via StatisticsManager.
@@ -48,7 +48,7 @@ public class CoreVersion {
      *
      *  @since 0.9.46
      */
-    public final static String PUBLISHED_VERSION = "0.9.59";
+    public final static String PUBLISHED_VERSION = "0.9.61";
 
     /**
      *  For Vuze.
diff --git a/history.txt b/history.txt
index 4915a9205e72a09f654443898690480119837165..fd1dcb10f493c4bb1305fc2f0e0685f49b13ddcc 100644
--- a/history.txt
+++ b/history.txt
@@ -1,3 +1,9 @@
+2023-12-18 2.3.0 (API 0.9.61) released
+
+2023-12-15 idk
+ * Pull translations from Transifex
+ * Fix updating router profile in SearchUpdateReplyFoundJob
+
 2023-12-15 zzz
  * Pull translations from Transifex
 
diff --git a/installer/install.xml b/installer/install.xml
index 06c53e34b4cec5cec715a00e66d8cbd636cec9ce..3638cb1c5c3f4a69fbaf0ae75e411f5d902afaea 100644
--- a/installer/install.xml
+++ b/installer/install.xml
@@ -4,7 +4,7 @@
 
     <info>
         <appname>i2p</appname>
-        <appversion>2.3.0</appversion>
+        <appversion>2.4.0</appversion>
         <authors>
             <author name="I2P" email="https://geti2p.net/"/>
         </authors>
diff --git a/installer/install5.xml b/installer/install5.xml
index bfe8bcd82103256b1b8b66048f230feaba00dca3..b94fec63e06e276f27d71a5842bd6d94aff9017c 100644
--- a/installer/install5.xml
+++ b/installer/install5.xml
@@ -10,7 +10,7 @@
 
     <info>
         <appname>i2p</appname>
-        <appversion>2.3.0</appversion>
+        <appversion>2.4.0</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 660bf1ef6c4a24c9916dcab5cc6e836464e01ffa..604ae500d7a5797c6495eac07fcff4934b65904f 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -19,8 +19,8 @@ public class RouterVersion {
     public final static String ID = "Git";
     public final static String VERSION = CoreVersion.VERSION;
     /** for example: "beta", "alpha", "rc" */
-    public final static String QUALIFIER = "-rc";
-    public final static long BUILD = 19;
+    public final static String QUALIFIER = "";
+    public final static long BUILD = 0;
     /** for example "-test" */
     public final static String EXTRA = "";
     public final static String FULL_VERSION = VERSION + "-" + BUILD + QUALIFIER + EXTRA;