Performance Chat Summary: 23 September 2025

The full chat log is available beginning here on Slack.

WordPress Performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets

  • @westonruter shared that PR #8412 has tests added and is ready for review, though he still needs to update the description and remove the draft status.
  • @westonruter enquired about PR #9867, which enables printing script modules in the footer.
    • @b1ink0 added that work is currently underway to implement sorting behavior for script modules and their dependencies.
  • @westonruter enquired about coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. milestone #63012 regarding theme CSSCSS Cascading Style Sheets. minification.
    • @b1ink0 mentioned having a POC (minification only for 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. themes) to partially address #63012 and is working with @shyamgadde on a POC addressing the remaining points, with plans to raise PRs in the coming week.
  • @westonruter mentioned PR #9770 to iterate on fetchpriority for script modules, to allow enqueued script modules to influence the priority of dependencies (or vice versa, which is not yet totally clear).

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)

Open Floor

  • @westonruter shared that there may be a blockerblocker A bug which is so severe that it blocks a release. preventing ticketticket Created for both bug reports and feature development on the bug tracker. #63636 from being a good candidate for WordPress 6.9. The issue relates to a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. in Chrome where sending the Clear-Site-Data 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. such as during logout can slow down page performance. While this approach is preferable to using pageshow to invalidate the bfcache, the Chrome bug may require postponing the feature to 7.0.
  • @khoipro suggested adding a filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to exclude certain taxonomies from slow term-count queries in large projects.
    • @johnbillion noted that while the suggestion didn’t seem directly related, two recent fixes in WordPress 6.9 have already reduced unnecessary term recounting #42522 and #63562.

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

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

Summary, Dev Chat, September 10, 2025

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 @audrasjb. 🔗 Agenda post.

Announcements 📢

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/ 21.6 was released!

Gutenberg 21.6 is now available. The release post provides a full overview of the changes and enhancements. Thanks to @cbravobernal for preparing the notes.

Forthcoming releases 🚀

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

The roadmap for 6.9 has been published.
Please take a look to see what’s actively being worked on for release later in the year.

WordPress 6.9 Dev-Notes

A first 6.9 dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. was published: Prettier Emails: Supporting Inline Embedded Images
See all dev notes published for 6.9.

Discussion 💬

Allow wp-config.php without wp-settings.php

Ticketticket Created for both bug reports and feature development on the bug tracker. #5276 was discussed regarding loading wp-config.php without automatically including wp-settings.php. Opt-in approaches were considered, but concerns about back-compatibility and existing site configurations mean the ticket remains closed and is not targeted for 6.9.

Redirect on MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. rate-limiting

Ticket #63678 proposes redirecting users to install.php when database connections are blocked due to MySQL rate-limiting. Participants agreed the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. is consistent with current error handling, with a suggestion to reuse MySQL’s native error message. It is moving forward for 6.9 consideration.

Standardizing UTF-8 handling

Ticket #63863 introduces a compat-utf8.php file to polyfill missing UTF-8 functions before compat.php is loaded. This aims to provide more consistent string handling across environments. Ongoing feedback is encouraged directly on the ticket.

Docs Team in release squads

A recent post from the Docs Team led to discussion about its role in release squads. Concerns were raised about the removal of the Docs Lead position and possible effects on onboarding and coordination. The importance of documentation was acknowledged, while there were differing views on the need for a formal lead role. It was agreed that there will not be a dedicated Docs Lead role in 6.9 for now. Instead, the focus will be on improving release instructions and checklists to ensure smoother processes.

Props to @audrasjb for review.

#6-9, #core, #dev-chat, #docs, #gutenberg, #summary

Performance Chat Summary: 9 September 2025

The full chat log is available beginning here on Slack.

WordPress Performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets

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)

  • @westonruter flagged that the Optimization Detective plugin is overdue for a release but likely won’t ship before 6.9-beta1 due to focus on Core enhancements.
    • @westonruter reminded that getting the 1.0.0 stable release out is blocking next milestone, which includes the work @b1ink0 is doing on URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Metrics priming.

Open Floor

  • @mukesh27 inquired about the date of the next bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub and @westonruter confirmed it is scheduled for next Tuesday (16 September 2025).

Our next chat will be held on Tuesday, September 23, 2025 at 15:00 UTC in the #core-performance channel in Slack.

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

Dev Blog editorial meeting summary, September 4, 2025

