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.
CKEditor 4.7 tables example
CKEditor 4.7 tables example

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.

Paste from Excel screenshot
Paste from Excel screenshot

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:

# 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.

Related posts

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

Thanks for subscribing!

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = 'info.ckeditor.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });