Performance team meeting summary 21 December 2021

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

Focus group updates

Images

@adamsilverstein

GitHub project

  • @adamsilverstein: Working through triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. issues on the Image project board and moving issues to the To Do column to begin work as appropriate. Reviewing coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. image internals to determine best approach for picture element support; requirements to come.

Feedback requested

  • Test WebP on upload module
    • @tweetythierry: We should think about packaging the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and sharing for non-technical users who want to test
    • @mitogh and @madpixels plan to test
  • Several issues on the Image project board have linked TRACTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets and can be tested

Object caching

@tillkruess @dustinrue

GitHub project

  • @tillkruess: Will work on some of the POCs over the holidays

Feedback requested

  • N/A

Site Health

@audrasjb

GitHub project

  • No updates

Feedback requested

Measurement

@wp-source @josephscott

GitHub project

  • @josephscott: Received access to the Blackfire and Platform.sh accounts offered, but needs to do some learning to get up and running; will be out until 3 January
  • @madpixels: Do we have a list of performance metrics that we want to measure/monitor?
    • @flixos90: Not yet, but larger discussion taking place in Standard WP performance testing environment. Need to define which direction we want to go, e.g. overall performance measurement in a central place, development tooling, CI action for WP core, etc. @tweetythierry: Themes and plugins performance checks upon submission
    • @flixos90: Critical question is how can we measure whatever we want to measure in a way that is reliable and doesn’t fluctuate much between every test run? @josephscott agrees
  • @flixos90: Questions to consider:
    • Which metrics do we want to measure?
    • How do we want to measure them reliability (tooling)?
    • In what scope/project do we want to measure them first? This is what Standard WP performance testing environment is about
    • We should consider opening new issues for the first two questions
  • @josephscott: Recommend that we start with the default out-of-the-box WP setup with 2022 theme and go from there

Feedback requested

JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.

@aristath

GitHub project

  • No updates; been focused on 5.9 release

Feedback requested

Infrastructure

Feedback requested

#core-media, #meeting, #performance, #performance-chat, #summary

Editor Chat Agenda: 22 December 2021

Facilitator and notetaker: @ajitbohra

This is the agenda for the weekly editor chat scheduled for Wednesday, December 22 2021, 03:00 PM GMT+1.

This meeting is held in the #core-editor channel in the Making WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

  • 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/ 12.2.0
  • WordPress 5.9
    • revised release schedule.
    • 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. 3 release 14 December.
    • “Must Haves” review – what’s left?
  • Updates based on updated scope for site editing projects:
    • Navigation 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..
    • Template editor.
    • Patterns.
    • Styling.
    • Mobile Team.
    • Components Team.
  • Task Coordination.
  • Open Floor.

If you are not able to attend the meeting, you are encouraged to share anything relevant for the discussion:

  • If you have an update for the main site editing projects, please feel free to share as a comment or come prepared for the meeting itself.
  • 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, #coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor, #core-editor-agenda, #meeting

A Week in Core – December 20, 2021

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between December 13 and December 20, 2021.

  • 31 commits
  • 44 contributors
  • 57 tickets created
  • 6 tickets reopened
  • 42 tickets closed

The Core team is currently working on the next major release, WordPress 5.9, and the beta 3 was released last week 🛠

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Build/Test Tools

  • Reduce the use of unnecessary randomness in tests – #37371
  • Remove the assertion in filter_rest_url_for_leading_slash()#54661
  • Add an assertion to test the WP_REST_Server::add_site_logo_to_index() method – #53516, #53363
  • Add unit tests for theme features that 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. themes should support by default – #54597
  • Fix typo in a data provider name – #53363
  • Fix typo in a test method name – #53363
  • Mock the HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. request response in download_url() tests – #54420, #53363
  • Move the tests for theme features that block themes should support by default to a more appropriate place – #54597
  • Use shared fixtures in block theme tests – #53363

Bundled Themes

  • Twenty Twenty-Two: Sync updates from GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ for 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. 3 – #54318
  • Twenty Twenty-Two: Sync updates from GitHub for Beta 4 – #54318

