What’s new in Gutenberg 20.3? (18 February)

Gutenberg 20.3 is out of the oven and ready to download.

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 loopLoop The 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 blockBlock Block 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)
  • Added discord in social links. (68848)
  • Featured ImageFeatured image A 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)
  • RSS: Border & Spacing support. (66411)

Global Styles

  • Disable Clear button if there’s no shadow. (69092)
  • Duotone Settings: Add reset button and improve toggle rendering in FiltersPanel. (68672)
  • Shadow Panel: Add reset button. (68981)

Post Editor

  • Editor: Add loading state to the ‘PageAttributesParent’ component. (69062)
  • Editor: Add loading state to the ‘PostAuthorCombobox’ component. (68991)
  • Editor: Display error message when loading current post fails. (68999)

Block Editor

  • Quick Inserter: Restore pattern search and insertion. (69028)
  • Update keyboard shortcuts to use primaryShift+backspace for block deletion. (69074)

Design Tools

  • Archives: Add Color Support. (68685)
  • Categories: Add Color Support. (68686)

Components

  • ComboboxControl: Add an isLoading prop to show a loading spinner. (68990)

Bug Fixes

  • Exclude Iterator helpers from polyfills. (69070)
  • Fix Dependabot ignore statements. (69144)

Block Editor

  • Block popover: Fix scrolling over. (68075)
  • Display root appender when default block is disabled. (68951)
  • Fix regressionregression A 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)

Site Editor

  • Edit Site: Fix Fields package private APIs error. (68964)
  • Fix: Site Editor should display a 404 message. (69009)
  • Use the same editor component for all routes. (69093)
  • Disable hover animation on preview frame for classic themes. (68976)

Global Styles

  • Fix: Additional CSSCSS Cascading Style Sheets. button not working after back navigation. (68954)
  • Fix: Missing ‘No blocks found.’ message for block search in editor. (69036)

Block Library

  • Query Block: Fix ‘parents’ argument validation. (68983)
  • Social Links: Fix appender size in non-iframeiframe iFrame 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 API The 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 HeaderHeader The 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)

CSS & Styling

  • Enabled Full height in Additional CSS. (68993)

Block hooksHooks In 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.

  • Fix truncation of post content. (68926)

Interactivity APIAPI An 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)

AccessibilityAccessibility Accessibility (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]: A11yAccessibility Accessibility (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 taxonomyTaxonomy A 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)

Documentation

  • Added Missing Global Documentation. (69104)
  • Changed Inline Document Order. (68992)
  • wp-env: Add lifecycleScripts to the schema. (68724)

Code Quality

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Add type for term entity. (69151)
  • iAPI Router: Add missing changelog entry for #68923. (68945)

Block Library

  • E2E: Add regression test for spacer block in themes without spacing units. (68913)
  • Navigation Link Block: Use stable variable for underline color styling. (68953)
  • Regenerate block fixtures. (68982)
  • Social Links: Remove redundant reduce-motion mixin. (69000)

Site Editor

  • Fast follow: Redirections of deprecated site editor URLs. (68971)
  • Quality: Remove unused props and styles from SidebarNavigationScreen. (68972)

Block Editor

  • Inserter: Remove unused no-results-icon styles. (69018)

Tools

  • PR Template: Suggest linking the issue. (68924)
  • Relocate changelog file for WP#6910 to 6.9 backports. (69068)

Build Tooling

  • Fix installing svn during deploys. (69047)
  • Remove react-native dependabot group. (69118)

Testing

  • e2e: Fix “add new” selector. (69111)

Various

  • Remove reactReact React 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)

PluginPlugin A 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 PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher Sync Issue generation script. (68947)
  • npm scripts: Use node -p instead of echo. (68946)

First-time contributors

The following PRs were merged by first-time contributors:

  • @benazeer-ben: RSS: Border & Spacing support. (66411)
  • @grgar: Add optional chain to sizes indexing of media details in edit-site. (68995)
  • @Gulamdastgir-Momin: Added discord in social links. (68848)
  • @Juzar10: Fix: Prevent Errors in Header Processing and Encode URLs Properly. (67780)
  • @singhakanshu00: Disable hover animation on preview frame for classic themes. (68976)
  • @srtfisher: wp-env: Add lifecycleScripts to the schema. (68724)

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @afercia @akasunil @benazeer-ben @carolinan @DAreRodz @desrosj @ellatrix @grgar @Gulamdastgir-Momin @himanshupathak95 @Infinite-Null @joemcgill @Juzar10 @Mamaduka @Mayank-Tripathi32 @ockham @peterwilsoncc @Rishit30G @SainathPoojary @shail-mehta @shimotmk @singhakanshu00 @srtfisher @swissspidy @t-hamano @torounit @yogeshbhutkar


Props to @joemcgill for helping with the actual release and @benjamin_zekavica for helping review this post

#6-8, #block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 20.0? (10 January)

This is GutenbergGutenberg The 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 pluginPlugin A 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 BlockBlock Block 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.

Gutenberg 20.0 is out of the oven and ready to download.

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.

Table of contents

  1. Enhancements for the Style Book
  2. Starter Patterns get a new UI
  3. Easily set a Page to become the Posts Page
  4. Display Block Type Badge for renamed blocks
  5. More Highlights
  6. Changelog
  7. Contributors

Enhancements for the Style Book

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 URLURL A 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 UIUI User 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 multisitemultisite Used 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 HooksHooks In 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 APIAPI An 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)

Block Library

  • Button: Update Settings text labels. (68265)
  • Introduce new filterFilter Filters 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)
  • Latest Posts add Border Block Support. (66353)
  • Add block example attribute for Comments Form block. (68267)
  • Add block example attribute for Comments block. (68266)
  • Read More: Add example preview. (68288)
  • Query Pagination: Update ‘showLabel’ help text. (68105)
  • Query Total block: Reduce concatenation in the output text. (68150)
  • Post Featured ImageFeatured image A 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)
  • Archives Block: Refactor setting panel. (67841)
  • Button Block: Refactor setting panel. (67887)
  • Date Block: Refactor settings panel to use ToolsPanel. (67906)
  • Details Block: Migrate to Toolspanel. (67966)
  • ExcerptExcerpt An 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)
  • Social Icon: Migrate to Toolspanel. (67974)
  • Social Icons: Migrate to Toolspanel. (67975)
  • Table Block: Refactor settings panel to use ToolsPanel. (67896)
  • Tag Cloud Block: Refactor settings panel to use ToolsPanel. (67911)
  • Video Block: Refactor setting panel. (67044)
  • Add dropdown menu props to ToolsPanel component. (68019)

Components

  • Add new “Badge” Component. (66555)
  • Badge: Support text truncation. (68107)
  • BoxControl: Add support for presets. (67688)
  • Button: Add hover style to secondary variant. (67325)
  • CreateTemplatePartModalContents: Use native radio inputs. (67702)
  • Menu: More granular sub-components. (67422)
  • RangeControl: Animate thumb and track only when using marks. (67836)
  • Storybook: Add more max-width containers. (68080)
  • Storybook: Upgrade to the latest version (v8.4.7). (67863)
  • Storybook: Upgrade to v8.0.x. (67574)
  • Unite inline Ariakit imports. (67818)

DataViews

  • Proof of concept: Visualize hierarchical data. (66479)
  • Add confirm dialog before Permanently delete. (67824)
  • Use Badge component in dataview grids. (68062)

Style Book

  • Give style book its own route so it can be linked to directly. (67811)
  • Stylebook: Add the Appearance -> Design submenu through admin_menu action. (68174)
  • Try splitting style book into sections. (68071)
  • Try toggle instead of dropdown to show stylebook. (67810)

Design Tools

  • Post Comments Link: Add Border Support. (68450)
  • Post Template: Add Border and Spacing Support. (64425)
  • Query Total: Add Border Support. (68323)

Block Editor

  • Add reset button to ColorGradientSettingsDropdown. (67800)
  • ChildLayoutControl: Use units defined in theme.jsonJSON JSON, 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 Badge component in page markers. (68103)
  • Use custom name in block sidebarSidebar A 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)
  • Synced Patterns: Apply Block Hooks. (68058)

Site Editor

  • Pages: Add “Set as posts page” action. (67650)
  • Add command to navigate to site editor. (66722)

Write mode

  • 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 JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. entry points with paths. (68251)
  • Upgrade sass to version 1.54.0. (68380)
  • postcss-plugins-preset: Bump autoprefixer to 10.4.20. (68237)
  • wp-env: Add multisite support. (67845)

Various

  • DOM: Support class wildcard matcher in ‘cleanNodeList’. (67830)
  • Split upload into verbs and nouns. (68227)
  • 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 translationtranslation The 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)
  • Fix dataviews commonjs export. (67962)
  • Get active element within the iframeiframe iFrame 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)
  • Make strings in theme.json translatable. (66675)
  • Scripts: Use fork of rtlcss-webpack-plugin to fix issues with deps. (68201)

Block Library

  • Columns: Add space above notice text. (68259)
  • Enhance: Improve pagination logic in coreCore Core 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)
  • Query Total: Remove nested element. (68304)
  • Table Block: Fix margin/padding to include caption in spacing. (68281)
  • Update SiteTitle block to Fix isLink Toggle Behavior. (68295)
  • i18ni18n Internationalization, 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’ bugbug A 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)
  • BoxControl: Better minimum value support. (67819)
  • BoxControl: Fix aria-valuetext value. (68362)
  • Fix end-to-end storybook. (68307)
  • Fixing Text Contrast for Dark Mode. (68349)
  • FontSizePicker: Add display: Contents rule to custom size select. (68280)
  • Storybook: Fix emotion/is-prop-valid warning. (68202)
  • Storybook: Fix a few editor styles warnings. (68198)
  • Storybook: Fix warnings in Layout document. (67865)
  • Use default value in useMediaUploadSettings. (68100)

Block Editor

  • Media Replace Flow: Add custom toggle support and fix button height. (68084)
  • BlockCard: Fix title alignment. (68115)
  • DateFormatPicker: Fix styles & spacing. (68079)
  • Fix Iframe error for links without ‘href’. (68024)
  • Grid Visualizer: Improve observation logic. (68230)
  • List View: Fix appender size. (68221)
  • MediaReplaceFlow: Remove store subscription in favor of modern CSSCSS Cascading Style Sheets.. (68276)
  • Remove patterns from the Quick Inserter to prevent misuse in block-specific contexts. (67738)
  • Revert ‘Warning’ component autofocus. (68133)
  • 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 metaMeta Meta 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 HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from the post title in the document bar. (68358)
  • Fix: Some 403 errors for editor roles. (68146)
  • Improve logic to show entities saved panel description. (67971)

DataViews

  • Don’t render actions dropdown when all eligible ones are primary. (68168)
  • Handle grid preview size based on container width. (68078)
  • Hide actions related UI in grid when no actions or bulk actions are passed. (68033)
  • Pages: Update layout-specific configuration when the view is updated. (67881)
  • Use action.disabled state to disable actions (primary and secondary). (68275)

Site Editor

  • Add CSS classname to fix the negative margins not appearing in the Navigation Screen. (67825)
  • Fix obsolete getLocationWithParams usage. (68388)
  • Pages: Remove unnecessary padding for items. (67977)
  • Update active menu item appearance. (68147)

Style Book

  • Fix global styles updating in style book. (68111)
  • Fix style book background color. (68088)
  • Fix uploading background images in stylebook view. (68159)
  • Stylebook: Avoid double line in subcategory titles. (67752)

Zoom Out

  • Allow replace operation on empty default block in Zoom Out. (68026)
  • Fix don’t show inserter in Zoom Out dropzone when the text is visible. (68031)
  • Hide separators for currently dragged section in Zoom Out. (67638)
  • Make Write mode and Zoom out block options menus consistent. (67749)

Design Tools

  • Background supports: Add default controls supports. (68085)
  • 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

  • CustomizerCustomizer Tool 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)
  • WidgetWidget A 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 metaboxMetabox A 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)
  • Query Pagination: Fix ‘undo’ trap. (68022)
  • Add –glob argument to rimraf cli scripts. (67829)

AccessibilityAccessibility Accessibility (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 categoryCategory The '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)

Documentation

  • .wp-env.json schema: Add testsPort field. (68220)
  • Add README for TextAlignmentControl component. (68126)
  • Add layout related updates to the DataForm README. (68050)
  • Added Global Documentation in load.php. (68325)
  • Badge component: Fix Storybook URL link. (68077)
  • Badge: Fix up extra newline in readme. (68359)
  • Block Editor Storybook: Restructure the directory and add badges to private components. (68352)
  • Clarify template property behavior in InnerBlocks documentation to specify prefill when empty. (66911)
  • Components: Normalize newlines in auto-generated READMEs. (68208)
  • Components: Prevent broken lists in auto-generated readmes. (68301)
  • Components: Warn private API in auto-generated readmes. (68317)
  • Create a catalog list of private APIs. (66558)
  • DateFormatPicker: Improve line breaks in JSDoc and README. (68006)
  • Doc: Add JSDoc and update README for BlockCard component. (68114)
  • Docs: Fix some typos on reference-guide data-core-block-editor.md. (68066)
  • Documenting innerBlocks in save function. (66689)
  • Fix reference to wp-env start in documentation. (68034)
  • Fix wrong npm start command. (65221)
  • Fix: Fix link to minimal-block example plugin code. (67888)
  • Fixed typo in README of TextTransformControl. (68443)
  • Section Styles: Update block style variation documentation. (68169)
  • Storybook : Add TextTransformControl stories. (67365)
  • Storybook: Add BorderRadiusControl story. (67383)
  • Storybook: Add PlainText Storybook stories. (67341)
  • Storybook: Add stories for BlockCard component. (67191)
  • Storybook: Add stories for BlockTitle Component. (67234)
  • Storybook: Add stories for DateFormatPicker Component. (67290)
  • Storybook: Add stories for the ContrastChecker component. (68120)
  • Storybook: Add stories for the TextAlignmentControl component. (67371)
  • Storybook: Add stories for the TextDecorationControl component. (67337)
  • Storybook: Add story for the Warning component. (68124)
  • Storybook: Make prop sort order consistent. (68152)
  • Tabs: Auto-generate README. (68209)
  • Update platform documentation intro. (61341)
  • Update the copyright licensecopyright license Copyright 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)
  • Updated Document URL in Documentation. (67990)
  • Updated Small Typo in documentation in docs/getting-started/faq.md file. (68357)
  • [Docs] Fix: Two broken links to the packages reference API and to blocks documentation. (67889)
  • env: Fix changelog entry. (68219)
  • theme.json schema: Fix block list. (68343)

