WordPress 5.4 Field Guide

WordPress 5.4 is shaping up to be the best WordPress 2020 has seen!

As a user, you’ll see new blocks and enhancements in the block editor, new embeds, and improvements in the WordPress Admin experience.

As a developer, you’ll see 122 enhancements and feature requests, 210 bug fixes, and more! Of course, all those improvements mean code changes, which could in turn require you to make updates to your site, plugin, or theme.

So take a look through this Field Guide, and see what’s relevant to you and your users, among the many improvements coming in 5.4…

Accessibility

On the 14 updates related to Accessibility in 5.4, you’ll want to particularly note changes to the WordPress Admin Bar, to the calendar and recent comments widgets, on the Menu screen, and bugs reported by the WPCampus accessibility report.

Block Editor

The block editor has continued its rapid iteration since WordPress 5.0. Now it has Gutenberg version 7.5 bundled with WordPress 5.4; that’s ten releases all bundled into WordPress 5.4 (versions 6.66.76.86.97.07.17.27.37.4  and 7.5)! Bug fixes and performance improvements from Gutenberg versions 7.6 will also be part of 5.4.

The WordPress 5.4 Beta 1 post highlights a lot of new features and improvements across these releases, though you’ll also want to note the impressive achievement of 14% loading-time reduction and 51% time-to-type reduction (for a particularly long post of ~36,000 words, ~1,000 blocks) since WordPress 5.3.

Below you’ll find details on two new blocks, button component updates, block collections, default fullscreen mode for new installs/devices, custom keyboard shortcuts, general block editor API updates, new block variations API, a new gradient theme API, markup and style-related changes, and a new @wordpress/create-block package for block scaffolding.

Customizer

On the 14 updates of the Customizer component, WordPress 5.4 improves accessibility of focused elements as a follow-up to WordPress 5.3 Admin CSS changes, adds documentation of existing Customizer functions and hooks, removes apple-touch-icon-precomposed deprecated meta tags, and improves Menu items selection logic.

Please note that some unused Customizer classes are now formally deprecated:

Menus

On the 5 updates in the Menus component, WordPress 5.4 improves keyboard accessibility of the Menu items selection tab panel and streamlines the user interface.

If your plugins add custom fields to menu items, you’ll want to update your code to use the new wp_nav_menu_item_custom_fields hook:

Privacy

On the 15 updates in the Privacy component, you will want to specifically note:

  • Personal Data Export now includes Session Tokens, Community Events Location and Custom User Meta.
  • Personal Data Exports now include a JSON file and a Table of Contents
  • New filters for the headers of all Privacy-related emails
  • The privacy tables are improved for a cleaner interface
  • wp_get_user_request_data() function was replaced with wp_get_user_request() for better clarity

All those changes are in this dev note:

REST API

On the 22 updates related to the REST API, WordPress 5.4 now supports “OR” taxonomy relation parameter in Post Controller, adds selective link embedding and introduces some changes in the WP_REST_Server method. Read below for more details on these updates:

Shortcodes

On the 3 updates to the Shortcodes component, WordPress 5.4 introduces documentation improvements and a new function: apply_shortcodes. This function is an alias of do_shortcode, which is still supported.

Widgets

On the 9 updates to the Widgets component, WordPress 5.4 introduces accessibility and user interface enhancements on the Widgets Admin screen and changes in the Recent Comments and Calendar Widgets HTML markup.

Other Developer Updates

There are even more goodies in 5.4, like the new wp-env (a zero config tool for painless local WordPress environments), enhancements to favicon handling, better information about errors in wp_login_failed, a new site ID in multisite’s newblog_notify_siteadmin filter, a new TikTok video embed and removal of the CollegeHumor embed, storing the original URL of media attachments in _source_url post meta, improved accessibility by loading the Admin Bar with wp_body_open, avoiding duplicate IDs in the Recent Comments widget, a new parameter in the lostpassword_post action in retrieve_password(), theme headers supporting “Requires at least” and “Requires PHP” declarations, and the delete_posts capability won’t trigger PHP notices for custom post types. Read through the dev notes below to see details on all these changes coming in 5.4.

But Wait, There is More!