Customize

  • Customize: Overlay incompatible banner for block themes – #54549

Database

  • Correct and improve documentation for properties and parameters in wpdb#53399

Docs

  • Capitalize “ID”, when referring to a widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. ID or sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. ID, in a more consistent way – #53399
  • Typo correction in TinyMCE related JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. file – #53399
  • Typo correction in wp_dropdown_languages() DocBlockdocblock (phpdoc, xref, inline docs)#53399
  • Use generic references to “Database” in wp-config-sample.php#54610

Editor

  • Activate missing default theme features for block themes – #54597
  • Add “Featured” patterns from pattern directory to Patterns in block inserter – #54623
  • Update @wordpress packages – #54487
  • 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. custom block templates with PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher#54335

External Libraries

  • Update the SimplePie library to version 1.5.7 – #54659

Formatting

  • Use is_scalar() in sanitize_key()#54160

Media

  • Fix selections in Media Library Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. modal on open – #53765

Posts, Post Types

  • Add missing translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. context on FSE related post types labels – #54611

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/.

  • Add block theme support for valid non-alphanumeric characters in theme’s directory name – #54596
  • Ensure that the get_theme_item method should respect fields param – #54595
  • Ensure that the parent link, uses the rest_get_route_for_post function – #53656

Script Loader

  • Fix deprecated usage of passing null to explode()#53635

Site Health

  • Typo correction in Site Health help tab – #54656

Themes

  • Rename public static functions in WP_Theme_JSON_Resolver to remove custom_post_type references – #54517

Props

Thanks to the 44 people who contributed to WordPress Core on Trac last week: @hellofromTonya (11), @costdev (6), @noisysocks (4), @youknowriad (4), @SergeyBiryukov (4), @audrasjb (3), @peterwilsoncc (3), @ocean90 (2), @oandregal (2), @antonvlasenko (2), @spacedmonkey (2), @jffng (2), @desrosj (2), @jrf (2), @kjellr (2), @sabernhardt (2), @pedromendonca (1), @mamaduka (1), @Ov3rfly (1), @schlessera (1), @williampatton (1), @wppunk (1), @shaunandrews (1), @poena (1), @joyously (1), @bernhard-reiter (1), @johnillo (1), @scruffian (1), @joen (1), @szaqal21 (1), @onemaggie (1), @TimothyBlynJacobs (1), @benitolopez (1), @justinahinon (1), @joedolson (1), @mkaz (1), @ryelle (1), @circlecube (1), @danielbachhuber (1), @ignatggeorgiev (1), @PieWP (1), @sergeybiryukov (1), @dariak (1), and @Spacedmonkey (1).

Congrats and welcome to our 3 new contributors of the week: @wppunk, @johnillo, @ignatggeorgiev ♥️

Core committers: @sergeybiryukov (10), @audrasjb (6), @hellofromtonya (5), @johnbillion (3), @jffng (2), @spacedmonkey (2), @noisysocks (2), and @isabel_brison (1).

#5-9, #core, #week-in-core

Introducing new language switcher on the login screen in WP 5.9

Edited on December 21, 2021 after [52404].

Since WordPress 4.9, it’s possible to control the language of the login screen using the wp_lang query variable (example: wp-login.php?wp_lang=fr_FR). This is a hidden feature that was only used by the interim login modal.

WordPress 5.9 introduces a new language switcher available on the login screen. This dropdown allows users to use the login screen, the password reset screen, and the registration screen in their own language.

Please note that the language list in the dropdown is based on the currently installed languages of the WordPress installation. To install a new language, websites administrators can use the language selector available on Settings > General. Go to site languages drop down, select a language to install and save changes. This installs and switches the site language, you can switch back if you do not want that as the default language.

Filters default arguments for the Languages dropdown

The hook wp_login_language_switcher_args can be used to 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. the default arguments passed to the languages dropdown displayed on the login screen, using an array of arguments for the Languages select input. Here are the default parameters of the $args parameter:

