The WordPress coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. development team builds WordPress! Follow this site forย general updates, status reports, and the occasional code debate. Thereโs lots of ways to contribute:
Found a bugbugA 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.?Create a ticket in the bug tracker.
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.
GutenbergGutenbergThe 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.
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 PHPPHPThe 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 CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.TriagetriageThe 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 candidateOne 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 bugbugA 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 ContributorsCore 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 tracTracAn 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.
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:
How can we make it easier for people to contribute to new features
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 PluginA 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.
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ย ticketticketCreated 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.
GutenbergGutenbergThe 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.
Next major releasemajor releaseA 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
@ellatrix created this tracking issue for coordinating PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher backports from the Gutenberg for this release.
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 candidateOne 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 bugbugA 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ย SlackSlackSlack 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ย blockBlockBlock 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ย GitHubGitHubGitHub 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.
CoreCoreCore 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.
Expanding style variations:ย Color & Typography Variations for WP 6.6ย was created as another iteration issue for work planned for the next release. Included in this is efforts toย move color presets into the palette viewย to better communicate whatโs changing when selecting a different color palette from a style variation.
Data Views:ย various new issues and explorations are underway includingย allow users to adjust grid density, and consumers to set default density,ย add ability to display fields as a badge in grid layout, and a dedicated issue toย Extensibilityย (pluginPluginA 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. devs pay attention!).
Design updates:ย various recent PRs have been merged to refine the Site Editor experience including,ย update list view spacingย was merged to reduce the amount of scrolling required andย adjust frame animation profileย for the site editor,
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.
WordPress performance TracTracAn 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 pluginPluginA 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 coreCoreCore 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
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 filterFilterFilters 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 testCode 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 regressionregressionA 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.
@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 PHPPHPThe 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).
Improving the defaultย sizesย algorithm (accounting for layout)
Implement the auto-sizes HTMLHTMLHyperText 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 PluginA 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.
@spacedmonkey The blockerblockerA 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 APIThe 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.
WordPress performance TracTracAn 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 pluginPluginA 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 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 betaBetaA 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 GitHubGitHubGitHub 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 blockBlockBlock 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.jsonJSONJSON, 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:
Q: Are these essentially class-based? i.e. will these style variations still work with CSSCSSCascading 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 UXUXUser 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 loopLoopThe 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 TypeWordPress 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 coreCoreCore 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.ย
Q: Are we able to control where our custom post type appears in the sidebarSidebarA 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?
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 FieldCustom 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: URLURLA 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 slackSlackSlack 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.orgThe 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 APIAPIAn 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.ย
An update for the 6.6 release squadย has been posted, please note that the release squad is looking for one or twoย CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.ย TriagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.ย Leads to focus on triagingย TracTracAn 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 releaseA 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ย blockBlockBlock 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ย GitHubGitHubGitHub 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 GutenbergGutenbergThe 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.
@marybaum asked if we could get more support for Mission Control for this or future releases. @audrasjb has access and is willing to learn, with support from @davidbaumwald and @sergeybiryukov.
@priethor announced that WP 6.6. is not meant to be a maintenance only release. The reasons are summarized in this comment.
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ย bugbugA 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.
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.
@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 PHPPHPThe 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.
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 ticketticketCreated 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.
โWhatโs new in GutenbergGutenbergThe 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).
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! ๐
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
Improve the headerHeaderThe 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 sidebarSidebarA 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)
Bump minimum required PHPPHPThe 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 trashTrashTrash 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)
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 URLURLA 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)
Back Compatback compatBackward 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)
Consolidate โbound blockBlockBlock 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)
Add loading state on image upload in featured imageFeatured imageA 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 HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.APIAPIAn 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)
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 coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. instead of core/editor on normalizeComplementaryAreaScope. (60821)
Fix translatable string in pagination modal. (60742)
Interactivity: Return useMemo and useCallback hooksHooksIn 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 MenuA 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)
Image: Fix cropper resize on align change (reactReactReact 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)
Fix small regressionregressionA 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)
[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-capabilitycapabilityAย 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 filterFilterFilters 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)
I18Ni18nInternationalization, 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 CSSCSSCascading Style Sheets. variable with invalidinvalidA 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)
Donโt output base flow and constrained layout rules on themes without theme.jsonJSONJSON, 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)
REST APIREST APIThe 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)
AccessibilityAccessibilityAccessibility (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)
Fixes a link to the getEntityRecord documentation. (60823)
Improve documentation for block variationย isActiveย property. (60801)
Update: Hardcoded documentation link to a branchbranchA 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)
Tests: Shard JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. unit tests. (60045)
Tests: Share JavaScriptJavaScriptJavaScript 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)
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 testCode 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)
@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:
Props toย @joen, @priethor and @bphfor assisting with the preparation of this post and @vcanales, @mcsf, and @dmsnell for supporting me through my first Gutenberg release.
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ย ticketticketCreated 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 CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.TriagetriageThe act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. Leads to focus on triaging TracTracAn 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 releaseA 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 SlackSlackSlack 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 blockBlockBlock 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 GitHubGitHubGitHub 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.
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 bugbugA 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 GutenbergGutenbergThe 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
We are planning on discussing the following topics:
@peterwilsoncc raised that we should consider syncing the editor packages earlier in the release cycle. Could this be attempted for 6.6? Slack reference.
Block bindings APIAPIAn 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.:ย aย recently merged PR changes the approachย so hooksHooksIn 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. arenโt used with follow up PRs underway to updateย override functionality for synced patterns.
Unify Site Editor & Post Editor:ย after a prior PR was closed out a recent PR was merged toย Update the publish flow for the Post Editorย that can then be unified with the Site Editor for GB 18.2.
Background image:ย work is underway toย add support for absolute theme path URLsย which enhances portability of themes. This includes a requested REST APIREST APIThe 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/enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. toย add stylesheet_uri and template_uri fields to themes endpoint.
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.
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 translationtranslationThe 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 PHPPHPThe 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 blockBlockBlock 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 bugbugA 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 GitHubGitHubGitHub 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 CoreCoreCore 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 pluginPluginA 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.
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.
ย 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. โฉ๏ธ
TriagetriageThe 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 CoreCoreCore 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 GutenbergGutenbergThe 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 TracTracAn 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
Release LeadRelease LeadThe community member ultimately responsible for the Release.:ย Matt Mullenweg
You must be logged in to post a comment.