Performance Chat Agenda: 5 December 2023

Here is the agenda for this week’s performance team meeting scheduled for Dec 5, 2023 at 16:00 UTC. 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

Dev Chat agenda, November 29, 2023

The next weekly WordPress developers chat will take place on Wednesday, November 29, 2023 at 20:00 UTC in the core channel of Make WordPress Slack.

Welcome and housekeeping

All are welcome to join Dev Chat.

Dev Chat summary from November 27, 2023 – props to @marybaum for facilitating and the summary.

If you can help with dev chat summaries, please raise your hand in the meeting.

Announcements

What’s new in Gutenberg 17.1

Highlighted posts

Summary of the Hallway Hangout on the triage extensibility issue https://make.wordpress.org/core/2023/11/27/summary-hallway-hangout-triage-extensibility-issue/

Hallway Hangout: let’s explore WordPress 6.5 – this will take place on Zoom on Tuesday, January 14, 2024 at 21:00 UTC. All welcome to join, whether it is to listen or participate too. There will be a recording and recap published. The event will be in the form of a free flowing demo/ presentation going through as many 6.5 release priorities as possible. The release has a proposed schedule of March 26, 2024.
More on 6.5 further down the agenda.

Please add any additional highlighted posts in comments.

Update from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor

This is a new section in the agenda as a pilot.

Update on the Core Editor via @annezazu:

In the meeting or in the comments for async contributions, @annezazu asks if folks can please emoji reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. with feedback to give a sense of whether she is on/off track:  = good,  = okay,  = bad. For anything other than green, feel free to thread a comment during the meeting with feedback or link the item and add it to the comments below.

Please also add your thoughts to the discussion on the future of the core-editor chat.

Forthcoming release updates

WordPress release: 6.4

Any new issues?

New updates on 6.4.x release team or dates for 6.4.2?

For those who were missing the core contributor profile badge and should have received it after 6.4, profiles have been updated. Slack update. should have it now.

Next major WordPress release: 6.5

Any new updates?

WordPress 6.5 Editor Tasks board is out.

Development cycle page.

Are you able to help with future 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. scrubs? Bug scrubs post. Check out the tickets discussed at the bug scrub on November 28, 2023. Next scrub: December 5, 2023 at 19:00 UTC in the core 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/. channel.

Tickets or Components help requests

Please add any items for this part of the agenda to the comments – tickets for 6.5 will be prioritized. If you can not attend dev chat live, don’t worry, include a note and the facilitator can highlight a ticketticket Created for both bug reports and feature development on the bug tracker. if needed.

Open floor

If you have any additional items to add to the agenda, please respond in the comments below to help the facilitator highlight them during the meeting.

a) Reminder from last week: Josepha has asked in the Team Reps channel for highlights from the last year, if you have any item you feel should be included about core’s achievements or items in progress, please add them to the comments on this post for @webcommsat and @hellofromtonya who are preparing the bullet points to send for core. Please do share any comments on this agenda.

b) Nominations for Core Team Reps: 2024 edition – reshare of the draft post to gather suggestions on timings related to the end date for nominations and the end of the voting period. The voting tool to use and whether an embedded voting block in discussion with other teams would be available for this edition to be finalized.

Please do consider whether you could stand for the core team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. for next year.

#6-4-x, #6-5, #agenda, #dev-chat

Dev chat summary, November 22, 2023

Here’s what happened in the dev chat from November 22, with @marybaum facilitating, on this agenda. If you would like more detail, check out the chat transcript.

Announcements

What’s new in Gutenberg 17.1

Highlighted posts

Exploration to support Modules and Import Maps – this post shares the collaborative effort to explore native support for modern JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. modules and import maps within the WordPress ecosystem to enhance the developer experience. Head over to the post if you’d like to get involved.

New section: coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor updates

@annezazu was in the house to kick off an experiment: instead of a separate editor chat, the editor team will have its own section for updates in the Core devchat.

In the meeting, the discussion started with a cut-and-paste of her comment on the agenda; then folks could question and comment on the items they were interested in. The result was a clear view of the huge job the editor team has been doing—and continues to polish.

