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 Library,ย Phase 3: Workflows,ย Phase 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 7.4 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

Agenda, Dev Chat, Wednesday May 1, 2024

The next WordPress Developers Chat will take place onย  Wednesday May 1, 2024 at 20:00 UTC in theย coreย channel onย Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections, as below. If you haveย ticketticket Created for both bug reports and feature development on the bug tracker.ย requests for help, please do continue to post details in the comments section at the end of this agenda.

Announcements

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.

Phase 3:ย the remaining phase 3 related overview issues were created for folks to joinย Phase 3: Block Library,ย Phase 3: Workflows,ย Phase 3: Revisions, andย Phase 3: Collaboration index.

Forthcoming releases

Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.6

We are currently in the WordPress 6.6 release cycle.

Next maintenance release: 6.5.3

There are currently 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, 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.

Next Gutenberg release: 18.3

Gutenberg 18.3 is scheduled for May 8 and will include these issues.

Discussions

Last week, we started discussing several topics raised in aย recent discussionย in theย #core-editorย channel 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 release.
  • Createย 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/ย 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 by the repository owner. https://github.com/ย for high-level features to create an easy point-of-contact and discussion space for these features.

This week, weโ€™ll dedicate our discussion time to summarizing any action items that still need to be followed up on from that discussion.

Feel free to suggest additional topics in the comments.

Highlighted posts

CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Updates

Props to @annezazu for helping put together these updates.

Tickets for assistance

Tickets for 6.6 will be prioritized.

Please include detail of tickets / PR and the links into comments, and if you intend to be available during the meeting if there are any questions or will be async.

Open floor

Items for this can be shared in the comments.

Props to @annezazu and @mikachan for reviewing.

#agenda, #core, #dev-chat

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)

  • @westonruter Aย PRย 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 7.4 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 of Hallway Hangout on what’s next in Gutenberg

This is a summary of a Hallway Hangout that was first announced on Make Core. The aim was to have a shared space where we could chat about whatโ€™s being worked on to provide broader awareness to more WordPress contributors and get feedback. The hope is that by coming together early before the next 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 to talk about different features, we can, as a community, flush out concerns sooner, help more folks get involved, and find ways to work better together. Thank you to the 18 folks who joined and to @saxonafletcher and @richtabor for demoing.ย 

Video Recording:

Demos:

The first hour or so covered demos of features with a few questions mixed throughout. What follows is a high level description of the demo topic with links to GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the โ€˜pull requestโ€™ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ issues to dive into more and questions asked and answered related to the topic.ย To make it easier to follow, I also tried my best to split each demo into each section so folks can pick and choose to engage as theyโ€™d like. This doesnโ€™t include the full footage but it includes the relevant bits for demoing.

Theme Style Presets

Rich quickly went through at a high level theme style variations, using Twenty Twenty-Four theme as a use case. He then went through abstracting color and typography styles (more than just fonts and includes things like letter spacing) as their own presets. This work was initially merged in a recent PR and works with all existing themes today that support style variations. Going forward, there are some technical details to iron out along with potentially evolving the experience to better support themes with a large set of variations. For a greater view of this general area, dive into the Colors and typeset presets from theme style variations overview issue.ย 

Section Styles

Rich recapped 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. style variations mechanism and how you can register variations via 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. for multiple blocks at a time, including a demo of how this functionality would work in the editor to allow for โ€œsection stylesโ€. This isnโ€™t inventing anything new but modifying existing functionality of block styles. The biggest new functionality is that you can assign a variation to multiple blocks and to child blocks at one time. For Richโ€™s demo, switching between variations changed the styling for Group, Column, and Columns blocks. Overall, this work for 6.6 is being tracked here with the biggest PR still underway to extend block style variations as a mechanism to support this.

Q: For light/dark in the block styles demo, how are these configured differently than a block style or block variation?

Reusing block style variation and applying it to all child/nested blocks too. With all of those combinations, can still granularly change things. Itโ€™s make theme.json more portable across themes.ย 

Q: Are there any naming conventions needed for consistency of colors?

Any theme can decide what these variations look like so it doesnโ€™t matter what the color slugs are that a theme uses. In previous themes, base and contrast were primary color slugs used but any other color combinations you canโ€™t guarantee. This allows the theme to define what combinations of colors work well and the theme styles that variation rather than guessing and match up different slugs.ย 

We briefly touched on the many related issues there are around color naming as a broader topic: #29568ย & #53996ย & 39372.

Q: Is the theme.json you are showing available to look at somewhere?

Yes. Hereโ€™s the relevant, new bits from Richโ€™s demo:

{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 2,
"title": "Section Styles",
"styles": {
"blocks": {
"variations": {
"colorway-1": {
"supportedBlockTypes": [
"core/group",
"core/columns"
],
"color": {
"background": "var(--wp--preset--color--theme-2)",
"text": "var(--wp--preset--color--theme-3)"
},
"blocks": {
"core/separator": {
"color": {
"text": "var(--wp--preset--color--theme-3)"
}
},
"core/heading": {
"elements": {
"link": {
"color": {
"text": "var(--wp--preset--color--theme-3)"
}
}
}
}
},
"elements": {
"link": {
"color": {
"text": "var(--wp--preset--color--theme-3)"
}
},
"button": {
"color": {
"background": "var(--wp--preset--color--theme-3)",
"text": "var(--wp--preset--color--theme-1)"
},
":hover": {
"color": {
"background": "var(--wp--preset--color--theme-4)",
"text": "var(--wp--preset--color--theme-1)"
}
}
},
"heading": {
"color": {
"text": "var(--wp--preset--color--theme-3)"
}
}
}
},
"colorway-2": {
"supportedBlockTypes": [
"core/group",
"core/columns"
],
"color": {
"background": "var(--wp--preset--color--theme-4)",
"text": "var(--wp--preset--color--theme-2)"
},
"blocks": {
"core/separator": {
"color": {
"text": "var(--wp--preset--color--theme-2)"
}
},
"core/heading": {
"elements": {
"link": {
"color": {
"text": "var(--wp--preset--color--theme-1)"
}
}
}
}
},
"elements": {
"link": {
"color": {
"text": "var(--wp--preset--color--theme-2)"
}
},
"caption": {
"color": {
"text": "var(--wp--preset--color--theme-2)"
}
},
"button": {
"color": {
"background": "var(--wp--preset--color--theme-1)",
"text": "var(--wp--preset--color--theme-4)"
},
":hover": {
"color": {
"background": "#FFFFFFE3",
"text": "var(--wp--preset--color--theme-4)"
}
}
},
"heading": {
"color": {
"text": "var(--wp--preset--color--theme-1)"
}
}
}
},
"colorway-3": {
"supportedBlockTypes": [
"core/group",
"core/columns"
],
"color": {
"background": "var(--wp--preset--color--theme-5)",
"text": "var(--wp--preset--color--theme-2)"
},
"blocks": {
"core/separator": {
"color": {
"text": "var(--wp--preset--color--theme-1)"
}
},
"core/heading": {
"elements": {
"link": {
"color": {
"text": "var(--wp--preset--color--theme-1)"
}
}
}
}
},
"elements": {
"link": {
"color": {
"text": "var(--wp--preset--color--theme-2)"
}
},
"caption": {
"color": {
"text": "var(--wp--preset--color--theme-2)"
}
},
"button": {
"color": {
"background": "var(--wp--preset--color--theme-3)",
"text": "var(--wp--preset--color--theme-1)"
},
":hover": {
"color": {
"background": "var(--wp--preset--color--theme-4)",
"text": "var(--wp--preset--color--theme-1)"
}
}
},
"heading": {
"color": {
"text": "var(--wp--preset--color--theme-1)"
}
}
}
}
}
}
}
}

Q: Are these essentially class-based? i.e. will these style variations still work with CSSCSS Cascading Style Sheets. files (and JSON at the same time)?

Yes, class based like other block style variations.

Zoomed out view

Rich demoed the work being done around zoomed out editing which emphasizes patterns rather than editing blocks, allowing you to quickly build with patterns (reorder, delete, apply section styles, shuffle). There are some UXUX User experience considerations to figure out, including ensuring the mode is invoked at the right time and drag & drop works well. The work done here could also apply in the future to the experience of adding a new page or even onboarding into WordPress. Itโ€™s unclear right now whether itโ€™s something that will be a toggle to use as you want or a view thatโ€™s offered in targeted moments (ie global styles or inserting patterns).ย 

Q: By zooming out for the pattern view โ€“ does that mean that patterns arenโ€™t still useful for smaller groups of blocks (i.e. wanting to add a CTA pattern to a column)?

These patterns are still useful! This new option is simply offering a different context and allowing you to engage with patterns in a different way. This is also something to figure out how to do to provide a level to add patterns to a specific section.ย 

Q: Iโ€™m missing the purpose of the shuffle button. What if it was a button the showed all relevant patterns to replace the current one with?

Itโ€™s an exploration to see if itโ€™s viable and it might not be where we end up. Of note, shuffling just goes to the next pattern rather than a random pattern. We talked at this point about different ways of interacting with patterns, including replacing patterns in the Inspector or selecting patterns from a modal (query 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 block) or shuffling.ย 

Advancing data views

Saxon demoed the latest work around Data Views including a new list view layout type for posts, new default views for templates, and the efforts done to merge patterns & template parts. He discussed being able to set custom views and how useful that will be especially in an enterprise context when lots of folks are working across content. He also shared a figma prototype showing what it might look like with products, rather than posts/pages, to show a custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. experience.ย 