Over 198 bugs, 121 enhancements and feature requests, and 8 blessed tasks have been marked as fixed in WordPress 5.4. Some additional ones to highlight include:

  • Bootstrap/Load: Enhancement to favicon handling (#47398)
  • Bundled Theme: Twenty Twenty: Add social icon for WhatsApp (#49098)
  • Comments: Add “In response to …” before threaded comments in comment feed (#43429)
  • Comments: Add “in reply to” in comment moderation email notification (#43805)
  • Embeds: Embed support has been added for TikTok (#49083) (Gutenberg#19345)
  • Embeds: Removal of CollegeHumor embed as the service doesn’t exists anymore (#48696) (Gutenberg#18591)
  • Login and Registration: Clearer information about errors in wp_login_failed (#49007)
  • Login and Registration: new parameter passed into the lostpassword_post action in retrieve_password() (#38334)
  • Networks and Sites: Site ID has been added to the newblog_notify_siteadmin filter for multisite installs (#48554)
  • Networks and Sites: switch_to_blog() and restore_current_blog() reuse switch_blog action (#49265)
  • Media: store the original URL of the attachment in the _source_url post meta value (#48164)
  • Menus: Make tabs panels more accessible for keyboard users (#49211)
  • Posts, Post Types: Use delete_posts without triggering PHP notices in every post type (#30991)
  • Post Thumbnails: Make sure get_post_thumbnail_id() returns an integer, to match the documented return value (#40096)
  • REST API: Expose all theme supports and changed permissions in /themes endpoint (#49037)
  • Site Health: Theme headers support “Requires at least” and “Requires PHP” declarations (#44592)
  • Toolbar: The Admin Bar is now loaded with wp_body_open when available (#47053)
  • Widgets: Avoid duplicate IDs in Recent Comments (#46747)

Please, test your code. Fixing issues helps you and helps millions of WordPress sites.

Props to @jeffpaul and @marybaum for contributing to this guide.

#5-4, #field-guide

Bug Scrub Schedule for 5.4

Now that 5.4 has been officially kicked off, bug scrubs will happen weekly all the way up to the final release. Keep an eye on this schedule – it will change often to reflect the latest information.

  1. 1/21/2020 19:00 UTC
  2. 1/29/2020 23:00 UTC
  3. 2/7/2020 05:00 UTC (APAC-Friendly)
  4. 2/10/2020 16:00 UTC
  5. 2/18/2020 20:00 UTC
  6. 2/27/2020 23:00 UTC
  7. 3/2/2020 18:00 UTC
  8. 3/11/2020 TBD (If Necessary)
  9. 3/17/2020 TBD (If Necessary)
  10. 3/27/2020 TBD (If Necessary)
  11. 3/30/2020 TBD (If Necessary)

These scrubs are separate and in addition to the normal scrubbing and triage by individual components. Some of those sessions include:

Design Triage: Every Monday 17:30 UTC at #design
Gutenberg Design Triage: Every Tuesday 17:00 UTC at #design
Accessibility Scrub: Every Friday 14:00 UTC at #accessibility

Also, the ongoing APAC-friendly #core bug scrub session every Thursday at 06:00 UTC will continue during the cycle, alternating focus between core and editor.

Next, the Accessibility team has announced a few extra scrubs for the 5.4 cycle. You can read about those here.

Finally, a reminder that anyone — Yes, you! — can host a bug scrub at anytime. You can work through any tickets you’re comfortable with. In fact, if you plan one that’s 5.4-focused, we’ll add it to the schedule here along with your name. Finally, you’ll get well deserved props in the weekly Dev Chat, as well as in the #props Slack channel!

All open tickets for 5.4, in order of priority, can be found here. Tickets that haven’t seen any love in a while are in particular need. Those can be found in this query.

If you’d like to lead a bug scrub or have any questions or concerns about the schedule, please leave a comment or reach out to me directly.

#5-4, #bug-scrub

XML Sitemaps Meeting: March 10th, 2020

A lot has happened since last week’s meeting for the XML Sitemaps feature project. Here’s a quick rundown of what we’ve discussed & did, as well as a brief agenda for today’s meeting.

Meeting Recap: March 3rd

For reference, please check out last week’s agenda post:

The tl;dr of our discussion:

  • Disabling sitemaps for private sites
    Mentioned the currently open PR and how it could be used to kill two birds with one stone by making that process filterable; thus making it easier for plugins to disable the sitemaps feature.
    Current status: needs tests
  • Prefixing sitemap URLs
    The main PR for this change has been merged, a new issue has been opened for @kraftbj to handle 404 requests.
  • SimpleXML dependency
    We went over potential alternatives to this extension, but ultimately settled on sticking with the status quo as initial feedback indicated a rather wide availability of SimpleXML. We then discussed how we should gracefully handle the unavailability of said extension and decided on using wp_die to output a nicely formatted error message in XML with HTTP status 501 (“Not implemented”).
    Current status: merged!
  • @joemcgill proposed looking into how to best transition the code base to something more in line with WordPress core. Something that we can discuss in a future meeting, once the plugin is more stable.
  • Added @pbiron, @kraftbj, and @pfefferle as new contributors to the GitHub repository. 🎉

Agenda: March 10th

The next meeting will be held on Tuesday, March 10 at 16.00 CET.

PSA: Unfortunately I won’t be able to lead today’s meeting, but thankfully @tweetythierry stepped up to help out with this.

Today’s agenda is rather straightforward so far:

  • Released version 0.2.0 of the plugin (changelog)
  • Plugin compatibility with new URL structure
    Yoast SEO’s rewrite rules seem to clash with ours
  • SimpleXML dependency: blog post on make/hosting (@pbiron)
  • Currently open issues and pull requests
  • Open floor

Want to add anything to the above? Please leave a comment here or reach out on Slack.

This meeting is held in the #core-sitemaps channel , to join the meeting, you’ll need an account on the Making WordPress Slack.

#agenda, #feature-plugins, #feature-projects, #xml-sitemaps

Editor Chat Agenda: 11th March, 2020

Note taker: @paaljoachim

This is the agenda for the weekly editor chat scheduled for 2020-03-11 14:00 UTC. This meeting is held in the #core-editor WordPress Slack channel.

  • WordPress 5.4 Upcoming Release
  • Gutenberg version 7.7.0
  • Weekly Priorities
  • Task Coordination
  • Open Floor

If you have anything to share for the Task Coordination section, please leave it as a comment on this post. If you have anything to propose for the agenda or other specific items related to those listed above, please leave a comment below.

#agenda#core-editor#editor-chat

Editor chat summary: Wednesday, 4 March 2020

This post summarizes the weekly editor chat meeting on Wednesday, 4 March 2020, 14:00 UTC held in Slack.

WordPress 5.4 Upcoming Release

WordPress 5.4 RC 1 is out, more details can be checked on the release page.

The list of editor PR’s cherry picked can be checked on #20593 and #20613.

The team published all the block editor dev notes. In total, the team ended up publishing a total of 10 posts with block editor dev notes https://make.wordpress.org/core/2020/03/03/wordpress-5-4-field-guide/ covering 32 PR’s that needed a dev note.

@jorgefilipecosta gave a big thank you to everyone that helped the big effort on writting the editor dev notes.

@jorgefilipecosta ended the topic by sharing the following information:

For the next RC currently, we have three issues that should be fixed. Two of the issues have a PR that needs review. Another one does not have a PR yet. The status of these tasks can be checked on https://github.com/WordPress/gutenberg/projects/39

Weekly Priorities

The Post with the priorities for March is published.

@gziolo shared the following summary of the priorities:

  • Block Content Areas
  • Global Styles
  • Block Patterns
  • Tightening up

Task Coordination

@karmatosed

@karmatosed referred that for Feedback from design just note in the core-editor channel or in GitHub.

@joen

Is experimenting with new iconography to explore the G2 iterations: https://github.com/WordPress/gutenberg/pull/20464.

@nosolosw

@mapk

@gziolo

  • Started development for the new block editor features API.
  • Code reviews, testing, etc.

@brentswisher

Is continuing to work through the components and adding storybook stories to any that are missing: https://github.com/WordPress/gutenberg/issues/17973#issuecomment-591093951

Referred that if anyone has experience with the story shot integration, he has some questions in the Disabled PR: https://github.com/WordPress/gutenberg/pull/20514.

@andraganescu

@ajlende

Is experimenting with WebGL blocks right now and working around the constraints. Is trying to get people’s thoughts/opinions on a Gutenberg feature request he has related to rendering in the background and providing a single requestAnimationFrame render loop for multiple blocks https://github.com/WordPress/gutenberg/issues/20483.

Open floor

Custom text color format

@paaljoachim brought to the discussion the fact that the text color may or may not be a main format.

@jorgefilipecosta clarified that the fact that the text color appears on the main formats when a color is selected and disappears from the main formats if no color is selected is not a bug. It was an implemented behavior to avoid too many main formats but at the same time give relevance to the format if color is chosen. We may discuss this behavior in an issue and it may make sense to change.

Fullscreen mode enabled by default

@paaljoachim raised the fact that now fullscreen mode is enabled by default, and referred he is very skeptical about this change as it can bring much confusion to users.

@gziolo referred that:

  • Fullscreen mode is a feature that already existed.
  • Customizer also uses fullscreen.
  • The feature will only affect new users as the current setting the users had is persisted in the local storage.
  • The feature is still being discussed and it may end up being reverted during the RC phase.

#block-editor, #chats, #core-editor, #gutenberg, #meeting, #meeting-notes

X-post: Accessibility Team meeting notes – March 6, 2020

X-comment from +make.wordpress.org/accessibility: Comment on Accessibility Team meeting notes – March 6, 2020

CSS Chat Summary: 5th March 2020

Full meeting transcript on Slack: https://wordpress.slack.com/archives/CQ7V4966Q/p1583442173087500

I (@isabel_brison) facilitated the meeting. 

We started by discussing if we should change the meeting time to accommodate daylight savings changes coming soon. No decision has been made yet; if you have an interest in this meeting and changing/not changing the hour would enable you (or not) to attend, please leave a comment below!

Open Floor

@notlaura started by asking how best to kick off a CSS audit as discussed last week. Based on last week’s discussion, I had already created a Trac ticket to start thinks off: https://core.trac.wordpress.org/ticket/49582 and asked everyone to add to it if I missed anything.

@notlaura asked about workflows for regression testing. There is no automated visual testing in core yet, and we discussed setting up visual snapshot testing before making any changes to existing CSS. 

We agreed that adding snapshot testing will not block the audit, as the outcome of the audit will be a set of recommendations, but we should have tests in place before we start acting on those recommendations.

We also discussed how to divide up the audit into sub-tasks, and agreed to create smaller tickets to tackle each part as needed. 

@notlaura also suggested leveraging static analysis tools for the audit, suggesting this collection of resources: https://github.com/mre/awesome-static-analysis#css

@sabernhardt suggested running the audit on a public version of WP (5.4 when it’s ready, or one of the RCs if we start earlier), and shared a report on plugin testing for 5.3: https://make.wordpress.org/core/2019/10/15/report-wp-5-3-admin-css-changes-tested-against-top-20-plugins/ .

At which point we hit the hour, and wrapped up. 

#core-css, #summary

Auto-updates kick-off Meeting Announcement

Last week, WP Auto-updates Feature Plugin was introduced with a post on Make/Core to give everyone an idea of where it is heading.

Now, the idea is to gather more contributors around the feature plugin and get your feedback on the project.

For this, let’s kick-off regular meetings in the brand new #core-auto-updates Slack channel.

The first meeting will be held on Tuesday March 10th, 2020 at 18:00 UTC and will serve as an introduction to the project and as an opportunity to discuss the next steps.

Proposed agenda:

  • WP Auto-updates feature general scope
  • Current status
  • Next steps
  • Openfloor / issues and pull requests reviews

If you have anything specific that you’d like to propose being discussed in this meeting, feel free to leave a comment below.

This meeting is held in the #core-auto-updates Slack channel , to join the meeting, you’ll need an account on the Making WordPress Slack.

#auto-update, #feature-plugins, #feature-projects, #feature-autoupdates

Dev chat summary, March 4, 2020

The actual author is Christiana Mohr.

Editing by folks including @valentinbora, @amykamala and @marybaum.

Announcements

5.4 RC1

WordPress 5.4 Release Candidate 1 landed yesterday, March 3, as scheduled.

Thank you for your hard work making this happen!

Two ways to test: 

  1. Try the WordPress Beta Tester plugin (choose the “bleeding edge nightlies” option)
  2. Or download the release candidate here (zip).

A full list of closed 5.4 tickets is here.

There’s a new beta dashboard plugin widget with info on what to test!


Highlighted Blog Posts

The 5.4 Field Guide is Ready!

@audrasjb noted he’ll add a field guide link to the beta-tester dashboard widget. He might also link to important dev notes directly. (Ed. note: The Guide already links do every dev note from the 5.4 cycle, so if you bookmark it, you’ll have one-click access to them all from there.)

Simple Local Environments for WordPress is here. Questions? As always, let’s have a lively discussion in the comments.

Upcoming Releases – 5.4 and 5.5

We are now in alpha for 5.5!

@peterwilsoncc branched trunk as soon as RC1 landed, meaning we are officially in alpha for 5.5!

If you have a ticket or a feature, or anything you’d like to see land in WordPress 5.5, please get busy now. By the time we start discussing 5.5 in devchat later this year, we’ll be on the countdown to beta — four weeks from Beta 1, which is the hard feature freeze.

At the same time, please keep testing 5.4.

Auto-updates feature plugin has a new home on Slack

 #core-auto-updates is the new Slack channel for conversations about the new auto-updates feature plugin! 

You may recall that auto-updates is a goal for 2020 and was originally slated for 5.4—but a consensus formed around the idea that the feature needed more testing and feedback.

5.4 RC2 lands Tuesday, March 10

As of RC1, we have a hard string freeze. Plus, all commits need peer review. That said, you can always contribute to inline documentation and build- tooling changes.

Components Check-In

The Components page is getting some revisions, so it’s out of sight temporarily.

The Core Privacy Focus for 5.5 will be on multisite. Also, look for a kickoff post for the Consent API before it becomes an official beta plugin.

Open Floor

Daylight Savings Time comes to the US this weekend and to Europe in three weeks. The question: whether and when to adjust the chat time? Some folks recommended keeping the time at 21:00 UTC, Daylight Time or not. But as @davidbaumwald pointed out, the Contributor’s handbook mandates a time change. So look for that change in the next several weeks.

Ticket #49518 is an enhancement to add four i18n hooks. @pbiron explained that enhancements need to land before beta, so the ticket might land in 5.5.

Dev Chat Agenda for March 4, 2020 (5.4 Week 8)

Here is the agenda for the weekly meeting happening later today: Wednesday, March 4, 2020, at 09:00 PM UTC.

Announcements

Highlighted Blog Posts

Upcoming Releases – 5.4 and 5.5

  • RC 2 to be released on March 10th
  • Trunk is now 5.5 alpha

Components Check-in

  • News from components
  • Components up for adoption (Filesystem API and Rewrite Rules)
  • Components that need help
  • Cross component collaboration

Open Floor


If you have anything to propose for the agenda or specific items related to those listed above, please leave a comment below.

This meeting is held in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack.

#5-4-2, #5-5, #5-4, #agenda, #devchat

What’s next in Gutenberg? (March)

This is a monthly update containing the high-level items that Gutenberg contributors are focusing on for the next month. Join us in our efforts.

Block Content Areas

Work on this major focus is ongoing and is expected to continue iterating over the next months.

  • Continue improving the Edit Site UI
    • Improve the saving flow. 20421
    • Improve the template selector picker. 20469 20478
  • Continue on the Full Site Editing blocks (post tags 20418, post comments 19894).
  • Work on the Block Context API. 19685
  • Continue on the experimental block-based themes.

Global Styles

  • Update the Core blocks styles to support the Global styles variables.
  • Define and document the available settings.

Patterns

These are different from the Block Variations API (that was initially named patterns as well). These are pre-made post/page sections that can be inserted and edited.

  • Create a rich built-in patterns library. 20345
  • Iterate on the Patterns UI. 17335

Tightening up

  • The first iteration of the new Block UI has been merged and it will be polished/iterated on during the upcoming month. 19344
  • Implement the first version of the Block Editor Controlling API. 20588
  • The ongoing effort to use a lighter Block DOM structure in the editor and match the frontend.

While these are our focuses don’t forget you can always help with triage, needs testing issues, good first issues and reviewing PRs.

#core-editor

Release Model Working Group Chat Agenda – March 4, 2020

Here is the agenda for the chats happening today, Wednesday, March 4, 2020 at 08:00 UTC and Wednesday, March 4, 2020 at 20:00 UTC

This week we’ll chat about:

  • Contributor calls for status updates on assigned issues in the Github Repo 
  • Open issues that need volunteers
  • Next steps for turning research and ideas into tangible improvements to the release cycle

Looking forward to our chat!

#release-process