Dev Chat Agenda: August 15th (4.9.9 Week 1)

This is the agenda for the weekly devchat meeting on August 15, 2018 at 20:00 UTC:

  • 4.9.8 feedback
  • 4.9.9 planning
  • Updates from focus leads and component maintainers
  • General announcements

If you have anything to propose to add to the agenda or specific items related to the above, then please leave a comment below. Either way, we look forward to seeing you at the devchat this week!

#4-9-8, #4-9-9, #agenda, #core, #dev-chat

WordPress 4.9.8

WordPress 4.9.8 is now available. This maintenance release fixes 46 bugs.

Download WordPress 4.9.8 or visit Dashboard → Updates and click “Update Now”. Sites that support automatic background updates are already beginning to update automatically.

Thank you to everyone who contributed to WordPress 4.9.8:

1naveengiri, Aaron D. Campbell, Aaron Jorbin, Abdullah Ramzan, alejandroxlopez, Allen Snook, Andrea Fercia, Andrew Ozz, Andrew Taylor, Arun, Ayesh Karunaratne, Birgir Erlendsson (birgire), Birgit Pauli-Haack, BjornW, Boone Gorges, Brandon Kraft, Burhan Nasir, Chetan Prajapati, Chris Lema, Corey McKrill, Daniel Bachhuber, Daniel James, David Herrera, Dion Hulse, Dominik Schilling (ocean90), dontstealmyfish, dyrer, Felipe Elia, Felix Arntz, Fernando Claussen, Gareth, Garrett Hyder, Gary Pendergast, Gennady Kovshenin, GM_Alex, Heather Burns, Ian Dunn, ibelanger, imath, Jb Audras, Jeremy Pry, JJJ, Joe McGill, Joen Asmussen, John Blackbourn, Jonathan Desrosiers, Jonny Harris, Josepha, JoshuaWold, Joy, jrf, K. Adam White, khaihong, kjellr, Konstantinos Xenos, laurelfulford, lbenicio, Leander Iversen, leemon, macbookandrew, Marius L. J., Matias Ventura, Mel Choyce, mensmaximus, mermel, metalandcoffee, michelleweber, Milan Dinić, Muhammad Kashif, Naoko Takano, Nathan Johnson, Ov3rfly, palmiak, Paul Biron, Prashant Baldha, PressTigers, programmin, Rafsun Chowdhury, redcastor, Robin Cornett, Sergey Biryukov, Simon Prosser, skoldin, spyderbytes, Subrata Sarkar, Sébastien SERRE, Tammie Lister, tharsheblows, Thomas Patrick Levy, timbowesohft, Timothy Jacobs, Tobias Zimpel, Tor-Bjorn Fjellner, Towhidul Islam, Usman Khalid, warmlaundry, William Earnhardt, Yui, and YuriV.

Primary Focuses

The primary focuses of 4.9.8 are:

  • Introduce “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
  • Privacy fixes/enhancements

Introduce “Try Gutenberg” callout

Most users will now be presented with a notice in their WordPress dashboard. This “Try Gutenberg” is an opportunity for users to use the Gutenberg blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor before it is released in WordPress 5.0.

You can learn more by reading the “Try Gutenberg” Callout in WordPress 4.9.8 post.  It contains information about the callout, including which users will, by default, be shown the callout and the 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. it provides for site administrators to modify that default behavior.

Privacy fixes/enhancements

This release includes 18 Privacy fixes focused on ensuring consistency and flexibility in the new personal data tools that were 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 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.
  • Pagination for Privacy request adminadmin (and super admin) screens can now be adjusted.
  • Increased the test coverage for several coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. privacy functions.

In addition to the primary focuses another notable change in 4.9.8 is that developers can now register meta keys for object subtypes:

With WordPress 4.9.8, the register_meta() function supports registration of metadata not only for an entire object type (posts, terms, comments, users), but also for a specific object subtype (such as a specific post type or 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.).

4.9.8 Changes

See the full list of closed tickets in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..

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
  • #44627 – minor tweaks to Try Gutenberg callout formatting

Bundled Theme

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

Comments

  • #44126 – Adding fields to comments_form args prevents checkbox displaying
  • #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

Customize

  • #44627 – minor tweaks to Try Gutenberg callout formatting

