WordPress.org

Make WordPress Core

Opened 2 months ago

Closed 8 weeks ago

Last modified 2 weeks ago

#43862 closed task (blessed) (fixed)

TinyMCE: Update to 4.7.11

Reported by: iseulde Owned by: iseulde
Milestone: 4.9.6 Priority: normal
Severity: normal Version: trunk
Component: TinyMCE Keywords: needs-testing
Focuses: Cc:

Description

Current version: 4.6.7. This is a minor version bump, so there should not be any breaking changes. There's been a few things rewritten though, so we should test thoroughly.

Diff: https://github.com/tinymce/tinymce/compare/4.6.7...4.7.11

Changelog:

Version 4.7.11 (2018-04-11)
    Added a new imagetools_credentials_hosts option to the Imagetools Plugin.
    Fixed a bug where toggling a list containing empty LIs would throw an error. Patch contributed by bradleyke.
    Fixed a bug where applying block styles to a text with the caret at the end of the paragraph would select all text in the paragraph.
    Fixed a bug where toggling on the Spellchecker Plugin would trigger isDirty on the editor.
    Fixed a bug where it was possible to enter content into selection bookmark spans.
    Fixed a bug where if a non paragraph block was configured in forced_root_block the editor.getContent method would return incorrect values with an empty editor.
    Fixed a bug where dropdown menu panels stayed open and fixed in position when dragging dialog windows.
    Fixed a bug where it wasn't possible to extend table cells with the space button in Safari.
    Fixed a bug where the setupeditor event would thrown an error when using the Compat3x Plugin.
    Fixed a bug where an error was thrown in FontInfo when called on a detached element.
Version 4.7.10 (2018-04-03)
    Removed the "read" step from the mobile theme.
    Added normalization of triple clicks across browsers in the editor.
    Added a `hasFocus` method to the editor that checks if the editor has focus.
    Added correct icon to the Nonbreaking Plugin menu item.
    Fixed so the `getContent`/`setContent` methods work even if the editor is not initialized.
    Fixed a bug with the Media Plugin where query strings were being stripped from youtube links.
    Fixed a bug where image styles were changed/removed when opening and closing the Image Plugin dialog.
    Fixed a bug in the Table Plugin where some table cell styles were not correctly added to the content html.
    Fixed a bug in the Spellchecker Plugin where it wasn't possible to change the spellchecker language.
    Fixed so the the unlink action in the Link Plugin has a menu item and can be added to the contextmenu.
    Fixed a bug where it wasn't possible to keyboard navigate to the start of an inline element on a new line within the same block element.
    Fixed a bug with the Text Color Plugin where if used with an inline editor located at the bottom of the screen the colorpicker could appear off screen.
    Fixed a bug with the UndoManager where undo levels were being added for nbzwsp characters.
    Fixed a bug with the Table Plugin where the caret would sometimes be lost when keyboard navigating up through a table.
    Fixed a bug where FontInfo.getFontFamily would throw an error when called on a removed editor.
    Fixed a bug in Firefox where undo levels were not being added correctly for some specific operations.
    Fixed a bug where initializing an inline editor inside of a table would make the whole table resizeable.
    Fixed a bug where the fake cursor that appears next to tables on Firefox was positioned incorrectly when switching to fullscreen.
    Fixed a bug where zwsp's weren't trimmed from the output from `editor.getContent({ format: 'text' })`.
    Fixed a bug where the fontsizeselect/fontselect toolbar items showed the body info rather than the first possible caret position info on init.
    Fixed a bug where it wasn't possible to select all content if the editor only contained an inline boundary element.
    Fixed a bug where `content_css` urls with query strings wasn't working.
    Fixed a bug in the Table Plugin where some table row styles were removed when changing other styles in the row properties dialog.
Version 4.7.9 (2018-02-27)
    Fixed a bug where the editor target element didn't get the correct style when removing the editor.