As part of this broader work, the Details and Inspector are being unified to simplify both where to find information and the steps to get to editing (without the Details panel, you can go straight into the editing experience). We discussed extensibility, namely around the APIs currently being private but how the work is being tackled with extensibility at its coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. For folks who want to explore today, they can bundle the data view styles in their plugin. In looking ahead, we also talked about responsiveness improvements and how consumers of these components can decide how to define the experience, including any default views or custom views.ย 

Q: That preview of the โ€œproduct custom fieldsโ€ as a screen you see before the editor โ€“ how does that design relate to the modal for legacy metaboxes that is also happening?

Ideally any data values associated with a post type should be actionable within data views, including generating fields for data. Currently, the data views work is looking at ways to quick edit and bulk edit when selecting multiple items. In some cases, this might be done by editing in the Inspector. There needs to be a broader discussion to define whatโ€™s shown in each view vs in the inspector instead of at the bottom. In some cases, there are benefits for things that require more space, like products, to having a more detail style view as a middle step, to allow for editing rather than having something on the bottom or side where youโ€™re trying to edit something in a smaller space.ย 

As part of this answer, we also talked about the upcoming developer hours on alternatives to custom metaboxes.ย 

Q: Are we able to control where our custom post type appears in the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. order?

Not yet! Need to figure out more technical details, including around routing.ย 

Overrides in synced patterns

Saxon went through what synced patterns are along with how overrides function, allowing you to edit a part of a synced pattern while keeping the rest in sync, and showcased a synced pattern with overrides and contentOnly editing enabled. This work is being tracked for 6.6 after being punted from 6.5. As part of this overall feature, we also discussed advancing contentOnly editing to create a simpler editing experience by surfacing more top level sections rather than needing to work about the block hierarchy and providing easy access to edit specific aspects in the inspector.ย 

Q: Would like to hear thoughts on pattern overrides/content locking working with blocks that use repeatable inner blocks (lists, buttons, etc)?ย 

This touches on a common limitation of these kinds of tools and is captured in a related GitHub issue. We talked about how, in the future, you can add overrides for all inner blocks as a way to work around this but, for now, this limitation remains.ย For example, you could make a grid block overrideable with all children within it inheriting the same.

Block connections

Saxon demoed block connections with an example post type called โ€œEventsโ€ with a custom template with a handful of blocks connected to custom fields (location, venue). Right now, this connection has to be made in code including for whatโ€™s planned for 6.6 but thereโ€™s a larger vision that includes how this could be edited in the interface in the future. For 6.6 though, the ability to edit the custom fieldCustom Field Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributorsโ€™ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. visually is planned. Saxon demoed this by editing the custom field directly in an individual event post and showing how it was updated in the posts lists automatically. Saxon also showed how the data will all remain in sync if you have the custom field displayed in multiple places. As a final demo, Saxon showed a Query Loop block querying through the events post type and how he can simply copy/paste the blocks with custom fields into the Query Loop to reuse the functionality there.ย 

Q: Do these fields have to be registered somewhere or are they automatically detected/available by adding it via the code editor?

Yes, they need to be registered and be โ€œnon-protectedโ€. Hereโ€™s part 1 and part 2 of a developer blogblog (versus network, site) post on connecting custom fields for more information.ย ย 

Q: What field types (text, select, relationship) is this expected to support when introduced? For custom fields and block binding.ย 

For 6.5, the following are supported:ย 

  • Paragraph: content.
  • Heading: content.
  • Image: URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org, alt, and title.
  • Button: text, URL, linkTarget, rel.

Grid layout

Saxon showed the work in progress layout improvements for the Grid layout option. There are two modes in Grid: auto (set minimum column width and canโ€™t manually set items) and manual (set number of columns, set number of rows, and manually set items). Once a grid is placed in manual mode, you can reposition them and create new items. Saxon discussed the explorations around being able to โ€œpin to gridโ€ as a way to say that a grid item should never move and how with manual mode this idea of pinning would go away leaving everything to be seen as pinned to the grid manually. This makes manual mode more complex and, for something more structured, thatโ€™s where auto mode would be used. A big part of the entire feature is figuring out the best default experience for folks. If you want to follow this work, thereโ€™s now 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/ channel for discussions: #feature-grid.ย 

Q: Any thoughts on how some of these more unique grid layouts will work on mobile?

There are lots of various discussions around how best to do this and we need to be smart initially around how to stack items, like stack on mobile for columns.

Q: Can we overlap items?

Not yet. Thereโ€™s a limit in place to prevent that. You can create overlapping items but for v1 we will limit how you can do that. The end goal is you can in the future.

Additional questions

Q: Summarizing a question asked live โ€“ย  where do I get new information about whatโ€™s coming up, especially outside of the technical resources? What do I have to follow?ย 

