From c8ad76a9833cd8d54de13583db0db722706d645d Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 8 Jul 2026 12:54:16 +1000 Subject: [PATCH 1/2] TINYDOC-3528: TinyMCE 8.8.0 Release Documentation. --- modules/ROOT/nav.adoc | 16 ++ modules/ROOT/pages/8.8.0-release-notes.adoc | 195 ++++++++++++++++++ modules/ROOT/pages/changelog.adoc | 4 + modules/ROOT/pages/release-notes.adoc | 8 +- .../partials/misc/supported-versions.adoc | 1 + 5 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 modules/ROOT/pages/8.8.0-release-notes.adoc diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index a672874474..8a1ffb1aed 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -420,6 +420,22 @@ ** xref:tinymce-and-cors.adoc[Cross-Origin Resource Sharing (CORS)] * Release information ** xref:release-notes.adoc[Release notes for {productname}] +*** {productname} 8.8.0 +**** xref:8.8.0-release-notes.adoc#overview[Overview] +**** xref:8.8.0-release-notes.adoc#new-premium-plugin[New Premium Plugin] +**** xref:8.8.0-release-notes.adoc#new-open-source-plugin[New Open Source Plugin] +**** xref:8.8.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium Plugin changes] +**** xref:8.8.0-release-notes.adoc#accompanying-premium-plugin-end-of-life-announcement[Accompanying Premium Plugin end-of-life announcement] +**** xref:8.8.0-release-notes.adoc#accompanying-open-source-plugin-end-of-life-announcement[Accompanying Open Source Plugin end-of-life announcement] +**** xref:8.8.0-release-notes.adoc#accompanying-enhanced-skins-and-icon-packs-changes[Accompanying Enhanced Skins & Icon Packs changes] +**** xref:8.8.0-release-notes.adoc#improvements[Improvements] +**** xref:8.8.0-release-notes.adoc#additions[Additions] +**** xref:8.8.0-release-notes.adoc#changes[Changes] +**** xref:8.8.0-release-notes.adoc#removed[Removed] +**** xref:8.8.0-release-notes.adoc#bug-fixes[Bug fixes] +**** xref:8.8.0-release-notes.adoc#security-fixes[Security fixes] +**** xref:8.8.0-release-notes.adoc#deprecated[Deprecated] +**** xref:8.8.0-release-notes.adoc#known-issues[Known issues] *** {productname} 8.7.0 **** xref:8.7.0-release-notes.adoc#overview[Overview] **** xref:8.7.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium Plugin changes] diff --git a/modules/ROOT/pages/8.8.0-release-notes.adoc b/modules/ROOT/pages/8.8.0-release-notes.adoc new file mode 100644 index 0000000000..1e1e6859ea --- /dev/null +++ b/modules/ROOT/pages/8.8.0-release-notes.adoc @@ -0,0 +1,195 @@ += {productname} {release-version} +:release-version: 8.8.0 +:navtitle: {productname} {release-version} +:description: Release notes for {productname} {release-version} +:keywords: releasenotes, new, changes, bugfixes +:page-toclevels: 1 + +include::partial$misc/admon-releasenotes-for-stable.adoc[] + + +[[overview]] +== Overview + +{productname} {release-version} was released for {enterpriseversion} and {cloudname} on ,
^^, . These release notes provide an overview of the changes for {productname} {release-version}, including: + +// Remove sections and section boilerplates as necessary. +// Pluralise as necessary or remove the placeholder plural marker. +* xref:new-premium-plugin[New Premium plugin] +* xref:new-open-source-plugin[New Open Source plugin] +* xref:accompanying-premium-plugin-changes[Accompanying Premium plugin changes] +* xref:accompanying-premium-plugin-end-of-life-announcement[Accompanying Premium plugin end-of-life announcement] +* xref:accompanying-open-source-plugin-end-of-life-announcement[Accompanying open source plugin end-of-life-announcement] +* xref:accompanying-enhanced-skins-and-icon-packs-changes[Accompanying Enhanced Skins & Icon Packs changes] +* xref:improvements[Improvements] +* xref:additions[Additions] +* xref:changes[Changes] +* xref:bug-fixes[Bug fixes] +* xref:security-fixes[Security fixes] +* xref:deprecated[Deprecated] +* xref:known-issues[Known issues] + + +[[new-premium-plugin]] +== New Premium plugin + +The following new Premium plugin was released alongside {productname} {release-version}. + +=== + +The new Premium plugin, **** // description here. + +For information on the **** plugin, see xref:.adoc[]. + + +[[new-open-source-plugin]] +== New Open Source plugin + +The following new Open Source plugin was released alongside {productname} {release-version}. + +=== + +The new open source plugin, **** // description here. + +For information on the **** plugin, see xref:.adoc[]. + + +[[accompanying-premium-plugin-changes]] +== Accompanying Premium plugin changes + +The following premium plugin updates were released alongside {productname} {release-version}. + +=== + +The {productname} {release-version} release includes an accompanying release of the **** premium plugin. + +**** includes the following . + +==== + +// CCFR here. + +For information on the **** plugin, see: xref:.adoc[]. + + +[[accompanying-premium-plugin-end-of-life-announcement]] +== Accompanying Premium plugin end-of-life announcement + +The following Premium plugin has been announced as reaching its end-of-life: + +=== + +{productname}’s xref:.adoc[] plugin will be deactivated on
, , and is no longer available for purchase. + + +[[accompanying-open-source-plugin-end-of-life-announcement]] +== Accompanying open source plugin end-of-life announcement + +The following open source plugin has been announced as reaching its end-of-life: + +=== + +{productname}’s xref:.adoc[] plugin will be deactivated on
, , and is no longer available for purchase. + + +[[accompanying-enhanced-skins-and-icon-packs-changes]] +== Accompanying Enhanced Skins & Icon Packs changes + +The {productname} {release-version} release includes an accompanying release of the **Enhanced Skins & Icon Packs**. + +=== Enhanced Skins & Icon Packs + +The **Enhanced Skins & Icon Packs** release includes the following updates: + +The **Enhanced Skins & Icon Packs** were rebuilt to pull in the changes also incorporated into the default {productname} {release-version} skin, Oxide. + +For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-and-icon-packs.adoc[Enhanced Skins & Icon Packs]. + + +[[improvements]] +== Improvements + +{productname} {release-version} also includes the following improvement: + +=== +// #TINY-vwxyz1 + +// CCFR here. + + +[[additions]] +== Additions + +{productname} {release-version} also includes the following addition: + +=== +// #TINY-vwxyz1 + +// CCFR here. + + +[[changes]] +== Changes + +{productname} {release-version} also includes the following change: + +=== +// #TINY-vwxyz1 + +// CCFR here. + + +[[removed]] +== Removed + +{productname} {release-version} also includes the following removal: + +=== +// #TINY-vwxyz1 + +// CCFR here. + + +[[bug-fixes]] +== Bug fixes + +{productname} {release-version} also includes the following bug fix: + +=== +// #TINY-vwxyz1 + +// CCFR here. + + +[[security-fixes]] +== Security fixes + +{productname} {release-version} includes : + +=== +// #TINY-vwxyz1 + +// CCFR here. + + +[[deprecated]] +== Deprecated + +{productname} {release-version} includes the following deprecation: + +=== The `` configuration property, ``, has been deprecated + +// placeholder here. + + +[[known-issues]] +== Known issues + +This section describes issues that users of {productname} {release-version} may encounter and possible workarounds for these issues. + +There known issue in {productname} {release-version}. + +=== +// #TINY-vwxyz1 + +// CCFR here. diff --git a/modules/ROOT/pages/changelog.adoc b/modules/ROOT/pages/changelog.adoc index 7622c6b303..8a3e74752b 100644 --- a/modules/ROOT/pages/changelog.adoc +++ b/modules/ROOT/pages/changelog.adoc @@ -4,6 +4,10 @@ NOTE: This is the {productname} Community version changelog. For information about the latest {cloudname} or {enterpriseversion} Release, see: xref:release-notes.adoc[{productname} Release Notes]. +== xref:8.8.0-release-notes.adoc[8.8.0 - ] + +//TODO + == xref:8.7.0-release-notes.adoc[8.7.0 - 2026-06-30] ### Added diff --git a/modules/ROOT/pages/release-notes.adoc b/modules/ROOT/pages/release-notes.adoc index 2c58ad2642..accc4603c0 100644 --- a/modules/ROOT/pages/release-notes.adoc +++ b/modules/ROOT/pages/release-notes.adoc @@ -8,6 +8,12 @@ This section lists the releases for {productname} {productmajorversion} and the [cols="1,1"] |=== +a| +[.lead] +xref:8.8.0-release-notes.adoc#overview[{productname} 8.8.0] + +Release notes for {productname} 8.8.0 + a| [.lead] xref:8.7.0-release-notes.adoc#overview[{productname} 8.7.0] @@ -110,5 +116,5 @@ xref:8.0-release-notes.adoc#overview[{productname} 8.0.0] Release notes for {productname} 8.0.0 // Uncomment the dummy cell when the number of cells in the table is odd to ensure the table renders correctly. -a| +// a| |=== diff --git a/modules/ROOT/partials/misc/supported-versions.adoc b/modules/ROOT/partials/misc/supported-versions.adoc index 934e791bc6..8f559df8b8 100644 --- a/modules/ROOT/partials/misc/supported-versions.adoc +++ b/modules/ROOT/partials/misc/supported-versions.adoc @@ -6,6 +6,7 @@ Supported versions of {productname}: [cols="^,^,^",options="header"] |=== |Version |Release Date |End of Premium Support +|8.8 | | |8.7 |2026-06-30 |2027-12-30 |8.6 |2026-06-03 |2027-12-03 |8.5 |2026-04-29 |2027-10-29 From 05428a20d2b0f704ec4f5454c83dcdd6a3c092cf Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 15 Jul 2026 12:54:12 +1000 Subject: [PATCH 2/2] TINYDOC-3528 - TinyMCE 8.8.0 Release Documentation and Community Changelog (#4262) * TINYDOC-3528 - Populate TinyMCE 8.8.0 release date * Docs: TINYDOC-3528 - The TinyMCE AI plugin now ignores non-string values returned by tinymceai_tool_data_callback (#4273) * Docs: TINYDOC-3528 - The TinyMCE AI chat sidebar now shows only one tooltip at a time (#4272) * TINYDOC-3528: Added configurable welcome actions to the TinyMCE AI Chat empty state (#4267) * Docs: TINYDOC-3528 - Added configurable welcome actions to the TinyMCE AI Chat empty state * Docs: TINYDOC-3528 - Expand tinymceai_chat_welcome_actions example with interleaved text, ToggleSidebar, and non-AI command * Docs: TINYDOC-3528 - Add welcome actions to the TinyMCE AI chat live demo * TINYDOC-3528: Clicking the reply button triggered an editor blur event (#4271) * Docs: TINYDOC-3528 - Clicking the reply button triggered an editor blur event * Docs: TINYDOC-3528 - Reference the concrete reply count button in the blur event note * Update modules/ROOT/pages/8.8.0-release-notes.adoc Co-authored-by: tiny-ben-tran * Docs: TINYDOC-3528 - Correct the blur event mechanism to focus loss to document body --------- Co-authored-by: tiny-ben-tran * Docs: TINYDOC-3528 - Double tooltips appeared on tags in the prompt context in Safari (#4270) * TINYDOC-3528: The cursor could be placed at the start of a list item instead of the clicked position (#4269) * Docs: TINYDOC-3528 - The cursor could be placed at the start of a list item instead of the clicked position * Docs: TINYDOC-3528 - Link the upstream Chromium issue in the list-item cursor fix note * Docs: TINYDOC-3528 - Clarify the list item cursor bug affects clicks after the text ends * TINYDOC-3528: Clicking anchor links with special characters could throw a querySelectorAll error (#4268) * Docs: TINYDOC-3528 - Clicking anchor links with special characters could throw a querySelectorAll error * Docs: TINYDOC-3528 - Expand querySelectorAll anchor fix note with error message and full fix scope * TINYDOC-3528: Added the aria-valuenow, aria-valuemin, and aria-valuemax attributes to the editor resize handle when resizing vertically (#4265) * Docs: TINYDOC-3528 - Added the aria-valuenow, aria-valuemin, and aria-valuemax attributes to the editor resize handle when resizing vertically * Docs: TINYDOC-3528 - Link WAI-ARIA separator spec and document aria-valuemax fallback in resize handle note * Docs: TINYDOC-3528 - Opening table properties on a nested table could edit the wrong table (#4263) * Docs: TINYDOC-3528 - Updated the bundled DOMPurify dependency to the latest version (#4264) * Docs: TINYDOC-3528 - The misspelled word highlight disappeared when pressing Enter to create a new line (#4266) * TINYDOC-3528: Add changelog. * TINYDOC-3528: Template cleanup for release preperation. * TINYDOC-3528: Move heading into premium section. * TINYDOC-3528: api-version bump. --------- Co-authored-by: tiny-ben-tran --- .api-version | 2 +- .../examples/live-demos/tinymceai/example.js | 8 + .../examples/live-demos/tinymceai/index.js | 8 + modules/ROOT/nav.adoc | 11 -- modules/ROOT/pages/8.8.0-release-notes.adoc | 179 ++++++------------ modules/ROOT/pages/changelog.adoc | 14 +- .../configuration/tinymceai_options.adoc | 48 +++++ .../partials/misc/supported-versions.adoc | 2 +- 8 files changed, 139 insertions(+), 133 deletions(-) diff --git a/.api-version b/.api-version index c0bcaebe8f..cfc27b4fab 100644 --- a/.api-version +++ b/.api-version @@ -1 +1 @@ -8.7.0 \ No newline at end of file +8.8.0 \ No newline at end of file diff --git a/modules/ROOT/examples/live-demos/tinymceai/example.js b/modules/ROOT/examples/live-demos/tinymceai/example.js index be2e035af6..03786aa8b2 100644 --- a/modules/ROOT/examples/live-demos/tinymceai/example.js +++ b/modules/ROOT/examples/live-demos/tinymceai/example.js @@ -6,6 +6,14 @@ tinymce.init({ plugins: ['tinymceai', 'advlist', 'lists', 'link', 'autolink', 'table', 'wordcount'], toolbar: 'undo redo | tinymceai-chat ai-quickactions-translate tinymceai-review | styles | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link', sidebar_show: 'tinymceai-chat', + tinymceai_chat_welcome_message: '

