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.
The Path Forward for WordPress 7.0. The 7.0 release is still on pause for the time being. A new schedule is being worked out and will be announced by the 22nd. There will be another 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). in name, but in practice the next release will be treated as 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., specifically to test architectural improvements to Real Time Collaboration. Thank you in advance to everyone who helps test!
Please take a look at this Twenty Twenty-Seven: Team Announcement highlighting an emphasis on mentorship and creating an entry point for new contributors.
Discussion ๐ฌ
@annezazu has published Defining expectations for Iteration issues announcing some adjustments to iteration issue handling in the 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/ repo.
From @amykamala: โFinding the most current PRs and discussions can be a bit of a wild goose chase because while PRs mention tickets in their content, the fields/relationships on the right that would link PRs to a ticketticketCreated for both bug reports and feature development on the bug tracker., project, status, etc are not actively being used. For 7.0 theres a kan ban board but nothing in it because tickets and PRs are not being tagged. So the only way to find this info is to scroll endlessly on tickets and click on all the links in the notifications. Some of you may remember a while back I asked devs in here to please start tagging their PRs in the fields on the right.โ
@jeffpaul noted that the #core-program channel may be a good place to iterate on this topic.
Matt is requesting community reps and organizers increase emphasis on Elevating Individuals in the contributor space to to celebrate volunteers and folks who contribute in their own spare time.
From @miroku: โI can only report problems; can that be considered a contribution? Iโm always struggling to figure out how to volunteer effectivelyโ. @jorbin answered that testing and finding bugs is absolutely a contribution!
โ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-new tag) 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 introduces background gradients that work alongside background images in the Group 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., and adds organized sections to the command palette for better action discovery (experimental). The wordpress/ui package gains a foundational component for consistent empty states, while real-time collaboration receives stability improvements for multi-user editing sessions.
A total of 131 PRs were merged in Gutenberg 22.9, with 5 first-time contributors!
Table of contents
Background gradients alongside background images
The Group block now supports background gradients through a new background.gradient block support, allowing gradients and background images to work together without conflicts. Youโll find a gradient picker in the Background panel that works independently of the existing color gradient controls, making it possible to create gradient overlays on images or combine multiple background effects.
The new background.gradient block support is available to block authors. This also lays the groundwork for eventually migrating color.gradient to background.gradient across all blocks, providing a more consistent and capable background styling system, including clipping and text gradients. (75859)
Command palette history and suggestions (experimental)
The command palette (Cmd+K/Ctrl+K) now features organized sections that make it easier to find and reuse actions. Instead of showing just a search field and search results, users see sections for Recent commands and Suggestions based on current context. This change is experimental; to give it a try, first go to WP-Adminadmin(and super admin) > Gutenberg > Experiments and enable โWorkflow Paletteโ.
Other Notable Highlights
The wordpress/ui package adds a new EmptyState component for displaying placeholder content when sections have no data. This compound component provides flexible composition with sub-components for icons, titles, descriptions, and actions, laying groundwork for consistent empty state patterns across the interface (74719).
Real-time collaboration has received some fixes that improve the multi-user editing experience and stability. Block comments (notes) now properly sync between collaborative editors instead of requiring page refreshes to appear. In the post list, the action button correctly updates from โJoinโ back to โEditโ when collaboration locks expire. Behind the scenes, error recovery has been enhanced to prevent cascading failures that could previously cause memory issues during collaborative sessions. (76873, 76795, 76872, 76716)
The experimental Forms block now supports hidden input fields, filling an important gap for many applications. Hidden fields appear as selectable placeholder blocks in the editor, while remaining invisible on the frontend with values configurable through the Advanced panel. (74131)
Changelog
Enhancements
Block Editor
DOM: Prefer standard caretPositionFromPoint over deprecated caretRangeFromPoint. (76921)
UI: Update @base-ui/reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org from 1.2.0 to 1.3.0. (76603)
Data Layer
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Remove offset param from stableKey, use pagination logic. (76808)
Block Library
Block Supports: Add background gradient support that can combine with background images. (75859)
Forms Block: Add hidden input field variation. (74131)
Image/Site Logo: Hide crop toolbar when editMediaEntity is unavailable. (76626)
Login/out block: Add button block class names to the submit button. (76746)
Improvements to dataviews infinite scroll. (74378)
Site Editor
Site Editor > Pages: Move view configuration to the server. (76573)
Site Editor > Patterns & Parts: Generate 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. from view configuration. (76823)
Site Editor > Patterns: Move configuration to the server. (76734)
Site Editor > Quick Edit: Add form configuration to endpoint. (76953)
Site Editor > Templates: Move configuration to the server. (76622)
Post Editor
DataForm: Add compact configuration option to the datetime control. (76905)
Navigation Menus
Site Editor v2: Add missing menu items to navigation leaf more menu. (76804)
Connectors
Improve AI 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. button. (76759)
Collaboration
Add backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. for WP_ALLOW_COLLABORATION. (76716)
List Item: Disable edit as HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. support. (76897)
Navigation: Avoid List View changing position when navigation block saves. (76659)
Reduce specificity of nav link default padding so global styles apply. (76876)
Show fallback label in MediaControl when filename is empty. (76888)
Site Tagline: Fix block error when migrating deprecated textAlign attribute. (76821)
Connectors
Boot: Fix black area below content when sidebar is taller than page content. (76764)
Align client registration 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. with server. (76737)
Support non-AI provider types and add JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. extensibility end-to-end test. (76722)
Block Editor
Block visibility badge: Use canvas 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. for viewport detection. (76889)
Cross Origin Isolation: Remove img from the list of elements that get mutated. (76618)
Fix locked content when switching to a different template without exiting โEdit patternโ. (76710)
Hide Additional CSSCSSCascading Style Sheets. controls when block is inside contentOnly editing mode. (76512)
Stop keeping stale controlled blocks after reset. (76591)
Components
Admin UI: Fix Page 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. not rendering with only actions and add stories. (76695)
Button: Restore specificity of high-contrast mode focus ring. (76719)
Card: Add overflow: Clip to root container. (76678)
Fix Color Picker Angle Reset on Gradient Type Change. (76595)
Storybook: Disable autodocs for Icon library. (76620)
compose/useDialog: Add stopPropagation() to Escape handler. (76861)
ui/CollapsibleCard: Do not animate focus ring. (76682)
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.: Add 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. fields diff panel to document sidebar. (76341)
Revisions: Fix template revisions retrieval and sorting. (76760)
Style Book: Fix missing styles for classic themes in stylebook route. (76843)
Collaboration
RTC: Fix notes not syncing between collaborative editors. (76873)
RTC: Fix stuck โJoinโ link in post list when lock expires. (76795)
RTC: Restore on failed request with compaction update. (76872)
Client Side Media
Build: Remove unused JXL WASM module from vips worker. (76639)
Gate client-side media processing as plugin-only. (76700)
MetaboxMetaboxA post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way.: Fix checkbox style in sidebar. (76718)
Data Layer
Properly resolve getTemplateId for hybrid themes. (76532)
Site Editor
Fix unsupported theme flash on direct URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org navigation. (76465)
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)
Components
ComboboxControl: Fix accessible association of help text. (76761)
RadioControl: Add role=โradiogroupโ to fieldset. (76745)
ToggleGroupControl: Fix accessible association of help text. (76740)
ControlWithError: Connect validation messages to controls via aria-describedby. (76742)
Fields: Add excerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that pluginโs metabox. field. (76829)
React vendor script: Avoid warning on createRoot. (76825)
Set milestone on PRs after cherry-picking to release 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".. (76652)
trunk is closed to commits for the 7.1 release until further notice
Backporting to 7.0 still requires double 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. sign off
Pre-releases are paused
The next release will be a 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).
Weโre currently in string freeze
Newย Dev Notesdev 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.:
From @desrosj: contributors who have a list of notes for tickets to create are encouraged to create them before the 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. Asia 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://2017.us.wordcamp.org/contributor-day/https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. Especially if they are good-first-bugs!ย
@desrosj added: โIf someone has some time, triaging the good-first-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. list could also be helpful. Sometimes that list is intimidating because it seems like everything is attended to. But often times the patches need to be refreshed or the approaches so far are not fully solving the issue at hand. If we could note that on the tickets, it may make them more easily actionable.โ
@audrasjb noted that the 8 tickets in the i18n component for 7.0 are easy tickets that would be nice to address during the contributor day. They are also Polyglots, CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., and Core Editor cross-team tickets.
@desrosj will encourage our Polyglots contributors to open tickets for strings that need refinement and additional context as it is a great way to contribute to the upcoming release.
Newย Dev Notesdev 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.:
@audrasjb: โOrdering plugins in a menu is a pretty sensible [but] it would be great if users could order them themselvesโ
@jorbin recommended to make it a Feature PluginFeature PluginA plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins project
@desrosj proposed to make it a Feature Plugin hosted on the WordPress 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/ repository andโฆ tada! Itโs live.
From @wildworks: โI am proposing to remove the ability to embed YouTube videos in the cover 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.. I would appreciate your thoughts on this. In my opinion, this violates the terms of service and also presents 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) issues.โ See this PR comment.
@jorbin pointed out that WordPress has shipped with header video support for almost a decade with no complaints, so removing this from the cover block should not be rushed.
@joedolson added that the accessibility issue is technically a content control issue; it doesnโt directly create an issue, but opens a door for significant issues that were previously easily prevented.
โ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-new tag) 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.
Real-time collaboration now shows collaborator text selections, not just cursor positions. When another user selects text, you see their selection highlighted in their assigned colour โ matching the behaviour youโd expect from collaborative editors like Google Docs.
The presence UIUIUser interface has also been polished: avatars are redesigned, you can now see your own presence indicator, and a new Writing preference lets you control whether you receive collaborator notifications. Under the hood, peer limits and disconnection debouncing improve stability for busier editing sessions. (76107, 75652, 76413, 76460, 76565, 76114)
Button pseudo-state styling in Global Styles
A new โStateโ dropdown now appears next to the Button 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. title in Global Styles. Selecting a state โ Hover, Focus, or Active โ switches all the style controls below to edit that specific state. The block preview updates live to show the selected state, giving you a visual preview of how the button will appear on the frontend.
While theme.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. has supported pseudo selectors for some time, there has been no visual interface to edit them until now. The Button block is the starting point, with the architecture designed to expand to other blocks in future releases. Separately, theme.json now also supports styling the current/active navigation menuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. item and its interactive states, giving theme authors control over active-page highlighting without custom CSSCSSCascading Style Sheets.. (75627, 75736, 76326)
Site Logo & Icon in the Design panel
Site logo and icon management now has its own dedicated screen in the Design panel. The new screen uses a compact media editor for both fields, making it quicker to set or swap your siteโs logo and favicon without navigating through adminadmin(and super admin) settings or finding the block settings. (76116)
Connectors extensibility
The Connectors screen, introduced in 22.7, now has a registry 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. that allows plugins to register their own connectors. Plugins can use registerConnector() to add entries to the Connectors admin page, and unregisterConnector() to remove them.
These extension points allow any 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. to integrate with the Connectors system, so it can grow beyond the built-in providers. (76364, 76541, 76142).
Other Notable Highlights
Add navigation links from 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. List View: You can now add new links directly from the Site Editorโs sidebar List View for navigation menus, rather than needing to open the block inspector. (75918)
Client-side media processing: Client-side image uploads now support the AVIF format, cross-origin isolation no longer breaks third-party plugin iframes, and server-side plugins that process uploaded images (for watermarking, CDN sync, etc.) now work correctly alongside client-side processing. (76371, 75991, 74913, 76616)
Command Palette in the admin bar: A trigger button for the Command Palette now appears in the WordPress admin bar, making it accessible from anywhere in the admin. The button displays the keyboard shortcut for your platform (โK on Mac, Ctrl+K on Windows/Linux). (75757)
Changelog
Features
Collaboration
RTC: Add preference for collaborator notifications. (76460)
Add primitive Text component to wordpress/ui. (75870)
Add styles for outside days in Calendar components. (76199)
Admin UI: Add Storybook stories for Breadcrumbs and Page components. (76467)
Adopt surface-width design tokens for Dialog, Notice, and Modal widths. (76494)
Collapsible.Card: Make contents hidden until found. (76498)
CollapsibleCard: Move trigger to the whole 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.. (76265)
Editor: Polish real-time collaboration presence UI and move AvatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. Itโs usually a square box that appears next to the userโs name. to editor package. (75652)
ui/Card: Increase padding, align with legacy Card. (76368)
Admin UI: Update font size for title and breadcrumbs to match. (76452)
Connectors
Add AI Experiments plugin callout with install/activate functionality. (76379)
Add connectors registry for extensibility. (76364)
Add empty state when no connectors are registered. (76375)
Add unregisterConnector and upsert support. (76541)
Move plugin status computation to script module data. (76409)
Sync PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher code with WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. (76443)
Update page identifier to options-connectors. (76142)
WP Admin: Update Connectors screen footer text for consistency. (76382)
Block Library
Block Library: Improve the design of MediaControlPreview and MediaControl. (76430)
Link Picker: Use Homepage badge instead of Page if Homepage. (75929)
Navigation link: Add support to style current menu item via theme.json. (75736)
Navigation: Allow creating new links in site editor sidebar List View. (75918)
Post Date: Migrate to textAlign block support. (75856)
Post ExcerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that pluginโs metabox.: Migrate to textAlign block support. (75860)
Tabs: Disable anchor support on Tab Menu Item. (76442)
Tabs: Restructure Tabs Menu and inner blocks. (75954)
Media: Add 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 extension points for client-side media processing. (74913)
Collaboration
RTC: Add collaborator selection highlighting in rich text. (76107)
RTC: Allow filtering of SyncConnectionModal. (76554)
RTC: Auto-register custom 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. rest_base values for CRDT sync. (75983)
RTC: Remove post list lock icon and replace user-specific lock text. (76322)
Use V2 Yjs methods for HTTPHTTPHTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. Polling. (76304)
Media Upload Modal: Try an uploading state with popover in the footer. (76228)
Set placeholder to featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. field. (76342)
Add confirmation dialog before disconnecting/detaching. (75713)
Interactivity API
Add client-side navigation block with interactive features. (76331)
Command Palette
Add command palette trigger button to admin bar. (75757)
Bug Fixes
Post Editor
Add isNavigationPostEditorKey symbol to fix menu display context. (76461)
Allow Post Content to be edited when โShow templateโ is active and Post content is nested in a Template Part. (76305)
Client-side media processing: Try plumbing invalidation to the block-editorโs mediaUpload onSuccess callback. (76173)
Editor: Fix autosaves for draft and auto-draft posts. (76624)
Fix: QuickEdit: Consolidate how โStatus > Scheduledโ works. (76129)
Navigation: Disable Mobile Menu in Isolated Editor or Site Editor Preview. (76203)
Notes: Disable for in-editor 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.. (76180)
Page Parent: Change the default value of โfieldValueโ state. (76354)
Page/Post Content Focus Mode: Fix insertion into Post Content block. (76477)
RTC: Place sync connection modal in front of popover. (76431)
Revisions: Show changed block attributes in inspector sidebar. (76550)
Revisions: Use useSubRegistry={false} to fix global store selectors. (76152)
Site Editor: Ensure editor settings are populated with server-side settings ASAP. (75785)
Block Library
Cover Block: Add a playlist parameter to loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop YouTube background videos. (76004)
Disables anchor support for the Page Break block. (76434)
Fix: Update the playlist-track file permissions from 755 to 644. (76315)
Fix: Use add_filter() for get_block_type_variations hook. (76297)
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. & ShortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site.: Disable viewport visibility support. (76138)
API Fetch: Respect caller-provided Content-Type in httpV1 middleware. (76285)
Connectors
Add logo URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org support for custom AI providers. (76190)
Align Gutenberg init hook priorities with Core. (76161)
Fetch specific plugin instead of all plugins. (76594)
Gate unavailable install actions behind install 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).. (75980)
Improve placeholder text and make it translatable. (75996)
Improve responsive layout for small viewport and screens. (76231, 76186)
Move API key validation and masking to REST dispatch level. (76327)
Show API key source for env vars and wp-config constants. (76266)
Fix RTL styling on AI plugin callout banner. (76497)
Fix RTL styling on Connectors, Font Library, and boot-based admin pages. (76496)
Components
Compose: Implement useCopyToClipboard and useCopyOnClick with native clipboard API. (75723)
Fix token fallback plugins breaking JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. strings with quoted font names. (76254)
TimePicker: Clamp month day to valid day for month. (76400)
useMediaQuery: Support in-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. queries via new WindowContext. (76446)
Block Editor
Block Bindings: Remove source items constrained by enums. (76200)
Fix HEIC upload error handling and sub-size format. (76514)
Navigation Editor: Allow any blocks to be inserted by gating contentOnly insertion rules to section blocks. (76189)
Rename and visibility modals: Gate shortcuts behind canEditBlock to prevent triggering in revisions UI. (76168)
Fix shortcode conversion when separated by tags. (76213)
DataViews
Add spinner in DataViewsLayout in initial load of data. (76486)
DataForm datetime control: Fix date handling. (76193)
Fields: Hide scheduledDateField from the list and filters. (76247)
Fix last column classname in table layout. (76133)
Fix layout scrolling in constrained-height containers. (76453)
Collaboration
Fix list sidebar reset during real-time collaboration. (76025)
Fix backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changelog PR for Gutenberg #75746. (76154)
Use apiFetch 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)., allow nonce refresh. (76283)
Fix CRDT serialization of nested RichText attributes. (76597)
Fix TypeError in areEditorStatesEqual when selection is undefined. (76163)
Fix cursor index sync with rich text formatting. (76418)
Fix error when entity record doesnโt have โ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.โ property. (76311)
Fix performance 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. on post save. (76370)
Interactivity API
Fix router initialization race condition on Safari/Firefox. (76053)
Fix crypto.randomUUID crash in non-secure contexts. (76151)
Make Window.scheduler required to match DOM lib. (76271)
Site Editor
Fix block style variations not rendering in Site Editor Patterns page. (76122)
Site Editor > Templates: Fix author 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.. (76625)
Client Side Media
Media: Enable AVIF support for client-side uploads. (76371)
Upload Media: Loosen client-side media processing requirements. (76616)
Global Styles
Theme_JSON: Prevent implicit coercion in to_ruleset. (76392)
Fix block pseudo-state styles incorrectly applied to default state. (76326)
Patterns
Block context menu: Context menu not closing for disconnecting unsynced pattern menu items. (75405)
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)
Revisions: Skip rendered fields in 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/ responses. (76347)
Design Tools
Block Visibility: Add fetchpriority=auto to IMG tags in blocks with conditional viewport visibility to prevent potential erroneous high loading priority. (76302)
Experiments
Post Editor
Add experiment: Render the editor inspector with DataForm. (76244)
Fields: Add post content information field. (76309)
Fields: Add support for classic themes in template. (76441)
Template field: Match exactly the behavior of post template panel. (76596)
Site Editor
ExtensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Make canvas previews full height. (76201)
Move site editor preview CSS to boot package. (76211)
Sync some post list changes with Extensible Site Editor. (76243)
Documentation
Add Client-Side Navigation documentation to manifest and table of contents. (76351)
Data: Update documentation for global โdispatchโ and โselectโ methods. (76134)
Docs: Document controlled/uncontrolled prop naming conventions for @wordpress/ui. (76281)
Add [Package] UI label to PR labeler configuration. (76411)
Add support for linting annotations and other static analysis workflow improvements. (76120)
CI: Donโt build release notes during plugin build workflow for WP Core sync. (76398)
CI: Simplify strategy matrix in Build Gutenberg Plugin Zip workflow. (76435)
Check for IS_WORDPRESS_CORE before npm_package_config_IS_WORDPRESS_CORE. (76334)
ESLint: Add bare token check to no-unknown-ds-tokens. (76210)
Fix IS_GUTENBERG_PLUGIN env var override in build configuration. (76605)
Only run label enforcement workflow on open PRs. (76274)
Publish built Gutenberg plugin to 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/ Container Registry. (75844)
Remove function_exists checks from PHP template. (76062)
Upgrade actionlint and run linting when composite actions are modified. (76503)
Scripts: Relax wordpress/env peer dependency to allow newer versions. (76192)
Ensure consistent, repeatable build results when inlining WASM files via wasmInlinePlugin. (76113)
โ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-new tag) 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 brings visual change tracking to in-editor 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. and introduces a brand-new Icon 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.. The navigation overlay and client-side media processing both graduate from experimental status. Real-time collaboration adds cursor awareness and can now be enabled through a global settings toggle, and the Gallery block now supports lightbox navigation between images.
A total of 388 PRs were merged in Gutenberg 22.6, with 8 first-time contributors!
Table of contents
In-Editor Revisions: Visual Change Tracking
Browsing post revisions in the editor now shows a color-coded visual diff between the selected revision and its predecessor. Added text appears in green with an underline, removed text in red with a strikethrough, and formatting or attribute changes are highlighted with a yellow outline. Entire blocks, added or removed, are outlined in green or red, respectively. Visual change tracking can be toggled off to view clean content. Colors blend with currentColor so they look appropriate across all themes. (75049)
Icon Block
A brand-new Icon block lets you insert SVG icons from a curated library directly into your content. The block is powered by a new server-side SVG Icon Registration 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., so updates to the icon registry propagate to all uses without block validation errors. A REST endpoint at /wp/v2/icons supports searching and filtering. The initial set draws from the wordpress/icons package, and the architecture is designed for future extensibility including third-party icon registration. (71227, 72215, 75576)
Navigation Overlay
Navigation blocks now have customizable overlays and give user full control over mobile hamburger menus. A prominent โCreate overlayโ button guides you through the setup, providing a selection of patterns to achieve a variety of designs for your overlay. The Navigation Overlay feature is no longer experimental, and is available to all users of the 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.. (74968, 74971, 75564, 75276)
Client-Side Media Processing
Client-side media processing is a feature that leverages the browserโs 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). to process images. This enables the use of more advanced image formats (including AVIF, WebP, and MozJPEG output encoding) and compression techniques (resulting in ~10โ15% smaller file sizes with no quality loss for generated JPEG sub-sizes). It also reduces demand on the web server, thus providing smoother media workflows. As of Gutenberg 22.6, client-side media processing has graduated from experimental state to stable feature. (75081, 74910)
Real-Time Collaboration
Real-time collaboration sees a major round of development in this release. A new toggle under Settings > Writing lets you enable the feature, and once active, collaborators editing the same post see each otherโs cursor positions and block selections in real time. A presence indicator in the editor 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. shows whoโs currently editing. Under the hood, title, content, and excerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that pluginโs metabox. now sync via Y.text for more granular conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. resolution, and numerous reliability fixes address disconnection handling, revision restores, and performance metrics. (75286, 75398, 75065, 75448, 75595)
Gallery Lightbox Navigation
The Gallery blockโs โEnlarge on clickโ lightbox now supports navigation between images. When you click an image in a gallery, back and next buttons let you browse through the rest of the gallery without closing the lightbox. Keyboard navigation with arrow keys and screen reader announcements (โEnlarged image X of Yโ) are fully supported. Images that donโt have lightbox enabled (e.g., those linked to a file URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org) are skipped during navigation. (62906)
Other Notable Highlights
Block visibility enhancements: List View now shows viewport-aware icons with tooltips indicating which viewports a block is hidden on, and hidden blocks get a simplified toolbar. The keyboard shortcut (Cmd+Shift+H / Ctrl+Shift+H) to toggle block visibility options is featured in the block context menu. (75404, 75335, 75334)
Notes keyboard shortcut: You can now create a block note with Cmd+Option+M (Mac) or Ctrl+Alt+M (Windows/Linux), and press Escape to cancel. (75287, 75288)
Verse block renamed to Poetry: The Verse block is now called Poetry. (74121)
QuickEdit stabilized: QuickEdit is now stable and opens as a modal in the Site Editor pages view. (75565, 75173)
Text-align block support migrations: Eight blocks (Author Biography, Post Author Name, Post Comments Count, Post Comments Form, Post Comments Link, Post Terms, Post Time to Read, and Term Description) have been migrated to the standardized text-align block support.
Enforced 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. for the post editor: Please check here for more information. (75475)
Many of these new features will also be included in the upcoming WordPress version 7.0, so you can find more details and testing instructions over at the 7.0 Call for Testing.
Changelog
Features
wp-env: Add โconfig option for custom configuration files. (75087)
Client Side Media
Add AVIF, WebP and MozJPEG output encoding support. (75081)
Add device/browser 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). detection. (75863)
Add EXIF metadata tests for Client Side Media. (74909)
Add testsEnvironment option and split Gutenberg wp-env configs. (75341)
Adminadmin(and super admin)UIUIUser interface: Apply โtext-wrap: Prettyโ to Page. (74907)
Commands: Display categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. labels and enforce category icons. (75669)
Gutenberg plugin: Always enforce the iframe in the post editor. (75475)
Layout: Update Gutenberg to match coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. after #75360 sync. (75594)
Media Utils: Auto-select uploaded files in media modal experiment. (75597)
MediaEdit: Support ordered values and reordering of items. (75207)
Replace install-path command with status command in wp-env. (75020)
Accordion: Move Accordion icons to Icon library. (75380)
Author block: When recreating, migrate the textAlign attribute of the Author block to the block style attribute. (75153)
Block Supports: Add Line Indent support using enum setting. (74889)
Blocks: Try prepending โ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.โ to URLs without protocol. (75005)
Breadcrumbs: Improve loading state rendering. (75383)
Navigation Link: Clarify Link To invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. and draft states. (74054)
Navigation Link: Go to page link and edit page for 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.. (75262)
theme.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.: Enable width setting for Icon block by default. (75665)
Editor: Introduce new selectedNote editor state. (75177)
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. navigation category patterns to only show in navigation-overlay template part context. (75276)
Add global setting to enable real-time collaboration. (75286)
Move PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher code to compat / backports directory. (75366)
DataForm: Mark fields as required or optional automatically. (74430)
Dataform: Adds validation support to the DataForm details layout. (74996)
Components
DataViews: Use public ColorPicker instead of internal Picker export. (75394)
DateCalendar, DateRangeCalendar: Use lighter gray for disabled dates. (75683)
ToggleGroupControl: Add visual emphasis to selected item. (75138)
[Real-time collaboration] Refine collaborator overlay with AvatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. Itโs usually a square box that appears next to the userโs name. component integration. (75595)
Fix missed dimension token migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. in UI package. (75446)
WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Area: Disable renaming and visibility support. (75279)
Writing flow: Fix Cmd+A from empty RichText. (75175)
iAPI Router: Update cached styles for re-fetched pages. (75097)
ui/Button: Fix disabled styles and variable composition. (75568)
wp-env Playground: Improve mapping and core source handling. (75527)
wp-env:
Fix 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 startup race condition causing database connection errors. (75046)
Cover block: Force LTR direction for the background URL input field. (75169)
Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Added a fallback to the default value when clearing the aspect ratio control for the Featured Image. (75358)
Fix duplicate content when navigation overlay is open and nav has non-link inner blocks. (75180)
Fix: Make all Navigation Overlay Close buttons work. (75384)
Fix: Show and hook up submenu visibility for Page Lists within Navigation Blocks. (75531)
Gallery: Fix PHP warning in random order image reordering. (75678)
Gallery: Skip interactivity directives when no images have lightbox enabled. (75680)
Media & Text: Respect image_default_link_type option. (74295)
Navigation Submenu: Restore openSubmenusOnClick to usesContext for backward compatibility. (75435)
Navigation block: Remove horizontal scroll from list view. (75086)
Navigation link: Fix resetting link from the tools panel. (75228)
Navigation overlay: Fix default pattern contrast issue on dark themes. (74979)
Post Excerpt: Disable HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element insertion. (74928)
Pullquote: Fix deprecated block validation when anchor/id attribute is present. (75132)
Improve Tab Panel 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). (75484)
Fix sidebar display logic for small screens. (75454)
Real-time Collaboration: Fix revision restore 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.. (75233)
Resize 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. box pane without ResizableBox. (66735)
Sync post content and undefined blocks value. (75437)
Update the y-protocols version and remove the unnecessary diff types. (75657)
Use Y.text for title, content and excerpt. (75448)
Documentation
Clarifies cherry-picking permissions and improves minor releaseMinor ReleaseA set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. workflow documentation. (75034)
Design System: Add guidelines for save and submit UXUXUser experience. (74811)
Docs: Add missing global documentation in block library. (75004)
Docs: Remove private 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/ team links in repository management. (75255)
Docs: Rename Interactivity APIโs โAPI Referenceโ to โDirectives and Storeโ. (74974)
Fix: Navigation Overlay Close Block: Add missing since 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.)#75247. (75250)
Core Data: Improve blocks cache in useEntityBlockEditor. (75400)
Docs: Add missing global documentation in rtl.php and meta-box.php. (75082)
Generate manifest PHP file based on JSON file. (75684)
Move experimental PR out of backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. log. (75465)
Remove backport changelog committed by mistake. (75441)
Remove the ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org Native test status badges. (74674)
Restrict base-ui imports outside of UI component packages. (75143)
Select: Remove unnecessary jest.setTimeout from test. (75444)
Types: Consistently use the React namespace. (75499)
Remove unnecessary block deprecation from experimental tabs. (75208)
Storybook: Always load design tokens in Design System section. (74899)
Block Editor
Add l10nL10nLocalization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales. context to โManage allowed blocksโ string. (75239)
Real-Time Collaboration: Add end-to-end tests for RTC. (75598)
Testing
Add end-to-end test for loading settings in site editor preload spec. (75661)
Add end-to-end test for selection restoration after pattern navigation. (75575)
Add unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. for gap in block style variations fix. (75038)
Nominations for CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps 2026
The nomination process for Core Team Representatives for 2026 is over. We are putting together the nominations, then a poll will probably be opened for voting. It will stay open for two weeks. Stay tuned.
WordPress 6.9.1
It was released yesterday! Congrats to everyone involved in this release!
Iโd like to mention I have posted a detailed progress update for the Client Side Media feature on the tracking issue. The summary is: last week we landed the wordpress/worker-threads package, which unlocks running VIPS directly in a worker thread. This means the feature can now be tested. Also: the final 7 pre-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. PRs are nearly ready for review. The main thing I need support on is code reviews and testing!
This was cross-posted on the #core-editor channel.
โ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-new tag) 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.
It brings practical refinements for your editing workflow. You can now add custom CSSCSSCascading Style Sheets. to individual blocks, and the Image 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. shows aspect ratio controls for wide and full alignments. List View gets more useful with full block titles and actual content displayed for list items. The release also stabilizes viewport-based block visibility and pattern editing, plus adds focal point controls for fixed Cover backgrounds and text column support for Paragraphs.
Table of contents
Custom CSS Support for Individual Blocks
Gutenberg 22.5 brings custom CSS support for individual block instances, letting you write styles that target specific blocks without affecting others of the same type. A has-custom-css class is automatically added in both the editor and frontend for dynamic blocks, making your custom styles easier to manage. If youโve been working around this limitation with extra wrapper blocks or global CSS, your workflow just got simpler. (73959, 74969)
Image Block: Aspect Ratio Control for Wide and Full Alignment
The Image block now shows aspect ratio controls when you choose wide or full alignment. Previously, aspect ratio options only appeared for default-aligned images, a limitation when designing hero sections or full-width layouts. Now you can lock in your preferred proportions regardless of alignment, giving you more consistent control over how images display across different screen sizes (74519)
List View Improvements
Two enhancements make List View considerably more useful in this release. Youโll now see full block titles instead of truncated labels, and List Items display their actual content rather than generic โList Itemโ text. When youโre navigating complex documents with nested lists, these small changes make a real differenceโyou can finally tell your list items apart at a glance (74798, 74794)
Other Notable Highlights
Cover Block: Focal point picker for fixed backgrounds: You can now set a focal point even when using fixed/parallax backgrounds (74600).
Paragraph Block: Text column support: Paragraphs can now flow into multiple columns directly via block supports (74656).
Navigation: Submenus always open option: A new toggle lets you keep submenus permanently expanded rather than requiring hover/click (74653).
In-editor 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. (initial implementation: Early groundwork for viewing revisions directly in the editor, though without โdiffingโ yet (74771).
Changelog
Enhancements
Block Library
Add custom CSS support for individual block instances. (73959)
Add theย has-custom-cssย class name to the editor and dynamic blocks. (74969)
Allow for themes to define the overlay attribute without using a theme slug. (74119)
Image block: Show aspect ratio control for wide and full alignment. (74519)
List Item: Show content instead of block name in List View. (74794)
Navigation Overlay:
Add 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. preview. (74780)
Add a new option that toggles submenus always open. (74653)
Donโt use a nav 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.) for navigation blocks inside overlays. (74764)
Real-time collaboration: Add default HTTPHTTPHTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. polling sync provider. (74564)
Real-time collaboration: Use relative positions in undo stack. (74878)
Bug Fixes
Core backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. for gutenberg_filter_global_styles_post: Protect from KSES mangling. (74731)
DataForm: Sync ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org-level validation to native inputs on date fields. (74994)
DataViews: Use regular casing for bulk selection count. (74573)
Fix typo in comment for value change check. (74730)
ShortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site.: Fix non-string attribute values being silently dropped. (74949)
Cover Block: Show current embed URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org in dialog. (74885)
Embed: Fix Flickr double-padding with responsive wrapper. (73902)
Fix : Image caption blur in Gallery block. (74063)
Fix: Add border-box sizing for verse block. (74722)
Inspector tabs: Reset tab selection if the selected tab is no longer present. (74682)
Make custom navigation overlay full width. (74559)
Media & Text: Revert โFixed Media & Text Block โ Image not rendered properly on frontend when inside stack (#68610)โ. (74715)
Pattern Editing: Update template part to use tabs. (74793)
Post ExcerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that pluginโs metabox. Block: Fix excerpt trimming logic to handle whitespace correctly. (74925)
Post Excerpt Block: Fix length limits for both Editor and Front and fix ellipsis consistency. (74140)
Show submenu colors but remove the word overlay. (74818)
fix: Video block: video URLs pasted without โhttps://โ show broken media. (74964)
Block Editor
Allow grid layout to use theme blockGap values for columns calculation. (74725)
Block Editor Provider: Fix editor error for contributor role when client-side media experiment is active. (74680)
Direct drag: Fix glitching around scrolling. (74608)
Ensure grid column never exceeds parentโs width. (74795)
Fix missing onClose prop for InserterMenu. (74920)
Fix: Fit Text not working on calculated line heights. (74860)
Fix: Safari โEdit as HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.โ for Fit Text deletes content. (74864)
Fix: Stretchy text issue when nested on flex containers. (73652)
List View: Ensure element exists in document before focusing. (74613)
Pattern Editing: Prevent double-click editing for template parts and synced patterns. (74755)
Calculate viewport based on 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. size in resizable editor. (75156)
Collaboration
Real-time collaboration: Do not wrap persisted doc applied update in transaction. (74753)
Sync: Refactor ProviderCreator signature to an object. (74871)
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.
iAPI Router: Fix initial router regions withย attachToย being duplicated afterย navigate(). (74857)
iAPI Router: Prevent router regions withย data-wp-keyย from being recreated on navigation. (74750)
iAPI: Fix and refactor runtime initialization logic. (71123)
DataViews
Fix actions visibility on smaller viewpoints and for lone action with isPrimary as true. (74836)
Fix insert left and right handling in table layout for RTL languages. (74681)
Fix: Escape less-than character in HTML attributes to prevent block recovery errors. (74732)
Patterns
Restore pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. actions for user patterns. (74927)
Update performance results endpoint to codevitals.run. (74802)
Use fetch API for performance results logging. (74803)
Experiments
Route: Add notFound to public API and add route validation. (74867)
Media
Media Modal Experiment: Add a simple notices-based uploading state. (74965)
Collaboration
Real-time Collaboration: Add user and selection information to awareness. (74728)
Post Editor
Media Editor: Add a simple media editor package and integrate into the editor package. (74601)
Block Library
Donโt show overlay settings for navigation blocks that are inside othโฆ. (74408)
Documentation
Added Missing Global Documentation class-wp-rest-block-editor-settings-controller file. (74973)
Added Missing Global Documentation extensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software.-site-editor file. (74868)
Badge: Use stories for โChoosing intentโ doc. (74675)
DataViews: Update storybook to add more context. (74819)
Docs: Add missingย @returnย tags to experimental functions. (74960)
Docs: Standardize use ofย @linkย tag for URL references in lib directory. (74984)
Update wp-build documentation to describe โwpPlugin.nameโ. (74741)
Updated Typo in 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/ File. (74718)
iAPI Docs: Add configuration to state/context guide. (71355)
iAPI: Donโt use deprecatedย data-wp-on-asyncย in documentation. (72591)
iAPI: Update deprecation warning for unique ID format. (74580)
Move grid manual mode sync into 7.1 folder. (74792)
Update: Preserve additional 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. properties on client side abilities. (73918)
Comments Title: Copy deprecate from block.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. to deprecated.js to avoid legacy attribute usage. (74924)
Addย displayNameย to the anonymous components. (74716)
SlotFill: Unify registry and fill implementation. (68056)
Block Editor
Block Visibility: Fix failing unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (74840)
Post Editor
Blocks: Always trigger borwser console warnings for blocks with apiVersion below 2. (74057)
e2e: Fix flaky tests for settings sidebar. (74929)
end-to-end tests: Bump all test blocks to API v3. (74941)
end-to-end tests: Removeย switchToLegacyCanvasย from multi select and a11yAccessibilityAccessibility (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) suite. (74845)
end-to-end tests: Remove switchToLegacyCanvas from inserter drag and drop tests. (74892)
eslint-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.: Add โneverโ option for dependency-group rule. (74990)
selectBlock: Fall back to next block if no previous block is present. (74938)
Build Tooling
Build script: Increase memory limit for storybook build process. (74933)
Build: Deduplicate and minify embedded styles. (74651)
Icons: Add a manifest containing icons metadata. (74943)
โ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 covers typography, patterns, images, and responsive design. The Font Library now works with classic and hybrid themes. Pattern Overrides expanded to custom blocks. The Image 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. got focal point controls. And thereโs an experimental feature for hiding blocks based on screen size.
Classic and Hybrid Theme Support for the Font Library
The Font Library and Global Styles now work with classic themes (#73971, #73876). Like the Media Library, you can access the Font Library as a modal or through a dedicated adminadmin(and super admin) sectionโregardless of your theme type.
Pattern Overrides: Custom Block Support
Custom blocks can now use Pattern Overrides. (#73889)
Since WordPress 6.5, Pattern Overrides let you create synced patterns where the layout stays consistent but specific content can change per instance. The catch? Only four coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks supported it: Heading, Paragraph, Button, and Image.
Not anymore. Any block attribute that supports Block Bindings now supports Pattern Overrides by default. Block authors can opt in through the server-side block_bindings_supported_attributesfilterFilterFilters 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.. This closes a long-requested enhancement and opens up synced patterns to custom blocks.
Image Block: Focal Point Controls
The Image block now has focal point controls. (#73115) Set a focal point on any image to control which part stays visible when the image is cropped for different screen sizes or aspect ratios. The picker is built into the Image block settings, so you can adjust it without leaving the editor.
Block Visibility Based on Screen Size (Experimental)
A new experimental feature lets you hide or show blocks based on screen size. (#73949, #74249, #74379)
Site builders have been asking for this foreverโcontrol block visibility across devices without writing CSSCSSCascading Style Sheets.. The feature includes a viewport modal for setting visibility rules, backend support for generating CSS, and visual indicators showing which blocks are hidden at different screen sizes. Itโs experimental for now and requires enabling the experiment flag.
Other Notable Highlights
A few more highlights worth mentioning:
Real-Time Collaboration is no longer experimental. (#74562) The code has moved out of experimental status ahead of planned inclusion in WordPress 7.0. Note that a default provider isnโt in place yet.
Verse and Quote blocks can now transform into each other. (#73068) Finally fixes the annoyance of similar blocks not being interchangeable.
Dimension presets for width and min-height. (#73811) Theme developers can define preset dimension values in theme.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 appear when users set block widths or minimum heights.
Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop block can exclude terms. (#73790) Much easier than the old workaround of manually adding every term except the one you donโt want.
Paragraph block supports wide and full alignment. (#73958) Useful for theme developers working with wide and full alignment CSS in block layouts.
Notes appear even when template lock is enabled. (#74577) The Notes feature (added in WordPress 6.9) now shows up regardless of template lock mode.
Changelog
Features
Collaboration
Real-time collaboration: Move collaborative editing from experiments to default 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. experience. (74562)
Add autoComplete attribute to prevent browser autocomplete. (74595)
Add list view inspector tab for pattern editing. (74574)
Block Inspector: Update the design of the style variation to use ToolsPanel. (74224)
Block variation transformation: Change position and threshold. (74251)
ContentOnlyControls: Polish 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. style. (74260)
Enhance Notice actions to allow more props like disabled and onClick with URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org. (74094)
Preview drop down: Align preview editing widths with common breakpoints. (74339)
Block 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.
Annotations: Maintain active formats after applying. (73575)
Block Bindings: Remove caption from edit on EditWithGeneratedProps. (73552)
Command Palette: Fix in the font library page and site editor experiment. (74232)
Core Merge: Deduplicate Font Library page and routes. (74381)
Customize: Preserve CSS cascade for Additional CSS in classic themes. (74593)
DataForm: Fix panel field inaccessible when empty with labelPosition none or top. (74264)
Fix document title htmlHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities. (74027)
Fix punctuation and formatting in README.md. (74440)
Fix the dataviews experiment locked fields position on toggle. (74326)
Fix: Menu_order validation to allow zero and negative values. (74282)
Font Library: Allow the 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. to be scrolled in boot powered pages like fonts. (73960)
Image Cropper package: Add reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org peer dependencies. (74402)
Preferences: Add TypeScript types to package.json exports. (73276)
Theme: Fix design-tokens.js entrypoint to specify types and CJS variants. (74129)
[create-block] Updates variant handling for missing directory files. (73986)
api-fetch: Add named export to fix TypeScript callable issues. (74576)
Editor: Remove extra comma from offline error notices. (73907)
Scroll to previous location in document with editor back button. (73737)
Block Library
Block Fields: Remove normalization code and tidy up. (74532)
Block Library: Fix discussion settings data selection. (74026)
Categories Block: Fix CSS collision with labels. (73862)
Comments Title Block: Fix double quotes in non-English locales. (74330)
Remove block selection clearer handling from 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.. (73753)
Replace default block on paste if it has no content. (73951)
Rich Text: Make inline toolbar more reactive for proper positioning. (73853)
WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Group: Remove parent outline. (74107)
Fix: Align Document Outline padding in List View sidebar to match surrounding panels (#73576). (73595)
Global Fonts: Convert relative font URLs to absolute theme URLs in font-face styles. (74115)
Global Fonts: Correctly convert relative font URLs to absolute theme URLs in font-face styles. (74137)
Site editor global styles settings: Ensure generated global styles are correct in canvas between views. (73952)
Site editor global styles settings: Preserve non-global styles in default site editor settings. (74088)
Theme_JSON_Resolver: Defensively cover against situations where the post is null. (74124)
Components
Add checkerboard pattern for background in featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. preview. (74091)
Fix DateTimePicker timezone handling for non-string values. (73887)
Fix InputControl label overflow for long translations. (74301)
Improve memoization in the overrides panel. (74407)
Fix bindableAttributes only being returned for the selected block. (74061)
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)
Block Editor
Update: Use 12px as minimum font size for warning on fit text. (74387)
@wordpress/keycodes: Add ariaKeyShortcut and shortcutFormats exports. (74205)
Stretchy Text: Accept very small font sizes, and show a warning. (73730)
Components
Validated form controls: Suppress native popover. (73471)
Performance
Block Library
Blocks: Cache URL root when registering assets. (74451)
Add experiment for hiding blocks based on screen size. (73949)
Block Visibility: Fix block position shift when toggling. (74535)
Block visibility: Incorrect argument passed to hasBlockSupport in isBlockHidden. (74151)
Block visibility based on screen size: Add backend block support. (73994)
Block visibility support: Use CSS range syntax for media queries. (74526)
Block visibility based on screen size: Add rules to hide on viewport size. (74379)
Block visibility: Add viewport modal and controls UI. (74249)
Block visibility: Add visibility notice for hidden blocks in the block inspector. (74180)
Block visibility based on screen size: Basic clientside state. (74025)
Block Library
PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher-only blocks: Generate inspector controls from attributes. (74102)
PHP-only blocks: Use HtmlRenderer to ensure fontend & editor consistency. (74261)
Refine overlay edit button UI: Move to link variant and add tooltip. (73957)
Render custom overlay template parts in Navigation block (behind experiment). (73967)
Update navigation-overlay-close block to be used as server side rendering. (74579)
Add Navigation Overlay close block (behind experiment). (73724)
Add create new overlay button to Navigation block. (73919)
Navigation Overlay: Fix area and icon name. (74520)
Real-time collaboration: Add type guard for rich-text attributes. (73946)
Real-time collaboration: Fix persisted document 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. and add tests. (73985)
Real-time collaboration: Improve type safety with YMapWrap. (73948)
Real-time collaboration: Use alternative diff in quill-delta, provide incremental text updates. (73699)
Real-time collaboration: Allow post-locked-modal to be overridden when collaborative-editing is enabled. (72326)
Create a reverse map for faster itemBlock lookups. (73930)
Site Editor
Add extensibleExtensibleThis is the ability to add additional functionality to the code. Plugins extend the WordPress core software. site editor experiment. (74123)
Extensible Site Editor: Design improvements and page rename. (73962)
Extensible Site Editor: Fix the dashboard link. (74231)
Extensible Site Editor: Lift template activation restriction. (74197)
Build: Rename extensible site editor page to avoid conflicts. (74221)
Extensible Site Editor: The Canvas should share the same ThemeProvider as all the surfaces. (74125)
Routing: Add title support to php generated pages. (73877)
Docs: Fix callout notices layout and clarify 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/ vs handbook links. (74252)
Enhance Block Bindings Documentation as per WP 6.9 updates: Customizing supported attributes an getFieldsList. (73763)
Fix documentation title for wordpress/build package. (74541)
Fix formatting in block bindings documentation: Corrected links to core sources by adding hyphens. (74414)
Fix invalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. theme.json color value in Global Styles documentation. (73999)
Fix typo in Tutorial: Build your first block. (74050)
Update the copyright licensecopyright licenseCopyright holders may grant a license with various allowances including the ability to modify or distribute the copyrighted material. Also see GPL. to 2026. (74306)
Update the useCommandLoader example to fix the syntax error and add missing imports. (73660)
Validated form controls: Add stories for validation in popovers. (71282)
Code Quality
wordpress/theme: Update color ramp generation snapshots. (74281)
Fix: Use WP_Theme_JSON_Gutenberg instead of WP_Theme_JSON class. (74294)
Theme: Enable color ramp tests and update snapshots. (74403)
TypeScript: Convert notices package to TypeScript. (67670)
TypeScript: Migrate packages/jest-puppeteer-axe package to TypeScript. (70523)
TypeScript: Migrate shortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. package to TS. (74522)
Block support: BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. anchor support changes in core. (74341)
Plugin
Bump minimum required WordPress version to 6.8. (74218)
Template Activation: Try fixing still flaky test. (74216)
Test: Update URLs in tests to use example.org/com instead of test.com. (74246)
Tests: Add unit tests for Button block __experimentalLabel functionality. (74186)
Theme: Ensure build artifacts are synced in version controlversion controlA version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories.. (73894)
end-to-end tests: Restore removal of settings path in preload tests. (74375)
wordpress/theme: Disable color ramp unit tests. (74347)
Template Activation: Make template edit test less flaky again. (74066)
Template Activation: Make template edit test less flaky. (73975)
Data Layer
Cleanup the dependencies in the root package.json. (74212)
Update package version after an unfinished publish. (74413)
npm Packages
Packages: Add support for publishing stable release of pre-release package. (74332)
Packages: Avoid bumping the major version on prerelease packages. (74285)
โ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-new tag) 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.
A total of 161 PRs were merged in Gutenberg 22.2, with 4 first-time contributors! With WordPress 6.9 released this week, many contributors were focused on 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, performance, 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 polish, and a series of 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) and developer experience improvements. There are still some great features and enhancements in this release, highlighted below.
Table of contents
Cover block video embeds
A big feature in this release is the ability to use embedded videos (like YouTube or Vimeo) as background videos in the Cover block, rather than being restricted to locally uploaded files. This is a major quality-of-life improvement for those who want to offload video hosting and bandwidth. (73023)
Breadcrumbs block enhancements
Thereโs further development on the experimental Breadcrumbs block. It now includes better handling for homepages, last item attributes, 404/search/archive pages, archive links, post type archive links, as well as support for paginated content. All of these additions are aimed at making breadcrumb navigation more robust and context-aware. (72832)(73249) (73283)(73435) (72905)
Styling options for the Math block.
Gutenberg 22.2 adds style options to the Math block in Gutenberg, addressing the inconsistency where inline math inherits paragraph styling but display math blocks previously lacked their own styling controls (73544).
Other Notable Highlights
Button Block Pseudo-state Styling
Theme designers and developers can now style button states (hover, focus, active, and focus visible) directly within the theme.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., making it much easier to keep all design controls centralized and consistent. This reduces the reliance on custom CSSCSSCascading Style Sheets. for things like button hover states. (71418)
Data Views received several improvements, including:
A new โactivity layoutโ brings a timeline-like view, perfect for things like revision history, logs, or any content that benefits from a chronological display. This layout handles interactionsโlike keyboard navigationโin a way that fits the timeline format. (72780)
The table column 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. now lets you add columns to the left or right for better customization (72929).
Changelog
List of all the changes
Block Library
Breadcrumbs: Add archive link if enabled in posts. (72832)
Breadcrumbs: Add 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. for preferred 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 term per post type. (73283)
Breadcrumbs: Add post type archive link if itโs not the same as home URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org. (73435)
Breadcrumbs: Add support for paginated post content. (72905)
Cover: Add support for background videos as embeds. (73023)
DataForms: Update Email Control component to use envelope icon instead of a Symbol. (73184)
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.: Add format to date field type. (72999)
Fix block selection when navigation link ui is open. (73368)
Fix navigation 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.) entity binding. (73255)
Fix: Custom font size taking over fit text. (73241)
Fix: Stretch Text overflows into the padding area. (73327)
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Fix scrolling within the modal. (73506)
HTML Block: Remove editorStyles from HTMLEditModal. (73347)
Image block: Set img_srcset to avoid PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher undefined var warning. (73453)
Merge โIcon Sizeโ and โIcon sizeโ translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings. (73325)
Simplify and improve navigation link creation flow. (73210)
DataViews
DataForm: Autofocus first input on panel view. (72322)
DataForm: Fix issue with array fields in layout panel. (73344)
Ensure primary actions are not wrapped in the list layout. (73333)
Field API format: Fix and use WordPress input. (73538)
Fields: Fix author field view when editing. (73482)
Fix alignment when viewing a DataView with table layout and non-default column alignment. (73398)
Open the filters from the column table consistently. (72998)
[DataForm]: The ModalContent component doesnโt properly check for fields validity โ [#73330]. (73339)
Theme: Fix color ramp generation to avoid unmet contrasts. (73331)
Fix coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress./term-data source bug, refactor, add unit testunit testCode written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. coverage. (73366)
Move computation of sources into dedicated useSelect. (72974)
Interactivity API
iAPI: Fix using getServerContext in derived state getters. (73518)
iAPI: Return a deep-clone object from getServerState and getServerContext functions. (73437)
Notes: Fix warning in comment content check. (73198)
Patterns
Check for prevent default on event to enable media placeholder button. (73564)
contentOnly patterns: Fix lock icon appearing on toolbar when editing a section. (73457)
Block API
Block Support: Change block visibility support key. (73432)
Layout
Prevent empty contentSize and wideSize values โโfrom being saved. (73281)
Accessibility
Navigation Menus
Fix a11yAccessibilityAccessibility (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) of descriptions and alerts for โInvalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid.โ Nav Items. (73177)
Asset Loader: Load all scripts in body (footer). (73584)
Core Data: Update Attachment type to more accurately reflect fields in media API responses. (73223)
Patterns
Content only block experiment: Blocks provide the form. (73479)
ContentOnlyControls: Refactor to use DataForm. (73374)
Resolve_pattern_blocks sync with Core 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.. (73570)
Revert โ[DataForm]: The ModalContent component doesnโt properly check for fields validity โ [#73330]โ. (73367)
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.
Command Palette: BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changes in core. (73567)
Components
Storybook: Replace implicit actions with explicit ones. (73502)
Block bindings
Make core/post-data source code more semantic. (73394)
Build: Make pages building using the routing infrastructure independent of Gutenberg. (73379)
Build: Moment-timezone shouldnโt be a mandatory dependency. (73352)
Exclude JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors./TS test files from build. (73495)
Framework: Sync lockfile changes under Node.js v24 build. (73314)
Scripts: Improve handling of check-licenses for optional dependencies. (73026)
Testing
Block Bindings: Add unit test coverage for core/post-data source. (73055)
Block Bindings: Remove end-to-end test theme. (73209)
Unit testing: Allow Composer to auto-detect PHP version. (73358)
end-to-end Tests: Remove movie CPTs after block bindings tests. (73235)
end-to-end Tests: Skip flaky list view test. (73234)
Various
UIUIUser interface: Remove shorthand prop options from Box component. (73529)
Collaboration
Notes: Improve delete confirm message for replies. (73173)
Update button label from โAdd new noteโ to โAdd new replyโ. (73189)
You must be logged in to post a comment.