From 6c3d83bd3d6a967a3b7341f2ca3410ee8202fced Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 19 Aug 2025 14:23:54 +1000 Subject: [PATCH 1/3] DOC-3262: TinyMCE 8.1 Release Documentation. --- .../ROOT/pages/{x.y[.z]}-release-notes.adoc | 2 +- modules/ROOT/nav.adoc | 11 ++ modules/ROOT/pages/8.1.0-release-notes.adoc | 146 ++++++++++++++++++ modules/ROOT/pages/release-notes.adoc | 8 +- 4 files changed, 165 insertions(+), 2 deletions(-) create mode 100644 modules/ROOT/pages/8.1.0-release-notes.adoc diff --git a/-new-material-templates/release-notes-template/ROOT/pages/{x.y[.z]}-release-notes.adoc b/-new-material-templates/release-notes-template/ROOT/pages/{x.y[.z]}-release-notes.adoc index fd60f60040..09a820a3f9 100644 --- a/-new-material-templates/release-notes-template/ROOT/pages/{x.y[.z]}-release-notes.adoc +++ b/-new-material-templates/release-notes-template/ROOT/pages/{x.y[.z]}-release-notes.adoc @@ -31,7 +31,7 @@ include::partial$misc/admon-releasenotes-for-stable.adoc[] [[new-premium-plugin]] -New Premium plugin +== New Premium plugin The following new Premium plugin was released alongside {productname} {release-version}. diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 72eb5ed392..c874b625c5 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -414,6 +414,17 @@ ** xref:tinymce-and-cors.adoc[Cross-Origin Resource Sharing (CORS)] * Release information ** xref:release-notes.adoc[Release notes for {productname}] +*** {productname} 8.1.0 +**** xref:8.1.0-release-notes.adoc#overview[Overview] +**** xref:8.1.0-release-notes.adoc#new-premium-plugins[New Premium plugins] +**** xref:8.1.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium plugin changes] +**** xref:8.1.0-release-notes.adoc#improvements[Improvements] +**** xref:8.1.0-release-notes.adoc#additions[Additions] +**** xref:8.1.0-release-notes.adoc#changes[Changes] +**** xref:8.1.0-release-notes.adoc#bug-fixes[Bug fixes] +**** xref:8.1.0-release-notes.adoc#security-fixes[Security fixes] +**** xref:8.1.0-release-notes.adoc#deprecated[Deprecated] +**** xref:8.1.0-release-notes.adoc#known-issues[Known issues] *** {productname} 8.0.2 **** xref:8.0.2-release-notes.adoc#overview[Overview] **** xref:8.0.2-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium plugin changes] diff --git a/modules/ROOT/pages/8.1.0-release-notes.adoc b/modules/ROOT/pages/8.1.0-release-notes.adoc new file mode 100644 index 0000000000..b4887fd8c8 --- /dev/null +++ b/modules/ROOT/pages/8.1.0-release-notes.adoc @@ -0,0 +1,146 @@ += {productname} {release-version} +:release-version: 8.1 +: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 Wednesday, September 10^th^, 2025. These release notes provide an overview of the changes for {productname} {release-version}, including: + +* xref:new-premium-plugins[New Premium plugins] +* xref:accompanying-premium-plugin-changes[Accompanying Premium plugin 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-plugins]] +== New Premium plugins + +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[]. + + +[[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[]. + + +[[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. \ No newline at end of file diff --git a/modules/ROOT/pages/release-notes.adoc b/modules/ROOT/pages/release-notes.adoc index 7e20c29780..7b393f880b 100644 --- a/modules/ROOT/pages/release-notes.adoc +++ b/modules/ROOT/pages/release-notes.adoc @@ -9,6 +9,12 @@ This section lists the releases for {productname} {productmajorversion} and the [cols="1,1"] |=== +a| +[.lead] +xref:8.1.0-release-notes.adoc#overview[{productname} 8.1.0] + +Release notes for {productname} 8.1.0 + a| [.lead] xref:8.0.2-release-notes.adoc#overview[{productname} 8.0.2] @@ -27,5 +33,5 @@ xref:8.0-release-notes.adoc#overview[{productname} 8.0.0] Release notes for {productname} 8.0.0 -a| +// a| |=== From 6f8de27e7282799a1b3e98ef8e38600bb6c2bdd1 Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Wed, 17 Sep 2025 14:28:43 +1000 Subject: [PATCH 2/3] DOC-3209: TinyMCE 8.1.0 Release Documentation and Community Changelog. (#3824) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * DOC-3209: TinyMCE 8.1.0 Release Documentation and Community Changelog. * DOC-3209: Add placeholder for changelog. * DOC-3209: Added keyboard navigation to the Suggested Edits plugin. (#3855) * DOC-3209: Cursor movement did not operate correctly after a figure was selected. (#3849) * DOC-3209: AI Assistant plugin dialog preview now respects the `content_security_policy` editor option (#3854) * DOC-3209: AI Assistant plugin dialog preview now respects the content_security_policy editor option. * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Mitchell Crompton --------- Co-authored-by: Mitchell Crompton * DOC-3209: Users without avatars now display avatar placeholders in th… (#3853) * DOC-3209: Users without avatars now display avatar placeholders in the mentions dropdown. * DOC-3209: Copy edits. * DOC-3209: Default avatars generated inconsistently. (#3852) * DOC-3209: The same user could receive two different default avatars & Default avatars are now generated with a consistent color based on the user_id. (#3851) * DOC-3209: Navigating between elements with contenteditable=true was not possible on Firefox using the keyboard. (#3850) * DOC-3209: Clicking on a "non selectable" element when the selection is off screen no longer scrolls to the selection. (#3847) * DOC-3209: Clicking on a non selectable element when the selection is off screen no longer scrolls to the selection. * Update modules/ROOT/pages/8.1.0-release-notes.adoc * DOC-3209: alt text length error message now shows current and maximum character counts. (#3846) * DOC-3209: Tooltips can now remain open when hovered. (#3842) * DOC-3209: Image previews sometimes showed the wrong image from a srcset. (#3841) * DOC-3209: Improved keyboard navigation in Comments dropdown when inserting `@Mention` (#3840) * DOC-3209: Improved keyboard navigation in Comments dropdown when inserting @Mention. * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Hamza Benkhaldoun --------- Co-authored-by: Hamza Benkhaldoun * DOC-3209: Empty editor operations sometimes showed as modified instead of added/removed (#3838) * DOC-3209: Empty editor operations sometimes showed as modified instead of added/removed. * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Shan --------- Co-authored-by: Shan * DOC-3209: `editor.getContent()` now includes `indent` and `entity_encoding` properties to control HTML formatting. (#3837) * DOC-3209: editor.getContent() now includes indent and entity_encoding properties to control HTML formatting. * Update modules/ROOT/pages/8.1.0-release-notes.adoc * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Shan --------- Co-authored-by: Shan * DOC-3209: NVDA would announce `iframe_aria_text` multiple times. (#3836) * DOC-3209: NVDA would announce iframe_aria_text multiple times. * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: CODE:AG <57781325+abhinavgandham@users.noreply.github.com> --------- Co-authored-by: CODE:AG <57781325+abhinavgandham@users.noreply.github.com> * DOC-3209: Using Command + Backspace would not preserve inline formatting. (#3832) * DOC-3209: Spellcheck could create an invalid selection if the first element in the document was noneditable. (#3834) * DOC-2309: Links inserted with `&` encoding are now decoded to & before inserting. (#3848) * DOC-2309: Links inserted with & encoding are now decoded to & before inserting. * DOC-3209: Fix rendering issues. * DOC-3209: Auto-suggest `alt` text from existing `alt`, `aria-label`, and `title` attributes with priority fallback in image repair dialogs. (#3845) * DOC-3209: Auto-suggest alt text from existing alt, aria-label, and title attributes with priority fallback in image repair dialogs. * Apply suggestion from @kemister85 Co-authored-by: Karl Kemister-Sheppard --------- Co-authored-by: Arvin(Jintao) Han <20640097+ArvinJ-H@users.noreply.github.com> * DOC-3267: Deprecate content_css_cors option (#3835) * DOC-3267: Deprecate content_css_cors option * DOC-3209: Add missing release note mention. --------- Co-authored-by: Karl Kemister-Sheppard * DOC-3209: Add changelog, fix syntax issues and general pre-release cleanup. * DOC-3264: New feature documentation for `fullpagehtml`. (#3827) * DOC-3264: New feature documentation for fullpagehtml. * DOC-3209: Update plugin name, file-names and improve examples. * DOC-3209: Update example to be more generic. * DOC-3209: Add release note entry for fullpagehtml. * DOC-3209: Updated live-demo and fix incorrect file name causing demo to fail. * DOC-3209: add missing icon and remove old legacy icon. * DOC-2309: Add links to xss_sanitization and valid_elements explaining some meta tags could be removed by default. * Update modules/ROOT/pages/fullpagehtml.adoc * Update modules/ROOT/pages/fullpagehtml.adoc * Update antora.yml * DOC-3254: Add known issue and plugin incompatibility issues with Suggested Edits and Revision History. * Update modules/ROOT/pages/fullpagehtml.adoc * DOC-3264: Copy edits and fixing visual blocks. * DOC-3264: Fix syntax rendering issue. * Update modules/ROOT/pages/fullpagehtml.adoc * Update modules/ROOT/nav.adoc * Update modules/ROOT/pages/8.1.0-release-notes.adoc * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Sorita Heng <69398037+soritaheng@users.noreply.github.com> * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Sorita Heng <69398037+soritaheng@users.noreply.github.com> * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Sorita Heng <69398037+soritaheng@users.noreply.github.com> * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Sorita Heng <69398037+soritaheng@users.noreply.github.com> * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Sorita Heng <69398037+soritaheng@users.noreply.github.com> * Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: Sorita Heng <69398037+soritaheng@users.noreply.github.com> * DOC-3209: update api-reference version and fix nav.adoc order for fullpagehtml. --------- Co-authored-by: Mitchell Crompton Co-authored-by: Hamza Benkhaldoun Co-authored-by: Shan Co-authored-by: CODE:AG <57781325+abhinavgandham@users.noreply.github.com> Co-authored-by: Arvin(Jintao) Han <20640097+ArvinJ-H@users.noreply.github.com> Co-authored-by: michalnieruchalski-tiugo Co-authored-by: Sorita Heng <69398037+soritaheng@users.noreply.github.com> --- .api-version | 2 +- .../live-demos/fullpagehtml/index.html | 21 ++ .../examples/live-demos/fullpagehtml/index.js | 16 + .../icons/default-document-properties.svg | 1 + .../ROOT/images/icons/document-properties.svg | 10 - modules/ROOT/nav.adoc | 5 +- modules/ROOT/pages/8.1.0-release-notes.adoc | 292 +++++++++++++++--- modules/ROOT/pages/available-menu-items.adoc | 6 + .../ROOT/pages/available-toolbar-buttons.adoc | 6 + modules/ROOT/pages/changelog.adoc | 36 +++ modules/ROOT/pages/fullpagehtml.adoc | 124 ++++++++ modules/ROOT/pages/how-to-guides.adoc | 6 + .../partials/commands/fullpagehtml-cmds.adoc | 11 + .../configuration/content_css_cors.adoc | 2 + .../fullpagehtml-default-body-style.adoc | 21 ++ .../fullpagehtml-default-doctype.adoc | 21 ++ .../fullpagehtml-default-encoding.adoc | 21 ++ .../fullpagehtml-default-title.adoc | 21 ++ .../fullpagehtml-hide-in-source-view.adoc | 56 ++++ .../partials/configuration/icon_list.adoc | 2 +- .../configuration/iframe_aria_text.adoc | 8 + .../partials/index-pages/premium-plugins.adoc | 6 + .../fullpagehtml-menu-items.adoc | 5 + .../misc/admon-inline-not-supported.adoc | 1 + .../fullpagehtml-toolbar-buttons.adoc | 5 + 25 files changed, 640 insertions(+), 65 deletions(-) create mode 100644 modules/ROOT/examples/live-demos/fullpagehtml/index.html create mode 100644 modules/ROOT/examples/live-demos/fullpagehtml/index.js create mode 100644 modules/ROOT/images/icons/default-document-properties.svg delete mode 100644 modules/ROOT/images/icons/document-properties.svg create mode 100644 modules/ROOT/pages/fullpagehtml.adoc create mode 100644 modules/ROOT/partials/commands/fullpagehtml-cmds.adoc create mode 100644 modules/ROOT/partials/configuration/fullpagehtml-default-body-style.adoc create mode 100644 modules/ROOT/partials/configuration/fullpagehtml-default-doctype.adoc create mode 100644 modules/ROOT/partials/configuration/fullpagehtml-default-encoding.adoc create mode 100644 modules/ROOT/partials/configuration/fullpagehtml-default-title.adoc create mode 100644 modules/ROOT/partials/configuration/fullpagehtml-hide-in-source-view.adoc create mode 100644 modules/ROOT/partials/menu-item-ids/fullpagehtml-menu-items.adoc create mode 100644 modules/ROOT/partials/misc/admon-inline-not-supported.adoc create mode 100644 modules/ROOT/partials/toolbar-button-ids/fullpagehtml-toolbar-buttons.adoc diff --git a/.api-version b/.api-version index 608c4e7100..da15618101 100644 --- a/.api-version +++ b/.api-version @@ -1 +1 @@ -8.0.2 \ No newline at end of file +8.1.0 \ No newline at end of file diff --git a/modules/ROOT/examples/live-demos/fullpagehtml/index.html b/modules/ROOT/examples/live-demos/fullpagehtml/index.html new file mode 100644 index 0000000000..0d217b04a0 --- /dev/null +++ b/modules/ROOT/examples/live-demos/fullpagehtml/index.html @@ -0,0 +1,21 @@ + diff --git a/modules/ROOT/examples/live-demos/fullpagehtml/index.js b/modules/ROOT/examples/live-demos/fullpagehtml/index.js new file mode 100644 index 0000000000..9d5f2b8cc4 --- /dev/null +++ b/modules/ROOT/examples/live-demos/fullpagehtml/index.js @@ -0,0 +1,16 @@ +tinymce.init({ + selector: 'textarea#fullpagehtml', + height: '800px', + plugins: [ + "fullpagehtml", "advlist", "anchor", "autolink", "charmap", "code", "fullscreen", + "help", "image", "insertdatetime", "link", "lists", "media", + "preview", "searchreplace", "table", "visualblocks", + ], + toolbar: "fullpagehtml | undo redo | styles | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image", + // Full Page HTML Plugin Configuration Options + fullpagehtml_default_doctype: '', + fullpagehtml_default_title: 'Full Page HTML Plugin Demo Document', + fullpagehtml_default_encoding: 'UTF-8', + fullpagehtml_default_body_style: 'margin: 20px; padding: 15px; font-family: Georgia, Times, serif; font-size: 16px; color: #2c3e50;', + fullpagehtml_hide_in_source_view: false // Show full page HTML in source view +}); \ No newline at end of file diff --git a/modules/ROOT/images/icons/default-document-properties.svg b/modules/ROOT/images/icons/default-document-properties.svg new file mode 100644 index 0000000000..bc305f278e --- /dev/null +++ b/modules/ROOT/images/icons/default-document-properties.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/ROOT/images/icons/document-properties.svg b/modules/ROOT/images/icons/document-properties.svg deleted file mode 100644 index eba5de0b3f..0000000000 --- a/modules/ROOT/images/icons/document-properties.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - icon-document-properties - Created with Sketch. - - - - - \ No newline at end of file diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index c874b625c5..392295c0e8 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -317,6 +317,7 @@ ***** xref:export-to-word-with-jwt-authentication-php.adoc[PHP] *** xref:footnotes.adoc[Footnotes] *** xref:formatpainter.adoc[Format Painter] +*** xref:fullpagehtml.adoc[Full Page HTML] *** xref:importword.adoc[Import from Word] **** xref:docx-to-html-converter-api.adoc[DOCX to HTML Converter API] **** JWT Authentication @@ -416,13 +417,11 @@ ** xref:release-notes.adoc[Release notes for {productname}] *** {productname} 8.1.0 **** xref:8.1.0-release-notes.adoc#overview[Overview] -**** xref:8.1.0-release-notes.adoc#new-premium-plugins[New Premium plugins] +**** xref:8.1.0-release-notes.adoc#new-premium-plugin[New Premium plugin] **** xref:8.1.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium plugin changes] **** xref:8.1.0-release-notes.adoc#improvements[Improvements] -**** xref:8.1.0-release-notes.adoc#additions[Additions] **** xref:8.1.0-release-notes.adoc#changes[Changes] **** xref:8.1.0-release-notes.adoc#bug-fixes[Bug fixes] -**** xref:8.1.0-release-notes.adoc#security-fixes[Security fixes] **** xref:8.1.0-release-notes.adoc#deprecated[Deprecated] **** xref:8.1.0-release-notes.adoc#known-issues[Known issues] *** {productname} 8.0.2 diff --git a/modules/ROOT/pages/8.1.0-release-notes.adoc b/modules/ROOT/pages/8.1.0-release-notes.adoc index b4887fd8c8..842703e846 100644 --- a/modules/ROOT/pages/8.1.0-release-notes.adoc +++ b/modules/ROOT/pages/8.1.0-release-notes.adoc @@ -2,7 +2,7 @@ :release-version: 8.1 :navtitle: {productname} {release-version} :description: Release notes for {productname} {release-version} -:keywords: releasenotes, new, changes, bugfixes +:keywords: releasenotes, new, changes, bugfixes, new features, improvements, changes, removals, deprecated, known issues :page-toclevels: 1 include::partial$misc/admon-releasenotes-for-stable.adoc[] @@ -11,15 +11,13 @@ include::partial$misc/admon-releasenotes-for-stable.adoc[] [[overview]] == Overview -{productname} {release-version} was released for {enterpriseversion} and {cloudname} on Wednesday, September 10^th^, 2025. 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, September 17^th^, 2025. These release notes provide an overview of the changes for {productname} {release-version}, including: -* xref:new-premium-plugins[New Premium plugins] +* xref:new-premium-plugin[New Premium plugin] * xref:accompanying-premium-plugin-changes[Accompanying Premium plugin 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] @@ -30,11 +28,11 @@ include::partial$misc/admon-releasenotes-for-stable.adoc[] The following new Premium plugin was released alongside {productname} {release-version}. -// === +=== Full Page HTML -// The new Premium plugin, **** // description here. +The new Premium plugin, **Full Page HTML** provides comprehensive control over document metadata and properties. It enables users to edit HTML document metadata such as title, keywords, and description through an intuitive dialog interface. When combined with the code plugin, it also exposes the complete HTML structure including ``, ``, and various meta tags in the source code view. -// For information on the **** plugin, see xref:.adoc[]. +For information on the **Full Page HTML** plugin, see xref:fullpagehtml.adoc[Full Page HTML]. [[accompanying-premium-plugin-changes]] @@ -42,83 +40,272 @@ The following new Premium plugin was released alongside {productname} {release-v The following premium plugin updates were released alongside {productname} {release-version}. -// === +=== Spell Checker -// The {productname} {release-version} release includes an accompanying release of the **** premium plugin. +The {productname} {release-version} release includes an accompanying release of the **Spell Checker** premium plugin. -// **** includes the following . +**Spell Checker** Premium plugin includes the following fix. -// ==== +==== Spellcheck could create an invalid selection if the first element in the document was `+noneditable+`. +// #TINY-12514 -// CCFR here. +Previously when the first element of a document was set as a `contenteditable="false"` (CEF) element, selecting all content with {productname} spellchecker could result in an invalid selection state. This issue prevented the deletion of the entire content selection, creating an edge case that disrupted normal editing workflows. -// For information on the **** plugin, see: xref:.adoc[]. +To resolve this, {productname} now inserts a temporary hidden element before the initial CEF element in such scenarios. This adjustment ensures that full selections are valid and can be deleted as expected. + +For information on the **Spell Checker** plugin, see: xref:introduction-to-tiny-spellchecker.adoc[Spell Checker]. + +=== Image Optimizer (Powered by Uploadcare) + +The {productname} {release-version} release includes an accompanying release of the **Image Optimizer (Powered by Uploadcare)** premium plugin. + +**Image Optimizer (Powered by Uploadcare)** includes the following fix. + +==== Image previews sometimes showed the wrong image from a `srcset`. + +In previous versions of the Image Optimizer premium plugin, an issue where image effects were applied based on the main `src` instead of the active `srcset` URL, caused discrepancies when the displayed image was selected from `srcset`. This led to a mismatch in the adjustment preview (rendered from the main `src`) versus the image shown in the editor (rendered from the `srcset` URL), resulting in different visual outcomes for effects such as blur or resize. + +{productname} {release-version} resolves this issue by using the `currentSrc` property to generate previews, ensuring the preview and the editor image reference the same resource. As a result, the preview image and the image in the editor are now consistent. + +For information on the **Image Optimizer Powered by Uploadcare** plugin, see: xref:uploadcare.adoc[Image Optimizer (Powered by Uploadcare)]. + +=== Accessibility Checker + +The {productname} {release-version} release includes an accompanying release of the **Accessibility Checker** premium plugin. + +**Accessibility Checker** includes the following improvements. + +==== `+alt+` text length error message now shows current and maximum character counts +// #TINY-12569 + +Previous versions of **Accessibility Checker**, the `+alt+` text length validation error displayed only the current character count, such as "_Currently 151 characters_" without indicating the maximum allowed length. This caused unclear guidance for users and negatively affected the experience across all image rules (I1–I4) that rely on length validation, making it inconsistent with accessibility best practices. + +In {productname} {release-version}, the error message for **Accessibility Checker** has been updated to show both the current and maximum character counts, for example: "_151 characters (maximum 150 allowed)_." This improvement provides clear, actionable error messaging that aligns with accessibility guidance and reduces user confusion across all affected rules. + +==== Auto-suggest `+alt+` text from existing `+alt+`, `+aria-label+`, and `+title+` attributes with priority fallback in image repair dialogs. +// #TINY-12547 + +In previous version of **Accessibility Checker**, the image repair dialog only proposed values from `+alt+`, ignoring `+aria-label+` and `+title+`, which forced manual entry and slowed accessibility repairs while increasing the risk of inconsistent descriptions. + +{productname} {release-version} now auto-suggests `+alt+` text using a priority-based fallback that checks existing attributes in order `+aria-labelledby+`, `+aria-label+`, `+alt+` then `+title+` and leaves the field empty if none are present. This ensures that users can label images faster and with greater accuracy by leveraging existing accessibility attributes, improving repair efficiency and consistency. + +For information on the **Accessibility Checker** plugin, see: xref:a11ychecker.adoc[Accessibility Checker]. + +=== Revision History + +The {productname} {release-version} release includes an accompanying release of the **Revision History** premium plugin. + +**Revision History** includes the following fix and improvement. + +==== The same user could receive two different default avatars +// #TINY-12527 + +In previous versions of Revision History, the same user could receive two different default avatars. This inconsistency could make a single user appear as two distinct contributors, creating confusion when reviewing revision logs. + +In {productname} {release-version}, the issue has been resolved so that each user is now always assigned the same default avatar, improving accuracy and consistency in the revision history display. + +==== Default avatars are now generated with a consistent color based on the `user_id` +// #TINY-12527 + +Default avatars are now generated consistently using the `user_id`, ensuring that users are assigned a reliable and predictable color for their avatar. This improvement enhances the user experience by providing clear visual consistency when identifying contributors in revision histories. + +For information on the **Revision History** plugin, see: xref:revisionhistory.adoc[Revision History]. + +=== Comments + +The {productname} {release-version} release includes an accompanying release of the **Comments** premium plugin. + +**Comments** Premium plugin includes the following fixes and improvement. + +==== Default avatars generated inconsistently +// The same user avatar was generated for all users without an avatar in the mentions dropdown. +// The same user could receive two different default avatars. +// Default avatars are now generated with a consistent color based on the user id. +// #TINY-12526 #TINY-12532 #TINY-12633 + +Previously, {productname} generated default avatars inconsistently in the Comments plugin. Users without avatars saw the same placeholder avatar in the mentions dropdown, while the same individual could also receive different default avatars in other contexts. This inconsistency made it difficult to distinguish users and, in some cases, created confusion by making a single user appear as two different people. In {release-version}, this issue has been fixed, and default avatars are now consistently generated with a stable color based on the `+user_id+`. This ensures that the same user always has the same default avatar, improving clarity and providing a more reliable user experience. + +==== Improved keyboard navigation in Comments dropdown when inserting `@Mention` +// #TINY-12785 + +Previously, typing `@` to open the mentions dropdown list inside the Comments card did not support the **Shift+Enter** keyboard combination. For example, when typing a `@` + navigating to a user in the selected Comment card, pressing **Shift+Enter** did not insert the `@mention` to the `