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.
This is 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/ 20.0, which means it’s the 200th release of the 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.
It’s been almost exactly eight years since the initial commit to the Gutenberg repository and about four years since we celebrated the 100th release.
There is a lot happening in the WordPress world these days. But I want to use this moment to take a step back and just say thank you! Thank you to all the individual contributors that have spent countless hours over the past eight years steadily moving this project along. Whether you are still an active contributor, or you have long moved on to work on something else, thank you for all your work. ❤️
Even though this is the 200th release of the Gutenberg plugin, the actual release itself is the same as any other release in the past eight years. It includes new features, enhancements, and bugfixes. The remainder of this “What’s new in Gutenberg” post will follow the regular format.
The “What’s new in Gutenberg” posts (#gutenberg-new) appear on a biweekly basis after every Gutenberg release, and showcase the latest features and improvements.
Interested in learning more? Here’s an overview of how you can keep up with news and events related to Gutenberg and the BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor.
The last first of 2025 introduces improvements to the Style Book, a new starter pattern ui, a swathe of component library enhancements, and code quality improvements.
The Style Book got a few improvements in this release. It now features different sections for typography, colors, and individual blocks that all activate when the user navigates to those menu items. Additionally, the Style Book now its own URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (#67811), so you can access it directly.
Starter Patterns get a new UIUIUser interface
We’ve received a lot of feedback that the old Modal based approach for starter patterns caused more annoyance than it helped. So, in an effort to improve the experience, the modal has been removed, and instead, if starter patterns exist, the page will load in the zoomed-out mode with the pattern inserter already opened.
Easily set a Page to become the Posts Page
Similar to the “Set Homepage” action that was added in a recent release, it is now possible to easily set a page to become the posts page using a post action in the dataviews for pages.
Display Block Type Badge for renamed blocks
To clarify what block you are currently editing, the block type is displayed as a badge next to the custom name when a block is renamed.
More Highlights
wp-env now supports multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations allowing developers to easily bootstrap multisite environments, especially for ease of feature testing and quality control. (67845)
Block HooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. get a major boost by now allowing developers to apply hooks to post content and synced patterns. This has been a highly requested feature of block hooks since day one. (67272 & 68058)
Changelog
Enhancements
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: Handle styles assets on region-based navigation. (67826)
Prevent each directive errors and allow any iterable. (67798)
Introduce new filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. “render_block_core_navigation_link_allowed_post_status”. (63181)
Query Pagination: Update ‘showLabel’ help text. (68105)
Query Total block: Reduce concatenation in the output text. (68150)
Post 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.: Use the ‘ResolutionTool’ component. (68294)
Add Tools Panel dropdown menu props to More block. (68039)
Archive: Add dropdown menu props to ToolsPanel component. (68010)
Date Block: Add dropdown menu props to ToolsPanel component. (68018)
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: Refactor settings panel to use ToolsPanel. (67908)
Featured Image Block: Refactor setting panel. (67456)
Login/Logout: Add dropdown menu props to ToolsPanel component. (68009)
Login/Logout: Refactor settings panel to use ToolsPanel. (67909)
More Block: Refactor settings panel to use ToolsPanel. (67905)
Navigation Submenu Block: Refactor settings panel to use ToolsPanel. (67969)
Page List Block: Add dropdown menu props to ToolsPanel component. (68012)
Page List Block: Refactor settings panel to use ToolsPanel. (67903)
Query Page Numbers Block: Refactor settings panel to use ToolsPanel. (67958)
Query Page Numbers: Add dropdown menu props to ToolsPanel component. (68013)
Query Pagination: Refactor settings panel to use ToolsPanel. (67914)
Refactor “Settings” panel of Navigation Item block to use ToolsPanel instead of PanelBody. (67973)
Replace PanelBody with ToolsPanel and ToolsPanelItem in column block. (67913)
Replace PanelBody with ToolsPanel and ToolsPanelItem in spacer block. (67981)
Replace PanelBody with ToolsPanel in columns block. (67910)
Site Title Block: Add dropdown menu props to ToolsPanel component. (68017)
Site Title Block: Refactor settings panel to use ToolsPanel. (67898)
Add reset button to ColorGradientSettingsDropdown. (67800)
ChildLayoutControl: Use units defined 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.. (67784)
KeyboardShortcuts: Update delete shortcut to use shift + Backspace. (68164)
Use custom name in block 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. if available (retaining block type information). (65641)
Block hooks
Apply to Post Content (on frontend and in editor). (67272)
Allow template part editing in write mode. (67372)
Remove placeholder of default paragraph when it’s the only block and canvas is zoomed out. (68106)
Patterns
Replace Starter Content modal with inserter panel. (66836)
Build Tools
Create Block: Allow external templates to customize more fields. (68193)
Create Block: Optimize the default template for multiple blocks case. (68175)
Scripts: Recommend passing JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. entry points with paths. (68251)
Add a Playground blueprint json to the /assets/blueprints folder of Plugin Repo. (67742)
Bug Fixes
Add duotone and dimensions to the block level for translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization.. (68243)
Add text domain option while scaffolding the block in create-block. (57197)
Added is-focus-mode class on all viewports. (67377)
Editor: Fix initial edits applied again after saving the post. (68273)
Get active element within the iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. when restoring focus. (68060)
Enhance: Improve pagination logic in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress./query-pagination-previous block. (68070)
Fix author information leakage by author blocks for Custom Post Types without author support & display notice to user. (67136)
Media & Text: Correctly reset the ‘useFeaturedImage’ attribute. (68247)
Navigation Submenu Block: Add dropdown menu props to ToolsPanel component. (68015)
Page List Block: Fix critical error when converting to link. (68076)
Page List block: Don’t wrap Edit button with ToolsPanelItem component. (68248)
Table Block: Fix margin/padding to include caption in spacing. (68281)
Update SiteTitle block to Fix isLink Toggle Behavior. (68295)
i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Make example and variations translatable in post-navigation-link. (68375)
i18n: Make example translatable in query-no-results. (68376)
i18n: Make example translatable in table-of-contents. (68377)
Button Block: Set proper typography for inner elements. (68023)
Components
Block Editor: Fix the ‘Reset all’ 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. for the ‘ResolutionTool’ component. (68296)
Image: Avoid link class loss when pasting for raw transformation. (67803)
Make Block Bindings work with editor.BlockEdit hook. (67523)
Post Editor
DataViews: Fix text in action for setting site home page. (67787)
Edit post: Fix 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’s pointer capture. (68252)
Editor: Remove HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from the post title in the document bar. (68358)
Block supports: Show selected item in font family select control. (68254)
Fix: Ensure consistency in editor tools for navigation buttons and delete options. (67253)
Template Editor
Fix: Editing “Page” is broken for low capability users. (68110)
Plugin: Fix eligibility check for post types’ default rendering mode. (67879)
Widgets Editor
CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. Widgets: Fix inserter button size and animation. (67880)
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. Editor: Fix: Close button is not working. (65443)
Various
Show 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. when pattern is accessed directly. (68255)
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)
Dataviews List layout: Do not use grid role on a ul element. (67849)
Fix: Templates and patterns are nesting two elements with the button role. (67801)
[Dataviews] Fix: Media item focus style is not visible on Grid. (67789)
Block Editor
Fix: Inserter categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. tabs: Avoid unnecessary aria-label. (68160)
Improve accessibility of the Warning component in the block editor. (67433)
Global Styles
Shadows: Always show reset button if hover is not supported. (68122)
Visual Refactor: Add Chevron Icon for Shadows in Global Styles. (67720)
Block Library
Button: Replace ButtonGroup usage with ToggleGroupControl. (65346)
Fix Choose menu label when a menu has been deleted. (67009)
Site Editor
Make sure the sidebar navigation item focus style is fully visible. (67817)
Components
CustomSelectControl: Refactor to use Ariakit store state for current value. (67815)
Performance
Block Library
Don’t fetch media details if the block doesn’t use a featured image. (68299)
Media & Text: Optimize block editor store subscriptions. (68290)
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 2025. (68440)
Updated since Doc Order in Inline documentation. (68003)
Create Block: Migrate Inquirer.js dependency to the new API. (67877)
Fix indentation in the upload-media tsconfig. (68083)
Fix indentation in upload-media package.json. (68037)
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. JSDoc syntax for optional object. (68061)
Remove some obsolete stylelint at-rule-no-unknown disable rules. (68087)
Components
DatePicker: Prepare day buttons for 40px default size. (68156)
DropZone: Make the drop zone in Storybook the same size as the item. (68231)
Fix Button size violations in misc. unit tests. (68154)
Fix: Add soft deperecation notice for the ButtonGroup component. (65429)
Workflows: Sync assets to plugin repo upon change in trunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (68052)
First-time contributors
The following PRs were merged by first-time contributors:
@benazeer-ben: Add command to navigate to site editor. (66722)
@dhruvikpatel18: Fixed typo in README of TextTransformControl. (68443)
@fushar: Stylebook: Add the Appearance -> Design submenu through admin_menu action. (68174)
You must be logged in to post a comment.