Performance Chat Summary: 23 July 2024

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

Announcements

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release (6.7)
    • Future releases
  • Performance Lab 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 other performance plugins)
    • Enhanced Responsive Images
    • Embed Optimizer
    • Image Prioritizer
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • There are currently 16 performance issues in 6.7
  • @pbearne I need input on this ticketticket Created for both bug reports and feature development on the bug tracker. as I made opinionated changes as to which option should not be autoloaded #61103
    • @joemcgill I plan on digging into that PR to give you feedback, but am going to be out on holiday for a bit. If anyone else has time to look at this in the mean time, please do so.
    • @mukesh27 I will take a look this week
    • @joemcgill One thing that will be good to understand, is that if we aren’t autoloading options that are only needed in the adminadmin (and super admin), how do we make sure the editor experience isn’t negatively affected. I think you’re already planning on priming all of those options in the admin, but would be good to get some performance measurements of the before/after of both the front end and admin.
    • @pbearne I have a 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 load the admin options in back on wp_int

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 I have been working on PRs that ready for review:
    • Performance Lab plugin:
      • PR #1374 – Autoloaded Options Health Check: Disabled options reappear in Site Health after external update
    • Modern Image Formats plugin:
      • PR #1354 – Picture element: The accurate sizes improvement for images not working
  • @westonruter It seems like we’re getting increasing reports of issues with image generation in Modern Image Formats
    • In GitHub and support forums
    • @westonruter Might be related to the issue of AVIF generation taking a very long time sometimes?
    • @joemcgill Ah, I do remember cases a long time ago where image generation could take longer than the max PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher timeout on some hosts and result in the attachment data being created in the DB while the actual image generation failed. I wonder if something like that is happening?
    • @westonruter That’s being discussed here: https://github.com/WordPress/performance/issues/371
    • @adamsilverstein this could also be a support detection issue, (where format support for AVIF gives a false negative or positive), interesting they say it falls back to WebP
    • @westonruter I wonder if the AVIF generation should be moved a background process? Use the JPEG immediately upon upload and then use the AVIF once it is available
    • @adamsilverstein we already have a way of generating images in multiple passes, but it needs to be able to process one image completely before the timeout
    • @joemcgill That’s a good idea. There is prior art for generating missing intermediate sizes that could be referenced.
    • @pbearne Idea: we need a long process control for wp-admin that can be used for any task that takes a long time (images gen, post delete, etc.)
    • @adamsilverstein https://github.com/WordPress/performance/issues/490 was part of that previous effort, there is also a trac ticket
    • @westonruter I thought that was primarily for regenerating the entire media library
    • @adamsilverstein yes, but part of that was the ability to regenerate images in i the background #6814 16 year old ticket
    • @joemcgill It’s not totally accurate anymore, after #40439
    • @adamsilverstein true, we partially solved the issue with that, as long as the user agent remains present to trigger the retries
    • @joemcgill I’ve played with using WP_Cron for this a looooooong time ago, but that can cause failures to affect end-user front-end requests, which we’d want to avoid

Active Priority Projects

Improving the calculation of image size attributes

  • @mukesh27 For Improving the calculation of image size attributes i have been working on:
    • PR #1382 – Update wp_calculate_image_sizes to Reflect Changes in sizes attribute
    • Issue #1389 – Accurate sizes improvement didn’t account for the disable 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 sizes
    • @joemcgill I’m reviewing those this morning

Plugin Check

Open Floor

  • WordPress 6.6 performance analysis
    • @adamsilverstein Yes… I have been working on a post for 6.6 performance changes and will share a draft here for feedback soon!
    • one challenge has been identifying the source of the slight regressions we see in 6.6 (the numbers haven’t changed much since I shared results here for an 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). a few weeks ago)
    • part of the challenges is tracking changes that originate in the 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/ project and are then merged over to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. our automated tests haven’t highlighted issues, nor are the Gutenberg performance tests
    • some ideas: it might be because the regressions are very small and spread out over a number of commits, or it might be related to the difference in how we are doing automated tests. in case, it points to an area we can improve
    • @joemcgill Agreed. There are a number of improvements that we could make to our CI infrastructure in both the GB repo and in Core that would help. We’ve already got https://github.com/WordPress/performance/issues/1380 as a place to discuss a set of improvements we want to focus on next. I’d love to see more discussion there so we can define and prioritize some next steps.
    • One of the questions that I still have is whether the benchmarks that we have been taking at the end of each release are providing us with useful info, or if they are obscuring what is really happening in the field.  @adamsilverstein I’m curious if we could get some HTTPArchive data after 6.6 has been out a while to see if our lab benchmarks relate to real user data or not.
    • @adamsilverstein that is a good point, I’m happy to work on that. we should have enough data in a few months.
    • some performance improvements we are adding will really only become apparent in the field data, and our automated testing can’t really measure those

