What’s new in Gutenberg 15.8? (May 17)

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

Gutenberg 15.8  has been released and is available for download!

For the latest release of the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, contributors continued improvements to existing UIUI User interface and UXUX User experience for content creators, site owners working on their own site, or theme developers creating new themes. Users will find small changes for streamlined workflows, fixed bugs, and refined responsiveness, just to name a few. The release includes 192 PRs by 63 contributors, of which 4 merged their first contributions. Congratulations to all.

Table of contents

  1. Add the pages menu to the site editor
  2. Add revisions UI to the global styles interface
  3. Add Theme Previews for block themes
  4. Changelog

Add the pages menu to the site editor

The site editor now exposes the ten most recently updated pages so you can directly jump into editing them. This is another step to explore adding back the ability to edit content right from within the site editor. (50463)

Add 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. UI to the global styles interface

In the global styles interface, you can now navigate through any revisions and browse how the site looked at that point in time. Any saved changes get shown in a timeline with when they occurred and who made the changes. (50089)

Add Theme Previews for 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. themes

Previewing different themes has never been easier. By introducing a new theme_preview parameter, previewing how your site would look with a different theme right inside the site editor is now possible. (50030)

Changelog

Enhancements

Global Styles

  • Fluid typography: Use layout.wideSize as max viewport width. (49815)
  • Global styles revisions: Remove human time diff and custom author fields from 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. response. (50234)
  • Unify the global block styles panel with the block inspector panels. (49428)

Post Editor

  • Add <ViewLink> component. (50260)
  • Update background color of post editor when viewing mobile or tablet viewports, or in template mode. (50361)
  • Display device icon on “preview” and “view” buttons. (50218)
  • Improve “switch to draft” placement. (50217)
  • Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: New design for Replace and Remove buttons. (50269)

Block Library

  • More intuitive Details block with summary and innerBlocks content. (49808)
  • Simplify cover block description. (50355)
  • Cover: Only show overlay controls when color support enabled. (50115)
  • Navigation: Hide color controls when color support is disabled. (50368)
  • Post Featured Image: Hide overlay controls when color support is disabled. (50331)
  • Social Icons: Hide color controls when color support is disabled. (50275)

Fonts API

  • Separate BC Layer. (50077)

Site Editor

  • Add the pages menu to the site editor. (50463)
  • Introduce new PluginTemplateSettingPanel slot. (50257)
  • Add chevrons to the templates and template parts in site editor. (50076)

Components

  • Button: Add opt-in prop for next 40px default size. (50254)
  • Consolidate and add documentation to Storybook. (50226)
  • DimensionControl: Use WordPress package instead of reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. in code example. (50435)
  • FormTokenField, ComboboxControl: Add opt-in prop for next 40px default size. (50261)
  • Global Styles: Fix palette color popovers. (49975)
  • Relax link pattern matching in CHANGELOG CI check. (50248)
  • Remove custom padding for tertiary buttons. (50276)
  • Update Autocomplete usage example. (49965)
  • Update default accent color. (50193)
  • Update has-text has-icon button spacing. (50277)

CSSCSS Cascading Style Sheets. & Styling

  • Polish confirm dialog padding. (50283)

Template Editor

  • Remove start blank option in template pattern suggestions and add skip button. (50099)
  • Templates: Sort by the rendered title instead of the slug. (50353)

Block Editor

  • List View: Allow dragging to all levels of the block hierarchy. (49742)
  • Allow dragging-and-dropping images from the inserter to image blocks. (49673)
  • Try always showing the dimensions controls. (50305)
  • Adds a renderAdditionalBlockUI prop to ListView. (50465)
  • Update the expanded text color so that it works in both a dark and light context. (50434)
  • Enable Loginout block in Nav block. (49160)
  • Mark related selector as resolved when sideloading Navigation fallback. (50324)
  • Update Template Parts icon to use the symbol. (50410)
  • Use CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data for Nav fallbacks and side load resulting entity into state. (50032)
  • Tweak copy for block settings menu “Insert…” to “Add…”. (50444)
  • Block settings menu: Rearrange items. (50453)

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

  • Update image editor to use new REST API. (28530)

Bug Fixes

Block Library

  • Center align button text in editor. (50228)
  • Comment Template Block: Set commentId context via 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.. (50279)
  • Cover: Use overflow: clip, falling back to overflow: Hidden to allow sticky children (technically). (50237)
  • Ensure imported Classic Menu dirty state to include in Editor entity changes list. (50318)
  • File Block: Defer hiding PDF embeds for unsupported browsers until the page has loaded. (50113)
  • Fix template part area variation matching. (49500)
  • Fix the pocket casts embed variation. (50132)
  • Gallery: Fix inner block selection. (50363)
  • Post Terms: Use publicly_queryable to query taxonomies used to register variations. (50244)
  • Remove extraneous “Link” copy from PanelBody components. (50186)
  • Remove Quote transform from Group (50424)
  • [Post Featured Image]: Revert maxWidth addition. (50427)
  • [Post Title]: Insert default block on Enter at end. (50312)
  • Ensure that view scripts are correctly registered for core blocks. (50364)

Global Styles

  • Close stylebook if the editor canvas container slot is not filled. (50086)
  • Fix positioning of gradient palette popovers on mobile. (50233)
  • Fix/wp get global styles for custom props returns internal variable. (50366)
  • Revisions controller: Fix author and date fields. (50117)
  • Fix hover/focus styles for style variation buttons. (50056)

Block Editor

  • Fix issue with margin collapsing when selecting blocks. (50215)
  • List View / Block Draggable: Fix scroll to top issue when dragging the second last block in the list. (50119)
  • Multi-select: Capitalise B in blocks. (50356)
  • URLInput: Update the ‘ENTER’ key down event handler. (50158)
  • Update OffCanvas component’s more menu to get clientId from block rather than passed in as prop. (50473)
  • Block Toolbar: Don’t use effects for focus management. (50497)
  • Don’t remount the block when the ‘templateLock’ is set to ‘contentOnly’. (50292)

Themes

  • Refactor theme previews. (50338)
  • Remove gutenberg plugin mention in schema. (50207)
  • Theme Preview: Restrict to adminadmin (and super admin) users. (50335)
  • Theme Previews: Fix refactor. (50354)

Site Editor

  • Display conditionally the styles in sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. main navigation screen. (50329)
  • Remove canvas box shadow. (50374)
  • Save Button: Fix the label in the disabled state. (50284)
  • Remove white background on Site Editor ‘Frame’. (48970)
  • Update some visual details in the add-template modal(s). (50143)

Components

  • Spacing: Fix reset of spacing sizes control. (50455)
  • NavigableContailer: Do not trap focus in TabbableContainer. (49846)
  • Remove fill=”none” from levelUp icon. (50264)

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 missing tooltip to Site Editor navigation Back icon button. (50104)
  • Fix Multiple Tooltips from Focus Toolbar Shortcut on WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor. (50344)
  • Site Editor Keyboard Navigation Flow. (50296)
  • Small improvements for the sidebars and Close buttons labeling. (49614)

Design Tools

  • Changed so that borders and radius are maintained when Duotone is changed. (50088)
  • LineHeightControl: Fix application of zero values in editor. (48917)

Fonts API

  • [Font API] Do not print in admin using ‘admin_print_styles’ for themes with 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.. (50259)

Widget Editor

  • Fixes fixed block toolbar in widgets editor. (50371)

Performance

  • Improve Site Editor loading experience(50222)

Experiments

Interactivity API

  • Add Interactivity API runtime. (49994)
  • Navigation block with the Interactivity API. (50041)

Command Center

  • Update the experiment label. (50467)
  • Add an API to open/close the command center. (50423)
  • Fix a style glitch on Safari. (50138)
  • Add a button to open it from the site editor view mode. (50425)
  • Do not show dynamic add new post, add new page commands. (50221)
  • Extract the WordPress reusable commands to a dedicated package. (49956)
  • Fix command menu not re-opening after closing it. (50213)

Documentation

  • Add changelog for eslint-plugin validating dependencies in useSelect and useSuspenseSelect 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.. (50247)
  • Add client-side filter reference to Curating the Editor doc and fix links. (50203)
  • Add missing closing parenthesis in code example. (50253)
  • Adds example to change the permalink structure. (50251)
  • Adds links to REST-API reference. (50070)
  • Create-block script includes link to documentation in render.php file. (50206)
  • Block API > Registration: Switch markdown to a-tags. (50110)
  • Don’t use markdown in the callout section. (50437)
  • Remove mention of perf testing from release documentation. (50345)
  • Update Callout documentation on links. (50131)
  • Fix incorrect label in contributor docs. (50201)
  • Fix minor formatting issues in Performance doc. (50202)
  • Fixes incorrect URLs in doc blocks. (50123)
  • Use alert callout in the block deprecation documentation. (50286)
  • Improve CardMedia documentation. (50074)
  • Update README of TreeGrid with data-expanded attribute usage. (50026)

Code Quality

  • Block Editor: Directly import useShouldContextualToolbarShow hook. (50506)
  • BlockControls, InspectorControls: Remove useSlot, unify behavior on bad group. (50198)
  • Enqueue registered block assets and resolve 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. styles end-to-end failure. (50185)
  • Make eslint-plugin validate dependencies in useSelect and useSuspenseSelect hooks. (49900)
  • Save Hub: Reuse the save button component to save code. (50145)
  • Use apiFetch instead of window.fetch. (50043)
  • Add types to dispatch and select. (49930)
  • Remove duplicate comment. (50304)

Lodash removal

  • Remove from blocks store reducer. (50471)
  • Remove _.mapValues() from getBlockContentSchemaFromTransforms. (50096)
  • Refactor away from _.mapValues(). (50285)
  • Remove _.mapValues() from blocks reducer. (50097)