Tickets

The group skipped over the standard upcoming-releases section to bring up two tickets whose stakeholders particularly wanted to get eyeballs on.

#59758 went first and got a commitment to test its 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. from the attendee who showed up at the meeting specifically to advocate for it.

The other, #59866, got attention in a 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. scrub that happened just before this summary appeared on the Make blogblog (versus network, site).

Thanks to the folks who helped move both those tickets in the right direction!

#dev-chat, #meeting, #summary

Performance Chat Summary: 28 November 2023

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

Announcements

Priority Projects

Server Response Time

Link to roadmap projects and link to the GitHub project board

Contributors: @joemcgill @swissspidy @thekt12 @mukesh27 @pereirinha

  • @joemcgill Main thing happening here at the moment is the ongoing template loading work, captured in this tracking issue
  • @thekt12 Did some profiling for #58196 Performance metrics didn’t show any improvement which is kind of not what was observed in blackfire. https://github.com/WordPress/wordpress-develop/pull/5281#issuecomment-1830164940
    • @joemcgill That’s interesting. I wonder if it’s due to profilers like Blackfire not getting the benefits of the opcode cache? I can try to reproduce locally
    • @thekt12 I am not so sure about that. May be you could try and see what you observer.
    • @joemcgill Will do. I like the removal of the file_exists check and memoizing the path list regardless, so we may want to commit this anyway as a test to see if we could cache this for longer than the current request?
    • @thekt12 Yes we can do that
    • @johnbillion Last time I did some profiling with Blackfire I also saw a very different scale of improvements compared to profiling the code in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher without it. It has a much greater overhead than I expected.

Database Optimization

Link to roadmap projects and link to the GitHub project board

Contributors: @mukesh27 @thekt12

  • @mukesh27 I worked following PRs:
  • @thekt12 not a performance related thing but still something introduced by caching #59661
    • 2nd scenario in this – https://core.trac.wordpress.org/ticket/59661#comment:7 is something I feel is hard to solve, I just wanted to know do we add dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. in such a scenario.
  • @pbearne Mad Idea (may not be new): Could we store all the files in site in a cache and then only check file exists if not in cache and invalidate when we fail to open a file that cache said it had and was missing
  • @joemcgill file_exists checks have shown to really not be that expensive in production due to the opcode cache, but there are places where we could avoid using them and instead read the file in a try/catch 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. and handle the errors gracefully.
  • @joemcgill For longer-term caching of file content that is expensive to read and parse (e.g., block patterns, etc.) this issue is worth following: #59719

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

Link to roadmap project and link to the GitHub project board

Contributors: @mukesh27 @westonruter @flixos90

  • @joemcgill Last week I resolved #58632 as maybelater based on @westonruter analysis that showed that >86% of inline scripts are printed before the script they’re attached to, so making inline scripts deferrable do not seem like a priority for now. Better to document for developers how to use this feature in a way that ensures they’re not forcing their scripts to be blocking. I think we can conduct another analysis in the future to see how often async/defer scripts are being downgraded to blocking scripts due to this problem, using the data-wp-strategy attribute we add to mark intended strategy for debugging purposes

Images

Link to roadmap projects and link to the GitHub project board

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill @pereirinha @westonruter

  • @westonruter Image Loading Optimization is now working end-to-end! After the pull requests for detection and storage have been merged, I’ve now got drafted a PR for the optimization piece. It’s nearing ready for review, hopefully today.
  • @joemcgill I’ve got a draft of a proposal for updating our default sizes attribute in progress using the layout properties from theme.json an observation is that it would be really nice to find a more declarative way to understand the root padding values that are currently referenced in theme.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. by their CSS variable names. Not sure if anyone is aware of any other conversations related to that idea that have been started elsewhere.
  • @joemcgill Meanwhile, I noticed several places where 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/ is setting images as background CSS, where our optimizations are not being applied. That could be worth an exploration to see how we can optimize.
  • @westonruter I’m intending to target this as well with Image Loading Optimization
    • @joemcgill I can open a tracking issue in our performance repo
  • @westonruter At the moment it’s just targeting img elements to optimize, but it has the pieces to also preload background images.
  • @joemcgill I’m more concerned about the use of very large file sizes, but proper resource hinting would be good to handle as well
  • @swissspidy Speaking of very large file sizes, I’m looking into the client-side image compression work in GB, to see what can be done for 6.5
    • @dmsnell not sure if you know libvips or not, but I noticed they have a WASM build. it’s killer feature, in my opinion, is the ability to stream image operations and avoid loading entire large images in memory at once. Also it’s just a really high quality library