Code Quality

  • 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: Invalidinvalid A 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)
  • InputControl : Deprecate 36px default size. (66897)
  • Menu: Migrate Storybook examples to CSF3. (68204)
  • Menu: Use ariakit types. (68206)
  • Navigation: Prepare for hard deprecation. (68158)
  • Navigation: Upsize back buttons. (68157)
  • RadioGroup: Log deprecation warning. (68067)
  • SelectControl : Deprecate 36px default size. (66898)
  • Slot: Use layout effect and update Cover block unit tests. (68176)
  • SlotFill: Use observableMap everywhere, remove manual rerendering. (67400)
  • Tabs: Use correct ariakit type for root component. (68207)
  • TreeSelect: Deprecate 36px default size. (67855)

Plugin

  • fix: return type for WP_Duotone_Gutenberg::Get_selector(). (66695)
  • fix: Deprecated WP_Webfonts() constructor takes no arguments. (66700)
  • fix: Remove extraneous arg from gutenberg_url() call in gutenberg_posts_dashboard(). (66699)
  • fix: Remove extraneous param from remove_filter() calls. (66697)
  • fix: Wrong number of $accepted_args on add_filter() calls. (66694)
  • fix: explicitly return false in WP_Theme_JSON_Gutenberg::Should_override_preset(). (66696)

Block Editor

  • Fix ESLint warnings for the ‘useInnerBlockTemplateSync’ hook. (68355)
  • FontAppearanceControl: Deprecate 36px default size. (67854)
  • FontFamilyControl: Deprecate 36px default size. (67853)
  • Inserter: Use 40px default size for toggle button. (68155)
  • LineHeightControl: Deprecate 36px default size. (67850)

Post Editor

  • DocumentTools: Use standard ToolbarButton for inserter. (68332)
  • Editor: Remove constants for notices. (68361)
  • Editor: Remove the ‘content-only’ check from ‘TemplatePartConverterMenuItem’. (67961)

DataViews

  • DataForm: Add unit tests. (68054)
  • DataForm: Remove FormFieldVisibility. (68203)
  • [DataView] Initial list of unit tests for the DataView component. (68205)

Block Library

  • Columns: Replace some store selectors with ‘getBlockOrder’. (67991)
  • Fix trailing spaces in navigation block classnames. (68161)

Site Editor

  • Edit Site: Standardize reduced motion handling using media queries. (68419)

Design Tools

  • Block Supports: Revert stabilization of typography, border, skip serialization and default controls supports. (68163)

Zoom Out

  • Correct spelling in Zoom Out Inserters comment. (68051)

Block API

  • Fail gracefully when block in createBlock function is not registered. (68043)

Icons

  • Deprecate warning and rename to cautionFilled. (67895)

Tools

Build Tooling

  • Add new private upload-media package. (66290)
  • Build: Simplify tsconfig.json files. (68326)
  • Clean script: Use braces instead of @-pattern for glob. (67833)
  • Fix VS Code performance. (68347)
  • Fix tsconfig for test/ directory. (68346)
  • Fix: Script with glob option doesn’t work on Windows. (67862)

Testing

  • Page – Quick Edit: Add end-to-end tests. (68151)
  • Add ESLint rule to prevent usage of the verb ‘toggle’ in translatable strings. (67741)
  • Enhance template registration end-to-end tests to handle welcome dialog visibility. (68059)

Various

  • ActionItem.Slot: Render as MenuGroup by default. (67985)
  • Storybook: Add BlockAlignmentMatrixControl Stories and update README. (68007)
  • Update “Call to Action” to “Call to action”. (67876)

Plugin

  • Assets: Add README.md about syncing. (68128)
  • Workflows: Sync assets to plugin repo upon change in trunktrunk A 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)
  • @im3dabasia: Storybook : Add TextTransformControl stories. (67365)
  • @justlevine: fix: Deprecated WP_Webfonts() constructor takes no arguments. (66700)
  • @karthick-murugan: Latest Posts Border Block Support. (66353)
  • @mayurprajapatii: Updated Document URL in Documentation. (67990)
  • @PARTHVATALIYA: Widget Editor: Fix: Close button is not working. (65443)
  • @prasadkarmalkar: Replace PanelBody with ToolsPanel and ToolsPanelItem in column block. (67913)
  • @rilwis: Fix wrong npm start command. (65221)
  • @sarthaknagoshe2002: Clarify template property behavior in InnerBlocks documentation to specify prefill when empty. (66911)
  • @timse201: Split upload into verbs and nouns. (68227)
  • @vampdroid: Add text domain option while scaffolding the block in create-block. (57197)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @akasunil @benazeer-ben @bph @Chrico @ciampo @d-alleyne @DAreRodz @dhruvikpatel18 @draganescu @ellatrix @fabiankaegy @fushar @getdave @gigitux @gziolo @hbhalodia @himanshupathak95 @im3dabasia @Infinite-Null @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanfra @justlevine @karthick-murugan @kmanijak @louwie17 @Lovor01 @Mamaduka @manzoorwanijk @matiasbenedetto @Mayank-Tripathi32 @mayurprajapatii @mcsf @michalczaplinski @mikachan @mirka @ntsekouras @oandregal @ockham @PARTHVATALIYA @prasadkarmalkar @ramonjd @rilwis @rinkalpagdar @Rishit30G @rohitmathur-7 @SainathPoojary @sarthaknagoshe2002 @SH4LIN @shail-mehta @shimotmk @sirreal @stokesman @Sukhendu2002 @swissspidy @t-hamano @talldan @tellthemachines @timse201 @tyxla @up1512001 @vampdroid @Vrishabhsk @yogeshbhutkar @youknowriad

Thanks to @priethor, @gziolo, @jonsurrell, @jorbin who helped with this release and to @joemcgill and @sergeybiryukov for helping review this post.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 19.9? (19 December)

“What’s new in GutenbergGutenberg The 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 BlockBlock Block 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.


Gutenberg 19.9 is out of the oven and ready to download.

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.

Table of contents

  1. Style Book in classic themes
  2. Introducing the Query Total block
  3. More Highlights
  4. Changelog
  5. First-time contributors
  6. Contributors

Style Book in classic themes

The Style Book now appears in supported classic themes under Appearance > Design > Styles in the adminadmin (and super admin) menu. 

Support is available for classic themes that either support editor styles via add_theme_support( 'editor-styles' ) or have a theme.jsonJSON JSON, 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 CoreCore Core 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 GitHubGitHub GitHub 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 LoopLoop The 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 mysqlMySQL MySQL 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 image A 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)
  • wp-env: Add phpMyAdmin support. (67588)

Components

  • Added enableAlpha prop to CustomGradientPicker and GradientPicker components. (66974)
  • BorderBoxControl: Reduce gap value when unlinked. (67049)
  • DateTime: Add default date/time to stories. (67678)
  • Deprecate COLORS.white. (67649)
  • Disabled: Suppress contentEditable warning in story. (67679)
  • Document layout in Storybook. (67628)
  • DropdownMenu: Increase option height to 40px. (67435)
  • DuotonePicker: Simplify Button styles. (66641)
  • Menu: Throw when subcomponents are not rendered inside top level Menu. (67411)
  • Popover: Use anchor instead of anchorRef in story. (67674)
  • Storybook: Remove unnecessary feature flags. (67576)
  • 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/reactReact React 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 headerHeader The 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)
  • Quick Edit: Add Template field. (66591)
  • Refactor actions to render modal outside of the menu. (67664)
  • Renders DataForm component only when data has been fetched. (67694)
  • Unify layout configuration. (67477)
  • Update bulk header with actions. (67743)

Style Book

  • Add stylebook screen for classic themes. (66851)
  • Scroll to top at styles root. (67605)
  • Stylebook: Render overview colors in 4 columns. (67597)
  • Update style book headings to new design. (67546)

Post Editor

  • Inline Commenting: Added new sidebarSidebar A 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: UXUX User 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)
  • Style the selected template pattern. (65917)

Data Layer

  • 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 a11yAccessibility Accessibility (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)
  • Try direct drag (outside text editable). (67305)

Zoom Out

  • Keep only copy, duplicate and delete in the zoom out more block toolbar menu item. (67279)

Font Library

  • FontCollection: Update pagination controls. (67143)

Colors

  • Add reset button to color control. (67116)

Bug Fixes

  • Exclude Set instance methods from polyfills. (67230)
  • Preload: Fix settings fields order. (67450)
  • Scripts: Make React Fast Refresh work with multiple blocks. (64924)
  • WP Scripts: Update webpack dependencies related to styling. (67572)

Site Editor

  • Allow access to quick edit. (67469)
  • Edit Site: Fix sidebar template author navigation. (67382)
  • Fix Site editor navigation menuNavigation Menu A 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 regressionregression A 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 sidebar item animation regression. (67771)
  • Fix sidebar plugins. (67557)
  • Fix the templates route on mobile. (67547)
  • Fix: Fixed site-editor crashing when added front-page template and clicking more option. (67500)
  • Fix: Fixed styling tab not opening on themes without style variations on mobile & desktop. (67537)
  • Preload: Parse post ID from p (path). (67465)
  • Remove default page slug. (67673)
  • Router: Fix addition and removal of empty classnames. (67378)
  • Wrap each router area in ‘ErrorBoundary’. (64245)
  • useEditorTitle: Fix wrong request without ID. (67475)

Block Editor

  • Animate useScaleCanvas() only when toggling zoomed out mode. (67481)
  • Drag and drop: Fix drop zones on block drag. (67317)
  • Drag and drop: Fix firefox compat logic. (67439)
  • Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error in the ‘useTabNav’ hook. (67102)
  • FontFamilyControl: Restore margin bottom. (67424)
  • Inserter: Hide child blocks from the inserter when needed. (67734)
  • Inserter: Patterns: Remove loading indicator. (67072)
  • Inserter: Should receive focus on open. (67754)
  • Remove words count in the multi-selection inspector. (67624)
  • Storybook: Fix BlockPatternsList fixtures. (67672)
  • Drag and drop: Fix misplaced drop indicator. (67434)
  • Drag and drop: Fix scroll disorientation after drop. (67405)
  • Drag and drop: Restore moving animation. (67417)

Block Library

  • Align Submenu block and Nav Link block by including description and wrapping span. (67198)
  • CommentsPagination: Set font-size to inherit for pagination items. (67296)
  • Fix latest post block spacing issue. (66442)
  • Fix: Caption with Link in Wide-Width and Full-Width Images Appears on two lines. (67392)
  • Fix: Don’t show aria-label when its value is empty. (67381)
  • Navigation Block: Fix issue with double-clicking “Create a new menu” causing duplicate menus. (67488)
  • Pullquote block having design issue when text-decoration is choosen strikethrough. (66707)
  • Remove inline-block display from image anchor in style.scss. (67368)
  • Search block: Add space between attributes when using “Button only” option. (61399)
  • Updated ‘Set featured image’ text in dropdown. (67775)

DataViews

  • Avoid double click handler on primary fields. (67393)
  • Better handling of missing onClickItem prop. (67402)
  • Fix filters lost when switching layouts. (67740)
  • Fix hidden List layout actions dropdown. (67778)
  • Fix reordering fields in list and grid layouts. (67777)
  • Fix: Duplicate template part refers to original name instead of duplicated name. (67329)
  • Preserve filters when switching layouts in templates dataviews. (67744)
  • QuickEdit: Prevent site-editor from crashing when slug is not an object. (67577)
  • Site Editor: Fix featured image not appearing in pages dataviews. (67562)

Components

  • CustomSelectControl: Update Value from Fresh State. (67733)
  • Fix the ‘ClipboardButton’ effect cleanup. (67399)
  • Navigation: Fix active item hover color. (67732)
  • Scrollable: Fix story by declaring field as readonly. (67683)
  • Storybook: Fix control types. (67646)
  • Storybook: Fix storybook blocks imports. (67684)
  • Storybook: Fix table markup in Design Language – Radius documentation. (67686)
  • Theme: Fix contrast in nested story. (67681)

Post Editor

  • Fix MetaMeta Meta 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 hiding and showing of meta boxes. (67504)
  • Fix: Header layout spacing in Firefox. (67074)
  • Make sure Document Bar doesn’t go missing. (67322)
  • Update pre-publish panel wording to accurately describe the review process. (67328)

Zoom Out

  • Fix for inserter. (67495)
  • Fix useZoomOut inserter behavior. (67591)
  • Fix zoom animation scrollbar. (67536)
  • UseScaleCanvas performance improvements. (67496)

Write mode

  • 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 widgetWidget A 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 iframeiframe iFrame 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)

Focus Mode

  • Site Editor: Fix focus mode navigation. (67458)

List View

  • 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 API The 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)

AccessibilityAccessibility Accessibility (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)

Post Editor

  • Fix EntitiesSavedStates panel dialog props. (67351)

Performance

  • Fix re-renders caused by getEntityRecordsPermissions after #67667. (67770)
  • Preload: Fix end-to-end test. (67497)
  • Site Editor: Pages: Preload template lookup. (66654)
  • [mini] Preload: Add post type. (67518)

Experiments

  • Move duplicateTemplatePart action to the @wordpress/fields package. (65390)

Documentation

  • Button: Revise documentation. (66617)
  • Docs: Fix Playwright Page Object Model link. (67652)
  • Docs: Include the strategy for setting engines for WordPress packages. (67727)
  • Docs: Remove invalidinvalid A 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)
  • Improve documentation for fields package. (67580)
  • Refine getServerState() & getServerContext() documentation. (67499)
  • Storybook: Add WritingModeControl story. (67343)
  • Storybook: Add stories for AlignmentToolbar and AlignmentControl components. (67046)
  • Storybook: Add stories for HeadingLevelDropdown component. (67294)
  • Storybook: Revert “Preview: ArgsTable => Controls (#67582)”. (67656)
  • Storybook: Support keyword search in Icon Library. (67442)
  • Switch Several Links to httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. in Document Files. (67706)
  • Update README.md. (67711)
  • Update extending-the-query-loop-block.md. (67529)
  • Update global stylesheet docblocks with custom-css parameter. (67716)
  • Updated old URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in Documentation. (67446)

Code Quality

  • Convert lock unlock to generics. (66682)
  • CreateTemplatePartModal: Avoid identity warning in useSelect. (67786)
  • CreateTemplatePartModal: Replace ts-ignore with ts-expect-error. (67709)
  • Fix misc type compilation errors in editor and block editor packages. (67410)
  • Fix: Invalid JSDoc for optional string parameter and return value. (67489)
  • Fix: Remove unused test code on tools panel. (67589)
  • Removed trailing space in “Color randomizer “. (67457)
  • Update misc types and revert WPCompleter export from components. (67599)

Components

  • BoxControl: Deprecate 36px default size. (66704)
  • BoxControl: Passive deprecate onMouseOver/onMouseOut. (67332)
  • BoxControl: Refactor and unify the different sides implementation. (67626)
  • CustomSelectControl: Deprecate 36px default size. (67441)
  • FormFileUpload: Deprecate 36px default size. (67438)
  • FormTokenField: Deprecate 36px default size. (67454)
  • NumberControl: Deprecate 36px default size. (66730)
  • RangeControl: Update the default marks styles to match the padding/margin control. (67611)
  • Remove __unstableMotionContext from @wordpress/components. (67623)
  • SlotFill: Remove explicit rerender from portal version. (67471)
  • Tabs: Overhaul unit tests. (66140)
  • ToolbarButton: Set size to “compact”. (67440)
  • UnitControl : Deprecate 36px default size. (66791)

Block Editor

  • Group ‘onRemove’ callback with other public APIs. (67551)
  • InspectorControlsSlot: Remove unused framer motion context forwarding. (67522)
  • LetteringSpacingControl: Deprecate 36px default size. (67429)
  • Reduce the ‘isZoomOut’ selector calls in the block toolbar. (67594)
  • Remove ‘React.Children’ legacy APIAPI An 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)
  • Stabilize LinkControl Component. (56384)

