Whatโ€™s new in Gutenberg 22.6? (25 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/โ€ฆโ€ posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 22.6?

Gutenberg 22.6 has been released and is available for download!

This release brings visual change tracking to in-editor 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. and introduces a brand-new Icon 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.. The navigation overlay and client-side media processing both graduate from experimental status. Real-time collaboration adds cursor awareness and can now be enabled through a global settings toggle, and the Gallery block now supports lightbox navigation between images.

A total of 388 PRs were merged in Gutenberg 22.6, with 8 first-time contributors!

Table of contents

In-Editor Revisions: Visual Change Tracking

Browsing post revisions in the editor now shows a color-coded visual diff between the selected revision and its predecessor. Added text appears in green with an underline, removed text in red with a strikethrough, and formatting or attribute changes are highlighted with a yellow outline. Entire blocks, added or removed, are outlined in green or red, respectively. Visual change tracking can be toggled off to view clean content. Colors blend with currentColor so they look appropriate across all themes. (75049)

Icon Block

A brand-new Icon block lets you insert SVG icons from a curated library directly into your content. The block is powered by a new server-side SVG Icon Registration 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., so updates to the icon registry propagate to all uses without block validation errors. A REST endpoint at /wp/v2/icons supports searching and filtering. The initial set draws from the wordpress/icons package, and the architecture is designed for future extensibility including third-party icon registration. (71227, 72215, 75576)

Navigation blocks now have customizable overlays and give user full control over mobile hamburger menus. A prominent โ€œCreate overlayโ€ button guides you through the setup, providing a selection of patterns to achieve a variety of designs for your overlay. The Navigation Overlay feature is no longer experimental, and is available to all users 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.. (74968, 74971, 75564, 75276)

Client-Side Media Processing

Client-side media processing is a feature that leverages the browserโ€™s capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). to process images. This enables the use of more advanced image formats (including AVIF, WebP, and MozJPEG output encoding) and compression techniques (resulting in ~10โ€“15% smaller file sizes with no quality loss for generated JPEG sub-sizes). It also reduces demand on the web server, thus providing smoother media workflows. As of Gutenberg 22.6, client-side media processing has graduated from experimental state to stable feature. (75081, 74910)

Real-Time Collaboration

Real-time collaboration sees a major round of development in this release. A new toggle under Settings > Writing lets you enable the feature, and once active, collaborators editing the same post see each otherโ€™s cursor positions and block selections in real time. A presence indicator in the editor headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitorโ€™s opinion about your content and you/ your organizationโ€™s brand. It may also look different on different screen sizes. shows whoโ€™s currently editing. Under the hood, title, content, and 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. now sync via Y.text for more granular conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. resolution, and numerous reliability fixes address disconnection handling, revision restores, and performance metrics. (75286, 75398, 75065, 75448, 75595)

The Gallery blockโ€™s โ€œEnlarge on clickโ€ lightbox now supports navigation between images. When you click an image in a gallery, back and next buttons let you browse through the rest of the gallery without closing the lightbox. Keyboard navigation with arrow keys and screen reader announcements (โ€œEnlarged image X of Yโ€) are fully supported. Images that donโ€™t have lightbox enabled (e.g., those linked to a file URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org) are skipped during navigation. (62906)

Other Notable Highlights

  • Block visibility enhancements: List View now shows viewport-aware icons with tooltips indicating which viewports a block is hidden on, and hidden blocks get a simplified toolbar. The keyboard shortcut (Cmd+Shift+H / Ctrl+Shift+H) to toggle block visibility options is featured in the block context menu. (75404, 75335, 75334)
  • Notes keyboard shortcut: You can now create a block note with Cmd+Option+M (Mac) or Ctrl+Alt+M (Windows/Linux), and press Escape to cancel. (75287, 75288)
  • Verse block renamed to Poetry: The Verse block is now called Poetry. (74121)
  • QuickEdit stabilized: QuickEdit is now stable and opens as a modal in the Site Editor pages view. (75565, 75173)
  • Text-align block support migrations: Eight blocks (Author Biography, Post Author Name, Post Comments Count, Post Comments Form, Post Comments Link, Post Terms, Post Time to Read, and Term Description) have been migrated to the standardized text-align block support.
  • Enforced 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 the post editor: Please check here for more information. (75475)

Many of these new features will also be included in the upcoming WordPress version 7.0, so you can find more details and testing instructions over at the 7.0 Call for Testing.

Changelog

Features

  • wp-env: Add โ€“config option for custom configuration files. (75087)

Client Side Media

  • Add AVIF, WebP and MozJPEG output encoding support. (75081)
  • Add device/browser capabilitycapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). detection. (75863)
  • Add EXIF metadata tests for Client Side Media. (74909)
  • Fix client-side media file naming. (75817)
  • Media: Graduate client-side media processing from experimental. (75112)
  • Pass unsupported formats directly to the server. (74910)

Block Library

  • New Block: Icon Block. (71227)
  • Remove the Icon Block and Icon SVG API from experiments. (75576)

Interactivity API

  • Export watch from @preact/signalsโ€˜s effect. (75563)

Enhancements

  • wordpress/ui: Add Dialog component. (75183)
  • wordpress/ui: Use semantic dimension tokens. (74557)
  • Abilities: Allow nested namespace ability names (2-4 segments). (75393)
  • Add testsEnvironment option and split Gutenberg wp-env configs. (75341)
  • Adminadmin (and super admin) UIUI User interface: Apply โ€˜text-wrap: Prettyโ€™ to Page. (74907)
  • Commands: Display categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. labels and enforce category icons. (75669)
  • Gutenberg plugin: Always enforce the iframe in the post editor. (75475)
  • Layout: Update Gutenberg to match coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. after #75360 sync. (75594)
  • Media Utils: Auto-select uploaded files in media modal experiment. (75597)
  • MediaEdit: Support ordered values and reordering of items. (75207)
  • Replace install-path command with status command in wp-env. (75020)
  • Theme: Update dimension tokens. (75054)
  • Theme: Update elevation tokens to use abbreviated size names. (75103)
  • UI: Add Textarea primitive. (74707)
  • @wordpress/ui: Add IconButton. (74697)
  • @wordpress/ui: Add Tabs. (74652)
  • iAPI router: Move internal properties to a private store. (70882)
  • ui/IconButton: Make icon always 24px regardless of size prop. (75677)
  • ui/Button: Add min width. (75133)
  • wp-env: Add cleanup command and force flag. (75045)

Block Library

  • Accordion block: Add list view support. (75271)
  • Accordion: Move Accordion icons to Icon library. (75380)
  • Author block: When recreating, migrate the textAlign attribute of the Author block to the block style attribute. (75153)
  • Block Supports: Add Line Indent support using enum setting. (74889)
  • Blocks: Try prepending โ€˜httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information.โ€™ to URLs without protocol. (75005)
  • Breadcrumbs: Improve loading state rendering. (75383)
  • Custom CSSCSS Cascading Style Sheets. support: Add attributes for dynamic blocks. (75052)
  • Default all initial suggested results to 20 for navigation link ui. (75186)
  • Gallery: Add lightbox support. (62906)
  • Gallery: Add list view block support. (75407)
  • Icon block: Skip serialization and increase default size. (75553)
  • Image Block: Handle image URLs without protocol. (75135)
  • Informational Parity between Inspector Link Preview and on Canvas Link Preview. (75399)
  • List View Support: Only render list view on top level block with support. (75166)
  • Migrate multiple blocks to text-align block support:
    • Author Biography. (74997)
    • Post Author Name. (75109)
    • Post Comments Count. (75321)
    • Post Comments Form. (75322)
    • Post Comments Link. (75332)
    • Post Terms. (75545)
    • Post Time to Read. (75541)
    • Term Description. (75542)
  • Navigation Link: Clarify Link To invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. and draft states. (74054)
  • Navigation Link: Go to page link and edit page for inspector 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.. (75262)
  • Navigation Overlay: Add Create Overlay button. (74971)
  • Navigation Overlay: Remove experiment. (74968)
  • Navigation: Improved help on create page flow. (75349)
  • Navigation: Update overlay template part naming to โ€˜Navigation Overlayโ€™. (75564)
  • Pattern Editing and Navigation block: Show navigation controls in popover. (75194)
  • Pattern Editing: Allow click through to List View. (75246)
  • Pattern Editing: Revise โ€˜Edit sectionโ€™ button naming. (75663)
  • Playlist block: Remove border. (75202)
  • Post Excerpt: Add text columns support. (75587)
  • Pre-populate Navigation Page Creator with Search Text. (75154)
  • Rename Verse block to Poetry. (74121)
  • Tabs:
    • Add text and background color support. (75482)
    • Inherit text color for tabs-menu-item blocks. (75621)
    • Polish. (75128)
    • Simplify Tabs Menu Item editing. (75416)
    • Tidy up UI for controls. (75309)
    • Update Tabs block icons. (75376)
  • 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.: Enable width setting for Icon block by default. (75665)

Post Editor

  • Add dedicated navigation-overlay icon (#75249). (75426)
  • Auto-switch viewport based on Overlay Visibility setting when entering overlay editor. (75386)
  • Block Editor: Allow disabling content-only editing for unsynced patterns. (75457)
  • Commands: Add category property to command registration. (75612)
  • Create sub-sized images. (74566)
  • Editor: Introduce new selectedNote editor state. (75177)
  • 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. navigation category patterns to only show in navigation-overlay template part context. (75276)
  • In-editor Revisions: Update success notice message. (75411)
  • In-editor revisions: Add visual diffing. (75049)
  • Migrate EditorSnackbar and EditorNotices components to the @wordpress/notices package. (74384)
  • Navigation: Select list view tab on contentOnly. Alternative with explicit solution. (75578)
  • Notes: Add a keyboard shortcut for creating a new note. (75287)
  • Notes: Pressing Escape should cancel adding a note. (75288)
  • Notes: Update shortcut category. (75461)
  • Post Content Block: Improve removal confirmation modal. (75001)
  • Real-time collaboration:
    • Add collaborators cursor awareness. (75398)
    • Add global setting to enable real-time collaboration. (75286)
    • Move PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher code to compat / backports directory. (75366)
    • Remove block client IDs from Awareness, fix โ€œShow Templateโ€ view. (75590)
  • Set snackbar position to center. (75294)
  • Site Editor Pages: QuickEdit as a modal. (75173)
  • Use contextual snackbar text when activating a theme from preview. (75385)

Block Editor

  • Add URL validation in LinkControl using ValidatedInputControl. (73486)
  • Add block rename keyboard shortcut. (74454)
  • Add getDimensionsClassesAndStyles function and related tests. (74524)
  • Add storybook for ColorPaletteControl. (74425)
  • Block Lock: Disable Apply button on non-dirty state. (75495)
  • Block Support: Allow serialization skipping for ariaLabel. (75192)
  • Block Visibility:
    • Centralize modal state in block-editor store. (75367)
    • Disable Apply button on non-dirty state. (75494)
    • Disable visibility toggle for children of sections. (75447)
    • Show keyboard shortcut in context menu. (75334)
    • Show viewport icons and tooltip in list view for hidden blocks. (75404)
    • Simplify toolbar for hidden blocks. (75335)
  • Cover: Add new โ€œfullheightโ€ icon, and use for Cover. (75240)
  • Enable paragraphs to be added to contentOnly patterns. (73222)
  • Enhance block appender labels to reflect default block type. (71502)
  • Hide parent grid cells when child grid is selected. (75078)
  • Implement WebAssembly support detection and fallbacks. (74827)
  • Improve Background panel UI in Global Styles. (75230)
  • Pattern Editing: Add โ€œEdit sectionโ€ button to unsynced pattern toolbar. (75602)
  • Pattern Editing: Hide List View child blocks in Content panel. (75007)
  • Stabilize PHP-Only Block Registration. (75543)

Site Editor

  • DataForm: Update panel trigger. (75290)
  • DataViews: Add onReset prop for view persistence reset. (75093)
  • Make QuickEdit stable + change template to select. (75565)
  • Prevent welcome guide from appearing during loading. (75102)
  • Quick edit: Make footer sticky. (75297)
  • Unified view persistence: Share one persisted view across all tabs. (74970)

DataViews

  • Add new adaptiveSelect DataForm control. (74937)
  • Consistent rendering of selection checkbox and actions in grid layout. (75056)
  • DataForm: Add edit variant. (75462)
  • DataForm: Mark fields as required or optional automatically. (74430)
  • Dataform: Adds validation support to the DataForm details layout. (74996)

Components

  • DataViews: Use public ColorPicker instead of internal Picker export. (75394)
  • DateCalendar, DateRangeCalendar: Use lighter gray for disabled dates. (75683)
  • ToggleGroupControl: Add visual emphasis to selected item. (75138)
  • [Real-time collaboration] Refine collaborator overlay with 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. component integration. (75595)

Icons

  • Icons Registry: Donโ€™t expose โ€œinternalโ€ icons. (75526)
  • Trim list of public icons further. (75630)
  • Update icon manifest acronyms. (75418)

Media

  • Media Fields: Filter author field to only show authors. (75328)
  • Media Fields: Fix filename field truncation. (75091)
  • Media Modal Experiment: Update preview size to be a little smaller. (75191)

New APIs

  • Real-time collaboration: Remove wordpress/sync from bundled packages and add private APIs. (74671)

Bug Fixes

  • Boot: Fix mobile admin bar covering single-page headers. (75339)
  • DataForm: Fix color picker styles. (75427)
  • Env: Remove non-functional WP_ENV_MULTISITE configuration. (72567)
  • Fields: Fix authorField query. (75298)
  • Fix missed dimension token migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. in UI package. (75446)
  • Fix undo end-to-end test. (75740)
  • Language Format: Add missing attribute definition. (75422)
  • Media Modal Experiment: Remove default value for allowedTypes so that the file block can accept all types. (75159)
  • Prevent fatal error when the inline CSS duotone variable is an array. (75283)
  • Routing Boot Package: Remove left border from stage and inspector surfaces. (75036)
  • Run generate-worker-placeholders script in dev. (75104)
  • Support zip theme sources in Playground runtime. (75155)
  • Upload Media: Fix upload handling. (75646)
  • 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. Area: Disable renaming and visibility support. (75279)
  • Writing flow: Fix Cmd+A from empty RichText. (75175)
  • iAPI Router: Update cached styles for re-fetched pages. (75097)
  • ui/Button: Fix disabled styles and variable composition. (75568)
  • wp-env Playground: Improve mapping and core source handling. (75527)
  • wp-env:
    • Fix MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. startup race condition causing database connection errors. (75046)
    • Fix mixed runtime detection issues. (75057)
    • Fix status command. (75325)

Block Library

  • Add initialSearchState to avoid console warnings from LinkControl inputValue change. (75643)
  • Border Support: Fix editor split border style fallback. (75546)
  • Comments Link: Fix transforms textAlign. (75676)
  • Cover block: Force LTR direction for the background URL input field. (75169)
  • 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.: Added a fallback to the default value when clearing the aspect ratio control for the Featured Image. (75358)
  • Fix duplicate content when navigation overlay is open and nav has non-link inner blocks. (75180)
  • Fix: Make all Navigation Overlay Close buttons work. (75384)
  • Fix: Show and hook up submenu visibility for Page Lists within Navigation Blocks. (75531)
  • Gallery: Fix PHP warning in random order image reordering. (75678)
  • Gallery: Skip interactivity directives when no images have lightbox enabled. (75680)
  • Group Block: Fix preview display. (75200)
  • Heading Block: Fix preview display. (75675)
  • Hide grid visualiser if the grid block is hidden. (74963)
  • Hide navigation-overlay template parts from inserter. (75478)
  • Icon Block:
    • Corrects style selectors when global styles are set. (75724)
    • Include Icons assets in Plugin ZIP. (75866)
    • Move default width rule to theme.json instead of block.json. (75653)
    • Remove experimental property. (75742)
  • Image block: Add missing space between sentences. (75142)
  • Improve link preview badges. (75318)
  • Media & Text: Respect image_default_link_type option. (74295)
  • Navigation Submenu: Restore openSubmenusOnClick to usesContext for backward compatibility. (75435)
  • Navigation block: Remove horizontal scroll from list view. (75086)
  • Navigation link: Fix resetting link from the tools panel. (75228)
  • Navigation overlay: Fix default pattern contrast issue on dark themes. (74979)
  • Post Excerpt: Disable HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. element insertion. (74928)
  • Pullquote: Fix deprecated block validation when anchor/id attribute is present. (75132)
  • Query: Remove content role from block. (75760)
  • Remove useEffect guard rail to enforce minimum width. (75624)
  • Respect deprecated openSubmenusOnClick value on frontend rendering. (75439)
  • Tab Block: Ensure label formatting works correctly. (75548)
  • Tab: Fixed the color reset to ensure correctness. (75606)
  • Tabs:
    • Fix incorrect fixtures. (75523)
    • Fix saved HTML. (75580)
    • Improve Tab Panel 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). (75484)
    • Improve tab keyboard nav. (75471)
    • Make Example preview translatable. (75555)
    • Remove name editing UI. (75554)
    • Sanitize tab_id. (75615)

