TinyMCE 8.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 8.8.0 was released for TinyMCE Enterprise and Tiny Cloud on Wednesday, July 15th, 2026. These release notes provide an overview of the changes for TinyMCE 8.8.0, including:
Accompanying Premium plugin changes
The following premium plugin updates were released alongside TinyMCE 8.8.0.
Spell Checker
The TinyMCE 8.8.0 release includes an accompanying release of the Spell Checker premium plugin.
Spell Checker includes the following fix.
The misspelled word highlight disappeared when pressing Enter to create a new line
Previously, deleting the last letter of a misspelled word with the Backspace key and then pressing Enter to start a new line removed the red highlight from the word, even though the word remained misspelled. The Spell Checker plugin did not re-check the affected line after the new block was created, so the word appeared as though it were spelled correctly.
In TinyMCE 8.8.0, the Spell Checker plugin re-checks both the new line and the previous line after a new block is created. Words that remain misspelled keep their highlighting.
For information on the Spell Checker plugin, see: Spell Checker.
Comments
The TinyMCE 8.8.0 release includes an accompanying release of the Comments premium plugin.
Comments includes the following fix.
Clicking the reply button triggered an editor blur event
Previously, selecting the reply button on a comment thread, such as 1 reply, could cause the editor to fire a blur event, even though the user was still working within the editor. Expanding the replies re-rendered the comment, and because the focused element was removed during the re-render, focus fell back to the document body instead of remaining within the editor. The editor interpreted this loss of focus as the user leaving the editor entirely. Applications that rely on the blur event to detect when editing has finished could behave incorrectly.
In TinyMCE 8.8.0, the Comments plugin preserves editor focus when expanding replies. The editor no longer fires an unexpected blur event when the reply button is selected.
For information on the Comments plugin, see: Comments.
TinyMCE AI
The TinyMCE 8.8.0 release includes an accompanying release of the TinyMCE AI premium plugin.
TinyMCE AI includes the following addition and fixes.
Added configurable welcome actions to the TinyMCE AI Chat empty state
In TinyMCE 8.8.0, the TinyMCE AI Chat sidebar can display a configurable set of welcome actions in its empty state, giving users suggested starting points instead of a blank prompt. Each item can show descriptive text or a button that runs a Quick Action, sends a chat prompt, or runs another editor command. Welcome actions appear before the first request is sent and are hidden once a conversation begins.
Welcome actions are configured with the new tinymceai_chat_welcome_actions option and are disabled by default.
Double tooltips appeared on tags in the prompt context in Safari
Previously, in Safari, hovering over the context source tags in the AI Chat prompt could display duplicated tooltips, and a tooltip could appear even when the tag text was not truncated. The tags were missing the attribute that prevents tooltip duplication in Safari.
In TinyMCE 8.8.0, the context source tags include the attribute that resolves Safari tooltip duplication. Each tag now shows a single tooltip, and only when its text is truncated.
The TinyMCE AI plugin now ignores non-string values returned by tinymceai_tool_data_callback
Previously, the tinymceai_tool_data_callback callback could return a value that was not a string, such as a number. The TinyMCE AI plugin then displayed that value directly in the Chat sidebar status message, even though the option documents a return type of string | undefined. As a result, the status message shown while a Model Context Protocol (MCP) tool ran did not make sense.
In TinyMCE 8.8.0, the TinyMCE AI plugin validates the value returned by the callback. When the callback returns a value that is not a string, the plugin ignores that value, treats the result as undefined, and shows the default status message instead.
The TinyMCE AI chat sidebar now shows only one tooltip at a time
Previously, each button in the TinyMCE AI chat sidebar managed its tooltip independently, with no coordination between them. Opening one tooltip did not close a tooltip that was already visible, so more than one tooltip could remain on screen at the same time.
In TinyMCE 8.8.0, opening a tooltip in the TinyMCE AI chat sidebar closes any other open tooltip, so the chat sidebar shows only one tooltip at a time. This keeps the interface clear and consistent.
For information on the TinyMCE AI plugin, see: TinyMCE AI.
Improvements
TinyMCE 8.8.0 also includes the following improvements:
Updated the bundled DOMPurify dependency to the latest version
Previously, TinyMCE bundled an older version of the DOMPurify sanitization library. Although TinyMCE was not affected by the published DOMPurify advisories, because they relate to DOMPurify options that TinyMCE does not use, the outdated version could be flagged by automated security scanners.
In TinyMCE 8.8.0, DOMPurify has been updated to the latest version. This resolves the scanner warnings without changing TinyMCE’s sanitization behavior.
Added the aria-valuenow, aria-valuemin, and aria-valuemax attributes to the editor resize handle when resizing vertically
Previously, the editor resize handle did not expose the Accessible Rich Internet Applications (ARIA) value attributes recommended for the separator role. Automated accessibility scanners reported this as a specification violation on the resize handle.
In TinyMCE 8.8.0, the resize handle exposes the aria-valuenow, aria-valuemin, and aria-valuemax attributes when the editor is configured for vertical resizing, which is the default resize: true behavior. aria-valuenow reports the current editor height, aria-valuemin reflects the min_height option, and aria-valuemax reflects the max_height option, or the current height plus the 20px keyboard resize step when max_height is not set. Editors configured for two-dimensional resizing with resize: 'both' are unchanged, because no recommended accessible pattern currently exists for two-dimensional resize handles.
Bug fixes
TinyMCE 8.8.0 also includes the following bug fixes:
Opening table properties on a nested table could edit the wrong table
Previously, when a table was nested inside another table, opening the table properties dialog for the outer table could display and edit the properties of the inner table instead. In Chrome and Edge, right-clicking near the left edge of a cell and selecting Table properties resolved to the nested table, so the settings shown did not match the selected table. This made nested tables confusing and error prone to edit.
In TinyMCE 8.8.0, the table properties dialog determines the target table by starting from the selected cell and finding the table that directly contains it. The dialog now reliably targets the table currently being edited, and property changes apply to the intended table.
Clicking anchor links with special characters could throw a querySelectorAll error
Previously, clicking an anchor link whose href contained special characters, such as the semicolons common in Google Web Toolkit (GWT) place tokens like #!placetoken;param1=value1;param2=value2, threw a querySelectorAll syntax error: Uncaught SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '...' is not a valid selector. This occurred both in read-only mode and when using the Link plugin Open link feature through the toolbar button, the context menu, and the Alt+Enter keyboard shortcut. The error appeared in the console and prevented navigation to the target bookmark.
In TinyMCE 8.8.0, anchor href values are escaped with CSS.escape before they are used as querySelectorAll selectors, so all ASCII special characters in an href are handled. Clicking anchor links with special characters no longer throws an error, and the editor scrolls to the target bookmark across different URL fragment formats.
The cursor could be placed at the start of a list item instead of the clicked position
Previously, in Chromium-based browsers such as Chrome and Edge, clicking within a list item after the end of its text — for example, in the empty space to the right of the line — could place the cursor at the start of the item instead of at the end of the line. Clicking directly within a list item’s text was not affected. This behavior originates from a known Chromium browser issue.
In TinyMCE 8.8.0, TinyMCE detects this browser behavior and corrects the cursor position. Clicking within these list items now places the cursor at the expected position.