Summary, Dev Chat, February 14, 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/..

Curated agenda: props to @webcommsat

Facilitator dev chat: props to @joemcgill

Forthcoming Releases

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

@marybaum made another request this week for contributors to fulfill roles of Mission Control, Committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component., Security, and MarComms for the release parties.

@webcommsat asked if there was an update on scheduled 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 during the betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. period of 6.5. In the meantime, she marked the current schedule post as sticky as requested by @oglekler.

  • Action: The triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. leads for 6.5 can update the post with scheduled dates for 6.5

Maintenance releases

There is one ticket in the 6.4.4 milestone that is ready for back-porting. However, @jorbin advised that he does not currently expect another maintenance release before 6.5.

Discussions

Proposal: Implement a PHP autoloader in WordPress Core (Slack link)

To summarize the main topics that were raised during that discussion:

  1. A decision needs to be made about how to handle early loading/overriding of coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. classes. This seems to be the primary concern to address.
  2. There is some concern about the implementation requiring manual updating of the class file, though it’s acknowledged that this change that can be addressed in the future.
  3. A request was made that the previous blocking concerns raised in the original proposal ticket should be summarized and addressed in the new ticket, or the new one closed as duplicate unless there is substantive differences in what is being proposed beyond implementation details.

This will likely need to be included early in a release cycle (WordPress 6.6 at the earliest) and will likely need support of a core committer to help shepherd into the project.

Highlighted posts

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

Also, from last week’s agenda, this section provides updates on the core-editor and the Developer blog, including the latest topics that need writers.

Open floor

@costdev provided an update on 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 Dependencies feature for 6.5.

We’ve been triaging and resolving some issues since commit, many of them minor and we’ve discussed some of the larger issues and are on the path to resolving those.

After the meeting concluded, the team published the following post:
Merge Announcement: Plugin Dependencies

Props to @webcommsat for reviewing.

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

Performance Chat Summary: 13 February 2024

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

Announcements

  • Welcome to our new members of #core-performance
  • Release 2.9.0 of 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 is scheduled for Monday February 19
  • Call for opinions on the naming of the ‘Image Loading Optimizations’ plugin [see here]

Priority Projects

Server Response Time

