TinyMCE 8.8.2

These are the Tiny Cloud and TinyMCE Enterprise release notes. For information on the latest community version of TinyMCE, see the TinyMCE Changelog.

Overview

TinyMCE 8.8.2 was released for TinyMCE Enterprise and Tiny Cloud on Monday, July 27th, 2026. These release notes provide an overview of the changes for TinyMCE 8.8.2, including:

Bug fixes

TinyMCE 8.8.2 also includes the following bug fixes:

Formatting could not be applied to and removed from editable child elements when a noneditable element was selected

Previously, applying an inline format to a directly selected non-editable element had no effect, even when that element contained editable descendant elements. TinyMCE applied the format only for a range selection that spanned the same content, not when the non-editable element was selected on its own. Removing an inline format behaved the same way.

In TinyMCE 8.8.2, TinyMCE applies an inline format once to each editable descendant element within the selected non-editable element. Removing and toggling an inline format work the same way, and TinyMCE now detects a format that is already applied within an editable descendant element. A non-editable element without editable descendant elements remains unchanged, and TinyMCE does not apply the format beyond the enclosing non-editable element.

Sanitizing malformed HTML in the editor content could throw an error

Previously, TinyMCE could throw an error while sanitizing editor content that contained malformed HTML, and the browser console reported TypeError: a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place. The error occurred in TinyMCE 8.8.0 and 8.8.1, which bundled version 3.4.11 of the DOMPurify sanitization library.

In TinyMCE 8.8.2, TinyMCE bundles version 3.4.12 of DOMPurify, which resolves the underlying issue. The editor now sanitizes content that contains malformed HTML without throwing an error.

The caret could be positioned incorrectly in some cases when scrolling while a context toolbar was open.

Previously, the caret could move to an unexpected position while a context toolbar was open, such as a toolbar from the Quick Toolbars plugin. To position a context toolbar relative to the selection, TinyMCE measured the caret position. When that selection had no measurable dimensions, such as a collapsed selection in an empty paragraph, TinyMCE altered it while taking the measurement. The caret then appeared to jump, and subsequent edits took effect at the wrong position.

In TinyMCE 8.8.2, TinyMCE restores the selection after measuring the caret position. The caret now stays where it was placed, including when the page scrolls with a context toolbar open.