@tjdata/s-editor
v1.2.6
Published
All notable changes to this project will be documented in this file.
Downloads
3
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