What’s new in Gutenberg 18.8 (17 July)

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

Gutenberg 18.8 has been released and is available for download!

A total of 217 PRs were merged in Gutenberg 18.8, with 10 first-time contributors! With WordPress 6.6 releasing this week, many contributors are focusing on bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes. There are still some great features and enhancements in this release, highlighted below.

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

Group blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. shadow support

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

Background image support for blocks in global styles

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

Other notable highlights

Toolbar justification controls for Group and Content blocks

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

Color support for individual list item blocks

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

Block inserter no longer behaves like a dialog box

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

Changelog

View full list of changes

Features

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

Enhancements

Components

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

Data Views

  • Add padding around selected values in author filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.. (63212)
  • DataViews filterSortAndPaginate utility: Support sorting by number. (63187)
  • DataViews: Make view.hiddenFields optional. (62876)
  • DataViews: Remove Table Cells animation. (63079)
  • DataViews: Replace supportedLayouts prop with defaultLayouts prop instead. (63287)
  • Duplicate modal: Move to 40px components. (63246)
  • Pages: Include avatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. in Author field. (63142)
  • Patterns Page: Hide preview column by default. (63213)
  • Posts list powered by DataViews. (62705)
  • Split layout / view options. Use active layout icon for the layout button. (63205)
  • Use status icons in field display. (63289)

Block Library

  • Add example for query block and posts list. (63286)
  • ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. block: Add example of the block. (63010)
  • Group: Add block support for shadow. (63295)
  • Login/out block: Add example of the block. (62937)
  • Post content block: Add example of the block. (62968)
  • Post title: Add example of the block. (62955)
  • Table Block: Add toolbar button to add a caption. (47984)

Block Editor

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

Global Styles

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

Extensibility

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

Design Tools

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

Font Library

  • Font Library Modal: Enhance pagination appearance. (63210)
  • Font Library: Store font subdirectory in post metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress.. (63000)
  • Move font directory into uploads to match WP 6.5. (60354)

Layout

  • Add justification to block toolbar in addition to sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (62924)

Site Editor

  • Align rename modals. (62874)

Block APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • block.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.: Allow passing filename as variations field. (62092)

Template Editor

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

Block Variations

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

Zoom Out

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

New APIs

Block API

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

Bug Fixes

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

Components

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

Block Library

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

Post Editor

  • Editor: Do not truncate post excerpt if not editable. (63314)
  • Fix: Background height and padding in non-iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. editor canvas. (63222)
  • Fix: Crash when onActionPerformed is used with callback actions. (63120)
  • Fix: Permanently delete post action does not calls onActionPerformed. (63121)
  • Fix: Triple scrollbars in device previews. (62940)
  • Post editor: Increase specificity of bottom padding. (63288)
  • Actions: Translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. should depend on number of items. (62857)

Data Views

  • DataViews list layout: Fix action alignment. (62971)
  • DataViews: Restore preview focus outline in grid layout. (62991)
  • Fix buttonless table headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. alignment. (62877)
  • Fix typo in string for trashing posts. (63119)
  • Patterns: Avoid mapping template parts objects to patterns. (62927)

Block Style Variations

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

Layout

  • Only hide drop indicator when grid has isManualPlacement set. (63226)
  • Remove dotted border from grid dropzone. (63162)
  • Resizing in Auto mode shouldn’t add columnStart and rowStart values. (63160)
  • Fix invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. css for nested fullwidth layouts with zero padding applied. (63436)

Global Styles

  • Elements: Avoid specificity bump for top-level element-only selectors. (63403)
  • Global styles revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: Ensure that user-defined variation styles CSSCSS Cascading Style Sheets. is generated. (62768)
  • Root padding styles: Include alignwide in nested has-outer-padding logic. (63207)
  • Remove letter-spacing from typography element preview. (60322)
  • Only add customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. additional CSS to global styles in block themes. (63331)

Site Editor

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

Synced Patterns

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

Block Editor

  • Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. Panel: Align text and icons horizontally to avoid clipping. (62842)
  • Zoom Out: Move the hook to the inserter component. (63315)
  • Fix error when calling the PostActions view-post callback. (63460)

Block bindings

  • Disable post meta editing in blocks inside a Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.. (63237)
  • Image block: Ensure extenders that rely on media ids in block htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. are supported by block bindings. (63013)

Patterns

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

Posts/Tags/Categories Screen

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

Inspector Controls

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

Design Tools

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

Commands

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

Typography

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

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

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

Components

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

Global Styles

  • Fix unlabeled Remove shadow buttons. (63197)

Block Library

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

Data Views

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

Media

  • Update URLPopover role and focus return. (61313)

Performance

  • Core data: Batch receiveUserPermission. (63201)
  • Perf tests: Make pages test compatible with base branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. (63204)

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

  • Optimize selectors in the control component. (63141)

Experiments

Layout

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

Documentation

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

Code Quality

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

Data Views

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

Block Editor

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

Components

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

Global Styles

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

Block Library

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

Site Editor

  • Clean up unused Table component. (63283)

Rich Text

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

Zoom Out

  • Replace deprecated selector. (63144)

Block bindings

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

HTML API

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

Tools

  • Dependency extraction: Map to regenerator-runtime instead of wp-polyfill. (63091)
  • Env: Remove version field from docker-compose configuration. (63099)
  • Eslint-pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party: Add method-signature-style TypeScript lint rule. (62718)
  • Scripts: Ensure that typescript-eslint checks for unused vars. (62925)
  • Update new release issue template to remove core editor chat item. (62864)