We talked about how all levels of communication are needed from longer tutorials to quick reels to user friendly resources to deeply technical walkthroughs. This is a โ€œforever problemโ€ that cuts across how information is found on 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/ website to release resources to the entire experience of using WordPress. We talked about how the media corps work might help with this too.ย 

Q: How do we feel about the fact that the Fonts 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. exist while also encouraging theme builders to ship fonts so that variations (typography) are available in global styles? Themes are sometimes shipping 50 fonts. How much do we ship? Should a theme ship with no font? A lot of these themes are huge! This is a more philosophical question.ย 

We talked about how we could potentially reconcile these so declaring a font family in theme.json could potentially bring it into the site editor but that, in general, fonts should still provide presets for users. Ideally, it can all be connected to the font library to keep fonts in one place but we shouldnโ€™t make users go hunting for fonts and themes should be opinionated in how they want folks to use it.ย 

Q: Iโ€™d love to hear if anyone has a fix for this issue Iโ€™m dealing with regarding caching and style variations.ย  tldr the style variations cache doesnโ€™t clear, so you have to switch back and forth between variations to clear it while working on a new theme.

Please chime in on the issue if you think you can help! None of us on the call had a good answer for it as it mainly requires a workaround rather than a fix that can be shipped as itโ€™s a known limitation.ย 

#gutenberg, #hallway-hangout, #outreach, #site-editor

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 by 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 7.4 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

Whatโ€™s new in Gutenberg 18.2? (24 April)

โ€œWhatโ€™s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/โ€ฆโ€ posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor project (formerly called Full Site Editing).

Gutenberg 18.2 is ready andย available for download!

The latest release includes 234 pull requests from 54 contributors, and generally focuses on polishing features, and addressing bugs. Significant activity has also been directed towards improving documentation and code quality.

We extend a warm welcome and thanks to four new first-time contributors! ๐ŸŽ‰

Improve Pattern Overrides Experience

Gutenberg 18.2 refines the flow of turning pattern overrides on and off. It introduces a new DisallowOverridesModal for easier interaction. The solution removes complexity by focusing on a more intuitive workflow, including a modal confirmation when disallowing overrides and pre-populated names for quicker re-enablement. Through consistent interaction, we aim to simplify the user experience. (60769)

Enabling Template Preview in the Post Editor for Non-Administrators

We aim to enhance collaboration and flexibility in WordPress. By changing the rules for template previews, we now allow users with lower roles, like Editor, to view and switch between templates. This update resolves a previous issue by permitting non-administrators to see templates while editing content. (60447)

Site Editor: Support Starter Patterns

When creating a new post or page in the site editor, a modal window allows users to choose a pattern to kickstart their layout and design flow. This feature was previously only available in the post editor. (60745)

Simplify Template Reset Language

A frequent observation from previous outreach:ย 

Why are โ€œclear customizationsโ€ for a template in a different place (in the title area) and named differently from โ€œreset defaultsโ€ for styles?

The term โ€œClear customizationsโ€ was changed to โ€œReset,โ€ with label updates to maintain consistency across the Site Editor and Command Palette. This change aims to improve clarity and reduce confusion for users performing template resets. The updated terminology aligns with other languages throughout the editorial experience, making the process more intuitive. (60256)

Other Notable Highlights

  • Animation improvements โ€“ subtle easing can make a huge impact
    • Adjust frame animation profile. (60589)
    • Animate the radius of the frame. (60415)
    • Improve the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโ€™s opinion about your content and you/ your organizationโ€™s brand. It may also look different on different screen sizes. animation. (60408)
    • Editor: Animate opening and closing editor right sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (60561)
    • Editor: Animate the inserter and list view panels. (60665)
  • Post Editor: Update publish flow (60456)

Changelog

Full changelog available
  • Bump minimum required PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version to 7.2 (60714)

Enhancements

Site Editor

  • Add rename and trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. actions to page panel. (60232)
  • Adjust frame animation profile. (60589)
  • Animate the radius of the frame. (60415)
  • Create router adapter for sidebar. (60466)
  • Improve the header animation. (60408)
  • Index view for Templates & Parts: Useย gridย layout as default. (60069)
  • Pages: Display content frame in mobile when canvas is not edit. (60409)
  • Simplify template reset language. (60256)
  • Template parts in patterns page: Add author field. (60372)
  • Template parts: Set backpath to patterns page. (60667)
  • Update hub markup and animation. (60410)
  • Update site hub action positioning. (60511)

Components

  • CustomSelectControlV2: Support disabled in item types. (60896)
  • ExternalLink: Replace icon with unicode arrow. (60255)
  • InputBase: Simplify focus styles. (60226)
  • ProgressBar: Moved width to css var for perf. (60388)
  • SlotFill: Replace valtio with custom ObservableMap. (60879)
  • Tabs: Fallback to first enabled tab if no active tab Id. (60681)
  • Text: Add text-wrap: Pretty. (60164)
  • Try: Reduce checkbox size in data views. (60475)

