Performance Chat Summary: 6 August 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)
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

  • @mukesh27 has been working on the following
    • Modern Image Formats plugin:
    • PRย #1408ย โ€“ Picture element: Correct the fallback image โ€“ Ready for review
    • PRย #1437ย โ€“ Picture element: Full size image is missing in PICTURE > SOURCE srcset (Blocked by above PR 1408)
    • Issueย #1439ย โ€“ Picture element: Small image size issues โ€“ Open for discussion
  • @thelovekesh PR for web worker offloading plugin is merged โ€“ย https://github.com/WordPress/performance/pull/1247
    • @westonruter this has not yet been added to wp.org as ideally it would first have some built-in feature to offload a frontend script to the worker. Like offloading gtag. The challenge is that there is no consistent way that other plugins add gtag to the page. However, the output buffer and/or tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) visitor infrastructure provided Optimization Detective could be used to rewrite external gtag scripts to use Partytown. This would be another nice cross-plugin integration in Performance Lab, as is also seen in Embed Optimizer and Enhanced Responsive Images.
    • @joemcgill Is there a simple example use case that could be used to demo the 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. that developers would need to use to offload their own scripts using this plugin? Maybe a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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. that adds some non-critical JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.?
    • @westonruter Yes, it is in the readme, or at least in the PR description. The readmeโ€™s instructions should be fleshed out with the same content as the PR description
    • @adamsilverstein We could also document how to leverage with some of the top plugins eg analytics plugins
    • @westonruter Yeah. We could look at how the most popular plugins are adding gtag to the page (e.g. Site Kit), and specifically target them.
  • @westonruter There are quite a few bugs for Modern Image Formats, some of which are listed above, so letโ€™s investigate that
    • Otherwise, Modern Image Formats seems like it needs the most attention as of now, given it seems to have the most bugs and support topics.

Active Priority Projects

Improving the calculation of image size attributes

  • @joemcgill advised that he and @mukesh27 have discussed creating a ticketticket Created for both bug reports and feature development on the bug tracker. to propose adding auto-sizes to core

Plugin Check

Open Floor

  • There were 2 tickets we wanted to discuss today
    • #42743
      • @pbearne I have been trying to find a good way to Disable wp_options autoload for inactive widgets. Any suggestions are welcome
      • We can turn it off if wp_use_widgets_block_editor() returns false
        but with the widgets_block_editor code, the inactive widgets are kept with the active
    • #60414
      • @joemcgill This came up during Dev Chat last week as well. For this to move forward it really needs at least one 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. (likely several) to shepherd it into trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., which includes helping build consensus about any open questions that still need to be resolved.
      • From a Performance Team point of view, weโ€™ve not prioritized it on our roadmap because the performance benefit is theoretical at this point. If someone could show the likely performance benefit of these changes, then it would be worth putting more effort into. As an aside, I do really think WP should implement this personally, but donโ€™t have time myself to take this on.
  • @joemcgill If we have time, I wanted to ask if we want to have a Performance Team specific table at WCUS this year? I assume yes, but wanted to confirm before letting the organizing team know.
  • @joemcgill will be leading this meeting next week

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

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

Performance Chat Agenda: 6 August 2024

Here is the agenda for this weekโ€™s performance team meeting scheduled for August 6, 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

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

Developer Blog editorial meeting summary 1 August 2024

Summary of the WordPress Developer Blogblog (versus network, site) meeting, which took place in the ย #core-dev-blog channel 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/. Start of the meeting in Slack.

Attendees: @milana_cap, @oglekler, @ironnysh (async), @bcworkz (async) and @bph (facilitator).

Last meeting notes: Developer Blog editorial meeting summary 4 July 2024

Newly published post since the last meeting:ย 

Since the last meeting, we published the following articles

Huge Thank You to the writer and reviewers!ย 

Project Status

The project board for Developer Blog content is 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 by the repository owner. https://github.com/.

In review

In Progress:

Post on the To-do-list, assigned to writers.

Topics, approved, in need of a writer

If you are interested in taking on a topic from this list or know someone who would be a good person to write about them, comment on the Issue or 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.โ€ @bph in Slack either in the #core-dev-blog channel or in a DM.