Our next chat will be held on Tuesday, July 30, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Agenda, Dev Chat, Wednesday July 24, 2024

The next WordPress Developers Chat will take place on  Wednesday July 24, 2024 at 20:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections, as below. If you have ticketticket Created for both bug reports and feature development on the bug tracker. requests for help, please do continue to post details in the comments section at the end of this agenda.

Announcements

Forthcoming releases

Next 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.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 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 is scheduled for Tuesday, October 1.

Next maintenance release: 6.6.2

The next maintenance release will be 6.6.2. We can dedicate some discussion time to any issues that may need to go into the next maintenance release.

Next 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/ release: 18.9

Gutenberg 18.9 is scheduled for July 31.

Discussions

Let’s get an update on the release squad for 6.7, including what the next steps are to finalizing volunteers for key roles for the release. If time allows, we can have some discussion on the proposal to adjust the Dev Chat time for this release.

WordCamp US is coming up on September 17–20, and @courane01 has begun requesting table leads from all the Make teams for Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/.. We can use some time to discuss this and answer any questions folks might have.

Please suggest other important topics for the agenda in the comments of this post.

Editor updates

You can keep up to date with the major Editor features that are currently in progress by viewing these Iteration issues.

Props to @annezazu for compiling this list:

Open floor

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and if you intend to be available during the meeting for discussion or if you will be async.

Props to @joemcgill and @hellofromtonya for reviewing.

#6-7, #agenda, #dev-chat

Performance Chat Agenda: 23 July 2024

Here is the agenda for this week’s performance team meeting scheduled for July 23, 2024 at 15:00 UTC.

  • Announcements
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release
      • Future release
    • Performance Lab 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 other performance plugins) including:
      • Enhanced Responsive Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor
    • WordPress 6.6 performance analysis

If you have any topics you’d like to add to this agenda, please add them in the comments below.


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

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

Aligning Committer-Level Access Across the Code Base

At WCEU 2024 Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., several CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers and project leaders had an impromptu discussion about how to unify the permissions and capabilities for the project’s committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component.-level contributors between the two code bases (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/ on GitHubGitHub GitHub is a website that offers online implementation of git repositories that 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/ and Core in SVNSVN Subversion, the popular version control system (VCS) by the Apache project, used by WordPress to manage changes to its codebase.).

Present for the discussion: @desrosj, @jorbin, @youknowriad, @ellatrix, @bernhard-reiter, @chanthaboune, @matveb, @priethor, @gziolo.

Gutenberg is Core, and Core is Gutenberg. Ultimately, everyone works on the same software to achieve the project’s goals. Where that work occurs is not important. Suppose you are a contributor entrusted with privileged access to one part of the code base. In that case, there’s no reason why you should not have equivalent access in another location just because the tooling is different. Committers are trusted to make decisions, including the decision that they are not the best person to make specific decisions. Disparity in access leads to unnecessary bottlenecks and confusion around who can tackle specific tasks in specific areas.

As a first step to address this, the WordPress Core team on GitHub (consisting of all contributors with SVN commit access) has been given write access and the ability to merge pull requests to the Gutenberg repo. All Core Committers previously had this access, but this changed at some point, seemingly due to changes on GitHub.

Here are the rest of the proposed changes:

  • The Gutenberg Core Team on GitHub becomes a subset of the Core Committer list in SVN. To be on the Gutenberg Core Team, you must be a committer.
  • Going forward, the committer nomination process is required for any contributors to be added to the Gutenberg Core Team. To reiterate the current approval process: a public nomination in the #core-committers channel to field feedback from the community and a review/approval by @matt are required to grant anyone commit access (they would now receive commit access to SVN at the same time).
  • Bug Gardeners in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and the Gutenberg Team in GitHub become synonymous. Members of each group can request access to the other if it helps them contribute more effectively. Though members of the Gutenberg Team have write access on GitHub, no equivalent write access is given in SVN. This will be considered something similar to what was previously known as “guest commit.”

To truly align these two groups, everyone present at this discussion collectively nominated all Gutenberg Core Team members without SVN commit access: @0mirka00, @aaronrobertshaw, @andraganescu, @andrewserong, @aristath, @cbravobernal, @czapla, @get_dave, @glendaviesnz, @jameskoster, @joen, @kevin940726, @luisherranz, @mciampini, @mikachan, @nerrad, @ntsekouras, @ramonopoly, @richtabor, @scruffian, @talldanwp, @tyxla, @wildworks.

@matt approved these nominations after allowing 3 weeks for any feedback. Please join us in congratulating these contributors!

Over the next few weeks, these new committers will be on boarded and paired up with a current committer willing to be their buddy for their first few commits. Any of these nominees are also free to receive this access and not use it, or to decline the additional access should they feel it’s something they don’t want or won’t use.

If you’re one of the nominees, here are some required reading materials from the Core Handbook:

The process of adding these new committers will be tracked in Meta Trac in ticket 7722.

Props @jorbin, @cbringmann, @chanthaboune, @ellatrix, and @youknowriad for prepublish review.

#core-committers

WordPress 6.6.1 RC1 is now available

WordPress 6.6.1 Release Candidate 1 (RC1) is available for testing! Some ways you can help test this minor release:

  • Use the WordPress Beta Tester 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
    • As this is a minor 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). release, select the Point Release channel and the Nightlies stream. This is the latest build including the RC and potentially any subsequent commits in trunk.
  • Use 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/ to test: wp core update https://wordpress.org/wordpress-6.6.1-RC1.zip
  • Directly download the Beta/RC version.

What’s in this release candidate?

6.6.1 RC1 features 7 fixes in Core and 9 fixes for the Block Editor.

The following coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. tickets from TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. are fixed:

The following 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 issues from GitHubGitHub GitHub is a website that offers online implementation of git repositories that 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/ are fixed:

What’s next?

The dev-reviewed workflow (double committer sign-off) remains in effect when making changes to the 6.6 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch"..

The final release is expected on Tuesday, July 23rd, 2024. Please note that this date can change depending on possible issues after RC1 is released. Coordination will happen in the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ 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/. #6-6-release-leads channel.

A special thanks to everyone who helped test, raised issues, and helped to fix tickets. With this release candidate, testing continues, so please help test!

Thanks to @jorbin for pre-publication review and @jorbin @davidbaumwald for RC package assistance.

#6-6, #6-6-x, #minor-releases, #releases

Summary, Dev Chat, July 17, 2024

Start of the meeting in 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/., facilitated by @joemcgill. 🔗 Agenda post.

Announcements

Congrats to everyone for these releases! 🎉

Forthcoming Releases

Next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.: 6.6.1

WordPress 6.6.1 will be the first maintenance release following the 6.6 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.Here are the tickets currently set for that milestone.

During the chat, @hellofromtonya, @ellatrix, @jorbin, @audrasjb, and @marybaum all offered to help with the 6.6.x releases. Thank you! ❤️

@hellofromtonya stated the current status of 6.6.1:

  • There are multiple reports of CSSCSS Cascading Style Sheets. specificity issues – causing all links to be underlined. A fix is ready. A test 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 is available. Have multiple test reports showing it fixes the issue with no side effects. But would be good to get more reports on affected sites.
  • 2 reports of fatal errors. One has a fix and the other is being investigated (I have a fix in mind).
  • Ella has been scrubbing in #core-editor.

@jorbin mentioned that there is also the $_old_files issue that is ready for a 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. in this release.

We discussed that a good time to release 6.6.1 would be sometime next week, as none of the issues mentioned are security-related, and this also gives us time to make sure there aren’t any further high-impact bugs.

Next major release: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 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 is scheduled for Tuesday, October 1.

It looks as though there are still some members of the release squad that need to be confirmed from this post. @priethor mentioned that all the volunteers can be seen in the comments section of the call for volunteers post; nobody else volunteered via DM or similar.

@joemcgill followed up on a topic from last week, suggesting that for the 6.7 release, we move the time of these Dev Chats to a more APAC friendly-time since many of the release squad members in this release are located in that region and are unable to make these meetings.

I’ve followed up in #6-7-release-leads (reference) and there is interest in finding a more friendly time. Given the global nature of the project, there isn’t a perfect time that works for everyone to attend, so we’ll need to decide whether to move the time to later in the day (worse for folks in EMEA) or much earlier (worse for folks in the Americas). 

@joemcgill will follow up with a post to make/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. about this.

Discussion

@afragen raised this ticketticket Created for both bug reports and feature development on the bug tracker. for 6.7: #53323. This places Hello Dolly in a containing folder to improve consistency with other plugins. Please leave any feedback directly on the ticket.

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.

Props to @joemcgill for proofreading.

#6-6, #6-7, #core, #dev-chat, #summary

Agenda, Dev Chat, Wednesday July 17, 2024

The next WordPress Developers Chat will take place on  Wednesday July 17, 2024 at 20:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections, as below. If you have ticketticket Created for both bug reports and feature development on the bug tracker. requests for help, please do continue to post details in the comments section at the end of this agenda.

Announcements

Forthcoming releases

Next 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.: 6.7

We are currently in the WordPress 6.7 release cycle. WordPress 6.7 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 is scheduled for Tuesday, October 1.

Next maintenance release: 6.6.1

WordPress 6.6.1 will be the first maintenance release following the 6.6 major release. Here are the tickets currently set for that milestone. We plan to confirm the release squad for this release during the meeting.

Next 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/ release: 18.9

Gutenberg 18.9 is scheduled for July 31. 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). 1 is scheduled for July 24.

Discussions