Post Editor

  • Confirm dialog: Use more descriptive text for the confirm button. (60364)
  • Editor: Add wordcount and reading time info in post card. (60672)
  • Editor: Animate opening and closing editor right sidebar. (60561)
  • Editor: Animate the inserter and list view panels. (60665)
  • Editor: Update post URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org component. (60632)
  • Editor: Use the โ€˜ConfirmDialogโ€™ component in template validation notice. (60385)
  • Enable template preview in post editor for non administrators. (60447)
  • Support insert before/after keyboard shortcuts when focus is within the list view. (60651)
  • Update publish flow. (60456)

Patterns

  • Add a โ€œAll Template Partsโ€ section. (60775)
  • Back Compatback compat Backward compatibility - a desire to ensure that plugins and themes do not break under new releases - is a driving philosophy of WordPress. While it is a commonly accepted software development practice to break compatibility in major releases, WordPress strives to avoid this at all costs. Any backward incompatible change is carefully considered by the entire core development team and announced, with affected plugins often contacted. It should be noted that external libraries, such as jQuery, do have backward incompatible changes between major releases, which is often going to be a greater concern for developers.: Add Patterns submenu for WordPress 6.4. (60804)
  • Patterns page: Add edit & view revision actions to parts. (60659)
  • Remove โ€œTemplate partsโ€ sidebar group. (60359)
  • Site Editor: Support starter patterns. (60745)

Synced Patterns

  • Adjust allow pattern overrides UXUX User experience flow. (60769)
  • Consolidate โ€œbound 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.โ€ color and โ€œsyncedโ€ colors. (60617)
  • Improve override indication for editable blocks in synced patterns. (60599)
  • Refine rename flow for blocks with overrides. (60234)

Zoom Out

  • Adjust block selection button. (60348)
  • Animation: Avoid fixed width when animating the secondary sidebar. (60693)
  • Introduce section container selection when assembling patterns (zoom out mode). (59249)
  • Update zoom out scale. (60618)

Block Library

  • Add loading state on image upload in featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts., Site logo and Cover blocks. (59519)
  • File: Use HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 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. to update the PDF preview label. (60494)
  • Navigation block: Add current-menu-item class for post type archive. (57808)
  • Remove block renaming control from advanced inspector controls group. (60453)

Data Views

  • Add ability to display fields as a badge in grid layout. (60284)
  • Data views table row: Make checkboxes and actions visible on touch devices. (60829)
  • DataViews: Make the experiment about custom views. (60813)

Layout

  • Add a Row control to grid layout in manual mode. (60652)
  • Apply negative margins for alignfull children of blocks with custom padding set. (60716)
  • Try reducing specificity of layout style selectors. (60228)

Block Editor

  • Remove animation from InlineLinkUI. (60575)
  • Remove root appender. (60697)
  • Try: Add newย textAlignย block support. (59531)

Global Styles

  • Background image: Display default background size value in global styles. (60490)
  • Background UIUI User interface control labels. (60264)
  • Use text and button background color for color indicators. (59514)

Font Library

  • Change Spinner to ProgressBar component. (60570)

Interactivity API

  • Includeย preact/debugย whenย SCRIPT_DEBUGย is enabled. (60514)

New APIs

Extensibility

  • Editor: Support PluginPostStatusInfo Slot in the site editor. (60814)
  • Editor: Unify PluginMoreMenuItem API between post and site editors. (60778)
    • Fix: Use coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. instead of core/editor on normalizeComplementaryAreaScope. (60821)
  • Editor: Unify PluginSidebarMoreMenuItem. (60853)
  • Editor: Unify the PluginSidebar slot between post and site editors. (60815)

Bug Fixes

  • Fix: Add types to useSuspenseSelect. (60733)
  • Fix experimental useHasRecursion deprecation. (60451)
  • Fix translatable string in pagination modal. (60742)
  • Interactivity: Return useMemo and useCallback hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. (60474)
  • Only show block icon in toolbar for contentOnly blocks when block is a synced block. (60647)
  • Patterns: Guard for unknown pattern in server-side resolver. (60464)
  • Snackbar: Make theย explicitDismissย string translatable. (60368)
  • Update standardisation of โ€˜Navigation MenuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site.โ€™ to have both words capitalised in user-facing menus. (60262)
    • Standardise capitalisation of Navigation Menu in sidebar. (60527)

Block Library

  • Embed: Avoid retrying valid URLs. (60655)
  • File: Mark update for setting default label as non-persistent. (60492)
  • Fix donโ€™t close overlay menu when focus leaves submenu. (60406)
  • Fix pattern block recursion handling. (60452)
  • Image: Fix cropper resize on align change (reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org-easy-crop upgrade). (60581)
  • Latest Posts: Remove wrapper div and apply consistent class. (60728)
  • List: Disable edit as HTML support. (55656)
  • Media & Text: Hide the alt text option for featured images. (60496)
  • Post title: Re-add the paragraph level (without UI). (60548)
  • Pullquote: Reduce specificity of padding rule to avoid conflicts with global styles. (60649)
  • Separator block: Reduce default border styles to avoid conflicts with global styles. (60740)