Components

  • Fix incorrect focus style widths. (50127)
  • Refactor/toolbar item component to typescript. (49190)
  • SlotFill: Several code cleanups. (50098)
  • SlotFill: Some code cleanups of the bubblesVirtually version. (50133)
  • Convert NavigableContainer to TypeScript. (49377)

Block Editor

  • Block Editor: Add names for the ‘editor.BlockListBlock’ filter HoCs. (50513)
  • Refactor around missing dependency in Link Control internal value sync effect. (49509)
  • Don’t export Slot/Fill constants separately. (50274)

Block Library

  • Centralize constants for the navigation block. (50191)
  • Move deprecated Nav block functions to bottom of render file. (50328)
  • Refactor BlockList uses Hooks. (50293)

List View

  • Replace OffCanvasEditor in browse mode with the List View component. (50287)
  • Use block select button class for retaining colors when expanded or hovered. (50155)

Global Styles

  • Global styles revisions: Ensure the revisions endpoint permissions match the global styles controller. (50270)
  • Simplify CustomCSS UI. (49721)

Plugin

  • Update REST API Controller PHPUnit tests. (50120)
  • Update the Gutenberg plugin to require at least the WP 6.1 version. (50079)
  • Update the tested up to version for the gutenberg plugin. (50360)

Native

  • Add a few import required for the React Native wrapper distribution as iOSiOS The operating system used on iPhones and iPads. XCFramework. (50009)

Site Editor

  • Extract the Router APIs and context into a dedicated package. (50100)
  • Move loading logic to a separate hook. (50511)

Tools

wp-env

  • Add wp-env After Setup Command. (50196)
  • Fix wp-env destroy. (50445)
  • Refactored wp-env configuration Parsing. (50071)
  • Wp-env fix exec command in CI. (50411)
  • wp-env: Add better default PHPunit settings, fix Xdebug, and update documentation. (50490)
  • wp-env: Improve run command execution speed. (50007)
  • Cleaned up Port Validation and Removed Unnecessary Default Ports. (50300)
  • Match Container’s User and Group to Host. (49962)

Testing

  • Add end-to-end test for editing the title of a new custom template part. (50195)
  • Add test to verify image appears on frontend. (50472)
  • Add tests coverage for the navigation block frontend interactivity. (50462)
  • Migrate Adding Patterns Test to Playwright. (50083)
  • Migrate Keep Transform Block Test Case to Playwright. (49719)
  • Migrate PullQuote test case to playwright. (50085)
  • Migrate undo to Playwright. (48701)
  • Prerelease end-to-end Test Utils for Playwright. (43998)
  • Skip creating flaky issues on PRs. (50146)
  • end-to-end tests: Try to fix flaky global styles revisions tests. (50454)
  • Add BlockList text coverage. (50252)

Build Tooling

  • Changelog automation: Apply proper top-level categorization precedence to 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. PRs. (50208)
  • Do not include first time contributors section in changelog if there are not any. (50291)
  • Publish rich text build types. (49651)
  • Rich text: Rename index.js > index.ts for type-only exports. (50212)
  • Remove PHPUnit and Composer packages. (50408)

Repository Maintainance

  • Add ndiego as codeowner for docs. (50289)

First time contributors

The following PRs were merged by first time contributors:

  • @johnhooks: feature(data): Add types to dispatch and select. (49930)
  • @margolisj: Refactor/toolbar item component to typescript. (49190)
  • @n2erjo00: Create-block script includes link to documentation in render.php file. (50206)
  • @samnajian: Fix/wp get global styles for custom props returns internal variable. (50366)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @ajlende @alexstine @andrewserong @apeatling @artemiomorales @aurooba @bph @chad1008 @ciampo @DAreRodz @dcalhoun @draganescu @ecgan @fluiddot @fullofcaffeine @geriux @getdave @glendaviesnz @gziolo @hellofromtonya @ironprogrammer @jameskoster @jasmussen @jeryj @jhnstn @johnhooks @jsnajdr @juanfra @kevin940726 @kienstra @Mamaduka @margolisj @mburridge @mirka @mokagio @mtias @n2erjo00 @ndiego @noahtallen @noisysocks @ntsekouras @oandregal @ObliviousHarmony @ocean90 @ockham @pavanpatil1 @pooja-muchandikar @priethor @ramonjd @richtabor @samnajian @SantosGuillamot @scruffian @SiobhyB @t-hamano @talldan @tellthemachines @torounit @tyxla @westonruter @youknowriad


Props to @bph and @jameskoster for their help with this release

#gutenberg, #gutenberg-new

What’s new in Gutenberg 15.7? (03 May)

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

What's new in Gutenberg 15.7 cover image

Gutenberg 15.7  has been released and is available for download!

For the latest release of the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party, contributors continued improvements to existing UIUI User interface and UXUX User experience for content creators, site owners working on their own site, or theme developers creating new themes. Users will find small changes for streamlined workflows, fixed bugs, and refined responsiveness, just to name a few. The release includes 142 PRs by 62 contributors, of which 8 merged their first contributions. Congratulations to all.

Table of contents

Site Logo replacement via the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.

Site Logo update image workflow in sidebar

To continue the quest of streamlining creator workflows, the Site Logo blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. now offers a direct way to replace the logo in the sidebar for the block. It might seem like a minor feature, but managing a site’s branding identity warrants an easy and intuitive process. (49992)

Duotone filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. controls in block sidebar

Duotone / filter in the sidebar

Speaking of streamlining workflows:  Duotone is a fascinating feature for the block editor. The controls for using the preset filters or creating custom filters were hidden via the Block Toolbar. Now all controls are available with the style settings in the sidebar and allow designers and content creators easier access. (49838)

Fluid Typography scales giant fonts to small screens

Fluid typography scaled

While fluid typography arrived with WordPress 6.0, users and designers had problems with large custom fonts. The previous fluid calculation didn’t scale down enough for smaller screens. In this Gutenberg plugin release, a more refined handling of fluid typography arrived using the logarithmic scale factor to calculate a minimum font size for smaller screens. With reliable scaling calculations, designers have more typographical freedom and can better rely on the built-in responsiveness of their designs. (49707)

Other Notable Highlights

Images that have custom borders assigned show those borders also in their placeholder, for instance, in archive post templates. That way, a site owner has an indicator of what colors are involved, and it makes it less haphazard when selecting featured images for their posts. (49569

Also, the Top toolbar behavior received some refinements that received mixed comments from contributors. It’ll be interesting to learn how site owners and content creators feel about these changes. (49634). 

Patterns show up in a masonry layout in a new full-screen modal that also received some refinement. (49958, 49894). The List View experienced some important refactoring to improve 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) for assistive technologies. (48461)

Changelog

Enhancements

Block Library

  • Group: Add allowedBlocks attribute and pass it to innerBlockProps. (49128)
  • Media & Text: Add allowedBlocks attribute and pass it to innerBlock. (49981)
  • Site Logo: Add logo replace flow in Inspector controls. (49992)

Global Styles

  • Fluid typography: Use logarithmic scale factor to calculate a min font size. (49707)
  • Style book: Make the style book slot generic. (49973)
  • Base Styles: Add the editor input reset with increased specificity. (49831)

Components

  • Draggable: Allow elementId based elements to be attached to the ownerDocument body. (49911)
  • Spinner: Enforce no background. (49695)
  • Updates the behavior of the top toolbar fixed setting. (49634)

Design Tools

  • Image: Display custom borders on placeholder. (49569)
  • Patterns: Try a masonry layout on the template pattern suggestion modal. (49958)

Duotone

  • Duotone: Add block controls on the inspector. (49838)
  • Duotone: Fix setup state for image block. (49949)
  • Polish duotone rendering code. (49706)
  • Deprecate remaining global duotone functions. (49702)
  • Group duotone outputs and refactor rendering. (49705)

Accessibility

  • List view: Refactor ARIA attributes. (48461)
  • Block Mover: Make text labels for left/right move buttons legible. (49747)
  • Block Toolbar: Fix incorrect switcher button width in text mode. (49847)
  • Snackbar: Fix insufficient color contrast on hover. (49682)
  • Update Reakit dep to 1.3.11. (49763)
  • List View: Add aria-description. (49907)

Bug Fixes

Block Library

  • Cover block: Remove overflow hidden rule. (49913)
  • Fix BlockInfo slot displaying logic. (50054)
  • Fix block toolbar height and rounded corners of parent selector button when text label mode. (49556)
  • Demo content cover block alignment not respected. (49848)
  • Group block: Remove innerprops from placeholder wrapper. (49783)
  • Only display the modified post date if the post has been modified. (46839)
  • 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.: Fix crash at runtime when postType is undefined. (49899)
  • Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Fix some sizing issues. (49641)
  • Adjust copy of Site Logo Block. (49540)
  • Adapt flex child controls for Spacer. (49362)
  • Social Icon: Update the link and mail block variation’s icons. (49952)

Components

  • CheckboxControl: Add support custom IDs. (49977)
  • Equalize modal internal padding. (49890)
  • Increase modal radius. (49870)
  • Query: Fix add new post link position via private SlotFill. (49819)
  • Tweak WordPressComponent type. (49960)
  • Update the framer motion dependency to the latest version. (49822)
  • Improve output of CHANGELOG CI check. (49779)
  • Retain context when opening modals on small screens. (50039)
  • Update CHANGELOG CI check to support forked repos. (49906)

Global Styles

  • Borders: Fix border style on color/width clearing and global styles fallback logic. (49738)
  • Borders: Maintain radius in Global Styles. (49950)
  • Close stylebook if the global styles side bar is not open. (50081)
  • Do not add unregistered style variations to the theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema. (49807)
  • Update preset styles to use Selectors 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.. (49427)
  • Change the ‘WP_Theme_JSON_Data_Gutenberg’ class directory. (50062)

