New Features:
-
#835: Extended support for pasting from external applications:
- Added support for pasting rich content from Google Docs with the Paste from Google Docs plugin.
- Added a new Paste Tools plugin for unified paste handling.
- #3315: Added support for strikethrough in the BBCode plugin. Thanks to Alexander Kahl!
-
#3175: Introduced selection optimization mechanism for handling incorrect selection behaviors in various browsers:
- #3256: Triple-clicking in the last table cell and deleting content no longer pulls the content below into the table.
- #3118: Selecting a paragraph with a triple-click and applying a heading applies the heading only to the selected paragraph.
-
#3161: Double-clicking a
<span>
element containing just one word creates a correct selection including the clicked<span>
only.
- #3359: Improved dialog positioning and behavior when the dialog is resized or moved, or the browser window is resized.
-
#2227: Added the
config.linkDefaultProtocol
configuration option that allows setting the default URL protocol for the Link plugin dialog. -
#3240: Extended the
CKEDITOR.plugins.widget#mask
property to allow masking only the specified part of a widget. -
#3138: Added the possibility to use the
widgetDefinition.getClipboardHtml()
method to customize the widget HTML during copy, cut and drag operations.
Fixed Issues:
- #808: Fixed: Widgets and other content disappear on drag and drop in read-only mode.
- #3260: Fixed: Widget drag handler is visible in read-only mode.
- #3261: Fixed: A widget initialized using the dialog has an incorrect owner document.
- #3198: Fixed: Blurring and focusing the editor when a widget is focused creates an additional undo step.
-
#2859: [IE, Edge] Fixed: Various editor UI elements react to right mouse button click:
- #2845: Rich Combo.
- #2857: List Block.
- #2858: Menu.
- #3158: [Chrome, Safari] Fixed: Undo plugin breaks with the filling character.
- #504: [Edge] Fixed: The editor's selection is collapsed to the beginning of the content when focusing the editor for the first time.
-
#3101: Fixed:
CKEDITOR.dom.range#_getTableElement()
returnsnull
instead of a table element for edge cases. -
#3287: Fixed:
CKEDITOR.tools.promise
initializes incorrectly if an AMD loader is present. -
#3379: Fixed: Incorrect
CKEDITOR.editor#getData()
call when inserting content into the editor. - #941: Fixed: An error is thrown after styling a table cell text selected using the native selection when the Table Selection plugin is enabled.
- #3136: [Firefox] Fixed: Clicking Balloon Toolbar items removes the native table selection.
-
#3381: [IE8] Fixed: The
CKEDITOR.tools.object.keys()
method does not accept non-objects. - #2395: [Android] Fixed: Focused input in a dialog is scrolled out of the viewport when the soft keyboard appears.
- #453: Fixed: Link dialog has an invalid width when the editor is maximized and the browser window is resized.
- #2138: Fixed: An email address containing a question mark is mishandled by the Link plugin.
- #14613: Fixed: Race condition when loading plugins for an already destroyed editor instance throws an error.
- #2257: Fixed: The editor throws an exception when destroyed shortly after it was created.
- #3115: Fixed: Destroying the editor during the initialization throws an error.
- #3354: [iOS] Fixed: Pasting no longer works on iOS version 13.
- #3423 Fixed: Bookmarks can be created inside temporary elements.
API Changes:
-
#3154: Added the
CKEDITOR.tools.array.some()
method. -
#3245: Added the
CKEDITOR.plugins.undo.UndoManager.addFilterRule()
method that allows filtering undo snapshot contents. -
#2845: Added the
CKEDITOR.tools.normalizeMouseButton()
method. -
#2975: Added the
CKEDITOR.dom.element#fireEventHandler()
method. -
#3247: Extended the
CKEDITOR.tools.bind()
method to accept arguments for bound functions. -
#3326: Added the
CKEDITOR.dom.text#isEmpty()
method. -
#2423: Added the
CKEDITOR.plugins.dialog.getModel()
andCKEDITOR.plugins.dialog.getMode()
methods with theirCKEDITOR.plugin.definition
counterparts, allowing to get the dialog subject of a change. -
#3124: Added the
CKEDITOR.dom.element#isDetached()
method.