Site Editor

  • Remove .components-item-group selector in edit-site components[2]. (67575)
  • Site Editor Sidebar: Remove hasGlobalStyleVariations condition for the Styles nav item. (67545)
  • Unify layout with posts dataviews. (67162)
  • 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 hooksHooks In 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 shortcodeShortcode A 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)

Tools

  • PR template: Add before/after table. (62739)

Build Tooling

  • Build: Stop generating unused legacy scripts for core blocks. (65268)
  • CI: Skip native jobs. (67799)
  • DataViews build-wp: Don’t bundle singleton WordPress packages. (67590)
  • DataViews build-wp: Don’t bundle the date package. (67612)
  • Keycodes: Improve tree shaking by annotating exports as pure. (67615)
  • Upgrade TypeScript to 5.7 and fix types. (67461)
  • 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)

PluginPlugin A 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)

NUX

  • Welcome guide headline update. (67654)

Block Locking

  • Simplify description and option names in the Lock modal dialog. (67437)

First-time contributors

A colossal kudos to all the first-time contributors who submitted the following PRs:

Contributors

Finally, thanks to everyone who gave their time, code, reviews and ideas to Gutenberg 19.9:

@aaronrobertshaw @afercia @ajlende @akasunil @AKSHAT2802 @benazeer-ben @benniledl @carolinan @cbravobernal @desrosj @dhruvang21 @dougwollison @ellatrix @getdave @gigitux @gziolo @hbhalodia @himanshupathak95 @Infinite-Null @jeryj @jsnajdr @juanfra @louwie17 @Mamaduka @manzoorwanijk @matiasbenedetto @mcsf @michalczaplinski @miminari @mirka @ndiego @ntsekouras @oandregal @ockham @PARTHVATALIYA @ramonjd @SainathPoojary @SantosGuillamot @sarthaknagoshe2002 @snehapatil2001 @Soean @Sukhendu2002 @t-hamano @talldan @tellthemachines @TylerB24890 @tyxla @up1512001 @vipul0425 @yogeshbhutkar @youknowriad

See you next year for Gutenberg 20.0! 🎉

Thanks to @annezazu, @bernhard-reiter, @joen, @isabel_brison and @ndiego who helped with this release.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 19.6? (6 Nov)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).


Gutenberg 19.6 has been released and is available for download!

This release includes 193 PRs from 55 contributors, and includes one really exciting experimental feature, inline comments!

Experimental inline comments

Experimental inline comments are available as an experimental feature in  Gutenberg. Users will be able to comment on top of blocks, only in non-published posts. In order to activate them, go to Gutenberg > Experiments and enable the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Comments checkbox.

Example of experimental inline comments feature.

Code quality, bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and build tooling

The release includes some improvements on the overall site editing experience:  a keyboard shortcut for zoom out (66400), a cleaner layout (66255), and a new color tab (65692) for the style book.

The client-side media processing work has started (64845), but keep in mind that this new package is private and experimental.

Also, a few ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Compiler errors have been fixed and packages now use npm workspaces (65681).

Changelog

Enhancements

Components

  • Add elevation tokens to storybook. (66122)
  • Add foundations:Elevation to storybook. (66124)
  • Add radius foundation and tokens to storybook. (66219)
  • Combobox, FormTokenField: Show message when no matches found. (66142)
  • Storybook: Organizes components under ‘Utilities’. (66210)
  • Tabs: Expose active tab item props, use ariakit prop types. (66223)
  • Tabs: Remove custom logic. (66097)
  • DropdownMenuV2: Rename to Menu. (66289)

Block Library

  • Add Transformation from Separator to Spacer. (66230)
  • Add lightbox option in gallery block link control. (64014)
  • Archives: Add border block support. (63400)
  • Border support added to comments. (66354)
  • Cover Block: Add Image Resolution options. (62926)
  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Force HTML preview in view mode. (66440)

Zoom Out

  • Add keyboard shortcut in editor. (66400)
  • Iterate zoom out shuffle into a more visual control. (66194)
  • Use the zoom-level value to scale the iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. (66280)

Site Editor

  • Remove synchronization of canvas mode into store. (66213)
  • Style Book: Clean up layout. (66255)
  • Update site icon and title position. (66171)
  • Editor Interface: Remove small headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. from global styles/pluginPlugin A 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 sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (64474)
  • Remove purple coloring from DocumentBar and PostCard. (66451)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Add the ‘getEntitiesConfig’ resolver. (65871)
  • BlockGroupToolbar: Better i18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill. context for toolbar labels. (66211)
  • Set ResizableEditor height based on border-box. (66342)
  • Add align-item related icons. (66242)
  • Stabilize isPreviewMode flag. (66149)

Data Views

  • Fix alignment of action items in list layout. (66273)
  • Templates: Hide media field in list view. (66573)

Global Styles

  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.: Caching of global styles for blocks from core. (66349)
  • Style Book: Add color tab. (65692)

Real-time Collaboration

  • Inline Commenting: Disable comments on published posts for now. (66583)

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Backport from WordPress core: Improvements for the post format query loopLoop The 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. filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.. (66037)

Build Tooling

  • Create Block: Adds --target-dir flag to allow the tool to target where to scaffold. (53781)
  • Scripts: Add build-blocks-manifest command. (65866)
  • Scripts: Add BlueOak-1.0.0 license to GPL2 compatible. (66139)
  • WP Scripts: Add a --root-folder argument to the plugin-zip command. (61375)

Bug Fixes

Zoom Out

  • Disable zoom out toggle button when Style Book is open. (66228)
  • Don’t switch editor mode when changing entities. (66452)
  • Fix scaling animation for device previews. (66132)
  • Fix zoom out not persisting while switching between editor and code editor. (65932)
  • Fix zoom out shortcut on Windows. (66506)
  • Fix: Activate zoom out on large viewport. (66308)
  • Hide slots and grouping buttons. (66243)
  • Remove zoom-out toolbar. (66039)
  • Resets the Zoom on viewed/edited entity change. (66232)
  • Revise zoom layout shift fix. (66390)
  • Zoom Out: Rely on zoom-level instead of zoom-out mode. (66141)
  • Zoom Out: Fix bouncy drop zones. (66399)

Block Editor

  • Block inserter: Prevent editor from crashing if blockType.parent is a string. (66234)
  • Block toolbar: Account for scrollable blocks that affect the position of the block toolbar. (66188)
  • Fix extra scrollbar appearing when searching in the inserter. (66229)
  • Fix: Show paragraph block variations in rich text inserter. (66318)
  • Group: Fix padding select. (65857)
  • Link Shortcut: Only trigger the link shortcut if there’s a text selection. (66056)
  • Remove relative position from sidebar tabpanel. (66267)
  • Rich text: Remove empty file. (66553)
  • Block editor: Self nesting and circular nesting block fix. (66121)
  • Post Editor: Set the default value of the editorTool to edit. (66636)

Components

  • ColorPalette: Prevent overflow of custom color button background. (66152)
  • Fix: Text overflow in Patterns filter. (66504)
  • RadioGroup: Fix arrow key navigation in RTL. (66202)
  • Tabs and TabPanel: Fix arrow key navigation in RTL. (66201)
  • Tabs and ToggleGroupControl: Round indicator size. (66426)
  • Tabs: Fix animation timings. (66198)
  • Tabs: Override tablist’s tabindex only when necessary. (66209)
  • Tabs: Restore vertical alignment for tabs content. (66215)
  • Tabs: Update indicator more reactively. (66207)
  • SpacingSizesControl: Use generic label for linked button. (66304)

i18n

  • Miscellaneous i18n fixes. (66510)
  • Remove most of the occurrences of the verb toggle. (66371)

Post Editor

  • Always force iframe in pattern editor. (65887)
  • Editor: Multi-entity saving: Show correct count of entities to be saved. (66482)
  • Fix : “Set featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.” button border flashes on focus. (66092)
  • Fix Parent Check Condition in buildTermsTree. (66006)
  • Fix: Improve the DocumentBar post type label for the Homepage and Posts Page cases. (66355)
  • PostTaxonomiesFlatTermSelector: Restore space between tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) list and most used tags. (66566)
  • Typo metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. pane is a metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. box panel. (66502)

Block Library

  • Block registration: Normalize blockType.parent to array. (66250)
  • Button Block: Apply Stretch Styles Correctly. (64770)
  • Buttons: Fix the initial white space in nofollow rel. (66303)
  • Fix – Image block: Aspect ratio not responding when dimensions are not set. (66217)
  • Navigation block: Fix block appender size. (66153)
  • Fix the navigation issue inside cover blocks. (66093)

Site Editor

  • Edit Site: Fix canvasMode var. (66316)
  • Fix button hover style in sidebar navigation screen. (66505)
  • Remove toggle verb from post list data views ‘Toggle details panel’. (66334)
  • Revert 66431 (Site editor: Remove “default” adminadmin (and super admin) CSSCSS Cascading Style Sheets.). (66540)
  • Restore block-library editor.css outside canvas. (66556)
  • Fix extraneous scrollbar in device previews. (66494)
  • Global styles: Move preload paths filter to 6.7 (previously 6.8). (66543)
  • Fix comment output in styles. (66439)
  • Site editor: Fix save shortcut. (66423)
  • Preload: Fix multiple regressions around global styles. (66468)

Build tooling

  • Create block: Ensure $slug is replaced with passed slug. (66528)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

Post Editor

  • Add featured image alt text. (66189)
  • Fix : Badge Color contrast. (66360)

Block Editor

  • ImageSizeControls: Replace ButtonGroup with ToggleGroupControl. (65386)
  • Improve the link preview accessibility and labels. (60908)

Block Library

  • Search: Replace ButtonGroup usage with ToggleGroupControl. (65340)
  • Remove clip & -webkit-clip-path for downloadable-block-list-item style.scss. (66147)

Global Styles

  • Global styles menu: Avoid visible labels and accessible names mismatch. (65124)

Site Editor

  • Fix Global styles panel header buttons text overlap for ‘Show button text labels’. (63243)
  • Update the speak messages when switching editor modes. (66278)

Performance

Site Editor

  • Remove “default” admin CSS. (66431)
  • Remove content styles outside canvas. (66432)
  • Block Style Variations: Reuse block metadata in WP_Theme_JSON::Get_valid_block_style_variations() for better performance. (66539)
  • Block Bindings: Use getEntityConfig instead of getPostTypes to get available slugs. (66101)

Build Tooling

  • Fix/compare performance with correct branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. (66196)

Experiments

  • Add Inline comment experimental flag. (60622)
  • QuickEdit: Add slug field control. (65196)

Data Views

  • Quick Edit: Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. error when bulk editing pages. (66358)
  • QuickEdit: Add Featured Image Control. (64496)
  • QuickEdit: Add Parent field. (66527)

Documentation

  • BaseControl: Auto-generate readme. (66500)
  • Components: Prevent generated readmes duplicating h1 elements when published. (66180)
  • Correct documentation on display type in flow layouts. (66224)
  • Docs: Interactivity APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. – Add documentation for getServerState() and getServerContext(). (66104)
  • Fix undo/redo Button size in Storybook playground. (66538)
  • Fix: JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. Schema Docgen doesn’t work on Windows OS. (66414)
  • ItemGroup: Improve stories to default to bordered and separated. (66191)
  • README: Add Storybook badge. (66529)
  • Remove meetings that no longer occur from Contributor Guide. (66421)
  • Site editor routes: Add documentation for areas and prevent edit area from rendering when canvas is edit. (66309)
  • Update documentation about build process changes. (66428)
  • Docs: Example for getSelectedBlock. (66108)

Code Quality

Block Editor

  • ESLint: Remove explicit react-hooks/exhaustive-deps disabling. (66461)
  • ESLint: Remove various React Compiler mutation violations. (66327)
  • Fix ‘useInstanceId’ hook reference. (66406)
  • Fix React Compiler error for Duotone. (66492)
  • Fix React Complier error for ‘useEventListeners’. (66495)
  • Import only the actually used PostCSS exports. (66379)
  • No need to unlock public actions. (66260)
  • Remove patterns UIUI User interface stylesheet from iframe. (66306)
  • Remove unnecessary Tooltip component from radius control linked button. (66274)
  • Rich Text: Fix React Complier error for ‘useEventListeners’. (66460)
  • Storybook: Add BlockPatternsList story. (66227)
  • Block editor: Remove reusable blocks stylesheet from iframe. (66285)

Components

  • BorderBoxControl: Deprecate 36px default size. (65752)
  • BorderControl: Deprecate 36px default size. (65755)
  • DrodownMenuV2: Rename folder to menu. (66473)
  • ESLint: Stop disabling react-hooks/exhaustive-deps rule. (66324)
  • Fix React Compiler error for ‘useAutocomplete’. (66496)
  • PaletteEdit: Use ItemGroup and Item, and avoid custom styles. (66164)
  • TabPanel: Add 40px size prop to tab Button. (66557)
  • Tabs: Align to standard compound components structure. (66225)
  • Tabs: Simplify styled components code. (66208)

Compose

  • Compose: Fix React Complier error for ‘useCopyToClipboard’. (66444)
  • Composer: Fix React Compiler errors for ‘useDropZone’. (66469)

Dataviews

  • Fields: Fix React Compiler mutation errors. (66464)
  • Fields: Update a few function definitions. (66315)

Interface

  • Interface: Remove duplicate ‘withComplementaryAreaContext’ file. (66348)
  • Interface: Remove unused private API support. (66565)
  • Interface: Use plugin context hook instead of HoC. (66362)

Zoom Out

  • Bundle behavior in block-editor and add story. (66240)
  • Editor: Handle zoom out state via the ‘switchEditorMode’ action. (66262)
  • Fix/html scale code quality. (66181)
  • Make useZoomOut hook private. (66374)
  • Remove double click to exit hook from the block-editor package. (66335)
  • Remove viewport check from useZoomOut hook. (66341)