Site Editor

  • Chore: Fix missing comma on welcome guide styles. (60596)
  • Fallback to URL when site title is empty. (60885)
  • Fix activating a theme in site editor when previewing. (60699)
  • Fix site icon animation. (60419)
  • Fix small 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. on the resize handle. (60427)
  • Fix the removePropertyFromObject function throws an error if the object is null. (60831)
  • Fix: Style issue on page actions button. (60592)
  • Pattern page: Fix deps forย onActionPerformedย useCallback. (60784)
  • Remove outdated border radius animation. (60454)
  • Router: Load proper sidebar forย /wp_template. (60850)
  • [Site Editor]: Fix ability to edit trashed pages. (60236)

Post Editor

  • Editor: Do not render publish time and post status panels in design post types. (60857)
  • Editor: Fix post status label styles for low-capabilitycapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). users. (60854)
  • Fix display of shortcut to add non breaking space in the post editor. (60625)
  • Fix: Action button alignment on details panel. (60773)
  • Fix: Action order is different from inspector and dataviews. (60877)
  • Fix: Do not show pattern and template actions on the post editor. (60568)
  • Fix: Missing items parameter and or missing onActionPerformed calls. (60753)
  • Fix: Trash Post action and permanently delete post action do not show errors on single item. (60597)
  • Post Editor Header: Make block toolbar toggle button focus visible. (59781)

Block Editor

  • Avoid errors when a block variation icon is an object. (60766)
  • Fix external link indicator in Link Control. (60439)
  • Fix for isPossibleTransformForSource handling selecting inexistent block. (59410)
  • Fix stuck dragging mode in UI in Firefox when dealing with deeply nested lists. (60845)
  • Prevents delete key from undoing automatic changes. (60858)
  • Raw Handling โ€“ msListIgnore โ€“ Check attributes are valid. (60375)

Data Views

  • DataViews: Fix typing in combobox 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.. (60819)
  • Fix default layout configuration in pages list. (60407)
  • Fix pattern titles. (60640)

Zoom Out

  • Donโ€™t allow shuffle for locked patterns. (60381)
  • Prevent exiting Zoom Out mode from stealing focus. (60441)
  • Respect reduced motion when engaging zoom out mode. (60808)

Font Library

  • Avoid overriding custom settings on font library save. (60438)
  • Fix modal scrollbar. (60641)
  • I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Add context to โ€˜Libraryโ€™ string. (60520)

Components

  • Fix link control link preview when it displays long URLs. (60890)
  • ProgressBar: Fix CSSCSS Cascading Style Sheets. variable with invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. value. (60576)

Layout

  • Always add semantic classes. (60668)
  • 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.. (60764)
  • Fix responsive column span logic on the front end. (60976)
  • Restore classic auto margin rule to its previous specificity. (60802)

Interactivity API

  • Allow multiple event handlers for the same type withย data-wp-on. (60661)
  • Update the query block to permit non-core interactive blocks. (60006)

Templates API

  • Fix static posts page setting resolved template. (60608)
  • Fix: Honor โ€˜template_hierarchyโ€™ filters on template fallbacks. (60377)

Distraction Free

  • Only show inserter in document tools if DFM is off. (60426)
  • Remove alpha from edit post header. (60431)

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/

  • Fix PHP notice triggered by โ€˜gutenberg_update_initial_settingsโ€™. (60862)

Global Styles

  • Editor styles: Delete duplicate backwards compat CSS custom properties. (60400)
  • Fix browser warning regarding highlight colors. (60555)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Details Block: removeย overflow:Hiddenย style. (60270)
  • Do not render pattern aria description if not button is rendered. (60653)
  • Fix inserter pattern pagination focus loss. (60620)
  • Make sure Social icons links arenโ€™t empty and improve UI clarity. (60047)

Performance

  • Add null check to prevent errors inย get_block_templateย filter. (60491)
  • Block preview: Build in async rendering. (60425)
  • Editor canvas: Reduces resize listeners. (60682)
  • Layout support: Avoid two block editor store subs. (60612)
  • Optimize the rendering of the EditorStyles component. (60493)
  • Post Title: Avoid accidental types requests. (60531)
  • Preview: Skip rendering rich text. (60544)
  • Previews: Avoid unneeded block selectors. (60543)
  • Site Editor: Close the editor sidebar by default. (60820)
  • Zoom-out: Scale should be stable function. (60580)
  • getEntityRecords: Batch actions. (60591)

