All Versions
139
Latest Version
Avg Release Cycle
8 days
Latest Release
1394 days ago

Changelog History
Page 9

  • v0.19.0 Changes

    March 03, 2017
    BREAKING

    The filterDescendants and findDescendants methods are now depth-first. This shouldn't affect almost anyone, since they are usually not the best things to be using for performance reasons. If you happen to have a very specific use case that needs breadth-first, (or even likely something better), you'll need to implement it yourself.

    ๐Ÿ—„ ###### DEPRECATED

    ๐Ÿ—„ Some Node methods have been deprecated! There were a few methods that had been added over time that were either poorly named that have been deprecated and renamed, and a handful of methods that are no longer useful for the core library that have been deprecated. Here's a full list:

    • areDescendantSorted -> areDescendantsSorted
    • getHighestChild -> getFurthestAncestor
    • getHighestOnlyChildParent -> getFurthestOnlyChildAncestor
    • concatChildren
    • decorateTexts
    • filterDescendantsDeep
    • findDescendantDeep
    • getChildrenBetween
    • getChildrenBetweenIncluding
    • isInlineSplitAtRange

  • v0.18.0 Changes

    March 02, 2017
    BREAKING

    ๐Ÿ”Œ The plugin.render property is now called plugin.renderPortal. This is to make way for the new plugin.render property that offers HOC-like behavior, so that plugins can augment the editor however they choose.


  • v0.17.0 Changes

    February 27, 2017

    ๐Ÿ—„ ###### DEPRECATED

    ๐Ÿ—„ Some Selection methods have been deprecated! Previously there were many inconsistencies in the naming and handling of selection changes. This has all been cleaned up, but in the process some methods have been deprecated. Here is a full list of the deprecated methods and their new alternatives:

    • ๐Ÿšš moveToOffsets -> moveOffsetsTo
    • ๐Ÿšš moveForward -> move
    • ๐Ÿšš moveBackward -> move
    • ๐Ÿšš moveAnchorOffset -> moveAnchor
    • ๐Ÿšš moveFocusOffset -> moveFocus
    • ๐Ÿšš moveStartOffset -> moveStart
    • ๐Ÿšš moveEndOffset -> moveEnd
    • extendForward -> extend
    • extendBackward -> extend
    • unset -> deselect

    ๐Ÿ—„ Some selection transforms have been deprecated! Along with the methods, the selection-based transforms have also been refactored, resulting in deprecations. Here is a full list of the deprecated transforms and their new alternatives:

    • ๐Ÿšš moveTo -> select
    • ๐Ÿšš moveToOffsets -> moveOffsetsTo
    • ๐Ÿšš moveForward -> move
    • ๐Ÿšš moveBackward -> move
    • ๐Ÿšš moveStartOffset -> moveStart
    • ๐Ÿšš moveEndOffset -> moveEnd
    • extendForward -> extend
    • extendBackward -> extend
    • flipSelection -> flip
    • unsetSelection -> deselect
    • unsetMarks

  • v0.16.0 Changes

    December 02, 2016
    BREAKING

    Inline nodes are now always surrounded by text nodes. Previously this behavior only occured for inline nodes with isVoid: true. Now, all inline nodes will always be surrounded by text nodes. If text nodes don't exist, empty ones will be created. This allows for more consistent behavior across Slate, and parity with other editing experiences.


  • v0.15.0 Changes

    November 17, 2016
    BREAKING

    The unique key generated values have changed. Previously, Slate generated unique keys that looked like '9dk3'. But they were not very conflict-resistant. Now the keys are simple string of auto-incrementing numbers, like '0', '1', '2'. This makes more clear that keys are simply a convenient way to uniquely reference nodes in the short-term lifespan of a single in-memory instance of Slate. They are not designed to be used for long-term uniqueness. A new setKeyGenerator function has been exported that allows you to pass in your own key generating mechanism if you want to ensure uniqueness.

    0๏ธโƒฃ The Raw serializer doesn't preserve keys by default. Previously, the Raw serializer would omit keys when passed the terse: true option, but preserve them without it. Now it will always omit keys, unless you pass the new preserveKeys: true option. This better reflects that keys are temporary, in-memory IDs.

    โšก๏ธ Operations on the document now update the selection when needed. This won't affect you unless you were doing some very specific things with transforms and updating selections. Overall, this makes it much easier to write transforms, since in most cases, the underlying operations will update the selection as you would expect without you doing anything.

    ๐Ÿ—„ ###### DEPRECATED

    Node accessor methods no longer accept being passed another node! Previously, node accessor methods like node.getParent could be passed either a key string or a node object. For performance reasons, passing in a node object is being deprecated. So if you have any calls that look like: node.getParent(descendant), they will now need to be written as node.getParent(descendant.key). They will throw a warning for now, and will throw an error in a later version of Slate.


  • v0.14.0 Changes

    September 10, 2016
    BREAKING

    The undo and redo transforms need to be applied! Previously, undo and redo were special cased such that they did not require an .apply() call, and instead would return a new State directly. Now this is no longer the case, and they are just like every other transform.

    Transforms are no longer exposed on State or Node. The transforms API has been completely refactored to be built up of "operations" for collaborative editing support. As part of this refactor, the transforms are now only available via the state.transform() API, and aren't exposed on the State or Node objects as they were before.

    Transform objects are now mutable. Previously Transform was an Immutable.js Record, but now it is a simple constructor. This is because transforms are inherently mutating their representation of a state, but this decision is up for discussion.

    The selection can now be "unset". Previously, a selection could never be in an "unset" state where the anchorKey or focusKey was null. This is no longer technically true, although this shouldn't really affect anyone in practice.


  • v0.13.9

    November 10, 2019
  • v0.13.8

    August 27, 2019
  • v0.13.7

    August 22, 2019
  • v0.13.4

    June 07, 2019