Measurement

Link to roadmap projects and link to the GitHub project board

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy @flixos90

  • @adamsilverstein I’ve been working on getting 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 checker / automated performance testing adoption, making some slow progress
  • @joemcgill There was a strange issue with @mukesh27 PR earlier today. The Performance Test failed due to twentytwentyone not being available. There is a new PR running now that I’m watching to see if it also suffers from the same issue. Something we may need to triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. today

Ecosystem Tools

Link to roadmap projects and link to the GitHub repo

Contributors: @mukesh27 @swissspidy @westonruter

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

  • No updates this week

Open Floor

  • @adamsilverstein I have a couple of items. First, I wanted to share this Issue on WooCommerce – https://github.com/woocommerce/woocommerce/issues/41556 which reports some compatibility issues after they moved a script to the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. and used defer (originally it was in the footer)
    • … after they adopted the script strategy feature
    • some of the issues may be fixed “upstream” or they may revert the change. in any case, I think it is interesting to see the challenges large plugins like this have making a change/adopting a new approach
  • @adamsilverstein 2nd: I have created a proposal for an oEmbed optimization module for the PL plugin – https://github.com/WordPress/performance/issues/888 appreciate any feedback
  • @pbearne #42441 has moved on, do we need a proposal for this to go into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.?
    • @swissspidy To me that ticketticket Created for both bug reports and feature development on the bug tracker. is the proposal 
    • @flixos90 Yeah, I don’t think it needs a proposal. Just potentially further discussion on the ticket. I left some thoughts there last week
    • @joemcgill I’d like to get feedback from more folks outside this group. I’m still personally uneasy about making this decision without more input outside this group. I’d raise it in a dev-chat at minimum

Our next chat will be held on Tuesday, December 5, 2023 at 16:00 UTC in the #core-performance channel in Slack.

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

Performance Chat Agenda: 28 November 2023

Here is the agenda for this week’s performance team meeting scheduled for Nov 28, 2023 at 16:00 UTC. 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

Dev Chat agenda, November 22, 2023

The next weekly WordPress developers chat will take place on Wednesday, November 22, 2023 at 20:00 UTC in the core channel of Make WordPress Slack.

Welcome and housekeeping

All are welcome to join Dev Chat.

Dev Chat summary from November 15, 2023 – thanks @ironprogrammer and @webcommsat

If you can help with dev chat summaries, please raise your hand in the meeting.

Announcements

What’s new in Gutenberg 17.1

Highlighted posts

Exploration to support Modules and Import Maps – this post shares the collaborative effort to explore native support for modern JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. modules and import maps within the WordPress ecosystem to enhance the developer experience. Details of how you can get involved with this initiative are in the post.

Please add any additional highlighted posts in comments.

Introduction

Update from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-editor (New section in the agenda)

Initially items relating to this will be posted as comments on the agenda by @annezazu and others.

Please also add your thoughts to the discussion on the future of the core-editor chat.

Forthcoming release updates

WordPress release: 6.4 – any new issues?

Any new updates on 6.4.x release team or dates for 6.4.2?

Next major WordPress release: 6.5

Update opportunity.

Development cycle page.

Are you able to help with future 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. scrubs? Bug scrubs post.

Tickets or Components help requests

Please add any items for this part of the agenda to the comments – tickets for 6.5 will be prioritized. If you can not attend dev chat live, don’t worry, include a note and the facilitator can highlight a ticketticket Created for both bug reports and feature development on the bug tracker. if needed.

Open floor

If you have any additional items to add to the agenda, please respond in the comments below to help the facilitator highlight them during the meeting.

