diff --git a/AUTHORS b/AUTHORS
index 09b9523f9bfdc6875cc22c27a24c25fc78bd940e..85f999f42e9c60c0ba35fde7ee4f6c20db6be1fd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -39,6 +39,7 @@ Ansel Santosa
 Anthony Grimes
 Anton Kovalyov
 areos
+as3boyan
 AtomicPages LLC
 Atul Bhouraskar
 Aurelian Oancea
@@ -48,6 +49,7 @@ Beni Cherniavsky-Paskin
 Benjamin DeCoste
 Ben Keen
 Bernhard Sirlinger
+Bert Chang
 Billy Moon
 binny
 B Krishna Chaitanya
@@ -88,6 +90,7 @@ dignifiedquire
 domagoj412
 Dominator008
 Domizio Demichelis
+Doug Wikle
 Drew Bratcher
 Drew Hintz
 Drew Khoury
@@ -101,6 +104,7 @@ Eric Allam
 eustas
 Fabien O'Carroll
 Fabio Zendhi Nagao
+Faiza Alsaied
 Fauntleroy
 fbuchinger
 feizhang365
@@ -116,6 +120,7 @@ Gabriel Horner
 Gabriel Nahmias
 galambalazs
 Gautam Mehta
+Gergely Hegykozi
 Glenn Jorde
 Glenn Ruehle
 Golevka
@@ -124,6 +129,7 @@ Grant Skinner
 greengiant
 Guillaume Massé
 Guillaume Massé
+Gustavo Rodrigues
 Hans Engel
 Hardest
 Hasan Karahan
@@ -220,6 +226,7 @@ Matthias BUSSONNIER
 Matt McDonald
 Matt Pass
 Matt Sacks
+mauricio
 Maximilian Hils
 Maxim Kraev
 Max Kirsch
@@ -256,6 +263,7 @@ Nikolay Kostov
 nlwillia
 pablo
 Page
+paris
 Patil Arpith
 Patrick Strawderman
 Paul Garvin
@@ -268,6 +276,7 @@ peterkroon
 Peter Kroon
 prasanthj
 Prasanth J
+Radek Piórkowski
 Rahul
 Randy Edmunds
 Rasmus Erik Voel Jensen
@@ -291,6 +300,7 @@ Shawn A
 sheopory
 Shiv Deepak
 Shmuel Englard
+Shubham Jain
 soliton4
 sonson
 spastorelli
@@ -302,6 +312,7 @@ Steffen Beyer
 Steve O'Hara
 stoskov
 Taha Jahangir
+Takuji Shimokawa
 Tarmil
 tfjgeorge
 Thaddee Tyl
@@ -322,6 +333,7 @@ Triangle717
 twifkak
 Vestimir Markov
 vf
+Vincent Woo
 Volker Mische
 wenli
 Wesley Wiser
diff --git a/doc/compress.html b/doc/compress.html
index 4e4cd4a6ac5a78709b6b10fc929c9c2729fafdd9..de3053ded6d2171cfe8bc73691c98e928888d38a 100644
--- a/doc/compress.html
+++ b/doc/compress.html
@@ -33,6 +33,7 @@
       <input type="hidden" id="download" name="download" value="codemirror-compressed.js"/>
       <p>Version: <select id="version" onchange="setVersion(this);" style="padding: 1px;">
         <option value="http://codemirror.net/">HEAD</option>
+        <option value="http://marijnhaverbeke.nl/git/codemirror?a=blob_plain;hb=4.1.0;f=">4.1</option>
         <option value="http://marijnhaverbeke.nl/git/codemirror?a=blob_plain;hb=4.0.3;f=">4.0</option>
         <option value="http://marijnhaverbeke.nl/git/codemirror?a=blob_plain;hb=3.23.0;f=">3.23</option>
         <option value="http://marijnhaverbeke.nl/git/codemirror?a=blob_plain;hb=3.22.0;f=">3.22</option>
diff --git a/doc/manual.html b/doc/manual.html
index 1279fcadd41a12db45d75180d9c17d76a0827bbb..f47e437ede9addb31df12bfc65ce021c5fcdc2dc 100644
--- a/doc/manual.html
+++ b/doc/manual.html
@@ -63,7 +63,7 @@
 <section class=first id=overview>
     <h2 style="position: relative">
       User manual and reference guide
-      <span style="color: #888; font-size: 1rem; position: absolute; right: 0; bottom: 0">version 4.0.4</span>
+      <span style="color: #888; font-size: 1rem; position: absolute; right: 0; bottom: 0">version 4.1.0</span>
     </h2>
 
     <p>CodeMirror is a code-editor component that can be embedded in