Block Library

  • Avoid calling getBlocks selector for navigation link blocks. (60458)
  • Image cropper: Remove clientWidth prop with useResizeObserver. (60674)
  • Navigation block: Avoid selector + style recalc on mount. (60572)
  • Pattern block: Avoid fetching all reusable blocks on mount. (60310)
  • Post Featured Image: Optimize store subscriptions. (60770)

Site Editor

  • Optimize the AddTemplate component used in data views pages. (60586)
  • Sidebar slide animation: Replace motion.div with CSS animation. (60849)

Documentation

  • Addย AutosaveMonitorย component JSDoc and populateย READMEย with auto-gen documentation. (60882)
  • Add documentation forย disableLineBreaksย property ofย RichText. (56284)
  • Added Documentation for PostExcerptCheck. (60864)
  • Added links to related components. (60726)
  • Correct link to the theme json reference. (60517)
  • DimensionControl: Fix story configuration. (60703)
  • Docs: Fix typos in interactivity API reference. (60870)
  • Docs: Update wording in Block Editor Handbook to reflect that all examples now use JSX. (56315)
  • Fix: Grammar typo on packages/dataviews/src/search-widget.js. (60588)
  • Fix: Link to the block building tutorial. (60518)
  • Fixes a link to the getEntityRecord documentation. (60823)
  • Improve documentation for block variationย isActiveย property. (60801)
  • Update: Hardcoded documentation link to a 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". that does not exist. (60671)
  • Update: Reference editor scope instead of edit-site, edit-post on interface package documentation. (60818)
  • [Create Block] Adding documentation for the transformer property. (60445)

Code Quality

  • Addedย @returnย afterย @globalย in php doc. (60611)
  • Blocks: Remove client-side polyfill for โ€˜selectorsโ€™. (60846)
  • [Block Bindings] Donโ€™t use hooks. (60724)
  • Chore: Fix: Wrong JSDOC for an action return. (60786)
  • Chore: Simplify some CSS margin rules. (60816)
  • Editor: Serve as a proxy for the interface package. (60748)
  • Editor: Unify the auto-switch sidebars behavior. (60869)
  • Editor: Unify the keyboard shortcuts modal. (60866)
  • Editor: Unify the names of the sidebars between edit post and edit site. (60856)
  • Editor: Unify the preferences modal name. (60871)
  • Fix: Remove unused CSS for TemplatePartHint. (60852)
  • Fix: Remove unused css from page panels styles. (60774)
  • Fix: Font Library typo. (60751)
  • Fix: Remove unused CSS code from the site editor. (60662)
  • Interactivity API refactor to TypeScript (utils & kebabToCamelCase). (60149)
  • Reexport createSelector from data package. (60370)
  • Refactor: UseBlockTools cleanup. (59450)
  • Remove comment that no longer applies about appearance-tools support. (60844)
  • Reuse and unify post and page actions, accross the different use cases. (60486)
  • Test: Validate block & theme json. (57374)
  • Tests: Shard JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. unit tests. (60045)
  • Tests: Share 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 build assets across PHP workflows. (60428)
  • Update: Avoid two useSelect calls on PostActions. (60752)
  • Update: Make content locking related selectors private. (60827)
  • Update: Move template actions to the editor store. (60395)
  • Update: Remove keyCode usage from dataviews package. (60585)
  • Update: Use util getVariationClassName instead of computing the variation inline. (60664)

Components

  • Deprecateย reduceMotionย util. (60839)
  • Navigation: Soft deprecate component. (59182)
  • NavigatorProvider: Move the same-location check to the goTo function. (60767)
  • ObservableMap: Optimize unsubscribe and add unit tests. (60892)
  • Remove CSS hack for Internet Explorer 11. (60727)

Post Editor

  • Editor: Optimize the โ€˜PostSlugโ€™ component. (60422)
  • Editor: Use hook instead of HoC in โ€˜ThemeSupportCheckโ€™. (60807)
  • Editor: Use hooks instead of HoCs in โ€˜PostTrashCheckโ€™. (60380)
  • [Editor]:Get post content in PostContentInfo component. (60743)

Data Views

  • DataViews: Removeย onDetailsChangeย event. (60387)
  • Rename displayAsColumnFields to columnFields API. (60504)
  • Simplify visually hidden label. (60835)

Block Editor

  • Refactor Link UI States. (59762)
  • Switching pattern categories inserter to Tabs component with arrow key navigation. (60257)

Tools

  • Updateย @talldanย in codeowners file, remove from edit-widgets package. (60800)

Testing

  • Add end-to-end test for activating themes in site editor. (60707)
  • Automated Testing: Update end-to-end test npm commands. (60376)
  • Fix flaky Site Editor URL navigation end-to-end test. (60675)
  • PHP 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. workflow: Try removing 7.0 and 7.1. (60686)
  • Perf: Improve way we measure template loading by adding posts. (60516)
  • Performance Tests: Iโ€™m tired of doing head math ๐Ÿ˜Š. (60509)
  • Upgrade Playwright to v1.43. (60635)
  • tip: Remove unecessary delay in tests except where needed. (60897)