New Topics approved

The latter is part of the roll-out of video content type for the Developer Blog, proposed and approved during a meeting on July 4th, 2024: โ€œThe next step is that Ryan will submit an overview of all directives of the Interactivityย 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.ย and provide an example of the first video. It will also be the test drive of the suggested process from which we can iterate afterward.โ€œ

Next meeting: September 5, 2024, at 13:00 UTC in the #core-dev-blog channel

Props to @oglekler for the review of the post.

#meeting, #meta, #summary

Summary, Dev Chat, July 31, 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 @mikachan. ๐Ÿ”— Agenda post.

Announcements

There were no announcements this week.

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

@hellofromtonya confirmed the status of 6.6.2:

  • No schedule yet for it.
  • @hellofromtonya and @jorbin suggested tentatively scheduling a regular maintenance release for late August unless something critical requires that schedule to change.

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.

@jorbin asked what timeframe we want to consider early for the purposes of the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. keyword. There was no consensus in the meeting, but this provides an opportunity to improve our documentation to avoid confusion about what this keyword means. @joemcgill offered to review if someone wants to attempt to improve the docs about the early keyword in our handbook.

@mikachan reported that she checked in with @priethor about an update on the release squad for 6.7 and expects to have an update sometime next week.

Discussion

@mikachan led with this update:

Iโ€™d like to note thatย WordCamp USย is coming up on September 17โ€“20, andย @Courtneyย 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/. Please let her know if youโ€™re interested in leading a table for the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team, and feel free to ask questions in #core.

Open Floor

@nikunj8866 raised two issues for discussion:

  • #40477
    • @joemcgill suggested that this could use a review from a 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/ maintainer
    • @hellofromtonya identified the need for an owner and automated tests
    • @spacedmonkey offered to take a look
  • #13459
    • @jorbin suggests that it needs automated tests

@spacedmonkey raised a question about #60414:

What defines โ€œready to commitโ€ for this ticketticket Created for both bug reports and feature development on the bug tracker. and tickets of this size? What are the next steps to get a ticket like this merged into core? How many core committers need to sign off on it? Can it be committed in WP 6.7?

This question was previously raised and discussed in this #core-committers conversation in Slack and summarized by @hellofromtonya in this Trac comment.

@jorbin identified the biggest thing needed to move this forward is having multiple committers who are willing to drive consensus and finalize the implementation before it is committed. @hellofromtonya shared these three proposed steps that @jorbin had previously shared in the Slack conversation:

  1. Getting the 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. on a dotorg sandbox and making sure it doesnโ€™t blow up .org.
  2. Getting this on a large host so we can see how it performs in the myriad conditions core runs
  3. Making sure that 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/ doesnโ€™t break

Additional conversation about the proposal ended with @mikachan suggesting that a good next step might be an updated post for make/core, since there are still many questions to resolve.

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 @mikachan for proofreading.

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

