releases.html 117 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674
  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="https://codemirror.net"><h1>CodeMirror</h1><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/codemirror/codemirror">Code</a>
  12. </ul>
  13. <ul>
  14. <li><a class=active data-default="true" href="#v5">Version 5.x</a>
  15. <li><a href="#v4">Version 4.x</a>
  16. <li><a href="#v3">Version 3.x</a>
  17. <li><a href="#v2">Version 2.x</a>
  18. <li><a href="#v1">Version 0.x</a>
  19. </ul>
  20. </div>
  21. <article>
  22. <h2>Release notes and version history</h2>
  23. <section id=v5 class=first>
  24. <h2>Version 5.x</h2>
  25. <p class="rel">20-09-2018: <a href="https://codemirror.net/codemirror-5.40.2.zip">Version 5.40.2</a>:</p>
  26. <ul class="rel-note">
  27. <li>Fix firing of <code>gutterContextMenu</code> event on Firefox.</li>
  28. <li>Add <code>hintWords</code> (basic completion) helper to <a href="https://codemirror.net/mode/clojure/index.html">clojure</a>, <a href="https://codemirror.net/mode/mllike/index.html">mllike</a>, <a href="https://codemirror.net/mode/julia/">julia</a>, <a href="https://codemirror.net/mode/shell/">shell</a>, and <a href="https://codemirror.net/mode/r/">r</a> modes.</li>
  29. <li><a href="https://codemirror.net/mode/clojure/index.html">clojure mode</a>: Clean up and improve.</li>
  30. </ul>
  31. <p class="rel">25-08-2018: <a href="https://codemirror.net/codemirror-5.40.0.zip">Version 5.40.0</a>:</p>
  32. <ul class="rel-note">
  33. <li>New method <a href="https://codemirror.net/doc/manual.html#phrase"><code>phrase</code></a> and option <a href="https://codemirror.net/doc/manual.html#option_phrases"><code>phrases</code></a> to make translating UI text in addons easier.</li>
  34. <li><a href="https://codemirror.net/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Fix issue where bracket-closing wouldn't work before punctuation.</li>
  35. <li><a href="https://codemirror.net/doc/manual.html#addon_panel">panel addon</a>: Fix problem where replacing the last remaining panel dropped the newly added panel.</li>
  36. <li><a href="https://codemirror.net/doc/manual.html#addon_hardwrap">hardwrap addon</a>: Fix an infinite loop when the indention is greater than the target column.</li>
  37. <li><a href="https://codemirror.net/mode/jinja2/">jinja2</a> and <a href="https://codemirror.net/mode/markdown/">markdown</a> modes: Add comment metadata.</li>
  38. </ul>
  39. <p class="rel">20-07-2018: <a href="https://codemirror.net/codemirror-5.39.2.zip">Version 5.39.2</a>:</p>
  40. <ul class="rel-note">
  41. <li>Fix issue where when you pass the document as a <code>Doc</code> instance to the <code>CodeMirror</code> constructor, the <code>mode</code> option was ignored.</li>
  42. <li>Fix bug where line height could be computed wrong with a line widget below a collapsed line.</li>
  43. <li>Fix overeager <code>.npmignore</code> dropping the <code>bin/source-highlight</code> utility from the distribution.</li>
  44. <li><a href="https://codemirror.net/doc/manual.html#addon_show-hint">show-hint addon</a>: Fix behavior when backspacing to the start of the line with completions open.</li>
  45. </ul>
  46. <p class="rel">20-06-2018: <a href="https://codemirror.net/codemirror-5.39.0.zip">Version 5.39.0</a>:</p>
  47. <ul class="rel-note">
  48. <li>Fix issue that in some circumstances caused content to be clipped off at the bottom after a resize.</li>
  49. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Improve handling of blank lines in HTML tags.</li>
  50. <li><a href="https://codemirror.net/mode/stex/">stex mode</a>: Add an <code>inMathMode</code> option to start the mode in math mode.</li>
  51. </ul>
  52. <p class="rel">21-05-2018: <a href="https://codemirror.net/codemirror-5.38.0.zip">Version 5.38.0</a>:</p>
  53. <ul class="rel-note">
  54. <li>Improve reliability of noticing a missing mouseup event during dragging.</li>
  55. <li>Make sure <code>getSelection</code> is always called on the correct document.</li>
  56. <li>Fix interpretation of line breaks and non-breaking spaces inserted by renderer in contentEditable mode.</li>
  57. <li>Work around some browsers inexplicably making the fake scrollbars focusable.</li>
  58. <li>Make sure <code>coordsChar</code> doesn't return positions inside collapsed ranges.</li>
  59. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Support block scopes, bindingless catch, bignum suffix, <code>s</code> regexp flag.</li>
  60. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Adjust a wasteful regexp.</li>
  61. <li><a href="https://codemirror.net/doc/manual.html#addon_show-hint">show-hint addon</a>: Allow opening the control without any item selected.</li>
  62. <li>New theme: <a href="https://codemirror.net/demo/theme.html#darcula">darcula</a>.</li>
  63. <li><a href="https://codemirror.net/doc/manual.html#addon_dialog">dialog addon</a>: Add a CSS class (<code>dialog-opened</code>) to the editor when a dialog is open.</li>
  64. </ul>
  65. <p class="rel">20-04-2018: <a href="https://codemirror.net/codemirror-5.37.0.zip">Version 5.37.0</a>:</p>
  66. <ul class="rel-note">
  67. <li>Suppress keypress events during composition, for platforms that don't properly do this themselves.</li>
  68. <li><a href="https://codemirror.net/demo/folding.html">xml-fold addon</a>: Improve handling of line-wrapped opening tags.</li>
  69. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Improve TypeScript support.</li>
  70. <li><a href="https://codemirror.net/mode/python/">python mode</a>: Highlight expressions inside format strings.</li>
  71. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Add support for '(' and ')' movement.</li>
  72. <li>New themes: <a href="https://codemirror.net/demo/theme.html#idea">idea</a>, <a href="https://codemirror.net/demo/theme.html#ssms">ssms</a>, <a href="https://codemirror.net/demo/theme.html#gruvbox-dark">gruvbox-dark</a>.</li>
  73. </ul>
  74. <p class="rel">20-03-2018: <a href="https://codemirror.net/codemirror-5.36.0.zip">Version 5.36.0</a>:</p>
  75. <ul class="rel-note">
  76. <li>Make sure all document-level event handlers are registered on the document that the editor is part of.</li>
  77. <li>Fix issue that prevented edits whose origin starts with <code>+</code> from being combined in history events for an editor-less document.</li>
  78. <li><a href="https://codemirror.net/demo/multiplex.html">multiplex addon</a>: Improve handling of indentation.</li>
  79. <li><a href="https://codemirror.net/doc/manual.html#addon_merge">merge addon</a>: Use CSS <code>:after</code> element to style the scroll-lock icon.</li>
  80. <li><a href="https://codemirror.net/doc/manual.html#addon_javascript-hint">javascript-hint addon</a>: Don't provide completions in JSON mode.</li>
  81. <li><a href="https://codemirror.net/doc/manual.html#addon_continuelist">continuelist addon</a>: Fix numbering error.</li>
  82. <li><a href="https://codemirror.net/doc/manual.html#addon_show-hint">show-hint addon</a>: Make <code>fromList</code> completion strategy act on the current token up to the cursor, rather than the entire token.</li>
  83. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Fix a regexp with potentially exponental complexity.</li>
  84. <li>New theme: <a href="https://codemirror.net/demo/theme.html#lucario">lucario</a>.</li>
  85. </ul>
  86. <p class="rel">20-02-2018: <a href="https://codemirror.net/codemirror-5.35.0.zip">Version 5.35.0</a>:</p>
  87. <ul class="rel-note">
  88. <li>Fix problem where selection undo might change read-only documents.</li>
  89. <li>Fix crash when calling <code>addLineWidget</code> on a document that has no attached editor.</li>
  90. <li><a href="https://codemirror.net/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Fix behavior of <code>^</code> in multiline regexp mode.</li>
  91. <li><a href="https://codemirror.net/doc/manual.html#addon_match-highlighter">match-highlighter addon</a>: Fix problem with matching words that have regexp special syntax in them.</li>
  92. <li><a href="https://codemirror.net/demo/sublime.html">sublime bindings</a>: Fix <code>addCursorToSelection</code> for short lines.</li>
  93. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Support alternative delimiters in replace command.</li>
  94. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Support TypeScript intersection types, dynamic <code>import</code>.</li>
  95. <li><a href="https://codemirror.net/mode/stex/">stex mode</a>: Fix parsing of <code>\(</code> <code>\)</code> delimiters, recognize more atom arguments.</li>
  96. <li><a href="https://codemirror.net/mode/haskell/">haskell mode</a>: Highlight more builtins, support <code>&lt;*</code> and <code>*&gt;</code>.</li>
  97. <li><a href="https://codemirror.net/mode/sql/">sql mode</a>: Make it possible to disable backslash escapes in strings for dialects that don't have them, do this for MS SQL.</li>
  98. <li><a href="https://codemirror.net/mode/dockerfile/">dockerfile mode</a>: Highlight strings and ports, recognize more instructions.</li>
  99. </ul>
  100. <p class="rel">29-01-2018: <a href="https://codemirror.net/codemirror-5.34.0.zip">Version 5.34.0</a>:</p>
  101. <ul class="rel-note">
  102. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Fix a problem where inline styles would persist across list items.</li>
  103. <li><a href="https://codemirror.net/demo/sublime.html">sublime bindings</a>: Fix the <code>toggleBookmark</code> command.</li>
  104. <li><a href="https://codemirror.net/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Improve behavior when closing triple quotes.</li>
  105. <li><a href="https://codemirror.net/demo/folding.html">xml-fold addon</a>: Fix folding of line-broken XML tags.</li>
  106. <li><a href="https://codemirror.net/mode/shell/">shell mode</a>: Better handling of nested quoting.</li>
  107. <li><a href="https://codemirror.net/demo/lint.html">javascript-lint addon</a>: Clean up and simplify.</li>
  108. <li><a href="https://codemirror.net/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Fix support for multiple editors at the same time.</li>
  109. <li>New themes: <a href="https://codemirror.net/demo/theme.html#oceanic-next">oceanic-next</a> and <a href="https://codemirror.net/demo/theme.html#shadowfox">shadowfox</a>.</li>
  110. </ul>
  111. <p class="rel">21-12-2017: <a href="https://codemirror.net/codemirror-5.33.0.zip">Version 5.33.0</a>:</p>
  112. <ul class="rel-note">
  113. <li><a href="https://codemirror.net/doc/manual.html#addon_lint">lint addon</a>: Make updates more efficient.</li>
  114. <li><a href="https://codemirror.net/mode/css/">css mode</a>: The mode is now properly case-insensitive.</li>
  115. <li><a href="https://codemirror.net/doc/manual.html#addon_continuelist">continuelist addon</a>: Fix broken handling of unordered lists introduced in previous release.</li>
  116. <li><a href="https://codemirror.net/mode/swift">swift</a> and <a href="https://codemirror.net/mode/clike/">scala</a> modes: Support nested block comments.</li>
  117. <li><a href="https://codemirror.net/mode/mllike/index.html">mllike mode</a>: Improve OCaml support.</li>
  118. <li><a href="https://codemirror.net/demo/sublime.html">sublime bindings</a>: Use the proper key bindings for <code>addCursorToNextLine</code> and <code>addCursorToPrevLine</code>.</li>
  119. <li><a href="https://codemirror.net/mode/jsx/index.html">jsx mode</a>: Support JSX fragments.</li>
  120. <li><a href="https://codemirror.net/demo/closetag.html">closetag addon</a>: Add an option to disable auto-indenting.</li>
  121. </ul>
  122. <p class="rel">22-11-2017: <a href="https://codemirror.net/codemirror-5.32.0.zip">Version 5.32.0</a>:</p>
  123. <ul class="rel-note">
  124. <li>Increase contrast on default bracket-matching colors.</li>
  125. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Recognize TypeScript type parameters for calls, type guards, and type parameter defaults. Improve handling of <code>enum</code> and <code>module</code> keywords.</li>
  126. <li><a href="https://codemirror.net/doc/manual.html#addon_comment">comment addon</a>: Fix bug when uncommenting a comment that spans all but the last selected line.</li>
  127. <li><a href="https://codemirror.net/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Fix bug in case folding.</li>
  128. <li><a href="https://codemirror.net/demo/emacs.html">emacs bindings</a>: Prevent single-character deletions from resetting the kill ring.</li>
  129. <li><a href="https://codemirror.net/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Tweak quote matching behavior.</li>
  130. <li><a href="https://codemirror.net/doc/manual.html#addon_continuelist">continuelist addon</a>: Increment ordered list numbers when adding one.</li>
  131. </ul>
  132. <p class="rel">20-10-2017: <a href="https://codemirror.net/codemirror-5.31.0.zip">Version 5.31.0</a>:</p>
  133. <ul class="rel-note">
  134. <li>Modes added with <a href="https://codemirror.net/doc/manual.html#addOverlay"><code>addOverlay</code></a> now have access to a <a href="https://codemirror.net/doc/manual.html#baseToken"><code>baseToken</code></a> method on their input stream, giving access to the tokens of the underlying mode.</li>
  135. <li>Further improve selection drawing and cursor motion in right-to-left documents.</li>
  136. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Fix ctrl-w behavior, support quote-dot and backtick-dot marks, make the wide cursor visible in contentEditable <a href="https://codemirror.net/doc/manual.html#option_contentEditable">input mode</a>.</li>
  137. <li><a href="https://codemirror.net/doc/manual.html#addon_continuecomment">continuecomment addon</a>: Fix bug when pressing enter after a single-line block comment.</li>
  138. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Fix issue with leaving indented fenced code blocks.</li>
  139. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Fix bad parsing of operators without spaces between them. Fix some corner cases around semicolon insertion and regexps.</li>
  140. </ul>
  141. <p class="rel">20-09-2017: <a href="https://codemirror.net/codemirror-5.30.0.zip">Version 5.30.0</a>:</p>
  142. <ul class="rel-note">
  143. <li>Fixed a number of issues with drawing right-to-left selections and mouse selection in bidirectional text.</li>
  144. <li><a href="https://codemirror.net/demo/search/">search addon</a>: Fix crash when restarting search after doing empty search.</li>
  145. <li><a href="http://cm/doc/manual.html#addon_mark-selection">mark-selection addon</a>: Fix off-by-one bug.</li>
  146. <li><a href="https://codemirror.net/demo/tern.html">tern addon</a>: Fix bad request made when editing at the bottom of a large document.</li>
  147. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Improve parsing in a number of corner cases.</li>
  148. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Fix crash when a sub-mode doesn't support indentation, allow uppercase X in task lists.</li>
  149. <li><a href="https://codemirror.net/mode/gfm/">gfm mode</a>: Don't highlight SHA1 'hashes' without numbers to avoid false positives.</li>
  150. <li><a href="https://codemirror.net/mode/soy/">soy mode</a>: Support injected data and <code>@param</code> in comments.</li>
  151. <li><a href="https://codemirror.net/demo/simplemode.html">simple mode addon</a>: Allow groups in regexps when <code>token</code> isn't an array.</li>
  152. </ul>
  153. <p class="rel">24-08-2017: <a href="https://codemirror.net/codemirror-5.29.0.zip">Version 5.29.0</a>:</p>
  154. <ul class="rel-note">
  155. <li>Fix crash in contentEditable input style when editing near a bookmark.</li>
  156. <li>Make sure change origins are preserved when splitting changes on <a href="https://codemirror.net/doc/manual.html#mark_readOnly">read-only marks</a>.</li>
  157. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: More support for TypeScript syntax.</li>
  158. <li><a href="https://codemirror.net/mode/d/">d mode</a>: Support nested comments.</li>
  159. <li><a href="https://codemirror.net/mode/python/">python mode</a>: Improve tokenizing of operators.</li>
  160. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Further improve CommonMark conformance.</li>
  161. <li><a href="https://codemirror.net/mode/css/">css mode</a>: Don't run comment tokens through the mode's state machine.</li>
  162. <li><a href="https://codemirror.net/mode/shell/">shell mode</a>: Allow strings to span lines.</li>
  163. <li><a href="https://codemirror.net/demo/search/">search addon</a>: Fix crash in persistent search when <code>extraKeys</code> is null.</li>
  164. </ul>
  165. <p class="rel">21-07-2017: <a href="https://codemirror.net/codemirror-5.28.0.zip">Version 5.28.0</a>:</p>
  166. <ul class="rel-note">
  167. <li>Fix copying of, or replacing editor content with, a single dash character when copying a big selection in some corner cases.</li>
  168. <li>Make <a href="https://codemirror.net/doc/manual.html#command_goLineLeft"><code>&quot;goLineLeft&quot;</code></a>/<code>&quot;goLineRight&quot;</code> behave better on wrapped lines.</li>
  169. <li><a href="https://codemirror.net/mode/sql/">sql mode</a>: Fix tokenizing of multi-dot operator and allow digits in subfield names.</li>
  170. <li><a href="https://codemirror.net/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Fix infinite loop on some composed character inputs.</li>
  171. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Make list parsing more CommonMark-compliant.</li>
  172. <li><a href="https://codemirror.net/mode/gfm/">gfm mode</a>: Highlight colon syntax for emoji.</li>
  173. </ul>
  174. <p class="rel">29-06-2017: <a href="https://codemirror.net/codemirror-5.27.4.zip">Version 5.27.4</a>:</p>
  175. <ul class="rel-note">
  176. <li>Fix crash when using mode lookahead.</li>
  177. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Don't block inner mode's indentation support.</li>
  178. </ul>
  179. <p class="rel">22-06-2017: <a href="https://codemirror.net/codemirror-5.27.2.zip">Version 5.27.2</a>:</p>
  180. <ul class="rel-note">
  181. <li>Fix crash in the <a href="https://codemirror.net/demo/simplemode.html">simple mode</a> addon.</li>
  182. </ul>
  183. <p class="rel">22-06-2017: <a href="https://codemirror.net/codemirror-5.27.0.zip">Version 5.27.0</a>:</p>
  184. <ul class="rel-note">
  185. <li>Fix infinite loop in forced display update.</li>
  186. <li>Properly disable the hidden textarea when <code>readOnly</code> is <code>&quot;nocursor&quot;</code>.</li>
  187. <li>Calling the <code>Doc</code> constructor without <code>new</code> works again.</li>
  188. <li><a href="https://codemirror.net/mode/sql/">sql mode</a>: Handle nested comments.</li>
  189. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Improve support for TypeScript syntax.</li>
  190. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Fix bug where markup was ignored on indented paragraph lines.</li>
  191. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Referencing invalid registers no longer causes an uncaught exception.</li>
  192. <li><a href="https://codemirror.net/mode/rust/">rust mode</a>: Add the correct MIME type.</li>
  193. <li><a href="https://codemirror.net/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Document options.</li>
  194. <li>Mouse button clicks can now be bound in keymaps by using names like <code>&quot;LeftClick&quot;</code> or <code>&quot;Ctrl-Alt-MiddleTripleClick&quot;</code>. When bound to a function, that function will be passed the position of the click as second argument.</li>
  195. <li>The behavior of mouse selection and dragging can now be customized with the <a href="https://codemirror.net/doc/manual.html#option_configureMouse"><code>configureMouse</code></a> option.</li>
  196. <li>Modes can now look ahead across line boundaries with the <a href="https://codemirror.net/doc/manual.html#StringStream"><code>StringStream</code></a><code>.lookahead</code> method.</li>
  197. <li>Introduces a <code>&quot;type&quot;</code> token type, makes modes that recognize types output it, and add styling for it to the themes.</li>
  198. <li>New <a href="https://codemirror.net/doc/manual.html#option_pasteLinesPerSelection"><code>pasteLinesPerSelection</code></a> option to control the behavior of pasting multiple lines into multiple selections.</li>
  199. <li><a href="https://codemirror.net/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Support multi-line regular expression matches, and normalize strings when matching.</li>
  200. </ul>
  201. <p class="rel">22-05-2017: <a href="https://codemirror.net/codemirror-5.26.0.zip">Version 5.26.0</a>:</p>
  202. <ul class="rel-note">
  203. <li>In textarea-mode, don't reset the input field during composition.</li>
  204. <li>More careful restoration of selections in widgets, during editor redraw.</li>
  205. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Parse line offsets in line or range specs.</li>
  206. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: More TypeScript parsing fixes.</li>
  207. <li><a href="https://codemirror.net/mode/julia/">julia mode</a>: Fix issue where the mode gets stuck.</li>
  208. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Understand cross-line links, parse all bracketed things as links.</li>
  209. <li><a href="https://codemirror.net/mode/soy/">soy mode</a>: Support single-quoted strings.</li>
  210. <li><a href="https://codemirror.net/mode/go/">go mode</a>: Don't try to indent inside strings or comments.</li>
  211. </ul>
  212. <p class="rel">20-04-2017: <a href="https://codemirror.net/codemirror-5.25.2.zip">Version 5.25.2</a>:</p>
  213. <ul class="rel-note">
  214. <li>Better handling of selections that cover the whole viewport in contentEditable-mode.</li>
  215. <li>No longer accidentally scroll the editor into view when calling <code>setValue</code>.</li>
  216. <li>Work around Chrome Android bug when converting screen coordinates to editor positions.</li>
  217. <li>Make sure long-clicking a selection sets a cursor and doesn't show the editor losing focus.</li>
  218. <li>Fix issue where pointer events were incorrectly disabled on Chrome's overlay scrollbars.</li>
  219. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Recognize annotations and TypeScript-style type parameters.</li>
  220. <li><a href="https://codemirror.net/mode/shell/">shell mode</a>: Handle nested braces.</li>
  221. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Make parsing of strong/em delimiters CommonMark-compliant.</li>
  222. </ul>
  223. <p class="rel">20-03-2017: <a href="https://codemirror.net/codemirror-5.25.0.zip">Version 5.25.0</a>:</p>
  224. <ul class=rel-note>
  225. <li>In contentEditable-mode, properly locate changes that repeat a character when inserted with IME.</li>
  226. <li>Fix handling of selections bigger than the viewport in contentEditable mode.</li>
  227. <li>Improve handling of changes that insert or delete lines in contentEditable mode.</li>
  228. <li>Count Unicode control characters 0x80 to 0x9F as special (non-printing) chars.</li>
  229. <li>Fix handling of shadow DOM roots when finding the active element.</li>
  230. <li>Add <code>role=presentation</code> to more DOM elements to improve screen reader support.</li>
  231. <li><a href="https://codemirror.net/doc/manual.html#addon_merge">merge addon</a>: Make aligning of unchanged chunks more robust.</li>
  232. <li><a href="https://codemirror.net/doc/manual.html#addon_comment">comment addon</a>: Fix comment-toggling on a block of text that starts and ends in a (differnet) block comment.</li>
  233. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Improve support for TypeScript syntax.</li>
  234. <li><a href="https://codemirror.net/mode/r/">r mode</a>: Fix indentation after semicolon-less statements.</li>
  235. <li><a href="https://codemirror.net/mode/shell/">shell mode</a>: Properly handle escaped parentheses in parenthesized expressions.</li>
  236. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Fix a few bugs around leaving fenced code blocks.</li>
  237. <li><a href="https://codemirror.net/mode/soy/">soy mode</a>: Improve indentation.</li>
  238. <li><a href="https://codemirror.net/doc/manual.html#addon_lint">lint addon</a>: Support asynchronous linters that return promises.</li>
  239. <li><a href="https://codemirror.net/doc/manual.html#addon_continuelist">continuelist addon</a>: Support continuing task lists.</li>
  240. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Make Y behave like yy.</li>
  241. <li><a href="https://codemirror.net/mode/sql/">sql mode</a>: Support sqlite dialect.</li>
  242. </ul>
  243. <p class="rel">22-02-2017: <a href="https://codemirror.net/codemirror-5.24.2.zip">Version 5.24.2</a>:</p>
  244. <ul class=rel-note>
  245. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Support computed class method names.</li>
  246. <li><a href="https://codemirror.net/doc/manual.html#addon_merge">merge addon</a>: Improve aligning of unchanged code in the presence of marks and line widgets.</li>
  247. </ul>
  248. <p class="rel">20-02-2017: <a href="https://codemirror.net/codemirror-5.24.0.zip">Version 5.24.0</a>:</p>
  249. <ul class=rel-note>
  250. <li>Positions now support a <code>sticky</code> property which determines whether they should be associated with the character before (value <code>"before"</code>) or after (value <code>"after"</code>) them.</li>
  251. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Make it possible to remove built-in bindings through the API.</li>
  252. <li><a href="https://codemirror.net/doc/manual.html#addon_comment">comment addon</a>: Support a per-mode <code>useInnerComments</code> option to optionally suppress descending to the inner modes to get comment strings.</li>
  253. <li>A cursor directly before a line-wrapping break is now drawn before or after the line break depending on which direction you arrived from.</li>
  254. <li>Visual cursor motion in line-wrapped right-to-left text should be much more correct.</li>
  255. <li>Fix bug in handling of read-only marked text.</li>
  256. <li><a href="https://codemirror.net/mode/shell/">shell mode</a>: Properly tokenize nested parentheses.</li>
  257. <li><a href="https://codemirror.net/mode/python/">python mode</a>: Support underscores in number literals.</li>
  258. <li><a href="https://codemirror.net/mode/sass/">sass mode</a>: Uses the full list of CSS properties and keywords from the CSS mode, rather than defining its own incomplete subset. Now depends on the css mode.</li>
  259. <li><a href="https://codemirror.net/mode/css/">css mode</a>: Expose <code>lineComment</code> property for LESS and SCSS dialects. Recognize vendor prefixes on pseudo-elements.</li>
  260. <li><a href="https://codemirror.net/mode/julia/">julia mode</a>: Properly indent <code>elseif</code> lines.</li>
  261. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Properly recognize the end of fenced code blocks when inside other markup.</li>
  262. <li><a href="https://codemirror.net/mode/clike/">scala mode</a>: Improve handling of operators containing <code>#</code>, <code>@</code>, and <code>:</code> chars.</li>
  263. <li><a href="https://codemirror.net/mode/xml/">xml mode</a>: Allow dashes in HTML tag names.</li>
  264. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Improve parsing of async methods, TypeScript-style comma-separated superclass lists.</li>
  265. <li><a href="https://codemirror.net/demo/folding.html">indent-fold addon</a>: Ignore comment lines.</li>
  266. </ul>
  267. <p class="rel">19-01-2017: <a href="https://codemirror.net/codemirror-5.23.0.zip">Version 5.23.0</a>:</p>
  268. <ul class=rel-note>
  269. <li>Presentation-related elements DOM elements are now marked as such to help screen readers.</li>
  270. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Be more picky about what HTML tags look like to avoid false positives.</li>
  271. <li><code>findModeByMIME</code> now understands <code>+json</code> and <code>+xml</code> MIME suffixes.</li>
  272. <li><a href="https://codemirror.net/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Add support for an <code>override</code> option to ignore language-specific defaults.</li>
  273. <li><a href="https://codemirror.net/doc/manual.html#addon_panel">panel addon</a>: Add a <code>stable</code> option that auto-scrolls the content to keep it in the same place when inserting/removing a panel.</li>
  274. </ul>
  275. <p class="rel">20-12-2016: <a href="https://codemirror.net/codemirror-5.22.0.zip">Version 5.22.0</a>:</p>
  276. <ul class=rel-note>
  277. <li><a href="https://codemirror.net/demo/sublime.html">sublime bindings</a>: Make <code>selectBetweenBrackets</code> work with multiple cursors.</li>
  278. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Fix issues with parsing complex TypeScript types, imports, and exports.</li>
  279. <li>A contentEditable editor instance with autofocus enabled no longer crashes during initializing.</li>
  280. <li><a href="https://codemirror.net/demo/emacs.html">emacs bindings</a>: Export <code>CodeMirror.emacs</code> to allow other addons to hook into Emacs-style functionality.</li>
  281. <li><a href="https://codemirror.net/doc/manual.html#addon_active-line">active-line addon</a>: Add <code>nonEmpty</code> option.</li>
  282. <li>New event: <a href="https://codemirror.net/doc/manual.html#event_optionChange"><code>optionChange</code></a>.</li>
  283. </ul>
  284. <p class="rel">21-11-2016: <a href="https://codemirror.net/codemirror-5.21.0.zip">Version 5.21.0</a>:</p>
  285. <ul class=rel-note>
  286. <li>Tapping/clicking the editor in <a href="https://codemirror.net/doc/manual.html#option_inputStyle">contentEditable mode</a> on Chrome now puts the cursor at the tapped position.</li>
  287. <li>Fix various crashes and misbehaviors when reading composition events in <a href="https://codemirror.net/doc/manual.html#option_inputStyle">contentEditable mode</a>.</li>
  288. <li>Catches and ignores an IE 'Unspecified Error' when creating an editor in an iframe before there is a <code>&lt;body&gt;</code>.</li>
  289. <li><a href="https://codemirror.net/doc/manual.html#addon_merge">merge addon</a>: Fix several issues in the chunk-aligning feature.</li>
  290. <li><a href="https://codemirror.net/mode/verilog">verilog mode</a>: Rewritten to address various issues.</li>
  291. <li><a href="https://codemirror.net/mode/julia">julia mode</a>: Recognize Julia 0.5 syntax.</li>
  292. <li><a href="https://codemirror.net/mode/swift">swift mode</a>: Various fixes and adjustments to current syntax.</li>
  293. <li><a href="https://codemirror.net/mode/markdown">markdown mode</a>: Allow lists without a blank line above them.</li>
  294. <li>The <a href="https://codemirror.net/doc/manual.html#setGutterMarker"><code>setGutterMarker</code></a>, <a href="https://codemirror.net/doc/manual.html#clearGutter"><code>clearGutter</code></a>, and <a href="https://codemirror.net/doc/manual.html#lineInfo"><code>lineInfo</code></a> methods are now available on <code>Doc</code> objects.</li>
  295. <li>The <a href="https://codemirror.net/doc/manual.html#heightAtLine"><code>heightAtLine</code></a> method now takes an extra argument to allow finding the height at the top of the line's line widgets.</li>
  296. <li><a href="https://codemirror.net/mode/ruby">ruby mode</a>: <code>else</code> and <code>elsif</code> are now immediately indented.</li>
  297. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Bind Ctrl-T and Ctrl-D to in- and dedent in insert mode.</li>
  298. </ul>
  299. <p class="rel">20-10-2016: <a href="https://codemirror.net/codemirror-5.20.0.zip">Version 5.20.0</a>:</p>
  300. <ul class=rel-note>
  301. <li>Make <code>newlineAndIndent</code> command work with multiple cursors on the same line.</li>
  302. <li>Make sure keypress events for backspace are ignored.</li>
  303. <li>Tokens styled with overlays no longer get a nonsense <code>cm-cm-overlay</code> class.</li>
  304. <li>Line endings for pasted content are now normalized to the editor's <a href="https://codemirror.net/doc/manual.html#option_lineSeparator">preferred ending</a>.</li>
  305. <li><a href="https://codemirror.net/mode/javascript">javascript mode</a>: Improve support for class expressions. Support TypeScript optional class properties, the <code>abstract</code> keyword, and return type declarations for arrow functions.</li>
  306. <li><a href="https://codemirror.net/mode/css">css mode</a>: Fix highlighting of mixed-case keywords.</li>
  307. <li><a href="https://codemirror.net/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Improve behavior when typing a quote before a string.</li>
  308. <li>The core is now maintained as a number of small files, using ES6 syntax and modules, under the <code>src/</code> directory. A git checkout no longer contains a working <code>codemirror.js</code> until you <code>npm build</code> (but when installing from NPM, it is included).</li>
  309. <li>The <a href="https://codemirror.net/doc/manual.html#event_refresh"><code>refresh</code></a> event is now documented and stable.</li>
  310. </ul>
  311. <p class="rel">20-09-2016: <a href="https://codemirror.net/codemirror-5.19.0.zip">Version 5.19.0</a>:</p>
  312. <ul class=rel-note>
  313. <li><a href="https://codemirror.net/mode/erlang">erlang mode</a>: Fix mode crash when trying to read an empty context.</li>
  314. <li><a href="https://codemirror.net/doc/manual.html#addon_comment">comment addon</a>: Fix broken behavior when toggling comments inside a comment.</li>
  315. <li>xml-fold addon: Fix a null-dereference bug.</li>
  316. <li>Page up and page down now do something even in single-line documents.</li>
  317. <li>Fix an issue where the cursor position could be off in really long (~8000 character) tokens.</li>
  318. <li><a href="https://codemirror.net/mode/javascript">javascript mode</a>: Better indentation when semicolons are missing. Better support for TypeScript classes, optional parameters, and the <code>type</code> keyword.</li>
  319. <li>The <a href="https://codemirror.net/doc/manual.html#event_blur"><code>blur</code></a> and <a href="https://codemirror.net/doc/manual.html#event_focus"><code>focus</code></a> events now pass the DOM event to their handlers.</li>
  320. </ul>
  321. <p class="rel">23-08-2016: <a href="https://codemirror.net/codemirror-5.18.2.zip">Version 5.18.2</a>:</p>
  322. <ul class=rel-note>
  323. <li><a href="https://codemirror.net/mode/vue">vue mode</a>: Fix outdated references to renamed Pug mode dependency.</li>
  324. </ul>
  325. <p class="rel">22-08-2016: <a href="https://codemirror.net/codemirror-5.18.0.zip">Version 5.18.0</a>:</p>
  326. <ul class=rel-note>
  327. <li>Make sure <a href="https://codemirror.net/doc/manual.html#addLineClass">gutter backgrounds</a> stick to the rest of the gutter during horizontal scrolling.</li>
  328. <li>The contenteditable <a href="https://codemirror.net/doc/manual.html#option_inputStyle"><code>inputStyle</code></a> now properly supports pasting on pre-Edge IE versions.</li>
  329. <li><a href="https://codemirror.net/mode/javascript">javascript mode</a>: Fix some small parsing bugs and improve TypeScript support.</li>
  330. <li><a href="https://codemirror.net/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Fix bug where active highlighting was left in editor when the addon was disabled.</li>
  331. <li><a href="https://codemirror.net/doc/manual.html#addon_match-highlighter">match-highlighter addon</a>: Only start highlighting things when the editor gains focus.</li>
  332. <li><a href="https://codemirror.net/doc/manual.html#addon_javascript-hint">javascript-hint addon</a>: Also complete non-enumerable properties.</li>
  333. <li>The <a href="https://codemirror.net/doc/manual.html#addOverlay"><code>addOverlay</code></a> method now supports a <code>priority</code> option to control the order in which overlays are applied.</li>
  334. <li>MIME types that end in <code>+json</code> now default to the JSON mode when the MIME itself is not defined.</li>
  335. <li>The mode formerly known as Jade was renamed to <a href="https://codemirror.net/mode/pug">Pug</a>.</li>
  336. <li>The <a href="https://codemirror.net/mode/python">Python mode</a> now defaults to Python 3 (rather than 2) syntax.</li>
  337. </ul>
  338. <p class="rel">19-07-2016: <a href="https://codemirror.net/codemirror-5.17.0.zip">Version 5.17.0</a>:</p>
  339. <ul class="rel-note">
  340. <li>Fix problem with wrapped trailing whitespace displaying incorrectly.</li>
  341. <li>Prevent IME dialog from overlapping typed content in Chrome.</li>
  342. <li>Improve measuring of characters near a line wrap.</li>
  343. <li><a href="https://codemirror.net/mode/javascript">javascript mode</a>: Improve support for <code>async</code>, allow trailing commas in <code>import</code> lists.</li>
  344. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Fix backspace in replace mode.</li>
  345. <li><a href="https://codemirror.net/demo/sublime.html">sublime bindings</a>: Fix some key bindings on OS X to match Sublime Text.</li>
  346. <li><a href="https://codemirror.net/mode/markdown">markdown mode</a>: Add more classes to image links in highlight-formatting mode.</li>
  347. </ul>
  348. <p class="rel">20-06-2016: <a href="https://codemirror.net/codemirror-5.16.0.zip">Version 5.16.0</a>:</p>
  349. <ul class="rel-note">
  350. <li>Fix glitches when dragging content caused by the drop indicator receiving mouse events.</li>
  351. <li>Make Control-drag work on Firefox.</li>
  352. <li>Make clicking or selection-dragging at the end of a wrapped line select the right position.</li>
  353. <li><a href="https://codemirror.net/doc/manual.html#addon_show-hint">show-hint addon</a>: Prevent widget scrollbar from hiding part of the hint text.</li>
  354. <li><a href="https://codemirror.net/doc/manual.html#addon_rulers">rulers addon</a>: Prevent rulers from forcing a horizontal editor scrollbar.</li>
  355. <li><a href="https://codemirror.net/doc/manual.html#addon_search">search addon</a>: Automatically bind search-related keys in persistent dialog.</li>
  356. <li><a href="https://codemirror.net/demo/sublime.html">sublime keymap</a>: Add a multi-cursor aware smart backspace binding.</li>
  357. </ul>
  358. <p class="rel">20-05-2016: <a href="https://codemirror.net/codemirror-5.15.2.zip">Version 5.15.2</a>:</p>
  359. <ul class="rel-note">
  360. <li>Fix a critical document corruption bug that occurs when a document is gradually grown.</li>
  361. </ul>
  362. <p class="rel">20-05-2016: <a href="https://codemirror.net/codemirror-5.15.0.zip">Version 5.15.0</a>:</p>
  363. <ul class="rel-note">
  364. <li>Fix bug that caused the selection to reset when focusing the editor in contentEditable input mode.</li>
  365. <li>Fix issue where not all ASCII control characters were being replaced by placeholders.</li>
  366. <li>Remove the assumption that all modes have a <code>startState</code> method from several wrapping modes.</li>
  367. <li>Fix issue where the editor would complain about overlapping collapsed ranges when there weren't any.</li>
  368. <li>Optimize document tree building when loading or pasting huge chunks of content.</li>
  369. <li>Explicitly bind Ctrl-O on OS X to make that binding (“open line”) act as expected.</li>
  370. <li>Pasting <a href="https://codemirror.net/doc/manual.html#option_lineWiseCopyCut">linewise-copied</a> content when there is no selection now inserts the lines above the current line.</li>
  371. <li><a href="https://codemirror.net/mode/markdown/">markdown mode</a>: Fix several issues in matching link targets.</li>
  372. <li><a href="https://codemirror.net/mode/clike/">clike mode</a>: Improve indentation of C++ template declarations.</li>
  373. <li><a href="https://codemirror.net/mode/javascript/">javascript mode</a>: Support <code>async</code>/<code>await</code> and improve support for TypeScript type syntax.</li>
  374. </ul>
  375. <p class="rel">20-04-2016: <a href="https://codemirror.net/codemirror-5.14.0.zip">Version 5.14.0</a>:</p>
  376. <ul class="rel-note">
  377. <li><a href="https://codemirror.net/doc/manual.html#posFromIndex"><code>posFromIndex</code></a> and <a href="https://codemirror.net/doc/manual.html#indexFromPos"><code>indexFromPos</code></a> now take <a href="https://codemirror.net/doc/manual.html#option_lineSeparator"><code>lineSeparator</code></a> into account</li>
  378. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Only call <code>.save()</code> when it is actually available</li>
  379. <li><a href="https://codemirror.net/doc/manual.html#addon_comment">comment addon</a>: Be careful not to mangle multi-line strings</li>
  380. <li><a href="https://codemirror.net/mode/python/index.html">Python mode</a>: Improve distinguishing of decorators from <code>@</code> operators</li>
  381. <li><a href="https://codemirror.net/doc/manual.html#findMarks"><code>findMarks</code></a>: No longer return marks that touch but don't overlap given range</li>
  382. <li><a href="https://codemirror.net/demo/vim.html">vim bindings</a>: Add yank command</li>
  383. <li><a href="https://codemirror.net/doc/manual.html#addon_match-highlighter">match-highlighter addon</a>: Add <code>trim</code> option to disable ignoring of whitespace</li>
  384. <li><a href="https://codemirror.net/mode/powershell/index.html">PowerShell mode</a>: Added</li>
  385. <li><a href="https://codemirror.net/mode/yacas/index.html">Yacas mode</a>: Added</li>
  386. <li><a href="https://codemirror.net/mode/webidl/index.html">Web IDL mode</a>: Added</li>
  387. <li><a href="https://codemirror.net/mode/sas/index.html">SAS mode</a>: Added</li>
  388. <li><a href="https://codemirror.net/mode/mbox/index.html">mbox mode</a>: Added</li>
  389. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.13.4...5.14.0">list of patches</a></li>
  390. </ul>
  391. <p class="rel">21-03-2016: <a href="https://codemirror.net/codemirror-5.13.2.zip">Version 5.13.2</a>:</p>
  392. <ul class="rel-note">
  393. <li>Solves a problem where the gutter would sometimes not extend all the way to the end of the document.</li>
  394. </ul>
  395. <p class="rel">21-03-2016: <a href="https://codemirror.net/codemirror-5.13.zip">Version 5.13</a>:</p>
  396. <ul class="rel-note">
  397. <li>New DOM event forwarded: <a href="https://codemirror.net/doc/manual.html#event_dom"><code>&quot;dragleave&quot;</code></a>.</li>
  398. <li><a href="https://codemirror.net/mode/protobuf/index.html">protobuf mode</a>: Newly added.</li>
  399. <li>Fix problem where <a href="https://codemirror.net/doc/manual.html#findMarks"><code>findMarks</code></a> sometimes failed to find multi-line marks.</li>
  400. <li>Fix crash that showed up when atomic ranges and bidi text were combined.</li>
  401. <li><a href="https://codemirror.net/demo/complete.html">show-hint addon</a>: Completion widgets no longer close when the line indented or dedented.</li>
  402. <li><a href="https://codemirror.net/demo/merge.html">merge addon</a>: Fix bug when merging chunks at the end of the file.</li>
  403. <li><a href="https://codemirror.net/doc/manual.html#addon_placeholder">placeholder addon</a>: No longer gets confused by <a href="https://codemirror.net/doc/manual.html#swapDoc"><code>swapDoc</code></a>.</li>
  404. <li><a href="https://codemirror.net/doc/manual.html#addon_simplescrollbars">simplescrollbars addon</a>: Fix invalid state when deleting at end of document.</li>
  405. <li><a href="https://codemirror.net/mode/clike/index.html">clike mode</a>: No longer gets confused when a comment starts after an operator.</li>
  406. <li><a href="https://codemirror.net/mode/markdown/index.html">markdown mode</a>: Now supports CommonMark-style flexible list indentation.</li>
  407. <li><a href="https://codemirror.net/mode/dylan/index.html">dylan mode</a>: Several improvements and fixes.</li>
  408. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.12.0...5.13.0">list of patches</a></li>
  409. </ul>
  410. <p class="rel">19-02-2016: <a href="https://codemirror.net/codemirror-5.12.zip">Version 5.12</a>:</p>
  411. <ul class="rel-note">
  412. <li><a href="https://codemirror.net/demo/vim.html">Vim bindings</a>: Ctrl-Q is now an alias for Ctrl-V.</li>
  413. <li><a href="https://codemirror.net/demo/vim.html">Vim bindings</a>: The Vim API now exposes an <code>unmap</code> method to unmap bindings.</li>
  414. <li><a href="https://codemirror.net/demo/activeline.html">active-line addon</a>: This addon can now style the active line's gutter.</li>
  415. <li><a href="https://codemirror.net/mode/fcl/">FCL mode</a>: Newly added.</li>
  416. <li><a href="https://codemirror.net/mode/sql/">SQL mode</a>: Now has a Postgresql dialect.</li>
  417. <li>Fix <a href="https://github.com/codemirror/CodeMirror/issues/3781">issue</a> where trying to scroll to a horizontal position outside of the document's width could cause the gutter to be positioned incorrectly.</li>
  418. <li>Use absolute, rather than fixed positioning in the context-menu intercept hack, to work around a <a href="https://github.com/codemirror/CodeMirror/issues/3238">problem</a> when the editor is inside a transformed parent container.</li>
  419. <li>Solve a <a href="https://github.com/codemirror/CodeMirror/issues/3821">problem</a> where the horizontal scrollbar could hide text in Firefox.</li>
  420. <li>Fix a <a href="https://github.com/codemirror/CodeMirror/issues/3834">bug</a> that caused phantom scroll space under the text in some situations.</li>
  421. <li><a href="https://codemirror.net/demo/sublime.html">Sublime Text bindings</a>: Bind delete-line to Shift-Ctrl-K on OS X.</li>
  422. <li><a href="https://codemirror.net/mode/markdown/">Markdown mode</a>: Fix <a href="https://github.com/codemirror/CodeMirror/issues/3787">issue</a> where the mode would keep state related to fenced code blocks in an unsafe way, leading to occasional corrupted parses.</li>
  423. <li><a href="https://codemirror.net/mode/markdown/">Markdown mode</a>: Ignore backslashes in code fragments.</li>
  424. <li><a href="https://codemirror.net/mode/markdown/">Markdown mode</a>: Use whichever mode is registered as <code>text/html</code> to parse HTML.</li>
  425. <li><a href="https://codemirror.net/mode/clike/">Clike mode</a>: Improve indentation of Scala <code>=&gt;</code> functions.</li>
  426. <li><a href="https://codemirror.net/mode/python/">Python mode</a>: Improve indentation of bracketed code.</li>
  427. <li><a href="https://codemirror.net/mode/htmlmixed/">HTMLMixed mode</a>: Support multi-line opening tags for sub-languages (<code>&lt;script&gt;</code>, <code>&lt;style&gt;</code>, etc).</li>
  428. <li><a href="https://codemirror.net/mode/spreadsheet/">Spreadsheet mode</a>: Fix bug where the mode did not advance the stream when finding a backslash.</li>
  429. <li><a href="https://codemirror.net/mode/xml/">XML mode</a>: The mode now takes a <code>matchClosing</code> option to configure whether mismatched closing tags should be highlighted as errors.</li>
  430. </ul>
  431. <p class="rel">20-01-2016: <a href="https://codemirror.net/codemirror-5.11.zip">Version 5.11</a>:</p>
  432. <ul class="rel-note">
  433. <li>New modes: <a href="../mode/jsx/index.html">JSX</a>, <a href="../mode/haskell-literate/index.html">literate Haskell</a></li>
  434. <li>The editor now forwards more <a href="manual.html#event_dom">DOM events</a>: <code>cut</code>, <code>copy</code>, <code>paste</code>, and <code>touchstart</code>. It will also forward <code>mousedown</code> for drag events</li>
  435. <li>Fixes a bug where bookmarks next to collapsed spans were not rendered</li>
  436. <li>The <a href="../mode/swift/index.html">Swift</a> mode now supports auto-indentation</li>
  437. <li>Frontmatters in the <a href="../mode/yaml-frontmatter/index.html">YAML frontmatter</a> mode are now optional as intended</li>
  438. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.10.0...5.11.0">list of patches</a></li>
  439. </ul>
  440. <p class="rel">21-12-2015: <a href="https://codemirror.net/codemirror-5.10.zip">Version 5.10</a>:</p>
  441. <ul class="rel-note">
  442. <li>Modify the way <a href="manual.html#mark_atomic">atomic ranges</a> are skipped by selection to try and make it less surprising.</li>
  443. <li>The <a href="../mode/swift/index.html">Swift mode</a> was rewritten.</li>
  444. <li>New addon: <a href="manual.html#addon_jump-to-line">jump-to-line</a>.</li>
  445. <li>New method: <a href="manual.html#isReadOnly"><code>isReadOnly</code></a>.</li>
  446. <li>The <a href="manual.html#addon_show-hint">show-hint addon</a> now defaults to picking completions on single click.</li>
  447. <li>The object passed to <a href="manual.html#event_beforeSelectionChange"><code>&quot;beforeSelectionChange&quot;</code></a> events now has an <code>origin</code> property.</li>
  448. <li>New mode: <a href="../mode/crystal/index.html">Crystal</a>.</li>
  449. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.9.0...5.10.0">list of patches</a></li>
  450. </ul>
  451. <p class="rel">23-11-2015: <a href="https://codemirror.net/codemirror-5.9.zip">Version 5.9</a>:</p>
  452. <ul class="rel-note">
  453. <li>Improve the way overlay (OS X-style) scrollbars are handled</li>
  454. <li>Make <a href="manual.html#addon_annotatescrollbar">annotatescrollbar</a> and scrollpastend addons work properly together</li>
  455. <li>Make <a href="manual.html#addon_show-hint">show-hint</a> addon select options on single click by default, move selection to hovered item</li>
  456. <li>Properly fold comments that include block-comment-start markers</li>
  457. <li>Many small language mode fixes</li>
  458. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.8.0...5.9.0">list of patches</a></li>
  459. </ul>
  460. <p class="rel">20-10-2015: <a href="https://codemirror.net/codemirror-5.8.zip">Version 5.8</a>:</p>
  461. <ul class="rel-note">
  462. <li>Fixes an infinite loop in
  463. the <a href="manual.html#addon_hardwrap">hardwrap
  464. addon</a></li>
  465. <li>New modes: <a href="../mode/nsis/index.html">NSIS</a>, <a href="../mode/clike/index.html">Ceylon</a></li>
  466. <li>The Kotlin mode is now a <a href="../mode/clike/index.html">clike</a> dialect, rather than a stand-alone mode</li>
  467. <li>New option: <a href="manual.html#option_allowDropFileTypes"><code>allowDropFileTypes</code></a>. Binary files can no longer be dropped into CodeMirror</li>
  468. <li>New themes: <a href="../demo/theme.html#bespin">bespin</a>, <a href="../demo/theme.html#hopscotch">hopscotch</a>, <a href="../demo/theme.html#isotope">isotope</a>, <a href="../demo/theme.html#railscasts">railscasts</a></li>
  469. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.7.0...5.8.0">list of patches</a></li>
  470. </ul>
  471. <p class="rel">20-09-2015: <a href="https://codemirror.net/codemirror-5.7.zip">Version 5.7</a>:</p>
  472. <ul class="rel-note">
  473. <li>New modes: <a href="../mode/vue/index.html">Vue</a>, <a href="../mode/oz/index.html">Oz</a>, <a href="../mode/mscgen/index.html">MscGen</a> (and dialects), <a href="../mode/css/gss.html">Closure Stylesheets</a></li>
  474. <li>Implement <a href="http://commonmark.org">CommonMark</a>-style flexible list indent and cross-line code spans in <a href="../mode/markdown/index.html">Markdown</a> mode</li>
  475. <li>Add a replace-all button to the <a href="manual.html#addon_search">search addon</a>, and make the persistent search dialog transparent when it obscures the match</li>
  476. <li>Handle <code>acync</code>/<code>await</code> and ocal and binary numbers in <a href="../mode/javascript/index.html">JavaScript mode</a></li>
  477. <li>Fix various issues with the <a href="../mode/haxe/index.html">Haxe mode</a></li>
  478. <li>Make the <a href="manual.html#addon_closebrackets">closebrackets addon</a> select only the wrapped text when wrapping selection in brackets</li>
  479. <li>Tokenize properties as properties in the <a href="../mode/coffeescript/index.html">CoffeeScript mode</a></li>
  480. <li>The <a href="manual.html#addon_placeholder">placeholder addon</a> now accepts a DOM node as well as a string placeholder</li>
  481. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.6.0...5.7.0">list of patches</a></li>
  482. </ul>
  483. <p class="rel">20-08-2015: <a href="https://codemirror.net/codemirror-5.6.zip">Version 5.6</a>:</p>
  484. <ul class="rel-note">
  485. <li>Fix bug where you could paste into a <code>readOnly</code> editor</li>
  486. <li>Show a cursor at the drop location when dragging over the editor</li>
  487. <li>The <a href="../mode/rust/index.html">Rust mode</a> was rewritten to handle modern Rust</li>
  488. <li>The editor and theme CSS was cleaned up. Some selectors are now less specific than before</li>
  489. <li>New theme: <a href="../demo/theme.html#abcdef">abcdef</a></li>
  490. <li>Lines longer than <a href="manual.html#option_maxHighlightLength"><code>maxHighlightLength</code></a> are now less likely to mess up indentation</li>
  491. <li>New addons: <a href="manual.html#addon_autorefresh"><code>autorefresh</code></a> for refreshing an editor the first time it becomes visible, and <code>html-lint</code> for using <a href="http://htmlhint.com/">HTMLHint</a></li>
  492. <li>The <a href="manual.html#addon_search"><code>search</code></a> addon now recognizes <code>\r</code> and <code>\n</code> in pattern and replacement input</li>
  493. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.5.0...5.6.0">list of patches</a></li>
  494. </ul>
  495. <p class="rel">20-07-2015: <a href="https://codemirror.net/codemirror-5.5.zip">Version 5.5</a>:</p>
  496. <ul class="rel-note">
  497. <li>New option: <a href="manual.html#option_lineSeparator"><code>lineSeparator</code></a> (with corresponding <a href="manual.html#lineSeparator">method</a>)
  498. <li>New themes: <a href="../demo/theme.html#dracula">dracula</a>, <a href="../demo/theme.html#seti">seti</a>, <a href="../demo/theme.html#yeti">yeti</a>, <a href="../demo/theme.html#material">material</a>, and <a href="../demo/theme.html#icecoder">icecoder</a></li>
  499. <li>New modes: <a href="../mode/brainfuck/index.html">Brainfuck</a>, <a href="../mode/vhdl/index.html">VHDL</a>, Squirrel (<a href="../mode/clike/index.html">clike</a> dialect)</li>
  500. <li>Define a <code>findPersistent</code> command in
  501. the <a href="../demo/search.html">search</a> addon, for a dialog
  502. that stays open as you cycle through matches</li>
  503. <li>From this release on, the NPM module doesn't include documentation and demos</li>
  504. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.4.0...5.5.0">list of patches</a></li>
  505. </ul>
  506. <p class="rel">25-06-2015: <a href="https://codemirror.net/codemirror-5.4.zip">Version 5.4</a>:</p>
  507. <ul class="rel-note">
  508. <li>New modes: <a href="../mode/twig/index.html">Twig</a>, <a href="../mode/elm/index.html">Elm</a>, <a href="../mode/factor/index.html">Factor</a>, <a href="../mode/swift/index.html">Swift</a></li>
  509. <li>Prefer clipboard API (if available) when pasting</li>
  510. <li>Refined definition highlighting in <a href="../mode/clike/index.html">clike</a> mode</li>
  511. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.3.0...5.4.0">list of patches</a></li>
  512. </ul>
  513. <p class="rel">20-05-2015: <a href="https://codemirror.net/codemirror-5.3.zip">Version 5.3</a>:</p>
  514. <ul class="rel-note">
  515. <li>Fix several regressions in the <a href="manual.html#addon_show-hint"><code>show-hint</code></a> addon (<code>completeSingle</code> option, <code>"shown"</code> and <code>"close"</code> events)</li>
  516. <li>The <a href="../demo/vim.html">vim mode</a> API was <a href="manual.html#vimapi">documented</a></li>
  517. <li>New modes: <a href="../mode/asn.1/index.html">ASN.1</a>, <a href="../mode/ttcn/index.html">TTCN</a>, and <a href="../mode/ttcn-cfg/index.html">TTCN-CFG</a></li>
  518. <li>The <a href="../mode/clike/index.html">clike</a> mode can now deep-indent <code>switch</code> statements, and roughly recognizes types and defined identifiers</li>
  519. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.2.0...5.3.0">list of patches</a></li>
  520. </ul>
  521. <p class="rel">20-04-2015: <a href="https://codemirror.net/codemirror-5.2.zip">Version 5.2</a>:</p>
  522. <ul class="rel-note">
  523. <li>Fix several race conditions
  524. in <a href="manual.html#addon_show-hint"><code>show-hint</code></a>'s
  525. asynchronous mode</li>
  526. <li>Fix backspace binding in <a href="../demo/sublime.html">Sublime bindings</a></li>
  527. <li>Change the way IME is handled in the <code>"textarea"</code> <a href="manual.html#option_inputStyle">input style</a></li>
  528. <li>New modes: <a href="../mode/mumps/index.html">MUMPS</a>, <a href="../mode/handlebars/index.html">Handlebars</a></li>
  529. <li>Rewritten modes: <a href="../mode/django/index.html">Django</a>, <a href="../mode/z80/index.html">Z80</a></li>
  530. <li>New theme: <a href="../demo/theme.html#liquibyte">Liquibyte</a></li>
  531. <li>New option: <a href="manual.html#option_lineWiseCopyCut"><code>lineWiseCopyCut</code></a></li>
  532. <li>The <a href="../demo/vim.html">Vim mode</a> now supports buffer-local options and the <code>filetype</code> setting</li>
  533. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.1.0...5.2.0">list of patches</a></li>
  534. </ul>
  535. <p class="rel">23-03-2015: <a href="https://codemirror.net/codemirror-5.1.zip">Version 5.1</a>:</p>
  536. <ul class="rel-note">
  537. <li>New modes: <a href="../mode/asciiarmor/index.html">ASCII armor</a> (PGP data), <a href="../mode/troff/index.html">Troff</a>, and <a href="../mode/cmake/index.html">CMake</a>.</li>
  538. <li>Remove SmartyMixed mode, rewrite <a href="../mode/smarty/index.html">Smarty</a> mode to supersede it.</li>
  539. <li>New commands in the <a href="manual.html#addon_merge">merge
  540. addon</a>: <code>goNextDiff</code> and <code>goPrevDiff</code>.</li>
  541. <li>The <a href="manual.html#addon_closebrackets">closebrackets addon</a> can now be configured per mode.</li>
  542. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.0.0...5.1.0">list of patches</a>.</li>
  543. </ul>
  544. <p class="rel">20-02-2015: <a href="https://codemirror.net/codemirror-5.0.zip">Version 5.0</a>:</p>
  545. <ul class="rel-note">
  546. <li>Experimental mobile support (tested on iOS, Android Chrome, stock Android browser)</li>
  547. <li>New option <a href="manual.html#option_inputStyle"><code>inputStyle</code></a> to switch between hidden textarea and contenteditable input.</li>
  548. <li>The <a href="manual.html#getInputField"><code>getInputField</code></a>
  549. method is no longer guaranteed to return a textarea.</li>
  550. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.13.0...5.0.0">list of patches</a>.</li>
  551. </ul>
  552. </section>
  553. <section id=v4 class=first>
  554. <h2>Version 4.x</h2>
  555. <p class="rel">20-02-2015: <a href="https://codemirror.net/codemirror-4.13.zip">Version 4.13</a>:</p>
  556. <ul class="rel-note">
  557. <li>Fix the way the <a href="../demo/closetag.html"><code>closetag</code></a> demo handles the slash character.</li>
  558. <li>New modes: <a href="../mode/forth/index.html">Forth</a>, <a href="../mode/stylus/index.html">Stylus</a>.</li>
  559. <li>Make the <a href="../mode/css/index.html">CSS mode</a> understand some modern CSS extensions.</li>
  560. <li>Have the <a href="../mode/clike/index.html">Scala mode</a> handle symbols and triple-quoted strings.</li>
  561. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.12.0...4.13.0">list of patches</a>.</li>
  562. </ul>
  563. <p class="rel">22-01-2015: <a href="https://codemirror.net/codemirror-4.12.zip">Version 4.12</a>:</p>
  564. <ul class="rel-note">
  565. <li>The <a href="manual.html#addon_closetag"><code>closetag</code></a>
  566. addon now defines a <code>"closeTag"</code> command.</li>
  567. <li>Adds a <code>findModeByFileName</code> to the <a href="manual.html#addon_meta">mode metadata</a>
  568. addon.</li>
  569. <li><a href="../demo/simplemode.html">Simple mode</a> rules can
  570. now contain a <code>sol</code> property to only match at the start
  571. of a line.</li>
  572. <li>New
  573. addon: <a href="manual.html#addon_selection-pointer"><code>selection-pointer</code></a>
  574. to style the mouse cursor over the selection.</li>
  575. <li>Improvements to the <a href="../mode/sass/index.html">Sass mode</a>'s indentation.</li>
  576. <li>The <a href="../demo/vim.html">Vim keymap</a>'s search functionality now
  577. supports <a href="manual.html#addon_matchesonscrollbar">scrollbar
  578. annotation</a>.</li>
  579. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.11.0...4.12.0">list of patches</a>.</li>
  580. </ul>
  581. <p class="rel">9-01-2015: <a href="https://codemirror.net/codemirror-4.11.zip">Version 4.11</a>:</p>
  582. <p class="rel-note">Unfortunately, 4.10 did not take care of the
  583. Firefox scrolling issue entirely. This release adds two more patches
  584. to address that.</p>
  585. <p class="rel">29-12-2014: <a href="https://codemirror.net/codemirror-4.10.zip">Version 4.10</a>:</p>
  586. <p class="rel-note">Emergency single-patch update to 4.9. Fixes
  587. Firefox-specific problem where the cursor could end up behind the
  588. horizontal scrollbar.</p>
  589. <p class="rel">23-12-2014: <a href="https://codemirror.net/codemirror-4.9.zip">Version 4.9</a>:</p>
  590. <ul class="rel-note">
  591. <li>Overhauled scroll bar handling.
  592. Add pluggable <a href="../demo/simplescrollbars.html">scrollbar
  593. implementations</a>.</li>
  594. <li>Tweaked behavior for
  595. the <a href="manual.html#addon_show-hint">completion addons</a> to
  596. not take text after cursor into account.</li>
  597. <li>Two new optional features in
  598. the <a href="manual.html#addon_merge">merge addon</a>: aligning
  599. editors, and folding unchanged text.</li>
  600. <li>New
  601. modes: <a href="../mode/dart/index.html">Dart</a>, <a href="../mode/ebnf/index.html">EBNF</a>, <a href="../mode/spreadsheet/index.html">spreadsheet</a>,
  602. and <a href="../mode/soy/index.html">Soy</a>.</li>
  603. <li>New <a href="../demo/panel.html">addon</a> to show persistent panels below/above an editor.</li>
  604. <li>New themes: <a href="../demo/theme.html#zenburn">zenburn</a>
  605. and <a href="../demo/theme.html#tomorrow-night-bright">tomorrow night
  606. bright</a>.</li>
  607. <li>Allow ctrl-click to clear existing cursors.</li>
  608. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.8.0...4.9.0">list of patches</a>.</li>
  609. </ul>
  610. <p class="rel">22-11-2014: <a href="https://codemirror.net/codemirror-4.8.zip">Version 4.8</a>:</p>
  611. <ul class="rel-note">
  612. <li>Built-in support for <a href="manual.html#normalizeKeyMap">multi-stroke key bindings</a>.</li>
  613. <li>New method: <a href="manual.html#getLineTokens"><code>getLineTokens</code></a>.</li>
  614. <li>New modes: <a href="../mode/dockerfile/index.html">dockerfile</a>, <a href="../mode/idl/index.html">IDL</a>, <a href="../mode/clike/index.html">Objective C</a> (crude).</li>
  615. <li>Support styling of gutter backgrounds, allow <code>"gutter"</code> styles in <a href="manual.html#addLineClass"><code>addLineClass</code></a>.</li>
  616. <li>Many improvements to the <a href="../demo/vim.html">Vim mode</a>, rewritten visual mode.</li>
  617. <li>Improvements to modes: <a href="../mode/gfm/index.html">gfm</a> (strikethrough), <a href="../mode/sparql/index.html">SPARQL</a> (version 1.1 support), and <a href="../mode/stex/index.html">sTeX</a> (no more runaway math mode).
  618. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.7.0...4.8.0">list of patches</a>.</li>
  619. </ul>
  620. <p class="rel">20-10-2014: <a href="https://codemirror.net/codemirror-4.7.zip">Version 4.7</a>:</p>
  621. <ul class="rel-note">
  622. <li><strong>Incompatible</strong>:
  623. The <a href="../demo/lint.html">lint addon</a> now passes the
  624. editor's value as first argument to asynchronous lint functions,
  625. for consistency. The editor is still passed, as fourth
  626. argument.</li>
  627. <li>Improved handling of unicode identifiers in modes for
  628. languages that support them.</li>
  629. <li>More mode
  630. improvements: <a href="../mode/coffeescript/index.html">CoffeeScript</a>
  631. (indentation), <a href="../mode/verilog/index.html">Verilog</a>
  632. (indentation), <a href="../mode/clike/index.html">Scala</a>
  633. (indentation, triple-quoted strings),
  634. and <a href="../mode/php/index.html">PHP</a> (interpolated
  635. variables in heredoc strings).</li>
  636. <li>New modes: <a href="../mode/textile/index.html">Textile</a> and <a href="../mode/tornado/index.html">Tornado templates</a>.</li>
  637. <li>Experimental new <a href="../demo/simplemode.html">way to define modes</a>.</li>
  638. <li>Improvements to the <a href="../demo/vim.html">Vim
  639. bindings</a>: Arbitrary insert mode key mappings are now possible,
  640. and text objects are supported in visual mode.</li>
  641. <li>The mode <a href="../mode/meta.js">meta-information file</a>
  642. now includes information about file extensions,
  643. and <a href="manual.html#addon_meta">helper
  644. functions</a> <code>findModeByMIME</code>
  645. and <code>findModeByExtension</code>.</li>
  646. <li>New logo!</li>
  647. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.6.0...4.7.0">list of patches</a>.</li>
  648. </ul>
  649. <p class="rel">19-09-2014: <a href="https://codemirror.net/codemirror-4.6.zip">Version 4.6</a>:</p>
  650. <ul class="rel-note">
  651. <li>New mode: <a href="../mode/modelica/index.html">Modelica</a></li>
  652. <li>New method: <a href="manual.html#findWordAt"><code>findWordAt</code></a></li>
  653. <li>Make it easier to <a href="../demo/markselection.html">use text background styling</a></li>
  654. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.5.0...4.6.0">list of patches</a>.</li>
  655. </ul>
  656. <p class="rel">21-08-2014: <a href="https://codemirror.net/codemirror-4.5.zip">Version 4.5</a>:</p>
  657. <ul class="rel-note">
  658. <li>Fix several serious bugs with horizontal scrolling</li>
  659. <li>New mode: <a href="../mode/slim/index.html">Slim</a></li>
  660. <li>New command: <a href="manual.html#command_goLineLeftSmart"><code>goLineLeftSmart</code></a></li>
  661. <li>More fixes and extensions for the <a href="../demo/vim.html">Vim</a> visual block mode</li>
  662. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.4.0...4.5.0">list of patches</a>.</li>
  663. </ul>
  664. <p class="rel">21-07-2014: <a href="https://codemirror.net/codemirror-4.4.zip">Version 4.4</a>:</p>
  665. <ul class="rel-note">
  666. <li><strong>Note:</strong> Some events might now fire in slightly
  667. different order (<code>"change"</code> is still guaranteed to fire
  668. before <code>"cursorActivity"</code>)</li>
  669. <li>Nested operations in multiple editors are now synced (complete
  670. at same time, reducing DOM reflows)</li>
  671. <li>Visual block mode for <a href="../demo/vim.html">vim</a> (&lt;C-v>) is nearly complete</li>
  672. <li>New mode: <a href="../mode/kotlin/index.html">Kotlin</a></li>
  673. <li>Better multi-selection paste for text copied from multiple CodeMirror selections</li>
  674. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.3.0...4.4.0">list of patches</a>.</li>
  675. </ul>
  676. <p class="rel">23-06-2014: <a href="https://codemirror.net/codemirror-4.3.zip">Version 4.3</a>:</p>
  677. <ul class="rel-note">
  678. <li>Several <a href="../demo/vim.html">vim bindings</a>
  679. improvements: search and exCommand history, global flag
  680. for <code>:substitute</code>, <code>:global</code> command.
  681. <li>Allow hiding the cursor by
  682. setting <a href="manual.html#option_cursorBlinkRate"><code>cursorBlinkRate</code></a>
  683. to a negative value.</li>
  684. <li>Make gutter markers themeable, use this in foldgutter.</li>
  685. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.2.0...4.3.0">list of patches</a>.</li>
  686. </ul>
  687. <p class="rel">19-05-2014: <a href="https://codemirror.net/codemirror-4.2.zip">Version 4.2</a>:</p>
  688. <ul class="rel-note">
  689. <li>Fix problem where some modes were broken by the fact that empty tokens were forbidden.</li>
  690. <li>Several fixes to context menu handling.</li>
  691. <li>On undo, scroll <em>change</em>, not cursor, into view.</li>
  692. <li>Rewritten <a href="../mode/jade/index.html">Jade</a> mode.</li>
  693. <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>
  694. <li>New mode: <a href="../mode/cypher/index.html">Cypher</a>.</li>
  695. <li>New theme: <a href="../demo/theme.html#neo">Neo</a>.</li>
  696. <li>Support direct styling options (color, line style, width) in the <a href="manual.html#addon_rulers">rulers</a> addon.</li>
  697. <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>
  698. <li>More intelligent scanning for existing close tags in <a href="manual.html#addon_closetag">closetag</a> addon.</li>
  699. <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>
  700. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.1.0...4.2.0">list of patches</a>.</li>
  701. </ul>
  702. <p class="rel">22-04-2014: <a href="https://codemirror.net/codemirror-4.1.zip">Version 4.1</a>:</p>
  703. <ul class="rel-note">
  704. <li><em>Slightly incompatible</em>:
  705. The <a href="manual.html#event_cursorActivity"><code>"cursorActivity"</code></a>
  706. event now fires after all other events for the operation (and only
  707. for handlers that were actually registered at the time the
  708. activity happened).</li>
  709. <li>New command: <a href="manual.html#command_insertSoftTab"><code>insertSoftTab</code></a>.</li>
  710. <li>New mode: <a href="../mode/django/index.html">Django</a>.</li>
  711. <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>
  712. <li>Many small issues from the 3.x→4.x transition were found and fixed.</li>
  713. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.0.3...4.1.0">list of patches</a>.</li>
  714. </ul>
  715. <p class="rel">20-03-2014: <a href="https://codemirror.net/codemirror-4.0.zip">Version 4.0</a>:</p>
  716. <p class="rel-note">This is a new major version of CodeMirror. There
  717. are a few <strong>incompatible</strong> changes in the API. Upgrade
  718. with care, and read the <a href="upgrade_v4.html">upgrading
  719. guide</a>.</p>
  720. <ul class="rel-note">
  721. <li>Multiple selections (ctrl-click, alt-drag, <a href="manual.html#setSelections">API</a>).</li>
  722. <li>Sublime Text <a href="../demo/sublime.html">bindings</a>.</li>
  723. <li><a href="manual.html#modloader">Module loader shims</a> wrapped around all modules.</li>
  724. <li>Selection <a href="manual.html#command_undoSelection">undo</a>/<a href="manual.html#command_redoSelection">redo</a>.</li>
  725. <li>Improved character measuring (faster, handles wrapped lines more robustly).</li>
  726. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.23.0...4.0.3">list of patches</a>.</li>
  727. </ul>
  728. </section>
  729. <section id=v3>
  730. <h2>Version 3.x</h2>
  731. <p class="rel">22-04-2014: <a href="https://codemirror.net/codemirror-3.24.zip">Version 3.24</a>:</p>
  732. <p class="rel-note">Merges the improvements from 4.1 that could
  733. easily be applied to the 3.x code. Also improves the way the editor
  734. size is updated when line widgets change.</p>
  735. <p class="rel">20-03-2014: <a href="https://codemirror.net/codemirror-3.23.zip">Version 3.23</a>:</p>
  736. <ul class="rel-note">
  737. <li>In the <a href="../mode/xml/index.html">XML mode</a>,
  738. add <code>brackets</code> style to angle brackets, fix
  739. case-sensitivity of tags for HTML.</li>
  740. <li>New mode: <a href="../mode/dylan/index.html">Dylan</a>.</li>
  741. <li>Many improvements to the <a href="../demo/vim.html">Vim bindings</a>.</li>
  742. </ul>
  743. <p class="rel">21-02-2014: <a href="https://codemirror.net/codemirror-3.22.zip">Version 3.22</a>:</p>
  744. <ul class="rel-note">
  745. <li>Adds the <a href="manual.html#findMarks"><code>findMarks</code></a> method.</li>
  746. <li>New addons: <a href="manual.html#addon_rulers">rulers</a>, markdown-fold, yaml-lint.</li>
  747. <li>New theme: <a href="../demo/theme.html#mdn-like">mdn-like</a>.</li>
  748. <li>New mode: <a href="../mode/solr/index.html">Solr</a>.</li>
  749. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.21.0...3.22.0">list of patches</a>.</li>
  750. </ul>
  751. <p class="rel">16-01-2014: <a href="https://codemirror.net/codemirror-3.21.zip">Version 3.21</a>:</p>
  752. <ul class="rel-note">
  753. <li>Auto-indenting a block will no longer add trailing whitespace to blank lines.</li>
  754. <li>Marking text has a new option <a href="manual.html#markText"><code>clearWhenEmpty</code></a> to control auto-removal.</li>
  755. <li>Several bugfixes in the handling of bidirectional text.</li>
  756. <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>
  757. <li>The OCaml mode was moved to an <a href="../mode/mllike/index.html">mllike</a> mode, F# support added.</li>
  758. <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>
  759. <li>New theme <a href="../demo/theme.html#pastel-on-dark">pastel-on-dark</a>.</li>
  760. <li>Better ECMAScript 6 support in <a href="../mode/javascript/index.html">JavaScript</a> mode.</li>
  761. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.20.0...3.21.0">list of patches</a>.</li>
  762. </ul>
  763. <p class="rel">21-11-2013: <a href="https://codemirror.net/codemirror-3.20.zip">Version 3.20</a>:</p>
  764. <ul class="rel-note">
  765. <li>New modes: <a href="../mode/julia/index.html">Julia</a> and <a href="../mode/pegjs/index.html">PEG.js</a>.</li>
  766. <li>Support ECMAScript 6 in the <a href="../mode/javascript/index.html">JavaScript mode</a>.</li>
  767. <li>Improved indentation for the <a href="../mode/coffeescript/index.html">CoffeeScript mode</a>.</li>
  768. <li>Make non-printable-character representation <a href="manual.html#option_specialChars">configurable</a>.</li>
  769. <li>Add ‘notification’ functionality to <a href="manual.html#addon_dialog">dialog</a> addon.</li>
  770. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.19.0...3.20.0">list of patches</a>.</li>
  771. </ul>
  772. <p class="rel">21-10-2013: <a href="https://codemirror.net/codemirror-3.19.zip">Version 3.19</a>:</p>
  773. <ul class="rel-note">
  774. <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>
  775. <li>New addons: <a href="manual.html#addon_hardwrap">hardwrap</a>, <a href="manual.html#addon_sql-hint">sql-hint</a>.</li>
  776. <li>New theme: <a href="../demo/theme.html#mbo">MBO</a>.</li>
  777. <li>Add <a href="manual.html#token_style_line">support</a> for line-level styling from mode tokenizers.</li>
  778. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.18.0...3.19.0">list of patches</a>.</li>
  779. </ul>
  780. <p class="rel">23-09-2013: <a href="https://codemirror.net/codemirror-3.18.zip">Version 3.18</a>:</p>
  781. <p class="rel-note">Emergency release to fix a problem in 3.17
  782. where <code>.setOption("lineNumbers", false)</code> would raise an
  783. error.</p>
  784. <p class="rel">23-09-2013: <a href="https://codemirror.net/codemirror-3.17.zip">Version 3.17</a>:</p>
  785. <ul class="rel-note">
  786. <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>
  787. <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>
  788. <li>Improve resilience to CSS 'frameworks' that globally mess up <code>box-sizing</code>.</li>
  789. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.16.0...3.17.0">list of patches</a>.</li>
  790. </ul>
  791. <p class="rel">21-08-2013: <a href="https://codemirror.net/codemirror-3.16.zip">Version 3.16</a>:</p>
  792. <ul class="rel-note">
  793. <li>The whole codebase is now under a single <a href="../LICENSE">license</a> file.</li>
  794. <li>The project page was overhauled and redesigned.</li>
  795. <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>
  796. <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>
  797. <li>New <a href="manual.html#addon_foldcode">folding</a> function <code>CodeMirror.fold.comment</code>.</li>
  798. <li>Added <a href="manual.html#addon_fullscreen">fullscreen</a> addon.</li>
  799. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.15.0...3.16.0">list of patches</a>.</li>
  800. </ul>
  801. <p class="rel">29-07-2013: <a href="https://codemirror.net/codemirror-3.15.zip">Version 3.15</a>:</p>
  802. <ul class="rel-note">
  803. <li>New modes: <a href="../mode/jade/index.html">Jade</a>, <a href="../mode/nginx/index.html">Nginx</a>.</li>
  804. <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>
  805. <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>
  806. <li>New method: <a href="manual.html#getModeAt"><code>getModeAt</code></a>.</li>
  807. <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>
  808. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.14.0...3.15.0">list of patches</a>.</li>
  809. </ul>
  810. <p class="rel">20-06-2013: <a href="https://codemirror.net/codemirror-3.14.zip">Version 3.14</a>:</p>
  811. <ul class="rel-note">
  812. <li>New
  813. addons: <a href="manual.html#addon_trailingspace">trailing
  814. space highlight</a>, <a href="manual.html#addon_xml-hint">XML
  815. completion</a> (rewritten),
  816. and <a href="manual.html#addon_merge">diff merging</a>.</li>
  817. <li><a href="manual.html#markText"><code>markText</code></a>
  818. and <a href="manual.html#addLineWidget"><code>addLineWidget</code></a>
  819. now take a <code>handleMouseEvents</code> option.</li>
  820. <li>New methods: <a href="manual.html#lineAtHeight"><code>lineAtHeight</code></a>,
  821. <a href="manual.html#getTokenTypeAt"><code>getTokenTypeAt</code></a>.</li>
  822. <li>More precise cleanness-tracking
  823. using <a href="manual.html#changeGeneration"><code>changeGeneration</code></a>
  824. and <a href="manual.html#isClean"><code>isClean</code></a>.</li>
  825. <li>Many extensions to <a href="../demo/emacs.html">Emacs</a> mode
  826. (prefixes, more navigation units, and more).</li>
  827. <li>New
  828. events <a href="manual.html#event_keyHandled"><code>"keyHandled"</code></a>
  829. and <a href="manual.html#event_inputRead"><code>"inputRead"</code></a>.</li>
  830. <li>Various improvements to <a href="../mode/ruby/index.html">Ruby</a>,
  831. <a href="../mode/smarty/index.html">Smarty</a>, <a href="../mode/sql/index.html">SQL</a>,
  832. and <a href="../demo/vim.html">Vim</a> modes.</li>
  833. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.13.0...3.14.0">list of patches</a>.</li>
  834. </ul>
  835. <p class="rel">20-05-2013: <a href="https://codemirror.net/codemirror-3.13.zip">Version 3.13</a>:</p>
  836. <ul class="rel-note">
  837. <li>New modes: <a href="../mode/cobol/index.html">COBOL</a> and <a href="../mode/haml/index.html">HAML</a>.</li>
  838. <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>
  839. <li>New addon: <a href="manual.html#addon_comment">commenting</a>.</li>
  840. <li>More features added to the <a href="../demo/vim.html">Vim keymap</a>.</li>
  841. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.12...3.13.0">list of patches</a>.</li>
  842. </ul>
  843. <p class="rel">19-04-2013: <a href="https://codemirror.net/codemirror-3.12.zip">Version 3.12</a>:</p>
  844. <ul class="rel-note">
  845. <li>New mode: <a href="../mode/gas/index.html">GNU assembler</a>.</li>
  846. <li>New
  847. options: <a href="manual.html#option_maxHighlightLength"><code>maxHighlightLength</code></a>
  848. and <a href="manual.html#option_historyEventDelay"><code>historyEventDelay</code></a>.</li>
  849. <li>Added <a href="manual.html#mark_addToHistory"><code>addToHistory</code></a>
  850. option for <code>markText</code>.</li>
  851. <li>Various fixes to JavaScript tokenization and indentation corner cases.</li>
  852. <li>Further improvements to the vim mode.</li>
  853. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.11...v3.12">list of patches</a>.</li>
  854. </ul>
  855. <p class="rel">20-03-2013: <a href="https://codemirror.net/codemirror-3.11.zip">Version 3.11</a>:</p>
  856. <ul class="rel-note">
  857. <li><strong>Removed code:</strong> <code>collapserange</code>,
  858. <code>formatting</code>, and <code>simple-hint</code>
  859. addons. <code>plsql</code> and <code>mysql</code> modes
  860. (use <a href="../mode/sql/index.html"><code>sql</code></a> mode).</li>
  861. <li><strong>Moved code:</strong> the range-finding functions for folding now have <a href="../addon/fold/">their own files</a>.</li>
  862. <li><strong>Changed interface:</strong>
  863. the <a href="manual.html#addon_continuecomment"><code>continuecomment</code></a>
  864. addon now exposes an option, rather than a command.</li>
  865. <li>New
  866. 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>,
  867. and <a href="../mode/mirc/index.html">mIRC</a>.</li>
  868. <li>New addons: <a href="../demo/placeholder.html"><code>placeholder</code></a>, <a href="../demo/html5complete.html">HTML completion</a>.</li>
  869. <li>New
  870. methods: <a href="manual.html#hasFocus"><code>hasFocus</code></a>, <a href="manual.html#defaultCharWidth"><code>defaultCharWidth</code></a>.</li>
  871. <li>New events: <a href="manual.html#event_beforeCursorEnter"><code>beforeCursorEnter</code></a>, <a href="manual.html#event_renderLine"><code>renderLine</code></a>.</li>
  872. <li>Many improvements to the <a href="manual.html#addon_show-hint"><code>show-hint</code></a> completion
  873. dialog addon.</li>
  874. <li>Tweak behavior of by-word cursor motion.</li>
  875. <li>Further improvements to the <a href="../demo/vim.html">vim mode</a>.</li>
  876. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.1...v3.11">list of patches</a>.</li>
  877. </ul>
  878. <p class="rel">21-02-2013: <a href="https://codemirror.net/codemirror-3.1.zip">Version 3.1</a>:</p>
  879. <ul class="rel-note">
  880. <li><strong>Incompatible:</strong> key handlers may
  881. now <em>return</em>, rather
  882. than <em>throw</em> <code>CodeMirror.Pass</code> to signal they
  883. didn't handle the key.</li>
  884. <li>Make documents a <a href="manual.html#api_doc">first-class
  885. construct</a>, support split views and subviews.</li>
  886. <li>Add a <a href="manual.html#addon_show-hint">new module</a>
  887. for showing completion hints.
  888. Deprecate <code>simple-hint.js</code>.</li>
  889. <li>Extend <a href="../mode/htmlmixed/index.html">htmlmixed mode</a>
  890. to allow custom handling of script types.</li>
  891. <li>Support an <code>insertLeft</code> option
  892. to <a href="manual.html#setBookmark"><code>setBookmark</code></a>.</li>
  893. <li>Add an <a href="manual.html#eachLine"><code>eachLine</code></a>
  894. method to iterate over a document.</li>
  895. <li>New addon modules: <a href="../demo/markselection.html">selection
  896. marking</a>, <a href="../demo/lint.html">linting</a>,
  897. and <a href="../demo/closebrackets.html">automatic bracket
  898. closing</a>.</li>
  899. <li>Add <a href="manual.html#event_beforeChange"><code>"beforeChange"</code></a>
  900. and <a href="manual.html#event_beforeSelectionChange"><code>"beforeSelectionChange"</code></a>
  901. events.</li>
  902. <li>Add <a href="manual.html#event_hide"><code>"hide"</code></a>
  903. and <a href="manual.html#event_unhide"><code>"unhide"</code></a>
  904. events to marked ranges.</li>
  905. <li>Fix <a href="manual.html#coordsChar"><code>coordsChar</code></a>'s
  906. interpretation of its argument to match the documentation.</li>
  907. <li>New modes: <a href="../mode/turtle/index.html">Turtle</a>
  908. and <a href="../mode/q/index.html">Q</a>.</li>
  909. <li>Further improvements to the <a href="../demo/vim.html">vim mode</a>.</li>
  910. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.01...v3.1">list of patches</a>.</li>
  911. </ul>
  912. <p class="rel">25-01-2013: <a href="https://codemirror.net/codemirror-3.02.zip">Version 3.02</a>:</p>
  913. <p class="rel-note">Single-bugfix release. Fixes a problem that
  914. prevents CodeMirror instances from being garbage-collected after
  915. they become unused.</p>
  916. <p class="rel">21-01-2013: <a href="https://codemirror.net/codemirror-3.01.zip">Version 3.01</a>:</p>
  917. <ul class="rel-note">
  918. <li>Move all add-ons into an organized directory structure
  919. under <a href="../addon/"><code>/addon</code></a>. <strong>You might have to adjust your
  920. paths.</strong></li>
  921. <li>New
  922. 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>
  923. (configurable), and <a href="../mode/asterisk/index.html">Asterisk</a>.</li>
  924. <li>Several bugfixes in right-to-left text support.</li>
  925. <li>Add <a href="manual.html#option_rtlMoveVisually"><code>rtlMoveVisually</code></a> option.</li>
  926. <li>Improvements to vim keymap.</li>
  927. <li>Add built-in (lightweight) <a href="manual.html#addOverlay">overlay mode</a> support.</li>
  928. <li>Support <code>showIfHidden</code> option for <a href="manual.html#addLineWidget">line widgets</a>.</li>
  929. <li>Add simple <a href="manual.html#addon_python-hint">Python hinter</a>.</li>
  930. <li>Bring back the <a href="manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
  931. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0...v3.01">list of patches</a>.</li>
  932. </ul>
  933. <p class="rel">10-12-2012: <a href="https://codemirror.net/codemirror-3.0.zip">Version 3.0</a>:</p>
  934. <p class="rel-note"><strong>New major version</strong>. Only
  935. partially backwards-compatible. See
  936. the <a href="upgrade_v3.html">upgrading guide</a> for more
  937. information. Changes since release candidate 2:</p>
  938. <ul class="rel-note">
  939. <li>Rewritten VIM mode.</li>
  940. <li>Fix a few minor scrolling and sizing issues.</li>
  941. <li>Work around Safari segfault when dragging.</li>
  942. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0rc2...v3.0">list of patches</a>.</li>
  943. </ul>
  944. <p class="rel">20-11-2012: <a href="https://codemirror.net/codemirror-3.0rc2.zip">Version 3.0, release candidate 2</a>:</p>
  945. <ul class="rel-note">
  946. <li>New mode: <a href="../mode/http/index.html">HTTP</a>.</li>
  947. <li>Improved handling of selection anchor position.</li>
  948. <li>Improve IE performance on longer lines.</li>
  949. <li>Reduce gutter glitches during horiz. scrolling.</li>
  950. <li>Add <a href="manual.html#addKeyMap"><code>addKeyMap</code></a> and <a href="manual.html#removeKeyMap"><code>removeKeyMap</code></a> methods.</li>
  951. <li>Rewrite <code>formatting</code> and <code>closetag</code> add-ons.</li>
  952. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0rc1...v3.0rc2">list of patches</a>.</li>
  953. </ul>
  954. <p class="rel">20-11-2012: <a href="https://codemirror.net/codemirror-3.0rc1.zip">Version 3.0, release candidate 1</a>:</p>
  955. <ul class="rel-note">
  956. <li>New theme: <a href="../demo/theme.html#solarized%20light">Solarized</a>.</li>
  957. <li>Introduce <a href="manual.html#addLineClass"><code>addLineClass</code></a>
  958. and <a href="manual.html#removeLineClass"><code>removeLineClass</code></a>,
  959. drop <code>setLineClass</code>.</li>
  960. <li>Add a <em>lot</em> of
  961. new <a href="manual.html#markText">options for marked text</a>
  962. (read-only, atomic, collapsed, widget replacement).</li>
  963. <li>Remove the old code folding interface in favour of these new ranges.</li>
  964. <li>Add <a href="manual.html#isClean"><code>isClean</code></a>/<a href="manual.html#markClean"><code>markClean</code></a> methods.</li>
  965. <li>Remove <code>compoundChange</code> method, use better undo-event-combining heuristic.</li>
  966. <li>Improve scrolling performance smoothness.</li>
  967. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0beta2...v3.0rc1">list of patches</a>.</li>
  968. </ul>
  969. <p class="rel">22-10-2012: <a href="https://codemirror.net/codemirror-3.0beta2.zip">Version 3.0, beta 2</a>:</p>
  970. <ul class="rel-note">
  971. <li>Fix page-based coordinate computation.</li>
  972. <li>Fix firing of <a href="manual.html#event_gutterClick"><code>gutterClick</code></a> event.</li>
  973. <li>Add <a href="manual.html#option_cursorHeight"><code>cursorHeight</code></a> option.</li>
  974. <li>Fix bi-directional text regression.</li>
  975. <li>Add <a href="manual.html#option_viewportMargin"><code>viewportMargin</code></a> option.</li>
  976. <li>Directly handle mousewheel events (again, hopefully better).</li>
  977. <li>Make vertical cursor movement more robust (through widgets, big line gaps).</li>
  978. <li>Add <a href="manual.html#option_flattenSpans"><code>flattenSpans</code></a> option.</li>
  979. <li>Many optimizations. Poor responsiveness should be fixed.</li>
  980. <li>Initialization in hidden state works again.</li>
  981. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0beta1...v3.0beta2">list of patches</a>.</li>
  982. </ul>
  983. <p class="rel">19-09-2012: <a href="https://codemirror.net/codemirror-3.0beta1.zip">Version 3.0, beta 1</a>:</p>
  984. <ul class="rel-note">
  985. <li>Bi-directional text support.</li>
  986. <li>More powerful gutter model.</li>
  987. <li>Support for arbitrary text/widget height.</li>
  988. <li>In-line widgets.</li>
  989. <li>Generalized event handling.</li>
  990. </ul>
  991. </section>
  992. <section id=v2>
  993. <h2>Version 2.x</h2>
  994. <p class="rel">21-01-2013: <a href="https://codemirror.net/codemirror-2.38.zip">Version 2.38</a>:</p>
  995. <p class="rel-note">Integrate some bugfixes, enhancements to the vim keymap, and new
  996. modes
  997. (<a href="../mode/d/index.html">D</a>, <a href="../mode/sass/index.html">Sass</a>, <a href="../mode/apl/index.html">APL</a>)
  998. from the v3 branch.</p>
  999. <p class="rel">20-12-2012: <a href="https://codemirror.net/codemirror-2.37.zip">Version 2.37</a>:</p>
  1000. <ul class="rel-note">
  1001. <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>
  1002. <li>Further work on the new VIM mode.</li>
  1003. <li>Fix Cmd/Ctrl keys on recent Operas on OS X.</li>
  1004. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v2.36...v2.37">list of patches</a>.</li>
  1005. </ul>
  1006. <p class="rel">20-11-2012: <a href="https://codemirror.net/codemirror-2.36.zip">Version 2.36</a>:</p>
  1007. <ul class="rel-note">
  1008. <li>New mode: <a href="../mode/z80/index.html">Z80 assembly</a>.</li>
  1009. <li>New theme: <a href="../demo/theme.html#twilight">Twilight</a>.</li>
  1010. <li>Add command-line compression helper.</li>
  1011. <li>Make <a href="manual.html#scrollIntoView"><code>scrollIntoView</code></a> public.</li>
  1012. <li>Add <a href="manual.html#defaultTextHeight"><code>defaultTextHeight</code></a> method.</li>
  1013. <li>Various extensions to the vim keymap.</li>
  1014. <li>Make <a href="../mode/php/index.html">PHP mode</a> build on <a href="../mode/htmlmixed/index.html">mixed HTML mode</a>.</li>
  1015. <li>Add <a href="manual.html#addon_continuecomment">comment-continuing</a> add-on.</li>
  1016. <li>Full <a href="../https://github.com/codemirror/CodeMirror/compare/v2.35...v2.36">list of patches</a>.</li>
  1017. </ul>
  1018. <p class="rel">22-10-2012: <a href="https://codemirror.net/codemirror-2.35.zip">Version 2.35</a>:</p>
  1019. <ul class="rel-note">
  1020. <li>New (sub) mode: <a href="../mode/javascript/typescript.html">TypeScript</a>.</li>
  1021. <li>Don't overwrite (insert key) when pasting.</li>
  1022. <li>Fix several bugs in <a href="manual.html#markText"><code>markText</code></a>/undo interaction.</li>
  1023. <li>Better indentation of JavaScript code without semicolons.</li>
  1024. <li>Add <a href="manual.html#defineInitHook"><code>defineInitHook</code></a> function.</li>
  1025. <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v2.34...v2.35">list of patches</a>.</li>
  1026. </ul>
  1027. <p class="rel">19-09-2012: <a href="https://codemirror.net/codemirror-2.34.zip">Version 2.34</a>:</p>
  1028. <ul class="rel-note">
  1029. <li>New mode: <a href="../mode/commonlisp/index.html">Common Lisp</a>.</li>
  1030. <li>Fix right-click select-all on most browsers.</li>
  1031. <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>
  1032. <li>Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.</li>
  1033. <li>Add a <a href="manual.html#version"><code>CodeMirror.version</code></a> property.</li>
  1034. <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>
  1035. <li>Un/redo now preserves <a href="manual.html#markText">marked text</a> and bookmarks.</li>
  1036. <li><a href="https://github.com/codemirror/CodeMirror/compare/v2.33...v2.34">Full list</a> of patches.</li>
  1037. </ul>
  1038. <p class="rel">23-08-2012: <a href="https://codemirror.net/codemirror-2.33.zip">Version 2.33</a>:</p>
  1039. <ul class="rel-note">
  1040. <li>New mode: <a href="../mode/sieve/index.html">Sieve</a>.</li>
  1041. <li>New <a href="manual.html#getViewport"><code>getViewPort</code></a> and <a href="manual.html#option_onViewportChange"><code>onViewportChange</code></a> API.</li>
  1042. <li><a href="manual.html#option_cursorBlinkRate">Configurable</a> cursor blink rate.</li>
  1043. <li>Make binding a key to <code>false</code> disabling handling (again).</li>
  1044. <li>Show non-printing characters as red dots.</li>
  1045. <li>More tweaks to the scrolling model.</li>
  1046. <li>Expanded testsuite. Basic linter added.</li>
  1047. <li>Remove most uses of <code>innerHTML</code>. Remove <code>CodeMirror.htmlEscape</code>.</li>
  1048. <li><a href="https://github.com/codemirror/CodeMirror/compare/v2.32...v2.33">Full list</a> of patches.</li>
  1049. </ul>
  1050. <p class="rel">23-07-2012: <a href="https://codemirror.net/codemirror-2.32.zip">Version 2.32</a>:</p>
  1051. <p class="rel-note">Emergency fix for a bug where an editor with
  1052. line wrapping on IE will break when there is <em>no</em>
  1053. scrollbar.</p>
  1054. <p class="rel">20-07-2012: <a href="https://codemirror.net/codemirror-2.31.zip">Version 2.31</a>:</p>
  1055. <ul class="rel-note">
  1056. <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>
  1057. <li>Several fixes to the new scrolling model.</li>
  1058. <li>Add a <a href="manual.html#setSize"><code>setSize</code></a> method for programmatic resizing.</li>
  1059. <li>Add <a href="manual.html#getHistory"><code>getHistory</code></a> and <a href="manual.html#setHistory"><code>setHistory</code></a> methods.</li>
  1060. <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>
  1061. <li>Support double- and triple-click drag, double-clicking whitespace.</li>
  1062. <li>And more... <a href="https://github.com/codemirror/CodeMirror/compare/v2.3...v2.31">(all patches)</a></li>
  1063. </ul>
  1064. <p class="rel">22-06-2012: <a href="https://codemirror.net/codemirror-2.3.zip">Version 2.3</a>:</p>
  1065. <ul class="rel-note">
  1066. <li><strong>New scrollbar implementation</strong>. Should flicker less. Changes DOM structure of the editor.</li>
  1067. <li>New theme: <a href="../demo/theme.html#vibrant-ink">vibrant-ink</a>.</li>
  1068. <li>Many extensions to the VIM keymap (including text objects).</li>
  1069. <li>Add <a href="../demo/multiplex.html">mode-multiplexing</a> utility script.</li>
  1070. <li>Fix bug where right-click paste works in read-only mode.</li>
  1071. <li>Add a <a href="manual.html#getScrollInfo"><code>getScrollInfo</code></a> method.</li>
  1072. <li>Lots of other <a href="https://github.com/codemirror/CodeMirror/compare/v2.25...v2.3">fixes</a>.</li>
  1073. </ul>
  1074. <p class="rel">23-05-2012: <a href="https://codemirror.net/codemirror-2.25.zip">Version 2.25</a>:</p>
  1075. <ul class="rel-note">
  1076. <li>New mode: <a href="../mode/erlang/index.html">Erlang</a>.</li>
  1077. <li><strong>Remove xmlpure mode</strong> (use <a href="../mode/xml/index.html">xml.js</a>).</li>
  1078. <li>Fix line-wrapping in Opera.</li>
  1079. <li>Fix X Windows middle-click paste in Chrome.</li>
  1080. <li>Fix bug that broke pasting of huge documents.</li>
  1081. <li>Fix backspace and tab key repeat in Opera.</li>
  1082. </ul>
  1083. <p class="rel">23-04-2012: <a href="https://codemirror.net/codemirror-2.24.zip">Version 2.24</a>:</p>
  1084. <ul class="rel-note">
  1085. <li><strong>Drop support for Internet Explorer 6</strong>.</li>
  1086. <li>New
  1087. modes: <a href="../mode/shell/index.html">Shell</a>, <a href="../mode/tiki/index.html">Tiki
  1088. wiki</a>, <a href="../mode/pig/index.html">Pig Latin</a>.</li>
  1089. <li>New themes: <a href="../demo/theme.html#ambiance">Ambiance</a>, <a href="../demo/theme.html#blackboard">Blackboard</a>.</li>
  1090. <li>More control over drag/drop
  1091. with <a href="manual.html#option_dragDrop"><code>dragDrop</code></a>
  1092. and <a href="manual.html#option_onDragEvent"><code>onDragEvent</code></a>
  1093. options.</li>
  1094. <li>Make HTML mode a bit less pedantic.</li>
  1095. <li>Add <a href="manual.html#compoundChange"><code>compoundChange</code></a> API method.</li>
  1096. <li>Several fixes in undo history and line hiding.</li>
  1097. <li>Remove (broken) support for <code>catchall</code> in key maps,
  1098. add <code>nofallthrough</code> boolean field instead.</li>
  1099. </ul>
  1100. <p class="rel">26-03-2012: <a href="https://codemirror.net/codemirror-2.23.zip">Version 2.23</a>:</p>
  1101. <ul class="rel-note">
  1102. <li>Change <strong>default binding for tab</strong> <a href="javascript:void(document.getElementById('tabbinding').style.display='')">[more]</a>
  1103. <div style="display: none" id=tabbinding>
  1104. Starting in 2.23, these bindings are default:
  1105. <ul><li>Tab: Insert tab character</li>
  1106. <li>Shift-tab: Reset line indentation to default</li>
  1107. <li>Ctrl/Cmd-[: Reduce line indentation (old tab behaviour)</li>
  1108. <li>Ctrl/Cmd-]: Increase line indentation (old shift-tab behaviour)</li>
  1109. </ul>
  1110. </div>
  1111. </li>
  1112. <li>New modes: <a href="../mode/xquery/index.html">XQuery</a> and <a href="../mode/vbscript/index.html">VBScript</a>.</li>
  1113. <li>Two new themes: <a href="../mode/less/index.html">lesser-dark</a> and <a href="../mode/xquery/index.html">xq-dark</a>.</li>
  1114. <li>Differentiate between background and text styles in <a href="manual.html#setLineClass"><code>setLineClass</code></a>.</li>
  1115. <li>Fix drag-and-drop in IE9+.</li>
  1116. <li>Extend <a href="manual.html#charCoords"><code>charCoords</code></a>
  1117. and <a href="manual.html#cursorCoords"><code>cursorCoords</code></a> with a <code>mode</code> argument.</li>
  1118. <li>Add <a href="manual.html#option_autofocus"><code>autofocus</code></a> option.</li>
  1119. <li>Add <a href="manual.html#findMarksAt"><code>findMarksAt</code></a> method.</li>
  1120. </ul>
  1121. <p class="rel">27-02-2012: <a href="https://codemirror.net/codemirror-2.22.zip">Version 2.22</a>:</p>
  1122. <ul class="rel-note">
  1123. <li>Allow <a href="manual.html#keymaps">key handlers</a> to pass up events, allow binding characters.</li>
  1124. <li>Add <a href="manual.html#option_autoClearEmptyLines"><code>autoClearEmptyLines</code></a> option.</li>
  1125. <li>Properly use tab stops when rendering tabs.</li>
  1126. <li>Make PHP mode more robust.</li>
  1127. <li>Support indentation blocks in <a href="manual.html#addon_foldcode">code folder</a>.</li>
  1128. <li>Add a script for <a href="manual.html#addon_match-highlighter">highlighting instances of the selection</a>.</li>
  1129. <li>New <a href="../mode/properties/index.html">.properties</a> mode.</li>
  1130. <li>Fix many bugs.</li>
  1131. </ul>
  1132. <p class="rel">27-01-2012: <a href="https://codemirror.net/codemirror-2.21.zip">Version 2.21</a>:</p>
  1133. <ul class="rel-note">
  1134. <li>Added <a href="../mode/less/index.html">LESS</a>, <a href="../mode/mysql/index.html">MySQL</a>,
  1135. <a href="../mode/go/index.html">Go</a>, and <a href="../mode/verilog/index.html">Verilog</a> modes.</li>
  1136. <li>Add <a href="manual.html#option_smartIndent"><code>smartIndent</code></a>
  1137. option.</li>
  1138. <li>Support a cursor in <a href="manual.html#option_readOnly"><code>readOnly</code></a>-mode.</li>
  1139. <li>Support assigning multiple styles to a token.</li>
  1140. <li>Use a new approach to drawing the selection.</li>
  1141. <li>Add <a href="manual.html#scrollTo"><code>scrollTo</code></a> method.</li>
  1142. <li>Allow undo/redo events to span non-adjacent lines.</li>
  1143. <li>Lots and lots of bugfixes.</li>
  1144. </ul>
  1145. <p class="rel">20-12-2011: <a href="https://codemirror.net/codemirror-2.2.zip">Version 2.2</a>:</p>
  1146. <ul class="rel-note">
  1147. <li>Slightly incompatible API changes. Read <a href="upgrade_v2.2.html">this</a>.</li>
  1148. <li>New approach
  1149. to <a href="manual.html#option_extraKeys">binding</a> keys,
  1150. support for <a href="manual.html#option_keyMap">custom
  1151. bindings</a>.</li>
  1152. <li>Support for overwrite (insert).</li>
  1153. <li><a href="manual.html#option_tabSize">Custom-width</a>
  1154. and <a href="../demo/visibletabs.html">stylable</a> tabs.</li>
  1155. <li>Moved more code into <a href="manual.html#addons">add-on scripts</a>.</li>
  1156. <li>Support for sane vertical cursor movement in wrapped lines.</li>
  1157. <li>More reliable handling of
  1158. editing <a href="manual.html#markText">marked text</a>.</li>
  1159. <li>Add minimal <a href="../demo/emacs.html">emacs</a>
  1160. and <a href="../demo/vim.html">vim</a> bindings.</li>
  1161. <li>Rename <code>coordsFromIndex</code>
  1162. to <a href="manual.html#posFromIndex"><code>posFromIndex</code></a>,
  1163. add <a href="manual.html#indexFromPos"><code>indexFromPos</code></a>
  1164. method.</li>
  1165. </ul>
  1166. <p class="rel">21-11-2011: <a href="https://codemirror.net/codemirror-2.18.zip">Version 2.18</a>:</p>
  1167. <p class="rel-note">Fixes <code>TextMarker.clear</code>, which is broken in 2.17.</p>
  1168. <p class="rel">21-11-2011: <a href="https://codemirror.net/codemirror-2.17.zip">Version 2.17</a>:</p>
  1169. <ul class="rel-note">
  1170. <li>Add support for <a href="manual.html#option_lineWrapping">line
  1171. wrapping</a> and <a href="manual.html#hideLine">code
  1172. folding</a>.</li>
  1173. <li>Add <a href="../mode/gfm/index.html">Github-style Markdown</a> mode.</li>
  1174. <li>Add <a href="../theme/monokai.css">Monokai</a>
  1175. and <a href="../theme/rubyblue.css">Rubyblue</a> themes.</li>
  1176. <li>Add <a href="manual.html#setBookmark"><code>setBookmark</code></a> method.</li>
  1177. <li>Move some of the demo code into reusable components
  1178. under <a href="../addon/"><code>lib/util</code></a>.</li>
  1179. <li>Make screen-coord-finding code faster and more reliable.</li>
  1180. <li>Fix drag-and-drop in Firefox.</li>
  1181. <li>Improve support for IME.</li>
  1182. <li>Speed up content rendering.</li>
  1183. <li>Fix browser's built-in search in Webkit.</li>
  1184. <li>Make double- and triple-click work in IE.</li>
  1185. <li>Various fixes to modes.</li>
  1186. </ul>
  1187. <p class="rel">27-10-2011: <a href="https://codemirror.net/codemirror-2.16.zip">Version 2.16</a>:</p>
  1188. <ul class="rel-note">
  1189. <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>
  1190. <li>Dragging text inside the editor now moves, rather than copies.</li>
  1191. <li>Add a <a href="manual.html#coordsFromIndex"><code>coordsFromIndex</code></a> method.</li>
  1192. <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>
  1193. <li><strong>API change</strong>: <a href="manual.html#markText"><code>markText</code></a> now
  1194. returns an object with <code>clear</code> and <code>find</code>
  1195. methods. Marked text is now more robust when edited.</li>
  1196. <li>Fix editing code with tabs in Internet Explorer.</li>
  1197. </ul>
  1198. <p class="rel">26-09-2011: <a href="https://codemirror.net/codemirror-2.15.zip">Version 2.15</a>:</p>
  1199. <p class="rel-note">Fix bug that snuck into 2.14: Clicking the
  1200. character that currently has the cursor didn't re-focus the
  1201. editor.</p>
  1202. <p class="rel">26-09-2011: <a href="https://codemirror.net/codemirror-2.14.zip">Version 2.14</a>:</p>
  1203. <ul class="rel-note">
  1204. <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>
  1205. <li>Add <a href="../theme/cobalt.css">Cobalt</a> and <a href="../theme/eclipse.css">Eclipse</a> themes.</li>
  1206. <li>Add a <a href="manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
  1207. <li>Fix bug with <code>setValue</code> breaking cursor movement.</li>
  1208. <li>Make gutter updates much more efficient.</li>
  1209. <li>Allow dragging of text out of the editor (on modern browsers).</li>
  1210. </ul>
  1211. <p class="rel">23-08-2011: <a href="https://codemirror.net/codemirror-2.13.zip">Version 2.13</a>:</p>
  1212. <ul class="rel-note">
  1213. <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>
  1214. <li>Add <a href="manual.html#getGutterElement"><code>getGutterElement</code></a> to API.</li>
  1215. <li>Several fixes to scrolling and positioning.</li>
  1216. <li>Add <a href="manual.html#option_smartHome"><code>smartHome</code></a> option.</li>
  1217. <li>Add an experimental <a href="../mode/xmlpure/index.html">pure XML</a> mode.</li>
  1218. </ul>
  1219. <p class="rel">25-07-2011: <a href="https://codemirror.net/codemirror-2.12.zip">Version 2.12</a>:</p>
  1220. <ul class="rel-note">
  1221. <li>Add a <a href="../mode/sparql/index.html">SPARQL</a> mode.</li>
  1222. <li>Fix bug with cursor jumping around in an unfocused editor in IE.</li>
  1223. <li>Allow key and mouse events to bubble out of the editor. Ignore widget clicks.</li>
  1224. <li>Solve cursor flakiness after undo/redo.</li>
  1225. <li>Fix block-reindent ignoring the last few lines.</li>
  1226. <li>Fix parsing of multi-line attrs in XML mode.</li>
  1227. <li>Use <code>innerHTML</code> for HTML-escaping.</li>
  1228. <li>Some fixes to indentation in C-like mode.</li>
  1229. <li>Shrink horiz scrollbars when long lines removed.</li>
  1230. <li>Fix width feedback loop bug that caused the width of an inner DIV to shrink.</li>
  1231. </ul>
  1232. <p class="rel">04-07-2011: <a href="https://codemirror.net/codemirror-2.11.zip">Version 2.11</a>:</p>
  1233. <ul class="rel-note">
  1234. <li>Add a <a href="../mode/scheme/index.html">Scheme mode</a>.</li>
  1235. <li>Add a <code>replace</code> method to search cursors, for cursor-preserving replacements.</li>
  1236. <li>Make the <a href="../mode/clike/index.html">C-like mode</a> mode more customizable.</li>
  1237. <li>Update XML mode to spot mismatched tags.</li>
  1238. <li>Add <code>getStateAfter</code> API and <code>compareState</code> mode API methods for finer-grained mode magic.</li>
  1239. <li>Add a <code>getScrollerElement</code> API method to manipulate the scrolling DIV.</li>
  1240. <li>Fix drag-and-drop for Firefox.</li>
  1241. <li>Add a C# configuration for the <a href="../mode/clike/index.html">C-like mode</a>.</li>
  1242. <li>Add <a href="../demo/fullscreen.html">full-screen editing</a> and <a href="../demo/changemode.html">mode-changing</a> demos.</li>
  1243. </ul>
  1244. <p class="rel">07-06-2011: <a href="https://codemirror.net/codemirror-2.1.zip">Version 2.1</a>:</p>
  1245. <p class="rel-note">Add
  1246. a <a href="manual.html#option_theme">theme</a> system
  1247. (<a href="../demo/theme.html">demo</a>). Note that this is not
  1248. backwards-compatible—you'll have to update your styles and
  1249. modes!</p>
  1250. <p class="rel">07-06-2011: <a href="https://codemirror.net/codemirror-2.02.zip">Version 2.02</a>:</p>
  1251. <ul class="rel-note">
  1252. <li>Add a <a href="../mode/lua/index.html">Lua mode</a>.</li>
  1253. <li>Fix reverse-searching for a regexp.</li>
  1254. <li>Empty lines can no longer break highlighting.</li>
  1255. <li>Rework scrolling model (the outer wrapper no longer does the scrolling).</li>
  1256. <li>Solve horizontal jittering on long lines.</li>
  1257. <li>Add <a href="../demo/runmode.html">runmode.js</a>.</li>
  1258. <li>Immediately re-highlight text when typing.</li>
  1259. <li>Fix problem with 'sticking' horizontal scrollbar.</li>
  1260. </ul>
  1261. <p class="rel">26-05-2011: <a href="https://codemirror.net/codemirror-2.01.zip">Version 2.01</a>:</p>
  1262. <ul class="rel-note">
  1263. <li>Add a <a href="../mode/smalltalk/index.html">Smalltalk mode</a>.</li>
  1264. <li>Add a <a href="../mode/rst/index.html">reStructuredText mode</a>.</li>
  1265. <li>Add a <a href="../mode/python/index.html">Python mode</a>.</li>
  1266. <li>Add a <a href="../mode/plsql/index.html">PL/SQL mode</a>.</li>
  1267. <li><code>coordsChar</code> now works</li>
  1268. <li>Fix a problem where <code>onCursorActivity</code> interfered with <code>onChange</code>.</li>
  1269. <li>Fix a number of scrolling and mouse-click-position glitches.</li>
  1270. <li>Pass information about the changed lines to <code>onChange</code>.</li>
  1271. <li>Support cmd-up/down on OS X.</li>
  1272. <li>Add triple-click line selection.</li>
  1273. <li>Don't handle shift when changing the selection through the API.</li>
  1274. <li>Support <code>"nocursor"</code> mode for <code>readOnly</code> option.</li>
  1275. <li>Add an <code>onHighlightComplete</code> option.</li>
  1276. <li>Fix the context menu for Firefox.</li>
  1277. </ul>
  1278. <p class="rel">28-03-2011: <a href="https://codemirror.net/codemirror-2.0.zip">Version 2.0</a>:</p>
  1279. <p class="rel-note">CodeMirror 2 is a complete rewrite that's
  1280. faster, smaller, simpler to use, and less dependent on browser
  1281. quirks. See <a href="internals.html">this</a>
  1282. and <a href="http://groups.google.com/group/codemirror/browse_thread/thread/5a8e894024a9f580">this</a>
  1283. for more information.</p>
  1284. <p class="rel">22-02-2011: <a href="https://github.com/codemirror/codemirror/tree/beta2">Version 2.0 beta 2</a>:</p>
  1285. <p class="rel-note">Somewhat more mature API, lots of bugs shaken out.</p>
  1286. <p class="rel">17-02-2011: <a href="https://codemirror.net/codemirror-0.94.zip">Version 0.94</a>:</p>
  1287. <ul class="rel-note">
  1288. <li><code>tabMode: "spaces"</code> was modified slightly (now indents when something is selected).</li>
  1289. <li>Fixes a bug that would cause the selection code to break on some IE versions.</li>
  1290. <li>Disabling spell-check on WebKit browsers now works.</li>
  1291. </ul>
  1292. <p class="rel">08-02-2011: <a href="https://codemirror.net/">Version 2.0 beta 1</a>:</p>
  1293. <p class="rel-note">CodeMirror 2 is a complete rewrite of
  1294. CodeMirror, no longer depending on an editable frame.</p>
  1295. <p class="rel">19-01-2011: <a href="https://codemirror.net/codemirror-0.93.zip">Version 0.93</a>:</p>
  1296. <ul class="rel-note">
  1297. <li>Added a <a href="contrib/regex/index.html">Regular Expression</a> parser.</li>
  1298. <li>Fixes to the PHP parser.</li>
  1299. <li>Support for regular expression in search/replace.</li>
  1300. <li>Add <code>save</code> method to instances created with <code>fromTextArea</code>.</li>
  1301. <li>Add support for MS T-SQL in the SQL parser.</li>
  1302. <li>Support use of CSS classes for highlighting brackets.</li>
  1303. <li>Fix yet another hang with line-numbering in hidden editors.</li>
  1304. </ul>
  1305. </section>
  1306. <section id=v1>
  1307. <h2>Version 0.x</h2>
  1308. <p class="rel">28-03-2011: <a href="https://codemirror.net/codemirror-1.0.zip">Version 1.0</a>:</p>
  1309. <ul class="rel-note">
  1310. <li>Fix error when debug history overflows.</li>
  1311. <li>Refine handling of C# verbatim strings.</li>
  1312. <li>Fix some issues with JavaScript indentation.</li>
  1313. </ul>
  1314. <p class="rel">17-12-2010: <a href="https://codemirror.net/codemirror-0.92.zip">Version 0.92</a>:</p>
  1315. <ul class="rel-note">
  1316. <li>Make CodeMirror work in XHTML documents.</li>
  1317. <li>Fix bug in handling of backslashes in Python strings.</li>
  1318. <li>The <code>styleNumbers</code> option is now officially
  1319. supported and documented.</li>
  1320. <li><code>onLineNumberClick</code> option added.</li>
  1321. <li>More consistent names <code>onLoad</code> and
  1322. <code>onCursorActivity</code> callbacks. Old names still work, but
  1323. are deprecated.</li>
  1324. <li>Add a <a href="contrib/freemarker/index.html">Freemarker</a> mode.</li>
  1325. </ul>
  1326. <p class="rel">11-11-2010: <a
  1327. href="https://codemirror.net/codemirror-0.91.zip">Version 0.91</a>:</p>
  1328. <ul class="rel-note">
  1329. <li>Adds support for <a href="contrib/java">Java</a>.</li>
  1330. <li>Small additions to the <a href="contrib/php">PHP</a> and <a href="contrib/sql">SQL</a> parsers.</li>
  1331. <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>
  1332. <li>Fix <code>toTextArea</code> to update the code in the textarea.</li>
  1333. <li>Add a <code>noScriptCaching</code> option (hack to ease development).</li>
  1334. <li>Make sub-modes of <a href="mixedtest.html">HTML mixed</a> mode configurable.</li>
  1335. </ul>
  1336. <p class="rel">02-10-2010: <a
  1337. href="https://codemirror.net/codemirror-0.9.zip">Version 0.9</a>:</p>
  1338. <ul class="rel-note">
  1339. <li>Add support for searching backwards.</li>
  1340. <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>
  1341. <li>Makes <code>height: "dynamic"</code> more robust.</li>
  1342. <li>Fixes bug where paste did not work on OS X.</li>
  1343. <li>Add a <code>enterMode</code> and <code>electricChars</code> options to make indentation even more customizable.</li>
  1344. <li>Add <code>firstLineNumber</code> option.</li>
  1345. <li>Fix bad handling of <code>@media</code> rules by the CSS parser.</li>
  1346. <li>Take a new, more robust approach to working around the invisible-last-line bug in WebKit.</li>
  1347. </ul>
  1348. <p class="rel">22-07-2010: <a
  1349. href="https://codemirror.net/codemirror-0.8.zip">Version 0.8</a>:</p>
  1350. <ul class="rel-note">
  1351. <li>Add a <code>cursorCoords</code> method to find the screen
  1352. coordinates of the cursor.</li>
  1353. <li>A number of fixes and support for more syntax in the PHP parser.</li>
  1354. <li>Fix indentation problem with JSON-mode JS parser in Webkit.</li>
  1355. <li>Add a <a href="compress.html">minification</a> UI.</li>
  1356. <li>Support a <code>height: dynamic</code> mode, where the editor's
  1357. height will adjust to the size of its content.</li>
  1358. <li>Better support for IME input mode.</li>
  1359. <li>Fix JavaScript parser getting confused when seeing a no-argument
  1360. function call.</li>
  1361. <li>Have CSS parser see the difference between selectors and other
  1362. identifiers.</li>
  1363. <li>Fix scrolling bug when pasting in a horizontally-scrolled
  1364. editor.</li>
  1365. <li>Support <code>toTextArea</code> method in instances created with
  1366. <code>fromTextArea</code>.</li>
  1367. <li>Work around new Opera cursor bug that causes the cursor to jump
  1368. when pressing backspace at the end of a line.</li>
  1369. </ul>
  1370. <p class="rel">27-04-2010: <a
  1371. href="https://codemirror.net/codemirror-0.67.zip">Version
  1372. 0.67</a>:</p>
  1373. <p class="rel-note">More consistent page-up/page-down behaviour
  1374. across browsers. Fix some issues with hidden editors looping forever
  1375. when line-numbers were enabled. Make PHP parser parse
  1376. <code>"\\"</code> correctly. Have <code>jumpToLine</code> work on
  1377. line handles, and add <code>cursorLine</code> function to fetch the
  1378. line handle where the cursor currently is. Add new
  1379. <code>setStylesheet</code> function to switch style-sheets in a
  1380. running editor.</p>
  1381. <p class="rel">01-03-2010: <a
  1382. href="https://codemirror.net/codemirror-0.66.zip">Version
  1383. 0.66</a>:</p>
  1384. <p class="rel-note">Adds <code>removeLine</code> method to API.
  1385. Introduces the <a href="contrib/plsql/index.html">PLSQL parser</a>.
  1386. Marks XML errors by adding (rather than replacing) a CSS class, so
  1387. that they can be disabled by modifying their style. Fixes several
  1388. selection bugs, and a number of small glitches.</p>
  1389. <p class="rel">12-11-2009: <a
  1390. href="https://codemirror.net/codemirror-0.65.zip">Version
  1391. 0.65</a>:</p>
  1392. <p class="rel-note">Add support for having both line-wrapping and
  1393. line-numbers turned on, make paren-highlighting style customisable
  1394. (<code>markParen</code> and <code>unmarkParen</code> config
  1395. options), work around a selection bug that Opera
  1396. <em>re</em>introduced in version 10.</p>
  1397. <p class="rel">23-10-2009: <a
  1398. href="https://codemirror.net/codemirror-0.64.zip">Version
  1399. 0.64</a>:</p>
  1400. <p class="rel-note">Solves some issues introduced by the
  1401. paste-handling changes from the previous release. Adds
  1402. <code>setSpellcheck</code>, <code>setTextWrapping</code>,
  1403. <code>setIndentUnit</code>, <code>setUndoDepth</code>,
  1404. <code>setTabMode</code>, and <code>setLineNumbers</code> to
  1405. customise a running editor. Introduces an <a
  1406. href="contrib/sql/index.html">SQL</a> parser. Fixes a few small
  1407. problems in the <a href="contrib/python/index.html">Python</a>
  1408. parser. And, as usual, add workarounds for various newly discovered
  1409. browser incompatibilities.</p>
  1410. <p class="rel">31-08-2009: <a href="https://codemirror.net/codemirror-0.63.zip">Version 0.63</a>:</p>
  1411. <p class="rel-note"> Overhaul of paste-handling (less fragile), fixes for several
  1412. serious IE8 issues (cursor jumping, end-of-document bugs) and a number
  1413. of small problems.</p>
  1414. <p class="rel">30-05-2009: <a href="https://codemirror.net/codemirror-0.62.zip">Version 0.62</a>:</p>
  1415. <p class="rel-note">Introduces <a href="contrib/python/index.html">Python</a>
  1416. and <a href="contrib/lua/index.html">Lua</a> parsers. Add
  1417. <code>setParser</code> (on-the-fly mode changing) and
  1418. <code>clearHistory</code> methods. Make parsing passes time-based
  1419. instead of lines-based (see the <code>passTime</code> option).</p>
  1420. </section>
  1421. </article>