The focus of today’s discussion will be to celebrate the 6.6 release and to discuss any important topics that need follow-up for 6.6.1 and 6.7.

Please suggest other important topics for the agenda in the comments of this post.

Editor updates

You can keep up to date with the major Editor features that are currently in progress by viewing these Iteration issues.

Open floor

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and if you intend to be available during the meeting for discussion or if you will be async.

Props to @mikachan and @hellofromtonya for reviewing.

#6-6, #6-7, #agenda, #dev-chat

What’s new in Gutenberg 18.8 (17 July)

“What’s new in 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/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.

Gutenberg 18.8 has been released and is available for download!

A total of 217 PRs were merged in Gutenberg 18.8, with 10 first-time contributors! With WordPress 6.6 releasing this week, many contributors are focusing on 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. There are still some great features and enhancements in this release, highlighted below.

  1. Group block shadow support
  2. Background image support for blocks in global styles
  3. Other notable highlights
  4. Changelog
  5. First time contributors
  6. Contributors

Group 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. shadow support

A popular feature requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged., shadows can now be added to the Group block. (63295)

Background image support for blocks in global styles

The background image block support has been updated to allow images to be set in global styles (60100). This means that a background image can be set for all quote or pull quote blocks within a site or theme. Additionally, the controls for background images have been updated to use a popover (60151) so that they’re tucked away when not making changes.

Other notable highlights

Toolbar justification controls for Group and Content blocks

The justification controls for the Group and Content blocks are now exposed in the block toolbar. This makes it easier to quickly update these blocks to be left or right-aligned, using a similar interface to text and button blocks. (62924)

Color support for individual list item blocks

Individual list items within a list block can now have different color styles to the overall list they belong to. (59892)

Block inserter no longer behaves like a dialog box

When opening the block inserter, it will now stay open when interacting with the editor canvas. This makes it easier to move around the document while adding blocks. (63059)

Changelog

View full list of changes

Features

  • DataForm: Implement first prototype using duplicate page action. (63032)

Enhancements

Components

  • BaseControl: Forward ref on VisualLabel. (63169)
  • CustomSelectControlV2: Allow wrapping item hint to new line. (62848)
  • CustomSelectControlV2: Expose legacy wrapper through private APIs. (62936)
  • CustomSelectControl V2: Keep legacy arrow down behavior only for legacy wrapper. (62919)
  • CustomSelectControlV2: Collapse checkmark space when unchecked. (63229)
  • CustomSelectControlV2: Keep item checkmark top aligned. (63230)
  • DateTime: Create TimeInput component and integrate into TimePicker. (60613)
  • FontSizePicker: Use CustomSelectControl V2 legacy adapter. (63134)
  • Tabs: Add vertical indicator animation. (62879)
  • TimeInput: Add label prop. (63106)
  • TimePicker: Add dateOrder prop to sort day, month, and year. (62481)
  • ToolbarButton: Deprecate isDisabled prop and merge with disabled. (63101)
  • Tooltip Component: Add custom class name support. (63157)

Data Views

  • Add padding around selected values in author 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.. (63212)
  • DataViews filterSortAndPaginate utility: Support sorting by number. (63187)
  • DataViews: Make view.hiddenFields optional. (62876)
  • DataViews: Remove Table Cells animation. (63079)
  • DataViews: Replace supportedLayouts prop with defaultLayouts prop instead. (63287)
  • Duplicate modal: Move to 40px components. (63246)
  • Pages: Include avatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. in Author field. (63142)
  • Patterns Page: Hide preview column by default. (63213)
  • Posts list powered by DataViews. (62705)
  • Split layout / view options. Use active layout icon for the layout button. (63205)
  • Use status icons in field display. (63289)

Block Library

  • Add example for query block and posts list. (63286)
  • ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. block: Add example of the block. (63010)
  • Group: Add block support for shadow. (63295)
  • Login/out block: Add example of the block. (62937)
  • Post content block: Add example of the block. (62968)
  • Post title: Add example of the block. (62955)
  • Table Block: Add toolbar button to add a caption. (47984)

Block Editor

  • Block position controls: Use V2 legacy adapter instead of V1 CustomSelectControl. (63139)
  • DateFormatPicker: Use CustomSelectControl V2 legacy adapter. (63171)
  • Fix inspector inner shadow border. (63245)
  • FontAppearanceControl: Use CustomSelectControl V2 legacy adapter. (63179)
  • Inserter: Remove the dialog behaviour. (63059)
  • SpacingInputControl: Use CustomSelectControl V2 legacy adapter. (63190)

Global Styles

  • Background image: Move controls into a popover. (60151)
  • Block background UIUI User interface controls. (60100)
  • Tweak block background position preview height. (63225)

Extensibility

  • DataViews: Register the deletePost action like any third-party action. (62913)
  • DataViews: Register the export pattern action like any third-party action. (63046)
  • DataViews: Register the reset template and template part action like any third-party action. (63017)