Notes from today’s meeting:

  • @thekt12 This is something I was working on https://github.com/WordPress/wordpress-develop/pull/5941, new changes has caused some test to fail. The issue is with older test cases. I’ll give a final look tomorrow
  • @joemcgill I ran some profiling on the improvements we made to 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. varations (#59969) and am showing that this has made a noticeable reduction to server response times, e.g. ~5-7%
  • @joemcgill Yesterday, I also identified an issue with the new Plugin Dependencies feature that was negatively impacting server timing. #60518 is fixed for betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 and it looks like we’ve mostly recovered from the regressions that were previously discovered, but we’ll take new benchmarks after Beta 1 is released today

Database Optimization

Notes from today’s meeting:

  • No updates this week

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 the GitHub project board
  • Contributors: @mukesh27 @flixos90 @westonruter @thelovekesh
  • Projects from the 2024 roadmap:
    • INP opportunities research
    • 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.
    • Speculative prerendering
    • Embed Optimizer

Notes from today’s meeting:

Images

Notes from today’s meeting:

Measurement

Notes from today’s meeting:

  • @joemcgill Nothing specific to report against those milestones. Now that we’re getting into the part of the release cycle where we’ll be doing lots of benchmarks, I suspect we’ll identify some opportunities to streamline things a bit. I also think that @oandregal was working on some improvements to the GB tests that would have caught some regressions that were not caught until after the sync. I’d be curious to know if there are ways we can support that work for the future?
  • @joemcgill Some initial performance benchmarks for 6.5-beta1 against 6.4.3, for anyone interested:

Ecosystem Tools

  • Link to the GitHub repo for Plugin Checker
  • Contributors: @mukesh27 @swissspidy
  • Projects from the 2024 roadmap:
    • Creating standalone plugins milestone 2
    • Plugin checker
    • Reusable testing environment

Notes from today’s meeting:

Open Floor

  • Suggestion from @joemcgill and @swissspidy to rethink the structure of the chat to align with the Core Dev Chat
    • For the past couple of weeks, the Core Dev-chat has attempted to spend more time synchronously discussing a proposal or pending issue, and having most updates linked in the agenda with the expectation that folks are reading the information ahead of the meeting. So far, it’s led to more engaging chats. Perhaps there are ways to do something similar here?
  • @clarkeemily is away on holiday next week, so @joemcgill will run the chat

Our next chat will be held on Tuesday, February 20, 2024 at 16:00 UTC in the #core-performance channel in Slack.

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

Summary, Dev Chat, February 7, 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/..

Curated agenda: @webcommsat

Facilitator dev chat: @joemcgill – welcoming one of 2024’s new co-team reps for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.!

Discussions

Proposal: What’s next for the Outreach program

  • Feedback deadline: February 12, 2024. Add comments to the post.
  • A Hallway Hangout is scheduled on February 20, 2024, at 15:00 UTC to further discuss it and next steps.
  • Actionable proposal. Potential for cross-team involvement in furthering it.

Forthcoming Releases

Maintenance releases

@jorbin reports there are currently no updates on a 6.4 release.

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

@marybaum made a request for contributors to fulfill roles of Mission Control, Committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component., Security, and MarComms for the release parties, especially BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 on Tuesday. 

List of new updates on 6.5 including ones requiring input together with their deadlines, next 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, and more.

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 dependencies discussion

You can also view discussions taking place in #core-upgrade-install channel on Slack. This has been highlighted as a potentially very valuable feature for 6.5 and was merged into ‘trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.’ on Tuesday. Note this is the last dev chat before Beta 1.

The discussion focused on @desrosj‘s first point in the update: “When a plugin’s dependencies are unmet, the plugin is deactivated, and the user is only informed of this if they visit the plugin page, and only if they visit on the same request that the deactivation occurs on. It is my opinion that plugins should not be deactivated if dependencies are suddenly unmet. This could be very unexpected for anyone unfamiliar with the concept of dependencies in the context of software. Instead, the WSOD protection should be allowed to do its job, allowing the site owner to receive an email, and see a path forward to correcting the issue.”

@azaozz asked if it was better for a plugin to throw a fatal error and trigger “fatal errors protection” in WordPress?

@jorbin: highlighted whatever decisions are made they need to be ones that reinforce the trust users have in WordPress and in auto updates.

@desrosj: There are also some scenarios where things may reasonably continue working without the dependency, but that would break or become missing currently. This would especially be true for anything that displays content. The content would just go missing without the site owner knowing.

@azaozz: A plugin that stops working either because it was auto-disabled, or because it is missing a dependency is a bad thing that needs to be fixed.

A discussion on the use of emails to admins followed, Perhaps sending another email to the admins to alert users. View the discussion on Slack.

@jorbin: suggestion to highlight all the ways that a plugin could end up with unmet or mismet dependencies and what the expectation would be in each of them

@christopher allford : For a feature that has sat in discussion for so long I think pushing through with a minimal implementation (sans the consent-less deactivation) is a great first step. That will naturally incite discussions about iteration (such as sending dependency information in update metadata to let WordPress opt-out of updating incompatibilities).

Summary of two main concerns:

  1. How do we ensure we’ve identified and resolved any issues with this feature during beta so we ship something that does not hurt user confidence in upgrades?
  2. How can we better communicate these changes so folks can be prepared?

Wider discussion surrounded:

  • How we determine that a large feature is “ready” to ship?
  • How are can we better communicate when a feature needs further testing after being merged. For example, Is a dev-note enough or should there be some other way to communicate these changes?.

Highlighted posts

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

Also, this section provides updates on the core-editor and the Developer blog, including the latest topics that need writers.

Open floor

Anyone can ask for a ticketticket Created for both bug reports and feature development on the bug tracker. or PR to be discussed during an open floor. To help us provide good feedback, please include a link to the issue you want to discuss in the dev-chat agenda notes prior to the meeting.

Props to @joemcgill for reviewing.

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

Performance Chat Summary: 6 February 2024

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

Announcements

  • Welcome to our new members of #core-performance
  • Reminder to visit our 2024 performance roadmap for an overview of all priority projects
  • Reminder that BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 for WordPress 6.5 is scheduled for Tuesday February 13

Priority Projects

Server Response Time

Notes from today’s meeting:

Database Optimization

Notes from today’s meeting:

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 the GitHub project board
  • Contributors: @mukesh27 @flixos90 @westonruter @thelovekesh
  • Projects from the 2024 roadmap:
    • INP opportunities research
    • 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.
    • Speculative prerendering

Notes from today’s meeting:

  • @westonruter For Interactivity API, I’ve continued providing feedback for the pull request that adds server-side processing of directives. It’s almost there! This will be great because it will mean that client-side JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. will have to do less, resulting in better metrics likely for LCP, CLS, and INP.
  • @adamsilverstein I have been working on researching INP opportunities using httparchive queries in a colab which I plan to summarize in a doc to share with the team. I have made good progress and hope to have a summary to share next week.
  • @westonruter Also I identified an issue where passive event listeners can’t currently be added via event directives
  • @thelovekesh https://github.com/WordPress/performance/pull/556 is ready for final review. Also as mentioned by @joemcgill to release this module as standalone 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, @westonruter has made some changes to PR base.

Images

Notes from today’s meeting:

Measurement

Notes from today’s meeting:

  • No updates this week

Ecosystem Tools

  • Link to the GitHub repo for Plugin Checker
  • Contributors: @mukesh27 @swissspidy
  • Projects from the 2024 roadmap:
    • Creating standalone plugins milestone 2
    • Plugin checker
    • Reusable testing environment

Notes from today’s meeting:

Open Floor

  • No updates today

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

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

Developer Blog editorial meeting summary, February 1, 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: @marybaum, @milana_cap @greenshady, @oglekler, second half @webcommsat, @bph (as facilitator),

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

Updates on the site

Categories

The categories were updated a bit.

  • Blocks Development renamed to Blocks
  •  Visual Design renamed to Design
  • Deleted “Learning” isn’t every article a learning experience?

Since the beginning in 2022, we keep categories very high level, and become more specific with Tags.

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: label notifier

For the roundup posts, people can get notified when the next issue is available to share their team’s notes with the writer to be included in the next What’s new for developers post. If people want to get GitHub notification, please let me know and I’ll update the GitHub Notifier Action.

Author Profile links

With the redesign, author links now go to 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/ profiles. 

Newly published post since the last meeting:

Huge “Thank you” to the writers and reviewers for bringing fabulous content to WordPress!

Project Status

Issues Closed as not planned

Seven Posts in Progress:

Eight post on To Do column

The Todo-List is growing, and we need to increase efforts to get them published.

Topics still 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 writer 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.

Posts in need of reviews:

New Topics approved

Open Floor

@webcommsat brought to the meeting, the discussion from last night’s dev chat meeting about the Proposal to improve the FieldguideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. of the WordPress release, to see “what role the dev blog could possibly have in this as well as identifying what the blog already does and could do.

There is a wider discussion needed on communication and education of release features, but it would be good to start a more detailed discussion on potential and what is already aiding these areas within the dev blog. This can then feed into the wider considerations with other teams.”

Relevant links:

@webcommsat:
“The proposal now is not so much about a new version of a field guideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. appearing in dev blog, but looking at where and how we communicate and educate on a release, and what is needed. With the increased ability to segment to different audiences across the project, this could be a great opportunity. Hence, the wider input from marketing, docs, training, community, and the dev blog.

Being clear what happens in the dev blog already, giving tangible live examples to help those less familiar with the blog materials, and what could be potentially done would be a real cake yo the discussion.  With the segmentation, we have just in levels of developer knowledge, we can add a valuable insight too.”

@greenshady, @webcommsat also brought up concerns on ownership, availability of people during release time and bandwidth of contributors.

Next steps:
@webcommsat suggested: a mapping exercise would help, and happy to try to start one we can add to with ideas. We can then add links to examples of what we have already published.

Action: After WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Asia, schedule a Hallway Hangout with contributors from the editorial group and other teams to kick off work on a basic content map for a release and 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 existing efforts and identify gaps.

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

Props to@marybaum and @greenshady for review.

#meeting, #summary

Dev Chat Summary, January 31, 2024

Start of meeting on Slack

This Dev Chat continues the experiment to focus chat time on discussions related to open CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. proposals and release issues, rather than repeating links already highlighted in the curated agendas.

Announcements

Following announcement of yesterday’s 6.4.3 release, @jorbin noted that there was one issue of note, but that there were workarounds available at this time. @jorbin further gave props to those who helped facilitate the release.

@hellofromtonya shared that @joemcgill has accepted his nomination to serve as a 2024 Core team rep 🎉. The search continues for a co-rep, where it’s been noted that a contributor from the Core Editor team would be a great compliment, though not required. Nominations remain open until April 1, 00:00 UTC.

Discussion on open proposals in Core

Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. Publish Date

Link to post: Proposal: An update to the Field Guide

Conversation start link

Comments:

  • @jorbin was under the impression that neither the dev blogblog (versus network, site) team nor 6.4 release leads were interested in moving forward with the proposal. @webcommsat shared that 6.4 docs release leads didn’t see 6.4 as the deadline, and discussions were continuing. @joemcgill agreed that the proposal wasn’t release specific, but rather an adjustment to timing of when field guide information is released. @hellofromtonya also added that the dev blog team has opened a discussion to track the second part of the proposal.
  • @jeffpaul referred to @chanthaboune‘s comment of where best to separate field guide content based on audiences, suggesting the proposal could be adjusted accordingly. @jeffpaul added that some folks have difficulty processing field guide information to determine what is relevant and actionable, which @hellofromtonya agreed should be explored. @webcommsat agreed with the notion to target field guide content to particular audiences, but also to look at how it relates to other new content produced for the release.
  • @jeffpaul suggested the potential to target content according to the five user groups identified in Care and influence: a theory about the WordPress community.
  • @ironprogrammer asked if the field guide info would be more easily consumable if it was split into a canonical structure, such as wordpress.org/6-5/field-guide/, with subpages that match particular areas or audiences.
  • @webcommsat noted that segmentation between audiences has grown, and suggested it’s a good time to use teams’ audience-specific insights to improve the field guide format. She added that exploring how best to utilize the limited people and time for the Docs team would be an important factor in implementing improvements. @jeffpaul agreed with concerns around challenges in gathering/publishing content, but noted that the issue should be considered as separate from the proposal.
  • @jorbin shared that the original published field guide was the result of an overly long email sent to 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 developers.
  • First-time Docs Co-Lead @estelaris 🎉 asked about adding additional comments to the proposal. @jorbin noted that Make/Core comments close automatically after 180 days (~6 months). @costdev shared that adding the #keep-comments-open tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) would reenable them, but recommended removing the tag once an updated timeframe for feedback has been reached. @jorbin updated the Core handbook to reflect this info.
  • @joemcgill pointed out that the team should review all current channels where field guide-related content is published, to check whether only updating the field guide [in one place] would sufficiently improve the broader sharing of release updates to the community. He suggested engaging with the Docs and Marketing teams to move forward, and @estelaris noted she would begin by sharing with Docs. @webcommsat suggested looping in Training as well. @laurlittle noted that the Marketing team could brainstorm on the proposal for future releases, if not 6.5.
  • In response to @joemcgill, @webcommsat noted that there have been past lists of channels and audiences, and suspects more current info should be available. She also suggested it might be helpful to have a single post that links out to the various user groups identified earlier, and to link to that post from the About page.
  • @jorbin referred back to @jeffpaul‘s input and asserted that the dev blog and other team areas might be better places to communicate field guide information, as opposed to Make/Core. @hellofromtonya asked if, considering this perspective, the proposal was actionable by the Core team, or if the proposal should be re-worked as a cross-team collaboration. @jorbin suggested that the teams publishing the field guide info would take on the proposal.
  • @joemcgill noted that it can be difficult to know the status of a proposal, suggesting some way of flagging these posts. @marybaum suggested a visual system to convey “stalled”, “live”, etc, and @joemcgill raised the idea of a 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. pattern. @desrosj shared that in past proposals (example) he has added status info to the top of the post, assuming the status was clear.
  • @hellofromtonya wrapped up the discussion based on the chat, concluding that the proposal be marked closed (“not accepted”), or must be picked up by another team(s).

Actions:

  • Part 1: Move Make/Core field guide publication ahead one week, aligning with last scheduled betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process., rather than RC1. Not accepted ❌
  • Part 2: Start publishing a simplified field guide to the WordPress Developer Blog. Not accepted ❌
  • Other teams to explore revising and adopting this proposal:
    • @estelaris to share the proposal with Docs.
    • @laurlittle to raise the proposal to Marketing for possible brainstorm.
    • @webcommsat to loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. in Training to gauge their interest in furthering the proposal.
    • To highlight in dev blog.

Open Floor

Props @hellofromtonya for peer review.

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

Performance Chat Summary: 30 January 2024

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

Announcements

Priority Projects

Server Response Time

Notes from today’s meeting:

Database Optimization

Notes from today’s meeting:

  • @pbearne started the dev notesdev 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. to try and focus the changes for optimized autoloaded PR https://github.com/WordPress/wordpress-develop/pull/5671
  • @thekt12 I’ll be picking up – https://github.com/WordPress/wordpress-develop/pull/5295/files early next week, need to address some review changes

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.

Notes from today’s meeting:

  • @thelovekesh I have continue the work on https://github.com/WordPress/performance/pull/556 and addressed most of the feedback
  • @westonruter Regarding Interactivity API, I shared this a few days in brief, but excited to share a preemptive INP win for WordPress 6.5: I found an issue where there was a long task occurring during page load (or whenever interactive blocks are hydrated), especially when there is not a trivial number of interactive blocks on the page (e.g. 20). (Recall that any image 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. with lightbox behavior is an interactive block now.) When profiling with 6x CPU throttling the hydration was causing a 300+ ms long task. I opened a pull request to fix this by yielding to the main thread between hydration of each interactive block. It should be included in WP 6.5 with the initial public availability of the Interactivity API.
    • I have another pull request open which will defer hydration of interactive blocks until the node nears the viewport. This will require more iteration with 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/ team and won’t be part of WP 6.5, but it’s another promising performance improvement.
    • This one still needs another review: https://github.com/WordPress/performance/pull/952

Images

Notes from today’s meeting:

  • @westonruter For Image Loading Optimization, @thelovekesh has been working on getting a Webpack build process in place to ensure there is a local copy of web-vitals.js. It is now merged. This is related to his work on Partytown
  • @westonruter Regarding sizes, I was doing some research yesterday on how well (or not) the sizes attribute is used in WordPress… The Web Almanac has a section on sizes from 2022 that shows it is a problem, but doesn’t single out WordPress specifically. I re-ran the query for determining problematic usage with sizes limited to WordPress, and compared December 2022 with December 2023, and the problem is getting worse. I’m hoping to share more specific numbers this week.
  • @adamsilverstein AVIF ticketticket Created for both bug reports and feature development on the bug tracker. if anyone wants to test or review the PR – https://core.trac.wordpress.org/ticket/51228 with AVIF support now in Edge stable, I marked this for commit

Measurement

Notes from today’s meeting:

  • @swissspidy Regarding stabilization it’s good to see that the screenshot above relating to Performant Translations merge proves that our current setup is stable enough to see these drops

Ecosystem Tools

  • Link to roadmap projects and link to the GitHub repo for 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
  • Contributors: @mukesh27 @swissspidy
  • Projects from the 2024 roadmap:
    • Creating standalone plugins milestone 2
    • Plugin checker
    • Reusable testing environment

Notes from today’s meeting:

Open Floor

  • @pbearne would like to invite you all to WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Canada July 11-13, 2024 https://canada.wordcamp.org/2024

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

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

Dev Chat Summary, January 24, 2024

Start of meeting on Slack facilitated by @webcommsat

This DevChat starts with an experiment to shift the chat to synchronize discussions on open coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. proposals and release issues rather than reproducing links highlighted in the curated agendas.

Discussion on open proposals in Core

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.

Link to post: Proposal: The Interactivity API – A better developer experience in building interactive blocks

Conversation start link

Comments:

  • The API is well beyond the proposal stage, with nothing actionable in discussion.

Actions:

  • The proposal should be considered “accepted”.

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API: Introduce WP_HTML::tag() for safely creating HTML

Link to PR (draft): https://github.com/WordPress/wordpress-develop/pull/5884

Conversation start link

Comments:

  • This PR was raised along with the question of how items should be added to the agenda. It was clarified that topics can be added as comments to the previous week’s chat summary, or to the current week’s agenda post (typically published on Tuesdays). And of course, any item can be raised during the open floor section of Dev Chat.
  • @dmsnell indicated that the PR for consideration is a scaled back version of a larger templating system proposal, which will not be ready for 6.5. The PR adds a helper utility, WP_HTML::tag(), to conveniently generate single HTML tags with attributes. The impetus for this feature is to provide Core and extenders a safer way to generate HTML tags, compared with reliance on proper usage of functions such as esc_attr(), which might be overlooked and introduce HTML injection vectors.
  • @jorbin would prefer that any new APIs be used by Core itself, and that there be accessory patches prepared that demonstrate how the function integrates and operates in Core. It was also suggested that a Make/Core proposal would help with gathering broader input.
  • @azaozz pointed out that enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. tickets in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. are another form of “proposal”, and can also result in healthy discussion. He suggested starting the discussion in Trac, and then utilizing a Make/Core proposal if the ticketticket Created for both bug reports and feature development on the bug tracker. isn’t sufficient to establish consensus.
  • There continued discussion around how Core generates HTML currently, which relies on proper use of esc_*() and echo(), as well as a broader discussion around safely generating HTML. Got feedback? Join the conversation 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/., or leave a comment below.

Actions:

  • @dmsnell to create a Trac ticket and/or Make/Core proposal to discuss introduction of WP_HTML::tag().
  • @dmsnell to consider a future Make/Core proposal for the HTML API templating system, and continued discussion around generating safe HTML.

Forthcoming releases

6.4.3

Conversation start link

  • @jorbin shared the remaining open tickets for this milestone, which are scheduled for review and commit prior to a Thursday (Jan 25) 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).:
    • #60025 – This needs additional review and testing. Any help is appreciated
    • #59866 – @peterwilsoncc and I have been work on the one and I should have an update in the next 12 hours.
  • @joemcgill requested help reviewing the approach proposed in #5926 Cache locate template paths, which would address both #60025 and #60290.

