Developer Blog editorial meeting summary, May 2, 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: @greenshady, @ironnysh, @ndiego, @milana_cap @bph (as facilitator), @bcworkz (async)

Last meeting notes: Developer Blog editorial meeting summary, April 4, 2024

Updates on the site

Congrats to our new contributors to get their Documentation Contributor badges: @jsnajdr @beafialho @magdalenapaciorek @ironnysh @jonsurrell @luisherranz @cbravobernal and @flexseth

Newly published post since the last meeting: 

Since the last meeting, we published articles by new writers and received support from more reviewers. (see above)

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 Progress:

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

Topics, approved in 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.

Topics closed

  • Learnings from two Site Migrations After consulting Jasmine, it was clear that her idea wasn’t suitable for the developer blog. I offered to assist her to publish some place else.

New Topics approved

Topics not approved:

There were no clear approval signals, and it seems the topics still need to narrow down the proposal to clear problem statements and suggested solutions. The discussions continue.

Open Floor

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

Props to @greenshady for review of the post.

#meeting, #meta, #summary

Data Liberation: Project plan

Project Objective: Create and launch a Data Liberation solution that allows users to do what they want with their own content. 

Project Overview

Based on the initial vision for the project, in conjunction with a period of outreach the project seeks to introduce new tools that make it easier to migrate to WordPress from any platform, and also to export content out.

Project Timeline

Based on conversations with those working on the following projects, it seems feasible to have a prototype/proof of concept by early June, followed by refinements and delivery of the final project around October/November. 

Start: January  2024
End: November 2024

Data Liberation 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

This work will involve taking the existing MVP/Prototype plugin and building it out to be the way users all around the world take advantage of Data Liberation. This work may include:

  • Working on the UIUI User interface/UXUX User experience to provide a seamless and delightful experience for users.
  • Cataloging/utilizing existing user guides, plugins, and tools to walk the user through import.
  • Integrating Playground to provide staging/temporary migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. sites.

Deliverables

  • An installable plugin that includes:
    • Functionality to detect the source platform and guide user to method for that platform
    • Ability to clone site into a new WordPress Playground
    • Ability to overwrite current site with Playground version
      Deadline: Nov 30, 2024

Transforming Blocks > HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.

This work centers around ways to provide HTML to 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/ and improving the way it is validated and converted to Blocks. As an initial proof of concept this will involve taking public sites and importing them as HTML pages into new Gutenberg/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. pages.

This functionality may be integrated into the main Data Liberation plugin eventually – but will be initially developed separately.

Deliverables

  • Plugin/Solution to import HTML pages/files into WordPress pages/posts with block content
    Deadline: May 31, 2024

Platform-specific guides and tools

This work centers around the creation of Guides (like these examples) and identification and improvement of existing tools for each platform we expect people will want to migrate from.

This work would be ideal for folks who have experience with specific platforms – making it easier for others on that platform to migrate away.

Deliverables

  • A full list of third-party platforms and the current migration pathways
    Deadline: May 17, 2024
  • Written Guides for all major platforms
  • Cataloging of existing tools available for all major platforms.
    Deadline: Nov 30, 2024

Get Involved

This is a bold plan with potentially huge impact for the WordPress ecosystem – and it needs your help to be made a reality. Right now we are looking for contributors to all aspects of this work. 

Design

The existing prototype plugin would definitely benefit from UX and interface work – as for many users this could be one of their first experiences with WordPress. 

Time Commitment/Duration
This is likely to be a higher time commitment in the early stages (over the next 6 weeks) but will then need ongoing work through the life of the project. Ability to commit at least 5 hours a week would be valuable.

Plugin Development

This would be more traditional WordPress plugin work –  improving the plugin itself – including:

  • Detecting platform of source sites
  • logic/decision making about what guide/tool/process is needed based on the platform
  • Integration of ‘Guides’ which are also separately managed/hosted
  • Solutions for installing/using other plugins/tools initiated from the main plugin.