$args = array(
	'id'                          => 'language-switcher-locales',
	'name'                        => 'wp_lang',
	'selected'                    => determine_locale(), // Use the current locale by default.
	'show_available_translations' => false, // Do not show languages that are not installed.
	'explicit_option_en_us'       => true, // Use an explicit value of the 'en_US' option instead of an empty value.
	'languages'                   => $languages, // Contains the list of installed languages.
);

For example, on a website with several languages installed, only show fr_FR and de_DE in the dropdown:

function wporg_wp_login_language_switcher_args( $args ) {
	$args['languages'] = array( 'fr_FR', 'de_DE' );
	return $args;
}
add_filter( 'wp_login_language_switcher_args', 'wporg_wp_login_language_switcher_args', 10, 1 );

Remove the Language dropdown entirely

If you want to remove the Language dropdown entirely, you can use the display_login_language_dropdown filter.

Usage example:

add_filter( 'display_login_language_dropdown', '__return_false' );

Related tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker.: #43700.

Props @hellofromtonya and @mkaz for proofreading.

#5-9, #dev-notes

Performance Chat Agenda: December 21, 2021

Here is the agenda for this week’s performance team meeting scheduled for December 21, 2021, at 16:00 UTC.

  • Focus group updates
  • Performance features development coordination
  • Open floor

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

#agenda, #meeting, #performance, #performance-chat

Discussion: 2022 Major Release Timing

I mentioned in #core last week that it’s high time we talk about targets for major releases of WordPress next year. There are a few clear options, but there is at least one release we know about for sure! Given that we have a release in January already, I wonder if we might be able to use 2022 to attempt four releases.

Our Options

  • Quarterly releases: January, April, July, October
  • Trimester-ly releases: January, May, September
  • Known release and then evenly spaced targets?: January, May, August, November

I’d love to hear thoughts from both community members as well as our many contributors to the CMS itself. I’m planning to publish goals based on State of the WordState of the Word This is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what we’ve done, what we’re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/. early in January, and would love to include this information there as well.

DevChat meeting summary, December 15, 2021

Agenda.
Meeting led by @marybaum, Notes by @webcommsat

Start of meeting on the Make WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/./ CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. channel

Announcements

The WordPress 5.9 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. 3 has landed, after a lot of very hard work by a lot of very dedicated contributors. Please download and test! Note: This beta focused on the bugs that showed …

WordPress 5.9 Beta 3 announcement 

Relevant posts

Since Beta 214 bugs have been reported by contributors and need testing. If you can help, please report your findings on the announcement post.
Editor chat summary: 15 December, 2021 highlights improvements made by the team.
What’s new in Gutenberg 12.1?
A Week in Core.
And remember that the release schedule has been revised.
WordPress 5.9 Beta 2
A Week in Core – December 13, 2021

5.9 release update

From @hellofromtonya:

  • There will be a 5.9 Beta 4 next week, Dec 21st.
  • 5.9 RC1 is on Jan 4th. That’s the code freeze. There are open issues both in Core TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and 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/’s Must-Have project board. The fixes for those issues will need a beta.
  • Appreciate folks testing, reporting issues, investigating, helping to fix, etc. Thank you! 
  • Beta 4 post – @marybaum, @estelaris, @webcommsat confirmed they would be available to work on the post.

Soft string freeze

A soft string freeze or “soft freeze” is announced when all the strings of an upcoming WordPress release are frozen, except for the strings of the About page

@sergeybiryukov: minimal string changes can still be allowed in “soft freeze” on a case-by-case basis if necessary, there’s an i18n-change keyword for that. 

@jeffpaul: RC1 is hard string freeze and not to interpret “code freeze” as no more changes so much as fixes for regressions found in Beta testing. @hellofortonya: And fixes can happen for regressions and bugs found during the RC cycle.The hope though is that all known bugs are fixed during beta before getting to RC.

@ryelle : #54489 also an exception to the soft string freeze? it has new strings, and still needs copy feedback (can come back to this during open floor if needed). It is an exception to the string freeze as it is connected to the About page area of work.
#54489: Update the Dashboard welcome banner for 5.9