diff --git a/doc/releases.html b/doc/releases.html
index 9de2147bc88b91d2280e8f5d650357451c65337d..63397e79246b8b65c3065ceb69723cc921f37a98 100644
--- a/doc/releases.html
+++ b/doc/releases.html
@@ -14,7 +14,8 @@
     <li><a href="https://github.com/marijnh/codemirror">Code</a>
   </ul>
   <ul>
-    <li><a class=active data-default="true" href="#v3">Version 3.x</a>
+    <li><a class=active data-default="true" href="#v4">Version 4.x</a>
+    <li><a href="#v3">Version 3.x</a>
     <li><a href="#v2">Version 2.x</a>
     <li><a href="#v1">Version 0.x</a>
   </ul>
@@ -26,7 +27,22 @@
 
 <section id=v3 class=first>
 
-  <h2>Version 4.x</h2>
+  <h2 id="v4">Version 4.x</h2>
+
+  <p class="rel">22-04-2014: <a href="http://codemirror.net/codemirror-4.1.zip">Version 4.1</a>:</p>
+
+  <ul class="rel-note">
+    <li><em>Slightly incompatible</em>:
+    The <a href="manual.html#event_cursorActivity"><code>"cursorActivity"</code></a>
+    event now fires after all other events for the operation (and only
+    for handlers that were actually registered at the time the
+    activity happened).</li>
+    <li>New command: <a href="manual.html#command_insertSoftTab"><code>insertSoftTab</code></a>.</li>
+    <li>New mode: <a href="../mode/django/index.html">Django</a>.</li>
+    <li>Improved modes: <a href="../mode/verilog/index.html">Verilog</a> (rewritten), <a href="../mode/jinja2/index.html">Jinja2</a>, <a href="../mode/haxe/index.html">Haxe</a>, <a href="../mode/php/index.html">PHP</a> (string interpolation highlighted), <a href="../mode/javascript/index.html">JavaScript</a> (indentation of trailing else, template strings), <a href="../mode/livescript/index.html">LiveScript</a> (multi-line strings).</li>
+    <li>Many small issues from the 3.x→4.x transition were found and fixed.</li>
+    <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/4.0.3...4.1.0">list of patches</a>.</li>
+  </ul>
 
   <p class="rel">20-03-2014: <a href="http://codemirror.net/codemirror-4.0.zip">Version 4.0</a>:</p>
 
@@ -44,7 +60,13 @@
     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.23.0...4.0.3">list of patches</a>.</li>
   </ul>
 
-  <h2>Version 3.x</h2>
+  <h2 id="v3">Version 3.x</h2>
+
+  <p class="rel">22-04-2014: <a href="http://codemirror.net/codemirror-3.24.zip">Version 3.24</a>:</p>
+
+  <p class="rel-note">Merges the improvements from 4.1 that could
+  easily be applied to the 3.x code. Also improves the way the editor
+  size is updated when line widgets change.</p>
 
   <p class="rel">20-03-2014: <a href="http://codemirror.net/codemirror-3.23.zip">Version 3.23</a>:</p>
 
diff --git a/index.html b/index.html
index df8098565b593c3930a14d9748afef576ffca1c4..0c91ecaf72d8af74ef5f38b9f87428377ac1b800 100644
--- a/index.html
+++ b/index.html
@@ -85,7 +85,7 @@
   </script>
   <div style="position: relative; margin: 1em 0;">
     <a class="bigbutton left" href="http://codemirror.net/codemirror.zip">DOWNLOAD LATEST RELEASE</a>
-    <div><strong>version 4.0</strong> (<a href="doc/releases.html">Release notes</a>)</div>
+    <div><strong>version 4.1</strong> (<a href="doc/releases.html">Release notes</a>)</div>
     <div>or use the <a href="doc/compress.html">minification helper</a></div>
     <div style="position: absolute; top: 0; right: 0; text-align: right">
       <span class="bigbutton right" onclick="document.getElementById('paypal').submit();">DONATE WITH PAYPAL</span>
diff --git a/lib/codemirror.js b/lib/codemirror.js
index 0a07ed91ae161a29e2a847ead7cbafbb8c9530e4..0ab217711ee5349814d9cc0d9d9d27b657c42405 100644
--- a/lib/codemirror.js
+++ b/lib/codemirror.js
@@ -7520,7 +7520,7 @@
 
   // THE END
 
-  CodeMirror.version = "4.0.4";
+  CodeMirror.version = "4.1.0";
 
   return CodeMirror;
 });
diff --git a/package.json b/package.json
index 39946f35f84d7b53fdd01fd8d1591aeb9399909f..26d7053629a645f3fd3b529038b3c2c5115330d1 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
     "name": "codemirror",
-    "version":"4.0.4",
+    "version":"4.1.0",
     "main": "lib/codemirror.js",
     "description": "In-browser code editing made bearable",
     "licenses": [{"type": "MIT",