diff --git a/.api-version b/.api-version index 9fdf3baef9..84c5308f03 100644 --- a/.api-version +++ b/.api-version @@ -1 +1 @@ -7.8.0 \ No newline at end of file +7.9.0 \ No newline at end of file diff --git a/antora.yml b/antora.yml index 74ed1f2175..c97ffd94dd 100644 --- a/antora.yml +++ b/antora.yml @@ -26,7 +26,7 @@ asciidoc: # product variables productname: TinyMCE productmajorversion: 7 - productminorversion: '7.8' + productminorversion: '7.9' ##### product name in codeblock prodnamecode: tinymce #### more names diff --git a/modules/ROOT/images/icons/list-bull-circle.svg b/modules/ROOT/images/icons/list-bull-circle.svg index 9ac00e4dcd..229e75ced8 100644 --- a/modules/ROOT/images/icons/list-bull-circle.svg +++ b/modules/ROOT/images/icons/list-bull-circle.svg @@ -1,15 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/modules/ROOT/images/icons/list-bull-default.svg b/modules/ROOT/images/icons/list-bull-default.svg index 9a850206ce..317ac0bc4d 100644 --- a/modules/ROOT/images/icons/list-bull-default.svg +++ b/modules/ROOT/images/icons/list-bull-default.svg @@ -1,15 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/modules/ROOT/images/icons/list-bull-disc.svg b/modules/ROOT/images/icons/list-bull-disc.svg new file mode 100644 index 0000000000..ec374a8c38 --- /dev/null +++ b/modules/ROOT/images/icons/list-bull-disc.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/ROOT/images/icons/list-bull-square.svg b/modules/ROOT/images/icons/list-bull-square.svg index 7411fca154..17f4469d0d 100644 --- a/modules/ROOT/images/icons/list-bull-square.svg +++ b/modules/ROOT/images/icons/list-bull-square.svg @@ -1,15 +1 @@ - - \ No newline at end of file + \ No newline at end of file diff --git a/modules/ROOT/images/onboarding/onboarding-finish-setting-up-dialog.png b/modules/ROOT/images/onboarding/onboarding-finish-setting-up-dialog.png new file mode 100644 index 0000000000..60dc60e7a8 Binary files /dev/null and b/modules/ROOT/images/onboarding/onboarding-finish-setting-up-dialog.png differ diff --git a/modules/ROOT/images/onboarding/onboarding-no-api-key-notification.png b/modules/ROOT/images/onboarding/onboarding-no-api-key-notification.png new file mode 100644 index 0000000000..5d07a4dbce Binary files /dev/null and b/modules/ROOT/images/onboarding/onboarding-no-api-key-notification.png differ diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 06ebe6242f..fefef12dc1 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -414,6 +414,14 @@ ** xref:tinymce-and-cors.adoc[Cross-Origin Resource Sharing (CORS)] * Release information ** xref:release-notes.adoc[Release notes for {productname}] +*** {productname} 7.9.0 +**** xref:7.9.0-release-notes.adoc#overview[Overview] +**** xref:7.9.0-release-notes.adoc#accompanying-premium-self-hosted-server-side-component-changes[Accompanying Premium self-hosted server-side component changes] +**** xref:7.9.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium plugin changes] +**** xref:7.9.0-release-notes.adoc#improvements[Improvements] +**** xref:7.9.0-release-notes.adoc#additions[Additions] +**** xref:7.9.0-release-notes.adoc#changes[Changes] +**** xref:7.9.0-release-notes.adoc#bug-fixes[Bug fixes] *** {productname} 7.8.0 **** xref:7.8.0-release-notes.adoc#overview[Overview] **** xref:7.8.0-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium Plugin changes] diff --git a/modules/ROOT/pages/7.8.0-release-notes.adoc b/modules/ROOT/pages/7.8.0-release-notes.adoc index 6b4b2d0bbc..a9bf1c1478 100644 --- a/modules/ROOT/pages/7.8.0-release-notes.adoc +++ b/modules/ROOT/pages/7.8.0-release-notes.adoc @@ -257,14 +257,6 @@ tinymce.init({
---- -// === New `onboarding` option -// // #TINY-11931 - -// {productname} {release-version} introduces a new `+onboarding+` option to enhance the developer experience during the 14-day trial period. This option controls the display of a cloud promotion banner highlighting paid features available during the trial. The banner is automatically hidden when the trial ends or when the editor is correctly configured, ensuring a smoother and less intrusive setup experience. - -// For more information, see xref:promotions.adoc#onboarding[onboarding]. - - [[bug-fixes]] == Bug fixes diff --git a/modules/ROOT/pages/7.9.0-release-notes.adoc b/modules/ROOT/pages/7.9.0-release-notes.adoc new file mode 100644 index 0000000000..f3de961c4b --- /dev/null +++ b/modules/ROOT/pages/7.9.0-release-notes.adoc @@ -0,0 +1,313 @@ += {productname} {release-version} +:release-version: 7.9.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 Wednesday, May 14^th^, 2025. These release notes provide an overview of the changes for {productname} {release-version}, including: + +* xref:accompanying-premium-self-hosted-server-side-component-changes[Accompanying Premium self-hosted server-side component changes] +* xref:accompanying-premium-plugin-changes[Accompanying Premium plugin changes] +* xref:improvements[Improvements] +* xref:additions[Additions] +* xref:changes[Changes] +* xref:bug-fixes[Bug fixes] + + +[[accompanying-premium-self-hosted-server-side-component-changes]] +== Accompanying Premium self-hosted server-side component changes + +The {productname} {release-version} release includes accompanying changes affecting the {productname} **self-hosted** services for the following plugin: + +* **Spell Checker** plugin `tinymcespellchecker`. + +For information on: + +* The **Spell Checker** plugin, see: xref:introduction-to-tiny-spellchecker.adoc[Spell Checker plugin]. +* Deploying the **server-side** components, see: xref:introduction-to-premium-selfhosted-services.adoc[Server-side component installation]. + +The Java server-side component has been updated to the following version: + +* `ephox-spelling.war`: 2.130.1 + +=== Updating the self-hosted server-side components + +The new versions of the server-side services provide updates for the Java-based server-side components. To deploy the updated version of the server-side components: + +include::partial$misc/admon-docker-starter-kit-eos-message.adoc[] + +. Update your Java Application Server to the minimum required version: + +include::partial$misc/supported-application-servers.adoc[] + +. Replace the existing server-side `.war` files with the `.war` files bundled with {productname} {release-version} or later. + +For information on: + +* Deploying the server-side components, see: xref:introduction-to-premium-selfhosted-services.adoc[Server-side component installation]. +* Deploying the server-side components using Docker, see: xref:bundle-intro-setup.adoc[Containerized service deployments]. + +include::partial$misc/admon-no-functionality-changes-in-updated-server-side-components.adoc[] + + +[[accompanying-premium-plugin-changes]] +== Accompanying Premium plugin changes + +The following premium plugin updates were released alongside {productname} {release-version}. + +=== Accessibility Checker + +The {productname} {release-version} release includes an accompanying release of the **Accessibility Checker** premium plugin. + +**Accessibility Checker** includes the following fix. + +==== Adjusted spacing in accessibility checker component for better visual alignment +// #TINY-11757 +Previously in {productname}, the error card for the Accessibility Checker had slightly more space between content than necessary, making the dialog appear less compact. + +With the release {productname} {release-version}, the design has been updated to reduce the padding within the error card, ensuring a more compact and cohesive design. + +For information on the **Accessibility Checker** plugin, see: xref:a11ychecker.adoc[Accessibility Checker]. + +=== Spell Checker + +The {productname} {release-version} includes an accompanying release of the **Spell Checker** premium plugin. + +**Spell Checker** includes the following improvement. + +==== Spellchecking with a language that does not match the content no longer overloads the spelling server. +// #TINY-12061 + +Previously, using the spellchecker with a language that did not match the document content could cause server overload due to the large volume of unrecognized words. This issue led to excessive CPU usage on the spelling server. In {release-version}, {productname} now processes words in manageable chunks, reducing the load on the server and preventing performance degradation during spellchecking operations with mismatched language settings. + +For information on the **Spell Checker** premium plugin, see: xref:introduction-to-tiny-spellchecker.adoc[Spell Checker plugin]. + +=== Image Optimizer + +The {productname} {release-version} release includes an accompanying release of the **Image Optimizer** premium plugin. + +**Image Optimizer** includes the following fix. + +==== Aspect ratio was not properly calculated when uploading images wider than the editor. +// #TINY-11963 + +Previous version of the **Image Optimizer** plugin, an issue would occur where images wider than the editor were distorted when uploaded to the CDN. + +This occurred when the image being uploaded replaced a resized version rendered from a `srcset` alternative, and the aspect ratio was incorrectly calculated using the `naturalWidth` of the original image and the `naturalHeight` of the new image. This mismatch led to a distorted aspect ratio post-upload. + +{productname} {release-version} addresses this issue. Now, the aspect ratio is now correctly calculated using both the `naturalWidth` and `naturalHeight` of the original image, ensuring consistent and undistorted rendering after upload. + +For information on the **Image Optimizer** plugin, see: xref:uploadcare.adoc[Image Optimizer]. + +=== **Spelling Autocorrect** + +The {productname} {release-version} release includes an accompanying release of the **Spelling Autocorrect** premium plugin. + +**Spelling Autocorrect** includes the following improvement. + +==== Spelling Autocorrect no longer requires the spelling service. +// #TINY-12041 + +Previously, the {productname} autocorrect plugin depended on a server-side spelling service to retrieve its list of autocorrect entries. This setup increased server load and introduced latency due to REST API calls. As of {release-version}, the autocorrect list has been relocated to the client side, eliminating the need for a spellchecker server. This change improves performance by enabling caching and bundling of the autocorrect functionality with other client-side assets, resulting in faster load times and reduced backend dependencies. + +For information on the **Spelling Autocorrect** plugin, see: xref:autocorrect.adoc[Spelling Autocorrect plugin]. + +[[improvements]] +== Improvements + +{productname} {release-version} also includes the following improvements: + +=== Bullet list icons were changed to better represent default styles. +// TINY-12015 + +{productname} {release-version} has updated the icons used for bullet lists to better represent the default styles. The new icons are more visually distinct and align with the overall design language of {productname}. + +=== Resize cursor is now the correct direction for each resize mode. +// #TINY-12036 || #GH-10189 + +Previously, when the {productname} editor was configured with `resize: true`, which restricts resizing to the vertical axis, the editor incorrectly displayed a diagonal resize cursor. This was misleading, as the visual cue did not match the actual resizing behavior. In {release-version}, the cursor style now accurately reflects the resizing direction: a vertical resize cursor is shown when `resize: true` is used, and a diagonal cursor remains for `resize: 'both'`, which allows resizing in both horizontal and vertical directions. + +NOTE: {companyname} Technologies would like to thank link:https://github.com/daniloff200[daniloff200] for contributing to this improvement. + + +[[additions]] +== Additions + +{productname} {release-version} also includes the following addition: + +=== Added new `disc` style option for unordered lists. +// TINY-12015 + +Previously, {productname} did not offer a separate `disc` styling option for unordered (bullet) lists, causing confusion as users expected the default list style to behave like a true disc style, especially for nested lists. This release introduces a distinct `disc` style option, allowing users to explicitly apply disc-styled bullets to their lists. + +.Example of disc style option: +[source,html] +---- +` or `
D. dd.D.
+ + +D. dd.DDD.
+---- + +.Example after the fix: +[source,html] +---- + +D. dd.D.
+ + +D. dd.D.
+---- + +=== Inline dialog dropdowns reposition when the dialog is dragged or the window is scrolled. +// TINY-11368 sub TINY-11823, TINY-11832 + +Prior to {productname} {release-version}, opening the preferences menu from within the **Search and Replace** dialog in inline mode caused the dropdown to remain fixed in its original position, even when the dialog was moved or the window was scrolled. This resulted in the dropdown becoming visually detached from its associated button and dialog, leading to a disjointed and confusing user experience. + +In {productname} {release-version}, this issue has been resolved. The dropdown menu now remains visually and functionally anchored to the dialog when it is dragged or when the window is scrolled. This ensures consistent and intuitive behavior, aligned with the handling of other dropdowns across the application. + +=== Tabbing inside a `figcaption` element no longer shows two text insertion carets. +// #TINY-11997 + +Previously, when tabbing within a `figcaption` element, the fake text caret was not properly hidden, resulting in both the browser’s native caret and the fake caret being rendered simultaneously. This visual duplication caused confusion for users during text navigation and editing. The issue occurred because the focus event inside editable captions did not trigger logic to hide the fake caret. + +This has been resolved by updating the focus handling behavior to detect whether the focused element is within an editable context and hide the fake caret accordingly. + +As a result, only a single, correct text caret is displayed when tabbing inside `figcaption` elements, improving editing clarity and user experience. + +=== Pressing `enter` before a floating image sometimes duplicated the image. +// #TINY-1676 + +Previously, when pressing `Enter` before a floating image, the image could be duplicated instead of a new line being correctly inserted. This issue was due to limitations in the native content-editable behavior of **Firefox**, which {productname} previously relied on for handling new lines. In particular, Firefox did not clear line content correctly when it included floated elements, resulting in duplicated images. + +With the release of {productname} {release-version}, an internal new line mechanism has been introduced to replace the unreliable browser behavior. This ensures consistent and correct handling of new lines around floating content. Pressing `Enter` before a floating image now behaves as expected, and duplicate images no longer appear. + +=== Removed deprecated CSS media selector `-ms-high-contrast`. +// TINY-11876 + +The `-ms-high-contrast` media feature was previously used to apply a darker border color for improved accessibility in Internet Explorer 11. However, this feature is no longer supported and has been link:https://blogs.windows.com/msedgedev/2024/04/29/deprecating-ms-high-contrast/[officially deprecated] by Microsoft Edge. Its continued use triggered warnings in browser developer consoles, potentially affecting user experience during development. To enhance cross-browser compatibility and eliminate these warnings, the deprecated selector has been removed from {productname} in {release-version}. + +=== Table resizers are now visible when inline editor has a `z-index` property. +// #TINY-11981 + +Previously, table resizers were rendered outside the editor's stacking context, causing them to appear beneath the editor when a `z-index` property was applied, making them unusable. + +{productname} {release-version} addresses this issue, by moving the resizers inside the editor content area, which unifies the resizer behavior across all editor modes. + +Key Improvements/Benefits: + +* Integrators can now add a `z-index` such as `+