Skip to content

Commit 54ddd09

Browse files
authored
Merge branch 'feature/8.2.0/DOC-3223' into feature/8.2.0/DOC-3223_TINY-12384
2 parents 94bda97 + d0eb290 commit 54ddd09

File tree

2 files changed

+94
-0
lines changed

2 files changed

+94
-0
lines changed

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

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,43 @@ The following premium plugin updates were released alongside {productname} 8.2.0
4242

4343
// For information on the **<Premium plugin name 1>** plugin, see: xref:<plugincode>.adoc[<Premium plugin name 1>].
4444

45+
=== Media Optimizer
46+
47+
The {productname} 8.2.0 release includes an accompanying release of the **Media Optimizer** premium plugin.
48+
49+
**Media Optimizer** includes the following fix.
50+
51+
=== Empty captions for floating images were not rendered correctly.
52+
// #TINY-12592
53+
54+
In previous versions of **Media Optimizer**, when figures were styled with `+display: table+`, a floated `+<img>+` could cause an empty `+<figcaption>+` to render incorrectly alongside the image instead of below it. Deleting the caption text further disrupted the layout, causing the caption area to shift or disappear entirely.
55+
56+
In {productname} {release-version}, this issue has been resolved by applying `+clear: both+` to `+<figcaption>+` elements when the associated image is floated. This ensures captions always render below the image, even when empty, maintaining proper alignment and consistent visual structure.
57+
58+
For information on the **Media Optimizer** plugin, see: xref:uploadcare.adoc[Media Optimizer].
59+
60+
=== Full Page HTML
61+
62+
The {productname} {release-version} release includes an accompanying release of the **Full Page HTML** premium plugin.
63+
64+
**Full Page HTML** includes the following fix.
65+
66+
=== Encoding provided in the charset meta attribute would not be detected
67+
// #TINY-12860
68+
69+
The previous encoding detection logic did not recognize certain encodings defined using the charset `+meta+` attribute, which resulted in inconsistent or conflicting encodings within a single page and caused display or editing issues.
70+
71+
{productname} {release-version} addresses this issue by adding support for the new encoding type, ensuring that both the original and new encoding formats are correctly detected and processed. As a result, pages using either encoding style are now handled consistently. When encoded content is edited, the output is normalized to the previously supported encoding format, ensuring consistent markup and preventing confusion that could occur if the original encoding style were retained.
72+
73+
=== Head element added to the same line as the `meta` element
74+
// #TINY-12859
75+
76+
Previously, the `+meta+` property within the Full Page HTML plugin was not properly treated as a block-level element. This caused the `+<head>+` element to be appended directly to the same line as the `+meta+` tag, leading to formatting inconsistencies in the generated HTML output.
77+
78+
In {release-version}, the `+meta+` property has been updated to behave as a block element, ensuring proper separation and newline handling within the `<head>` section.
79+
80+
For information on the **Full Page HTML** plugin, see: xref:fullpagehtml.adoc[Full Page HTML].
81+
4582

4683
[[accompanying-enhanced-skins-and-icon-packs-changes]]
4784
== Accompanying Enhanced Skins & Icon Packs changes
@@ -73,6 +110,13 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
73110

74111
{productname} 8.2.0 also includes the following addition<s>:
75112

113+
=== Added support for loading web components into iframes
114+
// #TINY-13006
115+
116+
Previously, there was no method to load web components into the editor iframe or preview iframes used by other plugins, which prevented these components from rendering correctly. This limitation impacted users who relied on custom web components for extended editor functionality or content visualization. In {release-version}, a new API link:https://www.tiny.cloud/docs/tinymce/latest/apis/tinymce.html.schema/#getComponentUrls[getComponentUrls] has been introduced that allows specifying a script URL for the web component within the custom element schema. This enhancement enables web components to be properly registered and rendered within the {productname} editor environment.
117+
118+
For an example of using custom elements with block-level and inline-level components, see: xref:content-filtering.adoc#example-using-custom_elements-with-block-level-and-inline-level-components[Example using `+custom_elements+` with block-level and inline-level components].
119+
76120
// === <TINY-vwxyz 1 changelog entry>
77121
// #TINY-vwxyz1
78122

@@ -118,6 +162,30 @@ In {productname} {release-version}, an issue was resolved where elements used by
118162

119163
The fix marks these elements with bogus attributes so the serializer reliably filters them out, ensuring clean, stable content retrieval and preventing unintended artifacts in saved or processed output.
120164

165+
=== The cursor could get stuck around an absolutely positioned CEF element when navigating using arrow keys
166+
// #TINY-10306
167+
168+
Previously, when using arrow keys to navigate content containing absolutely positioned non-editable elements, the cursor could become trapped near these elements. This issue disrupted caret movement and made it difficult for users to continue navigating around the editor's content.
169+
170+
In {productname} {release-version}, the horizontal caret navigation logic has been updated to ensure that the caret movement is no longer disrupted when navigating around absolutely positioned elements.
171+
172+
=== UI elements like focus outlines and placeholders would be visible after printing
173+
// TINY-12584
174+
175+
Previously, UI elements such as focus outlines and placeholder text were rendered in printed versions of the editor content, resulting in unwanted visual artifacts in printed documents. This behavior caused confusion and reduced the professional appearance of printed materials. To address this issue, printing-specific styles were introduced to automatically hide all UI-related elements within the editor content during printing. As a result, printed output now includes only the intended content, ensuring clean and consistent presentation across all printouts.
176+
177+
=== Tooltips on toolbar buttons sometimes remained visible if the button icon was updated while hovered
178+
// #TINY-12289
179+
180+
Previously, button tooltips were not always dismissed correctly when icons were updated, because the element handling hover events was being replaced and the `mouseout` event never fired. This caused tooltips to remain visible after clicking a button, creating a confusing UI experience.
181+
182+
{productname} {release-version} addresses this issue by adjusting the icon rendering logic so hover and tooltip behavior are attached to the button itself rather than the icon element. As a result, when the `setIcon` API updates icons, it no longer interferes with mouse events.
183+
184+
=== Some elements would be given an extra newline by the serializer when indented
185+
// #TINY-12857
186+
187+
Previously, certain elements received an additional newline when indented due to the title not being correctly recognized as a block by the DOM Parser serializer. This caused unwanted whitespace to appear in the output. The issue was resolved by explicitly marking the title as a block within the code, ensuring that serialization no longer introduces unnecessary whitespace.
188+
121189

122190
[[security-fixes]]
123191
== Security fixes

modules/ROOT/partials/configuration/custom_elements.adoc

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ tinymce.init({
1919
* **Custom Element Structure:** The custom_elements option and the `addCustomElements` API supports more complex structures. This structure is defined by a record where the key represents the name of the element, and the value corresponds to a detailed specification.
2020
* **Attributes and Inheritance:** Elements inherit attributes and children from other specified elements using the `+extends: "div"+` property in the `custom_elements` spec.
2121
* **Attribute and Children Specifications:** The `custom_elements` spec includes properties such as `attributes` which lists attribute names, or `children` which lists valid child element names. The `children` property includes presets like `@global`, `@blocks`, `@phrasing`, and `@flow`.
22+
* **Web Components Support:** Custom elements can specify a `+componentsUrl+` property to load web component scripts into the editor.
2223

2324
HTML Element Sets: The exact element sets for each preset, depending on the schema set (html4, html5, or html5-strict), can be found in the below tables.
2425

@@ -96,4 +97,29 @@ tinymce.init({
9697
});
9798
},
9899
});
100+
----
101+
102+
=== Example using `+custom_elements+` with block-level and inline-level components.
103+
104+
[source, js]
105+
----
106+
tinymce.init({
107+
selector: "textarea",
108+
custom_elements: {
109+
// Block-level custom element (behaves like a div)
110+
"my-custom-block": {
111+
extends: "div",
112+
attributes: ["@global", "data-type", "data-id"],
113+
children: ["@flow"],
114+
componentsUrl: "/path/to/block-component.js"
115+
},
116+
// Inline-level custom element (behaves like a span)
117+
"my-custom-inline": {
118+
extends: "span",
119+
attributes: ["@global", "data-value"],
120+
children: ["@phrasing"],
121+
componentsUrl: "/path/to/inline-component.js"
122+
}
123+
}
124+
});
99125
----

0 commit comments

Comments
 (0)