Design Tools

  • Flex dimensions: Rename “Fill” to “Grow”. (62779)
  • List Item: Add color support. (59892)
  • Uniform Focal point labels. (62438)

Font Library

  • Font Library Modal: Enhance pagination appearance. (63210)
  • Font Library: Store font subdirectory in post 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.. (63000)
  • Move font directory into uploads to match WP 6.5. (60354)

Layout

  • Add justification to block toolbar in addition to 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.. (62924)

Site Editor

  • Align rename modals. (62874)

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

  • block.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.: Allow passing filename as variations field. (62092)

Template Editor

  • Update: Move template areas into a panel. (62033)

Block Variations

  • Automatically select group variation if there is only one available. (61871)

Zoom Out

  • Add a vertical toolbar for zoom out mode. (60123)

New APIs

Block API

  • Introduce “local” attributes and use it for the image block. (63076)

Bug Fixes

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Commands: Fix Pages command link. (63235)
  • Docgen: Fix function param for const function expression. (63034)
  • Enable save draft button for posts with custom post status. (63293)
  • Ensure device previews extra scrollbar only appears when needed. (62952)
  • Styles specificity: Allow comment form input overrides. (62960)

Components

  • CustomSelectControl V2 legacy adapter: Fix trigger button font size. (63131)
  • CustomSelectControl V2: Fix labelling with a visually hidden label. (63137)
  • CustomSelectControl V2: Fix trigger text alignment in RTL languages. (62869)
  • CustomSelectControl V2: Prevent keyboard event propagation in legacy wrapper. (62907)
  • CustomSelectControlV2: Add root element wrapper. (62803)
  • CustomSelectControlV2: Fix item styles. (62825)
  • CustomSelectControlV2: Fix popover styles. (62821)
  • CustomSelectControlV2: Fix select popover content overflow. (62844)
  • CustomSelectControlV2: Tweak item inline padding based on size. (62850)
  • Editor: Fix duplicate save panels. (62863)
  • Fix UnitControl select disabled state colors. (62970)
  • Fix extra scrollbar when a popover extends past the viewport. (62894)
  • Fix the ‘useUpdateEffect’ hook in strict mode. (62974)
  • ProgressBar: Fix indeterminate RTL support. (63129)
  • RangeControl: Fix RTL support for custom marks. (63198)
  • SelectControl: Fix disabled styles. (63266)
  • Tabs: Fix “With tab icons” Storybook example. (63297)
  • Tabs: Fix text-align when text wraps in vertical mode. (63272)
  • TimePicker: Fix time zone overflow. (63209)
  • UnitControl: Fix an issue where keyboard shortcuts unintentionally shift focus on Windows OS. (62988)

Block Library

  • Add Aspect ratio control on Image blocks in Grids. (62891)
  • Audio Block: Do not persist blob urls and fix undo. (63257)
  • File block: Do not persist blob urls and fix undo. (63282)
  • Fix Incorrect URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org basename logic in EmbedPreview. (63052)
  • Fix: Update “Link Text” label to “Text” on Social Icons block #60966. (61715)
  • List: Maintain nested list on parent item removal. (62949)
  • Navigation: Allow themes to override block library text-decoration rule. (63406)
  • Patterns: Check for edited entity content property when exporting. (63227)
  • Reduce specificity of social link icon specific colors. (63049)
  • Refactor Post Date Relative Time Rendering for Future Dates. (62979)
  • Site Editor: Fix template parts ‘Reset’ action. (62951)
  • Video Block: Do not persist blob urls and fix undo. (63238)

Post Editor

  • Editor: Do not truncate post excerpt if not editable. (63314)
  • Fix: Background height and padding in non-iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. editor canvas. (63222)
  • Fix: Crash when onActionPerformed is used with callback actions. (63120)
  • Fix: Permanently delete post action does not calls onActionPerformed. (63121)
  • Fix: Triple scrollbars in device previews. (62940)
  • Post editor: Increase specificity of bottom padding. (63288)
  • Actions: Translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. should depend on number of items. (62857)

Data Views

  • DataViews list layout: Fix action alignment. (62971)
  • DataViews: Restore preview focus outline in grid layout. (62991)
  • Fix buttonless table 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. alignment. (62877)
  • Fix typo in string for trashing posts. (63119)
  • Patterns: Avoid mapping template parts objects to patterns. (62927)

Block Style Variations

  • Block supports: Ensure tools panel dropdown are visible on mobile. (62896)
  • Section Styles: Fix error when blocks are deregistered. (63252)
  • Section Styles: Prevent flash of variation styles in post editor. (63071)
  • Section Styles: Resolve ref values in variations data. (63172)