a) Josepha has asked in the Team Reps channel for highlights from the last year, if you have any item you feel should be included about core’s achievements or items in progress, please add them to the comments on this post for @webcommsat and @hellofromtonya who are preparing the bullet points to send for core.

b) Nominations for Core Team Reps: 2024 edition – reshare of the draft post to gather suggestions on timings related to the end date for nominations and the end of the voting period. The voting tool to use and whether an embedded voting 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. in discussion with other teams would be available for this edition to be finalized. Please do consider whether you could stand for the core team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. for next year.

#6-4, #6-5, #agenda, #dev-chat

Performance Chat Summary: 21 November 2023

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

Announcements

Priority Projects

Server Response Time

Link to roadmap projects and link to the GitHub project board

Contributors: @joemcgill @swissspidy @thekt12 @mukesh27 @pereirinha

  • @thekt12 I was working on template loading research for – https://github.com/WordPress/gutenberg/issues/45601 this were the findings-
    • register_block_core_template_part accounts for ~7% of load time ~80ms. The function calls
    • build_template_part_block_variations, which accounts for 99% of the function time. This function is called in almost every page. The root reason for this is deep down in the call stack it calls WP_Theme_JSON_Resolver::get_merged_data, which calls WP_Theme_JSON::__construct for parsing theme 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..
    • Another interesting thing we found is that by disabling build_template_part_block_variations, for pages that don’t require it, we found there is an improvement of ~80ms which align to the total time needed for register_block_core_template_part.
    • Disabling change that was made – https://github.com/WordPress/gutenberg/issues/45601#issuecomment-1516214955 tested on default homepage of TT4
    • Before Change – https://blackfire.io/profiles/933e16a5-0932-41e3-8fb7-a21c10dc3811/graph
    • After Change- https://blackfire.io/profiles/c225c202-974c-4a9c-886f-ef731273461c/graph
    • The challenge is how to tell apart pages that have variations from pages that don’t
  • @thekt12 In short – we can get some improvement for pages if we disable variations for pages we don’t need it. Root cause is however parsing of theme json.
  • @joemcgill Interesting! It sounds like the ongoing work to add improved caching to WP_Theme_JSON data is still the most promising improvement, if we can come up with a good strategy for doing so. #57789 Is that your read?
  • @thekt12 Yes, improving WP_Theme_JSON is the most promising improvement. In addition we can also disable variations for pages that don’t need them to be loaded.
  • @joemcgill So the question then is how to know when a variation needs to be loaded and when not?
    • @thekt12 Yes this is something I am trying to figureout.
  • @thekt12 A snapshot of before and after. And the change improve ~80ms in total load time too [link to image]
  • @joemcgill I think creating a TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker. for further exploration would be the best next step, since this was originally only being discussed in the GB repo, but will require coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. changes, I believe.
  • @joemcgill Related to the above, I’ve been working on #59719 some this week, with hopes of having something sharable this week.

Database Optimization

Link to roadmap projects and link to the GitHub project board

Contributors: @mukesh27 @thekt12

  • @pbearne I have refreshed #42441 and fixed an issue with update_options function. Does it need a proposal for core, or can it just get merged? Do we need/want an upgrade routine/CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. command to remove all the oversized options from autoload list?
    • @joemcgill When we last looked at that issue, my understanding was that we weren’t totally sold that the approach to change the DB values was ready, or at least needed some broader consensus and testing. Not sure if @flixos90 had a different opinion. Regardless, having this refreshed and looked over with fresh eyes is wonderful!
    • @flixos90
    • Thanks for iterating on this. I’m planning to take another look at this today or tomorrow. We still have to indeed decide on what to do with the database value, but there were other issues in the original PR, so having an update is great.
    • @joemcgill At minimum, I would love to see the approach written up on the ticket rather than just in the PR so the DB changes being proposed are clear.

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

Link to roadmap project and link to the GitHub project board

