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
<p><em>Experience the warmth of beachside gatherings, the crackling of bonfires under starlit skies, and the peaceful ambiance that makes Mallorca the perfect destination for outdoor living.</em></p>
The following premium plugin updates were released alongside {productname} {release-version}.
30
30
31
+
=== PowerPaste
32
+
33
+
The {productname} {release-version} release includes an accompanying release of the **PowerPaste** premium plugin.
34
+
35
+
**PowerPaste** includes the following addition.
36
+
37
+
==== `powerpaste_emf_processor` function that takes an `emf` blob and returns a promise of a `png` blob.
38
+
39
+
Before October 2025, copying and pasting content from Microsoft Word containing `emf` images resulted in those images not being pasted and an error message being displayed. After October 2025, this behavior changed where the images began appearing in the editor, but only at low resolution, accompanied by an error message in Chrome and Firefox. Safari displayed the low-resolution images without showing an error message.
40
+
41
+
This change negatively affected the user experience. After October 2025, users would see a low-quality image alongside an error message stating `Some images failed to import`, which caused confusion since the image was, in fact, visible in the editor—albeit with degraded quality.
42
+
43
+
{productname} {release-version} introduces a new option, xref:powerpaste-options.adoc#powerpaste_emf_processor[powerpaste_emf_processor], to address this issue. This option accepts a function that receives an `emf` blob and returns a promise resolving to a `png` blob (i.e. `(blob: Blob) => Promise<Blob>`).
44
+
45
+
* If this option is provided, the editor will invoke the supplied function to convert `emf` image blobs into `png` image blobs before inserting them into the editor.
46
+
47
+
* If this option is **not** provided, the editor will remove the low-quality images and display an error message, restoring the pre–October 2025 behavior.
48
+
49
+
NOTE: If only the image is selected, pasting it will succeed and the image will be inserted correctly. However, if the image is selected together with other types of content, such as text, the image will not be pasted and an error message will be displayed.
50
+
51
+
For information on the **PowerPaste** plugin, see: xref:introduction-to-powerpaste.adoc[PowerPaste].
52
+
31
53
=== Media Optimizer
32
54
33
55
The {productname} {release-version} release includes an accompanying release of the **Media Optimizer** premium plugin.
34
56
35
-
**Media Optimizer** includes the following improvements.
57
+
**Media Optimizer** includes the following improvement and fix.
36
58
37
59
==== Support for uploading additional file types
38
60
// #TINY-13270
@@ -43,16 +65,43 @@ The default list of supported file types can be customized using the xref:upload
43
65
44
66
For information on the **Media Optimizer** plugin, see: xref:uploadcare-documents.adoc[Media Optimizer: Documents].
45
67
68
+
==== Newly uploaded videos are now responsive
69
+
// #TINY-13166
70
+
71
+
Newly uploaded videos are now responsive by default. Videos automatically scale down on smaller screens while maintaining their maximum size. For more information, see: xref:uploadcare-video.adoc#uploadcare-video-properties[`uploadcare_video_properties` configuration option].
72
+
73
+
For information on the **Media Optimizer** plugin, see: xref:uploadcare-video.adoc[Media Optimizer: Video].
74
+
75
+
==== CSS resource files were not loaded correctly.
76
+
// #TINY-13154
77
+
78
+
Previously, Media Optimizer CSS resource files were not loaded correctly. This mainly caused issues when trying to bundle this plugin. In {productname} {release-version}, this issue has been resolved by ensuring that CSS resource files for Media Optimizer are now loaded correctly.
79
+
80
+
For information on the **Media Optimizer** plugin, see: xref:uploadcare.adoc[Media Optimizer].
81
+
82
+
=== Premium plugins now include ESM module support
83
+
// #TINY-12888
84
+
85
+
Premium plugins in {productname} {release-version} can now be consumed as native ES modules (`import`) in addition to CommonJS (`require`). This enhancement aligns premium plugins with the existing ESM capabilities already available in core plugins and applies to all distributed artifacts, including NPM packages and ZIP bundles. The update enables modern bundlers to automatically resolve the optimal module format, improving compatibility with ESM-focused toolchains and removing the need for CommonJS shims during integration.
46
86
47
87
[[improvements]]
48
88
== Improvements
49
89
50
90
{productname} {release-version} also includes the following improvements:
51
91
52
-
=== <TINY-vwxyz 1 changelog entry>
53
-
// #TINY-vwxyz1
92
+
=== Show editor notification when a premium plugin is not allowed for a given license key.
93
+
// #TINY-12937
54
94
55
-
// CCFR here.
95
+
Previously, when a premium plugin was not permitted for a given license key, the plugin would be disabled without any corresponding editor message. As of {release-version}, this behaviour has been improved: the editor now displays a notification when a plugin is disabled due to license restrictions, reducing ambiguity.
96
+
97
+
For more informaton on license keys, see: xref:license-key.adoc[License Key].
98
+
99
+
=== Accordions can now be opened and closed when the editor is set to readonly.
100
+
// #TINY-12316
101
+
102
+
In previous versions of {productname}, accordion behavior in readonly mode relied on the browser’s default handling, which could still modify the DOM and lead to undesirable, uncontrolled changes to the editor state. This meant that even when the editor was configured as readonly, expanding or collapsing accordion sections could alter the underlying content structure in inconsistent ways.
103
+
104
+
In {productname} {release-version}, the xref:accordion.adoc[Accordion plugin] now explicitly manages open and close interactions in readonly mode, ensuring that any required DOM updates for toggling panels are performed in a controlled, minimally invasive manner. This improvement provides more predictable behavior, better control over how the DOM is manipulated, and a consistent user experience when interacting with accordions in readonly editors.
56
105
57
106
58
107
[[additions]]
@@ -111,10 +160,38 @@ For more information, see xref:dialog-components.adoc#dropzone[dropzone componen
111
160
112
161
{productname} {release-version} also includes the following bug fixes:
113
162
114
-
=== <TINY-vwxyz 1 changelog entry>
115
-
// #TINY-vwxyz1
163
+
=== Accordions could be toggled when the editor was disabled.
164
+
// #TINY-12315
116
165
117
-
// CCFR here.
166
+
Earlier versions of {productname} allowed accordions to remain expandable even when the editor was disabled, creating inconsistent and unexpected behavior, particularly when used with the xref:autoresize.adoc[Autoresize plugin].
167
+
168
+
This could lead to content changes when none were expected and caused interaction patterns to shift between the intended custom behavior and the browser’s default handling. In {release-version}, this issue has been resolved by ensuring accordions are fully non-interactive when the editor is disabled, preventing unintended state changes and maintaining consistent editor behavior.
169
+
170
+
=== Inline formats were not applied to the marker of a list item when its content was a single block element.
171
+
// #TINY-13197
172
+
173
+
Previously, when applying an inline format to a fully or partially selected list that contained content wrapped inside a single block element, the style was not applied to the list item where the selection began. This resulted in inconsistent styling between the list decorator and its content.
174
+
175
+
This issue has now been resolved in {release-version}. The logic has been updated to ensure that the inline format is applied correctly to the list item where the selection begins.
176
+
177
+
=== Tooltip is now translated correctly for the dropdown chevron of the bullet and number list toolbar buttons.
178
+
// #TINY-13271
179
+
180
+
Previously, an issue was identified where the tooltips for the dropdown chevrons for the **Bullet list** and **Numbered list** toolbar buttons were not translated correctly. This has been resolved in {release-version}. The dropdown chevron of these splitbuttons now displays correctly translated tooltips on hover.
181
+
182
+
=== Removing a line height at times did not remove it from all selected lines.
183
+
// #TINY-13053
184
+
185
+
An issue was identified where removing or modifying `lineheight` properties on multiple elements resulted in inconsistent updates when the elements had differing values. In these cases, only the `lineheight` of the first line was changed or removed, while subsequent lines were not updated.
186
+
187
+
{productname} {release-version} resolves this issue by introducing improved toggling behavior for the permissive `lineheight` option, ensuring that all lines are now correctly updated or removed as expected.
188
+
189
+
=== The `font-size` style on list items was not copied to new list items.
190
+
// #TINY-13224
191
+
192
+
Previously, an issue was identified where the `font-size` style applied to list items was not retained when creating new items in either numbered or bulleted lists. As a result, list items added by pressing `Enter` did not inherit the correct font size from the preceding item.
193
+
194
+
{productname} {release-version} addresses this issue by changing the behavior such that the `font-size` style is now consistently transferred to newly created list items. This ensures that all new list items have the correct font size.
118
195
119
196
120
197
[[security-fixes]]
@@ -149,4 +226,3 @@ There <is one | are <number> known issue<s> in {productname} {release-version}.
The plugin creates a custom `+<uc-video>+` element that replaces the standard HTML `+<video>+` element when videos are processed through Uploadcare's infrastructure.
119
119
120
-
.Example: Custom video element created by the plugin on video insertion
120
+
.Example: Custom video element with fixed dimensions (non-responsive)
121
121
[source,html]
122
122
----
123
123
<uc-video
@@ -130,8 +130,6 @@ The plugin creates a custom `+<uc-video>+` element that replaces the standard HT
This option controls how `emf` images are handled. If this option **is** provided, `emf` image blobs will be converted into `png` image blobs using the supplied function, which will then be pasted into the editor. If this option is **not** provided, the editor will remove the poor quality images, and show an error message.
5
+
6
+
*Type:* `+Function+`
7
+
8
+
=== Example: `+powerpaste_emf_processor+`
9
+
10
+
[source,js]
11
+
----
12
+
tinymce.init({
13
+
selector: 'textarea', // change this value according to your HTML
NOTE: If only the image is selected, pasting it will succeed and the image will be inserted correctly. However, if the image is selected together with other types of content, such as text, the image will not be pasted and an error message will be displayed.
Copy file name to clipboardExpand all lines: modules/ROOT/partials/configuration/uploadcare_video_properties.adoc
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ Configures the video player properties and behavior for video elements.
15
15
|`autoplay` | Boolean | `true`, `false`, `undefined` | `undefined` | Automatically starts video playback when the page loads. NOTE: Even if autoplay is enabled, modern browsers may delay or block playback until the user interacts with the page, depending on their autoplay policies.
16
16
|`controls` | Boolean | `true`, `false` | `true` | Displays the video player controls (play/pause, volume, timeline, fullscreen, etc.). When disabled, users can still control playback through keyboard shortcuts or programmatic methods.
17
17
|`disablePictureInPicture` | Boolean | `true`, `false`, `undefined` | `undefined` | Disables the Picture-in-Picture feature for the video player. When enabled, users cannot use Picture-in-Picture mode.
18
-
|`height` | Number or String | Pixels or CSS value | `undefined` | Sets the video player height. Accepts numeric values (interpreted as pixels) or CSS values like `"100%"`, `"50vh"`, or `"auto"`.
18
+
|`height` | Number or String | Pixels or CSS value | `undefined` | Sets the video player height. Accepts numeric values (interpreted as pixels) or CSS values like `"100%"`, `"50vh"`, or `"auto"`. When a numeric value is provided, it is applied as an inline CSS style with `px` units (e.g., `height: 360px`).
19
19
|`loop` | Boolean | `true`, `false`, `undefined` | `undefined` | Automatically restarts video playback from the beginning when it reaches the end. Useful for background videos or continuous content loops.
20
20
|`muted` | Boolean | `true`, `false`, `undefined` | `undefined` | Mutes the video audio by default. Often used in combination with autoplay since most browsers require muted videos for autoplay to function.
21
21
|`poster` | String | Valid URL | `undefined` | Sets a poster image (thumbnail) that displays before video playback begins. The image should match the video's aspect ratio for best results.
@@ -25,7 +25,6 @@ Configures the video player properties and behavior for video elements.
25
25
|`width` | Number or String | Pixels or CSS value | `undefined` | Sets the video player width. Accepts numeric values (interpreted as pixels) or CSS values like `"100%"`, `"50vw"`, or `"auto"`.
0 commit comments