What’s new in Gutenberg 17.6? (31 January)

“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 17.6 has been released and is available for download!

This release, which includes 264 pull requests (that’s a lot of work!), can be labeled mainly as a ‘code quality’ one, as it includes two important refactors in both Fonts and Interactivity APIs.

It also includes some improvements in the new “Data Views” experiment, 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. 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. improvements, and finally, a feature that all developers have been waiting for: the ability to extend allowed blocks within a parent block.

New 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. allowed Blocks 

Until now, there has been no way to 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. the allowed blocks in an inner block area. This means that developers could not specify which blocks could be inside a parent block without editing the parent block’s edit file. Imagine you’ve just created an amazing icon block to include in the navigation block; now, you can whitelist it using a filter.

addFilter( 'blocks.registerBlockType', 'my-great-icon-block', ( settings, name ) => {
  if ( name === 'core/navigation ) {
    return {
      ...settings,
      allowedBlocks: [ ...settings.allowedBlocks ?? [], 'my-great-icon-block' ],
    }
  }
  return settings;
} );

Site Editor – Post Editor unification.

Several smaller edit actions are available in the post editor but not the site editor. The misalignment means users sometimes need to hop between editors, which can be frustrating. This Gutenberg version includes all page edit features in both editors.

Also, the 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. and the Fonts Library API have received a big refactor. These APIs are getting close to the 6.5 release, so it’s a great time to test them.

Other Notable Highlights

New Interactivity API directives

The Interactivity API now includes several new directives that will be incredibly helpful when creating interactive blocks.

  • data-wp-on-window and data-wp-on-document to handle global events like scroll, keypress, load, ready, etc.
  • data-wp-each to render lists.
  • data-wp-run to execute custom logic while rendering an element with directives. 

Footnotes available for custom post types

Footnotes are available for all post types that

  • Are public and appear in the 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/..
  • Supports all of the following: editor, custom fields, and 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..

Changelog

Features

Interactivity API

  • Add wp-data-on-window and wp-data-on-document directives. (57931)
  • Add wp-each directive. (57859)
  • Add wp-run directive and useInit & useWatch hooks. (57805)
  • Create @wordpress/interactivity-router module. (57924)

Typography

  • Add defaultFontSizes option to theme.json. (56661)

Font Library

  • Font Library: Add wp_get_font_dir() function. (57730)

Custom Fields

  • Block Bindings: Disable editing of bound block attributes in editor UIUI User interface. (58085)

Block Editor

  • Add effects/box shadow tools to block inspector. (57654)

Enhancements

Components

  • Add opt-in prop for 40px default size for BoxControlBorderControl, and BorderBoxControl. (56185)
  • BorderControl: Replace style picker with ToggleGroupControl. (57562)
  • ColorPicker: Store internal HSLA state for better slider UXUX User experience. (57555)
  • Migrate PaletteEdit and CircularOptionPicker tests from user-event to ariakit/test. (57809)
  • Replace TabPanel with Tabs in the Editor Preferences Modal. (57293)
  • Theme: Set color on wrapper. (58095)
  • Tooltip: No-op when nested inside another Tooltip component. (57202)
  • BoxControl: Update design. (56665)
  • Element: Start reexporting PureComponent. (58076)

Interactivity API

  • Render the root interactive blocks. (57729)
  • Interactivity Router: Replace data-wp-navigation-id with data-wp-router-region. (58191)
  • Interactivity: Export withScope() and allow to use it with asynchronous operations. (58013)
  • Prevent the use of components in wp-text. (57879)
  • Remove wp-data-navigation-link directive. (57853)
  • Server Directive Processing Refactor. (58066)
  • Update preact@preact/signals and deepsignal dependencies. (57891)

Block Editor

  • Add copy link button to Link UI. (58170)
  • Improve LinkControl preview. (57775)
  • Keep Link UI open upon initial link creation when used in RichText. (57726)
  • List View: Displace list view items when dragging (a bit more WYSIWYGWhat You See Is What You Get What You See Is What You Get. Most commonly used in relation to editors, where changes made in edit mode reflect exactly as they will translate to the published page.). (56625)
  • Show initial suggestions in rich text Link UI. (57743)
  • Disable lock button if user cannot control lock state. (57274)
  • Use ClipboardJS latest version and clean up focus loss workaround. (57156)
  • Dimensions: Add Aspect Ratio block support. (56897)

Block Library

  • Add more 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. options to the post navigation link. (48912)
  • Add: Footnotes support for other CPT’s. (57353)
  • Better navigation link variations for post types / taxonomies. (56100)
  • Remove “blocks” from copy and delete labels. (57769)
  • Pullquote Block: Add padding and margin support. (45731)
  • Video Block: Add raw transformation from video htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.. (47159)
  • Aspect ratio: Remove support on the Group block for now. (58414)
  • Image block: Move UI for lightbox from 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. to the content toolbar alongside link settings. (57608)

Data Views

  • DataViews: Enable grid layout for templates & parts by default. (58137)
  • DataViews: Make dataviews powered page patterns stable. (58139)
  • DataViews: Make the “Manage Pages” stable. (58166)
  • Dataviews: Add Bulk actions to page. (57826)

Site Editor

  • Group templates in sidebar list. (57711)
  • Initial routing refactoring to separate preview from list view. (57938)
  • Iterate on warning text for block removal for query/post template/post content. (58138)
  • Site editor: Add global styles changes to save flow. (57470)
  • Editor: Unify the Editor Mode preference. (57642)
  • Live Preview: Show the current theme name on the theme activation modal. (57588)
  • Unify the preferences modal UI between post and site editor. (57639)
  • Remove right negative margin from pinned items. (57666)
  • Update style revision top toolbar text. (58057)

Block API

  • Block Bindings: Update source registration syntax and remove APIs that should be private. (58205)
  • Block Hooks: Do not remove toggle if hooked block is present elsewhere. (57928)

Synced Patterns

  • Add basic pattern overrides end-to-end tests. (57792)
  • Use a 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. format and support linkTarget of core/button for Pattern Overrides. (58165)

Patterns

  • Add image block support for pattern overrides. (57909)
  • Outline editable blocks that are within a content-locked container. (57901)
  • Change text on pattern reset button. (58286)

Post Editor

  • Post Lock: Use the new modal size preset. (58197)
  • Add description to the save panel 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 nothing is checked. (57716)

Font Library

  • Update the default collection data URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to the wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ cdn. (58186)
  • Font Library: Refactor stylesheet using CSSCSS Cascading Style Sheets. variables (58237)
  • Font Library Modal: Reset the selected font when installing a new font. (57817)
  • Font Library: Disable font library UI using a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher filter. (57818)
  • Font Library: Filter fonts upload directory. (57697)
  • Font Library: Use data or src file to define font collection data. (57734)
  • Improve font collection rest controller. (58222)
  • Make notices more consistent. (58180)
  • Updates Font Families and Font Faces endpoints context param. (58287)

Commands

  • Minor command tweaks. (58148)

Extensibility

  • Update Navigation block to render hooked inner blocks. (57754)
  • Add gettext content when translating ‘Header’. (51066)

Template Editor

  • Remove template-only mode from editor and edit-post packages. (57700)

New APIs

Block API

  • Block Bindings API: Add block bindings PHP registration mechanisms and “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.” source under the experimental flag. (57249)
  • Block Bindings API: Refactor logic into Block Bindings class and singleton pattern. (57742)

Bug Fixes

Block Library

  • 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. block: Fix broken aligments in the editor. (58114)
  • Embed Block: Fix retry processing when embedding with trailing slash fails. (58007)
  • Lightbox: Fix “Expand on click” control being disabled unintentionally. (56053)
  • Modified Date Block: Don’t render change date tool. (57914)
  • Only prioritise Quote transform where relevant. (57749)
  • 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.: Fix posts list variation detection. (58194)
  • Block Hooks API: Update Navigation block feature gate. (58388)

Components

  • Button: Always render the Tooltip component even when a tooltip should not be shown. (56490)
  • CustomSelect: Adjust renderSelectedValue to fix sizing. (57865)
  • ToggleGroupControl: Improve controlled value detection. (57770)
  • Tooltip: Accept specific tooltip props. (58125)
  • Tooltip: Forward and merge inner tooltip props correctly. (57878)
  • Bring back the chevron. (57807)
  • Preferences: Add a proxy to retrieve the deprecated preferences with a deprecation message. (58016)

Data Views

  • DataViews: Default sort order in templates by title. (58175)
  • DataViews: Don’t always display horizontal scrollbar. (58101)
  • DataViews: Fix author sorting in templates and template parts. (58167)
  • Remove unused argument from sprintf in pagination.js. (57823)
  • DataViews: Fix safari grid row height issue. (58302)
  • DataViews: Fix table view cell wrapper and BlockPreviews. (58062)

Patterns

  • Add black border back when editing synced pattern in the post editor. (57631)
  • Outline editable blocks when in a pattern that has locked children. (57991)
  • Remove text align control for paragraph, heading, and button in contentOnly editing mode. (57906)
  • Pattern Categories: Fix capitalization. (58112)
  • Fix flaky “create a new pattern” test. (57747)
  • Block Bindings: Fix bindings image placeholder showing in patterns overrides. (58252)

List View

  • Image Block: Make block name affect list view. (57955)
  • More Block: Make block name affect list view. (58160)

Block API

  • Block Hooks: Fix toggle. (57956)
  • Fix formats not working in block bindings content. (58055)

Global Styles

  • Correctly decode border color values. (57876)
  • Fix: Theme.json application of custom root selector for styles. (58050)

Data Layer

  • Data: Allow binding registry selector to multiple registries. (57943)
  • Data: Fix memoized createRegistrySelector. (57888)

Typography

  • #56734 When there is no font, the border should not appear. Display further guidance text. (56825)
  • Fluid typography: Do not calculate fluid font size when min and max viewport widths are equal. (57866)

Block Editor

  • 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.: Content locking does not stops when an outside block is selected. (57737)
  • LinkControl: Remove unnecessary right padding of input fields. (57784)

Custom Fields

  • Block Bindings: Fix button popover not showing in patterns. (58219)

Font Library

  • Fix typo. (58193)
  • Removed and elements from Font Library Modal (58221)

Synced Patterns

  • Fix losing overrides after detaching patterns. (58164)

Interactivity API

  • Prevent wp-data-on="" from creating onDefault handlers. (57925)
  • Prevent usage of gutenberg_url in block-library (58242)
  • Interactivity API: Fix data-wp-on-document flaky test. (58008)
  • Interactivity API: Fix flaky test on-window. (58134)
  • Fix flaky test on-window, remove duplicate expect on-document. (58181)
  • Interactivity: Fix broken reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. usage in published package. (58258)

CSS & Styling

  • Styles revisions: Remove body padding. (57748)

Templates API

  • Fix visual indication of switch to default template in the post editor. (57718)

Site Editor

  • (editor)(fix) Append the edit-post-header-toolbar class in NavigableToolbar for backward compatibility with 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 GUI injections. (58154)
  • Fix site editor layout regressions. (58077)

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)

Site Editor

  • Fix font variants count color contrast ratio and l10nL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales.. (58117)
  • Make the site hub View Site link always visible. (57423)

Block Editor

  • Fix parent selector button focus style and metrics. (57728)
  • Restore visual separator between mover buttons when show button label is on. (57640)

Widgets Editor

  • Fix Widgets page Undo and Redo accessibility and keyboard interaction. (57677)

Performance

  • Add patterns load test. (57828)
  • Block editor: Avoid list re-rendering on select. (57188)
  • Block editor: Don’t register shortcuts for preview editors. (57984)
  • Block editor: Fix performance regression after #57950. (57971)
  • Block editor: Use context for useBlockEditingMode. (57950)
  • BlockSwitcher: Defer transform calculations until the Dropdown is open. (57892)
  • Call variation through callback so it’s only loaded when needed – in support of tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. 59969. (56952)
  • Editor styles: Cache transform. (57810)
  • Footnotes: Combine format store subscription. (58129)
  • 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.: Calc compat styles once per page load. (57798)
  • Measure typing with the top toolbar enabled. (57709)
  • Meta boxes: Don’t initialise if there are none. (57182)
  • Patterns: Avoid fetching on load. (57999)
  • Site editor: Avoid fetching themes on load. (57985)
  • Site editor: Reduce artificial loading delay from 1s to 100ms. (57953)
  • Site editor: Remove store subscription per block. (57995)
  • Template Part & Query: Avoid server requests on mount. (57987)
  • Template part block: Avoid parsing ALL patterns on mount. (57856)

Block Editor

  • Revert “Block editor: Avoid list re-rendering on select”. (58147)

Post Editor

  • Editor: Use hooks instead of HoCs for EditorNotices. (57772)

Experiments

Data Views

  • Add: Bulk actions to dataviews with the new design. (57255)
  • Data view list layout: Fix thumbnail dimensions. (57774)
  • Data views table layout: Update cell vertical alignment. (57804)
  • DataViews: Add description to pages. (57793)
  • DataViews: Add front page to pages page sidebar. (57759)
  • DataViews: Better management of layout param in templates. (58116)
  • DataViews: Make list layout the default for templates with the experiment enabled. (57933)
  • DataViews: Revert list view as default for pages. (58081)
  • DataViews: Revert list view as default for templates. (58079)
  • DataViews: Set primary field styles. (57846)
  • DataViews: Show loading / no result message for the list layout. (57764)
  • DataViews: Update template parts view. (57952)
  • DataViews: Use button for patterns, pages and templates preview field. (58071)
  • DataViews: Use table layout for templates when experiment disabled. (57960)
  • Stabilise view options button icon. (57964)
  • Update Grid layout design. (57880)
  • Update Pages preview field display. (57919)
  • Update Templates table layout. (57930)
  • Update: Show template sources on templates Dataviews sidebar. (58124)

Synced Patterns

  • Add a control to reset pattern overrides. (57845)
  • Allow heading and button in Pattern Overrides. (57789)

Typography

  • Download then upload font face assets when installing from a collection. (57694)
  • Use slug instead of id for Font Collection. (57735)

REST API

  • Font Library Refactor. (57688)

Block Editor

  • Allow drag and drop to create Rows and Galleries. (56186)

Documentation

  • Add a video demonstration to the Quick Start Guide. (57834)
  • Button: Improve disabled-related prop descriptions. (57864)
  • Components: Move CHANGELOG entries under the correct release. (57885)
  • Docs: Fix typo in “The block wrapper” document. (58106)
  • Docs: Use ‘key’ in ‘editor.BlockEdit’ filter code examples. (58119)
  • Document files/directories requiring backmerging to WP CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.. (58064)
  • Fix the iframe markup of the embed video in the Quick Start Guide. (57857)
  • Fix: Link to the nodejs release page. (57816)
  • Fix: Typo on BlockListBlock comments. (57814)
  • Fix: Typos on __unstableSetTemporarilyEditingAsBlocks documentation. (57768)
  • Font Library: Add font collection JSON schema. (57736)
  • Prefixes all php filters with wpdocs_. (53914)
  • Remove the unnecessary TOC and fix grammar/formatting in the Patterns doc. (57825)
  • Remove the 👋 emoji from the Block Editor Handbook. (58023)
  • Update versions-in-wordpress.md. (57916)
  • [Type] Developer Documentation – Fix removeAllNotices dispatch on the removeAllNotices doc section of wordpress/notices. (57436)

Code Quality

Components

  • PaletteEdit: Improve unit tests. (57645)
  • Tooltip and Button: Tidy up unit tests. (57975)
  • Tooltip: Add test for classname leakage. (58182)
  • Remove unneeded margin: 0 override for Notice component consumer. (57794)
  • Shadows: Prevent empty style object when removing shadow. (58155)

Block Editor

  • Soft deprecate custom ‘pure’ HoC in favor of ‘React.memo’. (57173)
  • Stabilise RecursionProvider and useHasRecursion APIs. (58120)
  • Tidy up block patterns selectors. (57913)
  • Shadow: Remove additional wrapper around getShadowClassesAndStyles. (58297)

Block Library

  • Gallery Block: Remove duplicate return statement. (57746)
  • Navigation: Move the renderer class to the main navigation file. (57979)
  • Fix comments block. (57820)
  • Rename __experimentalGetGlobalBlocksByName to getBlocksByName. (58156)
  • Block Hooks API: Remove $post check from Navigation hooked blocks meta fn. (58379)
  • Post navigation link: Coding standard fixes. (58380)
  • Update docblockdocblock (phpdoc, xref, inline docs) for render_block_core_pattern. (58382)
  • Block Hooks API: Update doc block for block_core_navigation_insert_hooked_blocks. (58378)

Font Library

  • Remove WP_Font_Family class that is no longer used. (58184)
  • Font Library: Remove ‘version’ property from font collection schema. (58025)
  • [Fonts API] removing files and files loading no longer needed. (57972)
  • Remove unused utilities and rename class. (58342)
  • Rename the slug of the google fonts collection from ‘default-font-collection’ to ‘google-fonts’. (58331)
  • Refactored download/upload logic to support font faces with multiple src assets. (58216)
  • Font Library: Addresses additional REST API feedback. (58333)

Block Directory

  • DownloadableBlocksPanel: Remove withSelect in favor of useSelect. (58109)

Patterns

  • Stabilize the pattern overrides block context. (58102)
  • Remove pattern override experiment completely. (58105)
  • Update pattern overrides to use a hard coded support array. (57912)
  • Block Bindings: Change core/pattern-attributes source for core/pattern-overrides. (58434)

Block API

  • Block Bindings: Remove the experimental flag. (58089)
  • Block Renaming – move backported WP 6.5 code to 6.5 compat dir. (58126)

Post Editor

  • Editor: Use hooks instead of HoCs in ‘PostScheduleCheck’. (57833)

Script Modules API

  • Update the code and move it to the compat/wordpress-6.5 folder. (57778)

Data Views

  • Remove obsolete check from dataviews modal actions title. (57753)

Interactivity API

  • Remove data-wp-slot and data-wp-fill. (57854)
  • Remove unused state and rename props to attributes in getElement(). (57974)

HTML API

  • 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. updates from Core. (57022)

Custom Fields

  • Block Bindings: Simplify block bindings object. (58337)
  • Block Bindings: Adapt block bindings to wordpress code latest changes. (58383)

Tools

Testing

  • Add setGutenbergExperiments to requestUtils. (56663)
  • Add: End to end test to content locking stop editing as blocks behavior. (57812)
  • Attempt to fix php unit tests (variations api change). (58090)
  • Migrate ‘block grouping’ end-to-end tests to Playwright. (57684)
  • Migrate ’embedding’ end-to-end tests to Playwright. (57969)
  • Migrate ‘typewriter’ end-to-end tests to Playwright. (57673)
  • Remove unused Navigation block end-to-end test fixtures. (57848)

