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