Testing

  • Automatically sync backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changelog to issue. (62973)
  • Block styles variations E2E: Wait for Save button before editing global styles. (62915)
  • Cherry pick automation: Fix for forks. (62900)
  • Cherry pick workflow: Improve message after conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved.. (62826)
  • DataViews: Add performance test for pages. (63170)
  • Fix typo in column block fixture file. (63007)
  • Performance tests: Fix for 6.5. (62871)
  • Performance tests: Restore 6.5-compatible locator. (63041)
  • Re-enable image block cropping test (#62781). (62854)
  • Update method for changing the content in ‘editor-modes’ end-to-end test. (62957)
  • Update the project-management-automationaction to use Node.js 20. (62851)
  • Upgrade web-vitals package. (63019)

Plugin

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

Build Tooling

  • Build: Enable TypeScript skipDefaultLibCheck. (63056)

First time contributors

The following PRs were merged by first-time contributors:

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

Contributors

The following contributors merged PRs in this release:

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

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

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

What’s new in Gutenberg 18.7? (03 July)

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

Gutenberg 18.7 has been released and is available for download!

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

  1. Drag and drop grid items in manual mode
  2. Content panel for template parts
  3. Other Notable Highlights
  4. Changelog

Drag and drop grid items in manual mode

In order to allow more precise manipulation of the grid, all grid items are now fixed in place when using manual mode. Grid items can then be moved around with drag and drop, with 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. movers (in any direction), or by changing the values of column and row in the Dimensions 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.. This new feature is a part of Grid interactivity and is available behind an experimental flag. (#61025)

Content panel for template parts

Template parts now show the content panel in the editor settings. (#62034)

Other Notable Highlights

Text orientation controls have been added to more blocks (site-title, site-tagline, verse, and button block.) (#62727)

The sticky toggle for posts can be found in its new home, the “Status and visibility” popover. (#62782)

The document bar is now displayed when viewing the Style book 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. (#62669)

Changelog

Enhancements

  • Add: Content panel for template parts. (62034)
  • Move Sticky toggle to status popover. (62782)
  • Rename yieldToMain to splitTask and export from wordpress/interactivity. (62665)
  • Update: Check assignable properties on the duplicate action. (62590)
  • Update: Followups to the template and template_lock 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/. addition. (62696)
  • Update: Reverse backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changes on post type REST API changes. (62751)
  • Align naming modals. (62788)
  • Add writing mode support to other blocks. (62727)
  • Display the DocumentBar for Style Book and Style Revisions. (62669)
  • fetchLinkSuggestions: Allow for partial matching. (62570)
  • DataViews: Support passing the registry to actions callbacks. (62505)
  • Add tooltip on hover of color and typography presets. (62201)
  • Revert change that removes the social link block when pressing backspace in the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org Popover. (61344)

Bug Fixes

  • Add context in post actions 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.. (62443)
  • Add html to reset styles for the .editor-styles-wrapper container. (62350)
  • Cherry pick script: Make authenticated requests. (62473)
  • Editor: Fix blocked Post Publish Panel buttons on mobile. (62736)
  • Fix cherry-pick script, add missing –repo arg. (62643)
  • Fix rawHandling, pasteHandling for mixed content with blocks and classic. (62545)
  • Fix: Active template is not highlighted properly in list view. (62811)
  • Fix: Check Capability to create pages on DataViews add new page button. (62592)
  • Fix: Check ability to create patterns on the add new pattern modal. (62633)
  • Fix: Check create capability on duplicate post action. (62620)
  • Fix: Check permissions on duplicate pattern and template part actions. (62757)
  • Fix: Comments and Pingbacks get cleared out when a pattern is edited. (62507)
  • Fix: DataViews: Active page is not highlighted properly in list view. (62378)
  • Fix: Include permission management on permanently delete, rename, and restore. (62754)
  • Fix: List view renders an empty menu when no actions are eligible. (62786)
  • Fix: Post_type template is not used when creating a page in site editor. (62488)
  • Fix: Resetting template part causes notification saying it’s been delete. (62521)
  • Fix: 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. post action doesn’t take into account user capabilities. (62589)
  • Inspector: Improve handling of long words in post titles. (62691)
  • Revert “Revert test data for WithSlug variation (#62579)”. (62587)
  • Show publish panel only in edit mode. (62813)
  • Site Editor: Improve the frame animation. (62676)
  • DataViews: Remove selection correcting, set initial state. (62796)
  • Pattern overrides: Disallow override for image with caption/href. (62747)
  • Editor: Make VisualEditor a stacking context. (62681)
  • Fix toggle active font logic. (62614)
  • Save Panel: Remove connections icon and fix padding. (62542)
  • Editor: Render editPost slots only in the post editor (same for site editor). (62531)
  • Fix: Don’t allow synced patterns to be inserted on shuffling. (62422)
  • Fix ExcerptPanel decode issue. (62336)

Block Library

  • Add letter spacing inheritance for the navigation block. (62745)
  • Caption utility component: Allow the main CSSCSS Cascading Style Sheets. Class Name to be excluded from the markup. (62485)
  • Fix: Empty style attribute issue in navigation block. (62600)
  • Image Block: Fix Aspect Ratio button position. (62776)
  • Media & text: Update the image replacement logic. (62030)
  • Post Date Block: Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warning error. (62783)
  • Template Part: Improve how the 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 attribute is handled. (62785)
  • fix: Update block categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. to design and build documentation. (61905)

Global Styles

  • Allow children of alignfull flow layouts to have root padding. (62670)
  • Prevent duplicate block style variations CSS. (62465)
  • Remove obsolete hook resolving shared block style variations. (62808)
  • Section Styles: Switch away from using init for variation registration. (62640)
  • Skip registration of variation styles when unsupported. (62529)
  • Styles: Lower specificity of figcaption style to allow 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. override. (62689)

Components

  • CustomSelectControl V2: Fix setting initial value and reacting to external controlled updates. (62733)
  • CustomSelectControlV2: Handle long strings in selected value. (62198)

Block Editor

  • Raw handling: Fix too aggressive indented list removal. (62622)
  • Writing flow: Split heading into default block. (61891)

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)

  • Fix custom color palette. (62753)
  • Fix lock modal dialog accessibility and semantics. (62795)
  • Image block: Fix focus style not around whole image when linked. (62556)
  • Pages data view: Update view icons. (62136)
  • Make the fonts management modal dialog more discoverable. (62129)

Performance

  • Improve performance of compute_style_properties method. (62522)
  • Run block variation hook only for matches. (62617)
  • Section Styles: Improve performance and conceptual consistency. (62712)

Experiments

  • Grid interactivity: Allow blocks to be positioned in manual mode using drag and drop. (61025)

Documentation

  • Add VisualEditorGlobalKeyboardShortcuts documentation. (62710)
  • Add changelog entry for splitTask export from wordpress/interactivity. (62805)
  • Add documentation for PostSlug and PostSlugCheck component. (62102)
  • Adds comment on blocks resource referencing wp_block post type. (62722)
  • Changelogs: Standardize sections. (58268)
  • Correct documentation for WP_Block_Parser_Frame class. (62598)
  • Create Block: Add missing changelog entries. (62791)
  • Docs/iAPI: Fix wrong code snippet in data-wp-run example. (62835)
  • Docs/iapi warnings new directives wp 6 6. (62789)
  • Fix async directives API documentation. (62759)
  • Fix: Remove inexistent link from the documentation. (62624)
  • Interactivity API docs: Add wp-async directives doc. (62663)
  • 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: Clarify explanation around query loop variation example. (62605)
  • Small Typo correction in block-library.md file. (62765)
  • Update link to API section in block-editor README.md. (62671)
  • Update old links in wordpress/babel-preset-default. (62616)
  • Updates the reference links in wordpress/compose documentation. (62593)
  • [Developer Documentation] fix link URL. (62725)

Code Quality

  • Autoformat changelogs. (62650)
  • Autoformat e2e-tests package 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/.. (62572)
  • Edit site: Do not autoformat edit-site/lib. (62573)
  • Move dep to dev deps. (62673)
  • Rename readme file with uppercase extension. (62697)
  • Site Editor: Don’t render empty body tag. (62769)
  • Change grid-visualizer folder name to grid. (62810)
  • Add lib-font credits and license in source code. (60973)

Components

  • Remove Framer Motion from DropZone. (62044)
  • CustomSelectControlV2: Fix handling of extra attributes passed to options in the legacy adapter. (62255)

Tools

  • Dependencies: Upgrade @octokit/webhooks. (62666)
  • Rename the wp-env schema to not be a dotfile. (62634)
  • env: Ignore \$schema key in environment configuration parsing. (62626)

Testing

  • Add end-to-end test to ensure block bindings work well with symbols and numbers. (62410)
  • CustomSelectControl: Align v1 and legacy v2 unit tests. (62706)
  • Fix end-to-end tests in dev mode. (62642)
  • Improve maintainability of theme json class tests. (62463)
  • Release automation: Try cherry-picking automation. (62716)
  • Remove changelog checks for branches other than 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.. (62645)
  • Skip failing image block test. (62781)
  • Skip test: Create a new page, edit template and toggle page template preview. (62799)
  • Tests: Simplify test set up in WP_Block_Supports_Block_Style_Variations_Test. (62637)
  • Theme JSON resolver: Read theme.json files from the styles/ folder only once. (62638)

Build Tooling

  • Generic name for previous version of WP tests. (62853)
  • 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/ PHP changes workflow: Remove it. (62609)

Various

  • Update Private API opt-in string for WP 6.6. (62635)
  • Update caniuse-lite dependency to latest version. (62611)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @aatanasovdev @afercia @ajlende @akasunil @amitraj2203 @artemiomorales @carolinan @cbravobernal @ciampo @creativecoder @DaniGuardiola @dilipbheda @ellatrix @fullofcaffeine @geriux @graylaurenm @gziolo @itzmekhokan @ivan-ottinger @jameskoster @jorgefilipecosta @juanmaguitar @kevin940726 @luisherranz @MaggieCabrera @matiasbenedetto @michakrapp @mirka @noisysocks @ntsekouras @oandregal @peterwilsoncc @ramonjd @sabernhardt @SantosGuillamot @saulyz @shail-mehta @sirreal @snehapatil2001 @spacedmonkey @stokesman @t-hamano @talldan @tellthemachines @up1512001 @vcanales @vipul0425 @westonruter @youknowriad

Props to @joen for the visual assets, @andrewserong, @talldanwp, @ramonopoly, and @aaronrobertshaw for help drafting and proofreading this post, @bernhard-reiter, @priethor, @youknowriad, @mikachan, @andrewserong, and @ramonopoly for debugging and fixing the release workflow.

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

Section Styles

In WordPress 6.6, Section Styles simplify the process of styling individual sections of a webpage by offering users a one-click application of curated styles, eliminating the need for repetitive manual configuration.

Table of Contents

  1. What’s Changed?
  2. Usage
    1. Registration of Block Style Variations
    2. Defining Block Style Variations
      1. Theme.json Partial Files
      2. Programmatically
      3. Via Theme Style Variations (Not Recommended)
  3. Backwards Compatibility
  4. Limitations
  5. What’s Next?
  6. Useful Links

What’s Changed?

Section-based styling has been enabled by extending the existing Block Styles feature (aka 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. style variations) to support styling inner elements and blocks. These enhanced block style variations can even be applied in a nested fashion due to uniform CSS specificity (0-1-0) for Global Styles introduced in WP 6.6.

In addition block style variations can now be:

  • registered across multiple block types at the same time
  • defined via multiple methods; primarily through 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. partials, or by passing a theme.json shaped object in the style’s data given to existing block style registration functions
  • customized via Global Styles (see also current limitations)

Usage

Registration of Block Style Variations

The block style variations that can be defined and manipulated through Global Styles are limited to those that have been registered with the WP_Block_Styles_Registry or via a block type’s styles property, such as Outline for the Button block. If a block style variation has not been registered, any theme.json or global styles data for it will be stripped out.

Any unregistered block style variation defined within a theme.json partial with be automatically registered.

Outlined below are three approaches to registering extended block style variations. The approaches leveraging theme.json definitions will automatically register the block style variation with the WP_Block_Styles_Registry.

Defining Block Style Variations

Outlined below are recommended approaches to registering extended block style variations.

Theme.json Partial Files

With the extension of block style variations to support inner element and block type styles, they essentially are their own theme.json file much like theme style variations. As such, block style variations also reside under a theme’s /styles directory. They are differentiated from theme style variations however by the introduction of a new top-level property called blockTypes. The blockTypes property is an array of block types the block style variation can be applied to.

A new slug property was also added to provide consistency between the different sources that may define block style variations and to decouple the slug from the translatable title property.

{
	"$schema": "https://schemas.wp.org/trunk/theme.json",
	"version": 3,
	"title": "Variation A",
	"slug": "variation-a",
	"blockTypes": [ "core/group", "core/columns", "core/media-text" ],
	"styles": {
		"color": {
			"background": "#eed8d3",
			"text": "#201819"
		},
		"elements": {
			"heading": {
				"color": {
					"text": "#201819"
				}
			}
		},
		"blocks": {
			"core/group": {
				"color": {
					"background": "#825f58",
					"text": "#eed8d3"
				},
				"elements": {
					"heading": {
						"color": {
							"text": "#eed8d3"
						}
					}
				}
			}
		}
	}
}

Programmatically

Within a theme’s functions.php or a 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, a call can be made to register_block_style, passing it an array of block types the variation can be used with as well as a theme.json shaped style object defining the variation’s styles. The style object provided here will be absorbed into the theme’s theme.json data.

register_block_style(
	array( 'core/group', 'core/columns' ),
	array(
		'name'       => 'green',
		'label'      => __( 'Green' ),
		'style_data' => array(
			'color'    => array(
				'background' => '#4f6f52',
				'text'       => '#d2e3c8',
			),
			'blocks'   => array(
				'core/group' => array(
					'color' => array(
						'background' => '#739072',
						'text'       => '#e3eedd',
					),
				),
			),
			'elements' => array(
				'link'   => array(
					'color'  => array(
						'text' => '#ead196',
					),
					':hover' => array(
						'color' => array(
							'text' => '#ebd9b4',
						),
					),
				),
			),
		),
	)
)

This approach has been enabled as a temporary means to facilitate ergonomic definitions of shared block style variations through theme style variations. It is being flagged here for transparency however it will likely be deprecated soon as the Global Styles architecture is updated to address growing complexity and simplify its mental model.

More details on what’s ahead for Global Styles can be found in this issue.

Shared block style variations can be defined via styles.variations. Style data defined under styles.variations will be copied to, and merged with, variation data stored at the block type level for all block types that have a matching variation registered for it.

Additionally, a new translatable title property has been added here to mirror the capabilities of the theme.json partial files outlined above.

The key for the variation correlates to the slug property for theme.json partials. In the example below, this would be variation-a.

{
	"$schema": "https://schemas.wp.org/trunk/theme.json",
	"version": 3,
	"title": "Theme Style Variation",
	"styles": {
		"variations": {
			"variation-a": {
				"color": {
					"background": "#eed8d3",
					"text": "#201819"
				},
				"elements": {
					"heading": {
						"color": {
							"text": "#201819"
						}
					},
				},
				"blocks": {
					"core/group": {
						"color": {
							"background": "#825f58",
							"text": "#eed8d3"
						},
						"elements": {
							"heading": {
								"color": {
									"text": "#eed8d3"
								}
							}
						}
					}
				}
			},
		}
	}
}

Backwards Compatibility

As the Section Styles feature was implemented via extensions to block style variations rather than as a replacement, existing block style variations will continue to work as before.

Limitations

The following limitations for block style variations in WordPress 6.6 should be noted:

  1. Only root styles, i.e. those that apply directly to the block type the block style variation belongs to, can be configured via Global Styles.
  2. Block style variations cannot redefine or customize inner block style variations.
  3. Block style variations do not support their own custom settings values (yet).
  4. Custom block style variations cannot be applied and previewed within the Style Book.

What’s Next?

The Global Styles UIUI User interface for block style variations will be updated to facilitate the customization of all available styles for inner elements and block types. This includes potentially enhancing the Style Book to support block style variations.

Another future enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. is the possible support for settings per block style variations.

Props to @bph, @oandregal and @juanmaguitar for review

#6-6, #core-editor, #dev-note, #dev-notes, #dev-notes-6-6, #gutenberg

WordPress 6.6 CSS Specificity

One of the goals of WordPress 6.6 is to simplify the process for theme authors to override coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. styles while also maintaining support for Global Styles.

Historically, high CSSCSS Cascading Style Sheets. specificity in core styles has made customization challenging and unpredictable, often requiring complex CSS rules to achieve desired outcomes. Development of the new section styles feature also highlighted a need for uniform CSS specificity to support nesting such styles, facilitating the creation of sophisticated, layered designs.

Uniform 0-1-0 Specificity

WordPress 6.6 introduces several changes aimed at broadly reducing CSS specificity and making it more uniform. These changes generally fall into two categories:

  1. Core 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. Styles
  2. 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. / Global Styles:

Where adjustments to CSS specificity were required, they were achieved by wrapping the existing selector within :root :where(...).

Core Block Styles

The choice of 0-1-0 specificity greatly reduced the changes required to existing core block styles as blocks targeting their default .wp-block- class already have the desired specificity.

Any blocks with Global Styles support using higher specificity selectors had those selectors wrapped in :root :where(...). This also applied to Block Styles (aka block style variations) and their default styles e.g., .wp-block-image.is-style-rounded img was updated to :root :where(.wp-block-image.is-style-rounded img).

Theme.json / Global Styles:

All block styles, including block style variation styles, output by theme.json and Global Styles are now limited to 0-1-0 specificity. Layout styles, e.g., constrained, flex, flow` etc., have also been limited however depending on the specific layout type and definition the final specificity varies slightly from 0-1-0 so they apply correctly.

Usage

The alignment of 0-1-0 specificity for Global Styles to default block selectors, e.g. .wp-block-, greatly reduces the need for updates. It’s recommended for theme and block authors to double-check their designs if they rely on custom CSS using more complex selectors.

Custom blocks

Authors of custom blocks that opt into global styles and apply default styling via a selector with greater than 0-1-0 specificity, should update those selectors wrapping them in :root :where().

An example could be a custom list block that opts into padding block support but defines default padding via:

ul.wp-block-custom-list {
    padding: 0;
}

Without adjusting the specificity of this rule, any customizations of the block type’s padding in Global Styles would be overridden. Wrapping the selector in :root :where() here would allow the style load order to determine which rule takes precedence.

// Block's stylesheet
:root :where(ul.wp-block-custom-list) { // This is a contrived example and could simply be `.wp-block-custom-list`
    padding: 0;
}

// Global Styles - Loaded after the block styles
:root :where(.wp-block-custom-list) {
    padding: 1em;
}

Block Styles (aka Block Style Variations)

Theme authors customizing Block Styles for a core block will need to limit their style’s specificity, so the block style continues to be configurable via Global Styles.

For example, take a theme that tweaks the border radius for the Image block’s rounded block style:

.wp-block-image.is-style-rounded img {
    border-radius: 2em;
}

Without adjustment, this style would override any customizations made to the Rounded block style within Global Styles.

In this case, the theme can tweak its rounded image style to the following:

//. Theme style
:root :where(.wp-block-image.is-style-rounded img) {
    border-radius: 2em;
}

// Global Styles - Loaded after the block styles
:root :where(.wp-block-image.is-style-rounded img) {
    border-radius: 4px;
}

Zero-Specificity, CSS Layers, and the future

Reducing all core styles to zero specificity was explored before settling on 0-1-0 specificity. Zero specificity unfortunately wasn’t robust in the face of common reset stylesheets and required more widespread changes.

CSS Layers were also evaluated but fell short due to not being able to enforce all styles belonged to a layer. This will change in the future at which point a combination of CSS Layers and zero-specificity can be revisited to further the benefits gained in this initial reduction of CSS specificity.

More history and context can be found in this detailed discussion.

Useful Links

Props to @bph and @juanmaguitar for review

#6-6, #core-editor, #dev-note, #dev-notes, #dev-notes-6-6, #gutenberg

Site-wide background images in WordPress 6.6

In WordPress 6.6 you can define site-wide background images 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. and the Site Editor.

A “site-wide” background image is one whose value is set on the body element using the background-image CSSCSS Cascading Style Sheets. property, and, therefore, appears on every page of a site.

An example might be a photo that stretches with the window size, or a repeating pattern background.

To customize how background images appear, WordPress 6.6 supports the following background style properties:

  • background position
  • background size
  • background repeat

Usage

In theme.json

In theme.json, site-wide background images and their properties are defined under "styles.background".

For example, as a single image URI in styles.background.backgroundImage.url:

{
	"styles": {
		"background": {
			"backgroundImage": {
				"url": "<a href="http://path.to/some/image.png">http://path.to/some/image.png</a>"
			},
			"backgroundSize": "cover"
		}
	}
}

For the above, WordPress will automatically wrap the image in the CSS url() function.

styles.background.backgroundImage also accepts string values, which can be any valid CSS value for background-image :

{
	"styles": {
		"background": {
			"backgroundImage": "url(<a href="http://path.to/some/image.png">http://path.to/some/image.png</a>)",
			"backgroundPosition": "center"
		}
	}
}

The above examples use absolute paths to image files. Such files would need to be hosted and maintained.

Most likely, theme developers will want to define background images using paths to a theme’s own assets. This ensures that the theme is self-contained and portable.

Relative paths to theme assets are defined using the file:./ prefix:

{
	"styles": {
		"background": {
			"backgroundImage": {
				"url": "file:./assets/my-theme-background.jpg"
			},
			"backgroundSize": "cover"
		}
	}
}

Paths are resolved on the backend using get_theme_file_uri.

Paths defined this way must be relative to the theme root, regardless of where the theme.json sits in your theme’s directory. This follows an existing pattern for web fonts.

Despite the dot in file:./, the special symbols dot (.) and double dot (..) for directory navigation are not supported in theme.json relative paths. This means, for example, that theme style variation files, which reside under the style/ directory, would use the same path as the theme’s main theme.json.

An issue exists to make the syntax more consistent.

In the Site Editor

Background images can be also be uploaded, and their properties tweaked through the Site Editor’s styles panel.

In WordPress 6.6, background image controls are located under Styles > Layout.

The styles panel navigation is undergoing review however, so in upcoming versions the location may change.

As well as setting new background images, it’s possible to “remove” a theme’s default background image in the Site Editor.

Relative paths to any images in theme.json are resolved on the backend, and are sent in the _links array of Global Styles REST responses. The Editor uses the resolved values to generate theme CSS in the client.

Limitations

In WordPress 6.6, the ability to define background images in theme.json exists only for top-level styles. Top-level styles apply to the body element. An open PR aims to also enable the feature at 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. level in the next WordPress release.

Work is also underway to:

  • add support for fixed images, using the background-attachment CSS property.
  • avoid conflicts between gradient backgrounds, whose values are currently set to the background property, and background-image. The proposal is that gradient backgrounds will also be set to background-image, and, where both an image and a gradient are defined, their values are merged .

Backwards compatibility

WordPress already has support for custom site-wide background images in the Customizer. The theme.json variant will not affect themes that have enabled this feature.

Background images added in 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. take precedence over those set in theme.json or in the Site Editor.

An ongoing discussion seeks to harmonize the two features.

What’s next

Progress on upcoming work is tracked on Background Image block support follow-up tasks.

Props to @andrewserong and @juanmaguitar for review

#6-6, #core-editor, #dev-note, #dev-notes, #dev-notes-6-6, #gutenberg

What’s new in Gutenberg 18.6

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


Gutenberg 18.6 has been released and is available for download!

51 contributors have shipped 157 pull requests in this release, and a big welcome to four new contributors. With WordPress 6.6 rapidly approaching, many contributors are focusing on bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, with this release including a total of 62 fixes. There are still some great features being worked on, and this release introduces the new background image feature to several blocks.

Thanks to everyone involved in this release! 👏

  1. Background image support for Quote, Verse and Post Content blocks
  2. DataViews: Extensibility APIs
  3. Changelog
  4. First-time contributors
  5. Contributors

Background image support for Quote, Verse and Post Content blocks

Screenshot of the quote block with a background image
Screenshot of the verse block with a background image

Freshen up the look of the quote, verse, and post content blocks using the new background image feature.

Previously, options for background images were limited to container blocks like the Cover and Group blocks, but with the feature now supported across several blocks, it’s easier for users to attain the look they want without nesting blocks.

Follow all the work on background images in the GitHub tracking issue.

DataViews: Extensibilty APIs

Very early work on extensibility for DataViews was shipped in this release.

‘DataViews’ is the component that powers the post listing views available in the Site Editor, and in the future will become an important part of the new adminadmin (and super admin) design project.

The 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. being explored will allow the registration of actions for different ‘entities’ (post types and other types of data represented by the listings). Right now, the API is private to 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 and will undergo further development and testing before being made public for third parties.

Find out more in the GitHub pull request for the feature, and read the recent update on DataViews for more background on the work.

Changelog

Enhancements

Design Tools

  • Post content 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.: Add background image and padding support. (62499)
  • Quote blocks: Add background image and minimum height support. (62497)
  • Verse block: Add background image and minimum height support. (62498)

Block Library

  • Post Date & Comment Date: Add relative date format. (62298)
  • Replace “Add new post” link text with more meaningful Label (v2). (62277)

Block Editor

  • LinkControl: Refined the display of the link preview title and URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org when both are same. (61819)
  • Update URL to uppercase. (62231)

Block bindings

  • Change bindings panel title, add description. (62489)

Site Editor

  • Unify DataViews 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. Title & Subtitle. (62429)
  • Template inspector: Small visual adjustments. (62537)

Document Settings

  • FlatTermSelector: Update the term suggestion limit. (62359)

Global Styles

  • Update custom CSSCSS Cascading Style Sheets. handling to be consistent with block global styles. (62357)

Post Editor

  • Try: Re-enable ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. StrictMode. (61943)

New APIs

Extensibility

  • DataViews: Bootstrap Actions Extensibility API. (62052)

Bug Fixes

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Fix errors when the entities list doesn’t contain configuration key. (62346)
  • Data Views: Bulk toolbar covering other clickable elements. (62333)
  • Fix: Omit default parameters from pages, template parts, and patterns. (62372)
  • Fix: Show homepage link on frontpage instead of the slug. (62279)
  • Fix: Unquoted file argument in declaration check script. (62482)
  • List: Fix pasting. (62428)
  • Revert CSS removal for interface footer breadcrumbs. (62309)
  • Revert test data for WithSlug variation. (62579)
  • Scripts: Pin the wordpress/scripts version to a version supported by 6.5. (62234)
  • Site Editor Hub: Simplify. (61579)
  • Style Book: Allow activation when the canvas mode is “view”. (62212)
  • Top toolbar: Fix half a pixel artifacting of the bottom border. (62225)
  • Try: Contextual frame bg color to avoid artifacting. (62223)
  • Try: Fix mover positioning. (62226)
  • Update instances of text-wrap: Pretty to fall back to balance. (62233)
  • MediaUpload: Remove dialog markup on close. (62168)

Global Styles

  • Add default-spacing-sizes and default-font-sizes options for classic themes. (62252)
  • Add custom CSS for block style variations. (62526)
  • Color Variations: Use Grid rather than VStack. (62445)
  • Don’t apply the background and text colors to typography previews. (62578)
  • Fix UIUI User interface appearing on blocks that don’t support text alignment. (62376)
  • Fix UI order for 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. spacing sizes. (62199)
  • Fix registration of theme style variation defined block styles. (62495)
  • Only use single property variations as color/type presets. (62469)
  • Section Styles: Register block style variations on init. (62461)
  • Section styles: Consolidate variation name. (62550)
  • Section styles: Support 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. for variations declared in theme.json or theme style variations. (62552)
  • Sort spacing sizes when all slugs begin numerically. (62567)

Site Editor

  • Change Site Editor to Edit site. (62501)
  • Fix “insert before/after” not showing for blocks in site editor. (62530)
  • Site Export: Ensure that the export endpoint uses Gutenberg theme classes. (61561)
  • Update old document URLs to new ones. (62206)
  • Update 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. title + icon + site title alignment. (62191)

Block Editor

  • Inserter: Allow focus to move to the toggle when opening the inserter. (62513)
  • Inserter: Return the same items when the state and parameters don’t change. (62263)
  • Remove ‘rootClientId’ argument for block lock selectors. (62547)
  • Update fetchLinkSuggestions to sort results by relevancy. (62397)

Block Library

  • Fixed Media Text Block Issue : When crop image to fill is enabled, the image in nested media & text blocks does not show. (62182)
  • Media & Text block: Fix nested Media & Text block media position issue with increased CSS specificity. (62184)
  • Query: Adjust the position of sticky search field in Patterns modal. (62370)

Post Editor

  • Editor: Avoid remounts of DocumentBar. (62214)
  • Editor: Make 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. more prominent. (62323)
  • Editor: Refine availability of rename post action. (62248)
  • Fix move CONTENT_ONLY_BLOCKS into component body to ensure the editor.postContentBlockTypes 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. gets called whenever the values are used. (62292)

Components

  • Ensure that openref is defined before accessing to .current. (62508)
  • Fix: Update styles for checkbox and radio controls. (61696)
  • Tabs: Prevent accidental overflow in indicator. (61979)

List View

  • Fix home and end key behaviour in very long lists. (62312)
  • Respect default shortcuts in modals. (62479)
  • Show context menu for content-only blocks in posts. (62354)

Block bindings

  • Fix applying bindings or pattern overrides to button blocks with empty text. (62220)
  • Fix site editor breaking when user selects bound and non-bound blocks at the same time. (62268)
  • Revert changes to bindings replacement logic to not use regex. (62355)

Synced Patterns

  • Block Bindings / Pattern Overrides: Prevent normal attribute updates when a __default binding exists. (62471)
  • Fix showing double icons for connected blocks in pattern editor. (62317)

Data Views

  • DataViews: Fix unnecessary horizontal scrollbar in list layout. (62448)
  • Page creation and duplication: Decode HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in success notices. (62313)

Patterns

  • Fix increasingly big canvas in the post editor when editing patterns. (62360)
  • i18n: Patterns: Disambiguate singular & plural uses of ‘Synced’ & ‘Unsynced’. (62375)

Data Layer

  • Data: Add error handle to the ‘registry.batch’ method. (62322)

Block Variations

  • Compare objects based on given properties. (62272)

Block Styles

  • Remove core block style variations filters and action. (62090)

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)

  • Add lint rule for inaccessible disabled Button. (62080)
  • Placeholders: Fix contrast. (62416)

Global Styles

  • Display tooltips for pagination buttons on styles revision. (62395)

Site Editor

  • Make edit site pagination buttons accessibly disabled. (62267)

Performance

  • reporter: Print the stdout/stderr from the worker. (62316)

Block bindings

  • Only run block bindings Gutenberg logic for sites using WordPress versions below 6.5. (62363)

Interactivity API

  • Use data-wp-on-async directives in core blocks when handler does not need synchronous access to event. (62160)

Experiments

Posts/Tags/Categories Screen

  • Bootstrap the dashboard layout. (62409)
  • Posts Dashboard: Add a new experimental empty page. (62406)

Documentation

  • Add @global PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher documentation. (60539)
  • Add documentation for PostSticky and PostStickyCheck component. (62100)
  • Add documentation for WordCount component. (62217)
  • Added documentation for PostTrash & PostTrashCheck TimeToRead TextEditorGlobalKeyboardShortcuts PostPublishButtonLabel Component. (62116)
  • Better changelogs for the JSX transform upgrade. (62265)
  • Corrected @SInCE Order in Php documentation. (61992)
  • Docs: Explicitly mention new behavior coming in WP 6.6 for block variations. (62399)
  • EntitiesSavedStates editor component. (62377)
  • Fix @since tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) in docblockdocblock (phpdoc, xref, inline docs) in WP_Theme_JSON_Data_Gutenberg. (62425)
  • 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. link on explanations documentation. (62487)
  • Fixing minor syntax in DataView example code. (62560)
  • Interactivity API template create block: Removed warning for generated README from template. (62324)
  • PostPublishButton, PostPublishButtonLabel editor components. (62379)
  • PostPublishPanel editor component. (62380)
  • PostSwitchToDraftButton editor component. (62381)
  • PostSyncStatus editor component. (62382)
  • PostTaxonomies, PostTaxonomiesCheck, PostTaxonomiesFlatTermSelector, PostTaxonomiesPanel related editor components. (62384)
  • Several typo correction in documentations. (62433)
  • TableOfContents editor component. (62385)
  • ThemeSupportCheck editor component. (62387)
  • Update React API reference links in wordpress/element reference-guides. (62475)
  • Update: Slotfill documentation samples (links, code, and rephrase). (62271)
  • UseEntitiesSavedStatesIsDirty editor component. (62388)
  • block.json schema: Add supports.splitting field. (62209)

Code Quality

  • Add support for local keyframes through a PostCSS plugin. (62476)
  • Block style variation: Rename hook. (62464)
  • Chore: Simplify a padding style on global styles. (62291)
  • Convert autop package to TS. (62583)
  • Convert blob package to TS. (62569)
  • Convert escape-html package to TS. (62586)
  • Convert token-list package to TypeScript. (62584)
  • Convert warning package to TS. (62557)
  • Editor: Cleanup styles and classnames. (62237)
  • Editor: Deprecate PostSwitchToDraftButton. (62402)
  • Editor: Introduce the Editor component and use it in the site editor. (62274)
  • Fix unintended overwrite of eslint no-restricted-syntax. (62301)
  • Fix: Add network-active to valid options in PluginStatus Type definition. (62450)
  • Fix: Flakey deferred store test. (62571)
  • Fix: Remove unused code from dataviews styles. (62275)
  • Fix: Remove unused typography panel styles. (62295)
  • Fixed : Disambiguate “Cover” translatable string in the context of background-panel.js. (62440)
  • Move the template part menu items to the editor package. (62366)
  • Shortcut Help modal: Remove CSS hack for Internet Explorer 11. (62564)
  • Use stable reference for getEntityActions action. (62536)

Global Styles

  • Global styles code quality refactoring. (62299)
  • Migrate theme.json based on origin. (62305)
  • Send theme object to setUserConfig. (61805)

Synced Patterns

  • Extract the pattern overrides toolbar indicator from the block-editor package. (62514)
  • Remove unused syncDerivedUpdates action. (62229)

Post Editor

  • Editor: Combine selector in provider component. (62407)
  • Editor: Use the Editor component in the post editor. (62339)

Site Editor

  • Remove editor specific classes from shell wrapper. (62389)
  • Remove unused code. (62286)

Icons

  • Fix React warning error for offline icon. (62353)

Data Views

  • Chore: Simplify a padding style on dataviews. (62276)

Block Editor

  • Use border instead of hr for filtered block list separator. (62249)

Block bindings

  • Use preview instead of publishing post in block bindings tests. (62235)

Block API

  • Parser: Update validateBlock to use fixedBlock. (62178)

Tools

Testing

  • Fix flaky Site Editor command center end-to-end test. (62454)
  • Perf Tests: Use backward-compatible locators. (62362)
  • Test using Node.js 22.x. (62341)
  • Try: Fix flaky DataViews end-to-end test. (62413)
  • Update Node version for flaky test reporter. (62401)
  • end-to-end Utils: Add retry mechanism to 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/. discovery. (62331)

Build Tooling

  • Build JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. module only in development mode. (62398)
  • Speed up check-build-type-declaration-files. (62538)

wp-env

  • Add JSON Schema for .wp-env.json files. (36276)
  • Add WP_ENV_TESTS_MYSQL_PORT / .wp-env.json .env.tests.mysqlPort option etc. (61057)

Various

  • Update all ConfirmDialogs in the codebase to be size=medium. (62532)

REST API

  • Themes REST API endpoint: Add stylesheet_uri and template_uri fields to the response (WP 6.6). (62211)

First-time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw@aaronware@afercia@ajlende@akasunil@amitraj2203@andrewserong@BrianHenryIE@carolinan@carstingaxion@cbravobernal@colorful-tones@DaniGuardiola@desrosj@ellatrix@fabiankaegy@geriux@gigitux@gziolo@jameskoster@jasmussen@jeryj@joemcgill@jorgefilipecosta@jsnajdr@juanmaguitar@kevin940726@Mamaduka@mcsf@mirka@narenin@noisysocks@ntsekouras@oandregal@ockham@ramonjd@richtabor@SantosGuillamot@scruffian@shail-mehta@sirreal@stokesman@t-hamano@talldan@tellthemachines@tjcafferkey@up1512001@vipul0425@westonruter@WunderBart@youknowriad

Props to @jameskoster for the visual assets, @priethor for handling the release candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). at short notice, @andrewserong, @isabel_brison, @annezazu, and @matveb for help with drafting and proof reading this post.

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

What is new in Gutenberg 18.5 (05 Jun)

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

Gutenberg 18.5 has been released and is available for download!

Gutenberg 18.5 introduces several exciting features, enhancements, and some 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 of the highlights of this release include better tools for section styling, providing more customization options for your sections, a new Custom Shadows feature which improves the control over our shadows, and also the ability to edit a 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 custom fields directly in the block itself, thanks to the latest additions to the Block Bindings 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..

Additionally, this release supports copying custom CSSCSS Cascading Style Sheets. between variations, relative theme path URLs for background images 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., and improved consistency in root padding across blocks.

  1. Section Styling with Extended Block Style Variations
  2. Custom Shadows!
  3. Block Bindings: Edit in Post Meta Source
  4. Other Notable Highlights
  5. Changelog
  6. First time contributors
  7. Contributors

Section styling with extended block style variations

From the Dev Notedev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. draft:

Section-based styling has been enabled by extending the existing Block Styles feature (aka block style variations) to support styling inner elements and blocks. These enhanced block style variations can even be applied in a nested fashion due to uniform CSS specificity (0-1-0) for Global Styles, which will be introduced in WordPress 6.6.

In addition block style variations can now be:

  • Registered across multiple block types at the same time
  • Defined via multiple methods; theme.json partials, within theme style variations, or by passing a theme.json shaped object in the style’s data given to existing block style registration functions
  • Customized via Global Styles

Read more.

Custom shadows!

The new Custom Shadows feature allows for the creation and editing of shadows within Global Styles. Users can now add depth and visual interest to their site elements with more nuanced shadow effects.

Block Bindings: allow editing 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. directly in blocks

Using the latest changes to the Block Binding API, this change means that we can now edit the value of custom fields directly through the blocks when they are connected to those fields. For example, when a paragraph block’s content is bound to a 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., the user can edit the custom field value by editing the block content.

Other Notable Highlights

  • Copy custom CSS between variations when switching (61752)
  • Support Relative Theme Path URLs for Background Images in theme.json (61271)
  • Improve Consistency in Root Padding Across Blocks (60715)

Changelog

Features

Global Styles

  • Add defaultSpacingSizes option (theme.json v3). (61842)
  • Edit/create shadows in global styles. (60706)
  • Relocate Background Image controls to sit under Layout. (61886)

Block Library

  • Enable shadow support for cover block. (61883)

Block bindings

  • Allow editing in post meta source. (61753)

Script Modules API

  • Add script module data implementation. (61658)

Synced Patterns

  • Add __default binding for pattern overrides. (60694)

Block Styles

  • Extend block style variations as mechanism for achieving section styling. (57908)

Enhancements

  • Block card: Fix typographic widow. (61438)
  • Block settings: Update variant of “Apply globally” Button component to secondary. (61850)
  • Editor: Align the Post Format control design with the rest of the post 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. controls. (62066)
  • Editor: Polish the style of some of the post summary rows. (61645)
  • Format Library: Refactor ‘Inline Image’ edit component. (62135)
  • Playwright end-to-end Utils: Add fullscreenMode option to createNewPost. (61766)
  • Post Sticky Toggle: Improve the design. (62012)
  • Post Summary: Move PostTemplatePanel below URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org and Author. (62137)
  • Remove trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. button in post/page inspector. (61792)
  • Shadows instead of borders on interface skeleton. (61835)
  • Tweak contextual block toolbar position. (61836)
  • Update: For synced entities the icon should be purple. (62024)
  • Update: Implement new author panel design. (61362)
  • Update: Implement new parent and order design. (61918)
  • Update: Move duplicate pattern and template part actions to the editor package. (61879)

Site Editor

  • Block Editor: Check for multiple block usage in the block-editor package. (62086)
  • Copy custom CSS between variations when switching. (61752)
  • Data views: Align page headers. (62115)
  • Inspector summary rows: Make tooltips appear middle-left. (61815)
  • Inspector: Add ‘/’ prefix to Link button. (62073)
  • Inspector: Display home / posts page badge. (62071)
  • Inspector: Remove 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. panel. (61867)
  • Make post meta row button treatment consistent. (61954)
  • Remove ‘Manage…’ prefix in Pages / Templates data views. (62107)
  • Remove the details pages. (61741)
  • Update actions order in site editor for template and template parts. (61803)
  • Use site title as a link. (61258)
  • [Site Editor]: Add create pattern button in patterns page. (60302)
  • withRegistryProvider: Prevent intermediate state with no children. (61859)

Data Views

  • Add badge to title for posts & front pages. (61718)
  • Clarify date value in Pages. (61709)
  • DataViews: label prop in Actions API can be either a string or a function. (61942)
  • Fix pagination position on pages with short lists. (61712)
  • Pages data view: Add Pending and Private views. (62138)
  • Pages sidebar: Adds published & scheduled items. (62021)
  • Stop Patterns data view 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. shrinking. (61801)
  • Update grid layout on small screens. (61820)
  • Update list layout action styling. (61797)
  • Update page component (and some data view elements) spacing metrics. (61333)
  • Visually hide ‘Actions’ column header. (61710)

Global Styles

  • Add block-level Text Alignment UIUI User interface. (61717)
  • Add option to remove site-wide theme background image. (61998)
  • Background image: Add support for relative theme path URLs in top-level theme.json styles. (61271)
  • Background image: Update controls defaults and layout. (62000)
  • Background images: Add defaults for background size. (62046)
  • Don’t 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. out typography variations where the heading and body fonts are the same. (61327)
  • Make color variations fit in a bit better visually. (61617)
  • Make it clearer how to edit a site’s palette. (61364)
  • Move type presets below elements. (61863)
  • Restore the default variation to the color and typography style tiles. (61901)
  • Show shadow tool by default under global styles. (61981)

Components

  • Add vw and vh units to the custom font size picker. (60607)
  • CustomSelectControlV2: Use InputBase for styling. (60261)
  • Tabs: Indicator animation. (60560)
  • Try: Add CSS Custom Properties to CSS types. (61872)

Zoom Out

  • Hide inserters behind the experiment flag. (61866)
  • Inserter: Auto-close the inserter unless the zoom out experiment is on. (61856)
  • Show the inserters only when a section is selected. (61559)
  • The patterns tab behind a new experiment. (61601)

Block Editor

  • Adjust pattern list items resting, hover, focus styles. (61831)
  • Tweak pattern categories sidebar. (62113)
  • Writing flow: Remove first empty paragraph on Backspace. (61889)

Block bindings

  • Add Block Bindings Panel to Block Inspector. (61527)
  • Add indicator for metadata changes to Save Panel when reviewing modified entities. (61811)
  • Lock binding editing with functions. (61734)

Block Variations

  • Detect active variation correctly based on RichText attribute. (62325)
  • Have getActiveBlockVariation return variation with highest specificity. (62031)
  • Support dot notation in isActive string array. (62088)

Layout

  • More consistent root padding. (60715)
  • Try using coloured overlay instead of border for grid visualiser. (61390)

Block Library

  • Added Bluesky icon to the Social Icon Block. (61372)
  • Media & Text: Replace the deprecated __experimentalImageSizeControl with ResolutionTool. (57540)

Inspector Controls

  • Align both “Design” pattern list panels. (62161)

Post Editor

  • Add home template details to inspector controls. (61762)

Interactivity API

  • Clarify some warning messages. (61720)

Patterns

  • Adjust the icons and text of the binding connected blocks. (61560)

Bug Fixes

  • Editor: Only render the site logo once if there’s a fill. (62320)
  • Interactivity API: Increase directive wp-each-child priority. (62293)w
  • Compose: Fix ‘useFocusOnMount’ cleanup callback. (62053)
  • Do not auto save post status changes. (62171)
  • Editor: Fix canvas padding in post editor. (61893)
  • EntityProvider: Avoid remounts and simplify. (61882)
  • Fix shadow and border for pattern categories panel. (62158)
  • Image Block: Conditionally Render Block Control Based on Component Presence. (62132)
  • Interactivity API: Fix null and number strings as namespaces runtime error. (61960)
  • PostCardPanel: Fix ESLint error. (62109)
  • Remove build-types/ clean from clean:Packages. (62008)
  • Script Modules: Fix private method reflection access. (62154)
  • ServerSideRender: Fix data loading in development mode. (62140)
  • Shadow Panel: Make subtitle translatable. (62022)
  • Site Editor: Fix the Root Padding styles. (61906)
  • Writing flow: Fix heading crash on split (via paste). (61900)
  • e2e: Fix Site Editor Styles test. (62111)

Post Editor

  • Consolidate and fix delete and edit post actions. (61912)
  • Consolidate and fix rename post action. (61857)
  • Document Bar: Decode HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities and take into account cases where there is no title. (62087)
  • Editor: Don’t apply purple accent to the unsynced pattern title. (61704)
  • Editor: Ensure Copy button in sidebar copies whole permalink, with URL protocol. (61876)
  • Editor: Fix the ‘DocumentBar’ position for long titles. (61691)
  • Editor: Render publish date control when the status is future(scheduled). (62070)
  • Editor: Unify button size in pre-publish panel. (62123)
  • Editor: Use edited entity for post actions. (61892)
  • Fix read only post status styles. (61722)
  • Post Actions: Hide the trash action for auto-drafts. (61865)

Block Editor

  • Inserter: Update Openverse API URLs. (62241)
  • Fix being unable to switch modes while inserter is open. (61563)
  • Fix editor inserter tabs indicator. (61973)
  • Fix positioning of close icons in panels to be consistent. (61832)
  • Fix syncing of publish date between publish and post status panel. (62165)
  • Improve link conrol preview when show button text label is enabled. (61726)
  • Inserter: Show all blocks (alternative). (62169)
  • InspectorControls: Text not displayed when “Show button text labels” is enabled. (61949)
  • Link Control: Fix focus handlers in development mode. (62141)
  • Media & Text block: Remove the link option when 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. is used. (60510)
  • Writing flow: Fix paste for input fields. (61389)

Block Library

  • Classic block: Fix content syncing effect for ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. StrictMode. (62051)
  • Don’t steal focus when opening browse all blocks. (61975)
  • Fix: The latest post block – post titles overlapping. (61356)
  • Fixed : Update alt text decision tree links to be translatable. (62076)
  • Fixed: Custom HTML Block should display content in LTR layout for all languages. (62083)
  • More block: Fix React warning when adding custom text. (61936)
  • useUploadMediaFromBlobURL: Prevent duplicate uploads in StrictMode. (62059)

Global Styles

  • Fix make dimensions.aspectRatios key of theme.json files translatable. (61774)
  • Hide the presets panel for when there are less or exactly one presets available. (62074)
  • Prevent Typography panel title from wrapping. (62124)
  • Shadow Panel: Generates unique shadow slugs by finding max suffix and incrementing it. (61997)
  • Styles: try wrapping with :Root to fix reset styles. (61638)
  • Transform Styles: Update selector so that styles work when custom fields panel is active. (62121)

Site Editor

  • Align the template title to the center in the ‘Add template’ screen. (62175)
  • Close publish sidebar if not in edit mode. (61707)
  • Fix the site editor Adminadmin (and super admin) Bar menu item. (61851)
  • Use a consistent snackbar position. (61756)

Components

  • Fix: The focus styles for tabPanel. (61317)
  • InputControl: Fix z-index issue causing slider dots to appear in front of the Appearance dropdown. (61937)
  • getAutocompleterUI: Don’t redefine ListBox component on every render. (61877)

Synced Patterns

  • Block Bindings: Filter pattern overrides source in bindings panel. (62015)
  • Fix detaching patterns when a pattern has overrides, but there are no override values. (62014)

Block bindings

  • Don’t show non-existing and not supported attributes in block bindings panel. (62183)

Layout

  • Remove extra bracket in the site editor root padding styles. (62159)

Block Styles

  • Fix block style variation styles for blocks with complex selectors. (62125)

Code Editor

  • Editor: Unify text/code editor between post and site editors. (61934)

Page Content Focus

  • Remove lock icons from Content blocks inner blocks when editing a page in the site editor. (61922)

Patterns

  • Templates: Only resolve patterns for 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/. endpoints. (61757)

Interactivity API

  • Turn named capturing groups back into numbered ones inside toVdom. (61728)

Block API

  • Fix: Enable Text Align UI to be controlled correctly with theme.json. (61182)

REST API

  • Return an empty object when no fallback templates are found (wp/v2/templates/lookup). (60925)

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

  • Shadow Panel: Improve 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) and fix browser console error. (61980)

Data Views

  • Always show Actions table header. (61847)

Block Library

  • Fix: Adds help props for description of Play Inline toggle. (61310)

Performance

  • Perf: Batch block list settings in single action. (61329)
  • Remove additional call to WP_Theme_JSON_Gutenberg::__construct. (61262)

Interactivity API

  • Introduce wp-on-async directive as performant alternative over synchronous wp-on directive. (61885)

Post Editor

  • DocumentBar: Only selected data needed for rendering. (61706)

Experiments

Interactivity API

  • Use output buffer and HTML 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.) processor to inject directives on BODY tag for full-page client-side navigation. (61212)

Documentation

  • Add JSDoc to PostVisibility, PostVisibilityCheck, and PostVisibilityLabel. (61735)
  • Add PostURL component documentation. (61737)
  • Add a section about block filters to the Filters and 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. doc. (61771)
  • Add an example and improve readability of the Block Filters doc. (61770)
  • Add docblockdocblock (phpdoc, xref, inline docs) to PostTitle and PostTitleRaw component. (61740)
  • Add documentation for DocumentBar. (61733)
  • Add documentation for PostFeaturedImage, PostFeaturedImageCheck, PostFeaturedImagePanel. (61165)
  • Add documentation for PostLastRevision, PostLastRevisionCheck, PostLastRevisionPanel components. (61166)
  • Add documentation for PostSchedule, PostScheduleCheck, PostSchedulePanel, PostScheduleLabel, usePostScheduleLabel components. (61345)
  • Add documentation for the EditorNotices component. (61736)
  • Add documentation for the EditorProvider and ExperimentalEditorProvider components. (61739)
  • Added missing global documentation. (61537)
  • Changelog: Add note about removing legacy operators. (62013)
  • Docs: Fix spacing in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher doc block in comments block. (61911)
  • EditorBoundary editor component. (61950)
  • Fix typo. (61830)
  • Fix: Block library README.md link. (62081)
  • Fix: Custom block editor link. (61962)
  • For PostTextEditor component. (62099)
  • LocalAutosaveMonitor editor component. (61951)
  • PageTemplate + PostTemplatePanel editor components. (61961)
  • PostComments editor component. (61964)
  • PostDiscussionPanel editor component. (61966)
  • PostExcerptPanel editor component. (61967)
  • PostLockedModal editor component. (61968)
  • PostPendingStatus + PostPendingStatusCheck editor components. (61970)
  • PostPingbacks editor component. (62035)
  • PostPreviewButton editor component. (62036)
  • Storybook: Add badges based on tags. (61111)
  • Update PostFormat, PostFormatCheck editor component documentation. (61732)
  • Update block.json file with correct links. (61880)
  • Update link to architecture key concepts. (61965)
  • Update links to correct lodash website. (62188)
  • Update 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-document-setting-panel.md. (61782)
  • Update tutorial.md. (62054)

Code Quality

  • Add curly brace autofix commit to .git-blame-ignore-revs. (62144)
  • Add eslint rule for curly brace presence in JSX. (62026)
  • Blocks: Remove pipe usage and dependency on compose. (62127)
  • Clean up packages build-types when cleaning types. (61939)
  • Command Palette: Remove unused URL parameter. (61783)
  • Commands: Unify the editor context between post and site editors. (61862)
  • Dataviews: Remove unused dependencies. (62010)
  • Distraction Free: Unify the header animation. (62167)
  • Editor: Move editor toggle commands to the editor package. (62093)
  • Editor: Move the InterfaceSkeleton to the editor package. (62118)
  • Editor: Move the resizing of the editor to the EditorCanvas component. (61896)
  • Editor: Remove extra div container and unify the container between post and site editors. (62016)
  • Editor: Remove obsolete listViewLabel prop from DocumentTools. (62032)
  • Editor: Remove useless props from InserterSidebar component. (62103)
  • Editor: Unify the MediaUpload hook between post and site editors. (62085)
  • Editor: Unify the content area of the post and site editors. (61860)
  • Fix: React compiler error on button. (61958)
  • Fix: Remove unused css block on patterns page. (62058)
  • Fix: Remove unused css code from the navigation screen. (62060)
  • Fix: Some jsdoc return types on edit site selector. (62061)
  • Improve distclean script. (62019)
  • Interactivity API: Move all utils inside utils.ts. (61721)
  • Interactivity API: Move init.js to TypeScript. (61723)
  • Make onPatternCategorySelection private. (62130)
  • Remove useless clsx calls. (61969)
  • Rename backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch.-changelog/6279.md to backport-changelog/6.6/6279.md. (61894)
  • Update: Remove unused components. (61955)
  • end-to-end Tests: Fix React warnings triggered by test plugins. (61935)

Components

  • CustomSelectControl: Fix menuProps mutation. (62149)
  • Fix remaining warning in ColorPanelDropdown. (61933)
  • Make the ProgressBar public. (61062)
  • Remove reduceMotion utility. (61963)
  • SlotFills: Use state for registry initialization. (61802)
  • Style Book: Use state to initialize examples. (61848)
  • Tooltip: Fix Ariakit tooltip store usage. (61858)
  • ProgressBar: Simplify default width implementation and make it more easily overridable. (61976)

Block Editor

  • Fix ZoomOutModeInserters dependencies. (61908)
  • Fix wrapper props mutation in BlockListBlock. (61789)
  • Remove some utility functions. (61784)
  • Shadows: Unlock private components and hooks at the file level. (61790)
  • Unlock private setting keys at the file level. (61813)
  • Unlock the private ‘kebabCase’ function at a file level. (60755)
  • useBlockInspectorAnimationSettings: Remove unnecessary deps. (61822)

Data Views

  • DataViews: Full type the dataviews package. (61854)
  • DataViews: Remove non-used file. (61853)
  • DataViews: Remove unnecessary dependency for pattern fields memo. (61870)
  • DataViews: Type all the filters components. (61795)
  • DataViews: Type the BulkActionsToolbar component. (61673)
  • DataViews: Type the ViewActions component. (61729)
  • DataViews: Type the ViewTable component. (61682)

Block Library

  • Added 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. for post excerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. block render function. (43451)
  • Avoid using component naming conventions for non-component code. (61793)
  • Button: Fix ESLint warning. (62126)
  • Remove CSS hack for Internet Explorer 11. (62043)
  • Remove useless styles. (62017)
  • Search Block: Fix borderRadius mutation. (61794)

Site Editor

  • History: Add getLocationWithParams method. (61823)
  • Navigation Focus Mode: Remove leftover code. (61897)
  • Remove useless onClick handler. (61902)
  • Update to use the EditorInterface component from the editor package. (62146)

Block hooks

  • Navigation block: Check for insert_hooked_blocks_into_rest_response i…. (62134)
  • Navigation block: Check for update_ignored_hooked_blocks_postmeta in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. (61903)

Font Library

  • Font Library Modal: Remove some contexts. (62042)

Post Editor

  • Template Actions: Fix console error when resetting template. (61921)

Global Styles

  • Components: Fix React Warning triggers by the new JSX transform. (61917)

Interactivity API

  • Interactivity API : Refactor interactivity-router to TS. (61730)

CSS & Styling

  • Fix editor view mode canvas shadow. (61688)

Tools

  • Build: Use globalThis over process.env and enable TS lib checking. (61486)

Testing

  • E2E: Fix canvas waiter in visitSiteEditor. (61816)
  • PaletteEdit: Fix another flaky test. (61818)
  • PaletteEdit: Fix flaky test. (61791)
  • Shadow: Add unit tests for shadow support. (60063)
  • Skip flaky ‘Zoom out’ end-to-end test. (61925)
  • Synced Pattern: Wait for pattern creation in end-to-end tests. (62174)
  • Tests: Change how directives processing gets disabled. (62095)
  • Workflows: Try a backport changelog. (61785)

Build Tooling

  • Add 60 minute timeout to performance job. (61957)
  • Enable parallel processing for PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. sniffssniff A module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food.. (61700)
  • Fix an issue causing wp-scripts commands to fail if the file path contained a space character. (61748)
  • React: Upgrade to the new JSX transform. (61692)
  • Workflows: Test to check for label and skip backport changelog. (61808)

Various

  • Inserter: Encapsulate styles for tablist and close button. (61760)
  • Update ‘Add template’ screen to prefer template_name label instead of singular_name. (60367)
  • Update: Move pattern actions to the editor package. [take 2]. (61612)

Global Styles

  • Update copy for color variations from “Presets” to “Palettes”. (62147)

Synced Patterns

  • Remove IS_GUTENBERG_PLUGIN check to ensure pattern overrides ship in 6.6. (62011)

npm Packages

  • Packages: Increase the minimum required Node.js version to v18.12.0. (61930)

Layout

  • Update child layout selector to match core. (61777)

Components

  • Introduce Combobox expandOnFocus property. (61705)

First time contributors

The following PRs were merged by first time contributors:

  • @akashdhawade2005: Fix: Block library README.md link. (62081)
  • @amitraj2203: Added Bluesky icon to the Social Icon Block. (61372)
  • @dbrian: Add JSDoc to PostVisibility, PostVisibilityCheck, and PostVisibilityLabel. (61735)
  • @gemkev: Update tutorial.md. (62054)
  • @kellenmace: Fix an issue causing wp-scripts commands to fail if the file path contained a space character. (61748)
  • @narenin: Fixed: Custom HTML Block should display content in LTR layout for all languages. (62083)
  • @nateinaction: Add documentation for the EditorProvider and ExperimentalEditorProvider components. (61739)
  • @paolopiaggio: Playwright end-to-end Utils: Add fullscreenMode option to createNewPost. (61766)
  • @sanjucta: Add docblock to PostTitle and PostTitleRaw component. (61740)
  • @vipul0425: Fix: The latest post block – post titles overlapping. (61356)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @abhi3315 @afercia @ajlende @akashdhawade2005 @akasunil @Aljullu @amitraj2203 @andrewserong @anton-vlasenko @anver @artemiomorales @carolinan @cbravobernal @colorful-tones @creativecoder @DaniGuardiola @DAreRodz @dbrian @draganescu @ellatrix @fabiankaegy @fullofcaffeine @gemkev @geriux @glendaviesnz @gziolo @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @kellenmace @kevin940726 @kt-12 @madhusudhand @Mamaduka @mattsherman @mcsf @michalczaplinski @mirka @narenin @nateinaction @ndiego @ntsekouras @oandregal @ockham @paolopiaggio @ramonjd @retrofox @richtabor @sanjucta @SantosGuillamot @scruffian @senadir @shail-mehta @sirreal @stokesman @t-hamano @talldan @taylorgorman @tellthemachines @tjcafferkey @twstokes @tyxla @vcanales @vipul0425 @westonruter @WunderBart @youknowriad

Props to @annezazu, @gziolo, @aaronrobertshaw for their support in and @joen for his help with the post’s assets!

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