TinyMCE 7.9.0
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 7.9.0 was released for TinyMCE Enterprise and Tiny Cloud on Wednesday, (TBA) May 14th, 2025. These release notes provide an overview of the changes for TinyMCE 7.9.0, including:
The following new Premium plugin was released alongside TinyMCE 7.9.0.
Accompanying Premium plugin changes
The following premium plugin updates were released alongside TinyMCE 7.9.0.
Accompanying Premium plugin end-of-life announcement
The following Premium plugin has been announced as reaching its end-of-life:
Accompanying open source plugin end-of-life announcement
The following open source plugin has been announced as reaching its end-of-life:
Accompanying Enhanced Skins & Icon Packs changes
The TinyMCE 7.9.0 release includes an accompanying release of the Enhanced Skins & Icon Packs.
Enhanced Skins & Icon Packs
The Enhanced Skins & Icon Packs release includes the following updates:
The Enhanced Skins & Icon Packs were rebuilt to pull in the changes also incorporated into the default TinyMCE 7.9.0 skin, Oxide.
For information on using Enhanced Skins & Icon Packs, see: Enhanced Skins & Icon Packs.
Bug fixes
TinyMCE 7.9.0 also includes the following bug fix<es>:
Improved handling of overlapping matches in abbreviation detection
Previously in TinyMCE, an issue occurred during pattern matching where overlapping regular expression matches caused duplicated content when processing abbreviations. For example, in the string D. dd.D.
, multiple overlapping patterns such as D.
, dd.D
, and a final D.
could be incorrectly matched and processed more than once. This resulted in unexpected duplication in the editor, such as D. dd.DDD.
.
This behavior was caused by insufficient overlap detection when identifying match regions, leading to multiple reinsertions of already matched substrings. The issue has now been resolved in TinyMCE 7.9.0 by refining the pattern-matching logic to accurately detect and avoid overlapping matches. The updated implementation ensures that each abbreviation is matched and processed only once, eliminating duplicated insertions and preserving the original content structure.
<!-- Original content typed by the user -->
<p>D. dd.D.</p>
<!-- Result after pattern matching (incorrect behavior) -->
<p>D. dd.DDD.</p>
<!-- Original content typed by the user -->
<p>D. dd.D.</p>
<!-- Result after pattern matching (correct behavior) -->
<p>D. dd.D.</p>