Editor

  • #41316 – Introduce “Try Gutenberg” callout
  • #44341 – Replace _deprecated_function( ‘add_filter’ ) with apply_filters_deprecated()
  • #44680 – Restrict the Try Gutenberg callout audience

Emoji

  • #44339 – minor tweaks to Try Gutenberg callout formatting

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

  • #44532 – Extreme memory leak related to wp_is_stream in wp-includes/functions.php in WordPress 4.9.7
  • #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 “Site upload space” in multisite

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

  • #44006 – Privacy Policy page should have suffix like other special pages
  • #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
  • #44130 – Mixed Case of Privacy Policy on Privacy Settings page
  • #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
  • #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()`
  • #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
  • #44612 – Grammar – Missing ‘a’ in ‘select new Privacy Policy page’
  • #43967 – Admin emails after email confirmation don’t work for data privacy requests
  • #44590 – Remove “// WPCSWordPress Community Support A public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016.:” 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
  • #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`

Taxonomy

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

  • #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 ticketticket Created for both bug reports and feature development on the bug tracker..
  • #44330 – TinyMCE: do not force-load external TinyMCE plugins

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

Hooks

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_learn_more_link
source file: wp-admin/includes/dashboard.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

Deprecated

Hooks

auth_{$object_type}_{$object_subtype}_meta_{$meta_key}unregister_meta_key()
alternative: Use auth_{$object_type}_meta_{$meta_key}_for_{$object_subtype} instead.
source file: wp-includes/capabilities.php

#4-9-8, #release

4.9.8 Schedule Changes

Due to late changes in who the "Try Gutenberg" callout should be shown to (see #44680), it was decided to release 4.9.8 third release candidate yesterday, the originally scheduled date for final release.

The feedback from many in the community about that aspect of the callout has been very much appreciated!

The 4.9.8 final release will now begin:

Please continue to test the 4.9.8 third release candidate.

#4-9-8, #release

WordPress 4.9.8 Release Candidate 3

The third 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.

This package contains 1 enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. since the second release candidate. This brings the total number of 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. fixes in 4.9.8 to 28, enhancements to 14 and blessed tasks to 3.

Enhancements

Editor

  • #44680 – Restrict 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 audience

Change Log

The change log in this release is the same as that in release candidate 1.

#4-9-8, #release

4.9.8 Bug Scrub Summary: July 26

This post summarizes the 4.9.8 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. scrub meeting from July 26th (Slack archive).

TL;DR

  1. 4.9.8 RC2 has been released.
  2. We are on target for final 4.9.8 release on Tuesday July 31st as originally scheduled that includes the Try Gutenberg callout, and we have a number of fallback plans should that not happen.

Agenda

  • Identify and discuss any new issues or problems that may have surfaced as a result of testing the 4.9.8 betas and RC1. If no issues occur, we’ll move to a RC2 after the meeting, if yes we’ll work through them during the meeting and then decide next actions.
  • Update on 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 / Gutenberg readiness
  • Quick straw emoji poll on moving forward with release next week.

4.8.9 Betas and RC1 Testing

During the meeting several people shared that they conducted significant testing and did not discover any problems.

One person reported that in RC1 the Try Gutenberg callout was not completely dismissable: if a user dismissed it, the next time that user went to the Dashboard the callout appeared again.  This problem had already been identified and a fix for it had already been committed for inclusion in RC2.

Since no other problems were reported, it was decided to go ahead with the release of RC2, which happened right after the bug scrub.

Update on the Try Gutenberg callout / Gutenberg readiness

@danielbachhuber, a member of the Gutenberg team, joined us to give an update on Gutenberg readiness from his perspective.

He shared that the Gutenberg team has been working through a number of issues that have been identified as “Try Gutenberg blockers”, which are defined as:

The issue causes some amount of data transformation that would be non-trivial to recover from at scale (particularly if revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. are disabled).

The most recent list of such blockers is at https://github.com/WordPress/gutenberg/issues/7147 and the Gutenberg team has been working from a Try Callout milestone.

Daniel then reported that

It’s looking likely that we’ll have a Gutenberg v3.4 release at some point in the next few days.

That Gutenberg release will address the blockers referenced above.

He also reported that the Gutenberg team is prepared to quickly release Gutenberg v3.4.1 and v3.4.2, etc, as new problems are reported resulting from the increased usage of Gutenberg because of the callout.

Big props to @danielbachhuber for that update and his input on other questions raised during the scrub!

Quick straw emoji poll on moving forward with release next week

Before the straw poll, there was a discussion of what should happen IF it was decided to puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) the callout to 4.9.9: specifically, whether an RC3 that did not contain the callout would be needed and how long that RC3 should be available before releasing 4.9.8 Final without the callout.