@ryelle: Technically it’s not “the about page”, so I wasn’t sure if it all applied it just references the design. It’s a new iteration on the Welcome panel on the dashboard.

@hellofromtonya: I think folks intended for that Welcome panel to go past string freeze. or at least that was my understanding.

@marybaum: I don’t recall seeing art like this on a dashboard, other than as the 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. art of the four pages About, Credits, Freedoms and Privacy.

@ryelle: On the dashboard (like basic /wp-admin/), there’s the Welcome panel – “Welcome to WordPress! We’ve assembled some links to get you started…” – this ticketticket Created for both bug reports and feature development on the bug tracker. totally redesigns it to introduce new art mirroring the About page, and updated copy and links.

About page 5.9 and associated resources/ marcomms:

  • @marybaum: estimated that layout, art and copy will be finalized for the About page by Monday, to allow time for @ryelle time to work on the code.
  • @webcommsat: we continue to request dev and extenders input into benefits they are expecting from 5.9 for social media messaging and to link in with training. More on this in last week’s devchat summary under the Component Maintainers/ About page heading.

Component maintainers updates

Components reports are being skipped until after 5.9.

Open Floor

@schlessera: raised two concerns that require workarounds with WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ currently.

Trac Ticket 54634
We already had several similar bugs, where a check for wp_installing() was missing to wrap DB operations. I already provided an initial patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. to fix this one. Without that patch, you get a fatal if you try to install a new 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 networknetwork (versus site, blog).

I found it with a functional test that installed a new network using Behat. However, I think this is not as easy to test with the “unit”-tests of WP Core. I’m happy to add a test if someone can provide pointers into how this is typically done for Core.

@sergeybiryukov: Unit tests start by running the WordPress installation first in the bootstrap file, so wouldn’t be able to catch issues like this.

@schlessera: These tend to crop up from time to time due to the procedural nature of WP, where everything is sort of tied together based on order of executing. It only breaks on trunk, but not on current stable for me. Might be due to some other, seemingly unrelated change. In general, all DB operations like that should be safeguarded, as WP itself is being executed to prepare the DB for WP. Is this something we can still fix for 5.9? Seems like a simple bugfix. @sergeybiryukov agreed, as in line with similar fixes in the past.

@schlessera: I noticed it during the tests of wp core install --network. These tests have been passing for all the previous stable versions of WP, and have started failing at some point with the latest trunk version, so I assume yes. The 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. was probably always there, but some re-ordering of something unrelated has created the conditions for it to be triggered.

The new default theme has hard dependencies on WP 5.9 code. This seems to make sense given it requires at least 5.9 to work. However, if that theme is active and you try to downgrade WP, you can get an immediate fatal error. What’s more, the theme states it requires WP 5.3, so this currently cannot even be detected.

@sergeybiryukov: I think historically bundled themes aim to be comparable with at least one or two previous major versions.

@schlessera: Can we have the theme be built in such a way that it doesn’t flat-out fatal when downgrading even to the very last version before an upgrade? @audrasjb thought this was feasible. @sergeybiryukov said core should have safeguards in place to check with an appropriate message, and there is some prior art in older themes. Looking at the inc/back-compat.php file in older themes might be helpful for reference, they have similar checks.
@schlessera: It doesn’t have to produce any meaningful output on the frontend, it can still produce errors, but it should do so gracefully without taking the entire server down. 

@schlessera: I haven’t created a ticket yet, as I wanted to first check what the consensus is about this.

More on this discussion can be found on the core slack at this timestamp.

#5-9, #core, #dev-chat, #summary

Editor chat summary: 15 December, 2021

This post summarizes the weekly editor chat meeting (agenda here) held on Wednesday, December 15 2021, 03:00 PM CET in Slack. Moderated by @andraganescu.

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/ pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party releases:

