releases.html 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931
  1. <!doctype html>
  2. <title>CodeMirror: Release History</title>
  3. <meta charset="utf-8"/>
  4. <link rel=stylesheet href="docs.css">
  5. <script src="activebookmark.js"></script>
  6. <div id=nav>
  7. <a href="http://codemirror.net"><img id=logo src="logo.png"></a>
  8. <ul>
  9. <li><a href="../index.html">Home</a>
  10. <li><a href="manual.html">Manual</a>
  11. <li><a href="https://github.com/marijnh/codemirror">Code</a>
  12. </ul>
  13. <ul>
  14. <li><a class=active data-default="true" href="#v4">Version 4.x</a>
  15. <li><a href="#v3">Version 3.x</a>
  16. <li><a href="#v2">Version 2.x</a>
  17. <li><a href="#v1">Version 0.x</a>
  18. </ul>
  19. </div>
  20. <article>
  21. <h2>Release notes and version history</h2>
  22. <section id=v4 class=first>
  23. <h2>Version 4.x</h2>
  24. <p class="rel">19-09-2014: <a href="http://codemirror.net/codemirror-4.6.zip">Version 4.6</a>:</p>
  25. <ul class="rel-note">
  26. <li>New mode: <a href="../mode/modelica/index.html">Modelica</a></li>
  27. <li>New method: <a href="manual.html#findWordAt"><code>findWordAt</code></a></li>
  28. <li>Make it easier to <a href="../demo/markselection.html">use text background styling</a></li>
  29. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/4.5.0...4.6.0">list of patches</a>.</li>
  30. </ul>
  31. <p class="rel">21-08-2014: <a href="http://codemirror.net/codemirror-4.5.zip">Version 4.5</a>:</p>
  32. <ul class="rel-note">
  33. <li>Fix several serious bugs with horizontal scrolling</li>
  34. <li>New mode: <a href="../mode/slim/index.html">Slim</a></li>
  35. <li>New command: <a href="manual.html#command_goLineLeftSmart"><code>goLineLeftSmart</code></a></li>
  36. <li>More fixes and extensions for the <a href="../demo/vim.html">Vim</a> visual block mode</li>
  37. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/4.4.0...4.5.0">list of patches</a>.</li>
  38. </ul>
  39. <p class="rel">21-07-2014: <a href="http://codemirror.net/codemirror-4.4.zip">Version 4.4</a>:</p>
  40. <ul class="rel-note">
  41. <li><strong>Note:</strong> Some events might now fire in slightly
  42. different order (<code>"change"</code> is still guaranteed to fire
  43. before <code>"cursorActivity"</code>)</li>
  44. <li>Nested operations in multiple editors are now synced (complete
  45. at same time, reducing DOM reflows)</li>
  46. <li>Visual block mode for <a href="../demo/vim.html">vim</a> (&lt;C-v>) is nearly complete</li>
  47. <li>New mode: <a href="../mode/kotlin/index.html">Kotlin</a></li>
  48. <li>Better multi-selection paste for text copied from multiple CodeMirror selections</li>
  49. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/4.3.0...4.4.0">list of patches</a>.</li>
  50. </ul>
  51. <p class="rel">23-06-2014: <a href="http://codemirror.net/codemirror-4.3.zip">Version 4.3</a>:</p>
  52. <ul class="rel-note">
  53. <li>Several <a href="../demo/vim.html">vim bindings</a>
  54. improvements: search and exCommand history, global flag
  55. for <code>:substitute</code>, <code>:global</code> command.
  56. <li>Allow hiding the cursor by
  57. setting <a href="manual.html#option_cursorBlinkRate"><code>cursorBlinkRate</code></a>
  58. to a negative value.</li>
  59. <li>Make gutter markers themeable, use this in foldgutter.</li>
  60. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/4.2.0...4.3.0">list of patches</a>.</li>
  61. </ul>
  62. <p class="rel">19-05-2014: <a href="http://codemirror.net/codemirror-4.2.zip">Version 4.2</a>:</p>
  63. <ul class="rel-note">
  64. <li>Fix problem where some modes were broken by the fact that empty tokens were forbidden.</li>
  65. <li>Several fixes to context menu handling.</li>
  66. <li>On undo, scroll <em>change</em>, not cursor, into view.</li>
  67. <li>Rewritten <a href="../mode/jade/index.html">Jade</a> mode.</li>
  68. <li>Various improvements to <a href="../mode/shell/index.html">Shell</a> (support for more syntax) and <a href="../mode/python/index.html">Python</a> (better indentation) modes.</li>
  69. <li>New mode: <a href="../mode/cypher/index.html">Cypher</a>.</li>
  70. <li>New theme: <a href="../demo/theme.html?neo">Neo</a>.</li>
  71. <li>Support direct styling options (color, line style, width) in the <a href="manual.html#addon_rulers">rulers</a> addon.</li>
  72. <li>Recognize per-editor configuration for the <a href="manual.html#addon_show-hint">show-hint</a> and <a href="manual.html#addon_foldcode">foldcode</a> addons.</li>
  73. <li>More intelligent scanning for existing close tags in <a href="manual.html#addon_closetag">closetag</a> addon.</li>
  74. <li>In the <a href="../demo/vim.html">Vim bindings</a>: Fix bracket matching, support case conversion in visual mode, visual paste, append action.</li>
  75. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/4.1.0...4.2.0">list of patches</a>.</li>
  76. </ul>
  77. <p class="rel">22-04-2014: <a href="http://codemirror.net/codemirror-4.1.zip">Version 4.1</a>:</p>
  78. <ul class="rel-note">
  79. <li><em>Slightly incompatible</em>:
  80. The <a href="manual.html#event_cursorActivity"><code>"cursorActivity"</code></a>
  81. event now fires after all other events for the operation (and only
  82. for handlers that were actually registered at the time the
  83. activity happened).</li>
  84. <li>New command: <a href="manual.html#command_insertSoftTab"><code>insertSoftTab</code></a>.</li>
  85. <li>New mode: <a href="../mode/django/index.html">Django</a>.</li>
  86. <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>
  87. <li>Many small issues from the 3.x→4.x transition were found and fixed.</li>
  88. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/4.0.3...4.1.0">list of patches</a>.</li>
  89. </ul>
  90. <p class="rel">20-03-2014: <a href="http://codemirror.net/codemirror-4.0.zip">Version 4.0</a>:</p>
  91. <p class="rel-note">This is a new major version of CodeMirror. There
  92. are a few <strong>incompatible</strong> changes in the API. Upgrade
  93. with care, and read the <a href="upgrade_v4.html">upgrading
  94. guide</a>.</p>
  95. <ul class="rel-note">
  96. <li>Multiple selections (ctrl-click, alt-drag, <a href="manual.html#setSelections">API</a>).</li>
  97. <li>Sublime Text <a href="../demo/sublime.html">bindings</a>.</li>
  98. <li><a href="manual.html#modloader">Module loader shims</a> wrapped around all modules.</li>
  99. <li>Selection <a href="manual.html#command_undoSelection">undo</a>/<a href="manual.html#command_redoSelection">redo</a>.</li>
  100. <li>Improved character measuring (faster, handles wrapped lines more robustly).</li>
  101. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.23.0...4.0.3">list of patches</a>.</li>
  102. </ul>
  103. </section>
  104. <section id=v3>
  105. <h2>Version 3.x</h2>
  106. <p class="rel">22-04-2014: <a href="http://codemirror.net/codemirror-3.24.zip">Version 3.24</a>:</p>
  107. <p class="rel-note">Merges the improvements from 4.1 that could
  108. easily be applied to the 3.x code. Also improves the way the editor
  109. size is updated when line widgets change.</p>
  110. <p class="rel">20-03-2014: <a href="http://codemirror.net/codemirror-3.23.zip">Version 3.23</a>:</p>
  111. <ul class="rel-note">
  112. <li>In the <a href="../mode/xml/index.html">XML mode</a>,
  113. add <code>brackets</code> style to angle brackets, fix
  114. case-sensitivity of tags for HTML.</li>
  115. <li>New mode: <a href="../mode/dylan/index.html">Dylan</a>.</li>
  116. <li>Many improvements to the <a href="../demo/vim.html">Vim bindings</a>.</li>
  117. </ul>
  118. <p class="rel">21-02-2014: <a href="http://codemirror.net/codemirror-3.22.zip">Version 3.22</a>:</p>
  119. <ul class="rel-note">
  120. <li>Adds the <a href="manual.html#findMarks"><code>findMarks</code></a> method.</li>
  121. <li>New addons: <a href="manual.html#addon_rulers">rulers</a>, markdown-fold, yaml-lint.</li>
  122. <li>New theme: <a href="../demo/theme.html?mdn-like">mdn-like</a>.</li>
  123. <li>New mode: <a href="../mode/solr/index.html">Solr</a>.</li>
  124. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.21.0...3.22.0">list of patches</a>.</li>
  125. </ul>
  126. <p class="rel">16-01-2014: <a href="http://codemirror.net/codemirror-3.21.zip">Version 3.21</a>:</p>
  127. <ul class="rel-note">
  128. <li>Auto-indenting a block will no longer add trailing whitespace to blank lines.</a>
  129. <li>Marking text has a new option <a href="manual.html#markText"><code>clearWhenEmpty</code></a> to control auto-removal.</li>
  130. <li>Several bugfixes in the handling of bidirectional text.</li>
  131. <li>The <a href="../mode/xml/index.html">XML</a> and <a href="../mode/css/index.html">CSS</a> modes were largely rewritten. <a href="../mode/css/less.html">LESS</a> support was added to the CSS mode.</li>
  132. <li>The OCaml mode was moved to an <a href="../mode/mllike/index.html">mllike</a> mode, F# support added.</li>
  133. <li>Make it possible to fetch multiple applicable helper values with <a href="manual.html#getHelpers"><code>getHelpers</code></a>, and to register helpers matched on predicates with <a href="manual.html#registerGlobalHelper"><code>registerGlobalHelper</code></a>.</li>
  134. <li>New theme <a href="../demo/theme.html?pastel-on-dark">pastel-on-dark</a>.</li>
  135. <li>Better ECMAScript 6 support in <a href="../mode/javascript/index.html">JavaScript</a> mode.</li>
  136. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.20.0...3.21.0">list of patches</a>.</li>
  137. </ul>
  138. <p class="rel">21-11-2013: <a href="http://codemirror.net/codemirror-3.20.zip">Version 3.20</a>:</p>
  139. <ul class="rel-note">
  140. <li>New modes: <a href="../mode/julia/index.html">Julia</a> and <a href="../mode/pegjs/index.html">PEG.js</a>.</li>
  141. <li>Support ECMAScript 6 in the <a href="../mode/javascript/index.html">JavaScript mode</a>.</li>
  142. <li>Improved indentation for the <a href="../mode/coffeescript/index.html">CoffeeScript mode</a>.</li>
  143. <li>Make non-printable-character representation <a href="manual.html#option_specialChars">configurable</a>.</li>
  144. <li>Add ‘notification’ functionality to <a href="manual.html#addon_dialog">dialog</a> addon.</li>
  145. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.19.0...3.20.0">list of patches</a>.</li>
  146. </ul>
  147. <p class="rel">21-10-2013: <a href="http://codemirror.net/codemirror-3.19.zip">Version 3.19</a>:</p>
  148. <ul class="rel-note">
  149. <li>New modes: <a href="../mode/eiffel/index.html">Eiffel</a>, <a href="../mode/gherkin/index.html">Gherkin</a>, <a href="../mode/sql/?mime=text/x-mssql">MSSQL dialect</a>.</li>
  150. <li>New addons: <a href="manual.html#addon_hardwrap">hardwrap</a>, <a href="manual.html#addon_sql-hint">sql-hint</a>.</li>
  151. <li>New theme: <a href="../demo/theme.html?mbo">MBO</a>.</li>
  152. <li>Add <a href="manual.html#token_style_line">support</a> for line-level styling from mode tokenizers.</li>
  153. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.18.0...3.19.0">list of patches</a>.</li>
  154. </ul>
  155. <p class="rel">23-09-2013: <a href="http://codemirror.net/codemirror-3.18.zip">Version 3.18</a>:</p>
  156. <p class="rel-note">Emergency release to fix a problem in 3.17
  157. where <code>.setOption("lineNumbers", false)</code> would raise an
  158. error.</p>
  159. <p class="rel">23-09-2013: <a href="http://codemirror.net/codemirror-3.17.zip">Version 3.17</a>:</p>
  160. <ul class="rel-note">
  161. <li>New modes: <a href="../mode/fortran/index.html">Fortran</a>, <a href="../mode/octave/index.html">Octave</a> (Matlab), <a href="../mode/toml/index.html">TOML</a>, and <a href="../mode/dtd/index.html">DTD</a>.</li>
  162. <li>New addons: <a href="../addon/lint/css-lint.js"><code>css-lint</code></a>, <a href="manual.html#addon_css-hint"><code>css-hint</code></a>.</li>
  163. <li>Improve resilience to CSS 'frameworks' that globally mess up <code>box-sizing</code>.</li>
  164. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.16.0...3.17.0">list of patches</a>.</li>
  165. </ul>
  166. <p class="rel">21-08-2013: <a href="http://codemirror.net/codemirror-3.16.zip">Version 3.16</a>:</p>
  167. <ul class="rel-note">
  168. <li>The whole codebase is now under a single <a href="../LICENSE">license</a> file.</li>
  169. <li>The project page was overhauled and redesigned.</li>
  170. <li>New themes: <a href="../demo/theme.html?paraiso-dark">Paraiso</a> (<a href="../demo/theme.html?paraiso-light">light</a>), <a href="../demo/theme.html?the-matrix">The Matrix</a>.</li>
  171. <li>Improved interaction between themes and <a href="manual.html#addon_active-line">active-line</a>/<a href="manual.html#addon_matchbrackets">matchbrackets</a> addons.</li>
  172. <li>New <a href="manual.html#addon_foldcode">folding</a> function <code>CodeMirror.fold.comment</code>.</li>
  173. <li>Added <a href="manual.html#addon_fullscreen">fullscreen</a> addon.</li>
  174. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.15.0...3.16.0">list of patches</a>.</li>
  175. </ul>
  176. <p class="rel">29-07-2013: <a href="http://codemirror.net/codemirror-3.15.zip">Version 3.15</a>:</p>
  177. <ul class="rel-note">
  178. <li>New modes: <a href="../mode/jade/index.html">Jade</a>, <a href="../mode/nginx/index.html">Nginx</a>.</li>
  179. <li>New addons: <a href="../demo/tern.html">Tern</a>, <a href="manual.html#addon_matchtags">matchtags</a>, and <a href="manual.html#addon_foldgutter">foldgutter</a>.</li>
  180. <li>Introduced <a href="manual.html#getHelper"><em>helper</em></a> concept (<a href="https://groups.google.com/forum/#!msg/codemirror/cOc0xvUUEUU/nLrX1-qnidgJ">context</a>).</li>
  181. <li>New method: <a href="manual.html#getModeAt"><code>getModeAt</code></a>.</li>
  182. <li>New themes: base16 <a href="../demo/theme.html?base16-dark">dark</a>/<a href="../demo/theme.html?base16-light">light</a>, 3024 <a href="../demo/theme.html?3024-night">dark</a>/<a href="../demo/theme.html?3024-day">light</a>, <a href="../demo/theme.html?tomorrow-night-eighties">tomorrow-night</a>.</li>
  183. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.14.0...3.15.0">list of patches</a>.</li>
  184. </ul>
  185. <p class="rel">20-06-2013: <a href="http://codemirror.net/codemirror-3.14.zip">Version 3.14</a>:</p>
  186. <ul class="rel-note">
  187. <li>New
  188. addons: <a href="manual.html#addon_trailingspace">trailing
  189. space highlight</a>, <a href="manual.html#addon_xml-hint">XML
  190. completion</a> (rewritten),
  191. and <a href="manual.html#addon_merge">diff merging</a>.</li>
  192. <li><a href="manual.html#markText"><code>markText</code></a>
  193. and <a href="manual.html#addLineWidget"><code>addLineWidget</code></a>
  194. now take a <code>handleMouseEvents</code> option.</li>
  195. <li>New methods: <a href="manual.html#lineAtHeight"><code>lineAtHeight</code></a>,
  196. <a href="manual.html#getTokenTypeAt"><code>getTokenTypeAt</code></a>.</li>
  197. <li>More precise cleanness-tracking
  198. using <a href="manual.html#changeGeneration"><code>changeGeneration</code></a>
  199. and <a href="manual.html#isClean"><code>isClean</code></a>.</li>
  200. <li>Many extensions to <a href="../demo/emacs.html">Emacs</a> mode
  201. (prefixes, more navigation units, and more).</li>
  202. <li>New
  203. events <a href="manual.html#event_keyHandled"><code>"keyHandled"</code></a>
  204. and <a href="manual.html#event_inputRead"><code>"inputRead"</code></a>.</li>
  205. <li>Various improvements to <a href="../mode/ruby/index.html">Ruby</a>,
  206. <a href="../mode/smarty/index.html">Smarty</a>, <a href="../mode/sql/index.html">SQL</a>,
  207. and <a href="../demo/vim.html">Vim</a> modes.</li>
  208. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.13.0...3.14.0">list of patches</a>.</li>
  209. </ul>
  210. <p class="rel">20-05-2013: <a href="http://codemirror.net/codemirror-3.13.zip">Version 3.13</a>:</p>
  211. <ul class="rel-note">
  212. <li>New modes: <a href="../mode/cobol/index.html">COBOL</a> and <a href="../mode/haml/index.html">HAML</a>.</li>
  213. <li>New options: <a href="manual.html#option_cursorScrollMargin"><code>cursorScrollMargin</code></a> and <a href="manual.html#option_coverGutterNextToScrollbar"><code>coverGutterNextToScrollbar</code></a>.</li>
  214. <li>New addon: <a href="manual.html#addon_comment">commenting</a>.</li>
  215. <li>More features added to the <a href="../demo/vim.html">Vim keymap</a>.</li>
  216. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.12...3.13.0">list of patches</a>.</li>
  217. </ul>
  218. <p class="rel">19-04-2013: <a href="http://codemirror.net/codemirror-3.12.zip">Version 3.12</a>:</p>
  219. <ul class="rel-note">
  220. <li>New mode: <a href="../mode/gas/index.html">GNU assembler</a>.</li>
  221. <li>New
  222. options: <a href="manual.html#option_maxHighlightLength"><code>maxHighlightLength</code></a>
  223. and <a href="manual.html#option_historyEventDelay"><code>historyEventDelay</code></a>.</li>
  224. <li>Added <a href="manual.html#mark_addToHistory"><code>addToHistory</code></a>
  225. option for <code>markText</code>.</li>
  226. <li>Various fixes to JavaScript tokenization and indentation corner cases.</li>
  227. <li>Further improvements to the vim mode.</li>
  228. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.11...v3.12">list of patches</a>.</li>
  229. </ul>
  230. <p class="rel">20-03-2013: <a href="http://codemirror.net/codemirror-3.11.zip">Version 3.11</a>:</p>
  231. <ul class="rel-note">
  232. <li><strong>Removed code:</strong> <code>collapserange</code>,
  233. <code>formatting</code>, and <code>simple-hint</code>
  234. addons. <code>plsql</code> and <code>mysql</code> modes
  235. (use <a href="../mode/sql/index.html"><code>sql</code></a> mode).</li>
  236. <li><strong>Moved code:</strong> the range-finding functions for folding now have <a href="../addon/fold/">their own files</a>.</li>
  237. <li><strong>Changed interface:</strong>
  238. the <a href="manual.html#addon_continuecomment"><code>continuecomment</code></a>
  239. addon now exposes an option, rather than a command.</li>
  240. <li>New
  241. modes: <a href="../mode/css/scss.html">SCSS</a>, <a href="../mode/tcl/index.html">Tcl</a>, <a href="../mode/livescript/index.html">LiveScript</a>,
  242. and <a href="../mode/mirc/index.html">mIRC</a>.</li>
  243. <li>New addons: <a href="../demo/placeholder.html"><code>placeholder</code></a>, <a href="../demo/html5complete.html">HTML completion</a>.</li>
  244. <li>New
  245. methods: <a href="manual.html#hasFocus"><code>hasFocus</code></a>, <a href="manual.html#defaultCharWidth"><code>defaultCharWidth</code></a>.</li>
  246. <li>New events: <a href="manual.html#event_beforeCursorEnter"><code>beforeCursorEnter</code></a>, <a href="manual.html#event_renderLine"><code>renderLine</code></a>.</li>
  247. <li>Many improvements to the <a href="manual.html#addon_show-hint"><code>show-hint</code></a> completion
  248. dialog addon.</li>
  249. <li>Tweak behavior of by-word cursor motion.</li>
  250. <li>Further improvements to the <a href="../demo/vim.html">vim mode</a>.</li>
  251. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.1...v3.11">list of patches</a>.</li>
  252. </ul>
  253. <p class="rel">21-02-2013: <a href="http://codemirror.net/codemirror-3.1.zip">Version 3.1</a>:</p>
  254. <ul class="rel-note">
  255. <li><strong>Incompatible:</strong> key handlers may
  256. now <em>return</em>, rather
  257. than <em>throw</em> <code>CodeMirror.Pass</code> to signal they
  258. didn't handle the key.</li>
  259. <li>Make documents a <a href="manual.html#api_doc">first-class
  260. construct</a>, support split views and subviews.</li>
  261. <li>Add a <a href="manual.html#addon_show-hint">new module</a>
  262. for showing completion hints.
  263. Deprecate <code>simple-hint.js</code>.</li>
  264. <li>Extend <a href="../mode/htmlmixed/index.html">htmlmixed mode</a>
  265. to allow custom handling of script types.</li>
  266. <li>Support an <code>insertLeft</code> option
  267. to <a href="manual.html#setBookmark"><code>setBookmark</code></a>.</li>
  268. <li>Add an <a href="manual.html#eachLine"><code>eachLine</code></a>
  269. method to iterate over a document.</li>
  270. <li>New addon modules: <a href="../demo/markselection.html">selection
  271. marking</a>, <a href="../demo/lint.html">linting</a>,
  272. and <a href="../demo/closebrackets.html">automatic bracket
  273. closing</a>.</li>
  274. <li>Add <a href="manual.html#event_beforeChange"><code>"beforeChange"</code></a>
  275. and <a href="manual.html#event_beforeSelectionChange"><code>"beforeSelectionChange"</code></a>
  276. events.</li>
  277. <li>Add <a href="manual.html#event_hide"><code>"hide"</code></a>
  278. and <a href="manual.html#event_unhide"><code>"unhide"</code></a>
  279. events to marked ranges.</li>
  280. <li>Fix <a href="manual.html#coordsChar"><code>coordsChar</code></a>'s
  281. interpretation of its argument to match the documentation.</li>
  282. <li>New modes: <a href="../mode/turtle/index.html">Turtle</a>
  283. and <a href="../mode/q/index.html">Q</a>.</li>
  284. <li>Further improvements to the <a href="../demo/vim.html">vim mode</a>.</li>
  285. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.01...v3.1">list of patches</a>.</li>
  286. </ul>
  287. <p class="rel">25-01-2013: <a href="http://codemirror.net/codemirror-3.02.zip">Version 3.02</a>:</p>
  288. <p class="rel-note">Single-bugfix release. Fixes a problem that
  289. prevents CodeMirror instances from being garbage-collected after
  290. they become unused.</p>
  291. <p class="rel">21-01-2013: <a href="http://codemirror.net/codemirror-3.01.zip">Version 3.01</a>:</p>
  292. <ul class="rel-note">
  293. <li>Move all add-ons into an organized directory structure
  294. under <a href="../addon/"><code>/addon</code></a>. <strong>You might have to adjust your
  295. paths.</strong></li>
  296. <li>New
  297. modes: <a href="../mode/d/index.html">D</a>, <a href="../mode/sass/index.html">Sass</a>, <a href="../mode/apl/index.html">APL</a>, <a href="../mode/sql/index.html">SQL</a>
  298. (configurable), and <a href="../mode/asterisk/index.html">Asterisk</a>.</li>
  299. <li>Several bugfixes in right-to-left text support.</li>
  300. <li>Add <a href="manual.html#option_rtlMoveVisually"><code>rtlMoveVisually</code></a> option.</li>
  301. <li>Improvements to vim keymap.</li>
  302. <li>Add built-in (lightweight) <a href="manual.html#addOverlay">overlay mode</a> support.</li>
  303. <li>Support <code>showIfHidden</code> option for <a href="manual.html#addLineWidget">line widgets</a>.</li>
  304. <li>Add simple <a href="manual.html#addon_python-hint">Python hinter</a>.</li>
  305. <li>Bring back the <a href="manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
  306. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0...v3.01">list of patches</a>.</li>
  307. </ul>
  308. <p class="rel">10-12-2012: <a href="http://codemirror.net/codemirror-3.0.zip">Version 3.0</a>:</p>
  309. <p class="rel-note"><strong>New major version</strong>. Only
  310. partially backwards-compatible. See
  311. the <a href="upgrade_v3.html">upgrading guide</a> for more
  312. information. Changes since release candidate 2:</p>
  313. <ul class="rel-note">
  314. <li>Rewritten VIM mode.</li>
  315. <li>Fix a few minor scrolling and sizing issues.</li>
  316. <li>Work around Safari segfault when dragging.</li>
  317. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0rc2...v3.0">list of patches</a>.</li>
  318. </ul>
  319. <p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-3.0rc2.zip">Version 3.0, release candidate 2</a>:</p>
  320. <ul class="rel-note">
  321. <li>New mode: <a href="../mode/http/index.html">HTTP</a>.</li>
  322. <li>Improved handling of selection anchor position.</li>
  323. <li>Improve IE performance on longer lines.</li>
  324. <li>Reduce gutter glitches during horiz. scrolling.</li>
  325. <li>Add <a href="manual.html#addKeyMap"><code>addKeyMap</code></a> and <a href="manual.html#removeKeyMap"><code>removeKeyMap</code></a> methods.</li>
  326. <li>Rewrite <code>formatting</code> and <code>closetag</code> add-ons.</li>
  327. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0rc1...v3.0rc2">list of patches</a>.</li>
  328. </ul>
  329. <p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-3.0rc1.zip">Version 3.0, release candidate 1</a>:</p>
  330. <ul class="rel-note">
  331. <li>New theme: <a href="../demo/theme.html?solarized%20light">Solarized</a>.</li>
  332. <li>Introduce <a href="manual.html#addLineClass"><code>addLineClass</code></a>
  333. and <a href="manual.html#removeLineClass"><code>removeLineClass</code></a>,
  334. drop <code>setLineClass</code>.</li>
  335. <li>Add a <em>lot</em> of
  336. new <a href="manual.html#markText">options for marked text</a>
  337. (read-only, atomic, collapsed, widget replacement).</li>
  338. <li>Remove the old code folding interface in favour of these new ranges.</li>
  339. <li>Add <a href="manual.html#isClean"><code>isClean</code></a>/<a href="manual.html#markClean"><code>markClean</code></a> methods.</li>
  340. <li>Remove <code>compoundChange</code> method, use better undo-event-combining heuristic.</li>
  341. <li>Improve scrolling performance smoothness.</li>
  342. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0beta2...v3.0rc1">list of patches</a>.</li>
  343. </ul>
  344. <p class="rel">22-10-2012: <a href="http://codemirror.net/codemirror-3.0beta2.zip">Version 3.0, beta 2</a>:</p>
  345. <ul class="rel-note">
  346. <li>Fix page-based coordinate computation.</li>
  347. <li>Fix firing of <a href="manual.html#event_gutterClick"><code>gutterClick</code></a> event.</li>
  348. <li>Add <a href="manual.html#option_cursorHeight"><code>cursorHeight</code></a> option.</li>
  349. <li>Fix bi-directional text regression.</li>
  350. <li>Add <a href="manual.html#option_viewportMargin"><code>viewportMargin</code></a> option.</li>
  351. <li>Directly handle mousewheel events (again, hopefully better).</li>
  352. <li>Make vertical cursor movement more robust (through widgets, big line gaps).</li>
  353. <li>Add <a href="manual.html#option_flattenSpans"><code>flattenSpans</code></a> option.</li>
  354. <li>Many optimizations. Poor responsiveness should be fixed.</li>
  355. <li>Initialization in hidden state works again.</li>
  356. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0beta1...v3.0beta2">list of patches</a>.</li>
  357. </ul>
  358. <p class="rel">19-09-2012: <a href="http://codemirror.net/codemirror-3.0beta1.zip">Version 3.0, beta 1</a>:</p>
  359. <ul class="rel-note">
  360. <li>Bi-directional text support.</li>
  361. <li>More powerful gutter model.</li>
  362. <li>Support for arbitrary text/widget height.</li>
  363. <li>In-line widgets.</li>
  364. <li>Generalized event handling.</li>
  365. </ul>
  366. </section>
  367. <section id=v2>
  368. <h2>Version 2.x</h2>
  369. <p class="rel">21-01-2013: <a href="http://codemirror.net/codemirror-2.38.zip">Version 2.38</a>:</p>
  370. <p class="rel-note">Integrate some bugfixes, enhancements to the vim keymap, and new
  371. modes
  372. (<a href="../mode/d/index.html">D</a>, <a href="../mode/sass/index.html">Sass</a>, <a href="../mode/apl/index.html">APL</a>)
  373. from the v3 branch.</p>
  374. <p class="rel">20-12-2012: <a href="http://codemirror.net/codemirror-2.37.zip">Version 2.37</a>:</p>
  375. <ul class="rel-note">
  376. <li>New mode: <a href="../mode/sql/index.html">SQL</a> (will replace <a href="../mode/plsql/index.html">plsql</a> and <a href="../mode/mysql/index.html">mysql</a> modes).</li>
  377. <li>Further work on the new VIM mode.</li>
  378. <li>Fix Cmd/Ctrl keys on recent Operas on OS X.</li>
  379. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v2.36...v2.37">list of patches</a>.</li>
  380. </ul>
  381. <p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-2.36.zip">Version 2.36</a>:</p>
  382. <ul class="rel-note">
  383. <li>New mode: <a href="../mode/z80/index.html">Z80 assembly</a>.</li>
  384. <li>New theme: <a href="../demo/theme.html?twilight">Twilight</a>.</li>
  385. <li>Add command-line compression helper.</li>
  386. <li>Make <a href="manual.html#scrollIntoView"><code>scrollIntoView</code></a> public.</li>
  387. <li>Add <a href="manual.html#defaultTextHeight"><code>defaultTextHeight</code></a> method.</li>
  388. <li>Various extensions to the vim keymap.</li>
  389. <li>Make <a href="../mode/php/index.html">PHP mode</a> build on <a href="../mode/htmlmixed/index.html">mixed HTML mode</a>.</li>
  390. <li>Add <a href="manual.html#addon_continuecomment">comment-continuing</a> add-on.</li>
  391. <li>Full <a href="../https://github.com/marijnh/CodeMirror/compare/v2.35...v2.36">list of patches</a>.</li>
  392. </ul>
  393. <p class="rel">22-10-2012: <a href="http://codemirror.net/codemirror-2.35.zip">Version 2.35</a>:</p>
  394. <ul class="rel-note">
  395. <li>New (sub) mode: <a href="../mode/javascript/typescript.html">TypeScript</a>.</li>
  396. <li>Don't overwrite (insert key) when pasting.</li>
  397. <li>Fix several bugs in <a href="manual.html#markText"><code>markText</code></a>/undo interaction.</li>
  398. <li>Better indentation of JavaScript code without semicolons.</li>
  399. <li>Add <a href="manual.html#defineInitHook"><code>defineInitHook</code></a> function.</li>
  400. <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v2.34...v2.35">list of patches</a>.</li>
  401. </ul>
  402. <p class="rel">19-09-2012: <a href="http://codemirror.net/codemirror-2.34.zip">Version 2.34</a>:</p>
  403. <ul class="rel-note">
  404. <li>New mode: <a href="../mode/commonlisp/index.html">Common Lisp</a>.</li>
  405. <li>Fix right-click select-all on most browsers.</li>
  406. <li>Change the way highlighting happens:<br>&nbsp; Saves memory and CPU cycles.<br>&nbsp; <code>compareStates</code> is no longer needed.<br>&nbsp; <code>onHighlightComplete</code> no longer works.</li>
  407. <li>Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.</li>
  408. <li>Add a <a href="manual.html#version"><code>CodeMirror.version</code></a> property.</li>
  409. <li>More robust handling of nested modes in <a href="../demo/formatting.html">formatting</a> and <a href="../demo/closetag.html">closetag</a> plug-ins.</li>
  410. <li>Un/redo now preserves <a href="manual.html#markText">marked text</a> and bookmarks.</li>
  411. <li><a href="https://github.com/marijnh/CodeMirror/compare/v2.33...v2.34">Full list</a> of patches.</li>
  412. </ul>
  413. <p class="rel">23-08-2012: <a href="http://codemirror.net/codemirror-2.33.zip">Version 2.33</a>:</p>
  414. <ul class="rel-note">
  415. <li>New mode: <a href="../mode/sieve/index.html">Sieve</a>.</li>
  416. <li>New <a href="manual.html#getViewport"><code>getViewPort</code></a> and <a href="manual.html#option_onViewportChange"><code>onViewportChange</code></a> API.</li>
  417. <li><a href="manual.html#option_cursorBlinkRate">Configurable</a> cursor blink rate.</li>
  418. <li>Make binding a key to <code>false</code> disabling handling (again).</li>
  419. <li>Show non-printing characters as red dots.</li>
  420. <li>More tweaks to the scrolling model.</li>
  421. <li>Expanded testsuite. Basic linter added.</li>
  422. <li>Remove most uses of <code>innerHTML</code>. Remove <code>CodeMirror.htmlEscape</code>.</li>
  423. <li><a href="https://github.com/marijnh/CodeMirror/compare/v2.32...v2.33">Full list</a> of patches.</li>
  424. </ul>
  425. <p class="rel">23-07-2012: <a href="http://codemirror.net/codemirror-2.32.zip">Version 2.32</a>:</p>
  426. <p class="rel-note">Emergency fix for a bug where an editor with
  427. line wrapping on IE will break when there is <em>no</em>
  428. scrollbar.</p>
  429. <p class="rel">20-07-2012: <a href="http://codemirror.net/codemirror-2.31.zip">Version 2.31</a>:</p>
  430. <ul class="rel-note">
  431. <li>New modes: <a href="../mode/ocaml/index.html">OCaml</a>, <a href="../mode/haxe/index.html">Haxe</a>, and <a href="../mode/vb/index.html">VB.NET</a>.</li>
  432. <li>Several fixes to the new scrolling model.</li>
  433. <li>Add a <a href="manual.html#setSize"><code>setSize</code></a> method for programmatic resizing.</li>
  434. <li>Add <a href="manual.html#getHistory"><code>getHistory</code></a> and <a href="manual.html#setHistory"><code>setHistory</code></a> methods.</li>
  435. <li>Allow custom line separator string in <a href="manual.html#getValue"><code>getValue</code></a> and <a href="manual.html#getRange"><code>getRange</code></a>.</li>
  436. <li>Support double- and triple-click drag, double-clicking whitespace.</li>
  437. <li>And more... <a href="https://github.com/marijnh/CodeMirror/compare/v2.3...v2.31">(all patches)</a></li>
  438. </ul>
  439. <p class="rel">22-06-2012: <a href="http://codemirror.net/codemirror-2.3.zip">Version 2.3</a>:</p>
  440. <ul class="rel-note">
  441. <li><strong>New scrollbar implementation</strong>. Should flicker less. Changes DOM structure of the editor.</li>
  442. <li>New theme: <a href="../demo/theme.html?vibrant-ink">vibrant-ink</a>.</li>
  443. <li>Many extensions to the VIM keymap (including text objects).</li>
  444. <li>Add <a href="../demo/multiplex.html">mode-multiplexing</a> utility script.</li>
  445. <li>Fix bug where right-click paste works in read-only mode.</li>
  446. <li>Add a <a href="manual.html#getScrollInfo"><code>getScrollInfo</code></a> method.</li>
  447. <li>Lots of other <a href="https://github.com/marijnh/CodeMirror/compare/v2.25...v2.3">fixes</a>.</li>
  448. </ul>
  449. <p class="rel">23-05-2012: <a href="http://codemirror.net/codemirror-2.25.zip">Version 2.25</a>:</p>
  450. <ul class="rel-note">
  451. <li>New mode: <a href="../mode/erlang/index.html">Erlang</a>.</li>
  452. <li><strong>Remove xmlpure mode</strong> (use <a href="../mode/xml/index.html">xml.js</a>).</li>
  453. <li>Fix line-wrapping in Opera.</li>
  454. <li>Fix X Windows middle-click paste in Chrome.</li>
  455. <li>Fix bug that broke pasting of huge documents.</li>
  456. <li>Fix backspace and tab key repeat in Opera.</li>
  457. </ul>
  458. <p class="rel">23-04-2012: <a href="http://codemirror.net/codemirror-2.24.zip">Version 2.24</a>:</p>
  459. <ul class="rel-note">
  460. <li><strong>Drop support for Internet Explorer 6</strong>.</li>
  461. <li>New
  462. modes: <a href="../mode/shell/index.html">Shell</a>, <a href="../mode/tiki/index.html">Tiki
  463. wiki</a>, <a href="../mode/pig/index.html">Pig Latin</a>.</li>
  464. <li>New themes: <a href="../demo/theme.html?ambiance">Ambiance</a>, <a href="../demo/theme.html?blackboard">Blackboard</a>.</li>
  465. <li>More control over drag/drop
  466. with <a href="manual.html#option_dragDrop"><code>dragDrop</code></a>
  467. and <a href="manual.html#option_onDragEvent"><code>onDragEvent</code></a>
  468. options.</li>
  469. <li>Make HTML mode a bit less pedantic.</li>
  470. <li>Add <a href="manual.html#compoundChange"><code>compoundChange</code></a> API method.</li>
  471. <li>Several fixes in undo history and line hiding.</li>
  472. <li>Remove (broken) support for <code>catchall</code> in key maps,
  473. add <code>nofallthrough</code> boolean field instead.</li>
  474. </ul>
  475. <p class="rel">26-03-2012: <a href="http://codemirror.net/codemirror-2.23.zip">Version 2.23</a>:</p>
  476. <ul class="rel-note">
  477. <li>Change <strong>default binding for tab</strong> <a href="javascript:void(document.getElementById('tabbinding').style.display='')">[more]</a>
  478. <div style="display: none" id=tabbinding>
  479. Starting in 2.23, these bindings are default:
  480. <ul><li>Tab: Insert tab character</li>
  481. <li>Shift-tab: Reset line indentation to default</li>
  482. <li>Ctrl/Cmd-[: Reduce line indentation (old tab behaviour)</li>
  483. <li>Ctrl/Cmd-]: Increase line indentation (old shift-tab behaviour)</li>
  484. </ul>
  485. </div>
  486. </li>
  487. <li>New modes: <a href="../mode/xquery/index.html">XQuery</a> and <a href="../mode/vbscript/index.html">VBScript</a>.</li>
  488. <li>Two new themes: <a href="../mode/less/index.html">lesser-dark</a> and <a href="../mode/xquery/index.html">xq-dark</a>.</li>
  489. <li>Differentiate between background and text styles in <a href="manual.html#setLineClass"><code>setLineClass</code></a>.</li>
  490. <li>Fix drag-and-drop in IE9+.</li>
  491. <li>Extend <a href="manual.html#charCoords"><code>charCoords</code></a>
  492. and <a href="manual.html#cursorCoords"><code>cursorCoords</code></a> with a <code>mode</code> argument.</li>
  493. <li>Add <a href="manual.html#option_autofocus"><code>autofocus</code></a> option.</li>
  494. <li>Add <a href="manual.html#findMarksAt"><code>findMarksAt</code></a> method.</li>
  495. </ul>
  496. <p class="rel">27-02-2012: <a href="http://codemirror.net/codemirror-2.22.zip">Version 2.22</a>:</p>
  497. <ul class="rel-note">
  498. <li>Allow <a href="manual.html#keymaps">key handlers</a> to pass up events, allow binding characters.</li>
  499. <li>Add <a href="manual.html#option_autoClearEmptyLines"><code>autoClearEmptyLines</code></a> option.</li>
  500. <li>Properly use tab stops when rendering tabs.</li>
  501. <li>Make PHP mode more robust.</li>
  502. <li>Support indentation blocks in <a href="manual.html#addon_foldcode">code folder</a>.</li>
  503. <li>Add a script for <a href="manual.html#addon_match-highlighter">highlighting instances of the selection</a>.</li>
  504. <li>New <a href="../mode/properties/index.html">.properties</a> mode.</li>
  505. <li>Fix many bugs.</li>
  506. </ul>
  507. <p class="rel">27-01-2012: <a href="http://codemirror.net/codemirror-2.21.zip">Version 2.21</a>:</p>
  508. <ul class="rel-note">
  509. <li>Added <a href="../mode/less/index.html">LESS</a>, <a href="../mode/mysql/index.html">MySQL</a>,
  510. <a href="../mode/go/index.html">Go</a>, and <a href="../mode/verilog/index.html">Verilog</a> modes.</li>
  511. <li>Add <a href="manual.html#option_smartIndent"><code>smartIndent</code></a>
  512. option.</li>
  513. <li>Support a cursor in <a href="manual.html#option_readOnly"><code>readOnly</code></a>-mode.</li>
  514. <li>Support assigning multiple styles to a token.</li>
  515. <li>Use a new approach to drawing the selection.</li>
  516. <li>Add <a href="manual.html#scrollTo"><code>scrollTo</code></a> method.</li>
  517. <li>Allow undo/redo events to span non-adjacent lines.</li>
  518. <li>Lots and lots of bugfixes.</li>
  519. </ul>
  520. <p class="rel">20-12-2011: <a href="http://codemirror.net/codemirror-2.2.zip">Version 2.2</a>:</p>
  521. <ul class="rel-note">
  522. <li>Slightly incompatible API changes. Read <a href="upgrade_v2.2.html">this</a>.</li>
  523. <li>New approach
  524. to <a href="manual.html#option_extraKeys">binding</a> keys,
  525. support for <a href="manual.html#option_keyMap">custom
  526. bindings</a>.</li>
  527. <li>Support for overwrite (insert).</li>
  528. <li><a href="manual.html#option_tabSize">Custom-width</a>
  529. and <a href="../demo/visibletabs.html">stylable</a> tabs.</li>
  530. <li>Moved more code into <a href="manual.html#addons">add-on scripts</a>.</li>
  531. <li>Support for sane vertical cursor movement in wrapped lines.</li>
  532. <li>More reliable handling of
  533. editing <a href="manual.html#markText">marked text</a>.</li>
  534. <li>Add minimal <a href="../demo/emacs.html">emacs</a>
  535. and <a href="../demo/vim.html">vim</a> bindings.</li>
  536. <li>Rename <code>coordsFromIndex</code>
  537. to <a href="manual.html#posFromIndex"><code>posFromIndex</code></a>,
  538. add <a href="manual.html#indexFromPos"><code>indexFromPos</code></a>
  539. method.</li>
  540. </ul>
  541. <p class="rel">21-11-2011: <a href="http://codemirror.net/codemirror-2.18.zip">Version 2.18</a>:</p>
  542. <p class="rel-note">Fixes <code>TextMarker.clear</code>, which is broken in 2.17.</p>
  543. <p class="rel">21-11-2011: <a href="http://codemirror.net/codemirror-2.17.zip">Version 2.17</a>:</p>
  544. <ul class="rel-note">
  545. <li>Add support for <a href="manual.html#option_lineWrapping">line
  546. wrapping</a> and <a href="manual.html#hideLine">code
  547. folding</a>.</li>
  548. <li>Add <a href="../mode/gfm/index.html">Github-style Markdown</a> mode.</li>
  549. <li>Add <a href="../theme/monokai.css">Monokai</a>
  550. and <a href="../theme/rubyblue.css">Rubyblue</a> themes.</li>
  551. <li>Add <a href="manual.html#setBookmark"><code>setBookmark</code></a> method.</li>
  552. <li>Move some of the demo code into reusable components
  553. under <a href="../addon/"><code>lib/util</code></a>.</li>
  554. <li>Make screen-coord-finding code faster and more reliable.</li>
  555. <li>Fix drag-and-drop in Firefox.</li>
  556. <li>Improve support for IME.</li>
  557. <li>Speed up content rendering.</li>
  558. <li>Fix browser's built-in search in Webkit.</li>
  559. <li>Make double- and triple-click work in IE.</li>
  560. <li>Various fixes to modes.</li>
  561. </ul>
  562. <p class="rel">27-10-2011: <a href="http://codemirror.net/codemirror-2.16.zip">Version 2.16</a>:</p>
  563. <ul class="rel-note">
  564. <li>Add <a href="../mode/perl/index.html">Perl</a>, <a href="../mode/rust/index.html">Rust</a>, <a href="../mode/tiddlywiki/index.html">TiddlyWiki</a>, and <a href="../mode/groovy/index.html">Groovy</a> modes.</li>
  565. <li>Dragging text inside the editor now moves, rather than copies.</li>
  566. <li>Add a <a href="manual.html#coordsFromIndex"><code>coordsFromIndex</code></a> method.</li>
  567. <li><strong>API change</strong>: <code>setValue</code> now no longer clears history. Use <a href="manual.html#clearHistory"><code>clearHistory</code></a> for that.</li>
  568. <li><strong>API change</strong>: <a href="manual.html#markText"><code>markText</code></a> now
  569. returns an object with <code>clear</code> and <code>find</code>
  570. methods. Marked text is now more robust when edited.</li>
  571. <li>Fix editing code with tabs in Internet Explorer.</li>
  572. </ul>
  573. <p class="rel">26-09-2011: <a href="http://codemirror.net/codemirror-2.15.zip">Version 2.15</a>:</p>
  574. <p class="rel-note">Fix bug that snuck into 2.14: Clicking the
  575. character that currently has the cursor didn't re-focus the
  576. editor.</p>
  577. <p class="rel">26-09-2011: <a href="http://codemirror.net/codemirror-2.14.zip">Version 2.14</a>:</p>
  578. <ul class="rel-note">
  579. <li>Add <a href="../mode/clojure/index.html">Clojure</a>, <a href="../mode/pascal/index.html">Pascal</a>, <a href="../mode/ntriples/index.html">NTriples</a>, <a href="../mode/jinja2/index.html">Jinja2</a>, and <a href="../mode/markdown/index.html">Markdown</a> modes.</li>
  580. <li>Add <a href="../theme/cobalt.css">Cobalt</a> and <a href="../theme/eclipse.css">Eclipse</a> themes.</li>
  581. <li>Add a <a href="manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
  582. <li>Fix bug with <code>setValue</code> breaking cursor movement.</li>
  583. <li>Make gutter updates much more efficient.</li>
  584. <li>Allow dragging of text out of the editor (on modern browsers).</li>
  585. </ul>
  586. <p class="rel">23-08-2011: <a href="http://codemirror.net/codemirror-2.13.zip">Version 2.13</a>:</p>
  587. <ul class="rel-note">
  588. <li>Add <a href="../mode/ruby/index.html">Ruby</a>, <a href="../mode/r/index.html">R</a>, <a href="../mode/coffeescript/index.html">CoffeeScript</a>, and <a href="../mode/velocity/index.html">Velocity</a> modes.</li>
  589. <li>Add <a href="manual.html#getGutterElement"><code>getGutterElement</code></a> to API.</li>
  590. <li>Several fixes to scrolling and positioning.</li>
  591. <li>Add <a href="manual.html#option_smartHome"><code>smartHome</code></a> option.</li>
  592. <li>Add an experimental <a href="../mode/xmlpure/index.html">pure XML</a> mode.</li>
  593. </ul>
  594. <p class="rel">25-07-2011: <a href="http://codemirror.net/codemirror-2.12.zip">Version 2.12</a>:</p>
  595. <ul class="rel-note">
  596. <li>Add a <a href="../mode/sparql/index.html">SPARQL</a> mode.</li>
  597. <li>Fix bug with cursor jumping around in an unfocused editor in IE.</li>
  598. <li>Allow key and mouse events to bubble out of the editor. Ignore widget clicks.</li>
  599. <li>Solve cursor flakiness after undo/redo.</li>
  600. <li>Fix block-reindent ignoring the last few lines.</li>
  601. <li>Fix parsing of multi-line attrs in XML mode.</li>
  602. <li>Use <code>innerHTML</code> for HTML-escaping.</li>
  603. <li>Some fixes to indentation in C-like mode.</li>
  604. <li>Shrink horiz scrollbars when long lines removed.</li>
  605. <li>Fix width feedback loop bug that caused the width of an inner DIV to shrink.</li>
  606. </ul>
  607. <p class="rel">04-07-2011: <a href="http://codemirror.net/codemirror-2.11.zip">Version 2.11</a>:</p>
  608. <ul class="rel-note">
  609. <li>Add a <a href="../mode/scheme/index.html">Scheme mode</a>.</li>
  610. <li>Add a <code>replace</code> method to search cursors, for cursor-preserving replacements.</li>
  611. <li>Make the <a href="../mode/clike/index.html">C-like mode</a> mode more customizable.</li>
  612. <li>Update XML mode to spot mismatched tags.</li>
  613. <li>Add <code>getStateAfter</code> API and <code>compareState</code> mode API methods for finer-grained mode magic.</li>
  614. <li>Add a <code>getScrollerElement</code> API method to manipulate the scrolling DIV.</li>
  615. <li>Fix drag-and-drop for Firefox.</li>
  616. <li>Add a C# configuration for the <a href="../mode/clike/index.html">C-like mode</a>.</li>
  617. <li>Add <a href="../demo/fullscreen.html">full-screen editing</a> and <a href="../demo/changemode.html">mode-changing</a> demos.</li>
  618. </ul>
  619. <p class="rel">07-06-2011: <a href="http://codemirror.net/codemirror-2.1.zip">Version 2.1</a>:</p>
  620. <p class="rel-note">Add
  621. a <a href="manual.html#option_theme">theme</a> system
  622. (<a href="../demo/theme.html">demo</a>). Note that this is not
  623. backwards-compatible—you'll have to update your styles and
  624. modes!</p>
  625. <p class="rel">07-06-2011: <a href="http://codemirror.net/codemirror-2.02.zip">Version 2.02</a>:</p>
  626. <ul class="rel-note">
  627. <li>Add a <a href="../mode/lua/index.html">Lua mode</a>.</li>
  628. <li>Fix reverse-searching for a regexp.</li>
  629. <li>Empty lines can no longer break highlighting.</li>
  630. <li>Rework scrolling model (the outer wrapper no longer does the scrolling).</li>
  631. <li>Solve horizontal jittering on long lines.</li>
  632. <li>Add <a href="../demo/runmode.html">runmode.js</a>.</li>
  633. <li>Immediately re-highlight text when typing.</li>
  634. <li>Fix problem with 'sticking' horizontal scrollbar.</li>
  635. </ul>
  636. <p class="rel">26-05-2011: <a href="http://codemirror.net/codemirror-2.01.zip">Version 2.01</a>:</p>
  637. <ul class="rel-note">
  638. <li>Add a <a href="../mode/smalltalk/index.html">Smalltalk mode</a>.</li>
  639. <li>Add a <a href="../mode/rst/index.html">reStructuredText mode</a>.</li>
  640. <li>Add a <a href="../mode/python/index.html">Python mode</a>.</li>
  641. <li>Add a <a href="../mode/plsql/index.html">PL/SQL mode</a>.</li>
  642. <li><code>coordsChar</code> now works</li>
  643. <li>Fix a problem where <code>onCursorActivity</code> interfered with <code>onChange</code>.</li>
  644. <li>Fix a number of scrolling and mouse-click-position glitches.</li>
  645. <li>Pass information about the changed lines to <code>onChange</code>.</li>
  646. <li>Support cmd-up/down on OS X.</li>
  647. <li>Add triple-click line selection.</li>
  648. <li>Don't handle shift when changing the selection through the API.</li>
  649. <li>Support <code>"nocursor"</code> mode for <code>readOnly</code> option.</li>
  650. <li>Add an <code>onHighlightComplete</code> option.</li>
  651. <li>Fix the context menu for Firefox.</li>
  652. </ul>
  653. <p class="rel">28-03-2011: <a href="http://codemirror.net/codemirror-2.0.zip">Version 2.0</a>:</p>
  654. <p class="rel-note">CodeMirror 2 is a complete rewrite that's
  655. faster, smaller, simpler to use, and less dependent on browser
  656. quirks. See <a href="internals.html">this</a>
  657. and <a href="http://groups.google.com/group/codemirror/browse_thread/thread/5a8e894024a9f580">this</a>
  658. for more information.</p>
  659. <p class="rel">22-02-2011: <a href="https://github.com/marijnh/codemirror/tree/beta2">Version 2.0 beta 2</a>:</p>
  660. <p class="rel-note">Somewhat more mature API, lots of bugs shaken out.</p>
  661. <p class="rel">17-02-2011: <a href="http://codemirror.net/codemirror-0.94.zip">Version 0.94</a>:</p>
  662. <ul class="rel-note">
  663. <li><code>tabMode: "spaces"</code> was modified slightly (now indents when something is selected).</li>
  664. <li>Fixes a bug that would cause the selection code to break on some IE versions.</li>
  665. <li>Disabling spell-check on WebKit browsers now works.</li>
  666. </ul>
  667. <p class="rel">08-02-2011: <a href="http://codemirror.net/">Version 2.0 beta 1</a>:</p>
  668. <p class="rel-note">CodeMirror 2 is a complete rewrite of
  669. CodeMirror, no longer depending on an editable frame.</p>
  670. <p class="rel">19-01-2011: <a href="http://codemirror.net/codemirror-0.93.zip">Version 0.93</a>:</p>
  671. <ul class="rel-note">
  672. <li>Added a <a href="contrib/regex/index.html">Regular Expression</a> parser.</li>
  673. <li>Fixes to the PHP parser.</li>
  674. <li>Support for regular expression in search/replace.</li>
  675. <li>Add <code>save</code> method to instances created with <code>fromTextArea</code>.</li>
  676. <li>Add support for MS T-SQL in the SQL parser.</li>
  677. <li>Support use of CSS classes for highlighting brackets.</li>
  678. <li>Fix yet another hang with line-numbering in hidden editors.</li>
  679. </ul>
  680. </section>
  681. <section id=v1>
  682. <h2>Version 0.x</h2>
  683. <p class="rel">28-03-2011: <a href="http://codemirror.net/codemirror-1.0.zip">Version 1.0</a>:</p>
  684. <ul class="rel-note">
  685. <li>Fix error when debug history overflows.</li>
  686. <li>Refine handling of C# verbatim strings.</li>
  687. <li>Fix some issues with JavaScript indentation.</li>
  688. </ul>
  689. <p class="rel">17-12-2010: <a href="http://codemirror.net/codemirror-0.92.zip">Version 0.92</a>:</p>
  690. <ul class="rel-note">
  691. <li>Make CodeMirror work in XHTML documents.</li>
  692. <li>Fix bug in handling of backslashes in Python strings.</li>
  693. <li>The <code>styleNumbers</code> option is now officially
  694. supported and documented.</li>
  695. <li><code>onLineNumberClick</code> option added.</li>
  696. <li>More consistent names <code>onLoad</code> and
  697. <code>onCursorActivity</code> callbacks. Old names still work, but
  698. are deprecated.</li>
  699. <li>Add a <a href="contrib/freemarker/index.html">Freemarker</a> mode.</li>
  700. </ul>
  701. <p class="rel">11-11-2010: <a
  702. href="http://codemirror.net/codemirror-0.91.zip">Version 0.91</a>:</p>
  703. <ul class="rel-note">
  704. <li>Adds support for <a href="contrib/java">Java</a>.</li>
  705. <li>Small additions to the <a href="contrib/php">PHP</a> and <a href="contrib/sql">SQL</a> parsers.</li>
  706. <li>Work around various <a href="https://bugs.webkit.org/show_bug.cgi?id=47806">Webkit</a> <a href="https://bugs.webkit.org/show_bug.cgi?id=23474">issues</a>.</li>
  707. <li>Fix <code>toTextArea</code> to update the code in the textarea.</li>
  708. <li>Add a <code>noScriptCaching</code> option (hack to ease development).</li>
  709. <li>Make sub-modes of <a href="mixedtest.html">HTML mixed</a> mode configurable.</li>
  710. </ul>
  711. <p class="rel">02-10-2010: <a
  712. href="http://codemirror.net/codemirror-0.9.zip">Version 0.9</a>:</p>
  713. <ul class="rel-note">
  714. <li>Add support for searching backwards.</li>
  715. <li>There are now parsers for <a href="contrib/scheme/index.html">Scheme</a>, <a href="contrib/xquery/index.html">XQuery</a>, and <a href="contrib/ometa/index.html">OmetaJS</a>.</li>
  716. <li>Makes <code>height: "dynamic"</code> more robust.</li>
  717. <li>Fixes bug where paste did not work on OS X.</li>
  718. <li>Add a <code>enterMode</code> and <code>electricChars</code> options to make indentation even more customizable.</li>
  719. <li>Add <code>firstLineNumber</code> option.</li>
  720. <li>Fix bad handling of <code>@media</code> rules by the CSS parser.</li>
  721. <li>Take a new, more robust approach to working around the invisible-last-line bug in WebKit.</li>
  722. </ul>
  723. <p class="rel">22-07-2010: <a
  724. href="http://codemirror.net/codemirror-0.8.zip">Version 0.8</a>:</p>
  725. <ul class="rel-note">
  726. <li>Add a <code>cursorCoords</code> method to find the screen
  727. coordinates of the cursor.</li>
  728. <li>A number of fixes and support for more syntax in the PHP parser.</li>
  729. <li>Fix indentation problem with JSON-mode JS parser in Webkit.</li>
  730. <li>Add a <a href="compress.html">minification</a> UI.</li>
  731. <li>Support a <code>height: dynamic</code> mode, where the editor's
  732. height will adjust to the size of its content.</li>
  733. <li>Better support for IME input mode.</li>
  734. <li>Fix JavaScript parser getting confused when seeing a no-argument
  735. function call.</li>
  736. <li>Have CSS parser see the difference between selectors and other
  737. identifiers.</li>
  738. <li>Fix scrolling bug when pasting in a horizontally-scrolled
  739. editor.</li>
  740. <li>Support <code>toTextArea</code> method in instances created with
  741. <code>fromTextArea</code>.</li>
  742. <li>Work around new Opera cursor bug that causes the cursor to jump
  743. when pressing backspace at the end of a line.</li>
  744. </ul>
  745. <p class="rel">27-04-2010: <a
  746. href="http://codemirror.net/codemirror-0.67.zip">Version
  747. 0.67</a>:</p>
  748. <p class="rel-note">More consistent page-up/page-down behaviour
  749. across browsers. Fix some issues with hidden editors looping forever
  750. when line-numbers were enabled. Make PHP parser parse
  751. <code>"\\"</code> correctly. Have <code>jumpToLine</code> work on
  752. line handles, and add <code>cursorLine</code> function to fetch the
  753. line handle where the cursor currently is. Add new
  754. <code>setStylesheet</code> function to switch style-sheets in a
  755. running editor.</p>
  756. <p class="rel">01-03-2010: <a
  757. href="http://codemirror.net/codemirror-0.66.zip">Version
  758. 0.66</a>:</p>
  759. <p class="rel-note">Adds <code>removeLine</code> method to API.
  760. Introduces the <a href="contrib/plsql/index.html">PLSQL parser</a>.
  761. Marks XML errors by adding (rather than replacing) a CSS class, so
  762. that they can be disabled by modifying their style. Fixes several
  763. selection bugs, and a number of small glitches.</p>
  764. <p class="rel">12-11-2009: <a
  765. href="http://codemirror.net/codemirror-0.65.zip">Version
  766. 0.65</a>:</p>
  767. <p class="rel-note">Add support for having both line-wrapping and
  768. line-numbers turned on, make paren-highlighting style customisable
  769. (<code>markParen</code> and <code>unmarkParen</code> config
  770. options), work around a selection bug that Opera
  771. <em>re</em>introduced in version 10.</p>
  772. <p class="rel">23-10-2009: <a
  773. href="http://codemirror.net/codemirror-0.64.zip">Version
  774. 0.64</a>:</p>
  775. <p class="rel-note">Solves some issues introduced by the
  776. paste-handling changes from the previous release. Adds
  777. <code>setSpellcheck</code>, <code>setTextWrapping</code>,
  778. <code>setIndentUnit</code>, <code>setUndoDepth</code>,
  779. <code>setTabMode</code>, and <code>setLineNumbers</code> to
  780. customise a running editor. Introduces an <a
  781. href="contrib/sql/index.html">SQL</a> parser. Fixes a few small
  782. problems in the <a href="contrib/python/index.html">Python</a>
  783. parser. And, as usual, add workarounds for various newly discovered
  784. browser incompatibilities.</p>
  785. <p class="rel"><em>31-08-2009</em>: <a href="http://codemirror.net/codemirror-0.63.zip">Version 0.63</a>:</p>
  786. <p class="rel-note"> Overhaul of paste-handling (less fragile), fixes for several
  787. serious IE8 issues (cursor jumping, end-of-document bugs) and a number
  788. of small problems.</p>
  789. <p class="rel"><em>30-05-2009</em>: <a href="http://codemirror.net/codemirror-0.62.zip">Version 0.62</a>:</p>
  790. <p class="rel-note">Introduces <a href="contrib/python/index.html">Python</a>
  791. and <a href="contrib/lua/index.html">Lua</a> parsers. Add
  792. <code>setParser</code> (on-the-fly mode changing) and
  793. <code>clearHistory</code> methods. Make parsing passes time-based
  794. instead of lines-based (see the <code>passTime</code> option).</p>
  795. </section>
  796. </article>