Version 4.9.3

In this article

From the WordPress 4.9.3 release post: This maintenance release fixes 34 bugs in 4.9, including fixes for Customizer changesets, widgets, visual editor, and PHP 7.2 compatibility.

WordPress 4.9.3 contains 34 bug fixes.

Detailed Changes

Canonical URLs

  • #15397 – Redirect to the correct URL when the post date changes.

Code Editor

  • #42802 – Disable attr-value-double-quotes HTMLHint rule since too strict for user input.
  • #42586 – Add Ctrl/Cmd+F as aliases for persistent search for more intuitive behaviour.
  • #42850 – Replaces JSHint with esprima.

Customize

  • #42497 – Improve accuracy of message displayed when accessing Customizer with a changeset that is already published or trashed.
  • #42674 – Prevent showing SFTP theme installation notification in multisite when user cannot install themes.
  • #42655 – Use changeset-specific “locked” messages when branching is enabled.
  • #42975 – Prevent frontend previewing from causing a customization lock on the changeset.
  • #42686 – Let default status for Customizer be draft if user does not have capability to publish.
  • #42565 – Correct “Add Items” button reference in help text shown after creating a new menu.
  • #42450 – Ensure customize_autosaved requests only use revision of logged-in user.
  • #42991 – Include nav menu item for Home custom link in search results for “Home”.
  • #42495 – Ensure media playlists get initialized after selective refresh; expose new wp.playlist.initialize() API.
  • #42658 – Ensure heartbeat keeps changeset locked when in branching mode.

Email

  • #42693 – Don’t send notifications for site or network admin email address change to the default ‘admin_email’ value.

Emoji

  • #42862 – Update Twemoji to 2.4.0.
  • #42862 – Update emoji base URL in _print_emoji_detection_script() and wp_staticize_emoji().

Media

  • #43088 – Restore white background of the content area in media modal.
  • #42643 – Introduce a custom error handler for MediaElement.js to display a download link if a FLV file cannot be rendered for any reason.
  • #42646 – Store and reuse image cropper ratio settings if available, instead of overwriting.
  • #42646 – Fix JSHint error after #42595.
  • #39859 – Avoid page scrolling when opening the media modal.

Plugins

  • #43016 – Update review filter links in Details modal.

REST API

  • #42597 – Add existing term_id to the error data object when attempting to create a duplicate term.

Role/Capability

  • #42697 – Make install_languages capability check less restrictive.

TinyMCE

  • #43090 – On the toolbar drop-downs apply overflow style on the actual element with text.
  • #42908 – When keeping the scroll position treat all shortcodes as preview-able.
  • #42722 – Backport bug fixes to NotificationManager, WindowManager and MultiRange.

Upgrade/Install

  • #43005 – In postMessage events handler, check for message object existence before checking its action property.
  • #43103 – Only trigger Background Update processes from within the core update check when a core autoupdate is on offer.

Widget

  • #43003 – Prevent checkValidity from running on a form when widget is first adding to sidebar.
  • #42740 – Allow relative/partial URLs in Image Widget’s link field.
  • #43125 – Ensure media is explicitly enqueued from Text widget in case Media widgets are unregistered.

WPDB

  • #43109 – Use a PCRE syntax which supports PCRE compiled between 2003 and 2006.

List of Files Revised

 wp-admin/about.php
wp-admin/css/widgets.css
wp-admin/customize.php
wp-admin/includes/plugin-install.php
wp-admin/js/customize-controls.js
wp-admin/js/editor.js
wp-admin/js/updates.js
wp-admin/js/widgets.js
wp-admin/network/settings.php
wp-admin/network/site-new.php
wp-admin/options-general.php
wp-admin/options.php
wp-includes/capabilities.php
wp-includes/class-wp-customize-manager.php
wp-includes/class-wp-customize-nav-menus.php
wp-includes/class-wp-query.php
wp-includes/css/editor.css
wp-includes/customize/class-wp-customize-nav-menu-control.php
wp-includes/default-filters.php
wp-includes/formatting.php
wp-includes/functions.php
wp-includes/general-template.php
wp-includes/js/codemirror/jshint.js
wp-includes/js/customize-selective-refresh.js
wp-includes/js/media-views.js
wp-includes/js/media/views/cropper.js
wp-includes/js/media/views/modal.js
wp-includes/js/mediaelement/wp-mediaelement.js
wp-includes/js/mediaelement/wp-playlist.js
wp-includes/js/tinymce/tinymce.js
wp-includes/js/tinymce/tinymce.min.js
wp-includes/js/twemoji.js
wp-includes/js/wp-emoji-loader.js
wp-includes/media-template.php
wp-includes/ms-functions.php
wp-includes/post.php
wp-includes/query.php
wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php
wp-includes/script-loader.php
wp-includes/update.php
wp-includes/version.php
wp-includes/widgets/class-wp-widget-media-image.php
wp-includes/widgets/class-wp-widget-text.php
wp-includes/wp-db.php

First published

Last updated