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 be 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

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 be 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

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