TinyMCE 8.2.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.2.0 was released for TinyMCE Enterprise and Tiny Cloud on Wednesday, October 22nd, 2025. These release notes provide an overview of the changes for TinyMCE 8.2.0, including:
Accompanying Premium plugin changes
The following premium plugin updates were released alongside TinyMCE 8.2.0.
Media Optimizer
The TinyMCE 8.2.0 release includes an accompanying release of the Media Optimizer premium plugin.
Media Optimizer now includes comprehensive video handling capabilities.
Video Upload Support
The Media Optimizer plugin now supports video upload and processing, extending beyond its previous image-only functionality. Users can now upload videos directly within the editor through drag-and-drop, file selection, or URL input.
The plugin now supports commonly available video formats including MP4, WebM, and other standard video formats.
This new functionality is supported with the following configuration options:
-
uploadcare_video_properties: Comprehensive video player configuration including autoplay, controls, loop and more. -
uploadcare_video_resize: Option to control whether videos can be resized directly within the editor.
For information on the Media Optimizer plugin, see: Media Optimizer: Video.
Empty captions for floating images were not rendered correctly.
In previous versions of Media Optimizer, when figures were styled with display: table, a floated <img> could cause an empty <figcaption> to render incorrectly alongside the image instead of below it. Deleting the caption text further disrupted the layout, causing the caption area to shift or disappear entirely.
In TinyMCE 8.2.0, this issue has been resolved by applying clear: both to <figcaption> elements when the associated image is floated. This ensures captions always render below the image, even when empty, maintaining proper alignment and consistent visual structure.
For information on the Media Optimizer plugin, see: Media Optimizer.
License Key Manager
The TinyMCE 8.2.0 release includes an accompanying release of the License Key Manager.
New js/commerciallicensekeymanager.js file to lazyload majority of plugin after editor init.
The License Key Manager has been reworked to include a new js/commerciallicensekeymanager.js file that is lazy-loaded when required. This change reduces the initialization time of the editor and time to first render.
For information on the License Key Manager plugin, see: License Key Manager.
Templates
The TinyMCE 8.2.0 release includes an accompanying release of the Templates premium plugin.
Templates includes the following fix.
Pressing enter while focused on title input during category or template creation would submit even when the submit button was disabled
Previously, pressing Enter while focused on the title input during category or template creation would trigger form submission, even when the submit button was disabled. This occurred because the input handling logic did not validate the form state before submission. As a result, users could inadvertently attempt to create a category or template with an empty name, causing an error.
TinyMCE 8.2.0 addresses this issue by updating the input handling logic to check the form’s validity before allowing submission when Enter is pressed. Now, if the form is invalid or the submit button is disabled, pressing Enter will not trigger submission, preventing erroneous attempts to create categories or templates with empty names.
Suggested Edits
The TinyMCE 8.2.0 release includes an accompanying release of the Suggested Edits premium plugin.
Suggested Edits includes the following improvements.
Added new suggestededits_auto_approve option to auto-approve edits by the current user
A new suggestededits_auto_approve option has been added to the Suggested Edits plugin. This option allows automatic approval of edits made by the current user, as defined by the user_id setting, without requiring manual review. When enabled, any new edits and previously suggested changes from the same user are instantly approved and applied, streamlining workflows where review is unnecessary.
For more information on the suggestededits_auto_approve option, see: suggestededits_auto_approve.
Suggestions now display the type of content that was changed
Previously, the Suggested Edits plugin only displayed the word "content" in the suggestion card description, as a generalised context for each suggestion.
In 8.2.0, the Suggested Edits plugin displays the type of content as well as the type of edit in the card description, to provide more context for each suggestion.
For information on the Suggested Edits plugin, see: Suggested Edits.
Full Page HTML
The TinyMCE 8.2.0 release includes an accompanying release of the Full Page HTML premium plugin.
Full Page HTML includes the following fix.
Encoding provided in the charset meta attribute would not be detected
The previous encoding detection logic did not recognize certain encodings defined using the charset meta attribute, which resulted in inconsistent or conflicting encodings within a single page and caused display or editing issues.
TinyMCE 8.2.0 addresses this issue by adding support for the new encoding type, ensuring that both the original and new encoding formats are correctly detected and processed. As a result, pages using either encoding style are now handled consistently. When encoded content is edited, the output is normalized to the previously supported encoding format, ensuring consistent markup and preventing confusion that could occur if the original encoding style were retained.
Head element added to the same line as the meta element
Previously, the meta property within the Full Page HTML plugin was not properly treated as a block-level element. This caused the <head> element to be appended directly to the same line as the meta tag, leading to formatting inconsistencies in the generated HTML output.
In 8.2.0, the meta property has been updated to behave as a block element, ensuring proper separation and newline handling within the <head> section.
For information on the Full Page HTML plugin, see: Full Page HTML.
Improvements
TinyMCE 8.2.0 also includes the following improvement:
Some elements would be given an extra newline by the serializer when indented
Previously, certain elements received an additional newline when indented due to the title not being correctly recognized as a block by the DOM Parser serializer. This caused unwanted whitespace to appear in the output. The issue was resolved by explicitly marking the title as a block within the code, ensuring that serialization no longer introduces unnecessary whitespace.
Bug fixes
TinyMCE 8.2.0 also includes the following bug fixes:
UI elements like focus outlines and placeholders would be visible after printing
Previously, UI elements such as focus outlines and placeholder text were rendered in printed versions of the editor content, resulting in unwanted visual artifacts in printed documents. This behavior caused confusion and reduced the professional appearance of printed materials. To address this issue, printing-specific styles were introduced to automatically hide all UI-related elements within the editor content during printing. As a result, printed output now includes only the intended content, ensuring clean and consistent presentation across all printouts.
The open attribute on <details> elements is now normalized to open="open" when the accordion plugin is enabled.
Previously, the open attribute on <details> elements was inconsistently defined when used with the accordion plugin. In some cases, the attribute appeared as open="true", while toggling through the plugin converted it to open="open". This inconsistency caused issues when loading externally created content that contained multiple open accordions with different attribute values, leading to mismatched accordion states.
In TinyMCE 8.2.0, the behavior has been standardized: when the accordion plugin is enabled, the open attribute is normalized to open="open" on content load.
Tooltips on toolbar buttons sometimes remained visible if the button icon was updated while hovered
Previously, button tooltips were not always dismissed correctly when icons were updated, because the element handling hover events was being replaced and the mouseout event never fired. This caused tooltips to remain visible after clicking a button, creating a confusing UI experience.
TinyMCE 8.2.0 addresses this issue by adjusting the icon rendering logic so hover and tooltip behavior are attached to the button itself rather than the icon element. As a result, when the setIcon API updates icons, it no longer interferes with mouse events.
The editor would upon gaining focus scroll to the center of the editor on some browsers if the top of the editor was out of frame
A legacy workaround for a Chromium bug caused the page to scroll to the center of the editor when the editor gained focus while its top edge was outside the viewport; although unrelated, features like autoresize could frequently trigger this behavior and resulted in unexpected scrolling in some situations.
As of TinyMCE 8.2.0, the workaround has been removed now that the underlying Chromium issue has been fixed, allowing the browser to manage scrolling natively.
Some UI elements related to dragging elements were not properly filtered out when fetching content
In TinyMCE 8.2.0, an issue was resolved where elements used by the table resize feature were not flagged for removal by the serializer. When content was fetched via a getContent() call during an active table resize, these transient UI nodes could be included in the returned HTML, leading to extraneous markup and potentially corrupted data.
The fix marks these elements with bogus attributes so the serializer reliably filters them out, ensuring clean, stable content retrieval and preventing unintended artifacts in saved or processed output.
The cursor could get stuck around an absolutely positioned CEF element when navigating using arrow keys
Previously, when using arrow keys to navigate content containing absolutely positioned non-editable elements, the cursor could become trapped near these elements. This issue disrupted caret movement and made it difficult for users to continue navigating around the editor’s content.
In TinyMCE 8.2.0, the horizontal caret navigation logic has been updated to ensure that the caret movement is no longer disrupted when navigating around absolutely positioned elements.
The schema will now allow the property RDFa attribute on meta elements
Previously, the schema did not recognize the property RDFa attribute as valid for meta elements, causing it to be removed during content validation in features such as the TinyMCE fullpagehtml premium plugin. This behavior could strip essential metadata used for social media previews or structured data integrations, and required integrators to manually whitelist the attribute to retain it.
In 8.2.0, the schema has been updated to include property as a valid attribute for meta elements. This change ensures compatibility with common metadata standards.
Corrected type of undoManager.add method. The event parameter is type EditorEvent not Event.
The undoManager.add method previously defined its event parameter as type Event, leading to inaccurate type inference and reduced developer clarity. This issue caused incomplete type validation and limited IDE assistance when working with undo() events.
TinyMCE 8.2.0 addresses this issue by updating the undoManager.add method to use the EditorEvent<unknown> type for the event parameter, ensuring consistency with other TinyMCE APIs.
For more information on the undoManager.add method, see: undoManager.add().
Chromium browsers would in certain situations scroll the editor unexpectedly when dragging content over the editor.
Previously, in Chromium-based browsers starting with Chrome 141 (and some builds of 140), focusing the editor during a dragover event could trigger the browser’s scroll-to-caret behavior. Because the caret initially sat at the start of the document, pages could jump to the top as users dragged content over the editor, disrupting drag-and-drop workflows.
In TinyMCE 8.2.0, dragover handling has been updated to move the caret to the intended drop position before the editor receives focus. This ensures Chrome’s scroll-to-caret check finds the caret already in view, preventing unexpected scrolling and maintaining a smooth drag-and-drop experience.
Added support for loading web components into iframes
Previously, there was no method to load web components into the editor iframe or preview iframes used by other plugins, which prevented these components from rendering correctly. This limitation impacted users who relied on custom web components for extended editor functionality or content visualization. In 8.2.0, a new API getComponentUrls has been introduced that allows specifying a script URL for the web component within the custom element schema. This enhancement enables web components to be properly registered and rendered within the TinyMCE editor environment.
For an example of using custom elements with block-level and inline-level components, see: Example using custom_elements with block-level and inline-level components.
Addressed split buttons rendering narrower than in TinyMCE 7, ensuring consistent sizing across the toolbar
In TinyMCE 8.2.0, an issue was resolved where split buttons rendered narrower than in TinyMCE 7 and other toolbar buttons. This occurred because the main portion of the split button used a CSS rule that caused it to collapse to the icon size during initialization, resulting in an incorrect fixed width. This made split buttons appear visually inconsistent, reduced their clickability, and could cause text labels to be truncated.
TinyMCE 8.2.0 addresses this issue by adjusting the width behavior to inherit the correct 34px for icons and auto for text—ensuring consistent sizing across the toolbar.
Known issues
TinyMCE 8.2.0 also includes the following known issues:
Uploadcare video audio continues playing after copying paused and muted video
In certain edge cases, when a video is inserted, played, paused, and muted, then copied using Ctrl+C (or Cmd+C on Mac), the paused and muted video may begin playing audio. Once this occurs, the audio continues to play even after deleting the video from the editor.
Workaround: None, the user must refresh the page to stop the unwanted audio which can result in the loss of any unsaved content.
Status: Currently under investigation.