#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
- #3359: Improved dialog positioning and behavior when the dialog is resized or moved, or the browser window is resized.
#2227: Added the
config.linkDefaultProtocolconfiguration option that allows setting the default URL protocol for the Link plugin dialog.
#3240: Extended the
CKEDITOR.plugins.widget#maskproperty 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.
- #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.
nullinstead of a table element for edge cases.
CKEDITOR.tools.promiseinitializes 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.
#3154: Added the
#3245: Added the
CKEDITOR.plugins.undo.UndoManager.addFilterRule()method that allows filtering undo snapshot contents.
#2845: Added the
#2975: Added the
#3247: Extended the
CKEDITOR.tools.bind()method to accept arguments for bound functions.
#3326: Added the
#2423: Added the
CKEDITOR.plugins.dialog.getMode()methods with their
CKEDITOR.plugin.definitioncounterparts, allowing to get the dialog subject of a change.
#3124: Added the