Version 4.7.8 (2018-02-26)
    Fixed an issue with the Help Plugin where the menuitem name wasn't lowercase.
    Fixed an issue on MacOS where text and bold text did not have the same line-height in the autocomplete dropdown in the Link Plugin dialog.
    Fixed a bug where the "paste as text" option in the Paste Plugin didn't work.
    Fixed a bug where dialog list boxes didn't get positioned correctly in documents with scroll.
    Fixed a bug where the Inlite Theme didn't use the Table Plugin api to insert correct tables.
    Fixed a bug where the Inlite Theme panel didn't hide on blur in a correct way.
    Fixed a bug where placing the cursor before a table in Firefox would scroll to the bottom of the table.
    Fixed a bug where selecting partial text in table cells with rowspans and deleting would produce faulty tables.
    Fixed a bug where the Preview Plugin didn't work on Safari due to sandbox security.
    Fixed a bug where table cell selection using the keyboard threw an error.
    Fixed so the font size and font family doesn't toggle the text but only sets the selected format on the selected text.
    Fixed so the built-in spellchecking on Chrome and Safari creates an undo level when replacing words.
Version 4.7.7 (2018-02-19)
    Added a border style selector to the advanced tab of the Image Plugin.
    Added better controls for default table inserted by the Table Plugin.
    Added new `table_responsive_width` option to the Table Plugin that controls whether to use pixel or percentage widths.
    Fixed a bug where the Link Plugin text didn't update when a URL was pasted using the context menu.
    Fixed a bug with the Spellchecker Plugin where using "Add to dictionary" in the context menu threw an error.
    Fixed a bug in the Media Plugin where the preview node for iframes got default width and height attributes that interfered with width/height styles.
    Fixed a bug where backslashes were being added to some font family names in Firefox in the fontselect toolbar item.
    Fixed a bug where errors would be thrown when trying to remove an editor that had not yet been fully initialized.
    Fixed a bug where the Imagetools Plugin didn't update the images atomically.
    Fixed a bug where the Fullscreen Plugin was throwing errors when being used on an inline editor.
    Fixed a bug where drop down menus weren't positioned correctly in inline editors on scroll.
    Fixed a bug with a semicolon missing at the end of the bundled javascript files.
    Fixed a bug in the Table Plugin with cursor navigation inside of tables where the cursor would sometimes jump into an incorrect table cells.
    Fixed a bug where indenting a table that is a list item using the "Increase indent" button would create a nested table.
    Fixed a bug where text nodes containing only whitespace were being wrapped by paragraph elements.
    Fixed a bug where whitespace was being inserted after br tags inside of paragraph tags.
    Fixed a bug where converting an indented paragraph to a list item would cause the list item to have extra padding.
    Fixed a bug where Copy/Paste in an editor with a lot of content would cause the editor to scroll to the top of the content in IE11.
    Fixed a bug with a memory leak in the DragHelper. Path contributed by ben-mckernan.
    Fixed a bug where the advanced tab in the Media Plugin was being shown even if it didn't contain anything. Patch contributed by gabrieeel.
    Fixed an outdated eventname in the EventUtils. Patch contributed by nazar-pc.
    Fixed an issue where the Json.parse function would throw an error when being used on a page with strict CSP settings.
    Fixed so you can place the curser before and after table elements within the editor in Firefox and Edge/IE.
Version 4.7.6 (2018-01-29)
    Fixed a bug in the jquery integration where it threw an error saying that "global is not defined".
    Fixed a bug where deleting a table cell whose previous sibling was set to contenteditable false would create a corrupted table.
    Fixed a bug where highlighting text in an unfocused editor did not work correctly in IE11/Edge.
    Fixed a bug where the table resize handles were not being repositioned when activating the Fullscreen Plugin.
    Fixed a bug where the Imagetools Plugin dialog didn't honor editor RTL settings.
    Fixed a bug where block elements weren't being merged correctly if you deleted from after a contenteditable false element to the beginning of another block element.
    Fixed a bug where TinyMCE didn't work with module loaders like webpack.
