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.
โ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 Site Editor project (formerly called Full Site Editing).
This release continues the ongoing effort to refine the editing experience, improve 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 streamline 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. customization. Below is a curated summary of the most notable changes in this release.
The HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Element is now selectable on Button and Separator blocks.
Users can now choose between <a> and <button> elements for better accessibility in the Advanced panel of the Button block.
For the Separator block, they can choose between <hr> and <div>.
Extensive ToolsPanel Refactoring
Many block settings panelsโincluding Button, Comment blocks, Embed, File, List, Navigation, Post Title, RSS, and moreโhave been refactored to use the unified ToolsPanel interface, providing a more consistent and organized editing experience.
Accessibility and usability
Several blocks, including Button, Columns, and Details, received keyboard accessibility improvements and better focus management.
Numerous 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 address issues with block controls, gallery image captions, social link translations, and more, resulting in a smoother editing workflow.
Changelog
Enhancements
Block Library
Button Block: Add HTML Element selection in Advanced settings. (70139)
Comment Date: Convert Comment Date block settings to ToolsPanel. (70248)
Comment Author Name Block: Refactor setting panel to use ToolsPanel. (69407)
Comment Edit Link: Refactor settings panel to use ToolsPanel. (70247)
Comment Title: Refactor settings panel to use ToolsPanel. (70246)
Comments Pagination Block: Refactor settings panel to use ToolsPanel. (70245)
Embed Block: Refactor setting panel to use ToolsPanel. (69636)
File Block: Refactor setting panel to use ToolsPanel. (70189)
Form Input: Convert Form Input block settings to ToolsPanel. (70249)
Form: Convert Form block settings to ToolsPanel. (70253)
Latest posts: Change panel body to tools panel. (70200)
List Block: Refactor setting panel to use ToolsPanel. (69387)
Navigation Link, Navigation Submenu: Hide title UIUIUser interface controls while keeping attribute support. (70234)
Navigation: Refactor display panel to use ToolsPanel. (68011)
Post Title: Refactor settings panel to use ToolsPanel. (70229)
RSS: Refactor setting panel to use ToolsPanel. (70213)
Separator: Change html element option visibility. (70185)
ShortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site.: Add role attribute to content in block.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (70164)
Video: Add option to set a track as default. (70227)
Components
ComboboxControl: Handle Unicode characters when matching values. (70180)
DropZone: Allow overriding the default icon. (70236)
Block Transforms
Adds transforms functionality to Post comments link and post comments number. (70287)
Fix: Click-through blur effect when gallery images have a caption. (69067)
Pullquote block: Cannot override cite element style via theme.json. (70260)
Social Link: Localize social service names for translations. (70199)
Social: Moves size settings to inspector controls. (70186)
Components
Ensure SVG Images Without a Width Attribute Are Displayed Correctly in FocalPointPicker. (70061)
FormTokenField: Fix filtering with full-width string. (70232)
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: Make storePart argument optional in overloads. (70296)
Post Editor
Editor: Better normalize strings for hierarchical term filtering. (70178)
Block Editor
Flex Layout: Fix incorrect default alignment values for Vertical Alignment Control component. (68866)
Accessibility
Block Library
Button: Avoid focus loss when unlinking using keyboard. (70192)
Columns block: Donโt use ToolsPanelItem for Columns setting. (70210)
Details Block: Fix keyboard accessibility issues and allow list view selection to show up inner blocks. (70056)
Components
Toolbar: Adjust colors for dark mode support. (69278)
Experiments
Interactivity API
iAPI: Remove the full-page client-side navigation experiment. (70228)
Documentation
Docs: Added the missing ALT attribute to all images. (70225)
Docs: Remove misleading section from curating the editor experience. (70262)
Removed Empty line and corrected typo in inline document. (70203)
Replace โ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.โ with โpanelโ in tutorial.md. (70257)
The wp_admin_notice() function should be called instead of custom HTML for adminadmin(and super admin) notice in docs/how-to-guides/notices/README.md. (70231)
Updated small typo in inline documentation. (70187)
useDropZone: Refactor documentation to use the correct function syntax. (70286)
Video: Use a unique โkeyโ in the โTrackListโ component. (70263)
Tools
Testing
Cover Block: Add E2E Test for FocalPointPicker. (69077)
E2E: Add general end-to-end tests for templateLock functionality. (70160)
Fix end-to-end test for block API / filtered blocks. (51882)
Format .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 be the repository owner. https://github.com/ workflows .yml file. (70219)
Account for tests env port being overridden from 8889 in PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher unit tests. (70267)
First-time contributors
The following PRs were merged by first-time contributors:
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 be 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 be 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_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 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)
@bschneidewind: Site Title: Fix logic for โaria-currentโ attribute. (68909)
@dontfeedthecode: Docs/update reference to JS build setup 404 in scripts README, fix absolute links. (69495)
@sabbir1991: Removed color.__experimentalDuotone from core blocks. (58241)
@SirLouen: Alignment note with WordPress report 62426. (69519)
Contributors
The following contributors merged PRs in this release:
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)
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)
Add โglob argument to rimraf cli scripts. (67829)
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)
โ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 (#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 release of 2024 introduces the Style Book to classic themes, a new Query Total block, a swathe of component library enhancements, and code quality improvements.
Support is available for classic themes that either support editor styles via add_theme_support( 'editor-styles' ) or have a 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. file.ย
The Style Book provides a comprehensive overview of your siteโs colors, typography, and block styles in an organized layout. Each block example and style group is labeled, making it easy to preview and understand your themeโs current design settings. Think of it as if your theme threw a party, and all the design elements showed up wearing name tags. ๐
For classic themes that support the Style Book, site patterns have been relocated to Appearance > Design > Patterns, consolidating all design-related functionality from the Site Editor into one place. Previously, patterns were listed under Appearance > Patterns.ย
Testing is an important step for this feature before itโs introduced to WordPress CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. If you have the time, please help identify potential issues, and suggest areas for improvement by logging your feedback on 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 be the repository owner. https://github.com/. Testing instructions can be found on the original PR. Thank you!
Introducing the Query Total block
You know how many results are in your queries, but do your siteโs readers? The new Query Total block is here to help.
When added within a Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block, the Query Total block displays the number of results the query has returned, or, alternatively, the current range in a set of paginated results.
More Highlights
Gutenberg 19.9 introduces phpMyAdmin to wp-env as a launch option. phpMyAdmin will automatically connect to the running mysqlMySQLMySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. database service, allowing you to inspect and manage the local WordPress database as you develop. (#67588).
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. backgrounds in the Cover block now come with resolution controls so that you can change their sizes (#67273).ย
Reset colors for blocks and global styles in the editor with a single click thanks to the inline reset button added to all color controls (#67116).
Looking to replace your Query blockโs design? Query block patterns have been relocated from a modal to a dropdown. Itโs still in the block toolbar, now under โChange designโ (#66993).
You can now also set your siteโs home page from within the Site Editor via the page actions menu (#65426). This is the equivalent of updating the Reading Settings in โSettings > Readingโ. Under โPagesโ in the editor, find the page youโd like to set as your homepage, click on the action menu, and select โSet as homepageโ.
Changelog
Enhancements
Feature: Addย navigation.isLoadingย state to core/router store. (67680)
Update the title, description, and order of Experiments page. (67762)
Storybook: Updateย ArgsTableย toย Controlsย in preview. (67582)
Storybook: Update control types fromย nullย toย undefined. (67581)
Storybook: Use manager-api instead of addons package. (67578)
Update @ariakit/reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. to 0.4.13. (65907)
Update @ariakit/react to 0.4.15 and @ariakit/test to 0.4.7. (67404)
Block Library
Cover Block: Image size option for featured image. (67273)
Feature: Allow Post Template block to get deeply nested within Query Block. (67657)
Image Block: Change how the Imageโs overlay styles are applied. (67788)
Navigation: Enable all non-interactive formats. (67585)
Query block: Move patterns modal to dropdown on block toolbar. (66993)
Separator block: Allow divs to be used as separators. (67530)
New Block: Add Query Total block for displaying total query results or ranges. (67629)
Block Library: Update the relationship ofย No resultsย block toย ancestor. (48348)
DataViews
Add 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. to the quick edit when bulk editing. (67390)
Data views: Expand configuration drop down on mobile. (67715)
Inline Commenting: Added new 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. as extension of the canvas. (67347)
Inline Commenting: Re-order the comments in sidebar in which blocks are listed. (66927)
Inline commenting: UXUXUser experience Enhancements for Comments. (67385)
Site Editor
Data Views: Add action for pages to set site homepage. (65426)
Sidebar: Update appearance of active items. (67318)
Data: Expose โuseSelectโ warning to third-party consumers. (67735)
Data: Include more details when shallow equality fails in โuseSelectโ. (67713)
Global Styles
Controls in grid should match between sidebar panel and editor. (67602)
Shadows: Improve design and a11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โdirect accessโ (i.e. unassisted) and โindirect accessโ meaning compatibility with a personโs assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) of remove button. (67705)
Block Editor
Prefer exact matches in Link Search results sorting. (67367)
Fix Site editor navigation menuNavigation MenuA theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. items alignment visual 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.. (67321)
Fix JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in the โuseTabNavโ hook. (67102)
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. boxes saving when theyโre not present. (67254)
Fix color of disabled buttons in dark toolbar. (67348)
Fix synced pattern editing in write mode and refactor block editing mode to reducer. (67026)
Fix: Remove parent block selector while in Write mode. (67395)
Fix: Write Mode mode persists as enabled in 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. (67587)
Global Styles
Edit site: Remove empty preview border and redirect to editor in global styles navigation. (67548)
Fix: Styles section does not moves stylebook to typography. (67423)
Global Styles Preview: Donโt use 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. component. (67682)
Style Book
Fix critical error when blocks are not registered. (67703)
Design Tools
Global Styles: Fix handling of booleans when stabilizing block supports. (67552)
Block bindings
Revert โExtensibility: Make Block Bindings work withย editor.BlockEditย hookโ. (67516)
Patterns
Site Editor: Fix the patterns route on mobile. (67467)
Fix List View not updating when switching editor modes. (67379)
Extensibility
Make Block Bindings work withย editor.BlockEditย hook. (67370)
Synced Patterns
Remove use ofย contentOnlyย block editing mode for synced patterns. (67364)
Widgets Editor
Block Bindings: Remove client core sources registration in widgets. (67349)
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 search_columns argument in the user endpoint. (67330)
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] Fix: Space does not triggers the media button on grid view. (67791)
Block Editor
BlockSwitcher: Refactor to use Button layout properly. (67502)
Remove one occurrence of incorrect usage of ItemGroup. (67427)
DataViews
[a11y] Fix: Media button on the page view grid does not have an accessible name. (67690)
Components
Fix incorrect usage of ItemGroup in the Image block filters panel. (67513)
Docs: Fix Playwright Page Object Model link. (67652)
Docs: Include the strategy for settingย enginesย for WordPress packages. (67727)
Docs: Remove 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. key projects links on the documentation. (67491)
Storybook: Support keyword search in Icon Library. (67442)
Switch Several 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. in Document Files. (67706)
Update global stylesheet docblocks withย custom-cssย parameter. (67716)
Updated old URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org in Documentation. (67446)
Reduce the โisZoomOutโ selector calls in the block toolbar. (67594)
Remove โReact.Childrenโ legacy 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. in โWarningโ component. (67675)
Replace remaining custom deep cloning with โstructuredCloneโ. (67707)
Use path based routing instead of query args and site-editor.php routes. (67199)
Post Editor
Editor: Refactor โPostPublishPanelPostpublishโ to function component. (67398)
Editor: Use 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. instead of HOC in โPostPublishButtonOrToggleโ. (67413)
Remove PostSlugCheck and PostSlug unused components. (67414)
DataViews
Create a single component for rendering the actions list. (67558)
Fix: Dataviews remove primary field concept from some classes. (67689)
Data Layer
TypeScript: Convert factory utils in data package to TS. (67667)
Shortcodes
Add types for shortcodeShortcodeA shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. package. (67416)
Block bindings
Remove fallback forย context.postTypeย in post meta. (67345)
Block hooks
Navigation block: Remove more obsolete Block Hooks helpers. (67193)
Combine the release steps to ensure that releases are tagged. (65591)
Testing
e2e-test-utils-playwright: Increase timeout of site-editor selector. (66672)
Security
npm Packages
Update npm dependencies to fix issues reported by audit. (67708)
Various
Extensibility
Add ability to show drop cap setting in paragraph block by default. (45994)
DataViews: Move template and pattern title fields. (67449)
DataViews: Updateย usePostFieldsย to accept postType. (67380)
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
Only override REST server for older WP versions. (67779)
โ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 Site Editor project (formerly called Full Site Editing).
Experimental inline comments are available as an experimental feature inย Gutenberg. Users will be able to comment on top of blocks, only in non-published posts. In order to activate them, go to Gutenberg > Experiments and enable 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. Comments checkbox.
Code quality, 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 build tooling
The release includes some improvements on the overall site editing experience:ย a keyboard shortcut for zoom out (66400), a cleaner layout (66255), and a new color tab (65692) for the style book.
The client-side media processing work has started (64845), but keep in mind that this new package is private and experimental.
Also, a few ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Compiler errors have been fixed and packages now use npm workspaces (65681).
HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Force HTML preview in view mode. (66440)
Iterate zoom out shuffle into a more visual control. (66194)
Use the zoom-level value to scale 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.. (66280)
Site Editor
Remove synchronization of canvas mode into store. (66213)
Editor Interface: Remove small 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. from global styles/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-partysidebarSidebarA 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.. (64474)
Remove purple coloring from DocumentBar and PostCard. (66451)
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Add the โgetEntitiesConfigโ resolver. (65871)
BlockGroupToolbar: Better 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. context for toolbar labels. (66211)
Set ResizableEditor height based on border-box. (66342)
BackportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.: Caching of global styles for blocks from core. (66349)
Inline Commenting: Disable comments on published posts for now. (66583)
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/.
Backport from WordPress core: Improvements for the post format 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.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.. (66037)
Build Tooling
Create Block: Adds --target-dir flag to allow the tool to target where to scaffold. (53781)
Editor: Multi-entity saving: Show correct count of entities to be saved. (66482)
Fix : โSet 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.โ button border flashes on focus. (66092)
Fix Parent Check Condition in buildTermsTree. (66006)
Fix: Improve the DocumentBar post type label for the Homepage and Posts Page cases. (66355)
PostTaxonomiesFlatTermSelector: Restore space between 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.) list and most used tags. (66566)
Typo 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. pane is a 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 panel. (66502)
Block Library
Block registration: Normalize blockType.parent to array. (66250)
Preload: Fix multiple regressions around global styles. (66468)
Build tooling
Create block: Ensure $slug is replaced with passed slug. (66528)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โdirect accessโ (i.e. unassisted) and โindirect accessโ meaning compatibility with a personโs assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Block Style Variations: Reuse block metadata in WP_Theme_JSON::Get_valid_block_style_variations() for better performance. (66539)
Block Bindings: Use getEntityConfig instead of getPostTypes to get available slugs. (66101)
Build Tooling
Fix/compare performance with correct branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. (66196)
Quick Edit: Fix JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error when bulk editing pages. (66358)
Components: Prevent generated readmes duplicating h1 elements when published. (66180)
Correct documentation on display type in flow layouts. (66224)
Docs: 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. โ Add documentation for getServerState() and getServerContext(). (66104)
Fix undo/redo Button size in Storybook playground. (66538)
Fix: 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. Schema Docgen doesnโt work on Windows OS. (66414)
ItemGroup: Improve stories to default to bordered and separated. (66191)
โ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 Site Editor project (formerly called Full Site Editing).
This release includes 186 PRs from 54 contributors, and includes several exciting features such as new Write / Design modes and 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. Bindings editor APIs.
The Edit and Select modes are now called Write and Design modes.
In Write mode, you can focus solely on writing, with all layout options hidden from 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..
If you want to adjust colors, sizes, create columns, and more, switch to Design mode!
Block Bindings Editor APIs are public
Gutenberg 19.4 and WordPress 6.7 will allow developers to use certain block binding APIs that were previously private and used only in CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. A dev notedev noteEach important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. and documentation will be published for the WordPress 6.7 release, but here is an overview:
getBlockBindingsSource, getBlockBindingsSources: The first retrieves a specific block binding source and its properties, while the second retrieves a list of all block binding sources.
updateBlockBindings: Similar to updateBlockAttributes, this function allows you to create or remove connections between a block and any source.
removeAllBlockBindings: Removes all connections from a block to any source.
registerBlockBindingsSource, unregisterBlockBindingsSource: Enables registering and unregistering block bindings in the editor. Registering them in the editor allows modification of source fetching and editing.
Other Notable Highlights
There are some improvements too that are worthy to mention like:
Comment block components (e.g., author name, date, content, pagination) and Query block components (e.g., no results, pagination, title) will now have previews when hovered over in the inserter panel.
Additionally, the BorderBoxControl, BorderControl, and BoxControl components are now considered stable.(65469, 65475, 65586)
Also the filters PreSavePost and SavePost are now stable. (64198)
Not to mention all the bugs fixed that you can check in the changelog below.
Changelog
Enhancements
Block Library
Added keywords to query loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block. (65515)
AvatarAvatarAn avatar is an image or illustration that specifically refers to a character that represents an online user. Itโs usually a square box that appears next to the userโs name.: Add block example. (65509)
Move the toggle button to before the device preview dropdown. (65446)
Only show zoom out inserters on block selection. (65759)
Block Editor
Hide block transforms in contentOnly mode for non-content blocks. (65394)
Inserter: Always show the list of all patterns in the inserter. (65611)
MediaPlaceholder: Use InputControl in URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org popover. (65656)
Use proper named File when uploading external images. (65693)
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.UIUIUser interface: Remove popover max height. (65835)
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.
Hooks: Add support for async filters and actions. (64204)
New APIs
Revert โMake wordpress/fields a private packageโ. (65477)
Link autocompleter: Decode post title HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities. (65589)
Openverse: Prevent multiple insertions during upload. (65719)
Paste Handler: Try to fix pasting text with formatting. (63779)
Fix: Makes edit mode selector persistent in top toolbar mode. (65511)
Global styles: Do not navigate twice to home screen when opening the sidebar. (65523)
Make resizable frame compatible with RTL languages. (65545)
Command Palette: Fix โAdd new pageโ command for hybrid theme. (65534)
Export useResizeObserverReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native version directly. (65588)
Fix aria-checked attribute not set for 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 settings buttons in Options dropdown. (65667)
Revert โuseToolsPanel: Calculate menuItems in layout effect to avoid painting intermediate stateโ. (65533)
Focus Mode
Limit zoom out toggle to specific post types. (65732)
Remove additional Typeset screen and surface typesets in the typography panel. (65579)
Widgets Editor
Fixed the focus cutoff of the editor buttons in the widgets editor. (65395)
Post Editor
Omit 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 on โdesignโ type posts. (64990)
Temp disable test for Classic Block Media issue. (65793)
Select Mode
Select Mode: Blocks outside the main sections root should be disabled. (65518)
Select Mode: Prevent the inbetween inserter from triggering within sections. (65529)
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)
Post Editor
Make the Settings panel toggle button show its keyboard shortcut in its tooltip. (65322)
Resizable Editor: Make the editor resizable with arrow keys. (65546)
Components
ToggleGroupControl: Fix arrow key navigation in RTL. (65735)
Zoom Out
Donโt show tooltip in zoom out toggle button when showIconLabels is true. (65573)
Block Library
Improve the Query Loop block display settings labels. (65524)
Block Editor
Updates LayoutTypeSwitcher to use ToggleGroupControl. (65498)
Code Quality
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): Move script module HTML printing to 6.7 compat. (65620)
Update to use a11y script module package in Core. (65539)
Move insertionPoint state to block-editor store/rename existing insertionPoint to insertionCue. (65098)
Documentation
Block Bindings: Add @sincetagtagA 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.) in bindings apis JSDocs. (65796)
Block Editor: Fix README for FontFamilyControl component. (65660)
Only pass usesContext properties to editor APIs. (65661)
Refactor passing select and dispatch instead of full Registry. (65710)
Unify logic in getPostMetaFields function. (65462)
Post Editor
Customize widgets, edit post: Refactor Button to new sizes. (65807)
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.: Remove unused property isZoomedOutView in useSelect(). (65628)
Global style revisionsRevisionsThe WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: Remove unnecessary goTo navigation call. (65810)
GH Actions: Run the tests against PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 8.3. (65357)
Revert โTemp disable test for Classic Block Media issue.โ. (65809)
Build Tooling
Composer: Prevent a lock file from being created. (65359)
โWhatโs new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โblocksโ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/โฆโ posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโs an overview of different ways to keep up with Gutenberg and the Editor.
A total of 174 PRs were merged in Gutenberg 19.3, with 7 first-time contributors! With WordPress 6.7 rapidly approaching, many contributors are focusing on bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. However, this release still includes some great features and enhancements, including stabilizing the Zoom Out mode!
The Zoom Out Mode is officially out of the experiment and is available to all users. This new mode allows users to zoom out to edit and create at the pattern level over granular 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. editing. This effort aims to provide a new, high-level approach to building and interacting with your site. Follow the 6.7 iteration issue for more information.
Swap the position of the publish buttons
A nice user experience improvement to swap the โCancelโ and the โPublishโ buttons in the pre-publish check panel. Now, users donโt have to move their cursor unnecessarily when publishing. (#65317)
Use custom block names in inspector controls
Uses the custom name for a block in the block inspector controls when available. (#65398)
Allow opting out of the โChoose a patternโ modal when adding new pages
The โChoose a patternโ modal can be distracting for power users who always want to start with a blank page. A new preference toggle disables the modal when adding new pages. (#65026)
Automatic phone number linking
The link field can now be automatically populated withย tel:ย when the selected text is a phone number. (#64865)
Allow dropping multiple images to the image block
Multiple images can now be dropped on an image block, converting it to a gallery block. In addition, dropping multiple file types will each create an appropriate block. (#65030, #65144)
Create Block: Update the minimum required PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version to 7.2. (65166)
Media Utils: Add TypeScript support and export more utils. (64784)
Media placeholders: Add โdragโ to the text. (65149)
Restore: Move to trashTrashTrash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. button in Document settings. (65087)
Inspector Controls: Use custom block name in inspector controls when available. (65398)
Navigator Screen: Warn if path doesnโt follow a URLURLA specific web address of a website or web page on the Internet, such as a websiteโs URL www.wordpress.org-like scheme. (65231)
Terms List block: Add Categories-specific variation. (65434)
Zoom Out
Add Zoom Out toggle to editor headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโs opinion about your content and you/ your organizationโs brand. It may also look different on different screen sizes. when experiment enabled. (65183)
Add prompt for drag and drop in Patterns tab in Zoom Out mode. (65115)
Close inserter on exiting Zoom Out to edit. (65194)
Use post metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. label fromย register_metaย in block bindings workflows. (65099)
Global Styles
Refactor site background controls and move site global styles into Background group. (65304)
Spacing control: Replace sides dropdwon with link button. (65193)
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.
Update: Rephrase โForce page reloadโ and move to Advanced. (65081)
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/.
Global Styles: Allow read access to users withย edit_postsย capabilitiescapabilityAย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โedit_postsโ capability), but not permission to edit other usersโ posts (the โedit_others_postsโ capability).. (65071)
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. / Post template: Enable post format 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.. (64167)
Inserter: Fix loading indicator for reusable blocks. (64839)
Normalize spacing in Layout hook controls. (65132)
Pattern Inserter: Fix pattern list overflow. (65192)
Remove reset styles RTL from 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.. (65150)
Revert โBlock Insertion: Clear the insertion point when selecting a different block or clearing block selection (#64048)โ (65208)
Components
BoxControl: Unify input filed width whether linked or not. (65348)
Remove zoom out toggle when editor is not iframed. (65452)
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)
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 script-module. (65101)
Interactivity API: Use a11y Script Module in Gutenberg. (65123)
Script Modules API: Print script module live regions HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in page HTML. (65380)
Form Input: Donโt useย flex-direction: Row-reverseย for checkbox field. (64232)
Navigation Menus: Remove Warning and add notice for Navigation. (63921)
Global Styles: Fix the shadows Range control accessibility and usability. (63908)
Block Editor: Fix accessibility of the hooked blocks toggles. (63133)
Post Editor
Support keyboard resizing of meta boxes pane. (65325)
Swap position of the Pre-publish checks buttons. (65317)
Performance
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Batch remaining actions in resolvers. (65176)
Block Editor: Use static access for selector in โuseZoomOutModeExitโ. (65337)
Editor: Optimize global styles permission check. (65177)
Experiments
Block bindings REST API: Bring bindings UIUIUser interface in Site Editor. (64072)
Documentation
Add JSDoc block for getSectionRootClientId in block editor package. (65219)
ButtonGroup: Fix story to show what the component does. (65336)
Editor: Use 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. instead of HoC inย BlockManager. (65349)
Data Views Fields: Migrate store and actions from editor package to fields package. (65261)
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 โfunction_existsโ checks for methods with โgutenbergโ prefix. (65260)
Global Styles: Update REST controller override method and backportbackportA port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changes from Core. (65259)
Patterns: Remove unused method returned from โmapSelectโ. (65073)
Embed: Convert EmbedPreview component to functional component. (51325)
Components
BoxControl: Fix critical error when null value is passed. (65287)
You must be logged in to post a comment.