WordPress 4.9.8 Release Candidate 1

The release candidate package for 4.9.8 has been released and is now available for testing. Please help test the release candidate version to ensure the version works as expected.

Note: testing of the release candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). package shortly after it was built uncovered a serious bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. in the “Try GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ callout”, see #44635.  It was decided that we should still go forward with the releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. and will release a 2nd release candidate package as soon as a fix for this bug is found.

The total number of bug fixes in 4.9.8 is 28, the number of enhancements remains is 12 and the number of blessed tasks is 3.
 
The official 4.9.8 release is scheduled for Tuesday, July 31st.

Blessed Tasks

A full list of blessed tasks in 4.9.8 Release Candidate 1 can be found on Trac.

Editor

  • #41316 – Introduce “Try Gutenberg” callout

Emoji

  • #44339 – Emoji: Update Twemoji to 11.0

TinyMCE

  • #44134 – Update to TinyMCE 4.7.13
    • See the TinyMCE changelog.  WP 4.9.6 included TinyMCE 4.7.11, WP 4.9.8 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 updated to TinyMCE 4.8.0.

Bug Fixes

A full list of bugs fixed in 4.9.8 Release Candidate 1 can be found on Trac.

Administration

  • #44611 – try Gutenberg headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. wraps over text below on narrow screens

Bundled Theme

  • #44109 – TwentySeventeen backend editor: level 2 bulleted lists nested under numbered lists show numbers instead of bullets

Comments

  • #44141 – Privacy: Don’t replace comment author URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org and email with anything
  • #44342 – Commenter cookie consent message should not be displayed if the cookie action isn’t hooked
  • #44126 – Adding fields to comments_form args prevents checkbox displaying

Customize

  • #44104 – Customize: Attempt to count uncountable value

Editor

  • #44341 – Replace _deprecated_function( ‘add_filter’ ) with apply_filters_deprecated()

Filesystem APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #43054 – wp_is_stream fails with stream definition containing nonascii chars

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  •  
  • #44139 – i18n: “About” disambiguation
  • #44574 – Saratov and other cities missing from translations

Login and Registration

  • #44052 – Missing parameter type for `login_header()`

Media

  • #43751 – REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.: Attachments controller should respect “Max upload file size” and “Sitesite (versus network, blog) upload space” in multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site
  • #44532 – Extreme memory leak related to wp_is_stream in wp-includes/functions.php in WordPress 4.9.7

Privacy

  • #44099 – Add Request Type into Adminadmin (and super admin) Email Subject for GDPR
  • #44130 – Mixed Case of Privacy Policy on Privacy Settings page
  • #44192 – Title of Privacy Policy Page not used on login page
  • #44195 – “Silence is golden” index.htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. generates output
  • #44265 – Add filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for email subject for erasure complete notification
  • #44353 – Replace `site_url( ‘wp-login.php’ )` in `wp_send_user_request()`
  • #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
  • #44590 – Remove “// WPCS:” comments

Rest API

  • #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

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • #42691 – WP_Term_Query get_terms generates invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. sql queries
  • #44096 – REST API: Taxonomy and term endpoints should use correct permission checks

TinyMCE

  • #44330 – TinyMCE: do not force-load external TinyMCE plugins

Enhancements

A full list of enhancements in 4.9.8 Release Candidate 1 can be found on Trac.

Options, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. APIs

  • #38323 – Reconsider $object_subtype handling in `register_meta()`

Posts, Post Types

  • #36085 – Add action hook to get_inline_data()

Privacy

  •  
  • #43967 – Admin emails after email confirmation don’t work for data privacy requests
  • #44006 – Privacy Policy page should have suffix like other special pages
  • #44025 – Privacy: Pagination screen options for the requests list tables
  • #44100 – GDPR Privacy Page setting allows for Draft Pages
  • #44131 – If draft page selected for Privacy Policy page should verbiage change from view to preview
  • #44181 – The input field id username_or_email_to_export should be something else on remove_personal_data page
  • #44373 – Add a privacy setting to disable comment cookie consent
  • #44612 – Grammar – Missing ‘a’ in ‘select new Privacy Policy page’

REST API

  • #44321 – REST API: Expose revision count and last revision ID on Post response

Role/Capability

  • #44287 – REST API: Declare user capability to perform actions using JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. Hyper Schema `targetSchema`

Change Log

Introduced

Functions

_wp_privacy_requests_screen_options()
source file: wp-admin/includes/user.php

_wp_privacy_settings_filter_draft_page_titles()
source file: wp-admin/includes/misc.php

get_object_subtype()
source file: wp-includes/meta.php

register_post_meta()
source file: wp-includes/post.php

register_term_meta()
source file: wp-includes/taxonomy.php

unregister_post_meta()
source file: wp-includes/post.php

unregister_term_meta()
source file: wp-includes/taxonomy.php

wp_ajax_update_try_gutenberg_panel()
source file: wp-admin/includes/ajax-actions.php

wp_try_gutenberg_panel()
source file: wp-admin/includes/dashboard.php

HooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.

add_inline_data
source file: wp-admin/includes/template.php

auth_{$object_type}_meta_{$meta_key}_for_{$object_subtype}
source file: wp-includes/capabilities.php

get_object_subtype_{$object_type}
source file: wp-includes/meta.php

sanitize_{$object_type}_meta_{$meta_key}_for_{$object_subtype}
source file: wp-includes/meta.php

try_gutenberg_panel
source file: wp-admin/index.php

user_erasure_complete_email_subject
source file: wp-includes/user.php

user_request_confirmed_email_subject
source file: wp-includes/user.php

Methods

WP_REST_Attachments_Controller::check_upload_size()
source file: wp-includes/rest-api/endpoints/class-wp-rest-attachments-controller.php

WP_REST_Comment_Meta_Fields::get_meta_subtype()
source file: wp-includes/rest-api/fields/class-wp-rest-comment-meta-fields.php

WP_REST_Meta_Fields::get_meta_subtype()
source file: wp-includes/rest-api/fields/class-wp-rest-meta-fields.php

WP_REST_Post_Meta_Fields::get_meta_subtype()
source file: wp-includes/rest-api/fields/class-wp-rest-post-meta-fields.php

WP_REST_Posts_Controller::get_available_actions()
source file: wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

WP_REST_Posts_Controller::get_schema_links()
source file: wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php

WP_REST_Term_Meta_Fields::get_meta_subtype()
source file: wp-includes/rest-api/fields/class-wp-rest-term-meta-fields.php

WP_REST_User_Meta_Fields::get_meta_subtype()
source file: wp-includes/rest-api/fields/class-wp-rest-user-meta-fields.php

WP_Term_Query::populate_terms()
source file: wp-includes/class-wp-term-query.php

Modified

Functions

get_registered_meta_keys()
modification: The $object_subtype parameter was added.
source file: wp-includes/meta.php

register_meta()
modification: The $object_subtype argument was added to the arguments array.
source file: wp-includes/meta.php

registered_meta_key_exists()
modification: The $object_subtype parameter was added.
source file: wp-includes/meta.php

sanitize_meta()
modification: The $object_subtype parameter was added.
source file: wp-includes/meta.php

unregister_meta_key()
modification: The $object_subtype parameter was added.
source file: wp-includes/meta.php

#4-9-8, #release