#9764: Widget System.
- Widget plugin introducing the Widget API.
- New editor.enterMode and editor.shiftEnterMode properties – normalized versions of config.enterMode andconfig.shiftEnterMode.
- Dynamic editor settings. Starting from CKEditor 4.3 Beta, Enter mode values and content filter instances may be changed dynamically (for example when the caret was placed in an element in which editor features should be adjusted). When you are implementing a new editor feature, you should base its behavior on dynamic or static Enter mode values depending on whether this feature works in selection context or globally on editor content.
- Dynamic Enter mode values – editor.setActiveEnterMode method, editor.activeEnterModeChange event, and two properties: editor.activeEnterMode and editor.activeShiftEnterMode.
- Dynamic content filter instances – editor.setActiveFilter method, editor.activeFilterChange event, andeditor.activeFilter property.
- "Fake" selection was introduced. It makes it possible to virtually select any element when the real selection remains hidden. See the selection.fake method.
- Default htmlParser.filter rules are not applied to non-editable elements (elements with contenteditable attribute set to false and their descendants) anymore. To add a rule which will be applied to all elements you need to pass an additional argument to the filter.addRules method.
- Dozens of new methods were introduced – most interesting ones:
- #10659: New Enhanced Image plugin that introduces a widget with integrated image captions, an option to center images, and dynamic "click and drag" resizing.
- #10664: New Mathematical Formulas plugin that introduces the MathJax widget.
- #7987: New Language plugin that implements Language toolbar button to support WCAG 3.1.2 Language of Parts.
- #10708: New smileys.
- #10689: Save toolbar button saves only the first editor instance.
#10368: Move language reading direction definition (
dir) from main language file to core.
- #9330: Fixed pasting anchors from MS Word.
- #8103: Fixed pasting nested lists from MS Word.
#9958: [IE9] Pressing the "OK" button will trigger the
onbeforeunloadevent in the popup dialog.
- #10662: Fixed styles from the Styles drop-down list not registering to the ACF in case when the Shared Spaces plugin is used.
- #9654: Problems with Internet Explorer 10 Quirks Mode.
- #9816: Floating toolbar does not reposition vertically in several cases.
- #10646: Removing a selected sublist or nested table with Backspace/Delete removes the parent element.
- #10623: [WebKit] Page is scrolled when opening a drop-down list.
- #10004: [ChromeVox] Button names are not announced.
- #10731: WebSpellChecker plugin breaks cloning of editor configuration.
- It is now possible to set per instance WebSpellChecker plugin configuration instead of setting the configuration globally.
- Dropped compatibility support for Internet Explorer 7 and Firefox 3.6.
- Both the Basic and the Standard distribution packages will not contain the new Indent Block plugin. Because of this the Advanced Content Filter might remove block indentations from existing contents. If you want to prevent this, either add an appropriate ACF rule to your filter or create a custom build based on the Basic/Standard package and add the Indent Block plugin in CKBuilder.
- #10027: Separated list and block indentation into two plugins: Indent List and Indent Block.
- #8244: Use (Shift+)Tab to indent and outdent lists.
- #10281: The jQuery Adapter is now available. Several jQuery-related issues fixed: #8261, #9077, #8710, #8530, #9019, #6181, #7876, #6906.
config.titlesetting to change the human-readable title of the editor.
- #9923: HiDPI support in the editor UI. HiDPI icons for Moono skin added.
<textarea>elements — introduced
#10280: Ability to replace
<textarea>elements with the inline editor.
- Added new translation: Indonesian.
- #10644: Fixed a critical bug when pasting plain text in Blink-based browsers.
- #5189: Find/Replace dialog window: rename "Cancel" button to "Close".
- #10562: [Housekeeping] Unified CSS gradient filter formats in the Moono skin.
#10537: Advanced Content Filter should register a default rule for
CKEDITOR.dialog.addIframe()incorrectly sets the iframe size in dialog windows.
- Added new translation: Sinhala.
- #10339: Fixed: Error thrown when inserted data was totally stripped out after filtering and processing.
- #10298: Fixed: Data processor breaks attributes containing protected parts.
editable.insertText()loses characters when
RegExpreplace controls are being inserted.
#10165: [IE] Access denied error when
document.domainhas been altered.
#9761: Update the Backspace key state in
#6504: Fixed: Race condition while loading several
#10146: [Firefox] Empty lines are being removed while
#10360: Fixed: ARIA
role="application"should not be used for dialog windows.
#10361: Fixed: ARIA
role="application"should not be used for floating panels.
- #10510: Introduced unique voice labels to differentiate between different editor instances.
- #9945: [iOS] Scrolling not possible on iPad.
- #10389: Fixed: Invalid HTML in the "Text and Table" template.
- WebSpellChecker plugin user interface was changed to match CKEditor 4 style.