Site Editor

  • Fix screen flash when deleting templates in templates list. (48449)
  • Fix the condition for the modal to choose the initial template pattern. (49954)
  • Fix editor crash caused by missing type conversion in EditorStyles component. (49882)
  • Remove frame shadow in edit view. (49767)
  • Add home to list of new templates. (47389)
  • Animate the site icon element between view and edit in the site editor. (48886)
  • Restore click event handler on site icon button. (50094)
  • Correctly return ‘isResolving’ from ‘useAlternativeTemplateParts’ hook. (49921)

Patterns

  • Increase dimensions of the pattern modal that appears when creating a new page. (49859)
  • Update full screen modal dimensions, and pattern grids. (49894)
  • Increase pattern modal dimensions when creating a new template. (49722)

List View

  • Add parameters to custom-scrollbars-on-hover. (49892)
  • Update with scrolling and custom scrollbar. (49793)
  • Ensure list view block id is unique to the list view instance. (49944)

Block Editor

  • Fix quick inserter going off-screen in some situations. (49881)
  • List View: Update drop indicator width to be aware of scroll containers. (49786)
  • Block highlight: Fix radius issue. (49864)
  • DOM: Update getScrollContainer to be aware of horizontal scroll. (49787)
  • Fix fixed block toolbar positioning. (49990)
  • 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.: Add enqueue_block_assets. (49655)
  • Rename immutableSet to setImmutably. (50040)
  • Edit Post: Hide overflowing content in visual editor wrapper to prevent block popovers from creating scrollbars. (49978)

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

  • Replace fallbacks to fallback (singular) in Nav fallback REST endpoint. (50044)
  • Consolidate Navigation fallbacks logic between Editor and Front of Site via REST API. (48698)
  • Add /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. endpoint for global styles. (49974)

Build Tooling

  • Fix multiple tooltips showing on NavigableToolbars. (49644)
  • Add –env-cwd Option To wp-env run. (49908) – Add Port To WP_TESTS_DOMAIN. (49883)
  • Add support in check-license for conjunctive (AND) licenses. (46801)

Performance

Continued the work refactor away from Lodash usages to reduce the build size
49799, 49794, 49755

Experiments

  • Allow adding posts and pages with custom titles from the command menu. (49893)
  • Update the design of the command center. (49681)

Documentation

  • Adds closing code tags. (49991)
  • Add “block-selectors” documentation to TOC and manifest. (49471)
  • Adds note about custom fields to Plugin Sidebar page in documentation. (49622)
  • Autocomplete: Add heading and fix type for onReplace in README. (49798)
  • Document the separation between private APIs and experimental APIs. (47973)
  • Fix broken link and update title of Localizing Gutenberg doc. (49851)
  • Fixes broken img link. (49805)
  • Need to use WordPress package for useState. (49478)
  • Remove unused screenshot from documentation folder. (49896)
  • Small grammar fixes for block-context.md. (49701)
  • Update IS_GUTENBERG_PLUGIN to process.env.IS_GUTENBERG_PLUGIN in coding guidelines. (49825)
  • Fixes typo in README. (49957)
  • Update README.md. (49762)
  • Update README.md. (49855)
  • Update outreach.md. (49961)
  • Update wp-env prereq documentation. (50004)
  • Formatting inside alert div. (50090)

Theme.json

  • Add documentation for variations key in theme.json. (49826)
  • Update theme.json reference documentation to include more sections. (48250)

Gutenberg Plugin release

  • Update the Gutenberg release issue template to reflect the new Gutenberg release team. (50037)
  • Update Gutenberg release documentation to include the new Gutenberg Release Team. (50036)
  • Fix broken link and minor tweaks to formatting and verbiage in the Gutenberg Release Process doc. (49876)
  • Update release checklist. (50068)

Block Development

  • Improve the learning experience for writing blocks. (49792)
  • Re-write of the landing page. (49643)
  • Improve insertBlock(s) documentation. (50078)
  • Small Typo: Remove dots. (49853)

Code Quality

  • Fix PrivateInserter import. (50038)
  • Remove the normalizeFalsyValue util. (50033)
  • Don’t programmatically lowercase post type label. (49591)
  • Port colord to PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (49700)
  • Reuse cleanEmptyObject utility and fix empty string case. (49750)
  • toStyles: Don’t mutate the tree argument. (49806)
  • useInstanceId: Fix useMemo hook dependencies. (49979)

Tools

Testing

  • Components: Update ColorPicker unit tests. (49698)
  • Migrate CPT end-to-end tests to Playwright. (50031)
  • Fonts API: Add tests for gutenberg_add_registered_fonts_to_theme_json(). (50049)
  • Expand multi-line block tests. (49732)
  • Rich text test helpers mimic user events. (49804)
  • Fix editor canvas detaching error in end-to-end tests. (49374)

Build Tooling

  • Add script which checks published types for non-checked JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. packages. (49736)
  • Docgen: Fix issue where function token can’t be found. (49812)
  • Publish build types for notices. (49650)
  • Publish types for plugins package. (49649)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamziel @ajlende @alexstine @andrewserong @annziel @aurooba @bdurette @bph @carolinan @chad1008 @chintu51 @courtneyr-dev @dcalhoun  @derekblank  @draganescu  @ellatrix  @fluiddot @gaambo @geriux @getdave @gigitux @guarani @gvgvgvijayan @gziolo @hellofromtonya @jameskoster @jasmussen @jeryj @jhnstn @jsnajdr @juanmaguitar @kevin940726 @m0hanraj @MaggieCabrera @MahendraBishnoi29 @Mamaduka @masteradhoc @mburridge @mcsf @mikachan @mirka @mokagio @mtias @ndiego @noahtallen @ntsekouras @oandregal @ObliviousHarmony @priethor @ramonjd @scruffian @SiobhyB @Soean @sque89 @t-hamano @talldan @tellthemachines @tyrann0us @tyxla @Wtower @youknowriad @zzap


Props to @priethor @annezazu @nickdiego for review

#gutenberg-new

What’s new in Gutenberg 15.6? (19 April)

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


Gutenberg release graphic 15.6


Gutenberg 15.6 has been released and is available for download

The latest version of the Gutenberg pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party includes small quality of life enhancements and many 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. The new experimental Details 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. is introduced early for community feedback, and more presets come to coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks for spacing and border controls. In the Site Editor, a theme’s style variations are now also available in the left sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. to enable faster updates. Gutenberg 15.6 includes a total of 112 PRs, authored by 45 contributors, 7 of which were new contributors!

Details block, experimental

The new Details block 


Occasionally, you want to hide content until the reader is ready to receive it. This could be spoiler content in a movie review, the transcript of a podcast episode, or a video recording in a blogblog (versus network, site) post. With the new Details block, you can now publish hidden content that opens with a click on the arrow. It’s the first version of the block, and it is behind an experimental feature flag. To test this new functionality, visit Gutenberg → Experiments screen in the WordPress adminadmin (and super admin) and enable the Details block option. This block is still being worked on, and it might change before coming out of experiments. Feedback is encouraged.

Spacer Block gets spacing presets

Spacer Block with presents


Spacing presets were added to Dimension controls in WordPress 6.1 to make controlling space in a theme easier and provide a simplified user experience. This functionality also allows theme developers to employ fluid spacing

Since the introduction of spacing presets, it became clear from community feedback that spacing presets should also be available for the Height control in the Spacer block. This enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. in 15.6 gives theme developers much more flexibility over how spacing is applied throughout a site and enables fluid Spacer blocks! 

Here’s a quick example of what fluid spacing presets might look like when defined in theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. using clamp(). You can learn more about fluid spacing and typography in the article Intrinsic design, theming, and rethinking how to design with WordPress over on the WordPress Developer Blog.

{
	"$schema": "https://schemas.wp.org/trunk/theme.json",
	"version": 2,
	"settings": {
		"spacing": {
			"spacingScale": {
				"steps": 0
			},
			"spacingSizes": [
				{
					"size": "clamp(1.5rem, 5vw, 2rem)",
					"slug": "30",
					"name": "1"
				},
				{
					"size": "clamp(1.8rem, 1.8rem + ((1vw - 0.48rem) * 2.885), 3rem)",
					"slug": "40",
					"name": "2"
				},
				{
					"size": "clamp(2.5rem, 8vw, 4.5rem)",
					"slug": "50",
					"name": "3"
				}
			]
		}
	}
}

Style variations in browse mode


With Gutenberg 15.6, the theme’s style variations are now accessible from the left menu in the Site Editor, together with templates, template parts, and navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. items. This change makes it easier to access style variations and pick your favorite. Clicking “Edit style” opens the editor with the Styles panel active, providing quick access to the additional style controls like typography and color.

Other notable highlights

With 15.6, the Cover block includes all border-related design tools. This was a much-requested enhancement by theme developers, which reduces the need for custom block styling.  

Now, when the Global Styles panel is open in the Site Editor, clicking on any block in the canvas will automatically open the design tools for the corresponding block in the Styles panel. This enhancement will help speed up your workflow and provide fast access to design tools.

Three more visual inconsistencies were smoothened. The visualizer that shows padding and margin changes around blocks now works consistently for larger numbers. In the List View, you can now successfully drop blocks below a Group block, and the Drop Zone in the canvas now has smoother animation

Changelog

Enhancements

Block Library

  • A margin option is added to the Embedded preview block. (39384)
  • Add blockGap as a default control on Columns/Column blocks. (49526)
  • Add color tools to the Time to Read block. (49496)
  • Add spacing presets to the Spacer block. (44002)
  • Cover: Add border support using ResizableBox via BlockPopover. (41153)

Block Editor

  • Add support for hiding breadcrumbs in the Site Editor. (49518)
  • Hide page list on single page list menus. (48725)
  • Small improvements for the Document Overview labeling. (49555)
  • Add a rootClientId prop. (49475)

Global Styles

  • Add styles section to the browse mode sidebar. (49014)
  • Show child layout controls by default. (49389)