Time Commitment/Duration
This is likely to be a higher time commitment in the early stages (over the next 6 weeks) and then concentrated ongoing work over the life of the project. We would be looking for at least a couple of contributors to commit to 5-10+ hours a week to drive this project, but there will likely be opportunities for contribution with lower time commitment as well.

HTML > Blocks

Working on the scraping of HTML and conversion into block-based content will involve working closely with the Gutenberg code base, and potentially the WordPress playground – including:

  • scraping/navigating sites/structures to gather pages
  • Parsing of HTML and transforming to Block-friendly code
  • Creation of pages/posts/content within WordPress
  • Validation of HTML and insertion of block-based content.

Time Commitment/Duration
This is likely to be a higher time commitment in the early stages (over the next 6 weeks) and then concentrated ongoing work over the life of the project. We would be looking for at least a couple of contributors to commit to 5-10+ hours a week to drive this project, but there will likely be opportunities for contribution with lower time commitment as well.

If you are interested in being involved, or have any questions – you can do so in the comments of this post, by joining the #data-liberation channel in Make Slack or by sending a 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/. DM to @jordan Gillman

This is an incredibly exciting project – and I’m looking forward to working with you all!

Data Liberation: Outreach recap and updates

Over the last 2 months I’ve been reaching out and talking to folks in the community about the Data Liberation project. I want to say thank you to all those who provided feedback and input in survey responses, 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/., emails, Zoom meetings, and in person.

From that feedback here are a few trends and insights I would like to share:

  • One of the biggest challenges when migrating to WordPress is the handling of content as it is transformed to Blocks. Validating 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. markup is tricky (as it happens on the client side) particularly when third party platforms may have malformed or custom HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers..
  • Although there is always room for improvement, the WordPress -> WordPress migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. space is well served by plugins and tools like WPCLI.
  • There is lots of interest in how to handle the importing of custom fields and post metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress..
  • Folks agree philosophically with better, more usable exports from WordPress.

Key Principles

Based on the feedback and discussion so far – I wanted to highlight some key principles for the project as we move forward.

Data Liberation starts as a 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

In terms of the initial delivery method – a plugin is where we will start. This existing proposal includes prototype plugin that detects the platform of a site and utilizes existing user guides to prompt the user through the migration process (using the ‘Tour’ functionality found on other Make P2s).

This plugin can provide a great base for us to guide users through the steps, and to the tools they need to migrate.

Playground plays a vital role

Leaning into the power and flexibility of  WordPress Playground is a fantastic opportunity. It brings the potential of previewing a migration without impacting your existing site,or even if you don’t have a WordPress site at all yet!

Transforming HTML to Blocks is the path forward

Improving the way HTML is converted into blocks and validates brings advantages across all kinds of migrations. Whether provided in an import file, or scraped from platforms that don’t provide an export – transforming HTML into coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks is what will help us free user’s content.

Content Portability is the primary goal

The aim of any Data Liberation solution is to allow users to do what they want with their own content. Whilst any efforts to include appearance and styling, in order to achieve visual parity, are a bonus – the key goal is portability of the content itself.

Better export is important (but comes next)

Philosophically, any effort of Data Liberation needs to consider exporting content from WordPress as well as importing. There are definite improvements we will work towards here – but this will be something that we work on in the future after first improving importing.

With these principles to guide us – our next step (stay tuned) is a defined plan for the project.

WordPress 6.5.3 RC1 is now available

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

  • Use the WordPress Beta Tester pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party
    • As this is a minor RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). release, select the Point Release channel and the Nightlies stream. This is the latest build including the RC and potentially any subsequent commits in trunk.
  • Use WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ to test: wp core update https://wordpress.org/wordpress-6.5.3-RC1.zip
  • Directly download the Beta/RC version.

What’s in this release candidate?

6.5.3 RC1 features 11 fixes in Core as well as 8 fixes for the 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.

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

