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

Releases: ckeditor/ckeditor5-engine

v19.0.0

29 Apr 11:26
Compare
Choose a tag to compare

Features

Bug fixes

Other changes

  • Improved performance of Position getters (~60% gain). Reduced time of some common tasks (like loading complex content) by up to 30%. Closes ckeditor/ckeditor5#6579. (670cd7b)
  • Improved performance of TreeWalker by up to 40%. This optimization affects common tasks such as loading the editor data. Closes ckeditor/ckeditor5#6582. (08e8294)
  • Improved the performance of the Position constructor by optimizing the code path where an element is passed as the position root parameter. Closes ckeditor/ckeditor5#6528. (bfc6c88)
  • Inlined parent is() calls in model and view classes to improve the editor performance. Closes ckeditor/ckeditor5#6529. (ff04509)

v18.0.0

19 Mar 13:53
Compare
Choose a tag to compare

MAJOR BREAKING CHANGES

  • EditingController requires an instance of StylesProcessor in its constructor.
  • DataController requires an instance of StylesProcessor in its constructor.
  • DomConverter, HtmlDataProcessor and XmlDataProcessor require an instance of the view document in their constructors.
  • The View class requires an instance of StylesProcessor as its first argument.
  • The createViewElementFromHighlightDescriptor() function that is exported by src/conversion/downcasthelpers.js file requires an instance of the view document as its first argument.
  • Method view.Document#addStyleProcessorRules() has been moved to the DataController class.
  • The #document getter was removed from model nodes. Only the root element holds the reference to the model document. For attached nodes, use node.root.document to access it.

MINOR BREAKING CHANGES

  • DataController does not accept the data processor instance any more.

Features

Bug fixes