Welcome to TinyMCE AI. Pick an action below or type your own prompt.

', + tinymceai_chat_welcome_actions: [ + { text: 'Here are some actions to get started:' }, + { title: 'Summarize the document', command: 'TinyMCEAIQuickActionsSummarize' }, + { title: 'Continue writing', command: 'TinyMCEAIQuickActionContinueWriting' }, + { title: 'Translate to Spanish', command: 'TinyMCEAIQuickActionTranslate', value: 'spanish' }, + { title: 'Review my document', command: 'ToggleSidebar', value: 'tinymceai-review' } + ], tinymceai_token_provider: async () => { return fetch('/api/tinymceai-token', { credentials: 'include' }) .then(resp => resp.text()) diff --git a/modules/ROOT/examples/live-demos/tinymceai/index.js b/modules/ROOT/examples/live-demos/tinymceai/index.js index a5b7ebd3a4..c1b12a167a 100644 --- a/modules/ROOT/examples/live-demos/tinymceai/index.js +++ b/modules/ROOT/examples/live-demos/tinymceai/index.js @@ -27,6 +27,14 @@ tinymce.init({ toolbar: 'undo redo | tinymceai-chat tinymceai-review ai-quickactions-translate spellchecker | styles | bold italic underline forecolor backcolor casechange | link uploadcare table addcomment | align bullist numlist checklist removeformat | code fullscreen help', quickbars_selection_toolbar: 'tinymceai-quickactions addcomment', sidebar_show: 'tinymceai-chat', + tinymceai_chat_welcome_message: '