Post Editor

  • Editor: No need to reset mode when changing device preview types. (66261)
  • Editor: Use plugin context hook in ‘PluginMoreMenuItem’. (66351)
  • Editor: Use plugin context hook in ‘PluginPreviewMenuItem’. (66350)
  • Fix typo after #63669. (66396)
  • Remove leftover JS code from 66451. (66472)

Block Library

  • Cleanup unnecessary notice removal. (66409)
  • ESLint: Fix a couple of React Compiler reassignment errors. (66331)
  • Footnotes: Remove extra callback when parsing content. (66370)
  • Gallery: Fix React Compiler reassignment error. (66408)
  • Table Block: Remove hasArrowIndicator prop. (66204)

Style Book

  • Avoid state/effect combo when generating values. (66446)
  • Fix React Compiler error. (66445)

Global Styles

  • Clean up: Adjust reusable-blocks dependencies. (66302)
  • Fix React Compiler variable mutation error. (66410)
  • Theme JSON: Get_block_nodes – relocate $selectors assignment. (66265)

Interactivity API

  • Interactivity API: Add comments to the deepMerge() function. (66220)
  • Interactivity API: Add tests for handling arrays in deepMerge(). (66218)
  • Interactivity API: Delay block hydration to allow interactive block stores to initialize. ([66772])(https://github.com/WordPress/gutenberg/pull/66772)

Site Editor

  • Prepare route registration by refactoring the site editor router. (66030)
  • Navigation: Improve trigger for fallback navigation. (66478)

Build Tooling

  • Scripts: Refactor to extract license logic. (66179)
  • Plugins: Deprecate ‘withPluginContext’ HOC. (66363)

Tools

Testing

  • Fix [Flaky Test] Entering zoomed out mode zooms the canvas. (66212)
  • Fix end-to-end test for padding appender. (66080)
  • Upgrade Playwright to v1.48. (66296)

Build Tooling

  • Add new private vips package. (64845)
  • Revert “Use npm workspaces for packages”. (66270)
  • Add theme type to the bug report issue template. (63851)
  • Pull request automation: Use full npm install. (66314)
  • Use npm workspaces for packages (second attempt). (66272)

First-time contributors

The following PRs were merged by first-time contributors:

  • @AhmarZaidi: Remove toggle verb from post list data views ‘Toggle details panel’. (66334)
  • @mediaformat: Remove clip & -webkit-clip-path for downloadable-block-list-item style.scss. (66147)
  • @nicolasgalvez: WP Scripts: Add a --root-folder argument to the plugin-zip command. (61375)
  • @poojabhimani12: Add Inline comment experimental flag. (60622)
  • @rinkalpagdar: Border support added to comments. (66354)
  • @rudrakshi-gupta: Add Transformation from Separator to Spacer. (66230)
  • @SH4LIN: GH-66090: Self nesting and circular nesting block fix. (66121)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @AhmarZaidi @akasunil @andrewserong @arthur791004 @carolinan @cbravobernal @ciampo @dhruvang21 @ellatrix @getdave @gigitux @hbhalodia @jameskoster @jeryj @jsnajdr @juanfra @madhusudhand @MaggieCabrera @Mamaduka @mattrwalker @mcsf @mediaformat @michalczaplinski @mirka @mreishus @ndiego @nicolasgalvez @ntsekouras @oandregal @PARTHVATALIYA @peterwilsoncc @poojabhimani12 @prajapatisagar @ramonjd @renatho @rinkalpagdar @rudrakshi-gupta @ryanwelcher @SantosGuillamot @SH4LIN @sirreal @stokesman @swissspidy @t-hamano @talldan @tellthemachines @torounit @troychaplin @tyxla @vipul0425 @Vrishabhsk @vykes-mac @westonruter @youknowriad @zaguiini

Props to @auareyou for visuals assets, @artemiosans, @welcher, @annezazu for peer review.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 19.4? (9 Oct)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor project (formerly called Full Site Editing).


Gutenberg 19.4 has been released and is available for download!

This release includes 186 PRs from 54 contributors, and includes several exciting features such as new Write / Design modes and BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Bindings editor APIs.

New Write / Design modes

The Edit and Select modes are now called Write and Design modes.

In Write mode, you can focus solely on writing, with all layout options hidden from the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme..

If you want to adjust colors, sizes, create columns, and more, switch to Design mode!

Block Bindings Editor APIs are public

Gutenberg 19.4 and WordPress 6.7 will allow developers to use certain block binding APIs that were previously private and used only in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. A dev notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. and documentation will be published for the WordPress 6.7 release, but here is an overview:

  • getBlockBindingsSource, getBlockBindingsSources: The first retrieves a specific block binding source and its properties, while the second retrieves a list of all block binding sources.
  • updateBlockBindings: Similar to updateBlockAttributes, this function allows you to create or remove connections between a block and any source.
  • removeAllBlockBindings: Removes all connections from a block to any source.
  • registerBlockBindingsSource, unregisterBlockBindingsSource: Enables registering and unregistering block bindings in the editor. Registering them in the editor allows modification of source fetching and editing.

Other Notable Highlights

There are some improvements too that are worthy to mention like:

  • Comment block components (e.g., author name, date, content, pagination) and Query block components (e.g., no results, pagination, title) will now have previews when hovered over in the inserter panel.
  • Additionally, the BorderBoxControl, BorderControl, and BoxControl components are now considered stable.(65469, 65475, 65586)
  • Also the filters PreSavePost and SavePost are now stable. (64198)

Not to mention all the bugs fixed that you can check in the changelog below.

Changelog

Enhancements

Block Library

  • Added keywords to query loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block. (65515)
  • Added: DropZone when sitelogo is present. (65596)
  • AvatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name.: Add block example. (65509)
  • Buttons: add box-sizing:Border-box rule. (65716)
  • Comment Author Name: Add block example. (65558)
  • Comment Content: Add block example. (65559)
  • Comment Date: Add block example. (65632)
  • Comment Edit/Reply Links: Add block examples. (65601)
  • Comment Pagination: Add previous and next link block examples. (65633)
  • Comments Pagination Numbers: Add block example. (65635)
  • Comments Title: Add block example. (65557)
  • File block: Allow content only editing. (65787)
  • Navigation block: Use apply_block_hooks_to_content(). (65703)
  • Post Navigation Link: Add block examples. (65552)
  • Query No Results: Add block example. (65555)
  • Query Pagination Numbers: Add block example. (65636)
  • Query Pagination: Add block example. (65556)
  • Query Title: Add block example. (65554)
  • Revert: Time To Read: Add block example. (65510)
  • Table of Contents: Try maintaining block example attributes. (65549)
  • Term Description: Add block example. (65553)
  • Time To Read: Add block example. (65512)

Components

  • Light branding for the reference site. (65764)
  • BorderControl: Use __next40pxDefaultSize prop for Reset button. (65682)
  • Composite: Always await initial render setup in unit tests. (65823)
  • DatePicker: Use compact button size. (65653)
  • Guide: Update finish button to use the new default size. (65680)
  • Navigator: Add support for exit animation. (64777)
  • Remove useEvent from components package. (65388)
  • Simplify MenuGroup component styles. (65561)
  • Storybook: Allow for case-agnostic filtering of icons. (65780)
  • ToggleGroupControl: Improve animation. (65175)
  • Tabs: Tweak sizing and overflow behavior of TabList. (64371)

Zoom Out

  • Add prompt to zoom out separator. (65392)
  • Make sections contentOnly in Zoom Out. (65396)
  • Move the toggle button to before the device preview dropdown. (65446)
  • Only show zoom out inserters on block selection. (65759)

Block Editor

  • Hide block transforms in contentOnly mode for non-content blocks. (65394)
  • Inserter: Always show the list of all patterns in the inserter. (65611)
  • MediaPlaceholder: Use InputControl in URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org popover. (65656)
  • Use proper named File when uploading external images. (65693)

Data Views

  • DataForm – Add combined fields support. (65399)
  • FilterFilter Filters 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. UIUI User interface: Remove popover max height. (65835)
  • Dataviews configuration dropdown: Remove style overrides. (65373)

Post Editor

  • Edit Post: Remove unnecessary effect in InitPatternModal. (65734)
  • Editor: Consistent external media pre-publish image/button sizes. (65668)

Global Styles

  • Editor Canvas: Tweak close button. (65694)
  • Style book: Create static categories. (65430)

Edit Mode

  • Update tools menus with Write / Design order. (65721)

Select Mode

  • Select Mode: Updates to the block toolbar. (65485)
  • Select Mode: Use the content-only behavior in select mode. (65204)

Icons

  • Adds envelope icon. (65638)

Site Editor

  • Global Styles: Remove navigator screen overrides. (65522)
  • Command Palette: “Add new page” within the site editor creates new page in site editor. (65476)
  • Update elevation in the site editor. (65410)

Block bindings

  • Connected blocks, add backdrop-color. (65233)

Extensibility

  • Stabilize the PreSavePost and SavePost filters. (64198)

Base Styles

  • Base styles: Add type tokens. (65418)

Tools

  • Composer: Allow composer/installers 2.x. (65356)

Block hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.

  • Hooks: Add support for async filters and actions. (64204)

New APIs

  • Revert “Make wordpress/fields a private package”. (65477)
  • Stabilise role attribute property. (65484)

Block bindings

  • Open the stable editor APIs. (65713)

Components

  • Navigator: Stabilize and export APIs. (64613)

Bug Fixes

Components

  • Block Editor: Validate options for the ‘HeadingLevelDropdown’ component. (65425)
  • Composite: Fix legacy implementation passing store prop. (65821)
  • Composite: Make items tabbable if active element gets removed. (65720)
  • Navigator: Fix isInitial logic. (65527)
  • Restore accidentally removed entries in changelog (components package). (65804)
  • useToolsPanel: Calculate derived state in reducer to prevent too many renders. (65564)
  • useToolsPanel: Calculate menuItems in layout effect to avoid painting intermediate state. (65494)

Zoom Out

  • Fix focus loss when deleting selected block in zoom out mode. (65761)
  • Handle zoom out when changing device preview. (65444)
  • Hide Zoom Out Inserters when dragging into canvas. (65789)
  • Makes spacing consistent in zoom out vertical toolbar. (63994)
  • Remove one occurrence of the verb Toggle from Zoom out control. (65609)
  • Reset zoom out level when device type is changed. (65652)
  • Resize cover block only in normal mode. (65731)

Block Editor

  • Fix unable to remove empty blocks on merge. (65262)
  • Inserter: Fix Block visibility manager. (65700)
  • Link autocompleter: Decode post title HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities. (65589)
  • Openverse: Prevent multiple insertions during upload. (65719)
  • Paste Handler: Try to fix pasting text with formatting. (63779)
  • Remove user-select:Text. (65662)
  • Editor: Remove edit template menu item from block settings menu in blocks outside template. (65560)
  • Top Toolbar: Show document bar when no block is selected even if block tools are expanded. (65839)
  • Revert “Allow multi-select on iOSiOS The operating system used on iPhones and iPads. Safari/touch devices”. (65414)

Global Styles

  • Avoid errors when a fontSize preset is not available. (65791)
  • Fix: Shadow/Font size preset panel crashes the editor. (65765)
  • Revert “Font Library: Group fonts by source (#63211)”. (65590)
  • Tweak entity save panel button. (65695)

Block bindings

  • Fix editing protected custom fields in block bindings. (65658)
  • Fix showing bindings field values in theme templates. (65639)
  • Only pass context included in usesContext from rich text component. (65618)
  • Use registry instead of select in canUserEditValue. (65659)

Block Library

  • Categories block: Escape label. (65540)
  • Search block: Reset size correctly when clearing unit control. (65468)
  • Social Links: Fix block appender size. (65769)

Site Editor

  • Fix: Makes edit mode selector persistent in top toolbar mode. (65511)
  • Global styles: Do not navigate twice to home screen when opening the sidebar. (65523)
  • Make resizable frame compatible with RTL languages. (65545)
  • Command Palette: Fix “Add new page” command for hybrid theme. (65534)
  • Export useResizeObserver ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native version directly. (65588)
  • Fix useResizeObserver bugs. (65389)
  • Fix aria-checked attribute not set for pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party settings buttons in Options dropdown. (65667)
  • Revert “useToolsPanel: Calculate menuItems in layout effect to avoid painting intermediate state”. (65533)

Focus Mode

  • Limit zoom out toggle to specific post types. (65732)

List View

  • Fix miscolored icons. (65707)

Media

  • Fix output buffering for cross-origin isolation. (65701)

Block Directory

  • Fix downloadable block item alignment. (65677)

Typography

  • Remove additional Typeset screen and surface typesets in the typography panel. (65579)

Widgets Editor

  • Fixed the focus cutoff of the editor buttons in the widgets editor. (65395)

Post Editor

  • Omit metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. boxes on “design” type posts. (64990)

Data Views

  • Fix grid layout padding on small screens. (64878)

Build Tools

  • Babel preset: Add missing pkg files. (65481)
  • Temp disable test for Classic Block Media issue. (65793)

Select Mode

  • Select Mode: Blocks outside the main sections root should be disabled. (65518)
  • Select Mode: Prevent the inbetween inserter from triggering within sections. (65529)

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

Post Editor

  • Make the Settings panel toggle button show its keyboard shortcut in its tooltip. (65322)
  • Resizable Editor: Make the editor resizable with arrow keys. (65546)

Components

  • ToggleGroupControl: Fix arrow key navigation in RTL. (65735)

Zoom Out

  • Don’t show tooltip in zoom out toggle button when showIconLabels is true. (65573)

Block Library

  • Improve the Query Loop block display settings labels. (65524)

Block Editor

  • Updates LayoutTypeSwitcher to use ToggleGroupControl. (65498)

Code Quality

  • A11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Move script module HTML printing to 6.7 compat. (65620)
  • Update to use a11y script module package in Core. (65539)

Site Editor

  • Update icon in home button. (65497)

Performance

Block Library

  • Script Modules: Centralize (re)registration. (65460)

Block Editor

  • Remove editorMode from blockProps. (65326)
  • Move insertionPoint state to block-editor store/rename existing insertionPoint to insertionCue. (65098)

Documentation

  • Block Bindings: Add @since tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) in bindings apis JSDocs. (65796)
  • Block Editor: Fix README for FontFamilyControl component. (65660)
  • Composite: Add “With Tooltip” storybook example. (65817)
  • DataViews documentation: Add high-level graph explaining DataViews and data sources interaction. (65457)
  • Docs/interactivity api router package readme. (62062)
  • Docs: Remove PHPDocPHPDoc (docblock, inline docs) for non-existing parameter. (65640)
  • Navigator: Fix README heading hierarchy. (65763)
  • Packages documentation: Minor typo corrections. (65664)
  • Plugin: Fix small typo in readme.txt file. (65634)
  • RichText: Fix JSDoc block typos. (65607)
  • SelectControl: Add story for prefix slot. (65730)
  • Update JSDoc block for RichText package to-html-string. (65688)
  • Update block-filters.md. (64959)
  • iAPI: Refactor types and add a “Core Concepts – Using TypeScript” guide. (64577)

Code Quality

Components

  • BorderBoxControl: Promote to stable. (65586)
  • BorderControl: Promote to stable. (65475)
  • BoxControl: Promote to stable. (65469)
  • Cleanup unused ToggleGroupControl configuration values. (65456)
  • Fix useInstanceId hook references. (65733)
  • Navigator: Internal refactor in preparation for stabilization. (65671)
  • Navigator: Mark experimental exports as deprecated. (65802)
  • SearchControl: Fix rest props mutation. (65740)
  • ToggleGroupControl: Clean up animation logic. (65808)

Block Editor

  • Button: Add __next40pxDefaultSize in block-editor 6. (65742)
  • Decouple “zoom/scaling the canvas” from zoom out mode (without mode rename). (65482)
  • Don’t memoize ‘getContentLockingParent’ and ‘getParentSectionBlock’ selectors. (65649)
  • Inserter: Update how we compute the actual insertion point for blocks. (65490)
  • LinkControl: Fix unneeded props prop. (65650)
  • Navigator: Use stable export instead of experimental export. (65753)
  • Button: Add __next40pxDefaultSize in dataviews, reusable-blocks, etc. (65715)
  • Fix: Button Replace remaining 40px default size violations [Block Directory]. (65467)
  • Fix: Button Replace remaining 40px default size violations [Block Editor 2]. (65308)
  • Fix: Button Replace remaining 40px default size violations [Block Editor 3]. (65225)
  • Fix: Button Replace remaining 40px default size violations [Block Editor 5]. (65361)
  • Fix: Button: Replace remaining 40px default size violation [Edit Site 1]. (65226)
  • Fix: Button: Replace remaining 40px default size violation [Edit Site 3]. (65309)

Block bindings

  • Only pass usesContext properties to editor APIs. (65661)
  • Refactor passing select and dispatch instead of full Registry. (65710)
  • Unify logic in getPostMetaFields function. (65462)

Post Editor

  • Customize widgets, edit post: Refactor Button to new sizes. (65807)
  • HeaderHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes.: Remove unused property isZoomedOutView in useSelect(). (65628)

Block Library

  • Blocks: Don’t memoize ‘hasContentRoleAttribute’ selector. (65617)
  • Blocks: Update ‘__experimentalHasContentRoleAttribute’ deprecation. (65616)

Global Styles

  • Global style revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: Remove unnecessary goTo navigation call. (65810)

Site Editor

  • Edit Site: Fix useLink prop mutation. (65739)

Data Views

  • Migrate store/actions from editor package to fields package. (65289)

Tools

Testing

  • Block Bindings: Refactor end-to-end tests. (65526)
  • GH Actions: Run the tests against PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 8.3. (65357)
  • Revert “Temp disable test for Classic Block Media issue.”. (65809)

Build Tooling

  • Composer: Prevent a lock file from being created. (65359)
  • Composer: Update minimum required PHPUnit Polyfills. (65355)
  • PHP unit tests: Remove WP_RUN_CORE_TESTS const. (65631)
  • DEWP: Check for magic comments before minification. (65582)
  • DEWP: Handle cyclical module dependencies. (65291)
  • Label enforcer: Add Gutenberg plugin to the list of single required labels. (65253)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @amitraj2203 @anomiex @auareyou @carolinan @cbravobernal @ciampo @crisbusquets @DaniGuardiola @davy440 @dhruvang21 @djcowan @draganescu @ellatrix @getdave @gigitux @hbhalodia @jameskoster @jasmussen @jeryj @jffng @jrfnl @jsnajdr @juanmaguitar @keoshi @kevin940726 @louwie17 @luisherranz @Mamaduka @manzoorwanijk @matiasbenedetto @michalczaplinski @mirka @mtias @noisysocks @oandregal @ockham @PARTHVATALIYA @peterwilsoncc @philwp @priethor @ramonjd @SantosGuillamot @shail-mehta @sirreal @Soean @spadeshoe @stokesman @swissspidy @t-hamano @talldan @tyxla @vcanales @vipul0425 @youknowriad

Props to @joen for visuals assets, @bph and @ndiego for peer-review

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 19.3? (25 September)

“What’s new in GutenbergGutenberg The 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.

Gutenberg 19.3 has been released and is available for download!

A total of 174 PRs were merged in Gutenberg 19.3, with 7 first-time contributors! With WordPress 6.7 rapidly approaching, many contributors are focusing on bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. However, this release still includes some great features and enhancements, including stabilizing the Zoom Out mode!

  1. Zoom Out Mode
  2. Swap the position of the publish buttons
  3. Use custom block names in inspector controls
  4. Allow opting out of the “Choose a pattern” modal when adding new pages
  5. Automatic phone number linking
  6. Allow dropping multiple images to the image block
  7. Changelog
  8. First-time contributors
  9. Contributors

Zoom Out Mode

The Zoom Out Mode is officially out of the experiment and is available to all users. This new mode allows users to zoom out to edit and create at the pattern level over granular blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editing. This effort aims to provide a new, high-level approach to building and interacting with your site. Follow the 6.7 iteration issue for more information.

Swap the position of the publish buttons

A nice user experience improvement to swap the “Cancel” and the “Publish” buttons in the pre-publish check panel. Now, users don’t have to move their cursor unnecessarily when publishing. (#65317)

Use custom block names in inspector controls

Uses the custom name for a block in the block inspector controls when available. (#65398)

Allow opting out of the “Choose a pattern” modal when adding new pages

The “Choose a pattern” modal can be distracting for power users who always want to start with a blank page. A new preference toggle disables the modal when adding new pages. (#65026)

Automatic phone number linking

The link field can now be automatically populated with tel: when the selected text is a phone number. (#64865)

Allow dropping multiple images to the image block

Multiple images can now be dropped on an image block, converting it to a gallery block. In addition, dropping multiple file types will each create an appropriate block. (#65030, #65144)

Changelog

Features

Zoom Out

  • Remove experimental flag. (65404)

Enhancements

  • Create Block: Update the minimum required PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version to 7.2. (65166)
  • DataViews: remove unused .dataviews-view-table__cell-content-wrapper:Empty style rule. (65084)
  • Media Utils: Add TypeScript support and export more utils. (64784)
  • Media placeholders: Add “drag” to the text. (65149)
  • Restore: Move to trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. button in Document settings. (65087)
  • Inspector Controls: Use custom block name in inspector controls when available. (65398)
  • Icons: Adds bell and bell-unread icons. (65324)
  • Editor topbar: Reorder the actions on the right. (65163)
  • Patterns: Add opt out preference to the ‘Choose a Pattern’ modal when adding a page. (65026)
  • Locked Templates: Blocks with contentOnly locking should not be transformable. (64917)
  • Block Locking: Add border to Replace item in content only image toolbar. (64849)
  • DataViews: Improve UXUX User experience of bundled views for Pages. (65295)

Components

  • Styling: Apply elevation scale in components package. (65159)
  • Tabs: Improve Tabs indicator animation and related utils. (64926)
  • Modal
    • Add exit animation. (65203)
    • Decrease close button size. (65131)
  • Navigator Screen: Warn if path doesn’t follow a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org-like scheme. (65231)
  • Card: Update Card radius. (65053)
  • Combobox Control: Add placeholder attribute. (65254)

Block Library

  • Allow dropping multiple images to the image block. (65030)
  • Categories List block: Add dropdown for taxonomies. (65272)
  • Image: Adds the block controls for uploading image. (64320)
  • Remove colons from control labels. (65205)
  • Terms List block: Add Categories-specific variation. (65434)

Zoom Out

  • Add Zoom Out toggle to editor headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. when experiment enabled. (65183)
  • Add prompt for drag and drop in Patterns tab in Zoom Out mode. (65115)
  • Close inserter on exiting Zoom Out to edit. (65194)
  • Show top level sections in List View. (65202)
  • Try vertical displacement when dragging a pattern between existing patterns/sections. (63896)

Block Editor

  • Link Editing: Automatically add tel to phone number when linking URL. (64865)
  • Drag and Drop: When dragging a mix of video, audio, and image blocks, create individual blocks as appropriate. (65144)
  • URLInput: Replace input with InputControl. (65158)
  • Normalize block inspector controls spacing. (64526)

Post Editor

  • Add new Media section to preferences modal. (64846)
  • DocumentBar: Replace icon with post type label. (65170)
  • Page editor: Double-click to edit template part. (65024)
  • Post publish upload media dialog: Handle more block types. (65122)

Block bindings

  • Populate block context with inherited post type from template slug. (65062)
  • Try gap 0 on attribute items. (65277)
  • Use post metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. label from register_meta in block bindings workflows. (65099)

Global Styles

  • Refactor site background controls and move site global styles into Background group. (65304)
  • Spacing control: Replace sides dropdwon with link button. (65193)

Interactivity APIAPI An 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.

  • Refactor context proxies. (64713)
  • Update: Rephrase “Force page reload” and move to Advanced. (65081)

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Global Styles: Allow read access to users with edit_posts capabilities. (65071)
  • Query loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. / Post template: Enable post format filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.. (64167)

New APIs

  • Add wordpress/fields package.
    • Introduce the package. (65230)
    • Make the package private. (65269)
  • Interactivity API: Add getServerState() and getServerContext(). (65151)

Bug Fixes

  • Align popover alt variant styling with block toolbar. (65263)
  • Compose: Correctly call timer cleanup in ‘useFocusOnMount’. (65184)
  • Fix some docblockdocblock (phpdoc, xref, inline docs) types related to the Template Registration API. (65187)
  • Fix the issue where block spacing control not shown. (65371)
  • Fix unintentional block toolbar shadow. (65182)
  • Fix: Moving a page to the trash on the site editor does not goes back to the pages list. (65119)
  • Fix: Moving the last page item to the the trash causes a crash. (65236)
  • Preferences: Fix back button on mobile. (65141)
  • Post Summary Panel: Restore height:Auto for toggle buttons. (65362)
  • Fix Tabs styling in Font Library modal. (65330)
  • E2E: Change deprecated social icons for standard in end-to-end. (65312)
  • Typography: Make title blocks apply typographic styles consistently. (65307)
  • Target Hints REST API: Add missing param sanitization. (65280)
  • Interactivity API: Update iterable signals when deepMerge() adds new properties. (65135)
  • Navigation Menus: Typography styling support to the navigation submenu block. (65060)
  • Grid: In RTL languages, the resize handles point in the opposite direction. (64995)
  • Block Locking: Fix Content Only Toolbar icon focus style. (64940)
  • Image: Fix resizing to max width in classic themes. (64819)
  • Meta Boxes: Try split content view. (64351)
  • Distraction Free: Fix blurry edge along editor header. (64277)

Block Library

  • Comments Pagination: Fix warning returned by comments pagination blocks. (65435)
  • Cover: Explicitly set isUserOverlayColor to false when media is updated. (65105)
  • Disallow setting grid block rows/columns to zero. (65217)
  • Fix image block crash. (65222)
  • Fix: Buttons block: Block spacing value does not apply to both vertical and horizontal alignment. (64971)
  • Fix: Embed blocks: Figcaption inserted via toolbar not nested within figure element – #64960. (64970)
  • Image cropping: Skip making an API request if there are no changes to apply. (65384)
  • Comments Pagination: Pass the comments query paged arg to functions get_next_comments_link and get_previous_comments_link. (63698)
  • Query Loop
    • Default to querying posts when on singular content. (65067)
    • Remove is_singular() check and fix test. (65483)

Block Editor

  • Inserter: Fix loading indicator for reusable blocks. (64839)
  • Normalize spacing in Layout hook controls. (65132)
  • Pattern Inserter: Fix pattern list overflow. (65192)
  • Remove reset styles RTL from the iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. (65150)
  • Revert “Block Insertion: Clear the insertion point when selecting a different block or clearing block selection (#64048)” (65208)

Components

  • BoxControl: Unify input filed width whether linked or not. (65348)
  • ComboboxControl: Add more unit tests. (65255)
  • Fix: Button Replace remaining 40px default size violations [Edit widgets]. (65367)
  • Tabs: Fix vertical indicator. (65385)

Block bindings

  • Fix empty strings placeholders in post meta bindings. (65089)
  • Remove key fallback in bindings get values and rely on source label. (65517)
  • Fix passing bindings context to canUserEditValue. (65599)
  • Prioritize existing placeholder over bindingsPlaceholder. (65220)
  • Only use canUserEditValue when setValues is defined. (65565)

Zoom Out

  • Force device type to Desktop whenever zoom out is invoked. (64476)
  • Hide toolbar icon on smaller viewports. (65437)
  • Remove zoom out toggle when editor is not iframed. (65452)

AccessibilityAccessibility Accessibility (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)

  • A11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Add script-module. (65101)
  • Interactivity API: Use a11y Script Module in Gutenberg. (65123)
  • Script Modules API: Print script module live regions HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in page HTML. (65380)
  • DatePicker: Better hover/focus styles. (65117)
  • Form Input: Don’t use flex-direction: Row-reverse for checkbox field. (64232)
  • Navigation Menus: Remove Warning and add notice for Navigation. (63921)
  • Global Styles: Fix the shadows Range control accessibility and usability. (63908)
  • Block Editor: Fix accessibility of the hooked blocks toggles. (63133)

Post Editor

  • Support keyboard resizing of meta boxes pane. (65325)
  • Swap position of the Pre-publish checks buttons. (65317)

Performance

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Batch remaining actions in resolvers. (65176)
  • Block Editor: Use static access for selector in ‘useZoomOutModeExit’. (65337)
  • Editor: Optimize global styles permission check. (65177)

Experiments

  • Block bindings REST API: Bring bindings UIUI User interface in Site Editor. (64072)

Documentation

  • Add JSDoc block for getSectionRootClientId in block editor package. (65219)
  • ButtonGroup: Fix story to show what the component does. (65336)
  • DataViews storybook
    • Better styles for combined fields story. (65078)
    • Enable all layouts for combined fields storybook. (65082)
  • Docs: Fix minor typos in Build your first block tutorial. (64961)
  • Docs: Update the content of the API version 3 section in the Block API Reference. (65375)
  • Fix typo in Slot Fills documentation. (65275)

Code Quality

  • Components: Transition to the new 40px default size.
    • Button:
      • Add __next40pxDefaultSize for files in editor 3. (65139)
      • Add __next40pxDefaultSize for files in editor 4. (65140)
      • Add props for buttons in editor 1. (65068)
      • Add props for buttons in editor 2. (65083)
      • Fix: Replace remaining 40px default size violations [Block Editor 4]. (65257)
      • Fix: Replace remaining 40px default size violation [Block library 3]. (65110)
      • Fix: Replace remaining 40px default size violation [Block library 4]. (65143)
      • Fix: Replace remaining 40px default size violation [Block library]. (65075)
      • Fix: Replace remaining 40px default size violation [Edit Site 2]. (65258)
      • Fix: Replace remaining 40px default size violations [Block library 1]. (65033)
      • Fix: Replace remaining 40px default size violations [Block Editor 1]. (65034)
    • BoxControl
      • Add lint rule for 40px size prop usage. (65341)
    • DimensionsPanel: Apply 40px default size to UI when no spacing preset is available. (65300)
  • Add useEvent and revamped useResizeObserver to @wordpress/compose. (64943)
  • DataViews: Use Dropdown for views configuration dialog. (65314)
  • Platform docs: Upgrade dependencies. (65445)
  • Rename edit-post__fade-in-animation and unify keyframe definitions. (65377)
  • Update minimum required version in PHP. (65301)
  • Editor: Use hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. instead of HoC in BlockManager. (65349)
  • Data Views Fields: Migrate store and actions from editor package to fields package. (65261)
  • PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party: Remove ‘function_exists’ checks for methods with ‘gutenberg’ prefix. (65260)
  • Global Styles: Update REST controller override method and backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changes from Core. (65259)
  • Patterns: Remove unused method returned from ‘mapSelect’. (65073)
  • Embed: Convert EmbedPreview component to functional component. (51325)

Components

  • BoxControl: Fix critical error when null value is passed. (65287)
  • Composite:
    • Deprecate legacy, unstable version. (63572)
    • Remove store prop and useCompositeStore hook. (64723)
    • Stabilize APIs. (63569)
  • @wordpress/components: Add local copy of use-lilius. (65097)

Block bindings

  • Always prioritize using context in post meta source logic. (65449)
  • Improve getRegisteredPostMeta resolver. (65450)
  • Remove extra filtering of empty sources. (65447)

Block Editor

  • Remove the ‘PrivateInserter’ component. (65111)
  • Use the tooltip from a button in ‘ButtonBlockAppender’. (65113)
  • Remove unused css selectors. (65276)

Tools

  • Scripts: Update stylelint dependency and the default configuration. (64828)
  • Styleling config: Fix stylelint configuration missing files for npm. (65313)

Build Tooling

  • Build Plugin: Simplify and improve zip contents. (65232)
  • Build zip artifact on release and wp production branches. (65471)
  • Build: Include Core blocks’ render and variations files. (63311)
  • Script Modules
    • Prepare build for more script modules. (65064)
    • Remove babel from script-modules build. (65279)
    • Remove es-module shims and importmap-polyfill. (65210)
  • Correctly generate PHP files for server-side rendering of blocks on Windows OS. (65248)
  • Packages: Only add polyfills where needed. (65292)
  • Switch from UglifyJS to Terser to build the polyfill script. (65278)

Testing

  • Unit tests: Mock matchMedia to enforce prefers-reduce-motion. (65438)
  • Upgrade Playwright to v1.47. (65156)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @AKSHAT2802 @Aljullu @andrewserong @carolinan @cbravobernal @ciampo @colorful-tones @creativecoder @DaniGuardiola @DAreRodz @devansh016 @dhruvang21 @ellatrix @farid-hadi @getdave @gigitux @greenworld @gziolo @hbhalodia @jameskoster @jasmussen @javierarce @jeryj @jorgefilipecosta @jsnajdr @kevin940726 @louwie17 @madhusudhand @MaggieCabrera @Mamaduka @mikeybinns @mirka @ntsekouras @oandregal @ockham @peterwilsoncc @rahulharpal1603 @ramonjd @richtabor @rohitmathur-7 @SantosGuillamot @scruffian @sgomes @sirreal @stokesman @swissspidy @t-hamano @talldan @vipul0425 @zaguiini

Props to @jameskoster for the visual assets, @andrewserong, @ramonopoly, and @aaronrobertshaw for help drafting and proofreading this post, and @noisysocks for the release process.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What is new in Gutenberg 19.2 (11 September)

“What’s new in GutenbergGutenberg The 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.

Gutenberg 19.2 has been released and is available for download!

The latest Gutenberg release introduces several key updates. Among them is the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Bindings UIUI User interface, which restricts creation and modification to adminadmin (and super admin) users by default but, most importantly, removes the experimental flag from the feature. This version also enhances Zoom Out mode, allowing for more straightforward navigation, includes an experimental feature for client-side media processing, and adds Preview Options extensibility via the PluginPlugin A 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 APIAPI An 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.. Alongside these highlights, users will find improvements in data views and refinements to the overall editing experience.

Block Bindings UI out of experimental phase.

In Gutenberg 19.2, the Block Bindings UI has moved out of its experimental phase, marking a significant milestone. Removing the experimental flag means this feature is now integrated into the editor, offering a stable way to connect block attributes to external data sources. By default, only admin users can create and modify these bindings, providing an additional layer of control and security.

Preview Options extensibility via the Plugin API

With this release, the Preview Options have gained new extensibility, making it easier for developers to customize how content is previewed within the block editor. The extensibility feature allows plugins and themes to introduce their own options into the preview dropdown. This provides greater flexibility for users who need to see content in various formats or environments, improving the editing experience.

Other Notable Highlights

  • New Experiment: Client-side Media Processing: Introduces an experimental feature for processing media client-side, reducing server load and enhancing performance. (#64650)
  • Zoom Out Mode Enhancements: Adds an “Edit” button to the toolbar and allows users to exit Zoom Out mode by double-clicking blocks. The “Shuffle” block toolbar button has also been removed. (#64571, #64573, #64954)
  • Content Only Mode: Adds support for block styles on top-level content-only locked blocks and displays block icons in the toolbar. (#64872, #64694)

Changelog

Enhancements

  • Add: Reorder control at the field level on the new view configuration UI. (64381)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data Types: recordId can be a number. (64796)
  • Core Data: Derive collection totals for unbound queries. (64772)
  • Create Block: Set minimum supported WordPress version to 6.6. (64920)
  • Dataviews FilterFilter Filters 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. search widgetWidget A 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.: Do not use Composite store. (64985)
  • Dataviews list view: Do not use Composite store. (64987)
  • Move bulk actions menu to the Footer, consolidate with floating toolbar and total items display. (64268)
  • Try: Update block warnings. (64997)

Components

  • Add variants to InputControl prefix/suffix wrappers. (64824)
  • AlignmentMatrixControl: Do not use Composite store. (64850)
  • CircularOptionPicker: Stop using composite store. (64833)
  • Composite: Accept store props on top level component. (64832)
  • DataViews: Adds two new stories for edge cases. (64975)
  • Decrease standard padding to 12px. (64708)
  • DropdownMenuV2: Add GroupLabel subcomponent. (64854)
  • DropdownMenuV2: Update animation. (64868)
  • DropdownMenuV2: Use overloaded naming conventions. (64654)
  • InputControl: Tighten gap between input and prefix/suffix. (64908)
  • Navigator: Polish Storybook examples. (64798)
  • Navigator: Remove location history, simplify internal logic. (64675)
  • UnitControl: Update unit select styles. (64712)
  • Update hard-coded border-radius instances. (64693)
  • Update modal animation. (64580)

Block bindings

  • Add warning in attributes connected to invalidinvalid A 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. sources. (65002)
  • Allow only admin users to create and modify bindings by default. (64570)
  • Lock editing in fields in editor if metaMeta Meta 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. fields panel is opened. (64738)
  • Rely on Text component instead of Truncate in bindings panel. (65007)
  • Remove getPlaceholder API and rely on key argument or source label. (64910)

Data Views

  • Add: Reorder control at the field level on the new view configuration UI. (64381)
  • Dataviews Filter search widget: Do not use Composite store. (64985)
  • Dataviews list view: Do not use Composite store. (64987)
  • Move bulk actions menu to the Footer, consolidate with floating toolbar and total items display. (64268)

Block Editor

  • Add ‘Reset’ option to MediaReplaceFlow component. (64826)
  • Block Patterns List: Do not use Composite store. (64983)
  • Remove the Shuffle block toolbar button. (64954)
  • Show block icon in contentOnly toolbar. (64694)

Block Library

  • Cover Block: Move Clear Media button from Inspector Controls to Block Controls. (64630)
  • Improve Social Icons setup and appending. (64877)
  • Pagination Block: Fix inconsistent margins between editor and frontend. (64874)
  • Tag Cloud: Improve state of block with no tags. (63774)

Block Locking

  • ContentOnly: Add support for block styles on top-level contentOnly locked blocks. (64872)
  • Only show title in content only toolbar if has title value. (64840)
  • Remove ability to crop image if content only mode. (64838)
  • Rename Alt to Alternative Text in content only image toolbar. (64841)

Interactivity API

  • Categories Block: Add iAPI directive for client-side routing. (64907)
  • Improve internal deepMerge function. (64879)

Global Styles

  • Hide typeset button when there are no typesets available. (64515)
  • Use four color palette colors instead of five for useStylesPreviewColors. (64700)

Zoom Out

  • Add “Edit” button to Zoom Out mode toolbar. (64571)
  • Double click block to exit zoom out mode. (64573)

Design Tools

  • Comment Edit Link: Add Border Block Support. (64239)
  • Comment Reply Link: Add border support. (64271)

Icons

  • Add thumbs up and down icons. (65004)

Site Editor

  • Apply radius scale in the editor. (64930)

Post Editor

  • Post publish upload media dialog: Handle upload errors. (64823)

Typography

  • Fluid typography: Allow individual preset overrides. (64790)

Media

  • Add experiment for client-side media processing. (64650)

REST APIREST API The 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/.

  • Core Data: Resolve entity collection user permissions. (64504)

Block Transforms

  • Details block: Add transform from any block type. (63422)

New APIs

Extensibility

  • Editor: Add extensibility to PreviewOptions v2. (64644)

Bug Fixes

  • Add safeguard to mediaUploadMiddleware. (64843)
  • Allow multi-select on iOSiOS The operating system used on iPhones and iPads. Safari/touch devices. (63671)
  • Core Data: Fix the ‘query._fields’ property check inside ‘getEntityRecord’ resolver. (65079)
  • Fix Modify content-locked menu item not showing if the block is not selected. (61605)
  • Fix editor error in Safari due to availability of checkVisibility method. (65069)
  • Fix: Pagination arrows are pointing in the wrong direction in RTL languages. (64962)
  • Footnotes: Only replace attribute if footnotes were detected. (63935)
  • Paste: Fix image paste from Google Forms. (64502)
  • Revert Focus pattern inserter search when activating zoom out inserter. (64748)
  • Try: Update block warnings. (64997)

Block Library

  • De-duplicate block toolbar icons for patterns. (65054)
  • Fix: Page list: Pages without a title has no link text. (64297)
  • Position BlockToolbar below all of the selected block’s descendants. (62711)
  • Site Logo Block: Fix non-admin users seeing zero character. (65010)
  • Site Logo: Fix loader alignment issue. (64919)
  • Template Part: Hide Advanced panel for non-admin users. (64721)
  • Video Block: Fix layout issue. (64834)

Components

  • ColorPalette utils: Do not normalize undefined color values. (64969)
  • DatePicker: Restore round radius for event dot. (65031)
  • DropdownMenuV2: Fix active and focus-visible item glitches. (64942)
  • DropdownMenuV2: Remove flashing styles when moving focus with keyboard. (64873)
  • Fixes “delete” action in DataViews’ storybook. (64901)
  • Navigator: Fix isInitial, refine focusSelector logic. (64786)
  • Range control: Restore bottom margin rule. (65035)

Post Editor

  • Add back editor-post-locked-modal to post lock component. (64257)
  • Add context to View string in post actions. (65046)
  • Apply space below content using a pseudo-element instead of padding-bottom. (64639)
  • Post Title: Fix pasting in Safari. (64671)
  • Post Title: Move selection at the end after pasting over the text. (64665)
  • Post publish upload media dialog: Fix silent failure. (64741)

Data Views

  • DataViews: Fix field reordering and visibility logic. (64999)
  • Fix actions scrim in list layout. (64696)
  • Fix data views style inheritance. (64933)
  • Fix: Impossible to see pagination on viewports between small and medium. (64844)
  • List layout: Update broken styles. (64837)

Block Editor

  • Add conditions when the Shuffle button can be displayed. (64888)
  • Inserter: Fix subtle media insertion error. (65057)
  • Post Editor: Fix click space after post content to append. (64992)
  • Writing flow: Fix triple click inside text blocks. (64928)

Global Styles

  • Adjust spacing of background panel. (64880)
  • Cast globalFluid value to boolean. (64882)
  • Fix site editor broken when fontWeight is not defined or is an integer in theme.jsonJSON JSON, 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. or theme styles. (64953)
  • Fixes the default fluid value on the UI based on the global typography fluid value. (64803)

Block bindings

  • Change placeholder when attribute is bound. (64903)
  • Fix empty custom fields not being editable in bindings. (64881)

CSSCSS Cascading Style Sheets. & Styling

  • Featured ImageFeatured image A 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: Reduce CSS specificity. (64463)
  • Retain the same specificity for non iframed selectors. (64534)

Patterns

  • Pass ‘blocks’ as inner blocks value. (65029)

Synced Patterns

  • Pattern: Don’t render block controls when an entity is missing. (65028)

Site Editor

  • DataViews: Fix pattern title direction in RTL languages. (64967)

Typography

  • Site Title, Post Title: Fix typography for blocks with a children. (64911)

NUX

  • Fix visibility of the template Welcome Guide in the Site Editor. (64789)

Document Settings

  • Fix: Adjust Site URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Styles to Prevent Overflow in Pre-Publish Component. (64745)

Zoom Out

  • Focus selected block in editor canvas when clicking edit button on zoom out mode toolbar. (64725)

Templates API

  • Make plugin-registered templates overriden by themes to fall back to plugin-registered title and description. (64610)

Block Style Variations

  • Block Styles: Ensure unique classname generation for variations. (64511)

Distraction Free

  • Make Distraction Free not conditional on viewport width. (63949)

Media

  • Limit the max width of image to its container size. (63341)

AccessibilityAccessibility Accessibility (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

  • AlignmentMatrixControl: Simplify styles and markup. (64827)
  • TimePicker: Use ToggleGroupControl for AM/PM toggle. (64800)

Block Editor

  • Layout content and wide width controls: Remove confusing icon and clarify labels. (64891)

Font Library

  • Font Library Modal: Group font variations as a list. (64029)

Post Editor

  • Fix the post summary Status toggle button accessibility. (63988)

Performance

  • Core Data: Avoid loops in ‘registry.batch’ calls. (64955)
  • Core data: Performance: Fix receive user permissions. (64894)
  • Reusable blocks: Fix performance of __experimentalGetAllowedPatterns. (64871)

Site Editor

  • Add ‘OPTIONS /page’ to preloaded paths. (64890)
  • Editor: Don’t use selector shortcuts for the Site data. (64884)

Interactivity API

  • Prevent calling proxifyContext with context proxies inside wp-context. (65090)

Block Library

  • Media & Text: Don’t use background-image. (64981)

Post Editor

  • Editor: Remove create template permission check in ‘VisualEditor’. (64905)

Block Editor

  • Inserter: Use lighter grammar parse to check allowed status. (64902)

Patterns

  • Shuffle: Don’t call ‘__experimentalGetAllowedPatterns’ for every block. (64736)

Experiments

Zoom Out

  • Add new zoom out experiment. (65048)
  • Remove the experiment that connects zoom out to the pattern inserter. (65045)

Documentation

  • Add a new section to the SlotFill reference to show how to conditionally render Fills. (64807)
  • Added Global Documentation in several php file. (64956)
  • Components: Move displayName assignment to top-level files. (64793)
  • Composite: Add context-forwarding with SlotFill example. (65051)
  • Composite: Fix Storybook docgen. (64682)
  • Corrected HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Syntax for Closing Tags in api-reference.md file. (64778)
  • DataViews docs: Fix typo in direction values. (64973)
  • DataViews: Add story about combining fields. (64984)
  • DataViews: Document combined fields. (64904)
  • Dataviews docs: Layout properties checks and link. (64918)
  • Docs/iAPI: Fix wrong code snippets in API reference. (64416)
  • Docs: Update design resources to indicate edit isn’t free. (64792)
  • PluginSidebarMoreMenuItem: Update example, screenshot and description. (64761)
  • Provide better examples and remove outdating site edit references for the MainDashboardButton SlotFill. (64753)
  • Removing ryanwelcher as a documentation codeowner because my inbox is dead. (64762)
  • Storybook: Hide deprecated __next36pxDefaultSize prop. (64806)
  • Update screenshot and description for PluginSidebar slot. (64759)
  • Update text to match code examples. (64751)
  • Update the import for PluginBlockSettingsMenuItem. (64758)
  • Updated Several Typos in Doc files. (64787)
  • [Docs]: Update Usage Example for block variation picker: Fix Import from Wrong Package. (55555)

Code Quality

  • Button: Add lint rule for 40px size prop usage. (64835)
  • Dataviews filter: Move resetValueOnSelect prop to combobox item. (64852)
  • Rename refs to fix tons of ‘Mutating a value’ errors in reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-compiler. (64718)
  • Rich text: Add comment on placeholder approach. (64945)
  • SelectControl: Fix remaining 40px size violations. (64831)
  • Simplify useResizeObserver. (64820)
  • Typography: Backportbackport A 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. comment changes only. (64859)
  • UnitControl: Add lint rule for 40px size prop usage. (64520)
  • UnitControl: Move to stricter lint rule for 40px size adherence. (65017)
  • Use rectIntersect instead of a custom argument to rectUnion. (64855)

Site Editor

  • Add Custom Template modal: Do not use Composite store. (65044)
  • Add units to avoid console warning. (64810)
  • Edit Site Layout: Remove redundant fullResizer. (64821)
  • Remove unused ‘useSiteEditorSettings’ hook. (64892)
  • Style Book: Do not use Composite store. (65047)

Block Editor

  • Block Inserter Listbox: Do not use Composite store. (65042)
  • Block Inserter Media List: Do not use Composite store. (65043)
  • Block Pattern Setup: Do not use Composite store. (65039)
  • Global Styles Shadow Panel: Do not use Composite store. (65041)
  • Pattern Transformations Menu: Do not use Composite store. (65040)

Zoom Out

  • Add selector for getting section root clientId. (65001)
  • Don’t pass ‘rootClientId’ to block lock selectors. (64887)
  • Fix error and improve privacy of sectionRootClientId setting. (65000)

Components

  • AlignmentMatrixControl: Promote to stable. (60913)
  • Deprecate DimensionControl. (64951)

Block Library

  • Block Bindings: Fix ESLint warnings. (64684)
  • Video Block: Remove custom CSS code for placeholder style. (64861)

Global Styles

  • Allow referenced zero value and simplify getValueFromObjectPath calls. (64836)
  • Navigator: Replace deprecated NavigatorToParentButton with NavigatorBackButton. (64775)

Block Directory

  • Downloadable Block List: Do not use composite store. (65038)

Design Tools

  • Color panel hook: Rename to remove ambiguity. (64993)

Tools

  • Add remaining i18ni18n Internationalization, 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. rules to recommended ESLint ruleset. (64710)
  • Scripts: Added chunk filename in webpack configuration to avoid reading stale files. (58176)
  • Scripts: Import CSS files before optimization. (61121)
  • Scripts: Update puppeteer-core dependency. (64597)

Testing

  • Flaky Test: Fix “Sorting” test in new-templates-list.spec.js. (64776)
  • Revert “Downgrade node 22(.5) unit tests to 22.4 (#63728)”. (63758)

Various

  • Dataviews docs: Fixed property name for defaultLayouts settings. (64897)
  • task: Remove dcalhoun code owner. (64886)

First-time contributors

The following PRs were merged by first-time contributors:

  • @Imran92: Fix site editor broken when fontWeight is not defined or is an integer in theme.json or theme styles. (64953)
  • @jacobcassidy: Scripts: Update puppeteer-core dependency. (64597)
  • @jawadmalikdev: [Docs]: Update Usage Example for block variation picker: Fix Import from Wrong Package. (55555)
  • @lezama: Editor: Add extensibility to PreviewOptions v2. (64644)
  • @rithik56: Scripts: Added chunk filename in webpack configuration to avoid reading stale files. (58176)
  • @rohitmathur-7: Cover Block: Move Clear Media button from Inspector Controls to Block Controls. (64630)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @akasunil @Aljullu @andrewserong @atachibana @benoitchantre @carolinan @cbravobernal @ciampo @DAreRodz @dcalhoun @desrosj @dsas @ellatrix @fullofcaffeine @getdave @gziolo @Imran92 @imrraaj @jacobcassidy @jameskoster @jasmussen @jawadmalikdev @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @lezama @Mamaduka @matiasbenedetto @mirka @noisysocks @ntsekouras @oandregal @ockham @rafaelgallani @ramonjd @richtabor @rithik56 @rohitmathur-7 @ryanwelcher @SantosGuillamot @scruffian @sgomes @shail-mehta @spacedmonkey @stokesman @swissspidy @t-hamano @talldan @tjcafferkey @tyxla

Props to @annezazu, @priethor, @joen, @cbravobernal for their help with the release!

#block-editor, #core-editor, #gutenberg, #gutenberg-new

What’s new in Gutenberg 19.0? (14 August)

“What’s new in GutenbergGutenberg The 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.

In the Gutenberg 19.0 release, two important features have been added under experimental flags to allow folks to opt in to test and give feedback as they want. These features can be enabled by going to Gutenberg > Experiments. The first feature lets you connect blocks to custom fields, which many have been eager to see. The second feature lets you quick edit within the new Site Editor > Page’s interface, built using Data Views. Feedback is welcome and needed for both.

Outside of these experimental features, this release also includes severable notable enhancements, including a more intuitive user interface to configure views (pages, templates, patterns, etc) and the option to choose whether filters are shown or hidden within them. Finally, the option to manually enter a zoomed out view was added alongside the device preview options and multiple writing flow enhancements were completed.

  1. UI to connect blocks and custom fields
  2. Quick edit is now available on the new Pages list
  3. Show or hide filters in Data Views
  4. Changelog
    1. First-time contributors
    2. Contributors

    UIUI User interface to connect blocks and custom fields

    Gutenberg 19.0 comes with the first UI prototype to connect blocks and custom fields. It has been merged under an experimental flag in the Gutenberg pluginPlugin A 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.

    To check it out enable the “UI to create blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. bindings” experiment under “Gutenberg -> Experiments”.

    Quick edit is now available on the new Pages list

    The first version of Quick Edit for Data Views has landed in Gutenberg 19.0 as an experiment. It allows users to edit some fields without leaving the overall Pages interface — it supports bulk editing as well.

    Show or hide filters in Data Views

    Gutenberg 19.0 includes functionality to hide/show the filters in the user interface. This simplifies the Data Views UI, as complex filters (including default ones for some views) will no longer occupy UI space. At the same time, feature parity and ease of use are maintained, as filters can still be added by clicking the filtering button when needed.

    Changelog

    Continue reading

    #block-editor, #core-editor, #gutenberg, #gutenberg-new

    What’s new in Gutenberg 18.9? (31 July)

    “What’s new in GutenbergGutenberg The 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 biweekly following every Gutenberg release, 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.

    Gutenberg 18.9 has been released and is available for download!

    1. Data Views get more flexible
    2. Consolidating design tools across blocks
    3. Improved usability in editing and applying font size presets
    4. Changelog
    5. First-time contributors
    6. Contributors

    Data Views get more flexible

    This release introduces several new features to Data Views. For starters, you can customize the column order in table views (63416) and adjust the density of grid views (63367).

    The Pages list views also get some love, as it now displays the author’s avatarAvatar An 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. (63309) next to the publication status.

    If you like these visual hints next to the page titles, you will love to hear that table views now support displaying combined fields (63236), enabling things like displaying page thumbnails next to the page title in future releases.

    Finally, if you really like tinkering with early features, try out the new experimental Quick Edit for Data Views (63600). To do so, remember to enable the experiment in the Gutenberg settings first!

    Consolidating design tools across blocks

    In a recurring effort to provide design tool consistency across blocks (43241), Gutenberg 18.9 brings border control support to the Gallery, Buttons (which also gets color and padding support), Heading, Paragraph, Quote (spacing support, too) blocks, Social Links, and Term Description blocks. Similarly, the Image and Search blocks get margin support.

    Improved usability in editing and applying font size presets

    Gutenberg 18.9 iterates both using and editing font presets in global styles. The Global Styles interface now allows user-friendly editing of font size presets (63057). Moreover, these font presets and color presets can now be selected on the Global Styles sidebarSidebar A 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. under “Browse styles“, bringing consistency to the interface and aligning with the left sidebar Styles menu (63173).

    Changelog

    Continue reading

    #block-editor, #core-editor, #gutenberg, #gutenberg-new

    What’s new in Gutenberg 18.8 (17 July)

    “What’s new in GutenbergGutenberg The 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.

    Gutenberg 18.8 has been released and is available for download!

    A total of 217 PRs were merged in Gutenberg 18.8, with 10 first-time contributors! With WordPress 6.6 releasing this week, many contributors are focusing on bugbug A 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. There are still some great features and enhancements in this release, highlighted below.

    1. Group block shadow support
    2. Background image support for blocks in global styles
    3. Other notable highlights
    4. Changelog
    5. First time contributors
    6. Contributors

    Group blockBlock Block 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. shadow support

    A popular feature requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged., shadows can now be added to the Group block. (63295)

    Background image support for blocks in global styles

    The background image block support has been updated to allow images to be set in global styles (60100). This means that a background image can be set for all quote or pull quote blocks within a site or theme. Additionally, the controls for background images have been updated to use a popover (60151) so that they’re tucked away when not making changes.

    Other notable highlights

    Toolbar justification controls for Group and Content blocks

    The justification controls for the Group and Content blocks are now exposed in the block toolbar. This makes it easier to quickly update these blocks to be left or right-aligned, using a similar interface to text and button blocks. (62924)

    Color support for individual list item blocks

    Individual list items within a list block can now have different color styles to the overall list they belong to. (59892)

    Block inserter no longer behaves like a dialog box

    When opening the block inserter, it will now stay open when interacting with the editor canvas. This makes it easier to move around the document while adding blocks. (63059)

    Changelog

    View full list of changes

    Features

    • DataForm: Implement first prototype using duplicate page action. (63032)

    Enhancements

    Components

    • BaseControl: Forward ref on VisualLabel. (63169)
    • CustomSelectControlV2: Allow wrapping item hint to new line. (62848)
    • CustomSelectControlV2: Expose legacy wrapper through private APIs. (62936)
    • CustomSelectControl V2: Keep legacy arrow down behavior only for legacy wrapper. (62919)
    • CustomSelectControlV2: Collapse checkmark space when unchecked. (63229)
    • CustomSelectControlV2: Keep item checkmark top aligned. (63230)
    • DateTime: Create TimeInput component and integrate into TimePicker. (60613)
    • FontSizePicker: Use CustomSelectControl V2 legacy adapter. (63134)
    • Tabs: Add vertical indicator animation. (62879)
    • TimeInput: Add label prop. (63106)
    • TimePicker: Add dateOrder prop to sort day, month, and year. (62481)
    • ToolbarButton: Deprecate isDisabled prop and merge with disabled. (63101)
    • Tooltip Component: Add custom class name support. (63157)

    Data Views

    • Add padding around selected values in author filterFilter Filters 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.. (63212)
    • DataViews filterSortAndPaginate utility: Support sorting by number. (63187)
    • DataViews: Make view.hiddenFields optional. (62876)
    • DataViews: Remove Table Cells animation. (63079)
    • DataViews: Replace supportedLayouts prop with defaultLayouts prop instead. (63287)
    • Duplicate modal: Move to 40px components. (63246)
    • Pages: Include avatarAvatar An 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. in Author field. (63142)
    • Patterns Page: Hide preview column by default. (63213)
    • Posts list powered by DataViews. (62705)
    • Split layout / view options. Use active layout icon for the layout button. (63205)
    • Use status icons in field display. (63289)

    Block Library

    • Add example for query block and posts list. (63286)
    • ExcerptExcerpt An 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: Add example of the block. (63010)
    • Group: Add block support for shadow. (63295)
    • Login/out block: Add example of the block. (62937)
    • Post content block: Add example of the block. (62968)
    • Post title: Add example of the block. (62955)
    • Table Block: Add toolbar button to add a caption. (47984)

    Block Editor

    • Block position controls: Use V2 legacy adapter instead of V1 CustomSelectControl. (63139)
    • DateFormatPicker: Use CustomSelectControl V2 legacy adapter. (63171)
    • Fix inspector inner shadow border. (63245)
    • FontAppearanceControl: Use CustomSelectControl V2 legacy adapter. (63179)
    • Inserter: Remove the dialog behaviour. (63059)
    • SpacingInputControl: Use CustomSelectControl V2 legacy adapter. (63190)

    Global Styles

    • Background image: Move controls into a popover. (60151)
    • Block background UIUI User interface controls. (60100)
    • Tweak block background position preview height. (63225)

    Extensibility

    • DataViews: Register the deletePost action like any third-party action. (62913)
    • DataViews: Register the export pattern action like any third-party action. (63046)
    • DataViews: Register the reset template and template part action like any third-party action. (63017)

    Design Tools

    • Flex dimensions: Rename “Fill” to “Grow”. (62779)
    • List Item: Add color support. (59892)
    • Uniform Focal point labels. (62438)

    Font Library

    • Font Library Modal: Enhance pagination appearance. (63210)
    • Font Library: Store font subdirectory in post metaMeta Meta 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.. (63000)
    • Move font directory into uploads to match WP 6.5. (60354)

    Layout

    • Add justification to block toolbar in addition to sidebarSidebar A 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.. (62924)

    Site Editor

    • Align rename modals. (62874)

    Block APIAPI An 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.jsonJSON JSON, 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.: Allow passing filename as variations field. (62092)

    Template Editor

    • Update: Move template areas into a panel. (62033)

    Block Variations

    • Automatically select group variation if there is only one available. (61871)

    Zoom Out

    • Add a vertical toolbar for zoom out mode. (60123)

    New APIs

    Block API

    • Introduce “local” attributes and use it for the image block. (63076)

    Bug Fixes

    • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Commands: Fix Pages command link. (63235)
    • Docgen: Fix function param for const function expression. (63034)
    • Enable save draft button for posts with custom post status. (63293)
    • Ensure device previews extra scrollbar only appears when needed. (62952)
    • Styles specificity: Allow comment form input overrides. (62960)

    Components

    • CustomSelectControl V2 legacy adapter: Fix trigger button font size. (63131)
    • CustomSelectControl V2: Fix labelling with a visually hidden label. (63137)
    • CustomSelectControl V2: Fix trigger text alignment in RTL languages. (62869)
    • CustomSelectControl V2: Prevent keyboard event propagation in legacy wrapper. (62907)
    • CustomSelectControlV2: Add root element wrapper. (62803)
    • CustomSelectControlV2: Fix item styles. (62825)
    • CustomSelectControlV2: Fix popover styles. (62821)
    • CustomSelectControlV2: Fix select popover content overflow. (62844)
    • CustomSelectControlV2: Tweak item inline padding based on size. (62850)
    • Editor: Fix duplicate save panels. (62863)
    • Fix UnitControl select disabled state colors. (62970)
    • Fix extra scrollbar when a popover extends past the viewport. (62894)
    • Fix the ‘useUpdateEffect’ hook in strict mode. (62974)
    • ProgressBar: Fix indeterminate RTL support. (63129)
    • RangeControl: Fix RTL support for custom marks. (63198)
    • SelectControl: Fix disabled styles. (63266)
    • Tabs: Fix “With tab icons” Storybook example. (63297)
    • Tabs: Fix text-align when text wraps in vertical mode. (63272)
    • TimePicker: Fix time zone overflow. (63209)
    • UnitControl: Fix an issue where keyboard shortcuts unintentionally shift focus on Windows OS. (62988)

    Block Library

    • Add Aspect ratio control on Image blocks in Grids. (62891)
    • Audio Block: Do not persist blob urls and fix undo. (63257)
    • File block: Do not persist blob urls and fix undo. (63282)
    • Fix Incorrect URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org basename logic in EmbedPreview. (63052)
    • Fix: Update “Link Text” label to “Text” on Social Icons block #60966. (61715)
    • List: Maintain nested list on parent item removal. (62949)
    • Navigation: Allow themes to override block library text-decoration rule. (63406)
    • Patterns: Check for edited entity content property when exporting. (63227)
    • Reduce specificity of social link icon specific colors. (63049)
    • Refactor Post Date Relative Time Rendering for Future Dates. (62979)
    • Site Editor: Fix template parts ‘Reset’ action. (62951)
    • Video Block: Do not persist blob urls and fix undo. (63238)

    Post Editor

    • Editor: Do not truncate post excerpt if not editable. (63314)
    • Fix: Background height and padding in non-iframeiframe iFrame 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 canvas. (63222)
    • Fix: Crash when onActionPerformed is used with callback actions. (63120)
    • Fix: Permanently delete post action does not calls onActionPerformed. (63121)
    • Fix: Triple scrollbars in device previews. (62940)
    • Post editor: Increase specificity of bottom padding. (63288)
    • Actions: Translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. should depend on number of items. (62857)

    Data Views

    • DataViews list layout: Fix action alignment. (62971)
    • DataViews: Restore preview focus outline in grid layout. (62991)
    • Fix buttonless table headerHeader The 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. alignment. (62877)
    • Fix typo in string for trashing posts. (63119)
    • Patterns: Avoid mapping template parts objects to patterns. (62927)

    Block Style Variations

    • Block supports: Ensure tools panel dropdown are visible on mobile. (62896)
    • Section Styles: Fix error when blocks are deregistered. (63252)
    • Section Styles: Prevent flash of variation styles in post editor. (63071)
    • Section Styles: Resolve ref values in variations data. (63172)

    Layout

    • Only hide drop indicator when grid has isManualPlacement set. (63226)
    • Remove dotted border from grid dropzone. (63162)
    • Resizing in Auto mode shouldn’t add columnStart and rowStart values. (63160)
    • Fix invalidinvalid A 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 for nested fullwidth layouts with zero padding applied. (63436)

    Global Styles

    • Elements: Avoid specificity bump for top-level element-only selectors. (63403)
    • Global styles revisionsRevisions The 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.: Ensure that user-defined variation styles CSSCSS Cascading Style Sheets. is generated. (62768)
    • Root padding styles: Include alignwide in nested has-outer-padding logic. (63207)
    • Remove letter-spacing from typography element preview. (60322)
    • Only add customizerCustomizer Tool 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. additional CSS to global styles in block themes. (63331)

    Site Editor

    • Make SiteHub available for Pages, Patterns, and Templates in mobile viewports. (63118)
    • Patterns and templates cannot be edited from sidebar mobile view. (63002)
    • Site Editor Sidebar: Hide horizontal scrollbar when navigating. (63194)

    Synced Patterns

    • Ensure disable overrides button is active for image blocks with captions or links. (62948)
    • Fix second scrollbar when editing patterns in the post editor. (62909)
    • Pattern overrides: Fix aspect ratio not working in image with overrides. (62828)

    Block Editor

    • Featured ImageFeatured image A 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. Panel: Align text and icons horizontally to avoid clipping. (62842)
    • Zoom Out: Move the hook to the inserter component. (63315)
    • Fix error when calling the PostActions view-post callback. (63460)

    Block bindings

    • Disable post meta editing in blocks inside a Query LoopLoop The 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.. (63237)
    • Image block: Ensure extenders that rely on media ids in block htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. are supported by block bindings. (63013)

    Patterns

    • Fix: Restrict export pattern action to user patterns. (63228)

    Posts/Tags/Categories Screen

    • Constrain is-fullscreen-mode adminadmin (and super admin) body class to posts list. (63166)

    Inspector Controls

    • Fix button wrapping in the document Inspector. (63062)

    Design Tools

    • Duotone: Fix code typo, to ensure Duotone updates correctly in Safari. (62953)

    Commands

    • Fix issue of HTML entities rendering in command menu. (62606)

    Typography

    • Use available font weights and styles in FontAppearanceControl. (61915)
    • Font Appearance Control: Refactor font appearance fallbacks. (63215)

    AccessibilityAccessibility Accessibility (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)

    • Allow Escape key to move focus to editor region when in select mode. (62196)
    • Focus Editor Region from Template Footer Click. (62595)

    Components

    • Button: Stabilize __experimentalIsFocusable prop. (62282)
    • Fix inaccessible disabled Buttons. (62306)
    • Make Tabs have a fluid height. (62027)
    • ToolbarButton: Always keep focusable when disabled. (63102)

    Global Styles

    • Fix unlabeled Remove shadow buttons. (63197)

    Block Library

    • Make usage of the settings icon more consistent. (63020)

    Data Views

    • Add translation context for ‘view options’ label. (63031)
    • Fix filter chip contrast. (62865)

    Media

    • Update URLPopover role and focus return. (61313)

    Performance

    • Core data: Batch receiveUserPermission. (63201)
    • Perf tests: Make pages test compatible with base branchbranch A 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".. (63204)

    Block hooksHooks In 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.

    • Optimize selectors in the control component. (63141)

    Experiments

    Layout

    • Allow inserting blocks directly in empty grid cells. (63108)
    • Use manualPlacement attribute to set manual grid mode and allow responsive behaviour in both modes. (62777)

    Documentation

    • Add note about postcss-urlrebase package patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.. (63015)
    • Add RichText formatting example to the Editor curation documentation. (63065)
    • Block supports: Add documentation for ‘splitting’. (63016)
    • Fix typo to be preposition, not verb, in some package comments and documentations. (62945)
    • Fix urls to developer documentation. (63104)
    • Interactivity API: Fix minor typos in code snippets. (62890), (63234)
    • Interactivity API: Fix variable name in color directive example. (62912)
    • Interactivity API: Include references to more examples from the documentation. (63025)
    • Interactivity API: Recommend kebab-case in data-wp-class. (62817)
    • Remove link to polyfill.io. (62883)
    • Storybook: Fix links for block editor examples. (63132)
    • ToolbarButton: Fix documentation for accessibleWhenDisabled. (63140)
    • Update ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. dev docs rule hook URL. (62995)

    Code Quality

    • Add linguist-documentation attribute to docs/ directory. (62651)
    • Conditionally call focus with getEditorRegion. (62980)
    • Core Data: Remove entity configuration ‘__experimentalNoFetch’ flag checks. (63303)
    • Dependencies: Upgrades and deduplication. (62657)
    • Format Library: Clean up ‘Highlight’ format components. (62965)
    • Remove postcss-local-keyframes from dependencies. (63224)
    • Upgrade postcss-urlrebase package. (63075)

    Data Views

    • DataViews: Fix double check in isTemplateRemovable. (63021)
    • DataViews: Remove the AnyItem type. (62856)
    • DataViews: Removing mapping of user patterns to temporary object. (63042)
    • DataViews: Replace hiddenFields configuration with fields property instead. (63127)
    • DataViews: Simplify selection setting. (62846)

    Block Editor

    • Remove CSS hack for Internet Explorer 11. (63220)
    • Remove duplicate translator comment. (62860)

    Components

    • Allow ariakit and framer motion imports in the components package. (63123)
    • Normalize focusable disabled ToolbarButton usage. (63130)
    • Sidebar: Add a shared component for the inserter and list view. (62343)
    • Tabs: Split animation logic into multiple separate composable utilities. (62942)

    Global Styles

    • Global Styles: Allow variations to be filtered by multiple properties. (62847)
    • Global Styles: Simplify code to fetch color and typography variation. (62827)
    • Make a shared component for typography and color preview. (62829)
    • Section Styles: Clean up block style variation filters. (62858)

    Block Library

    • Gallery Block: Clean up v1 code. (63285)

    Site Editor

    • Clean up unused Table component. (63283)

    Rich Text

    • Raw handling: Remove IE11 fallback code. (63219)

    Zoom Out

    • Replace deprecated selector. (63144)

    Block bindings

    • Add comment about useSelect usage in withBlockBindingSupport. (63005)

    HTML API

    • Compat: Update HTML API with changes from 6.6. (63089)

    Tools

    • Dependency extraction: Map to regenerator-runtime instead of wp-polyfill. (63091)
    • Env: Remove version field from docker-compose configuration. (63099)
    • Eslint-pluginPlugin A 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: Add method-signature-style TypeScript lint rule. (62718)
    • Scripts: Ensure that typescript-eslint checks for unused vars. (62925)
    • Update new release issue template to remove core editor chat item. (62864)

    Testing

    • Automatically sync backportbackport A 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. changelog to issue. (62973)
    • Block styles variations E2E: Wait for Save button before editing global styles. (62915)
    • Cherry pick automation: Fix for forks. (62900)
    • Cherry pick workflow: Improve message after conflictconflict A 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.. (62826)
    • DataViews: Add performance test for pages. (63170)
    • Fix typo in column block fixture file. (63007)
    • Performance tests: Fix for 6.5. (62871)
    • Performance tests: Restore 6.5-compatible locator. (63041)
    • Re-enable image block cropping test (#62781). (62854)
    • Update method for changing the content in ‘editor-modes’ end-to-end test. (62957)
    • Update the project-management-automationaction to use Node.js 20. (62851)
    • Upgrade web-vitals package. (63019)

    Plugin

    • Add local version of wp-env schema to .wp-env.json. (63253)

    Build Tooling

    • Build: Enable TypeScript skipDefaultLibCheck. (63056)

    First time contributors

    The following PRs were merged by first-time contributors:

    • @airman5573: Fix variable name in color directive example for Interactivity API. (62912)
    • @aliaghdam: Tooltip Component: Add custom class name support. (63157)
    • @bogiii: DateTime: Create TimeInput component and integrate into TimePicker. (60613)
    • @Chrico: Scripts: Ensure that typescript-eslint checks for unused vars. (62925)
    • @dhananjaykuber: Fix Incorrect URL basename logic in EmbedPreview. (63052)
    • @iamibrahimriaz: Update iapi-about.md. (63234)
    • @iworks: Translation should depend on number of items. (62857)
    • @roygbyte: Fix typo to be preposition, not verb, in some package comments and documentations. (62945)
    • @shreya0204: Add justification to block toolbar in addition to sidebar. (62924)
    • @sejas: Fix: Error when calling the PostActions view-post callback. (63460)

    Contributors

    The following contributors merged PRs in this release:

    @aaronrobertshaw @afercia @airman5573 @akasunil @aliaghdam @amitraj2203 @bogiii @carolinan @Chrico @ciampo @costasovo @creativecoder @DaniGuardiola @desrosj @dhananjaykuber @dmsnell @ellatrix @fluiddot @geriux @hbhalodia @iamibrahimriaz @iworks @jameskoster @jasmussen @jeryj @jffng @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @luisherranz @MaggieCabrera @Mamaduka @matiasbenedetto @michalczaplinski @mikachan @mirka @ndiego @ntsekouras @oandregal @ockham @peterwilsoncc @ramonjd @richtabor @roygbyte @SantosGuillamot @scruffian @shail-mehta @shreya0204 @sirreal @stokesman @swissspidy @t-hamano @talldan @tellthemachines @tyxla @vipul0425 @westonruter @youknowriad

    Props to @aaronrobertshaw, @annezazu, and @priethor for their support with this post, and @joen for the visual assets!

    #block-editor, #core-editor, #gutenberg, #gutenberg-new