Release 5.25.0

Today is CodeMirror’s 10th birthday, counting from the very first commit. To celebrate the occasion (and also because it’s the 20th of the month and that’s when I release anyway) I just published 5.25.0. You can see the new patches on github or get the zip from the website.

This is what happened:

Bug fixes

In contentEditable-mode, properly locate changes that repeat a character when inserted with IME.

Fix handling of selections bigger than the viewport in contentEditable mode.

Improve handling of changes that insert or delete lines in contentEditable mode.

Count Unicode control characters 0x80 to 0x9F as special (non-printing) chars.

Fix handling of shadow DOM roots when finding the active element.

Add role=presentation to more DOM elements to improve screen reader support.

merge addon: Make aligning of unchanged chunks more robust.

comment addon: Fix comment-toggling on a block of text that starts and ends in a (differnet) block comment.

javascript mode: Improve support for TypeScript syntax.

r mode: Fix indentation after semicolon-less statements.

shell mode: Properly handle escaped parentheses in parenthesized expressions.

markdown mode: Fix a few bugs around leaving fenced code blocks.

soy mode: Improve indentation.

New features

lint addon: Support asynchronous linters that return promises.

continuelist addon: Support continuing task lists.

vim bindings: Make Y behave like yy.

sql mode: Support sqlite dialect.