The WordPress core development team builds WordPress! Follow this site for general updates, status reports, and the occasional code debate. There’s lots of ways to contribute:
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.6, 6.7, 6.8, 6.9, 7.0, 7.1, 7.2, 7.3, 7.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)
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.
Full Site Editing
Work on this major focus is ongoing and is expected to continue iterating over the next months.
The team is still working on the Edit Site UI in order to bring parity with the Post Editor, support more template-management related features and improve the FSE blocks.
The important tasks have been splitted into sections and highlighted on this overview issue.
Global Styles
The Global Styles work is a major focus for this month. One of the most important aspect here is to add support for the global styles configurations (variables) to multiple blocks.
At the same time, the Global Styles UI is being iterated on the Edit Site screen.
You can follow the progress of this project on this overview issue.
Patterns & Inserter UI
Recently, the Patterns feature and APIs have been added to the editor. The UI is still experimental and an overall redesign of the inserter to absorb both blocks and patterns is one of the month’s priorities.
The team will continue to explore adding more patterns. This highlighted a need for more advanced block tools and customizations.
Updated Navigation Screen
A new experimental Navigation Menu screen is being explored and will serve as a block-based replacement for the existing menus page.
Refining the interface
The previous releases saw a big UI update for the editor. The team will continue to iterate based on the remaining tasks and the user feedback.
WordPress still officially supports IE 11, and will likely have to continue support for it for a while. But there is not a huge amount of people using it anymore, and there’s some indication that quite a few of the people still using it may be screen reader users.
On the other hand, there are lots of new-ish features, particularly in CSS, that it would be very useful to start exploring.
A graceful degradation approach might be the best way to allow WordPress to leverage the potential of new tech, without ruining the experience for those who still rely on legacy browsers. But how to go about adopting this approach?
Graceful degradation ensures essential functionality is still available for IE users, and features lacking IE support are used only for enhancements. What is essential is not always obvious though, so it would be good to agree on some rules for how to go about this.
I’ve created a Trac ticket for this task. It would be lovely to get some discussion going on this, either there or here!
I looked into our possibilities for visual regression testing and found that jest-image-snapshot integrates very well with our existing e2e testing tools. I’m preparing a prototype branch that I will share on the ticket soon.
Currently, when printing out wp-admin, the only thing that doesn’t show is the admin bar. This is not optimal, and print styles should remove all interface features not relevant to page content.
The print styles should apply to all wp-admin pages that have content and/or lists.
Work on the initial ticket should attempt to hide all common interface elements for print
If much further work is needed on individual pages, we should create sub-tickets for easier tracking/review.
@audrasjb shared an update on WP Auto-updates Feature Plugin: it was moved from his personal GitHub account to WordPress/wp-autoupdates which is the new official GitHub repository of this project. The #core-auto-updates team will try to ship version 0.4 before WP 5.4 is released. This new version aims to handle auto-updates for themes.
@afragen asked for a review of some Trac tickets which are all associated with Theme compatibility checks and will likely have interaction with the auto-updates feature. The idea is to ship them early in WordPress 5.5.
@whyisjake pointed out that he really like the work that is going on in #core-auto-updates Slack channel and think that trying to land in the next few releases would be excellent. Related, He’d love to see #core-passwords (two-factors authentification – 2FA) land in core too. In his opinion, the plugin is so mature at this point that having it left out almost seems like an omission. @whyisjake is going to work on a merge proposal.
@clorith raised that it would be necessary to make sure that the 2FA proposal also highlights the concerns with how to address users locking them selves out (which was the major holdback previously).
Trunk has been branched to 5.5 on the beginning of March. That means 5.5 is officially in Alpha.
@francina announced that work for 5.6 –which is going to be an all-women release– has kicked off with an initial round of messages going out to the women that expressed interest. @angelasjin@francina and Chloé Bringmann are contacting them to hear if they are still interested, what skills they have and what expectations.
Components Check-in
@francina shared a proposal to change the Components Check-in. This is always done towards the end of the chat and feels rushed. There is never really time to dig into the topics they might bring up. Francesca shared two ideas:
Schedule a weekly post where they can leave their status update, like the one for Community deputies.
Adopt a Slack Bot that once a week will ask the maintainers for a status update: maybe in a new component-maintainers Slack channel. Core is getting very busy with Trac and Travis bots, and RSS.
@johnbillion added that trying a weekly post could be a good idea. Maybe every Tuesday so it’s ready for the dev chat on Wednesdays in case anything comes up.
@francina proposed to talk to #meta to set this up and test drive it for 8 weeks.
Open floor
@isabel_brison proposed to create a set of guidelines for Internet Explorer support. The CSS team kind of decided on starting to deprecate it, and “graceful degradation” seems a good way to go forward, meaning Core can use unsupported technology to make non-essential enhancements. Isabel wants to agree on what’s “essential” here, and created a Trac ticket to start the discussion: #49696
@joyously stated it’s hard to contribute when concerns are ignored. @chanthaboune answered she can understand how they can feel ignored. A lot of that research gets done solo, and it’s often hard to remember to recap your own research. For full site editing to be a reality by the end of the year, the work can start bringing incremental changes. This change is feeling very jarring, but there is more worry about not have any mid-point between here and Full Site Editing.
@peterwilsoncc, @clorith and @audrasjb agreed that since RC4 was released, it’s not realistic to revert this change. The discussion can continue in a post-mortem post on Make/Core.
This release is mostly focused on polish work for the Block UI redesign.
It also includes an official API to register custom Block patterns from themes and plugins. The API is still a work-in-progress and might evolve before reaching WordPress Core.
Scripts: Update all webpack related dependencies 20916
Dependencies webpack plugin: Let the output file be specified when output is combined 20844
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36000 words, ~1000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
The current major is 5.4, scheduled to go out on March 31st 2020; please keep testing for all the bugs!
Trunk has branched to 5.5 on the beginning of March. That means 5.5 is officially in Alpha.
Work for 5.6, aka all-women release, has kicked off with an initial round of messages going out to the women that expressed interest.
Components Check-in
News from components
Components that need help
Cross-component collaboration
Open Floor
Got something to propose for the agenda, or a specific item relevant to our standard list above?
Please leave a comment, and say whether or not you’ll be in the chat, so the group can either give you the floor or bring up your topic for you, accordingly.
This meeting happens in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack.
@michael-arestad works on multi-entity saving and navigation methods within the editor
@Brent Swisher will continue working on storybook stories
Open floor
@soean asked that we announce WPBlockTalk – a free, online event for all things block editor happening on April 2nd
@paaljoachim asked about a progress with the Reusable Block feature. Progress can be monitored here.
@paaljoachim also raised awareness on PR 18718 about refactoring cover background controls.
@paaljoachim asked if we have a “how to create a PR info area: in the Core Editor handbook. Closest match is here.
Post Meeting discussion
There has been some discussion post meeting between @matveb, Pablo Honey and @mapk about the limitations of designing more complex block patterns.
To sum up the way forward is to provide the best patterns we can which don’t don’t suffer from the lack of tools and when we run into limitations to distill them down to improvements on the blocks themselves.
Topic concerns aligning naming conventions for wp globals on package exports.
Actions:
Merge pull #18722 that documents how to use ServerSideRender from the wp.serverSideRender export. (Done)
Create an issue to track the broader effort of “fixing” the names for these globals. (Done)
News Roundup
This roundup contains a few links for Gutenberg and JavaScript related news curated (and commented on) by @nerrad.
Justin Tadlock writes about Gutenberg 7.7 and the first iteration of block patterns. He makes the assertion that “Patterns will be a game-changer”. I agree. He also has some positive comments on the ui/ux refresh introduced.
An interface package has been proposed. This opens the door to exposing and using common ui interface patterns across the WordPress admin (think sidebars, fullscreen etc).
I noticed the new [Feature] Design Tools label in Gutenberg. This will likely help with some of the Block Patterns work in giving author’s more ways to affect the design of elements in patterns.