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.
WordCampWordCampWordCamps 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.
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/ 21.5 has been released
Gutenberg 21.5 is now available. The release includes several improvements 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, 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.
TicketticketCreated 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 CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.committercommitterA 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.
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.
WordCampWordCampWordCamps 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. CoreCoreCore 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ย 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/ย 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 ๐ฌ
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. 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 patchpatchA 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
MySQLMySQLMySQL 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 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. 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
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 DayContributor 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://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ at WordCampWordCampWordCamps 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 CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. table, including a live 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, a live demo from a committercommitterA 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 triagetriageThe 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 SourceOpen 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.
โ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-newtagtagA 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.)) 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.
This release focuses on improvements to DataViews and other components. Below is a curated summary of the most notable changes in this release.
DataViews table layout grouping and multi-selecting
Following up on the last Gutenberg release, which introduced grouping by a field in DataViews grid layouts, Gutenberg now brings the grouping option to tables as well.
Moreover, the table gets another feature from a different layout: it is now possible to multi-select with Control / โ + click, similar to how the grid layout operates.
More on DataViews enhancements
The table layout is not the only thing getting some tweaks in this release; there are a handful of new goodies for dataviews, including:
The grid layout now uses responsive images, improving performance in the most image-heavy layouts.
Filters can now be locked, allowing you to see their effects without modifying them. This allows for pre-configured views, such as the ones you can find in the Site Editorโs pages screen, filtering by different statuses.
Speaking about filters, filtering by date just got smoother thanks to its calendar implementation.
Write mode is gaining traction, and this release introduces a simple yet user-friendly feature: when in write mode, sections get a style shuffling button, allowing you to experiment with random styles and find the perfect vibe for your site!
As a reminder, write and design modes are an experiment that is meant to simplify content vs design editing in 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. editor; you can enable it in the Gutenberg experiments page and submit your feedback on the experience.
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 coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.โ guidelines (and their lack of)
@audrasjb suggested that shipping Canonical Plugins are probably a better option for most of the blocks listed in the 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/ issue. @desrosj shared the same opinion: โFor a while, the use of 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. plugins was encouraged. It would be great to have canonical plugins for blocks that are somehow differentiated in the UIUIUser 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 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/ 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 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. 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 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. 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ย HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.ย APIย system for processing blocks
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 CSSCSSCascading 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 PHPPHPThe 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 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..โ [โฆ] โ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 patchpatchA 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 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..
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ย 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/ย 21.3?
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 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. 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.. We discussed updating the existing patchpatchA 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_contentfilterFilterFilters 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 CoreCoreCore 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 noteEach 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 tracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.ticketticketCreated 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 UIUIUser 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 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..
Migrating the post editor to the iFrameiframeiFrame 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 tagtagA 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.
โ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-newtagtagA 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.)) 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.
This release focuses on improvements to the DataViews and other components, as well as inspector 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. enhancements. Below is a curated summary of the most notable changes in this release.
DataViews enhancements
The grid layout of DataViews now supports grouping items by fields. This allows developers to organize large amounts of data efficiently and will be extended to other layouts, such as table layout, in the future.
Furthermore, in addition to the existing datetime field type, DataViews now supports the date field type, which is just a date without a time. This is also needed for filtering dates using the new Calendar component. Filtering and editing features will be implemented in the future.
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. Library Enhancements
MigrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to TypeScript continues
An effort is underway to gradually migrate packages to TypeScript. In this release, many packages have been migrated to TypeScript, making them safer and more robust. See #67691 for more details.
WordPress 6.9 is scheduled to be released on December 2nd, 2025. Though initially only one release seemed feasible for 2025, project leadership reevaluated this plan when contributor capacity increased in recent months and decided an additional release was achievable. The release turns its attention to evolving the Site Editor with a simplified editing mode and more intuitive template management, enabling collaborative content creation through 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.-level commenting, extending developer capabilitiescapabilityAย 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). with updates to the Interactivity 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. and the introduction of the Abilities API, and improving performance with faster page transitions and smarter resource handling. Of note, there will not be a new default theme in 6.9, a decision shaped by the pace of this release and the maturity of block themes over recent years.
As always, whatโs shared here is being actively pursued, but doesnโt necessarily mean each will make it into the final release of WordPress 6.9.
The Site Editor encompasses the interface and tools used to customize templates, pages, and styles across an entire site. Various key areas of improvements are slated for this release.
Simplified site editing
Now that the site editing experience has matured in 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)., the focus is turning towards adding a simplified site editing option that centers content editing over the full suite of design tooling, with the ability to switch back and forth between the two depending on what edits one wants to make. This option preserves the full power of advanced styling tools when needed, yet empowers users who simply want to update copy or imagery to do so without distraction or overwhelm. By separating these experiences, itโs clearer and more intuitive when stepping into the deeper design toolkit available.
Template management is being overhauled to make templates more flexible and intuitive, solving some longstanding points of feedback. This includes adding support for multiple templates per slug, with the ability to activate or deactivate them for easy switching between theme and custom templates. Users will be able to draft new templates before publishing and activating them, preserve custom templates when switching themes, and take advantage of simplified management through standard 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/ endpoints.
This feature aims to provide a way for users to temporarily hide blocks from the frontend while keeping them editable in the backend. Itโs perfect for staging content, trying out alternate designs, or holding space for sections that arenโt quite ready. By supporting non-destructive workflows, it encourages experimentation and smoother collaboration. It also lays the groundwork for future improvements with the ability to hide blocks based on screen size.
WordPress, from its earliest days, has enabled millions of people to share countless perspectives in their own words and in their own way. Relentlessly refining how it feels to write with WordPress to make it as unobtrusive and powerful as possible remains a key focus. This includes a more direct and obvious drag and drop of key blocks, expanded block transforms, keyboard improvements, numerous block settings updated to a more modern and unified UIUIUser interface, and more.ย
New blocks
To expand customization options and align with modern design standards, several new blocks are planned for this release, including the Accordion block, Terms Query block, Stretchy Type block, Icon block, and potentially more. Each of these blocks will be explored with the goal of enhancing expressiveness and providing stronger defaults, so that building modern websites feels more seamless and flexible.
There are multiple workflows that rely on asynchronous collaboration, like a newsroom needing an editor to review a post for a writer before publishing. Adding the ability to leave comments at a block level begins the steps towards a truly collaborative experience within WordPress. This work includes adding, viewing, and resolving comments in a way that feels truly baked into the WordPress writing experience. The scope for this release will focus on block level commenting.ย
6.9 aims to bring the Command Palette into all parts of the WordPress experience, offering a quick and universal way to navigate all parts of your site and take different actions. Expanding the scope of where the Command Palette can be used also lays the groundwork for future AI integration points, like with the Abilities API.ย
For both the DataViews and DataForm components, updates are planned to make them more powerful and enable new use cases. This includes the following:
New field types (ex: media, boolean, email and array field type definitions).
New 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. operators (ex: lessThan, greaterThan, lessThanOrEqual, greaterThanOrEqual, contains, notContains, startsWith, between, on, notOn, before, after, inThePast, over, beforeInc, and afterInc.).
This new API provides a registry of callable functions with defined descriptions, inputs, and outputs. Itโs designed to make WordPress functionality accessible to AI systems particularly and developers alike through a unified registry of resources and tools.ย
WordPress 6.9 will introduce a new algorithm for the client-side navigation of the Interactivity API that replaces not only the HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. but also the CSSCSSCascading Style Sheets., and loads any 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 required by blocks appearing on the new page. This new algorithm will address prior limitations and enable experiences not possible today, like:
Support for client-side comment form submissions.
Support for showing โNo resultsโ blocks in instant search or filters.
Supporting the Post Content block within regions.
Support for conditional CSS/JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. (blocks that enqueue different CSS/JS assets based on attributes/content).
It also paves the way for an opt-in full-page client-side navigation feature in the future.
The Block Bindings API connects coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks to dynamic data sources, like custom fields or external APIs, without needing to create custom blocks. Building on this current foundation, 6.9 aims to evolve the current API by adding support for more blocks, improving the UI, and making the API more extensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software..ย
The HTML API provides a set of tools for developers to reliably and efficiently interact with HTML within the WordPress environment. Work is underway to greatly increase the speed of the HTML processor, cover support for more edge cases, introduce safe composable HTML templating, and develop block attribute sourcing.
While not explicitly a part of 6.9, a few different major initiatives are planned for launch alongside the release either as canonical plugins or as experimental features 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/.
New WordPress Adminadmin(and super admin) experienceย
A modular and extensible redesign of the WordPress admin is being mapped out, with a strong emphasis on flexibility, customization, and a coherent user experience. Early exploration centers on defining foundational primitives, building blocks that separate structure from presentation to support broad reusability across admin surfaces.
Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs. In WordPress, the MCP Adapter (GitHub) implements this open standard, exposing Abilities to AI assistants, while also connecting to other MCP servers. MCPโs applications are transformative for various users. Content creators can manage their WordPress sites conversationally, while developers can automate complex workflows across systems. Agencies can build sophisticated integrations, from content migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to performance optimization. Around the 6.9 release, a canonical 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. is expected to be launched.ย
PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher AI Client
The PHP AI Client SDK (GitHub) aims to offer a unified, providerโagnostic interface for integrating AI into WordPress and other PHP projects. It centralizes credential management so site admins configure their preferred AI service in one place, enabling any AIโenabled plugin to work seamlessly without requiring duplicate setup. Developers benefit from a readyโmade framework that handles model selection, streaming, multimodal capabilities, error handling, and provider quirksโletting them focus on features rather than rebuilding the same foundational pieces. Itโs modular too: a core PHP package supports broad use cases, while a WordPressโspecific addโon delivers admin UI, REST API 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., and Abilities API integration, all poised to adapt as AI evolves. This shared infrastructure lets WordPress plugins and other PHP projects integrate AI capabilities rapidly and flexibly. Around the 6.9 release, a canonical plugin is expected to be launched.ย
If you have something youโre working on that you donโt see reflected in this post, please share a comment below so we can all be aware! If youโre reading this and want to help, a great place to start is by looking through each issue associated with each area or by diving into the Polish board where a curated set of issues are in place that anyone can jump in on.
The following notes the date and type of change made to this post in order to keep it as accurate as possible ahead of the release.
September 4th, 2025:
Added in a โNew blocksโ section under โRefining Content Creationโ.
Removed โAn initial experimental version is planned in the Gutenberg plugin, where contributors can opt-in and offer feedbackโ under โNew WordPress Admin experienceโ as thatโs no longer planned.
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/ย 21.2?
@priethorย published a detailed postย about the release of Gutenbergย 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.ย 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 SupportA public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016.. These details still need to be decided.
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. in Media Playlist โ TicketticketCreated for both bug reports and feature development on the bug tracker.#63583
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. affecting media playlists has been reported in #63583, with a patchpatchA 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 DayContributor 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://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/: CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Table Leads Needed
WordCampWordCampWordCamps 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 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. 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.
โ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-newtagtagA 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.)) 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.
This release focuses on improvements to the DataViews and other components, as well as inspector 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. enhancements. Below is a curated summary of the most notable changes in this release.
Opening links in a new tab gets easier
A small but handy change, the Navigation Link 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. now provides a toggle in the inspector sidebar to open the link in a new tab, bringing it together with the rest of the link options.
DataViews and new components
Gutenberg 21.2 introduces numerous DataViews enhancements and new features. For starters, there are new media, boolean, email, and array field type definitions. Moreover, field type definitions can define a default sorting and rendering function.ย
You can even break down the DataViews themselves and make different compositions, as the DataViews component now exports its subcomponents independently. There are many new features and some breaking changes; for a comprehensive list, please refer to the full list of changes.
You must be logged in to post a comment.