Layout

  • Only hide drop indicator when grid has isManualPlacement set. (63226)
  • Remove dotted border from grid dropzone. (63162)
  • Resizing in Auto mode shouldn’t add columnStart and rowStart values. (63160)
  • Fix 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. css for nested fullwidth layouts with zero padding applied. (63436)

Global Styles

  • Elements: Avoid specificity bump for top-level element-only selectors. (63403)
  • Global styles 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.: Ensure that user-defined variation styles CSSCSS Cascading Style Sheets. is generated. (62768)
  • Root padding styles: Include alignwide in nested has-outer-padding logic. (63207)
  • Remove letter-spacing from typography element preview. (60322)
  • Only add customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. additional CSS to global styles in block themes. (63331)

Site Editor

  • Make SiteHub available for Pages, Patterns, and Templates in mobile viewports. (63118)
  • Patterns and templates cannot be edited from sidebar mobile view. (63002)
  • Site Editor Sidebar: Hide horizontal scrollbar when navigating. (63194)

Synced Patterns

  • Ensure disable overrides button is active for image blocks with captions or links. (62948)
  • Fix second scrollbar when editing patterns in the post editor. (62909)
  • Pattern overrides: Fix aspect ratio not working in image with overrides. (62828)

Block Editor

  • 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. Panel: Align text and icons horizontally to avoid clipping. (62842)
  • Zoom Out: Move the hook to the inserter component. (63315)
  • Fix error when calling the PostActions view-post callback. (63460)

Block bindings

  • Disable post meta editing in blocks inside a Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.. (63237)
  • Image block: Ensure extenders that rely on media ids in block htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. are supported by block bindings. (63013)

Patterns

  • Fix: Restrict export pattern action to user patterns. (63228)

Posts/Tags/Categories Screen

  • Constrain is-fullscreen-mode adminadmin (and super admin) body class to posts list. (63166)

Inspector Controls

  • Fix button wrapping in the document Inspector. (63062)

Design Tools

  • Duotone: Fix code typo, to ensure Duotone updates correctly in Safari. (62953)

Commands

  • Fix issue of HTML entities rendering in command menu. (62606)

Typography

  • Use available font weights and styles in FontAppearanceControl. (61915)
  • Font Appearance Control: Refactor font appearance fallbacks. (63215)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Allow Escape key to move focus to editor region when in select mode. (62196)
  • Focus Editor Region from Template Footer Click. (62595)

Components

  • Button: Stabilize __experimentalIsFocusable prop. (62282)
  • Fix inaccessible disabled Buttons. (62306)
  • Make Tabs have a fluid height. (62027)
  • ToolbarButton: Always keep focusable when disabled. (63102)

Global Styles

  • Fix unlabeled Remove shadow buttons. (63197)

Block Library

  • Make usage of the settings icon more consistent. (63020)

Data Views

  • Add translation context for ‘view options’ label. (63031)
  • Fix filter chip contrast. (62865)

Media

  • Update URLPopover role and focus return. (61313)

Performance

  • Core data: Batch receiveUserPermission. (63201)
  • Perf tests: Make pages test compatible with base branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. (63204)

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

  • Optimize selectors in the control component. (63141)

Experiments

Layout

  • Allow inserting blocks directly in empty grid cells. (63108)
  • Use manualPlacement attribute to set manual grid mode and allow responsive behaviour in both modes. (62777)

Documentation

  • Add note about postcss-urlrebase package 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.. (63015)
  • Add RichText formatting example to the Editor curation documentation. (63065)
  • Block supports: Add documentation for ‘splitting’. (63016)
  • Fix typo to be preposition, not verb, in some package comments and documentations. (62945)
  • Fix urls to developer documentation. (63104)
  • Interactivity API: Fix minor typos in code snippets. (62890), (63234)
  • Interactivity API: Fix variable name in color directive example. (62912)
  • Interactivity API: Include references to more examples from the documentation. (63025)
  • Interactivity API: Recommend kebab-case in data-wp-class. (62817)
  • Remove link to polyfill.io. (62883)
  • Storybook: Fix links for block editor examples. (63132)
  • ToolbarButton: Fix documentation for accessibleWhenDisabled. (63140)
  • Update ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. dev docs rule hook URL. (62995)

Code Quality

  • Add linguist-documentation attribute to docs/ directory. (62651)
  • Conditionally call focus with getEditorRegion. (62980)
  • Core Data: Remove entity configuration ‘__experimentalNoFetch’ flag checks. (63303)
  • Dependencies: Upgrades and deduplication. (62657)
  • Format Library: Clean up ‘Highlight’ format components. (62965)
  • Remove postcss-local-keyframes from dependencies. (63224)
  • Upgrade postcss-urlrebase package. (63075)

Data Views

  • DataViews: Fix double check in isTemplateRemovable. (63021)
  • DataViews: Remove the AnyItem type. (62856)
  • DataViews: Removing mapping of user patterns to temporary object. (63042)
  • DataViews: Replace hiddenFields configuration with fields property instead. (63127)
  • DataViews: Simplify selection setting. (62846)