Components

  • Global Styles: Link to the block type panel when selecting a block with Styles open. (49350)
  • TreeSelect: Remove margin overrides and add new opt-in prop. (47515)
  • Update media and video icons. (49523)

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 missing focus style to start template options previews. (49334)
  • Consistent labels for the WP logo and back links. (49659)

Experiments

  • Add a command center to the site editor. (49330)
  • Add Details/summary block. (45055)

Bug Fixes

Block Library

  • Columns: Prevent removal of locked columns from the column count change UIUI User interface. (49530)
  • Cover:
    • Fixed background causes image to be zoomed in on Safari browser on iPad. (48981)
    • Fix integration tests for ResizableBox via BlockPopover. (49497)
    • Merge block and global styles. (49434)
  • Navigation:
    • Fix exhaustive deps warning. (49291)
    • Fix fallback not rendering. (49576)
  • Image block: Fix image size control percentage selection. (49628)
  • Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.:
    • Don’t display the scale control when the aspect ratio is original. (48894)
    • Show all controls when in context without postId. (49609)
  • 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.: Ensure the postId from the block context is used to get_the_excerpt. (49495)
  • ShortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site.: Prevent external styling of editing UI. (49723)
  • Time To Read: Fix untranslated on the front end. (49704)
  • Avoid empty Gallery block error. (49557)

Site Editor

  • Decode the site title properly. (49685)
  • Show UI to update custom links on the sidebar navigation. (48939)
  • Navigate to editor when clicking Edit in a template part. (49604)
  • Update the template title in the details panel. (49487)
  • Use the keyboard shortcuts package for the command center. (49680)
  • Fix the site editor loading in multi-site installs. (49861)

Global Styles

  • Block Level Settings: Remove WP filters in Gutenberg. (49598)
  • Border Panel: Move global styles forcing of split borders to relevant panel’s onChange. (49603)
  • Remove the pointer cursor on the style variation preview. (49573)
  • Style Variation Picker: Restore pointer cursor when withHover is in use. (49596)

Block Editor

  • DropZone: Smooth animation. (49517)
  • List View: Allow dragging underneath collapsed non-empty container blocks. (49390)
  • List View: Update drop indicator line to be 4px high with a white border. (49462)
  • Tweak remove block label to make it simpler. (49529)
  • Fix redirected links to user documents. (49537)
  • Make InspectorControls tab labels translatable. (49665)
  • Update redirected support link. (49533)
  • Reusable Block: RTL styles don’t get added to the wp-reusable-blocks stylesheet. (49632)
  • Fix padding and margin visualizer accuracy. (49422)

Layout

  • Only show alignment info when parent layout is constrained. (49703)
  • Try reducing the specificity of layout margin rules. (47858)

Post Editor

  • Allow root padding setting to affect padding of post title. (49460)
  • Try fixing post editor layout for wide/full Post Content blocks. (49565)
  • Allow horizontal scroll in panels in the post editor. (49611)

Components

  • Fix inbetween-inserter position in RTL languages. (49683)
  • Update Edit icon to be more consistent with other icons. (49512)
  • Update search icon to be optically more balanced. (49425)
  • Update some icons to address aliasing on high-res screens. (49381)

Performance

Documentation

  • Add section about integration testing to testing documentation. (49454)
  • Add some documentation about the Styles UI components. (49720)
  • Fix Create a Block Tutorial link on blocks package README.md. (49562)
  • Fix end-to-end command typos. (49669)
  • Fix line break issue in Schemas and Content Models section. (44768)
  • Fixes some typos. (49472)
  • getBlockOrder() – use core/block-editor instead of core/editor. (49474)
  • Fix Xcode spelling across the codebase. (49625)
  • Remove the documentation for Playwright configuration override. (49660)
  • Streamlining the New Release Issue Template. (49618)
  • Update components package’s CHANGELOG. (49586)
  • Update documentation for setGroupingBlockName. (49670)

Code Quality

Components

  • Ship TypeScript types. (49229)
  • Simplify CustomGradientPicker’s utility props. (49588)

Global Styles

  • Refactor the effects panel as a generic UI Styles component. (49571)
  • Refactor the filters (duotone) panel as a generic UI Styles component. (49577)

Block Library

  • Add automated tests for Nav block editable list view. (49433)
  • Cover: Avoid adding empty background image URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. (49477)
  • Remove editor block styles leftovers. (49567)

Site Editor

  • Remove unused keyboard shortcut registration code. (49553)
  • Fix Site Editor isFeatureActive deprecation. (49545)

Tools

Testing

  • Add tests for some of the drag and drop logic. (49631)
  • Adds to gitignore a playwright.config.override.ts entry. (49329)
  • Cover block: Fix failing test. (49455)
  • Workflows: Run PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher unit tests also against current WP – 1. (46983)
  • e2e: Fix flaky columns test. (49676)
  • test: Add Writing Flow tests. (49352)

Build Tooling

  • Add workflow to check for expected wordpress/components CHANGELOG updates. (49443)
  • Docgen: Replace line breaks with spaces and remove line-ending hyphens. (49635)
  • Convert wp data controls to typescript. (49647)

First time contributors

The following PRs were merged by first time contributors:

  • @cawa-93: List View: Allow horizontal scroll in panels in the post editor. (49611)
  • @DustyReagan: Cover Block: Fixed background causes image to be zoomed in on Safari browser on iPad. (48981)
  • @eduwass: Docs: Fix end-to-end command typos. (49669)
  • @HILAYTRIVEDI: A margin option is added to the Embeded preview block. (39384)
  • @mokagio: Fix Xcode spelling across the codebase. (49625)
  • @nefeline: Post excerpt > Ensure the postId from the block context is used to get_the_excerpt. (49495)
  • @thealexandrelara: Docs: Fix Create a Block Tutorial link on blocks package README.md. (49562)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @andrewserong @aristath @aurooba @brookewp @carolinan @cawa-93 @chad1008 @ciampo @dcalhoun @derekblank @draganescu @DustyReagan @eduwass @fluiddot @geriux @getdave @glendaviesnz @hellofromtonya @HILAYTRIVEDI @imanish003 @jameskoster @jasmussen @jhnstn @jorgefilipecosta @Mamaduka @mirka @mokagio @nefeline @noahtallen @ntsekouras @ockham @ramonjd @richtabor @ryanwelcher @SavPhill @scruffian @Soean @t-hamano @talldan @tellthemachines @thealexandrelara @tyxla @youknowriad

Props to @ndiego for co-release leadRelease Lead The community member ultimately responsible for the Release., @joen for visuals assets @priethor, @rich, @annezazu for peer-review

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

What’s new in Gutenberg 15.5? (05 April)

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

Decorative image that reads: "What's new in Gutenberg 15.5"

Gutenberg 15.5 has been released and is available for download!

The latest release brings many user-facing features to improve the creation experience, such as caption styles customization and theme-defined template patterns when adding a new template. Theme creators should enjoy testing the experimental grid layout and template locking support for the Columns 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.. There are many features to cover in this release, so let’s dive right in.

Table of contents

Patterns as template starters

Gutenberg 14.9 added template types support to the Patterns 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.. However, this was only an under-the-hood change, laying the groundwork for future iterations. Version 15.2 introduced a new modal when adding new templates in the Site Editor for users. It only provided two choices: to use a fallback template or start from a blank slate.

In the latest release, those two concepts have been merged to allow users to build a new template from theme-registered template patterns. Theme authors can register custom patterns meant for specific template types (e.g., single post, 404, etc.), and they will appear in the start modal.

WordPress site editor when creating a new 404 template. It shows a grid of patterns to select from.

Style captions via the Styles interface

For a while now, theme authors have been able to create custom styles for <caption> elements directly via theme.json. The latest Gutenberg update brings those design options to the Styles interface, allowing creators and users to customize captions without touching code.

Two images of architecture with captions on the right. To the left is the Styles interface for configuring caption styles.

Experimental grid layout support

Gutenberg 15.5 introduces a new grid layout type. This is still in an early stage and currently only supports a setting for the minimum column width, but it defines the foundation for more configuration options going forward. Theme authors should start testing this now and provide feedback on use cases they envision.

The only coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. block to support the grid layout is Group, and this support is currently marked as experimental. To test it, visit Gutenberg > Experiments screen in the WordPress adminadmin (and super admin) and enable the Grid variation for Group block option.

A 4-column grid with two rows of architecture images. Overlaid is the current Grid layout options from the block editor.

Other Notable Highlights

There is now a Post Modified Date variation for the Post Date block. It allows users to display the post’s most recent updated date.

WordPress post title and meta with title and a last modified date. Overlaid is the block editor settings for using either the published or modified date.

Gutenberg 15.3 introduced a Time to Read block for showing the number of estimated minutes it takes to read a post. The latest update adds spacing and typography support to the block, rounding out its design tools set.

The core Columns block now supports template locking, the Image size setting for the Image block has been renamed to Resolution, and the Media & Text block’s alignment is set to “none” by default.

Change log

Enhancements

Block Library

  • Add Post Date block variation for Post Modified Date. (49111)
  • Add typography support to time to read block. (49257)
  • Allow the time to read block to be inserted multiple times. (49253)
  • Image Block: Don’t render if there is no URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org set. (45220)
  • Media & Text: Switch default alignment to none. (48404)
  • Update alternative text labels and help text. (49416)
  • Navigation Submenu: Refactor to use the block supports function. (48936)
  • Replace “Image size” with “Resolution” in image size controls. (49112)
  • Update Gallery block to use consistent 40px components. (49101)
  • columns block: Add support for templateLock attribute. (49132)

