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

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

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

Summary, Dev Chat, July 30, 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 @mikachan. 🔗 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.

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.3?

Gutenberg 21.3 was released on July 30! Props to @wildworks for handling the release and publishing What’s new in Gutenberg 21.3?

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.

Gutenberg 21.4

The release of Gutenberg 21.4 is scheduled for Wednesday, August 13. There is a call for volunteers to handle the next release.

Discussion 💬

Posts without titles cannot be saved when all content is removed

Raised by @mediaformat, this is an open issue discussing how to handle saving posts without titles, as they can’t be saved when all content is removed from the post, e.g. in cases where the user only wants to save metadata. There is a stale patch and a documented additional use case related to the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. bindings 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.. We discussed updating the existing 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., and @mediaformat offered to take a more in-depth look. @westonruter suggested trying the wp_insert_post_empty_content 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..

Make seems_utf8() RFC 3629 compliant

@dmsnell raised Core-38044, which, while not huge, could be a nice addition to 6.9. We discussed that it is mainly used in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for sanitizing titles, filenames, images, and for attempting-to-encode exports. We mentioned trying the “deprecate and return proper validation” approach, and @dmsnell added notes to the PR, and also offered to prep a 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. and add it to the tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker..

Consider exposing the Font Library for classic themes

@leemon mentioned that this would be a nice addition to WP 6.9. There is further discussion in another issue about approaches for exposing editable UIUI User interface for the Style Book in classic themes. We discussed that while this would be a nice addition, it’s tricky to prioritise this alongside the existing 6.9 roadmap, and for the interim, it could be best to explore this in a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.

Migrating the post editor to the iFrameiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.

@wildworks flagged that this PR as a necessary first step towards migrating the post editor to the iFrame. There is more background in this discussion. We discussed that a console warning would be a good next step, as something devs should see, but doesn’t hinder users.

Request for new workflow tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)

@sirlouen requested a new workflow tag: needs-reproduction. This would match the current Gutenberg workflow. @desrosj suggested that, rather than creating a new tag, we could try creating a report that lists needs-testing tickets without has-patch which would show all tickets needing reproduction or verification without the need for needs-reproduction. We would also need to update the needs-testing documentation. @jorbin suggested changing the first sentence of the documentation to: One or more people are needed to test that the issue exists or that the proposed solution works. @jorbin also created an initial trac report after the meeting of bugs that need reproduction.

Props to @jorbin and @audrasjb for review.

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

Summary, Dev Chat, July 23, 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 📢

WordPress 6.9 Planning Proposal and Call for Volunteers

The planning phase for Release 6.9 is now underway.
Applications for the various roles should be submitted here.

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.2?

@priethor published a detailed post about the release of Gutenberg 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 version 21.2. There you’ll find a comprehensive overview of all the changes and new features introduced in this version.

Forthcoming releases 🚀

WordPress 6.9

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

Gutenberg 21.3

The release of Gutenberg 21.3 is scheduled for Wednesday, July 30.

Discussion 💬

Proposal to Include PHPStan in WordPress 6.9

In #61175, contributors agreed that PHPStan should be added with as few commits as possible, and without fixing existing issues right away. Current problems will be marked as technical debt using either a baseline or inline ignores. The big question now is what rules new code should follow—what PHPStan level to require, which errors to allow, and how this fits with WPCSWordPress Community Support A public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016.. These details still need to be decided.

Regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in Media Playlist – Ticketticket Created for both bug reports and feature development on the bug tracker. #63583

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. affecting media playlists has been reported in #63583, with 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. already available. The ticket was moved to the Media component, added to the 6.9 milestone, and @jorbin offered to give it an initial review.

WCUS 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/.: CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Table Leads Needed

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 is coming up, and help is needed for Contributor Day on August 26. The Core Team is looking for 2–3 people to lead or support the Core table on-site. @davidbaumwald has already confirmed, but additional volunteers are still needed. All Core Team members can sign up here. Final table leads will be selected later. Please submit your name by July 25. For any questions, @gwallace87 from the organizing team is available.

Open Floor 🎙️

New 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. Proposal: get_pages_args

@vincent06 proposed a new filter in ticket #63600 to allow modification of get_pages() arguments—such as child_of, parent, and number—before they are parsed. This complements the existing get_pages_query_args filter and enables greater flexibility, particularly when get_pages() is used within functions like wp_dropdown_pages(). A patch and corresponding pull request (#9021) are available. Feedback and reviews are encouraged.

Second Opinion Needed: Namespaces in Core

@callumbw95 is seeking a second opinion on ticket #48962, which proposes introducing namespaces into WordPress Core. The ticket has been open for discussion and is currently labeled as needing developer feedback. Contributors are encouraged to review the proposal and share any input or concerns.

Final Call for Feedback on Two Core Proposals

@desrosj issued a final call for feedback on two recent proposals: Introduce Maintenance Mode for Components and Clarifying Core’s Database Support Policy. Both have received valuable input so far. Comments will close next week, after which the next steps will be determined.

Props to @jorbin for review.

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

Summary, Dev Chat, July 16, 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 📢

WordPress 6.8.2 is now available!

The WordPress 6.8.2 is now available! The release proceeded as planned, resolving 20 TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets and 15 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/ pull requests. CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. releases 4.1 to 4.6 were also completed successfully, with the exception of 4.6, which encountered a build error in Mission Control. The issue is currently under review. Additional releases for older branches are planned to update certificates (see Ticketticket Created for both bug reports and feature development on the bug tracker. #63165).

WordPress 6.9 Planning Proposal and Call for Volunteers

The planning phase for Release 6.9 is now underway.
Applications for the various roles should be submitted here.

Forthcoming releases 🚀

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

Discussion 💬

Refactoring wp_kses_hair()

#63694: Discussion focused on replacing wp_kses_hair() with the HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to improve parsing reliability. Part of the change includes switching tests from assertSame() to assertEqualHTML(). There was a suggestion to split this into a dedicated ticket for clarity. Long-term plans include deprecating the function. Further discussion will continue in the ticket.

Fix for KSES inconsistencies

#63630: A pull request was introduced to correctly handle HTML entities for users without unfiltered_html. 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 under review, with attention on potential security and compatibility concerns.

Additional tickets

#22114 & #29798: Two open tickets were raised for feedback. For #29798, earlier comments advised against moving forward. The current PR only introduces user-facing messaging. If functional unification is planned, further adjustments will be needed.

Open Floor 🎙️

PHPMailer library proposal

#39714: A proposal to adopt the full PHPMailer library was reintroduced. The ticket has seen no recent activity. Feedback from previous maintainers was requested to move the discussion forward.

is_email() vs isEmail() behavior

#17491 and #24487: Differences between the Core is_email() function and @wordpress/url’s isEmail were brought up. Issues include support for IP address literals and IDNs. Existing related Trac tickets were referenced. The topic is broader and will be continued in the respective tickets.

Props to @audrasjb for review.

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