Build Tooling

  • Update caniuse-lite package. (58087)
  • Update the cherry pick script to work with the new version of gh. (57917)
  • Scripts: Remove unused variable in bin/list-experimental-api-matches.sh. (57771)
  • (chore) Revert bump to the v17.5.1 (draft) due to 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. in the release found by manual testing. (58027)
  • Fix misplaced ReactRefreshWebpackPlugin. (57777)
  • Automate creation of Issue for major release PHP synchronisation. (57890)
  • Remove check-latest-npm validation. (57797)
  • core-js: Only polyfill stable features. (57674)

First time contributors

The following PRs were merged by first time contributors:

  • @kt-12: Call variation through callback so it’s only loaded when needed – in support of trac 59969. (56952)
  • @leomuniz: [Type] Developer Documentation – Fix removeAllNotices dispatch on the removeAllNotices doc section of wordpress/notices. (57436)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @ajlende @andrewserong @annezazu @artemiomorales @arthur791004 @atachibana @bacoords @bph @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @creativecoder @DAreRodz @dcalhoun @derekblank @dmsnell @draganescu @dsas @ecgan @ellatrix @fluiddot @fullofcaffeine @gaambo @geriux @getdave @glendaviesnz @gonzomir @inc2734 @jameskoster @jeryj @jffng @jorgefilipecosta @jsnajdr @kevin940726 @kt-12 @leomuniz @luisherranz @madhusudhand @MaggieCabrera @Mamaduka @matiasbenedetto @mcsf @michalczaplinski @mikachan @mirka @ndiego @noisysocks @ntsekouras @oandregal @ockham @oguzkocer @pbking @ramonjd @richtabor @SantosGuillamot @scruffian @SiobhyB @sirreal @swissspidy @t-hamano @talldan @tellthemachines @tjcafferkey @tyxla @vcanales @youknowriad

Props to @jameskoster for visuals assets and @cbringmann for peer-review

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

What’s new in Gutenberg 17.5? (17 January 2024)

“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 17.5 has been released and is available for download!

Table of Contents

  1. Editor Unification
  2. Gallery Block: Random Order Setting
  3. Other Notable Highlights
  4. Changelog
  5. First time contributors
  6. Contributors

Editor Unification

The editor unification project is working to combine the Post Editor and the Site Editor into one unified editor. This release brings that goal closer by combining many of the preferences for these two editors into one shared preferences panel.

In #57477 we added a new setting to the Gallery block which allows you to give your gallery images a random order. This feature was available in the gallery 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., but not in the gallery block, until now!

Other Notable Highlights

  • 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.: Add a useFirstImageFromPost attribute. (56573)
  • Add drag cursor to draggable list items. (57493)
  • Font Library: Add progress-bar while uploading font assets. (57463)

Changelog

Full changelog available

Enhancements

Editor Unification

  • Editor: Add the show most used blocks preference to the site editor. (57637)
  • Editor: Migrate and unify the panel preferences. (57529)
  • Editor: Unify context text cursor preference. (57479)
  • Editor: Unify list view open preference. (57504)
  • Editor: Unify right click override preference. (57468)
  • Editor: Unify show icon labels preference. (57480)
  • Editor: Unify spotlight mode preference. (57533)
  • Editor: Unify the distraction free preference. (57590)
  • Editor: Unify the show block breadcrumbs preference. (57506)
  • Editor: Unify the top toolbar preference. (57531)

Components

  • Components: Replace TabPanel with Tabs in inline color picker. (57292
  • Add compact size variant to InputControl-based components. (57398)
  • BaseControl: Connect to context system. (57408)
  • Replace TabPanel with Tabs in the Style Book. (57287)
  • Tooltip: Improve tests. (57345)
  • 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 v0.3.12 and @ariakit/test to v0.3.7. (57547)

Font Library

  • Font Library: Remove “has_font_mime_type” function. (57364)
  • Font Library: Update font uninstall modal text. (57368)
  • Font Library: Add progress-bar while uploading font assets. (57463)
  • Font Library: Singularize install font families endpoint. (57569)
  • Font Library: Unregister font collection. (54701)

Site Editor

  • Add Template Modal: Update scroll related layout. (57617)
  • Components: Replace TabPanel with Tabs in the Font Library Modal. (57181)

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.

  • Implement wp_initial_state(). (57556)
  • Server directive processing: Stop processing non-interactive blocks. (56302)
  • Interactive template: Use viewModule. (57712)
  • Navigation Block: Use dom.focus for focus control. (57362)

Site Editor

  • Site editor: Add padding to entity save panel 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.. (57471)
  • Site editor: Add margin to entity save panel header via a classname. (57473)

Block Library

  • Post Featured Image: Add a useFirstImageFromPost attribute. (56573)
  • Gallery Block: Add random order setting. (57477)
  • Image Block: Change upload icon label. (57704)

Bug Fixes

  • Avoid using a memoized selector without dependencies. (57257)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Pass the ‘options’ argument to data action shortcuts. (57383)
  • Preferences: Update 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) scope to “core”. (57563)

Block Editor

  • Fix Link UIUI User interface displaying out of sync results. (57522)
  • Give 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. fallback background color. (57330)
  • Rich text: Add HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. string methods to RichTextData. (57322)

Block Library

  • Footnotes: Fix wrong link when adding more than 9 footnotes. (57599)
  • Table: Remove unnecessary margin override in editor styles. (57699)
  • Template Part block: Fix template part path arg missing from actions. (56790)

Components

  • DuotonePicker: Fix top margin when no duotone options. (57489)
  • NavigatorProvider: Exclude size value from contain CSSCSS Cascading Style Sheets. rule. (57498)
  • Snackbar: Fix icon positioning. (57377)

Patterns

  • Pattern Overrides: Add template-lock: All to pattern inner blocks to prevent deletion/insertion. (57661)
  • Refactor the findOrCreate term method. (57655)
  • Edit source pattern in focus mode in post and site editors. (57036)

Site Editor

  • Make sure comamnd palette toggle does not disappear while being clicked. (57420)
  • Reinstate iframe CSS for editor canvas container. (57503)

Global Styles

  • Use is-layout pattern on layout generated classname. (57564)
  • 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.: Add individual headings translations, update tests. (57472)
  • Global style revisions: Move change summary code and tests to block editor package. (57411)
  • Reduce specificity of block style variation selectors. (57659)
  • Background image block support: Add tests for size and repeat output. (57474)

Post Editor

  • Fix Template preview menu item accessibility. (57456)
  • Fullscreen mode description: Use full text instead of abbreviation. (57518)
  • Improve pre-publish checks naming consistency. (57019)
  • Make the Replace featured image button perceivable by assistive technologies. (57453)

Components

  • Label the HeightControl. (57683)
  • NumberControl: Make increment and decrement buttons keyboard accessible. (57402)

Block Tools

  • Update the position of the patterns tab in the inserter menu. (55688)
  • Use full text instead of abbreviation for min height setting. (57680)
  • ResizableEditor: Fix tab order for resize handles. (57475)
  • Keep Lock button it in the toolbar until unmounted. (57229)
  • Custom fieldCustom Field Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. connections: Better description on Experiments page. (57501)

Performance

Block Library

  • File: Remove ‘block-editor’ store subscription. (57511)
  • Remove store subscriptions from Audio and Video blocks. (57449)
  • Site Logo: Remove unnecessary ‘block-editor’ store subscription. (57513)
  • Send numerical post id when uploading image. (57388)
  • PostFeaturedImage: Remove unnecessary ‘block-editor’ store subscription. (57554)

Experiments

Data Views

  • DataViews: Use DropdownMenuRadioItem component when possible. (57505)
  • Align icon size + placement in Patterns data view. (57548)
  • DataViews: Add duplicate pattern action in patterns page. (57592)
  • DataViews: Add duplicate template pattern action. (57638)
  • DataViews: Add footer to Pages 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.. (57690)
  • DataViews: Add new page button in Pages. (57685)
  • DataViews: Add sync 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. in patterns page. (57532)
  • DataViews: Consolidate CSS selectors naming schema. (57651)
  • DataViews: Fallback to (no title) is there’s no rendered title. (57434)
  • DataViews: Hide actions menu upon selecting a layout. (57418)
  • DataViews: Make fields dependant on view.type. (57450)
  • DataViews: Memoize onSetSelection. (57458)
  • DataViews: Prevent unnecessary re-renders of Pagination. (57454)
  • DataViews: Prevent unnecessary re-renders. (57452)
  • DataViews: Update names for DropdownMenuRadioItemCustom. (57416)
  • DataViews: Use i18n._x to clarify term “Duplicate”. (57686)
  • DataViews: Use in patterns page. (57333)
  • Dataview: Change the stacking order of table header. (57565)
  • Dataviews: Add some client side data handling utils. (57488)
  • Make title display in grid views consistent. (57553)
  • Update Table layout design details. (57644)
  • Update pagination spacing in List layout. (57670)
  • Update table header gap. (57671)
  • [Dataviews] Table layout: Ensure focus is not lost on interaction. (57340)

Patterns

  • [Pattern Overrides] Fix duplication of inner blocks. (57538)
  • [Pattern overrides] Allow multiple attributes overrides. (57573)

Documentation

  • Add links to additional local dev tools in Block Developement Environment readme. (57682)
  • Add new section to the Quick Start Guide about wp-env. (57559)
  • 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. schema: Add renaming key to supports definition. (57373)
  • Break out the Curating the Editor Experience doc into its own How-to Guides section. (57289)
  • Change the slug for the theme.json doc to avoid conflicts. (57410)
  • Docs/tutorial: Fix opposite condition for content generation in render.php. (57445)
  • Docs: Fundamentals of Block Development – Static or Dynamic rendering of a block. (57250)
  • Docs: Update sample code to fix React warning error on Tutorial page. (57412)
  • Fix formatting issue due to incorrect link parsing in the Quick Start Guide. (57693)
  • Fix incorrect heading level in Editor curation documentation. (57409)
  • Fix two typos in tutorial.md. (57627)
  • Fix: Create block getting started links. (57551)
  • Improve the static vs dynamic rendering comment in the block tutorial. (57284)
  • Update copyright year to 2024 in license.md. (57481)
  • Update the “Build your first block” tutorial based on user feedback. (57403)
  • Update: Material design icons link. (57550)

Code Quality

  • Editor: Unify the DocumentTools component. (57214)
  • Make getLastFocus and setLastFocus private. (57612)
  • Remove deprecated behaviors syntax. (57165)
  • Avoid extra useMarkPersistent dispatch calls. (57435)
  • Clean up code editor CSS. (57519)
  • Combine selectors in ‘useTransformCommands’. (57424)

Block Library

  • Background image: Add has-background classname when background image is applied. (57495)
  • File: Remove unnecessary synchronization effect. (57585)
  • Navigation: Refactor mobile overlay breakpoints to JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (57520)
  • Search Block: Remove unused buttonBehavior attribute. (53467)

Patterns

  • Improve inserter pattern constants. (57570)
  • Remove duplicate setting for getPostLinkProps and prefer stable naming. (57535)
  • Rename patternBlock to patternPost. (57568)

Post Editor

  • 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 HoCs in ‘PostVisibilityCheck’. (57705)
  • Quality: Avoid React warning when changing rendering mode. (57413)

Block Editor

  • Editor: Unify the inserter sidebar. (57466)
  • Remove unused parameters from useOnBlockDrop. (57527)

List View

  • Editor: Unify the list view sidebar between the post and site editors. (57467)
  • Add drag cursor to draggable list items. (57493)

Tools

  • Dependency Extraction Webpack 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: Use import for module externals. (57577)
  • DependencyExtractionWebpackPlugin: Add true shorthand for requestToExternalModule. (57593)
  • DependencyExtractionWebpackPlugin: Use module for wordpress/interactivity. (57602)
  • Fix webpack not setting environment.module true. (57714)
  • Modules: Load the import map polyfill when needed. (57256)
  • Blocks: Add handling for block.json viewModule. (57437)

Testing

  • Allowed Patterns end-to-end test – move tests that run with a subset of allowed blocks into a group. (57496)
  • Clean up end-to-end tests package. (57575)
  • Fix flaky ‘Post publish button’ end-to-end test. (57407)
  • Migrate ‘allowed patterns’ end-to-end tests to Playwright. (57399)
  • Migrate ‘block editor keyboard shortcuts’ end-to-end tests to Playwright. (57422)
  • Migrate ‘core settings’ end-to-end tests to Playwright. (57581)
  • Migrate ‘datepicker’ end-to-end tests to Playwright. (57545)
  • Migrate ‘dropdown menu’ end-to-end tests to Playwright. (57663)
  • Migrate ‘editor modes’ end-to-end tests to Playwright. (57574)
  • Migrate ‘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. blocks’ end-to-end tests to Playwright. (57508)
  • Migrate ‘nux’ end-to-end tests to Playwright. (57542)
  • Migrate ‘preferences’ end-to-end tests to Playwright. (57446)
  • Migrate ‘publishing’ end-to-end tests to Playwright. (57521)
  • Migrate ‘scheduling’ end-to-end tests to Playwright. (57539)
  • Migrate ‘sidebar’ end-to-end tests to Playwright. (57448)
  • Migrate ‘taxonomies’ end-to-end tests to Playwright. (57662)
  • Migrate editing-widgets to Playwright. (57483)
  • Migrate remaining ‘publish panel’ end-to-end tests to Playwright. (57432)
  • Update ‘missing block’ end-to-end tests to use the ‘setContent’ helper. (57509)

Build Tooling

  • Group 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/ Action Dependabot updates. (57591)
  • WP Scripts: Build block.json viewModule. (57461)
  • Dependency Extraction Webpack Plugin: Add Module support. (57199)

First time contributors

The following PRs were merged by first time contributors:

  • @HrithikDalal: Font Library: Update font uninstall modal text. (57368)
  • @muhme: Fix two typos in tutorial.md. (57627)

Contributors

The following contributors merged PRs in this release:

@afercia @andrewhayward @andrewserong @atachibana @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @DAreRodz @dcalhoun @derekblank @desrosj @ellatrix @fai-sal @fluiddot @geriux @getdave @glendaviesnz @gziolo @hbhalodia @HrithikDalal @jameskoster @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @Mamaduka @matiasbenedetto @mcsf @michalczaplinski @mirka @muhme @ndiego @ntsekouras @oandregal @ockham @ramonjd @scruffian @sirreal @Soean @t-hamano @talldan @tellthemachines @youknowriad

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

What’s new in Gutenberg 17.4? (03 January)

“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 17.4. has been released and is available for download!

For this release, contributors reached a milestone for data views, increased feature parity between site and post editors, improved performance across a few areas and added functionality to current features, including List view and 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.

With this new version, users can expect more flexibility with background images for the 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. and fixes to improve support for design tools for classic themes.

Table of Contents

Data Views: List of Templates stable

Screenshot of the new Template Data view

The Data Views work reaches a new milestone: stabilizing this new experience for the template screen, making it available outside the experiments flag and without the additional “Views” options. Please consider using this new experience and provide feedback! (57109)

Style revisions: Stylebook integration and pagination

Screenshot of the Styles Revisions sidebar.

Work continued evolving the usefulness of Style Revisions, with added pagination for better navigation and the integration with the Stylebook. When reviewing revisions with the Style Book, you can better understand the impact of the changes for both within the template you’re looking at and across individual blocks. (56799) (56800)

Background Images: size and repeat controls.

Screenshot of Group Block Background images settings.

This release also adds controls to the background image to adjust size and toggle repetition for the Group Block. This allows you to set the background image to “Cover” (default), or to “Contain”, keeping the aspect ratio intact, and when set to repeat it only repeats in one dimension. With the “Fixed” option, you can set a custom display width, and by selecting the repeat feature, the image repeats over the canvas size of the block. (#57005

List View: Right click access to Block Setting

Screenshot of List view left columns with a right click menu for the Block settings.

A right click on List View opens up that block’s settings menu and gives fast access and streamlines editing. 50273

Other Notable Highlights

  • The site editor received an additional 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. panel already available to post editor screens. Unification of the interface and access to the same controls for page page attributes, post taxonomies, Discussion panel, and feature image panel, gives users more confidence in learning how to use it and allows as well to streamline development in the future. (57151, 57049, 57153, 57150, 57053, 57010)
  • The support for `appearanceTools` for classic themes has been expanded and improved for default color palette handling and duotone settings. (56131)

Changelog

Full changelog available

Enhancements

Components

  • Refactor experimental dropdown menu usages to the latest version. (55625)
  • Replace TabPanel with Tabs in the Block Inspector. (56995)
  • Replace TabPanel with Tabs in the editor Global Styles color palette. (57126)
  • ToggleGroupControl: Update large button size to 32px. (57338)
  • Update ariakit version. (57325)
  • CustomSelect: Add WordPressComponentsProps. (56998)
  • Modal: Improve application of body class names. (55430)
  • Components: Replace TabPanel with Tabs in the Block Inserter. (56918)

Site Editor

  • Add Page Attributes panel. (57151)
  • Add Post Taxonomies panel. (57049)
  • Add View Link. (57153)
  • Add the Discussion panel. (57150)
  • Add the 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. (57053)
  • Editor: Unify revision panel between post and site editors. (57010)
  • Social Link block: Obfuscate email address. (57384)

Design Tools

  • Background image: Add backgroundSize and repeat features. (57005)
  • Make sure theme color palette presets are output when appearance tools are enabled. (57190)
  • Move the tools panel to the left of the inspector. (55785)

Global Styles

  • Global styles revisions: Add pagination. (56799)
  • Global styles revisions: Integrate stylebook. (56800)

Bug Fixes

Components

  • DropdownMenu V2: Add fallback styles for when subgrid is not supported. (57327)
  • DropdownMenuV2: Do not collapse suffix width. (57238)
  • Fix DayButton dot position and expand the Button area. (55502)
  • Fix logic of has-text class addition in Button. (56949)
  • Palette Edit: Don’t discard colors with default name and slug. (54332)
  • PaletteEdit: Consider digits when generating kebab-cased slug. (56713)
  • RadioControl: Fully encapsulate styles. (57347)
  • Tabs: Make sure individual Tabs are linked to the correct TabPanels. (57033)
  • Text selection: Show CSSCSS Cascading Style Sheets. hack to Safari only. (57300)
  • Truncate: Improve handling of non-string children. (57261)
  • FormTokenField: Handle disabled prop on internal Button. (57187)
  • tab panel: Don’t render hidden content by default. (57046)

Block Editor

  • Exclude disabled buttons when setting initialIndex of NavigableToolbar. (57280)
  • Fix BlockSwitcher checks for showing a Dropdown menu or not. (57047)
  • Fix block lock toolbar item stealing focus when mounted with StrictMode. (57185)
  • Fix content lock UIUI User interface 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.. (56974)
  • Fix vertical overflow when inserter is open in post and site editor. (57127)
  • Hide drop indicator where block isn’t allowed to drop. (56843)
  • InserterListItem: Use item.isDisabled to detect disabled item. (57161)
  • More settings tip: Add explicit font size. (55835)
  • Writing flow: Absorb partial multi selection dispatching. (47525)
  • Fix the block ‘edit’ property validation. (57193)

Block Library

  • Audio: Hide some controls when multi-editing blocks. (57376)
  • Disable resizing when the viewport is small and wide-aligned. (57041)
  • Gallery: Hide some controls when multi-editing blocks. (57378)
  • Image Block: Get lightbox trigger button ref via data-wp-init. (57089)
  • Image: Hide caption control when multi-editing images. (57357)
  • Video: Hide some controls when multi-editing blocks. (57375)
  • Image Block: Fix deprecation when width/height attribute is a number. (57063)

Patterns

  • Fix: Viewport width not accounted for in the Site Editor > Patterns view. (55803)
  • Override all the labels of the pattern categories 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.. (57094)
  • Pattern CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.: Change show_tagcloud to false. (57212)
  • Patterns (unsynced): Prevent infinite loops due to recursive patterns. (56511)

Site Editor

  • Fix image upload 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.. (57040)
  • Reduce clearance around the Frame in the site editor. (57023)
  • Swap Template: Show the right templates for the right post type. (57149)
  • Save Button: Fix the translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. of the Activate button. (57147)
  • SlotFill: Allow contextual SlotFillProviders. (56779)

Post Editor

  • Editor: Use visibility selector for PostTemplatePanel. (57224)
  • Fix: Code editor title width in classic theme. (56922)

Design Tools

  • Allow default duotone styles in classic themes. (57191)
  • StylesPreview: Fix endless 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. of ratio calculations when on the threshold of a scrollbar. (57090)

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.

  • Fix namespaces in nested interactive regions. (57029)
  • Fix Interactivity, not working on Classic Themes. (57396)

Collaborative Editing

  • Collab editing: Ensure block attributes are serializable. (57025)

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)

  • Font size picker: Fix Reset button focus loss. (57196)
  • 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): Apply focus style to revision items. (57039)
  • [a11y] Fix: Use spans instead of headings on data views table view page title. (56956)