The following block editor issues from GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ are fixed:

  • #60489 – Layout: Skip outputting base layout rules that reference content or wide sizes if no layout sizes exist
  • #60620 – Fix inserter pattern pagination focus loss
  • #60608 – Fix static posts page setting resolved template
  • #60641 – Font Library: Fix modal scrollbar
  • #60661 – 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.: Allow multiple event handlers for the same type with data-wp-on.
  • #60668 – Layout: Always add semantic classes
  • #60845 – List View: Fix stuck dragging mode in UIUI User interface in Firefox when dealing with deeply nested lists
  • #60764 – Don’t output base flow and constrained layout rules on themes without 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.

What’s next?

The dev-reviewed workflow (double committer sign-off) is now in effect when making changes to 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"..

The final release is expected on Tuesday, May 7th, 2024. Please note that this date can change depending on possible issues after RC1 is released. Coordination will happen in the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. #6-5-release-leads channel.

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

Thanks to @grantmkin, @hellofromtonya for pre-publication review and @davidbaumwald @desrosj for RC package assistance.

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

Summary, Dev Chat, May 1, 2024

Start of the meeting in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., facilitated by @joemcgill. 🔗 Agenda post.

Announcements

The WordPress 6.5 retrospective survey is now closed. Thank you to everyone who responded! Expect a follow-up post with collected, anonymized results once @priethor@marybaum, and @akshayar have finished processing all of the feedback.

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/ 18.2 was released on April 24. Read about what’s new in this release.

The remaining Phase 3 related overview issues were created for folks to join Phase 3: Block LibraryPhase 3: WorkflowsPhase 3: Revisions, and Phase 3: Collaboration index. Thanks to everyone who worked on creating and updating these Phase 3 issues!

Forthcoming Releases

We’re in the 6.6 release cycle. @annezazu shared that the roadmap draft is well underway, and @ella has already created this tracking issue to coordinate PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher backports.

@fabiankaegy noted that it is worth calling out that there are still a few roles that are looking for volunteers. @priethor added: in particular, the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Lead role is the one with the most in need of volunteers. There are a few inexperienced volunteers for the docs lead role, but it would be great if somebody with experience in the role could participate, too. Please reach out to @priethor directly if you have any questions.

A quick update about the next maintenance release, WP 6.5.3. There are currently 3 open trac tickets and 1 Gutenberg ticket left to resolve. A Release Candidaterelease 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). is planned for May 2 at 17:00 UTC, with a tentative release date planned for May 7. There is more information about this release in this post, including the bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub schedule and how you can get involved.

A quick reminder that our next Gutenberg release (18.3) is in progress and the Release Candidate is scheduled for May 2.

Discussion

We dedicated the discussion time to revisiting the conversation that was kicked off last week during our announcements related to recent #core-editor conversations about how we can improve how contributors follow along with editor updates and improve communication within the project.

To kick things off, @joemcgill shared some suggestions that @youknowriad posted on the agenda:

I know a lot of Core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. follow core updates by following the commits that happen on the #core slack channel. I believe that we should be doing the same for editor commits. These commits are already shared on slack on #core-editor-commits channel. That would be IMO a great way for core contributors to keep up with what’s happening on the editor side and potentially interact (even on merged PRs like we do for closed tickets on tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.) without waiting for the code to reach Core through backports or anything.

I think we can also consider showing these commits directly in the #core channel in Slack like we do for Core commits because in the end, these are core commits too, they just happen on another repository. Today we have between 10 and 20 commits per day, I think that’s an acceptable number that won’t “flood” the channel that much and would bring more visibility.

We discussed that we could experiment with posting commit summaries to the #core channel for a short period of time, such as a few weeks, and evaluate how it works. We also discussed that the commits from Core provide more detailed summaries compared to the commits to trunk on the Gutenberg repo, so this is a potential improvement for the Gutenberg commits. @audrasjb noted the Core handbook link for Commit message best practices.