Summary of the WordPress Developer Blogblog (versus network, site) meeting which took place in the  #core-dev-blog channel on the Make WordPress SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.. Start of the meeting on Slack

Site updates and new posts

Project Board

The Dev Blog is always keen to welcome new contributors.

New published posts

Great month for the Developer Blog, and a big thanks to all the writers, reviewers and all involved.

Features on the Developer Blog by @webcommsat on OpenChannels.fm:

The WordPress Way show highlights the Developer Blog in most shows, and in September had a show completely dedicated to it and helping developers in how to use it, and encouraging contributors and new writers

Project board status

Potential new articles/ posts in progress

Highlighted GitHub discussion on the importance of a useful changelog #393

How to register border radius presets in WordPress 6.9 #394

Snippet: Allowed blocks in editor without impacting site editor #390

Setup a single source of dependencies and build tools for multiple plugins and themes #392

  • Suggestion to use this as a case study, rather than a prescriptive post on how to set-up.
  • Discussion on promoting individualized set-ups / case studies from different developers to illustrate how they use functionality. It does not have to be the “perfect” setup, but it’s the thing that works for you, which can be helpful for others.

Expecting more articles in October as WordPress 6.9 features become clear.

Reminder: if you are setting up a link to a google document in GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ – choose the option to share it for ‘comments’ for anyone who has the link, not ‘edit’ nor ‘view only’.

@bph to move the approved discussions to issue and assign them to writers and add them to the project board. 

@areziaal – plan for a table at WCEH to promote the Dev Blog at its contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., and thanks to help from @welcher.

Posts that need a writer

https://github.com/orgs/WordPress/projects/44/views/1

https://github.com/WordPress/developer-blog-content/issues/259

https://github.com/WordPress/developer-blog-content/issues/217

https://github.com/WordPress/developer-blog-content/issues/269

Thanks for facilitating, @marybaum

Next meeting

The next Developer Bog editorial group meeting will be on October 2, 2025, at 15:00 UTC in the #core-dev-blog channel.

Props to @bph for reviewing the notes.

#dev-blog, #summary

Summary, Dev Chat, September 3, 2025

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 @francina. 🔗 Agenda post.

Announcements 📢

WordPress 6.9 Roadmap

The roadmap for 6.9 has been published.
Please take a look to see what’s actively being worked on for release later in the year.

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/ 21.5 was released!

Gutenberg 21.5 is now available. The release post provides a full overview of the changes and enhancements. Thanks to @wildworks for leading this release and preparing the notes.

Forthcoming releases 🚀

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

Discussion 💬

Revamp of Networknetwork (versus site, blog)/Sites screen with DataViews

@realloc introduced ticketticket Created for both bug reports and feature development on the bug tracker. #63885, which proposes modernizing the Network/Sites screen using DataViews and DataForm. For this to work, the 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/. endpoint for sites is also needed. Initial proof-of-concepts are available, with the goal of advancing 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. and UIUI User interface together. Feedback on both design and implementation is highly encouraged.

Step-by-step integration of PHPStan into CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. workflow

There was broad agreement on integrating PHPStan into the Core workflow. Key points are ensuring compatibility with WPCSWordPress Community Support A public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016., avoiding false positives related to globals or legacy code, and introducing it gradually. The plan is for incremental rule expansion, accompanied by contributor discussions.

Concerns over missing Docs Team Lead in releases

@estelaris raised concerns about the lack of a Docs Team Lead role. During the 6.8 release, Dev Notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. and HelpHub pages were coordinated too late. The discussion highlighted that Dev Notes should primarily be written by the developers implementing the changes, with the Docs team providing fallback support. Proposals included broader HelpHub access for committers and improved release checklists to ensure better planning.

Props to @francina for review.

#6-9, #core, #dev-chat, #gutenberg, #summary

Summary, Dev Chat, August 27, 2025

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 @benjamin_zekavica. 🔗 Agenda post.

Announcements 📢

WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US 2025 takes place this week

From August 26–29, 2025, the WordPress community will gather in Portland, Oregon.
Further details can be found on the official website.

WordPress 6.9 Roadmap

The roadmap for 6.9 has been published.
Please take a look to see what’s actively being worked on for release later in the year.

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/ 21.5 has been released

Gutenberg 21.5 is now available.
The release includes several improvements 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, with a detailed release post to follow soon.