Contributors: @mukesh27 @10upsimon @westonruter @flixos90

  • @joemcgill This effort is worth keeping an eye on: https://make.wordpress.org/core/2023/11/21/exploration-to-support-modules-and-import-maps/
  • @flixos90 I have continued iterating on https://github.com/WordPress/performance/pull/733, which is that new Speculation Rules module. I created a feature 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". for it yesterday, as this definitely shouldn’t ship until January or so, whenever that browser feature becomes generally available
    • Currently thinking about what would be the customization needs there and how that could be exposed via a simple 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.. The Speculation Rules API is very bespoke in that it allows all sorts of nesting with “and” and “or” and “not” conditions, so I feel making that entire API e.g. a 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. would be too error-prone. And maybe it’s too low-level to expose at that degree entirely. But there are definitely certain more specific aspects that need to be customizable per site
    • I’m also in contact with some of the Chromium folks working on this on the browser side, to get a better sense of some of those implications

Images

Link to roadmap projects and link to the GitHub project board

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill @pereirinha @westonruter

  • @joemcgill I’ve been working on some initial explorations for improving the way WP calculates the sizes attribute with some success. Working on wrapping up some initial exploration and writing up some options we may be able to pursue there.
  • @flixos90 Weston is OOO as mentioned above, but he has made a lot of progress on the image loading optimization efforts (using client-side detection). For example, https://github.com/WordPress/performance/pull/878 was merged into the feature branch last week

Measurement

Link to roadmap projects and link to the GitHub project board

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy @flixos90

  • @joemcgill Nothing new from me this week, but I do have on my to do list to do a broader profiling report of 6.4 to identify any additional server timing opportunities for the 6.5 cycle.
  • @swissspidy On #59900 I shared some initial thoughts on using a proper test matrix for the core performance tests
    • @joemcgill Is there any specific feedback you’re looking for?
    • @swissspidy Maybe some thoughts on how we’d like the summary to look like on GH (there’s an example link in my comment), and how important it would be to be able to run the same matrix locally as well.

Ecosystem Tools

Link to roadmap projects and link to the GitHub repo

Contributors: @mukesh27 @swissspidy @westonruter

  • @clarkeemily we are intending to reach out to the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party review team again today to continue the remaining roadmap to v1.0.0 here https://github.com/WordPress/plugin-check/issues/283

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

Open Floor

  • @luisherranz Well, I was about to say that following up on last week’s mention of the exploration of a Modules API, I had just published this post in Make Core to make people aware of the initiative and collect feedback. But the same link just popped up in the middle of the conversation (I published it an hour ago) 
  • @clarkeemily The performance have suggested organising an ‘End of Year Hallway Hangout‘ with the intention of having the following as a loose agenda:
    • Retrospective sharing field data for the cumulative performance impact of the performance team’s work in 2023
      • Potential questions/discussion/interpretation on metrics
    • Talking about 2024 plans
    • There are 2 options here if folks could vote:
      • Thursday December 7 – won with 4 votes
      • Thursday December 14

Our next chat will be held on Tuesday, November 28, 2023 at 16:00 UTC in the #core-performance channel in Slack.

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

Performance Chat Agenda: 21 November 2023

Here is the agenda for this week’s performance team meeting scheduled for Nov 21, 2023 at 16:00 UTC. 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

Dev Chat Summary, November 15, 2023

The WordPress Developers Chat meeting took place on Wednesday, November 15, 2023 at 20:00 UTC in core on Make WordPress Slack (or #core in Matrix).

Key info

Announcements

🎉 WordPress 6.4.1 is out!: Thank you to every single person who has been involved and continues to contribute to 6.4! (Also see the original release post.)

Additional background information on the release:

Highlighted Posts

@webcommsat emphasized that developers with 6.4 knowledge can really help with reviews and contributions toward End User docs. The sooner the documentation is published, the sooner it can benefit the community.

And some items from last week’s cancelled chat to touch on:

@jeffpaul called on potential 6.5/6.6/6.7 leads to share their thoughts on this post.

  • Accessibility improvements in the 6.4 release: Check out this rundown of a11yAccessibility 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) items addressed in 6.4.
  • Proposal to discontinue the weekly #core-editor meetings: Add your thoughts about this change, and opportunities to incorporate editor discussions in Dev Chat.
  • Shareable performance testing utils: Join the discussion to explore ways that projects can incorporate performance testing as part of their development workflow.

