Skip to content

Commit 614b657

Browse files
authored
Merge branch 'feature/8.2.0/DOC-3223' into feature/8.2.0/DOC-3223_TINY-12598
2 parents 8d3dba8 + 5a677c7 commit 614b657

File tree

2 files changed

+126
-0
lines changed

2 files changed

+126
-0
lines changed

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

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,55 @@ In {release-version}, the **Suggested Edits** plugin displays the type of conten
5656

5757
For information on the **Suggested Edits** plugin, see: xref:suggestededits.adoc[Suggested Edits].
5858

59+
=== **Templates**
60+
61+
The {productname} {release-version} release includes an accompanying release of the **Templates** premium plugin.
62+
63+
**Templates** includes the following fix.
64+
65+
==== Pressing enter while focused on title input during category or template creation would submit even when the submit button was disabled
66+
// #TINY-12730
67+
68+
Previously, pressing **Enter** while focused on the title input during category or template creation would trigger form submission, even when the submit button was disabled. This occurred because the input handling logic did not validate the form state before submission. As a result, users could inadvertently attempt to create a category or template with an empty name, causing an error.
69+
70+
{productname} {release-version} addresses this issue by updating the input handling logic to check the form's validity before allowing submission when **Enter** is pressed. Now, if the form is invalid or the submit button is disabled, pressing **Enter** will not trigger submission, preventing erroneous attempts to create categories or templates with empty names.
71+
=== Media Optimizer
72+
73+
The {productname} 8.2.0 release includes an accompanying release of the **Media Optimizer** premium plugin.
74+
75+
**Media Optimizer** includes the following fix.
76+
77+
=== Empty captions for floating images were not rendered correctly.
78+
// #TINY-12592
79+
80+
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.
81+
82+
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.
83+
84+
For information on the **Media Optimizer** plugin, see: xref:uploadcare.adoc[Media Optimizer].
85+
86+
=== Full Page HTML
87+
88+
The {productname} {release-version} release includes an accompanying release of the **Full Page HTML** premium plugin.
89+
90+
**Full Page HTML** includes the following fix.
91+
92+
=== Encoding provided in the charset meta attribute would not be detected
93+
// #TINY-12860
94+
95+
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.
96+
97+
{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.
98+
99+
=== Head element added to the same line as the `meta` element
100+
// #TINY-12859
101+
102+
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.
103+
104+
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.
105+
106+
For information on the **Full Page HTML** plugin, see: xref:fullpagehtml.adoc[Full Page HTML].
107+
59108

60109
[[accompanying-enhanced-skins-and-icon-packs-changes]]
61110
== Accompanying Enhanced Skins & Icon Packs changes
@@ -87,6 +136,13 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
87136

88137
{productname} 8.2.0 also includes the following addition<s>:
89138

139+
=== Added support for loading web components into iframes
140+
// #TINY-13006
141+
142+
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.
143+
144+
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].
145+
90146
// === <TINY-vwxyz 1 changelog entry>
91147
// #TINY-vwxyz1
92148

@@ -125,6 +181,50 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
125181

126182
// CCFR here.
127183

184+
=== The schema will now allow the `property` RDFa attribute on `meta` elements
185+
// #TINY-12858
186+
187+
Previously, the schema did not recognize the `property` RDFa attribute as valid for `meta` elements, causing it to be removed during content validation in features such as the {productname} `fullpagehtml` premium plugin. This behavior could strip essential metadata used for social media previews or structured data integrations, and required integrators to manually whitelist the attribute to retain it.
188+
189+
In {release-version}, the schema has been updated to include `property` as a valid attribute for `meta` elements. This change ensures compatibility with common metadata standards.
190+
191+
=== The editor would upon gaining focus scroll to the center of the editor on some browsers if the top of the editor was out of frame
192+
// #TINY-12626
193+
194+
A legacy workaround for a Chromium bug caused the page to scroll to the center of the editor when the editor gained focus while its top edge was outside the viewport; although unrelated, features like autoresize could frequently trigger this behavior and resulted in unexpected scrolling in some situations.
195+
196+
As of {productname} {release-version}, the workaround has been removed now that the underlying Chromium issue has been fixed, allowing the browser to manage scrolling natively.
197+
198+
=== Some UI elements related to dragging elements were not properly filtered out when fetching content
199+
// #TINY-12384
200+
201+
In {productname} {release-version}, an issue was resolved where elements used by the table resize feature were not flagged for removal by the serializer. When content was fetched via a `+getContent()+` call during an active table resize, these transient UI nodes could be included in the returned HTML, leading to extraneous markup and potentially corrupted data.
202+
203+
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.
204+
205+
=== The cursor could get stuck around an absolutely positioned CEF element when navigating using arrow keys
206+
// #TINY-10306
207+
208+
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.
209+
210+
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.
211+
212+
=== UI elements like focus outlines and placeholders would be visible after printing
213+
// TINY-12584
214+
215+
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.
216+
217+
=== Tooltips on toolbar buttons sometimes remained visible if the button icon was updated while hovered
218+
// #TINY-12289
219+
220+
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.
221+
222+
{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.
223+
224+
=== Some elements would be given an extra newline by the serializer when indented
225+
// #TINY-12857
226+
227+
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.
128228

129229
[[security-fixes]]
130230
== 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)