6.5

Conversation start link

See this section in the agenda for updates, helpful links, and information for the 6.5 release.

Comments:

  • @oglekler pointed out that there are several early 6.5 tickets that need attention, asking for review as some might have the potential to be completed in time for BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process..
  • @hellofromtonya indicated that the 6.5 cycle is past the “early part of alpha”, suggesting these may need to be punted if they truly require a long runway for soak time and discussion.
  • @azaozz agreed that the early keyword indicates a need for comprehensive testing, and possible reconsideration of the milestone if the testing hasn’t occurred. He also suggested that while not required, it might be preferable to fix old/known bugs during alpha, and allow beta testers to focus on “new” bugs introduced from Beta 1 and onward.
  • @jorbin suggested two interpretations of early; i.e. actually early in the alpha cycle, or just before Beta 1.
  • @hellofromtonya noted that since Beta 1 is the puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) milestone for enhancements/features, that in her perspective, early should apply to early in the alpha cycle. She cited changes to WP_Query as an example where early would apply.
  • @afragen observed that it doesn’t seem that many early tickets are committed early in the cycle.

Open Floor

Props @hellofromTonya for peer review.

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

Performance Chat Summary: 23 January 2024

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

Announcements

Priority Projects

Server Response Time

Notes from today’s call:

Database Optimization

