Well, it’s finally happening, on Friday the 13th no less: ProseMirror 1.0 has been released.
In the future, the packages will no longer be versioned and released in lockstep (I’m looking into setting up some largely-automated release process so that I can quickly fire off minor releases). New features will go through the RFC process, and backwards-compatibility will be prioritized.
I couldn’t help working on a few more things right before the release. Nothing scary or breaking, but if you run into a regression, let me know and I’ll try to quickly resolve it with a patch release.
prosemirror-model 1.0.0 (2017-10-13)
ParseRule.context may now include multiple, pipe-separated context expressions.
prosemirror-transform 1.0.0 (2017-10-13)
setBlockType comes across a textblock that can’t be changed due to schema constraints, it skips it instead of failing.
canSplit now returns false when the requested split goes through isolating nodes.
prosemirror-view 1.0.0 (2017-10-13)
Dragging nodes with a node view that handles its own mouse events should work better now.
List item DOM nodes are no longer assigned
pointer-events: none in the default style. Ctrl-clicking list markers now properly selects the list item again.
Arrow-down through an empty textblock no longer causes the browser to forget the cursor’s horizontal position.
Copy-dragging on OS X is now done by holding option, rather than control, following the convention on that system.
Fixes a crash related to decoration management.
Fixes a problem where using cut on IE11 wouldn’t actually remove the selected text.
Copy/paste on Edge 15 and up now uses the clipboard API, fixing a problem that made them fail entirely.
dragging property of a view, which contains information about editor content being dragged, is now part of the public interface.
prosemirror-commands 1.0.0 (2017-10-13)
setBlockType command can now be used to change the types of multiple selected textblocks (rather than only one).
prosemirror-gapcursor 1.0.0 (2017-10-13)
Valid gap cursor positions are not determined in a way that allows them inside nested nodes. By default, any position where a textblock can be inserted is valid gap cursor position.
Nodes can override whether they allow gap cursors with the
allowGapCursor property in their spec.