Release 0.16.0

ProseMirror 0.16.0 is out. This one has been mostly about stabilizing and cleaning up the way the editor now handles DOM reading and updating. At this point, I’m pretty confident that the changes in 0.14.0 and 0.15.0 were a good idea—that a more hands-off, precise DOM management approach, at the cost of maintaining another data structure to describe that DOM, works well.

Release notes

prosemirror-state 0.16.0 (2016-12-23)

New features

Plugins now take a view option that can be used to interact with the editor view.

prosemirror-view 0.16.0 (2016-12-23)

Breaking changes

The spellcheck, label, and class props are now replaced by an attributes prop.

Bug fixes

Ignoring/aborting an action should no longer lead to the DOM being stuck in an outdated state.

Typing at the end of a textblock which ends in a non-text node now actually works.

DOM nodes for leaf document nodes are now set as non-editable to prevent various issues such as stray cursors inside of them and Firefox adding image resize controls.

Inserting a node no longer causes nodes of the same type after it to be neednessly redrawn.

New features

Add a new editor prop editable which controls whether the editor’s contentEditable behavior is enabled.

Plugins and props can now set any DOM attribute on the outer editor node using the attributes prop.

Node view constructors and update methods now have access to the node’s wrapping decorations, which can be used to pass information to a node view without encoding it in the document.

Attributes added or removed by node and inline decorations no longer cause the nodes inside of them to be fully redrawn, making node views more stable and allowing CSS transitions to be used.

2 Likes

YAY! This also fixes silly safari 9.0 bug.

Guessing “attributes prop” link above should link to: http://prosemirror.net/version/2016.12.23.html#view.EditorProps.attributes ?

Thanks, yes, it should.