Notes from today’s call:

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 @flixos90 @westonruter
  • Projects from the 2024 roadmap:
    • INP opportunities research
    • 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.
    • Speculative prerendering

Notes from today’s call:

  • No updates this week

Images

Notes from today’s call:

  • @westonruter For Image Loading Optimization, the PR to preload the background-image for the LCP element just needs one more review to merge. Again, I found this change to reduce LCP-TTFB by ~9% when, for example, the LCP elemment is a Group blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. with a background image or a Cover block with parallax. Otherwise, I’ve been working with @thelovekesh on eliminating loading the web-vitals library from unpkg.
  • @adamsilverstein The PR to land AVIF is ready for testing; at this point I am waiting for support to land in Edge stable before committing, not sure that will in time for betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. cutoff though
  • @swissspidy For client side image compression I’m currently working on ways to make the performance impact more measurable and documenting that. In the meantime, my Media Experiments 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 can now be tested on WordPress Playground to familiarize oneself with how seamless it all is.
  • @joemcgill As mentioned earlier, the experimental plugin for supporting auto-sizes is now available. I’m tracking an issue that is effecting WP galleries when this is in use. Additional testing and feedback of this feature (requires Chrome 121+) would be appreciated.

Measurement

Notes from today’s call:

  • @joemcgill Still need to look into the failures on the 6.4 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". #60127