@joemcgill said that he will follow up on moving this forward this week.

@azaozz noted:

There was another concern in that discussion: many contributors that cannot contribute very regularly are missing when development starts for (major) new features. That results in not being able to start contributing to them in time, or not providing timely feedback, ideas, being able to test different approaches, etc.
One of the ideas how to fix this was to start announcing when new major features development starts in dev. chat (and in the summaries). Seems most/nearly all contributors follow make/core and that would benefit them.

@priethor noted that Dev chat time is not very EU-friendly, asking folks to announce features here can be a big ask depending on the project.

@joemcgill summarised that there are several things to unpack here, primarily:

  1. How can we make it easier for people to contribute to new features
  2. What is the right timing and method for communicating updates at key milestones for a feature (e.g., merges, etc.)

@hellofromtonya suggested: How about a Make/Core post with links to tickets or project board and/or the key labels for tracking?

Open Floor

@afragen gave an update on the Merge Proposal: Rollback Auto-Update, and noted that we haven’t received any issues with testing so @afragen believes that it’s going well and we’re on our way to commit in a week or so. Also, there are 6000+ active users of 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.. Please read the proposal and test the feature plugin in the next week, ideally before the next dev chat.

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

Performance Chat Summary: 30 April 2024

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

Announcements

Priority Items

Structure:

  • 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 (WP 6.6)
  • 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
    • Improve template loading
    • INP research opportunities
    • Improving the calculation of image size attributes
    • Optimized autoloaded options

WordPress Performance Trac Tickets

  • For WordPress 6.6:
    • @joemcgill For our auto-loading improvents, #42441, I owe @pbearne feedback on a draft of the dev-note (planning to do so this week). I also left some feedback on the follow-up issue (#61045) that needs to be addressed, and then I think that is ready for commit.
      • @pbearne I need feedback on this as I went through coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and set the autoload for all update_options. If i felt they were adminadmin (and super admin) only options i set them to off
      • @joemcgill I think that’s a useful idea, but we should probably handle that in a separate issue/PR
      • @pbearne in an attempt to reduce options load on the front-end
    • @spacedmonkey I want to try and get https://github.com/WordPress/wordpress-develop/pull/6393 committed in the next couple of days. Just waiting on final feedback from @peterwilsoncc
    • @spacedmonkey also working on https://github.com/WordPress/wordpress-develop/pull/6311. It needs tests.
      • The wp_prime_network_options  function is an example of where it might not have a direct benefit out of the box. It is a developer api and would enable plugins to “do the right thing” I prime multiple networknetwork (versus site, blog) options caches at once.
    • @thekt12 I have started a new PR 6463 for caching #57789 (not ready for review). I was trying to see if we could cache before 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. to avoid unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. failures but seems that doing so only give 0.01% improvement.
      • At the moment I am trying to cache inside WP_Theme_JSON_Data::__construct and WP_Theme_JSON::__construct as they are the one with major 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.

Performance Lab Plugin (and other Performance Plugins)

  • @westonruterPR is ready for review which allows performance features to have plugin dependencies. This is needed for Image Prioritizer which depends on Optimization Detective. With this PR merged, the work on Image Prioritizer can press forward full steam.
  • @mukesh27 I worked on Progress indicator is missing when activating a feature and it has been merged! Requires a follow up though from this comment
  • @joemcgill For the 3.1.0 milestone, we have one issue that needs an owner to move forward: https://github.com/WordPress/performance/issues/1032. @westonruter were you planning to pick that up from Felix, or do we need someone else to help move this forward?
  • @westonruter Both Speculative Loading (PR merged) and Optimization Detective (PR pending merge, review please) will be able to be embedded in other plugins or themes to increase adoption. This is more relevant to Optimization Detective since it is lower-level plumbing which optimization plugins can leverage, and Speculative Loading is getting popular.
    • Also for Speculative Loading, there’s a PR open to add a filter for whether speculation rules are printed and default to not printing when the user is logged-in non-admin or PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher session is active. Could use additional eyes to confirm the approach. Should there be a checkbox for whether to enable for logged-in users? Also, perhaps Speculative Loading should add a Site Health check for when PHP sessions are being used on the frontend so a user can be aware why it doesn’t seem to be doing anything?

