Dev Chat summary: May 6, 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 ๐Ÿ“ข

WordPress 7.0 Updates

  • RC3 (โ€œnew Beta 1โ€) scheduled for this Friday, May 8th
  • Call for RTC testing from hosts. Submissions still welcome. Thank you to Bluehost, Kinsta, XServer, GoDaddy,WordPress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/, Ionos, and any other hosts for helping test RTC.
  • A decision about RTC introduction is about to be finalized (and it was finalized). See ticketticket Created for both bug reports and feature development on the bug tracker. #64696.

General

Discussion ๐Ÿ’ฌ

@desrosj noticed there are still 37 open tickets in milestone 7.0 and that the statuts of the about page ticket (#64536) wasnโ€™t clear.

@jorbin proposed to run a dedicated 7.0 scrub after the chat.

@juanmaguitar will host a dedicated 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/ scrub on Thursday.

@jorbin and @audrasjb asked about the Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. timeline. It is currently under review and should be published ASAP.


@joefusco asked: โ€œIs there a process for getting systems team feedback on the RTC custom table?ย  The code and testing infrastructure are ready, including a standalone testing 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. that can run on production sites without changes to trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision..ย  Iโ€™m not sure who to direct this to or what the next gate is in the process.โ€

@desrosj answered the systems team has been involved with the discussions and I know that they have been testing.

@joefusco replied โ€œMainly whether there are any outstanding concerns with the table structure or the approach that would prevent it from landing in 7.0.ย  Also, is there a documented process for new table proposals that require systems review?ย  This wonโ€™t be the last time a feature needs a schema change, and it would help future contributors know the path.โ€

Several attendees noted that itโ€™s likely not worth the effort to formalize a process, as that kind of change doesnโ€™t occur regularly.

#7-0, #core, #core-editor, #dev-chat

Whatโ€™s new in Gutenberg 23.1? (07 May)

Whatโ€™s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 23.1? (07 May)

โ€œWhatโ€™s new in 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 23.1?

Gutenberg 23.1 has been released and is available for download!

This release introduces two new experiments aimed at managing content inside the editor. A Custom Taxonomies management screen lets you create and edit taxonomies from Settings, and a new Media Editor brings better image manipulation into the WordPress media flow. Outside of the editor, the @wordpress/ui package gains new compound primitives, Drawer and Autocomplete, alongside overlay polish. Other changes include an experiment to hide the classic 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. from the inserter, parallel thumbnail uploads, an early developer preview of @wordpress/grid, and a batch of real-time collaboration reliability fixes.

Faster image upload finalization

Sideload requests for an imageโ€™s generated thumbnail sizes used to run sequentially within a single upload. They now run in parallel up to the existing concurrency limit, which speeds up upload completion. (#75888)

The speed improvement is most noticeable on bulk uploads via the Gallery block, large images, and slower connections.

@wordpress/ui primitives

The @wordpress/ui package gains two new primitives and polish across overlay components.

Two new compound primitives ship in 23.1:

  • Drawer, for slide-in side panels and bottom sheets. (#76690)
  • Autocomplete, a low-level form primitive for combobox-style inputs. (#77642)

Other polish across overlay components:

  • The Dialog component gains a new Description subcomponent, plus several tweaks to its spacing and typography to align it better with Drawer. Additionally, its Backdrop only dims the page when the Dialog is modal. (#77194)
  • Dialog, AlertDialog, and Drawer now support sticky headers and footers when their content scrolls vertically. (#77559)
  • All overlays *.Popup subcomponents gain a new portal prop which, combined with new optional *.Portal subcomponents, allows for better customization of the portaling behavior. (#77452)

Other Notable Highlights

  • Custom Taxonomies management (Experiment). An experimental UIUI User interface for managing custom taxonomies inside WordPress adminadmin (and super admin). With the โ€œContent types: manage custom taxonomiesโ€ experiment enabled, a new Taxonomies screen lets you create, edit, activate or deactivate, and delete taxonomies without writing PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher. Enable it via Gutenberg โ†’ Experiments โ†’ โ€œContent types: manage custom taxonomiesโ€, then visit Settings โ†’ Taxonomies. (#77497, #77524, #77657, #77697)
  • Image Editor with Freeform Cropper (Experiment). A new experimental Image Editor modal for image manipulation in the Block Editor. The modal enables freeform cropping and other manipulation tools for Image and Site Logo blocks. To test it out, enable the experiment via Gutenberg โ†’ Experiments โ†’ Media Editor Modal, then, in the editor, click on the Crop icon in the block toolbar. (#77479, #77537, #77540, #77585, #77641)
  • Disable Classic Block from the inserter. The โ€œDisable TinyMCEโ€ experiment was refocused and landed to disable the Classic block from the inserter. The reason for the change is that removing TinyMCE everywhere broke too many existing flows. Existing Classic block instances continue to work normally, since the change only affects the inserter. A new wp_classic_block_supports_inserter 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. was introduced to allow controlling this behavior. (#77747, #77838, #77840, #77845, #77911)
  • @wordpress/grid package (developer preview). A new @wordpress/grid package introduces DashboardGrid, a two-dimensional grid component with drag-to-reorder and resize handles for dashboard-style surfaces. The package is in active development, and the APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. is expected to evolve in upcoming releases. (#77562)
  • Real-time Collaboration reliability improvements. Several fixes improve RTC reliability and load behavior. The โ€œConnection Lostโ€ dialog no longer appears when a page registers more sync rooms than the serverโ€™s per-request cap. A client/server size-check mismatch that could reject large Yjs updates has been corrected. When two offline users reconnect and both push compactions, they no longer end up in a divergent state. Sync observers also attach after the persisted CRDT document is hydrated, which avoids redundant block re-parsing during editor load. (#77631, #77669, #77980, #77966)

Changelog

Features

  • Upload Media: Enable concurrent sideload uploads. (75888)
  • Experimental Image Cropper: Tweak the keyboard interactions with drag handles and canvas. (77639)
  • Admin UI: Change default heading level from h2 to h1. (77617)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Remove redundant memoization wrapper from โ€˜getQueriedItemsโ€™. (77483)
  • 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.: Polyfill script module translations for WordPress < 7.0. (77214)

Enhancements

  • Storybook: Add global preview styles for @wordpress/ui overlays. (77451)
  • Widgets: Add 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.-types data layer. (77752)

Components

  • Admin UI: Add visual prop to Page 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. component. (76469)
  • Admin UI: Ensure consistent header spacing with and without actions. (76683)
  • Admin UI: Use UI Text component in header. (77372)
  • DataForm: Render field description as help text in the array control. (77554)
  • ExternalLink: Align appearance with Link from @wordpress/ui. (77790)
  • Link: Honor openInNewTab consistently. (77422)
  • Menu popover render + surface/motion split. (77460)
  • Refactor Admin UI / Breadcrumbs to use DS components and design tokens. (77012)
  • UI: Add Drawer primitive. (76690)
  • UI: Portal prop and Portal subcomponents for overlay Popups. (77452)
  • UI: Upgrade title validation to cleanup-based re-validation. (77165)
  • UI: Use Text in Notice.ActionLink typography. (77332)
  • FormTokenField: Add help prop to render additional help text below the field. (77552)
  • design-system-mcp: Add new package for design system MCP tooling. (77159)
  • ui/Dialog, ui/AlertDialog, ui/Drawer: Support sticky header and footer. (77559)
  • ui: Forward style and className on *.Popup to inner Base UI Popup. (77693)
  • ui: Uniform title and description styles across overlays. (77692)
  • ui: Unify hairline border across overlay popups. (77691)

Post Editor

  • Notes: Compute note positions centrally in useFloatingBoard. (77433)
  • Notes: Refactor internals into smaller components. (77614)
  • Notes: Refactor to use new โ€˜wordpress/uiโ€™ components. (77589)

Block Library

  • Ensure Post Template fallback styles donโ€™t apply when minimumColumnWidth is defined. (77411)
  • Tabs: Handle duplicating tabs. (76449)
  • Tabs: Rename tabs blocks to follow WCAGWCAG WCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/. Tabs pattern. (77418)

Block Editor

  • Embed: Restore paragraph with URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org when undoing paste-to-embed transform. (77551)
  • UI: Add Autocomplete primitive. (77642)

New APIs

  • Add @wordpress/grid package. (77562)

Guidelines

  • Extract initial public API methods. (77643)
  • Split singleton 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/ into dedicated /content-guidelines route. (77734)

Bug Fixes

  • Core Abilities: Export initialization promise as ready. (77254)
  • Disable Custom CSSCSS Cascading Style Sheets. command for non-block themes. (77685)
  • Grid: Fix width: 'fill' when tiles span multiple rows. (77769)
  • Tests: Connectors point to the right page. (77272)
  • 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.: Gutenberg Experiments: Ensure the experiment is active before outputting flags. (77728)
  • Connectors: Treat networknetwork (versus site, blog)-active plugins as active. (77661)
  • Command Palette: Fix macOs label for sites unable to determine UA via PHP. (77638)
  • Design Tools: viewport visibility โ€” use โ€˜keyโ€™ instead of โ€˜valueโ€™ for device type. (77410)
  • Layout: Ensure layout classnames are applied to the inner blocks wrapper and not to its siblings. (77408)
  • Global Styles: Fix pseudo selector block style rendering in the editor. (76879)
  • Data Layer: Media โ€” move image output format filtering to upload response. (75793)
  • Media Upload Modal: Fix pagination and search. (77872)

Block Library

  • Embed: Fix variation upgrade undo trap. (77546)
  • Accordion: Add missing dimension controls and limited customization. (77780)
  • 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.: Change toggle label to โ€˜Make image a linkโ€™. (71931)
  • Image: Preserve aspectRatio and scale when switching to wide/full alignment. (76914)
  • Form blocks: Update block categories for form, form-input, form-submission-notification, and form-submit-button. (61916)
  • Image: Fix non-local image ID removal undo trap. (77367)
  • Latest Comments: Fix uneven padding causing mis-alignment. (77379)
  • Tabs: Add classic theme styles to reset button defaults. (77607)
  • Tabs: Lock top-level structure and disable visibility controls. (77370)
  • Video Block: Update z-index for tracks popover to ensure proper stacking context. (77517)

Components

  • CollapsibleCard: Prevent focus ring clipping by content overflow. (77667)
  • Add cursor pointer to the ariakit menu item component. (70412)
  • Link: Remove underline from unstyled icon links. (77420)
  • Storybook: Fix โ€˜Open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. fileโ€™ links for storybook-local stories. (76758)
  • Storybook: Fix component descriptions in manifest files. (77112)
  • Text: Apply both heading and paragraph CSS defenses unconditionally. (77461)
  • UI: Fix focus-trap broken by ThemeProviderโ€™s display: contents. (77381)
  • UI: Update @base-ui/react from 1.4.0 to 1.4.1. (77520)

Block Editor

  • Fix blockGap fallback handling for nested var() fallback values. (77750)
  • Block-mover: Fix button tooltip position. (77588)
  • Block-mover: Fix horizontal tooltip position. (77597)
  • Strip per-block custom CSS on save for users without edit_css. (76650)
  • Writing Flow: Fix arrow keys skipping paragraph containing link. (77474)

Post Editor

  • Edit-post: Fix back button tooltip position. (77587)
  • Lock post saving during media uploads. (76973)
  • Template parts: Make โ€˜Detachโ€™ context menu item consistent across patterns and template parts. (77581)

Client Side Media

  • Deduplicate client-side image sizes with matching dimensions. (77036)
  • Declare convert_format as boolean arg on sideload route. (77565)
  • Upload Media: Use .jpg extension for HEIC-to-JPEG client conversion. (77506)

Collaboration

  • RTC: Fix โ€œConnection Lostโ€ dialog when too many entities are loaded. (77631)
  • RTC: Fix connection-lost error on large updates caused by mismatch between update size bounds check and expanded base64 update size. (77669)
  • RTC: Fix divergence when two offline users reconnect. (77980)

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)

  • 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.: Improve screen reader accessibility for diff markers region and slider. (77660)
  • Fix accessibility issues in admin Font Library. (77482)

Connectors

  • Add role="list" wrapper to connector cards for valid ARIA structure. (77689)
  • Keep focus on action Button during install. (77544)

Components

  • CollapsibleCard: Fix missing keyboard focus ring on the header chevron icon when rendered inside wp-admin. (77468)
  • Tabs: Fix missing keyboard focus ring on the panel in Windows High Contrast mode when rendered inside wp-admin. (77469)

Performance

Post Editor

  • Notes: Extract floating notes state into a dedicated store. (77424)
  • Notes: Reduce passes in useBlockComments memo and rename outputs. (77440)
  • RTC: Attach sync observers after hydrating persisted CRDT doc. (77966)

Experiments

  • Add custom taxonomies. (77497)
  • Add delete action to 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. management. (77524)
  • Dashboard: Register admin page route + 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. menu (shell). (77573)
  • Fix console errors/warnings for taxonomies. (77601)
  • Follow up improvements on taxonomies (#77497). (77567)
  • Improve taxonomies DataViews height. (77603)
  • Improve taxonomy edit action. (77605)
  • Render taxonomy status as a Badge. (77635)
  • Split status action to two actions, make them bulk-capable. (77637)
  • Taxonomies: Implement auto-fill labels. (77786)
  • Taxonomies: New package and add/edit screens. (77657)
  • Taxonomies: Add spacing above Add Taxonomy modal actions. (77523)
  • Taxonomies: Declare @wordpress/base-styles dependency. (77543)
  • Taxonomies: Warn when editing an existing taxonomyโ€™s slug. (77527)
  • User Taxonomies: REST controller. (77697)
  • User Taxonomies: Show Public field in create/edit form. (77802)
  • Disable Classic block: Control inserter support via filter. (77845)
  • Register gutenberg-dashboard-widgets flag. (77569)

Media

  • Image editor: Fix locked-ratio resize driver-axis on non-square images. (77664)
  • Image editor: Formalize cropper contract. (77668)
  • Image editor: Hold Shift while resizing to lock current aspect ratio. (77663)
  • Image editor: Reserve inner gutter so crop handles stay accessible. (77547)
  • Media Editor Modal: Render cropper in canvas for images. (77537)
  • Media Editor Modal: Save via Coreโ€™s /edit modifiers. (77641)
  • Media Editor Modal: Surface save failures as scoped snackbar notices. (77733)
  • Media Editor experiment: Add experimental image editor and cropper. (77479)
  • Media Editor: Add cropper controls to the media editor modal. (77540)
  • Media Editor: Add zoom control and hide fine rotation on narrow viewports. (77585)
  • Media editor modal: Add interactive grid. (77771)
  • Media editor: Avoid double-mount flicker on open. (77732)
  • Media editor: Confirm before discarding unsaved changes. (77730)
  • Update labels for media experiments to better clarify what they do. (77536)
  • Media Upload Modal: Add MIME type filtering to support text/vtt tracks. (77550)
  • Experimental Image Cropper: Ensure focus is on canvas when dragging. (77591)

Block Library

  • Disable TinyMCE: Warn instead of redirecting directly. (77747)
  • Site Logo Block: Enable the media editor modal experiment for the crop button. (77548)
  • Classic Block: Unwrap experiment to hide it from inserter. (77911)
  • Disable Classic block: Always register, hide from inserter conditionally. (77840)
  • Disable TinyMCE: Repurpose experiment as Classic block removal. (77838)

Post Editor

  • Image Editor experiment: Pass theme aspect ratios to media editor. (77665)
  • Media Editor Modal: Add a media editor modal experiment. (77480)

Documentation

  • Base styles: Update changelog to be clearer. (77767)
  • Docs: Add ESLint v10 migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. guide and polish documentation. (77217)
  • Docs: Update parameter type from number to int. (77519)
  • UI/Docs: Clarify package setup for custom WP Admin pages. (77338)

Code Quality

  • Adopt --wpds-cursor-control design token across the codebase. (77373, 77335, 77368, 77369, 77360, 77376, 77357, 77354, 77358)
  • Test (Integration): Migrate test/integration into @wordpress/integration-tests workspace. (77556)
  • Base Styles: Remove stale z-index entries. (77714)
  • ComplementaryArea: Inline z-index values. (77717)
  • ESLint: Consolidate configuration into tools/eslint/ workspace package. (77215)
  • Env: Minor refactoring of cacheDirectoryPath evaluation. (77799)
  • GlobalStylesUI: Remove unused CSS rule. (77456)
  • Grid: Add @types/jest devDependency. (77801)
  • Media editor: Remove unused dependency. (77438)
  • Blocks: Port over type information for @wordpress/blocks from DefinitelyTyped. (77393, 77437)
  • Refactor: Migrate tests/unit to npm workspace @wordpress/unit-tests. (77063)
  • Experiments: Declare @wordpress/base-styles dependency. (77684)
  • Data: Export and consolidate onSubKey helper. (77364)
  • Remove ZebulanStanphill from CODEOWNERS. (77586)
  • ESLint Plugin: Recommend EmptyState from @wordpress/ui. (77765)
  • Experiments: Rebuild the wp-admin Experiments screen on the wp-build routes pattern. (77443)

Components

  • Add no-unsafe-render-order ESLint rule. (77428)
  • ButtonGroup: Inline z-index. (77621)
  • Card: Remove unused CardContext. (77463)
  • CircularOptionPicker: Inline z-index values. (77715)
  • FormToggle: Inline z-index. (77619)
  • ResizableBox: Inline handle z-index. (77620)
  • Theme: Update Terrazzo packages to 2.0. (77432)
  • Tooltip: Fix flaky 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.. (77751)
  • UI: Recommend Link component for use. (77505)
  • UI: Start recommending new Card components. (77423)
  • UI: Use shared style-imports types. (77388)
  • VisuallyHidden: Recommend @wordpress/ui and migrate usages. (77575)
  • ui/Tabs: Fix act() warnings in tests. (77319)
  • ui: Align WithCustomZIndex Storybook examples across overlays. (77648)

Block Library

  • Accordion: Remove invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. isBlock prop from ToggleControl. (77776)
  • Paragraph: Refactor replacement logic in useOnEnter hook. (77383)
  • Stylelint: Add cursor-pointer rule and block-library override. (77501)
  • Tabs: Clean up Edit components. (77426)
  • Tabs: Remove redundant version field from block.json. (77417)

Post Editor

  • ESLint: Add use-import-as rule. (77389)
  • Notes: Refactor and extract offset calculation logic. (77414)
  • TypeScript: Share ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org CSS custom properties typing. (77394)
  • TypeScript: Migrate keyboard-shortcuts to TS. (76287)
  • Admin UI: Move to CSS modules and implement logical properties. (77088)

Block Editor

  • Fix import order in block-editor custom-css.js. (77566)
  • Remove stale reusable block z-index styles. (77774)

Site Editor

  • Edit Site: Move show-icon-labels handling to specific edit-site call sites. (77287)
  • EditSite: Remove unused CSS rule. (77494)

Build Tooling

  • Build: Skip sourcemaps for WASM-inlined script module workers. (75993)
  • ESLint: Introduce bulk suppressions workflow. (77392)
  • Add descriptive name for docker container images. (67827)
  • ESLint: Improve design token linting for CSS declaration strings. (77384)
  • Externalize react-dom/client. (77326)
  • Use node_modules/.bin/stylelint to avoid npm warnings on Node 24. (77512)
  • Jest setup: Remove unneeded rAF and URL polyfills. (77378)
  • Revert tsgo update (#77177) that broke trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (77680)
  • wp-build: Widen optional peer dependency ranges. (77568)

Testing

  • Menu: Fix flaky submenu focus test. (77430)
  • Tests: Remove duplicate mentions spec. (77593)
  • e2e: Shorten visit-site-editor canvas-loader visible wait. (77725)
    Connectors: Stop end-to-end 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). restriction from leaking across specs. (77857)
  • Fix PHP multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site tests. (77825)
  • RTC: Fix compaction unit test. (77986)

First-time contributors

The following PRs were merged by first-time contributors:

  • @adithya-naik: Image: Preserve aspectRatio and scale when switching to wide/full alignment. (76914)
  • @danluu: RTC: Fix connection-lost error on large updates caused by mismatch between update size bounds check and expanded base64 update size. (77669)
  • @hi0001234d: Connectors: Add role="list" wrapper to connector cards for valid ARIA structure. (77689)
  • @rajanarahul93: Featured Image: Change toggle label to โ€˜Make image a linkโ€™. (71931)
  • @vishnupprajapat: Taxonomies: Add spacing above Add Taxonomy modal actions. (77523)
  • @wwahammy: TypeScript: Migrate keyboard-shortcuts to TS. (76287)

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @Adi-ty @adithya-naik @aduth @alecgeatches @amitraj2203 @andrewserong @CGastrell @ciampo @danluu @DarkMatter-999 @dpmehta @ellatrix @glendaviesnz @gziolo @hbhalodia @hi0001234d @himanshupathak95 @jameskoster @jorgefilipecosta @joshualip-plaudit @jsnajdr @juanmaguitar @kraftbj @Mamaduka @manzoorwanijk @mcsf @mikachan @mirka @Mustafabharmal @ntsekouras @peterwilsoncc @R1shabh-Gupta @rajanarahul93 @ramonjd @retrofox @SainathPoojary @shrivastavanolo @simison @Soean @t-hamano @Takshil-Kunadia @tellthemachines @tyxla @USERSATOSHI @vishnupprajapat @westonruter @wwahammy @yogeshbhutkar @yuliyan @ZebulanStanphill

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

Dev Chat summary: April 15, 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 @amykamala ๐Ÿ”— Agenda post.

Announcements ๐Ÿ“ข

WordPress 7.0 Updates

  • The Path Forward for WordPress 7.0. The 7.0 release is still on pause for the time being. A new schedule is being worked out and will be announced by the 22nd. There will be another Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). in name, but in practice the next release will be treated as a 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., specifically to test architectural improvements to Real Time Collaboration. Thank you in advance to everyone who helps test!

General

Discussion ๐Ÿ’ฌ

@annezazu has published Defining expectations for Iteration issues announcing some adjustments to iteration issue handling in the 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/ repo.

From @amykamala: โ€œFinding the most current PRs and discussions can be a bit of a wild goose chase because while PRs mention tickets in their content, the fields/relationships on the right that would link PRs to a ticketticket Created for both bug reports and feature development on the bug tracker., project, status, etc are not actively being used. For 7.0 theres a kan ban board but nothing in it because tickets and PRs are not being tagged. So the only way to find this info is to scroll endlessly on tickets and click on all the links in the notifications. Some of you may remember a while back I asked devs in here to please start tagging their PRs in the fields on the right.โ€

  • @jeffpaul noted that the #core-program channel may be a good place to iterate on this topic.

Matt is requesting community reps and organizers increase emphasis on Elevating Individuals in the contributor space to to celebrate volunteers and folks who contribute in their own spare time.

From @miroku: โ€œI can only report problems; can that be considered a contribution? Iโ€™m always struggling to figure out how to volunteer effectivelyโ€. @jorbin answered that testing and finding bugs is absolutely a contribution!

@westonruter wanted to draw attention to this issue with @wordpress/core-abilities which makes it difficult to use outside of a React context. A PR is available to fix the issue.

#7-0, #core, #core-editor, #dev-chat

Whatโ€™s new in Gutenberg 22.9? (8 April)

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

Whatโ€™s New In
Gutenberg 22.9?

Gutenberg 22.9 has been released and is available for download!

This release introduces background gradients that work alongside background images in the Group blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience., and adds organized sections to the command palette for better action discovery (experimental). The wordpress/ui package gains a foundational component for consistent empty states, while real-time collaboration receives stability improvements for multi-user editing sessions.

A total of 131 PRs were merged in Gutenberg 22.9, with 5 first-time contributors!

Table of contents

Background gradients alongside background images

The Group block now supports background gradients through a new background.gradient block support, allowing gradients and background images to work together without conflicts. Youโ€™ll find a gradient picker in the Background panel that works independently of the existing color gradient controls, making it possible to create gradient overlays on images or combine multiple background effects.

The new background.gradient block support is available to block authors. This also lays the groundwork for eventually migrating color.gradient to background.gradient across all blocks, providing a more consistent and capable background styling system, including clipping and text gradients. (75859)

Command palette history and suggestions (experimental)

The command palette (Cmd+K/Ctrl+K) now features organized sections that make it easier to find and reuse actions. Instead of showing just a search field and search results, users see sections for Recent commands and Suggestions based on current context. This change is experimental; to give it a try, first go to WP-Adminadmin (and super admin) > Gutenberg > Experiments and enable โ€œWorkflow Paletteโ€.

Other Notable Highlights

The wordpress/ui package adds a new EmptyState component for displaying placeholder content when sections have no data. This compound component provides flexible composition with sub-components for icons, titles, descriptions, and actions, laying groundwork for consistent empty state patterns across the interface (74719).

Real-time collaboration has received some fixes that improve the multi-user editing experience and stability. Block comments (notes) now properly sync between collaborative editors instead of requiring page refreshes to appear. In the post list, the action button correctly updates from โ€œJoinโ€ back to โ€œEditโ€ when collaboration locks expire. Behind the scenes, error recovery has been enhanced to prevent cascading failures that could previously cause memory issues during collaborative sessions. (76873, 76795, 76872, 76716)

The experimental Forms block now supports hidden input fields, filling an important gap for many applications. Hidden fields appear as selectable placeholder blocks in the editor, while remaining invisible on the frontend with values configurable through the Advanced panel. (74131)

Changelog

Enhancements

Block Editor

  • DOM: Prefer standard caretPositionFromPoint over deprecated caretRangeFromPoint. (76921)

Components

  • Add EmptyState component to wordpress/ui. (74719)
  • Admin UIUI User interface: Update Page background color. (76548)
  • Button: hide focus outline on :Active for click feedback in forced-colors mode. (76833)
  • Card: Use Text component for Title typography. (76642)
  • InputControl: Add to wordpress/ui. (76653)
  • Snackbar: Use surface-width design token for max-width. (76592)
  • Storybook: Make โ€œintroductionโ€ top level. (76671)
  • Tabs: Add runtime validation for tab/panel mismatches. (75170)
  • Theme: Change default control cursor to pointer. (76762)
  • ThemeProvider: Add cursor prop. (76410)
  • UI/Dialog: Deprioritize close icon for initial focus. (76910)
  • UI/Dialog: Expose initialFocus and finalFocus on Dialog.Popup. (76860)
  • UI: Add AlertDialog primitive. (76847)
  • UI: Update @base-ui/reactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org from 1.2.0 to 1.3.0. (76603)

Data Layer

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Remove offset param from stableKey, use pagination logic. (76808)

Block Library

  • Block Supports: Add background gradient support that can combine with background images. (75859)
  • Forms Block: Add hidden input field variation. (74131)
  • Image/Site Logo: Hide crop toolbar when editMediaEntity is unavailable. (76626)
  • Login/out block: Add button block class names to the submit button. (76746)

DataViews

  • CollapsibleCard: Add HeaderDescription subcomponent. (76867)
  • Improvements to dataviews infinite scroll. (74378)

Site Editor

  • Site Editor > Pages: Move view configuration to the server. (76573)
  • Site Editor > Patterns & Parts: Generate 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. from view configuration. (76823)
  • Site Editor > Patterns: Move configuration to the server. (76734)
  • Site Editor > Quick Edit: Add form configuration to endpoint. (76953)
  • Site Editor > Templates: Move configuration to the server. (76622)

Post Editor

  • DataForm: Add compact configuration option to the datetime control. (76905)
  • Site Editor v2: Add missing menu items to navigation leaf more menu. (76804)

Connectors

  • Improve AI 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. button. (76759)

Collaboration

  • Add 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 WP_ALLOW_COLLABORATION. (76716)

Guidelines

  • Improvements to the UXUX User experience. (76383)

Icon

  • Icons: Enforce strict name validation in register method. (76079)

Commands

  • Add sections to command palette and introduce Recently used functionality. (75691)

Bug Fixes

  • wordpress/date: Recover WP timezone after third-party reload. (75831)

Block Library

  • Icon: Fix center alignment in the editor for classic themes. (76878)
  • Image block media placeholder: Remove duotone. (76721)
  • Latest Comments: Fix v1 block deprecation. (76877)
  • List Item: Disable edit as HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. support. (76897)
  • Navigation: Avoid List View changing position when navigation block saves. (76659)
  • Reduce specificity of nav link default padding so global styles apply. (76876)
  • Show fallback label in MediaControl when filename is empty. (76888)
  • Site Tagline: Fix block error when migrating deprecated textAlign attribute. (76821)

Connectors

  • Boot: Fix black area below content when sidebar is taller than page content. (76764)
  • Add Akismet as a default connector. (76828)
  • Align client 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. with server. (76737)
  • Fix button size. (76582)
  • Replace plugin.slug with plugin.file. (76909)
  • Support non-AI provider types and add JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. extensibility end-to-end test. (76722)

Block Editor

  • Block visibility badge: Use canvas 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 viewport detection. (76889)
  • Cross Origin Isolation: Remove img from the list of elements that get mutated. (76618)
  • Fix locked content when switching to a different template without exiting โ€˜Edit patternโ€™. (76710)
  • Hide Additional CSSCSS Cascading Style Sheets. controls when block is inside contentOnly editing mode. (76512)
  • Reset blockEditingModes on RESET_BLOCKS. (76529)
  • Stop keeping stale controlled blocks after reset. (76591)

Components

  • Admin UI: Fix Page 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. not rendering with only actions and add stories. (76695)
  • Button: Restore specificity of high-contrast mode focus ring. (76719)
  • Card: Add overflow: Clip to root container. (76678)
  • Fix Color Picker Angle Reset on Gradient Type Change. (76595)
  • Storybook: Disable autodocs for Icon library. (76620)
  • compose/useDialog: Add stopPropagation() to Escape handler. (76861)
  • ui/CollapsibleCard: Do not animate focus ring. (76682)

Post Editor

  • Fix: Create custom template modal content width. (76713)
  • Reduce the added halo for selected block. (76619)
  • RevisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision.: Add MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. fields diff panel to document sidebar. (76341)
  • Revisions: Fix template revisions retrieval and sorting. (76760)
  • Style Book: Fix missing styles for classic themes in stylebook route. (76843)

Collaboration

  • RTC: Fix notes not syncing between collaborative editors. (76873)
  • RTC: Fix stuck โ€œJoinโ€ link in post list when lock expires. (76795)
  • RTC: Restore on failed request with compaction update. (76872)

Client Side Media

  • Build: Remove unused JXL WASM module from vips worker. (76639)
  • Gate client-side media processing as plugin-only. (76700)
  • vips: Ensure single instance. (76780)

CSS & Styling

  • MetaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way.: Fix checkbox style in sidebar. (76718)

Data Layer

  • Properly resolve getTemplateId for hybrid themes. (76532)

Site Editor

  • Fix unsupported theme flash on direct URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org navigation. (76465)

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

Components

  • ComboboxControl: Fix accessible association of help text. (76761)
  • RadioControl: Add role=โ€radiogroupโ€ to fieldset. (76745)
  • ToggleGroupControl: Fix accessible association of help text. (76740)
  • ControlWithError: Connect validation messages to controls via aria-describedby. (76742)

Block Editor

  • Stretchy Text: Fix focus loss. (75092)

Experiments

Post Editor

  • Fields: Add 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. field. (76829)
  • Fields: Add sticky field. (76922)
  • Fields: Tweak excerpt field. (76903)
  • Add revisions panel. (76735)
  • Add template panel to include the existing template actions. (76539)

Guidelines

  • Refactor components and improve TypeScript typing. (76394)

Documentation

  • Abilities: Improve JSDoc for public API. (76824)
  • DOM: Document class wildcard matcher for โ€˜cleanNodeListโ€™. (76920)
  • Docs: Remove Puppeteer references and update to Playwright. (76766)
  • Docs: Update PHP_CodeSniffer repository link and schema URL. (76816)
  • Storybook: Add redirect for moved introduction page. (76701)
  • Storybook: Try changing to collapsed folders. (76361)
  • UI Tooltip: Improve documentation to cover intended accessibility practices. (76705)
  • Updating versions in WordPress ahead of 7.0. (76723)
  • admin-ui: Update package README to clarify purpose and distinguish from ui package. (76943)
  • docs(create-block-interactive-template): Document available variants in README. (76831)
  • iAPI Docs: Add client-side navigation compatibility guide. (76242)

Code Quality

  • Core Abilities: Fix sideEffects flag. (76763)
  • Admin UI: Add CSS files to sideEffects array. (76609)
  • admin-ui / Breadcrumbs: Stricter items[].to prop types. (76493)
  • Refactor: Use null coalescing operator for improved readability. (76777)
  • element: Make createInterpolateElement TS/type smart. (71513)

Data Layer

  • Core Data: Optimize getRawEntityRecord selector. (76632)
  • Core Data: Remove โ€˜isRawAttributeโ€™ internal util. (76806)

Block Library

  • Navigation: Add a shared helper for font sizes in Navigation Link and Navigation Submenu blocks. (74855)
  • Tab Block: Remove anchor from save function. (76511)

Site Editor

  • Simplify sidebar for Pages & Templates. (76868)

Commands

  • Fix useSelect warning in command palette. (76822)

Block Editor

  • Deprecate โ€˜__unstableSaveReusableBlockโ€™ action. (76807)

Components

  • UI: Clarify public APIs and component naming, remove NoticeIntent typings. (76791)

DataViews

  • wordpress/dataviews: Migrate card layout to wordpress/ui. (76282)

Tools

  • Add TypeScript parser tests for shouldSkipReference. (76611)
  • ESLint: Add no-unmerged-classname rule. (76458)
  • create-block-interactive-template: Enhance block registration by using blocks-manifest for improved performance. (76317)

Build Tooling

  • wp-build: Hash transformed CSS for data-wp-hash dedupe key. (76743)
  • Build: Fix vips worker 404 when SCRIPT_DEBUG is true. (76657)
  • Build: Skip non-minified build for WASM-inlined workers. (76615)
  • Changelog: Add missing label-to-feature mappings. (76646)
  • React vendor script: Avoid warning on createRoot. (76825)
  • Set milestone on PRs after cherry-picking to 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".. (76652)
  • react-dom vendor script: Remove __esModule flag. (76925)

Testing

  • Fix: Flaky RichText format end-to-end test. (76958)
  • RTC: Add end-to-end block gauntlet. (76849)
  • e2e: Add end-to-end tests for template and template part revisions. (76923)
  • end-to-end Tests: Enable client-side media processing for site editor image test. (76648)

Collaboration

  • RTC: Update post lock backport PR. (76661)

First-time contributors

The following PRs were merged by first-time contributors:

  • @jigangz: Block Library: Show fallback label in MediaControl when filename is empty. (76888)
  • @meravi: Docs: Remove Puppeteer references and update to Playwright. (76766)
  • @rodrigoprimo: Docs: Update PHP_CodeSniffer repository link and schema URL. (76816)
  • @sandipmaurya2611: Boot: Fix black area below content when sidebar is taller than page content. (76764)
  • @Vedant-Gandhi: Fix Color Picker Angle Reset on Gradient Type Change. (76595)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @aduth @alecgeatches @andrewserong @annezazu @aswasif007 @carolinan @CGastrell @chriszarate @ciampo@DAreRodz @dhasilva @dsas @ellatrix @epeicher @gziolo @im3dabasia @ingeniumed @jameskoster @jasmussen @jigangz @jorgefilipecosta @jsnajdr@juanmaguitar @Mamaduka @manzoorwanijk @maxschmeling @meravi @mirka @ntsekouras @oandregal @pento @ramonjd @retrofox @rodrigoprimo@sandipmaurya2611 @scruffian @senadir @sgomes @Shekhar0109 @shekharnwagh @shimotmk @SirLouen @Soean @t-hamano @talldan@tellthemachines @Vedant-Gandhi

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

Dev Chat summary: April 8, 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 ๐Ÿ“ข

WordPress 7.0 Updates

  • The Path Forward for WordPress 7.0. Quick summary:
    • trunk is closed to commits for the 7.1 release until further notice
    • Backporting to 7.0 still requires double committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. sign off
    • Pre-releases are paused
    • The next release will be a RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).
    • Weโ€™re currently in string freeze
  • Newย Dev Notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include a description of the change, the decision that led to this change, and a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase.:

Discussion ๐Ÿ’ฌ

From @desrosj: contributors who have a list of notes for tickets to create are encouraged to create them before the WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what theyโ€™ve learned throughout the year and share the joy. Learn more. Asia Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/. Especially if they are good-first-bugs!ย 

@desrosj added: โ€œIf someone has some time, triaging the good-first-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. list could also be helpful. Sometimes that list is intimidating because it seems like everything is attended to. But often times the patches need to be refreshed or the approaches so far are not fully solving the issue at hand. If we could note that on the tickets, it may make them more easily actionable.โ€

@audrasjb noted that the 8 tickets in the i18n component for 7.0 are easy tickets that would be nice to address during the contributor day. They are also Polyglots, CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., and Core Editor cross-team tickets.

@desrosj will encourage our Polyglots contributors to open tickets for strings that need refinement and additional context as it is a great way to contribute to the upcoming release.

#7-0, #core, #core-editor, #dev-chat

Dev Chat summary: April 1, 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 ๐Ÿ“ข

Editor

General

WordPress 7.0 Updates

Discussion ๐Ÿ’ฌ

From Matt: Rethinking Left Navigation

  • @audrasjb: โ€œOrdering plugins in a menu is a pretty sensible [but] it would be great if users could order them themselvesโ€
  • @jorbin recommended to make it a Feature PluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins project
  • @joedolson wanted to note that maintaining consistent navigation order is an explicit accessibility requirement

From @joefusco: โ€œFollowing the awareness/presence discussion in #64696, I built a feature plugin to test the workload independently from RTC feature.โ€

  • @desrosj proposed to make it a Feature Plugin hosted on the WordPress 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/ repository andโ€ฆ tada! Itโ€™s live.

From @wildworks: โ€œI am proposing to remove the ability to embed YouTube videos in the cover blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.. I would appreciate your thoughts on this. In my opinion, this violates the terms of service and also presents 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) issues.โ€ See this PR comment.

  • @jorbin pointed out that WordPress has shipped with header video support for almost a decade with no complaints, so removing this from the cover block should not be rushed.
  • @joedolson added that the accessibility issue is technically a content control issue; it doesnโ€™t directly create an issue, but opens a door for significant issues that were previously easily prevented.
  • @wildworks shared this Slack thread, where comments are welcome about this topic.

#7-0, #core, #core-editor, #dev-chat

Whatโ€™s new in Gutenberg 22.8? (25 March)

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

Gutenberg 22.8 has been released and is available for download!

Table of contents

Real-time Collaboration improvements

Real-time collaboration now shows collaborator text selections, not just cursor positions. When another user selects text, you see their selection highlighted in their assigned colour โ€” matching the behaviour youโ€™d expect from collaborative editors like Google Docs.

The presence UIUI User interface has also been polished: avatars are redesigned, you can now see your own presence indicator, and a new Writing preference lets you control whether you receive collaborator notifications. Under the hood, peer limits and disconnection debouncing improve stability for busier editing sessions. (76107, 75652, 76413, 76460, 76565, 76114)

Button pseudo-state styling in Global Styles

A new โ€œStateโ€ dropdown now appears next to the Button 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. title in Global Styles. Selecting a state โ€” Hover, Focus, or Active โ€” switches all the style controls below to edit that specific state. The block preview updates live to show the selected state, giving you a visual preview of how the button will appear on the frontend.

While 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. has supported pseudo selectors for some time, there has been no visual interface to edit them until now. The Button block is the starting point, with the architecture designed to expand to other blocks in future releases. Separately, theme.json now also supports styling the current/active navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. item and its interactive states, giving theme authors control over active-page highlighting without custom CSSCSS Cascading Style Sheets.. (75627, 75736, 76326)

Site Logo & Icon in the Design panel

Site logo and icon management now has its own dedicated screen in the Design panel. The new screen uses a compact media editor for both fields, making it quicker to set or swap your siteโ€™s logo and favicon without navigating through adminadmin (and super admin) settings or finding the block settings. (76116)

Connectors extensibility

The Connectors screen, introduced in 22.7, now has a registry 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. that allows plugins to register their own connectors. Plugins can use registerConnector() to add entries to the Connectors admin page, and unregisterConnector() to remove them.

These extension points allow any pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. to integrate with the Connectors system, so it can grow beyond the built-in providers. (76364, 76541, 76142).

Other Notable Highlights

  • Add navigation links from sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. List View: You can now add new links directly from the Site Editorโ€™s sidebar List View for navigation menus, rather than needing to open the block inspector. (75918)
  • Client-side media processing: Client-side image uploads now support the AVIF format, cross-origin isolation no longer breaks third-party plugin iframes, and server-side plugins that process uploaded images (for watermarking, CDN sync, etc.) now work correctly alongside client-side processing. (76371, 75991, 74913, 76616)
  • Command Palette in the admin bar: A trigger button for the Command Palette now appears in the WordPress admin bar, making it accessible from anywhere in the admin. The button displays the keyboard shortcut for your platform (โŒ˜K on Mac, Ctrl+K on Windows/Linux). (75757)

Changelog

Features

Collaboration

  • RTC: Add preference for collaborator notifications. (76460)

Enhancements

Components

  • wordpress/ui: Add Collapsible component. (76280)
  • Add ExampleApplication story for ThemeProvider to better demonstrate component theme-ability.
    (76463)
  • Add Link primitive to @wordpress/ui. (76013)
  • Add primitive Text component to wordpress/ui. (75870)
  • Add styles for outside days in Calendar components. (76199)
  • Admin UI: Add Storybook stories for Breadcrumbs and Page components. (76467)
  • Adopt surface-width design tokens for Dialog, Notice, and Modal widths. (76494)
  • Collapsible.Card: Make contents hidden until found. (76498)
  • CollapsibleCard: Move trigger to the whole 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.. (76265)
  • Editor: Polish real-time collaboration presence UI and move 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. to editor package.
    (75652)
  • Field.Label, Fieldset.Legend: Add visuallyHidden prop. (76052)
  • Refactor admin-ui Page component to use wordpress/theme tokens and wordpress/ui layout primitive.
    (75963)
  • Storybook: Change the default font. (76366)
  • Storybook: Deduplicate injected package stylesheets. (76158)
  • Theme package: Add surface width design tokens. (76047)
  • Theme: Add no-token-fallback-values stylelint rule. (76415)
  • Tooltip: Change default placement from bottom to top. (76131)
  • UI Notice: Let description and actions span icon column at narrow widths. (76202)
  • UI/Badge: Add border and neutral-strong background to none intent. (76356)
  • @wordpress/ui: Add Card and CollapsibleCard components. (76252)
  • CollapsibleCard: Add animations. (76378)
  • ui/Card: Increase padding, align with legacy Card. (76368)
  • Admin UI: Update font size for title and breadcrumbs to match. (76452)

Connectors

  • Add AI Experiments plugin callout with install/activate functionality. (76379)
  • Add connectors registry for extensibility. (76364)
  • Add empty state when no connectors are registered. (76375)
  • Add unregisterConnector and upsert support. (76541)
  • Move plugin status computation to script module data. (76409)
  • Sync PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher code with WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. (76443)
  • Update page identifier to options-connectors. (76142)
  • WP Admin: Update Connectors screen footer text for consistency. (76382)

Block Library

  • Block Library: Improve the design of MediaControlPreview and MediaControl.
    (76430)
  • Link Picker: Use Homepage badge instead of Page if Homepage. (75929)
  • Navigation link: Add support to style current menu item via theme.json. (75736)
  • Navigation: Allow creating new links in site editor sidebar List View. (75918)
  • Post Date: Migrate to textAlign block support. (75856)
  • 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.: Migrate to textAlign block support. (75860)
  • Tabs: Disable anchor support on Tab Menu Item. (76442)
  • Tabs: Restructure Tabs Menu and inner blocks. (75954)

DataViews

  • Add border to sticky table headers. (76396)
  • DataForm: Add customizable button text to panel modal. (76099)
  • DataForm: Reduce panelโ€˜s dialog min-width. (76345)
  • DataViews Grid and Picker Grid: Add density option for gap between items. (75887)
  • Improve storybook infinite scroll. (76566)

Post Editor

  • Add Site Logo & Icon screen to Design panel. (76116)
  • Editor: Show own presence in collaborative editing sessions. (76413)
  • Fields: Add format field. (76308)
  • Media: Add 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. and extension points for client-side media processing. (74913)

Collaboration

  • RTC: Add collaborator selection highlighting in rich text. (76107)
  • RTC: Allow filtering of SyncConnectionModal. (76554)
  • RTC: Auto-register custom 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. rest_base values for CRDT sync. (75983)
  • RTC: Do not sync role=local attributes. (76267)
  • RTC: Implement disconnection debounce after initial connection. (76114)
  • RTC: Implement front-end peer limits. (76565)
  • RTC: Remove post list lock icon and replace user-specific lock text. (76322)
  • Use V2 Yjs methods for 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. (76304)
  • Add a limit for the default provider. (76437)

Content Guidelines

  • Rename route and use the right Notice component. (76427)

Block Editor

  • Implement state UI for pseudo selectors on Global styles. (75627)
  • Media: Use Document-Isolation-Policy for cross-origin isolation on Chromium 137+.
    (75991)
  • Pattern Editing and Block Fields: Highlight selected block. (74841)
  • Icons API: Support searching in labels. (75878)
  • Media Upload Modal: Try an uploading state with popover in the footer. (76228)
  • Set placeholder to featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. field. (76342)
  • Add confirmation dialog before disconnecting/detaching. (75713)

Interactivity API

  • Add client-side navigation block with interactive features. (76331)

Command Palette

  • Add command palette trigger button to admin bar. (75757)

Bug Fixes

Post Editor

  • Add isNavigationPostEditorKey symbol to fix menu display context. (76461)
  • Allow Post Content to be edited when โ€˜Show templateโ€™ is active and Post content is nested in a Template Part.
    (76305)
  • Client-side media processing: Try plumbing invalidation to the block-editorโ€™s mediaUpload onSuccess callback.
    (76173)
  • Editor: Fix autosaves for draft and auto-draft posts. (76624)
  • Fix: Document Bar: Back button flickers. (76320)
  • Fix: QuickEdit: Consolidate how โ€œStatus > Scheduledโ€ works. (76129)
  • Navigation: Disable Mobile Menu in Isolated Editor or Site Editor Preview. (76203)
  • Notes: Disable for 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.. (76180)
  • Page Parent: Change the default value of โ€˜fieldValueโ€™ state. (76354)
  • Page/Post Content Focus Mode: Fix insertion into Post Content block. (76477)
  • RTC: Place sync connection modal in front of popover. (76431)
  • Revisions: Show changed block attributes in inspector sidebar. (76550)
  • Revisions: Use useSubRegistry={false} to fix global store selectors. (76152)
  • Site Editor: Ensure editor settings are populated with server-side settings ASAP.
    (75785)

Block Library

  • Cover Block: Add a playlist parameter to 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 YouTube background videos. (76004)
  • Disables anchor support for the Page Break block. (76434)
  • Fix: Update the playlist-track file permissions from 755 to 644. (76315)
  • Fix: Use add_filter() for get_block_type_variations hook. (76297)
  • HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. & 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.: Disable viewport visibility support. (76138)
  • HTML Block: Fix broken layout. (76278)
  • Hide template part replace button when viewing revisions. (76169)
  • Navigation Overlays: Fix submenu overflow when parent nav is right-justified.
    (76360)
  • Navigation block: Fix submenu chevron toggle on touch devices. (76197)
  • Navigation overlay close button may be displayed twice. (76585)
  • Navigation: Update close button size. (76482)
  • Playlist: Clip content to respect border-radius. (76146)
  • Show spinner when replacing media via drag-and-drop. (76245)
  • Site Title Block: Fix preview display. (76614)

Data Layer

  • Core Data: Add โ€˜supportsPaginationโ€™ flag for Font Collection entity. (76404)
  • Core Data: Fix โ€˜canUserโ€™ returning โ€˜undefinedโ€™ when the allow header is missing.
    (76307)
  • Core Data: Fix per_page query logic for when offset is present in the query.
    (76613)
  • Core Data: Fix selectors returning stale results for different โ€˜per_pageโ€™ queries.
    (76422)
  • Core Data: Support reading revision data in useEntityProp (fixes footnotes in revisions UI).
    (76106)
  • Core Data: Treat single-item responses specially. (76318)
  • API Fetch: Respect caller-provided Content-Type in httpV1 middleware. (76285)

Connectors

  • Add logo URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org support for custom AI providers. (76190)
  • Align Gutenberg init hook priorities with Core. (76161)
  • Fetch specific plugin instead of all plugins. (76594)
  • Gate unavailable install actions behind install 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).. (75980)
  • Improve placeholder text and make it translatable. (75996)
  • Improve responsive layout for small viewport and screens. (76231, 76186)
  • Memoize getConnectors selector. (76339)
  • Move API key validation and masking to REST dispatch level. (76327)
  • Show API key source for env vars and wp-config constants. (76266)
  • Fix RTL styling on AI plugin callout banner. (76497)
  • Fix RTL styling on Connectors, Font Library, and boot-based admin pages. (76496)

Components

  • Compose: Implement useCopyToClipboard and useCopyOnClick with native clipboard API.
    (75723)
  • Fix token fallback plugins breaking JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. strings with quoted font names. (76254)
  • InputLayout.Slot: Forward className prop. (76459)
  • Menu: Fix RadioItem controlled checked state. (76041)
  • Revert โ€œButton: Add word-break: Break-wordโ€œ. (76230)
  • TimePicker: Clamp month day to valid day for month. (76400)
  • useMediaQuery: Support in-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. queries via new WindowContext. (76446)

Block Editor

  • Block Bindings: Remove source items constrained by enums. (76200)
  • Fix HEIC upload error handling and sub-size format. (76514)
  • Navigation Editor: Allow any blocks to be inserted by gating contentOnly insertion rules to section blocks.
    (76189)
  • Rename and visibility modals: Gate shortcuts behind canEditBlock to prevent triggering in revisions UI.
    (76168)
  • Fix shortcode conversion when separated by
    tags. (76213)

DataViews

  • Add spinner in DataViewsLayout in initial load of data. (76486)
  • DataForm datetime control: Fix date handling. (76193)
  • Fields: Hide scheduledDateField from the list and filters. (76247)
  • Fix last column classname in table layout. (76133)
  • Fix layout scrolling in constrained-height containers. (76453)

Collaboration

  • Fix list sidebar reset during real-time collaboration. (76025)
  • Fix 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 PR for Gutenberg #75746. (76154)
  • Use apiFetch 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)., allow nonce refresh. (76283)
  • Fix backport changelog for #76060. (76174)
  • Verify client ID to avoid awareness mutation. (76056)
  • Disable RTC in the site editor. (76223)
  • Fix CRDT serialization of nested RichText attributes. (76597)
  • Fix TypeError in areEditorStatesEqual when selection is undefined. (76163)
  • Fix cursor index sync with rich text formatting. (76418)
  • Fix error when entity record doesnโ€™t have โ€˜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.โ€™ property. (76311)
  • Fix performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. on post save. (76370)

Interactivity API

  • Fix router initialization race condition on Safari/Firefox. (76053)
  • Fix crypto.randomUUID crash in non-secure contexts. (76151)
  • Make Window.scheduler required to match DOM lib. (76271)

Site Editor

  • Fix block style variations not rendering in Site Editor Patterns page. (76122)
  • Site Editor > Templates: Fix author filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output.. (76625)

Client Side Media

  • Media: Enable AVIF support for client-side uploads. (76371)
  • Upload Media: Loosen client-side media processing requirements. (76616)

Global Styles

  • Theme_JSON: Prevent implicit coercion in to_ruleset. (76392)
  • Fix block pseudo-state styles incorrectly applied to default state. (76326)

Patterns

  • Block context menu: Context menu not closing for disconnecting unsynced pattern menu items.
    (75405)

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)

  • Connectors: Improve accessibility. (76456)
  • Add word-break property to visually hidden styles to prevent screen reader issues.
    (75539)

Performance

Block Library

  • Add fetchpriority=low to IMG tags in collapsed Accordion Item blocks. (76336)
  • Add fetchpriority=low to IMG tags in collapsed Details blocks. (76269)
  • Duotone: Lazily load settings. (74748)
  • Image: Replace โ€˜getEntityRecordPermissions` with โ€˜canUserโ€™. (76125)
  • Navigation Overlay: Explicitly set fetchpriority for images. (76208)

Data Layer

  • Core Data: Optimize revision selectors. (76043)
  • Revisions: Skip rendered fields 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/ responses. (76347)

Design Tools

  • Block Visibility: Add fetchpriority=auto to IMG tags in blocks with conditional viewport visibility to prevent potential erroneous
    high loading priority. (76302)

Experiments

Post Editor

  • Add experiment: Render the editor inspector with DataForm. (76244)
  • Fields: Add post content information field. (76309)
  • Fields: Add support for classic themes in template. (76441)
  • Template field: Match exactly the behavior of post template panel. (76596)

Site Editor

  • ExtensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Make canvas previews full height. (76201)
  • Move site editor preview CSS to boot package. (76211)
  • Sync some post list changes with Extensible Site Editor. (76243)

Documentation

  • Add Client-Side Navigation documentation to manifest and table of contents.
    (76351)
  • Data: Update documentation for global โ€˜dispatchโ€™ and โ€˜selectโ€™ methods. (76134)
  • Docs: Document controlled/uncontrolled prop naming conventions for @wordpress/ui.
    (76281)
  • RTC: Update sync documentation. (75972)
  • Storybook: Add basic accent color guidance. (76340)
  • Storybook: Redesign Icon library page. (76034)
  • Storybook: Rename โ€œComponents (Deprecated)โ€ to โ€œDeprecatedโ€. (76362)
  • Storybook: Upgrade to 10.2.8. (76403)
  • Theme: Document build plugins in README. (76003)
  • ThemeProvider: Fix tags in Storybook. (76500)
  • Update block registration methods in documentation for WordPress 6.8+. (76324)
  • theme.json schema: Fix pseudo-class definition for button block. (76272)
  • wp-env: Update JSON Schema with missing properties and add README documentation.
    (76115)

Code Quality

  • Boot: Remove manual fallbacks from design token usages. (76414)
  • Fix: Rewrite the license check scripts to use Nodeโ€™s native module resolution.
    (75039)
  • Add Router type export to wordpress/route. (76139)
  • DataForm: Consolidate date and datetime input placement. (76136)

Block Library

  • HTML Block: Remove โ€œunsaved changesโ€ check. (76086)
  • Icon Block: Clean up selectors configuration. (75786)
  • Icons: Fix incorrect icon slug. (76074)
  • Navigation: Use the shared icon rendering functions for all navigation blocks.
    (76372)
  • Playlist: Move getTrackAttributes to utils. (76096)
  • Simplify require statements for navigation files. (76373)

Data Layer

  • Convert data package fully to TS. (76149)
  • Core Data: Fix the list of properties persisted in autosaves. (76451)

Collaboration

  • Move event hooks from editor to core-data. (76358)
  • Replace apiFetch with core-data store selectors. (76333)

Components

  • Admin UI: Use hasPadding prop in Page stories. (76601)
  • Use --wpds-cursor-control design token. (76218)

Post Editor

  • Remove redundant onNavigateToEntityRecord handling. (76523)
  • TemplateContentPanel: Fix useSelect warning. (76421)

Block Editor

  • ESLint: Add use-recommended-components rule. (76222)
  • Editor canvas iframe: Use load event and default body element. (76314)
  • Add end-to-end test for date field in QuickEdit. (76528)
  • Correct input of setIsLoading. (76381)

Tools

Build Tooling

  • Add [Package] UI label to PR labeler configuration. (76411)
  • Add support for linting annotations and other static analysis workflow improvements.
    (76120)
  • CI: Donโ€™t build release notes during plugin build workflow for WP Core sync.
    (76398)
  • CI: Simplify strategy matrix in Build Gutenberg Plugin Zip workflow. (76435)
  • Check for IS_WORDPRESS_CORE before npm_package_config_IS_WORDPRESS_CORE.
    (76334)
  • ESLint: Add bare token check to no-unknown-ds-tokens. (76210)
  • Fix IS_GUTENBERG_PLUGIN env var override in build configuration. (76605)
  • Only run label enforcement workflow on open PRs. (76274)
  • Publish built Gutenberg plugin to the 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/ Container Registry. (75844)
  • Remove function_exists checks from PHP template. (76062)
  • Upgrade actionlint and run linting when composite actions are modified. (76503)
  • Scripts: Relax wordpress/env peer dependency to allow newer versions. (76192)
  • Ensure consistent, repeatable build results when inlining WASM files via wasmInlinePlugin.
    (76113)
  • wp-build: Stop bundling Core packages, generate prerequisites asset instead.
    (75987)
  • ESLint: Broaden no-setting-ds-tokens to all object property keys. (76212)
  • ESLint: Modernize eslint-plugin rule APIs for v10 compatibility. (76507)
  • ESLint: Replace eslint-plugin-ssr-friendly with custom rules. (76508)
  • Include AI tools disclosure in pull request template. (76425)
  • Remove alexstine from codeowners. (76551)
  • Exclude experimental pages from Core builds. (76038)

Testing

  • Auto Cherry-Pick: Fix race condition in workflow trigger. (76083)
  • Fix โ€œshould undo boldโ€ flaky test. (76464)
  • RTC: Fix โ€˜networkidleโ€™ and other end-to-end tests that are flaky. (76214)
  • RTC: Fix post-editor-template-mode end-to-end test. (76209)
  • RTC: Fix tests related to publish undo stack. (76206)
  • Tests: Skip connector logo URL tests when AI Client is unavailable. (76343)
  • Update Node version to v24 for flaky test reporter. (76492)
  • end-to-end Tests: Add connector setup flow tests with test AI provider. (76433)
  • end-to-end Tests: Add coverage for AI plugin callout banner. (76432)
  • end-to-end Tests: Fix flaky autocomplete and mentions test. (76407)

First-time contributors

The following PRs were merged by first-time contributors:

  • @apermo: Fix: Use add_filter() for get_block_type_variations hook. (76297)
  • @chubes4: API Fetch: Respect caller-provided Content-Type in httpV1 middleware. (76285)
  • @kannan-ravi: Add word-break property to visually hidden styles to prevent screen reader issues. (75539)
  • @markusfoo: Interactivity API: Fix router initialization race condition on Safari/Firefox. (76053)
  • @sagarjadhav: HTML & Shortcode: Disable viewport visibility support. (76138)
  • @smithjw1: RTC: Auto-register custom taxonomy rest_base values for CRDT sync. (75983)
  • @wwahammy: Correct input of setIsLoading. (76381)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @adamsilverstein @aduth @alecgeatches @alexstine @Aljullu @andrewserong @annezazu @apermo @aswasif007 @CGastrell @chriszarate @chubes4 @ciampo @Copons @dabowman @desrosj @dhasilva @dlind1 @ellatrix @enejb @getdave @gigitux @gziolo @hbhalodia @huzaifaalmesbah @iamchughmayank @im3dabasia @ingeniumed @jameskoster @jasmussen @jeryj @jorgefilipecosta @jsnajdr @juanmaguitar @kannan-ravi @kraftbj @MaggieCabrera @Mamaduka @manzoorwanijk @markusfoo @mattgrshaw @maxschmeling @mcsf @mikachan @mikejolley @mirka @Mustafabharmal @ntsekouras @oandregal @ockham @pkevan @ramonjd @retrofox @sagarjadhav @scruffian @sgomes @shekharnwagh @shimotmk @simison @smithjw1 @t-hamano @talldan @westonruter @wwahammy @youknowriad @yuliyan

Props to @annezazu for reviewing and @joen for providing the design assets.

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

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