And finally, some reminders ⏲️:

  • Call for 6.4.x Release Managers: Work on improving 6.4 continues after the main release, so please consider joining the 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. squad to help keep 6.4 healthy.
  • Call for volunteers to help with 6.4 end-user documentation: The Docs team is looking for volunteers to revise end-user docs (HelpHub) for 6.4. Check out the post and learn how to pitch in! Wait…did I mention this already? Yep — but it’s so important for our user community ❤️.

Release Updates

Next minor release: 6.4.2

@jeffpaul noted that if minor release squad volunteers can be found soon, that there’s a possibility of shipping a 6.4.2 minor release before year’s end. He requested feedback on whether there are any urgent/important items that need to be addressed soon.

@jorbin has been watching the (6.4) minor release issues report, and noted that #59847 seems the most urgent. He also pointed out nice-to-have editor package backports in #59828. If volunteers can be found to support the release, then he suggested a target of the week of November 27, 2023.

@joemcgill noted that #59847 is nearly ready, and requested feedback on the related PR.

👉🏻 Volunteers who can help with the 6.4.2 minor release (and determine timing) should drop a note in #6-4-release-leads.

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

  • The development cycle page has been created. It will be populated after discussing release timings and the finalization of the squad.
  • Are you able to help with future 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. scrubs? Check out the 6.5 scrub schedule.
  • And keep tabs on the #6-5-release-leads channel for additional updates.

@jorbin asked that 6.5 ticketticket Created for both bug reports and feature development on the bug tracker. scrub participants keep an eye out for regressions that should be moved to the 6.4.2 milestone, to get fixes delivered to users more quickly.

@webcommsat shared a link to the November 14 scrub for anyone looking at tickets async, and called on contributors to help with patches and writing of tests. 🙏🏻

Open Floor

Proposal to Cancel #core-editor Meetings

(This discussion started during highlights with regards to this proposal, and is shared here for readability.)

@jeffpaul expressed worry about losing touch with 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/ development without regular meetings and sought alternative ways to stay updated. @jorbin suggested incorporating editor updates into existing meetings, particularly emphasizing involvement from major release editor leads.

@webcommsat highlighted the usefulness of core-editor summaries and proposed integrating regular updates into the dev chat agenda. @ironprogrammer raised the question of where the editor summary would originate if the meetings themselves were cancelled. @jeffpaul suggested obtaining editor updates during dev chat to ensure communication of updates and blockers across the project.

The idea of carving out an official “editor updates” section in dev chat was considered, and @jorbin suggested seeking volunteers from the #core-editor channel to participate in the chat. @annezazu volunteered to take on the responsibility and discussed potential ways to share editor updates, including during the meeting or through agenda posts. The need for asynchronous options, given different time zones, was acknowledged.

@webcommsat suggested having a dedicated section for editor updates on the dev chat agenda post, and plan for asynchronous sharing. @annezazu volunteered to make the meetings and incorporate asynchronous sharing, considering her near term availability across time zones. The importance of avoiding disruptions during meetings was discussed, as was the possibility of maintaining #core-editor office hours for specific questions related to the editor.

2024 Core Team Reps Nominations

@webcommsat gave a reminder for #core contributors to have a look at the draft post: Nominations for Core Team Reps: 2024 Edition. The dates/timing may need revising, and team reps are looking into the possibility of having the voting poll embedded into the post to make it easier to vote. Please share your feedback in #core and CC @webcommsat and @hellofromtonya.

WordPress 6.4 Retrospective

@cbringmann shared WordPress 6.4 Retrospective, and asked that anyone who has contributed to the release to reflect and share their thoughts on the release process (instructions in the post). A follow-up post will be published in December.

Next Meeting

The next meeting will be on 22 November 2023 at 20:00 UTC .

Are you interested in helping draft Dev Chat summaries? Volunteer at the next meeting!

Props @webcommsat for collaboration on this post and meeting preparation.

#6-4, #6-5, #dev-chat, #meeting, #summary

Performance Chat Summary: 14 November 2023

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