Components

  • FormTokenField: Add prop to remove bottom margin. (48609)
  • ImageSizeControl: Remove the “Image Dimensions” label. (49414)
  • ImageSizeControl: Use large 40px sizes. (49113)
  • Tooltip: Refine existing tests. (48397)
  • Update tests from fireEvent to userEvent. (44952)
  • CustomGradientPicker: Improve initial state UIUI User interface. (49146)
  • Storybook: Declare stylesheet dependencies explicitly. (49099)
  • AnglePickerControl: Style to better fit in narrow contexts and improve RTL layout. (49046)

Design Tools

  • Add spacing tools to time to read block. (49392)
  • Position Panel: Open by default if a position type is set. (49151)
  • Revert: Make sticky block action on template part block. (49219)
  • Sticky Position: Add a “Make sticky” action to the Template Part block. (49085)

Testing

  • Adds focus management test for entity undo. (49236)
  • Adds navigation submenu tests. (49351)
  • Cover block: Add integration tests. (45409)
  • test: Expand mobile end-to-end test helpers. (48978)

Layout

  • Make grid layout Group variation an experiment. (49359)
  • Try adding a grid layout type. (49018)

Icons

  • Add unseen icon to library. (49254)

Plugins API

  • Plugins: Refactor the ‘PluginArea’ component to use the sync store. (49220)

Global Styles

  • Add: Story for the full global styles UI. (49031)
  • Caption element UI controls for color and typography. (49141)

Block Editor

  • Rich text: Only consider a format active if active at every selected index. (48789)
  • Update border color on color panel items. (42283)
  • 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.: Add context to labels related to CSSCSS Cascading Style Sheets. position properties. (49135)

Site Editor

  • Add: Patterns to the template start modal. (47322)

List View

  • Allow the component to show a custom “more” menu. (48097)

Block API

  • 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.: Refactor and stabilize selectors API. (46496)

Bug Fixes

Block Editor

  • BlockHTML: Use correct type when setting ‘htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.’ state onBlur. (49191)
  • Duotone: Pass filters to the Post Editor. (49239)
  • Duotone: Use WP_Theme_JSON_Resolver_Gutenberg instead of WP_Theme_JSON_Resolver. (49199)
  • Fix typo (overriden -> overridden). (48711)
  • Writing flow: Prevent default browser behaviour on input when editable. (49370)
  • Fix onHover error on patterns tab in mobile. (49450)

General Interface

  • 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. Page address displayed when a future page is first scheduled. (49092)

Patterns

  • Block patterns: Use WP_Theme_JSON_Resolver_Gutenberg instead of WP_Theme_JSON_Resolver. (49197)

Block Library

  • Buttons: Disable edit as HTML support. (49097)
  • Fix center alignment on the dropdown in the categories block. (44013)
  • Fix sprintf() arguments. (49439)
  • Fix: Navigation block width constricted on large viewports. (49302)
  • Group Block: Allow blocks to be dragged onto it in its placeholder state. (49361)
  • Group: Fix the ‘double div’ deprecation ‘templateLock ‘ attribute. (49250)
  • Group: Fix the ‘templateLock’ attribute type in deprecations. (49205)
  • Navigation: Fix bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. in calculating the active menu item. (49195)
  • 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.: Fix 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/. error and other misc. bug fixes. (48730)
  • 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.: Constraint list item(li) styles to the direct children of the main list. (49303)
  • Query Loop: Show 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. placeholders in all posts. (49301)
  • Query Title: Changes filters for removing archive title prefixes. (49306)
  • Quote: Disable edit as HTML support. (49426)
  • Revert “Make sure the directly inserted block in the Nav block is a Page link”. (49126)
  • Search block: Fix overflow width. (49192)
  • Changes image size description, as it causes confusion. (48478)
  • Post Excerpt Block: Fix unexpected commas in certain site languages. (49123)

Components

  • CircularOptionPicker: Force swatches to visually render on top of the rest of the component’s content. (49245)
  • Fix TabPanel initial rendering. (49368)
  • Fix misaligned textarea input control. (49116)
  • LineHeightControl: Make spin buttons adjust from placeholder value. (49150)
  • ToolsPanel: Make menu item order consistent for SlotFill use cases. (49222)

Layout

  • Fix unstableDisableLayoutClassNames in Group block. (49385)
  • Get orientation for Spacer block from parent layout. (49322)
  • Remove inner wrapper for grid Groups in classic themes. (49387)

Post Editor

  • Fix breaking distraction free. (49317)
  • Post Lock: Fix the 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. position. (49421)

Site Editor

  • Fix site editor redirection after creating new template or template part. (49364)
  • Show the created template title in success notice and not the slug. (49366)
  • Template parts: Use WP_Theme_JSON_Resolver_Gutenberg instead of WP_Theme_JSON_Resolver. (49198)
  • Fix typo in utils.js. (49178)

Media

  • Image: Don’t create an external image ‘blob’ when a user can’t upload files. (49300)
  • MediaReplaceFlow: Check permissions before displaying the ‘Media Library’ menu item. (49298)

Global Styles

  • Selectors API: Fix for global styles hook, style variations, and duotone. (49393)
  • Fix typo for the word accross. (49295)
  • Duotone: Limit SVG 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. output to used filters. (49103)
  • Selectors API: Make duotone selectors fallback and be scoped. (49423)

List View

  • Show close button in List View on mobile. (49200)
  • Add private appender prop. (49137)

History

  • Bring back 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. button for template parts. (49163)

Data Layer

  • useSelect: Incrementally subscribe to stores when first selected from. (47243)
  • Data: Refuse to register an already registered store. (49134)

Tools

  • babel-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-makepot: Fix non-existing translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. handling. (49431)

Navigation

  • Fix fallback not rendering. (49431)

Performance

Post Editor

  • Avoid UI shifting when selecting blocks. (47177)
  • Lodash: Remove _.groupBy() from buildTermsTree() in editor. (49224)

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/ Actions

  • Fix performance testing themes installation. (49063)
  • Speed up npm ci by caching node_modules. (45932)

Testings

  • Fix running performance tests locally via CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.. (49068)
  • Refactor performance tests artifacts handling. (48684)

Babel Preset

  • Polyfills: Exclude web.immediate. (49234)

Experiments

Navigation Screen

  • Remove ‘edit-navigation’ package leftovers. (49183)

Documentation

  • Add a missing filter documentation. (44342)
  • Add missing pseudo-selectors to theme.json schema and documentation. (49202)
  • Add readme.txt FAQ entry for filing security bugs. (49148)
  • Adds issue template for the plugin release process. (49345)
  • Adds message about usage of block-editor components. (49400)
  • Block Editor Handbook: Improved the readability and phrasing and corrected mistakes. (48756)
  • Docs: Fix incorrect import of apiFetch. (49432)
  • Docs: Put more structure to Architecture page. (49184)
  • Fix failing CI documentation check. (49378)
  • Fix/missing template 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.. (49348)
  • FlexItem: Fix typo line 19 of README. (49284)
  • Mention “testsPort” .wp-env.json setting. (49388)
  • Remove errant line break in versions-and-building documentation. (49353)
  • Theme JSON schema: Add defaultPresets property to shadow. (49204)
  • Theme JSON schema: Add position.sticky and dimensions.minHeight properties to settings. (49335)
  • Update @api-fetch README.md with query args. (49318)
  • Update README.md for wordpress/element. createRoot not available until WordPress 6.2. (49309)
  • docs: Update end-to-end test device documentation. (49441)

Code Quality

Components

  • Animate: Refactor to TypeScript. (49243)
  • ColorPicker: TypeScript refactor. (49214)
  • CustomGradientPicker: Refactor to TypeScript. (48929)
  • DuotonePicker, DuotoneSwatch: Convert to TypeScript. (49060)
  • GradientPicker: Refactor to TypeScript. (48316)

Block Library

  • Home Link Block: Remove leading spaces in class names. (49397)
  • Add column-gap and row-gap as allowed CSS properties for compatibility with WP 6.0. (49118)

Block Editor

  • Duotone: Remove Safari rerender hack. (49232)
  • Replace regex with 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 for duotone class render. (49212)
  • Use immutableSet utility to set style properties. (49365)

Plugins API

  • Plugins: Add unit tests for the ‘PluginArea’ component. (49138)

Global Styles

  • Extract a ColorPanel component as a reusable component between Global Styles and Block Inspector. (48893)
  • Lodash: Refactor away from _.groupBy() from compileCSS(). (49227)

Webfonts

  • Tests: Fix typos in fonts API. (47288)

Compose

  • Refactor useMediaQuery with useSyncExternalStore. (48973)

Patterns

  • Add gutenberg_get_remote_theme_patterns function. (49307)

Element

  • Element: Narrow createInterpolateElement param type. (49182)

Tools

Testing

  • Fix flaky Site Editor title end-to-end tests. (49203)
  • Upgrade Playwright to 1.32. (49296)

Build Tooling

  • Upgrade wp-prettier to 2.8.5. (49258)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release: @aaronrobertshaw @ajlende @andrewserong @aristath @brookewp @carolinan @chad1008 @ciampo @corentin-gautier @dcalhoun @draganescu @ellatrix @enderandpeter @felixarntz @fluiddot @glendaviesnz @gziolo @hareesh-pillai @helgatheviking @janboddez @jeryj @jhnstn @johnbillion @jorgefilipecosta @jsnajdr @kevin940726 @madhusudhand @MaggieCabrera @Mamaduka @mburridge @mirka @ntsekouras @oandregal @renintw @richiecarey @richtabor @ryanwelcher @scruffian @sgomes @shreyasikhar @SiobhyB @Soean @sque89 @stokesman @t-hamano @talldan @tellthemachines @tomdevisser @tyxla @WunderBart @youknowriad @ZebulanStanphill

Props to @welcher for co-managing this release and @jameskoster for the release assets.

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

What’s new in Gutenberg 15.4 (22 March)

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

Decorative image that's reads: "What's New In Gutenberg 15.4?"

Gutenberg 15.4 has been released and is available for download!

