NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3144 most downloaded on npm
DOM view component for the CodeMirror code editor
Last release 12 days ago
22 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
258 releases · first in 2020
One column per quarter.
The outer DOM element now has class cm-editor instead of cm-wrap (cm-wrap will be present as well until 0.19).
The outer DOM element now has class cm-editor instead of cm-wrap (cm-wrap will be present as well until 0.19).
Improve behavior of posAtCoords when the position is near text but not in any character's actual box.
Triple-clicking now selects the line break after the clicked line (if any).
Triple-clicking now selects the line break after the clicked line (if any).
Fix an issue where the drawSelection plugin would fail to draw the top line of the selection when it started in an empty line.
Fix an issue where, at the end of a specific type of composition on iOS, the editor read the DOM before the browser was done updating it.
Fix an issue where, on iOS, some types of IME would cause the composed content to be deleted when confirming a composition.
Fix an issue where, on iOS, some types of IME would cause the composed content to be deleted when confirming a composition.
The themeClass function and `-style selectors in themes are no longer supported (prefixing with cm-` should be done manually now).
The themeClass function and ``-style selectors in themes are no longer supported (prefixing with cm- should be done manually now).
Themes must now use & (instead of an extra $) to target the editor wrapper element.
The editor no longer adds cm-light or cm-dark classes. Targeting light or dark configurations in base themes should now be done by using a &light or &dark top-level selector.
Work around a Firefox bug where it won't draw the cursor when it is between uneditable elements.
Work around a Firefox bug where it won't draw the cursor when it is between uneditable elements.
Fix a bug that broke built-in mouse event handling.
Avoid interfering with touch events, to allow native selection behavior.
Avoid interfering with touch events, to allow native selection behavior.
Fix a bug that broke sub-selectors with multiple & placeholders in themes.
Fix vertical cursor motion on Safari with a larger line-height.
Fix vertical cursor motion on Safari with a larger line-height.
Fix incorrect selection drawing (with drawSelection) when the selection spans to just after a soft wrap point.
Fix an issue where compositions on Safari were inappropriately aborted in some circumstances.
The view will now redraw when the EditorView.phrases facet changes, to make sure translated text is properly updated.
Long words without spaces, when line-wrapping is enabled, are now properly broken.
Long words without spaces, when line-wrapping is enabled, are now properly broken.
Fix the horizontal position of selections drawn by drawSelection in right-to-left editors with a scrollbar.
Fix an issue where pasting linewise at the start of a line left the cursor before the inserted content.
Fix an issue where pasting linewise at the start of a line left the cursor before the inserted content.
Fix a problem where the DOM selection and the editor state could get out of sync in non-editable mode.
Fix a problem where the DOM selection and the editor state could get out of sync in non-editable mode.
Fix a crash when the editor was hidden on Safari, due to getClientRects returning an empty list.
Prevent Firefox from making the scrollable element keyboard-focusable.
Add an EditorView.announce state effect that can be used to conveniently provide screen reader announcements.
Add an EditorView.announce state effect that can be used to conveniently provide screen reader announcements.
Avoid creating very high scroll containers for large documents so that we don't overflow the DOM's fixed-precision numbers.
Avoid creating very high scroll containers for large documents so that we don't overflow the DOM's fixed-precision numbers.
Fix a bug that would create space-filling placeholders with incorrect height when document is very large.
Fix a bug that would create space-filling placeholders with incorrect height when document is very large.
The drawSelection extension will now reuse cursor DOM nodes when the number of cursors stays the same, allowing some degree of cursor transition anima
The drawSelection extension will now reuse cursor DOM nodes when the number of cursors stays the same, allowing some degree of cursor transition animation.
Makes highlighted special characters styleable (``) and fix their default look in dark themes to have appropriate contrast.
Adds a new MatchDecorator helper class which can be used to easily maintain decorations on content that matches a regular expression.
The package now also exports a CommonJS module.
The package now also exports a CommonJS module.
Work around Chrome problem where the native shift-enter behavior inserts two line breaks.
Work around Chrome problem where the native shift-enter behavior inserts two line breaks.
Make bracket closing and bracket pair removing more reliable on Android.
Fix bad cursor position and superfluous change transactions after pressing enter when in a composition on Android.
Fix issue where the wrong character was deleted when backspacing out a character before an identical copy of that character on Android.
Fix a bug that prevented ViewUpdate.focusChanged from ever being true.
Fix a bug that prevented ViewUpdate.focusChanged from ever being true.
### Breaking changes First numbered release.
First numbered release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →