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.
We’re catching up with these posts now, as they have not been posted in a while. Since the recent releases have been smaller in scope, this post combines updates from both the 20.8 (May 14) and 20.9 (May 28) releases.
Both versions introduce a collection of enhancements, bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, and improvements. These updates concentrate on refining the editor experience, improving 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 ensuring consistent design. Additionally, the releases incorporate under-the-hood updates focused on code quality and performance.
Prevent duplicate HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. main elements for improved accessibility.
Search 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.: Move search setting to inspector.
Move Styles to top of 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. navigation.
Changelog
20.8 (14 May) – Highlights
Prevent duplicate HTML main elements for improved accessibility.
The HTML Element option now includes validation to prevent duplicate <main> tags, enhancing accessibility and HTML compliance. (70002)
Search functionality in template swapping modal.
The template swapping modal now includes a search feature for smoother navigation. (69667)
Changelog
Enhancements
Create Block: Add --textdomain flag to create block tool. (69802)
Components
Guide: Make next and previous button text customizable. (69907)
Popover: Add virtual padding to prevent it from hitting the viewport edge. (69555)
Document Settings
Editor: Add search functionality to template swapping modal. (69667)
Block Editor
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: Don’t close the inserter when focusing outside it. (67838)
Editor
Use split view for 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. boxes only when canvas is iframed and “Desktop” view. (69958)
New APIs
Widgets Editor
Edit Widgets: Save lock control via actions. (69984)
Bug Fixes
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/ Actions: Fix components changelog CI check. (70034)
Persist git credentials when publishing via lerna. (70007)
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.: Fix deprecation for ‘apply_block_hooks_to_content_from_post_object’. (69909)
ServerSideRender: Don’t render the previous error response in loading state. (69988)
ServerSideRender: Refactor fetchData to use useCallback and refs. (69237)
Block Library
Author, Author Name block: Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warning error when there is no context. (69949)
Block Editor: Allow editing 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. blocks as HTML. (69902)
Block Editor: Prevent negative width values in Spacer block when used inside a row block. (68845)
Calendar block: Disable edit as HTML support. (69961)
Image: Avoid stale URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org when reselecting the same image from the library. (69985)
Latest Posts: Update content display labels to Display post content and Content length. (69839)
fix: Update the logic of fetching current URL in loginout block. (70031)
Block Editor
Block HTML: Add box-sizing property to prevent overflow. (70014)
Fix: Improve warning message and add spacing in HTMLElementControl. (70002)
MediaPlaceholder: Fix 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. with media URL input type to allow a local URL path. (70043)
Prevent block merging on blocks with the ‘disabled’ editing mode. (69918)
Components
Don’t mutate ‘ALL_CSS_UNITS’ default value in ‘useCustomUnits’. (70037)
Fix double border in ItemGroup when last item is focused. (70021)
ToggleGroupControl: Fix active background for empty string value. (69969)
Site Editor
Check user permissions before rendering export menu item. (69971)
Widgets Editor
Fix: Browser Warnings when closing keyboard shortcut modal. (69929)
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.
Fix: Missing conversion from 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. styled variable to CSSCSSCascading Style Sheets. variable. (69551)
Typography
Fix: Prevent FontSizePicker crash when no font size exists. (68733)
Icons
Remove width / height attributes from svg element. (43747)
Accessibility
Keyboard Shortcuts: Revert delete shortcut to access + z. (69931)
Fix: Remove an unnecessary @returntagtagA 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.) from this 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.docblockdocblock(phpdoc, xref, inline docs). (69960)
Code Quality
ServerSideRender: Use useLayoutEffect to update latestPropsRef. (69999)
Stylelint: Migrate configuration from JSON to JavaScript format. (69590)
List View: Add end-to-end test to verify pasting block styles via keyboard. (69979)
Try: Fix ‘wp-polyfill’ script dependents 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.. (69912)
The settings of the search block have been moved from the block toolbar to the inspector panel for better consistency with other coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks. (70144)
Move Styles to top of sidebar navigation.
Move the Styles navigation item to the top position in the Site Editor’s main sidebar navigation, before Navigation, Pages, Templates, and Patterns. (68582)
Changelog
Enhancements
Base Styles: Update to modern Sass module system. (70135)
Post Publish Panel: Open view post links in a new tab. (70127)
Revert Adminadmin(and super admin) bar: Update the Edit Site link. (69974)
Block Library
Custom HTML: Add role attribute to content in block.json. (70154)
DOM: Add summary element to focusable elements. (70051)
Site Editor: Fix PHP warnings in gutenberg_get_site_editor_redirection. (70062)
URL: Handle HTML entities and ampersand in ‘cleanForSlug’. (70078)
Workflows: Persist git credentials when publishing packages via Lerna. (70058)
Block Library
Button: Limit scope of width style for link. (70054)
Image: Provide ‘defaultValue’ for ‘ResolutionTool’ component. (70122)
Post Template: Don’t rely on the default ‘ignore_sticky’ 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/ value. (70020)
Components
Fix Styling for TextControland TextAreaControl in dark themes. (69640)
Fix URLPopover input handling to properly update value. (70156)
Post Editor
Editor: Honor rich/code editor settings when deriving the editor mode. (70080)
Hide “Create template part” menu from block settings dropdown for classic themes. (65568)
Block Editor
MediaPlaceholder: Fix potential error in ‘handleBlocksDrop’. (70090)
Accessibility
Editor: Add label inTextareaControl in CollabSidebar. (70133)
We’re catching up with these posts now, as they have not been posted in a while. Since the recent releases have been smaller in scope, this post combines updates from both the 20.6 (April 3) and 20.7 (April 22) releases.
Both versions introduce a collection of enhancements, bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, and improvements. These updates concentrate on refining the editor experience, improving 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 ensuring consistent design. Additionally, the releases incorporate under-the-hood updates focused on code quality and performance.
Navigation 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.: Add transparency slider for submenu background.
Navigation in Site View: Automatically expand all options.
Editor: Enable starter pattern modal for all post types.
Changelog
20.6 (3 April) – Highlights
Navigation Block: Add transparency slider for submenu background
This PR adds the ability to set a transparent background for Navigation Block submenus by enabling the alpha (transparency) channel in the color picker for the submenu background setting. (69379)
Changelog
Enhancements
Block Library
Feature: Adding support for more granular controls over the ToC block. (69063)
Navigation Block: Add transparency slider for submenu background. (69379)
RSS Block: Add option to open links in new tab/window and control rel attributes. (69641)
Block Editor
Add keyboard shortcut (cmd(ctrl)+option(alt)+v) to paste styles. (69196)
BlockPatternsExplorer: Hide scrollbar 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. if not scrollable. (69706)
Post Editor
Editor: Revert new default rendering mode for Pages. (69680)
Bug Fixes
BlockBreadcrumb: Wrap text node in span 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.). (69605)
Fix Media & Text block preview alignment on larger devices. (67097)
Format Library: Ensure inline image with updates persist after removing the ‘width’. (69683)
Include blocks manifest build process in Webpack configuration to fix create-block bug with missing blocks manifest file. (69578)
Block Library
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. Block: Prevent default action on image click to fix linking to post. (69716)
Fix CategoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. List Block: Add optional chaining to 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. name. (69703)
Fix(embed-block): Only call setAttributes() when attrs change. (68141)
Fix: Correct ‘Displaying 1 – 0 of 0’ issue when no results are found. (69666)
Image block: Omit max width observer element in galleries. (69601)
PostCommentsForm: Fix submit button width 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.. (69651)
Components
ComboboxControl: Replace undefined variable usage with color-mix for disabled selection. (69621)
CustomSelectControl: Use dynamic fill color for check icon. (69626)
Fix autocomple UIUIUser interface flicker when deleting trigger prefix. (69562)
Update NumberControl stepping to match HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. number input stepping. (34566)
Block Editor
LinkControl: Fix visually Duplicative label and placeholder. (69620)
PatternsExplorerModal: Fix empty patterns in starter content category. (69629)
Post Editor
Post Template Panel: Render create-new-template-modal over post-template-panel. (69713)
Global Styles
Site Editor: Make the text “Custom Styles” translatable. (69677)
Site Editor
Set IFRAME_REQUEST constant for classic theme site preview. (69535)
Document Settings
PostStatus: Prevent form submission from refreshing the page. (69526)
Accessibility
Document Settings
Post Template Panel: Preserve parent modal when closing template creation dialog. (69724)
Block Library
Site Title: Prevent saving and rendering a value made of only spaces. (69628)
Reference splitTask from interactivity package in documentation. (69602)
Storybook: Update ToolbarItem and ToolbarDropdownMenu exports. (69618)
Update the list of 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/ versions in WordPress versions. (69700)
Navigation in Site View: Automatically expand all options.
This PR changes the default state of navigation submenus in Site View from collapsed to expanded, making all navigation options immediately visible to users without requiring manual expansion. (69343)
Editor: Enable starter pattern modal for all post types.
This PR fixes the starter pattern modal so it works for all post types, not just pages. It removes the restriction that was limiting the modal to only appear when creating new pages. (69753)
Changelog
Enhancements
Format Library: Add a feature to set the alpha value to Highlight. (67525)
Playwright end-to-end utils: Add new emulateNetworkConditions helper. (69865)
Block Library
Details: Enable all non-interactive formats. (68741)
Navigation in Site View: Automatically expand all options. (69343)
Remove experimental status from comments count and comment link blocks. (69832)
Table Block: Preserve Column Alignment when Pasting Markdown Tables. (69322)
Tag Cloud: Remove unnecessary full-width padding. (69725)
Block Editor
Remove truncation from media tab preview tooltips. (69741)
Support passing updater function to ‘setAttributes’. (69709)
Media
Remove @shopify/web-worker Dependency from packages/upload-media. (69816)
Bug Fixes
DataViews: Ensure consistent display of primary ellipsis in list layout. (69846)
Scripts: Fix blocks manifest generation when directory name has space. (69766)
Block Library
Enhance Featured Image Block: Don’t include interactive elements within an element. (69730)
Featured Image: Don’t render empty Resolution tools panel if media is not set. (69805)
Fix: Background wrapper for ‘Button Inside’ option. (69624)
Fix: Update the static text and make them translatable in the Blocks example. (69859)
Fixed Media & Text Block – Image not rendered properly on frontend when inside stack. (68610)
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: Don’t overwrite the ‘query.inherit’ attribute value. (69698)
Query Loop: Fix ‘undo trap’ and improve debouncing for ‘Keyword’ control. (69845)
ToC: Fix condition for ‘Limit heading levels’. (69811)
ToC: Fix related block attribute persistence. (69734)
Block Editor
Block Tools: Prevent showing block toolbar when block interface is hidden. (69795)
Block drag & drop: Enable mouse click on input/textarea elements in Firefox. (69781)
Fix: Restore static properties on deprecated __experimentalLinkControl. (69860)
Fix: Space visualizer showing previous value. (69747)
Post Editor
Fix: Save custom template with non-latin slug. (69732)
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.: Don’t enable for block themes in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. if v2 blocks exist. (69778)
Document Settings
PostPublishPanel: Fix post title overflow. (69804)
Patterns
Editor: Enable starter pattern modal for all post types. (69753)
Components
UI Components: Add theme support for FormTokenField and ComboboxControl. (69638)
Accessibility
DataViews: Always show primary action for list layout if hover isn’t supported. (69876)
Block Library
Navigation Link, Navigation Submenu: Remove the title attribute controls. (69689)
Create Block: Improve support for blocks manifest and relevant Core APIs. (69767)
Docs: Improve document and parameters in render_block_core_* function. (69856)
Fix: Incorrect Type of wp_widget_factory in render_block_core_legacy_widget Doc Block. (69775)
Fix: Expose TypeScript types for subcomponents. (69619)
Latest Posts block: Add missing @globalPHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher documentation. (69763)
Code Quality
Block Parser: Remove description for singular since tag. (69799)
Fix Documentation inconsistencies in Block Parser classes. (69785)
Stylelint-config: Add stylelint-scss as a peer dependency. (69685)
Update metadata fields requested from server. (69801)
Components
Update gradient-parser dependency from 0.1.5 to 1.0.2. (69783)
Tools
Testing
Automated Testing: Add 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/ Actions workflow for Storybook smoke testing. (69679)
E2E: Split list view keyboard shortcuts into multiple tests. (69231)
Workflows: Ignore ‘widgets’ for manual backports. (69792)
Build Tooling
Workflows: Ignore ‘block-serialization-default-parser’ for manual backports. (69791)
First-time contributors
The following PRs were merged by first-time contributors:
@Debarghya-Banerjee: Fix: Incorrect Type of wp_widget_factory in render_block_core_legacy_widget Doc Block. (69775)
We’re catching up with these posts now, as they have not been posted in a while. Since the recent releases have been smaller in scope, this post combines updates from both the 20.4 (March 5) and 20.5 (March 20) releases.
Both versions introduce a collection of enhancements, bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, and improvements. These updates concentrate on refining the editor experience, improving 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 ensuring consistent design. Additionally, the releases incorporate under-the-hood updates focused on code quality and performance.
Persist the user’s ‘Show Template’ preference in the editor
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_LoopBlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. now supports sorting posts by menu order
The create-block package now supports blocks manifest and relevant CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. APIs by default
Changelog
20.4 (5 March) – Highlights
Persist the user’s ‘Show Template’ preference in the editor
The editor now remembers the ‘Show Template’ preference set by the user and uses it as the default rendering mode. (69286)
Query Loop Block now supports sorting posts by menu order
The Query Loop block now lets users sort posts by their menu order, in both ascending and descending order, for post types that support it. (68781)
Changelog
Enhancements
Generate built CSSCSSCascading Style Sheets. file containing the adminadmin(and super admin) color theme CSS custom properties. (69128)
Post Editor
Editor: Conditionally enable the new default rendering mode for Pages. (69160)
Post Template Panel: Display popover on the left side of 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.. (69134)
Block Library
Post Navigation Link: Enable all non-interactive formats. (69325)
Block Action: Implement cut functionality in block actions and settings menu. (68554)
Global Styles
Allow :Focus-visible pseudo-selector to be set 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.. (68521)
Core Data: Allow ‘null’ as raw attribute value. (69257)
Dataviews: Fix alignment issue of “Title” 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.. (68840)
Fix addQueryArgs and removeQueryArg on URLs with fragments. (69313)
Post formats: Make title and description human readable. (69275)
Site Editor: Fix back link from “Navigation” sub-menus in mobile web. (69192)
TextControl: Fix text direction for URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org and email fields in block editor for RTL languages. (68561)
Block Library
Fix: Extra top and bottom margin issue in Social Link block for classic theme below twenty twenty. (69100)
Make navigation block wavy underline more visible on dark backgrounds. (69004)
Template Part block: Guard against get_block_file_template returning null. (69309)
Video Block: Disable autoplay when video is not muted. (69232)
Post Editor
Editor: Add an extra check before enabling the new default rendering mode for Pages. (69209)
Editor: Avoid a ‘flash’ when rendering in ‘template-locked’ mode. (69173)
Editor: Revert bulk editing support for post actions. (69341)
Site Editor
Fix space on the left or right of the menu in mobile view. (69327)
Show pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. step in navigation for mobile. (69206)
Site Hub: Navigate correctly in mobile view. (69157)
NumberControl: 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.HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. attributes for infinite bounds. (69033)
Colors
Format Library: Prevent the text and color picker from overlapping. (69169)
Format Library: Text-color popover width to fit sidebar. (68881)
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: Revert “Handle styles assets on region-based navigation”. (69222)
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.
Fix typo for ‘ignore_sticky_posts’ 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/ support. (69171)
Block Editor
Inserter: Hide drag-and-drop help text on mobile devices when previewing patterns. (69159)
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.
Close patterns modal on insertion and focus on inserted pattern. (68975)
Block Editor
Fix CSS classes for the post editor 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. body. (68481)
Performance
Interactivity API
Introduce withSyncEvent action wrapper utility and proxy event object whenever it is not used. (68097)
Documentation
Added Missing Double Quote in Number Control. (69207)
Added Missing Global Documentation in Query Total Block. (69233)
Fix typo incorrect article before “user interface”. (69168)
FontSizePicker: Fix FontSizePicker Storybook control type and improve documentation. (68936)
Update javascriptJavaScriptJavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser.
https://www.javascript.com-in-the-block-editor.md – fix link. (62431)
ESLint: Improve lint regex for preventing “toggle” word usage in translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. ready functions. (68958)
Media Utils: Add tests for new error behavior. (69215)
Performance Tests: Update method for creating sample content. (69210)
The create-block package now supports blocks manifest and relevant Core APIs by default
Blocks created using the create-block package now include a block manifest file by default, making it easier to manage metadata and improving performance when working with multiple block types. (69446)
Pre-publish panel: Do not show suggestions for tags and categories if there are none.
The conditions that determine if the pre-publish panel should show suggestions to add categories or tags have been updated if no categories or tags are added. (69453)
Enhance create-block package to support blocks manifest and relevant Core APIs by default. (69446)
Remove trailing periods from Show or hide settings panel. (69356)
Site Editor: Make current theme and editor settings available to route area resolvers. (69299)
Block Library
Button Block: Add draft page creation 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).. (69368)
Query Total: Update the block color support settings. (69500)
Block Editor
BlockEditor: Resolve MediaReplaceFlow UIUIUser interface text inconsistency. (69546)
Comment Template: Use fallback when there’s an 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. error. (69422)
Fix: Show the author and author name examples in the Stylebook. (69436)
Image block: Unwrap img element in editor. (68666)
Latest Posts: Make Latest Posts block consistent with sticky posts display. (69428)
Query Total: Prevent stricted type fatal errors on post per page. (69508)
Social Icons: Disable edit as HTML support. (69374)
Spacer: Revert height defaults to 100px if left unset. (69450)
SpacerControls: Default the height to 100px if left unset. (68819)
Table Of Contents: Include headings exclusively within the core/post-content block. (69366)
Site Editor
Classic themes: Prevent access to parts of the Site Editor. (69473)
Hide admin bar in classic theme site preview. (69514)
Prevent access to the Design/Styles screen from classic themes without StyleBook support. (69377)
Fix template lookup preloading for non-draft pages. (69400)
Experiments
Added Missing Trailing periods in Experiment Settings Page. (69395)
Documentation
Docs/update reference to JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. build setup 404 in scripts README, fix absolute links. (69495)
Fix: Update invalid JSON Schema link in README.md. (69505)
Update documentation about wp-scripts build-blocks-manifest in relation to new WordPress 6.8 function. (69445)
Code Quality
Alignment note with WordPress report 62426. (69519)
Skip failing post preview end-to-end tests. (69429)
Template UI mu-plugin: Run 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. after the setup_theme action. (69542)
Various
Plugin
Update hierarchical data compat directory. (69550)
First-time contributors
The following PRs were merged by first-time contributors:
@Anuj-Rathore24: Fix: Update invalid JSON Schema link in README.md. (69505)
Last week, there were some exciting developments 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/ Editor. Below, you’ll find an overview of the key changes and improvements.
Need 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) Feedback
Add a search to the template selection modal in the block editor – When you are editing a page or post in the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor, there is an option to change the template.
UIUIUser interface Components: UI Components: Add theming support for all the components – Some components currently lack theme support, limiting their adaptability to different design systems. This issue serves as a general tracker to identify those components and systematically incorporate theming support.
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.: wp_register_block_metadata_collection doesn’t work with multiple blocks with identical folder names – Using wp_register_block_metadata_collection to improve block registration/loading performance and noticed that the php array created by running “wp-scripts build-blocks-manifest”
Block Bindings: Function canUserEditValue result change not affect Block behaviours – Having a custom Bock Binding Source you might encounter the situation when users accidentally change bound content and that change escalates through setValue to the very source ending up with changes in database or external system.
PR Editor: fix: missing default category on new posts – Automatically assigns the default categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. for new posts in the category 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. using the useEffect hook to set when no terms are present but only if it’s a new post and settings have been loaded.
PR – [New block] bookmark and bookmark count – Currently, WordPress lacks a built-in way for users to bookmark or favorite posts for later reading. This is an essential feature for content-heavy sites, similar to YouTube’s Watch Later or social media Saved Posts features.
Excerpt Block: Add character count option – This PR adds a character count option to the 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 as an alternative to the existing word count functionality, allowing theme designers to control excerpt lengths more precisely.
Needs Design Feedback:
The List View sidebar needs a “No block selected.” message – Currently, when a user creates a new post or there are no blocks in the editor, the List View panel on the left shows a blank white column. Adding a “No block selected.” message would improve the user experience by providing clearer feedback.
What happened 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/ during the first week of March 2025? Below, you’ll find an overview of the key changes and improvements.
A special thanks goes to @krupaly2k for collecting all the topics!
Editor : Apply the Post Content classes to the Editor Root – In FSE Templates, we are allowed to add custom classes to the Post Content 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.. However, the same classes are not applied on the .is-root-container.wp-block-post-content in the Block Editor.
Featured image: Add border style support – Revisit the decision to not include the border style support for the 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. block.
Image block: Add border style support – In these two uses there is a suggestion to revisit the decision to exclude the border style option from the image block.
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: Add Query Block Filtering by Taxonomies having non_queryable as false – This PR allows the Query Block to be filtered with the taxonomies having non_queryable as false.
Navigation in Site View: Automatically expand all options – This PR changes the default state of navigation submenus in Site View from collapsed to expanded, making all navigation options immediately visible to users without requiring manual expansion.
Feedback:
Query total: It is confusing that the editor and front does not match – When I inserted this block, I thought I was seeing 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. introduced by the changes to the query in WordPress 6.8.
download attribute for anchor element – this attribute will help to force the anchor link to image resource is downloaded instead of opening in the current/new tab.
Last week, there were some exciting developments 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/ Editor. Below, you’ll find an overview of the key changes and improvements.
A special thanks goes to @krupaly2k for his excellent compilation of all the topics from the Gutenberg development team.
EnhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. ✨
Search Block: Background wrapper for ‘Button Inside’ option – This issue is a follow up of #69318 Currently, the ‘Button Inside’ option in the Search 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. is missing a background wrapper with a common color as of the input, making the input and button appear separate instead of part of a single container.
Advanced Margin and Padding Editing for Block – Currently, the management of internal (padding) and external (margin) spacing for blocks in Gutenberg is limited and not very intuitive. Adding an advanced interface similar to Elementor would allow users to have precise control over block spacing without needing custom CSSCSSCascading Style Sheets..
Enhanced Block Management – Enhance Block Swapping – Intuitive Drag-and-Drop for Left/Right Reordering – The current block movement system in Gutenberg relies on up and down arrows or a basic drag-and-drop mechanism, which can be restrictive and unintuitive. A more visual and flexible approach, similar to how Elementor or Beaver Builder handles block positioning, would greatly enhance the user experience.
PR – Button Block: Add draft page creation capability – This PR adds the ability to create draft pages directly from the button block in the navigation editor, similar to how it already works in the navigation link block.
PR – Navigation in Site View: Automatically expand all options – This PR changes the default state of navigation submenus in Site View from collapsed to expanded, making all navigation options immediately visible to users without requiring manual expansion.
Bug 🐛
Block Directory: Issues in installing blocks from Inserter – When debugging the the issue #69315 found that when installing a block from inserter and then saving the post the block 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. doesn’t install and block disappears.
As with most releases since 20.0 this release has also primarily been focused on fixing bugs. But of course there are still always some features that join the mix.
Highlights
Ignore sticky posts in 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
The query loop blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. now has a new option to ignore sticky posts. When selected, the query block ignores whether or not a post has the sticky option enabled. So, all posts show based on the sorting preferences selected without taking the sticky status into account.
Add social icon block variation for discord
The social icons block now ships with the option to add a Discord icon.
Changelog
Enhancements
Block Library
Query block: Add option to ignore sticky posts behavior. (69057)
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. block: Use resolution tool component. (68471)
Display root appender when default block is disabled. (68951)
Fix 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. for root appender logic. (68994)
Inserter: Remove block default icon from no results message. (68693)
Rename aspect property to ratio to carry the defaultAspect in AspectRatioDropdown. (69085)
Writing Flow: Restore early return for no block selection in tab nav hook. (69079)
Social Links: Fix appender size in non-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. editor. (68215)
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/
Add support for the ‘ignore_sticky_posts’ argument. (68970)
Fix: Prevent Errors in 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. Processing and Encode URLs Properly. (67780)
Icons
Fix the background, arrowUpLeft, keyboardReturn and square icons. (69076)
Font Library
Refactor font variant components to use useId for checkbox IDs. (69050)
Block Directory
Remove block icon from InstalledBlocksPrePublishPanel. (69046)
DataViews
Fixed: Empty Pattern Overlap in Pattern Title in Dataviews Table Layout. (68997)
Media
Add optional chain to sizes indexing of media details in edit-site. (68995)
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.
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 CSS rule order in some constructed style sheets. (68923)
iAPI Router: Revert “Handle styles assets on region-based navigation” (69222)
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
Font Size Picker: Remove Custom option from FontSizePickerSelect dropdown. (69038)
Global Styles
Add missing list role to the list of blocks in the global Styles. (69027)
Block API
Block support: Preserve aria-label value in comment delimiter. (69002)
Block Editor
[Block Editor]: 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) – Add and Update missing reduce-motion mixing. (68417)
Performance
Post Editor
Editor: Don’t use selector shortcuts for the 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. queries. (68998)
Editor: Optimize ‘PostAuthorCheck’ component data selection. (69105)
Style Book
Improve StyleBook resize responsiveness for Classic Theme. (68980)
Remove reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org-native dependabot group – Take 2. (69122)
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.
Code Quality: Delete unused function from PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher Sync Issue generation script. (68947)
Last week, there were some exciting developments 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/ Editor. Below, you’ll find an overview of the key changes and improvements.
A special thanks goes to @krupaly2k for his excellent compilation of all the topics from the Gutenberg development team.
Need Design Feedback 🎨
[List View]Always open List View: disable sidebar animation when preference is enabled – When the ”Always open List View:’ preferences are enabled, 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. animation on first page load is a very distracting and unexpected experience.
Native WordPress custom fields are added twice – Custom Fields are sometimes being duplicated. Sometimes this results in two or even three copies of the same custom fieldCustom FieldCustom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. and value.
Spacer: Add background color support – Add the background-color design tool to the Spacer 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.
EnhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. ✨
Add lightbox functionality to Post Featured Image block – The Image block in Gutenberg includes a native lightbox functionality that allows users to expand images in a modal view. However, this functionality is not available in the 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. block, even though it would be equally useful in this context.
PR #67052 for Make BlockManager component reusable – The current BlockManager component is tightly coupled to the showBlockTypes and hideBlockTypes actions and cannot be used for other purposes.
[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)] PR #69248 for Audit the new Inserter accessibility – The new Inserter introduced in WordPress 5.5 has been identified by the accessibility team as a regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in the accessibility level compared to WordPress 5.4.
PR #69239 for Gradient: Add a border – When the gradient is white the field in the color palette panel is hard to see.
Thanks to @krupaly2kfor helping to create this post.
This time, due to the smaller sizes of the releases, this post contains information for both the 20.1 (22 January) and 20.2 (5 February) releases.
“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.
Although both releases were smaller in size, they contain many useful enhancements, bugfixes and more. Apart from the highlighted changes, work continued on updating 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. settings to use the ToolsPanel. Both updates ship with accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) updates as well.
20.1 (22 January)
Content preview for pages in DataViews
Menu name shown in list view
Color pickers in Navigation, Social Icons and 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. get Clear control
Changelog
20.2 (5 February)
Content block: color options for headings added
Changelog
20.1 (22 January)
Content preview for pages in DataViews
The DataViews got enhanced by a new preview functionality to show the page’s content instead of the featured image, similar to patterns and templates. You can activate this feature in the settings and switch between featured image and content preview. This setting persists across all three views, table, grid and list. (67278)
Menu name shown in list view
In the list view, the name of a menu is now shown instead of the block name “Navigation”. If the menu is changed, the name is updated as well. (68446)
Color pickers in Navigation, Social Icons and Post Featured Image get Clear control
Previously, color options at the Navigation, Social Icons and Post Featured Image blocks did not have a Clear control to easily remove the color. This applies to every color option on these blocks. (68454, 68564, 68525)
Other Notable Highlights
Enhancements
ESLint: Improve regex for valid-sprintf rule to handle ‘%%’. (68270)
Simplify sprintftranslationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. for percentage widths. (68587)
Block Library
Archive Title Block: Refactor settings panel to use ToolsPanel. (67915)
Author Name: Refactor settings panel to use ToolsPanel. (67953)
Block Editor: Move state logic inside ‘BlockRenameModal’. (68560)
Editor: New default rendering mode for editor via post type supports. (68549)
Document Settings
Change “Swap” to “Replace” for Template Action. (68234)
DataViews
Add: Media field changing ui to Dataviews and content preview field to posts and pages. (67278)
Bug Fixes
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Check post-type support before requesting autosaves. (68680)
Fix text direction for URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org and email fields in block editor for RTL languages. (68188)
Navigation Link UIUIUser interface: Remove onClose from onSelectBlock. (67760)
Post Featured Image: Adds control to clear the the overlay color. (68525)
Site Logo: Prevent uploading multiple images via drag and drop. (68618)
Social Links: Don’t prepend URL fragments. (68655)
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 label for Comments Pagination Next block translatable. (68373)
i18n: Make example translatable in comments-pagination-previous. (68374)
Components
Duotone: Fix scrollbars displayed on Duotone Control. (67187)
Fix SCSS Media Query Compilation Issue in Storybook. (68464)
Restore Non-Themed Text Colors for optimizeReadabilityFor. (68472)
StoryBook: Fix error that could occur when loading compiled CSSCSSCascading Style Sheets.. (68526)
Site Editor
Classic theme preview: Remove adminadmin(and super admin)-bar class name. (68519)
Fix: Site Editor Template part is missing an icon in 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.. (68653)
Navigation: Fix typo in history.navigation's function call. (68623)
Block Editor
Differentiate ‘Copy’ and ‘Copy styles’ snackbar confirmation messages. (68167)
Refactor: Separate input form styles to a dedicated stylesheet. (68501)
Update percentage strings to be translatable. (66323)
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: Fix the logic path that merges plain objects. (68579)
Accessibility
Nux: Standardize reduced motion handling using media queries. (68423)
Block Library
Fix Inconsistent Labels for Lightbox Feature. (68261)
Site Logo: Prevent focus loss when updating media from the sidebar. (68621)
Standardize reduced motion handling with media queries. (68315)
Components
Fix usage of tooltip in the Circular option picker. (68602)
Post Editor
Edit Post: Standardize reduced motion handling using media queries. (68426)
Widgets Editor
Customize Widgets: Standardize reduced motion handling using media queries. (68425)
Block Editor
Remove unnecessary CSS order property for the contrast checker in the Color hook. (68055)
[core-data] Document and add types for dynamic actions and selectors. (67668)
docs: Fix param name in gutenberg_add_can_update_block_bindings_editor_setting(). (68390)
docs: Fix return type on gutenberg_register_block_module_id(). (68393)
Block Library
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: Remove unused styles. (68615)
Site Logo: Remove unused argument for ‘mediaUpload’ function. (68617)
Global Styles
Remove unused prop for ‘BackgroundImageControls’. (68616)
Post Editor
Document Outline: Use block client ID as unique ‘key’. (68502)
Edit Widgets and Base Styles: Standardize reduced motion handling using media queries. (68427)
Components
Standardize reduced motion handling using media queries. (68421)
Block Directory
Standardize reduced motion handling using media queries #68419. (68420)
Site Editor
Edit Site: Add tsconfig.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. validation for package. (67406)
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.: Remove ESLint rule for deprecated functions. (68590)
First-time contributors
The following PRs were merged by first-time contributors:
@AhmarZaidi: Update percentage strings to be translatable. (66323)
Previously, it was only possible to change colors for text, background and link on the content block. With this update, the color of all headings and each individual heading level can be changed. (67783)
Other Notable Highlights
Enhancements
Block Library
Details block: Add name attribute for exclusive accordion. (56971)
Search Results Title Block: Add dropdown menu props to Tools Panel component. (68763)
Spacer: Add dropdown menu props to Tools Panel component. (68761)
Term List Block: Refactor settings panel to use ToolsPanel. (67955)
Design Tools
Position: Refactor “Position” controls panel to use ToolsPanel instead of PanelBody. (67967)
Post-content block 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. color support. (67783)
Navigation Submenu Block: Add example preview. (68378)
Bug Fixes
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._doing_it_wrong() for experimental-link-color. (68408)
Docs: Update links to 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.. (68888)
Lint: Fix broken URL reference for stylelint user guide configuration. (68706)
Used https in main-dashboard-button.md file. (68883)
wp-env: Add phpMyAdmin and multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site support to the documentation. (68125)
Code Quality
Inline Commenting: Change the PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher compat directory. (68846)
Fix: Remove invalid param from wp_register_style() in gutenberg_enqueue_stored_styles(). (68409)
Fix: setcookie() $value must be string in Gutenberg_HTTP_Signaling_Server::Handle_read_pending_messages(). (68411)
Block Library
Gallery: Remove unused inline menu styles. (68776)
Move HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element help messages to the block library utils. (68708)
Unify block title with a strict title case. (51912)
Video: Fix reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces.
https://reactjs.org component warning error. (68762)
Post Editor
Editor: Children prop to accept ReactNode. (68839)
Editor: Combine selectors in the ‘Header’ component. (68697)
Editor: Standardize reduced motion handling using media queries. (68424)
Components
Box Control: Add Runtime Check & Conditional Types for presets and presetKey Props. (68385)
Remove unnecessary Tooltip component from linked button. (68498)
Block Editor
Clean up unused utils of spacing size control. (68794)
Template Editor
Editor: Update post-type support key for new default rendering mode. (68745)
Tools
Build Tooling
Fix Duplicate Entries for 19.7.0 in changelog.txt. (68836)
E2E: Fix WP Editor 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. Boxes test. (68872)
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 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). 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.