TinyMCE 7.8.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.8.0 was released for TinyMCE Enterprise and Tiny Cloud on Wednesday, April 09th, 2025. These release notes provide an overview of the changes for TinyMCE 7.8.0, including:
Accompanying Premium plugin changes
The following premium plugin updates were released alongside TinyMCE 7.8.0.
Enhanced Code Editor
The TinyMCE 7.8.0 release includes an accompanying release of the Enhanced Code Editor premium plugin.
Enhanced Code Editor includes the following fix.
Source Code editor was not scrolling to the editor’s caret position in Firefox.
Previously, an issue was identified where the Enhanced Code Editor in Firefox did not automatically scroll to the caret’s relative position within the editor. As a result, users were required to manually scroll to locate the corresponding element, leading to a suboptimal user experience.
With the release of TinyMCE 7.8.0, this issue has been resolved. The Enhanced Code Editor in Firefox now exhibits consistent behavior with other browsers, automatically scrolling to the caret’s position when the editor is opened. This enhancement significantly improves the user experience by eliminating the need for manual navigation.
For information on the Enhanced Code Editor plugin, see: Enhanced Code Editor.
Comments
The TinyMCE 7.8.0 release includes an accompanying release of the Comments premium plugin.
Comments includes the following fix, addition and change.
It wasn’t possible to add comments to selected footnotes elements.
In previous versions of TinyMCE, it was not possible to add comments to footnotes (created by the Footnotes plugin) when selecting the footnote element.
As a result, attempting to add a comment would result in the comment being attached to a word outside the footnote as they were not considered valid block elements.
TinyMCE 7.8.0 addresses this issue. Comments can now be added directly to the entire footnote element, similar to how comments are handled for figures and other comparable elements.
A confirmation dialog now appears when resolving conversation to match the UX of deleting a conversation.
Previously, resolving a conversation did not trigger a confirmation dialog, unlike the behavior when deleting a conversation. Selecting Resolve conversation from the conversation kebab menu would immediately perform the action without user confirmation.
TinyMCE 7.8.0 introduces a confirmation dialog for resolving conversations, ensuring a consistent user experience and helping prevent unintentional resolutions.
The change
event was not dispatched when deleting a comment reply.
Previously, deleting a comment reply did not dispatch a change
event, which prevented the TinyMCE Save plugin from detecting the editor as modified. As a result, the “Save” button remained disabled after deleting a reply, potentially leading to lost changes. This issue has been resolved in 7.8.0. Deleting a comment reply now correctly triggers a dirty state, ensuring the Save plugin enables the “Save” button as expected.
New tinycomments_fetch_author_info
option that allows integrators to specify the current author info in callback mode.
In TinyMCE 7.8.0, a new tinycomments_fetch_author_info
callback option has been introduced, enabling integrators to provide author information in callback mode. This enhancement ensures accurate author data is displayed in new conversation cards.
For information on the Comments plugin, see: Introduction to Tiny Comments.
Export to Word
The TinyMCE 7.8.0 release includes an accompanying update to the Export to Word premium plugin.
Improved handling of relative URLs using base_url
configuration for Export to Word
Previously, the exportword
plugin converted relative URLs (e.g., /relative/url
) into incorrect absolute URLs during export, causing hyperlinks in Word documents to direct users to unintended or non-existent destinations. This issue has been resolved. The plugin now correctly resolves relative URLs using the base_url
configuration option, ensuring exported Word documents contain valid and functional hyperlinks.
For more information, see: Export to Word.
Export to PDF
The TinyMCE 7.8.0 release includes an accompanying update to the Export to PDF premium plugin.
Improved handling of relative URLs using base_url
configuration for Export to PDF
The exportpdf
plugin previously transformed relative URLs (e.g., /relative/url
) into incorrect absolute URLs, resulting in broken or misdirected links in exported PDF documents. This issue has been addressed. The plugin now uses the base_url
configuration option to correctly resolve relative URLs, ensuring that links in exported PDFs lead to the correct destinations.
For more information, see: Export to PDF.
Image Optimizer (Powered by Uploadcare)
The TinyMCE 7.8.0 release includes an accompanying release of the Image Optimizer (Powered by Uploadcare) premium plugin.
Image Optimizers includes the following fixes and addition.
Added support for uploadcare_filters
option in the Image Optimizer (Powered by Uploadcare) plugin
The Image Optimizer (Powered by Uploadcare) plugin now includes support for a new configuration option, uploadcare_filters
, introduced in 7.8.0. This option allows integrators to define a customizable list of image filters available within the Image Optimizer (Powered by Uploadcare) dialog. Each filter can be configured with an optional amount
parameter, controlling the intensity of the effect, and an optional label
to customize its display name in the UI.
tinymce.init({
selector: "textarea",
plugins: 'uploadcare',
toolbar: 'uploadcare',
uploadcare_public_key: '<your-public-key>',
uploadcare_filters: [
{ name: 'none' },
{ name: 'adaris', amount: -100, label: 'Vintage Fade' },
{ name: 'adaris', amount: 0, label: 'Base' },
{ name: 'adaris', amount: 100, label: 'Standard' },
{ name: 'zevcen', amount: 200, label: 'Glow Boost' }
]
});
Dragging and dropping image files onto the placeholder was not possible if the files had the correct extension but an incorrect MIME type.
In previous versions of the Image Optimizer (Powered by Uploadcare) plugin, dragging and dropping supported image files onto the placeholder could fail due to inconsistent file type detection. The issue occurred because only the MIME type or the file extension was checked, resulting in discrepancies when handling certain image files.
TinyMCE 7.8.0 resolves this issue by updating file type detection to consider both the MIME type and the file extension when verifying supported formats. This enhancement ensures more reliable and consistent behavior when dragging and dropping image files.
Non-uploadcare image URLs would be altered by color adjustments even when they failed to upload.
Previously, applying color filters to images that had not yet been successfully uploaded to Uploadcare could result in broken image links if the server returned an error. This occurred because the original image was modified before confirming a successful upload. With this update, TinyMCE now preserves the original image until a successful upload is completed, ensuring that image functionality remains intact even if an upload fails. This change improves the reliability of the image upload and editing workflow in 7.8.0.
Keyboard navigation between toolbars no longer loses focus.
In previous versions of Image Optimizer (Powered by Uploadcare) plugin, navigating between toolbars and sub toolbars could cause the toolbar focus state to be lost. This issue required users to press Ctrl+F9
to manually restore focus to the context toolbar, disrupting keyboard navigation workflows. TinyMCE 7.8.0 addresses this issue, by updating the focus handling using new sub toolbar APIs, ensuring that focus is now properly retained when moving between toolbars and sub toolbars. This improvement enhances accessibility and allows users to navigate the toolbar system more efficiently.
Placeholder element is now responsive and adjusts to the container’s width.
Previously, in Image Optimizer, the image placeholder had a fixed width, which prevented it from being responsive to different screen or container sizes. This limitation caused visual issues when the placeholder was placed inside small containers (e.g. table cells, small editors), resulting in layout inconsistencies.
With the release of TinyMCE 7.8.0, this issue has been resolved. The image placeholder styles have been updated to ensure full responsiveness, allowing it to adapt seamlessly to small containers without any visual issues.
For information on the Image Optimizer (Powered by Uploadcare) plugin, see Image Optimizer (Powered by Uploadcare).
Improvements
TinyMCE 7.8.0 also includes the following improvements:
The focus outline was misaligned with the comment card border after saving an edited comment.
In previous versions of TinyMCE, the keyboard focus styles were not properly aligned with the comment card during the process of saving an edited comment, resulting in a poor user interface.
TinyMCE 7.8.0 addresses this by adjusting the focus styles, ensuring a more polished user interface while saving an edited comment.
The editor.selection.scrollIntoView()
method now pads the target scroll area with a small margin, ensuring content doesn’t sit at the very edge of the viewport.
Previously, when cycling through accessibility issues in the a11y checker dialog, the highlighted content could appear aligned to the very edge of the viewport, making it difficult to identify and visually track. This behavior impacted usability by reducing the effectiveness of the a11y checker tool.
In TinyMCE 7.8.0, the editor.selection.scrollIntoView()
method was updated to include a top and bottom margin, aligning the highlighted content to a fixed 30px
from the edge of the viewport. Additionally, a visual overlay was introduced to draw attention to the selected element. These changes improve visibility, provide smoother and more intuitive scroll positioning, and enhance the overall user experience when navigating accessibility issues in TinyMCE.
Additions
TinyMCE 7.8.0 also includes the following additions:
New subtoolbar support for context toolbars.
TinyMCE 7.8.0 introduces support for multi-level context toolbars, enabling more advanced and interactive editing experiences directly within the editor interface. Previously, developers had to manually configure separate toolbars and manage transitions between them using predicate logic. This release simplifies that process by adding a new API for defining and navigating subtoolbars, similar to the existing context form functionality.
A new navigateback
button streamlines navigation between toolbar levels, while improved focus management ensures input fields are automatically focused when switching toolbars. These enhancements provide a more flexible, intuitive, and responsive workflow for both developers and end users.
tinymce.init({
selector: 'textarea',
height: 350,
setup: (editor) => {
editor.ui.registry.addContextToolbar('bar', {
predicate: () => true,
items: 'bold italic | undo redo | subbar1',
position: 'line',
scope: 'editor'
});
editor.ui.registry.addContextToolbar('subbar1', {
launch: { text: 'Subbar 1' },
items: 'navigateback bold italic | undo redo | subbar2'
});
editor.ui.registry.addContextToolbar('subbar2', {
launch: { text: 'Subbar 2' },
items: 'navigateback bold italic | undo redo | subbar3'
});
editor.ui.registry.addContextToolbar('subbar3', {
launch: { text: 'Subbar 3' },
items: 'navigateback bold italic | undo redo'
});
}
});
For more information on context toolbars, see Context toolbars.
New extended_mathml_attributes
and extended_mathml_elements
options.
To improve flexibility when working with MathML content, especially in cases where new attributes or elements are not yet supported by DOMPurify, two new configuration options have been introduced: extended_mathml_elements and extended_mathml_attributes.
Prior to 7.8.0, MathML elements and attributes were treated the same as all other content, with no special handling for MathML-specific structures. As a result, unsupported elements and attributes were either retained without validation or stripped without regard to their MathML context.
In TinyMCE 7.8.0, MathML content is now filtered separately from general HTML using DOMPurify. As part of this change, support has been added to selectively allow specific elements and attributes within a <math>
element using the new configuration options.
The new options allow users to define lists of MathML elements and attributes that should be preserved, even if DOMPurify does not currently recognize them. This enables quicker user-side updates in response to evolving MathML specifications without disabling sanitization or waiting for upstream changes.
-
extended_mathml_elements
: allows a list of additional MathML elements to be preserved. -
extended_mathml_attributes
: allows a list of additional MathML attributes to be preserved.
These options apply only within MathML contexts and do not affect general HTML content. They enable use cases such as preserving <mn>
elements and attributes like linebreak
in MathML expressions.
tinymce.init({
selector: "textarea",
extended_mathml_elements: [ "mn" ],
extended_mathml_attributes: [ "linebreak" ]
});
<p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow><mn>0.196</mn></mrow>
<mspace linebreak="newline"></mspace>
<mrow><mo>=</mo></mrow>
<mspace linebreak="newline"></mspace>
<mrow><mn>0.196</mn></mrow>
</math>
</p>
Bug fixes
TinyMCE 7.8.0 also includes the following bug fixes:
Setting editor height to a pt
or em
value was ignoring min/max height settings.
Previously, when the editor height was set using relative units such as pt
or em
, the editor was unable to parse and evaluate these values correctly. As a result, it would bypass the min_height
and max_height
checks, leading to unpredictable layout behavior. This issue was especially noticeable during initialization, although resizing later used the browser-calculated content box height, which partially masked the problem.
In 7.8.0, TinyMCE now attempts to compute height values from additional unit types to better enforce minimum and maximum height constraints. Some units, such as percentages (%
), may still override explicit height values due to browser limitations in determining the final rendered size. This update ensures that min_height
and max_height
settings are more reliably applied across a wider range of unit types.