The latest release of the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party is lighter on user-facing features than normal and focuses heavily 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, testing, and other much-needed improvements. But, there are some welcome additions, such as turning paragraphs into columns, an improved Cover blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience., and new template descriptions in the site editor.

Table of Contents

Color and layout support for Cover block

The Cover block now supports the text color design tool. The enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. makes it easier for users and theme authors to customize the color for all inner blocks with a single setting. Along with this benefit, the change made it easier to handle transforms from the Media & Text block.

The Cover block also now works the same as the Group block with its layout handling. Currently, the block only supports the flow layout and is set to a constrained width by default.  It does not yet support flex layout variations.

The update brings consistency to layout handling, building atop a standardized system that will make for fewer edge cases and necessary customizations for theme authors.

Theme authors should test their themes against this update. In the past, some have had to work around the layout limitations of the Cover block, and the block’s support of the standard layout system may override custom implementations.

Updated template descriptions

Template descriptions have received a major overhaul in the latest update. Nearly all of them have been updated to better explain what each template does. This should make it easier for users to understand each template’s purpose when customizing it in the Site Editor.

Other Notable Highlights

A new textColumns property has been added as a “block supports” feature and is now in the style engine. It will allow users to split text-based blocks into columns. Developers can opt into this for their custom blocks, but no coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks support the feature yet. There are open tickets for adding it to the Paragraph and Post Excerpt blocks in future updates.

Theme authors can now target the :link and :any-link pseudo-elements in theme.json, giving them more control over styling hyperlinks.

The FontSizePicker component allows for an array of custom units to be defined. This is the first step toward allowing theme authors to eventually control the available units if their themes support custom font sizes. However, the editor’s Typography panel does not yet support this feature.

Change Log

Enhancements

Site Editor

  • Adjust whileHover effect to be a bit subtler and less pronounced. (48928)
  • Go direct to edit from manage all templates list. (48764)
  • Move “Add Template”‘s descriptions to tooltips. (48710)
  • Add descriptions to all panels in the Site Editor’s dark side. (48739)
  • Add hover animation to site editor canvas. (48575)
  • Fix non-us spelling in sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.. (48976)
  • Prevent the saving button from showing when renaming templates. (48399)
  • Navigation Sidebar: Change the logic about which navigation gets selected for the sidebar. (48689)
  • Add “Added by” description to template part navigation sidebar. (48732)
  • Add border radius to off canvas navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. items. (48798)
  • Add page details when viewing a specific page. (48650)
  • Duotone: Limit SVG 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. output to used filters. (48995)
  • Hide navigation screen in site editor. (49043)

Block Library

  • Open convert to links modal on select of a page item. (48723)
  • Post Featured ImageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts.: Remove 16:10. (48969)
  • Cover: Add constrained/flow layout. (45326)
  • Cover: Add text color block support. (41572)

Components

  • FontSizePicker: Allow custom units. (48468)
  • Navigator: Disable initial animation. (49062)
  • Try: Update Tertiary Button appearance. (48888)
  • FormTokenField: Hide suggestions list on blur event if input value is 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.. (48785)

Design Tools

  • Block Supports: Add text columns (column count) to typography block supports. (33587)

Global Styles

  • Move the global styles provider to the app level component. (49011)
  • Add support for :link and :Any-link 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.. (48634)
  • Add compound class to layout wrapper for global spacing styles. (47952)

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 Deprecations: Provide extra data for isEligible check. (48815)

Post Editor

  • Provide static native editor help article slugs. (48802)
  • Try getting Post Content layout on server before editor loads. (45299)

Packages

  • Introduce prependHTTPS URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org util. (47648)

Bug Fixes

Block Library

  • Embed Block: Fix Aspect Ratio Classes #29641. (41141)
  • Ensure aspect ratio is applied when Post Featured Image block is linked. (48495)
  • Fix PostContent initial render by waiting for the canEdit request. (48642)
  • Fix classic menu fallback race condition. (48811)
  • Fix navigation block off-canvas appender for empty menus. (48907)
  • Fixes extra UIUI User interface in navigation block inspector. (48679)
  • Import Classic Menu using the menu name as the block menu title. (48771)
  • Navigation Link: Remove color generation code. (48927)
  • Navigation: Fix missing state for MenuControls. (48921)
  • Update missing translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. from label. (48760)
  • WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Importer: Fix Widget Group block imports. (48669)
  • 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.: Show variant patterns even if there are no patterns for the Query Loop block. (48793)
  • Comments: Fix ‘sprintf requires more than 1 params’ error. (49054)
  • Adjust Post Featured Image PanelBody label to “Settings”. (49076)
  • Add help text to Gallery Image Size control. (49074)
  • Comments Block (Legacy): Update missing translation. (48820)
  • 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. of created Navigation menu title. (48773)
  • Make sure the directly inserted block in the Nav block is a Page link. (48740)
  • Navigation Link: Don’t remove ‘block_core_navigation_link_build_css_colors’. (49064)
  • Navigation: Don’t save the level of the link in an attribute. (48219)
  • Refactor away state in Nav menu selector. (45464)
  • Revert: Navigation: Always create a fallback menu. (48602)
  • Tweak Latest Posts block PanelBody labels. (49079)
  • Tweak label for Latest Posts 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. control. (49077)
  • Page List Block: Show untitled pages on page list on the editor. (48772)

Site Editor

  • Don’t offer Classic block as a recovery action when not registered. (49051)
  • Fix browser history when synchronising state with urls. (48731)
  • Fix lingering insertion point within template parts. (48913)
  • Fix template part actions in List View. (48905)
  • Fix text alignment in the Site Editor sidebar. (48959)
  • Fix typo in template parts description. (48781)
  • Fix browse mode descriptions margin. (48778)
  • Fix scrollbar in site editor. (48822)
  • Site Editor Navigation panel: Update appearance of non-link blocks. (48933)
  • Navigation sidebar shows a wrong submenu popover. (48941)
  • Show creation popover on empty page links in the navigation sidebar. (48746)
  • Site button metrics. (48918)
  • Remove actions from SidebarNavigationScreenWrapper. (48935)
  • Update template descriptions with more detail. (48934)

Global Styles

  • Fix typo: Use WP_Theme_JSON_Gutenberg instead of WP_Theme_JSON class name. (48648)
  • Fix: Crashes on getNodesWithSettings and getNodesWithStyles. (49023)
  • Fix: Global Styles crash in updateConfigWithSeparator when not block styles are passed. (49045)
  • Fix: Global Styles getNodesWithStyles expects an object with elements. (49044)
  • Fix: Global Styles getPresetsClasses crashes if no selector is passed. (49024)
  • Fix: Global styles forces a white background. (49042)
  • Style Book: Move 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. to root of content area to support styles that overflow block previews. (48664)
  • WP_Theme_JSON: Sync indirect properties changes from core. (48646)

Components

  • Fix HStack and VStack alignment prop. (47914)
  • ResizeTooltip: Use default.fontFamily on tooltip. (48805)
  • ResponsiveWrapper: Use aspect-ratio CSSCSS Cascading Style Sheets. prop and support SVG elements. (48573)

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)

  • Make sure useFocusOnMount runs when all the children tabbable elements have mounted. (42187)
  • Manage selection on block sync. (48979)

Post Editor

  • Distraction Free Mode: Don’t show the metaboxes. (48947)
  • Don’t add Post Content layout styles to title in the post editor. (48663)
  • Fix animation and browser console error when returning from template edit mode. (48930)

Block Editor

  • LinkControl: Remove HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. from suggestion title before passing it to TextHighlight component. (48685)
  • Order initial block items in Navigation with PrivateInserter. (48752)
  • BlockInvalidWarning: Prefer canInsertBlockType and refactor to 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.. (49052)
  • Fix grouping actions in List View. (48910)
  • Fix typo in the media-categories component. (49047)
  • Custom link UI does appears outside canvas on the sidebar navigation. (48633)
  • Use proper color for block styles control. (46684)
  • Update Welcome Guide article links to avoid redirect. (48582)
  • Columns Block: Don’t show the column count change UI when templateLock is all. (48691)
  • Remove border from quick inserter child elements. (48794)

Inspector Controls

  • Fix settings tab active state border in block inspector. (48945)

Testing

  • Playwright Utils: Fix the ‘publishPost’ address locator. (48729)

CSS & Styling

  • Fix duplication of block classname in feature selectors for style variations. (48662)

Experimental

  • Fix KSES filter for un-prettified filters. (49004)

Packages

  • Rich text: Fix range equality checks for Safari. (48733)
  • Preferences Modal: Fix double focus outline in tab item. (48996)

Tools

  • Scripts: Fix render.php isn’t copied in Windows OS. (48735)

Mobile

  • Mobile – Fix parsing of CSS units for null matched values. (48484)

Performance

Block Editor

  • Rich text: useAnchor: Remove value dependency. (48715)

Post Editor

  • Lodash: Refactor away from _.kebabCase() in EditorHelpTopics. (48776)
  • Lodash: Refactor away from edit-post package. (48786)

Site Editor

  • Improve the Navigation panel’s menu query. (48908)
  • Improve Site Editor performance tests. (48138)

Testing

  • Lodash: Remove from e2e-tests package. (48775)

Themes

  • Fix: Incorrect selector generated by append_to_selector method. (48759)

Block Library

  • Lodash: Remove _.get() from various blocks. (48491)

Data Layer

  • Lodash: Refactor away from _.set() in core-data. (48784)

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/ Actions

  • Prefer committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. over author date for perf results timestamp. (48673)

