npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@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 and WindowManager.confirm APIs were not properly sanitized. #TINY-3548

6.3.0 - 2022-11-23

Added

  • New expand function added to tinymce.selection which expands the selection around the nearest word. #TINY-9001
  • New expand function added to tinymce.dom.RangeUtils to return a new range expanded around the nearest word. #TINY-9001
  • New color_map_background and color_map_foreground options which set the base colors used in the backcolor and forecolor toolbar buttons and menu items. #TINY-9184
  • Added optional storageKey property to colorinput component and colorswatch fancy menu item. #TINY-9184
  • New addView function added to editor.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 and color_default_background options to set the initial default color for the forecolor and backcolor toolbar buttons and menu items. #TINY-9183
  • New getTransparentElements function added to tinymce.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' }) or editor.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 the content_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 the contenteditable="false" elements that can be wrapped in a format. #TINY-8905
  • Added allow as a valid attribute for the iframe element in the editor schema. #TINY-8939
  • New search field in the MenuButton 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 the format_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 and advlist_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; and contenteditable="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 the no_events argument. #TINY-9140

Deprecated

  • The autocompleter configuration property, ch, has been deprecated. It will be removed in the next major release. Use the trigger 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 an ExecCommand 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 was noneditable 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 the mceInsertNewLine command is used. #TINY-8458
  • New iframe_template_callback option in the Media plugin. Patch provided by Namstel. #TINY-8684
  • New transparent property for iframe dialog component. #TINY-8534
  • New removeAttributeFilter and removeNodeFilter 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 include rel="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 or mceInsertNewLine 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 to false 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 using toolbar_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 old editor.settings and editor.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 the tinymce global. #TINY-8353
  • New dispatch() function to replace the now deprecated fire() function in various APIs. #TINY-8102
  • New AutocompleterStart, AutocompleterUpdate and AutocompleterEnd 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, supporting toolbar style in addition to primary and secondary. #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 and tinymce-5-dark. #TINY-8373
  • The default height of editor has been increased from 200px to 400px to improve the usability of the editor. #TINY-6860
  • The upload results returned from the editor.uploadImages() API now includes a removed flag, reflecting if the image was removed after a failed upload. #TINY-7735
  • The ScriptLoader, StyleSheetLoader, AddOnManager, PluginManager and ThemeManager APIs will now return a Promise 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 an AstNode to the editor.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 accurate Emojis 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 now Partial<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 to true. #TINY-8310
  • Moved the noneditable plugin to TinyMCE core. #TINY-8311
  • Renamed the noneditable_noneditable_class option to noneditable_class. #TINY-8311
  • Renamed the noneditable_editable_class option to editable_class. #TINY-8311
  • Moved the textpattern plugin to TinyMCE core. #TINY-8312
  • Renamed the textpattern_patterns option to text_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 native DOMParser API. #TINY-4627
  • The editor.getContent() API can provide custom content by preventing and overriding content in the BeforeGetContent event. This makes it consistent with the editor.selection.getContent() API. #TINY-8018
  • The editor.setContent() API can now be prevented using the BeforeSetContent event. This makes it consistent with the editor.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 and mceToggleEditor 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 the mceInsertTableDialog command instead. #TINY-8273
  • The plugins option now returns a string array instead of a space separated string. #TINY-8455
  • The media plugin no longer treats iframe, video, audio or object elements as "special" and will validate the contents against the schema. #TINY-8382
  • The images_upload_handler option is no longer passed a success or failure callback and instead requires a Promise 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 a string for the content 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 the s 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 schema valid_elements and extended_valid_elements options. #TINY-6726
  • The primary property on dialog buttons has been deprecated. Use the new buttonType 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 an isEnabled() function for various APIs. #TINY-8101
  • Replaced the enable() and disable() functions with a setEnabled(state) function in various APIs. #TINY-8101
  • Replaced the disabled property with an enabled property in various APIs. #TINY-8101
  • Replaced the disable(name) and enable(name) functions with a setEnabled(name, state) function in the Dialog APIs. #TINY-8101
  • Renamed the tinymce.Env.os.isOSX API to tinymce.Env.os.isMacOS. #TINY-8175
  • Renamed the tinymce.Env.browser.isChrome API to tinymce.Env.browser.isChromium to better reflect its functionality. #TINY-8300
  • Renamed the getShortEndedElements Schema API to getVoidElements. #TINY-8344
  • Renamed the font_formats option to font_family_formats. #TINY-8328
  • Renamed the fontselect toolbar button and fontformats menu item to fontfamily. #TINY-8328
  • Renamed the fontsize_formats option to font_size_formats. #TINY-8328
  • Renamed the fontsizeselect toolbar button and fontsizes menu item to fontsize. #TINY-8328
  • Renamed the formatselect toolbar button and blockformats menu item to blocks. #TINY-8328
  • Renamed the styleselect toolbar button and formats menu item to styles. #TINY-8328
  • Renamed the lineheight_formats option to line_height_formats. #TINY-8328
  • Renamed the getWhiteSpaceElements() function to getWhitespaceElements() in the Schema API. #TINY-8102
  • Renamed the mceInsertClipboardContent command content property to html to better reflect what data is passed. #TINY-8310
  • Renamed the default_link_target option to link_default_target for both link and autolink plugins. #TINY-4603
  • Renamed the rel_list option to link_rel_list for the link plugin. #TINY-4603
  • Renamed the target_list option to link_target_list for the link plugin. #TINY-4603
  • The default value for the link_default_protocol option has been changed to https instead of http. #TINY-7824
  • The default value for the element_format option has been changed to html. #TINY-8263
  • The default value for the schema option has been changed to html5. #TINY-8261
  • The default value for the table_style_by_css option has been changed to true. #TINY-8259
  • The default value for the table_use_colgroups option has been changed to true. #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 the no_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 getting tree or text formats using the editor.selection.getContent() API. #TINY-8018
  • The beforeinput and input events would sometimes not fire as expected when deleting content. #TINY-8168 #TINY-8329
  • The table plugin would sometimes not correctly handle headers in the tfoot 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 serialize pre or textarea 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 the forced_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 the DomParser API. #TINY-8249
  • Removed the SaxParser API. #TINY-8218
  • Removed the tinymce.utils.Promise API. #TINY-8241
  • Removed the toHex function for the DOMUtils and Styles 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 and fixed properties on tinymce.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 and Sizzle APIs. #TINY-4520 #TINY-8326
  • Removed the deprecated Color, JSON, JSONP and JSONRequest. #TINY-8162
  • Removed the deprecated XHR API. #TINY-8164
  • Removed the deprecated setIconStroke Split Toolbar Button API. #TINY-8162
  • Removed the deprecated editors property from EditorManager. #TINY-8162
  • Removed the deprecated execCallback and setMode APIs from Editor. #TINY-8162
  • Removed the deprecated addComponents and dependencies APIs from AddOnManager. #TINY-8162
  • Removed the deprecated clearInterval, clearTimeout, debounce, requestAnimationFrame, setInterval, setTimeout and throttle APIs from Delay. #TINY-8162
  • Removed the deprecated Schema options. #TINY-7821
  • Removed the deprecated file_browser_callback_types, force_hex_style_colors and images_dataimg_filter options. #TINY-7823
  • Removed the deprecated filepicker_validator_handler, force_p_newlines, gecko_spellcheck, tab_focus, table_responsive_width and toolbar_drawer options. #TINY-7820
  • Removed the deprecated media_scripts option in the media plugin. #TINY-8421
  • Removed the deprecated editor_deselector, editor_selector, elements, mode and types legacy TinyMCE init options. #TINY-7822
  • Removed the deprecated content_editable_state and padd_empty_with_br options. #TINY-8400
  • Removed the deprecated autoresize_on_init option from the autoresize plugin. #TINY-8400
  • Removed the deprecated fullpage, spellchecker, bbcode, legacyoutput, colorpicker, contextmenu and textcolor plugins. #TINY-8192
  • Removed the undocumented editor.editorCommands.hasCustomCommand API. #TINY-7829
  • Removed the undocumented mceResetDesignMode, mceRepaint and mceBeginUndoLevel 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 new buttonType property instead. #TINY-8304
  • The fire() function of tinymce.Editor, tinymce.dom.EventUtils, tinymce.dom.DOMUtils, tinymce.util.Observable and tinymce.util.EventDispatcher has been deprecated and will be removed in the next major release. Use the dispatch() function instead. #TINY-8102
  • The content property on the SetContent 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 or backcolor 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 (&#8203;) 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 the VK API. #TINY-7917
  • Added a new deprecation_warnings setting for turning off deprecation console warning messages. #TINY-8049

Improved

  • The element argument of the editor.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 to td 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 an Element instead of HTMLElement. #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 and image plugins. #TINY-7998
  • Fixed the image and media 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 a contenteditable="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 and audio elements were unable to be played when the media 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 using editor.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 setting table_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 setting table_background_color_map to customize the available values. #TINY-7480
  • Added a new language menu item and toolbar button to add lang attributes to content, with an accompanying content_langs setting to specify the languages available. #TINY-6149
  • A new lang format is now available that can be used with editor.formatter, or applied with the Lang editor command. #TINY-6149
  • Added a new language icon for the language toolbar button. #TINY-7670
  • Added a new table-row-numbering icon. #TINY-7327
  • Added new plugin commands: mceEmoticons (Emoticons), mceWordCount (Word Count), and mceTemplate (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 a Node. #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 optional similar 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 and FormatRemove 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, and template 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 or selection positions. #TINY-7666

Fixed

  • The editor.fire API was incorrectly mutating the original args 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 incorrect content when using the editor.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 without imagetools_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 and mceTableRowType 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 returned false. #TINY-6149
  • The type signature on the formatter.matchNode API had the wrong return type (was boolean but should have been Formatter | undefined). #TINY-6149
  • The formatter.formatChanged API would ignore the similar 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, and spellchecker 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 colgroups into tables without colgroups. #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 and PAGE_DOWN key code constants to the VK 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 specified HTMLElement. Patch contributed by pvrobays.

Improved

  • The inline_boundaries feature now supports the home, end, pageup, and pagedown keys. #TINY-4612
  • Updated the formatter.matchFormat API to support matching formats with variables in the classes property. #TINY-7227
  • Added HTML5 audio and video 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 nested span 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 of none. 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 the change 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 and shortcut 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 and style properties to the TableModified event to indicate what kinds of modifications were made. #TINY-6643
  • Added video and audio live embed support for the media plugin. #TINY-6229
  • Added the ability to resize video and iframe 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 configured images_upload_url or images_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 after editor.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 the list 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 returning null. #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 to th 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 or emoticons 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 and content_css in the preview and template 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 for isDefaultPrevented 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 no offset. #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 and mceTableCellType commands were not firing the newCell 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 and OpenNotification events which allow internal notifications to be captured and modified before display. #TINY-6528
  • Added support for block and unblock 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 into img tags on paste when using the paste 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, and isDisabled 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 the style_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 in editor.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 the fullscreen 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 the ObjectResized and ObjectResizeStart events, to specify which handle the resize was performed on. #TINY-6242
  • Added new StyleSheetLoader unload and unloadAll 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 added lineheight 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, and table_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 using event.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 the image dialog to use the image icon. #TINY-4141
  • Changed the editor.insertContent() and editor.selection.setContent() APIs to retain leading and trailing whitespace. #TINY-5966
  • Changed the table plugin Column menu to include the cut, copy and paste column menu items. #TINY-6374
  • Changed the default table styles in the co