Block Editor

  • Remove CSS hack for Internet Explorer 11. (63220)
  • Remove duplicate translator comment. (62860)

Components

  • Allow ariakit and framer motion imports in the components package. (63123)
  • Normalize focusable disabled ToolbarButton usage. (63130)
  • Sidebar: Add a shared component for the inserter and list view. (62343)
  • Tabs: Split animation logic into multiple separate composable utilities. (62942)

Global Styles

  • Global Styles: Allow variations to be filtered by multiple properties. (62847)
  • Global Styles: Simplify code to fetch color and typography variation. (62827)
  • Make a shared component for typography and color preview. (62829)
  • Section Styles: Clean up block style variation filters. (62858)

Block Library

  • Gallery Block: Clean up v1 code. (63285)

Site Editor

  • Clean up unused Table component. (63283)

Rich Text

  • Raw handling: Remove IE11 fallback code. (63219)

Zoom Out

  • Replace deprecated selector. (63144)

Block bindings

  • Add comment about useSelect usage in withBlockBindingSupport. (63005)

HTML API

  • Compat: Update HTML API with changes from 6.6. (63089)

Tools

  • Dependency extraction: Map to regenerator-runtime instead of wp-polyfill. (63091)
  • Env: Remove version field from docker-compose configuration. (63099)
  • Eslint-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: Add method-signature-style TypeScript lint rule. (62718)
  • Scripts: Ensure that typescript-eslint checks for unused vars. (62925)
  • Update new release issue template to remove core editor chat item. (62864)