Documentation

  • Add links to hook documentation in curation doc. (48653)
  • Add missing playwright end-to-end documentation to toc.json. (48447)
  • Adding examples of how to programmatically remove the panels in Document sidebar. (48895)
  • Adds link to post on the developer blogblog (versus network, site) to the deprecation page. (49069)
  • Add position: Sticky to the Opt-in into UI controls appearanceTools section. (48763)
  • Fix broken Lerna documentation link. (48890)
  • Table of styles keys with since versions. (48265)
  • Fix URL mismatch. (48931)
  • Theme JSON schema: Add sticky position to settings, minHeight to styles. (48948)
  • Update the end-to-end tests documentation. (48951)
  • jest-preset-default: Update README to reflect current status. (48925)

Code Quality

Components

  • Autocomplete: Refactor to TypeScript. (47751)
  • Navigation: Refactor to TypeScript. (48742)
  • SelectControl: Improve prop types for single vs multiple selection. (47390)
  • DimensionControl(Experimental): Refactor to TypeScript. (47351)
  • Guide: Refactor to TypeScript. (47493)
  • Icon: Refactor tests to TypeScript. (49066)
  • PaletteEdit: Refactor away from lodash.kebabCase. (48637)
  • QueryControls: Refactor away from lodash.groupBy. (48779)
  • components/utils/font: Refactor away from lodash .get. (48629)
  • remove lodash from context/getStyledClassName:. (48688)
  • withSpokenMessages: Change js files to typescript. (48163)

Block Library

  • Add Nav block files to those triggering error for exhaustive deps. (48821)
  • Fix Nav block exhaustive deps warnings. (48680)
  • Media Text: Refactored constants to it’s designated file. (48480)
  • Navigation: Simplify the method for finding the fallback menu. (48916)
  • Duotone.php code cleanup. (48607)
  • Revert “Duotone: Limit SVG filter output to used filters”. (49102)

Block Editor

  • Inserter: Remove outer scope values dependencies. (48961)
  • Inserter: Remove unnecessary dependency ‘delayedFilterValue’. (48960)
  • Remove unused CSS from LinkControl Apply button. (48431)
  • Custom Classname block support: Update code comments to remove reference to anchor id. (48709)
  • List View: Remove unused selector from the ‘useBlockSelection’ hook. (48984)
  • Renames parent selection boolean param and improves documentation. (48677)
  • Tests: Cleanup unnecessary jest timers setup. (49030)
  • Avoid declaring a function inside another function. (49049)

Global Styles

  • Theme JSON: Clarify status of fixed position opt-in in appearance tools. (48660)
  • Extract a BorderPanel component as a reusable component between Global Styles and Block Inspector. (48636)

Data Layer

  • Data: Use real timers for private APIs tests. (49029)

Packages

  • Preferences: Remove types field from package.json. (49053)
  • Upgrade typescript to 4.9.5. (48299)
  • Compose: Remove useAsyncList from mobile exports. (48241)
  • Animation: Refactor to TypeScript. (47042)
  • PanelBody: Convert to TypeScript. (47702)
  • Refactor ToolbarContext to TS. (49002)
  • Refactor/toolbar button component to typescript. (47750)
  • PaletteEdit: Convert to TypeScript. (47764)
  • navigateRegions: Convert to TypeScript. (48632)
  • withFallbackStyles: Convert to TypeScript. (48720)
  • withFilters: Convert to TypeScript. (48721)
  • withFocusReturn: Convert to TypeScript. (48748)
  • withNotices: Convert to TypeScript. (49088)
  • Packages: Remove completely two deprecated webpack plugins. (48770)

Tools

  • Env: Fix typo / grammar README.md. (48952)
  • ci: Add Rich Text code owner. (48727)

Testing

  • Add pageUtils.pressKeys to playwright utils. (49009)
  • Add artifacts upload for the performance tests. (48243)
  • Fix flaky block hierarchy navigation test by better inserter selection. (48780)
  • Migrate multi-block selection end-to-end tests to Playwright. (48035)
  • Navigation block end-to-end tests: Default to my most recently created menu. (48132)
  • Upgrade Jest from 27 to 29.5.0. (47388)
  • Duotone: Style Engine: Add unit testunit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. and associated refactoring. (49033)
  • Query Block: Add tests for getValueFromObjectPath() util. (48956)

First time contributors

The following PRs were merged by first time contributors:

  • @abhi3315: Link Control – Add support for text only labels. (47930)
  • @hbhalodia: Change higher order with-constraint-tabbing from .js to .tsx. (48162)
  • @sboerrigter: Fix incorrect css property in editor-color-palette documentation. (48333)
  • @shreyasikhar: Site Editor Sidebar: Add line-height for template/parts name and update width for edit button. (48160)
  • @suvrodattamitu: Style Engine: Fix wrong property name letterSpacing to lineHeight. (48091)
  • @tomdevisser: Remove copy for managing a block’s style variations. (48367)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw@abhi3315@adamziel@afercia@alexstine@andrewserong@annezazu@brookewp@carolinan@chad1008@ciampo@dcalhoun@draganescu@ellatrix@fluiddot@geriux@getdave@gvgvgvijayan@gziolo@hbhalodia@jorgefilipecosta@jsnajdr@kevin940726@MaggieCabrera@Mamaduka@marekdedic@ndiego@ntsekouras@oandregal@ockham@richtabor@sboerrigter@scruffian@shreyasikhar@spacedmonkey@suvrodattamitu@tellthemachines@tomdevisser@tyxla@WunderBart@youknowriad@t-hamano

Props to @welcher for co-leading the release, @priethor for feedback, and @saxonfletcher and @joen for assets creation.

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

What’s new in Gutenberg 15.3? (13 March)

“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/” is published following every Gutenberg biweekly release, showcasing new features included in the release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor (formerly called Full Site Editing) projects. Previous release posts can be found via the #gutenberg-new 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.).

Gutenberg 15.3 has been released and is available for download!

The latest version of Gutenberg, 15.3, tightens up the site editing experience, adds a new “Time to Read” 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. for adding estimated read time to posts, and a number of Duotone enhancements. Combined with a multitude of improvements across the board, this release is a solid step forward for Gutenberg.

Table of contents

  1. A tightened-up site editing experience
  2. New “Time to Read” block 
  3. Leveling-up Duotone
  4. Changelog
  5. First time contributors
  6. Contributors

A tightened-up site editing experience

The Site Editor has received a number of enhancements, culminating in a tightened-up, design-forward experience that brings site editing center stage. 

A close up view of the Site Editor's top-level Design panel.

With another round of polish, the Site Editor experience is feeling more refined than ever. 

New “Time to Read” block 

The new “Time to Read” block allows you to display the estimated time the average reader takes to read the current page, or post. Letting readers know right off what their estimated reading time helps them to decide if they should continue reading, or save the post for later. (43403)

A close-up view of the Block Editor with List View open and a "Post Time to Read" block selected.

The block is relatively simple as-is, with follow-ups to enhance styling capabilities. 

Leveling-up Duotone