Welcome to TinyMCE AI. Pick an action below or type your own prompt.

', + tinymceai_chat_welcome_actions: [ + { text: 'Here are some actions to get started:' }, + { title: 'Summarize the document', command: 'TinyMCEAIQuickActionsSummarize' }, + { title: 'Continue writing', command: 'TinyMCEAIQuickActionContinueWriting' }, + { title: 'Translate to Spanish', command: 'TinyMCEAIQuickActionTranslate', value: 'spanish' }, + { title: 'Review my document', command: 'ToggleSidebar', value: 'tinymceai-review' } + ], toolbar_mode: 'sliding', visual: false, images_file_types: 'jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp,svg', diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 8a1ffb1aed..470e7a3a4e 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -422,20 +422,9 @@ ** xref:release-notes.adoc[Release notes for {productname}] *** {productname} 8.8.0 **** xref:8.8.0-release-notes.adoc#overview[Overview] -**** xref:8.8.0-release-notes.adoc#new-premium-plugin[New Premium Plugin] -**** xref:8.8.0-release-notes.adoc#new-open-source-plugin[New Open Source Plugin] **** xref:8.8.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium Plugin changes] -**** xref:8.8.0-release-notes.adoc#accompanying-premium-plugin-end-of-life-announcement[Accompanying Premium Plugin end-of-life announcement] -**** xref:8.8.0-release-notes.adoc#accompanying-open-source-plugin-end-of-life-announcement[Accompanying Open Source Plugin end-of-life announcement] -**** xref:8.8.0-release-notes.adoc#accompanying-enhanced-skins-and-icon-packs-changes[Accompanying Enhanced Skins & Icon Packs changes] **** xref:8.8.0-release-notes.adoc#improvements[Improvements] -**** xref:8.8.0-release-notes.adoc#additions[Additions] -**** xref:8.8.0-release-notes.adoc#changes[Changes] -**** xref:8.8.0-release-notes.adoc#removed[Removed] **** xref:8.8.0-release-notes.adoc#bug-fixes[Bug fixes] -**** xref:8.8.0-release-notes.adoc#security-fixes[Security fixes] -**** xref:8.8.0-release-notes.adoc#deprecated[Deprecated] -**** xref:8.8.0-release-notes.adoc#known-issues[Known issues] *** {productname} 8.7.0 **** xref:8.7.0-release-notes.adoc#overview[Overview] **** xref:8.7.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium Plugin changes] diff --git a/modules/ROOT/pages/8.8.0-release-notes.adoc b/modules/ROOT/pages/8.8.0-release-notes.adoc index 1e1e6859ea..0a646a3ffc 100644 --- a/modules/ROOT/pages/8.8.0-release-notes.adoc +++ b/modules/ROOT/pages/8.8.0-release-notes.adoc @@ -11,47 +11,11 @@ include::partial$misc/admon-releasenotes-for-stable.adoc[] [[overview]] == Overview -{productname} {release-version} was released for {enterpriseversion} and {cloudname} on ,
^^, . These release notes provide an overview of the changes for {productname} {release-version}, including: +{productname} {release-version} was released for {enterpriseversion} and {cloudname} on Wednesday, July 15^th^, 2026. These release notes provide an overview of the changes for {productname} {release-version}, including: -// Remove sections and section boilerplates as necessary. -// Pluralise as necessary or remove the placeholder plural marker. -* xref:new-premium-plugin[New Premium plugin] -* xref:new-open-source-plugin[New Open Source plugin] * xref:accompanying-premium-plugin-changes[Accompanying Premium plugin changes] -* xref:accompanying-premium-plugin-end-of-life-announcement[Accompanying Premium plugin end-of-life announcement] -* xref:accompanying-open-source-plugin-end-of-life-announcement[Accompanying open source plugin end-of-life-announcement] -* xref:accompanying-enhanced-skins-and-icon-packs-changes[Accompanying Enhanced Skins & Icon Packs changes] * xref:improvements[Improvements] -* xref:additions[Additions] -* xref:changes[Changes] * xref:bug-fixes[Bug fixes] -* xref:security-fixes[Security fixes] -* xref:deprecated[Deprecated] -* xref:known-issues[Known issues] - - -[[new-premium-plugin]] -== New Premium plugin - -The following new Premium plugin was released alongside {productname} {release-version}. - -=== - -The new Premium plugin, **** // description here. - -For information on the **** plugin, see xref:.adoc[]. - - -[[new-open-source-plugin]] -== New Open Source plugin - -The following new Open Source plugin was released alongside {productname} {release-version}. - -=== - -The new open source plugin, **** // description here. - -For information on the **** plugin, see xref:.adoc[]. [[accompanying-premium-plugin-changes]] @@ -59,137 +23,116 @@ For information on the **** plugin, see xref: - -The {productname} {release-version} release includes an accompanying release of the **** premium plugin. - -**** includes the following . +=== Spell Checker -==== +The {productname} {release-version} release includes an accompanying release of the **Spell Checker** premium plugin. -// CCFR here. +**Spell Checker** includes the following fix. -For information on the **** plugin, see: xref:.adoc[]. +==== The misspelled word highlight disappeared when pressing Enter to create a new line +// #TINYMCE-12934 +Previously, deleting the last letter of a misspelled word with the *Backspace* key and then pressing *Enter* to start a new line removed the red highlight from the word, even though the word remained misspelled. The Spell Checker plugin did not re-check the affected line after the new block was created, so the word appeared as though it were spelled correctly. -[[accompanying-premium-plugin-end-of-life-announcement]] -== Accompanying Premium plugin end-of-life announcement +In {productname} {release-version}, the Spell Checker plugin re-checks both the new line and the previous line after a new block is created. Words that remain misspelled keep their highlighting. -The following Premium plugin has been announced as reaching its end-of-life: +For information on the **Spell Checker** plugin, see: xref:introduction-to-tiny-spellchecker.adoc[Spell Checker]. -=== +=== Comments -{productname}’s xref:.adoc[] plugin will be deactivated on
, , and is no longer available for purchase. +The {productname} {release-version} release includes an accompanying release of the **Comments** premium plugin. +**Comments** includes the following fix. -[[accompanying-open-source-plugin-end-of-life-announcement]] -== Accompanying open source plugin end-of-life announcement +==== Clicking the reply button triggered an editor blur event +// #TINYMCE-12236 -The following open source plugin has been announced as reaching its end-of-life: +Previously, selecting the reply button on a comment thread, such as *1 reply*, could cause the editor to fire a `+blur+` event, even though the user was still working within the editor. Expanding the replies re-rendered the comment, and because the focused element was removed during the re-render, focus fell back to the document body instead of remaining within the editor. The editor interpreted this loss of focus as the user leaving the editor entirely. Applications that rely on the `+blur+` event to detect when editing has finished could behave incorrectly. -=== +In {productname} {release-version}, the Comments plugin preserves editor focus when expanding replies. The editor no longer fires an unexpected `+blur+` event when the reply button is selected. -{productname}’s xref:.adoc[] plugin will be deactivated on
, , and is no longer available for purchase. +For information on the **Comments** plugin, see: xref:introduction-to-tiny-comments.adoc[Comments]. +=== TinyMCE AI -[[accompanying-enhanced-skins-and-icon-packs-changes]] -== Accompanying Enhanced Skins & Icon Packs changes +The {productname} {release-version} release includes an accompanying release of the **TinyMCE AI** premium plugin. -The {productname} {release-version} release includes an accompanying release of the **Enhanced Skins & Icon Packs**. +**TinyMCE AI** includes the following addition and fixes. -=== Enhanced Skins & Icon Packs +=== Added configurable welcome actions to the TinyMCE AI Chat empty state +// #TINYMCE-14508 -The **Enhanced Skins & Icon Packs** release includes the following updates: +In {productname} {release-version}, the TinyMCE AI Chat sidebar can display a configurable set of welcome actions in its empty state, giving users suggested starting points instead of a blank prompt. Each item can show descriptive text or a button that runs a Quick Action, sends a chat prompt, or runs another editor command. Welcome actions appear before the first request is sent and are hidden once a conversation begins. -The **Enhanced Skins & Icon Packs** were rebuilt to pull in the changes also incorporated into the default {productname} {release-version} skin, Oxide. +Welcome actions are configured with the new xref:tinymceai.adoc#tinymceai_chat_welcome_actions[`+tinymceai_chat_welcome_actions+`] option and are disabled by default. -For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-and-icon-packs.adoc[Enhanced Skins & Icon Packs]. +==== Double tooltips appeared on tags in the prompt context in Safari +// #TINYMCE-14485 +Previously, in Safari, hovering over the context source tags in the AI Chat prompt could display duplicated tooltips, and a tooltip could appear even when the tag text was not truncated. The tags were missing the attribute that prevents tooltip duplication in Safari. -[[improvements]] -== Improvements - -{productname} {release-version} also includes the following improvement: - -=== -// #TINY-vwxyz1 +In {productname} {release-version}, the context source tags include the attribute that resolves Safari tooltip duplication. Each tag now shows a single tooltip, and only when its text is truncated. -// CCFR here. +==== The {productname} AI plugin now ignores non-string values returned by `tinymceai_tool_data_callback` +// #TINYMCE-14525 +Previously, the xref:tinymceai.adoc#tinymceai_tool_data_callback[`+tinymceai_tool_data_callback+`] callback could return a value that was not a string, such as a number. The **TinyMCE AI** plugin then displayed that value directly in the Chat sidebar status message, even though the option documents a return type of `+string | undefined+`. As a result, the status message shown while a Model Context Protocol (MCP) tool ran did not make sense. -[[additions]] -== Additions +In {productname} {release-version}, the **TinyMCE AI** plugin validates the value returned by the callback. When the callback returns a value that is not a string, the plugin ignores that value, treats the result as `+undefined+`, and shows the default status message instead. -{productname} {release-version} also includes the following addition: +=== The {productname} AI chat sidebar now shows only one tooltip at a time +// #TINYMCE-14507 -=== -// #TINY-vwxyz1 +Previously, each button in the {productname} AI chat sidebar managed its tooltip independently, with no coordination between them. Opening one tooltip did not close a tooltip that was already visible, so more than one tooltip could remain on screen at the same time. -// CCFR here. +In {productname} {release-version}, opening a tooltip in the {productname} AI chat sidebar closes any other open tooltip, so the chat sidebar shows only one tooltip at a time. This keeps the interface clear and consistent. +For information on the **TinyMCE AI** plugin, see: xref:tinymceai.adoc[TinyMCE AI]. -[[changes]] -== Changes -{productname} {release-version} also includes the following change: +[[improvements]] +== Improvements -=== -// #TINY-vwxyz1 +{productname} {release-version} also includes the following improvements: -// CCFR here. +=== Updated the bundled DOMPurify dependency to the latest version +// #TINYMCE-14556 +Previously, {productname} bundled an older version of the DOMPurify sanitization library. Although {productname} was not affected by the published DOMPurify advisories, because they relate to DOMPurify options that {productname} does not use, the outdated version could be flagged by automated security scanners. -[[removed]] -== Removed +In {productname} {release-version}, DOMPurify has been updated to the latest version. This resolves the scanner warnings without changing {productname}'s sanitization behavior. -{productname} {release-version} also includes the following removal: +=== Added the `+aria-valuenow+`, `+aria-valuemin+`, and `+aria-valuemax+` attributes to the editor resize handle when resizing vertically +// #TINYMCE-14493 -=== -// #TINY-vwxyz1 +Previously, the editor resize handle did not expose the Accessible Rich Internet Applications (ARIA) value attributes recommended for the link:https://www.w3.org/TR/wai-aria/#separator[`+separator+` role]. Automated accessibility scanners reported this as a specification violation on the resize handle. -// CCFR here. +In {productname} {release-version}, the resize handle exposes the `+aria-valuenow+`, `+aria-valuemin+`, and `+aria-valuemax+` attributes when the editor is configured for vertical resizing, which is the default `+resize: true+` behavior. `+aria-valuenow+` reports the current editor height, `+aria-valuemin+` reflects the `+min_height+` option, and `+aria-valuemax+` reflects the `+max_height+` option, or the current height plus the 20px keyboard resize step when `+max_height+` is not set. Editors configured for two-dimensional resizing with `+resize: 'both'+` are unchanged, because no recommended accessible pattern currently exists for two-dimensional resize handles. [[bug-fixes]] == Bug fixes -{productname} {release-version} also includes the following bug fix: - -=== -// #TINY-vwxyz1 - -// CCFR here. - - -[[security-fixes]] -== Security fixes - -{productname} {release-version} includes : - -=== -// #TINY-vwxyz1 - -// CCFR here. - +{productname} {release-version} also includes the following bug fixes: -[[deprecated]] -== Deprecated +=== Opening table properties on a nested table could edit the wrong table +// #TINYMCE-13767 -{productname} {release-version} includes the following deprecation: +Previously, when a table was nested inside another table, opening the table properties dialog for the outer table could display and edit the properties of the inner table instead. In Chrome and Edge, right-clicking near the left edge of a cell and selecting *Table properties* resolved to the nested table, so the settings shown did not match the selected table. This made nested tables confusing and error prone to edit. -=== The `` configuration property, ``, has been deprecated +In {productname} {release-version}, the table properties dialog determines the target table by starting from the selected cell and finding the table that directly contains it. The dialog now reliably targets the table currently being edited, and property changes apply to the intended table. -// placeholder here. +=== Clicking anchor links with special characters could throw a `+querySelectorAll+` error +// #TINYMCE-8784 +Previously, clicking an anchor link whose href contained special characters, such as the semicolons common in Google Web Toolkit (GWT) place tokens like `+#!placetoken;param1=value1;param2=value2+`, threw a `+querySelectorAll+` syntax error: `+Uncaught SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '...' is not a valid selector+`. This occurred both in read-only mode and when using the Link plugin *Open link* feature through the toolbar button, the context menu, and the Alt+Enter keyboard shortcut. The error appeared in the console and prevented navigation to the target bookmark. -[[known-issues]] -== Known issues +In {productname} {release-version}, anchor href values are escaped with `+CSS.escape+` before they are used as `+querySelectorAll+` selectors, so all ASCII special characters in an href are handled. Clicking anchor links with special characters no longer throws an error, and the editor scrolls to the target bookmark across different URL fragment formats. -This section describes issues that users of {productname} {release-version} may encounter and possible workarounds for these issues. +=== The cursor could be placed at the start of a list item instead of the clicked position +// #TINYMCE-14490 -There known issue in {productname} {release-version}. +Previously, in Chromium-based browsers such as Chrome and Edge, clicking within a list item after the end of its text — for example, in the empty space to the right of the line — could place the cursor at the start of the item instead of at the end of the line. Clicking directly within a list item's text was not affected. This behavior originates from a known link:https://issues.chromium.org/issues/40767343[Chromium browser issue]. -=== -// #TINY-vwxyz1 +In {productname} {release-version}, {productname} detects this browser behavior and corrects the cursor position. Clicking within these list items now places the cursor at the expected position. -// CCFR here. diff --git a/modules/ROOT/pages/changelog.adoc b/modules/ROOT/pages/changelog.adoc index 8a3e74752b..14c77404ae 100644 --- a/modules/ROOT/pages/changelog.adoc +++ b/modules/ROOT/pages/changelog.adoc @@ -4,9 +4,19 @@ NOTE: This is the {productname} Community version changelog. For information about the latest {cloudname} or {enterpriseversion} Release, see: xref:release-notes.adoc[{productname} Release Notes]. -== xref:8.8.0-release-notes.adoc[8.8.0 - ] +== xref:8.8.0-release-notes.adoc[8.8.0 - 2026-07-15] -//TODO +### Improved +* Added the `aria-valuenow`, `aria-valuemin`, and `aria-valuemax` attributes to the editor resize handle when resizing vertically. +// #TINYMCE-14493 + +### Fixed +* Opening table properties on a nested table could edit the wrong table. +// #TINYMCE-13767 +* Clicking anchor links with special characters like semicolons in readonly mode or using the link plugin was throwing a querySelectorAll syntax error. +// #TINYMCE-8784 +* Worked around an edge case of a Chromium bug where clicking on the right of an `li` could fail. +// #TINYMCE-14490 == xref:8.7.0-release-notes.adoc[8.7.0 - 2026-06-30] diff --git a/modules/ROOT/partials/configuration/tinymceai_options.adoc b/modules/ROOT/partials/configuration/tinymceai_options.adoc index 9ab4dcc21f..49d736a774 100644 --- a/modules/ROOT/partials/configuration/tinymceai_options.adoc +++ b/modules/ROOT/partials/configuration/tinymceai_options.adoc @@ -276,6 +276,54 @@ tinymce.init({ }); ---- +[[tinymceai_chat_welcome_actions]] +=== `+tinymceai_chat_welcome_actions+` + +Adds a set of suggested welcome actions to the Chat sidebar empty state, shown below the xref:tinymceai.adoc#tinymceai_chat_welcome_message[`+tinymceai_chat_welcome_message+`] when a conversation is empty. Welcome actions give users a set of starting points instead of a blank prompt. The actions are shown only before the first request is sent. They are hidden after the first request and shown again when a new conversation is started. + +*Type:* `+Array+` + +*Default value:* `+[]+` (no welcome actions) + +Each item in the array is one of the following: + +* A `+String+`, or an object with a `+text+` property (`+{ text: 'string' }+`), shown as descriptive text. +* An action object, shown as a clickable button, with the following properties: +** `+title+` (`+String+`): The label shown on the button. +** `+command+` (`+String+`): The editor command run when the button is selected, using `+editor.execCommand(command, false, value)+`. This can be a Quick Action or Chat command, the core `+ToggleSidebar+` command, or any other registered editor command, such as `+Bold+`. For the AI command names, see xref:editor-command-identifiers.adoc#tinymceai[TinyMCE AI]. +** `+value+` (optional): The argument passed to the command. The accepted value matches the command, for example a language label for `+TinyMCEAIQuickActionTranslate+`, a `+{ prompt, displayedPrompt }+` object for `+TinyMCEAIChatPrompt+`, or a sidebar name such as `+'tinymceai-review'+` for `+ToggleSidebar+`. +** `+icon+` (optional `+String+`): The name of the icon shown on the button, using any editor icon identifier. When omitted, an icon is selected automatically based on the command. + +Text items and action buttons can be interleaved to group related actions under short headings. + +.Example +[source,js] +---- +tinymce.init({ + selector: 'textarea', + plugins: 'tinymceai', + toolbar: 'tinymceai-chat tinymceai-quickactions tinymceai-review', + tinymceai_chat_welcome_actions: [ + { text: 'Here are some actions to get started:' }, + { title: 'Summarize the document', command: 'TinyMCEAIQuickActionsSummarize' }, + { title: 'Continue writing', command: 'TinyMCEAIQuickActionContinueWriting' }, + { title: 'Translate to Spanish', command: 'TinyMCEAIQuickActionTranslate', value: 'spanish' }, + { + title: 'Draft a reply', + command: 'TinyMCEAIChatPrompt', + value: { prompt: 'Draft a reply to this message in a professional tone.', displayedPrompt: 'Draft a reply' } + }, + { title: 'Review my document', command: 'ToggleSidebar', value: 'tinymceai-review' }, + { text: 'Other editor commands are also supported:' }, + { title: 'Bold', command: 'Bold', icon: 'bold' } + ], + // Required for authentication + tinymceai_token_provider: () => { + return fetch('/api/token').then(r => r.json()); + } +}); +---- + [[tinymceai_tool_data_callback]] === `+tinymceai_tool_data_callback+` diff --git a/modules/ROOT/partials/misc/supported-versions.adoc b/modules/ROOT/partials/misc/supported-versions.adoc index 8f559df8b8..66c6cf81d8 100644 --- a/modules/ROOT/partials/misc/supported-versions.adoc +++ b/modules/ROOT/partials/misc/supported-versions.adoc @@ -6,7 +6,7 @@ Supported versions of {productname}: [cols="^,^,^",options="header"] |=== |Version |Release Date |End of Premium Support -|8.8 | | +|8.8 |2026-07-15 |2028-01-15 |8.7 |2026-06-30 |2027-12-30 |8.6 |2026-06-03 |2027-12-03 |8.5 |2026-04-29 |2027-10-29