Version 4.7.5 (2018-01-22)
    Fixed bug with the Codesample Plugin where it wasn't possible to edit codesamples when the editor was in inline mode.
    Fixed bug where focusing on the status bar broke the keyboard navigation functionality.
    Fixed bug where an error would be thrown on Edge by the Table Plugin when pasting using the PowerPaste Plugin.
    Fixed bug in the Table Plugin where selecting row border style from the dropdown menu in advanced row properties would throw an error.
    Fixed bug with icons being rendered incorrectly on Chrome on Mac OS.
    Fixed bug in the Textcolor Plugin where the font color and background color buttons wouldn't trigger an ExecCommand event.
    Fixed bug in the Link Plugin where the url field wasn't forced LTR.
    Fixed bug where the Nonbreaking Plugin incorrectly inserted spaces into tables.
    Fixed bug with the inline theme where the toolbar wasn't repositioned on window resize.
Version 4.7.4 (2017-12-05)
    Fixed bug in the Nonbreaking Plugin where the nonbreaking_force_tab setting was being ignored.
    Fixed bug in the Table Plugin where changing row height incorrectly converted column widths to pixels.
    Fixed bug in the Table Plugin on Edge and IE11 where resizing the last column after resizing the table would cause invalid column heights.
    Fixed bug in the Table Plugin where keyboard navigation was not normalized between browsers.
    Fixed bug in the Table Plugin where the colorpicker button would show even without defining the colorpicker_callback.
    Fixed bug in the Table Plugin where it wasn't possible to set the cell background color.
    Fixed bug where Firefox would throw an error when intialising an editor on an element that is hidden or not yet added to the DOM.
    Fixed bug where Firefox would throw an error when intialising an editor inside of a hidden iframe.
Version 4.7.3 (2017-11-23)
    Added functionality to open the Codesample Plugin dialog when double clicking on a codesample. Patch contributed by dakuzen.
    Fixed bug where undo/redo didn't work correctly with some formats and caret positions.
    Fixed bug where the color picker didn't show up in Table Plugin dialogs.
    Fixed bug where it wasn't possible to change the width of a table through the Table Plugin dialog.
    Fixed bug where the Charmap Plugin couldn't insert some special characters.
    Fixed bug where editing a newly inserted link would not actually edit the link but insert a new link next to it.
    Fixed bug where deleting all content in a table cell made it impossible to place the caret into it.
    Fixed bug where the vertical alignment field in the Table Plugin cell properties dialog didn't do anything.
    Fixed bug where an image with a caption showed two sets of resize handles in IE11.
    Fixed bug where pressing the enter button inside of an h1 with contenteditable set to true would sometimes produce a p tag.
    Fixed bug with backspace not working as expected before a noneditable element.
    Fixed bug where operating on tables with invalid rowspans would cause an error to be thrown.
    Fixed so a real base64 representation of the image is available on the blobInfo that the images_upload_handler gets called with.
    Fixed so the image upload tab is available when the images_upload_handler is defined (and not only when the images_upload_url is defined).