Performance

Block Editor

  • Block: Combine store subscriptions. (56994)
  • Combine selectors in the ‘BackgroundImagePanelItem’ component. (57159)
  • InnerBlocks: overlay: Remove viewport size condition. (57135)
  • Prevent layout re-rendering when changing selected block. (57136)
  • Prevent re-rendering the 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 the selected block changes. (57140)
  • Rewrite moving animation for better load performance. (57133)
  • Rich text: Avoid block editor subscription if not selected. (57226)
  • Try removing extra memoization for individual style panels. (57160)
  • 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.: Manage save props in one place. (57043)

Block Library

  • Gallery: Combine useSelect calls. (57240)
  • Image: Reduce ‘block-editor’ store subscriptions. (57358)
  • List: Avoid useSelect in block render. (57077)
  • Blocks: Simplify/optimize isUnmodifiedBlock. (56919)
  • InnerBlocks: Combine store subscriptions. (57032)

Components

  • Navigator: Use CSS animations instead of framer-motion. (56909)
  • useSelect: Only invalidate on subscribe if store changed. (57108)

Experiments

Data Views

  • Add hover style to table rows. (57058)
  • Add: See revisions template action. (57175)
  • Code Quality: Update: Reuse view revisions action on templates and pages. (57208)
  • DataViews: Add list layout to templates. (57014)
  • DataViews: Align 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. implementations. (57059)
  • DataViews: Centralize control of filter visibility in the Filters component. (57056)
  • DataViews: Close actions menu upon switching layouts. (57015)
  • DataViews: Display column header when the field is only filterable. (57051)
  • DataViews: Fix bug on operators count for table layout. (57048)
  • DataViews: Improve naming for easy identification 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/. devtools. (57385)
  • DataViews: Improve preview. (57116)
  • DataViews: Make deferredRendering prop optional. (57334)
  • DataViews: Make getItemId optional. (57308)
  • DataViews: Make filters footprint more condensed. (56983)
  • DataViews: Mark the new Templates pages as stable. (57109)
  • DataViews: Memoize onSelectionChange callback. (57390)
  • DataViews: Remove paginationInfo prop from ViewComponent. (57306)
  • DataViews: Remove reference to edit site class. (57075)
  • DataViews: Rename operatorsFromField to sanitizeOperators. (57050)
  • DataViews: Update onChangeView memoization. (57393)
  • DataViews: Update documentation. (57305)
  • DataViews: Use SelectControl for selecting a page. (57215)
  • Dataviews: Simplify pagination. (57071)
  • Fix: Empty dropdown(s) on the grid view. (57316)
  • Fix: Template list title font styles. (57027)
  • Sort order: Use Unicode characters instead of SVG icons. (56833)
  • Update: Make secondary actions trigger always visible. (57174)
  • Use default variants for Filter and View buttons. (57057)

Patterns

  • Fix broken undo history stack for Pattern Overrides. (57088)
  • Fix unsaved pattern not reflecting on pattern overrides. (57148)
  • [Pattern Overrides] Use a single checkbox to turn on pattern overrides for all allowed attributes. (57009)

List View

  • Allow right-click to open block settings dropdown, add editor setting. (50273)

Documentation

  • Add new section on markup representation of a block. (57230)
  • Added additional explanations to attributes and supports sections. (57120)
  • Added documentation for the text-decoration-control component. (57184)
  • CardHeader used instead of CardFooter. (45585)
  • Components: Update TypeScript-related tips in Contributing Guide. (57267)
  • Doc: Block Wrapper – enclose HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 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.), use correct keyword supports not support. (56906)
  • Docs/getting started readme. (57223)
  • Docs: Add a new “Build your first block” tutorial to the Getting Started section of the BEH. (56931)
  • Docs: Fundamentals block development/block in the editor — add page to manifest (toc). (57179)
  • Docs: Fundamentals of Block Development – block in the editor. (56488)
  • Enforce heading sentence case throughout the BEH. (57143)
  • Fix grammar and typos in the Block Development Environment doc. (57123)
  • Fix incorrect links in ToggleGroupControl docs. (57236)
  • Fix: Typo on footnotes docs. (57348)
  • Fixes heading hierarchy in block filters. (57239)
  • Minor heading to improve readability and reference. (57102)
  • Platform Docs: Fix missing link. (57145)
  • Remove Radix UI-related documentation. (57336)
  • Remove links to excalidraw diagrams from images. (56980)
  • Remove the “How to use JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. in the Block Editor” documentation. (57166)
  • Remove unnecessary TOCs from documentation. (57087)
  • Restore descriptions for deprecated button props. (37690)
  • Small heading fix. (57098)
  • Snackbar: Remove __unstableHTML prop from TS. (57218)
  • Update block toolbar and settings sidebar image. (57203)
  • fix: Updated the link for “Building a custom block editor”. (57319)

Code Quality

  • Add missing block/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. $schema property. (57201)
  • Add missing period in block descriptions. (57131)
  • Fix code style in Gutenberg_HTML_Tag_Processor_6_5. (57030)
  • Font size picker: Use Button API for keeping focus on reset. (57221)
  • Mobile: Fix getPxFromCssUnit circular dependency. (57045)

Block Editor

  • Editor: Move the 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. panel to the editor package. (57096)
  • Refactor useCanContextualToolbarShow for simplicity and clarity. (56914)
  • Remove unnecessary isDisabled option on useShortcut for BlockToolbarPopover. (56907)
  • Replace block variation buttons with ToggleGroupControl. (45654)
  • Replace isSmall prop #53560. (53599)
  • Several little refactors. (57107)
  • useBlockTypesState: Divide useSelect call into two. (57163)
  • useInputRules: Remove unneeded check for inputRule. (57164)

Components

  • Adding unit tests for useCompositeState to Composite component. (56645)
  • Delete experimental radix-ui based DropdownMenu component. (55626)
  • GradientPicker: Use index while iterating over gradient entries to avoid React “duplicated key” warning. (57361)
  • TabPanel: Refactor unit tests to @ariakit/test. (57302)
  • Tabs: Update styling to more closely match previous implementation. (57275)
  • ToggleGroupControl: Fix snapshots. (57367)
  • Move kebabCase() function from block-editor package and mark it as a private API. (56758)

Block Library

  • Gallery Block: Remove unused attributes property in 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. transformation. (57356)
  • Remove cruft in Button block editor styles. (30950)
  • Tag Cloud: Replace ‘withSelect’ HoC with ‘useSelect’. (57194)

Global Styles

  • Global styles revisions: Refactor sticky pagination footer to use CSS. (57294)
  • Relocate revisions from fill to sidebar component. (57034)
  • Simplify the conditions in GlobalStylesEditorCanvasContainerLink. (57144)

List View

  • Editor: Move and unify the inserter and list view states. (57158)
  • Editor: Unify the list view shortcut registration and definition. (57200)
  • ListView: Replace prop drilldown by a stable ref in store. (57198)

Typography

  • Font Library: Consolidate existing API rest endpoints. (57282)
  • Quality: Replace wpKebabCase function with kebabCase function from components package. (57038)

Site Editor

  • Editor: Move the panel visibility state from the edit-post to the editor package. (57012)
  • Remove isResizing variable from layout component as it is always false. (57119)
  • Allow disabling and enabling comments. (57205)
  • Add basic test coverage for 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. editing mode. (56871)
  • Fix flaky Navigation focus mode test. (57016)

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

  • Implement proposal to remove the WordPress-Docs ruleset. (56982)
  • 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 menu and title labels in Gutenberg plugin translatable. (43500)

Modules API

  • Refactor, tests, and final dependencies array structure. (57231)

Tools

  • Dependency Extraction Webpack Plugin: Fix test issues. (57332)

Testing

  • Add an end-to-end test to check image upload working in site editor. (57086)
  • Components: Add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. __experimentalExpandOnFocus unit tests for FormTokenField. (57122)
  • Global styles revisions e2e: Tidy up selectors to open revisions panel. (57146)
  • Migrate ‘Comments Form’ end-to-end tests to Playwright. (57337)
  • Migrate Site Editor ‘settings sidebar’ end-to-end tests to Playwright. (57392)
  • Migrate remaining ‘block switcher’ end-to-end tests to Playwright. (57381)
  • e2e: Try to fix flaky font-library test. (57092)

Build Tooling

  • DependencyExtractionWebpackPlugin: Drop webpack4 and node<18. (57303)
  • Disable webpack perf hints when compiling packages. (57155)
  • Update to Node.js 20.x. (56331)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:@andrewhayward @andrewserong @anton-vlasenko @arthur791004 @atachibana @bacoords @BenjaminZekavica @brookewp @c4rl0sbr4v0 @chad1008 @ciampo @colorful-tones @DAreRodz @dcalhoun @ddryo @derekblank @desrosj @dotslashbit @ellatrix @fluiddot @geriux @getdave @glendaviesnz @gvgvgvijayan @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @koen12344 @kurudrive @luisherranz @Mamaduka @matiasbenedetto @mcsf @mhimon @mirka @ndiego @ntsekouras @oandregal @ockham @ramonjd @richtabor @SiobhyB @sirreal @stokesman @t-hamano @tellthemachines @TimBroddin @youknowriad @yuliyan


Props to @annezazu for co-writing, and @saxonfletcher for for designing assets for this post. 

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