There was some support for doing an RC3, to ensure that the revert of the callout was clean.  As to how long RC3, if it were needed, should be out before final was released, two alternatives were suggested:

  1. Have RC3 available for testing for 1 week, which would delay the final release of 4.9.8 by 1 week.
  2. Allow RC3 testing for 1-2 days, which would allow final to be released within the same week as originally scheduled.

No decision was made on those alternatives, but the release co-leads will announce which alternative is most ideal should the need for RC3 arise (see @pento‘s suggestion below).

We then moved on to the following straw poll:

Straw poll: How do you feel about having the Try Gutenberg callout in 4.9.8 release on Tuesday? I’ll add 3 emojis, feel free to vote accordingly on each one. (Please note, this doesn’t denote a decision, just seeing where folks are landing)
👍 👎 ❓

The final result of the poll (as of the writing of this post) was:

13 👍
6 👎
1 ❓

Note: the straw poll is still open and the community is encouraged to cast your votes.

Those voting 👎 were asked to share their reasoning and what it would take to turn their vote into 👍.

The main reasons fell into 2 categories:

  1. Agencies (or others that manage large numbers of sites) not yet being ready to roll out Gutenberg
  2. Hosting companies needing more time to prepare for a Gutenberg rollout

During the ensuing discussion, it was clarified that the inclusion of the callout does not force users, nor agencies nor hosting companies, to roll out Gutenberg with 4.9.8 (which changed a few, but not all, votes to 👍).

While it didn’t come up during the discussion, it should be noted that the changes to the callout between RC1 and RC2 provide a hook to give hosting companies (and agencies) more control over the callout.

Update: discussion after the scrub

After the scrub, @pento shared his thoughts on the topics covered during the scrub (he was unable to join the scrub, a worldwide team definitely lends itself to async communication).

The most important (IMHO) of those thoughts are:

As we’re about to put Gutenberg in front of a lot of sites with existing content, it’s a reasonable assumption that folks will try out the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor, find that it doesn’t quite work for them yet, and switch back to the classic editor. It’s not a bad thing if this happens, these folks will be able to give us insight into the myriad of WordPress configurations that exist out there, and how they interact with the block editor.

At this stage, Gutenberg will be ready for the current 4.9.8 release schedule. The remaining issues in the Try milestone are either nearing completion, relatively simple (or non-invasive) to implement, or stretch goals. However, it’s good to have a plan for if this changes.

Should something happen to delay clearing the Try milestone, someone from the Gutenberg crew (probably me) will keep the release leads informed on what’s happening, how much time is needed, and what our recommendations are. Again, it would ultimately be up to the release leads to decide their course of action.

In response to a follow-up question, @pento said:

If Gutenberg was not quite ready come Tuesday, I would be inclined to delay a little. We have the option of delaying 1-2 days, or delaying a week: both of those options have merits and drawbacks. My primary concern is that we’ve announced, then pulled, the Try callout twice, I don’t think there’s any benefit (and there’s significant drawback) of doing it a third time.

If we did need to pull the callout, however, I don’t think we’d need an RC3, we didn’t do an extra RCrelease 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). the last two times. The callout is quite self contained, it’s pretty simple to revert.

We really appreciate the work everyone has done to help bring this release together. It’s been a tremendous opportunity to support and help make sure all the pieces can fall into place at the right time. Thanks to everyone who has been helping get this release ready!

#4-9-8

WordPress 4.9.8 Release Candidate 2

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.

This package contains 1 blessed task and 2 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. fixes since the first release candidate. This brings the total number of bug fixes in 4.9.8 to 28, enhancements to 13 and blessed tasks to 3.

Note: #44635 was mentioned in the first release candidate post as necessitating a 2nd 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)..  Shortly after RC1 was released it was determined that the problem reported in that ticketticket Created for both bug reports and feature development on the bug tracker. was the result of a bug in the Classic Editor plugin and not in the callout itself.  Therefore, this 2nd release candidate being released to address a few other issues with the callout (see below).

Blessed Tasks

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

