DomConverter#domToView() will not throw when converting a comment. Closes #647. (ffc41d4)ViewConverterBuilder#fromAttribute() should not create incorrect matcher object for Matcher if passed attribute was other than class or style. Closes #919. (6701c4b)Minor upgrades to ViewConversionBuilder:
ViewConversionBuilder will not convert if "creator function" returned null.ViewConversionBuilder#toAttribute() value param optional. If not set, the attribute value is taken from converted view element.view.Element's inline styles parser. Big property values (like base64 encoded images) should not crash the editor anymore. Closes #881. (3d494a3)dev-utils.DeltaReplayer. Closes #906. (69cfdd1)data.output during view-to-model conversion. See breaking changes. Closes #932. (16ae05a)model.MarkerCollection will now include marker name after semicolon. Closes #911. (3a8ebed)model.Element#clone() now does not clone children when passed false and recursively clones children when passed true. Closes #689. (ccb0659)ViewConversionDispatcher#convert() will always return model.DocumentFragment (which may be empty in various cases). conversionApi#convertItem() will log a warning if data.output contains a different value than model.Node or model.DocumentFragment or null. conversionApi#convertChildren() will always return model.DocumentFragment.model.Element#clone() does not clone children when not in the deep mode. See #689.DataController#insertContent() behavior, so it doesn't clone given nodes. Closes #869. (45f0f33)AttributeDelta should not be added to batch. Closes #875. (425399b)LiveRange position would be lost when using wrap and unwrap deltas. Closes #841. (efe3987)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.
<br> at the end of the block element are filtered out by the mutation observer. Closes #882. (3583cae)ReinsertOperation targets back to same graveyard holder from which the nodes were re-inserted. Closes #891. (ea6c881)DataController#insertContent() now accepts also model items. Closes #870. (d00c973)dev-utils.DeltaReplayer. Introduced new logging methods in dev-utils.enableEngineDebug(). Closes #828. (eb855d9)DataController#deleteContent() in a case of nested elements to better match situations like using Backspace after a block quotation. Closes #710. (42a4429)SelectionObserver's infinite loop check which should improve its stability. Closes #889. (8b859fb)BuildModelConverter#fromMarkerCollapsed() is removed. Use BuildModelConverter#fromMarker() instead.insertUIElement() model to view converter now supports collapsed and non-collapsed ranges.view.Matcher#getElementName() now returns proper value when named function is used as a pattern. Closes #850. (93f41c5)model.Range no longer sticks to its neighbour node when that node is moved. Closes #852. (ccd23d1)remove() converter no longer removes view.UIElements that are next to removed nodes. Closes #854. (c054ded)dev-utils/model#setData() should work with custom roots. Closes #815. (0ad3074)null from the element creators in converters for selection attributes and markers. It does not crash the conversion anymore. Closes #833. (8ffa038)Schema#limits with DataController's methods. Closes #818. (e3c3e33)is() method in model and view tree nodes and document fragments. Closes #809. (1525bde)model.Selection#getSelectedBlocks(). Closes #811. (9f3f35f)Schema#limits map. See #818. (a66bcdd)view.Document#selectionChangeDone event. Closes #791. (3a15236)view.Range#getEnlarged(), view.Range#getTrimmed(), view.Position#getLastMatchingPosition(), model.Position#getLastMatchingPosition(), view.TreeWalker#skip(), model.TreeWalker#skip(). Closes #789. (973f2ba)view.UIElement class and view.writer.clear() method. Closes #788. (64be1f6)view.UIElement. Closes #792. (1731e69)ModelConversionDispatcher now uses remove + insert events to convert move and rename changes, instead of dedicated move and rename events. Closes #837. (f63657c)view.Range.enlarge() and view.Range.shrink() should not pass the container limit because the view.Writer expects that the whole range is in the same container. Closes #830. (8d4a1ca)ModelConversionDispatcher no longer fires move and rename events. This means that feature converters added as callbacks to those should be replaced by remove and insert converters.view.DocumentFragment#getAncestors(). Closes #803. Closes #805.Position.getAncestors() should return elements in the same order as Node.getAncestors().Range#getTrimmed() or Range#getEnlarged() before operating on a range returned from Mapper.