Version 4.7.2 (2017-11-07)
    Added newly rewritten Table Plugin.
    Added support for attributes with colon in valid_elements and addValidElements.
    Added support for dailymotion short url in the Media Plugin. Patch contributed by maat8.
    Added support for converting to half pt when converting font size from px to pt. Patch contributed by danny6514.
    Added support for location hash to the Autosave plugin to make it work better with SPAs using hash routing.
    Added support for merging table cells when pasting a table into another table.
    Changed so the language packs are only loaded once. Patch contributed by 0xor1.
    Simplified the css for inline boundaries selection by switching to an attribute selector.
    Fixed bug where an error would be thrown on editor initialization if the window.getSelection() returned null.
    Fixed bug where holding down control or alt keys made the keyboard navigation inside an inline boundary not work as expected.
    Fixed bug where applying formats in IE11 produced extra, empty paragraphs in the editor.
    Fixed bug where the Word Count Plugin didn't count some mathematical operators correctly.
    Fixed bug where removing an inline editor removed the element that the editor had been initialized on.
    Fixed bug where setting the selection to the end of an editable container caused some formatting problems.
    Fixed bug where an error would be thrown sometimes when an editor was removed because of the selection bookmark was being stored asynchronously.
    Fixed a bug where an editor initialized on an empty list did not contain any valid cursor positions.
    Fixed a bug with the Context Menu Plugin and webkit browsers on Mac where right-clicking inside a table would produce an incorrect selection.
    Fixed bug where the Image Plugin constrain proportions setting wasn't working as expected.
    Fixed bug where deleting the last character in a span with decorations produced an incorrect element when typing.
    Fixed bug where focusing on inline editors made the toolbar flicker when moving between elements quickly.
    Fixed bug where the selection would be stored incorrectly in inline editors when the mouseup event was fired outside the editor body.
    Fixed bug where toggling bold at the end of an inline boundary would toggle off the whole word.
    Fixed bug where setting the skin to false would not stop the loading of some skin css files.
    Fixed bug in mobile theme where pinch-to-zoom would break after exiting the editor.
    Fixed bug where sublists of a fully selected list would not be switched correctly when changing list style.
    Fixed bug where inserting media by source would break the UndoManager.
    Fixed bug where inserting some content into the editor with a specific selection would replace some content incorrectly.
    Fixed bug where selecting all content with ctrl+a in IE11 caused problems with untoggling some formatting.
    Fixed bug where the Search and Replace Plugin left some marker spans in the editor when undoing and redoing after replacing some content.
    Fixed bug where the editor would not get a scrollbar when using the Fullscreen and Autoresize plugins together.
    Fixed bug where the font selector would stop working correctly after selecting fonts three times.
    Fixed so pressing the enter key inside of an inline boundary inserts a br after the inline boundary element.
    Fixed a bug where it wasn't possible to use tab navigation inside of a table that was inside of a list.
    Fixed bug where end_container_on_empty_block would incorrectly remove elements.
    Fixed bug where content_styles weren't added to the Preview Plugin iframe.
    Fixed so the beforeSetContent/beforeGetContent events are preventable.
    Fixed bug where changing height value in Table Plugin advanced tab didn't do anything.
    Fixed bug where it wasn't possible to remove formatting from content in beginning of table cell.
Version 4.7.1 (2017-10-09)
    Fixed bug where theme set to false on an inline editor produced an extra div element after the target element.
    Fixed bug where the editor drag icon was misaligned with the branding set to false.
    Fixed bug where doubled menu items were not being removed as expected with the removed_menuitems setting.
    Fixed bug where the Table of contents plugin threw an error when initialized.
    Fixed bug where it wasn't possible to add inline formats to text selected right to left.
    Fixed bug where the paste from plain text mode did not work as expected.
    Fixed so the style previews do not set color and background color when selected.
    Fixed bug where the Autolink plugin didn't work as expected with some formats applied on an empty editor.
    Fixed bug where the Textpattern plugin were throwing errors on some patterns.
    Fixed bug where the Save plugin saved all editors instead of only the active editor. Patch contributed by dannoe.
Version 4.7.0 (2017-10-03)
    Added new mobile ui that is specifically designed for mobile devices.
    Updated the default skin to be more modern and white since white is preferred by most implementations.
    Restructured the default menus to be more similar to common office suites like Google Docs.
    Fixed so theme can be set to false on both inline and iframe editor modes.
    Fixed bug where inline editor would add/remove the visualblocks css multiple times.
    Fixed bug where selection wouldn't be properly restored when editor lost focus and commands where invoked.
    Fixed bug where toc plugin would generate id:s for headers even though a toc wasn't inserted into the content.
    Fixed bug where is wasn't possible to drag/drop contents within the editor if paste_data_images where set to true.
    Fixed bug where getParam and close in WindowManager would get the first opened window instead of the last opened window.
    Fixed bug where delete would delete between cells inside a table in Firefox.

Attachments (3)

43862.patch (5.3 MB) - added by iseulde 2 months ago.
43862.2.patch (5.3 MB) - added by iseulde 2 months ago.
43862.3.patch (5.3 MB) - added by iseulde 2 months ago.