Whatโ€™s new in Gutenberg 18.9? (31 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 biweekly following every Gutenberg release, 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.9 has been released and is available for download!

  1. Data Views get more flexible
  2. Consolidating design tools across blocks
  3. Improved usability in editing and applying font size presets
  4. Changelog
  5. First-time contributors
  6. Contributors

Data Views get more flexible

This release introduces several new features to Data Views. For starters, you can customize the column order in table views (63416) and adjust the density of grid views (63367).

The Pages list views also get some love, as it now displays the authorโ€™s 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. (63309) next to the publication status.

If you like these visual hints next to the page titles, you will love to hear that table views now support displaying combined fields (63236), enabling things like displaying page thumbnails next to the page title in future releases.

Finally, if you really like tinkering with early features, try out the new experimental Quick Edit for Data Views (63600). To do so, remember to enable the experiment in the Gutenberg settings first!

Consolidating design tools across blocks

In a recurring effort to provide design tool consistency across blocks (43241), Gutenberg 18.9 brings border control support to the Gallery, Buttons (which also gets color and padding support), Heading, Paragraph, Quote (spacing support, too) blocks, Social Links, and Term Description blocks. Similarly, the Image and Search blocks get margin support.

Improved usability in editing and applying font size presets

Gutenberg 18.9 iterates both using and editing font presets in global styles. The Global Styles interface now allows user-friendly editing of font size presets (63057). Moreover, these font presets and color presets can now be selected on the Global 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. under โ€œBrowse stylesโ€œ, bringing consistency to the interface and aligning with the left sidebar Styles menu (63173).

Changelog

Continue reading โ†’

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

Agenda, Dev Chat, Wednesday July 31, 2024

The next WordPress Developers Chat will take place onย  Wednesday July 31, 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

There are no release announcements from the last week.

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 discuss the latest updates on the release squad for 6.7, and any questions anyone has about the next 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.

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 for reviewing.

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

Summary, Dev Chat, July 24, 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 @hellofromtonya. ๐Ÿ”— Agenda post.

Announcements

Congrats and thanksย to everyoneย who contributed to 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.2

@hellofromtonya confirmed the status of 6.6.2:

  • No schedule yet for it.
  • Some fixes have already been backported 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"..
  • Currently reviewing fixes in the milestone.

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.

The 6.7 release squad is still TBD, and there will likely be an update posted soon.

@davidbaumwaldย askedย some good questionsย about the combining of the MarComms role into the Release Coordinator role for 6.7. During the chat, we discussed that combining the roles could limit who might raise their hands in future releases. Please leave any further thoughts on the call for volunteers post.

Discussion

During discussion time, we talked about the proposal to move the dev chatโ€™s time to an APAC friendly time during 6.7 cycle. There are 4 options presented and deadline for feedback is July 31. There doesnโ€™t seem to be a clear solution, and we discussed a few questions, such as:

  • What if the 6.7 Release Coordinator is not in APAC? How does that affect the proposed times, if at all?
  • What if we share topics, concerns, questions, etc. in the Dev Chat agenda?

@clorith noted that anything that helps the 6.7 squad be efficient is ideal and that the goal behind the dev chat agendas being posted a minimum of 24 hours in advance gives folks who canโ€™t attend a chance to raise topics.

Please share any further feedback on the proposal.

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-7, #core, #dev-chat, #summary

Performance Chat Summary: 30 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)
  • Active priority projects

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

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 โ€“ Merged

Plugin Check

Open Floor

  • @adamsilverstein I have one update: my PR adding User Timing metrics for the Interactivity 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. was approved and merged:ย https://github.com/WordPress/gutenberg/pull/60522ย this is hidden behind a debug flag until the API is stable and also only available in the plugin for now

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

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

Performance Chat Agenda: 30 July 2024

Here is the agenda for this weekโ€™s performance team meeting scheduled for July 30, 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

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

WordPress 6.6 Performance Improvements

This post is the latest in a series of updates focused on the performance improvements of major releases (see 6.5, 6.4, 6.3, and 6.2).

On July 16, 2024, WordPress 6.6 โ€œDorseyโ€ was released to the public and includes some significant performance improvements. Continuing with work from previous releases, this release delivers significant performance improvements to the editor. Template loading improved by a notable 35+% with this tracking issue capturing all 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 improvements. For the second release in a row, significant new features were added for users to customize their sites, while ensuring minimal impact on server response times.

This post summarizes the performance change since the last release in the 6.5 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". (6.5.5) and the 6.6 release, and then digs into the details of the most significant performance related changes.

Analysis shows that block themes (Twenty Twenty-Four was tested), experienced modest regressions in performance. The median Largest Contentful Pain (LCP) time shows a slight 7ms or 5% decline in tests, and the median Time To First Byte (TTFB) shows a 10ms (14%) decline. While some overhead typically accompanies new features, these declines point to areas where we can improve in the future.

Classic themes show a smaller regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. (Twenty Twenty-One was tested). The median Largest Contentful Pain (LCP) time shows a slight 1ms or 1% decline in tests, and the median Time To First Byte (TTFB) shows a 1.2ms (3%) decline.ย 

Further details on the methodology behind these measurements are provided later in this article, along with an explanation of possible regression sources.

Key changes

Priming transient and transient timeout options in `get_transient`

On sites without a persistent cache, temporary transients are stored in two options. One containing the transient itself, the other containing the timeout. In #61993 the querying of expiring transients is reduced from two to a single database request. Impact could be significant on sites running plugins that make heavy use of transients.

