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