5.18.2 (2016-08-23)

Bugfixes

vue mode: Fix outdated references to renamed Pug mode dependency.

5.18.0 (2016-08-22)

Bugfixes

Make sure gutter backgrounds stick to the rest of the gutter during horizontal scrolling.

The contenteditable inputStyle now properly supports pasting on pre-Edge IE versions.

javascript mode: Fix some small parsing bugs and improve TypeScript support.

matchbrackets addon: Fix bug where active highlighting was left in editor when the addon was disabled.

match-highlighter addon: Only start highlighting things when the editor gains focus.

javascript-hint addon: Also complete non-enumerable properties.

New features

The addOverlay method now supports a priority option to control the order in which overlays are applied.

MIME types that end in +json now default to the JSON mode when the MIME itself is not defined.

Breaking changes

The mode formerly known as Jade was renamed to Pug.

The Python mode now defaults to Python 3 (rather than 2) syntax.

5.17.0 (2016-07-19)

Bugfixes

Fix problem with wrapped trailing whitespace displaying incorrectly.

Prevent IME dialog from overlapping typed content in Chrome.

Improve measuring of characters near a line wrap.

javascript mode: Improve support for async, allow trailing commas in import lists.

vim bindings: Fix backspace in replace mode.

sublime bindings: Fix some key bindings on OS X to match Sublime Text.

New features

markdown mode: Add more classes to image links in highlight-formatting mode.

5.16.0 (2016-06-20)

Bugfixes

Fix glitches when dragging content caused by the drop indicator receiving mouse events.

Make Control-drag work on Firefox.

Make clicking or selection-dragging at the end of a wrapped line select the right position.

show-hint addon: Prevent widget scrollbar from hiding part of the hint text.

rulers addon: Prevent rulers from forcing a horizontal editor scrollbar.

New features

search addon: Automatically bind search-related keys in persistent dialog.

sublime keymap: Add a multi-cursor aware smart backspace binding.

5.15.2 (2016-05-20)

Bugfixes

Fix a critical document corruption bug that occurs when a document is gradually grown.

5.15.0 (2016-05-20)

Bugfixes

Fix bug that caused the selection to reset when focusing the editor in contentEditable input mode.

Fix issue where not all ASCII control characters were being replaced by placeholders.

Remove the assumption that all modes have a startState method from several wrapping modes.

Fix issue where the editor would complain about overlapping collapsed ranges when there weren’t any.

Optimize document tree building when loading or pasting huge chunks of content.

markdown mode: Fix several issues in matching link targets.

clike mode: Improve indentation of C++ template declarations.

New features

Explicitly bind Ctrl-O on OS X to make that binding (“open line”) act as expected.

Pasting linewise-copied content when there is no selection now inserts the lines above the current line.

javascript mode: Support async/await and improve support for TypeScript type syntax.

5.14.2 (2016-04-20)

Bugfixes

Push a new package to NPM due to an NPM bug omitting the LICENSE file in 5.14.0.

Set dataTransfer.effectAllowed in dragstart handler to help browsers use the right drag icon.

Add the mbox mode to mode/meta.js.

5.14.0 (2016-04-20)

Bugfixes

posFromIndex and indexFromPos now take lineSeparator into account.

vim bindings: Only call .save() when it is actually available.

comment addon: Be careful not to mangle multi-line strings.

Python mode: Improve distinguishing of decorators from @ operators.

findMarks: No longer return marks that touch but don’t overlap given range.

New features

vim bindings: Add yank command.

match-highlighter addon: Add trim option to disable ignoring of whitespace.

PowerShell mode: Added.

Yacas mode: Added.

Web IDL mode: Added.

SAS mode: Added.

mbox mode: Added.

5.13.2 (2016-03-23)

Bugfixes

Solves a problem where the gutter would sometimes not extend all the way to the end of the document.

5.13.0 (2016-03-21)

New features

New DOM event forwarded: "dragleave".

protobuf mode: Newly added.

Bugfixes

Fix problem where findMarks sometimes failed to find multi-line marks.

Fix crash that showed up when atomic ranges and bidi text were combined.

show-hint addon: Completion widgets no longer close when the line indented or dedented.

merge addon: Fix bug when merging chunks at the end of the file.

placeholder addon: No longer gets confused by swapDoc.

simplescrollbars addon: Fix invalid state when deleting at end of document.

clike mode: No longer gets confused when a comment starts after an operator.

markdown mode: Now supports CommonMark-style flexible list indentation.

dylan mode: Several improvements and fixes.

5.12.0 (2016-02-19)

New features

Vim bindings: Ctrl-Q is now an alias for Ctrl-V.

Vim bindings: The Vim API now exposes an unmap method to unmap bindings.

active-line addon: This addon can now style the active line’s gutter.

FCL mode: Newly added.

SQL mode: Now has a Postgresql dialect.

Bugfixes

