You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/8.5.0-release-notes.adoc
+136-1Lines changed: 136 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,6 +41,108 @@ The {productname} {release-version} release includes an accompanying release of
41
41
42
42
For information on the **<Premium plugin name 1>** plugin, see: xref:<plugincode>.adoc[<Premium plugin name 1>].
43
43
44
+
=== PowerPaste
45
+
46
+
The {productname} {release-version} release includes an accompanying release of the **PowerPaste** premium plugin.
47
+
48
+
**PowerPaste** includes the following fix.
49
+
50
+
==== Super and subscript text was not properly converted to `sub` or `sup` elements on newer versions of Firefox
51
+
// #TINY-14256
52
+
53
+
Previously, pasting content containing subscript or superscript text from Google Docs into {productname} on Firefox 149 and later did not properly convert the text to semantic `sub` or `sup` elements. Newer versions of Firefox use the `baseline-shift` CSS property instead of the `vertical-align` property for sub and superscript formatting, and PowerPaste did not recognize this property. As a result, the pasted text lost its subscript or superscript formatting.
54
+
55
+
In {productname} {release-version}, PowerPaste now correctly handles the `baseline-shift` CSS property during paste operations, converting content styled with `baseline-shift: sub` or `baseline-shift: super` into the corresponding `sub` and `sup` elements.
56
+
57
+
For information on the **PowerPaste** plugin, see: xref:introduction-to-powerpaste.adoc[PowerPaste].
58
+
59
+
=== TinyMCE AI
60
+
61
+
The {productname} {release-version} release includes an accompanying release of the **TinyMCE AI** premium plugin.
62
+
63
+
**TinyMCE AI** includes the following fixes, improvements and additions.
64
+
65
+
==== New chat button was not disabled when the chat was empty
66
+
// #TINY-14094
67
+
68
+
Previously, the New Chat button in the TinyMCE AI sidebar remained enabled even when the current conversation was empty. Clicking the button in this state had no effect, which created a confusing experience and an accessibility issue, as screen readers and keyboard users could interact with a control that performed no action.
69
+
70
+
In {productname} {release-version}, the New Chat button is now disabled when no conversation has been started, ensuring the button state accurately reflects its availability.
71
+
72
+
**TinyMCE AI** includes the following fixes, improvements and additions.
73
+
74
+
==== Layout would shift causing the text to jump when action button appears on hover in the chat history list
75
+
// #TINY-14157
76
+
77
+
Previously, the actions container in the TinyMCE AI Chat History panel had no reserved space for the icon button that appears on hover. When hovering over a chat history item, the button became visible and caused the entire layout to shift, making content jump position unexpectedly. This resulted in jarring visual inconsistency and inconsistent spacing throughout the component.
78
+
79
+
In {productname} {release-version}, the actions container now reserves minimum horizontal space to accommodate the icon button and its surrounding padding. Action buttons appear and disappear without causing layout shifts, providing smoother and more predictable interactions with the Chat History.
80
+
81
+
==== Focus is no longer lost when deleting a context source using delete or backspace key.
82
+
// #TINY-13949
83
+
84
+
Previously, keyboard focus was lost when deleting a context source tag using the `Delete` or `Backspace` key in the TinyMCE AI sidebar chat view. After removing a context source, the focus disappeared entirely, making it difficult to continue keyboard navigation. This particularly affected accessibility and keyboard-only workflows.
85
+
86
+
In {productname} {release-version}, focus management now tracks tag deletion events. When a context source tag is deleted, focus moves to either the previous context source tag or, when the first or only remaining tag is removed, back to the prompt input field. This ensures seamless keyboard navigation when managing context sources.
87
+
88
+
==== `ToggleSidebar` events were not being triggered when toggling floating sidebars
89
+
// #TINY-14243
90
+
91
+
Previously, the `+ToggleSidebar+` event was not emitted when opening or closing floating sidebars in the TinyMCE AI plugin. Additionally, querying the current sidebar value using `+editor.queryCommandValue('ToggleSidebar')+` did not return the correct identifier when a floating sidebar was open. This made it difficult to programmatically determine the state of floating sidebars or respond to state changes.
92
+
93
+
In {productname} {release-version}, floating sidebars now fully support the existing sidebar APIs. The `+ToggleSidebar+` event fires when floating sidebars are opened, closed, or switched, and `+queryCommandValue+` returns the correct sidebar identifier. This brings floating sidebars to full API parity with regular sidebars.
94
+
95
+
==== AI Review suggestion cards now stay available when you close and reopen the review sidebar while suggestions are still loading
96
+
// #TINY-14197
97
+
98
+
Previously, closing the TinyMCE AI Review sidebar immediately after starting a review and then reopening it after the AI finished generating suggestions would reset the sidebar state. The suggestion cards associated with the review were not displayed, and instead the list of available reviews appeared alongside the preview. This prevented the generated suggestions from being actioned.
99
+
100
+
In {productname} {release-version}, the sidebar state is now correctly preserved when the sidebar is closed and reopened during or after suggestion generation. The review suggestion cards remain visible and actionable, even if the sidebar was closed while the AI was still streaming results.
101
+
102
+
==== Menus no longer close on mouse out.
103
+
// #TINY-14055
104
+
105
+
Previously, submenus in the TinyMCE AI plugin closed when the mouse pointer moved outside the menu area. This did not match the behavior of other {productname} menus, where submenus remain open until another item in the parent menu is selected or the entire menu is dismissed. The inconsistency made submenu navigation unreliable and could cause confusion during use.
106
+
107
+
In {productname} {release-version}, submenus in the TinyMCE AI plugin no longer close on mouse out. Submenus now remain open until another parent menu item is selected or the menu is dismissed, matching the behavior of all other {productname} menus.
108
+
109
+
==== The first loading card during a review no longer appears focused
110
+
// #TINY-14077
111
+
112
+
Previously, when running an AI review, the first skeleton card displayed in the Review sidebar while suggestions were being generated appeared with focus styles applied. Since the card content was still loading and could not be interacted with, the visible focus indicator was misleading and created a confusing user experience.
113
+
114
+
In {productname} {release-version}, focus styles are no longer applied to loading cards in the Review sidebar. Cards only receive focus styling once their content has fully loaded and they can be interacted with.
115
+
116
+
==== New commands for executing AI UI actions
117
+
// #TINY-14266
118
+
119
+
Previously, Quick Actions in TinyMCE AI could only be triggered through the plugin's built-in menus and toolbar buttons. Integrators who wanted to invoke these actions from custom UI elements or automation workflows had no programmatic way to do so.
120
+
121
+
In {productname} {release-version}, the TinyMCE AI plugin registers a set of editor commands that mirror each Quick Action. These include commands for built-in actions such as `TinyMCEAIQuickActionImproveWriting`, `TinyMCEAIQuickActionCheckGrammar`, and `TinyMCEAIQuickActionTranslate` (which accepts a language argument), as well as `TinyMCEAIQuickActionCustom` for running a custom prompt with a specified model. A `TinyMCEAIChatPrompt` command is also available for sending a prompt directly to the Chat sidebar. For the full list of commands, see xref:tinymceai.adoc#tinymceai-plugin-commands[TinyMCE AI plugin commands].
122
+
123
+
==== New optional `id` property to `tinymceai_quickactions_custom` to register the action as custom menu item
124
+
// #TINY-14229
125
+
126
+
Previously, custom quick actions defined through the xref:tinymceai.adoc#tinymceai_quickactions_custom[`+tinymceai_quickactions_custom+`] option could only appear inside a dedicated Custom submenu within the Quick Actions menu. This limited integrators who wanted custom actions to appear as top-level menu items alongside predefined actions or in other menu configurations.
127
+
128
+
In {productname} {release-version}, an optional `id` property can be included in each custom quick action object. When an `id` is set, the custom action can be listed in the xref:tinymceai.adoc#tinymceai_quickactions_menu[`+tinymceai_quickactions_menu+`] array as its own top-level menu item, or included in any menubar menu or menu button configuration that accepts control identifiers.
129
+
130
+
==== Loader in the chat was normal size instead of small size
131
+
// #TINY-14155
132
+
133
+
Previously, the loading spinner displayed in the AI Chat area while generating a response used the default size rather than the small size. This caused the spinner to appear visually larger than the adjacent AI response icon, creating an inconsistent appearance within the chat interface.
134
+
135
+
In {productname} {release-version}, the AI Chat loading spinner is now sized to match the AI response icon dimensions, providing a consistent and polished visual experience.
136
+
137
+
==== While the plugin is generating a review or quick action, the Stop button in the loading indicator receives focus
138
+
// #TINY-14083
139
+
140
+
Previously, the TinyMCE AI plugin displayed the “Stop generating” control inconsistently across different contexts. The review loading indicator used a text-based button, while the AI Chat sidebar used an icon-based button. In addition, the control did not receive focus when it appeared, which negatively impacted keyboard accessibility.
141
+
142
+
In {productname} {release-version}, the stop button in the loading indicator now matches the icon button used in the AI Chat sidebar, providing a more consistent visual experience. The button also receives focus when displayed, improving keyboard navigation and accessibility during content generation.
143
+
144
+
For information on the **TinyMCE AI** plugin, see: xref:tinymceai.adoc[TinyMCE AI].
@@ -49,10 +151,17 @@ The {productname} {release-version} release includes an accompanying release of
49
151
50
152
=== Enhanced Skins & Icon Packs
51
153
52
-
The **Enhanced Skins & Icon Packs** release includes the following updates:
154
+
The **Enhanced Skins & Icon Packs** release includes the following updates and fix.
53
155
54
156
The **Enhanced Skins & Icon Packs** were rebuilt to pull in the changes also incorporated into the default {productname} {release-version} skin, Oxide.
55
157
158
+
==== Premium content CSS files contained extraneous styles from the default theme
159
+
// #TINY-14129
160
+
161
+
Previously, premium skin content CSS files for the fabric, fluent, material-classic, and material-outline skins imported styles from the default theme's content UI. This caused duplicate styles to load into the editor and unnecessarily increased the size of the premium content CSS files.
162
+
163
+
In {productname} {release-version}, the outdated import has been removed from the premium content CSS files. The premium content CSS files now contain only the styles specific to each skin, reducing file size and eliminating duplicate style loading.
164
+
56
165
For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-and-icon-packs.adoc[Enhanced Skins & Icon Packs].
57
166
58
167
@@ -88,6 +197,11 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
88
197
89
198
// CCFR here.
90
199
200
+
=== Updated the Review list accordion item background color
201
+
// #TINY-14158
202
+
203
+
The background color of accordion items in the TinyMCE AI Review list has been updated from `#F7F7F7` to `#F0F0F0` to improve visual contrast and align with the current design specifications.
204
+
91
205
92
206
[[removed]]
93
207
== Removed
@@ -117,6 +231,27 @@ Previously, selecting content that included a table by dragging from inside the
117
231
118
232
In {productname} {release-version}, the editor now prevents deletion operations from removing the editor body element. Selections that span tables and extend beyond the editor boundary are handled safely, preserving the editor structure and allowing continued use without errors.
119
233
234
+
=== Certain combinations of divs inside of lists would cause issues turning off lists
235
+
// #TINY-14070
236
+
237
+
Previously, certain combinations of `+div+` elements inside list items could prevent lists from being toggled off. The list detection logic would prematurely identify a `+div+` within a list item as a list host rather than recognizing it as content inside an existing list. This made it impossible to remove the list formatting in affected content structures.
238
+
239
+
In {productname} {release-version}, the list detection logic now correctly identifies when a `+div+` is inside a list and locates the parent list before treating the element as a host. Lists with nested `+div+` elements can now be toggled off as expected.
240
+
241
+
=== Script and style elements would incorrectly be removed by DOMPurify when considered valid in the schema
242
+
// #TINY-9655
243
+
244
+
Previously, `script` and `style` elements that were explicitly allowed through xref:content-filtering.adoc#valid_elements[`+valid_elements+`] or xref:content-filtering.adoc#extended_valid_elements[`+extended_valid_elements+`] were removed during the sanitization process when xref:content-filtering.adoc#xss_sanitization[`+xss_sanitization+`] was enabled. DOMPurify flagged these elements as potential mXSS vectors and removed them entirely, even when the schema configuration indicated they were valid.
245
+
246
+
In {productname} {release-version}, `script` and `style` elements that are considered valid in the schema are retained during sanitization. The sanitization process still removes unsafe attributes and content, but no longer removes the entire element when the schema explicitly allows it.
247
+
248
+
=== Iframe elements with children would incorrectly be removed by DOMPurify
249
+
// #TINY-9655
250
+
251
+
Previously, `iframe` elements that contained child nodes were removed entirely during the sanitization process. DOMPurify treated the presence of child nodes within an `iframe` as a potential mXSS risk and stripped the entire element from the content.
252
+
253
+
In {productname} {release-version}, `iframe` elements are preserved during sanitization. Any child nodes and unsafe or invalid attributes are removed, but the `iframe` element itself remains in the editor content.
**Certain elements may be removed by XSS sanitization**
44
-
By default, {productname} sanitizes HTML content to protect against XSS attacks. Elements outside the HTML5 specification, such as `<script>`, are removed. Standard `<meta>` tags are preserved, but attributes not defined in the HTML5 spec (for example, the RDFa `property` attribute) require explicit configuration to be retained.
44
+
By default, {productname} sanitizes HTML content to protect against XSS attacks. Elements outside the HTML5 specification, such as `<script>`, are removed unless explicitly allowed through xref:content-filtering.adoc#valid_elements[`+valid_elements+`] or xref:content-filtering.adoc#extended_valid_elements[`+extended_valid_elements+`]. Standard `<meta>` tags are preserved, but attributes not defined in the HTML5 spec (for example, the RDFa `property` attribute) require explicit configuration to be retained.
45
45
46
46
If integrators encounter issues with required elements being removed, the following configuration options are available. These options reduce security and should be used with caution:
0 commit comments