Testing

  • Automatically sync 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. changelog to issue. (62973)
  • Block styles variations E2E: Wait for Save button before editing global styles. (62915)
  • Cherry pick automation: Fix for forks. (62900)
  • Cherry pick workflow: Improve message after conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved.. (62826)
  • DataViews: Add performance test for pages. (63170)
  • Fix typo in column block fixture file. (63007)
  • Performance tests: Fix for 6.5. (62871)
  • Performance tests: Restore 6.5-compatible locator. (63041)
  • Re-enable image block cropping test (#62781). (62854)
  • Update method for changing the content in ‘editor-modes’ end-to-end test. (62957)
  • Update the project-management-automationaction to use Node.js 20. (62851)
  • Upgrade web-vitals package. (63019)

Plugin

  • Add local version of wp-env schema to .wp-env.json. (63253)

Build Tooling

  • Build: Enable TypeScript skipDefaultLibCheck. (63056)

First time contributors

The following PRs were merged by first-time contributors:

  • @airman5573: Fix variable name in color directive example for Interactivity API. (62912)
  • @aliaghdam: Tooltip Component: Add custom class name support. (63157)
  • @bogiii: DateTime: Create TimeInput component and integrate into TimePicker. (60613)
  • @Chrico: Scripts: Ensure that typescript-eslint checks for unused vars. (62925)
  • @dhananjaykuber: Fix Incorrect URL basename logic in EmbedPreview. (63052)
  • @iamibrahimriaz: Update iapi-about.md. (63234)
  • @iworks: Translation should depend on number of items. (62857)
  • @roygbyte: Fix typo to be preposition, not verb, in some package comments and documentations. (62945)
  • @shreya0204: Add justification to block toolbar in addition to sidebar. (62924)
  • @sejas: Fix: Error when calling the PostActions view-post callback. (63460)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @airman5573 @akasunil @aliaghdam @amitraj2203 @bogiii @carolinan @Chrico @ciampo @costasovo @creativecoder @DaniGuardiola @desrosj @dhananjaykuber @dmsnell @ellatrix @fluiddot @geriux @hbhalodia @iamibrahimriaz @iworks @jameskoster @jasmussen @jeryj @jffng @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @luisherranz @MaggieCabrera @Mamaduka @matiasbenedetto @michalczaplinski @mikachan @mirka @ndiego @ntsekouras @oandregal @ockham @peterwilsoncc @ramonjd @richtabor @roygbyte @SantosGuillamot @scruffian @shail-mehta @shreya0204 @sirreal @stokesman @swissspidy @t-hamano @talldan @tellthemachines @tyxla @vipul0425 @westonruter @youknowriad

Props to @aaronrobertshaw, @annezazu, and @priethor for their support with this post, and @joen for the visual assets!

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Performance Chat Summary: 16 July 2024

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

Announcements

  • Welcome to our new members of #core-performance
  • Version 3.3.0 of Performance Lab 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 was released yesterday
  • WordPress 6.6 release happening today Tue Jul 16

Priority Items

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release
    • Future release
  • Performance Lab plugin (and other performance plugins)
    • Enhanced Responsive Images
    • Embed Optimizer
    • Image Prioritizer
    • Image Placeholders
    • Modern Image Formats
    • Optimization Detective
    • Performant Translations
    • Speculative Loading
  • Active priority projects

WordPress Performance Trac Tickets

  • @joemcgill For visibility: on Friday, I reverted r58334 due to a late reported 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. related to the caching global styles for blocks. This was done as part of #59595. I have a PR that I need to refresh that fixes the issue and reinstates the cache, which I hope to have included in 6.6.1.
  • There are currently 12 performance issues in 6.7 which will be reviewed in tomorrow’s bug scrub

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 I have also opened an issue for the Picture element: The accurate sizes improvement for images not working #1349. The new changes from the Enhanced Responsive Images (formerly known as auto-sizes) plugin are not working
    • @westonruter let’s prioritize fixing those and push out short-cycle standalone releases
    • @mukesh27 confirmed it’s Modern Image formats plugin causing the bug and will share more details on issue

Active Priority Projects

Improving the calculation of image size attributes

  • @joemcgill now that we’ve released the first version of Auto-sizes Enhanced Responsive Images that includes those improvements, I think @mukesh27 and I will need to update the overview issue with the main goals for the next priority features. At the same time, we’ll continually iterate on issues that come up during testing.

Improved template loading

  • @joemcgill There were a couple of remaining tasks open on the Improved template loading epic, but at this point, we’ve accomplished the majority of what was originally planned and the remaining items really are iterative improvements to the WP_Theme_JSON system that really could be tracked as part of ongoing CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. work, or as a collaborative issue in the 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/ repo, so I’m going to close up the related tickets and close that issue.
  • This section will be dropped from the agenda moving forwards

Plugin Check

Open Floor

  • @swissspidy I opened a proposal a while ago for a new PL plugin: https://github.com/WordPress/performance/issues/1324 The idea is to take data collected by Optimization Detective and display them in a nice little dashboard. Not sure yet how useful that would be, but thought I’d share it 🙂
    • @joemcgill I love this idea and wonder if there is an opportunity to surface other kinds of performance data on that dashboard, like CWV scores if available, etc. Though I really like the different use cases we’re finding for the Optimization Detective 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.. “CWV scores if available” meaning from the CrUX API
      • @westonruter I suppose to compare with the CWV metrics from actual visitors as measured by Optimization Detective?
    • @westonruter Yeah, actually storing the CWV metrics in the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Metrics custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. would be a key part of this. Currently we only store which element was the LCP, not what the LCP metric is.
    • @joemcgill Unless we’re collecting metrics from every visit, I think we’d need to somehow be clear about how those CWV metrics are representative of real users, and not a full picture.
    • @westonruter Yeah. It would be a sampling, for sure. But so is CrUX. Although surely CrUX sampling would be higher, assuming you get enough traffic to qualify
    • @joemcgill It is, but CrUX is a larger sample size than what we’re collecting with OD. The real value is that this would allow sites to get URL level data which can be more difficult for site owners to get from CrUX
    • @swissspidy There was also a proposal to use a separate storage mechanism (e.g. a custom table or CPT) that allows storing the data for more than 30 days
    • @swissspidy Precisely. And also without waiting for next month’s data to arrive etc. You could more quickly see the performance impact of changes made to the site.
    • @joemcgill Rather than making this a separate plugin, I really think we should consider adding this type of data to Performance Lab and integrate OD when available (or bundle the API into that plugin too). Now that all of our Performance features are unbundled into standalone plugins, I think there’s an opportunity for PL to add more value as a tool for collecting and surfacing performance metrics and opportunities for improvement to site owners.
  • @swissspidy Another quick update from my side: I had some very productive discussions with some Gutenberg folks about client-side media processing and they shared some valuable feedback about separation of concerns. I am currently refactoring my Media Experiments plugin based on that feedback, hoping to have something that can be merged into Gutenberg afterwards. The tracking issue on the Gutenberg repo is this one: https://github.com/WordPress/gutenberg/issues/61447

Our next chat will be held on Tuesday, July 23, 2024 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #performance, #performance-chat, #summary

Performance Chat Agenda: 16 July 2024

Here is the agenda for this week’s performance team meeting scheduled for July 16, 2024 at 15:00 UTC.

  • Announcements
    • Welcome to our new members of #core-performance
    • Version 3.3.0 of Performance Lab 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 was released yesterday
    • WordPress 6.6 release happening today Tue Jul 16
  • Priority items
    • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
      • Current release
      • Future release
    • Performance Lab plugin (and other performance plugins) including:
      • Enhanced Responsive Images
      • Embed Optimizer
      • Image Prioritizer
      • Image Placeholders
      • Modern Image Formats
      • Optimization Detective
      • Performant Translations
      • Speculative Loading
    • Active priority projects
  • Open floor

If you have any topics you’d like to add to this agenda, please add them in the comments below.


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

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