New Features:

  • #1751: Introduced the Autocomplete feature that consists of the following plugins:
    • Autocomplete – Provides contextual completion feature for custom text matches based on user input.
    • Text Watcher – Checks whether an editor's text change matches the chosen criteria.
    • Text Match – Allows to search CKEDITOR.dom.range for matching text.
  • #1703: Introduced the Mentions plugin providing smart completion feature for custom text matches based on user input starting with a chosen marker character.
  • #1746: Introduced the Emoji plugin providing completion feature for emoji ideograms.
  • #1761: The Auto Link plugin now supports email links.

Fixed Issues:

  • #1458: [Edge] Fixed: After blurring the editor it takes 2 clicks to focus a widget.
  • #1034: Fixed: JAWS leaves forms mode after pressing the Enter key in an inline editor instance.
  • #1748: Fixed: Missing CKEDITOR.dialog.definition.onHide API documentation. Thanks to sunnyone!
  • #1321: Ideographic space character (\u3000) is lost when pasting text.
  • #1776: Empty caption placeholder of the Image Base plugin is not hidden when blurred.
  • #1592: The Image Base plugin caption is not visible after paste.
  • #620: Fixed: The config.forcePasteAsPlainText option is not respected in internal and cross-editor pasting.
  • #1467: Fixed: The resizing cursor of the Table Resize plugin appearing in the middle of a merged cell.

API Changes:

Other Changes:

  • Updated SCAYT (Spell Check As You Type) and WebSpellChecker (WSC) plugins:
    • Language dictionary update: Added support for the Uzbek Latin language.
    • Languages no longer supported as additional languages: Manx - Isle of Man (gv_GB) and Interlingua (ia_XR).
    • Extended and improved language dictionaries: Georgian and Swedish. Also added the missing word "Ensure" to the American, British and Canada English language.
    • #141 Fixed: SCAYT throws "Uncaught Error: Error in RangyWrappedRange module: createRange(): Parameter must be a Window object or DOM node".
    • #153 [Chrome] Fixed: Correcting a word in the widget in SCAYT moves focus to another editable.
    • #155 [IE8] Fixed: SCAYT throws an error and does not work.
    • #156 [IE10] Fixed: SCAYT does not seem to work.
    • Fixed: After some text is dragged and dropped, the markup is not refreshed for grammar problems in SCAYT.
    • Fixed: Request to FastCGI fails when the user tries to replace a word with non-English characters with a proper suggestion in WSC.
    • [Firefox] Fixed: Ctrl+Z removes focus in SCAYT.
    • Grammar support for default languages was improved.
    • New application source URL was added in SCAYT.
    • Removed green marks and legend related to grammar-supported languages in the Languages tab of SCAYT. Grammar is now supported for almost all the anguages in the list for an additional fee.
    • Fixed: JavaScript error in the console: "Cannot read property 'split' of undefined" in SCAYT and WSC.
    • [IE10] Fixed: Markup is not set for a specific case in SCAYT.
    • Fixed: Accessibility issue: No alt attribute for the logo image in the About tab of SCAYT.

Security Updates:

  • Fixed XSS vulnerability in the Enhanced Image (image2) plugin reported by Kyaw Min Thein.

    Issue summary: It was possible to execute XSS inside CKEditor using the <img> tag and specially crafted HTML. Please note that the default presets (Basic/Standard/Full) do not include this plugin, so you are only at risk if you made a custom build and enabled this plugin.

Fixed Issues:

New Features:

  • #932: Introduced Easy Image feature for inserting images that are automatically rescaled, optimized, responsive and delivered through a blazing-fast CDN. Three new plugins were added to support it:
  • #1338: Keystroke labels are displayed for function keys (like F7, F8).
  • #643: The File Browser plugin can now upload files using XHR requests. This allows for setting custom HTTP headers using the config.fileTools_requestHeaders configuration option.
  • #1365: The File Browser plugin uses XHR requests by default.
  • #1399: Added the possibility to set CKEDITOR.config.startupFocus as start or end to specify where the editor focus should be after the initialization.
  • #1441: The Magic Line plugin line element can now be identified by the data-cke-magic-line="1" attribute.

