From 317f8f8f0651488f226b5280a8f036c7c135c639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Mon, 4 Dec 2017 17:54:04 +0100 Subject: Add oembed --- release/CHANGES.md | 295 ++++- release/LICENSE.md | 4 +- release/README.md | 2 +- release/adapters/jquery.js | 2 +- release/ckeditor.js | 1373 +++++++++++--------- release/config.js | 2 +- release/contents.css | 75 +- release/lang/en.js | 8 +- release/lang/fr.js | 8 +- release/plugins/Audio/dialogs/audio.js | 9 + release/plugins/Audio/docs/install.html | 69 + release/plugins/Audio/docs/styles.css | 67 + release/plugins/Audio/images/audio.png | Bin 0 -> 15258 bytes release/plugins/Audio/images/icon.png | Bin 0 -> 1356 bytes release/plugins/Audio/images/placeholder.png | Bin 0 -> 862 bytes release/plugins/a11yhelp/dialogs/a11yhelp.js | 12 +- .../a11yhelp/dialogs/lang/_translationstatus.txt | 2 +- release/plugins/a11yhelp/dialogs/lang/af.js | 4 +- release/plugins/a11yhelp/dialogs/lang/ar.js | 4 +- release/plugins/a11yhelp/dialogs/lang/az.js | 11 + release/plugins/a11yhelp/dialogs/lang/bg.js | 4 +- release/plugins/a11yhelp/dialogs/lang/ca.js | 17 +- release/plugins/a11yhelp/dialogs/lang/cs.js | 6 +- release/plugins/a11yhelp/dialogs/lang/cy.js | 6 +- release/plugins/a11yhelp/dialogs/lang/da.js | 14 +- release/plugins/a11yhelp/dialogs/lang/de-ch.js | 10 +- release/plugins/a11yhelp/dialogs/lang/de.js | 13 +- release/plugins/a11yhelp/dialogs/lang/el.js | 6 +- release/plugins/a11yhelp/dialogs/lang/en-gb.js | 4 +- release/plugins/a11yhelp/dialogs/lang/en.js | 4 +- release/plugins/a11yhelp/dialogs/lang/eo.js | 9 +- release/plugins/a11yhelp/dialogs/lang/es-mx.js | 13 + release/plugins/a11yhelp/dialogs/lang/es.js | 11 +- release/plugins/a11yhelp/dialogs/lang/et.js | 4 +- release/plugins/a11yhelp/dialogs/lang/eu.js | 4 +- release/plugins/a11yhelp/dialogs/lang/fa.js | 6 +- release/plugins/a11yhelp/dialogs/lang/fi.js | 6 +- release/plugins/a11yhelp/dialogs/lang/fo.js | 4 +- release/plugins/a11yhelp/dialogs/lang/fr-ca.js | 8 +- release/plugins/a11yhelp/dialogs/lang/fr.js | 19 +- release/plugins/a11yhelp/dialogs/lang/gl.js | 16 +- release/plugins/a11yhelp/dialogs/lang/gu.js | 4 +- release/plugins/a11yhelp/dialogs/lang/he.js | 4 +- release/plugins/a11yhelp/dialogs/lang/hi.js | 4 +- release/plugins/a11yhelp/dialogs/lang/hr.js | 12 +- release/plugins/a11yhelp/dialogs/lang/hu.js | 8 +- release/plugins/a11yhelp/dialogs/lang/id.js | 16 +- release/plugins/a11yhelp/dialogs/lang/it.js | 6 +- release/plugins/a11yhelp/dialogs/lang/ja.js | 6 +- release/plugins/a11yhelp/dialogs/lang/km.js | 4 +- release/plugins/a11yhelp/dialogs/lang/ko.js | 6 +- release/plugins/a11yhelp/dialogs/lang/ku.js | 6 +- release/plugins/a11yhelp/dialogs/lang/lt.js | 4 +- release/plugins/a11yhelp/dialogs/lang/lv.js | 4 +- release/plugins/a11yhelp/dialogs/lang/mk.js | 6 +- release/plugins/a11yhelp/dialogs/lang/mn.js | 4 +- release/plugins/a11yhelp/dialogs/lang/nb.js | 6 +- release/plugins/a11yhelp/dialogs/lang/nl.js | 15 +- release/plugins/a11yhelp/dialogs/lang/no.js | 6 +- release/plugins/a11yhelp/dialogs/lang/oc.js | 12 + release/plugins/a11yhelp/dialogs/lang/pl.js | 12 +- release/plugins/a11yhelp/dialogs/lang/pt-br.js | 6 +- release/plugins/a11yhelp/dialogs/lang/pt.js | 16 +- release/plugins/a11yhelp/dialogs/lang/ro.js | 6 +- release/plugins/a11yhelp/dialogs/lang/ru.js | 8 +- release/plugins/a11yhelp/dialogs/lang/si.js | 8 +- release/plugins/a11yhelp/dialogs/lang/sk.js | 10 +- release/plugins/a11yhelp/dialogs/lang/sl.js | 12 +- release/plugins/a11yhelp/dialogs/lang/sq.js | 4 +- release/plugins/a11yhelp/dialogs/lang/sr-latn.js | 4 +- release/plugins/a11yhelp/dialogs/lang/sr.js | 4 +- release/plugins/a11yhelp/dialogs/lang/sv.js | 8 +- release/plugins/a11yhelp/dialogs/lang/th.js | 4 +- release/plugins/a11yhelp/dialogs/lang/tr.js | 8 +- release/plugins/a11yhelp/dialogs/lang/tt.js | 8 +- release/plugins/a11yhelp/dialogs/lang/ug.js | 10 +- release/plugins/a11yhelp/dialogs/lang/uk.js | 4 +- release/plugins/a11yhelp/dialogs/lang/vi.js | 8 +- release/plugins/a11yhelp/dialogs/lang/zh-cn.js | 8 +- release/plugins/a11yhelp/dialogs/lang/zh.js | 8 +- release/plugins/dialog/dialogDefinition.js | 2 +- release/plugins/html5video/dialogs/html5video.js | 5 + release/plugins/icons.png | Bin 7124 -> 4993 bytes release/plugins/icons_hidpi.png | Bin 21417 -> 14581 bytes release/plugins/iframe/dialogs/iframe.js | 2 +- release/plugins/image/dialogs/image.js | 56 +- release/plugins/link/dialogs/anchor.js | 9 +- release/plugins/link/dialogs/link.js | 48 +- release/plugins/link/images/anchor.png | Bin 589 -> 752 bytes release/plugins/link/images/hidpi/anchor.png | Bin 1379 -> 1109 bytes release/plugins/liststyle/dialogs/liststyle.js | 2 +- release/plugins/oembed/LICENSE.md | 21 + release/plugins/oembed/README.md | 201 +++ release/plugins/oembed/libs/jquery.oembed.min.js | 71 + release/plugins/widget/images/handle.png | Bin 0 -> 220 bytes release/samples/css/samples.css | 62 +- release/samples/index.html | 6 +- release/samples/js/sample.js | 2 +- release/samples/js/sf.js | 2 +- release/samples/old/ajax.html | 4 +- release/samples/old/api.html | 4 +- release/samples/old/appendto.html | 4 +- .../samples/old/assets/outputxhtml/outputxhtml.css | 2 +- release/samples/old/assets/posteddata.php | 4 +- .../samples/old/assets/uilanguages/languages.js | 8 +- release/samples/old/datafiltering.html | 8 +- release/samples/old/dialog/assets/my_dialog.js | 2 +- release/samples/old/dialog/dialog.html | 4 +- release/samples/old/divreplace.html | 4 +- release/samples/old/enterkey/enterkey.html | 4 +- release/samples/old/htmlwriter/outputforflash.html | 4 +- release/samples/old/htmlwriter/outputhtml.html | 4 +- release/samples/old/index.html | 4 +- release/samples/old/inlineall.html | 4 +- release/samples/old/inlinebycode.html | 4 +- release/samples/old/inlinetextarea.html | 4 +- release/samples/old/jquery.html | 4 +- release/samples/old/magicline/magicline.html | 4 +- release/samples/old/readonly.html | 4 +- release/samples/old/replacebyclass.html | 4 +- release/samples/old/replacebycode.html | 4 +- release/samples/old/sample.css | 2 +- release/samples/old/sample.js | 2 +- release/samples/old/sample_posteddata.php | 2 +- release/samples/old/tabindex.html | 4 +- release/samples/old/toolbar/toolbar.html | 4 +- release/samples/old/uicolor.html | 4 +- release/samples/old/uilanguages.html | 4 +- release/samples/old/wysiwygarea/fullpage.html | 4 +- release/samples/old/xhtmlstyle.html | 4 +- release/samples/toolbarconfigurator/index.html | 6 +- release/skins/moono/dialog.css | 4 +- release/skins/moono/dialog_ie.css | 4 +- release/skins/moono/dialog_ie7.css | 4 +- release/skins/moono/dialog_ie8.css | 4 +- release/skins/moono/dialog_iequirks.css | 4 +- release/skins/moono/editor.css | 4 +- release/skins/moono/editor_gecko.css | 4 +- release/skins/moono/editor_ie.css | 4 +- release/skins/moono/editor_ie7.css | 4 +- release/skins/moono/editor_ie8.css | 4 +- release/skins/moono/editor_iequirks.css | 4 +- release/skins/moono/icons.png | Bin 7124 -> 9264 bytes release/skins/moono/icons_hidpi.png | Bin 21417 -> 24824 bytes release/skins/moono/images/anchor.png | Bin 0 -> 929 bytes release/skins/moono/images/close.png | Bin 468 -> 869 bytes release/skins/moono/images/hidpi/anchor.png | Bin 0 -> 1510 bytes release/skins/moono/images/hidpi/close.png | Bin 1271 -> 1732 bytes release/skins/moono/images/hidpi/lock-open.png | Bin 1329 -> 1582 bytes release/skins/moono/images/hidpi/lock.png | Bin 1299 -> 1644 bytes release/skins/moono/images/hidpi/refresh.png | Bin 1842 -> 2311 bytes release/skins/moono/images/lock-open.png | Bin 349 -> 801 bytes release/skins/moono/images/lock.png | Bin 475 -> 849 bytes release/skins/moono/images/refresh.png | Bin 422 -> 1050 bytes release/skins/moono/readme.md | 6 +- release/styles.js | 58 +- 156 files changed, 2108 insertions(+), 1037 deletions(-) create mode 100644 release/plugins/Audio/dialogs/audio.js create mode 100644 release/plugins/Audio/docs/install.html create mode 100644 release/plugins/Audio/docs/styles.css create mode 100644 release/plugins/Audio/images/audio.png create mode 100644 release/plugins/Audio/images/icon.png create mode 100644 release/plugins/Audio/images/placeholder.png create mode 100644 release/plugins/a11yhelp/dialogs/lang/az.js create mode 100644 release/plugins/a11yhelp/dialogs/lang/es-mx.js create mode 100644 release/plugins/a11yhelp/dialogs/lang/oc.js create mode 100644 release/plugins/html5video/dialogs/html5video.js create mode 100644 release/plugins/oembed/LICENSE.md create mode 100644 release/plugins/oembed/README.md create mode 100644 release/plugins/oembed/libs/jquery.oembed.min.js create mode 100644 release/plugins/widget/images/handle.png create mode 100644 release/skins/moono/images/anchor.png create mode 100644 release/skins/moono/images/hidpi/anchor.png (limited to 'release') diff --git a/release/CHANGES.md b/release/CHANGES.md index 333f69d..0803614 100644 --- a/release/CHANGES.md +++ b/release/CHANGES.md @@ -1,6 +1,299 @@ CKEditor 4 Changelog ==================== +## CKEditor 4.7.3 + +New Features: + +* [#568](https://github.com/ckeditor/ckeditor-dev/issues/568): Added possibility to adjust nested editables' filters using the [`CKEDITOR.filter.disallowedContent`](https://docs.ckeditor.com/#!/api/CKEDITOR.filter-property-disallowedContent) property. + +Fixed Issues: + +* [#554](https://github.com/ckeditor/ckeditor-dev/issues/554): Fixed: [`change`](https://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-change) event not fired when typing the first character after pasting into the editor. Thanks to [Daniel Miller](https://github.com/millerdev)! +* [#566](https://github.com/ckeditor/ckeditor-dev/issues/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](https://github.com/ckeditor/ckeditor-dev/issues/779): Fixed: The [Remove Format](https://ckeditor.com/addon/removeformat) plugin removes elements with language definition inserted by the [Language](https://ckeditor.com/addon/language) plugin. +* [#423](https://github.com/ckeditor/ckeditor-dev/issues/423): Fixed: The [Paste from Word](https://ckeditor.com/addon/pastefromword) plugin pastes paragraphs into the editor even if [`CKEDITOR.config.enterMode`](https://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enterMode) is set to `CKEDITOR.ENTER_BR`. +* [#719](https://github.com/ckeditor/ckeditor-dev/issues/719): Fixed: Image inserted using the [Enhanced Image](https://ckeditor.com/addon/image2) plugin can be resized when the editor is in [read-only mode](https://docs.ckeditor.com/#!/guide/dev_readonly). +* [#577](https://github.com/ckeditor/ckeditor-dev/issues/577): Fixed: The "Delete Columns" command provided by the [Table Tools](https://ckeditor.com/addon/tabletools) plugin throws an error when trying to delete columns. +* [#867](https://github.com/ckeditor/ckeditor-dev/issues/867): Fixed: Typing into a selected table throws an error. +* [#817](https://github.com/ckeditor/ckeditor-dev/issues/817): Fixed: The [Save](https://ckeditor.com/addon/save) plugin does not work in [Source Mode](https://ckeditor.com/addon/sourcearea). + +Other Changes: + +* Updated the [WebSpellChecker](http://ckeditor.com/addon/wsc) plugin: + * [#40](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/40): Fixed: IE10 throws an error when spell checking is started. +* [#800](https://github.com/ckeditor/ckeditor-dev/issues/800): Added the [`CKEDITOR.dom.selection.isCollapsed`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-isCollapsed) method which is a simpler way to check if the selection is collapsed. +* [#830](https://github.com/ckeditor/ckeditor-dev/issues/830): Added an option to define which dialog tab should be shown by default when creating [`CKEDITOR.dialogCommand`](https://docs.ckeditor.com/#!/api/CKEDITOR.dialogCommand). + +## CKEditor 4.7.2 + +New Features: + +* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced Content Filter](https://docs.ckeditor.com/#!/guide/dev_acf) integration with the [Justify](http://ckeditor.com/addon/justify) plugin. + +Fixed Issues: + +* [#663](https://github.com/ckeditor/ckeditor-dev/issues/663): [Chrome] Fixed: Clicking the scrollbar throws an `Uncaught TypeError: element.is is not a function` error. +* [#694](https://github.com/ckeditor/ckeditor-dev/pull/694): Refactoring in the [Table Selection](http://ckeditor.com/addon/tableselection) plugin: + * [#520](https://github.com/ckeditor/ckeditor-dev/issues/520): Fixed: Widgets cannot be properly pasted into a table cell. + * [#460](https://github.com/ckeditor/ckeditor-dev/issues/460): Fixed: Editor gone after pasting into an editor within a table. +* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal `cke_table-faked-selection-table` class is visible in the Stylesheet Classes field of the [Table Properties](http://ckeditor.com/addon/table) dialog. +* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: Error thrown when pressing the [Select All](https://ckeditor.com/addon/selectall) button in [Source Mode](http://ckeditor.com/addon/sourcearea). +* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double slash in the path to stylesheet needed by the [Table Selection](http://ckeditor.com/addon/tableselection) plugin. Thanks to [Marius Dumitru Florea](https://github.com/mflorea)! +* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: Unnecessary dependency on the [Editor Toolbar](http://ckeditor.com/addon/toolbar) plugin inside the [Notification](http://ckeditor.com/addon/notification) plugin. +* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error thrown into the browser console after opening the [Styles Combo](http://ckeditor.com/addon/stylescombo) plugin menu in the editor without any selection. +* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double click does not open the dialog for modifying anchors inserted via the [Link](http://ckeditor.com/addon/link) plugin. +* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking inside an empty [read-only](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-readOnly) editor throws an error. +* [#16820](https://dev.ckeditor.com/ticket/16820): [IE10] Fixed: Clicking below a single horizontal rule throws an error. +* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The [`range.cloneContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-cloneContents) method selects the whole element when the selection starts at the beginning of that element. +* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The [`range.extractContents`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-extractContents) method returns an incorrect result when multiple nodes are selected. +* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The [`elementPath.contains`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.elementPath-method-contains) method incorrectly excludes the last element instead of root when the `fromTop` parameter is set to `true`. + +Other Changes: + +* Updated the [SCAYT](http://ckeditor.com/addon/scayt) (Spell Check As You Type) plugin: + * [#148](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/148): Fixed: SCAYT leaves underlined word after the CKEditor Replace dialog corrects it. +* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the [`CKEDITOR.dom.nodeList.toArray`](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList-method-toArray) method which returns an array representation of a [node list](https://docs.ckeditor.com/#!/api/CKEDITOR.dom.nodeList). + +## CKEditor 4.7.1 + +New Features: + +* Added a new Mexican Spanish localization. Thanks to [David Alexandro Rodriguez](https://www.transifex.com/user/profile/darsco16/)! +* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as Plain Text keyboard shortcut to the [Accessibility Help](http://ckeditor.com/addon/a11yhelp) instructions. + +Fixed Issues: + +* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: Mouse actions on CKEditor scrollbar throw an exception when the [Table Selection](http://ckeditor.com/addon/tableselection) plugin is loaded. +* [#493](https://github.com/ckeditor/ckeditor-dev/issues/493): Fixed: Selection started from a nested table causes an error in the browser while scrolling down. +* [#415](https://github.com/ckeditor/ckeditor-dev/issues/415): [Firefox] Fixed: Enter key breaks the table structure when pressed in a table selection. +* [#457](https://github.com/ckeditor/ckeditor-dev/issues/457): Fixed: Error thrown when deleting content from the editor with no selection. +* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed: Error thrown by the [Enter Key](http://ckeditor.com/addon/enterkey) plugin when pressing Enter with no selection. +* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error thrown by [Tab Key Handling](http://ckeditor.com/addon/tab) and [Indent List](http://ckeditor.com/addon/indentlist) plugins when pressing Tab with no selection in inline editor. +* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors inserted with the [Link](http://ckeditor.com/addon/link) plugin on collapsed selection cannot be edited. +* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The [Table Resize](http://ckeditor.com/addon/tableresize) plugin throws an error when used with a table with only header or footer rows. +* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The [`editor.getCommandKeystroke`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getCommandKeystroke) method does not obtain the correct keystroke. +* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: [Paste from Word](http://ckeditor.com/addon/pastefromword) does not work in Quirks Mode. +* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: [`CKEDITOR.filter`](http://docs.ckeditor.com/#!/api/CKEDITOR.filter) incorrectly transforms the `margin` CSS property. + +## CKEditor 4.7 + +**Important Notes:** + +* [#13793](http://dev.ckeditor.com/ticket/13793): The [`embed_provider`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-embed_provider) configuration option for the [Media Embed](http://ckeditor.com/addon/embed) and [Semantic Media Embed](http://ckeditor.com/addon/embedsemantic) plugins is no longer preset by default. +* The [UI Color](http://ckeditor.com/addon/uicolor) plugin now uses a custom color picker instead of the `YUI 2.7.0` library which has some known vulnerabilities (it's a security precaution, there was no security issue in CKEditor due to the way it was used). + +New Features: + +* [#16755](http://dev.ckeditor.com/ticket/16755): Added the [Table Selection](http://ckeditor.com/addon/tableselection) plugin that lets you select and manipulate an arbitrary rectangular table fragment (a few cells, a row or a column). +* [#16961](http://dev.ckeditor.com/ticket/16961): Added support for pasting from Microsoft Excel. +* [#13381](http://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call in [`CKEDITOR.template`](http://docs.ckeditor.com/#!/api/CKEDITOR.template) removed. CKEditor can now be used without the `unsafe-eval` Content Security Policy. Thanks to [Caridy Patiño](http://caridy.name)! +* [#16971](http://dev.ckeditor.com/ticket/16971): Added support for color in the `background` property containing also other styles for table cells in the [Table Tools](http://ckeditor.com/addon/tabletools) plugin. +* [#16847](http://dev.ckeditor.com/ticket/16847): Added support for parsing and inlining any formatting created using the Microsoft Word style system to the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. +* [#16818](http://dev.ckeditor.com/ticket/16818): Added table cell height parsing in the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. +* [#16850](http://dev.ckeditor.com/ticket/16850): Added a new [`config.enableContextMenu`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-enableContextMenu) configuration option for enabling and disabling the [context menu](http://ckeditor.com/addon/contextmenu). +* [#16937](http://dev.ckeditor.com/ticket/16937): The `command` parameter in [CKEDITOR.editor.getCommandKeystroke](http://docs.ckeditor.dev/#!/api/CKEDITOR.editor-method-getCommandKeystroke) now also accepts a command name as an argument. +* [#17010](http://dev.ckeditor.com/ticket/17010): The [`CKEDITOR.dom.range.shrink`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.range-method-shrink) method now allows for skipping bogus `
` elements. + +Fixed Issues: + +* [#16935](http://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the editor in [Source Mode](http://ckeditor.com/addon/sourcearea) throws an error. +* [#16825](http://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown when destroying a focused inline editor. +* [#16857](http://dev.ckeditor.com/ticket/16857): Fixed: Ctrl+Shift+V blocked by [Copy Formatting](http://ckeditor.com/addon/copyformatting). +* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to the top of the scrolled editor after focusing it when the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin is enabled. +* [#16786](http://dev.ckeditor.com/ticket/16786): Fixed: Added missing translations for the [Copy Formatting](http://ckeditor.com/addon/copyformatting) plugin. +* [#14714](http://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: Exception thrown on refocusing a blurred inline editor. +* [#16913](http://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste as Plain Text](http://ckeditor.com/addon/pastetext) keystroke does not work. +* [#16968](http://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as Plain Text](http://ckeditor.com/addon/pastetext) is not handled by the editor. +* [#16912](http://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when a single image is pasted using [Paste from Word](http://ckeditor.com/addon/pastefromword). +* [#16821](http://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `` elements with `height` style stacked when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#16866](http://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: Whitespaces not preserved when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#16860](http://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only look like lists incorrectly transformed into them when [pasting from Word](http://ckeditor.com/addon/pastefromword). +* [#16817](http://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from Word](http://ckeditor.com/addon/pastefromword), paragraphs are transformed into lists with some corrupted data. +* [#16833](http://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list with headers [pasted from Word](http://ckeditor.com/addon/pastefromword). +* [#16826](http://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous paragraphs within lists [pasted from Word](http://ckeditor.com/addon/pastefromword). +* [#12465](http://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the state of checkboxes or radio buttons if the properties dialog was invoked with a double-click. +* [#13062](http://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink when the caret is at the edge of the link. +* [#13585](http://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping two adjacent `
` elements with a `
`. +* [#16811](http://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is not preserved by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. +* [#16810](http://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in tables is not supported by the [Paste from Word](http://ckeditor.com/addon/pastefromword) plugin. +* [#11956](http://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: [Link](http://ckeditor.com/addon/link) dialog does not open on a double click on the second word of the link with a background color or other styles. +* [#10472](http://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table Resize](http://ckeditor.com/addon/tableresize) on table header and footer. +* [#14762](http://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an empty table (without rows or cells) throws an error when the [Table Resize](http://ckeditor.com/addon/tableresize) plugin is active. +* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The [Clipboard](http://ckeditor.com/addon/clipboard) plugin does not allow to drop widgets into the editor. +* [#14894](https://dev.ckeditor.com/ticket/14894): [Chrome] Fixed: The editor scrolls to the top after focusing or when a dialog is opened. +* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in host are not detected by the [Auto Link](http://ckeditor.com/addon/autolink) plugin. +* [#16804](https://dev.ckeditor.com/ticket/16804): Fixed: Focus is not on the first menu item when the user opens a context menu or a drop-down list from the editor toolbar. +* [#14407](https://dev.ckeditor.com/ticket/14407): [IE] Fixed: Non-editable widgets can be edited. +* [#16927](https://dev.ckeditor.com/ticket/16927): Fixed: An error thrown if a bundle containing the [Color Button](http://ckeditor.com/addon/colorbutton) plugin is run in ES5 strict mode. Thanks to [Igor Rubinovich](https://github.com/IgorRubinovich)! +* [#16920](http://dev.ckeditor.com/ticket/16920): Fixed: Several plugins not using the [Dialog](http://ckeditor.com/addon/dialog) plugin as a direct dependency. +* [PR#336](https://github.com/ckeditor/ckeditor-dev/pull/336): Fixed: Typo in [`CKEDITOR.getCss`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getCss) API documentation. Thanks to [knusperpixel](https://github.com/knusperpixel)! +* [#17027](http://dev.ckeditor.com/ticket/17027): Fixed: Command event data should be initialized as an empty object. +* Fixed the behavior of HTML parser when parsing `src`/`srcdoc` attributes of the `':!1}}}),new b.fn.oembed.OEmbedProvider("deviantart","photo",["deviantart.com/.+","fav.me/.+","deviantart.com/.+"],"http://backend.deviantart.com/oembed",{format:"jsonp"}),new b.fn.oembed.OEmbedProvider("skitch", +"photo",["skitch.com/.+"],null,{yql:{xpath:"json",from:"json",url:function(a){return"http://skitch.com/oembed/?format=json&url="+a},datareturn:function(a){return b.fn.oembed.getPhotoCode(a.json.url,a.json)}}}),new b.fn.oembed.OEmbedProvider("mobypicture","photo",["mobypicture.com/user/.+/view/.+","moby.to/.+"],"http://api.mobypicture.com/oEmbed"),new b.fn.oembed.OEmbedProvider("flickr","photo",["flickr\\.com/photos/.+"],"http://flickr.com/services/oembed",{callbackparameter:"jsoncallback"}),new b.fn.oembed.OEmbedProvider("photobucket", +"photo",["photobucket\\.com/(albums|groups)/.+"],m()+"photobucket.com/oembed/"),new b.fn.oembed.OEmbedProvider("instagram","photo",["instagr\\.?am(\\.com)?/.+"],m()+"api.instagram.com/oembed"),new b.fn.oembed.OEmbedProvider("SmugMug","photo",["smugmug.com/[-.\\w@]+/.+"],"http://api.smugmug.com/services/oembed/"),new b.fn.oembed.OEmbedProvider("dribbble","photo",["dribbble.com/shots/.+"],"http://api.dribbble.com/shots/$1?callback=?",{templateRegex:/.*shots\/([\d]+).*/,templateData:function(a){return a.image_teaser_url? +'':!1}}),new b.fn.oembed.OEmbedProvider("chart.ly","photo",["chart\\.ly/[a-z0-9]{6,8}"],"http://chart.ly/uploads/large_$1.png",{templateRegex:/.*ly\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("circuitlab","photo",["circuitlab.com/circuit/.+"],"https://www.circuitlab.com/circuit/$1/screenshot/540x405/",{templateRegex:/.*circuit\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("23hq","photo",["23hq.com/[-.\\w@]+/photo/.+"], +"http://www.23hq.com/23/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("img.ly","photo",["img\\.ly/.+"],"http://img.ly/show/thumb/$1",{templateRegex:/.*ly\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("twitgoo.com","photo",["twitgoo\\.com/.+"],"http://twitgoo.com/show/thumb/$1",{templateRegex:/.*com\/([^\/]+).*/,embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("imgur.com","photo",["imgur\\.com/gallery/.+"],m()+"imgur.com/$1l.jpg",{templateRegex:/.*gallery\/([^\/]+).*/, +embedtag:{tag:"img"},nocache:1}),new b.fn.oembed.OEmbedProvider("visual.ly","rich",["visual\\.ly/.+"],null,{yql:{xpath:"//a[@id=\\'gc_article_graphic_image\\']/img",from:"htmlstring"}}),new b.fn.oembed.OEmbedProvider("gravtar","photo",["mailto:.+"],null,{templateRegex:/mailto:([^\/]+).*/,template:function(a,b){return'on Gravtar'}}),new b.fn.oembed.OEmbedProvider("twitter","rich",["twitter.com/.+"],"https://api.twitter.com/1/statuses/oembed.json?id="), +new b.fn.oembed.OEmbedProvider("gmep","rich",["gmep.imeducate.com/.*","gmep.org/.*"],"http://gmep.org/oembed.json"),new b.fn.oembed.OEmbedProvider("urtak","rich",["urtak.com/(u|clr)/.+"],"http://oembed.urtak.com/1/oembed"),new b.fn.oembed.OEmbedProvider("cacoo","rich",["cacoo.com/.+"],"http://cacoo.com/oembed.json"),new b.fn.oembed.OEmbedProvider("dailymile","rich",["dailymile.com/people/.*/entries/.*"],"http://api.dailymile.com/oembed"),new b.fn.oembed.OEmbedProvider("dipity","rich",["dipity.com/timeline/.+"], +"http://www.dipity.com/oembed/timeline/",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("sketchfab","rich",["sketchfab.com/show/.+"],"http://sketchfab.com/oembed",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("speakerdeck","rich",["speakerdeck.com/.+"],"http://speakerdeck.com/oembed.json",{useYQL:"json"}),new b.fn.oembed.OEmbedProvider("popplet","rich",["popplet.com/app/.*"],"http://popplet.com/app/Popplet_Alpha.swf?page_id=$1&em=1",{templateRegex:/.*#\/([^\/]+).*/,embedtag:{width:460,height:460}}), +new b.fn.oembed.OEmbedProvider("pearltrees","rich",["pearltrees.com/.*"],"http://cdn.pearltrees.com/s/embed/getApp?",{templateRegex:/.*N-f=1_(\d+).*N-p=(\d+).*/,embedtag:{width:460,height:460,flashvars:"lang=en_US&embedId=pt-embed-$1-693&treeId=$1&pearlId=$2&treeTitle=Diagrams%2FVisualization&site=www.pearltrees.com%2FF"}}),new b.fn.oembed.OEmbedProvider("prezi","rich",["prezi.com/.*"],"http://prezi.com/bin/preziloader.swf?",{templateRegex:/.*com\/([^\/]+)\/.*/,embedtag:{width:550, +height:400,flashvars:"prezi_id=$1&lock_to_path=0&color=ffffff&autoplay=no&autohide_ctrls=0"}}),new b.fn.oembed.OEmbedProvider("tourwrist","rich",["tourwrist.com/tours/.+"],null,{templateRegex:/.*tours.([\d]+).*/,template:function(a,b){return setTimeout(function(){loadEmbeds&&loadEmbeds()},2E3),"