What’s new in Gutenberg 17.3? (20 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 (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 17.3 has been released and is available for download!

This update incorporates numerous enhancements, 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, improvements in performance and 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), and ongoing development of Phase 3 features.

  1. Summary of changes in global styles revision history
  2. Updated preferences panel
  3. Integration of Gravatar Service for Social Icons
  4. Other Notable Highlights
  5. Changelog
  6. First time contributors
  7. Contributors

Summary of changes in global styles revision history

A brief summary of the revision change set in the global styles and now offers a concise overview for enhanced visibility. (#56577)

Updated preferences panel

An improved organization of the preferences modal, with introduction of new panels for Appearance and Accessibility settings. (#56481)

Integration of GravatarGravatar Is an acronym for Globally Recognized Avatar. It is the avatar system managed by WordPress.com, and used within the WordPress software. https://gravatar.com/. Service for Social Icons

A new social icon for the Gravatar service in the social icons 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.. Gravatar, widely utilized across various WordPress platforms, provides profile pages that allow individuals to list their web presence. (#56544)

Other Notable Highlights

  • Introduces the ability to adjust the dimensions (margin and padding) of individual list-item blocks. #55874
  • Unified post editor with template and post-only editing modes. (#56671)
  • Start using modules in the interactive create-block template. (56694)

Changelog

Bug Fixes

  • (edit-site)(use-init-edited-entity-from-url) Safely access toString() on siteData‘s page_on_front. (57035)

Components

  • Fix form token field suggestion list reopening after blurring the input. (57002)

Contributors

The following contributors merged PRs in this release:

@fullofcaffeine @talldan
= 17.3.0-rc.1 =

Enhancements

  • Components: Replace TabPanel with Tabs in the editor’s ColorPanel. (56878)
  • Editor: Move the edit template blocks notification to editor package. (56901)
  • Editor: Unify the preview dropdown between post and site editors. (56921)
  • Editor: Use the same PostTemplatePanel between post and site editors. (56817)
  • Tabs: Replace id with new tabId prop. (56883)
  • Update main toolbar buttons to all be compact. (56635, 56729)
  • Update preferences organization. (56481)

Components

  • FocalPointPicker with __next40pxDefaultSize. (56021)
  • Font Library: Improve usability of font variant selection. (56158)
  • Tabs: Sync browser focus to selected tab in controlled mode. (56658)
  • Use consistent styling for duotone panels. (56801)
  • BorderControl: Fix button styles. (56730)
  • DimensionControl: Add __next40pxDefaultSize prop. (56805)
  • FontSizePicker: Add opt-in prop for 40px default size. (56804)
  • QueryControls: Add opt-in prop for 40px default size. (56576)

Block Library

  • Control dimensions (margin and padding) of the list-item block. (55874)
  • Consistent default typography controls across blocks. (55208)
  • Social Icons: Add Gravatar service. (56544)
  • Tweak table block placeholder with __next40pxDefaultSize props. (56935)

Site Editor

  • Merge the post only mode and the post editor. (56671)
  • Site Editor 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.: Add “Areas” details panel to all templates and update icon. (55677)

Block Editor

  • Allow dragging between adjacent container blocks based on a threshold. (56466)
  • Components: Replace TabPanel with Tabs in the editor’s ColorGradientControl. (56351)

Data Views

  • Update data view layout. (56786)

Layout

  • Match the front end layout classname in the editor. (56774)

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.: Show change summary on selected item. (56577)

Icons

  • Another round of HiDPI icon tweaks. (56532)

Media

  • Update external images panel in post publish sidebar. (55524)

Post Editor

  • Implement Tabs in editor settings. (55360)

Bug Fixes

  • Create-block-interactive-template: Add all files to the generated 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 zip. (56943)
  • Create-block-interactive-template: Prevent crash when Gutenberg plugin is not installed. (56941)
  • Fix end-to-end test: Update how we find the template title to match markup changes. (56992)
  • Fix: Fatal php error if a template was created by an author that was deleted. (56990)
  • Fix: PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 deprecated warning strpos(). (56171)
  • Fix: Use span on template list titles. (56955)
  • Font Library: Add font family and font face preview keys to schema. (56793)
  • Remove unnecessary CSSCSS Cascading Style Sheets. for shrinking central 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. area. (56220)
  • Revert format types hook refactor. (56859)
  • Show template center UIUI User interface when no block is selected. (56217)
  • setImmutably: Don’t clone all objects. (56612)

Block Library

  • Fix error when using a navigation block that returns an empty fallback result. (56629)
  • Fixture Tests: Correctly generate fixture files for form-related blocks. (56719)
  • Image: Fix resetting behaviour for alt image text. (56809)
  • Social Links Block: Prevent Theme Styles Distorting Size. (56301)
  • Update image block save to only save align none class. (56449)

Components

  • DropdownMenuV2Ariakit: Prevent prefix collapsing if all radios or checkboxes are unselected. (56720)
  • FormToggle: Do not use “/” math operator. (56672)
  • PaletteEdit: Temporary custom gradient not saving. (56896)
  • ToggleGroupControl: ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. correctly to external controlled updates. (56678)

Block Editor

  • Apply __next40pxDefaultSize to TextControl and Button component in renaming UIs. (56933)
  • Pattern inserter: Fix Broken preview layout. (56814)
  • Patterns: Keep synced pattern when added via drag and drop. (56924)

Design Tools

  • Background image support: Fix duplicate output of styling rules. (56997)
  • Fix sticky position in classic themes with appearance tools support. (56743)

Post Editor

  • Editor Canvas: Fix animation when device type changes. (56970)
  • Editor: Fix display of edit template blocks notification. (56978)

Site Editor

  • Fix active edited post. (56863)
  • Show back button when editing navigation and template area in-place with no URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org params. (56741)

Typography

  • Fix order of typography sizes and families. (56659)
  • Font Library: Fix font uninstallation. (56762)
  • Navigation editor: Fix content mode. (56856)

Patterns

  • Fix top position and height of Pattern Modal Sidebar. (56787)

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.

  • Start using modules in the interactive create-block template. (56694)

Layout

  • Fix input not showing when switching to “Fixed” width. (56660)

Data Views

  • Align data view icon usage. (56602)

Block Styles

  • Consolidate and resolve display issues between InserterPreviewPanel and BlockStylesPreviewPanel. (56011)

Inspector Controls

  • Decode some characters if used in 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. name so it’s displayed correctly 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. filters. (50376)

Accessibility

Data Views

  • Add scroll padding to dataviews container. (56946)
  • Adding aria-sort to table view headers. (56860)
  • Fix: Use span instead of heading for the template titles. (56785)

Post Editor

  • Avoid to show unnecessary Tooltip for the Post Schedule button. (56759)

Block Editor

  • Increase right padding of URL field to take the Submit button into account. (56685)

Site Editor

  • Shorter screen reader announcement after changing pages. (56339)

Components

  • Use tooltip for the Timezone only when necessary. (56214)

Performance

  • Block editor: Make all BlockEdit 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. pure. (56813)
  • Block editor: Remove 4 useSelect in favour of context. (56915)
  • Block editor: hooks: Avoid BlockEdit 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. for content locking UI. (56957)
  • Block editor: hooks: Share block settings. (56852)
  • Keycodes: Avoid regex for capital case. (56822)
  • Measure typing without inspector. (56753)
  • Media upload component: Lazy mount. (56958)
  • Paragraph: Store subscription for selected block only. (56967)
  • Perf: Reopen inspector for remaining tests. (56780)
  • useBlockProps: Combine store subscriptions. (56847)

Block Editor

  • Improve opening inserter in post editor. (57006)
  • hooks: Subscribe only to relevant attributes. (56783)

Site Editor

  • Fix typing performance by not rendering sidebar. (56927)

Components

  • ToolsPanel: Fix deregister/register on type. (56770)

Modules API

  • Load the import map polyfill only when there is an import map. (56699)

Post Editor

  • Editor: Avoid double parsing content in ‘getSuggestedPostFormat’ selelector. (56679)

Experiments

Data Views

  • DataViews: Add story. (56761)
  • DataViews: Add support for NOT IN operator in filter. (56479)
  • DataViews: Centralize the view definition and rename list to table. (56693)
  • DataViews: Do not export strings constants. (56754)
  • DataViews: Export the view components as defaults. (56677)
  • DataViews: Fix dropdown menu actions with modal. (56760)
  • DataViews: Hide pagination if we have only one page. (56948)
  • DataViews: Implement NOT IN operator for author filter in templates. (56777)
  • DataViews: Iterate on list view. (56746)
  • DataViews: Make Actions styles the same as any other column header. (56654)
  • DataViews: Make mediaField not hidable. (56643)
  • DataViews: Rename view components. (56709)
  • DataViews: Render data async conditionally. (56851)
  • DataViews: Set proper role for AddFilter’s items. (56714)
  • DataViews: Set proper semantics for dropdown items. (56676)
  • DataViews: Update sorting semantics. (56717)
  • Dataviews: Extract to dedicated bundled package. (56721)

Block Validation/Deprecation

  • Input Field Block: Use useblockProps hook in save function. (56507)

Patterns

  • Implement partially synced patterns behind an experimental flag. (56235)

Documentation

  • Add the nested blocks chapter to the platform documentation. (56689)
  • Components: Update CHANGELOG.md. (56960)
  • Doc: Search Control – add Storybook link. (56815)
  • Doc: Spinner – add Storybook link. (56818)
  • Docs: Add storybook link for spinner component. (56953)
  • Docs: Fix {% end %} tab position to show the text. (56735)
  • Docs: Fundamentals of Block Development – Minor fixes – registration-of-a-block. (56731)
  • Docs: Fundamentals of Block Development – add links. (56700)
  • Docs: Fundamentals of Block Development —- Small fixes for “Block wrapper”. (56651)
  • Link to Dashicons. (56872)
  • Platform Docs: Add trusted by section. (56749)
  • Revert “Doc: Spinner – add Storybook link”. (56913)
  • Update Getting Started Guide for Gutenberg 17.2. (56674)
  • Update InnerBlocks defaultblock doc usage. (56728)
  • Update formatting and fix grammar in the Block Editor Handbook readme. (56798)

Code Quality

  • Block editor: hooks: Avoid getEditWrapperProps. (56912)
  • Block lib: Use RichText.isEmpty where forgotten. (56726)
  • Block library: Reusable caption component util. (56606)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. data revisions: Remove hardcoded supports constant. (56701)
  • Editor: Cleanup default editor mode handling. (56819)
  • Editor: Move the BlockCanvas component within the EditorCanvas component. (56850)
  • Editor: Move the device type state to the editor package. (56866)
  • Editor: Unify device preview styles. (56904)
  • Fix PHP linter failing. (56905)
  • Framework: Bundle the BlockTools component within BlockCanvas. (56996)
  • Move useDebouncedInput hook to wordpress/compose package. (56744)
  • Post Editor: Rely on the editor store for the template mode state. (56716)
  • Refactor . (56335)
  • Remove Block Tools BackCompat. (56874)
  • Site and Post Editor: Unify the DocumentBar component. (56778)
  • getValueFromObjectPath: Remove memize. (56711)

Block Editor

  • Don’t render undefined classname in useBlockProps hook. (56923)
  • One hook to rule them all: Preparation for a block supports API. (56862)
  • RichText: Pass value to store. (43204)
  • hooks: Manage BlockListBlock filters in one place. (56875)

Global Styles

  • Command Palette: Use getRevisions instead of deprecated selector. (56738)
  • Global styles revisions: Remove PHP unit tests that are running in Core. (56492)

Components

  • Site editor: Do not use navigator’s internal classname. (56911)

Data Views

  • DataViews: Remove TanStack. (56873)

Tools

  • Env: Migrate to Compose V2. (51339)
  • Scripts: Fix CSS imports not minified. (56516)
  • wp-env: Make env-cwd option work on Windows. (56265)

Testing

  • Migrate ‘editor multi entity saving’ end-to-end tests to Playwright. (56670)
  • Migrate ‘inner-blocks-locking-all-embed’ end-to-end tests to Playwright. (56673)
  • Migrate ‘site editor export’ end-to-end tests to Playwright. (56675)
  • RN: Add watch mode for native tests. (56788)
  • Scripts: Enable skipping Playwright browser installation. (56594)
  • Tabs: Implement ariakit/test in unit tests. (56835)
  • CustomSelectControl: Add additional unit tests. (56575)

Copy

  • Copy/fix capitalization of WordPress. (56834)

Site Editor

  • Improve text and design of the block removal warnings. (56869)

Global Styles

  • Global styles welcome guide: Add a space between translated strings. (56839)

Block Library

  • Simplify page list edit warning. (56829)

Patterns

  • End pattern page descriptions with a period. (56828)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@afercia @ajlende @alexstine @andrewhayward @andrewserong @apeatling @atachibana @Aurorum @benoitchantre @bph @brookewp @chad1008 @ciampo @colorful-tones @dcalhoun @derekblank @draganescu @ellatrix @fluiddot @geriux @getdave @jameskoster @jasmussen @jeherve @jeryj @jffng @jonathanbossenger @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @kmanijak @lithrel @luisherranz @Mamaduka @matiasbenedetto @mikachan @miminari @mtias @ndiego @nk-o @ntsekouras @oandregal @ramonjd @richtabor @scruffian @SiobhyB @t-hamano @talldan @taylorgorman @tellthemachines @tyxla @valerogarte @WunderBart @youknowriad

Many thanks to @mikachan for helping out to publish the plugin, @jameskoster for providing graphics for this post, @mikachan and @vcanales for reviewing the draft of this post.

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

What’s new in Gutenberg 17.2? (6 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 (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 17.2 has been released and is available for download! This release includes a few improvements for the Site Editing experience — including the ability to drag and drop to the top and bottom of the document and sticky table headers —, improvements to the 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. docs, and a lot of Bug fixes and other improvements. Let’s take a closer look!

  1. Allow dragging and dropping onto the beginning and end of a document.
  2. Sticky table headers and pagination.
  3. Toolbar for the Distraction-Free Mode
  4. Other notable highlights
  5. Changelog
  6. Contributors

Allow dragging and dropping onto the beginning and end of a document.


Improves the experience of dragging and dropping Blocks onto the very top and/or bottom of the document by virtually enlarging the area — this doesn’t have a visual impact on the rest of the editing experience or on the front end, and makes it a much less finicky experience! (#56070)

Sticky table headers and pagination.


These provide extra context when scrolling down on large datasets, saving us from scrolling back up every time we inevitably forget what each column is supposed to contain, or which page you’re currently looking at. (#56157)

Toolbar for the Distraction-Free Mode


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. Toolbar will now slide into view by moving your mouse to the top of the editor when using Distraction-Free mode. (#56295)

Other notable highlights

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. data 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.: Extend support to other post types. (#56353)
  • Render htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. in post titles in visual mode and edit HTML in post title in code view. (#54718)
  • Interactivity API: Use modules instead of scripts in the frontend. (#56143)

Changelog

Features

Modules API

  • Interactivity API: Use modules instead of scripts in the frontend. (56143)

Enhancements

  • Add translator comments for strings containing date formats. (56531)
  • Block Theme Preview: Display the theme name on the activate button. (55752)
  • Core data revisions: Extend support to other post types. (56353)
  • Improve tooltip for parent blocks on the block toolbar. (56146)
  • Simplify template author token. (56566)
  • Style engine: Allow CSSCSS Cascading Style Sheets. var output for fontSize and fontFamily and update documentation. (56528)
  • Try: Change “Detach pattern” to “Detach”. (56323)
  • useEntityRecord: Improve unit tests. (56415)

Components

  • Add focus rings to focusable disabled buttons. (56383)
  • DropdownMenu V2 tweaks. (56041)
  • DropdownMenu V2: Add support for rendering in legacy popover slot. (56342)
  • FormToggle: Refine animation. (56515)
  • Slot: Add styles prop to bubblesVirtually version. (56428)
  • Tabs: Cleanup and improvements. (56224)
  • Try Ariakit Select for new CustomSelectControl component. (55790)

Block Editor

  • Block Settings: Only display parent block selector on small screens. (56431)
  • Drag and drop: Allow dragging to the beginning and end of a document. (56070)
  • List View: Expand state if a block is dragged to within a collapsed block in the editor canvas. (56493)

Data Views

  • Data list view: Make 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. row, 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., and pagination sticky. (56157)
  • Simplify dataviews view button. (56485)
  • Update data view menu item actions. (56398)

Global Styles

  • Global style revisions: Redesign style revision items. (55913)
  • Global styles revisions: Migrate API call to getRevisions(). (56349)
  • Style Revisions: Remove style revisions dropdown menu. (56454)

Site Editor

  • Add ‘View site’ action to ‘Site updated’ snackbar. (52693)
  • Add the Post Author component to the Page 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.. (56368)
  • Redirect to main page menu if page record not found. (56177)

Layout

  • Add layout classes to legacy Group inner container. (56130)
  • Add setting to disable custom content size controls. (56236)

Patterns

  • Small tweaks to CreatePatternModal. (56016)
  • Update Labels in Block Inserter (block patterns tab). (55986)

Icons

  • Update 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. icon. (56569)

Block Library

  • Disable block renaming support for Nav Link block. (56425)

Distraction Free

  • Add top toolbar to distraction free mode. (56295)

CSS & Styling

  • Gallery Block: Use styled scrollbars for image captions. (56252)

Typography

  • Font Library: Remove insecure properties. (56230)

New APIs

  • Revisions: Add new selectors to fetch entity revisions. (54046)

Interactivity API

  • MigrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to the new store() API. (55459)

Bug Fixes

  • Core data: Harmonize getRevision selector and resolver function signatures. (56416)
  • Editor styles: Scope without adding specificity. (56564)
  • Fix Restore Post title placeholder. (56580)
  • Post Schedule Panel: Remove text overflow ellipsis. (56319)
  • Rich text: Pad multiple spaces through en/em replacement. (56341)
  • Site Editor: Add a fallback template showing the title and content for the post only mode. (56509)
  • useEntityRecord: Do not trigger 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/. requests when disabled. (56108)

Block Editor

  • (RichText)(Workaround)(17.1.x) Fallback to a string arg in collapseWhiteSpace() if value is not a string. (56570)
  • Cover block: Pass dropZoneElement reference to fix dragging within cover block area. (56312)
  • PostCSS style transformation: Fail gracefully instead of throwing an error. (56093)
  • Undeprecate the ‘__experimentalImageSizeControl’ component. (56414)
  • useMovingAnimation: Clear translate3d rule when animation is finished. (56410)

Block Library

  • File block: Remove anchor 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.) when copy pasting to file name. (56508)
  • Fix label of columns inspector panel. (56647)
  • Post Template: Fix incorrect offset query. (56440)

Components

  • Design Tools: Fix last ToolsPanelItem styling. (56536)
  • Fix FormTokenField suggestions broken scrollbar when __experimentalExpandOnFocus is defined. (56426)
  • Tabs: Fix flaky unit tests. (55950)

Global Styles

  • Additional CSS: Fix on change validation. (56434)
  • Global styles revisions: Update isResolving flag. (56491)
  • Spacing: Fix block error if spacing unit array empty 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.. (56306)

Post Editor

  • Editor: Fix issue where createBlock in block template caused list view collapse. (56666)
  • Save post button: Avoid extra re-renders when enablng/disabling tooltip. (56502)

CSS & Styling

  • Reduce specificity of default Cover text color styles. (56411)
  • Restore Post Title visual styles in Code View mode. (56582)

Site Editor

  • Fix template resolution for templates assigned as home page. (56418)
  • Site Editor Sidebar: Fix actions vertical alignment. (56218)

Modules API

  • Modules: Fix import map polyfill not being copied on the generated 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 ZIP. (56655)

Saving

  • Editor: Reinstate anonymous callback for saved post state. (56529)

Plugin

  • Update Readme.txt tested up to 6.4. (56427)

Patterns

  • Fix issue with template in replace template screen. (56407)

Layout

  • Fix issue where layout classnames are injected for blocks without layout support. (56187)

Typography

  • Font Library: Fix fonts not displaying correctly. (55393)

Colors

  • Duotone: 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. from Core to fix filters in classic themes. (54778)

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)

Data Views

  • DataViews: Make disabled pagination buttons focusable. (56422)

Block Library

  • Image Block: Enable image block to be selected correctly when clicked. (56043)

Block Editor

  • Tooltip: Don’t render buttons tooltip when show button text labels is enabled. (55842)

Components

  • Improve Button saving state accessibility. (55547)

Patterns

  • Fix focus loss after converting to a synced pattern. (55473)

Site Editor

  • Migrating StyleBook to use updated Composite implementation. (55344)

Performance

  • Avoid calling postcss when not needed. (56601)

Block Editor

  • Optimize ‘Connections’ inspector controls. (56443)

Global Styles

  • Make search more responsive for block type list. (56139)

Experiments

Data Views

  • DataViews: Document view.layout. (56637)
  • DataViews: Extract common constants to file. (56251)
  • DataViews: Rename InFilter component to FilterSummary. (56506)
  • DataViews: Scope names of V2 UIUI User interface components. (56503)
  • DataViews: Update field API to generate filters based on type. (55996)
  • DataViews: Update filter component. (56110)
  • Dataviews: Add confirmation step before deleting a page. (56504)
  • Dataviews: Add preview and grid view in templates list. (56382)
  • Dataviews: Grid layout refinements. (56441)
  • Dataviews: Remove link from author. (56467)
  • Dataviews: Update item actions in grid view. (56501)
  • Fix data view menu item radius. (56395)

Post Editor

  • Render html in post titles in visual mode and edit HTML in post title in code view. (54718)

Documentation

  • Add the attributes definition page to the create block tutorial of the platform documentation. (56429)
  • Add the transforms page to the create block tutorial of the platform documentation. (56559)
  • Add thee block supports page to the create block tutorial of the framework docs. (56483)
  • Added clarifications and examples to “Get started with wp-scripts”. (56298)
  • Block Editor: Fix typo in URLInput‘s onKeyDown prop documentation. (56322)
  • Bring back non-JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. tabs in block editor handbook. (56561)
  • Docs: Fix incorrect build script description in script package. (56332)
  • Docs: Fundamentals of Block Development – File structure of a block. (56551)
  • Docs: Fundamentals of Block Development – Registration of a block. (56334)
  • Docs: Fundamentals of Block Development – The block wrapper. (56596)
  • Docs: Fundamentals of Block Development – Working with JavascriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. in the Block Editor. (56553)
  • Docs: Fundamentals of Block Development – block.json. (56435)
  • Docs: Improve downloadBlob example. (56225)
  • Documentation – Block Editor Handbook – Add end user documentation about Block Editor as a resource on the Landing Page of the Block Editor Handbook. (49854)
  • Fix overly complex code example in ComboboxControl readme. (56365)
  • Fix version in useSetting deprecation notice. (56377)
  • Fundamentals block development – landing and first pages. (56584)
  • Fundamentals of Block Development – fix save definition. (56605)
  • Interactivity API: New store() API documentation. (56764)
  • Interactivity API: Update TS/JSDocs after migrating to the new store() API. (56748)
  • Link preview image to live example using WordPress Playground. (56292)
  • NavigableContainers: Fix doc typo in onKeyDown prop. (56352)
  • Release docs: Add new section about troubleshooting the release. (56436)
  • Remove all {% codetabs %} instances and any vanilla JS references. (56121)
  • Simplify code example in ToggleControl component readme. (56389)
  • Text and Heading: Improve documentation around default values and truncation logic. (56518)
  • Theme JSON schema: Add heading/button key to color definition. (55674)
  • Update for 6.4.1 for versions in WP. (56216)
  • Update references to the gutenberg-examples repo to the new block-development-examples. (56119)
  • Update template name in create-block command. (56281)
  • Update webpack options for wp-scripts in README.md. (56314)
  • BoxControl: Update story and refactor to Typescript. (56462)

Code Quality

  • Blocks pkg: Remove ‘browser’ dependencies. (56433)
  • DataViews: Code Quality remove some unused props from action. (56477)
  • Editor: Move the template focus modes to the editor store. (56472)
  • Extract a PostPanelRow component from the different sidebar panels. (56238)
  • Interactivity API: Add missing changelog entry for the new store() API. (56611)
  • Move the DisableNonContentBlocks component to the editor package. (56423)
  • Post Schedule Panel: Fix Sass deprecation warning for division. (56412)
  • Remove compatibility layer for WP 6.2. (56464)
  • Unify the PostSchedule component between site and post editors. (56196)
  • Update: Refactor useAddedBy to use authorText and originalSource fields. (56568)

Block Library

  • Add align support to the image block – alternative. (55954)
  • Backmerge block renaming fixes/refactors from 6.4 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". into Gutenberg 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.. (56386)
  • Pattern placeholder: Remove duplicate ‘useDispatch’ hook. (56397)

Components

  • Remove incorrect version from deprecated __nextHasNoMarginBottom prop of AnglePickerControl Component. (56336)
  • Revert “DropdownMenu V2: Add support for rendering in legacy popover slot”. (56484)

Block Editor

  • Migrating block editor BlockPatternsList component. (56210)
  • useInnerBlocksProps: Stabilise dropZoneElement prop. (56313)

Data Views

  • Dataviews: Ensure items and fields are using a unique id. (56366)

Design Tools

  • Fix: Theme.json font settings in unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression.. (56309)

Tools

  • Workflows: Update ‘days-before-stale’ for flaky test report issues. (56585)
  • scripts: Update jest-dev-server to v9. (56552)

Testing

  • Dataviews: Add first end-to-end tests. (56634)
  • Migrate ‘align hook’ end-to-end tests to Playwright. (56480)
  • Migrate ‘block directory’ end-to-end tests to Playwright. (56593)
  • Migrate ‘block icons’ end-to-end tests to Playwright. (56610)
  • Migrate ‘custom taxonomies’ end-to-end test to Playwright. (56486)
  • Migrate ‘sidebar permalink’ end-to-end tests to Playwright. (56253)
  • Migrate Is Typing Test to Playwright. (56616)
  • Page spec: Merging create page and toggle preview tests. (56129)
  • Playwright Utils: Fix the method of getting post ID in ‘publishPost’. (56421)
  • end-to-end tests: Merge Puppeteer into single job, split Playwright further. (56363)

Build Tooling

  • Add missing labels to changelog script, and enhance mapping function. (55066)
  • Create block: Update interactive-template to the new store() API. (56613)

Security

  • WP_Theme_JSON_Gutenberg: Add nested indexed array schema sanitization. (56447)

Various

  • Add: Author text and original source to wp_template_part. (56567)

Data Views

  • Dataviews: All Templates: Add filters to template author. (56338)
  • Dataviews: All templates: Add: Sorting to template author and add author_text to the rest API. (56333)

Block Editor

  • Migrating BlockPatternSetup to use updated Composite implementation. (55425)
  • Migrating InserterListbox to use updated Composite implementation. (56246)

HTML API

  • Backport updates from Core. (56578)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @andrewhayward @andrewserong @annezazu @apeatling @arthur791004 @bph @brookewp @chad1008 @chiilog @ciampo @DAreRodz @dmsnell @draganescu @ellatrix @fabiankaegy @flootr @fluiddot @fullofcaffeine @geriux @getdave @glendaviesnz @jameskoster @jasmussen @jeryj @jffng @jorgefilipecosta @juanmaguitar @kevin940726 @luisherranz @MaggieCabrera @Mamaduka @matiasbenedetto @megane9988 @NekoJonez @ntsekouras @oandregal @ramonjd @richtabor @ryanwelcher @SavPhill @Soean @t-hamano @talldan @tellthemachines @vcanales @youknowriad @zaguiini

Many thanks to @annezazu for the assist when publishing the plugin, @jameskoster for designing graphics for this post, and @draganescu, @ramonjd, @scruffian and @cbravobernal for gathering highlights!

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

What’s new in Gutenberg 17.1 (22 November)

“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 17.1 has been released and is available for download!

The latest release includes several new enhancements, loads of 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 continued work on Phase 3 features.

  1. Improvements to accessibility and writing flow
  2. Design tools: block spacing for Quote block
  3. Other notable highlights
  4. Changelog
  5. First-time contributors
  6. Full contributor list

Improvements to 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) and writing flow

There are a few improvements that contribute to a better editing experience:

  • The Image and Media&Text blocks properly show the pressed state for the link button in 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. toolbar (56123).
  • The buttons block now mimicks the list behavior: enter twice on the last button goes to the next line (56134).
  • New keyboard shortcut in the list view (CMD+A on Mac, CTRL+A on Windows) to select all blocks (54899).
Video showing how media blocks now show a toggled link button when linked, pressing Enter twice in the buttons block to escape it, and pressing CMD+A successively to expand the selection range.

Design tools: block spacing for Quote block

The Quote block has gained support for layout and so it’s now possible to control the spacing of its inner blocks (56064).

New block spacing control in the quote block.

Other notable highlights

  • Escape on Block Toolbar returns focus to Editor Canvas (55712).
  • Continue polishing the 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.: return the user to the editor and global styles panel after a revision is applied (55881), improve copy text (55868), load unsaved revision in the preview (55880).
  • Patterns: in the front-end, they show embeds (55979), and the site editor’s pattern page now shows theme patterns specified in theme.json (55877).

Changelog

See full changelog.

Enhancements

Block Library

  • Navigation block: Fix Inaccurate description of the Show icon button setting. (55429)
  • 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.: Add accessibility markup at the end of the loop in all cases. (55890)
  • Template Part: Add fallback to the current theme when not provided. (55965)
  • Update components to use __next40pxDefaultSize. (56022)

Components

  • Tabs: Improve focus behavior. (55287)
  • Tabs: Update subcomponents to accept full HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element props. (55860)
  • TextControl: Add opt-in prop for 40px default size. (55471)
  • ToggleGroupControl: Add opt-in prop for 40px default size. (55789)

Patterns

  • Move “Manage patterns” below “Detach pattern”. (56018)
  • Show theme patterns from directory in site editor. (55877)

Global Styles

  • Global Style Revisions: Ensure consistent back button behaviour. (55881)
  • Global Styles Revisions: More descriptive text timeline. (55868)
  • Global styles revisions: Add route for single styles revisions. (55827)

Block Locking

  • Block Quick Navigation: Truncate text. (56142)

Block Editor

  • Button block: Support double enter to skip to default block. (56134)

Design Tools

  • Add block gap support to Quote block. (56064)

Post Editor

  • “Detach” text change in template options. (55870)

Site Editor

  • Site editor: Add edit page slug field. (55767)

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.

  • Server directive processing: Process only root blocks. (55739)

Block settings menu

  • Remove the extraneous template part title in replace control. (55603)

List View

  • Add keyboard shortcut to select all blocks. (54899)

New APIs

  • Download blob: Remove downloadjs dependency. (56024)

Bug Fixes

Block Library

  • Background Image Support: Hide the background image reset button when there’s no image. (55973)
  • Background image support: Fix focus loss when resetting background image. (55984)
  • Custom Link: Decode value in URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org input field. (55549)
  • Fix lightbox trigger styles. (55859)
  • Form block: Use type="submit" for buttons. (55690)
  • Image block: Add check for lightbox values during image block migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.. (56057)
  • Image block: Don’t show pointer cursor on linked image in the editor. (55882)
  • Lightbox: Fix button misalignment in gallery image. (56060)
  • Lightbox: Fix close button position. (56125)
  • Missing block: Use raw source for originalContent. (56014)
  • Navigation Link block: Register variations on post type / 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. registration. (54801)
  • Pattern: 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. error in post type templates. (55858)
  • Pattern: Process embeds. (55979)
  • Post feature image block: Wrap images with hrefs in an A 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.). (55498)
  • Quote Block: Fix the Quote block layout supports. (55240)
  • Read More block: Reduce text decoration specificity. (56038)

Data Views

  • DataViews: Add missing key to ResetFilters component. (56189)
  • DataViews: Fix issue with irrelevant statuses. (55967)
  • DataViews: Fix nested button tags on 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.. (56089)
  • DataViews: Fix pagination on manual input. (55940)
  • DataViews: Fix spacing issue in top-level bar. (56151)
  • DataViews: Fix status 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. upon switching the default views from the sidebar. (55856)
  • DataViews: Make items per page an even number. (55906)
  • DataViews: Make used taxonomy private. (55918)
  • DataViews: Reset pagination upon filter change. (55797)
  • Dataviews: Add a missing icon for the side by side view. (55925)

Components

  • DropdownMenu: Remove extra vertical space around the toggle button. (56136)
  • DropdownMenuV2: Prevent default on Escape key presses. (55962)
  • DropdownMenuV2: Use the Icon component to render radio checks. (55964)

Typography

  • Fix fatal error in WP_Fonts_Resolver::Get_settings(). (55981)
  • Font Library: Create fonts dir if a font face needs to use the filesystem. (56120)
  • Font Library: Fix font installation failure. (55893)

Block Editor

  • 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.: Bubble events from html element instead of body element to fix drag chip positioning. (56099)
  • 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.: Handling correctly when uploading a file without mime type. (56133)
  • Block Editor: Fix Block editor crash. (56051)
  • Move clientId key to BlockContextualToolbar. (56008)

Patterns

  • Add context for translators to any unclear usage of “synced”. (55935)
  • Use existing download function for 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. downloads to fix non-ASCII encoding. (55912)

Inspector Controls

  • Global Styles: Don’t show “Apply Styles Globally” button in non-block based themes. (56033)

Template Editor

  • Templates: Update filter to call all of the individual methods. (55980)

Global Styles

  • Global styles revisions: Load unsaved revision item into the revisions preview. (55880)

Post Editor

  • Edit Post: Fix pattern modal reopening when making the title empty again. (55873)

Data Layer

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. data: Fix wrong store results when page receives less items that what is stored. (55832)

Accessibility

Data Views

  • DataViews: Add labels to “in-filters”. (56001)
  • DataViews: Show actions label. (56027)

Components

  • Fix the image link button pressed state. (56123)

Block Editor

  • Fix mismatching link control action buttons visual order and DOM order. (56042)
  • Escape on Block Toolbar returns focus to Editor Canvas. (55712)

Site Editor

  • Prevent sidebar focus in site editor on small screens. (55934)

Block Library

  • Heading level dropdown: Remove obtrusive tooltips in favor of visible text. (56035)

Performance

Tooling

  • Add a metric to trace template navigation in the site editor. (55796)

List View

  • ListViewBlock: Combine ‘useSelect’ 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.. (55889)

Block Editor

  • Block Editor: Optimize ‘Block Hooks’ inspector controls. (56101)
  • Block Editor: Optimize BlockListAppender. (56116)

Site Editor

  • Avoid rerendering the sitehub unnecessarily. (55818)

Layout

  • Block Editor: Optimize layout style renderer subscription. (55762)

Experiments

Data Views

  • DataViews: Add ability to create custom views. (55773)
  • DataViews: Add control to reset all filters at once. (55955)
  • DataViews: Add delete and restore actions. (55781)
  • DataViews: Add initial “Side by side” prototype. (55343)
  • DataViews: Add new page size option. (56112)
  • DataViews: Add rename functionality to custom views. (55997)
  • DataViews: Allow users to add filters dynamically. (55992)
  • DataViews: Update ‘All pages’ sidebar heading. (56148)
  • DataViews: Update ‘View’ button. (56144)
  • DataViews: Update all templates page. (55848)
  • DataViews: Update author and title fields in template’s list. (56029)
  • DataViews: Update filters in view configuration. (55735)
  • DataViews: Add filters to table columns. (55508)
  • DataViews: Add: Ability to delete custom views. (55924)
  • DataViews: Add: Custom views 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. indication. (55926)
  • DataViews: Remove unnecessary label when no visible filters exist. (55838)

Documentation

  • Add a first block type page to the platform documentation. (56109)
  • Add new block development “Quick Start Guide” and update the create-block-tutorial-template. (56056)
  • Clean up DataViews docs: filter.id is not used. (55833)
  • DataViews: Document enableSorting and enableHiding. (55988)
  • DataViews: Document actions. (55959)
  • Doc: Corrected + updated links. (56084)
  • Doc: Fixes wrong link in #56084. (56106)
  • Docs: Changes imports from wp.editor to wp.blockEditor for PlainText and RichText. (55841)
  • Fix formatting issue in the “Get started with create-block” doc. (55872)
  • Fix: 404 Link on git workflow docs. (55897)
  • Fix: 404 link in get-started-with-create-block docs. (55932)
  • Fix: Create 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. block link in block attributes documentation. (55804)
  • Fix: Filter duotone link on block-supports documentation. (55896)
  • Fix: Two 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. links on docs/contributors/documentation/README.md. (55843)
  • New additional resource for wp-env. (55987)
  • Update documentation to clarify workflow 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". for release package publishing. (56183)
  • Update jest links to the new site. (55802)

Code Quality

  • Block lib: Remove multiline=false (deprecated). (56113)
  • Delete unused SelectedBlockPopover component. (55821)
  • Fix: Remove unrequired nullish coalescing. (55854)
  • Fix: Use of integer value in a conditional rendering condition on Gradients. (55855)
  • Give nice unique names to block controls HOCs. (55795)
  • Migrating PatternTransformationsMenu. (56122)
  • Migrating block inserter media tab components. (56195)
  • Move document tools motion to header-edit-mode layout level. (55904)
  • Only render block toolbar if blockType has value. (55861)
  • Refactor Edit Widgets Document Tools Navigation to own component. (55778)
  • Refactor Selected Block Tools. (55737)
  • Refactor Site Editor Document Tools Navigation to own component. (55770)
  • Remove BlockStyles.Slot empty component. (55991)
  • Remove obsolete queryContext. (56034)
  • Remove unnecessary empty className. (55998)
  • Rename Unforward to Unforwarded and export the named const. (55820)
  • Render Selected Block Tools in Header when using Top Toolbar. (55787)
  • Reusable Blocks: Unlock a private hook and a component at the file level. (55809)
  • Server directive processing: Improve how block references are saved. (56107)
  • Share the editor settings between the post and site editors. (55970)
  • Site Editor: Fix deprecation console error in top toolbar. (55678)
  • Site Editor: Unlock global styles’ private hooks at the file level. (55800)
  • Site Editor: Update edited entity sync logic. (55928)
  • Site Editor: Use EditorProvider instead of custom logic. (56000)
  • SiteEditor: Optimize BackToPageNotification component. (56102)
  • SiteEditor: Refactor disable non page content blocks. (56103)
  • Unify the PageUrl and PageSlug components between site and post editors. (56203)

Data Views

  • DataViews: Fix translatable string. (56075)
  • DataViews: Remove filter.name. (55834)
  • DataViews: Remove reset values from filters. (55839)
  • DataViews: Remove unnecessary sortingFn prop from field description. (55989)
  • DataViews: Simplify filters API. (55917)
  • DataViews: Update actions API. (56026)

Block Editor

  • Rich text: Remove preserveWhiteSpace serialisation differences. (55999)
  • Rich text: highlight format: Gracefully handle old span format. (56071)
  • Update Link Control labels to use gray-900. (55867)

Components

  • DisclosureContent: Migrate from reakit to @ariakit/react. (55639)
  • Divider: Migrate from reakit to @ariakit/react. (55622)
  • RadioGroup: Migrate from reakit to ariakit. (55580)

Site Editor

  • Core Data: Move the template lookup to core-data selectors/resolvers. (55883)
  • Don’t use ‘useEntityRecord’ to only dispatch actions. (56076)

Block Library

  • Navigation: Refactor the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher render function to make it easier to make changes in the future. (55605)
  • Update blockEditor.__unstableCanInsertBlockType hook namespace. (55845)

Data Layer

  • Data: Fix ESLint warnings for the ‘useSelect’ hook. (55916)

Post Editor

  • Edit Post: Use a single ‘useSelect’ hook for getting selectors. (55902)

Colors

  • Add Unit testing for duotone enhanced pagination. (55542)

Patterns

  • Split up the block editor inserter patterns tab into separate component files. (55315)

Design Tools

  • Block styles: Remove __unstableElementContext in favour of useStyleOverride. (54493)

Tools

  • Issue Templates: Add default type labels to issue templates. (55826)
  • Label enforcer: Make the warning message less scary for new contributors. (55900)
  • Quote 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. label. (55862)

Testing

  • Disable ‘no-conditional-in-test’ ESLint rule for Playwright. (56088)
  • Fix ‘Block Switcher’ test file name for Playwright end-to-end tests. (55840)
  • Fix flaky ‘Meta boxes’ end-to-end tests. (56083)
  • Migrate ‘CPT locking’ end-to-end tests to Playwright. (55929)
  • Migrate ‘Meta boxes’ end-to-end tests to Playwright. (55915)
  • Migrate ‘Plugins API’ end-to-end tests to Playwright. (55958)
  • Migrate ‘annotations’ end-to-end tests to Playwright. (55966)
  • Migrate ‘container blocks’ end-to-end tests to Playwright. (56141)
  • Migrate ‘inner-blocks-prioritized-inserter-blocks’ end-to-end tests to Playwright. (55828)
  • Migrate ‘inner-blocks-render-appender’ end-to-end tests to Playwright. (55814)
  • Migrate ‘meta-attribute-block’ end-to-end tests to Playwright. (55830)
  • Migrate Child Block Test to Playwright. (55199)
  • Migrate flaky PostPublishButton end-to-end tests to Playwright. (52285)
  • Perf Tests: Stabilise the Site Editor metrics. (55922)
  • Playwright Utils: Fix ‘clickBlockOptionsMenuItem’ helper. (55923)
  • Query block enhanced pagination: Simplify test setup. (55805)
  • Site editor template preview: Add end-to-end test and aria-pressed attribute to template preview toggle. (56096)
  • Upgrade Playwright to 1.39.0. (54051)
  • end-to-end Utils: Add setPreferences and editPost utils. (55099)
  • end-to-end Utils: Add support for web-vitals.js. (55660)

Build Tooling

  • Package @ariakit/test should be a dev dependency. (56091)

First-time contributors

The following PRs were merged by first time contributors:

Full contributor list

The following contributors merged PRs in this release:

@afercia @andrewhayward @andrewserong @anomiex @anton-vlasenko @aristath @artemiomorales @bph @brookewp @c4rl0sbr4v0 @chad1008 @ciampo @DAreRodz @dcalhoun @dsas @ellatrix @flootr @fluiddot @gaambo @glendaviesnz @gziolo @jameskoster @jeryj @jhnstn @joanrodas @jorgefilipecosta @JorgeVilchez95 @jsnajdr @juanmaguitar @kevin940726 @Mamaduka @masteradhoc @matiasbenedetto @ndiego @ntsekouras @oandregal @peterwilsoncc @pooja-muchandikar @priethor @ramonjd @renatho @richtabor @sacerro @scruffian @shimotmk @SiobhyB @Soean @swissspidy @t-hamano @talldan @tellthemachines @torounit @tyxla @WunderBart @youknowriad


Props to @joen for designing the assets and @annezazu for reviewing this draft.

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

#gutenberg-new

What’s new in Gutenberg 17.0? (9 November)

“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.

Gutenberg 17.0 has been released and is available for download!

WordPress 6.4 “Shirley” became available earlier this week. Despite this significant milestone, 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 continues to iterate with a new version: Gutenberg 17.0. This release focuses on maintenance with improvements in performance and 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), along with a few new features.

  1. Command Palette: improved contextual suggestions when editing patterns
  2. DropdownMenu: a glimpse into the next-gen WordPress components
  3. LinkControl visual cues
  4. Iterating on Accessibility and Performance
  5. Changelog
  6. First-time contributors
  7. Full contributor list

Command Palette: improved contextual suggestions when editing patterns

The popular Command Palette keeps getting better! Since this release, editing patterns inside the site editor will suggest pattern-related commands that adjust better to the context, such as renaming and duplicating the pattern. Small quality-of-life changes like this are what make the Command Palette a joy to use, and future iterations will surely bring us many more improvements in this direction!

As part of the ongoing efforts to refine the components that power 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 17.0 brings a new, alternative implementation of the DropdownMenu component based on the Ariakit open-source library. This implementation, although still experimental, offers a good glimpse at what the future of WordPress components holds.

As a reminder, you can check and play with this and other components in the Components Storybook!

Additional visual cues for LinkControl

When searching through the LinkControl, new Block and Home icons are added next to results related to the home and front pages, respectively. These visual cues intend to make finding what you’re looking for easier.

Iterating on Accessibility and Performance

As usual, this Gutenberg release provides a few iterative performance and accessibility improvements.

On the accessibility side of things, it’s worth noting the Autocomplete Voiceover now announces suggestions, among other 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) enhancements to the Navigation block and 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. Regarding performance, some controls like duotone, layout, and alignment have been optimized.

Changelog

Full changelog available here

Enhancements

  • Add blogblog (versus network, site) icon to the blog home page in LinkControl search results. (55610)
  • Add home icon to the front page in LinkControl results. (55606)

Block Theme Preview

  • Block Theme Preview: Display loading state when activating. (55658)

Block Toolbar

  • Improve toolbar button focus visual. (55523)

Components

  • Add new ariakit-based DropdownMenu component. (54939)
  • Update InputControl and SelectControl default heights. (55490)
  • Update ariakit to version 0.3.5. (55365)

Block Editor

  • Adjust the padding of the categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. item to make it visually balanced. (55598)

Patterns

  • Suggest commands when editing pattern in site editor. (55332)

Bug Fixes

  • Fix autocomplete trigger character detection. (55301)
  • Fix typo in FontCollection. (55439)

Block Editor

  • Block Editor: Avoid rendering empty Slot for block alignments. (55689)
  • Block Example: Avoid a crash when block is not registered. (55686)

Command Palette

  • Command Palette: Fix a crash when transform to a block without icon. (55676)
  • Fix: LinkControl on site editor does not show font page and post page indication. (55694)
  • Fix: LinkControl on widgets editor does not show font page and post page indication. (55732)

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.

  • Fix: Update page title when using enhanced pagination in query loop. (55446)

Block Library

  • Fix: Post terms block: Missing options for prefix and suffix when the…. (55726)
  • Ensure Term Description block is registered in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. (55669)
  • Fix #55679 missing space in the string. (55682)
  • Image block: Wrap images with hrefs in an A 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.). (55470)
  • Image: Improve focus management in lightbox. (55428)
  • Image: Update default fullscreen icon for lightbox trigger. (55463)
  • Navigation block: Remove browser default padding from the two submenu buttons. (50943)
  • Query Loop: Disallow “enhanced pagination” with core blocks that may contain third-party blocks. (55539)
  • Query block enhanced pagination: Detect inner plugin blocks during render. (55714)
  • Query: Require queryId for enhanced pagination to prevent PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices. (55720)
  • Update label for lightbox editor UIUI User interface. (55724)
  • [Block] File: Fix embedded PDF files in Safari. (55667)

Patterns

  • Fix 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. with authors and contributors not seeing user pattern categories. (55553)
  • Fix pattern category renaming causing potential duplicate categories. (55607)

Post Editor

  • Edit Post: Fix revision button misalignment. (55659)
  • Preferences modal: Fix the position of sticky heading when blocks are hidden. (55456)
  • Fix: Add __next40pxDefaultSize to author select in PostAuthor. (55597)

Site Editor

  • Fix the ‘Slug’ display for draft pages. (55774)

Data Views

  • List all users 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.. (55723)
  • Don’t register dataviews postype and 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. if experiment is disabled. (55743)

Design Tools

  • Remove default dimensions controls from core/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.. (55596)

Interactivity API

  • Fix server processing of an empty data-wp-context directive. (55482)
  • Make duotone support compatible with enhanced pagination. (55415)
  • Make layout support compatible with enhanced pagination. (55416)

Global Styles

  • Fix duotone not showing in site editor style block level styles. (55361)

Accessibility

Block Library

  • Navigation block: Change aria-haspopup to dialog. (55466)

Components

  • Autocomplete: Fix Voiceover not announcing suggestions. (54902)

Interactivity API

  • Query Loop: Update modal role and focus first element. (54507)

Performance

  • Add useSettings hook for reading multiple settings at once. (55337)
  • Block Editor: Optimize ‘Layout’ controls. (55754)
  • Block Editor: Optimize ‘anchor’ inspector controls. (55721)
  • Block Editor: Optimize ‘duotone’ controls. (55753)
  • Block Editor: Optimize alignment toolbar controls. (55692)
  • Start logging site editor metrics in codevitals. (55759)
  • useAvailableAlignments: Avoid useSelect subscription when alignments array is empty. (55449)

Experiments

Data Views

  • 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. Data View: Use trash icon. (55771)
  • Add quick actions. (55488)
  • Update icons and design tweaks. (55391)
  • Add ability to persist dataviews on the database. (55465)
  • Extract search from filters. (55722)
  • Limit users to those who have published pages. (55455)
  • List all pages, not only those with publish and draft statuses. (55476)
  • Add: Default readonly views to dataviews. (55740)
  • Add: Possibility to tree shake DataViewsProvider. (55641)

Form block

  • Blocks: Capitalize title and end the description with a period. (55728)
  • Update copy. (55468)
  • Allow using groups and columns inside the experimental form block. (55758)

Collaborative Editing

  • Remove dangling comma causing PHPUnit failures. (55494)
  • [Try] HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. based PHP signaling server for colaborative editing. (53922)

Documentation

  • Adds a few grammar fixes to block-registration documentation. (55663)
  • 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. schema: Add heading/button key to color definition. (55675)
  • DataViews: Document data and filters. (55504)
  • Docs: Fix some typos. (55654)
  • Docs: 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. Block editor handbook – create-block before wp-scripts. (55534)
  • Fix: Typos inside /docs. (55472)
  • Scripts: Fix typo in readme. (55531)
  • Update links to point to getting started guides. (55479)
  • docs: Fix end-to-end test documentation formatting. (55631)

Code Quality

  • Use PostCSS + PostCSS plugins for style transformation. (49521)
  • CS: Remove redundant ignore annotations. (55615)
  • Chore: Fix: Potential access to properties of undefined object. (55697)
  • Fix: Add missing defaultStatuses on PagePages. (55761)
  • Resizeable box (for resizing cover block) should use after block popover slot. (55784)
  • Update: Code quality: Use for each instead of map. (55798)
  • Update: Remove path awareness from data-views specific code. (55695)
  • Update: Remove useless self assignment. (55696)
  • 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. updates from Core during the 6.4 release cycle. (55703)

Data Views

  • DataViews: Iterate on filter’s API. (55440)
  • DataViews: Pass search filter as global, unattached from fields. (55475)
  • DataViews: Remove string from pages sidebar. (55510)
  • Rename TextFilter to Search. (55731)
  • Remove unused file dataview context. (55775)

Block Library

  • Pattern: Unlock the private hook outside the component. (55792)

Patterns

  • Change pattern category taxonomy public param to false. (55748)

Tools

  • Replace ‘npx’ with ‘node’ on test-playwright.js file’. (55616)
  • wp-env: Fix errors which prevent it from working without internet. (53547)
  • [create-block] Add ABSPATH check. (55533)

Testing

  • E2E: Revert typing delay on the autocomplete mentions test. (55132)
  • Fix flaky ‘Switch to Draft’ action in Preview end-to-end tests. (55772)
  • Migrate ‘Site Title block’ end-to-end tests to Playwright. (55704)
  • Migrate ‘block context’ end-to-end tests to Playwright. (55793)
  • Performance tests: Fix canvas locator timeout. (55441)
  • Scripts: Fix default Playwright configuration. (55453)

First-time contributors

The following PRs were merged by first time contributors:

Full contributor list

The following contributors merged PRs in this release:

@aaronrobertshaw @ajlende @alexstine @aristath @artemiomorales @arthur791004 @aurooba @c4rl0sbr4v0 @carolinan @ciampo @DAreRodz @dcalhoun @derekblank @dmsnell @fluiddot @garibiza @geriux @glendaviesnz @iamsadi22 @jameskoster @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kevin940726 @KevinBatdorf @luisherranz @MaggieCabrera @Mamaduka @noahtallen @ntsekouras @oandregal @parikshit-adhikari @peterwilsoncc @ramonjd @richtabor @SergeyBiryukov @SiobhyB @Soean @strarsis @swissspidy @t-hamano @talldan @WunderBart @youknowriad


Props to @saxonafletcher for designing assets for this post and @richtabor for proofreading.

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

What’s new in Gutenberg 16.9? (25 October)

“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).

Decorative image that reads "What's new in Gutenberg 16.9?"

Gutenberg 16.9 has been released and is available for download!

The latest release includes several new enhancements, loads of 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 continued work on Phase 3 features.

Rename (almost) all blocks from the editor

After a successful implementation of renaming Group blocks in Gutenberg 16.7 and feedback that the feature should be opened up, version 16.9 lets you rename nearly every block. A bonus for this feature is that theme authors can use this to label blocks in their theme templates and patterns.

Two panels shown next to each other. The first is a "Rename" field for customizing a block's name. The second is the "List View" in the block editor with the block highlighted to be renamed.

There are a few blocks that cannot be renamed:

  • core/block
  • core/template-part
  • core/pattern
  • core/navigation

Duplicate and rename patterns and more

Pattern management is getting a lot of nice feature additions. For individual patterns, you can now rename or duplicate them:

A block pattern showing a demo quotation. Above it is a dropdown menu with Rename, Duplicate, Export as JSON, and Delete options.

You can also rename or delete pattern categories directly from the user interface:

Patterns shown in the Site Editor in WordPress. At the top of the menu, a dropdown shows with Rename and Delete options for managing the current pattern category.

Gutenberg 16.9 also introduces two new media categories: Audio and Video. This should help better organize patterns by media type.

Other Notable Highlights

  • The Dimensions design tool control’s layout is much improved (55060).
  • The Template Part 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 falls back to the current theme is there is no theme attribute provided (55217).
  • ​​A ton of CSSCSS Cascading Style Sheets. Level 4 viewport-relative units are now supported for more flexible control over various sizing options (54415).
  • getEntityRecords() calls now return pagination totals in the returned data (55164).

Changelog

Features

Create Block

  • Introduce the transformer property. (55423)

Data Views

  • Enable users to sort by date. (55388)

Block Library

  • Enable Block Renaming support for (almost) all blocks. (54426)

Enhancements

Command 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 block-specific commands as contextual suggestions [#53539]. (53974)

Components

  • Add Tabs (a composable TabPanel v2). (53960)
  • Add type="button" to vanilla <button> elements. (55125)
  • ConfirmDialog: Ts unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. storybook. (54954)
  • GradientPicker: Remove padding and disable overflow of color picker popovers. (55265)
  • Migrate Composite component from reakit to ariakit. (54225)
  • Remove margins from Notice component. (54800)

Patterns

  • Add duplicate pattern command. (55292)
  • Add rename command. (55188)
  • Add rename/delete options for pattern categories in site editor. (55035)
  • Register new media related categories. (55236)
  • Use modal for pattern duplication flow as workaround for changing sync status. (54764)

Block Editor

  • Migrating DownloadableBlocksList to use updated Composite implementation. (55272)

Block Library

  • Improve DimensionsTool control layout. (55060)
  • Template Part block: Fall back to current theme if no theme attribute is given. (55217)

Post Editor

  • Editor: Introduce PluginPostExcerpt slot. (55200)
  • 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 HoCs in PostExcerpt. (55189)

Design Tools

  • Allow using CSS level 4 viewport-relative units. (54415)
  • Add changelog entry for #54415. (55201)
  • Remove 16:10 from 10:16 options from AspectRatioDropdown. (55053)

Data Views

  • Add drop down with action in headers. (55293)

Icons

  • Update fullscreen icon. (55021)

Format Library

  • Link format: Auto link pasted urls. (55195)

Site Editor

  • Migrating AddCustomTemplateModalContent to use updated Composite implementation. (55256)

Private APIs

  • Update consent string for using private APIs. (55182)

New APIs

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Retrieve the pagination totals in the getEntityRecords calls. (55164)

Bug Fixes

Block Library

  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notice when an image with lightbox is deleted. (55370)
  • Cover Block: Check for previously uploaded media before setting the dimRatio. (55422)
  • Cover: Fix media type check in the onSelectMedia hook. (55168)
  • Fix Block Rename UIUI User interface perf 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.. (55250)
  • Fix PHP notice when an image with lightbox is deleted in the behaviors file. (55385)
  • Fix: Wrong condition on cover block dimRatioToClass. (55356)
  • Focus submenu button when clicked. (55198)
  • Hide footnotes block from the inserter. (55058)
  • Image: Fix Lightbox display bug in Classic Themes. (54837)
  • Latest Posts: Add screen reader title text to Read more links and use alternative to excerpt_more 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.. (55029)
  • Latest Posts: Sync updates from Core (6.4). (55181)
  • List View: Change the aria-description attribute to aria-describedby. (55264)
  • 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: Reuse existing screen-reader-text CSS class for the enhanced pagination aria-live region. (55309)

Site Editor

  • Alternative: Fix template part area listing when a template has no edits. (55115)
  • Do not display ‘trashed’ navigation menus in 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.. (55072)
  • Pages list: Set status as no sortable. (55210)
  • Remove duplicate template areas from the site view sidebar. (54942)
  • Site Editor Styles Screen: Fix dancing styles previews. (55183)
  • Use accessorFn instead of cell to render status. (55196)

Interactivity API

  • Add aria-label attribute to navigation block only when it is open. (54816)
  • Fix server processing of wp-context getting out of sync. (55436)
  • Image: Disable lightbox editor UI for linked images. (55141)
  • Image: Reimplement lightbox trigger as a minimal button in corner of image. (55212)
  • Image: Stop crashing with Lightbox on image blocks without an image. (55269)
  • Remove the lightbox filter and view file when the lightbox setting is disabled. (55120)
  • Reset “Expand on click” image styles when window is resized. (55077)

Components

  • Changing Button component toggled style selector. (55065)
  • ColorPicker: Improve UXUX User experience of dragging the handle when in popover on top of the editor. (55149)
  • Colors: Fix color button border radii. (55207)
  • 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. / block drag chip: Fix positioning when dragging over an iframe. (55150)
  • ProgressBar: Use text color to ensure enough contrast against background. (55285)
  • Toolbar: Add unstyled variant. (55139)
  • useBlockPreview: Try outputting EditorStyles to ensure local style overrides are rendered. (55288)

Block Editor

  • LinkControl: Prevent horizontally long preview image from being stretched vertically. (55156)
  • List: Fix forward merging of nested list. (55121)
  • Paste: Fix MS Word list paste. (55127)
  • Writing flow: Fix selecting synced pattern. (55221)
  • Writing flow: Preserve block when merging into empty paragraph. (55134)
  • url: Update filterURLForDisplay to include all image, video, and audio file types. (54920)
  • Block Styles: Display default style label correctly in the block sidebar. (55008)
  • useBlockSettings: Add missing useMemo dependencies. (55204)

Data Views

  • Add linked title fallback. (55248)
  • PagePages: Fix unintended object mutation inside component. (55314)
  • Fix pagination. (55387)
  • Make date 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. translatable. (55445)

Patterns

  • Add categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. selector to pattern creation modal. (55024)
  • Fix scrollbars on pattern transforms. (55069)

HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. API

  • Fix: Directive processor failing on updated HTML API. (55404)

Widgets Editor

  • Only suppress adminadmin (and super admin) notices when JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. is enabled. (55403)

Data Layer

  • Fix combineReducers() types. (55321)
  • Get the page count as derived data. (55316)

Layout

  • Add selector as id to layout style overrides. (55291)

History

  • Try: Only render LastRevision component if 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 is active. (55253)

Block Directory

  • Fix filtering for downloadable blocks in inserter. (55243)

Global Styles

  • Use all the settings origins for a block that consumes paths with merge. (55219)

Post Editor

  • Fix wrong notification message shown when an entity is moved 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.. (55155)

Typography

  • Font Library: Show error if fetching collection fails. (54919)

Colors

  • 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 No color selected translatable text. (54814)

Rich Text

  • Paste: Only link selection if URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org protocol is http(s). (53000)

Patterns

  • Remove the version enforcement for npm in engines field. (55245)

Code Quality

  • Fix: Use y-webrtc room name terminology instead of docName. (55260)

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)

Global Styles

  • Fix flickering when focusing on global style variations. (55267)

Interactivity API

  • Fix Image block lightbox missing alt attribute and improve accessibility. (55010)

Components

  • Modal: Fix closing when contained iframe is focused. (51602)

Block Library

  • Cover: Add aria-label to fixed and repeated image backgrounds. (50990)

Performance

Block Editor

  • Rich Text: Cleanup excess focusin/focusout listeners. (55382)
  • Optimize customClassName controls. (55345)
  • useBlockControlsFill: Avoid unneeded store subscriptions. (55340)

Parsing

  • Remove empty attrs. (54496)

Data Layer

  • Fix resolver resolution status key types mismatch causing unwanted resolver calls for identical state data. (52120)

Experiments

Data Views

  • Add status entity and use it in “admin views” experiment. (55050)
  • Add Grid Layout. (55353)
  • Add 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. field to the page list. (55246)
  • Adds a control to the views actions to switch layouts. (55311)
  • Fix the actions menu in the list view. (55426)

Block Library

  • Introduce experimental form and input blocks to allow building basic forms. (44214)
  • Mark forms blocks as experimental in block.json files. (55187)
  • Update the apiVersion in experimental blocks block.json files. (55186)

Components

  • Expose Tabs as private API. (55327)

Site Editor

  • Add author and status filter to the page list. (55270)

Documentation

  • Add “Get started with create-block” doc to the Getting Started section. (55373)
  • Add a “Get started with wp-scripts” doc to the Getting Started section. (55372)
  • Add backgroundImage to the 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. documentation for appearanceTools. (55376)
  • Add initial documentation for the DataViews component. (55435)
  • Augment Block.Edit filter documentation with performance guidance. (55252)
  • Correct the documented type for the $w parameter of block_core_navigation_add_directives_to_submenu(). (53585)
  • Document kind, name, plural for entity configuration. (55158)
  • Document updating the consent string to unlock private APIs. (55235)
  • Explain how to translate Gutenberg in standalone apps using the editor packages. (55080)
  • Fix callouts in end-to-end test documentation. (55300)
  • Fix code formatting due to bug in the “Get started with wp-env” doc. (55458)
  • Fix the position of the callout in the “Get started with wp-scripts” doc. (55457)
  • Font Library: Change all references to 6.4.0 by 6.5.0 core version. (55320)
  • Initial documentation of entity configuration. (55103)
  • PHP lib docs: Update to include information about prefixes in block PHP code. (55402)
  • Platform docs: Add a page to explain how to render HTML from a list of blocks. (55140)
  • Remove @return void from PHP function docs. (55237)
  • Remove the wp-now getting started doc. (55136)
  • Update LinkControl documentation with advice to memoize value prop. (54659)
  • Update nested-blocks-inner-blocks.md for WP 6.4 release. (55375)
  • docs/get-started-with-wp-env: Diagram and links added. (55381)
  • Update broken anchor link. (55233)

Code Quality

Data Views

  • Allow actions to be provided declaratively as a prop. (55192)
  • In list view, automatically insert header menu separators. (55412)
  • Update the data views component to pass a view object. (55154)
  • Update the view actions menu to be independent from current view APIs. (55294)
  • Normalize render fields function. (55411)
  • Rename accessorFn to getValue. (55434)
  • Update the view configuration to include fields visibility. (55247)

Block Library

  • Query block: Remove unnecessary class. (55438)

Site Editor

  • Fix: Remove unrequired nullish coalescing operator on canEditCss con…. (55357)

Global Styles

  • Update: Unset variable set by reference after a foreach loop. (55261)

Design Tools

  • Elements: Add unit tests for class and style generation. (55113)

Block Editor

  • Remove value syncing in Link Control. (51387)
  • Chore: Fix: Remove third parameter passed to shouldDismissPastedFiles. (55262)
  • Chore: Simplify code by removing unnecessary and condition. (55268)
  • useBlockSync: Fix typo and simplify test. (55203)

Data Layer

  • Update status entity label to Status and plural to getStatuses. (55160)

Gutenberg Plugin

  • Text Component: Typescript’n. (54953)

Tools

Testing

  • Don’t change error handling in WP_Theme_JSON_Gutenberg::Set_spacing_sizes(). (55354)
  • E2E: Add missing comment. (55093)
  • E2E: Try to fix the flaky autocomplete spec. (55081)
  • Migrate ‘Post Title block’ end-to-end tests to Playwright. (55297)
  • Migrate ‘text color’ end-to-end test to Playwright. (55323)
  • Migrate demo page tests to Playwright. (55054)
  • Migrate remaining Link UI tests to Playwright. (52828)
  • Playwright Utils: Introduce the editor.saveDraft helper. (55308)
  • Try to fix flaky synced pattern test. (55406)
  • Try to fix multi-block-selection flakiness. (55075)
  • WP_Theme_JSON_Gutenberg Unit tests: Fix phpunit warnings about set_spacing_sizes. (55313)
  • end-to-end Utils: Use frameLocator for retrieving editor canvas. (54911)

Build Tooling

  • Packages: Ensure only changed packages get published for WP releases. (55334)
  • WP_Env: tests-cli phpunit executable file not found in $PATH: Unknown. (54508)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @andrewhayward @andrewserong @anton-vlasenko @apeatling @aristath @artemiomorales @brookewp @carolinan @chad1008 @ciampo @dcalhoun @dmsnell @ecgan @ellatrix @fluiddot @getdave @glendaviesnz @gziolo @jffng @jhnstn @johnbillion @jorgefilipecosta @jrtashjian @jsnajdr @juanmaguitar @kevin940726 @kishanjasani @luisherranz @MaggieCabrera @Mamaduka @margolisj @matiasbenedetto @mcsf @michalczaplinski @mikachan @ndiego @ntsekouras @oandregal @ockham @peterwilsoncc @ramonjd @retrofox @richtabor @ryanwelcher @SantosGuillamot @scruffian @sethrubenstein @shimotmk @SiobhyB @spacedmonkey @stokesman @t-hamano @talldan @tellthemachines @tyxla @unscripted @WunderBart @youknowriad

Props to @jameskoster for designing assets for this post.

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

What’s new in Gutenberg 16.8? (11 October)

“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 16.8 has been released and is available for download!

This latest release includes many enhancements, 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, some new experiments, and essential groundwork for the future Phase 3.

  1. Cover block: automatically set overlay color when applying the initial background image
  2. Show template toggle when editing pages
  3. Font Library: add an Uploads tab
  4. Other notable highlights
  5. Changelog
  6. Contributors

Cover 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.: automatically set overlay color when applying the initial background image


The Cover Block just got a bit smarter by setting an Overlay color based on the background image. The Overlay color is extracted from the image via magic (actually, code, which you can see coming into existence here (#54054).

Show template toggle when editing pages


This great new option allows you to see your Pages within the Template context where they’re meant to be displayed while you edit them. As @noisysocks puts it:

Allows users to focus on their content when desired. Moreover, it is small a step towards one day unifying the post editor and site editor.

– @noisysocks (#52674)

Font Library: add an Uploads tab


All about decluttering: font uploads have been moved to a separate tab within the Font Library interface. The team has also worked on improving error messages and their visibility.

Other notable highlights

  • Footnotes now make use of coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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. revisioning capabilities when available. Gutenberg PR (#52988) and Trac Ticket (#20564).
  • Experiment: the first version of the pages list in the site editor (#54966). This experiment is one of many pieces of the Data Views work (#55083), crucial for Phase 3.
  • Add template replace flow to template inspector (#54609).

Changelog

Features

Block Editor

  • Adds ‘nofollow’ setting to Button block. (54110)

Site Editor

  • Add ‘Show template’ toggle when editing pages. (52674)

Enhancements

  • Update pattern import menu item. (54782)

Components

  • Adding label/description to BlockEditor/DuotoneControl. (54473)
  • Deprecating isPressed in Button component. (54740)
  • Follow ariakit best practices. (54696)
  • InputControl-based components: Add opt-in prop for next 40px default size. (53819)
  • Modal: Add contentWidth prop to support a selection of preset modal sizes. (54471)
  • Remove unused components from ui/. (54573)
  • Update ariakit to 0.3.3. (54818)
  • Update compact search control metrics. (54663)
  • Wrapped TextareaControl in a forwardRef call. (54975)

Block Library

  • Add a brief description to the Footnotes block. (54613)
  • Footnotes: Use core’s meta revisioning if available. (52988)
  • Login/out: Add spacing support. (45147)
  • Query view.js: Code quality. (54982)
  • Set custom color when applying initial background image. (54054)
  • Use wp_get_inline_script_tag() in build_dropdown_script_block_core_categories(). (54637)

Block Editor

  • Default suggested links to pages. (54622)
  • Remove base URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org from link control search results. (54553)
  • Simplify BlockHTMLConvertButton. (54972)
  • Update strings in blocks ‘RenameModal’ component. (54887)

Post Editor

  • Edit Post: 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 HoCs in ‘PostStatus’ components. (54951)
  • Editor: Use hooks instead of HoCs in ‘PostSticky’ components. (54949)
  • Editor: Use hooks instead of HoCs in ‘PostSwitchToDraftButton’. (54695)
  • Show confirmation dialog when moving a post to the 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.. (50219)

Site Editor

  • Add template replace flow to template inspector. (54609)
  • [Site Editor]: Update copy of using the default template in a page. (54728)

Patterns

  • Remove categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. description in inserter panel. (54894)

Typography

  • Font Library: Refactor endpoint permissions. (54829)

Bug Fixes

  • Fix the ShortcutProvider usage. (54851)
  • Fix warning when a template calls a template area twice. (54861)
  • Revert “Fix warning when a template calls a template area twice”. (54926)

Block Library

  • All Nav block items to break long titles. (54866)
  • Fallback to Twitter provider when embedding X URLs. (54876)
  • Fix Deleted 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. warning string. (55033)
  • Fix Search Block not updating in Nav block. (54823)
  • Fix left and right aligmnent in children of Post Template. (54997)
  • Fix output of Navigation block classnames in the editor. (54992)
  • Fix overwriting of published post meta when previewing footnote changes. (54339)
  • Image: Ensure Expand on Click toggle is shown if block-level lightbox setting exists. (54878)
  • Image: Fix layout shift when lightbox is opened and closed. (53026)
  • Media & Text: Fix ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. warning. (55038)
  • Search block: Allow space for input field only when form expanded. (54846)
  • Search block: Update alignment and icon button width. (54773)

Site Editor

  • Avoid same key warnings in template parts area listings. (54863)
  • Avoid stale navigation block values when parsing entity record. (54996)
  • Don’t display the navigation section in template parts details when a menu is missing. (54993)
  • Fix ToolSelector popover variant. (54840)
  • Reset ‘Show template’ toggle when leaving edit mode. (54679)
  • remove overflow: Hidden from the entity title in the site editor 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.. (54769)

Components

  • FormTokenField: Add box-sizing reset style and reset default padding. (54734)
  • Popover: Fix the styles for components that use emotion within popovers. (54912)
  • Remove hover style for secondary Button when aria-disabled is set. (54978)
  • Reverting addition of aria-selected style hook in Button. (54931)
  • SlotFill: Pass Component instance to unregisterSlot. (54765)

Block Editor

  • Avoid double-wrapping selectors when transforming the styles. (54981)
  • [Inserter]: Fix reset of registered media categories. (55012)

Typography

  • Font Library: Changed the OTF mime type expected value to be what PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher returns. (54886)
  • Font Library: Move font uploads to a new tab. (54655)

Global Styles

  • Block custom CSSCSS Cascading Style Sheets.: Fix incorrect CSS when multiple root selectors. (53602)
  • Image: Ensure false values are preserved in memory when 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.. (54639)

List View

  • Fix performance issue when selecting all blocks. (54900)

Colors

  • Format Library: Try to fix highlight popover jumping. (54736)

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.

  • Image: Fix duotone not being applied to lightbox image. (54670)

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)

Block Library

  • Footnotes: Add aria-label to return links. (54843)

Components

  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. block: Fix accessibility issues on back-end. (54408)
  • Modal: Accessibly hide/show outer modal when nested. (54743)

Patterns

  • Use list role instead of listbox in patterns list. (54884)

Post Editor

  • Editor: Always render the ‘Switch to Draft’ button to avoid focus loss. (54722)

Block Editor

  • Block Switcher: Use a different label for multi-selection. (54692)

Performance

  • Tests: Support the Site Editor’s legacy spinner. (54784)
  • Use instanceOf over property_exists. (54835)

Block Editor

  • Subscribe only to block editor store in useBlockSync. (55041)

Experiments

Site Editor

  • al]: First version of pages list in site editor. (54966)

Block Editor

  • Expose getDuotoneFilter() as private API. (54905)

Documentation

  • Add a documentation page about the block editor settings. (54870)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @alexstine @andrewhayward @andrewserong @annezazu @anton-vlasenko @artemiomorales @aurooba @bangank36 @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @ciampo @dcalhoun @derekblank @draganescu @ellatrix @fluiddot @fullofcaffeine @geriux @getdave @glendaviesnz @gziolo @jameskoster @jeryj @jsnajdr @juhi123 @kevin940726 @leemyongpakvn @madhusudhand @MaggieCabrera @Mamaduka @matiasbenedetto @michalczaplinski @mirka @mtias @mujuonly @ndiego @noahtallen @noisysocks @ntsekouras @oandregal @ockham @pbking @priethor @ramonjd @richtabor @scruffian @SiobhyB @spacedmonkey @stokesman @swissspidy @t-hamano @tellthemachines @tellyworth @them-es @torounit @tyxla @westonruter @WunderBart @youknowriad

Props to @joen for the visual assets and @annezazu for the help reviewing and collecting highlights!

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

What’s new in Gutenberg 16.7? (27 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.

What's New In Gutenberg 16.7?

Gutenberg 16.7 has been released and is available for download!

16.7 is the last Gutenberg release ahead of the upcoming WordPress 6.4 release, so it’s packed with features and 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. Exciting new features include the new Font Library for font management within the editor, lots of enhancements to pattern management, simplified lightbox functionality, and many UXUX User experience enhancements.

This release consists of 331 pull requests authored by 88 contributors, including 7 new contributors! 🥳 🎉

Table of Contents

  1. Font Management with the Font Library
  2. Import/Export of Patterns
  3. Explore New Pattern Filtering
  4. Naming Group Blocks in the Editor
  5. “My Patterns” Category Reinstated in Post Editor Inserter
  6. Simplified Lightbox Functionality for Images
  7. Background Image Control Added to Group Block
  8. New Social Link Icon for X
  9. Changelog
  10. First time contributors
  11. Contributors

Font Management with the Font Library

Screenshot of the Styles panel in the editor with the Typography settings open

The new Font Library allows users to install, remove, and activate typographic fonts from various sources in WordPress via the editor. The installed fonts are enabled globally, independent of the active theme in the /wp-content/fonts directory, similar to the Media Library. As part of this new feature, users can add fonts manually by uploading them from their local machine or choosing from a list of Google Fonts. (#53884 & #53307)

Import/Export of Patterns

Screenshot of a pattern in the editor with the options panel open, showing the new "Export as JSON" option

It’s now possible to import and export patterns as 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. files directly from the site editor’s patterns screen. This change mirrors the existing import/export functionality in the /wp-admin patterns screen, making it more straightforward for all users to migrate patterns between sites. (#54337)

Explore New Pattern Filtering

Screenshot of the pattern list panel, highlighting the new filters dropdown

Pattern filters have been restructured, with filters now being housed within a dropdown at the top of the pattern list panel. A sticky 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. has also been added to the top of the list panel for improved navigation. (#54681)

Naming Group Blocks in the Editor

Screenshot of the editor with the List View open, showing a custom named block with the name, "My custom name"

Group blocks can now be named using custom naming. Naming these blocks will update their name in the List View, making it easier to distinguish between blocks. This enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. marks another step forward as the Site Editor’s tools and features continue to expand. (#53735)

“My Patterns” CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. Reinstated in Post Editor Inserter

Prompted by feedback, the “My patterns” category has been reintroduced to the post editor’s inserter, providing a central place for users to view their custom patterns. (#54767)

Simplified Lightbox Functionality for Images

The Behaviors UIUI User interface introduced as an experimental feature in Gutenberg 15.9 has been removed and replaced with an “Expand on click” toggle in the Image 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.’s Inspector Controls and in the Global Styles. (#54509) (#54509)

The support for Behaviors in the theme.json has also been deprecated and will be removed completely in Gutenberg 17.0:

  • Users who enabled the “lightbox” behavior in their theme.json file should migrate to a new syntax where the lightbox is simply a new block-level setting:
“settings”: {
	“blocks”: {
		“core/image”: {
			“lightbox”: {
				“enabled”: true | false
				“allowEditing”: true | false
			}
		}
	}
}
  • Note that the support for the “animation” value has been removed.

If you enabled the lightbox on any Image blocks using the previous Behaviors UI, please open and re-save posts that include those blocks to ensure they get migrated to the latest syntax.

With the removal of support for the “animation” value, all images will now only use the “expand” (zoom) animation, even if they had previously used the “fade” animation.

Background Image Control Added to Group Block

Background image support has been added to the Group block, in line with the color controls. (#53934 & #54439)

A new social link icon has been added for the X service. It can be found when searching for “X” or “Twitter”. (#54092)

Changelog

Features

Block Library

  • Social Links: Add X. (54092)

Typography

Font Library:

  • Add mime type validation for font uploads. (53986)
  • Font Collection backend. (54098)
  • Frontend [Stage 1]. (53884)
  • Font Collections frontend. (54566)

Patterns

  • Allow import/export patterns as JSON files. (54337)

Block Editor

  • Adds ‘nofollow’ setting to inline links (rich text only). (53945)
  • Rename Group blocks in the Editor via Modal. (53735)

Enhancements

CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data

  • Add edits data to the useEntityRecord. (54167)

Components

  • Add non-listbox functionality back to CircularOptionPicker. (54290)
  • Added missing “middle” allowed tooltip position. (52147)
  • BlockSettingsMenu: Ensure only one block settings menu is open at a time. (54083)
  • Bundle the block copy handler within the BlockCanvas component. (54207)
  • Bundle the block selection clearer hook into the BlockCanvas component. (54209)
  • Ensure that ‘Duotone 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.’ color pickers have relevant labels. (54468)
  • Export ProgressBar to allow it to be used. (54404)
  • FormTokenField – add prop to allow saving of tokens onBlur. (53976)
  • Refactoring BorderControl‘s unit tests. (54155)
  • Remove unnecessary padding-right on the dismissible notice. (52240)
  • Support controlling open/closed state for Dropdown and DropdownMenu. (54257)
  • ToggleGroupControl: Rewrite backdrop animation with framer motion shared layout animations. (50278)
  • ToolTip: Refactor using ariakit. (48440)
  • Tooltip: Add placement prop to replace deprecated position. (54264)
  • Tooltip: Add new hideOnClick prop. (54406)
  • Tweak border control button to proper metrics and simpler action. (53998)
  • Update FormTokenField styling for consistency and visibility. (54402)
  • Update spacing sizes control metrics and icons. (54470)
  • Update/form token field onblur. (54445)
  • Popover: Update positionToPlacement types. (54101)
  • SearchControl: Allow for 32px compact size, introduce option to change default size to 40px. (54548)

Block Library

  • #39457: Image block keep image size on replacing image. (49982)
  • Add __next40pxDefaultSize to 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. opacity control. (54389)
  • Add aspect ratio to image placeholder. (54216)
  • Allow using a button element for button blocks. (54206)
  • Buttons Block: Show inserter if button have variations (#53498). (53783)
  • Change dialogdescription for renaming group block. (54358)
  • Footnotes: Add missing placeholder instructions text. (54056)
  • Heading block: Add support for writingMode. (54351)
  • Improved description for the post-terms core block. (47715)
  • Make matrix position behave like valign. (54050)
  • Navigation block: Add core/buttons to the allowed blocks. (53966)
  • Remove unused prop from GroupPlaceHolder component. (51493)
  • Template parts: Use the template actions component for template parts patterns. (54173)
  • Text orientation: Rotate vertical text when the text is aligned (Upside down text). (53175)
  • Update parent labels in page attributes panel and page list block. (54403)
  • Use __next40pxDefaultSize on more UI. (54400)

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 timeout option to navigate(). (54474)
  • Add manual Server Side Rendering (SSR) to the Interactivity API blocks. (54343)
  • Ensure that the view scripts of core blocks have the wp-interactivity dependency. (54594)
  • Image block: Revise lightbox UI to remove ‘behaviors’. (53851)
  • Image block: UI updates for the image lightbox (redo). (54509)
  • Override unfinished navigate calls. (54201)
  • 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.: Add design enhancements for the “enhanced pagination” setting. (54455)
  • Query Loop: Allow “enhanced pagination” only with core blocks. (54347)
  • Query block: Start prefetching on first click to next/previous. (54781)

Patterns

  • Add categories to user patterns, and allow filtering by these in site and post editor. (53835)
  • Add editing of pattern categories to site editor. (54640)
  • Add user categories to site editor 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. navigation screen. (53837)
  • Add user pattern categories to post editor inserter patterns tab. (53933)
  • Apply white background to the preview as a fallback. (54534)
  • Merge unsynced into inserter patterns tab and add paging and filtering. (54007)
  • Update empty template part label. (53842)
  • Memoize useSelect for usePatterns. (54588)
  • Site Editor: Prevent unintended actions on the classic theme. (54422)

Design Tools

  • Add back tooltip to styles UI. (54574)
  • Add block gap to Post Content block. (54282)
  • Add block instance elements support for buttons and headings. (53667)
  • Background Image block support: Add reset menu item. (54341)
  • Block Supports: Add background image support to Group block. (53934)
  • Columns: Adopt button and heading element colors. (54104)
  • Update block styles UI. (54446)
  • Improve background image control. (54439)

Site Editor

  • Copy: End the Templates page description in the Site Editor with a period. (54221)
  • Edit Site: Update progress bar to determinate. (53399)
  • Follow up visual tweaks to block-specific commands. (54427)
  • Site editor sidebar: Abstracting footer so it can be used across details screens. (54082)
  • [Page Inspector]: Add ability to switch templates. (51477)

Global Styles

  • Rename settings & userSettings props to value & inheritedValue respectively in ImageSettingsPanel. (54593)
  • Update Block specific CSSCSS Cascading Style Sheets. label to include additional instructions. (49626)

Block Editor

  • Use gray color on link control advanced toggle. (54545)
  • Verse: Exit on triple Enter. (53332)
  • Block editor: 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 rules of hooks violations (2). (48943)
  • Always show the total number of patterns even with only one page. (54813)

Typography

  • Font Face: 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. from Core changeset 56500. (54218)
  • Font Library: Changing the upload directory to wp-content/fonts. (54122)
  • Font Library: Load collection JSON data from a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in the collection configuration. (54067)
  • Font Library: Use wporg cdn to host the google fonts json data. (54795)

Themes

  • Theme Previews: Make the back button customizable. (54242)

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 ‘Footnotes’ and ‘Comments’ from the non-dynamic block registration list. (54154)

Media

  • Correct function name handleFileChange is replaced by wrong function name. (52250)

List View

  • Allow Escape key to deselect blocks if blocks are selected. (48708)
  • Try directing focus to the list view toggle button when closing the list view. (54175)

Block API

  • Deprecated get_file_path_from_theme method. (45831)

Keyboard Shortcuts

  • Make the shortcuts provider optional. (54080)

Blob

  • refactor(blob): Type URL parameter as optional. (49201)

Collaborative Editing

  • Try bundling sync package. (54738)

New APIs

Components

  • Revert “Export ProgressBar to allow it to be used”. (54428)

Block API

  • Stabilize Block Hooks feature. (54293)

Data Layer

  • Data: Introduce countSelectorsByStatus redux metadata selector. (53767)

Framework

  • Add useStateWithHistory hook and use to show a block editor with undo/redo. (54377)
  • BlockEditor: Add BlockCanvas component = 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. + BlockList + WritingFlow. (54149)
  • Extract undo/redo as a separate package. (54292)

Bug Fixes

Components

  • Add children back to toolbar item render for rendered components. (53314)
  • Add missing useState import in Border Control documentation. (49476)
  • Adjust input-style__focus mixin to proper focus size. (54398)
  • DropdownMenu v2: Fix submenu chevron direction in RTL languages. (54036)
  • Fix incorrect focus style size on InputControl. (54394)
  • Make CircularOptionPicker focus styles resilient to button size changes. (54196)
  • PaletteEdit: Fix padding in RTL mode. (54034)
  • Popover: Set is-positioned class only after animation has finished. (54178)
  • Storybook: Restore previous URL for the introduction documentation page. (54247)
  • Storybook: Update doc param values for ConfirmDialog. (54130)
  • Update borderFocus to ADMIN.theme. (54425)
  • Use standard focus style on BorderControl. (54429)
  • DateTimePicker: Fix onChange callback check so that it also works inside iframes. (54669)

Post Editor

  • Adds animation state for DFM off to post editor header. (54244)
  • Block Editor: Memoize the createPageEntity callback. (54580)
  • Edit Post: Avoid fetching the edited template for non-viewable posts. (54158)
  • Editor: Catch errors when creating terms. (53369)
  • Fix layout when post content is root block. (54485)
  • Make order of pinned items consistent. (53908)
  • Prevent the list view shortcut from typing unexpected characters. (54078)
  • Top Toolbar: Prevent the focus outline of the button from being cut off. (54172)
  • Try using fallback layout instead of default in post editor. (54371)
  • [Edit Post]: Toggle Distraction free mode mode based on compatibility. (54073)

Block Library

  • Block Moving Mode: Prevent the block from being moved into itself. (54137)
  • Fix navigation block submenu focus when closing menu with the ESC key. (54299)
  • List Block: Fix numbering style to be applied correctly. (53301)
  • Navigation Link: Restore tooltip. (54263)
  • Post navigation link: Fix the writing mode setting on the front. (54053)
  • PreviewOptions: Fix critical error when children not passed. (54284)
  • Remove role attribute when set to null in data-wp-bind. (54608)
  • [Commands]: Add group/ungroup commands only when eligible. (53988)
  • Replace the gutenberg_ prefix with wp_ in image block. (54678)
  • Navigation block: Fix padding on mobile overlay when global padding is 0. (53725)

Patterns

  • Command Palette: Fix duplicate Patterns command. (54133)
  • Don’t output root padding when editing patterns. (54373)
  • Fix user pattern categories in site editor inserter. (54641)
  • Remove pattern category as a variation for post terms block. (54532)
  • StartPageOptions: Improve conditions to show modal only on a brand new page. (54245)
  • Add My patterns back to post editor inserter categories. (54767)
  • De-emphasise pattern filters in inserter. (54681)
  • Fix All Patterns category default display. (54721)
  • Fix bug with new categories not showing. (54768)
  • Fix bug with pattern categories not saving sometimes. (54676)
  • Fix category type for back link. (54753)
  • Fix duplication of uncategorized patterns. (54755)
  • Inject the theme name into the block attributes. (54595)
  • Reinstate my patterns category in site editor. (54726)
  • Require a title in the creation modal. (54717)
  • Use slug as fallback for empty title. (54731)
  • Allow non-user patterns under Standard sync filter. (54756)
  • Check that pattern is synced before replacing blocks with synced pattern on creation. (54804)
  • Fix back navigation after pattern creation. (54852)
  • Fix category control width in site editor. (54853)
  • Improve sentence case consistency of labels and notices. (54807)

Block Editor

  • Add keyboardReturn submit button back to LinkControl. (52620)
  • Formats: Memoize link value passed to the LinkControl. (54603)
  • List: Merge consecutive lists. (52995)
  • Rich text: Fix useAnchor (remove nextElementSibling). (54013)
  • Iframe: Adjust keydown event bubbling. (54565)
  • Reset page after changing pattern filters or search value. (54774)
  • Block Editor: Fix ‘isBlockSubtreeDisabled’ private selector. (54618)

Site Editor

  • Bump the z-index of the rename modal. (54277)
  • Default template lookup should use slug, not the full permalink, in the site editor. (54599)
  • Fix “Blogblog (versus network, site) title” input border radius in Index / Home details panel. (54192)
  • Hide ghost top toolbar. (54555)
  • CreateTemplatePartModal: Disable the ‘Create’ button while saving. (54716)

Plugin

  • Ensure font-face styles are printed in iframe editors. (54313)
  • Font Face & Font Library: Load PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher files only if the main class does not exist. (54103)
  • Gutenberg Plugin: Add hook to allow writing-mode as a safe CSS property. (54581)
  • Update readme.txt “tested up to 6.3”. (54072)
  • Update cherry-pick script to correctly verify 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/ CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. setup. (54720)
  • Conditionally remove deprecated ‘print_emoji_styles’. (54828)

Typography

  • Font Library: Ensure merged fontFace data is enconded as an array instead of an object. (54435)
  • Font Library: Fix duplicate variants with different file types. (54490)
  • Font Library: Setting wp_font_family custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. as _builtin and not plublic. (54559)
  • Font Face: Get name from “fontFamily” setting, not “name”. (54615)
  • Font Library: Fix modal width on mobile viewport. (54518)
  • Font Library: Fix space above theme fonts in font library modal. (54598)
  • Font Library: Fix error installing system fonts. (54713)
  • Font Library: Remove font files created by tests after tests run. (54771)
  • Font Library: Avoid rendering font library ui outisde gutenberg plugin. (54830)

Widgets Editor

  • Edit Widgets: Fix broken layout. (54372)
  • Edit Widgets: Fix invisible action area when the top toolbar is enabled. (54329)
  • Fix top toolbar for the 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 sidebar control. (54255)

Global Styles

  • Font Library: Fix notification error for actions related to custom fonts. (54535)
  • Prevent layout changes from saving the whole inherited settings object. (54500)

Block API

  • Blocks: Fix incorrect placement for hooked blocks in the parent container. (54349)
  • Pass correct content argument to enter transforms. (54108)
  • Block Hooks: Avoid processing empty content for loaded templates. (54719)

Rich Text

  • Revert: Rich text: Copy 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.) name on internal paste. (54301)

Interactivity API

  • Image: Fix block serialization test case to cover deprecation of behaviors. (54570)
  • Query Loop: Select first anchor inside Post Template with “enhanced pagination” enabled. (54730)

Icons

  • Fix ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. forwardRef warnings for TooltipAnchors. (54492)

History

  • Fix extra undo/redo step when removing or replacing all blocks. (54457)

Synced Patterns

  • Patterns: Apply layout and alignment to synced patterns in the editor. (54416)

npm Packages

  • Workflow: Fix the issue with npm publishing for WP major version. (54088)

Media

  • useMediaQuery: Avoid crashing on Safari < 14. (54023)

Nested / Inner Blocks

  • Fix: InnerBlocks allowed blocks change with different sizes. (53943)

Layout

  • Post Content: Ensure layout classnames are applied in readonly preview. (53864)

Document Settings

  • Set the timezone correctly. (48083)

React 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.

  • 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. import in react-i18n documentation. (54308)

Design Tools

  • Background Image control: Use consistent button, ensure descriptive text accounts for no image selected. (54711)

Collaborative Editing

  • Make sure sync code only runs when experiment is enabled. (54710)

Core Data

  • core-data: Fix nested property access with undefined name. (54790)

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)

Block Library

  • Comments form: Accessibility fixes for back-end. (54393)
  • Navigation: Add ariaLabel block support. (54418)
  • Table block: Fix semantic structure for screen readers on back-end. (54324)

Components

  • Improve Notice component accessibility. (54498)
  • Making Circular Option Picker a listbox. (52255)
  • Allow Modal to place focus on first element within contents via new API. (54590)
  • Improve the placeholder instructions accessibility. (45801)

Site Editor

  • Clarify the “Entity” message of the snackbar. (54333)
  • Use solid accent color selection in command palette. (54318)

Block Editor

  • Update nofollow control label. (54184)

Performance

  • Use median instead of average to stabilize First Block metric. (54157)
  • improvement: Reduce the use of the _wp_array_get function. (51116)

Block Library

  • Footnotes: Add block-level caching when parsing content for footnotes. (52577)
  • Table of Contents: Use a custom store subscription for observing headings. (54094)
  • getClientIdsOfDescendants: Support single ‘clientId’ as a argument. (54421)

Site Editor

  • Edit site: Prevent enqueuing entire stylesheet in iframe. (54254)
  • Fix first block locator’s page reference. (54188)

Patterns

  • Move mapping of values from core-data selector into consumers. (54576)

Block API

  • Unnecessary JSON decoding in block parser. (54424)

Components

  • Tooltip: Render tooltip markup in the DOM only when open. (54312)

Post Editor

  • Editor: Memoize ‘getNestedEditedPostProperty’ selector helper. (54160)

Developer Experience

  • Tests: Improve the environment setup. (54309)

Experiments

Interactivity API

  • Remove wp_store from query block. (54359)

Documentation

  • Add a documentation page to explain how to implement undo/redo in a third-party editor. (54546)
  • Add the Commands Data page to Handbook. (53634)
  • Bootstrap a documentation website tailored towards the usage of Gutenberg outside WordPress. (54375)
  • Button: Undocument the focus prop. (54397)
  • Docs: Add missing callout class. (54558)
  • Docs: Add note about enqueueing assets in the iframe and trim whitespace. (54125)
  • Docs: Consolidated design Reference with the main Design Contributions doc. (51065)
  • Docs: Move Glossary page to Getting Started. (54120)
  • Docs: Move the FAQ page to Getting Started. (54117)
  • Docs: Overhaul the Development Environment section of the Block Editor Handbook. (54395)
  • Docs: Remove Outreach doc from Getting Started section. (54314)
  • Docs: Remove unneeded block theme docs. (51071)
  • Fix bullet hierarchy. (47178)
  • Fix createI18n package import location. (51328)
  • Fix incorrect image src in Design Contributions doc. (54302)
  • Fix: Broken links on ToolbarGroup documentation. (54229)
  • Fix: Remove unrequired code from BorderControl documentation. (54348)
  • Fix: Wrapped ref in quotes in theme.json documentation. (54591)
  • Incorrect file extension?. (54134)
  • Theme JSON schema: Fix “not allowed error” in settings property. (54521)
  • Try: Allow multiple attribute to be a string in upload components. (53350)
  • Update Commands documentation with examples and more context. (54441)
  • Update the components changelog to mark the popover slot removal as a breaking change. (54022)
  • Update versions in WP for 6.3.1. (54069)
  • Updated Related Components Links. (49176)
  • Updates Edit and Save code examples to have matching open/closing tags. (53915)
  • [Docs: Getting Started / Block Development Environment] Updates on the text to improve clarity and preciseness. (54563)
  • documentation – Contribution Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.: Formatted text and changed some titles and structure. (54258)
  • documentation [Block Editor Handbook / Getting Started / Block Development Environment]: Fix links. (54571)
  • Add missing global declaration in DocBlockdocblock (phpdoc, xref, inline docs) of interactivity files. (54683)

Code Quality

  • Adds removal notice to view.js.mustache. (54105)
  • Block editor: Remove __unstableElementContext and filter EditorStyles instead. (52888)
  • Improving error messages and codes in jest-console, matcher.js. (53743)
  • Indicate nested paths on __experimentalSaveSpecifiedEntityEdits. (54161)
  • JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. unit tests: Update popover matcher. (54168)
  • Style engine: Sync doc changes from core. (54650)

Components

  • Composite: Refactor to TypeScript. (54028)
  • FocusableIframe: Refactor to TypeScript. (53979)
  • IsolatedEventContainer to Typescript (just test file). (54316)
  • Popover: Remove custom frame scroll/resize listeners. (54286)
  • Revert FormTokenField – add prop to allow saving of tokens onBlur. (54444)
  • Toolbar/ToolbarDropdownMenu Typescript Conversion. (54321)
  • ToolbarGroup – Typescript. (54317)
  • with-focus-outside: Convert to TypeScript. (53980)

Patterns

  • Revert usePatternsState to return an array instead of object. (54582)
  • Add missing dependency of @wordpress/patterns on @babel/runtime. (54118)
  • Move category map creation out of useSelect. (54584)
  • Remove experimental prefixes from patterns package. (54338)
  • Site editor: Consolidate constants. (54484)
  • Fix sidebar nav screen fallback category. (54754)

Post Editor

  • Annotations: Run end-to-end tests with iframe. (54191)
  • EditPostPreferencesModal: Refactor to remove snapshots for index.js. (54141)
  • Extract WordPress specific styles from the BlockTools component. (54356)
  • PageAttributesParent: A minor fixes for useSelect and useMemo hook usages. (54433)
  • PostSyncStatus: Derive sync status inside the selector. (54159)

Block Library

  • Heading: Remove unused ‘aria-label’. (54223)
  • Image Editor: Fix ESLint warnings and remove unnecessary dependencies. (53506)
  • Pattern Category: Set ‘publicly_queryable’ to false. (54567)
  • Post Terms: Fix a ‘useSelect’ warning in the ‘usePostTerms’ hook. (54068)

Interactivity API

  • Prepare image lightbox for private version of the Interactivity API in 6 4. (54547)
  • Remove gutenberg_should_block_use_interactivity_api and the old implementation of interactive blocks. (54297)
  • Search block: Switch interactivity to the Interactivity API. (53343)

Site Editor

  • Remove Tooltip workarounds added in the site and block editor. (54450)
  • 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 ‘gutenberg’ query param from revisions.php. (54166)
  • Prune store constants. (54585)
  • Use constants rather than hard coded template strings. (54586)

Rich Text

  • RichText: Remove __unstableOnSplitMiddle. (54183)

Typography

  • Fluid typography: Backporting Core since annotations. (54204)
  • Font Face: Remove static instance in wp_print_font_faces(). (54228)
  • Font Library: Refactor logic to disable font library in the frontend. (54748)

Block Editor

  • Improve code commenting around focus mount behaviour of rich text Link UI. (54085)
  • List e2e: Run all tests with iframe. (54181)

Layout

  • Use override editor style API. (54466)

Plugin

  • Require minimum WordPress 6.2. (53451)
  • Ensure that Block Hooks work correctly after landing in WP core. (54651)
  • Update uuid package to 9.0.1. (54725)

Themes

  • Iframe: Skip scoping styles. (46752)

Tools

Testing

  • Button: Update test assertion to match test name. (54260)
  • E2E: Do not run page actions in beforeEach hook when using fixme. (54065)
  • Fix Font library unit tests. (54645)
  • Font Library: Remove upload_mimes filter after uploading fonts. (54647)
  • Migrate RichText end-to-end tests to Playwright. (53493)
  • Perf Tests: Update base point to compare. (54111)
  • Puppeteer tests: Try to fix failing tests related to notices in core. (54452)
  • Remove accidental addition of perf test results (2). (54363)
  • Remove accidental addition of perf test results. (54355)
  • Update WPCSWPCS The collection of PHP_CodeSniffer rules (sniffs) used to format and validate PHP code developed for WordPress according to the WordPress Coding Standards. May also be an acronym referring to the Accessibility, PHP, JavaScript, CSS, HTML, etc. coding standards as published in the WordPress Coding Standards Handbook. to v3.0, and fix all reported Coding Standards issues. (53866)
  • Modal: Add more unit tests. (54569)
  • end-to-end Test Utils: Add new fixtures for performance metrics. (52993)
  • end-to-end Tests: Fix ‘no-useless-not’ ESLint warnings. (54652)
  • package(e2e-test-utils): Update fixtures. (54128)
  • wp-scripts: Add support for Playwright. (53108)
  • Font Library: Use resolvable domain in test. (54763)
  • Global styles tests: Fire hooks when updating post. (54836)
  • Remove action to fix tests. (54806)
  • Font Library: Fix set upload dir test. (54762)

Build Tooling

  • Backport tools: Filter PRs to be cherry picked by merged date. (54171)
  • Changelog tool: Update Automated Testing label. (54070)
  • Running npm run format:Php may result in an error. (54162)
  • Scripts: Correctly resolve entry points when the directory is symlinked. (54212)
  • Upgrade wp-prettier to v3.0.3. (54539)
  • Update typescript-eslint to v6. (53975)

First time contributors

The following PRs were merged by first time contributors:

  • @andrewhayward: Making Circular Option Picker a listbox. (52255)
  • @jamiemchale: Fix createI18n package import location. (51328)
  • @johnhooks: refactor(blob): Type URL parameter as optional. (49201)
  • @MericKarabulut: Improving error messages and codes in jest-console, matcher.js. (53743)
  • @Piyush-Deshmukh: Fix: Wrapped ref in quotes in theme.json documentation. (54591)
  • @Rajinsharwar: Editor: Catch errors when creating terms. (53369)
  • @toolstack: Set the timezone correctly. (48083)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @alexstine @andrewhayward @andrewserong @annezazu @anomiex @anton-vlasenko @aristath @artemiomorales @atachibana @bangank36 @bfintal @bph @brookewp @c4rl0sbr4v0 @carolinan @chad1008 @chintu51 @ciampo @DAreRodz @dcalhoun @derekblank @draganescu @ediamin @ellatrix @fluiddot @gaambo @geriux @getdave @glendaviesnz @gvgvgvijayan @gziolo @hellofromtonya @jameskoster @jamiemchale @jeherve @jffng @johnhooks @jordesign @jorgefilipecosta @joshuatf @jrtashjian @jsnajdr @juanmaguitar @kevin940726 @kkoppenhaver @kmanijak @leewillis77 @luisherranz @madhusudhand @MaggieCabrera @Mamaduka @margolisj @masteradhoc @matiasbenedetto @mburridge @mcsf @MericKarabulut @mhimon @michalczaplinski @mikachan @mikejolley @mokagio @ndiego @ntsekouras @Olein-jp @petitphp @Piyush-Deshmukh @Rajinsharwar @ramonjd @richtabor @SantosGuillamot @SaxonF @scruffian @spacedmonkey @stokesman @swissspidy @t-hamano @tellthemachines @thelovekesh @toolstack @torounit @tyxla @vcanales @walbo @WunderBart @youknowriad

Props to @siobhyb, @czapla, and @artemiosans for co-writing; @saxonafletcher for the visual assets; @annezazu, @priethor, @andraganescu, @cbringmann, and @ngreennc for peer review; @bernhard-reiter for helping publish the release to WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/.

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