Fixed Issues:

  • #595: Fixed: Pasting does not work on mobile devices.
  • #869: Fixed: Empty selection clears cached clipboard data in the editor.
  • #1419: Fixed: The Widget Selection plugin selects the editor content with the Alt+A key combination on Windows.
  • #1274: Fixed: Balloon Toolbar does not match a single selected image using the contextDefinition.cssSelectormatcher.
  • #1232: Fixed: Balloon Toolbar buttons should be registered as focusable elements.
  • #1342: Fixed: Balloon Toolbar should be re-positioned after the change event.
  • #1426: [IE8-9] Fixed: Missing Balloon Toolbar background in the Kama skin. Thanks to Christian Elmer!
  • #1470: Fixed: Balloon Toolbar is not visible after drag and drop of a widget it is attached to.
  • #1048: Fixed: Balloon Panel is not positioned properly when a margin is added to its non-static parent.
  • #889: Fixed: Unclear error message for width and height fields in the Image and Enhanced Image plugins.
  • #859: Fixed: Cannot edit a link after a double-click on the text in the link.
  • #1013: Fixed: Paste from Word does not work correctly with the config.forcePasteAsPlainText option.
  • #1356: Fixed: Border parse function does not allow spaces in the color value.
  • #1010: Fixed: The CSS border shorthand property was incorrectly expanded ignoring the border-color style.
  • #1535: Fixed: Widget mouseover border contrast is insufficient.
  • #1516: Fixed: Fake selection allows removing content in read-only mode using the Backspace and Delete keys.
  • #1570: Fixed: Fake selection allows cutting content in read-only mode using the Ctrl/Cmd + X keys.
  • #1363: Fixed: Paste notification is unclear and it might confuse users.

API Changes:

Other Changes:

  • Updated SCAYT (Spell Check As You Type) and WebSpellChecker plugins:
    • SCAYT scayt_minWordLength configuration option now defaults to 3 instead of 4.
    • SCAYT default number of suggested words in the context menu changed to 3.
    • #90: Fixed: Selection is lost on link creation if SCAYT highlights the word.
    • Fixed: SCAYT crashes when the browser localStorage is disabled.
    • [IE11] Fixed: Unable to get property type of undefined or null reference error in the browser console when SCAYT is disabled/enabled.
    • #46: Fixed: Editing is blocked when remote spell checker server is offline.
    • Fixed: User Dictionary cannot be created in WSC due to You already have the dictionary error.
    • Fixed: Words with apostrophe ' on the replacement make the WSC dialog inaccessible.
    • Fixed: SCAYT/WSC causes the Uncaught TypeError error in the browser console.
  • #1337: Updated the samples layout with the new CKEditor 4 logo and color scheme.
  • #1591: CKBuilder and language tools are now downloaded over HTTPS. Thanks to August Detlefsen!

New Features:

Fixed Issues:

  • #554: Fixed: change event not fired when typing the first character after pasting into the editor. Thanks to Daniel Miller!
  • #566: Fixed: The CSS border shorthand property with zero width (border: 0px solid #000;) causes the table to have the border attribute set to 1.
  • #779: Fixed: The Remove Format plugin removes elements with language definition inserted by the Languageplugin.
  • #423: Fixed: The Paste from Word plugin pastes paragraphs into the editor even if CKEDITOR.config.enterModeis set to CKEDITOR.ENTER_BR.
  • #719: Fixed: Image inserted using the Enhanced Image plugin can be resized when the editor is in read-only mode.
  • #577: Fixed: The "Delete Columns" command provided by the Table Tools plugin throws an error when trying to delete columns.
  • #867: Fixed: Typing into a selected table throws an error.
  • #817: Fixed: The Save plugin does not work in Source Mode.

