CKEditor 4 Changelog
====================
## CKEditor 4.16.1
Fixed Issues:
* [#4617](https://github.com/ckeditor/ckeditor4/issues/4617):
Fixed: [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) is not accessible in inline editors.
* [#4493](https://github.com/ckeditor/ckeditor4/issues/4493): Fixed:
The [drop-down](https://ckeditor.com/cke4/addon/richcombo) label does not reflect the current value of the drop-down.
* [#1572](https://github.com/ckeditor/ckeditor4/issues/1572): Fixed: A paragraph before or after
a [widget](https://ckeditor.com/cke4/addon/widget) cannot be removed. Thanks
to [bunglegrind](https://github.com/bunglegrind)!
* [#4301](https://github.com/ckeditor/ckeditor4/issues/4301): Fixed: Pasted content is overwritten when pasted in an
initially empty editor with the [`div` Enter mode](https://ckeditor.com/docs/ckeditor4/latest/features/enterkey.html).
* [#4351](https://github.com/ckeditor/ckeditor4/issues/4351): Fixed: Incorrect values for RGBA/HSLA colors
in [Color Dialog](https://ckeditor.com/cke4/addon/colordialog).
* [#4509](https://github.com/ckeditor/ckeditor4/issues/4509): Fixed: Incorrect handling of drag & drop
inside [widgets](https://ckeditor.com/cke4/addon/widget) and nested editables.
* [#4611](https://github.com/ckeditor/ckeditor4/issues/4611): [Android, iOS] Fixed: Incorrect hover styles for buttons
in the toolbar on mobile devices.
* [#4652](https://github.com/ckeditor/ckeditor4/issues/4652):
Fixed: [Event data](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_eventInfo.html) set to `false` is treated
as an event cancelation.
## CKEditor 4.16
**Security Updates:**
* Fixed ReDoS vulnerability in the [Autolink](https://ckeditor.com/cke4/addon/autolink) plugin.
Issue summary: It was possible to execute a ReDoS-type attack inside CKEditor 4 by persuading a victim to paste a
specially crafted URL-like text into the editor and press Enter or Space.
* Fixed ReDoS vulnerability in the [Advanced Tab for Dialogs](https://ckeditor.com/cke4/addon/dialogadvtab) plugin.
Issue summary: It was possible to execute a ReDoS-type attack inside CKEditor 4 by persuading a victim to paste a
specially crafted text into the Styles dialog.
**An upgrade is highly recommended!**
New Features:
* [#2800](https://github.com/ckeditor/ckeditor4/issues/2800): Unsupported image formats are now gracefully handled by
the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin on paste, additionally showing descriptive
error messages.
* [#2800](https://github.com/ckeditor/ckeditor4/issues/2800): Unsupported image formats are now gracefully handled by
the [Paste from LibreOffice](https://ckeditor.com/cke4/addon/pastefromlibreoffice) plugin on paste, additionally
showing descriptive error messages.
* [#3582](https://github.com/ckeditor/ckeditor4/issues/3582): Introduced smart positioning of
the [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) panel used by
the [Mentions](https://ckeditor.com/cke4/addon/mentions) and [Emoji](https://ckeditor.com/cke4/addon/emoji) plugins.
The panel will now be additionally positioned related to the browser viewport to be always fully visible.
* [#4388](https://github.com/ckeditor/ckeditor4/issues/4388): Added the option to remove an iframe created with
the [IFrame Dialog](https://ckeditor.com/cke4/addon/iframe) plugin from the sequential keyboard navigation using
the `tabindex` attribute. Thanks to [Timo Kirkkala](https://github.com/kirkkala)!
Fixed Issues:
* [#1134](https://github.com/ckeditor/ckeditor4/issues/1134): [Safari]
Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) does not embed images.
* [#2800](https://github.com/ckeditor/ckeditor4/issues/2800): Fixed: No images are imported from Microsoft Word when the
content is pasted via the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin if there is at least
one image of unsupported format.
* [#4379](https://github.com/ckeditor/ckeditor4/issues/4379): [Edge] Fixed: Incorrect detection of
the [high contrast mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_a11y.html#high-contrast-mode).
* [#4422](https://github.com/ckeditor/ckeditor4/issues/4422): Fixed: Missing space between the button name and the
keyboard shortcut inside the button label in
the [high contrast mode](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_a11y.html#high-contrast-mode).
* [#2208](https://github.com/ckeditor/ckeditor4/issues/2208): [IE] Fixed:
The [Autolink](https://ckeditor.com/cke4/addon/autolink) plugin duplicates the native browser implementation.
* [#1824](https://github.com/ckeditor/ckeditor4/issues/1824): Fixed:
The [Autolink](https://ckeditor.com/cke4/addon/autolink) plugin should require
the [Link](https://ckeditor.com/cke4/addon/link) plugin.
* [#4253](https://github.com/ckeditor/ckeditor4/issues/4253): Fixed:
The [Editor Placeholder](https://ckeditor.com/cke4/addon/editorplaceholder) plugin throws an error during the editor
initialization
with [`config.fullPage`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-fullPage) enabled
when there is no `
` tag in the editor content.
* [#4372](https://github.com/ckeditor/ckeditor4/issues/4372): Fixed:
The [Autogrow](https://ckeditor.com/cke4/addon/autogrow) plugin changes the editor's width when used with an
absolute [`config.width`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-width) value.
API Changes:
* [#4358](https://github.com/ckeditor/ckeditor4/issues/4358): Introduced
the [`CKEDITOR.tools.color`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_tools_color.html) class which
adds colors validation and methods for converting colors between various formats: named colors, HEX, RGB, RGBA, HSL
and HSLA.
* [#3782](https://github.com/ckeditor/ckeditor4/issues/3782): Moved
the [`CKEDITOR.plugins.pastetools.filters.word.images`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_pastetools_filters_word_images.html)
filters to
the [`CKEDITOR.plugins.pastetools.filters.image`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_pastetools_filters_image.html)
namespace.
* [#4297](https://github.com/ckeditor/ckeditor4/issues/4297):
All [`CKEDITOR.plugins.pastetools.filters`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_plugins_pastetools_filters.html)
are now available under
the [`CKEDITOR.pasteTools`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#property-pasteTools) alias.
* [#4394](https://github.com/ckeditor/ckeditor4/issues/4394):
Introduced [`CKEDITOR.ajax`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ajax.html) specialized loading
methods for loading
binary ([`CKEDITOR.ajax.loadBinary()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ajax.html#method-loadBinary))
and
text ([`CKEDITOR.ajax.loadText()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_ajax.html#method-loadText))
data.
Other Changes:
* The [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) (WSC) plugin is now disabled by default
in [Standard and Full presets](https://ckeditor.com/cke4/presets). It can be enabled
via [`extraPlugins`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-extraPlugins)
configuration option.
## CKEditor 4.15.1
**Security Updates:**
* Fixed XSS vulnerability in
the [Color History feature](https://ckeditor.com/docs/ckeditor4/latest/features/colorbutton.html#color-history)
reported by [Mark Wade](https://github.com/mark-wade).
Issue summary: It was possible to execute an XSS-type attack inside CKEditor 4 by persuading a victim to paste a
specially crafted HTML code into the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) dialog.
**An upgrade is highly recommended!**
Fixed Issues:
* [#4293](https://github.com/ckeditor/ckeditor4/issues/4293): Fixed:
The [`CKEDITOR.inlineAll()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-inlineAll) method
tries to initialize inline editor also on elements with an editor already attached to them.
* [#3961](https://github.com/ckeditor/ckeditor4/issues/3961): Fixed:
The [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin prevents editing of merged cells.
* [#3649](https://github.com/ckeditor/ckeditor4/issues/3649): Fixed: Applying
a [block format](https://ckeditor.com/docs/ckeditor4/latest/features/format.html) should remove existing block styles.
* [#4282](https://github.com/ckeditor/ckeditor4/issues/4282): Fixed:
The [script loader](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_scriptLoader.html) does not execute
callback for scripts already loaded when called for the second time. Thanks
to [Alexander Korotkevich](https://github.com/aldoom)!
* [#4273](https://github.com/ckeditor/ckeditor4/issues/4273): Fixed: A memory leak in
the [`CKEDITOR.domReady()`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR.html#method-domReady) method
connected with not removing `load` event listeners. Thanks to [rohit1](https://github.com/rohit1)!
* [#1330](https://github.com/ckeditor/ckeditor4/issues/1330): Fixed: Incomplete CSS margin parsing if an `auto` or `0`
value is used.
* [#4286](https://github.com/ckeditor/ckeditor4/issues/4286): Fixed:
The [Auto Grow](https://ckeditor.com/cke4/addon/autogrow) plugin causes the editor width to be set to `0` on editor
resize.
* [#848](https://github.com/ckeditor/ckeditor4/issues/848): Fixed: Arabic text not being "bound" correctly when pasting.
Thanks to [Thomas Hunkapiller](https://github.com/devoidfury)
and [J. Ivan Duarte Rodríguez](https://github.com/jidrone-mbm)!
API Changes:
* [#3649](https://github.com/ckeditor/ckeditor4/issues/3649): Added a
new [`stylesRemove`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_editor.html#event-stylesRemove) editor
event.
Other Changes:
* [#4262](https://github.com/ckeditor/ckeditor4/issues/4262): Removed the global reference to the `stylesLoaded`
variable. Thanks to [Levi Carter](https://github.com/swiftMessenger)!
* Updated the [Export to PDF](https://ckeditor.com/cke4/addon/exportpdf) plugin to `1.0.1` version:
* Improved external CSS support
for [classic editor](https://ckeditor.com/docs/ckeditor4/latest/examples/classic.html) by handling exceptions and
displaying
convenient [error messages](https://ckeditor.com/docs/ckeditor4/latest/guide/dev_errors.html#exportpdf-stylesheets-incaccessible)
.
## CKEditor 4.15
New features:
* [#3940](https://github.com/ckeditor/ckeditor4/issues/3940): Introduced the `colorName` property for customizing
foreground and background styles in the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) plugin via
the [`config.colorButton_foreStyle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-colorButton_foreStyle)
and [`config.colorButton_backStyle`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-colorButton_backStyle)
configuration options.
* [#3793](https://github.com/ckeditor/ckeditor4/issues/3793): Introduced
the [Editor Placeholder](https://ckeditor.com/cke4/addon/editorplaceholder) plugin.
* [#1795](https://github.com/ckeditor/ckeditor4/issues/1795): The colors picked from
the [Color Dialog](https://ckeditor.com/cke4/addon/colordialog) are now stored in
the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) palette and can be reused easily.
* [#3783](https://github.com/ckeditor/ckeditor4/issues/3783): The colors used in the document are now displayed as a
part of the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) palette.
Fixed Issues:
* [#4060](https://github.com/ckeditor/ckeditor4/issues/4060): Fixed: The content inside
a [widget](https://ckeditor.com/cke4/addon/widget) nested editable is escaped twice.
* [#4183](https://github.com/ckeditor/ckeditor4/issues/4183): [Safari] Fixed: Incorrect image dimensions when using
the [Easy Image](https://ckeditor.com/cke4/addon/easyimage) plugin alongside
the [IFrame Editing Area](https://ckeditor.com/cke4/addon/wysiwygarea) plugin.
* [#3693](https://github.com/ckeditor/ckeditor4/issues/3693): Fixed: Incorrect default values for
several [Color Button](https://ckeditor.com/cke4/addon/colorbutton) configuration variables in the API documentation.
* [#3795](https://github.com/ckeditor/ckeditor4/issues/3795): Fixed: Setting
the [`config.dataIndentationChars`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-dataIndentationChars)
configuration option to an empty string is ignored and replaced by a tab (`\t`) character. Thanks
to [Thomas Grinderslev](https://github.com/Znegl)!
* [#4107](https://github.com/ckeditor/ckeditor4/issues/4107): Fixed:
Multiple [Autocomplete](https://ckeditor.com/cke4/addon/autocomplete) instances cause keyboard navigation issues.
* [#4041](https://github.com/ckeditor/ckeditor4/issues/4041): Fixed:
The[`selection.scrollIntoView`](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_dom_selection.html#method-scrollIntoView)
method throws an error when the editor selection is not set.
* [#3361](https://github.com/ckeditor/ckeditor4/issues/3361): Fixed: Loading
multiple [custom editor configurations](https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html#cfg-customConfig)
is prone to a race condition between these.
* [#4007](https://github.com/ckeditor/ckeditor4/issues/4007): Fixed: Screen readers do not announce
the [Rich Combo](https://ckeditor.com/cke4/addon/richcombo) plugin is collapsed or expanded.
* [#4141](https://github.com/ckeditor/ckeditor4/issues/4141): Fixed: The styles are incorrectly applied when there is
a `