Announcements

Priority Projects

Server Response Time

Link to roadmap projects and link to the GitHub project board

Contributors: @joemcgill @swissspidy @thekt12 @mukesh27 @pereirinha

  • @swissspidy Translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. performance:
    • Published blog post about merging the feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.
    • PR is still in code review
  • @flixos90 I updated https://github.com/WordPress/wordpress-develop/pull/5267 yesterday, which improves performance of parsing `theme.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.` files on every page load for sites using a persistent object cache, and I then opened an equivalent 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/ PR https://github.com/WordPress/gutenberg/pull/56095 (since that change should be implemented and tested in Gutenberg first)
    • PR is ready for review! You can use either PR for testing (as they are the same) but the Gutenberg one is the one that needs to be prioritized
  • @joemcgill Work is ongoing on our Template Loading focus. The most important thing for this week is probably to address #59719, which will unblock several of the other pieces of work.
  • @joemcgill I’ve also been tracking a 6.4 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. that was related to our earlier server response time work #59847

Database Optimization

Link to roadmap projects and link to the GitHub project board

Contributors: @mukesh27 @thekt12

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

Link to roadmap project and link to the GitHub project board

Contributors: @mukesh27 @10upsimon @westonruter @flixos90

  • @flixos90 A few months ago, I had been exploring a PL module for the new Speculation Rules 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., which allows “speculative prerendering”. TL;DR when you hover over a link, it prerenders the relevant content under certain conditions so that when you actually click, the page loads instantly.
    • I yesterday updated the PR, which is still only a draft: https://github.com/WordPress/performance/pull/733 But there have been recent developments in the spec and it is likely going to be available in Chromium without requiring an Origin-Trial, at which point it may be worth advancing this further. Right now you can test it through the Origin-Trial if you like, instructions are on the PR.
    • I have also added a few new “learn more” resources to the PR description that may be worth reading to get familiar with the purpose and behavior of the API

Images

Link to roadmap projects and link to the GitHub project board

Contributors: @flixos90 @thekt12 @adamsilverstein @joemcgill @pereirinha @westonruter

  • @joemcgill I’m in the early stages of looking at how we can improve the way WP calculates the sizes attributes of images. I’m currently looking at whether we can add this information during 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. rendering, using the WP_HTML_Tag_Processor and the theme.json layout settings. I hope to have some ideas to share in the next few days.
  • @westonruter For image loading optimization, the pull request for the storage component is ready for review: https://github.com/WordPress/performance/pull/878 – next I’m working on the optimization piece to applied the stored page metrics that have been detected.

Measurement

Link to roadmap projects and link to the GitHub project board

Contributors: @adamsilverstein @joemcgill @mukesh27 @swissspidy @flixos90

  • @swissspidy We‘re now measuring more stuff in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. performance tests, like localized setup and memory usage

Ecosystem Tools

Link to roadmap projects and link to the GitHub repo

Contributors: @mukesh27 @swissspidy @westonruter

  • No updates this week

Creating Standalone Plugins

Link to GitHub overview issue

Contributors: @flixos90 @mukesh27 @10upsimon

Open Floor

  • @luisherranz I’d like to mention that @cbravobernal and I have started experimenting with possible APIs to support modules and import maps in WordPress.
    • We have started in Gutenberg, as we want to test them out in the frontend (with the Interactivity API) and the Editor (with the work @jsnajdr is doing on Block Lazy Loading).
    • The goals of this initiative and the report of our progress are here:
    • There are a couple of experiments already, and we plan to do a third one. It’d be great to have your feedback and insights
    • @flixos90 Great to see this move forward! Would you say the most useful way for us is to review the different PRs and their approaches? Are there other concrete questions where feedback is needed?
    • @luisherranz I’d say that for now, starting to get your opinion on those PRs or even the tracking issue would be great.
  • @clarkeemily Another Gutenberg issue brought up: https://github.com/WordPress/gutenberg/issues/55892 if anyone has time to review please?

Our next chat will be held on Tuesday, November 21, 2023 at 16:00 UTC in the #core-performance channel in Slack.

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