v11.0.0
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 DOMText
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 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 theUIElement
(see ckeditor/ckeditor5-media-embed#1). (49cd795) -
Made
toJSON()
methods serialize nested objects. Closes #1477. (27ab310)Aligned
Schema#getValidRanges()
results to changes inAttributeOperation
.Unified
RemoveOperation
andReinsertOperation
to have just oneMoveOperation
.Simplified
LiveRange#event:change
second parameter which is now an object containingPosition
not anOperation
. -
Prevent rendering when in the
model.change()
ormodel.enqueueChange()
block. Closes #1528. (2ef33b1) -
Renamed view
Writer
toDowncastWriter
. Closes #1515. (5fd1ea5) -
Swapped parameters order in the
DowncastWriter#rename()
method. TheDowncastWriter#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 tosrc//view/downcastwriter
. LiveRange#event:change
second parameter is now an object containing propertydeletionPosition
. It can bemodel.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 tonull
.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()
(andAttributeOperation
) now applies attribute only to the top-level nodes in therange
(instead of all the nodes in the range).