Fix issue where trying to scroll to a horizontal position outside of the document’s width could cause the gutter to be positioned incorrectly.

Use absolute, rather than fixed positioning in the context-menu intercept hack, to work around a problem when the editor is inside a transformed parent container.

Solve a problem where the horizontal scrollbar could hide text in Firefox.

Fix a bug that caused phantom scroll space under the text in some situations.

Sublime Text bindings: Bind delete-line to Shift-Ctrl-K on OS X.

Markdown mode: Fix issue where the mode would keep state related to fenced code blocks in an unsafe way, leading to occasional corrupted parses.

Markdown mode: Ignore backslashes in code fragments.

Markdown mode: Use whichever mode is registered as text/html to parse HTML.

Clike mode: Improve indentation of Scala => functions.

Python mode: Improve indentation of bracketed code.

HTMLMixed mode: Support multi-line opening tags for sub-languages (<script>, <style>, etc).

Spreadsheet mode: Fix bug where the mode did not advance the stream when finding a backslash.

XML mode: The mode now takes a matchClosing option to configure whether mismatched closing tags should be highlighted as errors.

5.11.0 (2016-01-20)

5.10.0 (2015-12-21)

5.9.0 (2015-11-23)

5.8.0 (2015-10-20)

5.7.0 (2015-09-21)

5.6.0 (2015-08-20)

5.5.0 (2015-07-20)

5.4.0 (2015-06-25)

5.3.0 (2015-05-20)

5.2.0 (2015-04-20)

5.1.0 (2015-03-23)

5.0.0 (2015-02-20)

4.13.0 (2015-02-20)

4.12.0 (2015-01-22)

4.11.0 (2015-01-09)

Unfortunately, 4.10 did not take care of the Firefox scrolling issue entirely. This release adds two more patches to address that.

4.10.0 (2014-12-29)

Emergency single-patch update to 4.9. Fixes Firefox-specific problem where the cursor could end up behind the horizontal scrollbar.

4.9.0 (2014-12-23)

4.8.0 (2014-11-22)

4.7.0 (2014-10-20)

4.6.0 (2014-09-19)

4.5.0 (2014-08-21)

4.4.0 (2014-07-21)

4.3.0 (2014-06-23)

4.2.0 (2014-05-19)

4.1.0 (2014-04-22)

3.24.0 (2014-04-22)

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.

3.23.0 (2014-03-20)

3.22.0 (2014-02-21)

3.21.0 (2014-01-16)

3.20.0 (2013-11-21)

3.19.0 (2013-10-21)

3.18.0 (2013-09-23)

Emergency release to fix a problem in 3.17 where .setOption("lineNumbers", false) would raise an error.

3.17.0 (2013-09-23)

3.16.0 (2013-08-21)

3.15.0 (2013-07-29)

3.14.0 (2013-06-20)

3.13.0 (2013-05-20)

3.12.0 (2013-04-19)

3.11.0 (2013-03-20)

3.02.0 (2013-01-25)

Single-bugfix release. Fixes a problem that prevents CodeMirror instances from being garbage-collected after they become unused.

3.01.0 (2013-01-21)

3.1.0 (2013-02-21)

3.0.0 (2012-12-10)

New major version. Only partially backwards-compatible. See the upgrading guide for more information. Changes since release candidate 2:

2.38.0 (2013-01-21)

Integrate some bugfixes, enhancements to the vim keymap, and new modes (D, Sass, APL) from the v3 branch.

2.37.0 (2012-12-20)

2.36.0 (2012-11-20)

2.35.0 (2012-10-22)

2.34.0 (2012-09-19)

2.33.0 (2012-08-23)

2.32.0 (2012-07-23)

Emergency fix for a bug where an editor with line wrapping on IE will break when there is no scrollbar.

2.31.0 (2012-07-20)

2.30.0 (2012-06-22)

2.25.0 (2012-05-23)

2.24.0 (2012-04-23)

2.23.0 (2012-03-26)

2.22.0 (2012-02-27)

2.21.0 (2012-01-27)

2.20.0 (2011-12-20)

2.18.0 (2011-11-21)

Fixes TextMarker.clear, which is broken in 2.17.

2.17.0 (2011-11-21)

2.16.0 (2011-10-27)

2.15.0 (2011-09-26)

Fix bug that snuck into 2.14: Clicking the character that currently has the cursor didn’t re-focus the editor.

2.14.0 (2011-09-26)

2.13.0 (2011-08-23)

2.12.0 (2011-07-25)

2.11.0 (2011-07-04)

2.10.0 (2011-06-07)

Add a theme system (demo). Note that this is not backwards-compatible—you’ll have to update your styles and modes!

2.2.0 (2011-06-07)

2.1.0 (2011-05-26)

2.0.0 (2011-03-28)

CodeMirror 2 is a complete rewrite that’s faster, smaller, simpler to use, and less dependent on browser quirks. See this and this for more information.