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 happened in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ during the first week of March 2025? Below, you’ll find an overview of the key changes and improvements.
A special thanks goes to @krupaly2k for collecting all the topics!
Editor : Apply the Post Content classes to the Editor Root – In FSE Templates, we are allowed to add custom classes to the Post Content blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.. However, the same classes are not applied on the .is-root-container.wp-block-post-content in the Block Editor.
Featured image: Add border style support – Revisit the decision to not include the border style support for the featured imageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. block.
Image block: Add border style support – In these two uses there is a suggestion to revisit the decision to exclude the border style option from the image block.
Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Add Query Block Filtering by Taxonomies having non_queryable as false – This PR allows the Query Block to be filtered with the taxonomies having non_queryable as false.
Navigation in Site View: Automatically expand all options – This PR changes the default state of navigation submenus in Site View from collapsed to expanded, making all navigation options immediately visible to users without requiring manual expansion.
Feedback:
Query total: It is confusing that the editor and front does not match – When I inserted this block, I thought I was seeing a bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. introduced by the changes to the query in WordPress 6.8.
download attribute for anchor element – this attribute will help to force the anchor link to image resource is downloaded instead of opening in the current/new tab.
Last week, there were some exciting developments in the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Editor. Below, you’ll find an overview of the key changes and improvements.
A special thanks goes to @krupaly2k for his excellent compilation of all the topics from the Gutenberg development team.
EnhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. ✨
Search Block: Background wrapper for ‘Button Inside’ option – This issue is a follow up of #69318 Currently, the ‘Button Inside’ option in the Search BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. is missing a background wrapper with a common color as of the input, making the input and button appear separate instead of part of a single container.
Advanced Margin and Padding Editing for Block – Currently, the management of internal (padding) and external (margin) spacing for blocks in Gutenberg is limited and not very intuitive. Adding an advanced interface similar to Elementor would allow users to have precise control over block spacing without needing custom CSSCSSCascading Style Sheets..
Enhanced Block Management – Enhance Block Swapping – Intuitive Drag-and-Drop for Left/Right Reordering – The current block movement system in Gutenberg relies on up and down arrows or a basic drag-and-drop mechanism, which can be restrictive and unintuitive. A more visual and flexible approach, similar to how Elementor or Beaver Builder handles block positioning, would greatly enhance the user experience.
PR – Button Block: Add draft page creation capability – This PR adds the ability to create draft pages directly from the button block in the navigation editor, similar to how it already works in the navigation link block.
PR – Navigation in Site View: Automatically expand all options – This PR changes the default state of navigation submenus in Site View from collapsed to expanded, making all navigation options immediately visible to users without requiring manual expansion.
Bug 🐛
Block Directory: Issues in installing blocks from Inserter – When debugging the the issue #69315 found that when installing a block from inserter and then saving the post the block pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party doesn’t install and block disappears.
As with most releases since 20.0 this release has also primarily been focused on fixing bugs. But of course there are still always some features that join the mix.
Highlights
Ignore sticky posts in query loopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.
The query loop blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. now has a new option to ignore sticky posts. When selected, the query block ignores whether or not a post has the sticky option enabled. So, all posts show based on the sorting preferences selected without taking the sticky status into account.
Add social icon block variation for discord
The social icons block now ships with the option to add a Discord icon.
Changelog
Enhancements
Block Library
Query block: Add option to ignore sticky posts behavior. (69057)
Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. block: Use resolution tool component. (68471)
Display root appender when default block is disabled. (68951)
Fix regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. for root appender logic. (68994)
Inserter: Remove block default icon from no results message. (68693)
Rename aspect property to ratio to carry the defaultAspect in AspectRatioDropdown. (69085)
Writing Flow: Restore early return for no block selection in tab nav hook. (69079)
Social Links: Fix appender size in non-iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. editor. (68215)
REST APIREST APIThe REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.
Add support for the ‘ignore_sticky_posts’ argument. (68970)
Fix: Prevent Errors in HeaderHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. Processing and Encode URLs Properly. (67780)
Icons
Fix the background, arrowUpLeft, keyboardReturn and square icons. (69076)
Font Library
Refactor font variant components to use useId for checkbox IDs. (69050)
Block Directory
Remove block icon from InstalledBlocksPrePublishPanel. (69046)
DataViews
Fixed: Empty Pattern Overlap in Pattern Title in Dataviews Table Layout. (68997)
Media
Add optional chain to sizes indexing of media details in edit-site. (68995)
Block hooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
iAPI Router: Fix CSS rule order in some constructed style sheets. (68923)
iAPI Router: Revert “Handle styles assets on region-based navigation” (69222)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Components
Font Size Picker: Remove Custom option from FontSizePickerSelect dropdown. (69038)
Global Styles
Add missing list role to the list of blocks in the global Styles. (69027)
Block API
Block support: Preserve aria-label value in comment delimiter. (69002)
Block Editor
[Block Editor]: A11yAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) – Add and Update missing reduce-motion mixing. (68417)
Performance
Post Editor
Editor: Don’t use selector shortcuts for the taxonomyTaxonomyA taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. queries. (68998)
Editor: Optimize ‘PostAuthorCheck’ component data selection. (69105)
Style Book
Improve StyleBook resize responsiveness for Classic Theme. (68980)
Remove reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-native dependabot group – Take 2. (69122)
PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party
Code Quality: Delete unused function from PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher Sync Issue generation script. (68947)
Last week, there were some exciting developments in the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ Editor. Below, you’ll find an overview of the key changes and improvements.
A special thanks goes to @krupaly2k for his excellent compilation of all the topics from the Gutenberg development team.
Need Design Feedback 🎨
[List View]Always open List View: disable sidebar animation when preference is enabled – When the ”Always open List View:’ preferences are enabled, the sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. animation on first page load is a very distracting and unexpected experience.
Native WordPress custom fields are added twice – Custom Fields are sometimes being duplicated. Sometimes this results in two or even three copies of the same custom fieldCustom FieldCustom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. and value.
Spacer: Add background color support – Add the background-color design tool to the Spacer blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.
EnhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. ✨
Add lightbox functionality to Post Featured Image block – The Image block in Gutenberg includes a native lightbox functionality that allows users to expand images in a modal view. However, this functionality is not available in the Post Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. block, even though it would be equally useful in this context.
PR #67052 for Make BlockManager component reusable – The current BlockManager component is tightly coupled to the showBlockTypes and hideBlockTypes actions and cannot be used for other purposes.
[AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)] PR #69248 for Audit the new Inserter accessibility – The new Inserter introduced in WordPress 5.5 has been identified by the accessibility team as a regressionregressionA software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in the accessibility level compared to WordPress 5.4.
PR #69239 for Gradient: Add a border – When the gradient is white the field in the color palette panel is hard to see.
Thanks to @krupaly2kfor helping to create this post.
This time, due to the smaller sizes of the releases, this post contains information for both the 20.1 (22 January) and 20.2 (5 February) releases.
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.
Although both releases were smaller in size, they contain many useful enhancements, bugfixes and more. Apart from the highlighted changes, work continued on updating the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. settings to use the ToolsPanel. Both updates ship with accessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) updates as well.
20.1 (22 January)
Content preview for pages in DataViews
Menu name shown in list view
Color pickers in Navigation, Social Icons and Post Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. get Clear control
Changelog
20.2 (5 February)
Content block: color options for headings added
Changelog
20.1 (22 January)
Content preview for pages in DataViews
The DataViews got enhanced by a new preview functionality to show the page’s content instead of the featured image, similar to patterns and templates. You can activate this feature in the settings and switch between featured image and content preview. This setting persists across all three views, table, grid and list. (67278)
Menu name shown in list view
In the list view, the name of a menu is now shown instead of the block name “Navigation”. If the menu is changed, the name is updated as well. (68446)
Color pickers in Navigation, Social Icons and Post Featured Image get Clear control
Previously, color options at the Navigation, Social Icons and Post Featured Image blocks did not have a Clear control to easily remove the color. This applies to every color option on these blocks. (68454, 68564, 68525)
Other Notable Highlights
Enhancements
ESLint: Improve regex for valid-sprintf rule to handle ‘%%’. (68270)
Simplify sprintftranslationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. for percentage widths. (68587)
Block Library
Archive Title Block: Refactor settings panel to use ToolsPanel. (67915)
Author Name: Refactor settings panel to use ToolsPanel. (67953)
Block Editor: Move state logic inside ‘BlockRenameModal’. (68560)
Editor: New default rendering mode for editor via post type supports. (68549)
Document Settings
Change “Swap” to “Replace” for Template Action. (68234)
DataViews
Add: Media field changing ui to Dataviews and content preview field to posts and pages. (67278)
Bug Fixes
CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Check post-type support before requesting autosaves. (68680)
Fix text direction for URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org and email fields in block editor for RTL languages. (68188)
Navigation Link UIUIUser interface: Remove onClose from onSelectBlock. (67760)
Post Featured Image: Adds control to clear the the overlay color. (68525)
Site Logo: Prevent uploading multiple images via drag and drop. (68618)
Social Links: Don’t prepend URL fragments. (68655)
i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Make example label for Comments Pagination Next block translatable. (68373)
i18n: Make example translatable in comments-pagination-previous. (68374)
Components
Duotone: Fix scrollbars displayed on Duotone Control. (67187)
Fix SCSS Media Query Compilation Issue in Storybook. (68464)
Restore Non-Themed Text Colors for optimizeReadabilityFor. (68472)
StoryBook: Fix error that could occur when loading compiled CSSCSSCascading Style Sheets.. (68526)
Site Editor
Classic theme preview: Remove adminadmin(and super admin)-bar class name. (68519)
Fix: Site Editor Template part is missing an icon in the sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (68653)
Navigation: Fix typo in history.navigation's function call. (68623)
Block Editor
Differentiate ‘Copy’ and ‘Copy styles’ snackbar confirmation messages. (68167)
Refactor: Separate input form styles to a dedicated stylesheet. (68501)
Update percentage strings to be translatable. (66323)
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
iAPI: Fix the logic path that merges plain objects. (68579)
Accessibility
Nux: Standardize reduced motion handling using media queries. (68423)
Block Library
Fix Inconsistent Labels for Lightbox Feature. (68261)
Site Logo: Prevent focus loss when updating media from the sidebar. (68621)
Standardize reduced motion handling with media queries. (68315)
Components
Fix usage of tooltip in the Circular option picker. (68602)
Post Editor
Edit Post: Standardize reduced motion handling using media queries. (68426)
Widgets Editor
Customize Widgets: Standardize reduced motion handling using media queries. (68425)
Block Editor
Remove unnecessary CSS order property for the contrast checker in the Color hook. (68055)
[core-data] Document and add types for dynamic actions and selectors. (67668)
docs: Fix param name in gutenberg_add_can_update_block_bindings_editor_setting(). (68390)
docs: Fix return type on gutenberg_register_block_module_id(). (68393)
Block Library
Query LoopLoopThe Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.: Remove unused styles. (68615)
Site Logo: Remove unused argument for ‘mediaUpload’ function. (68617)
Global Styles
Remove unused prop for ‘BackgroundImageControls’. (68616)
Post Editor
Document Outline: Use block client ID as unique ‘key’. (68502)
Edit Widgets and Base Styles: Standardize reduced motion handling using media queries. (68427)
Components
Standardize reduced motion handling using media queries. (68421)
Block Directory
Standardize reduced motion handling using media queries #68419. (68420)
Site Editor
Edit Site: Add tsconfig.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. validation for package. (67406)
PluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party: Remove ESLint rule for deprecated functions. (68590)
First-time contributors
The following PRs were merged by first-time contributors:
@AhmarZaidi: Update percentage strings to be translatable. (66323)
Previously, it was only possible to change colors for text, background and link on the content block. With this update, the color of all headings and each individual heading level can be changed. (67783)
Other Notable Highlights
Enhancements
Block Library
Details block: Add name attribute for exclusive accordion. (56971)
Search Results Title Block: Add dropdown menu props to Tools Panel component. (68763)
Spacer: Add dropdown menu props to Tools Panel component. (68761)
Term List Block: Refactor settings panel to use ToolsPanel. (67955)
Design Tools
Position: Refactor “Position” controls panel to use ToolsPanel instead of PanelBody. (67967)
Post-content block headerHeaderThe header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. color support. (67783)
Navigation Submenu Block: Add example preview. (68378)
Bug Fixes
Fix: InvalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid._doing_it_wrong() for experimental-link-color. (68408)
Docs: Update links to HTTPSHTTPSHTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information.. (68888)
Lint: Fix broken URL reference for stylelint user guide configuration. (68706)
Used https in main-dashboard-button.md file. (68883)
wp-env: Add phpMyAdmin and multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site support to the documentation. (68125)
Code Quality
Inline Commenting: Change the PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher compat directory. (68846)
Fix: Remove invalid param from wp_register_style() in gutenberg_enqueue_stored_styles(). (68409)
Fix: setcookie() $value must be string in Gutenberg_HTTP_Signaling_Server::Handle_read_pending_messages(). (68411)
Block Library
Gallery: Remove unused inline menu styles. (68776)
Move HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element help messages to the block library utils. (68708)
Unify block title with a strict title case. (51912)
Video: Fix reactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. component warning error. (68762)
Post Editor
Editor: Children prop to accept ReactNode. (68839)
Editor: Combine selectors in the ‘Header’ component. (68697)
Editor: Standardize reduced motion handling using media queries. (68424)
Components
Box Control: Add Runtime Check & Conditional Types for presets and presetKey Props. (68385)
Remove unnecessary Tooltip component from linked button. (68498)
Block Editor
Clean up unused utils of spacing size control. (68794)
Template Editor
Editor: Update post-type support key for new default rendering mode. (68745)
Tools
Build Tooling
Fix Duplicate Entries for 19.7.0 in changelog.txt. (68836)
E2E: Fix WP Editor MetaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Boxes test. (68872)
This is GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 20.0, which means it’s the 200th release of the Gutenberg pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.
It’s been almost exactly eight years since the initial commit to the Gutenberg repository and about four years since we celebrated the 100th release.
There is a lot happening in the WordPress world these days. But I want to use this moment to take a step back and just say thank you! Thank you to all the individual contributors that have spent countless hours over the past eight years steadily moving this project along. Whether you are still an active contributor, or you have long moved on to work on something else, thank you for all your work. ❤️
Even though this is the 200th release of the Gutenberg plugin, the actual release itself is the same as any other release in the past eight years. It includes new features, enhancements, and bugfixes. The remainder of this “What’s new in Gutenberg” post will follow the regular format.
The “What’s new in Gutenberg” posts (#gutenberg-new) appear on a biweekly basis after every Gutenberg release, and showcase the latest features and improvements.
Interested in learning more? Here’s an overview of how you can keep up with news and events related to Gutenberg and the BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor.
The last first of 2025 introduces improvements to the Style Book, a new starter pattern ui, a swathe of component library enhancements, and code quality improvements.
The Style Book got a few improvements in this release. It now features different sections for typography, colors, and individual blocks that all activate when the user navigates to those menu items. Additionally, the Style Book now its own URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (#67811), so you can access it directly.
Starter Patterns get a new UIUIUser interface
We’ve received a lot of feedback that the old Modal based approach for starter patterns caused more annoyance than it helped. So, in an effort to improve the experience, the modal has been removed, and instead, if starter patterns exist, the page will load in the zoomed-out mode with the pattern inserter already opened.
Easily set a Page to become the Posts Page
Similar to the “Set Homepage” action that was added in a recent release, it is now possible to easily set a page to become the posts page using a post action in the dataviews for pages.
Display Block Type Badge for renamed blocks
To clarify what block you are currently editing, the block type is displayed as a badge next to the custom name when a block is renamed.
More Highlights
wp-env now supports multisitemultisiteUsed to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations allowing developers to easily bootstrap multisite environments, especially for ease of feature testing and quality control. (67845)
Block HooksHooksIn WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. get a major boost by now allowing developers to apply hooks to post content and synced patterns. This has been a highly requested feature of block hooks since day one. (67272 & 68058)
Changelog
Enhancements
Interactivity APIAPIAn API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.
iAPI Router: Handle styles assets on region-based navigation. (67826)
Prevent each directive errors and allow any iterable. (67798)
Introduce new filterFilterFilters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. “render_block_core_navigation_link_allowed_post_status”. (63181)
Query Pagination: Update ‘showLabel’ help text. (68105)
Query Total block: Reduce concatenation in the output text. (68150)
Post Featured ImageFeatured imageA featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Use the ‘ResolutionTool’ component. (68294)
Add Tools Panel dropdown menu props to More block. (68039)
Archive: Add dropdown menu props to ToolsPanel component. (68010)
Date Block: Add dropdown menu props to ToolsPanel component. (68018)
ExcerptExcerptAn excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. Block: Refactor settings panel to use ToolsPanel. (67908)
Featured Image Block: Refactor setting panel. (67456)
Login/Logout: Add dropdown menu props to ToolsPanel component. (68009)
Login/Logout: Refactor settings panel to use ToolsPanel. (67909)
More Block: Refactor settings panel to use ToolsPanel. (67905)
Navigation Submenu Block: Refactor settings panel to use ToolsPanel. (67969)
Page List Block: Add dropdown menu props to ToolsPanel component. (68012)
Page List Block: Refactor settings panel to use ToolsPanel. (67903)
Query Page Numbers Block: Refactor settings panel to use ToolsPanel. (67958)
Query Page Numbers: Add dropdown menu props to ToolsPanel component. (68013)
Query Pagination: Refactor settings panel to use ToolsPanel. (67914)
Refactor “Settings” panel of Navigation Item block to use ToolsPanel instead of PanelBody. (67973)
Replace PanelBody with ToolsPanel and ToolsPanelItem in column block. (67913)
Replace PanelBody with ToolsPanel and ToolsPanelItem in spacer block. (67981)
Replace PanelBody with ToolsPanel in columns block. (67910)
Site Title Block: Add dropdown menu props to ToolsPanel component. (68017)
Site Title Block: Refactor settings panel to use ToolsPanel. (67898)
Add reset button to ColorGradientSettingsDropdown. (67800)
ChildLayoutControl: Use units defined in theme.jsonJSONJSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. (67784)
KeyboardShortcuts: Update delete shortcut to use shift + Backspace. (68164)
Use custom name in block sidebarSidebarA sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. if available (retaining block type information). (65641)
Block hooks
Apply to Post Content (on frontend and in editor). (67272)
Allow template part editing in write mode. (67372)
Remove placeholder of default paragraph when it’s the only block and canvas is zoomed out. (68106)
Patterns
Replace Starter Content modal with inserter panel. (66836)
Build Tools
Create Block: Allow external templates to customize more fields. (68193)
Create Block: Optimize the default template for multiple blocks case. (68175)
Scripts: Recommend passing JSJSJavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. entry points with paths. (68251)
Add a Playground blueprint json to the /assets/blueprints folder of Plugin Repo. (67742)
Bug Fixes
Add duotone and dimensions to the block level for translationtranslationThe process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization.. (68243)
Add text domain option while scaffolding the block in create-block. (57197)
Added is-focus-mode class on all viewports. (67377)
Editor: Fix initial edits applied again after saving the post. (68273)
Get active element within the iframeiframeiFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. when restoring focus. (68060)
Enhance: Improve pagination logic in coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress./query-pagination-previous block. (68070)
Fix author information leakage by author blocks for Custom Post Types without author support & display notice to user. (67136)
Media & Text: Correctly reset the ‘useFeaturedImage’ attribute. (68247)
Navigation Submenu Block: Add dropdown menu props to ToolsPanel component. (68015)
Page List Block: Fix critical error when converting to link. (68076)
Page List block: Don’t wrap Edit button with ToolsPanelItem component. (68248)
Table Block: Fix margin/padding to include caption in spacing. (68281)
Update SiteTitle block to Fix isLink Toggle Behavior. (68295)
i18ni18nInternationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.: Make example and variations translatable in post-navigation-link. (68375)
i18n: Make example translatable in query-no-results. (68376)
i18n: Make example translatable in table-of-contents. (68377)
Button Block: Set proper typography for inner elements. (68023)
Components
Block Editor: Fix the ‘Reset all’ bugbugA bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. for the ‘ResolutionTool’ component. (68296)
Image: Avoid link class loss when pasting for raw transformation. (67803)
Make Block Bindings work with editor.BlockEdit hook. (67523)
Post Editor
DataViews: Fix text in action for setting site home page. (67787)
Edit post: Fix metaMetaMeta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. box pane’s pointer capture. (68252)
Editor: Remove HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from the post title in the document bar. (68358)
Block supports: Show selected item in font family select control. (68254)
Fix: Ensure consistency in editor tools for navigation buttons and delete options. (67253)
Template Editor
Fix: Editing “Page” is broken for low capability users. (68110)
Plugin: Fix eligibility check for post types’ default rendering mode. (67879)
Widgets Editor
CustomizerCustomizerTool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. Widgets: Fix inserter button size and animation. (67880)
WidgetWidgetA WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor: Fix: Close button is not working. (65443)
Various
Show metaboxMetaboxA post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. when pattern is accessed directly. (68255)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Dataviews List layout: Do not use grid role on a ul element. (67849)
Fix: Templates and patterns are nesting two elements with the button role. (67801)
[Dataviews] Fix: Media item focus style is not visible on Grid. (67789)
Block Editor
Fix: Inserter categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. tabs: Avoid unnecessary aria-label. (68160)
Improve accessibility of the Warning component in the block editor. (67433)
Global Styles
Shadows: Always show reset button if hover is not supported. (68122)
Visual Refactor: Add Chevron Icon for Shadows in Global Styles. (67720)
Block Library
Button: Replace ButtonGroup usage with ToggleGroupControl. (65346)
Fix Choose menu label when a menu has been deleted. (67009)
Site Editor
Make sure the sidebar navigation item focus style is fully visible. (67817)
Components
CustomSelectControl: Refactor to use Ariakit store state for current value. (67815)
Performance
Block Library
Don’t fetch media details if the block doesn’t use a featured image. (68299)
Media & Text: Optimize block editor store subscriptions. (68290)
Update the copyright licensecopyright licenseCopyright holders may grant a license with various allowances including the ability to modify or distribute the copyrighted material. Also see GPL. to 2025. (68440)
Updated since Doc Order in Inline documentation. (68003)
Create Block: Migrate Inquirer.js dependency to the new API. (67877)
Fix indentation in the upload-media tsconfig. (68083)
Fix indentation in upload-media package.json. (68037)
Fix: InvalidinvalidA resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. JSDoc syntax for optional object. (68061)
Remove some obsolete stylelint at-rule-no-unknown disable rules. (68087)
Components
DatePicker: Prepare day buttons for 40px default size. (68156)
DropZone: Make the drop zone in Storybook the same size as the item. (68231)
Fix Button size violations in misc. unit tests. (68154)
Fix: Add soft deperecation notice for the ButtonGroup component. (65429)
Workflows: Sync assets to plugin repo upon change in trunktrunkA directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (68052)
First-time contributors
The following PRs were merged by first-time contributors:
@benazeer-ben: Add command to navigate to site editor. (66722)
@dhruvikpatel18: Fixed typo in README of TextTransformControl. (68443)
@fushar: Stylebook: Add the Appearance -> Design submenu through admin_menu action. (68174)
Notes are mainly powered by an AI note taker so please leave a comment if anything feels wildly off.
Overview
Kevin Jahns presented a demonstration on utilizing Yjs to enhance real-time editing capabilities in WordPress, addressing existing challenges such as content synchronization and potential conflicts during simultaneous edits. He introduced features like automatic conflictconflictA conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. resolution and a heartbeat 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. for near real-time updates, emphasizing that while the current implementation may not fully replicate the Google Docs experience, it significantly improves user trust and collaboration. Participants were encouraged to explore Yjs further and consider its applications in their projects.
Jahns discussed the technical obstacles in implementing collaborative editing, particularly the lack of WebSocket support across various PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher engines and the limitations of WebRTC, which requires multiple servers for reliable operation. He proposed using 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. requests for syncing while allowing WebRTC as an optional enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature.. Additionally, he highlighted issues with 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. validation errors and synchronization challenges with custom block types in the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ editor, suggesting the creation of a special editor binding for Yjs to improve synchronization. Security concerns regarding the WebRTC setup were also raised, with a focus on the need for role-based collaboration restrictions to prevent document manipulation.
The session also covered the storage and management of Yjs documents, with Jahns explaining that Yjs content is stored as comments in post content, facilitating straightforward revision creation. He acknowledged the challenges of managing real-time changes and the impact of Yjs documents on content size. Discussions included the limitations of WebRTC, particularly its reliance on costly TURN servers, and the need for ongoing testing to ensure the reliability of collaborative editing features. Jahns emphasized the importance of prioritizing collaborative editing to enhance the editor’s evolution and received appreciation for his transparency and commitment to the Gutenberg project.
Real-Time Editing Demo with Yjs Kevin Jahns presented a demo on real-time editing with Yjs, emphasizing its role in enhancing collaborative features in WordPress. He explained the limitations of the current WordPress editor regarding content synchronization and introduced new features like automatic conflict resolution and the heartbeat API for better real-time collaboration.
Collaborative Editing in WordPress Kevin Jahns addressed the difficulties of enabling collaborative editing in WordPress, noting that WebSockets are not universally supported across PHP engines. He explained that while WebRTC could be used as a fallback, it is not reliable enough for all users. Instead, he proposed using HTTP requests for syncing, with WebRTC as a progressive enhancement for those who can utilize it.
Block Synchronization and Customization Challenges Kevin Jahns addressed synchronization issues with block types (and ran into an error with block validation in the process!). He explained that while standard elements like text and images function properly, custom block types may encounter difficulties due to Gutenberg’s design, which does not fully accommodate changes from multiple peers. Jahns emphasized the need for a special editor binding for Yjs to enhance synchronization.
Discussion on Signaling Server and Security Concerns Kevin Jahns confirmed that Jorge’s signaling server implementation in WordPress remains unchanged. He raised security concerns regarding the WebRTC setup, highlighting that it permits document manipulation by anyone with read access. Jorge noted that to make the system production-ready, several security measures need to be implemented, particularly around user roles and collaboration.
Yjs Document Storage and Revision Management Kevin Jahns responded to Frank’s inquiry about the Yjs implementation and its impact on content 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.. He detailed that Yjs documents are stored as comments within the post content, which facilitates the creation of revisions upon saving. Additionally, he mentioned that future comparisons of revisions could be made using Yjs documents, similar to a git diff, and that attribution for content creation is also supported.
Discussion on Yjs Document Implementation and Security Concerns Kevin Jahns highlighted the downside of Yjs documents inflating content size but reassured that normal users wouldn’t see the comments. Aaron Jorbin pointed out the security implications of allowing users to input unfiltered HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. Kevin also mentioned the potential for filtering user visibility of Yjs comments and the need to track edits made by users, which currently lacks a backend solution.
WebRTC vs. WebSocket for Collaborative Editing in WordPress Kevin Jahns explained that WebRTC is not a reliable option for collaborative editing in WordPress due to its dependency on multiple servers and potential blocking by companies. He suggested using HTTP requests as a baseline for collaboration, which provides a satisfactory experience for most users. For those needing more reliability, he mentioned the possibility of implementing WebSocket servers, which could also enhance security and authentication.
Discussion on WebRTC and TURN Servers Kevin Jahns highlighted the overhead of WebRTC and the expense of hosting TURN servers, indicating that they are not a viable option for everyone. Jorge shared his thoughts about the reliability of TURN servers from providers like Google and Twilio. They noted that while STUN servers are affordable and public, TURN servers are costly and can lead to misuse.
Collaborative Editing and Yjs Integration Kevin Jahns highlighted the challenges faced with collaborative editing in the current editor setup, particularly issues with image handling and the undo-redo functionality. He stressed the necessity of prioritizing collaborative editing and proposed using Yjs as a solution to enhance these features. Kevin also mentioned that recent updates to Gutenberg have caused disruptions, indicating a need for better testing and support.
Yjs Integration and Block Syncing Challenges Kevin Jahns explained the process of syncing textual content through 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., noting that changes in one block can overwrite changes in another. He acknowledged existing issues with tables and galleries, indicating that these would be addressed in future pull requests. Kevin also highlighted the importance of creating a robust integration with Yjs for better collaboration.
“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)
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 Editor.
The latest 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 entails a myriad of user experience improvements for selecting section styles, image manipulation and font handling. The DataViews layouts also received important improvements.
In zoom-out mode, users can now apply different sections styles and designs directly from the toolbar, cycling through them and inspecting them in the context of the rest of the page. This enhancementenhancementEnhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. streamlines the decision-making and production process. (#67140)
Font family preview in dropdown
Another user experience improvement can be found in the list of fonts: Each font family is now previewed in the font picker dropdown and gives users a better indication as to what the font will look like. (67118)
Success notices for image editing with Undo link
The outcome of the Image manipulation methods are now better communicated in the blockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor. The success notices are now displayed at the bottom of the editor. The notices also come with a handy Undo link to revert to the original if necessary. (67314)(67312)
Other Notable Highlights
DataViews improvements
This release also contains some Data View improvements. For instance, the table layout received density options: A user can modify the amount of whitespace that is displayed per row on three levels: comfortable, balanced and compact. (67170) Developers working with the Dataviews can now make use of a new 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. to programmatically register and unregister fields for the various display methods. (67175).
Block supports from experimental to stable.
📣 Plugin authors and Theme builders might appreciate the stabilization of certain block support settings and functions. A separate make blogblog(versus network, site) post will explain the ins and outs. For now, you can read about it in two 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/ PRs: (67018) (66918).
Over the last year, Phase 3 of the GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ roadmap has begun to take form and with it comes a need for an update around what’s been done, how to follow along, and what to expect going forward. This post seeks to provide answers at a high level view of these questions. As a reminder Phase 3 is centered around fostering seamless collaboration, tying together the user experience, and streamlining the content management flows to improve the way creators and teams work together within WordPress. As work progresses, feedback is needed and welcomed to ensure broader adoption.
Real-time collaboration
Over the last few months, Kevin Jahns, the author of Yjs, a popular framework for building collaborative applications has been sponsored by Automattic to work on real-time collaboration, after an initial experiment landed. He kicked off his efforts with some research and dialogue in this discussion issue. More recently, he’s pulled together some prototypes ahead of sharing a full proposal for how to proceed. Right now, consider this work as being in a strong experimental stage without a final approach. The next step is to get the initial approach into a PR for folks to give feedback on and discuss openly.
Below is a demo showing syncing content only relying on 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. APIs with the autosave interval set to 3 seconds. Because it relies on HTTP APIs, this demo would work on all WordPress instances:
Going a step further, you can see more demos in a recent update including adding y-webrtc into the experience to show how real time collaboration would work for users who can establish a peer-to-peer WebRTC connection.
An initial experiment for block-level inline comments landed with Gutenberg 19.6, breaking ground on the first of many async collaboration upgrades. At this point, another iteration on this initial feature is already planned and underway to refine the current experience further. If you’d like to help test and shape the feature further, stay tuned for a dedicated call for testing or start testing today with this WordPress Playground instance and open issues in the Gutenberg 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/ repository. The aim is to get early feedback and quickly iterate in order to land this new feature in an upcoming major WordPress release. Below is a look at the near term design slated to be shipped next with visuals for adding a comment, leaving a comment, toggling to see resolved comments, and the resulting view when looking at resolved comments:
As a next step of the initial development of DataViews, the more recent DataForm API was later introduced in Gutenberg 18.8 with the aim to reduce expected duplication to create forms in Data Views. Work has continued progressively from there with DataViews and DataForm components influencing each other’s development. You can view each in their respective Storybook views: DataViews and DataForm.
Both of these components have been created with extensibility at the heart of everything being built! For now, 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 and agency developers can already start using the DataViews component for their WordPress customizations with two different Developer Blogblog(versus network, site) tutorials to get you started: Using Data Views to display and interact with data in plugins and Actions from Data Views: Adding images to the Media Library. If you want to go on a deeper dive, watch a recent hallway hangout that goes through both of these components with folks actively working on them. Expect a continual focus on extensibility as these components evolve. Below is a look at how DataViews comes together with the DataForm work with an easy option to quick edit within one’s pages:
You must be logged in to post a comment.