Obsolete polyfills dependencies have been removed

In #60962 now obsolete polyfills such as wp-polyfill, wp-polyfill-inert and regenerator-runtime were removed from the reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org script dependency in WordPress. They are no longer needed in modern browsers supported by WordPress. Typical sites using React on the front end may see a moderate performance improvement because these scripts will no longer need loading and contend for resources other scripts might need.ย 

Disable autoload for large options

In #42441, autoloading for options was given more granular control. In addition, when options are added without explicitly setting an `autoload` value, WordPress will automatically skip autoloading for large options (see dev note). The goal of this change is to reduce slow database responses, sometimes caused by very large autoloaded options.

Add a โ€œAudit Autoloaded Optionsโ€ section in Site Health

#61276 adds a test under the Site Health section to monitor autoloaded options. It displays the number and size of autoloaded options. It shows a โ€˜goodโ€™ status if the autoloaded options are within acceptable limits but a โ€˜criticalโ€™ status if the autoloaded options exceed the predefined threshold (default: 800,000 bytes), indicating a potential performance issue.

Cache block theme patterns persistently

In [58025], block theme patterns caching was updated to use transients so in order to extend the performance benefits of caching these patterns to sites that are not running an external object cache. Our initial benchmarks showed that eliminating the cost of loading all of the Twenty Twenty Four themeโ€™s block patterns on each request saved ~13% of the total server response time.

Introduce wp-on-async directive as performant directive

In Gutenberg PR 61885 a new wp-on-async directive was added to the Interactivity 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.. This ensures that when there are multiple directives for the same event, they do not add up to a long task. This is also true if a single directive itself causes a long task. It also gives the main thread time to update the UIUI User interface before running any potentially long handler code, since this directive yields to the main thread immediately before invoking the action/callback. CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks including navigation, query pagination and search were all updated to use the new async callbacks in GB PR #62160. Lastly, if an action is unable to leverage wp-on-async due to needing synchronous access to the event object, the wordpress/interactivity package now exposes a splitTask() function which can be used to manually yield in the callback. See example in the documentation for Async Actions.ย 

Enable lazy-loading of post embeds

WordPress lets you embed a preview of a post into another post simply by pasting its URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org in the editor. In #58773, the resulting 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. is now automatically lazy loaded similar to the way other embeds are lazy loaded.

Optimizations for transients

Networknetwork (versus site, blog) transients are now primed in a single call and get_site_transient was updated to prime multiple caches at once. The wp_prime_network_option_caches function was added, saving ~3 datebase calls per page load on 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. See #61193 and #61053.

How release performance is measured

The performance measurements used for the overview are based on benchmarks conducted using an automated workflow 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 by the repository owner. https://github.com/ action runners. Benchmarks were taken of the homepage of the Twenty Twenty-One and Twenty Twenty-Four themes with and without object caching enabled via memcached, comparing WordPress 6.6 with WordPress 6.5.5 (the latest version of WP 6.5 available when 6.6 was released).

Performance metrics were collected from 100 runs for both Core Web Vitals (CWV) and Server-Timing headers provided by the 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. using CLI scripts from the WPP Research repo.

Benchmark Data

The report data is summarized in this document.ย 

Full report data is below:

Follow up from this release

  • An issue was opened to investigate where the regressions may have come from. Current investigations point to a couple of possible regression points:
    • r57920: Options, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. APIs: Use more sensible default for autoloading options.
    • r58264: Block Themes: Add section styling via extended block style variations โ€“ which isย  being worked on in core.trac.wordpress.org/ticket/61451.
  • The performance team is working to improve our performance testing tools consistency and robustness, including a roadmap for performance testing next steps.
  • Performance Labs โ€“ the plugin(s) we use to test out new performance features for core โ€“ continues to add new features such as Image Prioritizer , Embed Optimizer, Speculative Loading, Performant Translations and Modern Image Formats (added AVIF and picture element support), and Enhanced Responsive Images.
  • Work on better alignment between test methodologies for Core 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/.

Thanks to @westonruter, @joemcgillย  and @annezazu and @spacedmonkey for contributing to this post.

#6-6, #core, #core-performance, #performance