Ecosystem Tools

Notes from today’s call:

Open Floor

  • No updates today

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

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

Dev Chat summary, January 17, 2024

Start of meeting on Slack

This DevChat starts with an experiment to shift the chat to synchronize discussions and away from dropping of links.

Discussion on open proposals in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.

Default Theme Task Force for 2024

Link to the post: Proposal: Default Theme Task Force for 2024

Dev Chat slack link

Comments in Dev Chat focused:

  • positive feedback and highlighting that people can self-nominate their ability to help triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. those open default theme issues
  • promote the call to encourage people to be active in triaging and resolving those 436 Bundled Theme tickets

Latest position from @desrosj :

  • advised the idea has been accepted: t’s rallying a group of folks to get through and clean out the Bundled Theme component backlog on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.
  • three self nominations and more expected to be confirmed by end of the week
  • aim to start before the end of January 2024, currently 437 tickets in the Bundled Theme component
  • Jonathan will be leading the team as a mentor and someone with commit privileges, and other committers are welcome to help as well)
  • the week to week working arrangement will be depends on the team’s availability. Stay tuned! 
  • confirmed the new theme task force group will remain under core team purview. More detail on this in the comments section of the post. More contributors for the Themes team welcome to help out too. “It’s a balance though, My goal here was to allow those contributors to continue exploring what new themes look like while this team handles cleaning up some of our cruft and backlog for pre-existing ones.”
  • expecting ‘as a side effect, cleaning out the backlog also will effectively “retire” these themes in some ways, and going forward, the majority of the tickets will be 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 support related (hopefully).’ 