Gutenberg 12.2 RC is released. @priethor shared the following:

  • Testing and providing feedback on the client-side routing changes to the Template List is encouraged, as it was an improtant backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. to WP5.9 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.
  • Panel Color Gradient Settings have been changed to use dropdowns but, due to Beta 3 being already out, it will not be backported to beta unless feedback from testing comes very positive. So please test and provide feedback, too!

What’s new in Gutenberg 12.1 ( 8 December) was shared again.

WordPress 5.9

WordPress 5.9 Beta 3 was released on December 14th.

There will be a 5.9 Beta 4 next week.

The WordPress 5.9 must haves board needs your help for new PRs and code review!

@mkaz shared that our goal is to have Dev Notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. written and published by Jan 4. Let’s still aim for that, but we all know it’s been more features and 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 during beta so might be delayed some. The project board for WP 5.9 documentation is at: https://github.com/orgs/WordPress/projects/11/

You can get an overview of how to help test WordPress 5.9 Features in this helpful post: https://make.wordpress.org/test/2021/11/30/help-test-wordpress-5-9-features/

Key project updates

Based on the scope for Site Editing projects.

@getdave

Mobile:

@mattchowning

Fixes:

  • Fixed alignment of multi-line block names in the inserter

In Progress:

  • Fixing last issues blocking upgrade to ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native v0.66
  • GSS Font size, line height and selected text color
  • Improving reliability of the mobile translations pipeline

Components Package

@Marco Ciampini

 Fixes:

 In Progress:

  • We’re exploring approaches for maintaining focus and integrating with browser history when using components like Navigator (used, for example, in the Styles sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.). Some additional discussion is available on a related issue.
  • There are a number of open PRs being discussed involving more consistent support for size variants across components, including CustomSelectControlFontSizePicker, and LineHeightControl.

Task Coordination:

Note: Anyone reading this summary outside of the meeting, please drop a comment in the post summary, if you can/want to help with something.

@santosguillamot

  • There is still some work going on related to the Comments blocks, mainly focused on two areas:
  1. The wrapper blocks (Comment Template Issue & Comments Query Loop Issue).
  2. Pagination.
  • For more information about all the Pull Requests, I tried to sum up the current state in this GitHub comment a couple of days ago.

@antonvlashenko

  • working on releasing the Gutenberg 12.2 RC 1 today.
  • working on backporting these changes to the Gutenberg plugin before the stable release.

@mamaduka

  • I’m planning reviews of WP 5.9 Must-Have PRs for the next two days. Feel free to pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” me if your PR is on the project board or should be there.
  • Also planing to watch State of The WordState of the Word This is the annual report given by Matt Mullenweg, founder of WordPress at WordCamp US. It looks at what we’ve done, what we’re doing, and the future of WordPress. https://wordpress.tv/tag/state-of-the-word/.

@mciampini

  • planning on wrapping up current work on Navigator focus restoration and other minor PRs, 

Open Floor:

@manooweb

Is it interesting and possible to make a package only for this part: fixtures/blocks and so make it sharable easily?

@gziolo

  • We had them included in the @wordpress/e2e-tests package at some point.
  • We can put them in their own package if that is something other projects want to play with.
  • Those files ould also be consumed directly from the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repository.
#core-editor, #core-editor-summary, #gutenberg, #meeting-notes, #summary

Dev Chat agenda for 15 December 2021

Announcements

The WordPress 5.9 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. 3 has landed, after a lot of very hard work by a lot of very dedicated contributors. Please download and test! 

Note: This beta focused on the bugs that showed up since Beta 2. Now, work pivots to hunting for brand-new bugs.

Did you get a chance to watch the State of Word yesterday? If not, check it out.

Blogblog (versus network, site) posts of note

Since Beta 2, 14 bugs reported by contributors and needs testing. If you can help, please report your findings on the announcement post.

The Editor Chat Summary highlights improvements made by the team.

What’s new in Gutenberg 12.1?

@audrasjb has the latest issue of A Week in Core.

And remember that the release schedule has been revised.

Got other posts that should get the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team’s attention? Please add them in the comments.

Upcoming releases

