The primary focuses of 4.9.8 are:
- Introduce “Try Gutenberg” callout
- Privacy fixes/enhancements
Introduce “Try Gutenberg” callout
“Try Gutenberg” is an opportunity for WordPress users to try out the Gutenberg block editor before it is released in WordPress 5.0. In WordPress 4.9.8, users will see an invitation on their WordPress Admin Dashboard to try Gutenberg.
“Try Gutenberg” Callout in WordPress 4.9.8 contains more information about the callout, including which users will, by default, be shown the callout and the hooks it provides for site administrators to modify that default behavior.
This version includes 18 Privacy fixes focused on ensuring consistency and flexibility in the new personal data tools added in 4.9.6, including:
- The type of request being confirmed is now included in the subject line for all privacy confirmation emails.
- Improved consistency with site name being used for privacy emails in multisite.
- Increased the test coverage for several core privacy functions.
- Pagination for Privacy request admin screens can now be adjusted.
In addition to the primary focuses another notable change in 4.9.8 is that developers can now register meta keys for object subtypes:
From the WordPress 4.9.8 release post: This maintenance release fixes 46 bugs, enhancements and blessed tasks, including updating the Twenty Seventeen bundled theme.
See the full list of closed tickets in Trac:
- #44611 – try Gutenberg header wraps over text below on narrow screens
- #44627 – minor tweaks to Try Gutenberg callout formatting
- #44109 – TwentySeventeen backend editor: level 2 bulleted lists nested under numbered lists show numbers instead of bullets
- #44646 – Bundled Themes: Bump version number and update changelog in Twenty Seventeen for 4.9.8 release
- #44126 – Adding fields to comments_form args prevents checkbox displaying
- #44141 – Privacy: Don’t replace comment author URL and email with anything
- #44342 – Commenter cookie consent message should not be displayed if the cookie action isn’t hooked
- #44104 – Customize: Attempt to count uncountable value
- #41316 – Introduce “Try Gutenberg” callout
- #44341 – Replace _deprecated_function( ‘add_filter’ ) with apply_filters_deprecated()
- #44680 – Restrict the Try Gutenberg callout audience
- #44339 – Emoji: Update Twemoji to 11.0
- #43054 – wp_is_stream fails with stream definition containing nonascii chars
Login and Registration
- #44052 – Missing parameter type for `login_header()`
- #44532 – Extreme memory leak related to wp_is_stream in wp-includes/functions.php in WordPress 4.9.7
- #43751 – REST API: Attachments controller should respect “Max upload file size” and “Site upload space” in multisite
Options, Meta APIs
- #38323 – Reconsider $object_subtype handling in `register_meta()`
Posts, Post Types
- #36085 – Add action hook to get_inline_data()
- #44025 – Privacy: Pagination screen options for the requests list tables
- #44099 – Add Request Type into Admin Email Subject for GDPR
- #44100 – GDPR Privacy Page setting allows for Draft Pages
- #44181 – The input field id username_or_email_to_export should be something else on remove_personal_data page
- #44195 – “Silence is golden” index.html generates output
- #44265 – Add filter for email subject for erasure complete notification
- #44353 – Replace `site_url( ‘wp-login.php’ )` in `wp_send_user_request()`
- #44373 – Add a privacy setting to disable comment cookie consent
- #44379 – GDPR filters should provide either $request or $request_id
- #44382 – Filter the subject within _wp_privacy_send_request_confirmation_notification
- #44396 – Inconsistent use of blogname and sitename in Privacy emails
- #43967 – Admin emails after email confirmation don’t work for data privacy requests
- #44590 – Remove “// WPCS:” comments
- #40861 – REST API saves attachments with absolute path for `_wp_attached_file` on Windows platforms
- #43874 – REST API: Only render fields specific to request when _fields= is used
- #44321 – REST API: Expose revision count and last revision ID on Post response
- #44287 – REST API: Declare user capability to perform actions using JSON Hyper Schema `targetSchema`
- #42691 – WP_Term_Query get_terms generates invalid sql queries
- #44096 – REST API: Taxonomy and term endpoints should use correct permission checks
- #44134 – Update to TinyMCE 4.7.13
- See the TinyMCE changelog. WordPress 4.9.6 included TinyMCE 4.7.11, WordPress 4.9.8 updated to TinyMCE 4.8.0, despite the title of this ticket.
- #44330 – TinyMCE: do not force-load external TinyMCE plugins
List of files revised
/wp-admin/css/common.css /wp-admin/css/dashboard.css /wp-admin/includes/admin-filters.php /wp-admin/includes/ajax-actions.php /wp-admin/includes/class-wp-screen.php /wp-admin/includes/continents-cities.php /wp-admin/includes/dashboard.php /wp-admin/includes/file.php /wp-admin/includes/misc.php /wp-admin/includes/schema.php /wp-admin/includes/template.php /wp-admin/includes/user.php /wp-admin/js/dashboard.js /wp-admin/js/updates.js /wp-admin/about.php /wp-admin/admin-ajax.php /wp-admin/index.php /wp-admin/options-discussion.php /wp-admin/options.php /wp-admin/plugins.php /wp-admin/privacy.php /wp-content/themes/twentyseventeen/README.txt /wp-content/themes/twentyseventeen/assets/css/editor-style.css /wp-content/themes/twentyseventeen/style.css /wp-includes/js/tinymce/plugins/charmap/plugin.js /wp-includes/js/tinymce/plugins/colorpicker/plugin.js /wp-includes/js/tinymce/plugins/directionality/plugin.js /wp-includes/js/tinymce/plugins/fullscreen/plugin.js /wp-includes/js/tinymce/plugins/hr/plugin.js /wp-includes/js/tinymce/plugins/image/plugin.js /wp-includes/js/tinymce/plugins/image/plugin.min.js /wp-includes/js/tinymce/plugins/link/plugin.js /wp-includes/js/tinymce/plugins/lists/plugin.js /wp-includes/js/tinymce/plugins/lists/plugin.min.js /wp-includes/js/tinymce/plugins/media/plugin.js /wp-includes/js/tinymce/plugins/paste/plugin.js /wp-includes/js/tinymce/plugins/paste/plugin.min.js /wp-includes/js/tinymce/plugins/tabfocus/plugin.js /wp-includes/js/tinymce/plugins/tabfocus/plugin.min.js /wp-includes/js/tinymce/plugins/textcolor/plugin.js /wp-includes/js/tinymce/plugins/textcolor/plugin.min.js /wp-includes/js/tinymce/plugins/wordpress/plugin.js /wp-includes/js/tinymce/plugins/wpeditimage/plugin.js /wp-includes/js/tinymce/plugins/wplink/plugin.js /wp-includes/js/tinymce/plugins/wpview/plugin.js /wp-includes/js/tinymce/skins/lightgray/content.inline.min.css /wp-includes/js/tinymce/skins/lightgray/content.min.css /wp-includes/js/tinymce/skins/lightgray/skin.min.css /wp-includes/js/tinymce/skins/wordpress/wp-content.css /wp-includes/js/tinymce/themes/inlite/theme.js /wp-includes/js/tinymce/themes/inlite/theme.min.js /wp-includes/js/tinymce/themes/modern/theme.js /wp-includes/js/tinymce/themes/modern/theme.min.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/rest-api/endpoints/class-wp-rest-attachments-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-post-statuses-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-post-types-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-revisions-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-taxonomies-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-terms-controller.php /wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php /wp-includes/rest-api/fields/class-wp-rest-comment-meta-fields.php /wp-includes/rest-api/fields/class-wp-rest-meta-fields.php /wp-includes/rest-api/fields/class-wp-rest-post-meta-fields.php /wp-includes/rest-api/fields/class-wp-rest-term-meta-fields.php /wp-includes/rest-api/fields/class-wp-rest-user-meta-fields.php /wp-includes/capabilities.php /wp-includes/class-wp-customize-nav-menus.php /wp-includes/class-wp-editor.php /wp-includes/class-wp-term-query.php /wp-includes/comment-template.php /wp-includes/comment.php /wp-includes/default-filters.php /wp-includes/formatting.php /wp-includes/functions.php /wp-includes/general-template.php /wp-includes/link-template.php /wp-includes/meta.php /wp-includes/post.php /wp-includes/taxonomy.php /wp-includes/user.php /wp-includes/version.php /wp-login.php