Active Priority Projects

Improve template loading

  • @joemcgill There are really only three issues remaining in this project, #59595, #59600, and #57789 (which we already discussed and is probably the most important next step).

INP research opportunities

Improving the calculation of image size attributes

  • @joemcgill I spent some time updating the overview issue for Improving Images sizes, and began filling in some details. This project covers two main efforts to improve the way WP calculates sizes:
    • Improving the default sizes algorithm (accounting for layout)
    • Implement the auto-sizes HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. spec (already handed by the auto-sizes plugin)
  • Rather than creating a whole separate performance feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins. for developing the improvements to the default sizes algorithm, I think it makes sense to combine all of this into the original auto-sizes plugin.
  • In addition, I created an issue to track the work needed to measure and track the impact of these changes, in which I link to the latest data we were able to query from HTTPArchive as a baseline.
  • @joemcgill has assigned one issue to @mukesh27

Optimized autoloaded options

  • Updates covered in WordPress 6.6 item above

Open Floor

  • @mukesh27 Is there any plan to merge https://github.com/WordPress/performance/tree/trunk/includes/site-health/audit-autoloaded-options in core?
    • @spacedmonkey The blockerblocker A bug which is so severe that it blocks a release. for the above was at the lack of action to.
    • it is all well and good highlighting that there are 20 options that are very large, but with no way to fix it, a user it out of luck. I had planned to have a way of changing options to be from being autoloaded or not. Think checkbox and 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/. to update the row in the database. I haven’t had anytime to look at now I am not sponsored.

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

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

Performance Chat Agenda: 30 April 2024

Here is the agenda for this week’s performance team meeting scheduled for Apr 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 (6.6)
      • 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)
    • Active priority projects
      • Improve template loading
      • INP research opportunities
      • Improving the calculation of image size attributes
      • Optimized autoloaded options
  • 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

Summary, Dev Chat, April 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 @mikachan.
🔗 Agenda post

Announcements

An update for the 6.6 release squad has been posted, please note that the release squad is looking for one or two CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Leads to focus on triaging TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. and a Documentation Lead with previous experience for the role.

Also, a reminder that the WordPress 6.5 retrospective post has been published, please fill in the survey if you would like to leave feedback or suggestions for improvements to the release process. The form and comments will be open until April 26th, 2024