The current upcoming major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. is version 5.9. Beta 4 (scheduled for 21 December) which is optional and the team will discuss whether it will happen.

If we skip Beta 4, we will be start the new year with version 5.9 RC1 set to release on 4th January.

Component Maintainers

From now until launch, devchat will skip a formal check-in so the group can have a longer Open Floor. If you’re a maintainer who’d like to get help with a blockerblocker A bug which is so severe that it blocks a release. or share success, add your item to the comments.

Open Floor

Add your topic to the comments, and enjoy priority for your topic at the beginning of Open Floor.

See you Wednesday at 20:00 UTC!

#agenda#core#dev-chat

#agenda#dev-chat

#agenda, #core, #dev-chat, #week-in-core

Using multiple stylesheets per block

Prior to WordPress 5.9, each 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. could (but not required to) have a stylesheet attached to it. The way blocks could register a stylesheet was by adding a style and/or editorStyle string in their block.json file.

In WordPress 5.9 we’re enhancing that behavior to allow using multiple stylesheets to be registered for each block. This change can benefit both block developers and theme developers, further reducing the total page-weight by only loading styles for blocks that exist on a page.

Blocks will now be able to register multiple stylesheets, and load styles from other blocks when needed. Themes will be able to add styles on a per-block basis instead of loading monolithic stylesheets that are force-loaded anywhere. This has a greater impact on block themes where stylesheets loading is optimised based on the page & layout contents, but can also be used by classic themes.

Usage for block developers

The style and editorStyle properties inside a block.json file can now be either a string, or an array of strings. Each string can be the handle of a previously registered stylesheet, or a path relative to the block.json file’s path, prefixed with file:./.

If you already have a block that uses a string, you needn’t worry. Everything will continue to work as expected. This is not a breaking change as the values can be either an array or a string, to maintain backward-compatibility.

This allows for complex blocks to reuse styles they need from other blocks without the need to duplicate those styles. For example, the comment-form block in WordPress 5.9 doesn’t need to duplicate the button block’s styles, and can instead reuse these styles by adding them to the block.json file:

{
 	"style": [
		"wp-block-post-comments-form",
		"wp-block-buttons",
		"wp-block-button"
	]
}

The same applies to the editorStyle value: Block developers can now define an array of styles, using the same format as the style value.

Usage for theme developers

Theme developers can also register stylesheets on a per-block basis. This way, no unnecessary styles will be rendered on a page unless the block is rendered (assuming the theme is a block-theme, or has opted-in to load separate stylesheets in the case of classic themes).

To do that, a new wp_enqueue_block_style() function was introduced.

The wp_enqueue_block_style function

The wp_enqueue_block_style function accepts 2 arguments, both of which are required:

$block_name

(string, required)

The name of the block – including its prefix/domain. For example the block_name of the paragraph block is core/paragraph.

$args

(array, required)

The arguments are the same used in the wp_enqueue_style function:

$args = array(
	'handle' => 'my-theme-p-styles',
	'src'    => get_theme_file_uri( 'styles/blocks/paragraph.css' ),
	...
);

In addition to the default wp_enqueue_style arguments, you can also add a path argument. This will allow WordPress to inline small assets when possible – if the theme opts-in to that behavior.

Example

Registering an extra stylesheet for the site-title block from a theme:

add_action( 'after_setup_theme', function() {
	// Same args used for wp_enqueue_style().
	$args = array(
		'handle' => 'my-theme-site-title',
		'src'    => get_theme_file_uri( 'assets/blocks/site-title.css' ),
	);

	// Add "path" to allow inlining asset if the theme opts-in.
	$args['path'] = get_theme_file_path( 'assets/blocks/site-title.css' );

	// Enqueue asset.
	wp_enqueue_block_style( 'core/site-title', $args );
} );

WordPress 5.9 enhances the way stylesheets for blocks get loaded. Though these changes have not been ported to block scripts yet, in future releases we plan to sync the two APIs, so block scripts can take advantage of them as well.

props @gziolo for reviewing this post.

#dev-notes, #developer-documentation