Block Editor

  • Allow grid to use style variation blockGap values for columns calculation. (75360)
  • Allow stable block IDs in block editor store. (74687)
  • Block Bindings: Have block fields panel reflects bound attribute value. (72096)
  • Block editor cross origin isolation: Attempt to gracefully deal with race conditions. (75600)
  • Block transform command: Pass the block icon src rather than a BlockIcon component. (75365)
  • ContrastChecker: Fix check for button block colors. (71959)
  • DOM: Make focus.focusable spec-compliant by excluding inert elements. (75172)
  • Fix Columns block horizontal spacing when setting vertical gap. (75355)
  • Fix LinkControl URL Normalization. (75488)
  • Fix emdashes in HTML anchor description. (75043)
  • Fix error when undoing newly added pattern. (75850)
  • Fix: Changing URL in link after changing text outside the popover resets it. (75342)
  • Link Control: Validate on submit. (75267, 75310)
  • List View tab: Ensure itโ€™s populated when first selecting a container block. (75558)
  • Only show dot divider for parent selector in top toolbar. (75710)
  • Pattern editing: Fix block editing modes when switching back and forth from isolated editing. (75821)
  • Pattern Editing: Fix nested patterns/sections. (75772)
  • Post editor: iframe: Check inserted rather than registered block versions. (75187)
  • Preserve existing URLInput defaults by only using validation component when validity settings are used. (75392)
  • Remove formatting controls restriction private API. (75382)
  • RichText:
    • Remove min-width inline style causing flex layout issues. (75370)
    • Avoid stale active formats when deleting the text. (75227)
    • Fix white space collapsing around formatting. (74820)
  • Synced patterns: Fix block editing mode of synced pattern content when nested in an unsynced pattern. (75818)
  • Writing Flow:
    • Fix block selection from partially selected RichText. (75449)
    • Fix select all with full formatting. (64934)
    • Skip non-empty blocks on arrow key nav. (75141)

Post Editor

  • Add paste logging to writing flow. (73885)
  • Fix Overlay core patterns not showing on design tab. (75618)
  • Fix selection restoration after entity navigation. (75371)
  • In-editor revisions: Preserve client IDs. (75028)
  • Lock save button during Client Side Media processing and uploading. (74951)
  • Notes:
    • Remove block highlight when deleting parent note. (75453)
    • Fix block toolbar click action. (75614)
    • Fix new note creation from the List View. (75566)
    • Fix sidebar display logic for small screens. (75454)
  • Real-time Collaboration: Fix revision restore 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.. (75233)
  • Restore deprecated Pullquote Block. (75122)
  • [Real-time collaboration] Fix layout issue. (75599)

Components

  • Button: Prevent outline flicker when focused and active at the same time. (75346)
  • ExternalLink: Prevent Twemoji from replacing arrow. (75538)
  • Fix: ISO 8601 compliant year formatting in TimePicker. (75343)
  • Remove โ€œtext-wrap: Balanceโ€ fallback from Text. (75089)
  • Slot: Fix ref forwarding. (75274)
  • Snackbar: Fix scaling issue with snackbars that update their content via a common id. (75709)
  • Tabs: Set explicit font-family on tab buttons. (75537)
  • ToggleControl: Pass full props to the input element. (74956)
  • ToggleControl: Prevent console warning for __nextHasNoMarginBottom. (75296)

Collaboration

  • Add cap check for single taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. term entities. (75708)
  • Add minimum cap check to sync endpoint. (75681)
  • Always target autosave revision. (75105)
  • Bugfix for CRDT user selection and add tests. (75075)
  • Bugfix: Set the removed users to empty for awareness. (75337)
  • Fix comment syncing on site editor. (75746)
  • Fix entity save call / initial persistence. (75841)
  • Pick user fields instead of spreading the entire object. (75528)
  • Remove disconnected users from Awareness. (75253)
  • Remove IS_GUTENBERG_PLUGIN checks for collaborative editing. (75699)
  • Update diff package. (75644)

DataViews

  • Add title attribute in grid item title field. (75085)
  • DataForm Regular layout: Label always uppercase. (75292)
  • DataViews Filters: Fix styling of long values in filter dropdown. (75369)
  • Fix fields async validation. (74948)
  • Fix title truncation in list layout. (75063)

Icons

  • Fix incorrect attributes for SVG. (75273)
  • Make full height icon label title case. (75524)

Site Editor

  • Prevent QuickEdit modal from being triggered in list layout via URL param. (75300)
  • Refactor activeFilters to activeViewOverrides with date sort for User tab. (75094)

npm Packages

  • Update wordpress/vips in root package.json to use a relative path. (75758)
  • Vips and worker-threads packages: Remove private flag so that packages can be published to npm. (75752)

Accessibility

  • RangeControl: Support forced-colors mode. (75165)
  • Resize metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. box pane without ResizableBox. (66735)

Performance

  • Improve sync performance metrics. (75029)
  • Notes: Donโ€™t trigger reflow for pinned sidebar. (75010)

Block Editor

  • Editor iframe: Memoize src blob URL to prevent unwanted revokes. (75619)
  • Optimize controlled inner blocks state churn. (75458)
  • useBlockSync: Stop reconstructing controlled inner blocks. (75562)

Block Library

  • Media & Text: Fix RTLCSS control directives appearing in production CSS. (73205)
  • Post Terms: Avoid unbound queries when the post context isnโ€™t available. (75536)
  • Core Data: Create icons entity. (75773)

Experiments

  • Add useBlocker to private APIs for enhanced routing control. (75687)
  • Playlist block. (50664)
  • Real-time Collaboration: Fix broken unit tests for awareness. (75362)
  • SVG Icon registration API. (72215)

Collaboration

  • Add collaborators presence UI. (75065)
  • Add hook for accessing awareness data. (75009)
  • Add sync connection status handling. (75066)
  • Add tests for the awareness code in core-data. (75074)
  • Add tests for the awareness code in sync. (75077)
  • Compact on request with encodeStateAsUpdate. (75682)
  • Fix auto draft bug for Y.text titles. (75560)
  • Import Yjs correctly in core-data. (75500)
  • Sync post content and undefined blocks value. (75437)
  • Update the y-protocols version and remove the unnecessary diff types. (75657)
  • Use Y.text for title, content and excerpt. (75448)

Documentation

  • Clarifies cherry-picking permissions and improves minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. workflow documentation. (75034)
  • wordpress/theme: Add missing CHANGELOG entries. (75281)
  • Components: Add usage guidance for agents and Storybook. (74815)
  • Core Block Reference: Fix object empty inner key processing. (75391)
  • Design System: Add guidelines for save and submit UXUX User experience. (74811)
  • Docs: Add missing global documentation in block library. (75004)
  • Docs: Remove private 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 by the repository owner. https://github.com/ team links in repository management. (75255)
  • Docs: Rename Interactivity APIโ€™s โ€˜API Referenceโ€™ to โ€˜Directives and Storeโ€™. (74974)
  • Docs: Simplifying Gutenberg versions table. (75209)
  • Fix awareness timeout documentation unit. (75284)
  • Fix: Navigation Overlay Close Block: Add missing since tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) #75247. (75250)
  • Real-time collaboration: Update โ€˜sync.providersโ€™ filter inline comments. (75248)
  • Removed Unused Global Documentation. (75631)
  • Scripts: Fix contributor guide link in README. (75161)
  • Storybook: Add Stories for LetterSpacingControl component. (73480)
  • Storybook: Fix missing props on certain components. (75316)
  • Storybook: Preserve export order for stories. (75295)
  • Tabs: Add @since 7.0.0 annotations. (75521)
  • Theme: Fix gap token migration guide in changelog. (75492)
  • Theme: Render default density selector last in design tokens CSS. (75474)
  • Updated Typo in template-activate file. (75333)

Code Quality

  • Cleanup: Remove unnecessary array check in WP_Theme_JSON_Gutenberg. (75515)
  • Code Modernization: Replace isset() checks with null coalescing operator. (75425, 75419, 75487)
  • Core Data: Improve blocks cache in useEntityBlockEditor. (75400)
  • Docs: Add missing global documentation in rtl.php and meta-box.php. (75082)
  • Generate manifest PHP file based on JSON file. (75684)
  • Move experimental PR out of 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. log. (75465)
  • Navigation overlay: Added basic end-to-end tests. (75581)
  • Private APIs: Remove duplicate @wordpress/ui entry. (75051)
  • Remove backport changelog committed by mistake. (75441)
  • Remove the ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. Native test status badges. (74674)
  • Restrict base-ui imports outside of UI component packages. (75143)
  • Select: Remove unnecessary jest.setTimeout from test. (75444)
  • Types: Consistently use the React namespace. (75499)

Block Library

  • Deprecate โ€˜Post authorโ€™ block. (55352)
  • Navigation: Consolidate SVG rendering functions to a shared helper. (74853)
  • Optimize tabsList computation with useRef for comparison. (75219)
  • Playlist block: Inherit more CSS. (75256)
  • Remove temp nav files. (75061)
  • Remove unnecessary block deprecation from experimental tabs. (75208)
  • Storybook: Always load design tokens in Design System section. (74899)

Block Editor

  • Add l10nL10n Localization, or the act of translating code into one's own language. Also see internationalization. Often written with an uppercase L so it is not confused with the capital letter i or the numeral 1. WordPress has a capable and dynamic group of polyglots who take WordPress to more than 70 different locales. context to โ€˜Manage allowed blocksโ€™ string. (75239)
  • PHP-Only Block Registration: Remove client-side schema validation. (75623)
  • Pattern Editing: Add comments for expandRevision functionality. (75573)
  • Pattern Editing: Move List View selectors to private-selectors. (75414)
  • The insertBlock(s) actions should receive the same arguments. (75197)
  • useBlockVisibility: Consolidate and remove unnecessary useMemo calls. (75120, 75125)

Components

  • Prefix usages of JSX namespaces with React.JSX. (75508)
  • Story types: Fix StoryFns used as React components. (75472)
  • UI: Remove Box component abstraction. (74986)
  • Update Ariakit packages. (75620)
  • Update dependencies and types for React 19 compatibility. (75324, 75340, 75567)
  • useRef: Always supply initial value. (75513)

Post Editor

  • Notes: Use preferences store when applicable. (75008)
  • Real-time Collaboration: Change users to collaborators. (75237)
  • Real-time collaboration: Fix type imports. (75232)
  • Real-time collaboration: Make the collaborators presence button translatable. (75252)
  • Remove deprecated __nextHasNoMarginBottom prop. (75139)
  • RichText: Move useFormatTypes to rich-text package. (75387)
  • useMergeRefs: Migrate to TypeScript. (75569)

DataViews

  • DataForm: Style SummaryButton in panel layout with is-disabled classname. (75470)
  • Externalize theme stylesheet. (75182)

Collaboration

  • Move AwarenessState to wordpress/core-data. (75216)
  • Real-time collaboration: Update and unpin sync package dependencies. (75059)

Tools

  • AGENTS.md: Add CLAUDE.md symlinks, architecture decisions, and common pitfalls. (75507)
  • Duotone: Add sgomes as owner. (75519)
  • Real-Time Collaboration: Add end-to-end tests for RTC. (75598)

Testing

  • Add end-to-end test for loading settings in site editor preload spec. (75661)
  • Add end-to-end test for selection restoration after pattern navigation. (75575)
  • 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. for gap in block style variations fix. (75038)
  • Navigation: Add โ€˜expectedDeprecatedโ€™ annotations. (75659)
  • Update Navigation block tests to use non-deprecated API. (75660)
  • Update navigation block tests to use gutenberg version of block_core_navigation_block_tree_has_block_type. (75673)
  • Upgrade Playwright to v1.58. (75632)
  • Workflows: Ignore icons manifest for manual backports. (75245)

Build Tooling

  • Add timestamp when publishing next versions. (75293)
  • Build: Add vendorScripts configuration to build packages from node_modules. (74343)
  • Fix dev build for fresh checkouts (or with build/scripts/block-library missing). (75108)
  • GitHub actions: Exclude lib/theme.json from backport changelog check. (75666)
  • Infrastructure: Add storybook to tsconfig project references. (74887)
  • Publishing packages: Fix next timestamp. (75301)

First-time contributors

The following PRs were merged by first-time contributors:

  • @Abmarne: Fix: Navigation Overlay Close Block: Add missing since tag #75247. (75250)
  • @anandrajaram21: Storybook: Add Stories for LetterSpacingControl component. (73480)
  • @czarflix: DataForm: Mark fields as required or optional automatically. (74430)
  • @davidabowman: [Real-time collaboration] Refine collaborator overlay with Avatar component integration. (75595)
  • @gmjuhasz: Media & Text: Fix RTLCSS control directives appearing in production CSS. (73205)
  • @lsarsfield: wp-env: Fix MySQL startup race condition causing database connection errors. (75046)
  • @Marianne380: Navigation Submenu: Restore openSubmenusOnClick to usesContext for backward compatibility. (75435)
  • @Swoyamjeetcodes: Add getDimensionsClassesAndStyles function and related tests. (74524)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @Abmarne @adamsilverstein @aduth @alecgeatches @amitraj2203 @anandrajaram21 @andrewserong @annezazu @bernhard-reiter @czarate @czarflix @DAreRodz @davidabowman @ellatrix @fabiankaegy @fcoveram @getdave @gigitux @gmjuhasz @ingeniumed @isabel_brison @jameskoster @jeryj @joen @johnbillion @jorgefilipecosta @jsnajdr @juanfra @juanmaguitar @lsarsfield @luisherranz @madhudollu @Mamaduka @manhphuc @manzoorwanijk @Marianne380 @maxschmeling @mciampini @mcsf @mikachan @mirka @Mustafabharmal @noruzzaman @ntsekouras @oandregal @onemaggie @pkevan @poena @ramonopoly @saranshsinhaa @scruffian @senadir @sethrubenstein @sgomes @shailu25 @shekharnwagh @shimotomoki @simison @SirLouen @Soean @stokesman @Swoyamjeetcodes @talldan @timse201 @tyxla @welcher @westonruter @wildworks @xavilc @yashjawale @youknowriad


Props to @joen for the visuals, and to @bph for reviewing the post.

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

Summary, Dev Chat, February 4, 2026

Startย of the meeting inย SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., facilitated by @audrasjb ๐Ÿ”— Agenda post.

Announcements ๐Ÿ“ข

Nominations for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps 2026

The nomination process for Core Team Representatives for 2026 is over. We are putting together the nominations, then a poll will probably be opened for voting. It will stay open for two weeks. Stay tuned.

WordPress 6.9.1

It was released yesterday! Congrats to everyone involved in this release!

Milestone 6.9.2 is open on Trac and @jorbin will monitor new tickets related to 6.9.

WordPress 7.0 Update

Discussion ๐Ÿ’ฌ

We have a formal proposal for merging the WP AI Client into WordPress 7.0!

@jorbin noted that there is no formal timeline for feedback on this new feature.

There are discussions in the proposal on Make/Core and in the related Trac ticket.

The realtime coordination feature also was noted by @marybaum and @jorbin as a set of features that would deserves a merge proposal blogpost.

From @adamsilverstein:

Iโ€™d like to mention I have posted a detailed progress update for the Client Side Media feature on the tracking issue. The summary is: last week we landed the wordpress/worker-threads package, which unlocks running VIPS directly in a worker thread. This means the feature can now be tested. Also: the final 7 pre-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. PRs are nearly ready for review.
The main thing I need support on is code reviews and testing!

This was cross-posted on the #core-editor channel.

#6-9-1, #7-0, #core, #dev-chat

