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
The following premium plugin updates were released alongside {productname} {release-version}.
31
31
32
+
=== <Premium plugin name 1> <Premium plugin name 1 version>
33
+
34
+
The {productname} {release-version} release includes an accompanying release of the **<Premium plugin name 1>** premium plugin.
35
+
36
+
**<Premium plugin name 1>** <Premium plugin name 1 version> includes the following <fixes, changes, improvements>.
37
+
38
+
==== <Premium plugin name 1 change 1>
39
+
40
+
// CCFR here.
41
+
42
+
For information on the **<Premium plugin name 1>** plugin, see: xref:<plugincode>.adoc[<Premium plugin name 1>].
43
+
32
44
=== TinyMCE AI
33
45
34
46
The {productname} {release-version} release includes an accompanying release of the **TinyMCE AI** premium plugin.
35
47
36
-
**TinyMCE AI** includes the following fixes.
48
+
**TinyMCE AI** includes the following fixes, improvements and additions.
37
49
38
50
==== `ToggleSidebar` events were not being triggered when toggling floating sidebars
39
51
// #TINY-14243
@@ -42,19 +54,56 @@ Previously, the `+ToggleSidebar+` event was not emitted when opening or closing
42
54
43
55
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.
44
56
45
-
For information on the **TinyMCE AI** plugin, see: xref:tinymceai.adoc[TinyMCE AI].
57
+
==== AI Review suggestion cards now stay available when you close and reopen the review sidebar while suggestions are still loading
58
+
// #TINY-14197
46
59
47
-
=== <Premium plugin name 1> <Premium plugin name 1 version>
60
+
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.
48
61
49
-
The {productname} {release-version} release includes an accompanying release of the **<Premium plugin name 1>** premium plugin.
62
+
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.
50
63
51
-
**<Premium plugin name 1>** <Premium plugin name 1 version> includes the following <fixes, changes, improvements>.
64
+
==== Menus no longer close on mouse out.
65
+
// #TINY-14055
52
66
53
-
==== <Premium plugin name 1 change 1>
67
+
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.
54
68
55
-
// CCFR here.
69
+
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.
56
70
57
-
For information on the **<Premium plugin name 1>** plugin, see: xref:<plugincode>.adoc[<Premium plugin name 1>].
71
+
==== The first loading card during a review no longer appears focused
72
+
// #TINY-14077
73
+
74
+
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.
75
+
76
+
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.
77
+
78
+
==== New commands for executing AI UI actions
79
+
// #TINY-14266
80
+
81
+
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.
82
+
83
+
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].
84
+
85
+
==== New optional `id` property to `tinymceai_quickactions_custom` to register the action as custom menu item
86
+
// #TINY-14229
87
+
88
+
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.
89
+
90
+
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.
91
+
92
+
==== Loader in the chat was normal size instead of small size
93
+
// #TINY-14155
94
+
95
+
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.
96
+
97
+
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.
98
+
99
+
==== While the plugin is generating a review or quick action, the Stop button in the loading indicator receives focus
100
+
// #TINY-14083
101
+
102
+
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.
103
+
104
+
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.
105
+
106
+
For information on the **TinyMCE AI** plugin, see: xref:tinymceai.adoc[TinyMCE AI].
@@ -103,6 +152,11 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
103
152
104
153
// CCFR here.
105
154
155
+
=== Updated the Review list accordion item background color
156
+
// #TINY-14158
157
+
158
+
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.
159
+
106
160
107
161
[[removed]]
108
162
== Removed
@@ -125,6 +179,27 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
125
179
126
180
// CCFR here.
127
181
182
+
=== Certain combinations of divs inside of lists would cause issues turning off lists
183
+
// #TINY-14070
184
+
185
+
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.
186
+
187
+
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.
188
+
189
+
=== Script and style elements would incorrectly be removed by DOMPurify when considered valid in the schema
190
+
// #TINY-9655
191
+
192
+
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.
193
+
194
+
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.
195
+
196
+
=== Iframe elements with children would incorrectly be removed by DOMPurify
197
+
// #TINY-9655
198
+
199
+
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.
200
+
201
+
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