CKEditor 4.7 with Paste from Excel, advanced table selection and CSP
We are happy to announce the release of the latest major CKEditor version. CKEditor 4.7 comes with plenty of new features - including Paste from Excel support, advanced table selection, improved conformance with Content Security Policy, and further enhancements to the pasting process. In addition to that, some important changes were introduced to popular plugins such as Media Embed, Copy Formatting, and Mathematical Formulas. Read on for more!
Advanced table selection
Table support has always been an important feature for CKEditor users and with time (and also, with the number of issues that came from different browsers implementing table selection differently) we have decided to work on a custom implementation that would help us deliver an outstanding user experience when handling tables. Starting from CKEditor 4.7 you can now use the unique custom selection system for tables to, for example:
- Select an arbitrary rectangular table fragment - a few cells from different rows, a column (or a few of them) or a row (or multiple rows).
- Apply formatting or add a link to all selected cells at once.
- Cut, copy and paste entire rows or columns.
Creating a custom selection system meant that we needed to rewrite some core editor parts to bring support for multiple ranges for tables (and only tables) and integrate it with clipboard to make sure that only the selected table fragment is copied or pasted. The new system was obviously integrated with the existing plugins such as Table Tools, styles or links.
Check out the table support sample in CKEditor Examples and read more in the documentation!
Content Security Policy support
CKEditor 4.7 brings improved compliance with CSP with the removal of dynamic evaluation calls in the template system. Thanks to this, the editor can now be used without unsafe-eval
in the Content Security Policy. We would like to thank Caridy Patiño for proposing a solution to this challenge!
Paste from Excel
Thanks to some further enhancements in the Paste from Word plugin CKEditor is now able to reliably support basic Excel formatting, too. Styles such as table cell background color and height or font styles (color, family, weight, size etc.) will be copied to preserve the original Excel formatting.
Check out the Paste from Excel sample in CKEditor Examples and read more in the documentation!
Advanced Paste from Word updates
Thanks to some enhancements in the Paste from Word plugin the editor is now able to retain formatting applied using Word’s defined style rules in all browsers that support clipboard data transfer. This lets the editor copy and paste inline styles that were previously shown in CKEditor as unformatted text.
Last but not least, further updates to the paste engine were introduced to improve the editor behavior with pasting lists, whitespaces, images, paragraphs looking like lists and similar edge cases - which only shows the huge complexity of all scenarios that the Paste from Word feature needs to support in multiple environments and browsers.
Check out the Paste from Word sample in CKEditor Examples and read more in the documentation!
Mathematical Formulas CDN change
The recommended MathJax CDN provider for the Mathematical Formulas plugin was switched from cdn.mathjax.org to cdnjs, due to the closing of cdn.mathjax.org scheduled for April 30, 2017.
If you want to continue using the plugin, use the config.mathJaxLib
configuration option to change the MathJax library path to another CDN or a locally hosted copy. More details here.
Media Embed change
The config.embed_provider
configuration option for the Media Embed and Semantic Media Embed plugins is no longer preset by default - you will now need to set it manually when configuring the plugins. The ready-to-use provider URL is still available; however, it is most recommended to register a custom Iframely account to gain access to some features such as Google Maps API. More details here.
Further paste improvements
We have decided to simplify the user experience when pasting and said goodbye to the old paste dialog window. From now on, the editor behavior on pasting will be unified and the user will be prompted to paste the content using an appropriate keyboard shortcut when the browser blocks it due to security settings. Furthermore, a few other issues with Paste as Plain Text were fixed.
Additionally, with recent Safari fixes it is finally possible to use enhanced clipboard API (introduced in CKEditor 4.5) also in this browser. This will result in improved HTML pasting experience, including the Paste from Word feature.
Other new features and improvements
Here is a short overview of some of the other important features and improvements introduced in this release:
- Spell Check As You Type (SCAYT) and Webspellchecker plugins were updated to their latest versions.
- A new
config.enableContextMenu
configuration option was added for enabling and disabling the context menu. Regardless of this setting, the Context Menu plugin is still loaded. - Translations were updated thanks to the effort of the amazing community working through Transifex.
Release notes
Check out the release notes for the full list of changes.
Download
Download CKEditor now and upgrade your installation or use your favorite package manager to install it!
License
CKEditor is available under Open Source and Commercial licenses. Full details can be found on our license page.
Reporting Issues and Contributing
With the release of CKEditor 4.7 we are migrating CKEditor issue tracking to GitHub. Please report any new issues in the CKEditor 4 development repository and follow the instructions in the issue template. You can also contribute code and provide editor patches through pull requests.
Support
Community support is available through Stack Overflow. Visit the support page for additional options.
Feedback Needed!
We are really enthusiastic about this new, major CKEditor version and its numerous new features. We will be happy to hear from you and thankful for any suggestions that will help us improve these features and tailor them to your expectations.