Whatโ€™s new in Gutenberg 22.5? (04 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/โ€ฆโ€ posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 22.5?

Gutenberg 22.5 has been released and is available for download!

It brings practical refinements for your editing workflow. You can now add custom CSSCSS Cascading Style Sheets. to individual blocks, and the Image blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. shows aspect ratio controls for wide and full alignments. List View gets more useful with full block titles and actual content displayed for list items. The release also stabilizes viewport-based block visibility and pattern editing, plus adds focal point controls for fixed Cover backgrounds and text column support for Paragraphs.

Table of contents

Custom CSS Support for Individual Blocks

Gutenberg 22.5 brings custom CSS support for individual block instances, letting you write styles that target specific blocks without affecting others of the same type. A has-custom-css class is automatically added in both the editor and frontend for dynamic blocks, making your custom styles easier to manage. If youโ€™ve been working around this limitation with extra wrapper blocks or global CSS, your workflow just got simpler. (73959, 74969)

Screenshot showing block-level custom css box

Image Block: Aspect Ratio Control for Wide and Full Alignment

The Image block now shows aspect ratio controls when you choose wide or full alignment. Previously, aspect ratio options only appeared for default-aligned images, a limitation when designing hero sections or full-width layouts. Now you can lock in your preferred proportions regardless of alignment, giving you more consistent control over how images display across different screen sizes (74519)

Illustration of controling image aspect ratio for wide and full widths

List View Improvements

Two enhancements make List View considerably more useful in this release. Youโ€™ll now see full block titles instead of truncated labels, and List Items display their actual content rather than generic โ€œList Itemโ€ text. When youโ€™re navigating complex documents with nested lists, these small changes make a real differenceโ€”you can finally tell your list items apart at a glance (74798, 74794)

Other Notable Highlights

  • Cover Block: Focal point picker for fixed backgrounds: You can now set a focal point even when using fixed/parallax backgrounds (74600).
  • Paragraph Block: Text column support: Paragraphs can now flow into multiple columns directly via block supports (74656).
  • Navigation: Submenus always open option: A new toggle lets you keep submenus permanently expanded rather than requiring hover/click (74653).
  • In-editor 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. (initial implementation: Early groundwork for viewing revisions directly in the editor, though without โ€œdiffingโ€ yet (74771).

Changelog

Enhancements

Block Library

  • Add custom CSS support for individual block instances. (73959)
  • Add theย has-custom-cssย class name to the editor and dynamic blocks. (74969)
  • Allow for themes to define the overlay attribute without using a theme slug. (74119)
  • Breadcrumbs Block:
    • Show custom block name. (73690)
    • Add example block previews. (74808)
  • Comment Date: Add textAlign Support. (74599)
  • Comment Edit Link: Migrate to text-align block support. (74720)
  • Comment Reply Link: Migrate to text-align block support. (74760)
  • Comments Title: Migrate to text-align block support. (74945)
  • Cover Block: Enable focal point picker for fixed background. (74600)
  • Enhance Term List block: Pre-select current term on term archive pages. (74603)
  • Handle deleted navigation overlays. (74766)
  • Image block: Show aspect ratio control for wide and full alignment. (74519)
  • List Item: Show content instead of block name in List View. (74794)
  • Navigation Overlay:
    • Add 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. preview. (74780)
    • Insert default pattern on creation. (74650)
    • Update overlay control labels. (74690)
    • Default new blocks to โ€œalwaysโ€ show overlays. (74890)
  • Navigation overlay patterns:
    • Centered navigation with info. (74862)
    • Centered navigation. (74861)
    • Overlay with accent background. (74849)
    • Overlay with black background. (74847)
  • Navigation:
    • Add a new option that toggles submenus always open. (74653)
    • Donโ€™t use a nav 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.) for navigation blocks inside overlays. (74764)
  • Paragraph: Add text column support. (74656)
  • Verse Block: Add new textAlign support. (74724)
  • Feat/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. tabs restructure. (74412)
  • Stabilise viewport based block visibility. (74839)

Block Editor

  • Block visibility:
    • Refactor metadata to use nested structure. (74602)
    • Create selectors for block visibility in current viewport (device setting or responsive). (74517)
    • Render blocks when hidden at all viewports (and other changes). (74679)
  • Inserter Component: Improving Stories. (74922)
  • List View support: Show full block titles. (74798)
  • MediaReplaceFlow: Move Reset option to bottom of menu. (74882)
  • Try storing global styles in static var in layout render. (74828)
  • Pattern editing: Stabilize and remove the experiment flag. (74843)

DataViews

  • Add card form layout validation. (74547)
  • Include totals items count in DataView footer. (73491)
  • MediaEdit: Supportย customย validation. (74704)
  • Show validation errors when a panel closes. (74995)
  • Add content element guidelines for fields in DataForm. (74817)

Components

  • DataForm: Addย comboboxย control. (74891)
  • UIUI User interface: Addย Selectย primitive. (74661)
  • Addย Tooltipย component toย @wordpress/ui. (74625)
  • Consolidate border tokens. (74617)
  • Design System: Add guidelines for destructive actions UXUX User experience. (74778)

Post Editor

  • In-editor revisions (initial changes, without diffing). (74771)

Icons

  • Add missing chevron-up-small icon. (74607)

Collaboration

  • Real-time collaboration: Add default HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. polling sync provider. (74564)
  • Real-time collaboration: Sync collections. (74665)
  • Real-time collaboration: Use relative positions in undo stack. (74878)

Bug Fixes

  • Core 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. for gutenberg_filter_global_styles_post: Protect from KSES mangling. (74731)
  • DataForm: Sync ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-level validation to native inputs on date fields. (74994)
  • DataViews: Use regular casing for bulk selection count. (74573)
  • Fix typo in comment for value change check. (74730)
  • Fix wp-theme dependencies in the build. (74743)
  • Remove the apiFetch named export. (74761)
  • 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.: Fix non-string attribute values being silently dropped. (74949)

Block Library

  • Breadcrumbs: Fix placeholder separator preview. (74842)
  • Cover Block: Show current embed URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org in dialog. (74885)
  • Embed: Fix Flickr double-padding with responsive wrapper. (73902)
  • Fix : Image caption blur in Gallery block. (74063)
  • Fix: Add border-box sizing for verse block. (74722)
  • Inspector tabs: Reset tab selection if the selected tab is no longer present. (74682)
  • Make custom navigation overlay full width. (74559)
  • Media & Text: Revert โ€œFixed Media & Text Block โ€“ Image not rendered properly on frontend when inside stack (#68610)โ€. (74715)
  • Pattern Editing: Update template part to use tabs. (74793)
  • Post ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that pluginโ€™s metabox. Block: Fix excerpt trimming logic to handle whitespace correctly. (74925)
  • Post Excerpt Block: Fix length limits for both Editor and Front and fix ellipsis consistency. (74140)
  • Show submenu colors but remove the word overlay. (74818)
  • fix: Video block: video URLs pasted without โ€œhttps://โ€ show broken media. (74964)

Block Editor

  • Allow grid layout to use theme blockGap values for columns calculation. (74725)
  • Block Editor Provider: Fix editor error for contributor role when client-side media experiment is active. (74680)
  • Direct drag: Fix glitching around scrolling. (74608)
  • Ensure grid column never exceeds parentโ€™s width. (74795)
  • Fix missing onClose prop for InserterMenu. (74920)
  • Fix: Fit Text not working on calculated line heights. (74860)
  • Fix: Safari โ€œEdit as HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.โ€ for Fit Text deletes content. (74864)
  • Fix: Stretchy text issue when nested on flex containers. (73652)
  • List View: Ensure element exists in document before focusing. (74613)
  • Pattern Editing: Prevent double-click editing for template parts and synced patterns. (74755)
  • Calculate viewport based on 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. size in resizable editor. (75156)

Collaboration

  • Real-time collaboration: Do not wrap persisted doc applied update in transaction. (74753)
  • Real-time collaboration: Pass non-cleaned (but merged) edits toย SyncManager#update. (74912)
  • Sync: Refactor ProviderCreator signature to an object. (74871)

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

  • iAPI Router: Fix initial router regions withย attachToย being duplicated afterย navigate(). (74857)
  • iAPI Router: Prevent router regions withย data-wp-keyย from being recreated on navigation. (74750)
  • iAPI: Fix and refactor runtime initialization logic. (71123)

DataViews

  • Fix actions visibility on smaller viewpoints and for lone action with isPrimary as true. (74836)
  • Fix insert left and right handling in table layout for RTL languages. (74681)

Components

  • Addย @types/reactย to dependencies. (74692)
  • Fix: Escape less-than character in HTML attributes to prevent block recovery errors. (74732)

Patterns

  • Restore pattern categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. actions for user patterns. (74927)

Typography

  • Fix: Canโ€™t disable textColumns UI. (74767)

Block Style Variations

  • Fix blockGap styles not working in block style variations. (74529)

Global Styles

  • Core backport for Global Styles: Allow arbitrary CSS, protect from KSES mangling. (74371)
  • Remove comment about non-existing property. (75003)

Performance

  • Enable build-blocks-manifest by default. (74846)
  • Update performance results endpoint to codevitals.run. (74802)
  • Use fetch API for performance results logging. (74803)

Experiments

  • Route: Add notFound to public API and add route validation. (74867)

Media

  • Media Modal Experiment: Add a simple notices-based uploading state. (74965)

Collaboration

  • Real-time Collaboration: Add user and selection information to awareness. (74728)

Post Editor

  • Media Editor: Add a simple media editor package and integrate into the editor package. (74601)

Block Library

  • Donโ€™t show overlay settings for navigation blocks that are inside othโ€ฆ. (74408)

Documentation

  • Added Missing Global Documentation class-wp-rest-block-editor-settings-controller file. (74973)
  • Added Missing Global Documentation extensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software.-site-editor file. (74868)
  • Badge: Use stories for โ€œChoosing intentโ€ doc. (74675)
  • DataViews: Update storybook to add more context. (74819)
  • Docs: Add missingย @returnย tags to experimental functions. (74960)
  • Docs: Standardize use ofย @linkย tag for URL references in lib directory. (74984)
  • Pattern Overrides: Remove obsolete documentation. (74749)
  • Replaceย @seeย withย @linkย for URL references in Inline Documentation. (74961)
  • Storybook: Automate sidebar sort order. (74672)
  • Update wp-build documentation to describe โ€˜wpPlugin.nameโ€™. (74741)
  • Updated Typo in 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/. File. (74718)
  • iAPI Docs: Add configuration to state/context guide. (71355)
  • iAPI: Donโ€™t use deprecatedย data-wp-on-asyncย in documentation. (72591)
  • iAPI: Update deprecation warning for unique ID format. (74580)
  • Move grid manual mode sync into 7.1 folder. (74792)
  • Update: Preserve additional 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. properties on client side abilities. (73918)

Code Quality

  • core-data: Fix missing dependencies. (74934)
  • core-data: Fix yjs import and missing dependency. (74950)
  • dataviews: Fix missing dependency โ€“ @storybook/addon-docs. (74935)

Block Library

  • Comments Title: Copy deprecate from 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. to deprecated.js to avoid legacy attribute usage. (74924)
  • Move selectLabelText to shared utility. (74805)
  • Move useIsDraggingWithin to a shared hook. (74804)

DataViews

  • Adjust table primary media field styles. (74813)
  • Move filtering logic in field types. (74733)

Components

  • Addย displayNameย to the anonymous components. (74716)
  • SlotFill: Unify registry and fill implementation. (68056)

Block Editor

  • Block Visibility: Fix failing 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.. (74840)

Post Editor

  • Blocks: Always trigger borwser console warnings for blocks with apiVersion below 2. (74057)

Tools

Testing

  • Block Visibility: Fix flaky end-to-end test. (74931)
  • Fix end-to-end tests: Update function names to include wp_ prefix. (74688)
  • Fix flaky โ€˜Revisionsโ€™ end-to-end test. (75002)
  • Real-time collaboration: Fix undo tests. (74955)
  • e2e: Fix flaky tests for settings sidebar. (74929)
  • end-to-end tests: Bump all test blocks to API v3. (74941)
  • end-to-end tests: Removeย switchToLegacyCanvasย from multi select and a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) suite. (74845)
  • end-to-end tests: Remove switchToLegacyCanvas from inserter drag and drop tests. (74892)
  • eslint-pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.: Add โ€œneverโ€ option for dependency-group rule. (74990)
  • selectBlock: Fall back to next block if no previous block is present. (74938)

Build Tooling

  • Build script: Increase memory limit for storybook build process. (74933)
  • Build: Deduplicate and minify embedded styles. (74651)
  • Icons: Add a manifest containing icons metadata. (74943)
  • Remove react-refresh bundling. (74721)
  • Storybook: Fix missing props from component stories. (74807)
  • wp-env: Add experimental WordPress Playground runtime support. (74609)
  • Create Block: Simplify blocks-manifest registration. (74647)
  • Remove legacy babel plugins. (74916)

First-time contributors

The following PRs were merged by first-time contributors:

  • @gmjuhasz: Components: Add @types/react to dependencies. (74692)
  • @ItsYash1421: Post Excerpt Block: Fix length limits for both Editor and Front and fix ellipsis consistency. (74140)
  • @Mustafabharmal: Fix: Escape less-than character in HTML attributes to prevent block recovery errors. (74732)
  • @noruzzamans: Added Missing Global Documentation class-wp-rest-block-editor-settings-controller file. (74973)
  • @Shekhar0109: Fix: Add border-box sizing for verse block. (74722)
  • @shekharnwagh: Sync: Refactor ProviderCreator signature to an object. (74871)
  • @Swanand01: fix: Video block: video URLs pasted without โ€œhttps://โ€ show broken media. (74964)
  • @Swoyamjeetcodes: Image block: Show aspect ratio control for wide and full alignment. (74519)

Contributors

The following contributors merged PRs in this release:@aduth @alecgeatches @andrewserong @annezazu @chriszarate @DAreRodz @dinhtungdu @ellatrix @fabiankaegy @gmjuhasz @hbhalodia @huzaifaalmesbah @ingeniumed @ItsYash1421 @jameskoster @jasmussen @jeryj @jonathanbossenger @jorgefilipecosta @joshualip-plaudit @JosVelasco @jsnajdr @luisherranz @MaggieCabrera @Mamaduka @manzoorwanijk @mcsf@mikachan @mirka @mtias @Mustafabharmal @noruzzamans @ntsekouras @oandregal @ockham @pkevan @prasadkarmalkar @ramonjd @retrofox @rilwis @scruffian @senadir @sethrubenstein @shail-mehta @Shekhar0109 @shekharnwagh @shimotmk @simison @SirLouen @sirreal @Swanand01 @Swoyamjeetcodes @t-hamano @talldan @tellthemachines @Vrishabhsk @youknowriad


Props for visuals to @joen, @sirlouen and @josvelasco for reviewing the post.

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

Whatโ€™s new in Gutenberg 22.4? (20 January)

โ€œWhatโ€™s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/โ€ฆโ€ posts (labeled with the #gutenberg-new 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.)) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 22.4?

Gutenberg 22.4 has been released and is available for download! You can also check it from this Playground link.

A total of 402 PRs were merged in Gutenberg 22.4, with 16 first-time contributors!

This release covers typography, patterns, images, and responsive design. The Font Library now works with classic and hybrid themes. Pattern Overrides expanded to custom blocks. The Image blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. got focal point controls. And thereโ€™s an experimental feature for hiding blocks based on screen size.

  1. Classic and Hybrid Theme Support for the Font Library
  2. Pattern Overrides: Custom Block Support
  3. Image Block: Focal Point Controls
  4. Block Visibility Based on Screen Size (Experimental)
  5. Other Notable Highlights
  6. Changelog
  7. First-time contributors
  8. Contributors

Classic and Hybrid Theme Support for the Font Library

The Font Library and Global Styles now work with classic themes (#73971, #73876). Like the Media Library, you can access the Font Library as a modal or through a dedicated adminadmin (and super admin) sectionโ€”regardless of your theme type.

Pattern Overrides: Custom Block Support

Custom blocks can now use Pattern Overrides. (#73889)

Since WordPress 6.5, Pattern Overrides let you create synced patterns where the layout stays consistent but specific content can change per instance. The catch? Only four coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks supported it: Heading, Paragraph, Button, and Image.

Not anymore. Any block attribute that supports Block Bindings now supports Pattern Overrides by default. Block authors can opt in through the server-side block_bindings_supported_attributes 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.. This closes a long-requested enhancement and opens up synced patterns to custom blocks.

Image Block: Focal Point Controls

The Image block now has focal point controls. (#73115) Set a focal point on any image to control which part stays visible when the image is cropped for different screen sizes or aspect ratios. The picker is built into the Image block settings, so you can adjust it without leaving the editor.

Block Visibility Based on Screen Size (Experimental)

A new experimental feature lets you hide or show blocks based on screen size. (#73949, #74249, #74379)

Site builders have been asking for this foreverโ€”control block visibility across devices without writing CSSCSS Cascading Style Sheets.. The feature includes a viewport modal for setting visibility rules, backend support for generating CSS, and visual indicators showing which blocks are hidden at different screen sizes. Itโ€™s experimental for now and requires enabling the experiment flag.

Other Notable Highlights

A few more highlights worth mentioning:

  • Real-Time Collaboration is no longer experimental. (#74562) The code has moved out of experimental status ahead of planned inclusion in WordPress 7.0. Note that a default provider isnโ€™t in place yet.
  • Verse and Quote blocks can now transform into each other. (#73068) Finally fixes the annoyance of similar blocks not being interchangeable.
  • Dimension presets for width and min-height. (#73811) Theme developers can define preset dimension values 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. that appear when users set block widths or minimum heights.
  • Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block can exclude terms. (#73790) Much easier than the old workaround of manually adding every term except the one you donโ€™t want.
  • Paragraph block supports wide and full alignment. (#73958) Useful for theme developers working with wide and full alignment CSS in block layouts.
  • Notes appear even when template lock is enabled. (#74577) The Notes feature (added in WordPress 6.9) now shows up regardless of template lock mode.

Changelog

Features

Collaboration

  • Real-time collaboration: Move collaborative editing from experiments to default 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. experience. (74562)

Block Library

  • Add Heading level variations. (73823)
  • Image: Add focal point controls. (73115)
  • Query Loop: Exclude terms support. (73790)
  • Paragraph: Add align wide full supports. (73958)

Post Editor

  • Notes: Enable floating notes in template lock mode. (74577)
  • Pattern Overrides: Infer partial syncing supported blocks from the server. (73889)

Design Tools

  • Dimensions Support: Add dimension presets and adopt for width and min height block supports. (73811)

Font Library

  • Classic Themes: Enable Fonts and thus global styles. (73971)
  • Allow access for hybrid themes. (73876)

Block Transforms

  • Add block transforms between Verse and Quote blocks. (73068)

Enhancements

  • Add Field primitives. (74190)
  • Add new VisuallyHidden component. (74189)
  • Clamp signaling server retries to prevent unbounded backoff. (74372)
  • Leverage wordpress/base-styles admin schemes stylesheet instead of duplicate declarations in various packages. (69130)
  • MediaEdit: Add drag and drop functionality. (74455)
  • MediaEdit: Expanded view. (74336)
  • Storybook: Update DataView free composition story. (74146)
  • Stylelint: Add design token linting. (74226)
  • Theme_JSON_Resolver: Check for WP_Post instance. (74172)
  • UIUI User interface: Add Button. (74415)
  • UI: Add Fieldset primitives. (74296)
  • UI: Add Icon component. (74311)
  • UI: Add InputLayout primitive. (74313)
  • UI: Add Input primitive. (74615)
  • UI: Ensure Stack is exported from root package exports. (73928)
  • UI: Remove support for numeric multiplier on Box padding. (74008)
  • Update: Revert back to fit text toggle UI. (73890)
  • @wordpress/theme: Update colorjs.io to version 0.6.0. (74278)
  • @wordpress/ui Button: Add destructive tone. (74463)
  • @wordpress/ui Button: Refactor to base ui. (74416)
  • @wordpress/ui Button: Tweak disabled styles and rework tokens. (74470)
  • @wordpress/ui Button: Undo destructive tone variant. (74540)
  • change: wp-env: Strip version suffix for non-wp-org zip sources. (74195)

Block Library

  • Add LinkPicker Component for using a Link Preview Button in the Navigation Link Inspector. (73830)
  • Add block_core_breadcrumbs_items filter to Breadcrumbs allowing to filter final items array. (74169)
  • Add list view tab to the buttons, list and social icons blocks. (74120)
  • Apply post_type_archive_title on post type archive title in Breadcrumbs. (73966)
  • Archives Block: Use new HtmlRenderer component to remove extra div wrapper and remove editor styles. (74255)
  • Block Card: Make the parent block navigation generic, supports any block with list view support. (74164)
  • Block Fields: Show all form fields by default. (74486)
  • Block support: Add anchor support for dynamic blocks. (74183)
  • Block: Memoize canOverrideBlocks. (74400)
  • Breadcrumbs Block: Use HtmlRenderer to remove extra div from editor. (74273)
  • Button: Improve the label of the button block in list view. (74163)
  • Calendar Block: Use HtmlRenderer to remove extra div from editor. (74271)
  • Classic Block: Always use modal and display block placeholder. (74162)
  • Comment Author Name: Migrate to text-align block support. (74068)
  • Comment Content: Migrate to text-align block support. (74269)
  • Dynamically add CSS class to Paragraph block. (71207)
  • Footnotes: Prevent inserting footnotes within a footnotes block. (74287)
  • Form Field Blocks: Replace dashicon with SVG icons. (73996)
  • Forms Block: Switch from dashicons to SVG. (74297)
  • Heading: Migrate to text-align block support. (74383)
  • Hide Display section from Nav Inspector Controls if empty. (74495)
  • HtmlRenderer: Merge style props. (74344)
  • Image Block: Add content tab and reorganize inspector controls. (74201)
  • Image: Add focal point controls. (73115)
  • Inspector Fields: Show DataForm driven Content tab for all blocks that support content fields (+ support block bindings). (73863)
  • Latest Comments: Remove wrapper div and use HtmlRenderer for dynamic content rendering. (74277)
  • Pass post_id as an argument to block_core_breadcrumbs_post_type_settings filter to allow more granular term choice. (74170)
  • Query Loop: Hide change design or choose pattern when is locked. (74160)
  • RSS Block: Use HtmlRenderer to remove extra div from editor and remove editor styles. (74272)
  • Separator, Code: Donโ€™t require Enter for shortcut. (63654)
  • Tag Cloud: Use new HtmlRenderer component to remove extra div wrapper. (74228)
  • [Tabs block] Button and Tab Styling options #73932. (74103)
  • theme.json: Add breadcrumbs block schema. (74227)

Block Editor

  • Add autoComplete attribute to prevent browser autocomplete. (74595)
  • Add list view inspector tab for pattern editing. (74574)
  • Block Inspector: Update the design of the style variation to use ToolsPanel. (74224)
  • Block variation transformation: Change position and threshold. (74251)
  • ContentOnlyControls: Polish 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. style. (74260)
  • Improve cross origin isolation support. (74418)
  • Layout: Add allowWrap option to flex layout block support. (74493)
  • Prevent browser autocomplete in Navigation link search. (74305)
  • Headings support for Word Online while pasting. (70771)

DataViews

  • Add density picker and related styles to DataView layouts. (71050)
  • Add groupBy.showLabel configuration option to control group header label visibility. (74161)
  • Add: Panel form layout validation. (73700)
  • DataViewsPicker Table Layout: Ensure checkbox column is always 48px wide. (74181)
  • Display a separate โ€” for each level. (74199)
  • Implement format for datetime. (73924)
  • Remove table row click-to-select and hover styles. (73873)
  • Update LayoutCard story in DataForm to use card layout. (73695)
  • Update field colorisation in DataViews list layout. (73884)

Components

  • Add Badge component to UI package. (73875)
  • Autocomplete: Add offset to popover. (74084)
  • Button: Hide focus style when :Active. (74106)
  • Enhance Notice actions to allow more props like disabled and onClick with URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org. (74094)
  • Menu: Remove animation on submenus. (74548)
  • Notice: Add right margin to content only when dismissible. (73905)
  • Popover: Update animation. (74082)
  • Update ToggleGroupControl visual design. (74036)
  • DimensionControl: Hard deprecate component. (73944)
  • Storybook: Include design tokens styles automatically. (73938)

Media

  • Media Fields: Add โ€œDate addedโ€ and โ€œDate modifiedโ€ fields. (74401)
  • Media Fields: Add ThumbnailView fallback. (74024)
  • Media Fields: Add an attached_to field. (74432)
  • Media Fields: Add readonly author field to media fields package and use in the media modal. (74484)
  • Media Modal experiment: Always show thumbnail field. (74147)
  • Media Modal experiment: Tweak padding of the modal for consistency. (74155)
  • Add label to MediaEdit component. (74176)
  • Media mime type field: Disable sorting for now. (74373)

Post Editor

  • Fields: Add MediaEdit component. (73537)
  • Preview drop down: Align preview editing widths with common breakpoints. (74339)

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.

  • Add height block support to dimension. (71914)
  • Block support: Preserve anchor value in comment delimiter. (70993)

Client Side Media

  • Enhance queue system. (74501)

Global Styles

  • Add text alignment support to elements. (73854)

Bug Fixes

  • Annotations: Maintain active formats after applying. (73575)
  • Block Bindings: Remove caption from edit on EditWithGeneratedProps. (73552)
  • Command Palette: Fix in the font library page and site editor experiment. (74232)
  • Core Merge: Deduplicate Font Library page and routes. (74381)
  • Customize: Preserve CSS cascade for Additional CSS in classic themes. (74593)
  • DataForm: Fix panel field inaccessible when empty with labelPosition none or top. (74264)
  • Fix document title htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities. (74027)
  • Fix punctuation and formatting in README.md. (74440)
  • Fix the dataviews experiment locked fields position on toggle. (74326)
  • Fix: Menu_order validation to allow zero and negative values. (74282)
  • Font Library: Allow 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. to be scrolled in boot powered pages like fonts. (73960)
  • Image Cropper package: Add reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. peer dependencies. (74402)
  • Preferences: Add TypeScript types to package.json exports. (73276)
  • Theme: Fix design-tokens.js entrypoint to specify types and CJS variants. (74129)
  • [create-block] Updates variant handling for missing directory files. (73986)
  • api-fetch: Add named export to fix TypeScript callable issues. (74576)
  • Editor: Remove extra comma from offline error notices. (73907)
  • Scroll to previous location in document with editor back button. (73737)

Block Library

  • Block Fields: Remove normalization code and tidy up. (74532)
  • Block Library: Fix discussion settings data selection. (74026)
  • Categories Block: Fix CSS collision with labels. (73862)
  • Comments Title Block: Fix double quotes in non-English locales. (74330)
  • Cover & Group: Fix preview paragraph textAlign. (73940)
  • Disables anchor support for the More block. (74267)
  • Disables visibility support for the More and Page Break block. (74531)
  • Fix Post Date Block: Semantic use of date tag inside link. (73788)
  • Fix navigation link popover staying open after creating page. (73893)
  • Fix query pattern selection so query variation patterns can appear. (73901)
  • Fix: Prevent accordion-heading submitting/sending forms (button type="button"). (74177)
  • Image Block: Fix image block content tools when multiselecting image blocks. (74604)
  • List Block: Fix the top empty list item deletion. (73839)
  • Navigation Link: Preserve custom label when adding URL via LinkPicker. (74013)
  • Paragraph block: Add RTL support for drop caps in paragraph block styles in the editor. (74058)
  • Post Title: Reverting strip_tags for Post Title. (73896)
  • Query Title: Fix incorrect quotation marks with trailing spaces. (74300)
  • Query loop should show โ€œchange designโ€ in toolbar in contentOnly mode. (73903)
  • Quote: Fix transformation error. (74253)
  • Tabs: Reset focus styles to avoid visual glitch. (74225)
  • Tag Cloud, Archives: Fix sidebar flash when changing settings. (74291)
  • Tag Cloud, Archives: Restore missing block wrapper div. (74321)
  • Tag Cloud: Make error message prefix text translatable. (74256)
  • Terms Query Block: Fix Max terms for non-hierarchical taxonomies. (74130)

Block Editor

  • Block Support: Fix horizontal overflow in Manage allowed blocks modal. (74337)
  • Close the inserter on small screens after adding a block. (74487)
  • Color Panel: Ensure minimum height for popover content. (73835)
  • Inserter: Only show blocks that can be inserted on the page. (74453)
  • Inserter: Prevent block-scope variations insertion in slash inserter. (74259)
  • List View Panel: Fix circular dependency issue that was breaking some Storybook stories. (74399)
  • List View: Fix focus shift to the selected nested block. (74431)
  • Parent selector: Fix dot divider horizontal spacing. (74329)
  • Remove block selection clearer handling from 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.. (73753)
  • Replace default block on paste if it has no content. (73951)
  • Rich Text: Make inline toolbar more reactive for proper positioning. (73853)
  • 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. Group: Remove parent outline. (74107)
  • Fix: Align Document Outline padding in List View sidebar to match surrounding panels (#73576). (73595)

Global Styles

  • Fix infinite loop in Font Style UI. (73955)
  • Global Fonts: Convert relative font URLs to absolute theme URLs in font-face styles. (74115)
  • Global Fonts: Correctly convert relative font URLs to absolute theme URLs in font-face styles. (74137)
  • Site editor global styles settings: Ensure generated global styles are correct in canvas between views. (73952)
  • Site editor global styles settings: Preserve non-global styles in default site editor settings. (74088)
  • Theme_JSON_Resolver: Defensively cover against situations where the post is null. (74124)

Components

  • Add checkerboard pattern for background in 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. preview. (74091)
  • Fix DateTimePicker timezone handling for non-string values. (73887)
  • Fix InputControl label overflow for long translations. (74301)
  • Fix generated TS types referencing unavailable csstype. (74655)
  • Fix parent popover not closing on click outside. (74340)

DataViews

  • FilterSortAndPaginate should ignore sorting on non-sortable fields. (73950)
  • Fix combined field alignment in DataViews table layout. (73908)
  • Fix row selection in table layout in Firefox. (73945)
  • Fix: Dataview: Column header move item in RTL moves in the opposite direction to the arrow. (74644)

Collaboration

  • Real-time collaboration: Apply only detected changes from the persisted CRDT document. (74668)
  • Real-time collaboration: Do not overwrite a โ€œfloatingโ€ date. (73984)
  • Real-time collaboration: Refetch entity when it is saved by a peer. (74637)

Site Editor

  • If the route cannot be found treat the canvas mode as view. (74642)
  • Prevent start page options modal from opening when navigating back from template parts. (74037)

Interactivity API

  • Search and File Blocks: Fix client navigation support on WordPress 6.8. (73650)
  • iAPI: Preserve boolean HTML attributes during client side navigation. (74446)

Post Editor

  • Editor: Cleanup active post as needed. (74118)
  • Improve memoization in the overrides panel. (74407)
  • Fix bindableAttributes only being returned for the selected block. (74061)

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

Block Editor

  • Update: Use 12px as minimum font size for warning on fit text. (74387)
  • @wordpress/keycodes: Add ariaKeyShortcut and shortcutFormats exports. (74205)
  • Stretchy Text: Accept very small font sizes, and show a warning. (73730)

Components

  • Validated form controls: Suppress native popover. (73471)

Performance

Block Library

  • Blocks: Cache URL root when registering assets. (74451)
  • Table block: Improve โ€˜onChangeโ€™ callback memoization. (74073)
  • Table block: Improve table block typing performance. (74029)

Block Editor

  • Block visibility based on screen size: Donโ€™t subscribe to state in the hook. (74481)

Plugin

  • Blocks: Fix root URL cache fatal error. (74459)

Experiments

Block Visibility

  • Add experiment for hiding blocks based on screen size. (73949)
  • Block Visibility: Fix block position shift when toggling. (74535)
  • Block visibility: Incorrect argument passed to hasBlockSupport in isBlockHidden. (74151)
  • Block visibility based on screen size: Add backend block support. (73994)
  • Block visibility support: Use CSS range syntax for media queries. (74526)
  • Block visibility based on screen size: Add rules to hide on viewport size. (74379)
  • Block visibility: Add viewport modal and controls UI. (74249)
  • Block visibility: Add visibility notice for hidden blocks in the block inspector. (74180)
  • Block visibility based on screen size: Basic clientside state. (74025)

Block Library

  • PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher-only blocks: Generate inspector controls from attributes. (74102)
  • PHP-only blocks: Use HtmlRenderer to ensure fontend & editor consistency. (74261)
  • Refine overlay edit button UI: Move to link variant and add tooltip. (73957)
  • Render custom overlay template parts in Navigation block (behind experiment). (73967)
  • Update navigation-overlay-close block to be used as server side rendering. (74579)
  • Add Navigation Overlay close block (behind experiment). (73724)
  • Add create new overlay button to Navigation block. (73919)
  • Navigation Overlay: Fix area and icon name. (74520)
  • Navigation Overlay: Add default paragraph block. (74592)
  • Navigations within overlays should not increment aria label unique name. (74469)
  • Show Navigation overlay patterns on right sidebar. (74069)
  • Create default Core Navigation Overlay patterns. (74047)
  • Navigation overlay: Update default pattern. (74458)
  • Navigation Overlay: Add a background to the default pattern. (74659)
  • Navigation: When a navigation block has a custom overlay, the submenu colors should not apply to the overlay. (74544)
  • Block Fields: Decouple the experiment from contentOnly/pattern editing experiments. (74479)

Collaboration

  • Real-time Collaboration: Add Yjs awareness foundation. (74565)
  • Real-time collaboration: Add type guard for rich-text attributes. (73946)
  • Real-time collaboration: Fix persisted document 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. and add tests. (73985)
  • Real-time collaboration: Improve type safety with YMapWrap. (73948)
  • Real-time collaboration: Use alternative diff in quill-delta, provide incremental text updates. (73699)
  • Remove WebRTC and IndexedDB providers. (74555)
  • Real-time collaboration: Allow post-locked-modal to be overridden when collaborative-editing is enabled. (72326)
  • Create a reverse map for faster itemBlock lookups. (73930)

Site Editor

  • Add extensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. site editor experiment. (74123)
  • Extensible Site Editor: Design improvements and page rename. (73962)
  • Extensible Site Editor: Fix the dashboard link. (74231)
  • Extensible Site Editor: Lift template activation restriction. (74197)
  • Build: Rename extensible site editor page to avoid conflicts. (74221)
  • Extensible Site Editor: The Canvas should share the same ThemeProvider as all the surfaces. (74125)
  • Routing: Add title support to php generated pages. (73877)

Font Library

  • Fonts: Improve initial rendering. (73977)
  • Font Library: Fix active menu item in the sidebar. (73927)
  • Fix help text position in Upload tab. (74157)

Design System

  • Theme: Refine typography tokens. (73931)
  • Boot: Wire user admin theme preference to ThemeProvider. (74011)
  • Theme: Generate and expose TypeScript types for token options. (74080)
  • Theme: Include Figma scopes extension in design tokens. (73897)
  • Theme: Update semibold font weight to apply workaround at CSS. (74392)

Documentation

  • DataViews stories: Add custom layout. (74605)
  • DataViews: Update FreeComposition story description with subcomponents list. (73969)
  • Docs: Clarify that npm publishing requires team approval during the RC1 launch. (74204)
  • Docs: Enhance documentation for Interactivity API and iAPI Router. (73766)
  • Docs: Fix API Versions link in Block API reference. (74031)
  • Docs: Fix Gutenberg Release Process link. (74240)
  • Docs: Fix broken release process links. (74250)
  • Docs: Fix callout notices layout and clarify 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 by the repository owner. https://github.com/ vs handbook links. (74252)
  • Docs: Fix create-block handbook link. (74237)
  • Docs: Fix typos and improve clarity in documentation across multiple files. (74270)
  • Docs: Remove โ€œCustomizing supported attributes filterโ€ section from Block Bindings documentation. (74410)
  • Enable components manifest for Storybook. (74626)
  • Enhance Block Bindings Documentation as per WP 6.9 updates: Customizing supported attributes an getFieldsList. (73763)
  • Fix documentation title for wordpress/build package. (74541)
  • Fix formatting in block bindings documentation: Corrected links to core sources by adding hyphens. (74414)
  • Fix invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. theme.json color value in Global Styles documentation. (73999)
  • Fix typo in Tutorial: Build your first block. (74050)
  • Improve DataForm stories. (74196)
  • Storybook: Remove โ€œbackgroundโ€ tools from toolbar. (74538)
  • Storybook: Remove margin checker tool. (74539)
  • Storybook: Show props from component libraries. (74279)
  • Storybook: Update โ€œIntroductionโ€ doc. (74500)
  • Theme/UI: Add intro documentation to Storybook. (74551)
  • Theme: Include density documentation in README.md. (73976)
  • UI: Add dark background for Storybook theme switcher. (74318)
  • UI: Remove individual experimental tags from Storybook. (74582)
  • Update nested-blocks-inner-blocks.md. (74534)
  • Update the copyright licensecopyright license Copyright holders may grant a license with various allowances including the ability to modify or distribute the copyrighted material. Also see GPL. to 2026. (74306)
  • Update the useCommandLoader example to fix the syntax error and add missing imports. (73660)
  • Validated form controls: Add stories for validation in popovers. (71282)

Code Quality

  • wordpress/theme: Update color ramp generation snapshots. (74281)
  • Add design-tokens.css to stylelintignore. (74498)
  • Convert dom-ready package to TypeScript. (67671)
  • Fix: Use WP_Theme_JSON_Gutenberg instead of WP_Theme_JSON class. (74294)
  • Theme: Enable color ramp tests and update snapshots. (74403)
  • TypeScript: Convert notices package to TypeScript. (67670)
  • TypeScript: Migrate packages/jest-puppeteer-axe package to TypeScript. (70523)
  • TypeScript: Migrate shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. package to TS. (74522)
  • UI: Remove redundant renderElement utility. (74284)
  • Update browserslist data. (74312)
  • wordpress/dataviews: Migrate to Stack. (74174)
  • dom-ready: Refactor tests to use defineProperty. (74514)
  • dom-ready: Replace @ts-expect-error with MockDocument in tests. (74482)

Components

  • Add back type defs for no margin bottom prop. (73979)
  • BaseControl: Deprecate bottom margin. (74077)
  • CheckboxControl: Deprecate bottom margin. (73916)
  • CheckboxControl: Remove margin bottom prop from missed spots. (73921)
  • ComboboxControl: Deprecate bottom margin. (74034)
  • FocalPointPicker: Deprecate bottom margin. (73980)
  • Fully resolve some intra-package import paths. (74530)
  • Menu, CustomSelectControl (v1 & 2): Update animation. (74111)
  • Menu: Clean up popover wrappers. (74207)
  • Move ESLint rules specific to @wordpress/components to custom rules. (74611)
  • Paragraph block: Stop using named export from block.json. (74527)
  • RangeControl: Deprecate bottom margin. (74033)
  • Remove outdated vendor prefix properties in CSS. (74213)
  • SearchControl: Deprecate bottom margin. (74053)
  • SelectControl: Deprecate bottom margin. (74052)
  • Storybook: Fix Sass warnings. (74298)
  • Storybook: Remove outdated story matchers. (74299)
  • Storybook: Retire old theme switcher. (74499)
  • TextControl: Deprecate bottom margin. (73920)
  • TextareaControl: Deprecate bottom margin. (73970)
  • ToggleControl: Deprecate bottom margin. (74012)
  • ToggleGroupControl: Deprecate bottom margin. (74004)
  • ToolsPanel: Remove line-height workaround. (73892)
  • TreeSelect: Deprecate bottom margin. (74014)
  • Update eslint-plugin-storybook to 10.1.11. (74317)
  • @wordpress/components: Lint and fix @wordpress/components-no-missing-40px-size-prop rule. (74622)
  • Eslint: Add design token linting. (74325)

Block Library

  • Accordion Header: Fix potential undo trap. (74182)
  • Accordion: Passthrough โ€˜openByDefaultโ€™ value via context. (74191)
  • Accordion: Remove โ€˜isSelectedโ€™ attribute. (74198)
  • Add template part context to navigation block. (74614)
  • Breadcrumbs: Stabilize block. (74166)
  • Code Modernization: Use null coalescing operator in place of isset() in ternaries. (74335)
  • Content-only: Remove mapping and args in favor of DataForm API. (74575)
  • Footnotes: Escape dynamic output to meet coding standards. (74243)
  • Navigation Submenu: Show (Invalid) indicator when parent page is deleted. (74461)
  • Navigation: Refactor SCSS to reduce duplication. (74666)
  • Remove unused dependencies. (74624)
  • Widget Group: Optimize value returned by selector. (74104)

DataViews

  • DataForm validation story: Add support for the details layout. (74445)
  • Field API: Move formatting logic to the field. (73922)
  • wordpress/dataviews: Improve stories and tests. (74192)
  • wordpress/dataviews: Reorganize code. (74188)

Block Editor

  • Block Supports: Extract reusable preset input control from spacing sizes and border radius controls. (73787)
  • Fit-text: Refactor control hook for readability. (74350)
  • Fix classnames for link preview component. (73698)
  • Make TextIndentControl component internal. (74219)

Data Layer

  • Data: Await resolver implementing isFulfilled. (70806)
  • Improve resolveSelect type definition. (73973)
  • TypeScript: Convert redux-store types in data package to TS. (67666)

Post Editor

  • Editor: Remove hardcoded autosave conditions for templates. (73781)
  • Rename overlay area. (74444)

Block API

  • Block support: 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. anchor support changes in core. (74341)

Plugin

  • Bump minimum required WordPress version to 6.8. (74218)
  • Bump minimum required PHP version to 7.4. (74457)

Media

  • Media fields: Add tests for fields with unique logic. (74015)

Tools

Build Tooling

  • Build: Allow passing down arguments to wp-build. (74083)
  • Build: Avoid using the source maps file to compute the version hash. (74064)
  • Build: Build minified and non minified CSS in both npm run dev and npm run build. (74380)
  • Build: Faster repo building in CI. (74406)
  • Build: Fix TypeScript error output in check-build-type-declaration-files script. (74346)
  • Build: Fix the default base URL used when generating php files. (74220)
  • Build: Fully resolve import paths in transpiled files. (73822)
  • Build: Only generate asset file once and keep version consistent. (74051)
  • Build: Support Core *.php pages (screen id) when rendering single separate pages. (74113)
  • Build: Support custom URL. (74076)
  • Build: Support pnpm. (74194)
  • Build: Use .mjs extensions for build-module files. (74348)
  • Bump Node.js requirement to 20.19. (74342)
  • DependencyExtractionWebpackPlugin: Add ui as bundled package. (74485)
  • Dev: Fix file change logs not displaying in watch mode. (74452)
  • Fix deprecations for Storybook component usage. (74619)
  • Fix storybook:Dev race condition with dev script. (74290)
  • Fully resolve moment-timezone import, improve build optimization. (74578)
  • Improve wp-build generated PHP files with proper prefixing and naming. (74490)
  • Infrastructure: Convert storybook to a workspace package. (74640)
  • Publishing next packages: Remove commit hash from version. (74589)
  • Rename --fast build flag and use in Storybook build. (74552)
  • Revert bump of Node.js to 20.19. (74385)
  • Stop building wp-build by renaming the src directory. (74450)
  • UI: Exclude package from jsdoc/require-param rule. (74315)
  • Update Storybook to v10 with Vite builder. (74396)
  • Update TypeScript base configuration to use bundler module resolution. (74560)
  • Update eslint to 8.57.1. (74316)
  • Update report-flaky-tests action to use CommonJS module format. (74152)
  • Upgrade storybook to v9. (74143)
  • Use a stable npm version on static checks job. (74222)
  • WordPress Build: Use stable content hashes when building scripts. (74035)
  • tsconfig: Replace skipDefaultLibCheck with skipLibCheck. (74239)
  • wp-build: Fix dynamic base-styles import. (74434)
  • wp-build: Fix script module IDs to use configured packageNamespace. (74411)

Testing

  • Add end-to-end tests for relaxed default block paste behavior. (73963)
  • Automated Testing: Include Windows build for GitHub Actions static checks. (73923)
  • CI: Run the PHP unit tests with the oldest and latest versions. (74460)
  • Font Library: Test frontend and classic themes. (74067)
  • PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS.: Include the test directory. (48754)
  • Template Activation: Try fixing still flaky test. (74216)
  • Test: Update URLs in tests to use example.org/com instead of test.com. (74246)
  • Tests: Add unit tests for Button block __experimentalLabel functionality. (74186)
  • Theme: Ensure build artifacts are synced in version controlversion control A version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories.. (73894)
  • end-to-end tests: Restore removal of settings path in preload tests. (74375)
  • wordpress/theme: Disable color ramp unit tests. (74347)
  • Template Activation: Make template edit test less flaky again. (74066)
  • Template Activation: Make template edit test less flaky. (73975)

Data Layer

  • Cleanup the dependencies in the root package.json. (74212)
  • Update package version after an unfinished publish. (74413)

npm Packages

  • Packages: Add support for publishing stable release of pre-release package. (74332)
  • Packages: Avoid bumping the major version on prerelease packages. (74285)

Components

  • Fix missing dependencies for packages. (74310)

Block Library

  • Changelog: Fix block-library and date package entries after failed release action. (74202)

First-time contributors

The following PRs were merged by first-time contributors:

  • @CGastrell: Layout: Add allowWrap option to flex layout block support. (74493)
  • @dimitrop: Clamp signaling server retries to prevent unbounded backoff. (74372)
  • @jillro: Terms Query Block: Fix Max terms for non-hierarchical taxonomies. (74130)
  • @JosVelasco: Block Editor: Prevent browser autocomplete in Navigation link search. (74305)
  • @madhavraj2004: api-fetch: Add named export to fix TypeScript callable issues. (74576)
  • @manhphuc: Fix: Align Document Outline padding in List View sidebar to match surrounding panels (#73576). (73595)
  • @maxschmeling: Real-time collaboration: Move collaborative editing from experiments to default Gutenberg plugin experience. (74562)
  • @Menrath: change: wp-env: Strip version suffix for non-wp-org zip sources. (74195)
  • @mordeth: DataViews: Add groupBy.showLabel configuration option to control group header label visibility. (74161)
  • @Ndimande-dev: Update nested-blocks-inner-blocks.md. (74534)
  • @Ninos: Fix: Prevent accordion-heading submitting/sending forms (button type="button"). (74177)
  • @pkevan: Real-time collaboration: Allow post-locked-modal to be overridden when collaborative-editing is enabled. (72326)
  • @Rishicreates20: Fix punctuation and formatting in README.md. (74440)
  • @rutviksavsani: Fix the dataviews experiment locked fields position on toggle. (74326)
  • @saranshsinhaa: [Tabs block] Button and Tab Styling options #73932. (74103)
  • @UmeraGhori: theme.json: Add breadcrumbs block schema. (74227)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @aduth @alecgeatches @aliaghdam @andreawetzel @andrewserong @annezazu @bacoords @cbravobernal @CGastrell @chihsuan @chriszarate @ciampo @DAreRodz @dimitrop @ellatrix @fabiankaegy @fushar @getdave @gigitux @hbhalodia @ingeniumed @jameskoster @jeryj @jillro @johnbillion @johnhooks @jorgefilipecosta @JosVelasco @jsnajdr @juanfra @juanmaguitar @kmanijak @luisherranz @madhavraj2004 @MaggieCabrera @Mamaduka @manhphuc @manzoorwanijk @maxschmeling @Mayank-Tripathi32 @mcsf @mecskyverse @Menrath @mikachan @mirka @mordeth @mtias @Ndimande-dev @Ninos @ntsekouras @oandregal @ockham @pkevan @prasadkarmalkar @priethor @ramonjd @retrofox @Rishicreates20 @rutviksavsani @ryanwelcher @SainathPoojary @saranshsinhaa @scruffian @sgomes @shimotmk @SirLouen @StevenDufresne @t-hamano @talldan @tellthemachines @tyxla @UmeraGhori @westonruter @youknowriad


Props toย @annezazu for co-authoring this post and @bphย for the peer review.

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

What’s new in Gutenberg 22.2 (03 December)?

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

What's new in Gutenberg 22.2

Gutenberg 22.2 has been released and is available for download!

A total of 161 PRs were merged in Gutenberg 22.2, with 4 first-time contributors! With WordPress 6.9 released this week, many contributors were focused 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, performance, blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. editor polish, and a series of accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and developer experience improvements. There are still some great features and enhancements in this release, highlighted below.

Table of contents

Cover block video embeds

A big feature in this release is the ability to use embedded videos (like YouTube or Vimeo) as background videos in the Cover block, rather than being restricted to locally uploaded files. This is a major quality-of-life improvement for those who want to offload video hosting and bandwidth. (73023)

Thereโ€™s further development on the experimental Breadcrumbs block. It now includes better handling for homepages, last item attributes, 404/search/archive pages, archive links, post type archive links, as well as support for paginated content. All of these additions are aimed at making breadcrumb navigation more robust and context-aware. (72832)(73249) (73283)(73435) (72905)

Styling options for the Math block.

Gutenberg 22.2 adds style options to the Math block in Gutenberg, addressing the inconsistency where inline math inherits paragraph styling but display math blocks previously lacked their own styling controls (73544).

standard styling option added to the Math block

Other Notable Highlights

Button Block Pseudo-state Styling

Theme designers and developers can now style button states (hover, focus, active, and focus visible) directly 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., making it much easier to keep all design controls centralized and consistent. This reduces the reliance on custom CSSCSS Cascading Style Sheets. for things like button hover states. (71418)

{
    "styles": {
        "blocks":{
                "core/button":{
                    "color":{
                        "background":"blue"
                    },
                    ":hover":{
                        "color":{
                        "background":"green"
                        }
                    },
                    ":focus":{
                        "color":{
                        "background":"purple"
                        }
                    }
                }
            }
    }
}

Data Views Upgrades

Data Views received several improvements, including:

  • A new โ€œactivity layoutโ€ brings a timeline-like view, perfect for things like revision history, logs, or any content that benefits from a chronological display. This layout handles interactionsโ€”like keyboard navigationโ€”in a way that fits the timeline format. (72780)
  • The table column 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. now lets you add columns to the left or right for better customization (72929).

Changelog

List of all the changes

Block Library

  • Breadcrumbs: Add archive link if enabled in posts. (72832)
  • Breadcrumbs: Add attachment handling. (73249)
  • Breadcrumbs: Add filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for preferred taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. and term per post type. (73283)
  • Breadcrumbs: Add post type archive link if itโ€™s not the same as home URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org. (73435)
  • Breadcrumbs: Add support for paginated post content. (72905)
  • Cover: Add support for background videos as embeds. (73023)
  • Math: Enable styles options. (73544)
  • Tabs block: Improve store functionality. (73229)
  • Term Name, Term Count :Add example block previews. (73388)
  • [Button Block]: Add support for pseudo elements for the block and its variations on theme.json. (71418)

DataViews

  • Add insert left/right in table column header. (72929)
  • Apply background to DataViews wrapper. (73390)
  • DataForms: Add pattern validation. (73156)
  • DataForms: Update Email Control component to use envelope icon instead of a Symbol. (73184)
  • Field APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.: Add format to date field type. (72999)
  • Introduce activity layout. (72780)
  • Only apply hover styles when there are bulk actions. (73248)
  • Sticky elements inherit bg from container. (73240)
  • Theme: Add density support for surface padding. (73215)

Patterns

  • Add edit section to the list view instead of Ungroup. (73199)
  • Change the icon and label for pattern section to use the pattern icon and name. (73203)
  • Remove ungroup option for section blocks. (73183)
  • Sections: Remove hover outlines in outline mode. (73263)
  • Update pattern editing button labels. (73195)
  • contentOnly patterns: Mark patterns as contentOnly by adding metadata.patternName to the root block (patterns endpoint). (73375)

Block Editor

  • FontFamilyControl: Hard deprecate bottom margin. (73340)
  • Block Editor: Filter file input accept attribute based on upload_mimes. (73562)
  • Add cart icon. (73509)
  • templateLock: ContentOnly โ€“ support content block insertion. (73425)
  • RichText: Begin to support hiding richtext controls while having keyboard shortcuts available. (73181)
  • Add width block supports under dimensions. (71905)
  • Add text justify. (73201)

Bug Fixes

Block Library

  • Accordion Block: Trigger panel opening from URL hash or anchor link. (73357)
  • Accordion Item: Donโ€™t use grid layout. (73501)
  • Accordion: add box-sizing:Border-box rule. (73507)
  • Fix block selection when navigation link ui is open. (73368)
  • Fix navigation 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.) entity binding. (73255)
  • Fix: Custom font size taking over fit text. (73241)
  • Fix: Stretch Text overflows into the padding area. (73327)
  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. Block: Fix scrolling within the modal. (73506)
  • HTML Block: Remove editorStyles from HTMLEditModal. (73347)
  • Image block: Set img_srcset to avoid PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher undefined var warning. (73453)
  • Math block: Fix accessibility. (73508)
  • Merge โ€œIcon Sizeโ€ and โ€œIcon sizeโ€ translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. strings. (73325)
  • Simplify and improve navigation link creation flow. (73210)

DataViews

  • DataForm: Autofocus first input on panel view. (72322)
  • DataForm: Fix issue with array fields in layout panel. (73344)
  • Ensure primary actions are not wrapped in the list layout. (73333)
  • Field API format: Fix and use WordPress input. (73538)
  • Fields: Fix author field view when editing. (73482)
  • Fix alignment when viewing a DataView with table layout and non-default column alignment. (73398)
  • Open the filters from the column table consistently. (72998)
  • [DataForm]: The ModalContent component doesnโ€™t properly check for fields validity โ€“ [#73330]. (73339)
  • Theme: Fix color ramp generation to avoid unmet contrasts. (73331)

Block Editor

  • Border Radius Control: Empty Values triggers unintended px unit conversion. (73324)
  • Drag and drop: Remove grab cursor for multi-selection. (73521)
  • Drag: Hide block tools popovers. (73539)
  • Stretchy text: Hide variations in Block Inspector (hack). (73238)
  • Styles Tab: Fix bug where contentOnly experiment forced it to always be displayed. (73534)
  • Disable Term Query blocks in Widgets Editor. (73449)
  • Comments Count and Comments Link: Ensures that the preview is displayed correctly in the StyleBook. (73213)

Global Styles

  • Preview Styles: Prevent leaked shadow due to blur. (73545)
  • Update generateGlobalStyles function to include variationStyles option. (73535)
  • Variations global styles: Replace useSetting with useStyle for fetching block variations. (73533)
  • Global Styles: Fix media upload permission check. (73503)
  • WP_Theme_JSON_Gutenberg: Preserve valid non-preset settings when KSES filters are active. (73452)

Components

  • Fix: Keep Guide close button visible on hover. (73220)
  • Normalize displayed dates to UTC time for DateTimePicker. (73444)
  • Try fixing full-screen modal height so contents can scroll. (73150)

Block bindings

  • Error handling for external sources. (72585)
  • Fix coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress./term-data source bug, refactor, 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. coverage. (73366)
  • Move computation of sources into dedicated useSelect. (72974)

Interactivity API

  • iAPI: Fix using getServerContext in derived state getters. (73518)
  • iAPI: Return a deep-clone object from getServerState and getServerContext functions. (73437)

Collaboration

  • Notes position alignment in HTML. (73046)
  • Notes: Collapse note on blur. (73158)
  • Notes: Fix warning in comment content check. (73198)

Patterns

  • Check for prevent default on event to enable media placeholder button. (73564)
  • contentOnly patterns: Fix lock icon appearing on toolbar when editing a section. (73457)

Block API

  • Block Support: Change block visibility support key. (73432)

Layout

  • Prevent empty contentSize and wideSize values โ€‹โ€‹from being saved. (73281)

Accessibility

  • 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) of descriptions and alerts for โ€œ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.โ€ Nav Items. (73177)

DataViews

  • Add grid keyboard navigation. (72997)
  • Make DataViews table checkbox permanently visible. (73245)

Performance

  • Remove some modal subscriptions when inactive. (73014)
  • Theme: Simplify ramp object by flattening warnings to optional top-level property. (72942)

Experiments

  • Add experimental abilities and workflow palette and move abilities API. (72703)
  • Lazy Editor: Fix Media Library loading. (73176)
  • Lazy Editor: Fix script modules loading. (73237)
  • Navigation Route: Add initial list and edit routes. (73259)
  • Refactor: Make WordPress abilities a script module instead of a global. (73364)
  • Routing: Add init modules. (73284)
  • Routing: Add pattern routes. (73317)
  • Routing: Add styles page as a route. (73197)
  • Routing: Add template part route. (73303)
  • Routing: Extract route package. (73191)
  • Routing: Support canvas clicks. (73348)
  • Styles Route: Allow switching between stylebook and homepage. (73253)

Patterns

  • ContentOnly Patterns experiment: Add content only inspector fields. (71730)
  • ContentOnly mode: Exclude template parts for now. (73332)
  • Routes: Small fixes to the pattern list and template part list routes. (73520)

Templates API

  • Add template route to the new site editor infrastructure. (73525)
  • Template Route: Add the โ€˜add new templateโ€™ button. (73542)
  • Template Activation: Rename gutenberg_get_block_template. (73582)
  • Template Activation: Use string IDs when experiment is off. (73585)

Block Library

  • Disable TinyMCE: Polish refresh message. (73485)
  • contentOnly Patterns experiment: Add content only support again for template parts. (73419)

DataViews

  • Routing: Preload routes properly. (73384)
  • Add experiment flag for Customizable Navigation Overlays. (73356)

Media

  • Reuse mediaUpload filter for new media modal by wrapping it in a class component. (73225)

Documentation

  • DataViews: Combine duplicate โ€œenhancementsโ€ grouping in changelog. (73227)
  • DataViews: Update documentation for layout prop. (73470)
  • Docs: Use consistent content formatting for experimental packages. (73212)
  • Field API docs: Improve Edit. (73202)
  • Field API: Document missing props. (73515)
  • Field API: Update documentation for operators. (73523)
  • Field API: Update documentation to better communicate field types. (73349)
  • Update Gutenberg Version for WordPress 6.9. (72925)
  • Update dataviews readme with new pickerTable layout. (73372)
  • Update undestanding-global-state-local-context-and-derived-state.md. (73233)

Code Quality

  • Asset Loader: Load all scripts in body (footer). (73584)
  • Core Data: Update Attachment type to more accurately reflect fields in media API responses. (73223)

Patterns

  • Content only block experiment: Blocks provide the form. (73479)
  • ContentOnlyControls: Refactor to use DataForm. (73374)
  • Resolve_pattern_blocks sync with Core patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.. (73570)

DataViews

  • Field API: Simplify field normalization. (73387)
  • Field API: Simplify normalization. (73546)
  • Revert โ€œ[DataForm]: The ModalContent component doesnโ€™t properly check for fields validity โ€“ [#73330]โ€. (73367)

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.

  • Command Palette: Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changes in core. (73567)

Components

  • Storybook: Replace implicit actions with explicit ones. (73502)

Block bindings

  • Make core/post-data source code more semantic. (73394)

Collaboration

  • Notes: Ignore flood and duplicate checks. (73232)

Block Library

  • Deprecate Pullquote Block. (73228)

Tools

  • Project: Add CODEOWNERS entries for ui and theme packages. (73369)
  • Update codeowners for packages/dataviews. (73204)

Build Tooling

  • Add missing package dependencies. (73258)
  • Build: Fix CSS rebuilds. (73380)
  • Build: Make pages building using the routing infrastructure independent of Gutenberg. (73379)
  • Build: Moment-timezone shouldnโ€™t be a mandatory dependency. (73352)
  • Exclude JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors./TS test files from build. (73495)
  • Framework: Sync lockfile changes under Node.js v24 build. (73314)
  • Scripts: Improve handling of check-licenses for optional dependencies. (73026)

Testing

  • Block Bindings: Add unit test coverage for core/post-data source. (73055)
  • Block Bindings: Remove end-to-end test theme. (73209)
  • Unit testing: Allow Composer to auto-detect PHP version. (73358)
  • end-to-end Tests: Remove movie CPTs after block bindings tests. (73235)
  • end-to-end Tests: Skip flaky list view test. (73234)

Various

  • UIUI User interface: Remove shorthand prop options from Box component. (73529)

Collaboration

  • Notes: Improve delete confirm message for replies. (73173)
  • Update button label from โ€œAdd new noteโ€ to โ€œAdd new replyโ€. (73189)

Templates API

  • Template activation: Move php files. (73402)

Block Library

  • contentOnly patterns experiment: Make the Inspector fields key a private API. (73376)

Patterns

Double-click on pattern to edit pattern. (73268)

First-time contributors

The following PRs were merged by first-time contributors:

  • @PaulAsaf2: Update undestanding-global-state-local-context-and-derived-state.md. (73233)
  • @RoyHridoy: Fix: Keep Guide close button visible on hover. (73220)
  • @triple0t: Dataforms: Update Email Control component to use envelope icon instead of atSymbol. (73184)
  • @xristos3490: Fix alignment when viewing a DataView with table layout and non-default column alignment. (73398)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @aduth @andrewserong @annezazu @anomiex @audrasjb @bph @cbravobernal @DAreRodz @ellatrix @felixarntz @getdave @gigitux @harshbhonsle @hbhalodia @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @karthick-murugan @luisherranz @MaggieCabrera @Mamaduka @mcsf @mikachan @mikejolley @mtias @ntsekouras @oandregal @ockham @PaulAsaf2 @priethor @ramonjd @RoyHridoy @ryanwelcher @scruffian @senadir @shimotmk @simison @SirLouen @t-hamano @talldan @tellthemachines @triple0t @tyxla @xristos3490 @youknowriad

Props to @annezazu and @matveb for reviewing this post, and @joen for the visual assets!

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

Whatโ€™s new in Gutenberg 22.0? (5 November)

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

Whatโ€™s New In
Gutenberg 22.0?

Gutenberg 22.0 has been released and is available for download!

Typically, the Gutenberg release following a WordPress point releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. focuses on coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. quality and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes over new enhancements. As such, this will be a relatively quiet release.

  1. Real-time Collaboration: Post Meta Synchronization
  2. A new theme package
  3. Changelog

Real-time Collaboration: Post MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Synchronization

This release introduces real-time synchronization for post meta, enhancing the collaborative editing experience with your custom post-meta or footnotes!

An example of synced footnotes.

A new theme package

A new package of design tokens, which will be the new foundation for Gutenbergโ€™s design system, is now available. This package is also a prerequisite for the new UIUI User interface components package.

Changelog

Enhancements

  • Add theme package. (72305)
  • Consistently use font-weight 499 instead of 500. (72473)
  • Label enforcement workflow: Add Iteration label to PR enforcement workflow. (72670)
  • Template activation: Update sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. icons. (72772)
  • Try using DataViewsPicker in an updated media modal. (71944)
  • Update: Label of โ€œMove to trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days.โ€ action to โ€œTrashโ€. (72596)

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

  • Math Block: Use monospaced font for LaTeX input. (72557)
  • Add snackbar notices for page creation in Navigation block. (72627)
  • Breadcrumbs: Add archives support. (72478)
  • Categories Block: Add taxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies. css class. (72662)
  • Fit text: Update help text to clarify override of font-size. (72303)
  • Latest Comments: Add option to display full comments. (72665)

DataViews

  • Add isCollapsible to the card layout in DataForm. (72540)
  • DataForm: Set spacing for regular and card layouts. (72249)
  • Keep icon-only buttons on mobile for bulk actions. (72761)
  • Update: Hide primary action buttons on mobile. (72597)

Components

  • ComboboxControl: Display reset button only if thereโ€™s a value. (72595)
  • TabPanel: Update tab font-weight. (72455)

Collaboration

  • Notes: Update delete confirmation message. (72737)

Global Styles

  • Allow access in the post editor. (72681)

Block bindings

  • Add source label to the modal title UI. (72632)

Bug Fixes

  • Core Data: Avoid extraneous when creating a new record. (72666)
  • Fix build command for tokens package on Windows. (72605)
  • Global Styles: Fix the save panel changes. (72701)
  • Packages: Do not limit the exports of the template packages. (72694)
  • PluginSidebar: Fix auto more menu item props. (72630)
  • Template activation: Fix isActive and isCustom values. (72641)
  • Template activation: Fix undefined array key PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warning. (72729)
  • Use default popover placement for image format popover. (72550)

Collaboration

  • Block Notes: Fix issue where box shadow is cut off when active note is the last one. (72606)
  • Ensure โ€œAdd Noteโ€ component floats next to block in unpinned mode. (72494)
  • Notes: Always open histroy sidebar if note is resolved. (72708)
  • Notes: Disable floating notes for โ€˜template-lockedโ€™ mode. (72646)
  • Notes: Fix โ€˜View notesโ€™ on mobile screens. (72546)
  • Notes: Fix PHPUnit tests. (72781)
  • Notes: Fix block toolbar indicator logic. (72736)
  • Notes: Fix strange default sidebar animation. (72710)
  • Notes: Fix the โ€˜glitchโ€™ when selecting a note with a missing block. (72516)
  • Notes: Fix the focus transfer issue when switching the sidebars. (72486)
  • Notes: Load all records. (72692)
  • Notes: Prevent 403 error for low capabilitycapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability). users. (72767)

Block Library

  • Accordion: Update block descriptions. (72602)
  • Breadcrumbs: Fix date archives with plain permalinks. (72709)
  • Date block: Update block description. (72565)
  • Fix empty URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org value from unbinding entity from inspector sidebar. (72447)
  • Fix: Force LTR direction in Math block textarea for RTL languages. (72684)
  • Image block: Add guard for null refs in setButtonStyles callback. (72715)
  • Math: Enable horizontal auto-scrolling. (72633)
  • Post Date: Fix variations for 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.. (72617)
  • Terms Query: Show nested terms toggle when inheriting. (72510)
  • Update: Disable font size when fit text is enabled and the opposite. (72533)

Components

  • Badge: Add max-width for text truncation. (72653)
  • Button: Ensure that icons donโ€™t shrink. (72474)
  • Fix Popover closing unexpectedly when a Menu inside it is closed. (72376)
  • Fix label markup for โ€˜FocalPointPickerโ€™. (70835)
  • Fix selection of font size presets if presets have the same size value. (71703)
  • Stop using rems. (72669)

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

  • Template activation: Allow duplicates of โ€˜customโ€™ 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. templates to be activated. (72713)
  • Template activation: Remove the ability to deactivate registered templates. (72636)
  • Templates: Adds โ€˜typeโ€™ property to activeField as boolean in page templates. (72648)

Command Palette

  • Disable site editor navigation commands on Networknetwork (versus site, blog) Adminadmin (and super admin) โ€“ Take 2. (72698)
  • Disable site editor navigation commands on Network Admin. (72572)

Interactivity API

  • iAPI: Fix derived state closures processing on client-side navigation. (72725)

Write mode

  • Accordion: Dontโ€™ show Add button in contentOnly mode. (72704)

Icons

  • Fix irregular shape in not-found icon. (72645)

Block bindings

  • Add bindableAttributes in preview context. (72625)

Typography

  • Fit text: Remove sizing limitation when the block is selected. (72570)

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

  • Notes: Fix โ€˜childrenโ€™ embedding via REST API. (72561)

Style Book

  • Fix error with display of Heading block style variations in style book. (72551)

DataViews

  • Fix password suffix alignment. (72524)

Block Transforms

  • Add metadata transformation. (72462)

Patterns

  • Fix contentOnly insertion, removal, and moving. (72416)

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)

  • Notes: Donโ€™t collapse note on Escape if the event has been prevented. (72657)

Block Library

  • Fix focus loss from unsync and edit button in navigation link inspector sidebar. (72436)

Components

  • Button: Update font-weight to 500. (70787)

Performance

  • Donโ€™t subscribe to store unless fitText option is enabled. (72634)
  • Optimize build using shared package cache. (72667)

Block Editor

  • Perf: Avoid rich-text binding subscription if block does not have bindings. (72496)

Experiments

Collaboration

  • Real-time collaboration: Add support for syncing post meta. (72332)
  • Real-time collaboration: Ensure Yjs imports are inside experimental flag check. (72503)
  • Real-time collaboration: Implement CRDT persistence for collaborative editing. (72373)

Documentation

  • Fix incorrectly tabbed code blocks. (72745)
  • Move 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. to 7.0 because it was punted to future release. (72472)
  • Theme: Add Storybook stories. (72747)
  • add: Missing 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 for blocks. (72590)

Code Quality

  • Build: Fix primitives package warning. (72456)
  • Bundled packages should expose their styles in exports. (72438)
  • Fix TS types for e2e-test-utils-playwright package. (72741)
  • Global Styles: Add UI package. (72599)
  • Global Styles: Cleanup the previous global styles private exports in block-editor. (72702)
  • Move grid experiment changelog to 7.0 folder. (72508)
  • Remove specific logger in test environments. (72457)
  • Styles Canvas: Refactor state and rendering. (72635)
  • Styles: Move global styles data logic to a dedicated package. (72464)
  • Template activation: Remove fake post type for registered templates. (72674)
  • Template activation: Rename new endpoints. (72700)
  • Template activation: Revert to old endpoint for post template picker. (72661)
  • preferences: Convert the package to TypeScript. (71915)

Block Library

  • Accordion Heading: Update description. (72777)
  • Cleanup clearBinding usage. (72439)
  • Post Date: Update logic when to show the edit control. (72631)
  • Remove broken content only settings menu items feature. (72470)

Templates API

  • Template activation: Initialise old autosave and revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. endpoints. (72680)
  • Template activation: Remove reset action. (72679)

Collaboration

  • Notes: Remove custom โ€˜PluginMoreMenuItemโ€™ handler. (72640)
  • Notes: Render the sidebar next to the default editor sidebar. (72618)

Block Editor

  • Switch from selector to useBlockEditingMode for AllowedBlocksControl. (72728)

Block bindings

  • Remove editorUI and modal versions. (72723)

Plugin

  • Notes: Backport REST API changes in core. (72554)

Interactivity API

  • iAPI: Update deprecated usage of data-wp-on-async. (72445)

Tools

Build Tooling

  • Build: Add a step to auto-register scripts in the build tool. (72628)
  • Build: Auto register styles from packages. (72699)
  • Build: Auto-register script modules. (72541)
  • Build: Cleanup the build script. (72740)
  • Build: Fix script_debug modules and scripts. (72485)
  • Build: Generate plugin version and make the build script plugin agnostic. (72707)
  • Build: Move the build tool to a dedicated package. (72743)
  • Build: Support third-party plugin scripts properly. (72760)
  • Build: Update output folders for scripts and modules. (72482)
  • Enqueue non-minified JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. files when SCRIPT_DEBUG is enabled. (72480)
  • FIX PHPUnit failure in previous WordPress version. (72705)
  • 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 by the repository owner. https://github.com/ Actions: Allow writing PRs when auto-cherry-picking. (72573)
  • Persist credentials when cherry-picking commits to a release branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. (72556)
  • Storybook: Fix dev script. (72487)

Testing

  • Add end to end tests for Fit Text. (72406)
  • Change bin script type-checking from inclusion to exclusion. (72675)
  • Improve output buffer for sending server-timing 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.. (72536)
  • Notes: Improve pinned sidebar end-to-end test. (72652)
  • Update guidance around unique element IDs. (72748)
  • Upgrade Playwright to v1.56. (72751)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @aduth @cbravobernal @chriszarate @ciampo @DAreRodz @elazzabi @ellatrix @harshbhonsle @heavyweight @ItsRoy69 @jameskoster @jeryj @jorgefilipecosta @joshualip-plaudit @juanfra @levinbaria @lezama @luminuu @Mamaduka @manzoorwanijk @mikachan @mirka @ntsekouras @oandregal @ockham @priethor @ramonjd @roseg43 @ryanwelcher @sidharthpandita1 @stokesman @t-hamano @talldan @tellthemachines @Utsav-Ladani @westonruter @youknowriadhamanoย @talldanย @tellthemachinesย @theaminuliย @theminaldiwanย @Utsav-Ladaniย @yashjawaleย @youknowriad

Props @sirlouen and @priethor for peer review.

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

Whatโ€™s new in Gutenberg 21.8? (8 October)

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

Whatโ€™s New In
Gutenberg 21.8?

Gutenberg 21.8 has been released and is available for download!

This version introduces 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. Visibility controls, along with several improvements to Block Comments, Accordion, and Time To Read blocks.

  1. Block Visibility Control Support and UI
  2. Block Comments Improvements
  3. Accordion and Time To Read Blocks
  4. Changelog

Block Visibility Control Support and UIUI User interface

A new visibility control feature has landed!
You can now hide blocks directly in the editor when they wonโ€™t be displayed on the frontend. This marks the first UI for Block Visibility, paving the way for more granular design control in future releases.

Block Comments Improvements

Block Comments received another round of enhancements:

  • Better messaging when no related block exists
  • Visual highlighting of the referenced block
  • Improved comment thread outline and UI polish
  • Simplified code and better performance

Accordion and Time To Read Blocks

Both of these blocks have been refined for a smoother experience:

  • Time To Read: now includes range and word count options, plus migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. support for older blocks.
  • Accordion: improved structure, naming, and accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility).

Changelog

Features

Block Editor

  • Section block multi-selection: Disable transforms and inspector controls. (71708)

Enhancements

Block Comments

  • Improve comments panel close icon label. (71701)
  • Add Discussion Field with tracksback and comment status agreagetd on Post/Page Quick Edit. (71949)
  • Fields package: Add Storybook examples. (71864)
  • Block Comment: Display message when there is no related block. (71968)
  • Block Comment: Improve comment thread outline. (71961)
  • Block Comment: Improve related block highlighting. (71932)
  • Block Commenting: Add block-comments as a new post type support. (71682)
  • Block Commenting: Change date format depending on comment date. (71835)
  • Block Commenting: Show date or human-readable time diff code. (71667)
  • Block Comments: Apply border color to 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.. (71917)
  • Block Comments: Highlight the related block. (71308)
  • Block Comments: Match the comment form UI to the design. (71898)
  • Block Comments: Match the show more replies button UI to the design. (71884)
  • Block Comments: Simplify action callbacks. (71892)
  • Block Comments: Update โ€˜Actionsโ€™ menu design. (71877)
  • Block Comments: Update editing flow. (71889)

Block Library

  • Accordion Blocks: Organize block supports. (71823)
  • Accordion 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.: Add content role to title attribute. (71762)
  • Accordion Header: Remove textAlignment and textAlign. (71875)
  • Accordion Header: Use withoutInteractiveFormatting instead of hardcoded formats. (71745)
  • Accordion: Add example block preview. (71365)
  • Accordion: Rename block names. (71978)
  • Add paragraph level option to post type label block. (71947)
  • Enhance Term Description Block with Context Support. (71525)
  • Terms Query inspector controls revamp + add subterms option. (71633)
  • Time To Read: Add a range option. (71606)
  • Time To Read: Add a word count option. (71841)
  • Time To Read: Make display as range the default, and allow older blocks to migrate to this setting. (71842)
  • Time to Read: Replace toggles with block variations. (71897)

DataViews

  • Addย numberย field. (71797)
  • Add support for elements validation in DataFormโ€™s array fields. (71194)
  • Export DataViewsPicker from dataviews package. (71836)
  • Prevent hiding the last visible field. (71625)
  • DataViews: Expose FiltersToggled subcomponent. (71907)

Block Editor

  • Add configurable timeout parameter to flashBlock. (71752)
  • Link Control: Update button text from Save to Apply. (72005)

Global Styles

  • Add reset button to BackgroundControlsPanel. (71928)
  • Site Editor: Make less prominent Addtional CSSCSS Cascading Style Sheets. UI. (71550)

Block bindings

  • Communicate supported block attributes from server side. (71820)
  • Image block: Conditionally remove emptyย <figcaption>. (71893)
  • Navigation Link: Use block bindings to dynamically fetch the URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org in the editor and on front end. (71630)

Write mode

  • Try adding content roles to navigation blocks. (71747)

Components

  • Textarea Component: Add default resize vertical rule. (71736)

Post Editor

  • PostTypeSupportCheck: Handle support keys sub-features. (71723)
  • Post Editor: Add the back button animation similar to the site editor. (71929)

Patterns

  • Block Inspector: Add content tab for section blocks. (71714)

Icons

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

  • iAPI Router: Update router regions inside elements withย data-wp-interactive. (71635)

MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Boxes

  • Add ability to toggle meta box pane open and closed. (71623)

New APIs

Block API

  • Add block visibility control support and UI. (71203)

Bug Fixes

  • Add decodeEntities for CollabSideBarContent errors. (71909)
  • Block Comment: Make blockCommentId as part of the metadata. (71921)
  • Block Commenting: Donโ€™t show unpinnable 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. on mobile viewports. (71834)
  • Block Comments: Fix canceling the form for a selected block. (71862)
  • Block Comments: Fix translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. comments to say participants in toolbar indicator. (71890)
  • Consistently show (no title) as a fallback for pages and templates with empty titles. (71945)
  • 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. comment clause based on current query. (71712)
  • Fix comment counts with filter. (71874)
  • Template activation: Donโ€™t set site option on edit. (71811)
  • Template activation: Fix saveEntityRecord with theme ID. (71798)
  • Template activation: redirect theme templates urls to wp_registered_template (72003
  • Template activation: add meta to all newly created templates (72156
  • Template activation: reduce templates listed as options for post/page (72141
  • Template activation: call get_block_templates filter when short-circuiting (71840
  • Template activation: allow empty array to be set (72011
  • Template activation: fix /lookup endpoint to use custom resolve function (72049
  • Template activation: ignore templates not associated with active theme (72029

Block Library

  • Accordion Block: Hide โ€œAddโ€ button when multiple blocks are selected. (71750)
  • Accordion Header: Fix toggle icon position in the editor. (71859)
  • Accordion Header: Skip serialization correctly. (71804)
  • Accordion Panel: Add role=region. (71902)
  • Accordion Panel: Fixes block visibility when the panel is collapsed. (71866)
  • Fix Navigation Block default link consistency across all insertion methods. (71899)
  • Fix accordion gradient background. (71802)
  • Fixes Accordion block width issue when applying padding. (71809)
  • Post Author Block: Add default avatar fallback for editor display outside postId context. (71775)
  • Table of Contents: Add aria label to the nav element. (71586)
  • Terms Query: Fix console errors. (71795)
  • Time to Read: Change word count character based on word count type. (71920)
  • fix: Hide accordion icon position setting when show icon is disabled. (71748)

Patterns

  • Fix incorrect block editing mode assigned in some cases. (71970)
  • contentOnly unsynced patterns experiment: Ensure a tab is selected when clicking Edit contents. (71987)

DataViews

  • DataViewsPicker Grid layout: Support hiding the title. (71865)
  • Fix: Exclude non-hideable fields from the Properties list in the view configuration. (71729)

Site Editor

  • Fix creating templates for posts with long slugs. (71838)
  • Fix the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warning for the URL query. (71753)

Write mode

  • Accordion Block: Hide Add button in write mode. (71941)

Interactivity API

  • iAPI: Fix nestedย data-wp-eachย directives using the same items key. (71870)

Block bindings

  • Fix pattern override 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., editing was allowed on non enabled overrides blocks. (71813)

Components

  • Button: Fix incorrect padding with text and right icon. (71464)

Accessibility

  • Block Comments: Improve input labels. (71843)
  • Block Comments: Make comment thread focusable and improve keyboard navigation. (71883)

Block Library

  • Accordion Block: Add additional keypress handlers for navigation. (71786)
  • Accordion: Remove label from Add button. (71756)
  • Added default focus and hover states to accordion header. (71937)
  • Fix: Add aria-hidden to accordion toggle icon. (71783)
  • Update: Accordion heading level synchronization. (71895)

Performance

  • Block Comments: New โ€˜useBlockCommentsโ€™ hook and perf improvements. (71869)

Experiments

Block API

  • Allow registering PHP-only blocks. (71794)

Documentation

  • DataForm: Update visibility example in storybook. (71771)
  • Docs: Useย gutenbergย instead ofย Gutenbergย in package name. (71790)
  • Fix examples with elements in field type story. (71971)
  • Update validation story to cover number field type. (71980)

Code Quality

  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. changelog: Update for 9702 (to 9949). (71849)
  • Block Comments: Unfold custom styles. (71766)
  • Create anย AGENTS.mdย file. (71796)
  • 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: Update block.json apiVersion to 3. (71852)
  • Refactor block-inspector: Improve maintainability and readability. (71608)

Block Library

  • Accordion Block: Simplify script module enqueueing. (71742)
  • Accordion Blocks: Standardize CSS class names. (71785)
  • Accordion Header: Donโ€™t use flex-direction:Reverse. (71737)
  • Accordion Header: Remove hardcoded inline styles and unused CSS class. (71731)
  • Comments: Fix potential PHP warning. (71860)
  • Extract shared Controls component for Navigation Link and Submenu blocks. (71994)
  • Navigation Block: Use path for all navigation toogle icons. (71829)
  • Post Date: Combine โ€˜coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.-dataโ€™ store selectors. (71846)
  • Social Icon: Removed extra spaces in color styles. (71900)
  • Time to Read: Simplify edit function. (71965)

Block Variations

  • Group block: Simplify variationsโ€™ isActive fields. (63100)

Tools

Testing

  • Block Comments: Add general end-to-end test coverage. (71844)

First-time contributors

The following PRs were merged by first-time contributors:

  • @Drivingralle: Navigation Block: Use path for all navigation toogle icons. (71829)
  • @epeicher: Button: Fix incorrect padding with text and right icon. (71464)
  • @ritoban23: Accordion Blocks: Organize block supports. (71823)
  • @theaminuli: Post Author Block: Add default avatar fallback for editor display outside postId context. (71775)
  • @Utsav-Ladani: Add paragraph level option to post type label block. (71947)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshawย @adamsilversteinย @Adi-tyย @andrewserongย @cbravobernalย @DAreRodzย @dinhtungduย @Drivingralleย @elazzabiย @ellatrixย @epeicherย @getdaveย @himanshupathak95ย @jorgefilipecostaย @jsnajdrย @juanfraย @karthick-muruganย @kmanijakย @levinbariaย @MaggieCabreraย @Mamadukaย @mikachanย @n2erjo00ย @nani-samireddyย @nerradย @ntsekourasย @oandregalย @ockhamย @peterwilsonccย @priethorย @R1shabh-Guptaย @ramonjdย @ritoban23ย @scruffianย @shail-mehtaย @shimotmkย @sirrealย @stokesmanย @sunyatasattvaย @t-hamanoย @talldanย @tellthemachinesย @theaminuliย @theminaldiwanย @Utsav-Ladaniย @yashjawaleย @youknowriad

Props @krupajnanda and @mosescursor for peer review.

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

Whatโ€™s new in Gutenberg 21.7? (24 September)

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

Whatโ€™s New In
Gutenberg 21.7?

Gutenberg 21.7 has been released and is available for download!

Expanded Command Palette

Site Editor navigation commands have now been made available on all screens.

Experiment: Terms Query 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.

A new block has been added, called Terms Query, similar to the Query block, but for terms rather than posts. It is designed to contain a new Terms Template block, which holds inner blocks with term data for displaying each term.

Go to Gutenberg > Experiments, and toggle the โ€œBlocks: add experimental blocksโ€ option to test it.

Experiment: contentOnly for Unsynced Patterns and Template Parts

An experiment has been added to give unsynced patterns and template parts contentOnly treatment, to prevent accidental edits of non-content blocks. To test, enable it on the Gutenberg > Experiments adminadmin (and super admin) page.

Experiment: Block Commenting

The block commenting experiment has continued to receive fixes and improvements, such as enabling them for published posts.

Changelog

Enhancements

Command Palette

  • Move custom CSSCSS Cascading Style Sheets. command toย core-commandsย fromย edit-siteย package. (71565)
  • Register menu navigation based on CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Menu 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.. (71476)

DataViews

  • Add color field type and control to DataViews. (71522)
  • Add data picker functionality. (70971)
  • Add password field. (71545)
  • DataForm radio control: Support validation and description. (71664)
  • DataForm select control: Support validation. (71665)
  • DataForm toggleGroup control: Support validation. (71666)
  • DataForm: Add a textarea control available for use with the text field type. (71495)
  • DataForm: Add summary field support for composed fields. (71614)
  • DataForm: Switch boolean field types from toggle to checkbox UIUI User interface. (71505)
  • Dataform: Add new URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org field type and field control. (71518)
  • Dataform: Add newย telephoneย field type and field control. (71498)
  • Dataforms: Add icons to email and telephone controls. (71514)
  • Dataforms: Add object configuration support for Edit property with prefix/suffix options. (71582)
  • Implementย groupByย for list layout. (71548)
  • Update datetime control to use calendar UI. (71509)
  • DataForm: Row Layout. (71124)

Block Library

  • Navigation Link: Change โ€˜Add pageโ€™ to โ€˜Create pageโ€™ button text. (71487)
  • Navigation Link: Show โ€˜Create pageโ€™ button in Write Mode while hiding โ€˜Add blockโ€™. (71489)
  • Navigation Link: Surface page creation functionality clearly in the LinkUI. (71188)
  • Normalize the Navigation block appender behavior between canvas and list view contexts. (71163)
  • Table of Contents: Update toolbar controls. (71587)
  • Terms Query: Combine Order and Order By control into single dropdown + remove order by slug. (71656)

Write mode

  • Add Navigation Add Page Button. (71192)
  • Hide Post Date toolbar when child of Query in contentOnly mode. (71707)
  • Try adding aย contentRoleย block support to content container blocks. (71539)

Block bindings

  • Addย block_bindings_supported_attributesย 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.. (71663)
  • Add fallback for new features introduced in Core. (71389)
  • Image block: Saveย <figcaption>ย ifย captionย attr is bound. (71483)

Block Editor

  • Localize labels in getVisualTypeName() for link control search items. (71503)
  • Update conditions for displaying the empty block inserter. (70897)

Global Styles

  • Site Editor: Always show Additional CSS button. (71537)

Components

  • Add support for ValidatedFormTokenField. (71350)

Command Palette

  • Make navigation commands available on all screens. (71335)

Interactivity API

  • Add fetchpriority=low support to script modules. (70173)

Block Variations

  • Haveย getActiveBlockVariationย fall back to default variation. (63858)

Core Data

  • Core Data: Remove conditions for selector resolutions. (71575)

New APIs

  • Core Commands: Introduce new useCommands hook. (71603)

Bug Fixes

  • Core Data: Donโ€™t return partial data when selecting a complete item. (71474)
  • Core Data: Fix early return check for the record field-level resolutions. (71541)
  • Core Data: Fix field conditions in โ€˜getRevisionโ€™ selector. (71629)
  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 8.5 array offset deprecation warning. (71654)

DataViews

  • DataForms regular layout: Remove label style overrides as they cause inconsistent results. (71574)
  • DataForms regular layout: Use BaseControl visual label for readonly fields when in top labelPosition. (71597)
  • DataViews grid layout: Rounded corners for media. (71543)
  • Field API: Addย setValue. (71604)

Write mode

  • Add contentRole to Query block and make sure Change design always works as expected. (71686)
  • Hide Spacer resizable box in write mode. (71671)
  • Make sure โ€œadd pageโ€ button label only appears once. (71710)

Block Editor

  • Fix popover scroll hookโ€™s simultaneous scrolling. (71468)
  • Fix stale insertion point reference. (71559)
  • useClipboardHandler: Prevent file paste for users without media upload permissions. (71607)

Components

  • Fix popover not calling onClose on unmount. (71252)
  • Modal headings and labels missing editor text color. (71311)
  • Validated form controls: Fix Sass var handling for red color. (71391)

Global Styles

  • BorderRadius Presets: Fix Generating wrong variable names in pattern code. (71631)
  • Search: Border radius presets work correctly. (71481)

Block Library

Block bindings

  • Fix back-compat layer. (71691)

Block Transforms

  • Block Editor: Fix BlockSwitcher to prevent transforms on reusable blocks. (71661)

Patterns

  • Content Only Pattern experiment: Restore purple block icon color for synced patterns. (71655)

Post Editor

  • Fix: Hide โ€œView Postโ€ link for non-viewable post types. (71356)

Block API

  • Allow block attributes strings to terminate in \ character. (71291)

Block Bindings

  • Block Bindings: Fix pattern override 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., editing was allowed on non enabled overrides blocks. ([71813])(#71813))

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

  • Block Comments: Make โ€œn more repliesโ€ text clickable for accessibility. (71387)
  • feat: Clarify label & add help text with link. (70451)

DataViews

  • Customย emptyย elements are no longer wrapped inย <p>ย tags to improve accessibility. (71561)

Performance

  • Core Data: Always try to resolve entity permissions. (71532)

Post Editor

  • Editor: Try displaying intermediate results for hierarchical terms. (71402)

Experiments

Patterns

  • Make unsynced patterns content only by default. (71512)
  • contentOnly Patterns experiment: Add Edit Contents button to block inspector and show โ€˜Detachโ€™ block action. (71653)

Block Library

  • Add Terms Query block. (70720)
  • Pattern content only experiment: Make template parts section blocks. (71627)

Block Commenting

  • Make buttons in dialogs translatable and clear. (71639)
  • Use rendered comment content. (71638)
  • Improve error handling for core data actions. (71695)
  • Use TextareaAutosize for comment field. (71424)
  • Add comment indicators in the block toolbar. (71271)
  • Add the ability to reopen resolved comments. (71250)
  • Enable inline comments on published post. (71295)
  • Block Comments: Prevent commenting on empty blocks. (71497)
  • Fix block comment to display correct time. (71652)
  • Fix: Disable block commenting when postId is not number. (71643)
  • Fix: Hide resolved comments in unpinned mode. (71409)
  • Fix: Unable to pin comment 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. after unpinning. (71386)
  • 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.: Show โ€œ1 more replyโ€ instead of โ€œ1 more repliesโ€ in block comments. (71685)

Documentation

  • ControlWithError: Add documentation about clonedย children. (71392)
  • DataForm: Remove default storybook example. (71609)
  • Docs: Fix broken links in Gutenberg release checklist. (71611)
  • Docs: Split โ€œGutenberg Release Processโ€ page into two. (71130)

Code Quality

  • Block Commenting: Prevent unnecessary API requests when post ID is not integer. (71713)
  • CODEOWNERS: Remove some block code owners. (71657)
  • Exportย UseEntityRecordsWithPermissionsType. (71003)
  • Migrate element package to TS. (70886)
  • [core-data]: Fix TS types for user object. (68045)
  • i18n: Remove unnecessary JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. file. (71549)

Block Library

  • Clean up LinkUI duplication for Add block and Create page flows. (71499)
  • Gallery Block: Add end-to-end test for image randomization. (71538)
  • Refactor Link UI controls with better props. (71515)
  • Refactor: Content only template locking block editing modes to reducer. (67606)

Block bindings

  • Date block: Moveย block_bindings_supported_attributesย filter to compat layer. (71662)

DataViews

  • Remove leftover code for Pages. (71534)

Tools

  • Update CODEOWNERS to remove ndiego. (71591)

Testing

  • Automated testing: Add taxonomy pagination tests. (71584)
  • Fix comments in block editing mode tests. (71690)
  • contentOnly patterns experiment: Add reducer tests. (71688)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@adamsilversteinย @Adi-tyย @andrewserongย @coderGtmย @coreyworrellย @dhruvikpatel18ย @elazzabiย @ellatrixย @getdaveย @gigituxย @heavyweightย @jeryj@jorgefilipecostaย @karthick-muruganย @kmanijakย @kushagra-goyal-14ย @Mamadukaย @manzoorwanijkย @mikachanย @mirkaย @ndiegoย @ntsekouras@oandregalย @ockhamย @p-jacksonย @priethorย @R1shabh-Guptaย @shimotmkย @shrivastavanoloย @sirrealย @stokesmanย @strakuย @swissspidyย @t-hamano@talldanย @tellthemachinesย @USERSATOSHIย @westonruterย @xavier-lcย @yashjawale

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

Whatโ€™s new in Gutenberg 21.6? (10 September)

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

Whatโ€™s New In
Gutenberg 21.6?

Gutenberg 21.6 has been released and is available for download!

It brings several enhancements, including improvements to the new Accordion 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 the Dataviews grid. This release also incorporates various bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes and code refactoring, continuing the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to TypeScript. Additionally, it lays the groundwork for a future upgrade to ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. 19.

  1. New add accordion button
  2. Improved Dataviews grid interface.
  3. Select, dropdown and text inputs now support global styles.
  4. Changelog

New โ€œaddโ€ accordion button

A new โ€œaddโ€ button has been incorporated into the accordion block, simplifying the process of creating new content items by allowing direct additions to the accordion toolbar.

Improved Dataviews grid interface.

The dataviews grid now offers a cleaner interface. Titles can be hidden, and actions are accessible on hover, allowing for a simplified grid without sacrificing the ability to add actions to individual items.

Select, dropdown and text inputs now support global styles

This release brings global styles support to selects, dropdowns, and text inputs, giving themes consistent control over these common form elements. By defining styles in theme.json, authors can customize colors, borders, and typography without extra CSSCSS Cascading Style Sheets.. This update makes forms feel more cohesive with the rest of a siteโ€™s design.

Changelog

Enhancements

  • Add support for precision type placeholders to translator comments eslint. (71145)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Commands: Add Dashboard option to return to dashboard. (71261)
  • Core Data: Add โ€˜supportsPaginationโ€™ to all appropriate entities. (71302)
  • Core Data: Forward resolvers for pagination selectors. (71304)
  • Core Data: Include pagination 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. while receiving intermediate results. (71401)
  • Create Block: Add lifecycle script execution support. (71072)
  • Display names for Context providers. (71208)

DataViews

  • DataForm: Add description support for the combined fields and show the description in the Card layout. (71380)
  • DataForm: Streamline validation behavior. (71345)
  • Revert โ€œDataForm: Streamline validation behaviorโ€. (71359)
  • Support hiding the title in Grid layout, with actions available on hover. (71369)
  • Support the โ€œMinimal UIUI User interfaceโ€ story by using DataViews.Footer. (71276)

Block Library

  • Accordion Panel: Remove unnecessary wrapper div and simplify save. (71454)
  • Accordion: Add an โ€œAddโ€ button. (71388)
  • Query LoopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. Block: Fix broken placeholder. (70840)

Offline

  • api-fetch: Check navigator.onLine to improve failure notices. (71438)

Meta Boxes

  • Edit Post: Check for meta box container before adding constraints. (71423)

Commands

  • feat: Added keyword support & added basic keywords for post/page. (70624)

New APIs

Global Styles

  • Add support for select or dropdown elements. (70379)
  • Global styles: add element support for text related inputs. (70378)

Bug Fixes

  • Add permission checks to Command Palette commands. (71267)
  • Components: Fix Tab font size when used outside WP. (71346)
  • Core Data: Fix error in โ€˜getEntityRecordsTotalPagesโ€™ selector. (71303)
  • Scripts: Do not access window global. (71348)
  • wp-scripts: Remove clean-webpack-pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. dependency. (71080)

Block Library

  • Accordion 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.: Fix RTL toggle button layout. (71480)
  • Fix issue of css affecting the nested accordion icon. (71445)
  • Fix timezone in Date block. (71430)
  • Fix: Randomization in Gallery Block doesnโ€™t work when Lightbox is enabled. (71408)
  • Group Block variation:Remove variation text color. (71429)
  • Properly apply styles and classes to the experimental form block. (55755)
  • Template Part: Display icons correctly when in placeholder state. (71327)
  • fix: Prevent accordion toggle button overflow at full width. (71446)
  • fix: Prevent scrollbars on accordion header and toggle. (71484)

Write mode

  • Allow adding โ€œcontentโ€ role blocks to containers that also have a โ€œcontentโ€ role in write mode. (71232)
  • Audio and Video: Hide caption controls in contentOnly mode. (71368)
  • Hide โ€˜Add blockโ€™ control in Link UI when Navigation Link block is in contentOnly mode. (71213)
  • Image: Donโ€™t allow convert to cover controls in contentOnly mode. (71329)

Post Editor

  • Edit Post: Fix misplaced icon on back button. (71406)
  • Editor: Fix theme stylesheet injection in โ€˜useAvailablePatternsโ€™. (71332)

DataViews

  • Fix grid padding values on mobile viewports. (71455)

Block Editor

  • Inserter: Fix InserterListbox rendering for React 19. (71410)

Style Book

  • Accordion Content, Header, Panel: Remove example field. (71407)

Zoom Out

  • Fix Zoom out should be disabled when Show Template is toggled off. (71361)

Components

  • ControlWithError: Show validating state when transitioning from error state. (71260)

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

  • iAPI: Make state getters to be updated asynchronously with store(). (70974)

Performance

  • Add wp-env SPX profiler option. (70693)

Post Editor

  • Editor: Improve the โ€˜Designโ€™ sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. panel performance. (71333)

Documentation

  • Core Data: Improve โ€˜registry.batchโ€™ documentation. (71325)
  • DataForm: Better story for validation. (71298)
  • DataViews: Fix defaultLayouts documentation error. (71334)
  • Field Types: Update storybook. (71440)
  • 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.: Document โ€˜hookNameโ€™ and โ€˜namespaceโ€™ parameters. (71288)
  • Storybook: Set DateCalendar and DateRangeCalendar components as private. (71453)

Code Quality

  • A11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility): Remove redundant styles. (65409)
  • Command Palette: Enqueue assets globally. (71264)
  • Convert api-fetch package to TypeScript. (67669)
  • Convert date package to TypeScript. (67665)
  • Core Data: Remove unused reducers. (71305)
  • Fix: Add JSON_HEX_TAG flag to wp_json_encode in script tags. (71280)
  • Interface: Remove leftover comment. (71331)
  • Types: Update to be compatible with React 19. (71374)
  • api-fetch: Clean up error handling. (71458)
  • api-fetch: Cleanup and improve unit tests. (71439)
  • core-data: Use Object.fromEntries instead of reduce when generating entities reducer. (36296)
  • Deps: Bump framer-motion to v11.15.0. (71442)
  • Move Site Editor command from wordpress/editor package to wordpress/core-commands. (71262)

Block Editor

  • Fold uniqueByBlock into options object. (71279)
  • Remove duplicate โ€˜InsertionPointOpenRefโ€™ context definition. (71465)

Block Library

  • Image block: Remove unused code. (71292)
  • refactor: Remove unnecessary fields from accordion 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. files. (71441)

Post Editor

  • Update types of getCurrentPostId. (71347)

Global Styles

  • Remove unecessary useEffect from ScreenStyleVariations. (71344)

Tools

Testing

  • Avoid using *-latest for runner images. (71201)
  • Fix failing command center end-to-end tests. (71293)
  • 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 by the repository owner. https://github.com/ Actions: Try to fix storybook smoke tests. (71284)
  • Upgrade Playwright to v1.55. (71285)

Build Tooling

  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher unit testing jobs to not include version. (71396)
  • Release Workflow: Add github.ref validation. (71404)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@Adity @andrewserong @aristath @DAreRodz @desrosj @dinhtungdu @getdave @himanshupathak95 @im3dabasia @jsnajdr @juanfra @kmanijak @lalitkumawat1m @levinbaria @MaggieCabrera @Mamaduka @manzoorwanijk @Mayank-Tripathi32 @mcsf @mikachan @mirka @nerrad @oandregal @R1shabh-Gupta @ramonjd @shimotmk @sirreal @swissspidy @t-hamano @talldan @tellthemachines @tyxla @USERSATOSHI @vipul0425 @westonruter @youknowriad

Props @mamaduka and @jorbin for peer review. Props @joen for visual assets.

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

Whatโ€™s new in Gutenberg 21.5? (27 August)

โ€œWhatโ€™s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/โ€ฆโ€ posts (labeled with the #gutenberg-new 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.)) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.5?

Gutenberg 21.5 has been released and isย available for download!

This release contains many enhancements in addition to the new blocks. Below is a curated summary of the most notable changes in this release.

Introducing Accordion 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.

Experimental Accordion block

This release introduces the new experimental Accordion block. Accordion content is composed of the trigger and panel, allowing users to style them separately, while maintaining the accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both โ€œdirect accessโ€ (i.e. unassisted) and โ€œindirect accessโ€ meaning compatibility with a personโ€™s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and semantics requirements of the accordion.

Command Palette in adminadmin (and super admin) dashboard

Command Palette in admin dashboard

We aim to bring the Command Palette into all parts of the WordPress experience. As a first step, the Command Palette is now available in the Admin Dashboard.

More commands and extensibility are planned for the future; see the overview issue for more details.

Support border radius presets

Like spacing, color, aspect ratios etc. Border radius are something that should be applied consistently throughout a design. Defining โ€œborder radius presetsโ€ 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. allows picking border radius value from these presets instead of manually entering radius values.

Continue reading โ†’

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