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
+185-1Lines changed: 185 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,6 +41,150 @@ 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
+
==== Arrow key navigation did not cycle between the first and last menu items
66
+
// #TINY-14193
67
+
68
+
Previously, when navigating TinyMCE AI menus using the arrow keys, the focus did not cycle between the first and last menu items. Pressing the down arrow on the last item or the up arrow on the first item had no effect. This was inconsistent with the cycling behavior of menus elsewhere in {productname} and could slow down keyboard-based navigation.
69
+
70
+
In {productname} {release-version}, arrow key navigation in TinyMCE AI menus now cycles between the first and last items, matching the standard keyboard navigation behavior used throughout the editor.
71
+
72
+
==== The background behind code snippets in AI in-chat responses did not fully cover the snippet
73
+
// #TINY-14188
74
+
75
+
Previously, the background styling behind code snippets in AI in-chat responses did not fully cover the entire snippet area. Portions of the code appeared without proper background coverage, reducing readability and creating an inconsistent visual presentation in the AI chat interface.
76
+
77
+
In {productname} {release-version}, the background styling for code snippets in AI in-chat responses has been corrected to fully cover the entire snippet area. Code snippets now display with complete and consistent background coverage, improving readability and visual consistency.
78
+
79
+
==== Tag removal was not disabled while the AI was responding
80
+
// #TINY-14132
81
+
82
+
Previously, the dismiss buttons on context tags in the TinyMCE AI Chat panel remained active while the AI was generating a response. This allowed tags to be removed during response generation, which could interfere with the response context and produce unexpected results.
83
+
84
+
In {productname} {release-version}, the dismiss buttons on context tags are now disabled while the AI is generating a response. Tags can only be removed once the response is complete, preventing unintended modifications to the request context during generation.
85
+
86
+
==== The user prompt background color was incorrect in the AI Chat dark mode
87
+
// #TINY-14160
88
+
89
+
Previously, the user prompt background color in the TinyMCE AI Chat panel was incorrect when using the dark skin. The low contrast between the text and background made prompts more difficult to read, reducing accessibility and usability of the AI Chat interface in dark mode.
90
+
91
+
In {productname} {release-version}, the user prompt background color in the AI Chat panel has been corrected for the dark skin. The updated color provides proper contrast, improving readability and accessibility for dark mode users.
92
+
93
+
==== Tab could be used to move focus between segmented button options in the preview footer
94
+
// #TINY-14161
95
+
96
+
Previously, the Tab key could be used to move focus between individual options within the segmented button in the TinyMCE AI preview mode footer. This was inconsistent with standard keyboard navigation behavior, where arrow keys should navigate between options in a segmented control and Tab should move focus to the next interactive element outside the group.
97
+
98
+
In {productname} {release-version}, the focus order in the TinyMCE AI preview footer has been corrected. The Tab key now moves focus to the next interactive element outside the segmented button, and arrow keys navigate between options within the group. This provides a more predictable and accessible keyboard navigation experience.
99
+
100
+
==== Reduced spacing between label and body in decision card details
101
+
// #TINY-14057
102
+
103
+
Previously, the spacing between the label and body elements in the TinyMCE AI decision card details was larger than intended. The combined gap and padding resulted in 24 pixels of space between these elements, creating a visually inconsistent layout within the card.
104
+
105
+
In {productname} {release-version}, the internal spacing in the decision card has been reduced to a consistent 12 pixels between elements. This provides a more compact and visually cohesive card layout in the TinyMCE AI interface.
106
+
107
+
==== New chat button was not disabled when the chat was empty
108
+
// #TINY-14094
109
+
110
+
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.
111
+
112
+
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.
113
+
114
+
**TinyMCE AI** includes the following fixes, improvements and additions.
115
+
116
+
==== Layout would shift causing the text to jump when action button appears on hover in the chat history list
117
+
// #TINY-14157
118
+
119
+
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.
120
+
121
+
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.
122
+
123
+
==== Focus is no longer lost when deleting a context source using delete or backspace key.
124
+
// #TINY-13949
125
+
126
+
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.
127
+
128
+
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.
129
+
130
+
==== `ToggleSidebar` events were not being triggered when toggling floating sidebars
131
+
// #TINY-14243
132
+
133
+
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.
134
+
135
+
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.
136
+
137
+
==== AI Review suggestion cards now stay available when you close and reopen the review sidebar while suggestions are still loading
138
+
// #TINY-14197
139
+
140
+
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.
141
+
142
+
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.
143
+
144
+
==== Menus no longer close on mouse out.
145
+
// #TINY-14055
146
+
147
+
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.
148
+
149
+
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.
150
+
151
+
==== The first loading card during a review no longer appears focused
152
+
// #TINY-14077
153
+
154
+
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.
155
+
156
+
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.
157
+
158
+
==== New commands for executing AI UI actions
159
+
// #TINY-14266
160
+
161
+
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.
162
+
163
+
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].
164
+
165
+
==== New optional `id` property to `tinymceai_quickactions_custom` to register the action as custom menu item
166
+
// #TINY-14229
167
+
168
+
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.
169
+
170
+
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.
171
+
172
+
==== Loader in the chat was normal size instead of small size
173
+
// #TINY-14155
174
+
175
+
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.
176
+
177
+
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.
178
+
179
+
==== While the plugin is generating a review or quick action, the Stop button in the loading indicator receives focus
180
+
// #TINY-14083
181
+
182
+
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.
183
+
184
+
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.
185
+
186
+
For information on the **TinyMCE AI** plugin, see: xref:tinymceai.adoc[TinyMCE AI].
@@ -49,10 +193,17 @@ The {productname} {release-version} release includes an accompanying release of
49
193
50
194
=== Enhanced Skins & Icon Packs
51
195
52
-
The **Enhanced Skins & Icon Packs** release includes the following updates:
196
+
The **Enhanced Skins & Icon Packs** release includes the following updates and fix.
53
197
54
198
The **Enhanced Skins & Icon Packs** were rebuilt to pull in the changes also incorporated into the default {productname} {release-version} skin, Oxide.
55
199
200
+
==== Premium content CSS files contained extraneous styles from the default theme
201
+
// #TINY-14129
202
+
203
+
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.
204
+
205
+
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.
206
+
56
207
For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-and-icon-packs.adoc[Enhanced Skins & Icon Packs].
57
208
58
209
@@ -88,6 +239,11 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
88
239
89
240
// CCFR here.
90
241
242
+
=== Updated the Review list accordion item background color
243
+
// #TINY-14158
244
+
245
+
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.
246
+
91
247
92
248
[[removed]]
93
249
== Removed
@@ -117,6 +273,34 @@ Previously, alert and confirm dialogs in {productname} were not announced correc
117
273
118
274
In {productname} {release-version}, alert and confirm dialogs now include proper ARIA attributes that reference the dialog content. Screen readers announce the dialog message when the dialog opens, providing an accessible experience for all users.
119
275
276
+
=== Certain selections would delete the editor body, causing issues
277
+
// #TINY-14149
278
+
279
+
Previously, selecting content that included a table by dragging from inside the editor and releasing the mouse button outside the editor, then pressing the Delete key, could remove the editor body element from the DOM. This caused a console error and left the editor in an unusable state where any subsequent interaction, such as focusing or selecting content, would produce additional errors.
280
+
281
+
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.
282
+
283
+
=== Certain combinations of divs inside of lists would cause issues turning off lists
284
+
// #TINY-14070
285
+
286
+
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.
287
+
288
+
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.
289
+
290
+
=== Script and style elements would incorrectly be removed by DOMPurify when considered valid in the schema
291
+
// #TINY-9655
292
+
293
+
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.
294
+
295
+
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.
296
+
297
+
=== Iframe elements with children would incorrectly be removed by DOMPurify
298
+
// #TINY-9655
299
+
300
+
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.
301
+
302
+
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