Other changes

  • DataController will now use a single instance of the view document for all its operations (DataController#viewDocument). Closes ckeditor/ckeditor5#6381. (851bac6)
  • Document#version is no longer read-only. (968b193)
  • StylesProcessor rules will not be stored in a singleton, which made them shared between editor instances. In order to allow binding a styles processor instance to a specific view document, we had to replace a dynamic #document property in view nodes with a static one, set upon node creation. Closes ckeditor/ckeditor5#6091. (0e2f02e)
  • Introduced support for multi-range selections. Closes ckeditor/ckeditor5#6116. (ffce577)

v17.0.0

20 Feb 12:22
Compare
Choose a tag to compare

Features

Bug fixes

  • Changes irrelevant to the view (e.g. inside UIElements) will no longer force a view render nor will they trigger mutation event on the document. Closes ckeditor/ckeditor5#5600. (b7e2bfe)
  • DOM selection change will not be converted if the selection was placed outside of the editable element. Closes ckeditor/ckeditor5#4199. (1c3749e)

Other changes

v16.0.0

04 Dec 10:42
Compare
Choose a tag to compare

Other changes

  • Split debug tools between the engine files. You do not need to add debug plugin to the editor if you want to use --debug engine building flag anymore. Closes ckeditor/ckeditor5#5649. (353f091)

v15.0.0

23 Oct 09:20
Compare
Choose a tag to compare

MAJOR BREAKING CHANGES

  • The behavior of block filler detection on DOM to view conversion was changed. Now, it specifically checks the parent of a text node to check whether it is a block. Which means that a list of block element names has to be used. If you use custom elements or use one of the HTML elements which CKEditor 5 does not recognize as a block element, see #404 and DomConverter.blockElements documentation.
  • The Selection#getTopMostBlocks() was removed from the public API. Use Selection#getSelectedBlocks() instead.
  • The Selection#getSelectedBlocks() does not return blocks nested in other blocks now.

Features

Bug fixes

  • Added a proper check for name-only view matcher in attribute upcast converters. Closes #1786. (2210696)
  • Improved filtering out disallowed attributes on child elements. #1789. (c5033b6)
  • Improved performance when working with fake selections. Closes #1791. (f073ad5)
  • Placeholder should not be visible in the read-only mode. Closes ckeditor/ckeditor5#1987. (730c417)
  • Remove only real block fillers on DOM to view conversion. Closes #404. (6d2810b)
  • The renderer should not update DOM selection when document has active composition. Closes #1782. Closes ckeditor/ckeditor5#1333. (c698683)

Other changes

v14.0.0

26 Aug 09:52
Compare
Choose a tag to compare

Features

  • transformSets() will now return a Map instance linking transformed operations to the original operations. (61da3ec)
  • Brought support for RTL content in the bindTwoStepCaretToAttribute() helper. See ckeditor/ckeditor5#1151. (d57ff5a)
  • Introduced model.Differ#refreshItem(). (7dc8710)
  • Introduced the is() method to additional objects from the model and view realms. Closes #1667. (89dbe43)

Bug fixes

  • Fixed problem with handling very large text nodes. (a7ae813)
  • Prevented Differ crashing in some scenarios involving attribute changes on elements. Closes #1764. (482e55e)

Other changes

BREAKING CHANGES

  • New parameter introduced in DowncastDispatcher#convertChanges(). Now it is convertChanges( differ, markers, writer ).
  • Although it was rather impossible to use DowncastDispatcher without specifying any conversion API in the constructor, now it is a required parameter.
  • The bindTwoStepCaretToAttribute() helper arguments syntax has changed (replaced by an object). Please refer to the helper documentation to learn more.
  • Mapper#unbindElementsFromMarkerName( markerName ) was replaced by Mapper#unbindElementFromMarkerName( element, markerName ).

v13.2.1

10 Jul 14:31
Compare
Choose a tag to compare

Internal changes only (updated dependencies, documentation, etc.).

v13.2.0

04 Jul 09:28
Compare
Choose a tag to compare

Features

  • Added view.Document#event:beforeinput. (c74c3d6)
  • Introduced the type parameter to the model.createBatch() method. (389b72e)

Bug fixes

  • model.Writer#insert() will no longer crash when the data to set contains markers that are already in the editor content. Closes #1721. (4ff0656)
  • Selection will not change during forbidden copy-paste operation inside table cell. Closes ckeditor/ckeditor5#1380. (ab15b17)

Other changes

  • Changed how  s are generated on the view->DOM rendering. Closes #1747. (da5670a)

v13.1.1

05 Jun 09:04
Compare
Choose a tag to compare

Bug fixes

Other changes

  • Added more cases of affected markers on merging in model.Writer. Closes #1738. (01ff6e6)

v13.1.0

10 Apr 09:36
Compare
Choose a tag to compare

Features

  • Model#insertContent() will return a range affected by the insertion. (f4e4644)

    In Model#deleteContent(), added doNotAutoparagraph flag to options.
    Position and LivePosition static creators should handle stickiness param.

  • Added possibility to refresh the marker with no changes through Writer#updateMarker() method. Closes #1649. (cf56d90)

  • Introduced Schema#setAttributeProperties() and Schema#getAttributeProperties() methods. Closes ckeditor/ckeditor5#1659. (1c6f83a)

  • Introduced UpcastConversionApi#getSplitParts(). Also, provided a way to set upcast conversion helper fired for every view element. Closes ckeditor/ckeditor5#1580. Closes ckeditor/ckeditor5#1581. (d0ee3f4)

Bug fixes

  • view.DowncastWriter will now correctly wrap and unwrap nested attribute elements. Closes #1716. Closes ckeditor/ckeditor5-font#30. (4126359)
  • Attribute and remove change on intersecting ranges done in the same change block will be correctly saved in Differ and downcasted. Closes ckeditor/ckeditor5#1645. (b2a9d86)
  • Editor will no longer crash during undo in some pasting+remove scenarios. Closes #1701. (ca619e7)
  • Made sure that Schema#getAttributeProperties() always returns an object. Closes #1717. (b3f5da3)
  • Markers should be now correctly upcasted inside any element. Closes #1697. (3706324)
  • Model#deleteContent() will not throw anymore if the passed selection is in the graveyard root. Closes #1706. (bd875c7)
  • The editor will not throw an error when updating an empty fake selection container. Closes #1714. (c48f5a4)