Skip to content

Commit 1e1981e

Browse files
authored
Merge branch 'feature/8.5.0/DOC-3355' into feature/8.5.0/DOC-3355_TINY-14256
2 parents 331775e + 256d72a commit 1e1981e

3 files changed

Lines changed: 113 additions & 2 deletions

File tree

-40.7 KB
Loading

modules/ROOT/pages/8.5.0-release-notes.adoc

Lines changed: 112 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,84 @@ In {productname} {release-version}, PowerPaste now correctly handles the `baseli
5656

5757
For information on the **PowerPaste** plugin, see: xref:introduction-to-powerpaste.adoc[PowerPaste].
5858

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+
==== Layout would shift causing the text to jump when action button appears on hover in the chat history list
66+
// #TINY-14157
67+
68+
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.
69+
70+
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.
71+
72+
==== Focus is no longer lost when deleting a context source using delete or backspace key.
73+
// #TINY-13949
74+
75+
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.
76+
77+
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.
78+
79+
==== `ToggleSidebar` events were not being triggered when toggling floating sidebars
80+
// #TINY-14243
81+
82+
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.
83+
84+
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.
85+
86+
==== AI Review suggestion cards now stay available when you close and reopen the review sidebar while suggestions are still loading
87+
// #TINY-14197
88+
89+
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.
90+
91+
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.
92+
93+
==== Menus no longer close on mouse out.
94+
// #TINY-14055
95+
96+
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.
97+
98+
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.
99+
100+
==== The first loading card during a review no longer appears focused
101+
// #TINY-14077
102+
103+
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.
104+
105+
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.
106+
107+
==== New commands for executing AI UI actions
108+
// #TINY-14266
109+
110+
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.
111+
112+
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].
113+
114+
==== New optional `id` property to `tinymceai_quickactions_custom` to register the action as custom menu item
115+
// #TINY-14229
116+
117+
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.
118+
119+
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.
120+
121+
==== Loader in the chat was normal size instead of small size
122+
// #TINY-14155
123+
124+
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.
125+
126+
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.
127+
128+
==== While the plugin is generating a review or quick action, the Stop button in the loading indicator receives focus
129+
// #TINY-14083
130+
131+
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.
132+
133+
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.
134+
135+
For information on the **TinyMCE AI** plugin, see: xref:tinymceai.adoc[TinyMCE AI].
136+
59137

60138
[[accompanying-enhanced-skins-and-icon-packs-changes]]
61139
== Accompanying Enhanced Skins & Icon Packs changes
@@ -64,10 +142,17 @@ The {productname} {release-version} release includes an accompanying release of
64142

65143
=== Enhanced Skins & Icon Packs
66144

67-
The **Enhanced Skins & Icon Packs** release includes the following updates:
145+
The **Enhanced Skins & Icon Packs** release includes the following updates and fix.
68146

69147
The **Enhanced Skins & Icon Packs** were rebuilt to pull in the changes also incorporated into the default {productname} {release-version} skin, Oxide.
70148

149+
==== Premium content CSS files contained extraneous styles from the default theme
150+
// #TINY-14129
151+
152+
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.
153+
154+
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.
155+
71156
For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-and-icon-packs.adoc[Enhanced Skins & Icon Packs].
72157

73158

@@ -103,6 +188,11 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
103188

104189
// CCFR here.
105190

191+
=== Updated the Review list accordion item background color
192+
// #TINY-14158
193+
194+
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.
195+
106196

107197
[[removed]]
108198
== Removed
@@ -125,6 +215,27 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
125215

126216
// CCFR here.
127217

218+
=== Certain combinations of divs inside of lists would cause issues turning off lists
219+
// #TINY-14070
220+
221+
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.
222+
223+
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.
224+
225+
=== Script and style elements would incorrectly be removed by DOMPurify when considered valid in the schema
226+
// #TINY-9655
227+
228+
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.
229+
230+
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.
231+
232+
=== Iframe elements with children would incorrectly be removed by DOMPurify
233+
// #TINY-9655
234+
235+
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.
236+
237+
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.
238+
128239

129240
[[security-fixes]]
130241
== Security fixes

modules/ROOT/pages/fullpagehtml.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ include::partial$misc/bundling-guide-link.adoc[]
4141
[WARNING]
4242
====
4343
**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.
4545
4646
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:
4747

0 commit comments

Comments
 (0)