Forthcoming releases 🚀

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

Discussion 💬

Proposed Database Index for Performance

@josephscott proposed adding a new database index to improve performance on sites with a large number of posts or custom post types. This could speed up queries for the All Posts adminadmin (and super admin) page (see #50161). The proposal received general agreement, and further review and volunteers are needed to help carry it through to commit.

Ticketticket Created for both bug reports and feature development on the bug tracker. #63836 – HTTP Status Codes for wp_die

@callumbw95 has been working on #63836 and noted that all PR tests have passed. Further review and testing are needed before merge, and the ticket has been added to the summary so a CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. can assist.

#6-9, #core, #dev-chat, #gutenberg, #summary

Summary, Dev Chat, August 20, 2025

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 @jeffpaul. 🔗 Agenda post.

Announcements 📢

The WordPress 6.9 Release Squad is assembled!

The release squad for WordPress 6.9 has been officially assembled and is ready to begin work on the upcoming version. The team will focus on enhancing performance, security, and user experience. Further details are available in the article.

WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US 2025 is coming up next week

From August 26–29, 2025, the WordPress community will gather in Portland, Oregon, for this year’s WordCamp US. If you haven’t already, be sure to register for the Contributor Day. CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team members will be on site, and it would be great to see you there as well. @jorbin wrote a guide to prepare for the day.

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/ 21.4?

The latest version of Gutenberg, 21.4, was released on August 13. For a detailed overview of what has changed, check out the article What’s new in Gutenberg 21.4? – many thanks to @priethor for putting together this excellent summary.

WordPress 6.9 Roadmap

The roadmap for 6.9 has been published. Please take a look to see what’s actively being worked on for release later in the year.

Forthcoming releases 🚀

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

Discussion 💬

BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Pattern Registration – Silent Failures

@tusharbharti reported an issue with the register_block_pattern() function, which currently returns true even when disallowed blocks are included. This causes the pattern to not appear in the inserter and no warning is shown. A patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. (PR#9345) has been submitted to address the problem, and a second opinion is requested to ensure the issue is properly resolved. See #63765

MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. Rate Limiting – Redirect Issue

@anonymooo highlighted a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. where WordPress incorrectly redirects to wp-admin/install.php when a user is rate-limited in MySQL. A patch (PR#9223) is open and requires review. Feedback on the desired behavior, such as using wp_die(), is requested to guide the next steps. See #63678

UTF-8 Handling Improvements

@dmsnell suggested updating the wp_check_invalid_utf8() function to improve UTF-8 validation, building on previous work with seems_utf8(). This update aims to strengthen UTF-8 handling in WordPress. The community is encouraged to provide feedback before the changes are finalized. See #63837

Data Passing in Scripts

@jonsurrell, in collaboration with @westonruter, proposed adapting the data passing mechanism from Script Modules for use with classic scripts. This change would offer better performance, eliminate reliance on a global namespace, and provide an alternative to wp_add_inline_script() and wp_localize_script(). Feedback on this approach is welcome. See #58873

Emoji Detection Inline Script – Render Blocking

@westonruter discussed a potential improvement for the emoji detection script. By switching from an inline script to a script module, render-blocking could be reduced, resulting in better performance, particularly on mobile devices. Early testing has shown over a 5% improvement in Largest Contentful Paint (LCP). See #63842

Props to @francina for review.

#6-9, #core, #dev-chat, #gutenberg, #summary

Summary, Dev Chat, August 13, 2025

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 @francina. 🔗 Agenda post.

Announcements 📢

WordPress 6.9 Roadmap

The roadmap for 6.9 has been published. Please take a look to see
what’s actively being worked on for release later in the year.

WordPress 6.9 Planning Proposal and Call for Volunteers

The planning phase for 6.9 wrapped up on July 25.
More information will be announced about the release team in the coming weeks.

Forthcoming releases 🚀

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

Discussion 💬

Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. at WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. US

@jorbin shared plans for the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. table, including a live 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, a live demo from a committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. showing the final review process, and activities aimed at helping contributors become more active. @karmatosed suggested using the day to also update the handbook with any improvements discovered.

Mail Component – New Maintainer Proposal + Discussion about the role and expectations

@SirLouen put forward his interest in becoming the maintainer for the Mail component, highlighting several months of consistent triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors., reviews, and fixes. With many components currently without maintainers, the proposal received strong support. @desrosj suggested assigning the role now, reviewing progress after three months, and refining the maintainer role description in the handbook. He noted that the recent, more relaxed approach to assigning maintainer roles has had mixed results. He is preparing an updated, clearer role description for the handbook, based on established open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. practices.

Updating seems_utf8()

@dmsnell proposed updating seems_utf8() to comply with RFC 3629 (#38044). This function is used for validating titles, filenames, and exports. The group discussed deprecating the current implementation and replacing it with proper validation. @agulbra and @jorbin offered to review the changes further.

Props to @francina for review.

#6-9, #core, #dev-chat, #gutenberg, #summary

Performance Chat Summary: 12 August 2025

The full chat log is available beginning here on Slack.

WordPress Performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets

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)

  • @westonruter announced that the next Performance Lab release will include an adminadmin (and super admin) pointer for the View Transitions plugin PR #2122.
    • @b1ink0 asked whether to release Performance Lab now or wait until PR #2059 is ready, as it needs a round of review. @westonruter suggested waiting so that the release can go out next week before WCUS.
  • @westonruter also noted that the admin pointer should be omitted if View Transitions is already active (Issue #2136) and mentioned PR #2119, which proposes adding the No-cache BFCache plugin as a new feature to Performance Lab.

Open Floor

Our next chat will be held on Tuesday, August 26, 2025 at 15:00 UTC in the #core-performance channel in Slack.

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

Summary, Dev Chat, August 6, 2025

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 @audrasjb. 🔗 Agenda post.

Announcements 📢

WordPress 6.9 Roadmap

The roadmap for 6.9 has been published. Please take a look to see what’s actively being worked on for release later in the year.

WordPress 6.9 Planning Proposal and Call for Volunteers

The planning phase for 6.9 wrapped up on July 25. More information will be announced about the release team in the coming weeks.

Maintenance releases for WP 4.7 to 6.7

A maintenance update was released for branches 4.7 to 6.7.

Forthcoming releases 🚀

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025. The planning phase wrapped up on July 25. More information will be announced about the release team in the coming weeks.

Discussion 💬

“New blocks in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.” guidelines (and their lack of)

Pointed out by @mamaduka: “Do niche blocks belong in the core?”. See the related issue on Gutenberg GitHub repository.

Full discussion on Slack

Read the discussion highlights

@audrasjb suggested that shipping Canonical Plugins are probably a better option for most of the blocks listed in the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issue. @desrosj shared the same opinion: “For a while, the use of 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. plugins was encouraged. It would be great to have canonical plugins for blocks that are somehow differentiated in the UIUI User interface to the user as coming from w.org and can be trusted.”

On another side, @richtabor pointed out that Core should propose a more complete set of blocks to meet more user needs: “Blocks (of all kinds) are foundational to the site-building experience—they’re not just extra features, but the literal building blocks of themes and patterns. When a block is missing, it breaks the visual integrity of a theme or pattern, or simply make certain designs impossible. That’s a much more fundamental gap.” […] “I just see hundreds of people asking daily for things that aren’t there, quickly getting lost in the complexity of WordPress (install this. activate that. canonical that).”

@jorbin answered that needing to install things is an expectation from the WordPress project philosophy:

Different people have different needs, and having the sheer number of quality WordPress plugins and themes allows users to customize their installations to their taste. That should allow all users to find the remaining 20% and make all WordPress features those they appreciate and use.
https://wordpress.org/about/philosophy/

@joedolson: “With at least one – the Playlist block – I feel it should be included on the grounds that it’s currently classic functionality missing from the block editor. But overall, I think ubiquity is one of the most major relevant issues.”

@audrasjb and @karmatosed added that having dedicated working groups for each Canonical Block project may be a nice contribution experience for people wanting to contribute to smaller projects than 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/ or Core.

@johnparris: “Instead of bundling more blocks in core, could we improve the user experience for when a block is missing and make it easy to find/install right instead of showing an error? There’s more nuance of course but just thinking in general.”

@joedolson: “an element of where the boundary sits is “is this functionality or design” – fundamental design elements feel appropriate to core, for me. E.g., tabs/accordions/menus/breacrumbs, etc.”

@audrasjb: “We can also just question ourselves why it is not a feature already present in Core. For example, if we don’t have any function to manage breadcrumb trails in Core, then the block is probably 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 territory as well?”

@richtabor: “It’s not about what we want to include in core — I’d say thats the backwards approach. It should be able what people expect when building a site or page. If it’s expected, we should cover it.”

@dmsnell: “I lean on being a bit generous with thinking about additional Core blocks as long as they are generic in nature and existing web idioms. MathML is a good example where it’s definitely a minority need, but one which has been present in the web since the beginning. Blocks like the details block were delayed by two years over discussions about what it should be when again it was in the web platform and a standard idiom.” […] “I find that case-by-case basis for discussion is appropriate, while personally I like leaning on justifying why something shouldn’t be in Core rather than justifying why it should. The canonical plugins seems like a nice compromise to me.”

@audrasjb: “Once a block is introduced, it’s really hard to remove or deprecate, so maintenance / backward compatibility is an important point.” @joedolson completed: “that’s why we need to be very sure that any block we ship is using an optimal pattern.”

@richtabor: “If it’s a slider, you wouldn’t start by inserting a gallery to make a slider. You should be able to convert a gallery into a slider (via block transforms), but that’s not what most users would expect or do. Definitely a delicate balance.”

@jorbin advocated for Canonical plugins: “One of the benefits of getting these into a canonical state (ignoring the question of if they should ship with core for a second) is that core can be responsible for both backcompat and forwardcompat. When the 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. Version needs to be updated, this also will provide good examples for the community and make it easier to get more sites using the most modern version.”

The discussion ended on some consensus on adding more blocks – in Core or in Canonical plugins – but what is needed is guidelines for how to make the decision on which blocks. A proposal on Make Core may also be a good way to gather more feedback eventually.

Request for comments on a new HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API system for processing blocks

@dmsnell proposed to discuss this PR proposal.

Full discussion on Slack

Read the discussion highlights

This PR provides a Block_Scanner class which allows to walk through the structure of a text with blocks and do interesting things along the way. For example, add CSSCSS Cascading Style Sheets. class names to the “wrapping element” of a block or its inner blocks.

@dmsnell wanted to request feedback on the interface: “There are a couple of new ideas he has taken from expressed pains with parse_blocks(), one being is_non_whitespace_freeform() which sounds like a mouthful, but makes it easy to detect the difference between HTML soup and the newlines that Gutenberg stores between blocks.”

@audrasjb: “I understand the need to have a more robust method than parse_blocks() but I feel concerned about having two things to handle very similar tasks.”

@dmsnell: “I hear you. this started long ago with an attempt to make parse_blocks() lazy but then I ran into problems specifically with nested attribute access in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher. for a reason I still don’t understand, with ArrayAccess things would be broken if you did something like $block['attrs']['settings']['supportsTheme'] = true and it hadn’t yet parsed the 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..” […] “that’s good feedback though, and I think I can do more to help clarify in the docs which is which, including adding a reference in the docs for parse_blocks().”

@jorbin: “Is this parser fully backwards compatible with parse_blocks?”

@dmsnell: “it doesn’t produce the block tree by default, but I did add in the ability to create a sub-block-tree compatible with parse_blocks(). specifically, if you want, for example, to find a gallery block and mess with it, you can scan to the gallery block, then tell the parser to produce the block tree which includes and falls inside the gallery. That lets you mix workflows because a lot of code wants to operate on inner blocks and what not, but a lot of code also only incidentally does that because we don’t have a way to express edits that are simpler.”

@justlevine: “Does this do anything to decouple parsing from rendering, or is it still intended to be hard tied into the rendering output lifecycle?”

@dmsnell: “there was a change I merged some weeks ago to optimize do_blocks() that basically frees up memory after rendering a block. Block_Scanner can technically go further and only parse one top-level block at a time, freeing up more memory. I haven’t benchmarked it, and I doubt it will be faster, but that was the underlying insight which led to the much easier patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. that was merged. This is not intended to replace do_blocks() or render_block(), and parsing has always been decoupled from rendering. It’s viable that do_blocks() could eventually use this, but not necessary and not even the most-valuable place it can be used. Its value mostly appears when wanting to operate on parts of a document or when working with the HTML of a block. for example, I believe this is going to be the mechanism we use when parsing a block’s sourced-attributes on the server for things like block bindings or short-blocks/bits/shortcodes2.0.” […] e.g. “Replace all image block url attributes” as a render-time 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..

#6-9, #canonical-plugins, #core, #dev-chat, #gutenberg, #summary