Actions:

  • more volunteers needed and will increase the speed can go through the outstanding tickets in the component
  • to assist, contact @desrosj on 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/. on in the comments for the post itself

Proposal to improve the editor tech workflow for major releases

Post link: Proposal

Dev Chat Slack link

Context: This proposal was started in 6.4. With 6.5 underway, thinking the learnings from 6.4 could be built upon for how to continue improving the Core merges from 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/ during 6.5. Core Editor and Core chats are now combined into Dev Chat as an experiment.

Discussion:

  • @joemcgill raised the question of the right venue to push this forward. “In my opinion, the current status quo is error prone and unsustainable (as well as taking a lot of manual overhead from contributors).”
  • @jorbin: If we want to try early syncing for 6.4.3, https://core.trac.wordpress.org/ticket/59828 just needs a second committers review and we can get all the updates into the 6.4.x nightly
  • @hellofromtonya: I’m not sure either what the “right venue for pushing this forward” is. Needs a discussion with both Core and Core Editor folks to figure out the needs and how to improve these workflows. Seems earlier the better as BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 is fast approaching
  • @jorbin suggested one way to mitigate the issue would be nominating the release team, or at least the editor tech, for the next release before the current release ships. An interim editor tech to help get the ball rolling while an official team has not been announced. @joemcgill agreed having an identified set of release leads for 6.5 to discuss how they want to handle things for this release would help. The Community Summit conversation was very helpful. A working group to continue that conversation and come back with concrete proposals would be helpful, if a release team is not the right venue. A working group had positive feedback in the dev chat discussions as these workflows are continuously improving and span more than one 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.. @jorbin suggested @tellthemachines should be given right of first refusal to continue leading the effort since she kicked off the proposal.
  • Ideas included: a proposal needed to address the identified set of problems, a hallway hangout similar to the ones @annezazu and others have done.