There was also a recent discussion in the #core-editor channel around several topics linked to how we can improve how contributors follow along with editor updates and improve communication within the project. There were several potential actions discussed, including:

  • Create more high-level tracking issues that are not tied to a 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..
  • Create Slack channels for high-level features, such as navigation (#feature-website-navigation) and the grid 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. (#feature-grid).
  • Create teams 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/ for high-level features to create an easy point-of-contact and discussion space for these features.

@annezazu called out that she did some recent work cleaning up the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ repo, which should help with this, including getting high-level overview issues in place for all phase 3 items.

Tied to this, 6.6 is the start of having set iteration labeled issues that are targeted for the release and should make it easier to follow release-specific, in-progress work: https://github.com/WordPress/gutenberg/labels/%5BType%5D%20Iteration

@jorbin suggested a make/core post outlining more specifics about the intended process for the iteration issues, to make sure things stay up to date.

@mikachan believes that a summary post is being written to help summarize the next steps from the discussion that happened over in #core-editor.

@johnbillion and @priethor both expressed concerns about potential siloing if we experiment with adding more feature channels.

Forthcoming releases

Next major release: 6.6

We are currently in the WordPress 6.6 release cycle.

Next maintenance release: 6.5.3

There are currently 15 open tickets in the 6.5.3 release milestone. There is more information about this release in this post, including the bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub schedule and how you can get involved.

@jorbin gave the following update:

6.5.3 is still on target for 7 May. Scrubs have been moving things forward. There are a couple of at risk tickets so if you see something towards the bottom of https://core.trac.wordpress.org/tickets/minor/workflow, it would be good to jump in to help.

There are also a few tickets on GitHub so look towards the left there to see tickets you can help move forward https://github.com/orgs/WordPress/projects/186

Next Gutenberg release: 18.2

Gutenberg 18.2 is scheduled for April 24 and will include these issues. During the meeting, @colorful-tones asked for support with a problem encountered while publishing.

Discussion

@peterwilsoncc previously raised that we should consider syncing the editor packages earlier in the release cycle. Could this be attempted for 6.6? Slack reference.

  • This process is documented here, but @youknowriad warned that a lot of that work is also manual for the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher part and not something that doesn’t have a clear workflow.
  • @johnbillion noted a related issue, #60967, which could help with this process.
  • @joemcgill suggested that we put some focus on reducing friction of the PHP syncing during this release and will follow up with @youknowriad and tech leads @ellatrix, @vcanales, and @audrasjb about some next steps.

@afragen published the Merge Proposal for Rollback Auto-Update and asked for more testing and feedback in order to commit this early during the cycle.

Highlighted posts

The full list of posts from the last week in Core can be read on the agenda at this link.

Open floor

There was no time for the open floor section during this dev chat, but @drivingralle did mention a potential ticketticket Created for both bug reports and feature development on the bug tracker. for 6.6 on the agenda post:

Would be great if ticket #55184 could be included in 6.6.

Props to @mikachan for reviewing.

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

WordPress 6.5 performance improvements

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

WordPress 6.5, “Regina” is the first major version of WordPress released in 2024. This release includes several important performance enhancements impacting the user experience for site visitors, along with remarkable improvements to editor performance. Importantly, WordPress 6.5 delivers site performance that is similar, if not superior to previous versions, despite the addition of many significant new features.

In our analysis of the Twenty Twenty-four theme, we observed modest changes in website front-end performance. The median LCP time shows a slight 0.81% decline in non-translated tests, with a 0.95% improvement in translated tests. Similarly, the Twenty Twenty-one theme exhibits a 1.13% drop in median LCP times in non-translated tests, yet showcases a notable 4.50% improvement in translated tests. Further details on the methodology behind these measurements are provided later in this article.

Key improvements

Improved performance for translated sites

This version of WordPress includes a new localization system that loads translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. files more quickly, and introduces support for providing translation files as native PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files. As the merge announcement summarizes, these enhancements are expected to bring a 23.5% improvement in loading time and 41.4% reduction in memory consumption for translations.

A significantly faster editing experience

A major focus of this release was improving performance while editing your site. WordPress 6.5 delivers 5x faster typing processing, 2x faster editor loading, and a 60% reduction in pattern loading, based on measurements collected as part of the overall effort documented in this GitHub issue.

Improvements for registering 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. variations

The WordPress block editing system allows blocks to be registered with a set of block variations, which makes it easy to define different versions of a block without needing to duplicate the whole block. This version of WordPress adds support for registering block variations only when used, avoiding costly processing when this data is unnecessary, which makes server rendering 5% faster.

Support for AVIF image format

WordPress 6.5 supports AVIF, a modern image format that offers significant improvements in image quality and compression over previous formats like JPEG, PNG, and even WebP.  AVIF images can be up to 50% smaller than JPEGs while maintaining the same image quality.

Additional performance focused changes

In total, there were 20 performance related improvements included in this release, split evenly between new enhancements (10) and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes (10).

How release performance is measured

The performance measurements used for the overview are based on benchmarks1 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, Twenty Twenty-three, and Twenty Twenty-four themes with and without translations installed, comparing WordPress 6.5 with WordPress 6.4.3 (the latest version of WP 6.4 available when 6.5 was released).

Performance metrics were collected from 100 runs for both CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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

No translation (en_EN):

Translation (it_IT):

Follow up from this release

Each release, the Performance Team looks for opportunities to improve the performance of WordPress for the following releases, which includes identifying ways we can improve the tooling and processes we use to support the performance practice. For example, we’re collecting opportunities to improve our performance testing in this GitHub issue

You can also follow progress on other performance-related work being planned for the WordPress 6.6 release in Trac and in the Gutenberg repository. A full list of the Performance Team’s priorities for the year is available on the 2024 Roadmap page in the team’s handbook. Come join us in making WordPress as performant as possible.

Props to @flixos90, @peterwilson, @adamsilverstein, @annezazu, and @jorbin for contributing to this post.

  1.  Benchmark measurements use lab data to gather performance metrics under controlled conditions and may not reflect the way the software performs in the field. For more on the differences between Lab and Field data, see this article. ↩︎

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

Performance Chat Summary: 23 April 2024

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

Announcements

Priority Items

Structure:

  • 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 (WP 6.6)
  • 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
    • Improve template loading
    • INP research opportunities
    • Improving the calculation of image size attributes
    • Optimized autoloaded options

WordPress Performance Trac Tickets

Performance Lab Plugin (and other Performance Plugins)

  • @westonruter the Speculative Loading plugin is already at 9000+ active installs! I expect it to tip into the 10k+ range today as the counts have been increasing about 1k per day
    • @joemcgill One of the important things for us to understand with Speculative Loading is what the impacts are on the sites that are using it, that includes performance impact, obviously, but also how it effects things like server resource usage, integration with analytics or other things that may not expect some requests to come from non-users.
    • @westonruter Yes, the readme has been updated to note that. However, people don’t always read the readmes
  • @westonruter planning to kick off the Image Prioritizer plugin this week which will split out the image-specific logic from Optimization Detective, leaving that plugin as an 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. dependency. We can then feature Image Prioritizer in the PL plugin to promote to users.

Active Priority Projects

Improve template loading

  • @joemcgill For the ongoing template loading epic we’ve been working on (https://github.com/WordPress/performance/issues/746) there are 3 main tickets we’re tracking for 6.6:
  • @joemcgill On #59600, I just committed r58025, which covers 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. theme patterns on Friday. As @thekt12 has looked into improvements for block templates and template parts, it seems that most of the cost is related to the underlying 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. processing, which is covered by #57789
    • @joemcgill did some cleanup, and added some updates to #57789 on that ticketticket Created for both bug reports and feature development on the bug tracker. yesterday
  • @spacedmonkey Is anyone looking into #59596
    • Call file size on every css file results in multiple file operations. Might be a good one to pickup, there is already a PR, should be simple to get across the line.
  • @thekt12 most of this is repeat to what @joemcgill said above-
    • #59600 Performance 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. in block tempalte part was related to get_theme_data ( this will be handled in #57789 )
    • #59595 Current implementation (PR#6392) was found to have benefit but need to resolve circular dependency – a bit complex scenerio (this)
    • #57789 So far we have observed benefits of caching WP_Theme_JSON_Resolver::get_theme_data – I am checking any side effects if we do so.
    • We will be caching WP_Theme_JSON_Resolver::get_core_data data inside WP_Theme_JSON_Resolver::get_merged_data , we believe it will result in 3-4% improvement alone and is not subjected to much change.

INP research opportunities

Improving the calculation of image size attributes

  • @joemcgill noted that he worked with @adamsilverstein and started looking into creating a Colab to capture and compare metrics for this, which is what I’m planning to focus on this week

Optimized autoloaded options

  • @joemcgill I created a follow-up ticket last week to update the default auto load option values that get set by coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. to use the new schema we introduced in #42441@pbearne also started a draft of the dev-note for that change, which I owe a review on.

Open Floor

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

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