Build Tooling

  • Dependencies: Upgrade babel. (57311)
  • Upgrade simple-git dependency. (59915)
  • Update Typescript to 5.4.5. (60793)

First-time contributors

The following PRs were merged by first-time contributors ๐Ÿ‘

  • @asheshmagar ๐Ÿ… Font library: Fix typo. (60751)
  • @DaniGuardiola ๐Ÿ…ProgressBar: Moved width to CSS var for performance. (60388)
  • @garridinsi ๐Ÿ… Interactivity API refactor to TypeScript (utils & kebabToCamelCase). (60149)
  • @xhemals ๐Ÿ… Update standardization of โ€˜Navigation Menuโ€™ to have both words capitalized in user-facing menus. (60262), Standardise capitalization of the Navigation Menu in the sidebar. (60527)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshawย @aferciaย @andrewserongย @arthur791004ย @artpiย @asheshmagarย @atachibanaย @carolinanย @colinduweย @colorful-tonesย @DaniGuardiolaย @DAreRodzย @draganescuย @ellatrixย @fabiankaegyย @flexsethย @garridinsiย @geriuxย @getdaveย @ixkaitoย @jameskosterย @jasmussenย @jeryjย @johnhooksย @jorgefilipecostaย @jsnajdrย @kevin940726ย @Mamadukaย @matiasbenedettoย @mhkuuย @mikachanย @mirkaย @noisysocksย @ntsekourasย @oandregalย @ocean90ย @okmttdhrย @prajapatisagarย @ramonjdย @richtaborย @ryanwelcherย @scruffianย @shail-mehtaย @shimotmkย @simonhammesย @sirrealย @Soeanย @sunil25393ย @t-hamanoย @talldanย @tellthemachinesย @tyxlaย @xhemalsย @youknowriad

Props toย @joen, @priethor and @bph for assisting with the preparation of this post and @vcanales, @mcsf, and @dmsnell for supporting me through my first Gutenberg release.

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

Agenda, Dev Chat, Wednesday April 24, 2024

The next WordPress Developers Chat will take place onย  Wednesday April 24, 2024 at 20:00 UTC in theย coreย channel onย Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections, as below. If you haveย ticketticket Created for both bug reports and feature development on the bug tracker.ย requests for help, please do continue to post details in the comments section at the end of this agenda.

Announcements

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 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/ 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 by the repository owner. https://github.com/ for high-level features to create an easy point-of-contact and discussion space for these features.

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.

Next GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ release: 18.2

Gutenberg 18.2 is scheduled for April 24 and will include these issues.

Discussions

We are planning on discussing the following topics:

Feel free to suggest additional topics in the comments.

Highlighted posts

Core Editor Updates

Props to @annezazu for putting together these updates.

Tickets for assistance

Tickets for 6.6 will be prioritized.

Please include detail of tickets / PR and the links into comments, and if you intend to be available during the meeting if there are any questions or will be async.

Open floor

Items for this can be shared in the comments.

Props to @joemcgill for reviewing.

#agenda, #core, #dev-chat

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 7.4 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 by 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

WordPress 6.6 call for volunteers update

This post is a follow-up to the initial WP 6.6 call for volunteers.

Relevant Updates

  • Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Leads: After some discussion and feedback, the proposal to experiment with merging the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Triage and Edito Triage lead roles has been reverted. As a result of this, @fabiankaegy and @colorful-tones will focus on triaging 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/ repository, and therefore, the release squad is looking for one or two Core Triage 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..
  • Documentation Leads: In WordPress 6.5 it became clear that this role does need a bit of experience to enable the rest of the teamโ€™s contributions. Letโ€™s ensure we find a Documentation Lead with prior experience to ensure they are able to handle release-specific work.
  • Default Theme Wrangler: The Default Theme Wrangler role was introduced as an experiment for 6.5 with the hopes of ensuring all default themes fully support any new features. After checking in with @poena and without any additional incoming feedback in theย still-open 6.5 Release Retrospective, our recommendation is to dropย the role from the squadย since having the role on the squad hasnโ€™t meaningfully impacted the default theme queue. This can be revisited in the future.
  • Default Theme Leads: As pointed out in the previous post comments, work towards the new default theme included in 6.7 should start during the 6.6 cycle. Even if not part of the 6.6 squad, folks interested in leading the next default theme in 6.7 are invited to express interest in the comments below. In particular, the first step to kick off the new theme would be to identify the theme designer(s).

Release squad as of April 23nd


Thanks to @annezazu, @chanthaboune and @poena for reviewing this post.

#6-6 #planning