Editor

  • #41316 – Introduce “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
    • The callout was included in Release Candidate 1.  This release candidate includes a few changes to the behavior of the callout.

Bug fixes

A full list of blessed tasks in 4.9.8 Release Candidate 2 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
  • #44627 – minor tweaks to Try Gutenberg callout formatting

Change Log

The change log in this release is the same as that in release candidate 1.

#4-9-8, #release

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 release 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 “Site 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 “// WPCSWordPress Community Support A public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016.:” 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

WordPress 4.9.8 Beta 2

second beta package for 4.9.8 has been released and is now available for testing. Please help test this beta version to ensure everything works as expected.

This package contains 1 blessed task, 3 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. fixes and 3 enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. since the first beta. This brings the total number of bug fixes in 4.9.8 to 25, enhancements to 11 and blessed tasks to 3.

Important Note: This second 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. includes 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.

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). is scheduled for Tuesday, July 24th  and final release is scheduled for Tuesday, July 31st.

Blessed Tasks

A full list of blessed tasks in 4.9.8 Beta 2 can be found on Trac.

The tickets listed below are only those committed since Beta 1 was released.

Editor

  • #41316 – Introduce “Try Gutenberg” callout

Bug Fixes

A full list of bugs fixed in 4.9.8 Beta 2 can be found on Trac.

The tickets listed below are only those committed since Beta 1 was released.

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.

  • #44574 – Saratov and other cities missing from translations

Privacy

  • #44192 – Title of Privacy Policy Page not used on login page
  • #44130 – Mixed Case of Privacy Policy on Privacy Settings page

Enhancements

A full list of enhancements in 4.9.8 Beta 2 can be found on Trac.

The tickets listed below are only those committed since Beta 1 was released.

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()`

Privacy

  • #43967 – Adminadmin (and super admin) emails after email confirmation don’t work for data privacy requests
  • #44612 – Grammar – Missing ‘a’ in ‘select new Privacy Policy page’

#4-9-8, #release

WordPress 4.9.8 Beta 1

It’s that time again, we have a new beta release package for 4.9.8, and we’d love your help testing it out. It’s important to make sure that a release is fully tested and bugs are squashed. If you’re new (or it’s been a while) you can checkout the guide for helping to test a 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. version.

This beta release contains 21 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. fixes, 9 enhancements and 2 blessed tasks. The purpose of this release has been to focus on additional enhancements for privacy in WordPress (following up on the tremendous work done for 4.9.6), as well as adding a callout to try the new Gutenberg editing experience.

The work being done to introduce 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 (#41316) is still in progress, and as such hasn’t been included in this first beta. Our plan (subject to change) is to release a second beta version once that’s ready, and once that hits we’ll ask for specific testing on the callout.

For the rest of the work, we’d love your help to make sure the enhancements and bug fixes are working as expected!

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). is scheduled for Tuesday, July 24th, and the official release is scheduled for Tuesday, July 31st.

Bug Fixes

A full list of bugs fixed in 4.9.8 Beta can be found on Trac.

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

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

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 “Site 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
  • #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 “// WPCSWordPress Community Support A public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016.:” comments

Rest API

  • #43874 – REST API: Only render fields specific to request when _fields= is used
  • #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: 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. and term endpoints should use correct permission checks
  • #44330 – TinyMCE: do not force-load external TinyMCE plugins

Enhancements

A full list of enhancements in 4.9.8 beta can be found on Trac.

Posts, Post Types

  • #36085 – Add action hook to get_inline_data()

Privacy

  • #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
  • #44321 – REST API: Expose revision count and last revision ID on Post response
  • #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`

Blessed Tasks

A full list of blessed tasks in 4.9.8 beta can be found on Trac.

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 beta 1 updated to TinyMCE 4.8.0.

#4-9-8, #release

4.9.8 Schedule

Note: This release was originally announced as 4.9.7.  Due to the 4.9.7 Security and Maintenance Release that rolled out on July 5, 2018 this release will now be 4.9.8.

The primary focuses of the 4.9.8 release are:

  • Introduce 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 ( #41316)
  • Privacy fixes/enhancements

The following is the current 4.9.8 release schedule:

Important Dates

  • 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.July 17, 2018
  • RCrelease 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).July 24, 2018
  • Release: July, 31 2018

Bug Scrubs

All 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. scrubs will take place in #core.

#4-9-8, #bug-scrub