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.
Edit 11/25/25: The Miscellaneous Editor Changes developer note was published after 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.. It has been added below.
Edit 12/15/25The Adjacent Post Navigation Changes developer note was published after the Field Guide and has been added below.
This guide outlines major developer features and breaking changes in 6.9 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.
Additionally, this release includes 440 enhancements and more than 570 bug fixes for 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, Site Editor, DataViews, and other related Core APIs.
Below is a breakdown of the most important developer-related changes included in WordPress 6.9.
Table of contents
New Ways to Collaborate
Creating and managing content with WordPress 6.9 is more versatile, with new tools and features that encourage collaboration and increase the ease of use. Users can now add notes to blocks, and can take advantage of optimized DataViews and a command palette implemented across wp-admin.
Notes
In WordPress 6.9 editors can write notes and reply to others directly at the individual block level, allowing teams to collaborate, track changes, and provide feedback during the editing process. Notes can be resolved, edited, deleted, and email notifications are sent to the post author when a new one is left.
Updates to Field 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., DataViews and DataForms Components
This release also comes with upgrades to the Field API as well as the DataViews and DataForms components.
In the Field API the field type has been expanded to include more than 10 new field types, 11+ edit controls that support validation, over 16 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 and user-input filters in filterBy, readOnly options to disable field editing, and so much more. Updated DataViews functions include improvements to modals and text-based actions, infinite scroll, and the ability to build custom layouts with children that leverage DataViews’ internal state management and data handling logic. DataViews also now persists via @wordpress/views while DataForms now has an improved panel, new card and row layouts, and revamped controlled validation.
WordPressers can now drag and drop blocks more easily, hide blocks with a click, and use the new WP_Block_Processor class to convert documents into a block structure, while page architecture is improved with the continued integration of iframes.
Direct Drag and Drop
Drag and drop has been improved, with the ability to directly move blocks around within the site editor instead of a drag chip, for a faster, easier, and more intuitive editing experience.
Ability to Hide Blocks
WordPress 6.9 allows editors to hide and reveal blocks with a simple click.
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. Integration in Post Editor
As part of an ongoing initiative to move the post editor into an iframe, a few changes have been made to help with this transition:
The block.json schema now only allowsapiVersion3 for new or updated blocks.
A warning will be displayed in the browser console when a block is registered usingapiVersion1 or 2.
These changes aim to help developers migrate their blocks to use apiVersion 3 with the plan to fully place the editor within an iframe in WordPress 7.0. While this change has been researched and tested at length, additional testing is needed by block and 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 to make any necessary improvements in future releases.
WordPress 6.9 includes a new WP_Block_Processor tool for scanning block structure in HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. documents. The new class walks through the document to analyze or adjust the block structure while showing a structural view without affecting text, converting documents into a nested array of block information and parsed 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. attributes.
An expanded block library with new and upgraded blocks is bundled into 6.9, which includes a new math block, new accordion block, terms query block, comments link and comments count blocks, and improved heading and time to read blocks. This release also contains modified text editing abilities with fitText block support that enables automatic font size adjustment to fit text within its container boundaries (and much more).
Perform Calculations using π in the Math Block
The new Math block adds support for MathML and LaTeX renderers to display math in either block or inline mode, which can be added in any rich text field including tables, headings, and lists.
Collapsible Content with the new Accordion Block
The new Accordion Block in 6.9 supports custom styling and pattern 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).. Learn how to style accordion blocks here.
6.9 includes a refined CSS selector for padding in headings that have a background, which now targets headings with both.wp-block-heading and.has-background classes to ensure padding customizations affect only the intended block.
The Abilities API enables WordPress Core, plugins, and themes to register their functionality in a unified, standardized, machine-readable format. The Abilities API is part of the broader AI Building Blocks for WordPress initiative to build the tools needed for extenders to integrate AI tools into WordPress in a native way.
In WordPress 6.9 the Interactivity API now offers a standardized way to assign unique IDs to Interactivity API directives, allowing website elements to be given multiple similar directives without conflicts. The getServerState() and getServerContext() functions have been updated, and a new algorithm optimizes script and stylesheet handling, enhanced support for router regions in interactive elements, and adds a new attachTo property that acts as a CSS selector pointing to the parent element for router rendering.
The HTML API has been refined in 6.9, with multiple 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 and enhancements. The WP_HTML_Processor::serialize_token()is now public, extending the safety of the HTML API to outside code modifying and combining HTML, while set_modifiable_text() now rejects SCRIPT element contents that could disturb its normal closing.
The updated Block Bindings interface in 6.9 focuses on usability, with the added ability to switch between sources, and bind or unbind attributes with a single click, while the new block_bindings_supported_attributes_{$block_type}filter facilitates customizing how a block’s attributes connect to a Block Bindings source.
WordPress 6.9 delivers significant performance improvements designed to improve the site loading experience for visitors. Improvements to LCP (Largest Contentful Paint) metric are achieved by implementing on-demand block styles for classic themes, minifying block theme styles, and increasing the limit for inline styles—all of which reduce render blocking. The critical rendering path is decongested by deprioritizing non-critical scripts (e.g. for interactive blocks and emoji detection) which had competed with loading resources like the LCP element’s image. Page stability is also improved by preventing the Video block from causing layout shifts.
Many other enhancements are shipped, such as optimized database queries, improved caching, better spawning of WP Cron, and a new template enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. output buffer which opens the door for many future optimizations which were previously impossible.
A new fallback pipeline written in PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher enables WordPress 6.9 to process text encoding and UTF-8 handling independently of the running environment, bringing more reliability across WordPress environments and for themes and plugins that work with international content, emojis and the like.
The 6.9 release changes how cache keys are created when caching queries performed through WP_Query. While persistent object cache drop-ins should not be affected, developers and web hosts should make note of the changes and take advantage of the four new functions introduced.
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) Updates
WordPress 6.9 includes 10 enhancements and 23 bug fixes focused on accessibility, offering new and improved screen reader notifications, improved semantics and focus management, and updated CSS generated content to prevent excess content from being read.
WordPress 6.9 has added “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. support” for PHP 8.5, addressing all known incompatibilities, warnings, and notices while maintaining support for older PHP versions (currently 7.2 and up). As a reminder, “Beta support” is a label applied to versions of PHP that have less than 10% usage across all WordPress sites.
A range of additional developer-related updates improve both the user experience and the development experience. These changes span various areas of WordPress Core, including media, 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, new 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 browser interactions. While individually minor, they collectively reflect ongoing efforts to enhance usability in WordPress and provide a more predictable and flexible foundation for developers.
The 6.9 release also brings a number of miscellaneous developer-focused changes within the Block Editor. Be sure to read this 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. so you’re up to speed!
Updated Adminadmin(and super admin) Menu Search Query
In WordPress 6.9, the search query used by the admin menu has changed from $_SERVER['QUERY_STRING'] to $_GET. This makes the search behavior more predictable and avoids issues caused by depending on the raw query string. Extensions that override or inspect admin menu search behavior should review any assumptions about how the menu search value is retrieved.
Additional Support for HTTPSHTTPSHTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. in URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org-escaping Functions
In WordPress 6.9, the esc_url(), esc_url_raw() and sanitize_url() functions can now be configured to prepend https:// to a URL that does not already contain a scheme by default when the first item in the $protocols array is 'https'.
WordPress 6.9 introduces several updates that make the email system more reliable and more flexible for developers. The wp_mail() function now sets sender addresses in an extensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. way, protects encoding headers between calls, and leans more consistently on PHPMailer for content type handling. Many long standing bugs around 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. handling and message formatting have also been resolved.
This release also adds support for inline and embedded images in HTML emails, allowing developers to send richer message templates without relying on external image URLs. Email content that uses cid: based references can now render images directly inside the message, opening up cleaner options for branded notifications, transactional emails, and plugin generated workflows.
SQL queries triggered by get_adjacent_post()functions have been updated in 6.9 as part of a bug fix. This change does change query handling in the Storefront theme and any themes that are a derivative of Storefront. Follow TracTracAn open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. #64390 for more details.
The new PHP AI Client SDK facilitates integration of AI abilities with plugins and PHP projects. The interface works with all AI providers, and developers can specify which AI abilities to include, which provider, and which model to use. Credentials are centrally managed and work across all compatible plugins.
The new MCP Adapter utilizes Model Context Protocol (MCP) to standardize the application’s interactions with LLMs, expose abilities to AI assistants, and connect with other MCP servers. This allows WordPress to act as both server and client, registering its capabilities through the Abilities API for AI assistants to discover and use, while also integrating with other MCP servers, making it possible to leverage external AI tools within WordPress.
Editor: Button Block: Add HTML Element selection in Advanced settings (Accessibility) (GB-70139)
Editor: Enable the Command Palette everywhere in admin dashboard (GB-58218)
Editor: New block additions for the Block Library (GB-71026)
Editor: Toolbar: Adjust colors for dark mode support (GB-66454)
General: Replace deprecated / non-standard CSS for speak and aural (accessibility) (GB-63603)
Global Styles: Move Randomize colors button to Edit Palette panel (GB-66169)
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.