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/7.9.0-release-notes.adoc
+142-1Lines changed: 142 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,6 +84,36 @@ Previously, using the spellchecker with a language that did not match the docume
84
84
85
85
For information on the **Spell Checker** premium plugin, see: xref:introduction-to-tiny-spellchecker.adoc[Spell Checker plugin].
86
86
87
+
=== Image Optimizer
88
+
89
+
The {productname} {release-version} release includes an accompanying release of the **Image Optimizer** premium plugin.
90
+
91
+
**Image Optimizer** includes the following fix.
92
+
93
+
==== Aspect ratio was not properly calculated when uploading images wider than the editor.
94
+
// #TINY-11963
95
+
96
+
Previous version of the **Image Optimizer** plugin, an issue would occur where images wider than the editor were distorted when uploaded to the CDN.
97
+
98
+
This occurred when the image being uploaded replaced a resized version rendered from a `srcset` alternative, and the aspect ratio was incorrectly calculated using the `naturalWidth` of the original image and the `naturalHeight` of the new image. This mismatch led to a distorted aspect ratio post-upload.
99
+
100
+
{productname} {release-version} addresses this issue. Now, the aspect ratio is now correctly calculated using both the `naturalWidth` and `naturalHeight` of the original image, ensuring consistent and undistorted rendering after upload.
101
+
102
+
For information on the **Image Optimizer** plugin, see: xref:uploadcare.adoc[Image Optimizer].
103
+
104
+
=== **Spelling Autocorrect**
105
+
106
+
The {productname} {release-version} release includes an accompanying release of the **Spelling Autocorrect** premium plugin.
107
+
108
+
**Spelling Autocorrect** includes the following improvements.
109
+
110
+
==== Spelling Autocorrect no longer requires the spelling service.
111
+
// #TINY-12041
112
+
113
+
Previously, the {productname} autocorrect plugin depended on a server-side spelling service to retrieve its list of autocorrect entries. This setup increased server load and introduced latency due to REST API calls. As of {release-version}, the autocorrect list has been relocated to the client side, eliminating the need for a spellchecker server. This change improves performance by enabling caching and bundling of the autocorrect functionality with other client-side assets, resulting in faster load times and reduced backend dependencies.
114
+
115
+
For information on the **Spelling Autocorrect** plugin, see: xref:autocorrect.adoc[Spelling Autocorrect plugin].
@@ -128,6 +158,17 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
128
158
// #TINY-vwxyz1
129
159
130
160
// CCFR here.
161
+
=== Bullet list icons were changed to better represent default styles.
162
+
// TINY-12015
163
+
164
+
{productname} {release-version} has updated the icons used for bullet lists to better represent the default styles. The new icons are more visually distinct and align with the overall design language of {productname}.
165
+
166
+
=== Resize cursor is now the correct direction for each resize mode.
167
+
// #TINY-12036 || #GH-10189
168
+
169
+
Previously, when the {productname} editor was configured with `resize: true`, which restricts resizing to the vertical axis, the editor incorrectly displayed a diagonal resize cursor. This was misleading, as the visual cue did not match the actual resizing behavior. In {release-version}, the cursor style now accurately reflects the resizing direction: a vertical resize cursor is shown when `resize: true` is used, and a diagonal cursor remains for `resize: 'both'`, which allows resizing in both horizontal and vertical directions.
170
+
171
+
NOTE: {companyname} Technologies would like to thank link:https://github.com/daniloff200[daniloff200] for contributing to this improvement.
131
172
132
173
133
174
[[additions]]
@@ -139,7 +180,24 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
139
180
// #TINY-vwxyz1
140
181
141
182
// CCFR here.
142
-
183
+
=== Added new `disc` style option for unordered lists.
184
+
// TINY-12015
185
+
186
+
Previously, {productname} did not offer a separate `disc` styling option for unordered (bullet) lists, causing confusion as users expected the default list style to behave like a true disc style, especially for nested lists. This release introduces a distinct `disc` style option, allowing users to explicitly apply disc-styled bullets to their lists.
187
+
188
+
.Example of disc style option:
189
+
[source,html]
190
+
----
191
+
<ul style="list-style-type: disc;">
192
+
<li>Item 1</li>
193
+
<li>Item 2
194
+
<ul style="list-style-type: disc;">
195
+
<li>Nested Item 1</li>
196
+
<li>Nested Item 2</li>
197
+
</ul>
198
+
</li>
199
+
</ul>
200
+
----
143
201
144
202
[[changes]]
145
203
== Changes
@@ -151,6 +209,12 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
151
209
152
210
// CCFR here.
153
211
212
+
=== `ContextFormSizeInput` lock button has been repositioned between the "width" and "height" inputs.
213
+
// TINY-11916
214
+
215
+
In previous versions of {productname}, the "lock aspect ratio" button in the `ContextFormSizeInput` component was positioned at the end of the "width" and "height" input fields. This placement made it difficult to understand the relationship between the inputs and the lock functionality.
216
+
217
+
{productname} {release-version} addresses this issue. Now, the lock button has been repositioned between the "width" and "height" inputs.
154
218
155
219
[[removed]]
156
220
== Removed
@@ -168,6 +232,77 @@ For information on using Enhanced Skins & Icon Packs, see: xref:enhanced-skins-a
168
232
169
233
{productname} {release-version} also includes the following bug fix<es>:
170
234
235
+
=== Japanese keyboard could insert content while the editor was in `readonly` mode
236
+
// #TINY-11363
237
+
238
+
In previous versions of {productname}, an issue was identified where the editor permitted content insertion via IME (Input Method Editor) input, such as using a Japanese keyboard even when the editor was configured with `readonly: true`.
239
+
240
+
With the release of {productname} {release-version}, this issue has been addressed by implementing event handlers that intercept and block IME-related input events and their default behaviors while in read-only mode. This enhancement ensures that the readonly setting is strictly enforced, preventing content modifications from all input sources, including IME.
241
+
242
+
=== Autolink behavior was updated to preserve existing links.
243
+
// TINY-11836
244
+
245
+
Previously, the Autolink plugin could incorrectly re-link content that was already part of a hyperlink when the user pressed Enter at the end of a line. This occurred when the cursor was placed immediately after a link element rather than inside it and the visible text resembled a URL. As a result, Autolink could unintentionally overwrite link attributes, modify the destination URL, or alter otherwise valid markup.
246
+
247
+
{productname} {release-version} resolves this issue by treating any text inside or directly following a hyperlink as the end of its search scope. This prevents Autolink from creating a new link if the content is already hyperlinked. The behavior now consistently mirrors the existing handling for cases when the cursor is inside a link.
248
+
249
+
.Example of incorrect behavior
250
+
[source,html]
251
+
----
252
+
<p><a href="https://www.google.com" target="_blank" rel="noopener">www.google.com</a></p> <!-- before -->
253
+
<p><a href="https://www.google.com">www.google.com</a></p> <!-- after -->
254
+
----
255
+
256
+
This update improves reliability when working with links, ensuring that attributes and destinations remain unchanged unless explicitly edited.
257
+
258
+
=== Editor did not scroll into viewport on receiving focus on Chrome and Safari.
259
+
// #TINY-12017
260
+
261
+
Previously the editor did not scroll into the viewport when focused via the keyboard `Tab` key, causing a poor user experience as users had to manually scroll to find the editor.
262
+
263
+
{productname} {release-version} introduces a workaround to resolve this issue. In addition and a bug report has been submitted to both Chrome (link:https://issues.chromium.org/issues/414129878[414129878]) and Safari (link:https://bugs.webkit.org/show_bug.cgi?id=292062[292062]) teams for further investigation.
264
+
265
+
=== The toolbar did not always account for the full available space during horizontal scrolling.
266
+
// #TINY-11549
267
+
268
+
In previous versions of {productname}, the toolbar did not accurately account for the actual available space. As a result, the layout area allocated for the toolbar was smaller than the effective free space, leading to inconsistent resizing and positioning during horizontal scrolling.
269
+
270
+
This issue has been addressed in {release-version}. The toolbar now correctly utilizes the available area, ensuring stable and consistent rendering within the intended layout.
271
+
272
+
=== Improved handling of overlapping matches in abbreviation detection.
273
+
// #TINY-11560
274
+
275
+
Previously in {productname}, an issue occurred during pattern matching where overlapping regular expression matches caused duplicated content when processing abbreviations. For example, in the string `D. dd.D.`, multiple overlapping patterns such as `D.`, `dd.D`, and a final `D.` could be incorrectly matched and processed more than once. This resulted in unexpected duplication in the editor, such as `D. dd.DDD.`.
276
+
277
+
This behavior was caused by insufficient overlap detection when identifying match regions, leading to multiple reinsertions of already matched substrings. The issue has now been resolved in {productname} {release-version} by refining the pattern-matching logic to accurately detect and avoid overlapping matches. The updated implementation ensures that each abbreviation is matched and processed only once, eliminating duplicated insertions and preserving the original content structure.
278
+
279
+
.Example before the fix:
280
+
[source,html]
281
+
----
282
+
<!-- Original content typed by the user -->
283
+
<p>D. dd.D.</p>
284
+
285
+
<!-- Result after pattern matching (incorrect behavior) -->
286
+
<p>D. dd.DDD.</p>
287
+
----
288
+
289
+
.Example after the fix:
290
+
[source,html]
291
+
----
292
+
<!-- Original content typed by the user -->
293
+
<p>D. dd.D.</p>
294
+
295
+
<!-- Result after pattern matching (correct behavior) -->
296
+
<p>D. dd.D.</p>
297
+
----
298
+
299
+
=== Inline dialog dropdowns reposition when the dialog is dragged or the window is scrolled.
300
+
// TINY-11368 sub TINY-11823, TINY-11832
301
+
302
+
Prior to {productname} {release-version}, opening the preferences menu from within the **Search and Replace** dialog in inline mode caused the dropdown to remain fixed in its original position, even when the dialog was moved or the window was scrolled. This resulted in the dropdown becoming visually detached from its associated button and dialog, leading to a disjointed and confusing user experience.
303
+
304
+
In {productname} {release-version}, this issue has been resolved. The dropdown menu now remains visually and functionally anchored to the dialog when it is dragged or when the window is scrolled. This ensures consistent and intuitive behavior, aligned with the handling of other dropdowns across the application.
305
+
171
306
=== Tabbing inside a `figcaption` element no longer shows two text insertion carets.
172
307
// #TINY-11997
173
308
@@ -201,6 +336,12 @@ Key Improvements/Benefits:
201
336
* Integrators can now add a `z-index` such as `+<div id="editor1" style="min-height:200px; z-index:1;">+` to the inline editor without affecting the visibility of the resizers.
202
337
* UI elements are consistently placed within the controlled stacking context, improving layout reliability.
203
338
339
+
=== If `style_formats` is empty the button is now disabled.
340
+
// #TINY-12005
341
+
342
+
Previously, when the xref:user-formatting-options.adoc#style_formats[style_formats] configuration was explicitly set to an empty list, the **Formats** toolbar button remained enabled, displaying an empty and non-functional dropdown menu. This led to confusion, as the button appeared interactive and suggested available formatting options, despite none being configured.
343
+
344
+
In {release-version}, the {productname} editor now disables the **Formats** button entirely when no style formats are defined. This change improves usability by clearly signaling that there are no available style options, preventing unnecessary interaction and enhancing clarity for end users.
0 commit comments