Skip to content
This repository has been archived by the owner on Jun 26, 2020. It is now read-only.

v11.0.0

Compare
Choose a tag to compare
@Reinmar Reinmar released this 09 Oct 10:20
· 1322 commits to master since this release

Bug fixes

  • Range transformation by the split operation will expand it if insertionPosition is equal to the range end. Modified transformations to align with that change. Closes ckeditor/ckeditor5#1278. (e0e961f)

  • Schema#checkAttributeInSelection() will include selection's attributes in the context of the check. Closes #1546. (8fa632c)

  • startsWithFiller should correctly work with DOM Text nodes that are inside of an iframe. (16b0280)

    Huge thanks to Dmitri Pisarev for this contribution!

  • Marked reused element attributes to be rendered if the element being replaced was also marked. Closes #1560. Closes #1561. (6619a1f)

  • Remove clone groups in view.DowncastWriter manually. Closes #1571. (420166a)

  • Use numbers instead of booleans in Array.sort(). (00fbf7f)

Other changes

  • Removed the concept of deltas. Added new operations (replacing removed deltas). Rewritten OT algorithms. Simple. 10k LOC added, 12.5k LOC removed. Closes #1162. (a5cf8b1)

  • Added logging for new operations. Closes #1491. (5c0a34d)

  • Added new OT tests, reached 100% code coverage again, fixed multiple OT scenarios, removed unreachable code. Closes #1474. (6c2151a)

  • Allowed using Mapper outside the conversion scope. Closes #1415. (6de6a00)

    Huge thanks to Mate Bartus for this contribution!

  • Always update attributes of reused elements while rendering. Closes #1560. (9b95a8a)

  • Changed long name returned by Operation.className property to a short one. Closes #1513. (7765953)

  • Made the view's stringify() dev util output the content of the UIElement (see ckeditor/ckeditor5-media-embed#1). (49cd795)

  • Made toJSON() methods serialize nested objects. Closes #1477. (27ab310)

    Aligned Schema#getValidRanges() results to changes in AttributeOperation.

    Unified RemoveOperation and ReinsertOperation to have just one MoveOperation.

    Simplified LiveRange#event:change second parameter which is now an object containing Position not an Operation.

  • Prevent rendering when in the model.change() or model.enqueueChange() block. Closes #1528. (2ef33b1)

  • Renamed view Writer to DowncastWriter. Closes #1515. (5fd1ea5)

  • Swapped parameters order in the DowncastWriter#rename() method. The DowncastWriter#remove() method now accepts range or item. Closes #1521. (d289b74)

  • The model.insertContent() accepts range and position. Closes ckeditor/ckeditor5#1243. (bcdaaa9)

  • View post-fixer should be called once while rendering model changes. Closes #1564. (2f5af98)

BREAKING CHANGES

  • View post-fixers are now called only a single once when rendering model changes.
  • Swapped parameters order in the DowncastWriter#rename() method. See #1521.
  • The src/view/writer module was renamed to src//view/downcastwriter.
  • LiveRange#event:change second parameter is now an object containing property deletionPosition. It can be model.Position instance, if the range was moved to the graveyard root. The position is equal to the position from which nodes were removed. Otherwise, it is set to null.
  • Schema#getValidRanges() will now return only flat ranges. If an attribute is allowed on some nodes and in those nodes children, multiple "nested" ranges will be returned.
  • Schema#getValidRanges() is now a generator.
  • The concept of deltas (sets of operations) was removed from the engine. They were replaced by opertations matching the types of removed deltas.
  • model.Writer#setAttribute() (and AttributeOperation) now applies attribute only to the top-level nodes in the range (instead of all the nodes in the range).