4 <meta charset="utf-8"/>
5 <title>CodeMirror</title>
6 <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans:bold"/>
7 <link rel="stylesheet" type="text/css" href="docs.css"/>
8 <link rel="alternate" href="http://twitter.com/statuses/user_timeline/242283288.rss" type="application/rss+xml"/>
12 <h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
15 <img src="baboon.png" class="logo" alt="logo"/>
22 <p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-3.0rc2.zip">Version 3.0, release candidate 2</a>:</p>
25 <li>New mode: <a href="../mode/http/index.html">HTTP</a>.</li>
26 <li>Improved handling of selection anchor position.</li>
27 <li>Improve IE performance on longer lines.</li>
28 <li>Reduce gutter glitches during horiz. scrolling.</li>
29 <li>Add <a href="manual.html#addKeyMap"><code>addKeyMap</code></a> and <a href="manual.html#removeKeyMap"><code>removeKeyMap</code></a> methods.</li>
30 <li>Rewrite <code>formatting</code> and <code>closetag</code> add-ons.</li>
31 <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0rc1...v3.0rc2">list of patches</a>.</li>
34 <p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-2.36.zip">Version 2.36</a>:</p>
37 <li>New mode: <a href="../mode/z80/index.html">Z80 assembly</a>.</li>
38 <li>New theme: <a href="../demo/theme.html?twilight">Twilight</a>.</li>
39 <li>Add command-line compression helper.</li>
40 <li>Make <a href="manual.html#scrollIntoView"><code>scrollIntoView</code></a> public.</li>
41 <li>Add <a href="manual.html#defaultTextHeight"><code>defaultTextHeight</code></a> method.</li>
42 <li>Various extensions to the vim keymap.</li>
43 <li>Make <a href="../mode/php/index.html">PHP mode</a> build on <a href="../mode/htmlmixed/index.html">mixed HTML mode</a>.</li>
44 <li>Add <a href="manual.html#addon_continuecomment">comment-continuing</a> add-on.</li>
45 <li>Full <a href="../https://github.com/marijnh/CodeMirror/compare/v2.35...v2.36">list of patches</a>.</li>
48 <p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-3.0rc1.zip">Version 3.0, release candidate 1</a>:</p>
51 <li>New theme: <a href="../demo/theme.html?solarized%20light">Solarized</a>.</li>
52 <li>Introduce <a href="manual.html#addLineClass"><code>addLineClass</code></a>
53 and <a href="manual.html#removeLineClass"><code>removeLineClass</code></a>,
54 drop <code>setLineClass</code>.</li>
55 <li>Add a <em>lot</em> of
56 new <a href="manual.html#markText">options for marked text</a>
57 (read-only, atomic, collapsed, widget replacement).</li>
58 <li>Remove the old code folding interface in favour of these new ranges.</li>
59 <li>Add <a href="manual.html#isClean"><code>isClean</code></a>/<a href="manual.html#markClean"><code>markClean</code></a> methods.</li>
60 <li>Remove <code>compoundChange</code> method, use better undo-event-combining heuristic.</li>
61 <li>Improve scrolling performance smoothness.</li>
62 <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0beta2...v3.0rc1">list of patches</a>.</li>
65 <p class="rel">22-10-2012: <a href="http://codemirror.net/codemirror-2.35.zip">Version 2.35</a>:</p>
68 <li>New (sub) mode: <a href="../mode/javascript/typescript.html">TypeScript</a>.</li>
69 <li>Don't overwrite (insert key) when pasting.</li>
70 <li>Fix several bugs in <a href="manual.html#markText"><code>markText</code></a>/undo interaction.</li>
71 <li>Better indentation of JavaScript code without semicolons.</li>
72 <li>Add <a href="manual.html#defineInitHook"><code>defineInitHook</code></a> function.</li>
73 <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v2.34...v2.35">list of patches</a>.</li>
76 <p class="rel">22-10-2012: <a href="http://codemirror.net/codemirror-3.0beta2.zip">Version 3.0, beta 2</a>:</p>
79 <li>Fix page-based coordinate computation.</li>
80 <li>Fix firing of <a href="manual.html#event_gutterClick"><code>gutterClick</code></a> event.</li>
81 <li>Add <a href="manual.html#option_cursorHeight"><code>cursorHeight</code></a> option.</li>
82 <li>Fix bi-directional text regression.</li>
83 <li>Add <a href="manual.html#option_viewportMargin"><code>viewportMargin</code></a> option.</li>
84 <li>Directly handle mousewheel events (again, hopefully better).</li>
85 <li>Make vertical cursor movement more robust (through widgets, big line gaps).</li>
86 <li>Add <a href="manual.html#option_flattenSpans"><code>flattenSpans</code></a> option.</li>
87 <li>Many optimizations. Poor responsiveness should be fixed.</li>
88 <li>Initialization in hidden state works again.</li>
89 <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0beta1...v3.0beta2">list of patches</a>.</li>
92 <p class="rel">19-09-2012: <a href="http://codemirror.net/codemirror-2.34.zip">Version 2.34</a>:</p>
95 <li>New mode: <a href="../mode/commonlisp/index.html">Common Lisp</a>.</li>
96 <li>Fix right-click select-all on most browsers.</li>
97 <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>
98 <li>Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.</li>
99 <li>Add a <a href="manual.html#version"><code>CodeMirror.version</code></a> property.</li>
100 <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>
101 <li>Un/redo now preserves <a href="manual.html#markText">marked text</a> and bookmarks.</li>
102 <li><a href="https://github.com/marijnh/CodeMirror/compare/v2.33...v2.34">Full list</a> of patches.</li>
105 <p class="rel">19-09-2012: <a href="http://codemirror.net/codemirror-3.0beta1.zip">Version 3.0, beta 1</a>:</p>
107 <ul class="rel-note">
108 <li>Bi-directional text support.</li>
109 <li>More powerful gutter model.</li>
110 <li>Support for arbitrary text/widget height.</li>
111 <li>In-line widgets.</li>
112 <li>Generalized event handling.</li>
115 <p class="rel">23-08-2012: <a href="http://codemirror.net/codemirror-2.33.zip">Version 2.33</a>:</p>
117 <ul class="rel-note">
118 <li>New mode: <a href="../mode/sieve/index.html">Sieve</a>.</li>
119 <li>New <a href="manual.html#getViewport"><code>getViewPort</code></a> and <a href="manual.html#option_onViewportChange"><code>onViewportChange</code></a> API.</li>
120 <li><a href="manual.html#option_cursorBlinkRate">Configurable</a> cursor blink rate.</li>
121 <li>Make binding a key to <code>false</code> disabling handling (again).</li>
122 <li>Show non-printing characters as red dots.</li>
123 <li>More tweaks to the scrolling model.</li>
124 <li>Expanded testsuite. Basic linter added.</li>
125 <li>Remove most uses of <code>innerHTML</code>. Remove <code>CodeMirror.htmlEscape</code>.</li>
126 <li><a href="https://github.com/marijnh/CodeMirror/compare/v2.32...v2.33">Full list</a> of patches.</li>
129 <p class="rel">23-07-2012: <a href="http://codemirror.net/codemirror-2.32.zip">Version 2.32</a>:</p>
131 <p class="rel-note">Emergency fix for a bug where an editor with
132 line wrapping on IE will break when there is <em>no</em>
135 <p class="rel">20-07-2012: <a href="http://codemirror.net/codemirror-2.31.zip">Version 2.31</a>:</p>
137 <ul class="rel-note">
138 <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>
139 <li>Several fixes to the new scrolling model.</li>
140 <li>Add a <a href="manual.html#setSize"><code>setSize</code></a> method for programmatic resizing.</li>
141 <li>Add <a href="manual.html#getHistory"><code>getHistory</code></a> and <a href="manual.html#setHistory"><code>setHistory</code></a> methods.</li>
142 <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>
143 <li>Support double- and triple-click drag, double-clicking whitespace.</li>
144 <li>And more... <a href="https://github.com/marijnh/CodeMirror/compare/v2.3...v2.31">(all patches)</a></li>
147 <p class="rel">22-06-2012: <a href="http://codemirror.net/codemirror-2.3.zip">Version 2.3</a>:</p>
149 <ul class="rel-note">
150 <li><strong>New scrollbar implementation</strong>. Should flicker less. Changes DOM structure of the editor.</li>
151 <li>New theme: <a href="../demo/theme.html?vibrant-ink">vibrant-ink</a>.</li>
152 <li>Many extensions to the VIM keymap (including text objects).</li>
153 <li>Add <a href="../demo/multiplex.html">mode-multiplexing</a> utility script.</li>
154 <li>Fix bug where right-click paste works in read-only mode.</li>
155 <li>Add a <a href="manual.html#getScrollInfo"><code>getScrollInfo</code></a> method.</li>
156 <li>Lots of other <a href="https://github.com/marijnh/CodeMirror/compare/v2.25...v2.3">fixes</a>.</li>
159 <p class="rel">23-05-2012: <a href="http://codemirror.net/codemirror-2.25.zip">Version 2.25</a>:</p>
161 <ul class="rel-note">
162 <li>New mode: <a href="../mode/erlang/index.html">Erlang</a>.</li>
163 <li><strong>Remove xmlpure mode</strong> (use <a href="../mode/xml/index.html">xml.js</a>).</li>
164 <li>Fix line-wrapping in Opera.</li>
165 <li>Fix X Windows middle-click paste in Chrome.</li>
166 <li>Fix bug that broke pasting of huge documents.</li>
167 <li>Fix backspace and tab key repeat in Opera.</li>
170 <p class="rel">23-04-2012: <a href="http://codemirror.net/codemirror-2.24.zip">Version 2.24</a>:</p>
172 <ul class="rel-note">
173 <li><strong>Drop support for Internet Explorer 6</strong>.</li>
175 modes: <a href="../mode/shell/index.html">Shell</a>, <a href="../mode/tiki/index.html">Tiki
176 wiki</a>, <a href="../mode/pig/index.html">Pig Latin</a>.</li>
177 <li>New themes: <a href="../demo/theme.html?ambiance">Ambiance</a>, <a href="../demo/theme.html?blackboard">Blackboard</a>.</li>
178 <li>More control over drag/drop
179 with <a href="manual.html#option_dragDrop"><code>dragDrop</code></a>
180 and <a href="manual.html#option_onDragEvent"><code>onDragEvent</code></a>
182 <li>Make HTML mode a bit less pedantic.</li>
183 <li>Add <a href="manual.html#compoundChange"><code>compoundChange</code></a> API method.</li>
184 <li>Several fixes in undo history and line hiding.</li>
185 <li>Remove (broken) support for <code>catchall</code> in key maps,
186 add <code>nofallthrough</code> boolean field instead.</li>
189 <p class="rel">26-03-2012: <a href="http://codemirror.net/codemirror-2.23.zip">Version 2.23</a>:</p>
191 <ul class="rel-note">
192 <li>Change <strong>default binding for tab</strong> <a href="javascript:void(document.getElementById('tabbinding').style.display='')">[more]</a>
193 <div style="display: none" id=tabbinding>
194 Starting in 2.23, these bindings are default:
195 <ul><li>Tab: Insert tab character</li>
196 <li>Shift-tab: Reset line indentation to default</li>
197 <li>Ctrl/Cmd-[: Reduce line indentation (old tab behaviour)</li>
198 <li>Ctrl/Cmd-]: Increase line indentation (old shift-tab behaviour)</li>
202 <li>New modes: <a href="../mode/xquery/index.html">XQuery</a> and <a href="../mode/vbscript/index.html">VBScript</a>.</li>
203 <li>Two new themes: <a href="../mode/less/index.html">lesser-dark</a> and <a href="../mode/xquery/index.html">xq-dark</a>.</li>
204 <li>Differentiate between background and text styles in <a href="manual.html#setLineClass"><code>setLineClass</code></a>.</li>
205 <li>Fix drag-and-drop in IE9+.</li>
206 <li>Extend <a href="manual.html#charCoords"><code>charCoords</code></a>
207 and <a href="manual.html#cursorCoords"><code>cursorCoords</code></a> with a <code>mode</code> argument.</li>
208 <li>Add <a href="manual.html#option_autofocus"><code>autofocus</code></a> option.</li>
209 <li>Add <a href="manual.html#findMarksAt"><code>findMarksAt</code></a> method.</li>
212 <p class="rel">27-02-2012: <a href="http://codemirror.net/codemirror-2.22.zip">Version 2.22</a>:</p>
214 <ul class="rel-note">
215 <li>Allow <a href="manual.html#keymaps">key handlers</a> to pass up events, allow binding characters.</li>
216 <li>Add <a href="manual.html#option_autoClearEmptyLines"><code>autoClearEmptyLines</code></a> option.</li>
217 <li>Properly use tab stops when rendering tabs.</li>
218 <li>Make PHP mode more robust.</li>
219 <li>Support indentation blocks in <a href="manual.html#addon_foldcode">code folder</a>.</li>
220 <li>Add a script for <a href="manual.html#addon_match-highlighter">highlighting instances of the selection</a>.</li>
221 <li>New <a href="../mode/properties/index.html">.properties</a> mode.</li>
222 <li>Fix many bugs.</li>
225 <p class="rel">27-01-2012: <a href="http://codemirror.net/codemirror-2.21.zip">Version 2.21</a>:</p>
227 <ul class="rel-note">
228 <li>Added <a href="../mode/less/index.html">LESS</a>, <a href="../mode/mysql/index.html">MySQL</a>,
229 <a href="../mode/go/index.html">Go</a>, and <a href="../mode/verilog/index.html">Verilog</a> modes.</li>
230 <li>Add <a href="manual.html#option_smartIndent"><code>smartIndent</code></a>
232 <li>Support a cursor in <a href="manual.html#option_readOnly"><code>readOnly</code></a>-mode.</li>
233 <li>Support assigning multiple styles to a token.</li>
234 <li>Use a new approach to drawing the selection.</li>
235 <li>Add <a href="manual.html#scrollTo"><code>scrollTo</code></a> method.</li>
236 <li>Allow undo/redo events to span non-adjacent lines.</li>
237 <li>Lots and lots of bugfixes.</li>
240 <p class="rel">20-12-2011: <a href="http://codemirror.net/codemirror-2.2.zip">Version 2.2</a>:</p>
242 <ul class="rel-note">
243 <li>Slightly incompatible API changes. Read <a href="upgrade_v2.2.html">this</a>.</li>
245 to <a href="manual.html#option_extraKeys">binding</a> keys,
246 support for <a href="manual.html#option_keyMap">custom
248 <li>Support for overwrite (insert).</li>
249 <li><a href="manual.html#option_tabSize">Custom-width</a>
250 and <a href="../demo/visibletabs.html">stylable</a> tabs.</li>
251 <li>Moved more code into <a href="manual.html#addons">add-on scripts</a>.</li>
252 <li>Support for sane vertical cursor movement in wrapped lines.</li>
253 <li>More reliable handling of
254 editing <a href="manual.html#markText">marked text</a>.</li>
255 <li>Add minimal <a href="../demo/emacs.html">emacs</a>
256 and <a href="../demo/vim.html">vim</a> bindings.</li>
257 <li>Rename <code>coordsFromIndex</code>
258 to <a href="manual.html#posFromIndex"><code>posFromIndex</code></a>,
259 add <a href="manual.html#indexFromPos"><code>indexFromPos</code></a>
263 <p class="rel">21-11-2011: <a href="http://codemirror.net/codemirror-2.18.zip">Version 2.18</a>:</p>
264 <p class="rel-note">Fixes <code>TextMarker.clear</code>, which is broken in 2.17.</p>
266 <p class="rel">21-11-2011: <a href="http://codemirror.net/codemirror-2.17.zip">Version 2.17</a>:</p>
267 <ul class="rel-note">
268 <li>Add support for <a href="manual.html#option_lineWrapping">line
269 wrapping</a> and <a href="manual.html#hideLine">code
271 <li>Add <a href="../mode/gfm/index.html">Github-style Markdown</a> mode.</li>
272 <li>Add <a href="../theme/monokai.css">Monokai</a>
273 and <a href="../theme/rubyblue.css">Rubyblue</a> themes.</li>
274 <li>Add <a href="manual.html#setBookmark"><code>setBookmark</code></a> method.</li>
275 <li>Move some of the demo code into reusable components
276 under <a href="../addon/"><code>lib/util</code></a>.</li>
277 <li>Make screen-coord-finding code faster and more reliable.</li>
278 <li>Fix drag-and-drop in Firefox.</li>
279 <li>Improve support for IME.</li>
280 <li>Speed up content rendering.</li>
281 <li>Fix browser's built-in search in Webkit.</li>
282 <li>Make double- and triple-click work in IE.</li>
283 <li>Various fixes to modes.</li>
286 <p class="rel">27-10-2011: <a href="http://codemirror.net/codemirror-2.16.zip">Version 2.16</a>:</p>
287 <ul class="rel-note">
288 <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>
289 <li>Dragging text inside the editor now moves, rather than copies.</li>
290 <li>Add a <a href="manual.html#coordsFromIndex"><code>coordsFromIndex</code></a> method.</li>
291 <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>
292 <li><strong>API change</strong>: <a href="manual.html#markText"><code>markText</code></a> now
293 returns an object with <code>clear</code> and <code>find</code>
294 methods. Marked text is now more robust when edited.</li>
295 <li>Fix editing code with tabs in Internet Explorer.</li>
298 <p class="rel">26-09-2011: <a href="http://codemirror.net/codemirror-2.15.zip">Version 2.15</a>:</p>
299 <p class="rel-note">Fix bug that snuck into 2.14: Clicking the
300 character that currently has the cursor didn't re-focus the
303 <p class="rel">26-09-2011: <a href="http://codemirror.net/codemirror-2.14.zip">Version 2.14</a>:</p>
304 <ul class="rel-note">
305 <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>
306 <li>Add <a href="../theme/cobalt.css">Cobalt</a> and <a href="../theme/eclipse.css">Eclipse</a> themes.</li>
307 <li>Add a <a href="manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
308 <li>Fix bug with <code>setValue</code> breaking cursor movement.</li>
309 <li>Make gutter updates much more efficient.</li>
310 <li>Allow dragging of text out of the editor (on modern browsers).</li>
314 <p class="rel">23-08-2011: <a href="http://codemirror.net/codemirror-2.13.zip">Version 2.13</a>:</p>
315 <ul class="rel-note">
316 <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>
317 <li>Add <a href="manual.html#getGutterElement"><code>getGutterElement</code></a> to API.</li>
318 <li>Several fixes to scrolling and positioning.</li>
319 <li>Add <a href="manual.html#option_smartHome"><code>smartHome</code></a> option.</li>
320 <li>Add an experimental <a href="../mode/xmlpure/index.html">pure XML</a> mode.</li>
323 <p class="rel">25-07-2011: <a href="http://codemirror.net/codemirror-2.12.zip">Version 2.12</a>:</p>
324 <ul class="rel-note">
325 <li>Add a <a href="../mode/sparql/index.html">SPARQL</a> mode.</li>
326 <li>Fix bug with cursor jumping around in an unfocused editor in IE.</li>
327 <li>Allow key and mouse events to bubble out of the editor. Ignore widget clicks.</li>
328 <li>Solve cursor flakiness after undo/redo.</li>
329 <li>Fix block-reindent ignoring the last few lines.</li>
330 <li>Fix parsing of multi-line attrs in XML mode.</li>
331 <li>Use <code>innerHTML</code> for HTML-escaping.</li>
332 <li>Some fixes to indentation in C-like mode.</li>
333 <li>Shrink horiz scrollbars when long lines removed.</li>
334 <li>Fix width feedback loop bug that caused the width of an inner DIV to shrink.</li>
337 <p class="rel">04-07-2011: <a href="http://codemirror.net/codemirror-2.11.zip">Version 2.11</a>:</p>
338 <ul class="rel-note">
339 <li>Add a <a href="../mode/scheme/index.html">Scheme mode</a>.</li>
340 <li>Add a <code>replace</code> method to search cursors, for cursor-preserving replacements.</li>
341 <li>Make the <a href="../mode/clike/index.html">C-like mode</a> mode more customizable.</li>
342 <li>Update XML mode to spot mismatched tags.</li>
343 <li>Add <code>getStateAfter</code> API and <code>compareState</code> mode API methods for finer-grained mode magic.</li>
344 <li>Add a <code>getScrollerElement</code> API method to manipulate the scrolling DIV.</li>
345 <li>Fix drag-and-drop for Firefox.</li>
346 <li>Add a C# configuration for the <a href="../mode/clike/index.html">C-like mode</a>.</li>
347 <li>Add <a href="../demo/fullscreen.html">full-screen editing</a> and <a href="../demo/changemode.html">mode-changing</a> demos.</li>
350 <p class="rel">07-06-2011: <a href="http://codemirror.net/codemirror-2.1.zip">Version 2.1</a>:</p>
351 <p class="rel-note">Add
352 a <a href="manual.html#option_theme">theme</a> system
353 (<a href="../demo/theme.html">demo</a>). Note that this is not
354 backwards-compatible—you'll have to update your styles and
357 <p class="rel">07-06-2011: <a href="http://codemirror.net/codemirror-2.02.zip">Version 2.02</a>:</p>
358 <ul class="rel-note">
359 <li>Add a <a href="../mode/lua/index.html">Lua mode</a>.</li>
360 <li>Fix reverse-searching for a regexp.</li>
361 <li>Empty lines can no longer break highlighting.</li>
362 <li>Rework scrolling model (the outer wrapper no longer does the scrolling).</li>
363 <li>Solve horizontal jittering on long lines.</li>
364 <li>Add <a href="../demo/runmode.html">runmode.js</a>.</li>
365 <li>Immediately re-highlight text when typing.</li>
366 <li>Fix problem with 'sticking' horizontal scrollbar.</li>
369 <p class="rel">26-05-2011: <a href="http://codemirror.net/codemirror-2.01.zip">Version 2.01</a>:</p>
370 <ul class="rel-note">
371 <li>Add a <a href="../mode/smalltalk/index.html">Smalltalk mode</a>.</li>
372 <li>Add a <a href="../mode/rst/index.html">reStructuredText mode</a>.</li>
373 <li>Add a <a href="../mode/python/index.html">Python mode</a>.</li>
374 <li>Add a <a href="../mode/plsql/index.html">PL/SQL mode</a>.</li>
375 <li><code>coordsChar</code> now works</li>
376 <li>Fix a problem where <code>onCursorActivity</code> interfered with <code>onChange</code>.</li>
377 <li>Fix a number of scrolling and mouse-click-position glitches.</li>
378 <li>Pass information about the changed lines to <code>onChange</code>.</li>
379 <li>Support cmd-up/down on OS X.</li>
380 <li>Add triple-click line selection.</li>
381 <li>Don't handle shift when changing the selection through the API.</li>
382 <li>Support <code>"nocursor"</code> mode for <code>readOnly</code> option.</li>
383 <li>Add an <code>onHighlightComplete</code> option.</li>
384 <li>Fix the context menu for Firefox.</li>
387 <p class="rel">28-03-2011: <a href="http://codemirror.net/codemirror-2.0.zip">Version 2.0</a>:</p>
388 <p class="rel-note">CodeMirror 2 is a complete rewrite that's
389 faster, smaller, simpler to use, and less dependent on browser
390 quirks. See <a href="internals.html">this</a>
391 and <a href="http://groups.google.com/group/codemirror/browse_thread/thread/5a8e894024a9f580">this</a>
392 for more information.</p>
394 <p class="rel">28-03-2011: <a href="http://codemirror.net/codemirror-1.0.zip">Version 1.0</a>:</p>
395 <ul class="rel-note">
396 <li>Fix error when debug history overflows.</li>
397 <li>Refine handling of C# verbatim strings.</li>
398 <li>Fix some issues with JavaScript indentation.</li>
401 <p class="rel">22-02-2011: <a href="https://github.com/marijnh/codemirror/tree/beta2">Version 2.0 beta 2</a>:</p>
402 <p class="rel-note">Somewhat more mature API, lots of bugs shaken out.</p>
404 <p class="rel">17-02-2011: <a href="http://codemirror.net/codemirror-0.94.zip">Version 0.94</a>:</p>
405 <ul class="rel-note">
406 <li><code>tabMode: "spaces"</code> was modified slightly (now indents when something is selected).</li>
407 <li>Fixes a bug that would cause the selection code to break on some IE versions.</li>
408 <li>Disabling spell-check on WebKit browsers now works.</li>
411 <p class="rel">08-02-2011: <a href="http://codemirror.net/">Version 2.0 beta 1</a>:</p>
412 <p class="rel-note">CodeMirror 2 is a complete rewrite of
413 CodeMirror, no longer depending on an editable frame.</p>
415 <p class="rel">19-01-2011: <a href="http://codemirror.net/codemirror-0.93.zip">Version 0.93</a>:</p>
416 <ul class="rel-note">
417 <li>Added a <a href="contrib/regex/index.html">Regular Expression</a> parser.</li>
418 <li>Fixes to the PHP parser.</li>
419 <li>Support for regular expression in search/replace.</li>
420 <li>Add <code>save</code> method to instances created with <code>fromTextArea</code>.</li>
421 <li>Add support for MS T-SQL in the SQL parser.</li>
422 <li>Support use of CSS classes for highlighting brackets.</li>
423 <li>Fix yet another hang with line-numbering in hidden editors.</li>
426 <p class="rel">17-12-2010: <a href="http://codemirror.net/codemirror-0.92.zip">Version 0.92</a>:</p>
427 <ul class="rel-note">
428 <li>Make CodeMirror work in XHTML documents.</li>
429 <li>Fix bug in handling of backslashes in Python strings.</li>
430 <li>The <code>styleNumbers</code> option is now officially
431 supported and documented.</li>
432 <li><code>onLineNumberClick</code> option added.</li>
433 <li>More consistent names <code>onLoad</code> and
434 <code>onCursorActivity</code> callbacks. Old names still work, but
436 <li>Add a <a href="contrib/freemarker/index.html">Freemarker</a> mode.</li>
439 <p class="rel">11-11-2010: <a
440 href="http://codemirror.net/codemirror-0.91.zip">Version 0.91</a>:</p>
441 <ul class="rel-note">
442 <li>Adds support for <a href="contrib/java">Java</a>.</li>
443 <li>Small additions to the <a href="contrib/php">PHP</a> and <a href="contrib/sql">SQL</a> parsers.</li>
444 <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>
445 <li>Fix <code>toTextArea</code> to update the code in the textarea.</li>
446 <li>Add a <code>noScriptCaching</code> option (hack to ease development).</li>
447 <li>Make sub-modes of <a href="mixedtest.html">HTML mixed</a> mode configurable.</li>
450 <p class="rel">02-10-2010: <a
451 href="http://codemirror.net/codemirror-0.9.zip">Version 0.9</a>:</p>
452 <ul class="rel-note">
453 <li>Add support for searching backwards.</li>
454 <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>
455 <li>Makes <code>height: "dynamic"</code> more robust.</li>
456 <li>Fixes bug where paste did not work on OS X.</li>
457 <li>Add a <code>enterMode</code> and <code>electricChars</code> options to make indentation even more customizable.</li>
458 <li>Add <code>firstLineNumber</code> option.</li>
459 <li>Fix bad handling of <code>@media</code> rules by the CSS parser.</li>
460 <li>Take a new, more robust approach to working around the invisible-last-line bug in WebKit.</li>
463 <p class="rel">22-07-2010: <a
464 href="http://codemirror.net/codemirror-0.8.zip">Version 0.8</a>:</p>
465 <ul class="rel-note">
466 <li>Add a <code>cursorCoords</code> method to find the screen
467 coordinates of the cursor.</li>
468 <li>A number of fixes and support for more syntax in the PHP parser.</li>
469 <li>Fix indentation problem with JSON-mode JS parser in Webkit.</li>
470 <li>Add a <a href="compress.html">minification</a> UI.</li>
471 <li>Support a <code>height: dynamic</code> mode, where the editor's
472 height will adjust to the size of its content.</li>
473 <li>Better support for IME input mode.</li>
474 <li>Fix JavaScript parser getting confused when seeing a no-argument
476 <li>Have CSS parser see the difference between selectors and other
478 <li>Fix scrolling bug when pasting in a horizontally-scrolled
480 <li>Support <code>toTextArea</code> method in instances created with
481 <code>fromTextArea</code>.</li>
482 <li>Work around new Opera cursor bug that causes the cursor to jump
483 when pressing backspace at the end of a line.</li>
486 <p class="rel">27-04-2010: <a
487 href="http://codemirror.net/codemirror-0.67.zip">Version
489 <p class="rel-note">More consistent page-up/page-down behaviour
490 across browsers. Fix some issues with hidden editors looping forever
491 when line-numbers were enabled. Make PHP parser parse
492 <code>"\\"</code> correctly. Have <code>jumpToLine</code> work on
493 line handles, and add <code>cursorLine</code> function to fetch the
494 line handle where the cursor currently is. Add new
495 <code>setStylesheet</code> function to switch style-sheets in a
498 <p class="rel">01-03-2010: <a
499 href="http://codemirror.net/codemirror-0.66.zip">Version
501 <p class="rel-note">Adds <code>removeLine</code> method to API.
502 Introduces the <a href="contrib/plsql/index.html">PLSQL parser</a>.
503 Marks XML errors by adding (rather than replacing) a CSS class, so
504 that they can be disabled by modifying their style. Fixes several
505 selection bugs, and a number of small glitches.</p>
507 <p class="rel">12-11-2009: <a
508 href="http://codemirror.net/codemirror-0.65.zip">Version
510 <p class="rel-note">Add support for having both line-wrapping and
511 line-numbers turned on, make paren-highlighting style customisable
512 (<code>markParen</code> and <code>unmarkParen</code> config
513 options), work around a selection bug that Opera
514 <em>re</em>introduced in version 10.</p>
516 <p class="rel">23-10-2009: <a
517 href="http://codemirror.net/codemirror-0.64.zip">Version
519 <p class="rel-note">Solves some issues introduced by the
520 paste-handling changes from the previous release. Adds
521 <code>setSpellcheck</code>, <code>setTextWrapping</code>,
522 <code>setIndentUnit</code>, <code>setUndoDepth</code>,
523 <code>setTabMode</code>, and <code>setLineNumbers</code> to
524 customise a running editor. Introduces an <a
525 href="contrib/sql/index.html">SQL</a> parser. Fixes a few small
526 problems in the <a href="contrib/python/index.html">Python</a>
527 parser. And, as usual, add workarounds for various newly discovered
528 browser incompatibilities.</p>
530 <p class="rel"><em>31-08-2009</em>: <a
531 href="http://codemirror.net/codemirror-0.63.zip">Version
533 <p class="rel-note"> Overhaul of paste-handling (less fragile), fixes for several
534 serious IE8 issues (cursor jumping, end-of-document bugs) and a number
535 of small problems.</p>
537 <p class="rel"><em>30-05-2009</em>: <a
538 href="http://codemirror.net/codemirror-0.62.zip">Version
540 <p class="rel-note">Introduces <a href="contrib/python/index.html">Python</a>
541 and <a href="contrib/lua/index.html">Lua</a> parsers. Add
542 <code>setParser</code> (on-the-fly mode changing) and
543 <code>clearHistory</code> methods. Make parsing passes time-based
544 instead of lines-based (see the <code>passTime</code> option).</p>