v0.9.0
Bug fixes
-
Changed
DataController#insertContent()
behavior, so it doesn't clone given nodes. Closes #869. (45f0f33) -
Empty
AttributeDelta
should not be added to batch. Closes #875. (425399b) -
Fixed a bug where
LiveRange
position would be lost when using wrap and unwrap deltas. Closes #841. (efe3987) -
Fixed various issues with the move and unwrap deltas conversion. Closes #847. (39c34a5)
-
Live ranges, selections and markers no longer lose content when using the move delta. Closes #877. (e08b019)
The base algorithm implemented in
Range#_getTransformedByDocumentChange()
will now include all model items between the old and new range boundary. See https://github.com/ckeditor/ckeditor5-engine/issues/877#issuecomment-287740021 for more details. -
Mutations inserting bogus
<br>
at the end of the block element are filtered out by the mutation observer. Closes #882. (3583cae) -
Renderer should not change the native selection if the one it's about to render is visually similar to the current one. Closes #887. Closes #880. (d8ee5fa)
-
Renderer will unbind DOM elements from view elements when removing them from DOM. Closes #888. (86ea5b5)
-
Reversed
ReinsertOperation
targets back to same graveyard holder from which the nodes were re-inserted. Closes #891. (ea6c881) -
View document is now re-rendered after focusing. Closes #795. (115a91b)
-
Renderer will deeply unbind DOM elements when they are removed from DOM. Closes #888. (0aec182)
Features
DataController#insertContent()
now accepts also model items. Closes #870. (d00c973)- Added placeholder utility that can be applied to view elements. Closes #857. (79b42da)
- Introduced
dev-utils.DeltaReplayer
. Introduced new logging methods indev-utils.enableEngineDebug()
. Closes #828. (eb855d9) - Introduced markers serialization. Closes #787. Closes #846. (2e7f75d)
Other changes
- Changed the behavior of
DataController#deleteContent()
in a case of nested elements to better match situations like using Backspace after a block quotation. Closes #710. (42a4429) - Default conversion.Mapper position mapping algorithms are now added as callbacks with low priority and are fired only if earlier callbacks did not provide a result. Closes #884. (5627993)
- Simplified
SelectionObserver
's infinite loop check which should improve its stability. Closes #889. (8b859fb)
BREAKING CHANGES
- Since the default position mapping algorithms are attached with low priority, custom position mapping callbacks added with higher priority won't receive position calculated by default algorithms in data. To execute default position mapping algorithms and use their value, hook custom callback with lower priority.
BuildModelConverter#fromMarkerCollapsed()
is removed. UseBuildModelConverter#fromMarker()
instead.
NOTE
- The
insertUIElement()
model to view converter now supports collapsed and non-collapsed ranges.