@tjdata/s-editor
v1.2.6
Published
All notable changes to this project will be documented in this file.
Downloads
28
Readme
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
6.3.1 - 2022-12-06
Fixed
- HTML in messages for the
WindowManager.alert
andWindowManager.confirm
APIs were not properly sanitized. #TINY-3548
6.3.0 - 2022-11-23
Added
- New
expand
function added totinymce.selection
which expands the selection around the nearest word. #TINY-9001 - New
expand
function added totinymce.dom.RangeUtils
to return a new range expanded around the nearest word. #TINY-9001 - New
color_map_background
andcolor_map_foreground
options which set the base colors used in thebackcolor
andforecolor
toolbar buttons and menu items. #TINY-9184 - Added optional
storageKey
property tocolorinput
component andcolorswatch
fancy menu item. #TINY-9184 - New
addView
function added toeditor.ui.registry
which makes it possible to register custom editor views. #TINY-9210 - New
ToggleView
command which makes it possible to hide or show registered custom views. #TINY-9210 - New
color_default_foreground
andcolor_default_background
options to set the initial default color for theforecolor
andbackcolor
toolbar buttons and menu items. #TINY-9183 - New
getTransparentElements
function added totinymce.html.Schema
to return a map object of transparent HTML elements. #TINY-9172 - Added
ToggleToolbarDrawer
event to subscribe to toolbar’s opening and closing. #TINY-9271
Changed
- Transparent elements, like anchors, are now allowed in the root of the editor body if they contain blocks. #TINY-9172
- Colorswatch keyboard navigation now starts on currently selected color if present in the colorswatch. #TINY-9283
setContent
is now allowed to accept any custom keys and values as a second options argument. #TINY-9143
Improved
- Transparent elements, like anchors, can now contain block elements. #TINY-9172
- Colorswatch now displays a checkmark for selected color. #TINY-9283
- Color picker dialog now starts on the appropriate color for the cursor position. #TINY-9213
Fixed
- Parsing media content would cause a memory leak, which for example occurred when using the
getContent
API. #TINY-9186 - Dragging a noneditable element toward the bottom edge would cause the page to scroll up. #TINY-9025
- Range expanding capabilities would behave inconsistently depending on where the cursor was placed. #TINY-9029
- Compilation errors were thrown when using TypeScript 4.8. #TINY-9161
- Line separator scrolling in floating toolbars. #TINY-8948
- A double bottom border appeared on inline mode editor for the
tinymce-5
skin. #TINY-9108 - The editor header showed up even with no menubar and toolbar configured. #TINY-8819
- Inline text pattern no longer triggers if it matches only the end but not the start. #TINY-8947
- Matches of inline text patterns that are similar are now managed correctly. #TINY-8949
- Using
editor.selection.getContent({ format: 'text' })
oreditor.getContent({ format: 'text' })
would sometimes deselect selected radio buttons. #TINY-9213 - The context toolbar prevented the user from placing the cursor at the edges of the editor. #TINY-8890
- The Quick Insert context toolbar provided by the
quickbars
plugin showed when the cursor was in a fake block caret. #TINY-9190 - The
editor.selection.getRng()
API was not returning a proper range on hidden editors in Firefox. #TINY-9259 - The
editor.selection.getBookmark()
API was not returning a proper bookmark on hidden editors in Firefox. #TINY-9259 - Dragging a noneditable element before or after another noneditable element now works correctly. #TINY-9253
- The restored selection after a redo or undo action was not scrolled into view. #TINY-9222
- A newline could not be inserted when the selection was restored from a bookmark after an inline element with a
contenteditable="false"
attribute. #TINY-9194 - The global
tinymce.dom.styleSheetLoader
was not affected by thecontent_css_cors
option. #TINY-6037 - The caret was moved to the previous line when a text pattern executed a
mceInsertContent
command on Enter key when running on Firefox. #TINY-9193
6.2.0 - 2022-09-08
Added
- New
text_patterns_lookup
option to provide additional text patterns dynamically. #TINY-8778 - New promotion element has been added to the default UI. It can be disabled using the new
promotion
option. #TINY-8840 - New
format_noneditable_selector
option to specify thecontenteditable="false"
elements that can be wrapped in a format. #TINY-8905 - Added
allow
as a valid attribute for theiframe
element in the editor schema. #TINY-8939 - New
search
field in theMenuButton
that shows a search field at the top of the menu, and refetches items when the search field updates. #TINY-8952
Improved
- The formatter can now apply a format to a
contenteditable="false"
element by wrapping it. Configurable using theformat_noneditable_selector
option. #TINY-8905 - The autocompleter now supports a multiple character trigger using the new
trigger
configuration. #TINY-8887 - The formatter now applies some inline formats, such as color and font size, to list item elements when the entire item content is selected. #TINY-8961
- The installed and available plugin lists in the Help dialog are now sorted alphabetically. #TINY-9019
- Alignment can now be applied to more types of embedded media elements. #TINY-8687
Changed
- The
@menubar-row-separator-color
oxide variable no longer affects the divider between the Menubar and Toolbar. It only controls the color of the separator lines drawn in multiline Menubars. #TINY-8632 - The
@toolbar-separator-color
oxide variable now affects the color of the separator between the Menubar and Toolbar only. #TINY-8632 - Available Premium plugins, which are listed by name in the Help dialog, are no longer translated. #TINY-9019
Fixed
- The Autolink plugin did not work when text nodes in the content were fragmented. #TINY-3723
- Fixed multiple incorrect types on public APIs found while enabling TypeScript strict mode. #TINY-8806
- The number of blank lines returned from
editor.getContent({format: 'text'})
differed between browsers. #TINY-8579 - The editor focused via the
auto_focus
option was not scrolled into the viewport. #TINY-8785 - Adding spaces immediately after a
contenteditable="false"
block did not work properly in some circumstances. #TINY-8814 - Elements with only
data-*
custom attributes were sometimes removed when they should not be removed. #TINY-8755 - Selecting a figure with
class="image"
incorrectly highlighted the link toolbar button. #TINY-8832 - Specifying a single, non-default list style for the
advlist_bullet_styles
andadvlist_number_styles
options was not respected. #TINY-8721 - Fixed multiple issues that occurred when formatting
contenteditable
elements. #TINY-8905 - Spaces could be incorrectly added to
urlinput
dialog components (commonly but not exclusively presented in the Insert/Edit Link dialog) in certain cases. #TINY-8775 - The text patterns logic threw an error when there were fragmented text nodes in a paragraph. #TINY-8779
- Dragging a
contentEditable=false
element towards a document’s edge did not cause scrolling. #TINY-8874 - Parsing large documents no longer throws a
Maximum call stack size exceeded
exception. #TINY-6945 - DomParser filter matching was not checked between filters, which could lead to an exception in the parser. #TINY-8888
contenteditable="false"
lists can no longer be toggled; andcontenteditable="true"
list elements within these lists can no longer be indented, split into another list element, or appended to the previous list element by deletion. #TINY-8920- Removed extra bottom padding in the context toolbar of the
tinymce-5
skin. #TINY-8980 - Fixed a regression where pressing Enter added or deleted content outside the selection. #TINY-9101
- Fixed a bug where pressing Enter deleted selected
contenteditable="false"
<pre>
elements. #TINY-9101 - The
editor.insertContent()
API did not respect theno_events
argument. #TINY-9140
Deprecated
- The autocompleter configuration property,
ch
, has been deprecated. It will be removed in the next major release. Use thetrigger
property instead. #TINY-8887
6.1.2 - 2022-07-29
Fixed
- Reverted the undo level fix in the
autolink
plugin as it caused duplicated content in some edge cases. #TINY-8936
6.1.1 - 2022-07-27
Fixed
- Invalid special elements were not cleaned up correctly during sanitization. #TINY-8780
- An exception was thrown when deleting all content if the start or end of the document had a
contenteditable="false"
element. #TINY-8877 - When a sidebar was opened using the
sidebar_show
option, its associated toolbar button was not highlighted. #TINY-8873 - When converting a URL to a link, the
autolink
plugin did not fire anExecCommand
event, nor did it create an undo level. #TINY-8896 - Worked around a Firefox bug which resulted in cookies not being available inside the editor content. #TINY-8916
<pre>
content pasted into a<pre>
block that had inline styles or wasnoneditable
now merges correctly with the surrounding content. #TINY-8860- After a
codesample
was pasted, the insertion point was placed incorrectly. #TINY-8861
6.1.0 - 2022-06-29
Added
- New
sidebar_show
option to show the specified sidebar on initialization. #TINY-8710 - New
newline_behavior
option controls what happens when the Return or Enter key is pressed or themceInsertNewLine
command is used. #TINY-8458 - New
iframe_template_callback
option in the Media plugin. Patch provided by Namstel. #TINY-8684 - New
transparent
property foriframe
dialog component. #TINY-8534 - New
removeAttributeFilter
andremoveNodeFilter
functions added to the DomParser and DOM Serializer APIs. #TINY-7847 - New
dispatchChange
function added to the UndoManager API to fire the change with current editor status as level and current undoManager layer as lastLevel. #TINY-8641
Improved
- Clearer focus states for buttons while navigating with a keyboard. #TINY-8557
- Support annotating certain block elements directly when using the editor's Annotation API. #TINY-8698
- The
mceLink
command can now take the value{ dialog: true }
to always open the link dialog. #TINY-8057 - All help dialog links to
https://www.tiny.cloud
now includerel="noopener"
to avoid potential security issues. #TINY-8834
Changed
- The
end_container_on_empty_block
option can now take a string of blocks, allowing the exiting of a blockquote element by pressing Enter or Return twice. #TINY-6559 - The default value for
end_container_on_empty_block
option has been changed to'blockquote'
. #TINY-6559 - Link menu and toolbar buttons now always execute the
mceLink
command. #TINY-8057 - Toggling fullscreen mode when using the Fullscreen plugin now also fires the
ResizeEditor
event. #TINY-8701 - Getting the editor's text content now returns newlines instead of an empty string if more than one empty paragraph exists. #TINY-8578
- Custom elements are now treated as non-empty elements by the schema. #TINY-4784
- The autocompleter's menu HTML element is now positioned instead of the wrapper. #TINY-6476
- Choice menu items will now use the
'menuitemradio'
aria role to better reflect that only a single item can be active. #TINY-8602
Fixed
- Some Template plugin option values were not escaped properly when doing replacement lookups with Regular Expressions. #TINY-7433
- Copy events were not dispatched in readonly mode. #TINY-6800
<pre>
tags were not preserved when copying and pasting. #TINY-7719- The URL detection used for autolink and smart paste did not work if a path segment contained valid characters such as
!
and:
. #TINY-8069 - In some cases pressing the Backspace or Delete key would incorrectly step into tables rather than remain outside. #TINY-8592
- Links opened when Alt+Enter or Option+Return was typed even when
preventDefault()
was called on the keydown event. #TINY-8661 - Inconsistent visual behavior between choosing Edit -> Select All and typing Ctrl+A or Cmd+A when a document contained an image. #TINY-4550
- Ctrl+Shift+Home/End or Cmd+Shift+Up-arrow/Down-arrow did not expand the selection to a
contenteditable="false"
element if the element was at the beginning or end of a document. #TINY-7795 - Triple-clicking did not select a paragraph in Google Chrome in some circumstances. #TINY-8215
- Images were not showing as selected when selected along with other content. #TINY-5947
- Selection direction was not stored or restored when getting or setting selection bookmarks. #TINY-8599
- When text within an inline boundary element was selected and the right-arrow key was pressed, the insertion point incorrectly moved to the left. #TINY-8601
- In some versions of Safari, the
editor.selection.isForward()
API could throw an exception due to an invalid selection. #TINY-8686 - The selection is no longer incorrectly moved inside a comment by the
editor.selection.normalize()
API. #TINY-7817 - The
InsertParagraph
ormceInsertNewLine
commands did not delete the current selection like the native command does. #TINY-8606 - The
InsertLineBreak
command did not replace selected content. #TINY-8458 - If selected content straddled a parent and nested list, cutting the selection did not always set the list style to
'none'
on the parent list. #TINY-8078 - Delete operations could behave incorrectly if the selection contains a
contenteditable="false"
element located at the edge of content. #TINY-8729 - Spaces were not added correctly on some browsers when the insertion point was immediately before or after a
contenteditable="false"
block element. #TINY-8588 - Images that used a Data URI were corrupted when the data wasn't base64 encoded. #TINY-8337
uploadImages
no longer triggers two change events if there is a removal of images on upload. #TINY-8641- Preview and Insert Template dialogs now display the correct content background color when using dark skins. #TINY-8534
- Dialogs no longer exceed window height on smaller screens. #TINY-8146
- UI components, such as dialogs, would in some cases cause the Esc keyup event to incorrectly trigger inside the editor. #TINY-7005
- Fixed incorrect word breaks in menus when the menu presented with a scrollbar. #TINY-8572
- Notifications did not properly reposition when toggling fullscreen mode. #TINY-8701
- Text alignments, such as flush left and centered, could not be applied to
<pre>
elements. #TINY-7715 - Indenting or outdenting list items inside a block element that was inside another list item did not work. #TINY-7209
- Changing the list type of a list within another block element altered the parent element that contained that list. #TINY-8068
- Pasting columns in tables could, in some circumstances, result in an invalid table. #TINY-8040
- Copying columns in tables could sometimes result in an invalid copy. #TINY-8040
- Changing table properties with the
table_style_by_css
option set tofalse
would sometimes reset the table width. #TINY-8758 - Custom elements added to otherwise blank lines were removed during serialization. #TINY-4784
- The editor's autocompleter was not triggered at the start of nested list items. #TINY-8759
- Some function types in the TreeWalker API missed that it could return
undefined
. #TINY-8592 - Nuget packages for .NET and .NET Core are now configured to copy TinyMCE into
/wwwroot/lib/
when TinyMCE is installed into a project. #TINY-8611
6.0.3 - 2022-05-25
Fixed
- Could not remove values when multiple cells were selected with the cell properties dialog. #TINY-8625
- Could not remove values when multiple rows were selected with the row properties dialog. #TINY-8625
- Empty lines that were formatted in a ranged selection using the
format_empty_lines
option were not kept in the serialized content. #TINY-8639 - The
s
element was missing from the default schema text inline elements. #TINY-8639 - Some text inline elements specified via the schema were not removed when empty by default. #TINY-8639
6.0.2 - 2022-04-27
Fixed
- Some media elements wouldn't update when changing the source URL. #TINY-8660
- Inline toolbars flickered when switching between editors. #TINY-8594
- Multiple inline toolbars were shown if focused too quickly. #TINY-8503
- Added background and additional spacing for the text labeled buttons in the toolbar to improve visual clarity. #TINY-8617
- Toolbar split buttons with text used an incorrect width on touch devices. #TINY-8647
6.0.1 - 2022-03-23
Fixed
- Fixed the dev ZIP missing the required
bin
scripts to build from the source. #TINY-8542 - Fixed a regression whereby text patterns couldn't be updated at runtime. #TINY-8540
- Fixed an issue where tables with colgroups could be copied incorrectly in some cases. #TINY-8568
- Naked buttons better adapt to various background colors, improved text contrast in notifications. #TINY-8533
- The autocompleter would not fire the
AutocompleterStart
event nor close the menu in some cases. #TINY-8552 - It wasn't possible to select text right after an inline noneditable element. #TINY-8567
- Fixed a double border showing for the
tinymce-5
skin when usingtoolbar_location: 'bottom'
. #TINY-8564 - Clipboard content was not generated correctly when cutting and copying
contenteditable="false"
elements. #TINY-8563 - Fixed the box-shadow getting clipped in autocompletor popups. #TINY-8573
- The
buttonType
property did not work for dialog footer buttons. #TINY-8582 - Fix contrast ratio for error messages. #TINY-8586
6.0.0 - 2022-03-03
Added
- New
editor.options
API to replace the oldeditor.settings
andeditor.getParam
APIs. #TINY-8206 - New
editor.annotator.removeAll
API to remove all annotations by name. #TINY-8195 - New
Resource.unload
API to make it possible to unload resources. #TINY-8431 - New
FakeClipboard
API on thetinymce
global. #TINY-8353 - New
dispatch()
function to replace the now deprecatedfire()
function in various APIs. #TINY-8102 - New
AutocompleterStart
,AutocompleterUpdate
andAutocompleterEnd
events. #TINY-8279 - New
mceAutocompleterClose
,mceAutocompleterReload
commands. #TINY-8279 - New
mceInsertTableDialog
command to open the insert table dialog. #TINY-8273 - New
slider
dialog component. #TINY-8304 - New
imagepreview
dialog component, allowing preview and zoom of any image URL. #TINY-8333 - New
buttonType
property on dialog button components, supportingtoolbar
style in addition toprimary
andsecondary
. #TINY-8304 - The
tabindex
attribute is now copied from the target element to the iframe. #TINY-8315
Improved
- New default theme styling for TinyMCE 6 facelift with old skin available as
tinymce-5
andtinymce-5-dark
. #TINY-8373 - The default height of editor has been increased from
200px
to400px
to improve the usability of the editor. #TINY-6860 - The upload results returned from the
editor.uploadImages()
API now includes aremoved
flag, reflecting if the image was removed after a failed upload. #TINY-7735 - The
ScriptLoader
,StyleSheetLoader
,AddOnManager
,PluginManager
andThemeManager
APIs will now return aPromise
when loading resources instead of using callbacks. #TINY-8325 - A
ThemeLoadError
event is now fired if the theme fails to load. #TINY-8325 - The
BeforeSetContent
event will now include the actual serialized content when passing in anAstNode
to theeditor.setContent
API. #TINY-7996 - Improved support for placing the caret before or after noneditable elements within the editor. #TINY-8169
- Calls to
editor.selection.setRng
now update the caret position bookmark used when focus is returned to the editor. #TINY-8450 - The
emoticon
plugin dialog, toolbar and menu item has been updated to use the more accurateEmojis
term. #TINY-7631 - The dialog
redial
API will now only rerender the changed components instead of the whole dialog. #TINY-8334 - The dialog API
setData
method now uses a deep merge algorithm to support partial nested objects. #TINY-8333 - The dialog spec
initialData
type is nowPartial<T>
to match the underlying implementation details. #TINY-8334 - Notifications no longer require a timeout to disable the close button. #TINY-6679
- The editor theme is now fetched in parallel with the icons, language pack and plugins. #TINY-8453
Changed
- TinyMCE is now MIT licensed. #TINY-2316
- Moved the
paste
plugin's functionality to TinyMCE core. #TINY-8310 - The
paste_data_images
option now defaults totrue
. #TINY-8310 - Moved the
noneditable
plugin to TinyMCE core. #TINY-8311 - Renamed the
noneditable_noneditable_class
option tononeditable_class
. #TINY-8311 - Renamed the
noneditable_editable_class
option toeditable_class
. #TINY-8311 - Moved the
textpattern
plugin to TinyMCE core. #TINY-8312 - Renamed the
textpattern_patterns
option totext_patterns
. #TINY-8312 - Moved the
hr
plugin's functionality to TinyMCE core. #TINY-8313 - Moved the
print
plugin's functionality to TinyMCE core. #TINY-8314 - Moved non-UI table functionality to core. #TINY-8273
- The
DomParser
API no longer uses a custom parser internally and instead uses the nativeDOMParser
API. #TINY-4627 - The
editor.getContent()
API can provide custom content by preventing and overridingcontent
in theBeforeGetContent
event. This makes it consistent with theeditor.selection.getContent()
API. #TINY-8018 - The
editor.setContent()
API can now be prevented using theBeforeSetContent
event. This makes it consistent with theeditor.selection.setContent()
API. #TINY-8018 - Add-ons such as plugins and themes are no longer constructed using the
new
operator. #TINY-8256 - A number of APIs that were not proper classes, are no longer constructed using the
new
operator. #TINY-8322 - The Editor commands APIs will no longer fallback to executing the browsers native command functionality. #TINY-7829
- The Editor query command APIs will now return
false
or an empty string on removed editors. #TINY-7829 - The
mceAddEditor
andmceToggleEditor
commands now take an object as their value to specify the id and editor options. #TINY-8138 - The
mceInsertTable
command can no longer open the insert table dialog. Use themceInsertTableDialog
command instead. #TINY-8273 - The
plugins
option now returns astring
array instead of a space separated string. #TINY-8455 - The
media
plugin no longer treatsiframe
,video
,audio
orobject
elements as "special" and will validate the contents against the schema. #TINY-8382 - The
images_upload_handler
option is no longer passed asuccess
orfailure
callback and instead requires aPromise
to be returned with the upload result. #TINY-8325 - The
tinymce.settings
global property is no longer set upon initialization. #TINY-7359 - The
change
event is no longer fired on first modification. #TINY-6920 - The
GetContent
event will now always pass astring
for thecontent
property. #TINY-7996 - Changed the default tag for the strikethrough format to the
s
tag when using a html 5 schema. #TINY-8262 - The
strike
tag is automatically converted to thes
tag when using a html 5 schema. #TINY-8262 - Aligning a table to the left or right will now use margin styling instead of float styling. #TINY-6558
- The
:
control character has been changed to~
for the schemavalid_elements
andextended_valid_elements
options. #TINY-6726 - The
primary
property on dialog buttons has been deprecated. Use the newbuttonType
property instead. #TINY-8304 - Changed the default statusbar element path delimiter from
»
to›
. #TINY-8372 - Replaced the
Powered by Tiny
branding text with the Tiny logo. #TINY-8371 - The default minimum height of editor has been changed to 100px to prevent the UI disappearing while resizing. #TINY-6860
- RGB colors are no longer converted to hex values when parsing or serializing content. #TINY-8163
- Replaced the
isDisabled()
function with anisEnabled()
function for various APIs. #TINY-8101 - Replaced the
enable()
anddisable()
functions with asetEnabled(state)
function in various APIs. #TINY-8101 - Replaced the
disabled
property with anenabled
property in various APIs. #TINY-8101 - Replaced the
disable(name)
andenable(name)
functions with asetEnabled(name, state)
function in the Dialog APIs. #TINY-8101 - Renamed the
tinymce.Env.os.isOSX
API totinymce.Env.os.isMacOS
. #TINY-8175 - Renamed the
tinymce.Env.browser.isChrome
API totinymce.Env.browser.isChromium
to better reflect its functionality. #TINY-8300 - Renamed the
getShortEndedElements
Schema API togetVoidElements
. #TINY-8344 - Renamed the
font_formats
option tofont_family_formats
. #TINY-8328 - Renamed the
fontselect
toolbar button andfontformats
menu item tofontfamily
. #TINY-8328 - Renamed the
fontsize_formats
option tofont_size_formats
. #TINY-8328 - Renamed the
fontsizeselect
toolbar button andfontsizes
menu item tofontsize
. #TINY-8328 - Renamed the
formatselect
toolbar button andblockformats
menu item toblocks
. #TINY-8328 - Renamed the
styleselect
toolbar button andformats
menu item tostyles
. #TINY-8328 - Renamed the
lineheight_formats
option toline_height_formats
. #TINY-8328 - Renamed the
getWhiteSpaceElements()
function togetWhitespaceElements()
in theSchema
API. #TINY-8102 - Renamed the
mceInsertClipboardContent
commandcontent
property tohtml
to better reflect what data is passed. #TINY-8310 - Renamed the
default_link_target
option tolink_default_target
for bothlink
andautolink
plugins. #TINY-4603 - Renamed the
rel_list
option tolink_rel_list
for thelink
plugin. #TINY-4603 - Renamed the
target_list
option tolink_target_list
for thelink
plugin. #TINY-4603 - The default value for the
link_default_protocol
option has been changed tohttps
instead ofhttp
. #TINY-7824 - The default value for the
element_format
option has been changed tohtml
. #TINY-8263 - The default value for the
schema
option has been changed tohtml5
. #TINY-8261 - The default value for the
table_style_by_css
option has been changed totrue
. #TINY-8259 - The default value for the
table_use_colgroups
option has been changed totrue
. #TINY-8259
Fixed
- The object returned from the
editor.fire()
API was incorrect if the editor had been removed. #TINY-8018 - The
editor.selection.getContent()
API did not respect theno_events
argument. #TINY-8018 - The
editor.annotator.remove
API did not keep selection when removing the annotation. #TINY-8195 - The
GetContent
event was not fired when gettingtree
ortext
formats using theeditor.selection.getContent()
API. #TINY-8018 - The
beforeinput
andinput
events would sometimes not fire as expected when deleting content. #TINY-8168 #TINY-8329 - The
table
plugin would sometimes not correctly handle headers in thetfoot
section. #TINY-8104 - The
silver
theme UI was incorrectly rendered before plugins had initialized. #TINY-8288 - The aria labels for the color picker dialog were not translated. #TINY-8381
- Fixed sub-menu items not read by screen readers. Patch contributed by westonkd. #TINY-8417
- Dialog labels and other text-based UI properties did not escape HTML markup. #TINY-7524
- Anchor elements would render incorrectly when using the
allow_html_in_named_anchor
option. #TINY-3799 - The
AstNode
HTML serializer did not serializepre
ortextarea
elements correctly when they contained newlines. #TINY-8446 - Fixed sub-menu items not read by screen readers. Patch contributed by westonkd. #TINY-8417
- The Home or End keys would move out of a editable element contained within a noneditable element. #TINY-8201
- Dialogs could not be opened in inline mode before the editor had been rendered. #TINY-8397
- Clicking on menu items could cause an unexpected console warning if the
onAction
function caused the menu to close. #TINY-8513 - Fixed various color and contrast issues for the dark skins. #TINY-8527
Removed
- Removed support for Microsoft Internet Explorer 11. #TINY-8194 #TINY-8241
- Removed support for Microsoft Word from the opensource paste functionality. #TINY-7493
- Removed support for the
plugins
option allowing a mixture of a string array and of space separated strings. #TINY-8399 - Removed support for the deprecated
false
value for theforced_root_block
option. #TINY-8260 - Removed the jQuery integration. #TINY-4519
- Removed the
imagetools
plugin, which is now classified as a Premium plugin. #TINY-8209 - Removed the
imagetools
dialog component. #TINY-8333 - Removed the
toc
plugin, which is now classified as a Premium plugin. #TINY-8250 - Removed the
tabfocus
plugin. #TINY-8315 - Removed the
textpattern
plugin's API as part of moving it to core. #TINY-8312 - Removed the
table
plugin's API. #TINY-8273 - Removed the callback for the
EditorUpload
API. #TINY-8325 - Removed the legacy browser detection properties from the
Env
API. #TINY-8162 - Removed the
filterNode
method from theDomParser
API. #TINY-8249 - Removed the
SaxParser
API. #TINY-8218 - Removed the
tinymce.utils.Promise
API. #TINY-8241 - Removed the
toHex
function for theDOMUtils
andStyles
APIs. #TINY-8163 - Removed the
execCommand
handler function from the plugin and theme interfaces. #TINY-7829 - Removed the
editor.settings
property as it has been replaced by the new Options API. #TINY-8236 - Removed the
shortEnded
andfixed
properties ontinymce.html.Node
class. #TINY-8205 - Removed the
mceInsertRawHTML
command. #TINY-8214 - Removed the style field from the
image
plugin dialog advanced tab. #TINY-3422 - Removed the
paste_filter_drop
option as native drag and drop handling is no longer supported. #TINY-8511 - Removed the legacy
mobile
theme. #TINY-7832 - Removed the deprecated
$
,Class
,DomQuery
andSizzle
APIs. #TINY-4520 #TINY-8326 - Removed the deprecated
Color
,JSON
,JSONP
andJSONRequest
. #TINY-8162 - Removed the deprecated
XHR
API. #TINY-8164 - Removed the deprecated
setIconStroke
Split Toolbar Button API. #TINY-8162 - Removed the deprecated
editors
property fromEditorManager
. #TINY-8162 - Removed the deprecated
execCallback
andsetMode
APIs fromEditor
. #TINY-8162 - Removed the deprecated
addComponents
anddependencies
APIs fromAddOnManager
. #TINY-8162 - Removed the deprecated
clearInterval
,clearTimeout
,debounce
,requestAnimationFrame
,setInterval
,setTimeout
andthrottle
APIs fromDelay
. #TINY-8162 - Removed the deprecated
Schema
options. #TINY-7821 - Removed the deprecated
file_browser_callback_types
,force_hex_style_colors
andimages_dataimg_filter
options. #TINY-7823 - Removed the deprecated
filepicker_validator_handler
,force_p_newlines
,gecko_spellcheck
,tab_focus
,table_responsive_width
andtoolbar_drawer
options. #TINY-7820 - Removed the deprecated
media_scripts
option in themedia
plugin. #TINY-8421 - Removed the deprecated
editor_deselector
,editor_selector
,elements
,mode
andtypes
legacy TinyMCE init options. #TINY-7822 - Removed the deprecated
content_editable_state
andpadd_empty_with_br
options. #TINY-8400 - Removed the deprecated
autoresize_on_init
option from theautoresize
plugin. #TINY-8400 - Removed the deprecated
fullpage
,spellchecker
,bbcode
,legacyoutput
,colorpicker
,contextmenu
andtextcolor
plugins. #TINY-8192 - Removed the undocumented
editor.editorCommands.hasCustomCommand
API. #TINY-7829 - Removed the undocumented
mceResetDesignMode
,mceRepaint
andmceBeginUndoLevel
commands. #TINY-7829
Deprecated
- The dialog button component's
primary
property has been deprecated and will be removed in the next major release. Use the newbuttonType
property instead. #TINY-8304 - The
fire()
function oftinymce.Editor
,tinymce.dom.EventUtils
,tinymce.dom.DOMUtils
,tinymce.util.Observable
andtinymce.util.EventDispatcher
has been deprecated and will be removed in the next major release. Use thedispatch()
function instead. #TINY-8102 - The
content
property on theSetContent
event has been deprecated and will be removed in the next major release. #TINY-8457 - The return value of the
editor.setContent
API has been deprecated and will be removed in the next major release. #TINY-8457
5.10.3 - 2022-02-09
Fixed
- Alignment would sometimes be removed on parent elements when changing alignment on certain inline nodes, such as images. #TINY-8308
- The
fullscreen
plugin would reset the scroll position when exiting fullscreen mode. #TINY-8418
5.10.2 - 2021-11-17
Fixed
- Internal selectors were appearing in the style list when using the
importcss
plugin. #TINY-8238
5.10.1 - 2021-11-03
Fixed
- The iframe aria help text was not read by some screen readers. #TINY-8171
- Clicking the
forecolor
orbackcolor
toolbar buttons would do nothing until selecting a color. #TINY-7836 - Crop functionality did not work in the
imagetools
plugin when the editor was rendered in a shadow root. #TINY-6387 - Fixed an exception thrown on Safari when closing the
searchreplace
plugin dialog. #TINY-8166 - The
autolink
plugin did not convert URLs to links when starting with a bracket. #TINY-8091 - The
autolink
plugin incorrectly created nested links in some cases. #TINY-8091 - Tables could have an incorrect height set on rows when rendered outside of the editor. #TINY-7699
- In certain circumstances, the table of contents plugin would incorrectly add an extra empty list item. #TINY-4636
- The insert table grid menu displayed an incorrect size when re-opening the grid. #TINY-6532
- The word count plugin was treating the zero width space character (
​
) as a word. #TINY-7484
5.10.0 - 2021-10-11
Added
- Added a new
URI.isDomSafe(uri)
API to check if a URI is considered safe to be inserted into the DOM. #TINY-7998 - Added the
ESC
key code constant to theVK
API. #TINY-7917 - Added a new
deprecation_warnings
setting for turning off deprecation console warning messages. #TINY-8049
Improved
- The
element
argument of theeditor.selection.scrollIntoView()
API is now optional, and if it is not provided the current selection will be scrolled into view. #TINY-7291
Changed
- The deprecated
scope
attribute is no longer added totd
cells when converting a row to a header row. #TINY-7731 - The number of
col
elements is normalized to match the number of columns in a table after a table action. #TINY-8011
Fixed
- Fixed a regression that caused block wrapper formats to apply and remove incorrectly when using a collapsed selection with multiple words. #TINY-8036
- Resizing table columns in some scenarios would resize the column to an incorrect position. #TINY-7731
- Inserting a table where the parent element had padding would cause the table width to be incorrect. #TINY-7991
- The resize backdrop element did not have the
data-mce-bogus="all"
attribute set to prevent it being included in output. #TINY-7854 - Resize handles appeared on top of dialogs and menus when using an inline editor. #TINY-3263
- Fixed the
autoresize
plugin incorrectly scrolling to the top of the editor content in some cases when changing content. #TINY-7291 - Fixed the
editor.selection.scrollIntoView()
type signature, as it incorrectly required anElement
instead ofHTMLElement
. #TINY-7291 - Table cells that were both row and column headers did not retain the correct state when converting back to a regular row or column. #TINY-7709
- Clicking beside a non-editable element could cause the editor to incorrectly scroll to the top of the content. #TINY-7062
- Clicking in a table cell, with a non-editable element in an adjacent cell, incorrectly caused the non-editable element to be selected. #TINY-7736
- Split toolbar buttons incorrectly had nested
tabindex="-1"
attributes. #TINY-7879 - Fixed notifications rendering in the wrong place initially and when the page was scrolled. #TINY-7894
- Fixed an exception getting thrown when the number of
col
elements didn't match the number of columns in a table. #TINY-7041 #TINY-8011 - The table selection state could become incorrect after selecting a noneditable table cell. #TINY-8053
- As of Mozilla Firefox 91, toggling fullscreen mode with
toolbar_sticky
enabled would cause the toolbar to disappear. #TINY-7873 - Fixed URLs not cleaned correctly in some cases in the
link
andimage
plugins. #TINY-7998 - Fixed the
image
andmedia
toolbar buttons incorrectly appearing to be in an inactive state in some cases. #TINY-3463 - Fixed the
editor.selection.selectorChanged
API not firing if the selector matched the current selection when registered in some cases. #TINY-3463 - Inserting content into a
contenteditable="true"
element that was contained within acontenteditable="false"
element would move the selection to an incorrect location. #TINY-7842 - Dragging and dropping
contenteditable="false"
elements could result in the element being placed in an unexpected location. #TINY-7917 - Pressing the Escape key would not cancel a drag action that started on a
contenteditable="false"
element within the editor. #TINY-7917 video
andaudio
elements were unable to be played when themedia
plugin live embeds were enabled in some cases. #TINY-7674- Pasting images would throw an exception if the clipboard
items
were not files (for example, screenshots taken from gnome-software). Patch contributed by cedric-anne. #TINY-8079
Deprecated
- Several APIs have been deprecated. See the release notes section for information. #TINY-8023 #TINY-8063
- Several Editor settings have been deprecated. See the release notes section for information. #TINY-8086
- The Table of Contents and Image Tools plugins will be classified as Premium plugins in the next major release. #TINY-8087
- Word support in the
paste
plugin has been deprecated and will be removed in the next major release. #TINY-8087
5.9.2 - 2021-09-08
Fixed
- Fixed an exception getting thrown when disabling events and setting content. #TINY-7956
- Delete operations could behave incorrectly if the selection crossed a table boundary. #TINY-7596
5.9.1 - 2021-08-27
Fixed
- Published TinyMCE types failed to compile in strict mode. #TINY-7915
- The
TableModified
event sometimes didn't fire when performing certain table actions. #TINY-7916
5.9.0 - 2021-08-26
Added
- Added a new
mceFocus
command that focuses the editor. Equivalent to usingeditor.focus()
. #TINY-7373 - Added a new
mceTableToggleClass
command which toggles the provided class on the currently selected table. #TINY-7476 - Added a new
mceTableCellToggleClass
command which toggles the provided class on the currently selected table cells. #TINY-7476 - Added a new
tablecellvalign
toolbar button and menu item for vertical table cell alignment. #TINY-7477 - Added a new
tablecellborderwidth
toolbar button and menu item to change table cell border width. #TINY-7478 - Added a new
tablecellborderstyle
toolbar button and menu item to change table cell border style. #TINY-7478 - Added a new
tablecaption
toolbar button and menu item to toggle captions on tables. #TINY-7479 - Added a new
mceTableToggleCaption
command that toggles captions on a selected table. #TINY-7479 - Added a new
tablerowheader
toolbar button and menu item to toggle the header state of row cells. #TINY-7478 - Added a new
tablecolheader
toolbar button and menu item to toggle the header state of column cells. #TINY-7482 - Added a new
tablecellbordercolor
toolbar button and menu item to select table cell border colors, with an accompanying settingtable_border_color_map
to customize the available values. #TINY-7480 - Added a new
tablecellbackgroundcolor
toolbar button and menu item to select table cell background colors, with an accompanying settingtable_background_color_map
to customize the available values. #TINY-7480 - Added a new
language
menu item and toolbar button to addlang
attributes to content, with an accompanyingcontent_langs
setting to specify the languages available. #TINY-6149 - A new
lang
format is now available that can be used witheditor.formatter
, or applied with theLang
editor command. #TINY-6149 - Added a new
language
icon for thelanguage
toolbar button. #TINY-7670 - Added a new
table-row-numbering
icon. #TINY-7327 - Added new plugin commands:
mceEmoticons
(Emoticons),mceWordCount
(Word Count), andmceTemplate
(Template). #TINY-7619 - Added a new
iframe_aria_text
setting to set the iframe title attribute. #TINY-1264 - Added a new DomParser
Node.children()
API to return all the children of aNode
. #TINY-7756
Improved
- Sticky toolbars can now be offset from the top of the page using the new
toolbar_sticky_offset
setting. #TINY-7337 - Fancy menu items now accept an
initData
property to allow custom initialization data. #TINY-7480 - Improved the load time of the
fullpage
plugin by using the existing editor schema rather than creating a new one. #TINY-6504 - Improved the performance when UI components are rendered. #TINY-7572
- The context toolbar no longer unnecessarily repositions to the top of large elements when scrolling. #TINY-7545
- The context toolbar will now move out of the way when it overlaps with the selection, such as in table cells. #TINY-7192
- The context toolbar now uses a short animation when transitioning between different locations. #TINY-7740
Env.browser
now uses the User-Agent Client Hints API where it is available. #TINY-7785- Icons with a
-rtl
suffix in their name will now automatically be used when the UI is rendered in right-to-left mode. #TINY-7782 - The
formatter.match
API now accepts an optionalsimilar
parameter to check if the format partially matches. #TINY-7712 - The
formatter.formatChanged
API now supports providing format variables when listening for changes. #TINY-7713 - The formatter will now fire
FormatApply
andFormatRemove
events for the relevant actions. #TINY-7713 - The
autolink
plugin link detection now permits custom protocols. #TINY-7714 - The
autolink
plugin valid link detection has been improved. #TINY-7714
Changed
- Changed the load order so content CSS is loaded before the editor is populated with content. #TINY-7249
- Changed the
emoticons
,wordcount
,code
,codesample
, andtemplate
plugins to open dialogs using commands. #TINY-7619 - The context toolbar will no longer show an arrow when it overlaps the content, such as in table cells. #TINY-7665
- The context toolbar will no longer overlap the statusbar for toolbars using
node
orselection
positions. #TINY-7666
Fixed
- The
editor.fire
API was incorrectly mutating the originalargs
provided. #TINY-3254 - Unbinding an event handler did not take effect immediately while the event was firing. #TINY-7436
- Binding an event handler incorrectly took effect immediately while the event was firing. #TINY-7436
- Unbinding a native event handler inside the
remove
event caused an exception that blocked editor removal. #TINY-7730 - The
SetContent
event contained the incorrectcontent
when using theeditor.selection.setContent()
API. #TINY-3254 - The editor content could be edited after calling
setProgressState(true)
in iframe mode. #TINY-7373 - Tabbing out of the editor after calling
setProgressState(true)
behaved inconsistently in iframe mode. #TINY-7373 - Flash of unstyled content while loading the editor because the content CSS was loaded after the editor content was rendered. #TINY-7249
- Partially transparent RGBA values provided in the
color_map
setting were given the wrong hex value. #TINY-7163 - HTML comments with mismatched quotes were parsed incorrectly under certain circumstances. #TINY-7589
- The editor could crash when inserting certain HTML content. #TINY-7756
- Inserting certain HTML content into the editor could result in invalid HTML once parsed. #TINY-7756
- Links in notification text did not show the correct mouse pointer. #TINY-7661
- Using the Tab key to navigate into the editor on Microsoft Internet Explorer 11 would incorrectly focus the toolbar. #TINY-3707
- The editor selection could be placed in an incorrect location when undoing or redoing changes in a document containing
contenteditable="false"
elements. #TINY-7663 - Menus and context menus were not closed when clicking into a different editor. #TINY-7399
- Context menus on Android were not displayed when more than one HTML element was selected. #TINY-7688
- Disabled nested menu items could still be opened. #TINY-7700
- The nested menu item chevron icon was not fading when the menu item was disabled. #TINY-7700
imagetools
buttons were incorrectly enabled for remote images withoutimagetools_proxy
set. #TINY-7772- Only table content would be deleted when partially selecting a table and content outside the table. #TINY-6044
- The table cell selection handling was incorrect in some cases when dealing with nested tables. #TINY-6298
- Removing a table row or column could result in the cursor getting placed in an invalid location. #TINY-7695
- Pressing the Tab key to navigate through table cells did not skip noneditable cells. #TINY-7705
- Clicking on a noneditable table cell did not show a visual selection like other noneditable elements. #TINY-7724
- Some table operations would incorrectly cause table row attributes and styles to be lost. #TINY-6666
- The selection was incorrectly lost when using the
mceTableCellType
andmceTableRowType
commands. #TINY-6666 - The
mceTableRowType
was reversing the order of the rows when converting multiple header rows back to body rows. #TINY-6666 - The table dialog did not always respect the
table_style_with_css
option. #TINY-4926 - Pasting into a table with multiple cells selected could cause the content to be pasted in the wrong location. #TINY-7485
- The
TableModified
event was not fired when pasting cells into a table. #TINY-6939 - The table paste column before and after icons were not flipped in RTL mode. #TINY-7851
- Fixed table corruption when deleting a
contenteditable="false"
cell. #TINY-7891 - The
dir
attribute was being incorrectly applied to list items. #TINY-4589 - Applying selector formats would sometimes not apply the format correctly to elements in a list. #TINY-7393
- For formats that specify an attribute or style that should be removed, the formatter
match
API incorrectly returnedfalse
. #TINY-6149 - The type signature on the
formatter.matchNode
API had the wrong return type (wasboolean
but should have beenFormatter | undefined
). #TINY-6149 - The
formatter.formatChanged
API would ignore thesimilar
parameter if another callback had already been registered for the same format. #TINY-7713 - The
formatter.formatChanged
API would sometimes not run the callback the first time the format was removed. #TINY-7713 - Base64 encoded images with spaces or line breaks in the data URI were not displayed correctly. Patch contributed by RoboBurned.
Deprecated
- The
bbcode
,fullpage
,legacyoutput
, andspellchecker
plugins have been deprecated and marked for removal in the next major release. #TINY-7260
5.8.2 - 2021-06-23
Fixed
- Fixed an issue when pasting cells from tables containing
colgroup
s into tables withoutcolgroup
s. #TINY-6675 - Fixed an issue that could cause an invalid toolbar button state when multiple inline editors were on a single page. #TINY-6297
5.8.1 - 2021-05-20
Fixed
- An unexpected exception was thrown when switching to readonly mode and adjusting the editor width. #TINY-6383
- Content could be lost when the
pagebreak_split_block
setting was enabled. #TINY-3388 - The
list-style-type: none;
style on nested list items was incorrectly removed when clearing formatting. #TINY-6264 - URLs were not always detected when pasting over a selection. Patch contributed by jwcooper. #TINY-6997
- Properties on the
OpenNotification
event were incorrectly namespaced. #TINY-7486
5.8.0 - 2021-05-06
Added
- Added the
PAGE_UP
andPAGE_DOWN
key code constants to theVK
API. #TINY-4612 - The editor resize handle can now be controlled using the keyboard. #TINY-4823
- Added a new
fixed_toolbar_container_target
setting which renders the toolbar in the specifiedHTMLElement
. Patch contributed by pvrobays.
Improved
- The
inline_boundaries
feature now supports thehome
,end
,pageup
, andpagedown
keys. #TINY-4612 - Updated the
formatter.matchFormat
API to support matching formats with variables in theclasses
property. #TINY-7227 - Added HTML5
audio
andvideo
elements to the default alignment formats. #TINY-6633 - Added support for alpha list numbering to the list properties dialog. #TINY-6891
Changed
- Updated the
image
dialog to display the class list dropdown as full-width if the caption checkbox is not present. #TINY-6400 - Renamed the "H Align" and "V Align" input labels in the Table Cell Properties dialog to "Horizontal align" and "Vertical align" respectively. #TINY-7285
Deprecated
- The undocumented
setIconStroke
Split Toolbar Button API has been deprecated and will be removed in a future release. #TINY-3551
Fixed
- Fixed a bug where it wasn't possible to align nested list items. #TINY-6567
- The RGB fields in the color picker dialog were not staying in sync with the color palette and hue slider. #TINY-6952
- The color preview box in the color picker dialog was not correctly displaying the saturation and value of the chosen color. #TINY-6952
- The color picker dialog will now show an alert if it is submitted with an invalid hex color code. #TINY-2814
- Fixed a bug where the
TableModified
event was not fired when adding a table row with the Tab key. #TINY-7006 - Added missing
images_file_types
setting to the exported TypeScript types. #GH-6607 - Fixed a bug where lists pasted from Word with Roman numeral markers were not displayed correctly. Patch contributed by aautio. #GH-6620
- The
editor.insertContent
API was incorrectly handling nestedspan
elements with matching styles. #TINY-6263 - The HTML5
small
element could not be removed when clearing text formatting. #TINY-6633 - The Oxide button text transform variable was incorrectly using
capitalize
instead ofnone
. Patch contributed by dakur. #GH-6341 - Fix dialog button text that was using title-style capitalization. #TINY-6816
- Table plugin could perform operations on tables containing the inline editor. #TINY-6625
- Fixed Tab key navigation inside table cells with a ranged selection. #TINY-6638
- The foreground and background toolbar button color indicator is no longer blurry. #TINY-3551
- Fixed a regression in the
tinymce.create()
API that caused issues when multiple objects were created. #TINY-7358 - Fixed the
LineHeight
command causing thechange
event to be fired inconsistently. #TINY-7048
5.7.1 - 2021-03-17
Fixed
- Fixed the
help
dialog incorrectly linking to the changelog of TinyMCE 4 instead of TinyMCE 5. #TINY-7031 - Fixed a bug where error messages were displayed incorrectly in the image dialog. #TINY-7099
- Fixed an issue where URLs were not correctly filtered in some cases. #TINY-7025
- Fixed a bug where context menu items with names that contained uppercase characters were not displayed. #TINY-7072
- Fixed context menu items lacking support for the
disabled
andshortcut
properties. #TINY-7073 - Fixed a regression where the width and height were incorrectly set when embedding content using the
media
dialog. #TINY-7074
5.7.0 - 2021-02-10
Added
- Added IPv6 address support to the URI API. Patch contributed by dev7355608. #GH-4409
- Added new
structure
andstyle
properties to theTableModified
event to indicate what kinds of modifications were made. #TINY-6643 - Added
video
andaudio
live embed support for themedia
plugin. #TINY-6229 - Added the ability to resize
video
andiframe
media elements. #TINY-6229 - Added a new
font_css
setting for adding fonts to both the editor and the parent document. #TINY-6199 - Added a new
ImageUploader
API to simplify uploading image data to the configuredimages_upload_url
orimages_upload_handler
. #TINY-4601 - Added an Oxide variable to define the container background color in fullscreen mode. #TINY-6903
- Added Oxide variables for setting the toolbar background colors for inline and sticky toolbars. #TINY-6009
- Added a new
AfterProgressState
event that is fired aftereditor.setProgressState
calls complete. #TINY-6686 - Added support for
table_column_resizing
when inserting or deleting columns. #TINY-6711
Changed
- Changed table and table column copy behavior to retain an appropriate width when pasted. #TINY-6664
- Changed the
lists
plugin to apply list styles to all text blocks within a selection. #TINY-3755 - Changed the
advlist
plugin to log a console error message when thelist
plugin isn't enabled. #TINY-6585 - Changed the z-index of the
setProgressState(true)
throbber so it does not hide notifications. #TINY-6686 - Changed the type signature for
editor.selection.getRng()
incorrectly returningnull
. #TINY-6843 - Changed some
SaxParser
regular expressions to improve performance. #TINY-6823 - Changed
editor.setProgressState(true)
to close any open popups. #TINY-6686
Fixed
- Fixed
codesample
highlighting performance issues for some languages. #TINY-6996 - Fixed an issue where cell widths were lost when merging table cells. #TINY-6901
- Fixed
col
elements incorrectly transformed toth
elements when converting columns to header columns. #TINY-6715 - Fixed a number of table operations not working when selecting 2 table cells on Mozilla Firefox. #TINY-3897
- Fixed a memory leak by backporting an upstream Sizzle fix. #TINY-6859
- Fixed table
width
style was removed when copying. #TINY-6664 - Fixed focus lost while typing in the
charmap
oremoticons
dialogs when the editor is rendered in a shadow root. #TINY-6904 - Fixed corruption of base64 URLs used in style attributes when parsing HTML. #TINY-6828
- Fixed the order of CSS precedence of
content_style
andcontent_css
in thepreview
andtemplate
plugins.content_style
now has precedence. #TINY-6529 - Fixed an issue where the image dialog tried to calculate image dimensions for an empty image URL. #TINY-6611
- Fixed an issue where
scope
attributes on table cells would not change as expected when merging or unmerging cells. #TINY-6486 - Fixed the plugin documentation links in the
help
plugin. #DOC-703 - Fixed events bound using
DOMUtils
not returning the correct result forisDefaultPrevented
in some cases. #TINY-6834 - Fixed the "Dropped file type is not supported" notification incorrectly showing when using an inline editor. #TINY-6834
- Fixed an issue with external styles bleeding into TinyMCE. #TINY-6735
- Fixed an issue where parsing malformed comments could cause an infinite loop. #TINY-6864
- Fixed incorrect return types on
editor.selection.moveToBookmark
. #TINY-6504 - Fixed the type signature for
editor.selection.setCursorLocation()
incorrectly allowing a node with nooffset
. #TINY-6843 - Fixed incorrect behavior when editor is destroyed while loading stylesheets. #INT-2282
- Fixed figure elements incorrectly splitting from a valid parent element when editing the image within. #TINY-6592
- Fixed inserting multiple rows or columns in a table cloning from the incorrect source row or column. #TINY-6906
- Fixed an issue where new lines were not scrolled into view when pressing Shift+Enter or Shift+Return. #TINY-6964
- Fixed an issue where list elements would not be removed when outdenting using the Enter or Return key. #TINY-5974
- Fixed an issue where file extensions with uppercase characters were treated as invalid. #TINY-6940
- Fixed dialog block messages were not passed through TinyMCE's translation system. #TINY-6971
5.6.2 - 2020-12-08
Fixed
- Fixed a UI rendering regression when the document body is using
display: flex
. #TINY-6783
5.6.1 - 2020-11-25
Fixed
- Fixed the
mceTableRowType
andmceTableCellType
commands were not firing thenewCell
event. #TINY-6692 - Fixed the HTML5
s
element was not recognized when editing or clearing text formatting. #TINY-6681 - Fixed an issue where copying and pasting table columns resulted in invalid HTML when using colgroups. #TINY-6684
- Fixed an issue where the toolbar would render with the wrong width for inline editors in some situations. #TINY-6683
5.6.0 - 2020-11-18
Added
- Added new
BeforeOpenNotification
andOpenNotification
events which allow internal notifications to be captured and modified before display. #TINY-6528 - Added support for
block
andunblock
methods on inline dialogs. #TINY-6487 - Added new
TableModified
event which is fired whenever changes are made to a table. #TINY-6629 - Added new
images_file_types
setting to determine which image file formats will be automatically processed intoimg
tags on paste when using thepaste
plugin. #TINY-6306 - Added support for
images_file_types
setting in the image file uploader to determine which image file extensions are valid for upload. #TINY-6224 - Added new
format_empty_lines
setting to control if empty lines are formatted in a ranged selection. #TINY-6483 - Added template support to the
autocompleter
for customizing the autocompleter items. #TINY-6505 - Added new user interface
enable
,disable
, andisDisabled
methods. #TINY-6397 - Added new
closest
formatter API to get the closest matching selection format from a set of formats. #TINY-6479 - Added new
emojiimages
emoticons database that uses the twemoji CDN by default. #TINY-6021 - Added new
emoticons_database
setting to configure which emoji database to use. #TINY-6021 - Added new
name
field to thestyle_formats
setting object to enable specifying a name for the format. #TINY-4239
Changed
- Changed
readonly
mode to allow hyperlinks to be clickable. #TINY-6248
Fixed
- Fixed the
change
event not firing after a successful image upload. #TINY-6586 - Fixed the type signature for the
entity_encoding
setting not accepting delimited lists. #TINY-6648 - Fixed layout issues when empty
tr
elements were incorrectly removed from tables. #TINY-4679 - Fixed image file extensions lost when uploading an image with an alternative extension, such as
.jfif
. #TINY-6622 - Fixed a security issue where URLs in attributes weren't correctly sanitized. #TINY-6518
- Fixed
DOMUtils.getParents
incorrectly including the shadow root in the array of elements returned. #TINY-6540 - Fixed an issue where the root document could be scrolled while an editor dialog was open inside a shadow root. #TINY-6363
- Fixed
getContent
with text format returning a new line when the editor is empty. #TINY-6281 - Fixed table column and row resizers not respecting the
data-mce-resize
attribute. #TINY-6600 - Fixed inserting a table via the
mceInsertTable
command incorrectly creating 2 undo levels. #TINY-6656 - Fixed nested tables with
colgroup
elements incorrectly always resizing the inner table. #TINY-6623 - Fixed the
visualchars
plugin causing the editor to steal focus when initialized. #TINY-6282 - Fixed
fullpage
plugin altering text content ineditor.getContent()
. #TINY-6541 - Fixed
fullscreen
plugin not working correctly with multiple editors and shadow DOM. #TINY-6280 - Fixed font size keywords such as
medium
not displaying correctly in font size menus. #TINY-6291 - Fixed an issue where some attributes in table cells were not copied over to new rows or columns. #TINY-6485
- Fixed incorrectly removing formatting on adjacent spaces when removing formatting on a ranged selection. #TINY-6268
- Fixed the
Cut
menu item not working in the latest version of Mozilla Firefox. #TINY-6615 - Fixed some incorrect types in the new TypeScript declaration file. #TINY-6413
- Fixed a regression where a fake offscreen selection element was incorrectly created for the editor root node. #TINY-6555
- Fixed an issue where menus would incorrectly collapse in small containers. #TINY-3321
- Fixed an issue where only one table column at a time could be converted to a header. #TINY-6326
- Fixed some minor memory leaks that prevented garbage collection for editor instances. #TINY-6570
- Fixed resizing a
responsive
table not working when using the column resize handles. #TINY-6601 - Fixed incorrectly calculating table
col
widths when resizing responsive tables. #TINY-6646 - Fixed an issue where spaces were not preserved in pre-blocks when getting text content. #TINY-6448
- Fixed a regression that caused the selection to be difficult to see in tables with backgrounds. #TINY-6495
- Fixed content pasted multiple times in the editor when using Microsoft Internet Explorer 11. Patch contributed by mattford. #GH-4905
5.5.1 - 2020-10-01
Fixed
- Fixed pressing the down key near the end of a document incorrectly raising an exception. #TINY-6471
- Fixed incorrect Typescript types for the
Tools
API. #TINY-6475
5.5.0 - 2020-09-29
Added
- Added a TypeScript declaration file to the bundle output for TinyMCE core. #TINY-3785
- Added new
table_column_resizing
setting to control how table columns are resized when using the resize bars. #TINY-6001 - Added the ability to remove images on a failed upload using the
images_upload_handler
failure callback. #TINY-6011 - Added
hasPlugin
function to the editor API to determine if a plugin exists or not. #TINY-766 - Added new
ToggleToolbarDrawer
command and query state handler to allow the toolbar drawer to be programmatically toggled and the toggle state to be checked. #TINY-6032 - Added the ability to use
colgroup
elements in tables. #TINY-6050 - Added a new setting
table_use_colgroups
for toggling whether colgroups are used in new tables. #TINY-6050 - Added the ability to delete and navigate HTML media elements without the
media
plugin. #TINY-4211 - Added
fullscreen_native
setting to thefullscreen
plugin to enable use of the entire monitor. #TINY-6284 - Added table related oxide variables to the Style API for more granular control over table cell selection appearance. #TINY-6311
- Added new
toolbar_persist
setting to control the visibility of the inline toolbar. #TINY-4847 - Added new APIs to allow for programmatic control of the inline toolbar visibility. #TINY-4847
- Added the
origin
property to theObjectResized
andObjectResizeStart
events, to specify which handle the resize was performed on. #TINY-6242 - Added new StyleSheetLoader
unload
andunloadAll
APIs to allow loaded stylesheets to be removed. #TINY-3926 - Added the
LineHeight
query command and action to the editor. #TINY-4843 - Added the
lineheight
toolbar and menu items, and addedlineheight
to the default format menu. #TINY-4843 - Added a new
contextmenu_avoid_overlap
setting to allow context menus to avoid overlapping matched nodes. #TINY-6036 - Added new listbox dialog UI component for rendering a dropdown that allows nested options. #TINY-2236
- Added back the ability to use nested items in the
image_class_list
,link_class_list
,link_list
,table_class_list
,table_cell_class_list
, andtable_row_class_list
settings. #TINY-2236
Changed
- Changed how CSS manipulates table cells when selecting multiple cells to achieve a semi-transparent selection. #TINY-6311
- Changed the
target
property on fired events to use the native event target. The original target for an open shadow root can be obtained usingevent.getComposedPath()
. #TINY-6128 - Changed the editor to clean-up loaded CSS stylesheets when all editors using the stylesheet have been removed. #TINY-3926
- Changed
imagetools
context menu icon for accessing theimage
dialog to use theimage
icon. #TINY-4141 - Changed the
editor.insertContent()
andeditor.selection.setContent()
APIs to retain leading and trailing whitespace. #TINY-5966 - Changed the
table
pluginColumn
menu to include the cut, copy and paste column menu items. #TINY-6374 - Changed the default table styles in the co