This repository has been archived by the owner on Jun 26, 2020. It is now read-only.
Releases: ckeditor/ckeditor5-engine
Releases · ckeditor/ckeditor5-engine
v19.0.0
Features
- Introduced the
View#hasDomSelection
property. Closes ckeditor/ckeditor5#6485. (152bdab)
Bug fixes
- Fixed a crash that was happening in some scenarios when undoing table background change. Closes ckeditor/ckeditor5#6265. (f0902fb)
- Graveyard selection fix no longer breaks the editor in case of intersecting ranges. Closes ckeditor/ckeditor5#6501. Closes ckeditor/ckeditor5#6382. (c208ce1)
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 positionroot
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
MAJOR BREAKING CHANGES
EditingController
requires an instance ofStylesProcessor
in its constructor.DataController
requires an instance ofStylesProcessor
in its constructor.DomConverter
,HtmlDataProcessor
andXmlDataProcessor
require an instance of the view document in their constructors.- The
View
class requires an instance ofStylesProcessor
as its first argument. - The
createViewElementFromHighlightDescriptor()
function that is exported bysrc/conversion/downcasthelpers.js
file requires an instance of the view document as its first argument. - Method
view.Document#addStyleProcessorRules()
has been moved to theDataController
class. - The
#document
getter was removed from model nodes. Only the root element holds the reference to the model document. For attached nodes, usenode.root.document
to access it.
MINOR BREAKING CHANGES
DataController
does not accept the data processor instance any more.
Features
- Implemented the model and view
Range#getContainedElement()
methods. Closes ckeditor/ckeditor5#6364. (8fb1efa)
Bug fixes
- Fixed renderer bug causing editor crash in a range of scenarios involving reusing DOM elements. Closes ckeditor/ckeditor5#6092. (67884da)
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
Features
- Introduced CSS style normalization for conversion. Closes ckeditor/ckeditor5#6047. (b2a8189)
- Added a
startsWith()
method toSchemaContext
. (11fa53a) - Introduced
DocumentSelection#event:change:marker
. Closes ckeditor/ckeditor5#6133. (5106014) - Introduced
Model#createOperationFromJSON()
which is an alias forOperationFactory.fromJSON()
. Closes ckeditor/ckeditor5#6094. (ebaa2cc)
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
- Allow selection on object elements. Closes ckeditor/ckeditor5#6154. (0dec72d)
- Improved
parseAttributes()
function performance. This results in improved editor data processing speed. Closes ckeditor/ckeditor5#5854. (ecaf056)
v16.0.0
v15.0.0
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. UseSelection#getSelectedBlocks()
instead. - The
Selection#getSelectedBlocks()
does not return blocks nested in other blocks now.
Features
- Added support for creating elements from other XML namespaces. See ckeditor/ckeditor5#2088. (a9190c9)
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
- Added error handling to the common code execution paths. Part of ckeditor/ckeditor5#1304. (220b52f)
- Removed the
Selection#getTopMostBlocks()
method. Closes ckeditor/ckeditor5-widget#95. Closes ckeditor/ckeditor5-table#199. (7970f17)
v14.0.0
Features
transformSets()
will now return aMap
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
- Add
unwrapElement()
method to UpcastWriter. (9e97196) - Allowed for unbinding single elements from a marker name in
Mapper
. Closes #1758. (52e701d) - The issue tracker for this package was moved to https://github.com/ckeditor/ckeditor5/issues. See ckeditor/ckeditor5#1988. (6ed94c6)
- Introduced automatic marker re-rendering during conversion for markers which view element was unbound. Closes #1780. (5661fb6)
- Position getters (such as
#parent
or#index
) will throw when position points at an incorrect place in its root. Closes #1776. (a359866)
BREAKING CHANGES
- New parameter introduced in
DowncastDispatcher#convertChanges()
. Now it isconvertChanges( 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 byMapper#unbindElementFromMarkerName( element, markerName )
.
v13.2.1
v13.2.0
Features
- Added
view.Document#event:beforeinput
. (c74c3d6) - Introduced the
type
parameter to themodel.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
v13.1.1
Bug fixes
- Prevented from losing selection attributes between operations (fixes a bug with text composition). Closes https://github.com/ckeditor/ckeditor5-typing/issues/188. (42dcb25)
Other changes
v13.1.0
Features
-
Model#insertContent()
will return a range affected by the insertion. (f4e4644)In
Model#deleteContent()
, addeddoNotAutoparagraph
flag tooptions
.
Position
andLivePosition
static creators should handlestickiness
param. -
Added possibility to refresh the marker with no changes through
Writer#updateMarker()
method. Closes #1649. (cf56d90) -
Introduced
Schema#setAttributeProperties()
andSchema#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)