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 our 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-newtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in the 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 sees 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. inspector tabs experiment stabilized, prevents images from being resized larger than their containing element, and adds the ability to paste styles from one block to another. In addition, there’s now a “sticky” option for blocks enabling them to stay in view while the rest of the content scrolls.
Block inspector tabs experiment has been stabilized
The block inspector tabs experiment has been stabilized with the release of Gutenberg 15.0. Some blocks now split controls between separate tabs in the inspector panel. If you’ve enabled the “Off canvas navigation editor” experiment then you will additionally see the list view tab whenever a Navigation block is selected in the editor. This in turn will contain a list of the links that you can edit. This enables a new way of editing menus that supplements, and doesn’t replace, the on-canvas functionality. (47045)
“Paste styles” option added to the block settings
Gutenberg 15.0 introduces “Paste styles” making it easier to create multiple blocks with identical styling. This enables the user to copy a block and then paste just the styling of that block into another block The “Paste styles” option is available in the drop-down menu from the block’s settings panel, as demonstrated in the video above. (45477)
Edit block style variations from global styles
In a block that has variations, e.g., Button, Image, or Site Logo, it is now possible to change their styles via the Global styles panel, and those changes should only affect that specific variation. See a demo in the video above. (46343)
Images constrained to their containers
Prior to this release if you resized an image block using the handles it could easily be set to a size larger than the container. Now when you drag the handles the image remains constrained to the container and is prevented from being resized larger than its container. (45775)
New “Sticky” Position block support
A block can now be decoupled from the page layout. A new Position block support adds a “Sticky” option so that a block remains within the viewport and is stuck to the top of the page when the content is scrolled instead of scrolling with the rest of the content. This is useful if you need to ensure that an element, such as a status message or a promotion, remains on screen regardless of the page’s scroll position. It works in the block editor as well as in the front-end so the editor provides a true WYSIWYGWhat You See Is What You GetWhat You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page. experience for this feature. You can learn about some follow up tasks to this initial implementation in this issue. (46142)
Other notable highlights
Allow 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. and frame resizing
This release enables the ability to resize the sidebar in the site editor allowing you to change the proportion of sidebar to frame. See it in action in this video. (46903)
Synchronize the canvas mode with the site editor URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org
Gutenberg 15.0 updates the site editor to persist the “edit mode” in the URL. So for example if you’re in edit mode and then refresh the page, you get back to the same state thereby avoiding the need to click “edit” every time you reload the page. (47002)
Enable copy/cut shortcut
Keep your hands on the keyboard – the copy/cut/paste shortcuts (Ctrl/Cmd + C, Ctrl/Cmd + X, Ctrl/Cmd + V) now work in the Site Editor. (45752)
Changelog
Enhancements
Site Editor
Allow resizing the sidebar and frame of the site editor. (46903)
Remove the editor notices from the site editor frame. (46931)
Synchronize the canvas mode with the site editor URL. (47002)
Prevent the image from being resized larger than its container. (45775)
Replace block settings menu with a custom menu in off canvas editor. (46675)
Add help text on the HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element for the Comments and 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. blocks. (46989)
Navigation: Add an icon to the add submenu item option. (46884)
Navigation: Show the loading indicator when users add a new 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.. (46855)
Page List Block: Fix warning error when the parent page has no child pages. (46829)
Block editor: Move content styles to avoid triggering 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. compat mode. (46728)
Iframe: Preload style assets to avoid flash of unstyled content. (46706)
Inspector Controls
Sidebar Tabs: Add text only mode for block inspector tabs. (46968)
Sidebar Tabs: Stabilize the block inspector tabs experiment. (47045)
[Social Icon]: Fix ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning when adding link label. (46905)
Components
ComboboxControl: Fix unexpected behavior in IME Composition. (46827)
Fix TreeGrid keyboard nav skipping Edit Block button in off canvas editor. (46998)
[Placeholder]: Set fixed right margin for label’s icon. (46918)
Tabs in preferences: 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. from horizontal tabs. (46796)
Global Styles
Fix the ‘test_remove_invalid_element_pseudo_selectors’ test case. (47049)
Fixed Global Styles variables for colors, font family, gradient, fontSize. (46944)
Inspector Controls
Block Inspector: Fix browser warning error when block is not selected. (46875)
Performance
Post Editor
Lodash: Remove _.pickBy() from editor 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.. (46982)
Lodash: Remove _.pickBy() from template deletion. (46975)
Lodash: Remove _.pickBy() from block editor and deprecate. (46999)
Design Tools: Add a Position block support (including sticky), decoupled from layout. (46142)
Documentation
Adds “fluid” field inside settings.typography. (45705)
Docs: Add recommendation for developers to use GH CLICLICommand Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.. (46847)
Quick update to versions in WordPress doc for 6.1.1. (46850)
ReactDOM.render deprecated, update Element README. (46925)
Remove stack exchange from new issue templates. (36158)
Update legacy-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.-block.md. (44343)
useSelect: Implement with useSyncExternalStore. (46538)
Block Library
Navigation Link: Fix PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices in unit tests. (47070)
Video Block: Fix browser warning error when settings are toggled. (46835)
Adds an identifier prop to the RichText component for captions, allowing annotation. (46917)
Fix: Use of array index instead of post id on latest posts. (46911)
Block Editor
Simplify the way we create a link UI control in the offcanvas editor. (46744)
Fix number of arguments passed to hasBlockMetadataSupport. (46842)
Tools
Testing
Block inserter search end-to-end test: Scope list item lookup to the inserter panel. (47066)
Migrate Manage Reusable Block to Playwright. (45621)
Migrate Post Visibility Test to Playwright. (44488)
Navigation block end-to-end tests: Default to a list of pages if there are no menus. (45070)
Only use a single comment for the flakiness report on PRs. (46785)
Mobile – Move the gutenberg-editor-block-insertion-2 end-to-end tests to integration tests. (46882)
Chore: Fix incorrect usage of map instead of forEach. (46853)
Chore: Remove unreachable line from phpunit/fixtures/mock-provider.php. (46843)
Build Tooling
package.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.: Add script to profile unit tests. (46909)
First time contributors
The following PRs were merged by first time contributors:
@BogdanUngureanu: Fixed Global Styles variables for colors, font family, gradient, fontSize. (46944)
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-newtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).
Push 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. changes to Global Styles
Gutenberg 14.9 introduces a new button titled Push changes to Global Styles under the Advanced panel for individual blocks. This allows users to make changes while editing a template in the Site Editor but apply those changes on the global level. The new feature makes it much easier to keep a consistent design without needing to edit individual templates. (46446)
Typography support for Page List block
The Page List block now supports all typography options, including setting the font size, family, and more. This change is part of a larger effort to bring a consistent set of design tools across all coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks. (43316)
Import 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. widgets to template parts
When inserting a new template part into a template in the Site Editor, users can now import widgets from a previously-registered dynamic sidebar. This is a transitioning tool to help users move from classic theme setups to blocks without losing work that they’ve put into their sites. (45509)
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. support: shadow presets and minimum fluid font size
WordPress theme authors can now opt into the new box-shadow feature, creating a set of custom presets to use in their designs. This system works similarly to colors, gradients, and other opt-in design tools. (46813)
Currently, the UIUIUser interface that would allow user overrides for this feature is still under development. However, the following screenshot is a preview of what it might look like:
Theme authors who use the built-in fluid typography system in theme.json can now set a minimum font size via settings.typography.fluid.minFontSize. By default, the minimum is set to 14px, but this may not be ideal for all designs. This new setting gives developers more control over how fluid typography is handled. (42489)
Other Notable Highlights
The previous Gutenberg release (version 14.8) introduced a new Site Editor sidebar, a hub for navigating the sections of a site. Version 14.9 continues iterating on this feature. The sidebar now displays the template title and type with a contextual edit button that sits beside them. The sidebar’s width has also increased, giving its content a bit more breathing room. (46736), (46769), (46700)
Developers can also now register patterns for specific template types, limiting where the patterns appear. For example, an Error 404 pattern would only make sense when used with the 404 template. (45814)
Change log
Features
Global Styles
Site Editor: Add new ‘Push changes to Global Styles’ button. (46446)
Patterns
Add: Template types to the patterns 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.. (45814)
Enhancements
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. for block-based themes. (46212)
Move word count to the top of the outline. (46648)
Update: Remove need for template prefix in gutenberg_get_template_hierarchy. (46257)
Update: Use offsite navigation editor on the navigation inspector sidebar. (46440)
Site Editor
Add the template title and type to the site hub. (46736)
Increase the width of the site editor sidebar. (46769)
Move the edit button in the site editor sidebar to a contextual 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.. (46700)
Block Library
Navigation: Adds page list as child of submenu. (46414)
Navigation: Bring back the heading and the menu selector in the ellipsis menu. (46622)
Template Parts: Add an option to import widgets from the sidebars. (45509)
Iframe: Restore typewriter effect in post editor. (46745)
Parse the attributes in a case-insensitive way to comply with the HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. parsing spec. (46748)
Update: Guard against null block in off canvas editor. (46594)
docgen: Add function to handle list of types for theme.json schema. (46375)
Fix Off Canvas Editor add submenu item option. (46562)
Make table of contents label in placeholder translatable. (46788)
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.: Fetch terms suggestions dynamically. (46649)
Components
FocalPointPicker: Fix layout misalignment when placed in the BlockInspector. (46631)
Storybook: Fix crash when parameters is undefined. (46670)
Toolbar: Fix duplicate focus style on anchor link button. (46759)
Widgets Editor
Revert “[customize-widgets/utils/widgetToBlock] Initialize a widget’s raw_content.content to an empty string if it’s undefined“. (46600)
[customize-widgets/utils/widgetToBlock] Initialize a widget’s raw_content.content to an empty string if it’s undefined. (46487)
Inserter: Try fix media tab when upload of media types has been disabled. (46676)
Build Tooling
Restore gutenberg_ prefix to function calls in PHPUnit tests. (46662)
Patterns
Pattern Setup: Fix full heights during transition. (46615)
Design Tools
Verse: Prevent default styles overriding theme.json font family. (46560)
Block Variations
Block Variation Picker: Adds support to declared icon with source. (46373)
Themes
theme.json schema: Allow object type on style properties. (45897)
AccessibilityAccessibilityAccessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)
Block editor: iframe/writing flow: Change tab index to 0. (46323)
Lodash: Refactor components away from _.find(). (46537)
Experiments
Add rough animation to navigation and links. (46342)
Tag Processor: Fix a problem backing up too far after updating HTML. (46598)
Block Library
Improve empty menu state in nav off-canvas editor. (46602)
Nav offcanvas – handle non-direct insert block inserter. (46503)
Navigation list view: Use smaller lock icon. (46578)
Documentation
Add missing prefix in PHPDocPHPDoc(docblock, inline docs) comment. (46808)
Clarifying the npm package release process for the RCrelease candidateOne of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). release. (46555)
Doc: Fix missing link to Block Styles page. (46695)
Element: Export new ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. 18 APIs. (46610)
Block Library
Comments Block: Remove unnecessary editorStyle prop in legacy metadata. (46514)
Extract hook for offcanvas inserted block. (46618)
BlockListAppender: With custom appender, don’t react to nested list settings changes. (46461)
Paste: Reuse file transforms for file pasting. (45891)
Site Editor: Don’t show block inserter when the canvas is view mode. (46763)
Data Layer
Data: Recreate listeningStores set for every markListeningStores call. (46607)
useSelect: Add unit tests for static select mode. (46606)
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. Sidebar
Navigation Sidebar: Hide behind the experiment flag. (46710)
Change SpacingSizesControl ARIA from region to group. (46530)
Global Styles
Inline block preview: Add preview block in nested global style panels. (46401)
Typography
Typography block supports: Sync with 6.1 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.. (43928)
Web Fonts
Change architecture to use Core’s Dependencies API. (43492)
First time contributors
The following PRs were merged by first time contributors:
@gigitux: Block Variation Picker: Adds support to declared icon with src. (46373)
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-newtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg released on a biweekly basis, discovering 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 known as Full Site Editing).
Gutenberg 14.8 has been released and is available for download!
With Gutenberg 14.8, the Site Editor interface gets a major overhaul and introduces Browse Mode. It is now easier than ever to navigate through templates and template parts. It’s even possible to add new ones through 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.. The work on this feature is ongoing and will continue to improve as new Gutenberg versions are released. (44770), (45100), (46458)
Introducing the Style Book
Users and designers can view and edit all blocks via the new Style Book feature, which is an extension of the Styles panel in the Site Editor. The interface exposes both coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. and third-party blocks from plugins and are broken down by categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.. The Style Book provides an overview of all 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. styles in a centralized location while also making it easier to quickly make changes at the global level. (45960).
The Styles panel also offers a preview when customizing individual blocks. (45719)
Add custom CSSCSSCascading Style Sheets. rules for your site
Bringing feature parity with the WordPress 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., you can now add custom CSS via the Styles > Custom panel in the Site Editor. This will allow users and designers to quickly make changes that won’t be overwritten by a theme update. (46141), (46561), (46663) Currently, this is an experimental feature that can be enabled by visiting Gutenberg > Experiments and ticking the Global styles custom CSS checkbox.
Other Notable Highlights
List/quote: Unwrap inner block when pressing Backspace at start
Gutenberg 14.8 will now unwrap inner blocks of the List and Quote blocks when backspacing at the start. This results in the first inner block becoming a Paragraph that is separate from its previous parent List or Quote container. (45075)
Pattern title tooltip
The inserter now shows pattern titles when focused on or hovering an individual pattern preview. These were previously hidden from view and only shown to screen readers. (46419)
Navigation Block Improvements
This release continues to improve on the Navigation block with several changes that are building blocks for future releases. These include adding a location fallback for classic menus and an “open list view” button. The Page List block also has a convert panel when used within a Navigation block. (46426), (45976), (46286), (46335), (46070), (46352)
Changelog
Enhancements
Block Library
Add a current-menu-ancestor class to navigation items. (40778)
Page List Block: Adds a longdash tree to the parent selector. (46336)
Page List Block: Hide page list edit button if no pages are available. (46331)
Page List: Add convert panel to Inspector Controls when within Nav block. (46352)
Page List: Prevent users from adding inner blocks to Page List. (46269)
Reusable block: Pluralize the message “Convert to regular blocks” depending on the number of blocks contained. (45819)
Heading Block: Don’t rely on the experimental selector anymore. (46284)
Media & Text Block: Create undo history when media width is changed. (46084)
Navigation block: Add page list to Link UIUIUser interface transforms in Nav block. (46426)
Navigation block: Add location->primary to fallback nav creation for classic menus. (45976)
Navigation block: Update fallback nav creation to the most recently created menu. (46286)
Navigation block: Add a ‘open list view’ button. (46335)
Navigation block: Removes the 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 the navigation list view in the experiment. (46070)
Add a CSS style to 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. to allow the setting of custom CSS strings. (46255)
Expose before 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. hook in useSettings for injecting block settings in the editor. (45089)
Global styles: Add a custom CSS panel to the site editor (currently behind an experimental flag). (46141)
Site Editor
Allow adding new templates and template parts directly from the sidebar. (46458)
Synchronize the sidebar state in the URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (46433)
Try template drill down on the shell sidebar (browse mode). (45100)
Reorganize the site editor to introduce Browse Mode. (44770)
Block Editor
Update the synced block hover styles in Inserter. (46442)
Add new selector getLastInsertedBlockClientId. (46531)
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
Update the Gutenberg plugin to require at least the WP 6.0 version. (46102)
PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher: 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 theme resolver. (46250)
Update: Move gutenberg_register_core_block_patterns from 6.1 to 6.2. (46249)
Upgrade ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. packages to v18. (45235)
Themes
Empty Theme: Add the $schema property in theme.json and rename template directories. (46300)
Mobile: Updates packages to not use GitGitGit is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/.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. URLs. (46422)
Bug Fixes
Block Library
Fix Nav Submenu block Link UI text control. (46243)
Fix auto Nav menu creation due to page list inner blocks. (46223)
Handle innerContent too when removing innerBlocks. (46377)
Image Block: Ensure drag handle matches cursor position when resizing a center aligned image. (46497)
Navigation Block: Add social link singular to list of blocks to be allowed. (46374)
Page List Block: Fix error loading page list parent options. (46327)
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: Add migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of colors to v2 deprecation. (46522)
Site Logo: Correctly set the image’s natural height and width. (46214)
Strip markup from link label data in inspector. (46171)
Style Book: Clear Global Styles navigation history when selecting a block. (46391)
Global Styles 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/. endpoint: Check custom CSS is included before attempting to validate. (46561)
Reverts the custom CSS to an experiment while we resolve the handling of unfiltered HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. capabilities. (46663)
Block Editor: Add initial view mode in BlockPatternSetup. (46399)
Site Editor
Do not remount 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.. (46431)
Modal: Fix unexpected modal closing in IME Composition. (46453)
MaybeCategoryPanel: Avoid 403 requests for users with low permissions. (46349)
Rich text: Add button to clear unknown format. (44086)
Document Settings
Fix template title in summary panel and requests for low privileged users. (46304)
Permalink: Hide edit field for users without publishing capabilities. (46361)
Patterns
Content lock: Make filter hook namespace unique. (46344)
Layout
Child Layout controls: Fix help text for height. (46319)
Widgets Editor
Shortcuts: Add Ctrl+Y for redo to all editor instances on Windows. (43392)
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.
Block Editor: Fix no-node-access violations in BlockPreview. (46409)
Block Editor: Fix no-node-access violations in BlockSelectionClearer. (46408)
Columns mobile edit: Remove unused updateBlockSettings action bind. (46455)
ESLint: Fix warning in getBlockAttribute documentation. (46500)
List View: Use default parameters instead of defaultProps. (46266)
Removed: Remove small APIs marked to be removed in WP 6.2. (46106)
Site Editor: 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. CSS. (46288)
Block Library
Group Block: Remove placeholder leftovers. (46423)
Inserter: Update mobile tab navigation styles. (46186)
Layout
Clarify inline comment about switching to safecss_filter_attr. (46061)
Tools
Build Tooling
Adds 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/ Action to validate Gradle Wrapper. (46247)
Prevent api-fetch and core-data from being imported in the block editor package. (46302)
Serialize the map objects properly in the Redux dev tools. (46282)
end-to-end tests: Add width and color test to button block. (46452)
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Post Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.8
7.8s
48.14ms
Gutenberg 14.7
6.25s
46.4ms
WordPress 6.1
5.9s
48.04ms
Site Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.8
3.36s
31.7ms
Gutenberg 14.7
5.47s
34.78ms
WordPress 6.1
5.72s
36.1ms
Kudos to all the contributors that helped with the release! 👏
First time contributors
The following PRs were merged by first time contributors:
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-newtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg released on a biweekly basis, discovering 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 known as Full Site Editing).
Gutenberg 14.7 has been released and is available for download!
It introduces a new experimental tabbed 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., colors to help identify some 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. types in list view, and improvements to the Page List block to make it easier to manage page links in your content.
Improved organization of block settings with split control
An experimental view in the block inspector sidebar separates appearance and settings controls by adding a tabbed interface. This feature will make blocks with many controls, such as the Group Block and Navigation Block, easier to manage. You can enable this and other experimental features from Gutenberg > Experiments in the adminadmin(and super admin) sidebar. Leveraging this new tabbed interface, the Navigation Block also includes a Menu tab for the Navigation List View introduced in Gutenberg 14.6. (45483), (45991), (46027), (45005)
Quickly identify Template Parts and Reusable Blocks by color
To more easily differentiate Template Parts and Reusable Blocks from other types of blocks, these synced block types will now be outlined in a different color in the List View, Block Toolbar, and canvas. (45473)
Add media to your content directly from the inserter
A new media tab will be available, when media exists on the site, to allow users to add media from their library. A button to open the Media Library modal is also available, making it much more convenient to add images, video, and other media to your content. (44918)
See all pages in List View for the Page List block
The Page List block can now be expanded to see the hierarchy of pages in the List View. An option to select the root page to build the Page List from has also been added in the Block Inspector Sidebar. This will allow a subset of pages within the hierarchy to be displayed in the content. (45776), (45861)
Layout controls added to children of flex layout blocks
A new dimensions control (width for row, height for stack) will be available for children Row and Stack blocks. An option to select between fit, fill and fixed has been added. If the fixed option is selected, an `input` for a dimension will be shown, where the fixed size can be set. (45364)
Improved load times by caching the results of querying settings from theme.json
Adding WP_Object_Cache to gutenberg_get_global_settings to cache the results of querying settings from theme.json, resulted in a significant load time improvement.
This change reduced the total time of a request with the Twenty Twenty-Three theme from 521.59ms to 339.62ms, a ~35% performance increase. Testing with the Twenty Twenty showed an improved load time from 329.60ms to 290.93ms, a ~12% performance improvement. These times were measured by testing the time required to load the “hello world” post for a logged-out user. (45372)
Changelog
Enhancements
Style Engine
Style engine: Trim multiple selector strings. (45873)
Block Library
Heading Block: Add a wp-block-heading CSSCSSCascading Style Sheets. class. (42122)
Nav Block: Clarify explanation of how ‘Convert to Links’ works in Page List block. (45394)
Nav Block: Add label field to navigation link and navigation submenu. (45964)
Nav Block: Add link URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to the navigation submenu inspector controls. (45816)
Nav Block: Fix for navigation anchor links to close modal. (45829)
Template Part Block: Colorize template parts and Reusable blocks. (45473)
Site Logo: Apply width to logo container in editor. (45821)
Table Block: Support colspan attribute in table HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers., including when pasting. (45981)
[Patterns]: Update pattern categoryCategoryThe 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. descriptions. (46005)
Nested / Inner Blocks
Mark applying block templates not persistent. (45843)
Add Layout controls to children of Flex layout blocks. (45364)
Bug Fixes
Preferences
Disable distraction-free preference effects on small viewports. (45591)
Block Library
List Block: Fixed 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. that List block attributes were reset in 6.1.1. (46000)
Gallery: Use unbound query when fetching image details. (46143)
Page List: If no parent page is set, still render all children. (45967)
Page List: Render the children correctly in the editor. (46165)
Post Author: Avoid errors when the user avatars are disabled. (45989)
Nav Block: 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. doesn’t appear when hamburger clicked on. (45773)
Ensure post-featured-image block is intheloopLoopThe 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.() for BC with coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. and plugins, and to fix lazy-loading. (45534)
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)
Add “Testing Instructions for Keyboard” to PR template to encourage accessibility testing. (45957)
Navigation List view: Include offcanvas specific styles. (45963)
Navigation List view: Scroll horizontally when table overflows. (45966)
Documentation
(docs) Document the special case of shipping point releases when new release branchbranchA directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". already exists. (46083)
Added InspectorControls import to example. (45872)
Navigation: Adds a warning about duplicate code for the future. (45844)
Storybook: Add link to component folder 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/, retire Storysource. (45727)
Style Engine: Add first draft of contributing doc. (45930)
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. attribute markup in core/home-link block. (46089)
Link UI: Destructure the props earlier in the component. (46209)
Navigation Link UI: Try to align both files. (46205)
Navigation Menu Selector: Share the functions needed for the NavigationMenuSelector. (46053)
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.: Only get the post title when rendering alt text. (45835)
Reduce prop drilling in Block Card component. (46052)
Refactor link creation UI to standalone component/file. (46031)
Remove Nav block specific classes from Nav offcanvas Link UI. (46182)
Update offcanvas back button to select parent Nav block and limited to Nav block only. (46037)
Don’t check if constants set by wp_initial_constants() are defined. (45979)
Block Editor
LinkControl unit tests: Use user.type to type into search field. (45802)
Simplify api for link UI abstraction to use a single prop for the value. (46189)
URLInput: Keep the search results label in sync with the results list. (45806)
Use wordpress/escape-html escapeHTML in Link UI in preference to Lodash method. (46184)
Global Styles
Cleaner logic in wpthemehasthemejsonJSONJSON, 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.. (45950)
Update BlockCard to pass className instead of isSynced prop. (46021)
Full Site Editing
Block editor: Separate content styles for 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.. (44298)
Element: Fix no-node-access in createInterpolateElement. (45894)
Block Editor: Fix ESLint warnings in MediaUpload tests. (46035)
Block Editor: Fix no-node-access in RecursionProvider tests. (45902)
Block Editor: Fix block alignment tests for ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. 18. (45937)
Block Editor: Wait for popover positioning in MediaReplaceFlow tests. (45863)
Compose: Fix ‘no-container’ violations in ‘useDisabled’ tests. (45797)
Compose: Fix ESLint violations in withGlobalEvents tests. (46012)
Performance Benchmark
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Post Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.7
11.45s
59.36ms
Gutenberg 14.6
11.41s
62.36ms
WordPress 6.1
10.72s
68.08ms
Site Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.7
9.68s
58.42ms
Gutenberg 14.6
10.8s
67.09ms
WordPress 6.1
11.69s
64.87ms
Kudos to all the contributors that helped with the release! 👏
First time contributors
The following PRs were merged by first time contributors:
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-newtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.
Add a Variation Picker to the Group BlockBlockBlock is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Placeholder
When a new Group block gets inserted into the page it now presents the user with a variation picker to instantly choose which type of layout they want to use.
Add List-Based Editing to Navigation Block
Managing the order of menu items just got a lot easier by allowing you to modify the arrangement of the individual menu items in a list view right inside the block settings 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.. This works similarly to the list view but is isolated to just the current navigation you are editing. Clicking on the “Edit” button selects the menu item in the editor so you can edit it inline.
Note: This is still experimental and needs to be enabled on 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 settings screen.
Hide Block Toolbar when Spacing Visualizer is Shown
The spacing visualizer has seen some improvements in the last few releases already. In 14.6 it now automatically hides the blocks toolbar as soon as you hover over the spacing setting allowing you to focus on the content whilst you adjust the spacing.
Transform Paragraph into Heading via Keyboard Shortcut
You can now easily transform paragraph blocks into headings using the new control + option + 1 – 6 keyboard shortcut.
Update the Design of the Focal Point Handle
In order to make it more clear that the focal point picker is selecting a broader region instead of a fine point the handle was updated to better fit the precision of the input.
Fluid typography: Adjust font size min and max rules
The minimum and maximum value calculations for fluid font sizes have been adjusted to prevent inconsistencies in certain viewports, such as having a bigger maximum than the custom size setting. You can check the github issue for the full set of rules.
Define a Minimum Height
The new “Minimum Height” dimension control is now available for the Group and Post Content block. For example, it can be used to make sure the site footer always stays at the bottom of the viewport.
Generate New Color Paletts Automatically
Coming up with the perfect color palette is hard. Sometimes you just want to explore some new quick ideas. This new “Randomize colors” feature is a subtle algorithm that can generate alternative color palettes on the fly.
Navigation: Add a new ManageMenusButton component. (45782)
Navigation: Reposition the navigation selector. (45555)
Navigation Link: Add the URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org field to the Navigation Link inspector controls. (45751)
Author: Make the Author selector display all users instead of just 10. (45640)
Columns: Add transform to unwrap the contents. (45666)
Read More: Add aria-label and screen reader text. (45490)
Group: Use a variation picker in the placeholder. (43496)
Components
Use new theming accent color in all components. (45289)
CheckboxControl: Replace margin overrides with new opt-in prop. (45434)
FocalPointPicker: Update the design of the focal point handle. (45053)
FontSizePicker: Update hint text to match the design. (44966)
CheckboxControl: Move icons out of labels. (45535)
Block Editor
Converts paragraphs to headings with keyboard shortcuts. (44681)
Pattern Directory 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 support for pagination parameters. (45293)
Template Part Block: Update block isActive method. (45672)
Navigation: Fix overflowing menu name in the navigation selector dropdown. (45647)
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)
Fix focus return when closing the Post publish panel. (45623)
Fix navigate regions backwards for macOS Firefox and Safari. (45019)
Fix the Save buttons labeling and tooltip. (43952)
FormTokenField: Fix duplicate input in IME composition. (45607)
Making size prop work for icon components using dash icon strings. (45593)
ToolsPanel: Prevent calling deselect when panel remounts. (45673)
Color Picker: Prevent all number fields to become 0 when one of them is an empty string. (45649)
ToggleGroupControl: Only show the enclosing border when isBlock. (45492)
Autocomplete: Check key events more strictly in IME composition. (45626)
CSS & Styling
Inherit font from theme on overlay close button. (45635)
Navigation: Fix font inheritance when using text menu button. (45514)
Remove hover style to button on dark block tools UIUIUser interface. (45653)
Remove width from block mover button focus style. (45665)
Site editor hover/select: Fix double border. (45589)
Remove duplicate output of existing classnames in layout classnames. (45499)
Post Editor
BlockManagerCategory: Fix styles for indeterminate. (45564)
Fix: Updated names from List View to Document Overview. (45524)
Strip HTMLHTMLHyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from Post Title when pasting multiline title containing HTML. (35825)
Site Editor
Decode entities in template title and description. (45716)
Link to homeUrl from site editor view menu. (45475)
Block Editor
Fix Link UI popover positioning when inspector control input is focused. (45661)
Paste: Fix list only paste from Google documentation. (45498)
Make Manage Reusable blocks match similar links. (45641)(45689)
List View: Disable 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". expansion when block editing is locked. (45541)
Spacing visualizer: Fix display of unexpected visualizer for certain mouse actions. (45739)
Experiments
A list view duplicate for use in navigation list view experiment. (45544)
Introduce experiment for inspector based navigation editing. (45515)
Change Title: How to use 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/. with Gutenberg. (45323)
Docs: Update the readme for the integration test fixtures. (45581)
Summarize “Available commands” section and refer them it to scripts documentation. (45636)
Extract the manage menus button to a shared component to reduce duplicate code. (45769)
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. pseudo selector comments from coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress.. (45619)
unstableSubscribeStore: Support store descriptors. (45481)
Components
BaseField: Remove unnecessary .firstChild from tests. (45687)
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.: Escape the ‘get_author_posts_url()’. (45427)
Fix typos in Paragraph block end-to-end tests. (45611)
FontSizePicker: Fix a buggy 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.. (45529)
Ignore warnings for window.wp in Playwright. (45598)
Navigation Toggle unit test: Unmount synchronously to cancel popover positioning. (45726)
ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native unit tests: Migrate getByA11yLabel usages. (45454)
Unit Tests: Rewrite ReactDOM.render usages to RTL. (45453)
E2E: Add site and 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 supports for ensureSidebarOpened. (45480)
Build Tooling
Include TS and JSX files to testing-library lint. (45533)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Post Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.6
10.27s
49.63 ms
Gutenberg 14.5
12.08s
70.53ms
WordPress 6.1
4.1s
31.3 ms
Site Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.6
9.58s
48.65ms
Gutenberg 14.5
9.35s
77.82ms
WordPress 6.1
3.84s
22.79ms
First Time Contributors
The following PRs were merged by first time contributors:
@edanzer: Template Part Block: Update block isActive method. (45672)
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-newtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.
Gutenberg 14.5 has been released and is available for download!
It consolidates the list view and document information, expands margin and padding support while improving spacing visualizers, and sets the groundwork for future releases with numerous code quality improvements and 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.
Access the list view and document information all from one panel
Prior to Gutenberg 14.5, there were separate icons in the Editor toolbar for “List View” and “Details.” The Details popover presented a document outline and information like the character and word count. The List View panel displayed a hierarchical view of all blocks in the document.
The Details popover and List View panel have now been combined into a single panel offering a more streamlined way to manage the current document. This new “Document Overview” panel is accessible by clicking on the original List View icon in the toolbar.
Confidently edit 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. spacing using improved visualizers
Configuring block spacing (margin, padding) can be tricky, especially when determining how the spacing of one block will impact those blocks around it. Spacing visualizers significantly improve this experience by allowing you to “visualize” each change you make.
Gutenberg 14.5 enhances this functionality by displaying visualizers as soon as you hover over a spacing control rather than just when edited. This is a small change, but an important one since most CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks now support spacing controls. The release itself adds spacing to numerous comment-related blocks.
Changelog
Enhancements
Add block pattern categories’ descriptions to the 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/. and update the descriptions. (45244)
Create Block: Update templates to use APIs introduced in WP 6.1. (44185)
setAvailableMetaBoxesPerLocation: Merge new metaboxes into existing. (45156)
Spacing visualizer: Add option to trigger with mousover as well as value change. (44955)
Style Engine: Add support for dimensions.minHeight property. (45334)
Try: Add layout classnames to inner block wrapper. (44600)
Block Library
Audio, Video: Add toolbar button to add/remove caption. (45112, 45113)
Comment Template, Post Comment Count, Post Comments Form, Post Comments Link: Add spacing support. (45101, 45150, 45091, 45184)
Gallery: Register styles with Style Engine. (43070)
Navigation: Return undefined from useEffect. (45239)
ToggleGroupControl: 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. props from types. (45114)
Move document information and outline to list view panel. (44788)
Global Styles
Add :visited pseudo selector to 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. schema. (45236)
Embed, Gallery, Video: Add deprecation for the caption element. (45166, 45173, 45169)
File Block: Add a deprecation for the button element class name. (45159)
Table Block: Add a deprecation for the figcaption element class name. (45161)
Bug Fixes
Ensure block content is always returned as a string after processing. (45330)
Fix handling of nullish comments in the pot-to-PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher script. (45414)
Fix PHP warning in pattern categories REST API controller. (45410)
Fix Prevent infinite 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. in Tag Processor in certain truncated documents. (45537)
Hide insertion point when moving out of the canvas. (45420)
Metaboxes: Perform hasMetaBoxes check on every save. (45145)
Prevent unexpected copying of the post title. (41284)
Raw Handling: When pasting bullet characters, convert to astericks for markdown converter. (45017)
Web Font: Fix ascent/descent-override property typo. (45125)
Block Library
Button: Reset background-image property for outline button style. (45234)
Cover, Search, Spacer: Fix control widths. (45329)
Navigation: Fix saving/loading experience of uncontrolled blocks. (45486)
Navigation: Add padding to buttons when Submenus Open on click is enabled. (44605)
List: Fix migrationMigrationMoving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. when the nested list is invalid. (44822)
Page List: Allow direct selection of nested Page List block by avoiding dual rendering within block. (45143)
Site Tagline: Fix user permission 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. errors. (45140)
Site Title: Avoid 403 errors for users with low permissions. (45093)
Components
AnglePickerControl: Set Storybook label control type to text. (45122)
AutocompleteUI: Close popup when click happens outside of the popover. (44795)
BorderControl: Await floating-ui state changes when rendering/opening popover to fix 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. failures. (45241)
Button component: Fix RTL alignment when containing icon and text. (44787)
Add a readme to the letter spacing component. (45308)
Add changelogs for internal refactorings using inert. (45269)
Add “Do not use in production” message to content locking experimental 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.’s. (45291)
Fix missing anchor link in FAQ URLURLA specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (45232)
FontSizePicker: Update changelog for #45041. (45180)
Updating curation document to include content lock ability. (44908)
Remove unnecessary .firstChild from tests. (45419)
Update some ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. 18 related types. (45279)
Global Styles
Add wp_theme_has_theme_json as a public API to know whether a theme has a theme.json. (45168)
Fix uploading artifacts even when the tests are successful. (45187)
Migrate 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.-rendering test case. (44535)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Post Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.5
12.08s
70.53ms
Gutenberg 14.4
11.97s
69.15ms
WordPress 6.0
9.29s
42.64ms
Site Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.5
9.35s
77.82ms
Gutenberg 14.4
11.56s
74.72ms
WordPress 6.0
6.92s
37.79ms
Note that the performance benchmark tests were automatically run against 6.0 rather than 6.1. This is because the “Tested up to” version of the pluginPluginA plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party was not updated to 6.1 once the new version of WordPress was published. This will be corrected for Gutenberg 14.6.
Contributors
The following contributors merged PRs in this release:
“What’s new in GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-newtagtagA directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, discovering new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Full Site Editing project.
Gutenberg 14.4 has been released and is available for download!
It introduces a distraction-free mode for text-based content creation, it redesigns the main pattern inserter, it continues to improve recent responsive design features such as Fluid Typography and much more!
Fun fact: Johannes Gutenberg invented the printing press in 1440 and this version of Gutenberg is the 14.4.0
Explore easier navigation and larger previews of patterns in the Inserter
A new design offers a split view between categories and patterns, improving the navigation between categories and providing larger previews for patterns, resulting in improved discoverability and at a glance context.
Enjoy distraction free writing
Gutenberg 14.4 includes a new mode that reduces various parts of the editor interface, allowing for a more focused writing experience. When enabled, the sidebars are closed and toolbars fade away, leaving your content to take center stage. You can toggle this mode on/off as you’d like, depending on what you’re looking for.
Control image captions from 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. toolbar
With this release, you can now add or remove a caption for an image directly from the block toolbar. If a caption has already been set, it will be included by default when the image is added to your content.
Lock the ability to edit the navigation block
The Navigation block offers an additional option when locking to restrict the ability to edit the content on its inner blocks (links and submenus). This helps further curate the experience, especially if you’re taking advantage of the ability to use block template parts in classic themes.
Take advantage of improvements to Fluid Typography
In Gutenberg 13.8, Fluid Typography for font size presets was introduced to allow themers to generate fluid font size presets 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.. This release of Gutenberg builds on this work by automatically converting custom font sizes to fluid values when fluid typography is enabled.
Changelog
Enhancements
Add prop to disable block selection clearer in BlockList. (44517)
Fix visibility of nested Group block appender. (45050)
Fix: Follow discussion settings in the comments block edit. (44463)
Group, Row, Stack, Columns. Fix missing border 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.. (44696)
List Item: Allow Gutenberg to override coreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress. block type. (44911)
List v2: Selection when creating paragraph from empty list item. (44864)
Remove anchor support from the navigation block. (44721)
Removes __unstableMaxPages attribute from Page List block (and Nav block). (44415)
Site Logo: User permission 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. errors. (45104)
Site logo: Centered state, for upload button. (44861)
Media: Cover block text color heuristic for cross origin media. (44552)
Patterns: Hide list items from content area of content locked blocks. (44676)
Templates 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.: Avoid PHPPHPThe web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warning when getting dynamic template data. (44783)
Block Settings: Show move to on nested blocks when only one root block. (44827)
Navigation: Fallback to a classic menu if one is available. (44173)
Site Editor
Toggle Navigation Menus 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.. (44860)
Zoomed out view: Keep list view open when entering mode. (44781)
Block Editor
Cover: Fix erroneous focus style in editor. (44707)
Native inner blocks merge where appropriate. (45048)
Typography
Fluid typography: Convert server-side block support values. (44762)
Fluid typography: Covert font size number values to pixels. (44807)
Fluid typography: Ensure fontsizes are strings or integers. (44847)
Font Size Picker Hint: Fallback to font size slug if name is undefined. (45041)
Make custom font sizes appear fluid in the block editor when fluid typography is enabled. (44765)
Search block: Ensure font sizes values are converted to fluid in the editor. (44852)
Fluid typography: Convert font size inline style attributes to fluid values. (44764)
Components
FontSizePicker: Fix 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. order in RTL languages. (44590)
Navigator: Restore focus only once per location. (44972)
Ensure style card effect doesn’t cause scrollbars to appear. (44823)
Fluid Typography: Fix 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. in global styles where fluid clamp rules were not calculated for custom values. (44761)
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)
The following benchmark compares performance for a particularly sizeable post (~36,000 words, ~1,000 blocks) over the last releases. Such a large post isn’t representative of the average editing experience but is adequate for spotting variations in performance.
Post Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.4
14.9s
78.81ms
Gutenberg 14.3
15.3s
84.59ms
WordPress 6.1
10.4s
38.95ms
Site Editor
Version
Loading Time
KeyPress Event (typing)
Gutenberg 14.4
1.5s
77.73ms
Gutenberg 14.3
4.7s
75.05ms
WordPress 6.1
7.6s
41.51ms
Contributors
The following contributors merged PRs in this release:
The following PRs were merged by first time contributors:
@benridane: Fix list outdents on Enter in quote block. (44809)
@jeremylind: FIX: Typo in block.json schema default scope values. (44944)
@PooSham: Add support for ReactReactReact is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. 18 and later to jest-preset-default. (44680)