This release includes a number of enhancements around leveling-up the popular Duotone design tool. You can now set a Duotone filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. globally within the Site Editor’s Styles panel, whereas in previous releases you could only do this manually within the theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. file. (48255

A close up view of the Styles panel of the Site Editor, with the Duotone filter control in view.

Duotone presets are now stored as slug values, instead of hard-coded color values (i.e. #FFFFFF). Using the preset itself means that Duotones are no longer locked to a specific theme, or theme variation.

If you apply a Duotone, then change a theme to another that uses the same slug value, the new theme’s Duotone will now take effect. (48318)

And last, Duotone styles are now generated using the WordPress Style Engine, meaning that CSSCSS Cascading Style Sheets. is generated as part of the block supports CSS — rather than inline. (48281)

Changelog

Enhancements

Site Editor

  • Refactor the site editor URLs for better backward compatibility. (48063)
  • Remove TemplateAreas from template details. (48490)
  • Update the edit button. (48584)
  • Change “Browse all templates” to “Manage all templates” in template details popover. (48496)
  • Match color of the focus template view with site dark material. (48430)
  • Polish add template modal style. (48445)
  • Site Editor SidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.: Add line-height for template/parts name and update width for edit button. (48160)
  • Extract a DimensionsPanel component as a reusable component between Global Styles and Block Inspector. (48070)
  • Remove copy for managing a block’s style variations. (48367)

Block Editor

  • Apply keyboard shortcut conversions between paragraphs and headings to all editor instances. (47972)
  • Create automatic change higher order reducer. (48312)
  • [Inserter]: Preload media categories empty check – client side. (47503)

Post Editor

  • Revert iframed editor for WP coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. only. (48076)
  • PageAttributesCheck: Return boolean value directly from the selector. (48336)
  • Apply busy status to the publish button in progress and unify button width. (48444)

Block Library

  • [New Block] Add post time to read block. (43403)
  • Add all allowed innerblocks to the inspector animation experiment. (47834)
  • Make the Site Logo block placeholder state smaller. (48218)
  • ToggleControl: Remove margin overrides and add opt-in prop. (47866)
  • Post Terms block: Add transforms for variations. (48328)
  • Navigation List View: Add block movers to the more menu. (48099)
  • Navigation: Always create a fallback menu. (47684)
  • Navigation: Don’t create a fallback navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. if there are inner blocks. (48585)
  • Navigation: Don’t create duplicate navigation menus. (48599)
  • Navigation: Update the dependencies for the useEffect that handles notifications. (48066)
  • Navigation: Wrap the dependent functions in useCallback. (48195)
  • Page List: Move the modal to its own file. (47922)
  • Classic Block: Replace the deprecated isPrimary prop with variant. (48230)
  • Refactor core blocks to use HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Tag Processor. (43178)

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.

  • HTML Tag Processor: Add WP 6.3 compat layer. (47933)
  • Tag Processor: Add bookmark invalidation logic. (47559)

Design Tools

  • Duotone: Use the style engine to generate CSS for Duotone. (48281)
  • Duotone: Add Global Styles controls for blocks that support duotone. (48255)
  • Use Duotone presets in block duotone attributes. (48318)
  • Duotone: Use CSS variables instead of slugs in block attributes. (48426)
  • Border Panel: Add missing dep for onBorderChange callback. (48010)
  • Disable layout toolbar controls for content locked blocks. (47939)
  • SpacingSizesControl: Fix white dot on thumb. (48574)

List View

  • Scroll selected block into view when single block selection changes. (46895)

Components

  • Change higher order with-constraint-tabbing from .js to .tsx. (48162)
  • CircularOptionPicker: Refactor to TypeScript. (47937)
  • Extract delete handler to hook for RichText. (48273)
  • ToolsPanel: Remove unnecessary dep from resetAll callback. (48011)
  • Link Control – Add support for text only labels. (47930)
  • Pin floating-ui/reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-dom version. (48402)
  • Use React 18 rendering for import dropdown. (48244)

Tools

  • Migrate switch-to-draft to Playwright. (48120)
  • VizReg end-to-end tests: Programmatically test all combinations of a given list of props/values. (48260)
  • List block: Add Firefox end-to-end tests. (48271)
  • Update end-to-end test snapshots to Jest 29 default. (48626)
  • Update snapshot format to Jest 29 default. (48366)
  • Move react-native-editor parser tests to a test directory. (48615)
  • ToolsPanel: Refactor unit tests to TypeScript. (48275)
  • Migrate block deletion end-to-end tests to Playwright. (48012)
  • Migrate list view end-to-end tests to Playwright. (47919)
  • Navigation block: End-to-end code quality fixes. (48071)
  • Remove old end-to-end tests for the navigation block. (48126)
  • Update assertion Autocomplete end-to-end tests. (48344)
  • [Automated Testing]: Fix wrong button fixture. (48305)

Code Quality

  • TabPanel: Refactor unit tests in prep for controlled component updates. (48086)

Bug Fixes

Site Editor

  • Fix Site Editor perf tests. (48240)
  • Fix routing for Classic themes using block-based template parts. (48343)
  • Fix the ‘Browse all’ link in the template details modal. (48301)
  • Fix the site editor home page loading when installed in a subdirectory. (48363)
  • Fix the tooltip and shortcut for the global save button. (48282)
  • Prevent distracting focused back button on site editor load. (48472)
  • Sort templates and template parts by slug. (48473)
  • Specify focus state color for template navigation button. (48134)
  • [Site Editor]: Set html block as freeform fallback block. (48129)
  • Remove broken site editor redirect. (48283)
  • Fix: Inserter does not appear on sidebar navigation. (48623)
  • Fix: Make navigation page list load its items on navigation sidebar. (47853)
  • Revert Site Tagline placeholder attribute, move example to block.json. (48383)

Block Editor

  • MediaReplaceFlow: Fix styling for LinkControl. (47949)
  • Fix “Reset All” button in the typography panel of the block inspector. (48123)
  • [Inserter – Media tab]: Upload Openverse images when inserted. (48501)
  • Block alignment controls: Don’t remount the block when alignments change. (48209)
  • Pin valtio version. (48237)
  • Fix block style preview flickering when a ‘style’ is focused. (48418)
  • Enable access to block settings within UBE. (48435)
  • Fix: Content only CPT template locking. (48434)
  • Firefox: Fix input rules (React async state issue). (48210)
  • Fix: Multiple overwrites on rest_controller_class for wp_template/wp_template_part. (48078)
  • Select blocks in outline list. (48118)
  • Only add layout classes to inner wrapper if block is a container. (48611)

Widgets Editor

  • WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Editor: Fix a problem with ‘Move to Widget Area’ button not working. (48233)

Block Library

  • Add support for orientation-based block movers to core/social-links. (48452)
  • Fix 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.: Read more link is always on new line in the editor. (47772)
  • Fix: OffCanvasEditor does not inserts submenu on collapsed items. (48214)
  • List Item: Avoid an error when the ‘onReplace’ prop is undefined. (48639)
  • Add missing code on the fix page list loading PR. (48621)
  • Prevent text decoration from showing up in all blocks. (48117)
  • Widget Importer: Don’t render controls when there’s nothing to import. (48396)
  • [Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.] Fix top border in pattern selection modal. (48303)
  • [Query Loop] Sync gutenberg_build_query_vars_from_query_block with core. (48640)
  • 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.: Clean up border application in editor. (48024)

Global Styles

  • Fix for WP_Theme_JSON_Resolver_Gutenberg::Get_merged_data. (48644)
  • Display preset names via the tooltip. (48304)
  • Fix typo in valid settings for fluid typography. (48605)
  • Prevent the global styles previews thumbnails from resizing on load. (48474)
  • Site Tagline: Add example so that it will display in style book. (48300)
  • Fix wrong property name letterSpacing to lineHeight. (48091)
  • Update code position for constants and methods in WP_Theme_JSON_Gutenberg class. (48631)
  • WP_Theme_JSON_Gutenberg: Update comments to be aligned with core, so backports are easier. (48624)

Testing

  • Add typescript-eslint rules with type informations to end-to-end tests. (48267)
  • Fix snapshots for Spacer mobile unit tests. (48406)
  • Add command to run performance tests in debug mode. (48614)
  • Make the performance tests more stable. (48094)

Developer

  • Playwright: Fix request utils for non Docker envs. (48206)
  • [Private APIs] Only prevent module re-registration if IS_WORDPRESS_CORE. (48352)
  • Add a manual performance job that we can trigger from 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/ UIUI User interface. (48302)
  • Track new front-end metric: LCP-TTFB. (48288)

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)

  • Autocomplete: Duplicate list within 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. for non visual users. (47907)
  • Fix site editor switch mode message. (48136)
  • Fix the Publish region position and focus style. (48102)
  • Focus 1st parent block on block remove, if no previous block is available. (48204)
  • List view: Allow selected block to override roving tabindex. (48339)
  • Style Book: Allow button text labels for style book icon. (48088)
  • Style Book: Focus the Style Book when opened, and enable ESCAPE key to close. (48151)
  • Try to fix 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) test flakiness. (48236)
  • Make the template customized info accessible. (48159)

Performance

Block Editor

  • Block Editor: Improve empty getBlockParents() perf. (48242)
  • Fix perf regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in duotone 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.. (48401)
  • Writing flow: Avoid recalc style on every selection change. (48409)
  • useAsyncList: Flush state updates when processing queue. (48238)

Components

  • Autocomplete: Reduce work before finding trigger. (48327)
  • Disable lazy term 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. loading render_block_core_template_part. (48000)
  • Rich text: Only selectively handle keyup/pointerup. (48385)
  • Rich text: Remove unnecessary handleSelectionChange call. (48373)
  • Rich text: Try removing store change on focus. (48342)
  • Autocomplete: Avoid calling setState on input. (48565)
  • Autocomplete: Don’t change state on every keystroke. (48485)
  • Lodash: Refactor context system provider away from _.merge(). (48036)

Code Quality

  • Fixed incorrect type annotations in wordpress/data, part 2. (48221)
  • Lodash: Refactor away from _.merge(). (48239)
  • Lodash: Remove from integration tests. (48122)
  • Lodash: Remove remaining _.get() from core-data. (48310)
  • Lodash: Remove _.get() for post type usages. (48121)
  • Lodash: Remove remaining _.get() from editor. (48314)
  • Lodash: Remove some _.get() from editor. (48104)
  • Lodash: Remove _.merge() from getMappedColumnWidths(). (48032)
  • Lodash: Remove some _.get() from Gallery block. (48488)
  • Lodash: Remove some _.get() from Image block. (48489)

Documentation

  • Clarify 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. status of appearance-tools theme support. (48622)
  • Docs: Clarify release process for major WP BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1. (48248)
  • Docs: Markdown fix for wp_enqueue_script usage. (48212)
  • Fix e2e-test-utils-playwright’s jsdoc and types. (48266)
  • Fix incorrect css property in editor-color-palette documentation. (48333)
  • Proactively update versions in WordPress ahead of 6.2. (48145)
  • Update curation document to include theme.json filters. (48576)
  • Updates to the curating the editor experience to include 6.1 & 6.2 items. (48294)

First time contributors

The following PRs were merged by first time contributors:

  • @abhi3315: Link Control – Add support for text only labels. (47930)
  • @hbhalodia: Change higher order with-constraint-tabbing from .js to .tsx. (48162)
  • @sboerrigter: Fix incorrect css property in editor-color-palette documentation. (48333)
  • @shreyasikhar: Site Editor Sidebar: Add line-height for template/parts name and update width for edit button. (48160)
  • @suvrodattamitu: Style Engine: Fix wrong property name letterSpacing to lineHeight. (48091)
  • @tomdevisser: Remove copy for managing a block’s style variations. (48367)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @abhi3315 @adamziel @afercia @alexstine @andrewserong @annezazu @brookewp @carolinan @chad1008@ciampo @dcalhoun @draganescu @ellatrix @fluiddot @geriux @getdave @gvgvgvijayan @gziolo @hbhalodia @jorgefilipecosta@jsnajdr @kevin940726 @MaggieCabrera @Mamaduka @marekdedic @ndiego @ntsekouras @oandregal @ockham @richtabor@sboerrigter @scruffian @shreyasikhar @spacedmonkey @suvrodattamitu @tellthemachines @tomdevisser @tyxla@WunderBart @youknowriad @t-hamano

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

What’s new in Gutenberg 15.2? (22 February)

“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/” is published following every Gutenberg biweekly release, showcasing new features included in the release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Site Editor (formerly called Full Site Editing) projects. Previous release posts can be found via the #gutenberg-new 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.).

Gutenberg 15.2 has been released and is available for download!

The latest version of Gutenberg, 15.2, has made frequently requested improvements to the template editing experience allowing users to enjoy a better editing experience with more efficient and intuitive controls. 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) improvements and additional control support for blocks are also notable additions.

Table of contents

Edit templates and template parts fearlessly with 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 i