Published on

CKEditor v39.0.0 with Paste from Office Enhanced

Paste from Office has been one of CKEditor 5’s most popular plugins from the get-go. But what if we told you there’s now an even better, more versatile way to copy and paste complex formatting from Microsoft Word and Excel? Say goodbye to post-paste fixes and hello to the newest addition to the Productivity Pack: Paste from Office Enhanced.

The latest version of CKEditor has even more on offer – along with Paste from Office Enhanced, there’s improvements to Multi-root Editor and CKBox Workspace support, plus a full color picker for tables. Read on to find out more, including the details on our new nightly release schedule.

# What is the latest version of CKEditor?

The latest major version of CKEditor 5, v39.0.0, includes a new plugin: Paste from Office Enhanced, which improves on the capabilities of the existing Paste from Office plugin. Also introduced in this release are further improvements for the Multi-root Editor and a color picker for tables, plus compatibility with new CKBox features, high-impact bug fixes and other improvements.

Furthermore, the release process itself has been improved with the introduction of nightly releases – and minor releases v39.0.1 and v39.0.2 have already gone live.

# Paste from Office Enhanced – new feature

CKEditor 5 has always had top notch copy-paste functionality, preserving formatting and styling. However, even with the best technology, there’s always room for improvement – that’s why we’ve launched a new premium feature: Paste from Office Enhanced.

If you’re working with documents or spreadsheets with a wide variety of complex styling and formatting, Paste from Office Enhanced is the plugin for you. When copy-pasting from Microsoft Word, the plugin boasts improved style retention for character spacing and paragraph alignment, background colors and formatting, border styles, and more.  Plus, there’s a major improvement for content from Microsoft Excel, with support for many formatting options including text alignment, font, borders and cell fill colors. Check out the detailed comparison tables to see the full range of improvements on offer when using Paste from Office Enhanced.

Best of all, Paste from Office Enhanced removes rogue styling code leftover from Office, giving you clean HTML. Paste from Office Enhanced is exclusive to the Productivity Pack, a collection of essential plugins for those with a CKEditor Commercial License. Together with Format Painter (also part of the Productivity Pack), Paste from Office Enhanced ensures you get your content styled the way you want it without having to spend hours in menus.

Paste from Office Enhanced highly improves when pasting from Excel.
Paste from Office Enhanced highly improves when pasting from Excel. 

# Lazy loading for Multi-root – progress update

The work on Multi-root Editor continues, and with this release we introduce the experimental delayed root loading feature, also known as root lazy loading. This feature is specifically designed to optimize the handling of extensive, lengthy documents. If a document is segmented into multiple roots, to represent chapters or sections, the editor can now initialize with only selected roots and defer loading of the other roots until they are required. The settings for when and how to load these roots are determined by the integrator.

Furthermore, lazy loading works seamlessly with real-time collaboration workflows. Multiple authors can simultaneously work on different chapters of a shared document, with all updates instantly reflected to every connected user. When a chapter or root that’s not yet loaded is eventually accessed, any prior edits to that chapter in the background are immediately visible in real-time.

Please note this feature is still experimental and has some limitations that we’ll be addressing in upcoming releases. Additionally, its API and behavior are subject to change.

# Color picker for tables – feature update

Previously only available for text content, the ability to pick an exact color value is now available for text in tables and cell background colors.


# Support for CKBox Workspaces – feature update

The new CKBox Workspaces feature, which allows you to set up independent instances of CKBox within a single CKBox environment, so that private users do not have access to each others’ files and settings, is integrated in the latest version of CKEditor.

CKEditor v39.0.0 makes this feature compatible with the editor, however, Workspaces compatibility is introduced as a breaking change. Users of CKEditor and CKBox will need to update to the latest version of CKBox to ensure both platforms run smoothly.

# Introducing nightly releases

From v39.0.0 and onward, CKEditor will be shipping nightly releases targeting the master branch every night at 3 a.m. GMT +2. This new approach is particularly beneficial for people who want to test features before they’re officially available as a part of the next stable release.

Please keep in mind that nightly releases are considered experimental and not suitable for production environments. So if you want to use the nightly releases, you’ll have to opt in, as they’re not automatically installed.

# Bug fixes and other improvements in CKEditor v39.0.0

# Learn more about previous CKEditor versions

Related posts

Subscribe to our newsletter

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

Thanks for subscribing!

We use cookies and other technologies to provide you with a better user experience.

Learn more

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.

(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= ''+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');