Change History (13)

This ticket was mentioned in Slack in #core by azaozz. View the logs.


2 months ago

@iseulde
2 months ago

@iseulde
2 months ago

#2 @iseulde
2 months ago

QUnit tests pass.

$ svn st
M       src/wp-includes/css/editor.css
M       src/wp-includes/js/tinymce/plugins/charmap/plugin.js
M       src/wp-includes/js/tinymce/plugins/charmap/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/colorpicker/plugin.js
M       src/wp-includes/js/tinymce/plugins/colorpicker/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/compat3x/plugin.js
M       src/wp-includes/js/tinymce/plugins/compat3x/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/directionality/plugin.js
M       src/wp-includes/js/tinymce/plugins/directionality/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/fullscreen/plugin.js
M       src/wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/hr/plugin.js
M       src/wp-includes/js/tinymce/plugins/hr/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/image/plugin.js
M       src/wp-includes/js/tinymce/plugins/image/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/link/plugin.js
M       src/wp-includes/js/tinymce/plugins/link/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/lists/plugin.js
M       src/wp-includes/js/tinymce/plugins/lists/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/media/plugin.js
M       src/wp-includes/js/tinymce/plugins/media/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/paste/plugin.js
M       src/wp-includes/js/tinymce/plugins/paste/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/tabfocus/plugin.js
M       src/wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js
M       src/wp-includes/js/tinymce/plugins/textcolor/plugin.js
M       src/wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
M       src/wp-includes/js/tinymce/skins/lightgray/content.inline.min.css
M       src/wp-includes/js/tinymce/skins/lightgray/content.min.css
M       src/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot
M       src/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg
M       src/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf
M       src/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff
M       src/wp-includes/js/tinymce/skins/lightgray/skin.min.css
M       src/wp-includes/js/tinymce/themes/inlite/theme.js
M       src/wp-includes/js/tinymce/themes/inlite/theme.min.js
M       src/wp-includes/js/tinymce/themes/modern/theme.js
M       src/wp-includes/js/tinymce/themes/modern/theme.min.js
M       src/wp-includes/js/tinymce/tinymce.js
M       src/wp-includes/js/tinymce/tinymce.min.js
M       src/wp-includes/js/tinymce/utils/validate.js
M       src/wp-includes/version.php
X       tests/phpunit/data/plugins/wordpress-importer

@iseulde
2 months ago

#3 @iseulde
2 months ago

Forgot to link: [43004]. :/ Leaving opened for merge with 4.9.6.

This ticket was mentioned in Slack in #core by desrosj. View the logs.


8 weeks ago

#5 @desrosj
8 weeks ago

  • Milestone changed from 4.9.6 to 4.9.7

Moving to 4.9.7 to make sure this gets enough testing.

#6 @SergeyBiryukov
8 weeks ago

  • Milestone changed from 4.9.7 to 4.9.6

Bringing back per Slack discussion.

#7 @SergeyBiryukov
8 weeks ago

  • Resolution set to fixed
  • Status changed from assigned to closed

In 43068:

TinyMCE: Update to 4.7.11.

Props iseulde.
Merges [43004] to the 4.9 branch.
Fixes #43862.

#8 @programmin
7 weeks ago

Github shows, "This comparison is big! We’re only showing the most recent 250 commits"!

This is a big change and I'm wondering what issues this fixes in Wordpress... that is, when I have issues with MCE4.7 not showing up in certain cases, if I replace an old /wp-includes/js/tinymce from an older version for MCE4.6, what issues will I this introduce?

#9 @dougwollison
2 weeks ago

While it's possible that I've been using it wrong, I just now stumped across an arguably breaking change caused by TinyMCE 4.7.

Edit: moved to ticket:44134#comment:20

Last edited 2 weeks ago by dougwollison (previous) (diff)

#10 @desrosj
2 weeks ago

@dougwollison This ticket is closed out. Can you please post on the follow up ticket, #44134? It will ensure everyone is aware of your feedback. Thank you!

Note: See TracTickets for help on using tickets.