« See all

CKEditor 4.12 with Paste from Word enhancements released

We would like to announce the release of CKEditor 4.12 that contains over 40 tickets, from new features through bug fixes to API improvements. Most notably, this WYSIWYG editor version comes with support for new features in the Paste from Word plugin (page break, table cell borders, enhanced nested lists). It also includes improvements for table handling and the color dialog. Read on for more!

# Paste from Word improvements

CKEditor 4 is famous for its best-in-class support for pasting content from Word and Excel. The Paste from Word plugin lets you copy your content from Word, clean up the resulting source HTML and add it to your WYSIWYG editor content. What is extremely important, though, is that CKEditor 4 lets you preserve the author’s intentions by retaining the original structure and formatting, and adjusting it to the styles you are using in your WYSIWYG editor.

This release introduces support for the page break feature that lets you emulate document printing sections in your online HTML editor content. It also enhances Paste from Word table support with the possibility to retain table cell borders. Last but not least, we improved support for preserving the indentation of list items for nested lists created with the “Increase Indent” Word option.

CKEditor 4 WYSIWYG editor with page break support in Paste from Word
CKEditor 4 WYSIWYG editor with page break support in Paste from Word

# Improvements for tables

Outstanding table handling is another hallmark feature of CKEditor 4, with its advanced table manipulation capabilities and custom table selection. This release improves a few aspects of working with tables, adding the possibility to set the table cell height and width in pixels or percent using integers and floating point values. Additionally, the integration with images was also improved.

New floating point values for pixel and percent units in table cell width and height in CKEditor 4
New floating point values for pixel and percent units in table cell width and height in CKEditor 4

# More new features

This release also contains some smaller new features that supplement the existing functionality:

  • The color dialog used in the font and background color or table color features now shows the current selection’s color when opened.

  • The new CKEDITOR.config.image2_maxSize configuration option for the Enhanced Image plugin allows setting a maximum size that an image can be resized to with the resizer. The image dialog now also shows actual values when resizing.

# API changes and improvements

Based on community feedback and best practices in web development, we always try to modernize the CKEditor 4 API to make working with it a pleasure for any developer. As a result, in this release, we have introduced a lot of API improvements that will let you develop CKEditor 4 plugins and enhancements easier and faster.

The biggest change was introducing support for Promises by adding a native-consistent CKEDITOR.tools.promise class. Promises created in this way use the native ones underneath in modern browsers and polyfill for older browsers. This means writing plugins that need to handle asynchronous code is now much easier and more enjoyable.

In addition to this, we introduced a set of Array and Object helpers, including CKEDITOR.tools.array.find(), CKEDITOR.tools.object.keys(), CKEDITOR.tools.object.entries(), and CKEDITOR.tools.object.values() methods.

The unique CKEditor 4 Table Selection plugin can be a great help when it comes to dealing with tables, however, there are situations when using a custom table-like content or widget requires turning off the Table Selection plugin for particular tables. It is now possible thanks to the dedicated data-cke-tableselection-ignored attribute. It can be added to any table to disable the custom table selection system for this particular element.

Thanks to Byran Zaugg, an error with a clear and understandable message will be thrown when creating an editor on a non-existent element or when trying to instantiate the second editor on the same element. This may save you some time when working on CKEditor 4 integrations.

Thanks to Jacek Pulit, the CKEDITOR.template#source property can now be a function, so it can return the changed template values during the runtime. This makes it much more flexible and allows for more advanced usage.

And for all modern plugin developers, we have introduced a generic, coherent way to define which browsers are supported by the plugin. It is now very easy and requires only introducing one method in the plugin definition: pluginDefinition.isSupportedEnvironment(). Last but not least, if you are concerned about the quality of your JavaScript code, you may be happy to hear that we did a little cleanup, removing all arguments.callee references. This allows the WYSIWYG editor to work in strict mode.

# Translations updated

This editor release also brings major updates to a few language versions, like Estonian, Norwegian, Lithuanian, British English, Azerbaijani, Dutch, and Tatar. We would like to thank all the translators for their contributions!

CKEditor 4 is available in 70 language versions thanks to the fantastic community of translators. If you would like to help add a new localization or improve an existing one, join us in the CKEditor UI Translation Center at Transifex. We will be thankful for your contribution!

# CKEditor 4.12.1

After releasing CKEditor 4.12 we noticed a minor issue with Paste from Word and Page Break incompatibility in a pretty rare CKEditor configuration, so we have decided to make a minor release of CKEditor 4.12.1 immediately available with this bug fixed. Sorry about any inconvenience caused!

# Release notes

Check out the release notes and contact us for more information.

# 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

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 resources page for additional options.

With its excellent support for a multitude of rich-text editing features, CKEditor 4 is a perfect fit for any enterprise-grade software. If you would like to join over 1000 of our enterprise customers such as Microsoft, IBM or Oracle, check out our special Enterprise Offer.

Share this post

Linkedin Reddit

Discuss on

CKEditor 5 v12.2.0 with mobile-friendly comments mode