You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ROOT/pages/8.2.0-release-notes.adoc
+62Lines changed: 62 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -53,6 +53,37 @@ The **License Key Manager** has been reworked to include a new `+js/commercialli
53
53
54
54
For information on the **License Key Manager** plugin, see: xref:license-key.adoc[License Key Manager].
55
55
56
+
=== Media Optimizer
57
+
58
+
The {productname} 8.2.0 release includes an accompanying release of the **Media Optimizer** premium plugin.
59
+
60
+
**Media Optimizer** includes the following fix.
61
+
62
+
=== Empty captions for floating images were not rendered correctly.
63
+
// #TINY-12592
64
+
65
+
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.
66
+
67
+
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.
68
+
69
+
For information on the **Media Optimizer** plugin, see: xref:uploadcare.adoc[Media Optimizer].
70
+
71
+
=== Full Page HTML
72
+
73
+
The {productname} {release-version} release includes an accompanying release of the **Full Page HTML** premium plugin.
74
+
75
+
**Full Page HTML** includes the following improvement.
76
+
77
+
=== Head element added to the same line as the `meta` element
78
+
// #TINY-12859
79
+
80
+
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.
81
+
82
+
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.
83
+
84
+
For information on the **Full Page HTML** plugin, see: xref:fullpagehtml.adoc[Full Page HTML].
@@ -83,6 +114,13 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
83
114
84
115
{productname} 8.2.0 also includes the following addition<s>:
85
116
117
+
=== Added support for loading web components into iframes
118
+
// #TINY-13006
119
+
120
+
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.
121
+
122
+
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].
123
+
86
124
// === <TINY-vwxyz 1 changelog entry>
87
125
// #TINY-vwxyz1
88
126
@@ -121,6 +159,30 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
121
159
122
160
// CCFR here.
123
161
162
+
=== The cursor could get stuck around an absolutely positioned CEF element when navigating using arrow keys
163
+
// #TINY-10306
164
+
165
+
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.
166
+
167
+
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.
168
+
169
+
=== UI elements like focus outlines and placeholders would be visible after printing
170
+
// TINY-12584
171
+
172
+
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.
173
+
174
+
=== Tooltips on toolbar buttons sometimes remained visible if the button icon was updated while hovered
175
+
// #TINY-12289
176
+
177
+
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.
178
+
179
+
{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.
180
+
181
+
=== Some elements would be given an extra newline by the serializer when indented
182
+
// #TINY-12857
183
+
184
+
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.
Copy file name to clipboardExpand all lines: modules/ROOT/partials/configuration/custom_elements.adoc
+26Lines changed: 26 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ tinymce.init({
19
19
* **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.
20
20
* **Attributes and Inheritance:** Elements inherit attributes and children from other specified elements using the `+extends: "div"+` property in the `custom_elements` spec.
21
21
* **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.
22
23
23
24
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.
24
25
@@ -96,4 +97,29 @@ tinymce.init({
96
97
});
97
98
},
98
99
});
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)
0 commit comments