Actions:

Forthcoming releases

6.5

Slack discussion link

See this section in the agenda for updates, helpful links, and information for the 6.5 release.

Blockages/ items need discussion for progress:

  • Font Library:
    • Discussion:
      • As a follow-up from @joemcgill‘s questions last week, @hellofromtonya has added the Core merge criteria/expectations to its Trac ticketticket Created for both bug reports and feature development on the bug tracker.. The critieria is the same as in 6.4, except Tonya is suggesting returning to the expectation the feature is merged before or by Beta 1.
      • Query raised on the criteria aspect of “running on wp.com, and not being reliant on any specific host testing this. @hellofromtonya: The reason for wp.com is: it’s a normal workflow in Gutenberg as it gains a huge amount of sites running it. @jorbin
      • @annezazu suggested some of the contributors who have worked on this feature could comment. Also noted current timeline for the feature https://core.trac.wordpress.org/ticket/59166#comment:21
      • Question: Is this anything beyond what we’d normally expect of a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.? @hellofromtonya: Same expectations except for 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/. part of it , as I’m suggesting a maintainer needs to give a thumbs-up to its design.
      • jorbim: I don’t want to discourage that in any way, I just wonder if we would ever set a requirement like “Is running on Altis with no major issues”
    • Actions:
      • Update the criteria from the discussion. Done ✅
      • Gather expectations from the REST API maintainers and then update the criteria accordingly. Done ✅

How was the first experimental new DevChat?

@jorbin said: “I think one of the most productive meetings in a while”

@afragen shared there was no extra time to raise other tickets for discussion.

What to change?

Next week, reserve 10-15 minutes for open forum / floor discussion.

Props @hellofromTonya for peer review.

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