NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2590 most downloaded on npm
ProseMirror's view component
Last release 24 days ago
24 Aug 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
307 releases · first in 2016
Fix an issue where posAtCoords could incorrectly return positions outside of a table when querying a coordinate inside it.
Fix an issue where posAtCoords could incorrectly return positions outside of a table when querying a coordinate inside it.
Update the type of the getPos callback to include undefined in its return type. Update broken link (ViewProps -> EditorProps) Also detect iOS enter when the new block type is a less common node
Fix an issue where Enter on iOS would sometimes not be handled by the library.
Fix a bug that caused posAtCoords to always return the position after a leaf node when querying a position on top of the node's element.
Fix a bug that caused posAtCoords to always return the position after a leaf node when querying a position on top of the node's element.
Fix an issue where, when putting focus on the editor by clicking at the very start of the document, the editor would restore a previous selection.
One column per quarter.
EditorView now has pasteHTML and pasteText methods which initiate paste handling.
EditorView now has pasteHTML and pasteText methods which initiate paste handling.
Make sure enter key handlers are called on Chrome Android when the cursor is in a position where the native behavior of Enter doesn't change the docum
Make sure enter key handlers are called on Chrome Android when the cursor is in a position where the native behavior of Enter doesn't change the document.
Fix a crash that could occur when starting a composition at the end of a non-inclusive mark.
Fix a bug in (vertical) endOfTextblock that caused it to return falsely positive results inside textblocks that had a separate contentDOM.
Fix a problem when returning decorations from an outer editor from the decorations prop.
Fix a problem when returning decorations from an outer editor from the decorations prop.
Fix an issue where HTML comments added to the clipboard by the OS throw off the clipboard parser.
Fix an issue where HTML comments added to the clipboard by the OS throw off the clipboard parser.
Make sure Chrome Android's native behavior on pressing Enter in an empty nested list item is replaced by the result of the editor's Enter key handler.
The transformPastedHTML, transformPastedText, transformPasted, transformCopied, and clipboardTextSerializer props are now passed the view instance as last argument.
Work around the five-year-old Safari bug where it won't accurately report the selection inside shadow roots, which would break ProseMirror when put in
Work around the five-year-old Safari bug where it won't accurately report the selection inside shadow roots, which would break ProseMirror when put in shadow DOM.
Avoid a crash in selection updates in a hidden editor on Safari.
Avoid a crash in selection updates in a hidden editor on Safari.
Fix an issue where the editor would reset its scroll position to the top of the document for any state reconfiguration, even if the document was uncha
Fix an issue where the editor would reset its scroll position to the top of the document for any state reconfiguration, even if the document was unchanged.
Fix an issue where the editor wouldn't realize it was focused on IE when IE's resize controls are on an element inside the content.
Fix an issue where the editor wouldn't realize it was focused on IE when IE's resize controls are on an element inside the content.
The new transformCopied prop can be used to transform a copied/cut slice before it is serialized to the clipboard.
Fix an issue where DecorationSet.map, given a mapping with multiple steps, could in some cases corrupt the decorations.
Fix an issue where DecorationSet.map, given a mapping with multiple steps, could in some cases corrupt the decorations.
Stop calling handleClick when the mouse moved but failed to fire mousemove events (for example when dragging a scrollbar).
Fix a bug in DecorationSet.map that could cause invalid mapping when step maps contain multiple replaced ranges.
Fix a bug in DecorationSet.map that could cause invalid mapping when step maps contain multiple replaced ranges.
Make sure that when the editor receives focus via tab or calling .focus() on its DOM element, the existing selection is restored.
Avoid collapsing of whitespace in Firefox when the editor doesn't have white-space set to pre-wrap.
Fix a bug that in some situations caused composition to be disrupted on Chrome due to a workaround for another browser issue activating inappropriatel
Fix a bug that in some situations caused composition to be disrupted on Chrome due to a workaround for another browser issue activating inappropriately.
EditorProps now takes an optional type parameter that indicates the type of this in prop functions.
Fix an issue where a composition happening at the same time as widget insertion/removal could corrupt the rendered DOM.
Fix an issue where a composition happening at the same time as widget insertion/removal could corrupt the rendered DOM.
Fix a problem where coordsAtPos would look inside the DOM for atomic nodes, and sometimes return very odd positions that way.
Avoid spurious type errors on handleDOMEvents by widening the type for unknown event objects.
Avoid spurious type errors on handleDOMEvents by widening the type for unknown event objects.
Work around a Safari bug where mutation records get delivered even though the observer wasn't observing when the mutations happened.
Work around a Safari bug where mutation records get delivered even though the observer wasn't observing when the mutations happened.
Mark prosemirror.css as having side effects in package.json.
Mark prosemirror.css as having side effects in package.json.
Fix incorrect types for handleDrop and decorations. Document open properties on widget specs
Fix incorrect types for handleDrop and decorations. Document open properties on widget specs
Export the NodeViewConstructor and MarkViewConstructor types. Include Node/MarkViewConstructor in doc template
Export the NodeViewConstructor and MarkViewConstructor types. Include Node/MarkViewConstructor in doc template
Mark views can now be specified with a separate editor prop, markViews, to make it easier to get the types right.
Mark views can now be specified with a separate editor prop, markViews, to make it easier to get the types right.
Fix a regression that caused the key handler to crash.
Fix a regression that caused the key handler to crash.
Fix an issue where bogus table wrappers could be added when copy-pasting table content nodes within an editor.
Fix an issue where bogus table wrappers could be added when copy-pasting table content nodes within an editor.
Fix a crash that could occur when two textblocks were joined in the editor DOM.
Treat ctrl-b/f/p/n on macOS similar to arrow key presses, anticipating cursor motion.
Include TypeScript type declarations.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Work around a hidden cursor issue in Chrome when a textblock ends in an uneditable node wrapped in a mark.
Work around a hidden cursor issue in Chrome when a textblock ends in an uneditable node wrapped in a mark.
Fix an issue where enter on Chrome Android could, in textblock nodes rendered with an inner content element, delete the text after the cursor.
Fix an issue where enter on Chrome Android could, in textblock nodes rendered with an inner content element, delete the text after the cursor.
Fix an issue where a node view with a separate content wrapper node could sometimes lose its content on Chrome when backspacing out content due to une
Fix an issue where a node view with a separate content wrapper node could sometimes lose its content on Chrome when backspacing out content due to unexpected DOM element recreation.
Fix a crash in DecorationSet.map that could occur with some kinds of lift transformations.
Fix a crash in DecorationSet.map that could occur with some kinds of lift transformations.
Make sure screen readers don't read the nodes added as kludge for cursor behavior.
Make sure screen readers don't read the <img> nodes added as kludge for cursor behavior.
Fix an issue where the editor needlessly interrupted composition with IME systems that keep the cursor at the start of the composition, such as some P
Fix an issue where the editor needlessly interrupted composition with IME systems that keep the cursor at the start of the composition, such as some Pinyin input methods.
Fix a crash when a view was being destroyed during input reading.
Fix a crash when a view was being destroyed during input reading.
Fix a crash on Firefox when replacing text in some specific types of document structure.
Fix an issue that could cause pieces of DOM to not be synchronized with the document after some kind of changes around marks.
Fix an issue that could cause pieces of DOM to not be synchronized with the document after some kind of changes around marks.
Fix a bug where marks rendered with nested elements would in some situations suppress new input.
Disable Chrome-specific drag-selection workaround in non-Chrome browsers because it affected table cell selection in Safari.
Use the whitespace node prop where appropriate.
Use the whitespace node prop where appropriate.
Improve the way the editor handles the mess of events produced when pressing Enter before a word that was just typed on Chrome + GBoard.
Improve the way the editor handles the mess of events produced when pressing Enter before a word that was just typed on Chrome + GBoard.
Fix an issue where compositions right before another instance of the composed text could cause the editor to crash.
Fix an issue where, if decorations changed during a pointer drag selection, the selection anchor might move around inappropriately.
The clipboard parser will no longer drop trailing nodes that appear in an inline parent element.
The clipboard parser will no longer drop trailing <br> nodes that appear in an inline parent element.
Avoid some unnecessary node redraws when marks are present in sibling nodes.
Avoid some unnecessary node redraws when marks are present in sibling nodes.
Restore accidentally reduced lookahead distance in view updating algorithm.
Restore accidentally reduced lookahead distance in view updating algorithm.
When parsing clipboard content, ignore trailing BR nodes that look like they might be there as a contenteditable kludge.
When parsing clipboard content, ignore trailing BR nodes that look like they might be there as a contenteditable kludge.
EditorView now exposes an isDestroyed property that can be used to test if the view has been destroyed.
Fix an issue where some types of node decoration changes could cause an unnecessary cascade of node redraws.
Fix an issue where some types of node decoration changes could cause an unnecessary cascade of node redraws.
Widget decorations now accept a destroy option, which will be called when the widget is removed from the view.
Fix issue where recent Mobile Safari versions weren't treated as Mac platforms.
Fix issue where recent Mobile Safari versions weren't treated as Mac platforms.
Multiple style properties provided through the attributes prop are now merged. Adjust mac detection for recent changes to navigator.platform on iOS
Stop removing leading/trailing whitespace from pasted plain text.
Stop removing leading/trailing whitespace from pasted plain text.
Fix an issue that could cause invalid content to be produced when pasting HTML with isolating nodes in it.
Fix a crash when pasting whitespace-only content as text.
Fix a crash when pasting whitespace-only content as text.
The library accidentally allowed node decorations on text nodes. It no longer does.
The library accidentally allowed node decorations on text nodes. It no longer does.
Fix an issue on Chrome and Safari where coordinates for positions between uneditable nodes and the end of a textblock would return zero-height rectangles.
Fix a bug where vertical endOfTextblock queries could inappropriately return true when a small line height is used.
It is now possible to pass plugins directly to the view with the plugins direct prop.
It is now possible to pass plugins directly to the view with the plugins direct prop.
Fix an issue where generic styles for elements could cause separator nodes created by the editor to impact layout.
Fix an issue where generic styles for elements could cause separator nodes created by the editor to impact layout.
Fix an issue where moving to another tab and back could clear a node selection.
Avoid some bugs around drag-selecting by delaying synchronization between the DOM and the state selection until the end of the drag.
Avoid some bugs around drag-selecting by delaying synchronization between the DOM and the state selection until the end of the drag.
Fix another issue around copy-pasting table structure, causing inappropriate opening of copied cell selections.
Fix another issue around copy-pasting table structure, causing inappropriate opening of copied cell selections.
Add a DOM attribute to the content element to avoid automatic translation services from messing with the editable text.
Add a DOM attribute to the content element to avoid automatic translation services from messing with the editable text.
Fix a bug where copy-pasting table content sometimes carried along superfluous table markup.
Fix issue where end-of-textblock detection didn't use the correct selection when in a shadow root.
The DecorationSource interface now exposes a map method. Add a translate=no attribute to the editor element by default
Work around an issue where Chrome and Safari will replace some spaces with non-breaking spaces when putting HTML on the clipboard.
Work around an issue where Chrome and Safari will replace some spaces with non-breaking spaces when putting HTML on the clipboard.
When pasting as plain text (shift-mod-v) apply the marks at the selection to the inserted content.
Fix flaky behavior when starting a composition with a selection that spans multiple blocks.
Fix an issue where dragging from just outside a draggable node on Chrome would cause odd dragging behavior.
Fix an issue where dragging from just outside a draggable node on Chrome would cause odd dragging behavior.
Fix a bug in the previous release where handleClickOn wasn't fired anymore for clicks with the middle or right mouse button.
Fix a bug in the previous release where handleClickOn wasn't fired anymore for clicks with the middle or right mouse button.
Work around a Safari bug where it draws the cursor at the start of the line when it is after an uneditable node at the end of the line.
Work around a Safari bug where it draws the cursor at the start of the line when it is after an uneditable node at the end of the line.
Fix an issue where the DOM could get out of sync when editing decorated text.
Work around an issue where Firefox draws the cursor on the wrong line when after a newline.
Fix a bug where double-clicking with the left mouse button and then pressing another mouse button was treated as a triple click.
Fix a bug where clicking on a textblock that had a node-selected parent didn't set a cursor selection.
Fix a bug where clicking on a textblock that had a node-selected parent didn't set a cursor selection.
Fix a bug that caused a workaround for a Chrome Android issue to not work correctly, leading to bad cursor placement after some types of text input.
Fix a crash in mouse click handling introduced in the previous version.
Fix a crash in mouse click handling introduced in the previous version.
Work around a Firefox bug where backspace sometimes deletes the node after the cursor.
Work around a Firefox bug where backspace sometimes deletes the node after the cursor.
Fix a bug that prevented transformPasted hooks from being called on content dragged within the editor.
Fixes an issue where clicking near a node or other special selection on Chrome would in some cases do nothing.
Fix incorrect drag cursor in Chrome on some platforms.
Fix incorrect drag cursor in Chrome on some platforms.
Fix an issue where a race condition could leave a node uneditable when clicked.
Fix scroll handling when the editor is placed through a DOM component slot.
Fix a typo in the Chrome backspace workaround.
Fixes an issue where, when mouseup events weren't being delivered, the editor could leak event handlers.
Fix an issue where, when pressing enter or space at the start of a composition, the cursor would jump to the end of the composition on Chrome Android.
Fix an issue where, when pressing enter or space at the start of a composition, the cursor would jump to the end of the composition on Chrome Android.
Fix an issue that would cause Enter presses to be dropped on Android when in a node whose DOM representation nested more than one element.
Fix a bug where pasting specific types of HTML could cause a crash.
Properly handle CSS class name strings with extra spaces in decorations.
Properly handle CSS class name strings with extra spaces in decorations.
Fix a performance bug when updating nodes with thousands of children.
Fix the scrolling-into-view logic in the case where a scale transformation is applied to the editor. Strip carriage return chars from text pasted as c
Fix the scrolling-into-view logic in the case where a scale transformation is applied to the editor. Strip carriage return chars from text pasted as code
Remove carriage return characters when pasting text into code blocks.
Your coding agent can read these notes before it upgrades. Set up the MCP server →