diff --git a/log4net.build b/log4net.build
index 4bc35c3..1e0708e 100644
--- a/log4net.build
+++ b/log4net.build
@@ -20,7 +20,7 @@
   <property name="log4net.basedir" value="." />
   <property name="project.build.config" value="debug" />
   <property name="project.build.package" value="false" />
-  <property name="package.version" value="1.2.12"/>
+  <property name="package.version" value="1.2.13"/>
 
   <!-- Include log4net helpers -->
   <include buildfile="${log4net.basedir}/log4net.include" />
diff --git a/pom.xml b/pom.xml
index 0f12e23..3c8395a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
   <groupId>log4net</groupId>
   <artifactId>apache-log4net</artifactId>
   <packaging>pom</packaging>
-  <version>1.2.13-SNAPSHOT</version>
+  <version>1.2.13</version>
   <name>Apache log4net</name>
   <description>Logging framework for Microsoft .NET Framework.</description>
   <url>http://logging.apache.org/log4net/</url>
diff --git a/src/AssemblyVersionInfo.cpp b/src/AssemblyVersionInfo.cpp
index e71d695..a4b1270 100644
--- a/src/AssemblyVersionInfo.cpp
+++ b/src/AssemblyVersionInfo.cpp
@@ -31,12 +31,12 @@
 // You can specify all the value or you can default the Revision and Build Numbers 
 // by using the '*' as shown below:
 
-[assembly: AssemblyVersionAttribute("1.2.12.0")];
+[assembly: AssemblyVersionAttribute("1.2.13.0")];
 [assembly: AssemblyInformationalVersionAttribute("1.2")];
 
 #if !NETCF
 #if !SSCLI
-[assembly: AssemblyFileVersionAttribute("1.2.12.0")]
+[assembly: AssemblyFileVersionAttribute("1.2.13.0")]
 #endif
 #endif
 
diff --git a/src/AssemblyVersionInfo.js b/src/AssemblyVersionInfo.js
index 9902f30..a72bacc 100644
--- a/src/AssemblyVersionInfo.js
+++ b/src/AssemblyVersionInfo.js
@@ -31,12 +31,12 @@
 // an import functions as a workaround for this issue.
 import System.Reflection;
 
-[assembly: AssemblyVersion("1.2.12.0")]
+[assembly: AssemblyVersion("1.2.13.0")]
 [assembly: AssemblyInformationalVersionAttribute("1.2")]
 
 @if (!@NETCF)
 @if (!@SSCLI)
-[assembly: AssemblyFileVersion("1.2.12.0")]
+[assembly: AssemblyFileVersion("1.2.13.0")]
 @end
 @end
 
diff --git a/src/AssemblyVersionInfo.vb b/src/AssemblyVersionInfo.vb
index 1481a16..2a45041 100644
--- a/src/AssemblyVersionInfo.vb
+++ b/src/AssemblyVersionInfo.vb
@@ -28,12 +28,12 @@
 ' You can specify all the values or you can default the Revision and Build Numbers 
 ' by using the '*' as shown below:
 
-<Assembly: System.Reflection.AssemblyVersion("1.2.12.0")>
+<Assembly: System.Reflection.AssemblyVersion("1.2.13.0")>
 <Assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.2")>
 
 #If NOT NETCF Then
 #If NOT SSCLI Then
-<Assembly: System.Reflection.AssemblyFileVersion("1.2.12.0")>
+<Assembly: System.Reflection.AssemblyFileVersion("1.2.13.0")>
 #End If
 #End If
 
diff --git a/src/Log4netAssemblyInfo.cs b/src/Log4netAssemblyInfo.cs
index 1549355..08ee5b3 100644
--- a/src/Log4netAssemblyInfo.cs
+++ b/src/Log4netAssemblyInfo.cs
@@ -25,7 +25,7 @@
     /// </summary>
     public sealed class AssemblyInfo {
         /// <summary>Version of the assembly</summary>
-        public const string Version = "1.2.12";
+        public const string Version = "1.2.13";
 
         /// <summary>Version of the framework targeted</summary>
 #if NET_1_1
diff --git a/src/site/xdoc/download_log4net.xml b/src/site/xdoc/download_log4net.xml
index 20d129f..2f1d125 100644
--- a/src/site/xdoc/download_log4net.xml
+++ b/src/site/xdoc/download_log4net.xml
@@ -77,14 +77,14 @@
       </subsection>
     </section>
 
-    <section name="log4net 1.2.12">
+    <section name="log4net 1.2.13">
 
       <subsection name="Source">
         <table>
           <tr>
-            <td><a href="[preferred]/logging/log4net/source/log4net-1.2.12-src.zip">log4net-1.2.12-src.zip</a></td>
-              <td><a href="http://www.apache.org/dist/logging/log4net/source/log4net-1.2.12-src.zip.md5">md5</a></td>
-              <td><a href="http://www.apache.org/dist/logging/log4net/source/log4net-1.2.12-src.zip.asc">pgp</a></td>
+            <td><a href="[preferred]/logging/log4net/source/log4net-1.2.13-src.zip">log4net-1.2.13-src.zip</a></td>
+              <td><a href="http://www.apache.org/dist/logging/log4net/source/log4net-1.2.13-src.zip.md5">md5</a></td>
+              <td><a href="http://www.apache.org/dist/logging/log4net/source/log4net-1.2.13-src.zip.asc">pgp</a></td>
           </tr>
         </table>
       </subsection>
@@ -103,14 +103,14 @@
 
         <table>
           <tr>
-            <td><a href="[preferred]/logging/log4net/binaries/log4net-1.2.12-bin-newkey.zip">log4net-1.2.12-bin-newkey.zip</a></td>
-              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.12-bin-newkey.zip.md5">md5</a></td>
-              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.12-bin-newkey.zip.asc">pgp</a></td>
+            <td><a href="[preferred]/logging/log4net/binaries/log4net-1.2.13-bin-newkey.zip">log4net-1.2.13-bin-newkey.zip</a></td>
+              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.13-bin-newkey.zip.md5">md5</a></td>
+              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.13-bin-newkey.zip.asc">pgp</a></td>
           </tr>
           <tr>
-            <td><a href="[preferred]/logging/log4net/binaries/log4net-1.2.12-bin-oldkey.zip">log4net-1.2.12-bin-oldkey.zip</a></td>
-              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.12-bin-oldkey.zip.md5">md5</a></td>
-              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.12-bin-oldkey.zip.asc">pgp</a></td>
+            <td><a href="[preferred]/logging/log4net/binaries/log4net-1.2.13-bin-oldkey.zip">log4net-1.2.13-bin-oldkey.zip</a></td>
+              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.13-bin-oldkey.zip.md5">md5</a></td>
+              <td><a href="http://www.apache.org/dist/logging/log4net/binaries/log4net-1.2.13-bin-oldkey.zip.asc">pgp</a></td>
           </tr>
         </table>
       </subsection>
diff --git a/src/site/xdoc/release/framework-support.xml b/src/site/xdoc/release/framework-support.xml
index 0f90944..c61b9a4 100644
--- a/src/site/xdoc/release/framework-support.xml
+++ b/src/site/xdoc/release/framework-support.xml
@@ -536,8 +536,7 @@
                 
                 <section id="net3.5" name="Microsoft .NET Framework 3.5">
                     <p>
-                        As of log4net 1.2.11 this version is identical
-                        to the .NET 2.0 version.
+                        none
                     </p>
                 </section>
                 
diff --git a/src/site/xdoc/release/release-notes.xml b/src/site/xdoc/release/release-notes.xml
index 474d12c..c20cd40 100644
--- a/src/site/xdoc/release/release-notes.xml
+++ b/src/site/xdoc/release/release-notes.xml
@@ -28,6 +28,28 @@
 
         <section id="main" name="Apache log4net&#x2122; Release Notes">
 
+          <section id="1.2.13" name="1.2.13">
+
+            <section id="1.2.13-bug" name="Bug Fixes">
+              <ul>
+                <li>[<a href='https://issues.apache.org/jira/browse/LOG4NET-393'>LOG4NET-393</a>] -         Using dynamic methods with log4net causes NullReferenceException in StackFrameItem
+                </li>
+                <li>[<a href='https://issues.apache.org/jira/browse/LOG4NET-399'>LOG4NET-399</a>] -         Does not build for Compact Framework 2.0
+                </li>
+              </ul>
+
+            </section>
+                
+            <section id="1.2.13-enh" name="Improvements">
+
+              <ul>
+                <li>[<a href='https://issues.apache.org/jira/browse/LOG4NET-394'>LOG4NET-394</a>] -         Lambda-based ILog-Extensions should catch errors
+                </li>
+              </ul>
+
+            </section>
+          </section>
+
           <section id="1.2.12" name="1.2.12">
 
             <p>
