comparison .cms/lib/codemirror/doc/releases.html @ 0:78edf6b517a0 draft

24.10
author Coffee CMS <info@coffee-cms.ru>
date Fri, 11 Oct 2024 22:40:23 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:78edf6b517a0
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="https://codemirror.net/5"><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/codemirror5">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 6.x</h2>
32
33 <p>See <a href="https://codemirror.net/docs/changelog/">the new website</a>.</p>
34
35 <h2>Version 5.x</h2>
36
37 <p class="rel">20-09-2024: <a href="https://codemirror.net/5/codemirror-5.65.18.zip">Version 5.65.18</a>:</p>
38
39 <ul class="rel-note">
40 <li><a href="https://codemirror.net/5/mode/dart/index.html">dart mode</a>: Handle numeric separators.</li>
41 <li><a href="https://codemirror.net/5/mode/groovy/index.html">groovy mode</a>: Fix a bug in highlighting interpolated variable names.</li>
42 </ul>
43
44 <p class="rel">20-07-2024: <a href="https://codemirror.net/5/codemirror-5.65.17.zip">Version 5.65.17</a>:</p>
45
46 <ul class="rel-note">
47 <li><a href="https://codemirror.net/5/mode/crystal/index.html">crystal mode</a>: Fix an infinite loop bug when tokenizing heredoc strings.</li>
48 </ul>
49
50 <p class="rel">20-11-2023: <a href="https://codemirror.net/5/codemirror-5.65.16.zip">Version 5.65.16</a>:</p>
51
52 <ul class="rel-note">
53 <li>Fix focus tracking in shadow DOM.</li>
54 <li><a href="https://codemirror.net/5/mode/go/">go mode</a>: Allow underscores in numbers.</li>
55 <li><a href="https://codemirror.net/5/mode/jsx/index.html">jsx mode</a>: Support TS generics marked by trailing comma.</li>
56 </ul>
57
58 <p class="rel">29-08-2023: <a href="https://codemirror.net/5/codemirror-5.65.15.zip">Version 5.65.15</a>:</p>
59
60 <ul class="rel-note">
61 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Prevent tooltips from sticking out of the viewport.</li>
62 <li><a href="https://codemirror.net/5/mode/yaml/">yaml mode</a>: Fix an exponential-complexity regular expression.</li>
63 </ul>
64
65 <p class="rel">17-07-2023: <a href="https://codemirror.net/5/codemirror-5.65.14.zip">Version 5.65.14</a>:</p>
66
67 <ul class="rel-note">
68 <li><a href="https://codemirror.net/5/mode/clike/">clike mode</a>: Fix poor indentation in some Java code.</li>
69 <li><a href="https://codemirror.net/5/mode/nsis/index.html">nsis mode</a>: Recognize <code>!assert</code> command.</li>
70 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Remove broken annotation deduplication.</li>
71 </ul>
72
73 <p class="rel">27-04-2023: <a href="https://codemirror.net/5/codemirror-5.65.13.zip">Version 5.65.13</a>:</p>
74
75 <ul class="rel-note">
76 <li><a href="https://codemirror.net/5/mode/dart/index.html">dart mode</a>: Add some new keywords.</li>
77 <li><a href="https://codemirror.net/5/mode/clike/">clike mode</a>: Tokenize Scala character literals.</li>
78 </ul>
79
80 <p class="rel">20-02-2023: <a href="https://codemirror.net/5/codemirror-5.65.12.zip">Version 5.65.12</a>:</p>
81
82 <ul class="rel-note">
83 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Add new built-ins and keywords.</li>
84 </ul>
85
86 <p class="rel">20-12-2022: <a href="https://codemirror.net/5/codemirror-5.65.11.zip">Version 5.65.11</a>:</p>
87
88 <ul class="rel-note">
89 <li>Also respect autocapitalize/autocorrect/spellcheck options in textarea mode.</li>
90 <li><a href="https://codemirror.net/5/doc/manual.html#addon_sql-hint">sql-hint addon</a>: Fix keyword completion in generic SQL mode.</li>
91 </ul>
92
93 <p class="rel">20-11-2022: <a href="https://codemirror.net/5/codemirror-5.65.10.zip">Version 5.65.10</a>:</p>
94
95 <ul class="rel-note">
96 <li><a href="https://codemirror.net/5/doc/manual.html#addon_sql-hint">sql mode</a>: Fix completion when the SQL mode is wrapped by some outer mode.</li>
97 <li><a href="https://codemirror.net/5/mode/javascript/index.html">javascript mode</a>: Fix parsing of property keywords before private property names.</li>
98 </ul>
99
100 <p class="rel">20-09-2022: <a href="https://codemirror.net/5/codemirror-5.65.9.zip">Version 5.65.9</a>:</p>
101
102 <ul class="rel-note">
103 <li>Add a workaround for a regression in Chrome 105 that could cause content below the editor to not receive mouse events.</li>
104 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Resize the tooltip if it doesn’t fit the screen.</li>
105 <li><a href="https://codemirror.net/5/mode/swift">swift mode</a>: Fix tokenizing of block comments.</li>
106 <li><a href="https://codemirror.net/5/mode/jinja2/">jinja2 mode</a>: Support line statements.</li>
107 </ul>
108
109 <p class="rel">20-08-2022: <a href="https://codemirror.net/5/codemirror-5.65.8.zip">Version 5.65.8</a>:</p>
110
111 <ul class="rel-note">
112 <li>Include direction override and isolate characters in the default set of special characters.</li>
113 <li>Fix an issue that could cause document corruption when mouse-selecting during composition.</li>
114 <li><a href="https://codemirror.net/5/doc/manual.html#addon_foldgutter">foldgutter addon</a>: Refresh markers when the editor’s mode changes.</li>
115 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Fix syntax that prevented the addon from loading in IE10.</li>
116 </ul>
117
118 <p class="rel">20-07-2022: <a href="https://codemirror.net/5/codemirror-5.65.7.zip">Version 5.65.7</a>:</p>
119
120 <ul class="rel-note">
121 <li>Fix several references to the global <code>document</code>/<code>window</code>, improving support for creating an editor in another frame.</li>
122 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Use <a href="https://github.com/replit/codemirror-vim/">upstream</a> code instead of keeping our own copy.</li>
123 <li><a href="https://codemirror.net/5/demo/tern.html">tern addon</a>: Properly HTML escape variable names in rename dialog.</li>
124 </ul>
125
126 <p class="rel">20-06-2022: <a href="https://codemirror.net/5/codemirror-5.65.6.zip">Version 5.65.6</a>:</p>
127
128 <ul class="rel-note">
129 <li>Avoid firing <code>beforeCursorEnter</code> callbacks twice for cursor selections.</li>
130 <li>Improve support for auto-hiding macOS scrollbars.</li>
131 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Fix an issue where the tooltip could be placed to the left of the screen.</li>
132 <li><a href="https://codemirror.net/5/mode/swift">swift mode</a>: Support structured concurrency keywords.</li>
133 </ul>
134
135 <p class="rel">30-05-2022: <a href="https://codemirror.net/5/codemirror-5.65.5.zip">Version 5.65.5</a>:</p>
136
137 <ul class="rel-note">
138 <li>Work around a bug in Chrome 102 that caused wheel scrolling of the editor to constantly stop.</li>
139 <li><a href="https://codemirror.net/5/demo/search.html">search addon</a>: Make sure the search field has an accessible label.</li>
140 <li><a href="https://codemirror.net/5/doc/manual.html#addon_comment">comment addon</a>: Preserve indentation on otherwise empty lines when indenting.</li>
141 </ul>
142
143 <p class="rel">20-05-2022: <a href="https://codemirror.net/5/codemirror-5.65.4.zip">Version 5.65.4</a>:</p>
144
145 <ul class="rel-note">
146 <li>Ignore paste events when the editor doesn’t have focus.</li>
147 <li><a href="https://codemirror.net/5/mode/sparql/index.html">sparql mode</a>: Fix parsing of variables after operators.</li>
148 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Properly tokenize <code>!==</code> and <code>===</code> operators.</li>
149 </ul>
150
151 <p class="rel">20-04-2022: <a href="https://codemirror.net/5/codemirror-5.65.3.zip">Version 5.65.3</a>:</p>
152
153 <ul class="rel-note">
154 <li>Fix a crash that could occur when when marking text.</li>
155 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Add aria label to buttons.</li>
156 <li><a href="https://codemirror.net/5/mode/groovy/index.html">groovy mode</a>: Properly highlight interpolated variables.</li>
157 </ul>
158
159 <p class="rel">21-02-2022: <a href="https://codemirror.net/5/codemirror-5.65.2.zip">Version 5.65.2</a>:</p>
160
161 <ul class="rel-note">
162 <li><a href="https://codemirror.net/5/mode/clike/">clike mode</a>: Recognize triple quoted string in Java.</li>
163 <li><a href="https://codemirror.net/5/mode/cypher/index.html">cypher mode</a>: Fix handling of punctuation.</li>
164 </ul>
165
166 <p class="rel">20-01-2022: <a href="https://codemirror.net/5/codemirror-5.65.1.zip">Version 5.65.1</a>:</p>
167
168 <ul class="rel-note">
169 <li>Fix miscalculation of vertical positions in lines that have both line widgets and replaced newlines.</li>
170 </ul>
171
172 <p class="rel">20-12-2021: <a href="https://codemirror.net/5/codemirror-5.65.0.zip">Version 5.65.0</a>:</p>
173
174 <ul class="rel-note">
175 <li>brace-folding addon: Fix broken folding on lines with both braces and square brackets.</li>
176 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Support g0, g$, g&lt;Arrow&gt;.</li>
177 </ul>
178
179 <p class="rel">20-11-2021: <a href="https://codemirror.net/5/codemirror-5.64.0.zip">Version 5.64.0</a>:</p>
180
181 <ul class="rel-note">
182 <li>Fix a crash that occurred in some situations with replacing marks across line breaks.</li>
183 <li>Make sure native scrollbars reset their position when hidden and re-shown.</li>
184 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Support C-u to delete back a line.</li>
185 </ul>
186
187 <p class="rel">11-10-2021: <a href="https://codemirror.net/5/codemirror-5.63.3.zip">Version 5.63.3</a>:</p>
188
189 <ul class="rel-note">
190 <li>Prevent external styles from giving the hidden textarea a min-height.</li>
191 <li>Remove a stray autosave file that was part of the previous release.</li>
192 </ul>
193
194 <p class="rel">29-09-2021: <a href="https://codemirror.net/5/codemirror-5.63.1.zip">Version 5.63.1</a>:</p>
195
196 <ul class="rel-note">
197 <li>Fix an issue with mouse scrolling on Chrome 94 Windows, which made scrolling by wheel move unusably slow.</li>
198 </ul>
199
200 <p class="rel">20-09-2021: <a href="https://codemirror.net/5/codemirror-5.63.0.zip">Version 5.63.0</a>:</p>
201
202 <ul class="rel-note">
203 <li>Fix scroll position jumping when scrolling a document with very different line heights.</li>
204 <li><a href="https://codemirror.net/5/mode/xml/">xml mode</a>: Look up HTML element behavior in a case-insensitive way.</li>
205 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Support guu for case-changing.</li>
206 </ul>
207
208 <p class="rel">20-08-2021: <a href="https://codemirror.net/5/codemirror-5.62.3.zip">Version 5.62.3</a>:</p>
209
210 <ul class="rel-note">
211 <li>Give the editor a <code>translate=no</code> attribute to prevent automatic translation from modifying its content.</li>
212 <li>Give vim-style cursors a width that matches the character after them.</li>
213 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Make buttons keyboard-accessible.</li>
214 <li><a href="https://codemirror.net/5/demo/emacs.html">emacs bindings</a>: Fix by-page scrolling keybindings, which were accidentally inverted.</li>
215 </ul>
216
217 <p class="rel">21-07-2021: <a href="https://codemirror.net/5/codemirror-5.62.2.zip">Version 5.62.2</a>:</p>
218
219 <ul class="rel-note">
220 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Fix a regression that broke several addon options.</li>
221 </ul>
222
223 <p class="rel">20-07-2021: <a href="https://codemirror.net/5/codemirror-5.62.1.zip">Version 5.62.1</a>:</p>
224
225 <ul class="rel-note">
226 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Make matching of upper-case characters more Unicode-aware.</li>
227 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Prevent options passed to the addon itself from being given to the linter.</li>
228 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Improve screen reader support.</li>
229 <li><a href="https://codemirror.net/5/demo/search.html">search addon</a>: Avoid using <code>innerHTML</code>.</li>
230 </ul>
231
232 <p class="rel">21-06-2021: <a href="https://codemirror.net/5/codemirror-5.62.0.zip">Version 5.62.0</a>:</p>
233
234 <ul class="rel-note">
235 <a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Add support for highlighting lines with errors or warnings.</li>
236 <li>Improve support for vim-style cursors in a number of themes.</li>
237 </ul>
238
239 <p class="rel">20-05-2021: <a href="https://codemirror.net/5/codemirror-5.61.1.zip">Version 5.61.1</a>:</p>
240
241 <ul class="rel-note">
242 <li>Fix a bug where changing the editor’s document could confuse text-direction management.</li>
243 <li>Fix a bug in horizontally scrolling the cursor into view.</li>
244 <li>Optimize adding lots of marks in a single transaction.</li>
245 <li><a href="https://codemirror.net/5/demo/simplemode.html">simple mode addon</a>: Support regexps with a unicode flag.</li>
246 <li><a href="https://codemirror.net/5/mode/javascript/index.html">javascript mode</a>: Add support for TypeScript template string types, improve integration with JSX mode.</li>
247 </ul>
248
249 <p class="rel">20-04-2021: <a href="https://codemirror.net/5/codemirror-5.61.0.zip">Version 5.61.0</a>:</p>
250
251 <ul class="rel-note">
252 <li>The library now emits an <code>"updateGutter"</code> event when the gutter width changes.</li>
253 <li><a href="https://codemirror.net/5/demo/emacs.html">emacs bindings</a>: Provide named commands for all bindings.</li>
254 <li>Improve support for being in a shadow DOM in contenteditable mode.</li>
255 <li>Prevent line number from being read by screen readers.</li>
256 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Fix a crash caused by a race condition.</li>
257 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Improve scope tracking.</li>
258 </ul>
259
260 <p class="rel">20-03-2021: <a href="https://codemirror.net/5/codemirror-5.60.0.zip">Version 5.60.0</a>:</p>
261
262 <ul class="rel-note">
263 <li><code>setSelections</code> now allows ranges to omit the <code>head</code> property when it is equal to <code>anchor</code>.</li>
264 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Add support for reverse line sorting.</li>
265 <li>Fix autofocus feature in contenteditable mode.</li>
266 <li><a href="https://codemirror.net/5/demo/simplemode.html">simple mode addon</a>: Fix a null-dereference crash.</li>
267 <li><a href="https://codemirror.net/5/demo/multiplex.html">multiplex addon</a>: Make it possible to use <code>parseDelimiters</code> when both delimiters are the same.</li>
268 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Fix a lockup bug.</li>
269 </ul>
270
271 <p class="rel">24-02-2021: <a href="https://codemirror.net/5/codemirror-5.59.4.zip">Version 5.59.4</a>:</p>
272
273 <ul class="rel-note">
274 <li>Give the scrollbar corner filler a background again, to prevent content from peeping through between the scrollbars.
275 </ul>
276
277 <p class="rel">20-02-2021: <a href="https://codemirror.net/5/codemirror-5.59.3.zip">Version 5.59.3</a>:</p>
278
279 <ul class="rel-note">
280 <li>Don’t override the way zero-with non-joiners are rendered.</li>
281 <li>Fix an issue where resetting the history cleared the <code>undoDepth</code> option’s value.</li>
282 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Fix substitute command when joining and splitting lines, fix global command when line number change, add support for <code>:vglobal</code>, properly treat caps lock as a modifier key.</li>
283 </ul>
284
285 <p class="rel">20-01-2021: <a href="https://codemirror.net/5/codemirror-5.59.2.zip">Version 5.59.2</a>:</p>
286
287 <ul class="rel-note">
288 <li>Don’t try to scroll the selection into view in <code>readonly: "nocursor"</code> mode.</li>
289 <li><a href="https://codemirror.net/5/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Fix a regression in the behavior of pressing enter between brackets.</li>
290 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Fix an infinite loop on specific syntax errors in object types.</li>
291 <li>various modes: Fix inefficient RegExp matching.</li>
292 </ul>
293
294 <p class="rel">31-12-2020: <a href="https://codemirror.net/5/codemirror-5.59.1.zip">Version 5.59.1</a>:</p>
295
296 <ul class="rel-note">
297 <li>Fix an issue where some Chrome browsers were detected as iOS.</li>
298 </ul>
299
300 <p class="rel">20-12-2020: <a href="https://codemirror.net/5/codemirror-5.59.0.zip">Version 5.59.0</a>:</p>
301
302 <ul class="rel-note">
303 <li>Fix platform detection on recent iPadOS.</li>
304 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Don't show duplicate messages for a given line.</li>
305 <li><a href="https://codemirror.net/5/mode/clojure/index.html">clojure mode</a>: Fix regexp that matched in exponential time for some inputs.</li>
306 <li><a href="https://codemirror.net/5/doc/manual.html#addon_hardwrap">hardwrap addon</a>: Improve handling of words that are longer than the line length.</li>
307 <li><a href="https://codemirror.net/5/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Fix leaked event handler on disabling the addon.</li>
308 <li><a href="https://codemirror.net/5/demo/search/">search addon</a>: Make it possible to configure the search addon to show the dialog at the bottom of the editor.</li>
309 </ul>
310
311 <p class="rel">19-11-2020: <a href="https://codemirror.net/5/codemirror-5.58.3.zip">Version 5.58.3</a>:</p>
312
313 <ul class="rel-note">
314 <li>Suppress quick-firing of blur-focus events when dragging and clicking on Internet Explorer.</li>
315 <li>Fix the <code>insertAt</code> option to <code>addLineWidget</code> to actually allow the widget to be placed after all widgets for the line.</li>
316 <li><a href="https://codemirror.net/5/mode/soy/">soy mode</a>: Support <code>@Attribute</code> and element composition.</li>
317 <li><a href="https://codemirror.net/5/mode/shell/">shell mode</a>: Support heredoc quoting.</li>
318 </ul>
319
320 <p class="rel">23-10-2020: <a href="https://codemirror.net/5/codemirror-5.58.2.zip">Version 5.58.2</a>:</p>
321
322 <ul class="rel-note">
323 <li>Fix a bug where horizontally scrolling the cursor into view sometimes failed with a non-fixed gutter.</li>
324 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Fix an infinite recursion bug.</li>
325 </ul>
326
327 <p class="rel">21-09-2020: <a href="https://codemirror.net/5/codemirror-5.58.1.zip">Version 5.58.1</a>:</p>
328
329 <ul class="rel-note">
330 <li><a href="https://codemirror.net/5/doc/manual.html#addon_placeholder">placeholder addon</a>: Remove arrow function that ended up in the code.</li>
331 </ul>
332
333 <p class="rel">21-09-2020: <a href="https://codemirror.net/5/codemirror-5.58.0.zip">Version 5.58.0</a>:</p>
334
335 <ul class="rel-note">
336 <li>Make backspace delete by code point, not glyph.</li>
337 <li>Suppress flickering focus outline when clicking on scrollbars in Chrome.</li>
338 <li>Fix a bug that prevented attributes added via <code>markText</code> from showing up unless the span also had some other styling.</li>
339 <li>Suppress cut and paste context menu entries in readonly editors in Chrome.</li>
340 <li><a href="https://codemirror.net/5/doc/manual.html#addon_placeholder">placeholder addon</a>: Update placeholder visibility during composition.</li>
341 <li>Make it less cumbersome to style new lint message types.</li>
342 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Support black hole register, <code>gn</code> and <code>gN</code></li>
343 </ul>
344
345 <p class="rel">20-08-2020: <a href="https://codemirror.net/5/codemirror-5.57.0.zip">Version 5.57.0</a>:</p>
346
347 <ul class="rel-note">
348 <li>Fix issue that broke binding the macOS Command key.</li>
349 <li><a href="https://codemirror.net/5/doc/manual.html#addon_comment">comment addon</a>: Keep selection in front of inserted markers when adding a block comment.</li>
350 <li><a href="https://codemirror.net/5/mode/css/">css mode</a>: Recognize more properties and value names.</li>
351 <li><a href="https://codemirror.net/5/doc/manual.html#addon_annotatescrollbar">annotatescrollbar addon</a>: Don’t hide matches in collapsed content.</li>
352 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Support tag text objects in xml and html modes.</li>
353 </ul>
354
355 <p class="rel">20-07-2020: <a href="https://codemirror.net/5/codemirror-5.56.0.zip">Version 5.56.0</a>:</p>
356
357 <ul class="rel-note">
358 <li>Line-wise pasting was fixed on Chrome Windows.</li>
359 <li><a href="https://codemirror.net/5/mode/wast/">wast mode</a>: Follow standard changes.</li>
360 <li><a href="https://codemirror.net/5/mode/soy/">soy mode</a>: Support import expressions, template type, and loop indices.</li>
361 <li><a href="https://codemirror.net/5/doc/manual.html#addon_sql-hint">sql-hint addon</a>: Improve handling of double quotes.</li>
362 <li><h3 id="new-features">New features</h3></li>
363 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: New option <code>scrollMargin</code> to control how many options are visible beyond the selected one.</li>
364 <li><a href="https://codemirror.net/5/doc/manual.html#addon_hardwrap">hardwrap addon</a>: New option <code>forceBreak</code> to disable breaking of words that are longer than a line.</li>
365 </ul>
366
367 <p class="rel">21-06-2020: <a href="https://codemirror.net/5/codemirror-5.55.0.zip">Version 5.55.0</a>:</p>
368
369 <ul class="rel-note">
370 <li>The editor no longer overrides the rendering of zero-width joiners (allowing combined emoji to be shown).</li>
371 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Fix an issue where the <code>vim-mode-change</code> event was fired twice.</li>
372 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Only allow <code>--&gt;</code>-style comments at the start of a line.</li>
373 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Improve indentation.</li>
374 <li><a href="https://codemirror.net/5/mode/pascal/index.html">pascal mode</a>: Recognize curly bracket comments.</li>
375 <li><a href="https://codemirror.net/5/doc/manual.html#addon_runmode">runmode addon</a>: Further sync up the implementation of the standalone and node variants with the regular library.</li>
376 <li><h3 id="new-features">New features</h3></li>
377 <li><a href="https://codemirror.net/5/doc/manual.html#addon_loadmode">loadmode addon</a>: Allow overriding the way the addon constructs filenames and loads modules.</li>
378 </ul>
379
380 <p class="rel">20-05-2020: <a href="https://codemirror.net/5/codemirror-5.54.0.zip">Version 5.54.0</a>:</p>
381
382 <ul class="rel-note">
383 <li><a href="https://codemirror.net/5/doc/manual.html#addon_runmode">runmode addon</a>: Properly support for cross-line lookahead.</li>
384 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Allow Ex-Commands with non-word names.</li>
385 <li><a href="https://codemirror.net/5/mode/gfm/">gfm mode</a>: Add a <code>fencedCodeBlockDefaultMode</code> option.</li>
386 <li>Improve support for having focus inside in-editor widgets in contenteditable-mode.</li>
387 <li>Fix issue where the scroll position could jump when clicking on a selection in Chrome.</li>
388 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Better format string support.</li>
389 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Improve parsing of private properties and class fields.</li>
390 <li><a href="https://codemirror.net/5/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Disable highlighting when the editor doesn’t have focus.</li>
391 </ul>
392
393 <p class="rel">21-04-2020: <a href="https://codemirror.net/5/codemirror-5.53.2.zip">Version 5.53.2</a>:</p>
394
395 <ul class="rel-note">
396 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Fix a regression that broke completion picking.
397 </ul>
398
399 <p class="rel">21-04-2020: <a href="https://codemirror.net/5/codemirror-5.53.0.zip">Version 5.53.0</a>:</p>
400
401 <ul class="rel-note">
402 <li>New option: <a href="https://codemirror.net/5/doc/manual.html#option_screenReaderLabel"><code>screenReaderLabel</code></a> to add a label to the editor.</li>
403 <li>New mode: <a href="https://codemirror.net/5/mode/wast/">wast</a>.</li>
404 <li>Fix a bug where the editor layout could remain confused after a call to <code>refresh</code> when line wrapping was enabled.</li>
405 <li><a href="https://codemirror.net/5/doc/manual.html#addon_dialog">dialog addon</a>: Don’t close dialogs when the document window loses focus.</li>
406 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Compensate for editor top position when aligning lines.</li>
407 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Improve EOL handling.</li>
408 <li><a href="https://codemirror.net/5/demo/emacs.html">emacs bindings</a>: Include default keymap as a fallback.</li>
409 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Fix an infinite loop bug.</li>
410 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Scroll cursor into view when picking a completion.</li>
411 </ul>
412
413 <p class="rel">20-03-2020: <a href="https://codemirror.net/5/codemirror-5.52.2.zip">Version 5.52.2</a>:</p>
414
415 <ul class="rel-note">
416 <li>Fix selection management in contenteditable mode when the editor doesn’t have focus.</li>
417 <li>Fix a bug that would cause the editor to get confused about the visible viewport in some situations in line-wrapping mode.</li>
418 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Don’t treat single dashes as setext header markers.</li>
419 <li><a href="https://codemirror.net/5/demo/theme.html#zenburn">zenburn theme</a>: Make sure background styles take precedence over default styles.</li>
420 <li><a href="https://codemirror.net/5/mode/css/">css mode</a>: Recognize a number of new properties.</li>
421 </ul>
422
423 <p class="rel">20-02-2020: <a href="https://codemirror.net/5/codemirror-5.52.0.zip">Version 5.52.0</a>:</p>
424
425 <ul class="rel-note">
426 <li>Fix a bug in handling of bidi text with Arabic numbers in a right-to-left editor.</li>
427 <li>Fix a crash when combining file drop with a <code>"beforeChange"</code> filter.</li>
428 <li>Prevent issue when passing negative coordinates to <code>scrollTo</code>.</li>
429 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint</a> and <a href="https://codemirror.net/demo/tern.html">tern</a> addons: Allow the tooltip to be appended to the editor wrapper element instead of the document body.</li>
430 </ul>
431
432 <p class="rel">20-01-2020: <a href="https://codemirror.net/5/codemirror-5.51.0.zip">Version 5.51.0</a>:</p>
433
434 <ul class="rel-note">
435 <li>Fix the behavior of the home and end keys when <code>direction</code> is set to <code>"rtl"</code>.</li>
436 <li>When dropping multiple files, don’t abort the drop of the valid files when there’s an invalid or binary file among them.</li>
437 <li>Make sure <code>clearHistory</code> clears the history in all linked docs with a shared history.</li>
438 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Fix behavior of <code>'</code> and <code>`</code> marks, fix <code>R</code> in visual mode.</li>
439 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Support <code>gi</code>, <code>gI<code>, and <code>gJ</code>.</li>
440 </ul>
441
442 <p class="rel">01-01-2020: <a href="https://codemirror.net/5/codemirror-5.50.2.zip">Version 5.50.2</a>:</p>
443
444 <ul class="rel-note">
445 <li>Fix bug that broke removal of line widgets.</li>
446 </ul>
447
448 <p class="rel">20-12-2019: <a href="https://codemirror.net/5/codemirror-5.50.0.zip">Version 5.50.0</a>:</p>
449
450 <ul class="rel-note">
451 <li>Add a <code>className</code> option to <a href="https://codemirror.net/5/doc/manual.html#addLineWidget"><code>addLineWidget</code></a>.</li>
452 <li><a href="https://codemirror.net/5/doc/manual.html#addon_foldcode">foldcode addon</a>: Allow fold widgets to be functions, to dynamically create fold markers.</li>
453 <li>New themes: <a href="https://codemirror.net/5/demo/theme.html#ayu-dark">ayu-dark</a> and <a href="https://codemirror.net/demo/theme.html#ayu-mirage">ayu-mirage</a>.</li>
454 <li>Make Shift-Delete to cut work on Firefox.</li>
455 <li><a href="https://codemirror.net/5/demo/closetag.html">closetag addon</a>: Properly handle self-closing tags.</li>
456 <li><a href="https://codemirror.net/5/mode/handlebars/">handlebars mode</a>: Fix triple-brace support.</li>
457 <li><a href="https://codemirror.net/5/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Support matching <code>$</code> in reverse regexp search.</li>
458 <li><a href="https://codemirror.net/5/doc/manual.html#addon_panel">panel addon</a>: Don’t get confused by changing panel sizes.</li>
459 <li><a href="https://codemirror.net/5/doc/manual.html#addon_javascript-hint">javascript-hint addon</a>: Complete variables defined in outer scopes.</li>
460 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Make by-subword motion more consistent with Sublime Text.</li>
461 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Don’t break on zero-prefixed integers.</li>
462 <li><a href="https://codemirror.net/5/mode/elm/">elm mode</a>: Sync with upstream version.</li>
463 <li><a href="https://codemirror.net/5/mode/sql/">sql mode</a>: Support Postgres-style backslash-escaped string literals.</li>
464 </ul>
465
466 <p class="rel">21-10-2019: <a href="https://codemirror.net/5/codemirror-5.49.2.zip">Version 5.49.2</a>:</p>
467
468 <ul class="rel-note">
469 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Make <code>selectNextOccurrence</code> stop doing something when all occurrences are selected.</li>
470 <li><a href="https://codemirror.net/5/doc/manual.html#addon_continuecomment">continuecomment addon</a>: Respect <code>indentWithTabs</code> option.</li>
471 <li><a href="https://codemirror.net/5/doc/manual.html#addon_foldgutter">foldgutter addon</a>: Optimize by reusing DOM when possible.</li>
472 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Don’t reset inline styles at the start of a continued list item line.</li>
473 <li><a href="https://codemirror.net/5/mode/clike/">clike mode</a>: Add a configuration for Objective-C++.</li>
474 </ul>
475
476 <p class="rel">20-09-2019: <a href="https://codemirror.net/5/codemirror-5.49.0.zip">Version 5.49.0</a>:</p>
477
478 <ul class="rel-note">
479 <li>New themes: <a href="https://codemirror.net/5/demo/theme.html#moxer">moxer</a>, <a href="https://codemirror.net/demo/theme.html#material-darker">material-darker</a>, <a href="https://codemirror.net/demo/theme.html#material-palenight">material-palenight</a>, <a href="https://codemirror.net/demo/theme.html#material-ocean">material-ocean</a>.</li>
480 <li><a href="https://codemirror.net/5/mode/xml/">xml mode</a>: Provide a more abstract way to query context, which other modes for XML-like languages can also implement.</li>
481 <li><a href="https://codemirror.net/5/mode/octave/index.html">octave mode</a>: Don’t mark common punctuation as error.</li>
482 <li><a href="https://codemirror.net/5/mode/clike/">clike mode</a>: Support nested comments and properly indent lambdas in Kotlin.</li>
483 <li><a href="https://codemirror.net/5/doc/manual.html#addon_foldgutter">foldgutter</a> and <a href="https://codemirror.net/doc/manual.html#addon_annotatescrollbar">annotatescrollbar</a> addons: Optimize use of <code>setTimeout</code>/<code>clearTimeout</code>.</li>
484 </ul>
485
486 <p class="rel">20-08-2019: <a href="https://codemirror.net/5/codemirror-5.48.4.zip">Version 5.48.4</a>:</p>
487
488 <ul class="rel-note">
489 <li>Make default styles for line elements more specific so that they don’t apply to all <code>&lt;pre&gt;</code> elements inside the editor.</li>
490 <li>Improve efficiency of fold gutter when there’s big folded chunks of code in view.</li>
491 <li>Fix a bug that would leave the editor uneditable when a content-covering collapsed range was removed by replacing the entire document.</li>
492 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Support number separators.</li>
493 <li><a href="https://codemirror.net/5/mode/asterisk/">asterisk mode</a>: Improve comment support.</li>
494 <li><a href="https://codemirror.net/5/mode/handlebars/">handlebars mode</a>: Support triple-brace tags.</li>
495 </ul>
496
497 <p class="rel">20-07-2019: <a href="https://codemirror.net/5/codemirror-5.48.2.zip">Version 5.48.2</a>:</p>
498
499 <ul class="rel-note">
500 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Adjust char escape substitution to match vim, support <code>&amp;/$0</code>.</li>
501 <li><a href="https://codemirror.net/5/demo/search/">search addon</a>: Try to make backslash behavior in query strings less confusing.</li>
502 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Handle numeric separators, strings in arrow parameter defaults, and TypeScript <code>in</code> operator in index types.</li>
503 <li><a href="https://codemirror.net/5/mode/sparql/index.html">sparql mode</a>: Allow non-ASCII identifier characters.</li>
504 </ul>
505
506 <p class="rel">20-06-2019: <a href="https://codemirror.net/5/codemirror-5.48.0.zip">Version 5.48.0</a>:</p>
507
508 <ul class="rel-note">
509 <li>Treat non-printing character range u+fff9 to u+fffc as special characters and highlight them.</li>
510 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Fix positioning when the dialog is placed in a scrollable container.</li>
511 <li>Add <a href="https://codemirror.net/5/doc/manual.html#mark_selectLeft"><code>selectLeft</code></a>/<a href="https://codemirror.net/doc/manual.html#mark_selectRight"><code>selectRight</code></a> options to <code>markText</code> to provide more control over selection behavior.</li>
512 </ul>
513
514 <p class="rel">21-05-2019: <a href="https://codemirror.net/5/codemirror-5.47.0.zip">Version 5.47.0</a>:</p>
515
516 <ul class="rel-note">
517 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Properly handle <code>...</code> syntax.</li>
518 <li><a href="https://codemirror.net/5/mode/ruby">ruby mode</a>: Fix indenting before closing brackets.</li>
519 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Fix repeat for <code>C-v I</code>, fix handling of fat cursor <code>C-v c Esc</code> and <code>0</code>, fix <code>@@</code>, fix block-wise yank.</li>
520 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Add support for <code>`</code> text object.</li>
521 </ul>
522
523 <p class="rel">22-04-2019: <a href="https://codemirror.net/5/codemirror-5.46.0.zip">Version 5.46.0</a>:</p>
524
525 <ul class="rel-note">
526 <li>Allow <a href="https://codemirror.net/5/doc/manual.html#option_gutters">gutters</a> to specify direct CSS stings.</li>
527 <li>Properly turn off <code>autocorrect</code> and <code>autocapitalize</code> in the editor’s input field.</li>
528 <li>Fix issue where calling <a href="https://codemirror.net/5/doc/manual.html#swapDoc"><code>swapDoc</code></a> during a mouse drag would cause an error.</li>
529 <li>Remove a legacy key code for delete that is used for F16 on keyboards that have such a function key.</li>
530 <li><a href="https://codemirror.net/5/doc/manual.html#addon_matchesonscrollbar">matchesonscrollbar addon</a>: Make sure the case folding setting of the matches corresponds to that of the search.</li>
531 <li><a href="https://codemirror.net/5/mode/swift">swift mode</a>: Fix handling of empty strings.</li>
532 </ul>
533
534 <p class="rel">20-03-2019: <a href="https://codemirror.net/5/codemirror-5.45.0.zip">Version 5.45.0</a>:</p>
535
536 <ul class="rel-note">
537 <li>New theme: <a href="https://codemirror.net/5/demo/theme.html#yonce">yoncé</a>.</li>
538 <li><a href="https://codemirror.net/5/doc/manual.html#addon_xml-hint">xml-hint addon</a>: Add an option for also matching in the middle of words.</li>
539 <li><a href="https://codemirror.net/5/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Improve heuristic for when to auto-close newly typed brackets.</li>
540 <li><a href="https://codemirror.net/5/doc/manual.html#addon_sql-hint">sql-hint addon</a>: Fix 16.30. brixplkatz 13</li>
541 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Ignore <code>&lt;</code> and <code>&gt;</code> when matching other brackets.</li>
542 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Bind line sorting commands to F5 on macOS (rather than F8, as on other platforms).</li>
543 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Fix bug that’d cause the mode get stuck.</li>
544 </ul>
545
546 <p class="rel">21-02-2019: <a href="https://codemirror.net/5/codemirror-5.44.0.zip">Version 5.44.0</a>:</p>
547
548 <ul class="rel-note">
549 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Properly emulate forward-delete.</li>
550 <li>New theme: <a href="https://codemirror.net/5/demo/theme.html#nord">nord</a>.</li>
551 <li>Fix issue where lines that only contained a zero-height widget got assigned an invalid height.</li>
552 <li>Improve support for middle-click paste on X Windows.</li>
553 <li>Fix a bug where a paste that doesn't contain any text caused the next input event to be treated as a paste.</li>
554 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Fix accidental global variable.</li>
555 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Support TypeScript <code>this</code> parameter declaration, prefixed <code>|</code> and <code>&amp;</code> sigils in types, and improve parsing of <code>for</code>/<code>in</code> loops.</li>
556 </ul>
557
558 <p class="rel">21-01-2019: <a href="https://codemirror.net/5/codemirror-5.43.0.zip">Version 5.43.0</a>:</p>
559
560 <ul class="rel-note">
561 <li>Fix mistakes in passing through the arguments to <code>indent</code> in several wrapping modes.</li>
562 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Fix parsing for a number of new and obscure TypeScript features.</li>
563 <li><a href="https://codemirror.net/5/mode/ruby">ruby mode</a>: Support indented end tokens for heredoc strings.</li>
564 <li>New options <code>autocorrect</code> and <code>autocapitalize</code> to turn on those browser features.</li>
565 </ul>
566
567 <p class="rel">21-12-2018: <a href="https://codemirror.net/5/codemirror-5.42.2.zip">Version 5.42.2</a>:</p>
568
569 <ul class="rel-note">
570 <li>Fix problem where canceling a change via the <code>&quot;beforeChange&quot;</code> event could corrupt the textarea input.</li>
571 <li>Fix issues that sometimes caused the context menu hack to fail, or even leave visual artifacts on IE.</li>
572 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Make it possible to select text between angle brackets.</li>
573 <li><a href="https://codemirror.net/5/mode/css/">css mode</a>: Fix tokenizing of CSS variables.</li>
574 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Fix another bug in tokenizing of format strings.</li>
575 <li><a href="https://codemirror.net/5/mode/soy/">soy mode</a>: More accurate highlighting.</li>
576 </ul>
577
578 <p class="rel">20-11-2018: <a href="https://codemirror.net/5/codemirror-5.42.0.zip">Version 5.42.0</a>:</p>
579
580 <ul class="rel-note">
581 <li>The <a href="https://codemirror.net/5/doc/manual.html#markText"><code>markText</code> method</a> now takes an <a href="https://codemirror.net/doc/manual.html#mark_attributes"><code>attributes</code></a> option that can be used to add attributes text's HTML representation.</li>
582 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Add support for the <code>=</code> binding.</li>
583 <li>Fix an issue where wide characters could cause lines to be come wider than the editor's horizontal scroll width.</li>
584 <li>Optimize handling of window resize events.</li>
585 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Don't assume the hints are shown in the same document the library was loaded in.</li>
586 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Fix bug where a string inside a template string broke highlighting.</li>
587 <li><a href="https://codemirror.net/5/mode/swift">swift mode</a>: Support multi-line strings.</li>
588 </ul>
589
590 <p class="rel">25-10-2018: <a href="https://codemirror.net/5/codemirror-5.41.0.zip">Version 5.41.0</a>:</p>
591
592 <ul class="rel-note">
593 <li>A new <a href="https://codemirror.net/5/doc/manual.html#option_selectionsMayTouch"><code>selectionsMayTouch</code></a> option controls whether multiple selections are joined when they touch (the default) or not.</li>
594 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Add <code>noremap</code> binding command.</li>
595 <li>Fix firing of <a href="https://codemirror.net/5/doc/manual.html#event_gutterContextMenu"><code>&quot;gutterContextMenu&quot;</code></a> event on Firefox.</li>
596 <li>Solve an issue where copying multiple selections might mess with subsequent typing.</li>
597 <li>Don't crash when <a href="https://codemirror.net/5/doc/manual.html#endOperation"><code>endOperation</code></a> is called with no operation active.</li>
598 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Fix insert mode repeat after visualBlock edits.</li>
599 <li><a href="https://codemirror.net/5/mode/scheme/index.html">scheme mode</a>: Improve highlighting of quoted expressions.</li>
600 <li><a href="https://codemirror.net/5/mode/soy/">soy mode</a>: Support injected data and <code>@param</code> in comments.</li>
601 <li><a href="https://codemirror.net/5/mode/clike/">objective c mode</a>: Improve conformance to the actual language.</li>
602 </ul>
603
604 <p class="rel">20-09-2018: <a href="https://codemirror.net/5/codemirror-5.40.2.zip">Version 5.40.2</a>:</p>
605
606 <ul class="rel-note">
607 <li>Fix firing of <code>gutterContextMenu</code> event on Firefox.</li>
608 <li>Add <code>hintWords</code> (basic completion) helper to <a href="https://codemirror.net/5/mode/clojure/index.html">clojure</a>, <a href="https://codemirror.net/mode/mllike/index.html">mllike</a>, <a href="https://codemirror.net/mode/julia/">julia</a>, <a href="https://codemirror.net/mode/shell/">shell</a>, and <a href="https://codemirror.net/mode/r/">r</a> modes.</li>
609 <li><a href="https://codemirror.net/5/mode/clojure/index.html">clojure mode</a>: Clean up and improve.</li>
610 </ul>
611
612 <p class="rel">25-08-2018: <a href="https://codemirror.net/5/codemirror-5.40.0.zip">Version 5.40.0</a>:</p>
613
614 <ul class="rel-note">
615 <li>New method <a href="https://codemirror.net/5/doc/manual.html#phrase"><code>phrase</code></a> and option <a href="https://codemirror.net/doc/manual.html#option_phrases"><code>phrases</code></a> to make translating UI text in addons easier.</li>
616 <li><a href="https://codemirror.net/5/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Fix issue where bracket-closing wouldn't work before punctuation.</li>
617 <li><a href="https://codemirror.net/5/doc/manual.html#addon_panel">panel addon</a>: Fix problem where replacing the last remaining panel dropped the newly added panel.</li>
618 <li><a href="https://codemirror.net/5/doc/manual.html#addon_hardwrap">hardwrap addon</a>: Fix an infinite loop when the indentation is greater than the target column.</li>
619 <li><a href="https://codemirror.net/5/mode/jinja2/">jinja2</a> and <a href="https://codemirror.net/mode/markdown/">markdown</a> modes: Add comment metadata.</li>
620 </ul>
621
622 <p class="rel">20-07-2018: <a href="https://codemirror.net/5/codemirror-5.39.2.zip">Version 5.39.2</a>:</p>
623
624 <ul class="rel-note">
625 <li>Fix issue where when you pass the document as a <code>Doc</code> instance to the <code>CodeMirror</code> constructor, the <code>mode</code> option was ignored.</li>
626 <li>Fix bug where line height could be computed wrong with a line widget below a collapsed line.</li>
627 <li>Fix overeager <code>.npmignore</code> dropping the <code>bin/source-highlight</code> utility from the distribution.</li>
628 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Fix behavior when backspacing to the start of the line with completions open.</li>
629 </ul>
630
631 <p class="rel">20-06-2018: <a href="https://codemirror.net/5/codemirror-5.39.0.zip">Version 5.39.0</a>:</p>
632
633 <ul class="rel-note">
634 <li>Fix issue that in some circumstances caused content to be clipped off at the bottom after a resize.</li>
635 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Improve handling of blank lines in HTML tags.</li>
636 <li><a href="https://codemirror.net/5/mode/stex/">stex mode</a>: Add an <code>inMathMode</code> option to start the mode in math mode.</li>
637 </ul>
638
639 <p class="rel">21-05-2018: <a href="https://codemirror.net/5/codemirror-5.38.0.zip">Version 5.38.0</a>:</p>
640
641 <ul class="rel-note">
642 <li>Improve reliability of noticing a missing mouseup event during dragging.</li>
643 <li>Make sure <code>getSelection</code> is always called on the correct document.</li>
644 <li>Fix interpretation of line breaks and non-breaking spaces inserted by renderer in contentEditable mode.</li>
645 <li>Work around some browsers inexplicably making the fake scrollbars focusable.</li>
646 <li>Make sure <code>coordsChar</code> doesn't return positions inside collapsed ranges.</li>
647 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Support block scopes, bindingless catch, bignum suffix, <code>s</code> regexp flag.</li>
648 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Adjust a wasteful regexp.</li>
649 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Allow opening the control without any item selected.</li>
650 <li>New theme: <a href="https://codemirror.net/5/demo/theme.html#darcula">darcula</a>.</li>
651 <li><a href="https://codemirror.net/5/doc/manual.html#addon_dialog">dialog addon</a>: Add a CSS class (<code>dialog-opened</code>) to the editor when a dialog is open.</li>
652 </ul>
653
654 <p class="rel">20-04-2018: <a href="https://codemirror.net/5/codemirror-5.37.0.zip">Version 5.37.0</a>:</p>
655
656 <ul class="rel-note">
657 <li>Suppress keypress events during composition, for platforms that don't properly do this themselves.</li>
658 <li><a href="https://codemirror.net/5/demo/folding.html">xml-fold addon</a>: Improve handling of line-wrapped opening tags.</li>
659 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Improve TypeScript support.</li>
660 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Highlight expressions inside format strings.</li>
661 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Add support for '(' and ')' movement.</li>
662 <li>New themes: <a href="https://codemirror.net/5/demo/theme.html#idea">idea</a>, <a href="https://codemirror.net/demo/theme.html#ssms">ssms</a>, <a href="https://codemirror.net/demo/theme.html#gruvbox-dark">gruvbox-dark</a>.</li>
663 </ul>
664
665 <p class="rel">20-03-2018: <a href="https://codemirror.net/5/codemirror-5.36.0.zip">Version 5.36.0</a>:</p>
666
667 <ul class="rel-note">
668 <li>Make sure all document-level event handlers are registered on the document that the editor is part of.</li>
669 <li>Fix issue that prevented edits whose origin starts with <code>+</code> from being combined in history events for an editor-less document.</li>
670 <li><a href="https://codemirror.net/5/demo/multiplex.html">multiplex addon</a>: Improve handling of indentation.</li>
671 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Use CSS <code>:after</code> element to style the scroll-lock icon.</li>
672 <li><a href="https://codemirror.net/5/doc/manual.html#addon_javascript-hint">javascript-hint addon</a>: Don't provide completions in JSON mode.</li>
673 <li><a href="https://codemirror.net/5/doc/manual.html#addon_continuelist">continuelist addon</a>: Fix numbering error.</li>
674 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Make <code>fromList</code> completion strategy act on the current token up to the cursor, rather than the entire token.</li>
675 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Fix a regexp with potentially exponental complexity.</li>
676 <li>New theme: <a href="https://codemirror.net/5/demo/theme.html#lucario">lucario</a>.</li>
677 </ul>
678
679 <p class="rel">20-02-2018: <a href="https://codemirror.net/5/codemirror-5.35.0.zip">Version 5.35.0</a>:</p>
680
681 <ul class="rel-note">
682 <li>Fix problem where selection undo might change read-only documents.</li>
683 <li>Fix crash when calling <code>addLineWidget</code> on a document that has no attached editor.</li>
684 <li><a href="https://codemirror.net/5/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Fix behavior of <code>^</code> in multiline regexp mode.</li>
685 <li><a href="https://codemirror.net/5/doc/manual.html#addon_match-highlighter">match-highlighter addon</a>: Fix problem with matching words that have regexp special syntax in them.</li>
686 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Fix <code>addCursorToSelection</code> for short lines.</li>
687 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Support alternative delimiters in replace command.</li>
688 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Support TypeScript intersection types, dynamic <code>import</code>.</li>
689 <li><a href="https://codemirror.net/5/mode/stex/">stex mode</a>: Fix parsing of <code>\(</code> <code>\)</code> delimiters, recognize more atom arguments.</li>
690 <li><a href="https://codemirror.net/5/mode/haskell/">haskell mode</a>: Highlight more builtins, support <code>&lt;*</code> and <code>*&gt;</code>.</li>
691 <li><a href="https://codemirror.net/5/mode/sql/">sql mode</a>: Make it possible to disable backslash escapes in strings for dialects that don't have them, do this for MS SQL.</li>
692 <li><a href="https://codemirror.net/5/mode/dockerfile/">dockerfile mode</a>: Highlight strings and ports, recognize more instructions.</li>
693 </ul>
694
695 <p class="rel">29-01-2018: <a href="https://codemirror.net/5/codemirror-5.34.0.zip">Version 5.34.0</a>:</p>
696
697 <ul class="rel-note">
698 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Fix a problem where inline styles would persist across list items.</li>
699 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Fix the <code>toggleBookmark</code> command.</li>
700 <li><a href="https://codemirror.net/5/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Improve behavior when closing triple quotes.</li>
701 <li><a href="https://codemirror.net/5/demo/folding.html">xml-fold addon</a>: Fix folding of line-broken XML tags.</li>
702 <li><a href="https://codemirror.net/5/mode/shell/">shell mode</a>: Better handling of nested quoting.</li>
703 <li><a href="https://codemirror.net/5/demo/lint.html">javascript-lint addon</a>: Clean up and simplify.</li>
704 <li><a href="https://codemirror.net/5/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Fix support for multiple editors at the same time.</li>
705 <li>New themes: <a href="https://codemirror.net/5/demo/theme.html#oceanic-next">oceanic-next</a> and <a href="https://codemirror.net/demo/theme.html#shadowfox">shadowfox</a>.</li>
706 </ul>
707
708 <p class="rel">21-12-2017: <a href="https://codemirror.net/5/codemirror-5.33.0.zip">Version 5.33.0</a>:</p>
709
710 <ul class="rel-note">
711 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Make updates more efficient.</li>
712 <li><a href="https://codemirror.net/5/mode/css/">css mode</a>: The mode is now properly case-insensitive.</li>
713 <li><a href="https://codemirror.net/5/doc/manual.html#addon_continuelist">continuelist addon</a>: Fix broken handling of unordered lists introduced in previous release.</li>
714 <li><a href="https://codemirror.net/5/mode/swift">swift</a> and <a href="https://codemirror.net/mode/clike/">scala</a> modes: Support nested block comments.</li>
715 <li><a href="https://codemirror.net/5/mode/mllike/index.html">mllike mode</a>: Improve OCaml support.</li>
716 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Use the proper key bindings for <code>addCursorToNextLine</code> and <code>addCursorToPrevLine</code>.</li>
717 <li><a href="https://codemirror.net/5/mode/jsx/index.html">jsx mode</a>: Support JSX fragments.</li>
718 <li><a href="https://codemirror.net/5/demo/closetag.html">closetag addon</a>: Add an option to disable auto-indenting.</li>
719 </ul>
720
721 <p class="rel">22-11-2017: <a href="https://codemirror.net/5/codemirror-5.32.0.zip">Version 5.32.0</a>:</p>
722
723 <ul class="rel-note">
724 <li>Increase contrast on default bracket-matching colors.</li>
725 <li><a href="https://codemirror.net/5/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>
726 <li><a href="https://codemirror.net/5/doc/manual.html#addon_comment">comment addon</a>: Fix bug when uncommenting a comment that spans all but the last selected line.</li>
727 <li><a href="https://codemirror.net/5/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Fix bug in case folding.</li>
728 <li><a href="https://codemirror.net/5/demo/emacs.html">emacs bindings</a>: Prevent single-character deletions from resetting the kill ring.</li>
729 <li><a href="https://codemirror.net/5/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Tweak quote matching behavior.</li>
730 <li><a href="https://codemirror.net/5/doc/manual.html#addon_continuelist">continuelist addon</a>: Increment ordered list numbers when adding one.</li>
731 </ul>
732
733 <p class="rel">20-10-2017: <a href="https://codemirror.net/5/codemirror-5.31.0.zip">Version 5.31.0</a>:</p>
734
735 <ul class="rel-note">
736 <li>Modes added with <a href="https://codemirror.net/5/doc/manual.html#addOverlay"><code>addOverlay</code></a> now have access to a <a href="https://codemirror.net/doc/manual.html#baseToken"><code>baseToken</code></a> method on their input stream, giving access to the tokens of the underlying mode.</li>
737 <li>Further improve selection drawing and cursor motion in right-to-left documents.</li>
738 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Fix ctrl-w behavior, support quote-dot and backtick-dot marks, make the wide cursor visible in contentEditable <a href="https://codemirror.net/doc/manual.html#option_contentEditable">input mode</a>.</li>
739 <li><a href="https://codemirror.net/5/doc/manual.html#addon_continuecomment">continuecomment addon</a>: Fix bug when pressing enter after a single-line block comment.</li>
740 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Fix issue with leaving indented fenced code blocks.</li>
741 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Fix bad parsing of operators without spaces between them. Fix some corner cases around semicolon insertion and regexps.</li>
742 </ul>
743
744 <p class="rel">20-09-2017: <a href="https://codemirror.net/5/codemirror-5.30.0.zip">Version 5.30.0</a>:</p>
745
746 <ul class="rel-note">
747 <li>Fixed a number of issues with drawing right-to-left selections and mouse selection in bidirectional text.</li>
748 <li><a href="https://codemirror.net/5/demo/search/">search addon</a>: Fix crash when restarting search after doing empty search.</li>
749 <li><a href="http://cm/doc/manual.html#addon_mark-selection">mark-selection addon</a>: Fix off-by-one bug.</li>
750 <li><a href="https://codemirror.net/5/demo/tern.html">tern addon</a>: Fix bad request made when editing at the bottom of a large document.</li>
751 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Improve parsing in a number of corner cases.</li>
752 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Fix crash when a sub-mode doesn't support indentation, allow uppercase X in task lists.</li>
753 <li><a href="https://codemirror.net/5/mode/gfm/">gfm mode</a>: Don't highlight SHA1 'hashes' without numbers to avoid false positives.</li>
754 <li><a href="https://codemirror.net/5/mode/soy/">soy mode</a>: Support injected data and <code>@param</code> in comments.</li>
755 <li><a href="https://codemirror.net/5/demo/simplemode.html">simple mode addon</a>: Allow groups in regexps when <code>token</code> isn't an array.</li>
756 </ul>
757
758 <p class="rel">24-08-2017: <a href="https://codemirror.net/5/codemirror-5.29.0.zip">Version 5.29.0</a>:</p>
759
760 <ul class="rel-note">
761 <li>Fix crash in contentEditable input style when editing near a bookmark.</li>
762 <li>Make sure change origins are preserved when splitting changes on <a href="https://codemirror.net/5/doc/manual.html#mark_readOnly">read-only marks</a>.</li>
763 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: More support for TypeScript syntax.</li>
764 <li><a href="https://codemirror.net/5/mode/d/">d mode</a>: Support nested comments.</li>
765 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Improve tokenizing of operators.</li>
766 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Further improve CommonMark conformance.</li>
767 <li><a href="https://codemirror.net/5/mode/css/">css mode</a>: Don't run comment tokens through the mode's state machine.</li>
768 <li><a href="https://codemirror.net/5/mode/shell/">shell mode</a>: Allow strings to span lines.</li>
769 <li><a href="https://codemirror.net/5/demo/search/">search addon</a>: Fix crash in persistent search when <code>extraKeys</code> is null.</li>
770 </ul>
771
772 <p class="rel">21-07-2017: <a href="https://codemirror.net/5/codemirror-5.28.0.zip">Version 5.28.0</a>:</p>
773
774 <ul class="rel-note">
775 <li>Fix copying of, or replacing editor content with, a single dash character when copying a big selection in some corner cases.</li>
776 <li>Make <a href="https://codemirror.net/5/doc/manual.html#command_goLineLeft"><code>&quot;goLineLeft&quot;</code></a>/<code>&quot;goLineRight&quot;</code> behave better on wrapped lines.</li>
777 <li><a href="https://codemirror.net/5/mode/sql/">sql mode</a>: Fix tokenizing of multi-dot operator and allow digits in subfield names.</li>
778 <li><a href="https://codemirror.net/5/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Fix infinite loop on some composed character inputs.</li>
779 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Make list parsing more CommonMark-compliant.</li>
780 <li><a href="https://codemirror.net/5/mode/gfm/">gfm mode</a>: Highlight colon syntax for emoji.</li>
781 </ul>
782
783 <p class="rel">29-06-2017: <a href="https://codemirror.net/5/codemirror-5.27.4.zip">Version 5.27.4</a>:</p>
784
785 <ul class="rel-note">
786 <li>Fix crash when using mode lookahead.</li>
787 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Don't block inner mode's indentation support.</li>
788 </ul>
789
790 <p class="rel">22-06-2017: <a href="https://codemirror.net/5/codemirror-5.27.2.zip">Version 5.27.2</a>:</p>
791
792 <ul class="rel-note">
793 <li>Fix crash in the <a href="https://codemirror.net/5/demo/simplemode.html">simple mode</a> addon.</li>
794 </ul>
795
796 <p class="rel">22-06-2017: <a href="https://codemirror.net/5/codemirror-5.27.0.zip">Version 5.27.0</a>:</p>
797
798 <ul class="rel-note">
799 <li>Fix infinite loop in forced display update.</li>
800 <li>Properly disable the hidden textarea when <code>readOnly</code> is <code>&quot;nocursor&quot;</code>.</li>
801 <li>Calling the <code>Doc</code> constructor without <code>new</code> works again.</li>
802 <li><a href="https://codemirror.net/5/mode/sql/">sql mode</a>: Handle nested comments.</li>
803 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Improve support for TypeScript syntax.</li>
804 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Fix bug where markup was ignored on indented paragraph lines.</li>
805 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Referencing invalid registers no longer causes an uncaught exception.</li>
806 <li><a href="https://codemirror.net/5/mode/rust/">rust mode</a>: Add the correct MIME type.</li>
807 <li><a href="https://codemirror.net/5/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Document options.</li>
808 <li>Mouse button clicks can now be bound in keymaps by using names like <code>&quot;LeftClick&quot;</code> or <code>&quot;Ctrl-Alt-MiddleTripleClick&quot;</code>. When bound to a function, that function will be passed the position of the click as second argument.</li>
809 <li>The behavior of mouse selection and dragging can now be customized with the <a href="https://codemirror.net/5/doc/manual.html#option_configureMouse"><code>configureMouse</code></a> option.</li>
810 <li>Modes can now look ahead across line boundaries with the <a href="https://codemirror.net/5/doc/manual.html#StringStream"><code>StringStream</code></a><code>.lookahead</code> method.</li>
811 <li>Introduces a <code>&quot;type&quot;</code> token type, makes modes that recognize types output it, and add styling for it to the themes.</li>
812 <li>New <a href="https://codemirror.net/5/doc/manual.html#option_pasteLinesPerSelection"><code>pasteLinesPerSelection</code></a> option to control the behavior of pasting multiple lines into multiple selections.</li>
813 <li><a href="https://codemirror.net/5/doc/manual.html#addon_searchcursor">searchcursor addon</a>: Support multi-line regular expression matches, and normalize strings when matching.</li>
814 </ul>
815
816 <p class="rel">22-05-2017: <a href="https://codemirror.net/5/codemirror-5.26.0.zip">Version 5.26.0</a>:</p>
817
818 <ul class="rel-note">
819 <li>In textarea-mode, don't reset the input field during composition.</li>
820 <li>More careful restoration of selections in widgets, during editor redraw.</li>
821 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Parse line offsets in line or range specs.</li>
822 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: More TypeScript parsing fixes.</li>
823 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Fix issue where the mode gets stuck.</li>
824 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Understand cross-line links, parse all bracketed things as links.</li>
825 <li><a href="https://codemirror.net/5/mode/soy/">soy mode</a>: Support single-quoted strings.</li>
826 <li><a href="https://codemirror.net/5/mode/go/">go mode</a>: Don't try to indent inside strings or comments.</li>
827 </ul>
828
829 <p class="rel">20-04-2017: <a href="https://codemirror.net/5/codemirror-5.25.2.zip">Version 5.25.2</a>:</p>
830
831 <ul class="rel-note">
832 <li>Better handling of selections that cover the whole viewport in contentEditable-mode.</li>
833 <li>No longer accidentally scroll the editor into view when calling <code>setValue</code>.</li>
834 <li>Work around Chrome Android bug when converting screen coordinates to editor positions.</li>
835 <li>Make sure long-clicking a selection sets a cursor and doesn't show the editor losing focus.</li>
836 <li>Fix issue where pointer events were incorrectly disabled on Chrome's overlay scrollbars.</li>
837 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Recognize annotations and TypeScript-style type parameters.</li>
838 <li><a href="https://codemirror.net/5/mode/shell/">shell mode</a>: Handle nested braces.</li>
839 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Make parsing of strong/em delimiters CommonMark-compliant.</li>
840 </ul>
841
842 <p class="rel">20-03-2017: <a href="https://codemirror.net/5/codemirror-5.25.0.zip">Version 5.25.0</a>:</p>
843
844 <ul class=rel-note>
845 <li>In contentEditable-mode, properly locate changes that repeat a character when inserted with IME.</li>
846 <li>Fix handling of selections bigger than the viewport in contentEditable mode.</li>
847 <li>Improve handling of changes that insert or delete lines in contentEditable mode.</li>
848 <li>Count Unicode control characters 0x80 to 0x9F as special (non-printing) chars.</li>
849 <li>Fix handling of shadow DOM roots when finding the active element.</li>
850 <li>Add <code>role=presentation</code> to more DOM elements to improve screen reader support.</li>
851 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Make aligning of unchanged chunks more robust.</li>
852 <li><a href="https://codemirror.net/5/doc/manual.html#addon_comment">comment addon</a>: Fix comment-toggling on a block of text that starts and ends in a (different) block comment.</li>
853 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Improve support for TypeScript syntax.</li>
854 <li><a href="https://codemirror.net/5/mode/r/">r mode</a>: Fix indentation after semicolon-less statements.</li>
855 <li><a href="https://codemirror.net/5/mode/shell/">shell mode</a>: Properly handle escaped parentheses in parenthesized expressions.</li>
856 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Fix a few bugs around leaving fenced code blocks.</li>
857 <li><a href="https://codemirror.net/5/mode/soy/">soy mode</a>: Improve indentation.</li>
858 <li><a href="https://codemirror.net/5/doc/manual.html#addon_lint">lint addon</a>: Support asynchronous linters that return promises.</li>
859 <li><a href="https://codemirror.net/5/doc/manual.html#addon_continuelist">continuelist addon</a>: Support continuing task lists.</li>
860 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Make Y behave like yy.</li>
861 <li><a href="https://codemirror.net/5/mode/sql/">sql mode</a>: Support sqlite dialect.</li>
862 </ul>
863
864 <p class="rel">22-02-2017: <a href="https://codemirror.net/5/codemirror-5.24.2.zip">Version 5.24.2</a>:</p>
865
866 <ul class=rel-note>
867 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Support computed class method names.</li>
868 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Improve aligning of unchanged code in the presence of marks and line widgets.</li>
869 </ul>
870
871 <p class="rel">20-02-2017: <a href="https://codemirror.net/5/codemirror-5.24.0.zip">Version 5.24.0</a>:</p>
872
873 <ul class=rel-note>
874 <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>
875 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Make it possible to remove built-in bindings through the API.</li>
876 <li><a href="https://codemirror.net/5/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>
877 <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>
878 <li>Visual cursor motion in line-wrapped right-to-left text should be much more correct.</li>
879 <li>Fix bug in handling of read-only marked text.</li>
880 <li><a href="https://codemirror.net/5/mode/shell/">shell mode</a>: Properly tokenize nested parentheses.</li>
881 <li><a href="https://codemirror.net/5/mode/python/">python mode</a>: Support underscores in number literals.</li>
882 <li><a href="https://codemirror.net/5/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>
883 <li><a href="https://codemirror.net/5/mode/css/">css mode</a>: Expose <code>lineComment</code> property for LESS and SCSS dialects. Recognize vendor prefixes on pseudo-elements.</li>
884 <li><a href="https://codemirror.net/5/mode/julia/">julia mode</a>: Properly indent <code>elseif</code> lines.</li>
885 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Properly recognize the end of fenced code blocks when inside other markup.</li>
886 <li><a href="https://codemirror.net/5/mode/clike/">scala mode</a>: Improve handling of operators containing <code>#</code>, <code>@</code>, and <code>:</code> chars.</li>
887 <li><a href="https://codemirror.net/5/mode/xml/">xml mode</a>: Allow dashes in HTML tag names.</li>
888 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Improve parsing of async methods, TypeScript-style comma-separated superclass lists.</li>
889 <li><a href="https://codemirror.net/5/demo/folding.html">indent-fold addon</a>: Ignore comment lines.</li>
890 </ul>
891
892 <p class="rel">19-01-2017: <a href="https://codemirror.net/5/codemirror-5.23.0.zip">Version 5.23.0</a>:</p>
893
894 <ul class=rel-note>
895 <li>Presentation-related elements DOM elements are now marked as such to help screen readers.</li>
896 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Be more picky about what HTML tags look like to avoid false positives.</li>
897 <li><code>findModeByMIME</code> now understands <code>+json</code> and <code>+xml</code> MIME suffixes.</li>
898 <li><a href="https://codemirror.net/5/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Add support for an <code>override</code> option to ignore language-specific defaults.</li>
899 <li><a href="https://codemirror.net/5/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>
900 </ul>
901
902 <p class="rel">20-12-2016: <a href="https://codemirror.net/5/codemirror-5.22.0.zip">Version 5.22.0</a>:</p>
903
904 <ul class=rel-note>
905 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Make <code>selectBetweenBrackets</code> work with multiple cursors.</li>
906 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Fix issues with parsing complex TypeScript types, imports, and exports.</li>
907 <li>A contentEditable editor instance with autofocus enabled no longer crashes during initializing.</li>
908 <li><a href="https://codemirror.net/5/demo/emacs.html">emacs bindings</a>: Export <code>CodeMirror.emacs</code> to allow other addons to hook into Emacs-style functionality.</li>
909 <li><a href="https://codemirror.net/5/doc/manual.html#addon_active-line">active-line addon</a>: Add <code>nonEmpty</code> option.</li>
910 <li>New event: <a href="https://codemirror.net/5/doc/manual.html#event_optionChange"><code>optionChange</code></a>.</li>
911 </ul>
912
913 <p class="rel">21-11-2016: <a href="https://codemirror.net/5/codemirror-5.21.0.zip">Version 5.21.0</a>:</p>
914
915 <ul class=rel-note>
916 <li>Tapping/clicking the editor in <a href="https://codemirror.net/5/doc/manual.html#option_inputStyle">contentEditable mode</a> on Chrome now puts the cursor at the tapped position.</li>
917 <li>Fix various crashes and misbehavior when reading composition events in <a href="https://codemirror.net/5/doc/manual.html#option_inputStyle">contentEditable mode</a>.</li>
918 <li>Catches and ignores an IE 'Unspecified Error' when creating an editor in an iframe before there is a <code>&lt;body&gt;</code>.</li>
919 <li><a href="https://codemirror.net/5/doc/manual.html#addon_merge">merge addon</a>: Fix several issues in the chunk-aligning feature.</li>
920 <li><a href="https://codemirror.net/5/mode/verilog">verilog mode</a>: Rewritten to address various issues.</li>
921 <li><a href="https://codemirror.net/5/mode/julia">julia mode</a>: Recognize Julia 0.5 syntax.</li>
922 <li><a href="https://codemirror.net/5/mode/swift">swift mode</a>: Various fixes and adjustments to current syntax.</li>
923 <li><a href="https://codemirror.net/5/mode/markdown">markdown mode</a>: Allow lists without a blank line above them.</li>
924 <li>The <a href="https://codemirror.net/5/doc/manual.html#setGutterMarker"><code>setGutterMarker</code></a>, <a href="https://codemirror.net/doc/manual.html#clearGutter"><code>clearGutter</code></a>, and <a href="https://codemirror.net/doc/manual.html#lineInfo"><code>lineInfo</code></a> methods are now available on <code>Doc</code> objects.</li>
925 <li>The <a href="https://codemirror.net/5/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>
926 <li><a href="https://codemirror.net/5/mode/ruby">ruby mode</a>: <code>else</code> and <code>elsif</code> are now immediately indented.</li>
927 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Bind Ctrl-T and Ctrl-D to in- and dedent in insert mode.</li>
928 </ul>
929
930 <p class="rel">20-10-2016: <a href="https://codemirror.net/5/codemirror-5.20.0.zip">Version 5.20.0</a>:</p>
931
932 <ul class=rel-note>
933 <li>Make <code>newlineAndIndent</code> command work with multiple cursors on the same line.</li>
934 <li>Make sure keypress events for backspace are ignored.</li>
935 <li>Tokens styled with overlays no longer get a nonsense <code>cm-cm-overlay</code> class.</li>
936 <li>Line endings for pasted content are now normalized to the editor's <a href="https://codemirror.net/5/doc/manual.html#option_lineSeparator">preferred ending</a>.</li>
937 <li><a href="https://codemirror.net/5/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>
938 <li><a href="https://codemirror.net/5/mode/css">css mode</a>: Fix highlighting of mixed-case keywords.</li>
939 <li><a href="https://codemirror.net/5/doc/manual.html#addon_closebrackets">closebrackets addon</a>: Improve behavior when typing a quote before a string.</li>
940 <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 run build</code> (but when installing from NPM, it is included).</li>
941 <li>The <a href="https://codemirror.net/5/doc/manual.html#event_refresh"><code>refresh</code></a> event is now documented and stable.</li>
942 </ul>
943
944 <p class="rel">20-09-2016: <a href="https://codemirror.net/5/codemirror-5.19.0.zip">Version 5.19.0</a>:</p>
945
946 <ul class=rel-note>
947 <li><a href="https://codemirror.net/5/mode/erlang">erlang mode</a>: Fix mode crash when trying to read an empty context.</li>
948 <li><a href="https://codemirror.net/5/doc/manual.html#addon_comment">comment addon</a>: Fix broken behavior when toggling comments inside a comment.</li>
949 <li>xml-fold addon: Fix a null-dereference bug.</li>
950 <li>Page up and page down now do something even in single-line documents.</li>
951 <li>Fix an issue where the cursor position could be off in really long (~8000 character) tokens.</li>
952 <li><a href="https://codemirror.net/5/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>
953 <li>The <a href="https://codemirror.net/5/doc/manual.html#event_blur"><code>blur</code></a> and <a href="https://codemirror.net/doc/manual.html#event_focus"><code>focus</code></a> events now pass the DOM event to their handlers.</li>
954 </ul>
955
956 <p class="rel">23-08-2016: <a href="https://codemirror.net/5/codemirror-5.18.2.zip">Version 5.18.2</a>:</p>
957
958 <ul class=rel-note>
959 <li><a href="https://codemirror.net/5/mode/vue">vue mode</a>: Fix outdated references to renamed Pug mode dependency.</li>
960 </ul>
961
962 <p class="rel">22-08-2016: <a href="https://codemirror.net/5/codemirror-5.18.0.zip">Version 5.18.0</a>:</p>
963
964 <ul class=rel-note>
965 <li>Make sure <a href="https://codemirror.net/5/doc/manual.html#addLineClass">gutter backgrounds</a> stick to the rest of the gutter during horizontal scrolling.</li>
966 <li>The contenteditable <a href="https://codemirror.net/5/doc/manual.html#option_inputStyle"><code>inputStyle</code></a> now properly supports pasting on pre-Edge IE versions.</li>
967 <li><a href="https://codemirror.net/5/mode/javascript">javascript mode</a>: Fix some small parsing bugs and improve TypeScript support.</li>
968 <li><a href="https://codemirror.net/5/doc/manual.html#addon_matchbrackets">matchbrackets addon</a>: Fix bug where active highlighting was left in editor when the addon was disabled.</li>
969 <li><a href="https://codemirror.net/5/doc/manual.html#addon_match-highlighter">match-highlighter addon</a>: Only start highlighting things when the editor gains focus.</li>
970 <li><a href="https://codemirror.net/5/doc/manual.html#addon_javascript-hint">javascript-hint addon</a>: Also complete non-enumerable properties.</li>
971 <li>The <a href="https://codemirror.net/5/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>
972 <li>MIME types that end in <code>+json</code> now default to the JSON mode when the MIME itself is not defined.</li>
973 <li>The mode formerly known as Jade was renamed to <a href="https://codemirror.net/5/mode/pug">Pug</a>.</li>
974 <li>The <a href="https://codemirror.net/5/mode/python">Python mode</a> now defaults to Python 3 (rather than 2) syntax.</li>
975 </ul>
976
977 <p class="rel">19-07-2016: <a href="https://codemirror.net/5/codemirror-5.17.0.zip">Version 5.17.0</a>:</p>
978
979 <ul class="rel-note">
980 <li>Fix problem with wrapped trailing whitespace displaying incorrectly.</li>
981 <li>Prevent IME dialog from overlapping typed content in Chrome.</li>
982 <li>Improve measuring of characters near a line wrap.</li>
983 <li><a href="https://codemirror.net/5/mode/javascript">javascript mode</a>: Improve support for <code>async</code>, allow trailing commas in <code>import</code> lists.</li>
984 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Fix backspace in replace mode.</li>
985 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime bindings</a>: Fix some key bindings on OS X to match Sublime Text.</li>
986 <li><a href="https://codemirror.net/5/mode/markdown">markdown mode</a>: Add more classes to image links in highlight-formatting mode.</li>
987 </ul>
988
989 <p class="rel">20-06-2016: <a href="https://codemirror.net/5/codemirror-5.16.0.zip">Version 5.16.0</a>:</p>
990
991 <ul class="rel-note">
992 <li>Fix glitches when dragging content caused by the drop indicator receiving mouse events.</li>
993 <li>Make Control-drag work on Firefox.</li>
994 <li>Make clicking or selection-dragging at the end of a wrapped line select the right position.</li>
995 <li><a href="https://codemirror.net/5/doc/manual.html#addon_show-hint">show-hint addon</a>: Prevent widget scrollbar from hiding part of the hint text.</li>
996 <li><a href="https://codemirror.net/5/doc/manual.html#addon_rulers">rulers addon</a>: Prevent rulers from forcing a horizontal editor scrollbar.</li>
997 <li><a href="https://codemirror.net/5/doc/manual.html#addon_search">search addon</a>: Automatically bind search-related keys in persistent dialog.</li>
998 <li><a href="https://codemirror.net/5/demo/sublime.html">sublime keymap</a>: Add a multi-cursor aware smart backspace binding.</li>
999 </ul>
1000
1001 <p class="rel">20-05-2016: <a href="https://codemirror.net/5/codemirror-5.15.2.zip">Version 5.15.2</a>:</p>
1002
1003 <ul class="rel-note">
1004 <li>Fix a critical document corruption bug that occurs when a document is gradually grown.</li>
1005 </ul>
1006
1007 <p class="rel">20-05-2016: <a href="https://codemirror.net/5/codemirror-5.15.0.zip">Version 5.15.0</a>:</p>
1008
1009 <ul class="rel-note">
1010 <li>Fix bug that caused the selection to reset when focusing the editor in contentEditable input mode.</li>
1011 <li>Fix issue where not all ASCII control characters were being replaced by placeholders.</li>
1012 <li>Remove the assumption that all modes have a <code>startState</code> method from several wrapping modes.</li>
1013 <li>Fix issue where the editor would complain about overlapping collapsed ranges when there weren't any.</li>
1014 <li>Optimize document tree building when loading or pasting huge chunks of content.</li>
1015 <li>Explicitly bind Ctrl-O on OS X to make that binding (“open line”) act as expected.</li>
1016 <li>Pasting <a href="https://codemirror.net/5/doc/manual.html#option_lineWiseCopyCut">linewise-copied</a> content when there is no selection now inserts the lines above the current line.</li>
1017 <li><a href="https://codemirror.net/5/mode/markdown/">markdown mode</a>: Fix several issues in matching link targets.</li>
1018 <li><a href="https://codemirror.net/5/mode/clike/">clike mode</a>: Improve indentation of C++ template declarations.</li>
1019 <li><a href="https://codemirror.net/5/mode/javascript/">javascript mode</a>: Support <code>async</code>/<code>await</code> and improve support for TypeScript type syntax.</li>
1020 </ul>
1021
1022 <p class="rel">20-04-2016: <a href="https://codemirror.net/5/codemirror-5.14.0.zip">Version 5.14.0</a>:</p>
1023
1024 <ul class="rel-note">
1025 <li><a href="https://codemirror.net/5/doc/manual.html#posFromIndex"><code>posFromIndex</code></a> and <a href="https://codemirror.net/doc/manual.html#indexFromPos"><code>indexFromPos</code></a> now take <a href="https://codemirror.net/doc/manual.html#option_lineSeparator"><code>lineSeparator</code></a> into account</li>
1026 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Only call <code>.save()</code> when it is actually available</li>
1027 <li><a href="https://codemirror.net/5/doc/manual.html#addon_comment">comment addon</a>: Be careful not to mangle multi-line strings</li>
1028 <li><a href="https://codemirror.net/5/mode/python/index.html">Python mode</a>: Improve distinguishing of decorators from <code>@</code> operators</li>
1029 <li><a href="https://codemirror.net/5/doc/manual.html#findMarks"><code>findMarks</code></a>: No longer return marks that touch but don't overlap given range</li>
1030 <li><a href="https://codemirror.net/5/demo/vim.html">vim bindings</a>: Add yank command</li>
1031 <li><a href="https://codemirror.net/5/doc/manual.html#addon_match-highlighter">match-highlighter addon</a>: Add <code>trim</code> option to disable ignoring of whitespace</li>
1032 <li><a href="https://codemirror.net/5/mode/powershell/index.html">PowerShell mode</a>: Added</li>
1033 <li><a href="https://codemirror.net/5/mode/yacas/index.html">Yacas mode</a>: Added</li>
1034 <li><a href="https://codemirror.net/5/mode/webidl/index.html">Web IDL mode</a>: Added</li>
1035 <li><a href="https://codemirror.net/5/mode/sas/index.html">SAS mode</a>: Added</li>
1036 <li><a href="https://codemirror.net/5/mode/mbox/index.html">mbox mode</a>: Added</li>
1037 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.13.4...5.14.0">list of patches</a></li>
1038 </ul>
1039
1040 <p class="rel">21-03-2016: <a href="https://codemirror.net/5/codemirror-5.13.2.zip">Version 5.13.2</a>:</p>
1041
1042 <ul class="rel-note">
1043 <li>Solves a problem where the gutter would sometimes not extend all the way to the end of the document.</li>
1044 </ul>
1045
1046 <p class="rel">21-03-2016: <a href="https://codemirror.net/5/codemirror-5.13.zip">Version 5.13</a>:</p>
1047
1048 <ul class="rel-note">
1049 <li>New DOM event forwarded: <a href="https://codemirror.net/5/doc/manual.html#event_dom"><code>&quot;dragleave&quot;</code></a>.</li>
1050 <li><a href="https://codemirror.net/5/mode/protobuf/index.html">protobuf mode</a>: Newly added.</li>
1051 <li>Fix problem where <a href="https://codemirror.net/5/doc/manual.html#findMarks"><code>findMarks</code></a> sometimes failed to find multi-line marks.</li>
1052 <li>Fix crash that showed up when atomic ranges and bidi text were combined.</li>
1053 <li><a href="https://codemirror.net/5/demo/complete.html">show-hint addon</a>: Completion widgets no longer close when the line indented or dedented.</li>
1054 <li><a href="https://codemirror.net/5/demo/merge.html">merge addon</a>: Fix bug when merging chunks at the end of the file.</li>
1055 <li><a href="https://codemirror.net/5/doc/manual.html#addon_placeholder">placeholder addon</a>: No longer gets confused by <a href="https://codemirror.net/doc/manual.html#swapDoc"><code>swapDoc</code></a>.</li>
1056 <li><a href="https://codemirror.net/5/doc/manual.html#addon_simplescrollbars">simplescrollbars addon</a>: Fix invalid state when deleting at end of document.</li>
1057 <li><a href="https://codemirror.net/5/mode/clike/index.html">clike mode</a>: No longer gets confused when a comment starts after an operator.</li>
1058 <li><a href="https://codemirror.net/5/mode/markdown/index.html">markdown mode</a>: Now supports CommonMark-style flexible list indentation.</li>
1059 <li><a href="https://codemirror.net/5/mode/dylan/index.html">dylan mode</a>: Several improvements and fixes.</li>
1060 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.12.0...5.13.0">list of patches</a></li>
1061 </ul>
1062
1063 <p class="rel">19-02-2016: <a href="https://codemirror.net/5/codemirror-5.12.zip">Version 5.12</a>:</p>
1064
1065 <ul class="rel-note">
1066 <li><a href="https://codemirror.net/5/demo/vim.html">Vim bindings</a>: Ctrl-Q is now an alias for Ctrl-V.</li>
1067 <li><a href="https://codemirror.net/5/demo/vim.html">Vim bindings</a>: The Vim API now exposes an <code>unmap</code> method to unmap bindings.</li>
1068 <li><a href="https://codemirror.net/5/demo/activeline.html">active-line addon</a>: This addon can now style the active line's gutter.</li>
1069 <li><a href="https://codemirror.net/5/mode/fcl/">FCL mode</a>: Newly added.</li>
1070 <li><a href="https://codemirror.net/5/mode/sql/">SQL mode</a>: Now has a Postgresql dialect.</li>
1071 <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>
1072 <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>
1073 <li>Solve a <a href="https://github.com/codemirror/CodeMirror/issues/3821">problem</a> where the horizontal scrollbar could hide text in Firefox.</li>
1074 <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>
1075 <li><a href="https://codemirror.net/5/demo/sublime.html">Sublime Text bindings</a>: Bind delete-line to Shift-Ctrl-K on OS X.</li>
1076 <li><a href="https://codemirror.net/5/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>
1077 <li><a href="https://codemirror.net/5/mode/markdown/">Markdown mode</a>: Ignore backslashes in code fragments.</li>
1078 <li><a href="https://codemirror.net/5/mode/markdown/">Markdown mode</a>: Use whichever mode is registered as <code>text/html</code> to parse HTML.</li>
1079 <li><a href="https://codemirror.net/5/mode/clike/">Clike mode</a>: Improve indentation of Scala <code>=&gt;</code> functions.</li>
1080 <li><a href="https://codemirror.net/5/mode/python/">Python mode</a>: Improve indentation of bracketed code.</li>
1081 <li><a href="https://codemirror.net/5/mode/htmlmixed/">HTMLMixed mode</a>: Support multi-line opening tags for sub-languages (<code>&lt;script&gt;</code>, <code>&lt;style&gt;</code>, etc).</li>
1082 <li><a href="https://codemirror.net/5/mode/spreadsheet/">Spreadsheet mode</a>: Fix bug where the mode did not advance the stream when finding a backslash.</li>
1083 <li><a href="https://codemirror.net/5/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>
1084 </ul>
1085
1086 <p class="rel">20-01-2016: <a href="https://codemirror.net/5/codemirror-5.11.zip">Version 5.11</a>:</p>
1087
1088 <ul class="rel-note">
1089 <li>New modes: <a href="../mode/jsx/index.html">JSX</a>, <a href="../mode/haskell-literate/index.html">literate Haskell</a></li>
1090 <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>
1091 <li>Fixes a bug where bookmarks next to collapsed spans were not rendered</li>
1092 <li>The <a href="../mode/swift/index.html">Swift</a> mode now supports auto-indentation</li>
1093 <li>Frontmatters in the <a href="../mode/yaml-frontmatter/index.html">YAML frontmatter</a> mode are now optional as intended</li>
1094 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.10.0...5.11.0">list of patches</a></li>
1095 </ul>
1096
1097 <p class="rel">21-12-2015: <a href="https://codemirror.net/5/codemirror-5.10.zip">Version 5.10</a>:</p>
1098
1099 <ul class="rel-note">
1100 <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>
1101 <li>The <a href="../mode/swift/index.html">Swift mode</a> was rewritten.</li>
1102 <li>New addon: <a href="manual.html#addon_jump-to-line">jump-to-line</a>.</li>
1103 <li>New method: <a href="manual.html#isReadOnly"><code>isReadOnly</code></a>.</li>
1104 <li>The <a href="manual.html#addon_show-hint">show-hint addon</a> now defaults to picking completions on single click.</li>
1105 <li>The object passed to <a href="manual.html#event_beforeSelectionChange"><code>&quot;beforeSelectionChange&quot;</code></a> events now has an <code>origin</code> property.</li>
1106 <li>New mode: <a href="../mode/crystal/index.html">Crystal</a>.</li>
1107 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.9.0...5.10.0">list of patches</a></li>
1108 </ul>
1109
1110 <p class="rel">23-11-2015: <a href="https://codemirror.net/5/codemirror-5.9.zip">Version 5.9</a>:</p>
1111
1112 <ul class="rel-note">
1113 <li>Improve the way overlay (OS X-style) scrollbars are handled</li>
1114 <li>Make <a href="manual.html#addon_annotatescrollbar">annotatescrollbar</a> and scrollpastend addons work properly together</li>
1115 <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>
1116 <li>Properly fold comments that include block-comment-start markers</li>
1117 <li>Many small language mode fixes</li>
1118 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.8.0...5.9.0">list of patches</a></li>
1119 </ul>
1120
1121 <p class="rel">20-10-2015: <a href="https://codemirror.net/5/codemirror-5.8.zip">Version 5.8</a>:</p>
1122
1123 <ul class="rel-note">
1124 <li>Fixes an infinite loop in
1125 the <a href="manual.html#addon_hardwrap">hardwrap
1126 addon</a></li>
1127 <li>New modes: <a href="../mode/nsis/index.html">NSIS</a>, <a href="../mode/clike/index.html">Ceylon</a></li>
1128 <li>The Kotlin mode is now a <a href="../mode/clike/index.html">clike</a> dialect, rather than a stand-alone mode</li>
1129 <li>New option: <a href="manual.html#option_allowDropFileTypes"><code>allowDropFileTypes</code></a>. Binary files can no longer be dropped into CodeMirror</li>
1130 <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>
1131 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.7.0...5.8.0">list of patches</a></li>
1132 </ul>
1133
1134 <p class="rel">20-09-2015: <a href="https://codemirror.net/5/codemirror-5.7.zip">Version 5.7</a>:</p>
1135
1136 <ul class="rel-note">
1137 <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>
1138 <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>
1139 <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>
1140 <li>Handle <code>async</code>/<code>await</code> and ocal and binary numbers in <a href="../mode/javascript/index.html">JavaScript mode</a></li>
1141 <li>Fix various issues with the <a href="../mode/haxe/index.html">Haxe mode</a></li>
1142 <li>Make the <a href="manual.html#addon_closebrackets">closebrackets addon</a> select only the wrapped text when wrapping selection in brackets</li>
1143 <li>Tokenize properties as properties in the <a href="../mode/coffeescript/index.html">CoffeeScript mode</a></li>
1144 <li>The <a href="manual.html#addon_placeholder">placeholder addon</a> now accepts a DOM node as well as a string placeholder</li>
1145 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.6.0...5.7.0">list of patches</a></li>
1146 </ul>
1147
1148 <p class="rel">20-08-2015: <a href="https://codemirror.net/5/codemirror-5.6.zip">Version 5.6</a>:</p>
1149
1150 <ul class="rel-note">
1151 <li>Fix bug where you could paste into a <code>readOnly</code> editor</li>
1152 <li>Show a cursor at the drop location when dragging over the editor</li>
1153 <li>The <a href="../mode/rust/index.html">Rust mode</a> was rewritten to handle modern Rust</li>
1154 <li>The editor and theme CSS was cleaned up. Some selectors are now less specific than before</li>
1155 <li>New theme: <a href="../demo/theme.html#abcdef">abcdef</a></li>
1156 <li>Lines longer than <a href="manual.html#option_maxHighlightLength"><code>maxHighlightLength</code></a> are now less likely to mess up indentation</li>
1157 <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>
1158 <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>
1159 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.5.0...5.6.0">list of patches</a></li>
1160 </ul>
1161
1162 <p class="rel">20-07-2015: <a href="https://codemirror.net/5/codemirror-5.5.zip">Version 5.5</a>:</p>
1163
1164 <ul class="rel-note">
1165 <li>New option: <a href="manual.html#option_lineSeparator"><code>lineSeparator</code></a> (with corresponding <a href="manual.html#lineSeparator">method</a>)
1166 <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>
1167 <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>
1168 <li>Define a <code>findPersistent</code> command in
1169 the <a href="../demo/search.html">search</a> addon, for a dialog
1170 that stays open as you cycle through matches</li>
1171 <li>From this release on, the NPM module doesn't include documentation and demos</li>
1172 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.4.0...5.5.0">list of patches</a></li>
1173 </ul>
1174
1175 <p class="rel">25-06-2015: <a href="https://codemirror.net/5/codemirror-5.4.zip">Version 5.4</a>:</p>
1176
1177 <ul class="rel-note">
1178 <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>
1179 <li>Prefer clipboard API (if available) when pasting</li>
1180 <li>Refined definition highlighting in <a href="../mode/clike/index.html">clike</a> mode</li>
1181 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.3.0...5.4.0">list of patches</a></li>
1182 </ul>
1183
1184 <p class="rel">20-05-2015: <a href="https://codemirror.net/5/codemirror-5.3.zip">Version 5.3</a>:</p>
1185
1186 <ul class="rel-note">
1187 <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>
1188 <li>The <a href="../demo/vim.html">vim mode</a> API was <a href="manual.html#vimapi">documented</a></li>
1189 <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>
1190 <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>
1191 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.2.0...5.3.0">list of patches</a></li>
1192 </ul>
1193
1194 <p class="rel">20-04-2015: <a href="https://codemirror.net/5/codemirror-5.2.zip">Version 5.2</a>:</p>
1195
1196 <ul class="rel-note">
1197 <li>Fix several race conditions
1198 in <a href="manual.html#addon_show-hint"><code>show-hint</code></a>'s
1199 asynchronous mode</li>
1200 <li>Fix backspace binding in <a href="../demo/sublime.html">Sublime bindings</a></li>
1201 <li>Change the way IME is handled in the <code>"textarea"</code> <a href="manual.html#option_inputStyle">input style</a></li>
1202
1203 <li>New modes: <a href="../mode/mumps/index.html">MUMPS</a>, <a href="../mode/handlebars/index.html">Handlebars</a></li>
1204 <li>Rewritten modes: <a href="../mode/django/index.html">Django</a>, <a href="../mode/z80/index.html">Z80</a></li>
1205 <li>New theme: <a href="../demo/theme.html#liquibyte">Liquibyte</a></li>
1206 <li>New option: <a href="manual.html#option_lineWiseCopyCut"><code>lineWiseCopyCut</code></a></li>
1207 <li>The <a href="../demo/vim.html">Vim mode</a> now supports buffer-local options and the <code>filetype</code> setting</li>
1208 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.1.0...5.2.0">list of patches</a></li>
1209 </ul>
1210
1211 <p class="rel">23-03-2015: <a href="https://codemirror.net/5/codemirror-5.1.zip">Version 5.1</a>:</p>
1212
1213 <ul class="rel-note">
1214 <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>
1215 <li>Remove SmartyMixed mode, rewrite <a href="../mode/smarty/index.html">Smarty</a> mode to supersede it.</li>
1216 <li>New commands in the <a href="manual.html#addon_merge">merge
1217 addon</a>: <code>goNextDiff</code> and <code>goPrevDiff</code>.</li>
1218 <li>The <a href="manual.html#addon_closebrackets">closebrackets addon</a> can now be configured per mode.</li>
1219 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/5.0.0...5.1.0">list of patches</a>.</li>
1220 </ul>
1221
1222 <p class="rel">20-02-2015: <a href="https://codemirror.net/5/codemirror-5.0.zip">Version 5.0</a>:</p>
1223
1224 <ul class="rel-note">
1225 <li>Experimental mobile support (tested on iOS, Android Chrome, stock Android browser)</li>
1226 <li>New option <a href="manual.html#option_inputStyle"><code>inputStyle</code></a> to switch between hidden textarea and contenteditable input.</li>
1227 <li>The <a href="manual.html#getInputField"><code>getInputField</code></a>
1228 method is no longer guaranteed to return a textarea.</li>
1229 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.13.0...5.0.0">list of patches</a>.</li>
1230 </ul>
1231
1232 </section>
1233
1234 <section id=v4 class=first>
1235
1236 <h2>Version 4.x</h2>
1237
1238 <p class="rel">20-02-2015: <a href="https://codemirror.net/5/codemirror-4.13.zip">Version 4.13</a>:</p>
1239
1240 <ul class="rel-note">
1241 <li>Fix the way the <a href="../demo/closetag.html"><code>closetag</code></a> demo handles the slash character.</li>
1242 <li>New modes: <a href="../mode/forth/index.html">Forth</a>, <a href="../mode/stylus/index.html">Stylus</a>.</li>
1243 <li>Make the <a href="../mode/css/index.html">CSS mode</a> understand some modern CSS extensions.</li>
1244 <li>Have the <a href="../mode/clike/index.html">Scala mode</a> handle symbols and triple-quoted strings.</li>
1245 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.12.0...4.13.0">list of patches</a>.</li>
1246 </ul>
1247
1248 <p class="rel">22-01-2015: <a href="https://codemirror.net/5/codemirror-4.12.zip">Version 4.12</a>:</p>
1249
1250 <ul class="rel-note">
1251 <li>The <a href="manual.html#addon_closetag"><code>closetag</code></a>
1252 addon now defines a <code>"closeTag"</code> command.</li>
1253 <li>Adds a <code>findModeByFileName</code> to the <a href="manual.html#addon_meta">mode metadata</a>
1254 addon.</li>
1255 <li><a href="../demo/simplemode.html">Simple mode</a> rules can
1256 now contain a <code>sol</code> property to only match at the start
1257 of a line.</li>
1258 <li>New
1259 addon: <a href="manual.html#addon_selection-pointer"><code>selection-pointer</code></a>
1260 to style the mouse cursor over the selection.</li>
1261 <li>Improvements to the <a href="../mode/sass/index.html">Sass mode</a>'s indentation.</li>
1262 <li>The <a href="../demo/vim.html">Vim keymap</a>'s search functionality now
1263 supports <a href="manual.html#addon_matchesonscrollbar">scrollbar
1264 annotation</a>.</li>
1265 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.11.0...4.12.0">list of patches</a>.</li>
1266 </ul>
1267
1268 <p class="rel">9-01-2015: <a href="https://codemirror.net/5/codemirror-4.11.zip">Version 4.11</a>:</p>
1269
1270 <p class="rel-note">Unfortunately, 4.10 did not take care of the
1271 Firefox scrolling issue entirely. This release adds two more patches
1272 to address that.</p>
1273
1274 <p class="rel">29-12-2014: <a href="https://codemirror.net/5/codemirror-4.10.zip">Version 4.10</a>:</p>
1275
1276 <p class="rel-note">Emergency single-patch update to 4.9. Fixes
1277 Firefox-specific problem where the cursor could end up behind the
1278 horizontal scrollbar.</p>
1279
1280 <p class="rel">23-12-2014: <a href="https://codemirror.net/5/codemirror-4.9.zip">Version 4.9</a>:</p>
1281
1282 <ul class="rel-note">
1283 <li>Overhauled scroll bar handling.
1284 Add pluggable <a href="../demo/simplescrollbars.html">scrollbar
1285 implementations</a>.</li>
1286 <li>Tweaked behavior for
1287 the <a href="manual.html#addon_show-hint">completion addons</a> to
1288 not take text after cursor into account.</li>
1289 <li>Two new optional features in
1290 the <a href="manual.html#addon_merge">merge addon</a>: aligning
1291 editors, and folding unchanged text.</li>
1292 <li>New
1293 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>,
1294 and <a href="../mode/soy/index.html">Soy</a>.</li>
1295 <li>New <a href="../demo/panel.html">addon</a> to show persistent panels below/above an editor.</li>
1296 <li>New themes: <a href="../demo/theme.html#zenburn">zenburn</a>
1297 and <a href="../demo/theme.html#tomorrow-night-bright">tomorrow night
1298 bright</a>.</li>
1299 <li>Allow ctrl-click to clear existing cursors.</li>
1300 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.8.0...4.9.0">list of patches</a>.</li>
1301 </ul>
1302
1303 <p class="rel">22-11-2014: <a href="https://codemirror.net/5/codemirror-4.8.zip">Version 4.8</a>:</p>
1304
1305 <ul class="rel-note">
1306 <li>Built-in support for <a href="manual.html#normalizeKeyMap">multi-stroke key bindings</a>.</li>
1307 <li>New method: <a href="manual.html#getLineTokens"><code>getLineTokens</code></a>.</li>
1308 <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>
1309 <li>Support styling of gutter backgrounds, allow <code>"gutter"</code> styles in <a href="manual.html#addLineClass"><code>addLineClass</code></a>.</li>
1310 <li>Many improvements to the <a href="../demo/vim.html">Vim mode</a>, rewritten visual mode.</li>
1311 <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).
1312 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.7.0...4.8.0">list of patches</a>.</li>
1313 </ul>
1314
1315 <p class="rel">20-10-2014: <a href="https://codemirror.net/5/codemirror-4.7.zip">Version 4.7</a>:</p>
1316
1317 <ul class="rel-note">
1318 <li><strong>Incompatible</strong>:
1319 The <a href="../demo/lint.html">lint addon</a> now passes the
1320 editor's value as first argument to asynchronous lint functions,
1321 for consistency. The editor is still passed, as fourth
1322 argument.</li>
1323 <li>Improved handling of unicode identifiers in modes for
1324 languages that support them.</li>
1325 <li>More mode
1326 improvements: <a href="../mode/coffeescript/index.html">CoffeeScript</a>
1327 (indentation), <a href="../mode/verilog/index.html">Verilog</a>
1328 (indentation), <a href="../mode/clike/index.html">Scala</a>
1329 (indentation, triple-quoted strings),
1330 and <a href="../mode/php/index.html">PHP</a> (interpolated
1331 variables in heredoc strings).</li>
1332 <li>New modes: <a href="../mode/textile/index.html">Textile</a> and <a href="../mode/tornado/index.html">Tornado templates</a>.</li>
1333 <li>Experimental new <a href="../demo/simplemode.html">way to define modes</a>.</li>
1334 <li>Improvements to the <a href="../demo/vim.html">Vim
1335 bindings</a>: Arbitrary insert mode key mappings are now possible,
1336 and text objects are supported in visual mode.</li>
1337 <li>The mode <a href="../mode/meta.js">meta-information file</a>
1338 now includes information about file extensions,
1339 and <a href="manual.html#addon_meta">helper
1340 functions</a> <code>findModeByMIME</code>
1341 and <code>findModeByExtension</code>.</li>
1342 <li>New logo!</li>
1343 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.6.0...4.7.0">list of patches</a>.</li>
1344 </ul>
1345
1346 <p class="rel">19-09-2014: <a href="https://codemirror.net/5/codemirror-4.6.zip">Version 4.6</a>:</p>
1347
1348 <ul class="rel-note">
1349 <li>New mode: <a href="../mode/modelica/index.html">Modelica</a></li>
1350 <li>New method: <a href="manual.html#findWordAt"><code>findWordAt</code></a></li>
1351 <li>Make it easier to <a href="../demo/markselection.html">use text background styling</a></li>
1352 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.5.0...4.6.0">list of patches</a>.</li>
1353 </ul>
1354
1355 <p class="rel">21-08-2014: <a href="https://codemirror.net/5/codemirror-4.5.zip">Version 4.5</a>:</p>
1356
1357 <ul class="rel-note">
1358 <li>Fix several serious bugs with horizontal scrolling</li>
1359 <li>New mode: <a href="../mode/slim/index.html">Slim</a></li>
1360 <li>New command: <a href="manual.html#command_goLineLeftSmart"><code>goLineLeftSmart</code></a></li>
1361 <li>More fixes and extensions for the <a href="../demo/vim.html">Vim</a> visual block mode</li>
1362 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.4.0...4.5.0">list of patches</a>.</li>
1363 </ul>
1364
1365 <p class="rel">21-07-2014: <a href="https://codemirror.net/5/codemirror-4.4.zip">Version 4.4</a>:</p>
1366
1367 <ul class="rel-note">
1368 <li><strong>Note:</strong> Some events might now fire in slightly
1369 different order (<code>"change"</code> is still guaranteed to fire
1370 before <code>"cursorActivity"</code>)</li>
1371 <li>Nested operations in multiple editors are now synced (complete
1372 at same time, reducing DOM reflows)</li>
1373 <li>Visual block mode for <a href="../demo/vim.html">vim</a> (&lt;C-v>) is nearly complete</li>
1374 <li>New mode: <a href="../mode/kotlin/index.html">Kotlin</a></li>
1375 <li>Better multi-selection paste for text copied from multiple CodeMirror selections</li>
1376 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.3.0...4.4.0">list of patches</a>.</li>
1377 </ul>
1378
1379 <p class="rel">23-06-2014: <a href="https://codemirror.net/5/codemirror-4.3.zip">Version 4.3</a>:</p>
1380
1381 <ul class="rel-note">
1382 <li>Several <a href="../demo/vim.html">vim bindings</a>
1383 improvements: search and exCommand history, global flag
1384 for <code>:substitute</code>, <code>:global</code> command.
1385 <li>Allow hiding the cursor by
1386 setting <a href="manual.html#option_cursorBlinkRate"><code>cursorBlinkRate</code></a>
1387 to a negative value.</li>
1388 <li>Make gutter markers themeable, use this in foldgutter.</li>
1389 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.2.0...4.3.0">list of patches</a>.</li>
1390 </ul>
1391
1392 <p class="rel">19-05-2014: <a href="https://codemirror.net/5/codemirror-4.2.zip">Version 4.2</a>:</p>
1393
1394 <ul class="rel-note">
1395 <li>Fix problem where some modes were broken by the fact that empty tokens were forbidden.</li>
1396 <li>Several fixes to context menu handling.</li>
1397 <li>On undo, scroll <em>change</em>, not cursor, into view.</li>
1398 <li>Rewritten <a href="../mode/jade/index.html">Jade</a> mode.</li>
1399 <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>
1400 <li>New mode: <a href="../mode/cypher/index.html">Cypher</a>.</li>
1401 <li>New theme: <a href="../demo/theme.html#neo">Neo</a>.</li>
1402 <li>Support direct styling options (color, line style, width) in the <a href="manual.html#addon_rulers">rulers</a> addon.</li>
1403 <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>
1404 <li>More intelligent scanning for existing close tags in <a href="manual.html#addon_closetag">closetag</a> addon.</li>
1405 <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>
1406 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.1.0...4.2.0">list of patches</a>.</li>
1407 </ul>
1408
1409 <p class="rel">22-04-2014: <a href="https://codemirror.net/5/codemirror-4.1.zip">Version 4.1</a>:</p>
1410
1411 <ul class="rel-note">
1412 <li><em>Slightly incompatible</em>:
1413 The <a href="manual.html#event_cursorActivity"><code>"cursorActivity"</code></a>
1414 event now fires after all other events for the operation (and only
1415 for handlers that were actually registered at the time the
1416 activity happened).</li>
1417 <li>New command: <a href="manual.html#command_insertSoftTab"><code>insertSoftTab</code></a>.</li>
1418 <li>New mode: <a href="../mode/django/index.html">Django</a>.</li>
1419 <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>
1420 <li>Many small issues from the 3.x→4.x transition were found and fixed.</li>
1421 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/4.0.3...4.1.0">list of patches</a>.</li>
1422 </ul>
1423
1424 <p class="rel">20-03-2014: <a href="https://codemirror.net/5/codemirror-4.0.zip">Version 4.0</a>:</p>
1425
1426 <p class="rel-note">This is a new major version of CodeMirror. There
1427 are a few <strong>incompatible</strong> changes in the API. Upgrade
1428 with care, and read the <a href="upgrade_v4.html">upgrading
1429 guide</a>.</p>
1430
1431 <ul class="rel-note">
1432 <li>Multiple selections (ctrl-click, alt-drag, <a href="manual.html#setSelections">API</a>).</li>
1433 <li>Sublime Text <a href="../demo/sublime.html">bindings</a>.</li>
1434 <li><a href="manual.html#modloader">Module loader shims</a> wrapped around all modules.</li>
1435 <li>Selection <a href="manual.html#command_undoSelection">undo</a>/<a href="manual.html#command_redoSelection">redo</a>.</li>
1436 <li>Improved character measuring (faster, handles wrapped lines more robustly).</li>
1437 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.23.0...4.0.3">list of patches</a>.</li>
1438 </ul>
1439
1440 </section>
1441
1442 <section id=v3>
1443
1444 <h2>Version 3.x</h2>
1445
1446 <p class="rel">22-04-2014: <a href="https://codemirror.net/5/codemirror-3.24.zip">Version 3.24</a>:</p>
1447
1448 <p class="rel-note">Merges the improvements from 4.1 that could
1449 easily be applied to the 3.x code. Also improves the way the editor
1450 size is updated when line widgets change.</p>
1451
1452 <p class="rel">20-03-2014: <a href="https://codemirror.net/5/codemirror-3.23.zip">Version 3.23</a>:</p>
1453
1454 <ul class="rel-note">
1455 <li>In the <a href="../mode/xml/index.html">XML mode</a>,
1456 add <code>brackets</code> style to angle brackets, fix
1457 case-sensitivity of tags for HTML.</li>
1458 <li>New mode: <a href="../mode/dylan/index.html">Dylan</a>.</li>
1459 <li>Many improvements to the <a href="../demo/vim.html">Vim bindings</a>.</li>
1460 </ul>
1461
1462 <p class="rel">21-02-2014: <a href="https://codemirror.net/5/codemirror-3.22.zip">Version 3.22</a>:</p>
1463
1464 <ul class="rel-note">
1465 <li>Adds the <a href="manual.html#findMarks"><code>findMarks</code></a> method.</li>
1466 <li>New addons: <a href="manual.html#addon_rulers">rulers</a>, markdown-fold, yaml-lint.</li>
1467 <li>New theme: <a href="../demo/theme.html#mdn-like">mdn-like</a>.</li>
1468 <li>New mode: <a href="../mode/solr/index.html">Solr</a>.</li>
1469 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.21.0...3.22.0">list of patches</a>.</li>
1470 </ul>
1471
1472 <p class="rel">16-01-2014: <a href="https://codemirror.net/5/codemirror-3.21.zip">Version 3.21</a>:</p>
1473
1474 <ul class="rel-note">
1475 <li>Auto-indenting a block will no longer add trailing whitespace to blank lines.</li>
1476 <li>Marking text has a new option <a href="manual.html#markText"><code>clearWhenEmpty</code></a> to control auto-removal.</li>
1477 <li>Several bugfixes in the handling of bidirectional text.</li>
1478 <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>
1479 <li>The OCaml mode was moved to an <a href="../mode/mllike/index.html">mllike</a> mode, F# support added.</li>
1480 <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>
1481 <li>New theme <a href="../demo/theme.html#pastel-on-dark">pastel-on-dark</a>.</li>
1482 <li>Better ECMAScript 6 support in <a href="../mode/javascript/index.html">JavaScript</a> mode.</li>
1483 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.20.0...3.21.0">list of patches</a>.</li>
1484 </ul>
1485
1486 <p class="rel">21-11-2013: <a href="https://codemirror.net/5/codemirror-3.20.zip">Version 3.20</a>:</p>
1487
1488 <ul class="rel-note">
1489 <li>New modes: <a href="../mode/julia/index.html">Julia</a> and <a href="../mode/pegjs/index.html">PEG.js</a>.</li>
1490 <li>Support ECMAScript 6 in the <a href="../mode/javascript/index.html">JavaScript mode</a>.</li>
1491 <li>Improved indentation for the <a href="../mode/coffeescript/index.html">CoffeeScript mode</a>.</li>
1492 <li>Make non-printable-character representation <a href="manual.html#option_specialChars">configurable</a>.</li>
1493 <li>Add ‘notification’ functionality to <a href="manual.html#addon_dialog">dialog</a> addon.</li>
1494 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.19.0...3.20.0">list of patches</a>.</li>
1495 </ul>
1496
1497 <p class="rel">21-10-2013: <a href="https://codemirror.net/5/codemirror-3.19.zip">Version 3.19</a>:</p>
1498
1499 <ul class="rel-note">
1500 <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>
1501 <li>New addons: <a href="manual.html#addon_hardwrap">hardwrap</a>, <a href="manual.html#addon_sql-hint">sql-hint</a>.</li>
1502 <li>New theme: <a href="../demo/theme.html#mbo">MBO</a>.</li>
1503 <li>Add <a href="manual.html#token_style_line">support</a> for line-level styling from mode tokenizers.</li>
1504 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.18.0...3.19.0">list of patches</a>.</li>
1505 </ul>
1506
1507 <p class="rel">23-09-2013: <a href="https://codemirror.net/5/codemirror-3.18.zip">Version 3.18</a>:</p>
1508
1509 <p class="rel-note">Emergency release to fix a problem in 3.17
1510 where <code>.setOption("lineNumbers", false)</code> would raise an
1511 error.</p>
1512
1513 <p class="rel">23-09-2013: <a href="https://codemirror.net/5/codemirror-3.17.zip">Version 3.17</a>:</p>
1514
1515 <ul class="rel-note">
1516 <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>
1517 <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>
1518 <li>Improve resilience to CSS 'frameworks' that globally mess up <code>box-sizing</code>.</li>
1519 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.16.0...3.17.0">list of patches</a>.</li>
1520 </ul>
1521
1522 <p class="rel">21-08-2013: <a href="https://codemirror.net/5/codemirror-3.16.zip">Version 3.16</a>:</p>
1523
1524 <ul class="rel-note">
1525 <li>The whole codebase is now under a single <a href="../LICENSE">license</a> file.</li>
1526 <li>The project page was overhauled and redesigned.</li>
1527 <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>
1528 <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>
1529 <li>New <a href="manual.html#addon_foldcode">folding</a> function <code>CodeMirror.fold.comment</code>.</li>
1530 <li>Added <a href="manual.html#addon_fullscreen">fullscreen</a> addon.</li>
1531 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.15.0...3.16.0">list of patches</a>.</li>
1532 </ul>
1533
1534 <p class="rel">29-07-2013: <a href="https://codemirror.net/5/codemirror-3.15.zip">Version 3.15</a>:</p>
1535
1536 <ul class="rel-note">
1537 <li>New modes: <a href="../mode/jade/index.html">Jade</a>, <a href="../mode/nginx/index.html">Nginx</a>.</li>
1538 <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>
1539 <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>
1540 <li>New method: <a href="manual.html#getModeAt"><code>getModeAt</code></a>.</li>
1541 <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>
1542 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.14.0...3.15.0">list of patches</a>.</li>
1543 </ul>
1544
1545 <p class="rel">20-06-2013: <a href="https://codemirror.net/5/codemirror-3.14.zip">Version 3.14</a>:</p>
1546
1547 <ul class="rel-note">
1548 <li>New
1549 addons: <a href="manual.html#addon_trailingspace">trailing
1550 space highlight</a>, <a href="manual.html#addon_xml-hint">XML
1551 completion</a> (rewritten),
1552 and <a href="manual.html#addon_merge">diff merging</a>.</li>
1553 <li><a href="manual.html#markText"><code>markText</code></a>
1554 and <a href="manual.html#addLineWidget"><code>addLineWidget</code></a>
1555 now take a <code>handleMouseEvents</code> option.</li>
1556 <li>New methods: <a href="manual.html#lineAtHeight"><code>lineAtHeight</code></a>,
1557 <a href="manual.html#getTokenTypeAt"><code>getTokenTypeAt</code></a>.</li>
1558 <li>More precise cleanness-tracking
1559 using <a href="manual.html#changeGeneration"><code>changeGeneration</code></a>
1560 and <a href="manual.html#isClean"><code>isClean</code></a>.</li>
1561 <li>Many extensions to <a href="../demo/emacs.html">Emacs</a> mode
1562 (prefixes, more navigation units, and more).</li>
1563 <li>New
1564 events <a href="manual.html#event_keyHandled"><code>"keyHandled"</code></a>
1565 and <a href="manual.html#event_inputRead"><code>"inputRead"</code></a>.</li>
1566 <li>Various improvements to <a href="../mode/ruby/index.html">Ruby</a>,
1567 <a href="../mode/smarty/index.html">Smarty</a>, <a href="../mode/sql/index.html">SQL</a>,
1568 and <a href="../demo/vim.html">Vim</a> modes.</li>
1569 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/3.13.0...3.14.0">list of patches</a>.</li>
1570 </ul>
1571
1572 <p class="rel">20-05-2013: <a href="https://codemirror.net/5/codemirror-3.13.zip">Version 3.13</a>:</p>
1573
1574 <ul class="rel-note">
1575 <li>New modes: <a href="../mode/cobol/index.html">COBOL</a> and <a href="../mode/haml/index.html">HAML</a>.</li>
1576 <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>
1577 <li>New addon: <a href="manual.html#addon_comment">commenting</a>.</li>
1578 <li>More features added to the <a href="../demo/vim.html">Vim keymap</a>.</li>
1579 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.12...3.13.0">list of patches</a>.</li>
1580 </ul>
1581
1582 <p class="rel">19-04-2013: <a href="https://codemirror.net/5/codemirror-3.12.zip">Version 3.12</a>:</p>
1583
1584 <ul class="rel-note">
1585 <li>New mode: <a href="../mode/gas/index.html">GNU assembler</a>.</li>
1586 <li>New
1587 options: <a href="manual.html#option_maxHighlightLength"><code>maxHighlightLength</code></a>
1588 and <a href="manual.html#option_historyEventDelay"><code>historyEventDelay</code></a>.</li>
1589 <li>Added <a href="manual.html#mark_addToHistory"><code>addToHistory</code></a>
1590 option for <code>markText</code>.</li>
1591 <li>Various fixes to JavaScript tokenization and indentation corner cases.</li>
1592 <li>Further improvements to the vim mode.</li>
1593 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.11...v3.12">list of patches</a>.</li>
1594 </ul>
1595
1596 <p class="rel">20-03-2013: <a href="https://codemirror.net/5/codemirror-3.11.zip">Version 3.11</a>:</p>
1597
1598 <ul class="rel-note">
1599 <li><strong>Removed code:</strong> <code>collapserange</code>,
1600 <code>formatting</code>, and <code>simple-hint</code>
1601 addons. <code>plsql</code> and <code>mysql</code> modes
1602 (use <a href="../mode/sql/index.html"><code>sql</code></a> mode).</li>
1603 <li><strong>Moved code:</strong> the range-finding functions for folding now have <a href="../addon/fold/">their own files</a>.</li>
1604 <li><strong>Changed interface:</strong>
1605 the <a href="manual.html#addon_continuecomment"><code>continuecomment</code></a>
1606 addon now exposes an option, rather than a command.</li>
1607 <li>New
1608 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>,
1609 and <a href="../mode/mirc/index.html">mIRC</a>.</li>
1610 <li>New addons: <a href="../demo/placeholder.html"><code>placeholder</code></a>, <a href="../demo/html5complete.html">HTML completion</a>.</li>
1611 <li>New
1612 methods: <a href="manual.html#hasFocus"><code>hasFocus</code></a>, <a href="manual.html#defaultCharWidth"><code>defaultCharWidth</code></a>.</li>
1613 <li>New events: <a href="manual.html#event_beforeCursorEnter"><code>beforeCursorEnter</code></a>, <a href="manual.html#event_renderLine"><code>renderLine</code></a>.</li>
1614 <li>Many improvements to the <a href="manual.html#addon_show-hint"><code>show-hint</code></a> completion
1615 dialog addon.</li>
1616 <li>Tweak behavior of by-word cursor motion.</li>
1617 <li>Further improvements to the <a href="../demo/vim.html">vim mode</a>.</li>
1618 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.1...v3.11">list of patches</a>.</li>
1619 </ul>
1620
1621 <p class="rel">21-02-2013: <a href="https://codemirror.net/5/codemirror-3.1.zip">Version 3.1</a>:</p>
1622
1623 <ul class="rel-note">
1624 <li><strong>Incompatible:</strong> key handlers may
1625 now <em>return</em>, rather
1626 than <em>throw</em> <code>CodeMirror.Pass</code> to signal they
1627 didn't handle the key.</li>
1628 <li>Make documents a <a href="manual.html#api_doc">first-class
1629 construct</a>, support split views and subviews.</li>
1630 <li>Add a <a href="manual.html#addon_show-hint">new module</a>
1631 for showing completion hints.
1632 Deprecate <code>simple-hint.js</code>.</li>
1633 <li>Extend <a href="../mode/htmlmixed/index.html">htmlmixed mode</a>
1634 to allow custom handling of script types.</li>
1635 <li>Support an <code>insertLeft</code> option
1636 to <a href="manual.html#setBookmark"><code>setBookmark</code></a>.</li>
1637 <li>Add an <a href="manual.html#eachLine"><code>eachLine</code></a>
1638 method to iterate over a document.</li>
1639 <li>New addon modules: <a href="../demo/markselection.html">selection
1640 marking</a>, <a href="../demo/lint.html">linting</a>,
1641 and <a href="../demo/closebrackets.html">automatic bracket
1642 closing</a>.</li>
1643 <li>Add <a href="manual.html#event_beforeChange"><code>"beforeChange"</code></a>
1644 and <a href="manual.html#event_beforeSelectionChange"><code>"beforeSelectionChange"</code></a>
1645 events.</li>
1646 <li>Add <a href="manual.html#event_hide"><code>"hide"</code></a>
1647 and <a href="manual.html#event_unhide"><code>"unhide"</code></a>
1648 events to marked ranges.</li>
1649 <li>Fix <a href="manual.html#coordsChar"><code>coordsChar</code></a>'s
1650 interpretation of its argument to match the documentation.</li>
1651 <li>New modes: <a href="../mode/turtle/index.html">Turtle</a>
1652 and <a href="../mode/q/index.html">Q</a>.</li>
1653 <li>Further improvements to the <a href="../demo/vim.html">vim mode</a>.</li>
1654 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.01...v3.1">list of patches</a>.</li>
1655 </ul>
1656
1657
1658 <p class="rel">25-01-2013: <a href="https://codemirror.net/5/codemirror-3.02.zip">Version 3.02</a>:</p>
1659
1660 <p class="rel-note">Single-bugfix release. Fixes a problem that
1661 prevents CodeMirror instances from being garbage-collected after
1662 they become unused.</p>
1663
1664 <p class="rel">21-01-2013: <a href="https://codemirror.net/5/codemirror-3.01.zip">Version 3.01</a>:</p>
1665
1666 <ul class="rel-note">
1667 <li>Move all add-ons into an organized directory structure
1668 under <a href="../addon/"><code>/addon</code></a>. <strong>You might have to adjust your
1669 paths.</strong></li>
1670 <li>New
1671 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>
1672 (configurable), and <a href="../mode/asterisk/index.html">Asterisk</a>.</li>
1673 <li>Several bugfixes in right-to-left text support.</li>
1674 <li>Add <a href="manual.html#option_rtlMoveVisually"><code>rtlMoveVisually</code></a> option.</li>
1675 <li>Improvements to vim keymap.</li>
1676 <li>Add built-in (lightweight) <a href="manual.html#addOverlay">overlay mode</a> support.</li>
1677 <li>Support <code>showIfHidden</code> option for <a href="manual.html#addLineWidget">line widgets</a>.</li>
1678 <li>Add simple <a href="manual.html#addon_python-hint">Python hinter</a>.</li>
1679 <li>Bring back the <a href="manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
1680 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0...v3.01">list of patches</a>.</li>
1681 </ul>
1682
1683 <p class="rel">10-12-2012: <a href="https://codemirror.net/5/codemirror-3.0.zip">Version 3.0</a>:</p>
1684
1685 <p class="rel-note"><strong>New major version</strong>. Only
1686 partially backwards-compatible. See
1687 the <a href="upgrade_v3.html">upgrading guide</a> for more
1688 information. Changes since release candidate 2:</p>
1689
1690 <ul class="rel-note">
1691 <li>Rewritten VIM mode.</li>
1692 <li>Fix a few minor scrolling and sizing issues.</li>
1693 <li>Work around Safari segfault when dragging.</li>
1694 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0rc2...v3.0">list of patches</a>.</li>
1695 </ul>
1696
1697 <p class="rel">20-11-2012: <a href="https://codemirror.net/5/codemirror-3.0rc2.zip">Version 3.0, release candidate 2</a>:</p>
1698
1699 <ul class="rel-note">
1700 <li>New mode: <a href="../mode/http/index.html">HTTP</a>.</li>
1701 <li>Improved handling of selection anchor position.</li>
1702 <li>Improve IE performance on longer lines.</li>
1703 <li>Reduce gutter glitches during horiz. scrolling.</li>
1704 <li>Add <a href="manual.html#addKeyMap"><code>addKeyMap</code></a> and <a href="manual.html#removeKeyMap"><code>removeKeyMap</code></a> methods.</li>
1705 <li>Rewrite <code>formatting</code> and <code>closetag</code> add-ons.</li>
1706 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0rc1...v3.0rc2">list of patches</a>.</li>
1707 </ul>
1708
1709 <p class="rel">20-11-2012: <a href="https://codemirror.net/5/codemirror-3.0rc1.zip">Version 3.0, release candidate 1</a>:</p>
1710
1711 <ul class="rel-note">
1712 <li>New theme: <a href="../demo/theme.html#solarized%20light">Solarized</a>.</li>
1713 <li>Introduce <a href="manual.html#addLineClass"><code>addLineClass</code></a>
1714 and <a href="manual.html#removeLineClass"><code>removeLineClass</code></a>,
1715 drop <code>setLineClass</code>.</li>
1716 <li>Add a <em>lot</em> of
1717 new <a href="manual.html#markText">options for marked text</a>
1718 (read-only, atomic, collapsed, widget replacement).</li>
1719 <li>Remove the old code folding interface in favour of these new ranges.</li>
1720 <li>Add <a href="manual.html#isClean"><code>isClean</code></a>/<a href="manual.html#markClean"><code>markClean</code></a> methods.</li>
1721 <li>Remove <code>compoundChange</code> method, use better undo-event-combining heuristic.</li>
1722 <li>Improve scrolling performance smoothness.</li>
1723 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0beta2...v3.0rc1">list of patches</a>.</li>
1724 </ul>
1725
1726 <p class="rel">22-10-2012: <a href="https://codemirror.net/5/codemirror-3.0beta2.zip">Version 3.0, beta 2</a>:</p>
1727
1728 <ul class="rel-note">
1729 <li>Fix page-based coordinate computation.</li>
1730 <li>Fix firing of <a href="manual.html#event_gutterClick"><code>gutterClick</code></a> event.</li>
1731 <li>Add <a href="manual.html#option_cursorHeight"><code>cursorHeight</code></a> option.</li>
1732 <li>Fix bi-directional text regression.</li>
1733 <li>Add <a href="manual.html#option_viewportMargin"><code>viewportMargin</code></a> option.</li>
1734 <li>Directly handle mousewheel events (again, hopefully better).</li>
1735 <li>Make vertical cursor movement more robust (through widgets, big line gaps).</li>
1736 <li>Add <a href="manual.html#option_flattenSpans"><code>flattenSpans</code></a> option.</li>
1737 <li>Many optimizations. Poor responsiveness should be fixed.</li>
1738 <li>Initialization in hidden state works again.</li>
1739 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v3.0beta1...v3.0beta2">list of patches</a>.</li>
1740 </ul>
1741
1742 <p class="rel">19-09-2012: <a href="https://codemirror.net/5/codemirror-3.0beta1.zip">Version 3.0, beta 1</a>:</p>
1743
1744 <ul class="rel-note">
1745 <li>Bi-directional text support.</li>
1746 <li>More powerful gutter model.</li>
1747 <li>Support for arbitrary text/widget height.</li>
1748 <li>In-line widgets.</li>
1749 <li>Generalized event handling.</li>
1750 </ul>
1751
1752 </section>
1753
1754 <section id=v2>
1755
1756 <h2>Version 2.x</h2>
1757
1758 <p class="rel">21-01-2013: <a href="https://codemirror.net/5/codemirror-2.38.zip">Version 2.38</a>:</p>
1759
1760 <p class="rel-note">Integrate some bugfixes, enhancements to the vim keymap, and new
1761 modes
1762 (<a href="../mode/d/index.html">D</a>, <a href="../mode/sass/index.html">Sass</a>, <a href="../mode/apl/index.html">APL</a>)
1763 from the v3 branch.</p>
1764
1765 <p class="rel">20-12-2012: <a href="https://codemirror.net/5/codemirror-2.37.zip">Version 2.37</a>:</p>
1766
1767 <ul class="rel-note">
1768 <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>
1769 <li>Further work on the new VIM mode.</li>
1770 <li>Fix Cmd/Ctrl keys on recent Operas on OS X.</li>
1771 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v2.36...v2.37">list of patches</a>.</li>
1772 </ul>
1773
1774 <p class="rel">20-11-2012: <a href="https://codemirror.net/5/codemirror-2.36.zip">Version 2.36</a>:</p>
1775
1776 <ul class="rel-note">
1777 <li>New mode: <a href="../mode/z80/index.html">Z80 assembly</a>.</li>
1778 <li>New theme: <a href="../demo/theme.html#twilight">Twilight</a>.</li>
1779 <li>Add command-line compression helper.</li>
1780 <li>Make <a href="manual.html#scrollIntoView"><code>scrollIntoView</code></a> public.</li>
1781 <li>Add <a href="manual.html#defaultTextHeight"><code>defaultTextHeight</code></a> method.</li>
1782 <li>Various extensions to the vim keymap.</li>
1783 <li>Make <a href="../mode/php/index.html">PHP mode</a> build on <a href="../mode/htmlmixed/index.html">mixed HTML mode</a>.</li>
1784 <li>Add <a href="manual.html#addon_continuecomment">comment-continuing</a> add-on.</li>
1785 <li>Full <a href="../https://github.com/codemirror/CodeMirror/compare/v2.35...v2.36">list of patches</a>.</li>
1786 </ul>
1787
1788 <p class="rel">22-10-2012: <a href="https://codemirror.net/5/codemirror-2.35.zip">Version 2.35</a>:</p>
1789
1790 <ul class="rel-note">
1791 <li>New (sub) mode: <a href="../mode/javascript/typescript.html">TypeScript</a>.</li>
1792 <li>Don't overwrite (insert key) when pasting.</li>
1793 <li>Fix several bugs in <a href="manual.html#markText"><code>markText</code></a>/undo interaction.</li>
1794 <li>Better indentation of JavaScript code without semicolons.</li>
1795 <li>Add <a href="manual.html#defineInitHook"><code>defineInitHook</code></a> function.</li>
1796 <li>Full <a href="https://github.com/codemirror/CodeMirror/compare/v2.34...v2.35">list of patches</a>.</li>
1797 </ul>
1798
1799 <p class="rel">19-09-2012: <a href="https://codemirror.net/5/codemirror-2.34.zip">Version 2.34</a>:</p>
1800
1801 <ul class="rel-note">
1802 <li>New mode: <a href="../mode/commonlisp/index.html">Common Lisp</a>.</li>
1803 <li>Fix right-click select-all on most browsers.</li>
1804 <li>Change the way highlighting happens:<br>&nbsp; Saves memory and CPU cycles.<br>&nbsp; <code>compareStates</code> is no longer needed.<br>&nbsp; <code>onHighlightComplete</code> no longer works.</li>
1805 <li>Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.</li>
1806 <li>Add a <a href="manual.html#version"><code>CodeMirror.version</code></a> property.</li>
1807 <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>
1808 <li>Un/redo now preserves <a href="manual.html#markText">marked text</a> and bookmarks.</li>
1809 <li><a href="https://github.com/codemirror/CodeMirror/compare/v2.33...v2.34">Full list</a> of patches.</li>
1810 </ul>
1811
1812 <p class="rel">23-08-2012: <a href="https://codemirror.net/5/codemirror-2.33.zip">Version 2.33</a>:</p>
1813
1814 <ul class="rel-note">
1815 <li>New mode: <a href="../mode/sieve/index.html">Sieve</a>.</li>
1816 <li>New <a href="manual.html#getViewport"><code>getViewPort</code></a> and <a href="manual.html#option_onViewportChange"><code>onViewportChange</code></a> API.</li>
1817 <li><a href="manual.html#option_cursorBlinkRate">Configurable</a> cursor blink rate.</li>
1818 <li>Make binding a key to <code>false</code> disabling handling (again).</li>
1819 <li>Show non-printing characters as red dots.</li>
1820 <li>More tweaks to the scrolling model.</li>
1821 <li>Expanded testsuite. Basic linter added.</li>
1822 <li>Remove most uses of <code>innerHTML</code>. Remove <code>CodeMirror.htmlEscape</code>.</li>
1823 <li><a href="https://github.com/codemirror/CodeMirror/compare/v2.32...v2.33">Full list</a> of patches.</li>
1824 </ul>
1825
1826 <p class="rel">23-07-2012: <a href="https://codemirror.net/5/codemirror-2.32.zip">Version 2.32</a>:</p>
1827
1828 <p class="rel-note">Emergency fix for a bug where an editor with
1829 line wrapping on IE will break when there is <em>no</em>
1830 scrollbar.</p>
1831
1832 <p class="rel">20-07-2012: <a href="https://codemirror.net/5/codemirror-2.31.zip">Version 2.31</a>:</p>
1833
1834 <ul class="rel-note">
1835 <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>
1836 <li>Several fixes to the new scrolling model.</li>
1837 <li>Add a <a href="manual.html#setSize"><code>setSize</code></a> method for programmatic resizing.</li>
1838 <li>Add <a href="manual.html#getHistory"><code>getHistory</code></a> and <a href="manual.html#setHistory"><code>setHistory</code></a> methods.</li>
1839 <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>
1840 <li>Support double- and triple-click drag, double-clicking whitespace.</li>
1841 <li>And more... <a href="https://github.com/codemirror/CodeMirror/compare/v2.3...v2.31">(all patches)</a></li>
1842 </ul>
1843
1844 <p class="rel">22-06-2012: <a href="https://codemirror.net/5/codemirror-2.3.zip">Version 2.3</a>:</p>
1845
1846 <ul class="rel-note">
1847 <li><strong>New scrollbar implementation</strong>. Should flicker less. Changes DOM structure of the editor.</li>
1848 <li>New theme: <a href="../demo/theme.html#vibrant-ink">vibrant-ink</a>.</li>
1849 <li>Many extensions to the VIM keymap (including text objects).</li>
1850 <li>Add <a href="../demo/multiplex.html">mode-multiplexing</a> utility script.</li>
1851 <li>Fix bug where right-click paste works in read-only mode.</li>
1852 <li>Add a <a href="manual.html#getScrollInfo"><code>getScrollInfo</code></a> method.</li>
1853 <li>Lots of other <a href="https://github.com/codemirror/CodeMirror/compare/v2.25...v2.3">fixes</a>.</li>
1854 </ul>
1855
1856 <p class="rel">23-05-2012: <a href="https://codemirror.net/5/codemirror-2.25.zip">Version 2.25</a>:</p>
1857
1858 <ul class="rel-note">
1859 <li>New mode: <a href="../mode/erlang/index.html">Erlang</a>.</li>
1860 <li><strong>Remove xmlpure mode</strong> (use <a href="../mode/xml/index.html">xml.js</a>).</li>
1861 <li>Fix line-wrapping in Opera.</li>
1862 <li>Fix X Windows middle-click paste in Chrome.</li>
1863 <li>Fix bug that broke pasting of huge documents.</li>
1864 <li>Fix backspace and tab key repeat in Opera.</li>
1865 </ul>
1866
1867 <p class="rel">23-04-2012: <a href="https://codemirror.net/5/codemirror-2.24.zip">Version 2.24</a>:</p>
1868
1869 <ul class="rel-note">
1870 <li><strong>Drop support for Internet Explorer 6</strong>.</li>
1871 <li>New
1872 modes: <a href="../mode/shell/index.html">Shell</a>, <a href="../mode/tiki/index.html">Tiki
1873 wiki</a>, <a href="../mode/pig/index.html">Pig Latin</a>.</li>
1874 <li>New themes: <a href="../demo/theme.html#ambiance">Ambiance</a>, <a href="../demo/theme.html#blackboard">Blackboard</a>.</li>
1875 <li>More control over drag/drop
1876 with <a href="manual.html#option_dragDrop"><code>dragDrop</code></a>
1877 and <a href="manual.html#option_onDragEvent"><code>onDragEvent</code></a>
1878 options.</li>
1879 <li>Make HTML mode a bit less pedantic.</li>
1880 <li>Add <a href="manual.html#compoundChange"><code>compoundChange</code></a> API method.</li>
1881 <li>Several fixes in undo history and line hiding.</li>
1882 <li>Remove (broken) support for <code>catchall</code> in key maps,
1883 add <code>nofallthrough</code> boolean field instead.</li>
1884 </ul>
1885
1886 <p class="rel">26-03-2012: <a href="https://codemirror.net/5/codemirror-2.23.zip">Version 2.23</a>:</p>
1887
1888 <ul class="rel-note">
1889 <li>Change <strong>default binding for tab</strong> <a href="javascript:void(document.getElementById('tabbinding').style.display='')">[more]</a>
1890 <div style="display: none" id=tabbinding>
1891 Starting in 2.23, these bindings are default:
1892 <ul><li>Tab: Insert tab character</li>
1893 <li>Shift-tab: Reset line indentation to default</li>
1894 <li>Ctrl/Cmd-[: Reduce line indentation (old tab behaviour)</li>
1895 <li>Ctrl/Cmd-]: Increase line indentation (old shift-tab behaviour)</li>
1896 </ul>
1897 </div>
1898 </li>
1899 <li>New modes: <a href="../mode/xquery/index.html">XQuery</a> and <a href="../mode/vbscript/index.html">VBScript</a>.</li>
1900 <li>Two new themes: <a href="../mode/less/index.html">lesser-dark</a> and <a href="../mode/xquery/index.html">xq-dark</a>.</li>
1901 <li>Differentiate between background and text styles in <a href="manual.html#setLineClass"><code>setLineClass</code></a>.</li>
1902 <li>Fix drag-and-drop in IE9+.</li>
1903 <li>Extend <a href="manual.html#charCoords"><code>charCoords</code></a>
1904 and <a href="manual.html#cursorCoords"><code>cursorCoords</code></a> with a <code>mode</code> argument.</li>
1905 <li>Add <a href="manual.html#option_autofocus"><code>autofocus</code></a> option.</li>
1906 <li>Add <a href="manual.html#findMarksAt"><code>findMarksAt</code></a> method.</li>
1907 </ul>
1908
1909 <p class="rel">27-02-2012: <a href="https://codemirror.net/5/codemirror-2.22.zip">Version 2.22</a>:</p>
1910
1911 <ul class="rel-note">
1912 <li>Allow <a href="manual.html#keymaps">key handlers</a> to pass up events, allow binding characters.</li>
1913 <li>Add <a href="manual.html#option_autoClearEmptyLines"><code>autoClearEmptyLines</code></a> option.</li>
1914 <li>Properly use tab stops when rendering tabs.</li>
1915 <li>Make PHP mode more robust.</li>
1916 <li>Support indentation blocks in <a href="manual.html#addon_foldcode">code folder</a>.</li>
1917 <li>Add a script for <a href="manual.html#addon_match-highlighter">highlighting instances of the selection</a>.</li>
1918 <li>New <a href="../mode/properties/index.html">.properties</a> mode.</li>
1919 <li>Fix many bugs.</li>
1920 </ul>
1921
1922 <p class="rel">27-01-2012: <a href="https://codemirror.net/5/codemirror-2.21.zip">Version 2.21</a>:</p>
1923
1924 <ul class="rel-note">
1925 <li>Added <a href="../mode/less/index.html">LESS</a>, <a href="../mode/mysql/index.html">MySQL</a>,
1926 <a href="../mode/go/index.html">Go</a>, and <a href="../mode/verilog/index.html">Verilog</a> modes.</li>
1927 <li>Add <a href="manual.html#option_smartIndent"><code>smartIndent</code></a>
1928 option.</li>
1929 <li>Support a cursor in <a href="manual.html#option_readOnly"><code>readOnly</code></a>-mode.</li>
1930 <li>Support assigning multiple styles to a token.</li>
1931 <li>Use a new approach to drawing the selection.</li>
1932 <li>Add <a href="manual.html#scrollTo"><code>scrollTo</code></a> method.</li>
1933 <li>Allow undo/redo events to span non-adjacent lines.</li>
1934 <li>Lots and lots of bugfixes.</li>
1935 </ul>
1936
1937 <p class="rel">20-12-2011: <a href="https://codemirror.net/5/codemirror-2.2.zip">Version 2.2</a>:</p>
1938
1939 <ul class="rel-note">
1940 <li>Slightly incompatible API changes. Read <a href="upgrade_v2.2.html">this</a>.</li>
1941 <li>New approach
1942 to <a href="manual.html#option_extraKeys">binding</a> keys,
1943 support for <a href="manual.html#option_keyMap">custom
1944 bindings</a>.</li>
1945 <li>Support for overwrite (insert).</li>
1946 <li><a href="manual.html#option_tabSize">Custom-width</a>
1947 and <a href="../demo/visibletabs.html">styleable</a> tabs.</li>
1948 <li>Moved more code into <a href="manual.html#addons">add-on scripts</a>.</li>
1949 <li>Support for sane vertical cursor movement in wrapped lines.</li>
1950 <li>More reliable handling of
1951 editing <a href="manual.html#markText">marked text</a>.</li>
1952 <li>Add minimal <a href="../demo/emacs.html">emacs</a>
1953 and <a href="../demo/vim.html">vim</a> bindings.</li>
1954 <li>Rename <code>coordsFromIndex</code>
1955 to <a href="manual.html#posFromIndex"><code>posFromIndex</code></a>,
1956 add <a href="manual.html#indexFromPos"><code>indexFromPos</code></a>
1957 method.</li>
1958 </ul>
1959
1960 <p class="rel">21-11-2011: <a href="https://codemirror.net/5/codemirror-2.18.zip">Version 2.18</a>:</p>
1961 <p class="rel-note">Fixes <code>TextMarker.clear</code>, which is broken in 2.17.</p>
1962
1963 <p class="rel">21-11-2011: <a href="https://codemirror.net/5/codemirror-2.17.zip">Version 2.17</a>:</p>
1964 <ul class="rel-note">
1965 <li>Add support for <a href="manual.html#option_lineWrapping">line
1966 wrapping</a> and <a href="manual.html#hideLine">code
1967 folding</a>.</li>
1968 <li>Add <a href="../mode/gfm/index.html">GitHub-style Markdown</a> mode.</li>
1969 <li>Add <a href="../theme/monokai.css">Monokai</a>
1970 and <a href="../theme/rubyblue.css">Rubyblue</a> themes.</li>
1971 <li>Add <a href="manual.html#setBookmark"><code>setBookmark</code></a> method.</li>
1972 <li>Move some of the demo code into reusable components
1973 under <a href="../addon/"><code>lib/util</code></a>.</li>
1974 <li>Make screen-coord-finding code faster and more reliable.</li>
1975 <li>Fix drag-and-drop in Firefox.</li>
1976 <li>Improve support for IME.</li>
1977 <li>Speed up content rendering.</li>
1978 <li>Fix browser's built-in search in Webkit.</li>
1979 <li>Make double- and triple-click work in IE.</li>
1980 <li>Various fixes to modes.</li>
1981 </ul>
1982
1983 <p class="rel">27-10-2011: <a href="https://codemirror.net/5/codemirror-2.16.zip">Version 2.16</a>:</p>
1984 <ul class="rel-note">
1985 <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>
1986 <li>Dragging text inside the editor now moves, rather than copies.</li>
1987 <li>Add a <a href="manual.html#coordsFromIndex"><code>coordsFromIndex</code></a> method.</li>
1988 <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>
1989 <li><strong>API change</strong>: <a href="manual.html#markText"><code>markText</code></a> now
1990 returns an object with <code>clear</code> and <code>find</code>
1991 methods. Marked text is now more robust when edited.</li>
1992 <li>Fix editing code with tabs in Internet Explorer.</li>
1993 </ul>
1994
1995 <p class="rel">26-09-2011: <a href="https://codemirror.net/5/codemirror-2.15.zip">Version 2.15</a>:</p>
1996 <p class="rel-note">Fix bug that snuck into 2.14: Clicking the
1997 character that currently has the cursor didn't re-focus the
1998 editor.</p>
1999
2000 <p class="rel">26-09-2011: <a href="https://codemirror.net/5/codemirror-2.14.zip">Version 2.14</a>:</p>
2001 <ul class="rel-note">
2002 <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>
2003 <li>Add <a href="../theme/cobalt.css">Cobalt</a> and <a href="../theme/eclipse.css">Eclipse</a> themes.</li>
2004 <li>Add a <a href="manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
2005 <li>Fix bug with <code>setValue</code> breaking cursor movement.</li>
2006 <li>Make gutter updates much more efficient.</li>
2007 <li>Allow dragging of text out of the editor (on modern browsers).</li>
2008 </ul>
2009
2010
2011 <p class="rel">23-08-2011: <a href="https://codemirror.net/5/codemirror-2.13.zip">Version 2.13</a>:</p>
2012 <ul class="rel-note">
2013 <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>
2014 <li>Add <a href="manual.html#getGutterElement"><code>getGutterElement</code></a> to API.</li>
2015 <li>Several fixes to scrolling and positioning.</li>
2016 <li>Add <a href="manual.html#option_smartHome"><code>smartHome</code></a> option.</li>
2017 <li>Add an experimental <a href="../mode/xmlpure/index.html">pure XML</a> mode.</li>
2018 </ul>
2019
2020 <p class="rel">25-07-2011: <a href="https://codemirror.net/5/codemirror-2.12.zip">Version 2.12</a>:</p>
2021 <ul class="rel-note">
2022 <li>Add a <a href="../mode/sparql/index.html">SPARQL</a> mode.</li>
2023 <li>Fix bug with cursor jumping around in an unfocused editor in IE.</li>
2024 <li>Allow key and mouse events to bubble out of the editor. Ignore widget clicks.</li>
2025 <li>Solve cursor flakiness after undo/redo.</li>
2026 <li>Fix block-reindent ignoring the last few lines.</li>
2027 <li>Fix parsing of multi-line attrs in XML mode.</li>
2028 <li>Use <code>innerHTML</code> for HTML-escaping.</li>
2029 <li>Some fixes to indentation in C-like mode.</li>
2030 <li>Shrink horiz scrollbars when long lines removed.</li>
2031 <li>Fix width feedback loop bug that caused the width of an inner DIV to shrink.</li>
2032 </ul>
2033
2034 <p class="rel">04-07-2011: <a href="https://codemirror.net/5/codemirror-2.11.zip">Version 2.11</a>:</p>
2035 <ul class="rel-note">
2036 <li>Add a <a href="../mode/scheme/index.html">Scheme mode</a>.</li>
2037 <li>Add a <code>replace</code> method to search cursors, for cursor-preserving replacements.</li>
2038 <li>Make the <a href="../mode/clike/index.html">C-like mode</a> mode more customizable.</li>
2039 <li>Update XML mode to spot mismatched tags.</li>
2040 <li>Add <code>getStateAfter</code> API and <code>compareState</code> mode API methods for finer-grained mode magic.</li>
2041 <li>Add a <code>getScrollerElement</code> API method to manipulate the scrolling DIV.</li>
2042 <li>Fix drag-and-drop for Firefox.</li>
2043 <li>Add a C# configuration for the <a href="../mode/clike/index.html">C-like mode</a>.</li>
2044 <li>Add <a href="../demo/fullscreen.html">full-screen editing</a> and <a href="../demo/changemode.html">mode-changing</a> demos.</li>
2045 </ul>
2046
2047 <p class="rel">07-06-2011: <a href="https://codemirror.net/5/codemirror-2.1.zip">Version 2.1</a>:</p>
2048 <p class="rel-note">Add
2049 a <a href="manual.html#option_theme">theme</a> system
2050 (<a href="../demo/theme.html">demo</a>). Note that this is not
2051 backwards-compatible—you'll have to update your styles and
2052 modes!</p>
2053
2054 <p class="rel">07-06-2011: <a href="https://codemirror.net/5/codemirror-2.02.zip">Version 2.02</a>:</p>
2055 <ul class="rel-note">
2056 <li>Add a <a href="../mode/lua/index.html">Lua mode</a>.</li>
2057 <li>Fix reverse-searching for a regexp.</li>
2058 <li>Empty lines can no longer break highlighting.</li>
2059 <li>Rework scrolling model (the outer wrapper no longer does the scrolling).</li>
2060 <li>Solve horizontal jittering on long lines.</li>
2061 <li>Add <a href="../demo/runmode.html">runmode.js</a>.</li>
2062 <li>Immediately re-highlight text when typing.</li>
2063 <li>Fix problem with 'sticking' horizontal scrollbar.</li>
2064 </ul>
2065
2066 <p class="rel">26-05-2011: <a href="https://codemirror.net/5/codemirror-2.01.zip">Version 2.01</a>:</p>
2067 <ul class="rel-note">
2068 <li>Add a <a href="../mode/smalltalk/index.html">Smalltalk mode</a>.</li>
2069 <li>Add a <a href="../mode/rst/index.html">reStructuredText mode</a>.</li>
2070 <li>Add a <a href="../mode/python/index.html">Python mode</a>.</li>
2071 <li>Add a <a href="../mode/plsql/index.html">PL/SQL mode</a>.</li>
2072 <li><code>coordsChar</code> now works</li>
2073 <li>Fix a problem where <code>onCursorActivity</code> interfered with <code>onChange</code>.</li>
2074 <li>Fix a number of scrolling and mouse-click-position glitches.</li>
2075 <li>Pass information about the changed lines to <code>onChange</code>.</li>
2076 <li>Support cmd-up/down on OS X.</li>
2077 <li>Add triple-click line selection.</li>
2078 <li>Don't handle shift when changing the selection through the API.</li>
2079 <li>Support <code>"nocursor"</code> mode for <code>readOnly</code> option.</li>
2080 <li>Add an <code>onHighlightComplete</code> option.</li>
2081 <li>Fix the context menu for Firefox.</li>
2082 </ul>
2083
2084 <p class="rel">28-03-2011: <a href="https://codemirror.net/5/codemirror-2.0.zip">Version 2.0</a>:</p>
2085 <p class="rel-note">CodeMirror 2 is a complete rewrite that's
2086 faster, smaller, simpler to use, and less dependent on browser
2087 quirks. See <a href="internals.html">this</a>
2088 and <a href="http://groups.google.com/group/codemirror/browse_thread/thread/5a8e894024a9f580">this</a>
2089 for more information.</p>
2090
2091 <p class="rel">22-02-2011: <a href="https://github.com/codemirror/codemirror5/tree/beta2">Version 2.0 beta 2</a>:</p>
2092 <p class="rel-note">Somewhat more mature API, lots of bugs shaken out.</p>
2093
2094 <p class="rel">17-02-2011: <a href="https://codemirror.net/5/codemirror-0.94.zip">Version 0.94</a>:</p>
2095 <ul class="rel-note">
2096 <li><code>tabMode: "spaces"</code> was modified slightly (now indents when something is selected).</li>
2097 <li>Fixes a bug that would cause the selection code to break on some IE versions.</li>
2098 <li>Disabling spell-check on WebKit browsers now works.</li>
2099 </ul>
2100
2101 <p class="rel">08-02-2011: <a href="https://codemirror.net/5/">Version 2.0 beta 1</a>:</p>
2102 <p class="rel-note">CodeMirror 2 is a complete rewrite of
2103 CodeMirror, no longer depending on an editable frame.</p>
2104
2105 <p class="rel">19-01-2011: <a href="https://codemirror.net/5/codemirror-0.93.zip">Version 0.93</a>:</p>
2106 <ul class="rel-note">
2107 <li>Added a <a href="contrib/regex/index.html">Regular Expression</a> parser.</li>
2108 <li>Fixes to the PHP parser.</li>
2109 <li>Support for regular expression in search/replace.</li>
2110 <li>Add <code>save</code> method to instances created with <code>fromTextArea</code>.</li>
2111 <li>Add support for MS T-SQL in the SQL parser.</li>
2112 <li>Support use of CSS classes for highlighting brackets.</li>
2113 <li>Fix yet another hang with line-numbering in hidden editors.</li>
2114 </ul>
2115 </section>
2116
2117 <section id=v1>
2118
2119 <h2>Version 0.x</h2>
2120
2121 <p class="rel">28-03-2011: <a href="https://codemirror.net/5/codemirror-1.0.zip">Version 1.0</a>:</p>
2122 <ul class="rel-note">
2123 <li>Fix error when debug history overflows.</li>
2124 <li>Refine handling of C# verbatim strings.</li>
2125 <li>Fix some issues with JavaScript indentation.</li>
2126 </ul>
2127
2128 <p class="rel">17-12-2010: <a href="https://codemirror.net/5/codemirror-0.92.zip">Version 0.92</a>:</p>
2129 <ul class="rel-note">
2130 <li>Make CodeMirror work in XHTML documents.</li>
2131 <li>Fix bug in handling of backslashes in Python strings.</li>
2132 <li>The <code>styleNumbers</code> option is now officially
2133 supported and documented.</li>
2134 <li><code>onLineNumberClick</code> option added.</li>
2135 <li>More consistent names <code>onLoad</code> and
2136 <code>onCursorActivity</code> callbacks. Old names still work, but
2137 are deprecated.</li>
2138 <li>Add a <a href="contrib/freemarker/index.html">Freemarker</a> mode.</li>
2139 </ul>
2140
2141 <p class="rel">11-11-2010: <a
2142 href="https://codemirror.net/5/codemirror-0.91.zip">Version 0.91</a>:</p>
2143 <ul class="rel-note">
2144 <li>Adds support for <a href="contrib/java">Java</a>.</li>
2145 <li>Small additions to the <a href="contrib/php">PHP</a> and <a href="contrib/sql">SQL</a> parsers.</li>
2146 <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>
2147 <li>Fix <code>toTextArea</code> to update the code in the textarea.</li>
2148 <li>Add a <code>noScriptCaching</code> option (hack to ease development).</li>
2149 <li>Make sub-modes of <a href="mixedtest.html">HTML mixed</a> mode configurable.</li>
2150 </ul>
2151
2152 <p class="rel">02-10-2010: <a
2153 href="https://codemirror.net/5/codemirror-0.9.zip">Version 0.9</a>:</p>
2154 <ul class="rel-note">
2155 <li>Add support for searching backwards.</li>
2156 <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>
2157 <li>Makes <code>height: "dynamic"</code> more robust.</li>
2158 <li>Fixes bug where paste did not work on OS X.</li>
2159 <li>Add a <code>enterMode</code> and <code>electricChars</code> options to make indentation even more customizable.</li>
2160 <li>Add <code>firstLineNumber</code> option.</li>
2161 <li>Fix bad handling of <code>@media</code> rules by the CSS parser.</li>
2162 <li>Take a new, more robust approach to working around the invisible-last-line bug in WebKit.</li>
2163 </ul>
2164
2165 <p class="rel">22-07-2010: <a
2166 href="https://codemirror.net/5/codemirror-0.8.zip">Version 0.8</a>:</p>
2167 <ul class="rel-note">
2168 <li>Add a <code>cursorCoords</code> method to find the screen
2169 coordinates of the cursor.</li>
2170 <li>A number of fixes and support for more syntax in the PHP parser.</li>
2171 <li>Fix indentation problem with JSON-mode JS parser in Webkit.</li>
2172 <li>Add a <a href="compress.html">minification</a> UI.</li>
2173 <li>Support a <code>height: dynamic</code> mode, where the editor's
2174 height will adjust to the size of its content.</li>
2175 <li>Better support for IME input mode.</li>
2176 <li>Fix JavaScript parser getting confused when seeing a no-argument
2177 function call.</li>
2178 <li>Have CSS parser see the difference between selectors and other
2179 identifiers.</li>
2180 <li>Fix scrolling bug when pasting in a horizontally-scrolled
2181 editor.</li>
2182 <li>Support <code>toTextArea</code> method in instances created with
2183 <code>fromTextArea</code>.</li>
2184 <li>Work around new Opera cursor bug that causes the cursor to jump
2185 when pressing backspace at the end of a line.</li>
2186 </ul>
2187
2188 <p class="rel">27-04-2010: <a
2189 href="https://codemirror.net/5/codemirror-0.67.zip">Version
2190 0.67</a>:</p>
2191 <p class="rel-note">More consistent page-up/page-down behaviour
2192 across browsers. Fix some issues with hidden editors looping forever
2193 when line-numbers were enabled. Make PHP parser parse
2194 <code>"\\"</code> correctly. Have <code>jumpToLine</code> work on
2195 line handles, and add <code>cursorLine</code> function to fetch the
2196 line handle where the cursor currently is. Add new
2197 <code>setStylesheet</code> function to switch style-sheets in a
2198 running editor.</p>
2199
2200 <p class="rel">01-03-2010: <a
2201 href="https://codemirror.net/5/codemirror-0.66.zip">Version
2202 0.66</a>:</p>
2203 <p class="rel-note">Adds <code>removeLine</code> method to API.
2204 Introduces the <a href="contrib/plsql/index.html">PLSQL parser</a>.
2205 Marks XML errors by adding (rather than replacing) a CSS class, so
2206 that they can be disabled by modifying their style. Fixes several
2207 selection bugs, and a number of small glitches.</p>
2208
2209 <p class="rel">12-11-2009: <a
2210 href="https://codemirror.net/5/codemirror-0.65.zip">Version
2211 0.65</a>:</p>
2212 <p class="rel-note">Add support for having both line-wrapping and
2213 line-numbers turned on, make paren-highlighting style customisable
2214 (<code>markParen</code> and <code>unmarkParen</code> config
2215 options), work around a selection bug that Opera
2216 <em>re</em>introduced in version 10.</p>
2217
2218 <p class="rel">23-10-2009: <a
2219 href="https://codemirror.net/5/codemirror-0.64.zip">Version
2220 0.64</a>:</p>
2221 <p class="rel-note">Solves some issues introduced by the
2222 paste-handling changes from the previous release. Adds
2223 <code>setSpellcheck</code>, <code>setTextWrapping</code>,
2224 <code>setIndentUnit</code>, <code>setUndoDepth</code>,
2225 <code>setTabMode</code>, and <code>setLineNumbers</code> to
2226 customise a running editor. Introduces an <a
2227 href="contrib/sql/index.html">SQL</a> parser. Fixes a few small
2228 problems in the <a href="contrib/python/index.html">Python</a>
2229 parser. And, as usual, add workarounds for various newly discovered
2230 browser incompatibilities.</p>
2231
2232 <p class="rel">31-08-2009: <a href="https://codemirror.net/5/codemirror-0.63.zip">Version 0.63</a>:</p>
2233 <p class="rel-note"> Overhaul of paste-handling (less fragile), fixes for several
2234 serious IE8 issues (cursor jumping, end-of-document bugs) and a number
2235 of small problems.</p>
2236
2237 <p class="rel">30-05-2009: <a href="https://codemirror.net/5/codemirror-0.62.zip">Version 0.62</a>:</p>
2238 <p class="rel-note">Introduces <a href="contrib/python/index.html">Python</a>
2239 and <a href="contrib/lua/index.html">Lua</a> parsers. Add
2240 <code>setParser</code> (on-the-fly mode changing) and
2241 <code>clearHistory</code> methods. Make parsing passes time-based
2242 instead of lines-based (see the <code>passTime</code> option).</p>
2243
2244 </section>
2245 </article>