Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .api-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8.8.0
8.8.2
3 changes: 3 additions & 0 deletions modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -420,6 +420,9 @@
** xref:tinymce-and-cors.adoc[Cross-Origin Resource Sharing (CORS)]
* Release information
** xref:release-notes.adoc[Release notes for {productname}]
*** {productname} 8.8.2
**** xref:8.8.2-release-notes.adoc#overview[Overview]
**** xref:8.8.2-release-notes.adoc#bug-fixes[Bug fixes]
*** {productname} 8.8.1
**** xref:8.8.1-release-notes.adoc#overview[Overview]
**** xref:8.8.1-release-notes.adoc#accompanying-premium-plugin-changes[Accompanying Premium Plugin changes]
Expand Down
43 changes: 43 additions & 0 deletions modules/ROOT/pages/8.8.2-release-notes.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
= {productname} {release-version}
:release-version: 8.8.2
:navtitle: {productname} {release-version}
:description: Release notes for {productname} {release-version}
:keywords: releasenotes, bugfixes
:page-toclevels: 1

include::partial$misc/admon-releasenotes-for-stable.adoc[]


[[overview]]
== Overview

{productname} {release-version} was released for {enterpriseversion} and {cloudname} on Monday, July 27^th^, 2026. These release notes provide an overview of the changes for {productname} {release-version}, including:

* xref:bug-fixes[Bug fixes]


[[bug-fixes]]
== Bug fixes

{productname} {release-version} also includes the following bug fixes:

=== Formatting could not be applied to and removed from editable child elements when a noneditable element was selected
// #TINYMCE-9142

Previously, applying an inline format to a directly selected non-editable element had no effect, even when that element contained editable descendant elements. {productname} applied the format only for a range selection that spanned the same content, not when the non-editable element was selected on its own. Removing an inline format behaved the same way.

In {productname} {release-version}, {productname} applies an inline format once to each editable descendant element within the selected non-editable element. Removing and toggling an inline format work the same way, and {productname} now detects a format that is already applied within an editable descendant element. A non-editable element without editable descendant elements remains unchanged, and {productname} does not apply the format beyond the enclosing non-editable element.

=== Sanitizing malformed HTML in the editor content could throw an error
// #TINYMCE-14701

Previously, {productname} could throw an error while sanitizing editor content that contained malformed HTML, and the browser console reported `+TypeError: a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place+`. The error occurred in {productname} 8.8.0 and 8.8.1, which bundled version 3.4.11 of the DOMPurify sanitization library.

In {productname} {release-version}, {productname} bundles version 3.4.12 of DOMPurify, which resolves the underlying issue. The editor now sanitizes content that contains malformed HTML without throwing an error.

=== The caret could be positioned incorrectly in some cases when scrolling while a context toolbar was open.
// #TINYMCE-14415

Previously, the caret could move to an unexpected position while a context toolbar was open, such as a toolbar from the xref:quickbars.adoc[Quick Toolbars] plugin. To position a context toolbar relative to the selection, {productname} measured the caret position. When that selection had no measurable dimensions, such as a collapsed selection in an empty paragraph, {productname} altered it while taking the measurement. The caret then appeared to jump, and subsequent edits took effect at the wrong position.

In {productname} {release-version}, {productname} restores the selection after measuring the caret position. The caret now stays where it was placed, including when the page scrolls with a context toolbar open.
8 changes: 8 additions & 0 deletions modules/ROOT/pages/changelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@

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.2-release-notes.adoc[8.8.2 - 2026-07-27]

### Fixed
* The caret could be positioned incorrectly in some cases when scrolling while a context toolbar was open.
// #TINYMCE-14415
* Formatting could not be applied to and removed from editable child elements when a noneditable element was selected.
// #TINYMCE-9142

== xref:8.8.1-release-notes.adoc[8.8.1 - 2026-07-22]

### Fixed
Expand Down
8 changes: 7 additions & 1 deletion modules/ROOT/pages/release-notes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ This section lists the releases for {productname} {productmajorversion} and the

[cols="1,1"]
|===
a|
[.lead]
xref:8.8.2-release-notes.adoc#overview[{productname} 8.8.2]

Release notes for {productname} 8.8.2

a|
[.lead]
xref:8.8.1-release-notes.adoc#overview[{productname} 8.8.1]
Expand Down Expand Up @@ -122,5 +128,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|
|===
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Wrappable formats include block formats that have the `wrapper` parameter set to

Selector formats are not supported.

NOTE: Elements with `contenteditable="false"` attributes that contain descendant elements with `contenteditable="true"` attributes are not wrappable.
NOTE: Elements with `contenteditable="false"` attributes that contain descendant elements with `contenteditable="true"` attributes are not wrappable. From {productname} 8.8.2, selecting such an element and applying an inline format applies that format to each of its editable descendant elements instead of wrapping the element. Removing and toggling an inline format behave the same way.

*Type:* `+String+`

Expand Down
Loading