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.
With the release of 7.0 earlier today, trunk is finally open to any and all commits for WordPress 7.1.
TrunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. is now WordPress 7.1-alpha
While the common practice is for trunk to open once the next release has been branched, closing the primary branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". to any commits unrelated to 7.0 was necessary to avoid making it more complicated to add, modify, or remove features from the release during the extension to the cycle to evaluate the state and readiness of the Real-time collaboration feature.
Thank you to everyone for your continued patience.
Backporting to the numbered branches
As a reminder, the โdouble signoffโ policy applies to changes being made to any numbered version branch. The dev-feedback commit keywords should be used to request a second 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.โs review, with dev-reviewed being added after an additional signoff is given.
A mandatory 24-hour code freeze will be in effect for the 7.0 branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". after the Dry Run finishes on April 14th.
What does this mean?
No source code for 7.0 (i.e., in the 7.0 branch) can be changed during these 24 hours.
What happens if a critical 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. is reported during this period?
The release squad will meet with committers and maintainers to determine if the issue is a blockerblockerA bug which is so severe that it blocks a release..
If yes, another RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). release happens, and the release process restarts (meaning the Dry Run repeats, and then the 24-hour code freeze clock restarts).
Please note: releasing a major version requires more time than releasing a betaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. or release candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta)..ย There are more steps in the process. If any last-minute issues need addressing, those issues will take more time, as well.
How You Can Help
A key part of the release process is checking that the ZIP packages work on all the available server configurations. If you have any of the less commonly used servers available for testing (IIS, in particular), that would be super helpful. Servers running older versions of PHPand 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 will also need testing.
You can start this early by running the WordPress 7.0ย RC4 packages, which are built using the same method as the final packages.
During the release party, you will get access to several ways to help test the release package.
Tips on What to Test
In particular, testing the following types of installs and updates would be much appreciated:
Does a new WordPress install work correctly? This includes running through the manual install process, as well as WP-CLIWP-CLIWP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/https://make.wordpress.org/cli/ or one-click installers.
Test upgrading from various versions.
Remove the wp-config.php file and test a fresh install.
Test single site and multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site/networknetwork(versus site, blog)(both subdirectory and subdomain) installations.
Testing the following user flows on both desktop and mobile would be great to validate each function as expected:
Publish a post, including a variety of different blocks.
Comment on the post.
Install a new 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./theme, or upgrade an existing one.
Change the site language.
If youโre a plugin developer, or if there are complex plugins you depend upon, test that theyโre working correctly.
WordPress 7.0 RC5 is ready for download and testing!
This version of the WordPress software is still under development. Please do not install, run, or test this version of WordPress on production or mission-critical websites. Instead, itโs recommended to test RC5 on a test server and site.
WordPress 7.0 RC5 can be tested using any of the following methods:
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.
Install and activate the WordPress Beta Tester plugin on a WordPress install. (Select the โBleeding edgebleeding edgeThe latest revision of the software, generally in development and often unstable. Also known as trunk.โ channel and โBetaBetaA pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process./RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). Onlyโ stream.)
Direct Download
Download the RC5 version (zip) and install it on a WordPress website.
Command Line
Use this WP-CLI command: wp core update --version=7.0โRC5
WordPress Playground
Use the WordPress Playground instance to test the software directly in your browser.ย No setup is required โ just click and go!ย
The scheduled final release date for WordPress 7.0 May 20, 2026. The full release schedule can be found here. Your help testing Beta and RC versions is vital to making this release as stable and powerful as possible. Thank you to everyone who helps with testing!
The 7.0 release is scheduled for Wednesday, May 20th. As always, a successful release depends on your confirmation during testing. So please download and test!
How to test this release
Your help testing the WordPress 7.0 RC5 version is key to ensuring that the final release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. This detailed guide will walk you through testing features in WordPress 7.0.
If you encounter an issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible 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. report. You can also check your issue against a list of known bugs.
The full chat log is available beginning here on Slack.
WordPress Performance TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
@westonruter shared updates related to WordPress 7.0 ahead of the scheduled release the next day. Regarding loading 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. styles on classic themes, which had several fixes during the 7.0 release cycle, @westonruter updated the Load Combined Core Block AssetspluginPluginA 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. to bump the โTested up toโ version and added an inline adminadmin(and super admin) notice for sites on 7.0 with the plugin active, asking users to re-check whether the plugin is still needed.
Performance Lab Plugin (and other performance plugins)
@westonruter also updated the โTested up toโ version for the Instant Back/Forward plugin, which is included among the features listed in Performance Lab. @westonruter mentioned that the โTested up toโ versions for the Performance Lab plugins still need to be updated on WordPress.orgWordPress.orgThe community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/, though the changes had already been done in GitGitGit is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system.
https://git-scm.com/.
@westonruter shared that PR #2469 bumps the minimum supported PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version in the Performance Lab monorepo from PHP 7.2 to PHP 7.4.
@westonruter also shared PR #2479, which adds an .npmrc file to harden npm installs against supply chain attacks. Security was improved with ignore-scripts = true in the .npmrc among other enhancements. @westonruter noted that this means the pre-commit Husky 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. are no longer installed automatically, so the handbook documentation was updated to mention that npm run prepare now needs to be run during the initial setup.
@westonruter also shared PR #2482, which fixes plugin installation and activation flows in Performance Lab when WordPress is using FTPFTPFTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients filesystem methods such as ftpext or ftpsockets. The issue was originally discovered while testing the new Connectors screen in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., where provider plugins failed to install. @westonruter mentioned that the PR is still being kept as a draft until the related 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/ PR is merged.
@westonruter also shared PR #2473 to improve 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/ Copilot usage in the Performance Lab repository by pre-warming wp-env in the coding agent setup steps. @westonruter later mentioned that the PR had been approved and was being merged.
@westonruter added that several PRs still remain in need of review.
Open Floor
@adamsilverstein shared a newly opened issue to explore adding AI based performance recommendations to the plugin when WordPress 7.0 is available and AI is configured #2485
@adamsilverstein mentioned that this may work better as a separate plugin and shared that AI has improved enough to provide genuinely useful recommendations to users and potentially even fix issues automatically. @adamsilverstein also referenced the earlier wp-performance-wizard project built two years ago, noting that it already provided good results at the time and that the new idea would likely start with a simpler approach.
WordPress 7.0 removesโor facilitates removingโtitle attributes from links relating to post authors.
Authorโs Website link (from the user profile)
get_the_author_link() and the_author_link() have a new $use_title_attr parameter, which can be set to false to remove the โVisit Authorโs websiteโ tooltip. By default, these functions continue to include a title attribute.
<?php
// either
the_author_link();
// or
echo get_the_author_link();
Default output is the same in 7.0 as in 6.9: <a href="https://author.example.com" title="Visit Author’s website" rel="author external">Author</a>
<?php
// either
the_author_link( false );
// or
echo get_the_author_link( false );
Output in 7.0: <a href="https://author.example.com" rel="author external">Author</a>
Authorโs posts archive link
The โPosts by Authorโ title attribute is removed from the link by default. However, the title text is still available for use within the the_author_posts_link hook, along with the authorโs display name.
<?php
// either
the_author_posts_link();
// or
echo get_the_author_posts_link();
Output in 6.9: <a href="https://example.org/author/author/" title="Posts by Author" rel="author">Author</a>
Output in 7.0: <a href="https://example.org/author/author/" rel="author">Author</a>
Editing the posts link text
To replace the author name with the โPosts by Authorโ text, use multiple arguments in the the_author_posts_linkfilterFilterFilters 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..
<?php
/**
* Edits text for the link to the author page of the author of the current post.
*
* Add "Posts by" before the author's display name (or after the name in some translations):
* `<a href="https://example.org/author/author/" rel="author">Posts by Author</a>`
*
* @param string $link HTML link.
* @param string $author Author's display name. Default empty string.
* @param string $title Text originally used for a title attribute. Default empty string.
*/
function wpdocs_author_posts_link( $link, $author = '', $title = '' ) {
// In WordPress versions prior to 7.0, $author and $title would be empty.
if ( '' !== $title && '' !== $author ) {
$link = str_replace(
'>' . $author . '</a>',
'>' . esc_html( $title ) . '</a>',
$link
);
}
return $link;
}
add_filter( 'the_author_posts_link', 'wpdocs_author_posts_link', 10, 3 );
Authors list HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.
wp_list_authors() simply removes the โPosts by Authorโ tooltips.
<?php
wp_list_authors(
array(
'html' => true // This is true by default.
)
);
Output in 6.9: <li><a href="https://example.org/author/author/" title="Posts by Author">Author</a></li><li><a href="https://example.org/author/editor/" title="Posts by Editor">Editor</a></li>
Output in 7.0: <li><a href="https://example.org/author/author/">Author</a></li><li><a href="https://example.org/author/editor/">Editor</a></li>
This guide outlines major developer features and breaking changes in 7.0 and is published in the Release Candidaterelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). phase to help inform WordPress extending developers, CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. developers, and others.
Below is a breakdown of the most important developer-related changes included in WordPress 7.0.
AI building blocks of the future
Step into a new era with WordPress 7.0, shipped with AI integration and abilities. Provider-agnostic architecture gives you full control over units and 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). while tapping into the endless opportunities AI can bring to life. These critical building blocks are just the beginning, paving the way for agentic collaborators and so much more.
WP AI Client
WordPress 7.0 unlocks AI capabilities right in your website. The new WP AI client adds a central interface that lets plugins communicate with generative AI models while remaining provider-agnostic. WordPress Core handles request routing for you. Managed in the Settings > Connectors screen with 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. keys funneled through the Connectors API, you can start with some preset models and add your favorites.
As a bonus, the Abilities API is integrated directly into the WP AI Client, delivering new and expansive AI abilities that can be built into workflows that run abilities fluidly, one after another.
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. developers can use the new using_model_preference() function to indicate which models to use in order of preference, then add feature detection to match capabilities against available models โ lowering cost and speeding up processing time. The AI Client includes a series of advanced configuration controls, and a WP_AI_Client_Prompt_Builder class for calling methods. For easy upgrades, the wordpress/wp-ai-client package handles transitioning to 7.0 automatically.
WordPress 7.0 expands on the Abilities API by introducing a 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 counterpart: the Client-Side Abilities package with new and hybrid abilities, an intuitive UIUIUser interface, a command palette, and 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. and query functionality.
Plugin developers can enqueue @wordpress/core-abilities to automatically fetch and register server-side abilities via the 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/, or enqueue only @wordpress/abilities to work with the pluginโs client-side abilities. Registered abilities are organized in customizable categories, and abilities and categories can be unregistered via the PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher API. ย MetaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. data annotation is supported, and core/abilities makes useSelect available for reactive queries in ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org components.
Manage all of your AI provider connections in one place on the new Connectors screen. Found under Settings > Connectors in the dashboard, the screen gives you everything you need to manage your connections. Registered connectors are displayed automatically on the page, and so is detailed registry meta data in a card format. The Connectors screen includes three default providers: Anthropic, Google, and OpenAI, while also allowing users to configure their own connections.
Connectors API
The Connectors API is the backbone of the Connectors screen; an extensibility API that facilitates and supports the inclusion of agents.
The API supports two authentication methods (api_key and none) based on provider metadata, and is designed to facilitate additional connector types in future releases. The Connectors API uses the WP AI Clientโs default registry to automatically discover providers, and corresponding metadata to generate connectors, while connectors authenticated via other methods are stored in the PHP registry. You can use the wp_connectors_init action to override connectors metadata, which will be the key for registering new connector types in future releases. The API includes three public functions for querying the registry, and the frontend UI can be customized using client-side JavaScript registration.
WordPress 7.0 delivers an upgraded adminadmin(and super admin) experience, with a sleek, new color scheme named โModernโ, numerous enhancements throughout the dashboard, and seamless visual transitions as you navigate from screen to screen. A new Command Palette shortcut in the upper admin bar lets you access tools from anywhere in the dashboard, while a new dedicated dashboard page for font management centralizes and simplifies managing fonts. The enhanced iframed post editor stabilizes the screen, while editors leave comments on blocks, receive notifications for notes and even visually compare two revision versions.
New admin color scheme and styles
WordPress administration has been reinvigorated with a new, chic color scheme throughout the dashboard. The new Modern admin theme is live across admin headers, the CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your siteโs appearance settings., the color scheme picker, script loader, various user functions, and even the multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site user signup has been reskinned. The Modern theme is clean and easy on the eyes, boasting a refreshed color palette, higher contrast, and upgraded typography, uplifting and elevating the admin experience.
View Transitions in WP Admin
Navigating the dashboard is a smooth ride in 7.0. User views slide from one screen to the next as you move across wp-admin. Cross-document view transitions use distinct transition names for admin menu items in order to facilitate this simple visual slide effect, firing when the active submenu changes between screens. With consideration for all users, View Transitions are only activated if a preference is not set for reduced motion on the OS level.
Command Palette shortcut
Access your editing toolset from anywhere in the dashboard with a single click of the new Command Palette shortcut. WordPress 7.0 includes a โK or Ctrl+K icon for logged-in users in the upper admin bar, which unfurls the command palette on click. The new shortcut speedruns editing and gives full control from anywhere in the dash: while building, designing or simply browsing notes.
Font Library
The Font Library has expanded in 7.0 with the introduction of a dedicated font management page. Now you and your team can manage, upload and install fonts from one place in 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., hybrid and classic themes.
Visual RevisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.
In WordPress 7.0, Visual Revisions make editing easier and more intuitive, while adding insight into post or page edit history. Users can now visually compare two revision versions directly in the Editor using a slider bar to visually switch between revisions. The document inspector shows a summary of changes, while color indicators and sizes of changes can be seen for each location, jumping to that location on the page when clicked.
Iframed Editor
An improved, iframed editor in 7.0 offers more stability to the post editor experience. An iframed post editor is now enforced when all Block API blocks inserted into the post are using version 3 of the API or higher. If not, 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. is removed, upholding backwards compatibility for lower-versioned blocks.
7.0 inspires creativity with enhanced design tools and new editing capabilities. Users can now customize navigation overlays on mobile, granular control of the responsiveness for individual blocks, and edit at the pattern level in different modes.
Custom Navigation Overlays on mobile
Hamburger menu overlays can now be customized and built from blocks and patterns in the Site Editor, with a dedicated Navigation Overlay Close block for placing and styling a close button anywhere within the overlay, giving users and theme authors flexibility to define mobile navigation experiences. In-place overlay selection and previews create a seamless editing experience, while users can review and assign overlays, and themes can offer default templates for quick setup.
WordPress 7.0 introduces customizable block visibility based on device type, allowing editors to hide or reveal blocks by device, without affecting other viewports. Controls to launch a block visibility options modal are available in the block toolbar, block 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., and command palette. Icons are displayed in List View next to blocks that have active visibility rules, indicating what viewports they are being hidden on.
Offering even more responsiveness enhancements, 7.0 introduces the ability to change styles for different breakpoints, customize breakpoint sizes and more.
7.0 introduces Pattern Overrides for custom blocks, Pattern-level editing modes for contextual and symbol patterns, a parent-child tree view for buttons and list blocks, and the ability to opt out of contentOnly mode.
contentOnly mode will now be default for patterns that previously relied on unrestricted editing of their inner blocks, while a new disableContentOnlyForUnsyncedPatterns setting or block_editor_settings_all PHP filter allows contentOnly mode to be opted out of for unsynced patterns.
In 7.0 contentOnly mode is applied more broadly, so if a block is nested in a contentOnly pattern, plugin developers will want to ensure attributes representing the blockโs content have "role": "content" set in block.json to retain their ability to be edited and prevent them from being hidden in list view.
Block developers can now add a "listView": true block supports declaration to add a List View tab to the block inspector with a dedicated view for the block that allows editors to update and customize the block more easily.
Block attributes that support Block Bindings now also support Pattern Overrides for custom blocks. Pattern Overrides now apply to any block, including custom blocks, and can be opted-in through block_bindings_supported_attributes filter(s). Attribute values appear in the rendered blocksโ markup for dynamic and static blocks, and if static blocks have more complex attributes than the HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API can process, a render_callback() function can be used to ensure bound attribute values render.
Designing in WordPress 7.0 has become more flexible with the introduction of new blocks, new block supports and new design tools. A new Heading block, Icons block, and Breadcrumbs block are shipped with 7.0, with added lightbox support for the Gallery block, and dynamic URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org support in the Navigation Link block. 7.0 includes text line indent support, text column support, dimensions width and height support, dimension presets, tools and controls, and aspect ratios for wide and full images.
Custom CSSCSSCascading Style Sheets. on the block level
7.0 introduces the ability for custom CSS to be applied on-page to individual blocks. This allows granular control over every detail of your content, with quick and intuitive access to style controls.
Headings Block
A new Heading Block includes variations of all heading levels, easy toggling in the sidebar inspector and quick transforms, and display in the search and slash inserter.
Breadcrumbs Block
The new Breadcrumbs Block in 7.0 automatically reflects the siteโs navigational hierarchy with the ability for global application in site parts like the theme headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโs opinion about your content and you/ your organizationโs brand. It may also look different on different screen sizes.. New filters allow developers to add, remove, and modify breadcrumb trails, and specify which taxonomyTaxonomyA taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. and terms appear in the Breadcrumbs trails.
Editing the navigation block is now more simple with improved insertion, Interactivity for pattern editing and ContentOnly, and improved โboundโ page items presentation.
Video embed cover blockย
Videos can now be embedded as section backgrounds in the Cover block.ย
Gallery blockย
The Gallery block now has lightbox support with an added slideshow option. Just create and insert a Gallery, click the link icon and then hit โenlarge on clickโ.
Added <p> Block Supports
Text in the Paragraph block can now be arranged in a columns layout, and opt-in textIndent block support for typography has been introduced.
7.0 introduces height and width block support, typography text indent support in paragraphs, presets support, and pseudo elements support on the core/button block for ( ':hoverโ, ':focusโ, ':focus-visible', ':active' ) at the theme.json level. Support for preset dimensions values in theme.json have been added for block supports such as width, height and min-height, allowing the blockโs variations to control the same pseudo elements, while a defined set of preset values for dimensions block supports can be leveraged to reduce the need to know and manually set the same value across multiple blocks.
7.0 delivers an expansive developer toolbox including new tools for building, enhanced supportive structures, and expanded API abilities. Developers can now create a PHP-only representation of blocks on the server level, customize plugin list filters, and explore the foundational layout for a more extensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor.
PHP Only Block Registration
WordPress 7.0 allows blocks and patterns to be created directly on the server with PHP, and registered with the Block API. The PHP-only representation of blocks and patterns includes pattern creation and syntax that streamlines block creation and bindings, registering blocks automatically When a block declares 'supports' => array( 'autoRegister' => true ) along with a render callback, exposing it to the client-side via a JavaScript global variable. PHP-registered block attributes can be edited in the editor and inspector controls can be generated from attributes, with automatic DataForm inspector controls added for PHP auto-registered blocks.
Introducing a new watch() function to the @wordpress/interactivity package that subscribes to changes in any signal accessed inside a callback, re-running the callback whenever those signals change. The APIโs data-wp-watch can be added to a DOM elementโs lifecycle and react to state changes. The state.url value is now populated server-side during directive processing, remaining unchanged until the first client-side navigation occurs.
Introducing the Block bindings and patterns overrides feature, with the ability to filter available attribute sources by format, aligning with the Field API.
New plugin list filterย
A new plugins_list_status_text filter in get_views() has been added to allow custom filtering. Custom statuses added with plugins_list now appear as tabs to filter the related plugins. The tab label can be customized using the new plugins_list_status_text hook.
Site Editor wordpress/build and routing
In 7.0 the foundation has been laid for an extensible site editor and routing, route validation, a new @wordpress/boot package that allows plugins to build custom site-editor pages, and a refactored @wordpress/scripts that builds from directories and reduces Webpack dependence.
Bonus dev goodies
WordPress 7.0 introduces updates that span every area of Core. These changes support ongoing initiatives to create a flexible foundation for developers while boosting usability and opportunity.
Block 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. for content-like Custom Post Types.
The Block Hooks logic has been moved from individual post type filters to the REST controller.
More secure user registration
Administrator and Editor roles have been removed from the new user default selector under General in the admin screen. Site Health now alerts if one of those roles was selected before updating, while a new default_role_dropdown_excluded_roles filter allows developers to change default excluded roles.
CodeMirror Update to v5
CodeMirror has been updated to the latest v5 version, along with CSSLint, HTMLHint, and JSONLint, while Esprima has been replaced with Espree for ES6 support and JavaScript linting.
PHPMailer has been updated to version 7.0.2, which includes a Sender address 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. fix.
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โdirect accessโ (i.e. unassisted) and โindirect accessโ meaning compatibility with a personโs assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
WordPress 7.0 includes numerous improvements and additions that make content more accessible for everyone. The login password reset now pre-populates with a username to comply with WCAGWCAGWCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/. 2.2, and a new wp_get_image_alttext() function imports Image Alt text metadata from image IPTC metadata. The word-break property has been added to .screen-reader-text to ensure screen readers wonโt read text as individual letters in hidden text, and view transitions are only activated when reduced motion is not set.
Title attributes can now be removed from two functions using a new $use_title_attr parameter, and are removed from three author link functions by default.
But wait, thereโs more!
7.0 offers so much more! More than 300 Core bugs, 486GutenbergGutenbergThe 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/ bugs, 77 enhancements and feature requests, and 35 blessed tasks have been marked as fixed in WordPress 7.0.
Below are a few to highlight:
Site Health: OPCache added to Site Health > Info > Server (Trac #63697)
Editor: Name/description metadata added to patterns when saved (Trac #64123 )
Script Loader: Allow scripts to depend on modules: (Trac #61500)
Script Loader: HTML5 script theme support deprecated and removed (Trac #64442)ย
General: Allow hooking into wp_trigger_error() when WP_DEBUG is not truthy. (Trac #60886)ย
Multisite: Networks and Sites no longer automatically mark website as spam when an account is marked as spam (Trac #61146)
Editor: Bottom margins removed from all components, and margin-free styles are now default. (GB #39358)
Thank you to everyone who contributed to this version of WordPress, whether through code, testing, or something else โ your contributions matter and help Make WordPress.
Edit 5/17/26: Add DataViews 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., update Connectors screen image, add textIndent block support dev note, remove mention of playlist block, add mention of margin-free styles default.
The live meeting will focus on the discussion for upcoming releases, and have an open floor section.
The various curated agenda sections below refer to additional items. If you haveย ticketticketCreated for both bug reports and feature development on the bug tracker.ย requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.
The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.
Open floor ย ๐๏ธ
Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.
Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.
Call for RTC testing from hosts. Submissions still welcome. Thank you to Bluehost, Kinsta, XServer, GoDaddy,WordPress.comWordPress.comAn online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/, Ionos, and any other hosts for helping test RTC.
A decision about RTC introduction is about to be finalized (and it was finalized). See ticketticketCreated for both bug reports and feature development on the bug tracker.#64696.
@jorbin proposed to run a dedicated 7.0 scrub after the chat.
@juanmaguitar will host a dedicated 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/ scrub on Thursday.
@jorbin and @audrasjb asked about the Field GuideField guideThe field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. timeline. It is currently under review and should be published ASAP.
@joefusco asked: โIs there a process for getting systems team feedback on the RTC custom table?ย The code and testing infrastructure are ready, including a standalone testing 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. that can run on production sites without changes to trunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision..ย Iโm not sure who to direct this to or what the next gate is in the process.โ
@desrosj answered the systems team has been involved with the discussions and I know that they have been testing.
@joefusco replied โMainly whether there are any outstanding concerns with the table structure or the approach that would prevent it from landing in 7.0.ย Also, is there a documented process for new table proposals that require systems review?ย This wonโt be the last time a feature needs a schema change, and it would help future contributors know the path.โ
Several attendees noted that itโs likely not worth the effort to formalize a process, as that kind of change doesnโt occur regularly.
Following the decision to remove real-time collaboration from WordPress 7.0, this post summarizes what the latest hosting test data showed and outlines the recommended storage strategy for future iteration. A huge thank you to every web host that submitted results in response to last weekโs call for testing. Submissions came in from eight hosting environments between April 29 and May 4, and analysis of the aggregated, anonymized data is now complete. Based on the results, the recommendation is to use custom-table-with-transients as the default RTC storage strategy for continued testing and future iteration.
custom-table โ a dedicated table for all RTC data.
post-meta-transients โ post metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. for storage with transients for client awareness.
custom-table-with-transients โ a dedicated table with an object cache-backed awareness (Note: while contributors have been referring to this as a transient approach, it is a convenient short hand rather than a technical description)
The test runner captured per-request REST dispatch time and database query counts during sustained 30-second polling windows. Eight complete captures from a mix of shared, shared-with-Redis, managed-cloud, and no-object-cache environments form the basis of the analysis below.
What the data showed
Across the cohort, custom-table-with-transients was first or tied-first on six of seven complete environments, and was never slower than the RC2 baseline (post-meta approach). On average, the custom-table-with-transients approach was ~52% faster and the purely custom-table approach was ~37% faster than the current implementation. On hosts without a persistent object cache, it landed within 0.05โ0.17 ms of plain custom-tableโclose enough that the two are effectively tied where caching is absent.
Two clean signals showed up in the database query counts during dispatch:
With a persistent object cache present, both transient-based strategies dropped to a single database query per dispatch.
Independent of caching, the custom-table schema cut the query count roughly in half compared to the post-meta strategies.
custom-table-with-transients wins because it gets the schema reduction when caching is absent, and the cache reduction when itโs present. post-meta-transients, by contrast, is not recommended even as a fallback. It nearly doubles in latency without a persistent cache, and on one no-cache shared environment it exhibited a pathological transient code path that pushed dispatch latency past 26 ms โ several times worse than any other strategy on that host.
Recommendation for the future
The recommended storage strategyย custom-table-with-transients is considered the best case among the candidates. It wins decisively on environments with a persistent object cache, remains comfortably ahead of the baseline on environments without one, and degrades gracefully across the full spread of hosting tiers represented in the data.
Read the full analysis
The full anonymized analysisโincluding per-environment dispatch tables, query counts, cross-cuts comparing cache effects, and bootstrap floorsโis available here. All submissions remain anonymized in line with the commitment made in the original call for testing.
Summary
The data from this testing window was sufficient to make the call confidently: custom-table-with-transients is the best option forward as the default for real time collaboration. When work resumes after clean up from 7.0, this is the approach best positioned to explore more deeply next.
Thank you again to every host that participated. Your contributions provided the data needed to make this storage recommendation and will help set real-time collaboration up for success across the wide range of environments where WordPress runs. Props to Ionos, BlueHost, Kinsta, XServer, and WordPress.comWordPress.comAn online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ for their contributions here.
You must be logged in to post a comment.