Other Changes:

New Features:

Fixed Issues:

  • #663: [Chrome] Fixed: Clicking the scrollbar throws an Uncaught TypeError: element.is is not a functionerror.
  • #520: Fixed: Widgets cannot be properly pasted into a table cell.
  • #579: Fixed: Internal cke_table-faked-selection-table class is visible in the Stylesheet Classes field of the Table Properties dialog.
  • #545: [Edge] Fixed: Error thrown when pressing the Select All button in Source Mode.
  • #582: Fixed: Double slash in the path to stylesheet needed by the Table Selection plugin. Thanks to Marius Dumitru Florea!
  • #491: Fixed: Unnecessary dependency on the Editor Toolbar plugin inside the Notification plugin.
  • #646: Fixed: Error thrown into the browser console after opening the Styles Combo plugin menu in the editor without any selection.
  • #501: Fixed: Double click does not open the dialog for modifying anchors inserted via the Link plugin.
  • #9780: [IE8-9] Fixed: Clicking inside an empty read-only editor throws an error.
  • #16820: [IE10] Fixed: Clicking below a single horizontal rule throws an error.
  • #426: Fixed: The range.cloneContents method selects the whole element when the selection starts at the beginning of that element.
  • #644: Fixed: The range.extractContents method returns an incorrect result when multiple nodes are selected.
  • #684: Fixed: The elementPath.contains method incorrectly excludes the last element instead of root when the fromTop parameter is set to true.

Other Changes:

New Features:

Fixed Issues:

New Features:

Fixed Issues:

  • #11064: [Blink, WebKit] Fixed: Cannot select all editor content when a widget or a non-editable element is the first or last element of the content. Also fixes this issue in the Select All plugin.
  • #14755: [Blink, WebKit, IE8] Fixed: Browser hangs when a table is inserted in the place of a selected list with an empty last item.
  • #16624: Fixed: Improved the Color Button plugin which will now normalize the CSS background property if it only contains a color value. This fixes missing background colors when using Paste from Word.
  • #16600: [Blink, WebKit] Fixed: Error thrown occasionally by an uninitialized editable for multiple CKEditor instances on the same page.

New Features:

Fixed Issues:

Other Changes:

  • Updated SCAYT (Spell Check As You Type) and WebSpellChecker plugins:
    • Support for the new default Moono-Lisa skin.
    • #121: Fixed: Basic Styles do not work when SCAYT is enabled.
    • #125: Fixed: Inline styles are not continued when writing multiple lines of styled text with SCAYT enabled.
    • #127: Fixed: Uncaught TypeError after enabling SCAYT in the CKEditor <div> element.
    • #128: Fixed: Error thrown after enabling SCAYT caused by conflicts with RequireJS.

Security Updates:

  • [Severity: minor] Fixed the target="_blank" vulnerability reported by James Gaskell.

    Issue summary: If a victim had access to a spoofed version of ckeditor.com via HTTP (e.g. due to DNS spoofing, using a hacked public network or mailicious hotspot), then when using a link to the ckeditor.com website it was possible for the attacker to change the current URL of the opening page, even if the opening page was protected with SSL.

    An upgrade is recommended.

New Features:

Fixed Issues:

  • #13362: [Blink, WebKit] Fixed: Active widget element is not cached when it is losing focus and it is inside an editable element.
  • #13755: [Edge] Fixed: Pasting images does not work.
  • #13548: [IE] Fixed: Clicking the elements path disables Cut and Copy icons.
  • #13812: Fixed: When aborting file upload the placeholder for image is left.
  • #14659: [Blink] Fixed: Content scrolled to the top after closing the dialog in a <div>-based editor.
  • #14825: [Edge] Fixed: Focusing the editor causes unwanted scrolling due to dropped support for the setActivemethod.

 

Twitter Facebook Facebook Instagram Medium Linkedin GitHub Arrow down Phone Menu Close icon Check