releases.shpreview
Home/WordPress

WordPress

$npx @buildinternet/releases get wordpress
May 8, 2026
WordPress 7.0 Release Candidate 3

The third Release Candidate (“RC3”) for WordPress 7.0 is ready for download and testing!

This version of the WordPress software is under development.** Please do not install, run, or test this version of WordPress on production or mission-critical websites.** Instead, it’s recommended that you evaluate RC3 on a test server and site.

Reaching this phase of the release cycle is an important milestone. As always, testing remains crucial to ensure that everything in WordPress 7.0 is the best it can be.

You can test WordPress 7.0 RC3 in four ways:

PluginInstall and activate the WordPress Beta Tester plugin on a WordPress install. (Select the “Bleeding edge” channel and “Beta/RC Only” stream.)Direct DownloadDownload the RC3 version (zip) and install it on a WordPress website.Command LineUse this WP-CLI command: wp core update --version=7.0-RC3WordPress PlaygroundUse the WordPress Playground instance to test the software directly in your browser.  No setup is required – just click and go! 

The scheduled final release date for WordPress 7.0 is May 20, 2026. The full release schedule can be found here. Your help testing Beta and RC versions is vital to making this release as stable and powerful as possible. Thank you to everyone who helps with testing!

Please continue checking the Make WordPress Core blog for 7.0-related posts in the coming weeks for more information.

What’s in WordPress 7.0 RC3?

Want to look deeper into the details and technical notes for this release? Take a look at the WordPress 7.0 Developer Notes. For technical information related to the 143+ issues addressed since RC2, you can browse the following links:

Note: Real Time Collaboration will not be included in the 7.0 release and will be re-evaluated during the 7.1 release cycle. Because of this, this RC3 version is no longer considered a “new Beta 1”.

How you can contribute

WordPress is open source software made possible by a passionate community of people collaborating on and contributing to its development. The resources below outline various ways you can get involved with the world’s most popular open source web platform, regardless of your technical expertise.

Get involved in testing

Testing for issues is crucial to the development of any software. It’s also a meaningful way for anyone to contribute. Your help testing the WordPress 7.0 RC3 version is key to ensuring that the final release is the best it can be.

This detailed guide will walk you through testing features in WordPress 7.0. 

For those new to testing, follow this general testing guide for more details on getting set up.

If you encounter a potential bug or issue, please report it to the Alpha/Beta area of the support forums or directly to WordPress Trac if you are comfortable writing a reproducible bug report. You can also check your issue against a list of known bugs

Curious about testing releases in general?  Follow along with the testing initiatives in Make Core and join the #core-test channel on Making WordPress Slack.

Update your theme or plugin

For plugin and theme authors, your products play an integral role in extending the functionality and value of WordPress for all users.

Thanks for continuing to test your themes and plugins with the WordPress 7.0 beta releases. If you haven’t yet, make sure to conclude your testing and update the “Tested up to” version in your plugin’s readme file to 7.0.

If you find compatibility issues, please post detailed information to the support forum.

Test on your hosting platforms

Web hosts provide vital infrastructure for supporting WordPress and its users. Testing on hosting systems helps inform the development process while ensuring that WordPress and hosting platforms are fully compatible, free of errors, optimized for the best possible user experience, and that updates roll out to customer sites without issue.

Thank you to the Hosts who helped test variations of new RTC architecture: Kinsta, Bluehost, GoDaddy, WordPress.com, XServer, and Ionos, and to the hosts who participate in distributed testing regularly.

Want to test WordPress on your hosting system? Get started with configuring distributed hosting tests here.

Help translate WordPress

Do you speak a language other than English? ¿Español? Français? Русский? 日本語? हिन्दी? বাংলা? मराठी? ಕನ್ನಡ?  You can help translate WordPress into more than 100 languages. This release milestone (RC3) marks the hard string freeze point of the 7.0 release cycle.

An RC3 haiku

By the tides of sea,

where wind moves gently through trees,

sprouts up RC3.

Props to @desrosj, @peterwilsoncc for proofreading and review.

Changelog

Bug Fixes

Components

  • Style Runtime: Support CSS module style injection across documents. (77965)

Contributors

The following contributors merged PRs in this release:

@mirka

Following the decision to remove real-time collaboration from WordPress 7.0, this post summarizes what the latest hosting test data showed and outlines the recommended storage strategy for future iteration. A huge thank you to every web host that submitted results in response to last week’s call for testing. Submissions came in from eight hosting environments between April 29 and May 4, and analysis of the aggregated, anonymized data is now complete. Based on the results, the recommendation is to use custom-table-with-transients as the default RTC storage strategy for continued testing and future iteration.

As a reminder, four candidate storage strategies for the Real Time Collaboration (“RTC”) feature were tested under load:

  • post-meta — the RC2 baseline.

  • custom-table — a dedicated table for all RTC data.

  • post-meta-transients — post meta for storage with transients for client awareness.

  • custom-table-with-transients — a dedicated table with an object cache-backed awareness (Note: while contributors have been referring to this as a transient approach, it is a convenient short hand rather than a technical description)

The test runner captured per-request REST dispatch time and database query counts during sustained 30-second polling windows. Eight complete captures from a mix of shared, shared-with-Redis, managed-cloud, and no-object-cache environments form the basis of the analysis below.

What the data showed

Across the cohort, custom-table-with-transients was first or tied-first on six of seven complete environments, and was never slower than the RC2 baseline (post-meta approach). On average, the custom-table-with-transients approach was ~52% faster and the purely custom-table approach was ~37% faster than the current implementation. On hosts without a persistent object cache, it landed within 0.05–0.17 ms of plain custom-table—close enough that the two are effectively tied where caching is absent.

Two clean signals showed up in the database query counts during dispatch:

  • With a persistent object cache present, both transient-based strategies dropped to a single database query per dispatch.

  • Independent of caching, the custom-table schema cut the query count roughly in half compared to the post-meta strategies.

custom-table-with-transients wins because it gets the schema reduction when caching is absent, and the cache reduction when it’s present. post-meta-transients, by contrast, is not recommended even as a fallback. It nearly doubles in latency without a persistent cache, and on one no-cache shared environment it exhibited a pathological transient code path that pushed dispatch latency past 26 ms — several times worse than any other strategy on that host.

Recommendation for the future

The recommended storage strategy custom-table-with-transients is considered the best case among the candidates. It wins decisively on environments with a persistent object cache, remains comfortably ahead of the baseline on environments without one, and degrades gracefully across the full spread of hosting tiers represented in the data.

Read the full analysis

The full anonymized analysis—including per-environment dispatch tables, query counts, cross-cuts comparing cache effects, and bootstrap floors—is available here. All submissions remain anonymized in line with the commitment made in the original call for testing.

Summary

The data from this testing window was sufficient to make the call confidently: custom-table-with-transients is the best option forward as the default for real time collaboration. When work resumes after clean up from 7.0, this is the approach best positioned to explore more deeply next.

Thank you again to every host that participated. Your contributions provided the data needed to make this storage recommendation and will help set real-time collaboration up for success across the wide range of environments where WordPress runs. Props to Ionos, BlueHost, Kinsta, XServer, and WordPress.com for their contributions here.

Props to @griffbrad for drafting this post. Props to @dd32 @desrosj @jmdodd @peterwilsoncc @jorbin @4thhubbard for testing, analysis, and review. If I missed your name, please tell me as it’s a mistake and there have been a lot of moving pieces.

#feature-real-time-collaboration

Real-time collaboration will not ship in WordPress 7.0

Today, @matt made the decision to remove real-time collaboration from WordPress 7.0 and shared that he is not confident the current approach is robust enough to include in Core at this time, citing concerns around surface area, race conditions, server load, memory efficiency, and recurring bugs found through fuzz testing.

This is a difficult decision, especially given the amount of work that has gone into the feature, but it is being made in service of shipping a stable and reliable WordPress 7.0 release for our users. Work to remove the feature from the release is being organized in #65205 and in the #feature-realtime-collaboration. At this time, the release schedule remains as is and further updates will be provided if the schedule needs to change to unwind this feature.

Real-time collaboration remains an important and exciting feature for WordPress. Once the immediate release work is complete, a plan will be shared for broader testing and continued iteration to help prepare the feature for a future release. Thank you to everyone who has contributed to this work so far from so many angles.

#7-0, #feature-real-time-collaboration

May 7, 2026
What’s new in Gutenberg 23.1? (07 May)

What’s new in 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 block 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)

Video

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 UI for managing custom taxonomies inside WordPress 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 PHP. 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 filter 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 API 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)

  • Core Data: Remove redundant memoization wrapper from ‘getQueriedItems’. (77483)

  • I18N: Polyfill script module translations for WordPress @danluu](https://profiles.wordpress.org/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

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)
  • Core Data: Remove redundant memoization wrapper from 'getQueriedItems'. (77483)
  • I18N: Polyfill script module translations for WordPress < 7.0. (77214)

Enhancements

  • Storybook: Add global preview styles for @wordpress/ui overlays. (77451)
  • Widgets: Add widget-types data layer. (77752)

Components

  • Admin UI: Add visual prop to Page header 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 WCAG Tabs pattern. (77418)

Block Editor

  • Embed: Restore paragraph with URL 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 API into dedicated /content-guidelines route. (77734)

Bug Fixes

  • Core Abilities: Export initialization promise as ready. (77254)
  • Disable Custom CSS command for non-block themes. (77685)
  • Grid: Fix width: 'fill' when tiles span multiple rows. (77769)
  • Tests: Connectors point to the right page. (77272)
  • Plugin: Gutenberg Experiments: Ensure the experiment is active before outputting flags. (77728)
  • Connectors: Treat network-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 Image: 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 source 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)

Accessibility

  • Revisions: 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 taxonomy management. (77524)
  • Dashboard: Register admin page route + sidebar 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 migration 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 test. (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 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 React 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 trunk. (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)

Tools

Testing

  • Connectors: Stop end-to-end capability restriction from leaking across specs. (77857)
  • Fix PHP multisite 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

May 6, 2026

The next WordPress Developers Chat will take place on Wednesday, May 6, 2026, at 15:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

The various curated agenda sections below refer to additional items. If you have ticket requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.

Announcements

WordPress 7.0

General

Discussions

The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the Core Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.

Open floor  

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.

#7-0, #agenda, #core, #core-privacy, #dev-chat

May 5, 2026

The full chat log is available beginning here on Slack.

WordPress Performance Trac tickets

  • @spacedmonkey asked whether commits to trunk are currently allowed or if only RTC-related changes should be committed. @westonruter clarified that trunk is still frozen, except for 7.0-specific fixes that get back-ported, and testing commits.

@spacedmonkey said they would hold off committing any performance-related changes for now and asked others to ping them if anything needs review or commit.

  • @westonruter added that @pbearne already has a few PRs for testing changes that could be moved forward for commit now, though not performance-related.

  • @pbearne mentioned that there are more PRs to come.

  • @westonruter shared that there is about a 10% regression in TTFB in WordPress 7.0 compared to 6.9, based on benchmarking noticed by @mukesh27. @westonruter mentioned that TTFB-LCP does not show a regression, so this appears to be additional PHP processing slowing things down, but no single cause has stood out yet.

  • @westonruter also shared ticket #65165, which was recently opened, about script modules depending on classic scripts. @westonruter noted that this is related to performance because it can reduce the amount of scripts loaded on the page thanks to dynamic imports, which are non-blocking, and mentioned that the ticket had just come in and had not yet been reviewed in depth.

  • @westonruter further pointed out ticket #64696, which focuses on improving the scalability of real-time collaboration via HTTP polling and its impact on persistent post caches, noting that things seem to have gone a bit quiet on that ticket.

Performance Lab Plugin (and other performance plugins)

  • @westonruter shared that PR #2461 which updates @wordpress/scripts and related packages while fixing backward compatibility issues, is currently top of mind.

Open Floor

  • @westonruter shared a LinkedIn post highlighting that appending tags late in the can be too late for optimal performance if an initial chunk of HTML is sent without those tags, which can happen when a lot of CSS is inlined. @westonruter noted that this is relevant for Optimization Detective, since it currently appends these preload tags to the end of the head.

@westonruter mentioned that HTTP Link headers are also being sent, so in practice this might not be an issue. However, @westonruter pointed out issue #2304, where large Link headers can exceed Nginx limits and cause 502 errors.

Our next chat will be held on Tuesday, May 19, 2026 at 16:00 UTC in the #core-performance channel in Slack.

#core-performance, #hosting, #performance, #performance-chat, #summary

The Block Editor Handbook is one of the primary resources for developers building with Gutenberg and WordPress core. Keeping it accurate and up-to-date as the editor evolves is an ongoing challenge.

Recently, a detailed Core Blocks reference section was proposed for the Handbook — providing structured API documentation for every block shipped in Gutenberg. The approach was to auto-generate these pages directly from each block’s block.json file, the single source of truth for a block’s attributes, supports, and metadata.

The initial pull request (#77350) was merged but subsequently reverted (#77590) due to insufficient community discussion before landing. That feedback was valid, and this post is the next step: bringing the proposal to the wider community before moving forward.

The updated proposal is in PR #77612: Docs — Auto-generate per-block API reference pages from block.json.

The problem

Understanding how a core block works today means reading its source code directly. A block is defined by attributes, supports, context, selectors, and parent/child relationships — but none of these are documented in context for any individual block. To learn about a specific block, a developer has to read its block.json file — which shows the values but does not explain what they mean — and then separately hunt through the general documentation to understand each property. Per-block documentation with contextual links to each concept would close that gap entirely.

The same problem affects LLMs: without documented context for each property, they have to parse source files to infer semantics, spending more tokens and filling context unnecessarily. This is important for AI-assisted creation of templates, template parts, patterns, and other block editor content.

Most of this detail already exists in the codebase. If it can be surfaced automatically, there’s no good reason to leave it buried.

The proposed solution

The proposal introduces an automated pipeline that generates per-block API reference pages by reading each block’s block.json at build time. This means:

  • Every block shipped in Gutenberg automatically gets a documentation page reflecting its current attributes, supports, selectors, and other metadata.

  • Keeping docs in sync becomes a byproduct of keeping block.json accurate — which developers already do.

  • The Block Editor Handbook gains a canonical, always-current API reference for all core blocks.

The generated docs would live at paths like: developer.wordpress.org/block-editor/reference-guides/core-blocks/[block-name]/ and would look like this:

README.md per block in the repository

A key part of the proposal is that documentation is generated into a README.md file inside each block’s source directory — for example, packages/block-library/src/paragraph/README.md.

This follows the same convention already established for component documentation, where gen-components-docs generates a README.md inside each component’s directory at packages/components/src/{component}/README.md.

Having documentation live next to the code has a specific benefit: it allows hand-written narrative and auto-generated API reference to coexist in the same file. Generated content is wrapped in token delimiters (``), so any hand-written prose above the token is preserved across regenerations. The Navigation block README is a working example of this.

This mirrors the approach already used by the package API docs generator (update-api-docs.js) to document each package API inside each package README.md.

What this means for contributors

For block developers

  • No separate docs PR is needed when you add or change a block.json attribute — the reference page updates automatically.

  • The README.md lives next to the block’s source, making the API surface discoverable when browsing the codebase.

  • The expectation for what constitutes “well-documented” becomes clearer and more tractable.

For documentation contributors

  • A reliable, auto-generated foundation means energy can be focused on narrative guides and tutorials rather than maintaining API reference tables.

  • Custom hand-written explanations in a block’s README.md are preserved across regenerations, so narrative docs and API reference can grow independently.

  • Having a public view of block documentation may encourage contributors to get involved by creating issues or PRs if they find errors.

For users of the Handbook

  • Reference pages stay current with each Gutenberg release rather than drifting behind.

Open questions — we want your input

  • README.md in the repo vs. the docs site: Should per-block README.md files live in the Gutenberg repository, or be generated solely at the docs site level (as PHP references currently are)?

  • Process fit: Does auto-generating docs from block.json fit naturally into the existing contribution workflow? Where might it break down?

  • block.json as source of truth: Are there things about a block that can’t or shouldn’t be derived from block.json? How should those gaps be handled?

  • Anything we’re missing: What challenges or risks hasn’t this proposal addressed?

Get involved

Review the PR: #77612 — Docs: Auto-generate per-block API reference pages from block.json

Share feedback:

  • Comment on this post

  • Comment directly in the pull request discussion

Join the conversation live: We’ll be hosting a Hallway Hangout with Docs and Core team members approximately two weeks after this post. Details will be shared in the comments — watch this post if you’d like to join. The Meeting link will be shared in the #core-editor channel the day of the Hallway Hangout.

Timeline

Milestone****DateFeedback period opens5th MayHallway Hangout18th May – 14:00 UTCFeedback period closes25th MayNext steps announcedShortly after close

Feedback collected from the community will help refine the proposal and inform next steps for implementation.

Props to @bph, @huzaifaalmesbah and @awetz583 for reviewing this post

#block-editor-handbook, #block-editor, #blocks, #docs, #handbooks

The next WordPress Developers Chat will take place on Wednesday, April 29, 2026, at 15:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

The various curated agenda sections below refer to additional items. If you have ticket requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.

Announcements

WordPress 7.0

General

Discussions

The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the Core Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.

  • WordPress 7.0 is currently on track for May 20th. Temperature check: How are folks feeling?

Open floor  

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.

Props to @kirasong for proofreading and review

#7-0, #agenda, #core, #core-privacy, #dev-chat

Apr 27, 2026

The Presence API is an experimental feature plugin that provides a system-wide awareness layer — who is logged in, what admin screens they are on, and which posts they are editing.

This idea of presence I think is really cool and seeing where people are… you log into your WordPress, I see oh Matias is moderating some comments, Lynn is on the dashboard maybe reading some news… that idea of like you log in and you can kind of see the neighborhood of like who else is also there.

Matt Mullenweg, WordPress 7.0 planning session

Problems this aims to solve

  • There is currently no way to see who else is logged into the WordPress admin at the same time.

  • Posts being actively edited by another user are only surfaced when a lock collision occurs, by which point work may already overlap.

  • The post list provides no indication of which posts have active editors until a user tries to open one.

Here’s what that looks like in practice:

Video

Try it yourself in WordPress Playground: 5-user blueprint. The blueprint creates 5 editor accounts with live presence spread across admin screens and posts, so the widgets, admin bar, and post list are populated the moment Playground boots — no second browser or incognito window needed.

See it at scale: 40-user blueprint. Same setup, 40 seeded editors — useful for seeing how the widgets, admin bar, and post list handle density.

What the plugin provides

  • Dashboard widgets: “Who’s Online” and “Active Posts”

  • Admin bar online indicator with avatar stack for on-screen presence

  • Post list “Editors” column

  • Users list “Online” filter

  • REST endpoints and WP-CLI commands

  • Post-lock bridge (coexists with existing _edit_lock behavior)

All features are gated on the edit_posts capability. Full technical details are in the GitHub repository.

Background

During WordPress 7.0 development, discussion in #64696 identified that storing high-frequency ephemeral data in shared tables causes persistent cache invalidation site-wide. This feature plugin was built to test that workload independently using a dedicated ephemeral data table with a 60-second TTL. Data flows through the existing Heartbeat API. The plugin was presented at a core dev chat and subsequently transferred to the WordPress GitHub organization. It was submitted to the WordPress.org plugin directory on April 6, 2026.

Feedback welcome

This plugin is experimental. Feedback on the following is especially helpful:

  • Are the UI surfaces (widgets, admin bar, post list) useful as presented?

  • Are there admin screens or workflows where presence would be valuable?

Discussion and development: #feature-presence-api on WordPress Slack

Bug reports and discussion: GitHub Issues

Thank you to @jorbin and @desrosj for helping to stand up this feature plugin.

Props @peterwilsoncc, @mindctrl, @czarate, @davidbaumwald, @dd32, @maxschmeling, and @westonruter for the architectural discussion in #64696 that informed this work.

#performance, #presence-api

Apr 24, 2026

Changelog

Bug Fixes

Guidelines

  • Drop default_term from wp_guideline_type taxonomy. (77592)

Contributors

The following contributors merged PRs in this release:

@gziolo

Apr 22, 2026
What&#8217;s new in Gutenberg 23.0? (22 April)

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

Gutenberg 23.0 has been released and is available for download!

This release introduces a revisions panel for templates, template parts, and patterns (experimental), and extends the Site Editor’s Design › Identity panel with Site Title and Site Tagline fields, completing the set alongside the previously added Site Logo and Icon. Real-time collaboration gains compatibility with legacy meta boxes and a range of reliability improvements, while the block editor receives several quality-of-life refinements.

A total of 174 PRs were merged in Gutenberg 23.0, with 8 first-time contributors.

Table of contents

Enhancements

Revisions panel in templates, template parts, and patterns (experimental)

Editing a template, template part, or pattern now surfaces the same Revisions panel previously available only for posts and pages. When any of these entities has revisions, a Revisions row appears in the sidebar with access to review and restore prior versions, matching the behavior already in place for regular post types.

This is part of the ongoing Editor Inspector: Use DataForm experiment, which is progressively rolling out a unified DataForm-based inspector across all post types. Enable the experiment from Gutenberg → Experiments to try it in the Site Editor or while editing a template from the Post Editor. (#77008)

Site Title and Site Tagline in the Design › Identity panel

The Design › Identity panel — introduced in 22.8 with Site Logo and Site Icon — now also includes Site Title and Site Tagline. All four identity settings sit in a single panel, editable directly from the Site Editor without a trip to Settings → General. Because the title and tagline fields write to the same root/site entity that the Site Title and Site Tagline blocks read from, edits show up live in the editor canvas as you type. The panel uses consistent field styling across text and media controls, so the four settings read as one unified form. (#76264)

Other Notable Highlights

  • Real-time Collaboration, legacy meta box compatibility. Plugin authors can now mark individual meta boxes as RTC-compatible using a new __rtc_compatible_meta_box flag, so the presence of a legacy meta box no longer unconditionally disables collaboration. Site administrators can also apply the flag to third-party meta boxes via the existing filter_block_editor_meta_boxes hook. (#76939)

  • Real-time Collaboration, reliability. Concurrent edits to array-type block attributes — such as table rows — are now preserved when the array is restructured (#77164). A single corrupted sync update no longer crashes the whole poll cycle and disconnects every room (#76968). Gutenberg’s activation hook now honors the Core WP_ALLOW_COLLABORATION constant, giving hosts a reliable kill switch (#77084).

  • Keyboard shortcuts for moving blocks surface in tooltips. The block toolbar’s move-up / move-down tooltips now display their keyboard shortcuts. (#76992)

  • Spacing side controls re-order when unlinked. When link mode is off, the four side inputs are arranged in a more predictable order. (#66317)

  • Separator block honors the --- shortcut’s default variation. Inserting a Separator via the Markdown-style --- shortcut now applies the block’s default style variation, matching the behavior of inserting it through the inserter. (#77135)

Note for users of the Guidelines experiment

If you had the Guidelines experiment enabled in a previous release, 23.0 renames its internal identifiers from content-guidelines / content_guideline to guidelines / guideline. The rename covers the custom post type slug, REST base, meta keys, experiment flag, and Redux store. Because the experiment flag itself is renamed, it will appear disabled after updating — you’ll need to re-enable it from Gutenberg → Experiments and re-enter any previously saved guidelines. (#77147, #77223)

Changelog

Enhancements

Components

  • wordpress/ui: Add global CSS defense module. (76783)

  • Admin UI: Increase page header vertical padding. (77152)

  • Admin UI: Update Page background color to surface-neutral. (76869)

  • Autocomplete: Remove getAutoCompleterUI factory pattern. (77048)

  • DataForm: Add min/max date range support for date and datetime fields. (77201)

  • DataForm: Show tooltip in edit button in panel layout. (77024)

  • DataForm: Support disabled controls. (77090)

  • FormToggle: Update disabled styles. (77208)

  • Media Upload Modal: Persist view configuration. (77288)

  • Text: Remove UA margins. (76970)

  • UI Text: Mark as recommended. (77044)

  • UI/Dialog: Add explicit margin-inline-end rule to Title. (77334)

  • UI: Update @base-ui/react from 1.3.0 to 1.4.0. (77308)

  • UI: Use Text component for Badge typography. (77295)

  • Use --wpds-cursor-control design token for interactive controls. (76786), (77259)

  • @wordpress/ui: Add Popover. (76438)

  • ui/AlertDialog: Better async confirm APIs, fully use base ui’s AlertDialog. (76937)

  • ui/Dialog: Update Header layout, refactor Title to use Text. (77161)

  • ui: Expose container portal prop on all overlay Popup components. (77163)

Block Library

  • Add context for next/previous enlarge image. (76967)

  • Image block: Validate attachment ID exists before treating image as local. (77178)

  • Search Block: Ensure color settings apply to input field when button is disabled. (77219)

  • Tab Menu Item: Simplify active tab menu item style. (77195)

  • Tabs: Remove sequential numbering from new tab labels. (77321)

  • Use entity link title for link control preview. (77155)

Guidelines

  • Guidelines CPT: Rename from “content guidelines” to “guidelines” (slug, classes, routes). (77147), (77223)

  • Guidelines: Make the CPT type-aware. (77491)

  • Improve guideline revision UX. (76560)

  • Registers wp_guideline_type taxonomy. (77156)

  • Update actions-section and import/export workflow. (76621)

Post Editor

  • DataViews: Simplify defaultLayouts prop. (77232)

  • RTC: Add filterable flag for meta box RTC compatibility. (76939)

  • RTC: Change SyncConnectionModal to isSyncConnectionErrorHandled filter and drop IS_GUTENBERG_PLUGIN check. (76853)

Block Editor

  • Display shortcuts for moving blocks via tooltips. (76992)

  • Re-order spacing side controls when unlinked. (66317)

Connectors

  • Update the AI plugin settings page slug we link to after activation. (77336)

DataViews

  • Classify admin-ui and dataviews to components. (76959)

Global Styles

  • Renamed focus visible label. (77292)

REST API

  • Add date field in templates and template parts. (77134)

Media

  • Media Modal Experiment: Set matching picker grid layout properties for when a user switches layouts. (77118)

Collaboration

  • Backport: Improve validation and permission checks for WP_HTTP_Polling_Sync_Server. (76987)

  • RTC: Add optional shouldSync function to entity sync configuration. (76947)

  • RTC: Respect WP_ALLOW_COLLABORATION in Gutenberg for activation hook. (77084)

Site Editor

  • Add Site Tagline and Site Title to Design > Identity panel. (76264)

Bug Fixes

Components

  • Calendar: Fix disabled styles. (77138)

  • Card: Set default foreground color on root. (77013)

  • Checkbox: Fix disabled styles. (77132)

  • DataForm: Remove text-transform from panel field labels. (77196)

  • DataViews: Fix compact density clipping and remove top/bottom padding. (77054)

  • Fix autocomplete overlapping trigger matching. (77018)

  • FormTokenField: Fix disabled styles. (77137)

  • RTC: Fix inline inserter reset on update sync. (76980)

  • RadioControl: Add support for disabling radio group. (77127)

  • Remove sandbox allow-same-origin for core/html blocks. (77212)

  • TextArea: Add disabled styles. (77129)

  • UI: Normalize render prop and ref forwarding patterns. (77160)

Block Library

  • Cover block: Fix embed video background Error 153 in editor. (76904)

  • Fix overflow of highlighted white-space in Code Block. (77085)

  • Image block: Hide drag handles while an upload is in progress. (77121)

  • Paragraph: Prevent onEnter splitting of parent block when insertion of that block type is not allowed. (77291)

  • Post Author Biography: Preserve occurrence of white spaces. (71133)

  • RTC: Core/cover block minor compatibility fixes. (76916)

  • Search block: Match behavior of global styling for border and color with local styling (inspector controls) to remove inconsistency. (77060)

  • Search block: Derive ‘isSearchFieldHidden’ value. (77082)

  • Separator Block: Apply default block variation when inserting via --- shortcut. (77135)

  • Upload external media: Ensure notice only fires once. (77218)

Block Editor

  • Fix SyntaxError in Autocompleter UI when pasting matching content. (76961)

  • LinkPicker: Decode HTML entities in link preview title. (77170)

  • Prevent Enter key from inserting paragraphs in contentOnly sections. (76989)

  • RTC: Fix “Edit as HTML” content reset during collaboration. (77043)

  • Writing Flow: Fix format toolbar not appearing when selecting text from block edge. (77136)

  • contentOnly template lock: Fix block insertion and removal rules. (77119)

  • Fix numeric value clearing in preset input controls. (77139)

Guidelines

  • Guidelines CPT: Skip registration when post type already exists. (77486)

Data Layer

  • Core Data: Fix ‘useEntityProp’ for raw attributes. (77120)

  • Core Data: Fix incorrect pagination for non-paginated entities. (76406)

  • RTC: Fix core/table cell merging. (76913)

  • RTC: Fix orphaned meta causing dirty editor state. (77529)

  • RTC: Improve array attribute stability when structural changes occur. (77164)

  • getMergedItemsIds: Receive full page bigger than perPage. (77262)

Connectors

  • Account for mu-plugins when resolving plugin.file status. (76994)

  • Don’t clobber third-party custom render in registerDefaultConnectors. (77116)

  • Hide Akismet unless already installed. (76962)

  • Replace speak() with notice store for state changes. (77174)

  • Update help text from ‘reset’ to ‘manage’. (76963)

Post Editor

  • Fields: Fix postContentInfoField when there are edits. (76901)

  • Fix: Restore editor canvas padding in classic themes. (76864)

  • RTC: Fix button flickering on retry dialog. (77234)

  • RTC: Predefined retry schedules for disconnect dialog, make more lenient. (76966)

  • Revision: Fix ‘Show changes’ button reset state. (77122)

Collaboration

  • Fix failing ‘WP_HTTP_Polling_Sync_Server’ unit test. (77025)

  • RTC: Fix disconnect dialog due to uneditable entity. (77242)

  • RTC: Isolate sync update failures to prevent full disconnect. (76968)

Global Styles

  • Fix duotone filter not applying on style variation switch. (77229)

  • Global Styles Revisions: Fix footer overflow. (77103)

DataViews

  • Fix Gutenberg_REST_View_Config_Controller_7_1 PHP warnings. (77290)

Patterns

  • Fix custom category in site editor not displaying pattern actions. (77251)

Media

  • MediaEdit: Handle ‘*’ wildcard in validateMimeType. (77168)

Client Side Media

  • Use image.copyMemory() for batch thumbnail generation. (76979)

Accessibility

Components

  • ValidatedRangeControl: Fix aria-label rendered as [object Object]. (77042)

Performance

Post Editor

  • Autocompleters: Move and improve links search. (76995)

Client Side Media

  • Add performance metrics for client-side media processing. (76792)

Experiments

Post Editor

  • Add revisions panel to templates, template parts and patterns. (77008)

Documentation

  • Add missing documentation in collaboration.php. (77173)

  • Autocomplete: Clarify ‘isDebounced’ setting limitation. (77062)

  • Docs: Add README for DatePicker and TimePicker Components. (70365)

  • Editor: Fix ‘selectedNote’ action JSDoc. (77080)

  • Eslint: Suggest alternative in no-setting-ds-tokens rule. (77154)

  • Fix: A sentence has no ending punctuation in README.md file. (77027)

  • HStack, VStack: Mark as not recommended for use. (77041)

  • Improve CSS setup instructions in package readmes. (76975)

  • Storybook: Enable theming toolbar for wp-components. (77038)

  • Storybook: Fix “Default” cursor option in theming toolbar. (77037)

  • UI/Tooltip: Add usage guidelines documentation. (77158)

  • UI: Use Link component in details story example. (76997)

  • iAPI Docs: Fix typos, code errors, and inaccuracies in the documentation. (76636)

  • ui/docs: Add additional global css setup instructions. (77228)

Code Quality

  • TypeScript: Migrate a11y package to TS. (70680)

Components

  • Add .scss files to CSS module linting. (77140)

  • Block Directory: Use --wpds-cursor-control design token. (77330)

  • Autocomplete: Refactor useAutocomplete to use useReducer. (77020)

  • BoxControl: Remove unused state for icon side. (77143)

  • Build Tools: Update TypeScript to 6.0.2. (77010)

  • Button: Remove obsolete Safari + VoiceOver workaround. (77107)

  • Button: Remove unused Storybook stylesheet. (77031)

  • Dataviews: Remove unneeded ref callbacks. (77179)

  • Extract the autocomplete matcher into a separate function. (76957)

  • FormTokenField: Remove unnecessary styles. (77263)

  • Textarea: Remove unnecessary styles. (77221)

  • Theme: Rename typography tokens to use “typography” prefix. (76912)

  • Update React function names for better ESLint detection. (77148)

  • i18n: Make sprintf return FormattedText for type-safe createInterpolateElement. (76974)

  • ui/Card: Remove redundant margin reset from Card.Title. (77187)

  • ui/VisuallyHidden: Standardize composition pattern. (77190)

Block Editor

  • Block Editor store: Refactor controlledInnerBlocks to Set. (77094)

  • Global Styles: Move pseudo-state slicing logic into useStyle hook. (77104)

  • BlockMover: Remove unused disabled button props. (76993)

  • Extract getElementCSSRules from useBlockProps. (77327)

  • updateBlockListSettings: Convert state to Map, do all updates in one action. (46392)

Post Editor

  • BlockStyleVariationOverridesWithConfig: Change name and fix lint errors. (77130)

  • ESLint plugin: Disable jsx-a11y/heading-has-content. (77073)

  • Edit Post: Fix warning in ‘useMetaBoxInitialization’ hook. (77311)

  • RTC: Store metaboxes RTC-compatible flag on location entries. (77361)

  • Revisions: Simplify fetching. (77086)

Block Library

  • Tabs: Simplify anchor handling. (77189)

  • TypeScript: Migrate packages/list-reusable-blocks package to TypeScript. (70518)

  • TypeScript: Migrate viewport package. (71118)

Data Layer

  • Remove remaining esModuleInterop usage. (77095)

  • Blocks: Convert blocks package to TypeScript. (76312)

Guidelines

  • Remove jsxRuntime pragma. (77255)

Icons

  • Override WP_Icons_Registry singleton with Gutenberg icons registry. (76455)

Annotations

  • TypeScript: Migrate annotations package to TS. (70602)

Tools

Testing

  • Autocomplete: Fix flaky end-to-end tests. (77322)

  • E2E Tests: Ensure artifacts generate correctly and remove unnecessary artifacts. (77093)

  • Fix page.waitForFunction call arguments in e2e tests. (77300)

  • Guidelines: Add end-to-end tests based on the Settings page testing instructions. (77192)

  • Remove ‘Home’ and ‘End’ key usage from Navigation tests. (77102)

  • Restore original template registration tests alongside activation variants. (77068)

  • Tests: Auto-fix some new ‘eslint-plugin-playwright’ warnings. (77314)

  • Tests: Fix workspace test scripts (wp-env not found, argument forwarding). (77055), (77083)

Build Tooling

  • Add iteration issue template. (77113)

  • Build: Fix glob ignore patterns in dot-prefixed directories. (75114)

  • Convert directories in test/ to workspaces. (74684)

  • Env: Fix loopback requests when running on non-default ports. (77057)

  • Fix lint-staged API documentation path. (77203)

  • Resolve package-lock.json inconsistency for @babel/eslint-parser. (77256)

  • Storybook: Fix end-to-end subpath exports and add CI build smoke test. (77034)

  • Refactor: Migrate bin/api-docs to tools/api-docs as workspace @wordpress/api-docs-generator. (77019)

  • Upgrade ESLint to v10. (76654)

Data Layer

  • Fix pre-existing lint errors across the codebase. (77002)

  • Remove unused catch block variables across the codebase. (76969)

First-time contributors

The following PRs were merged by first-time contributors:

  • @DarkMatter-999: Fix numeric value clearing in preset input controls. (77139)

  • @dkotter: Update the AI plugin settings page slug we link to after activation. (77336)

  • @dpmehta: Search block: Match behavior of global styling for border and color with local styling (inspector controls) to remove inconsistency. (77060)

  • @mehrazmorshed: Fix: A sentence has no ending punctuation in README.md file. (77027)

  • @prachigarg19: Fix duotone filter not applying on style variation switch. (77229)

  • @samvaidya: Image block: Validate attachment ID exists before treating image as local. (77178)

  • @sandipr942: Added missing documentation in collaboration.php. (77173)

  • @superdav42: Connectors: Don’t clobber third-party custom render in registerDefaultConnectors. (77116)

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @Adi-ty @aduth @alecgeatches @andrewserong @annezazu @aswasif007 @BugReportOnWeb @CGastrell @chriszarate @ciampo @coderGtm @DAreRodz @DarkMatter-999 @dinhtungdu @dkotter @dpmehta @ellatrix @gziolo @hbhalodia @iamchughmayank @Infinite-Null @ingeniumed @jameskoster @jeryj @jorgefilipecosta @jsnajdr @kushagra-goyal-14 @madhusudhand @MaggieCabrera @Mamaduka @manzoorwanijk @mehrazmorshed @mirka @nerrad @ntsekouras @oandregal @prachigarg19 @R1shabh-Gupta @ramonjd @samvaidya @sandipr942 @scruffian @shail-mehta @Shekhar0109 @shrivastavanolo @superdav42 @Swanand01 @t-hamano @talldan @tyxla @USERSATOSHI @yashjawale @yogeshbhutkar

Changelog

Enhancements

Components

  • @wordpress/ui: Add global CSS defense module. (76783)
  • Admin UI: Increase page header vertical padding. (77152)
  • Admin UI: Update Page background color to surface-neutral. (76869)
  • Autocomplete: Remove getAutoCompleterUI factory pattern. (77048)
  • DataForm: Add min/max date range support for date and datetime fields. (77201)
  • DataForm: Show tooltip in edit button in panel layout. (77024)
  • DataForm: Support disabled controls. (77090)
  • FormToggle: Update disabled styles. (77208)
  • Media Upload Modal: Persist view configuration. (77288)
  • Text: Remove UA margins. (76970)
  • UI Text: Mark as recommended. (77044)
  • UI/Dialog: Add explicit margin-inline-end rule to Title. (77334)
  • UI: Update @base-ui/react from 1.3.0 to 1.4.0. (77308)
  • UI: Use Text component for Badge typography. (77295)
  • Use --wpds-cursor-control design token for interactive controls. (76786), (77259)
  • @wordpress/ui: Add Popover. (76438)
  • ui/AlertDialog: Better async confirm APIs, fully use base ui's AlertDialog. (76937)
  • ui/Dialog: Update Header layout, refactor Title to use Text. (77161)
  • ui: Expose container portal prop on all overlay Popup components. (77163)

Block Library

  • Add context for next/previous enlarge image. (76967)
  • Image block: Validate attachment ID exists before treating image as local. (77178)
  • Search Block: Ensure color settings apply to input field when button is disabled. (77219)
  • Tab Menu Item: Simplify active tab menu item style. (77195)
  • Tabs: Remove sequential numbering from new tab labels. (77321)
  • Use entity link title for link control preview. (77155)

Guidelines

  • Guidelines CPT: Rename from "content guidelines" to "guidelines" (slug, classes, routes). (77147), (77223)
  • Guidelines: Make the CPT type-aware. (77491)
  • Improve guideline revision UX. (76560)
  • Registers wp_guideline_type taxonomy. (77156)
  • Update actions-section and import/export workflow. (76621)

Post Editor

  • DataViews: Simplify defaultLayouts prop. (77232)
  • RTC: Add filterable flag for meta box RTC compatibility. (76939)
  • RTC: Change SyncConnectionModal to isSyncConnectionErrorHandled filter and drop IS_GUTENBERG_PLUGIN check. (76853)

Block Editor

  • Display shortcuts for moving blocks via tooltips. (76992)
  • Re-order spacing side controls when unlinked. (66317)

Connectors

  • Update the AI plugin settings page slug we link to after activation. (77336)

DataViews

  • Classify admin-ui and dataviews to components. (76959)

Global Styles

  • Renamed focus visible label. (77292)

REST API

  • Add date field in templates and template parts. (77134)

Media

  • Media Modal Experiment: Set matching picker grid layout properties for when a user switches layouts. (77118)

Collaboration

  • Backport: Improve validation and permission checks for WP_HTTP_Polling_Sync_Server. (76987)
  • RTC: Add optional shouldSync function to entity sync configuration. (76947)
  • RTC: Respect WP_ALLOW_COLLABORATION in Gutenberg for activation hook. (77084)

Site Editor

  • Add Site Tagline and Site Title to Design > Identity panel. (76264)

Bug Fixes

Components

  • Calendar: Fix disabled styles. (77138)
  • Card: Set default foreground color on root. (77013)
  • Checkbox: Fix disabled styles. (77132)
  • DataForm: Remove text-transform from panel field labels. (77196)
  • DataViews: Fix compact density clipping and remove top/bottom padding. (77054)
  • Fix autocomplete overlapping trigger matching. (77018)
  • FormTokenField: Fix disabled styles. (77137)
  • RTC: Fix inline inserter reset on update sync. (76980)
  • RadioControl: Add support for disabling radio group. (77127)
  • Remove sandbox allow-same-origin for core/html blocks. (77212)
  • TextArea: Add disabled styles. (77129)
  • UI: Normalize render prop and ref forwarding patterns. (77160)

Block Library

  • Cover block: Fix embed video background Error 153 in editor. (76904)
  • Fix overflow of highlighted white-space in Code Block. (77085)
  • Image block: Hide drag handles while an upload is in progress. (77121)
  • Paragraph: Prevent onEnter splitting of parent block when insertion of that block type is not allowed. (77291)
  • Post Author Biography: Preserve occurrence of white spaces. (71133)
  • RTC: Core/cover block minor compatibility fixes. (76916)
  • Search block: Match behavior of global styling for border and color with local styling (inspector controls) to remove inconsistency. (77060)
  • Search block: Derive 'isSearchFieldHidden' value. (77082)
  • Separator Block: Apply default block variation when inserting via --- shortcut. (77135)
  • Upload external media: Ensure notice only fires once. (77218)

Block Editor

  • Fix SyntaxError in Autocompleter UI when pasting matching content. (76961)
  • LinkPicker: Decode HTML entities in link preview title. (77170)
  • Prevent Enter key from inserting paragraphs in contentOnly sections. (76989)
  • RTC: Fix "Edit as HTML" content reset during collaboration. (77043)
  • Writing Flow: Fix format toolbar not appearing when selecting text from block edge. (77136)
  • contentOnly template lock: Fix block insertion and removal rules. (77119)
  • Fix numeric value clearing in preset input controls. (77139)

Guidelines

  • Guidelines CPT: Skip registration when post type already exists. (77486)

Data Layer

  • Core Data: Fix 'useEntityProp' for raw attributes. (77120)
  • Core Data: Fix incorrect pagination for non-paginated entities. (76406)
  • RTC: Fix core/table cell merging. (76913)
  • RTC: Fix orphaned meta causing dirty editor state. (77529)
  • RTC: Improve array attribute stability when structural changes occur. (77164)
  • getMergedItemsIds: Receive full page bigger than perPage. (77262)

Connectors

  • Account for mu-plugins when resolving plugin.file status. (76994)
  • Don't clobber third-party custom render in registerDefaultConnectors. (77116)
  • Hide Akismet unless already installed. (76962)
  • Replace speak() with notice store for state changes. (77174)
  • Update help text from 'reset' to 'manage'. (76963)

Post Editor

  • Fields: Fix postContentInfoField when there are edits. (76901)
  • Fix: Restore editor canvas padding in classic themes. (76864)
  • RTC: Fix button flickering on retry dialog. (77234)
  • RTC: Predefined retry schedules for disconnect dialog, make more lenient. (76966)
  • Revision: Fix 'Show changes' button reset state. (77122)

Collaboration

  • Fix failing 'WP_HTTP_Polling_Sync_Server' unit test. (77025)
  • RTC: Fix disconnect dialog due to uneditable entity. (77242)
  • RTC: Isolate sync update failures to prevent full disconnect. (76968)

Global Styles

  • Fix duotone filter not applying on style variation switch. (77229)
  • Global Styles Revisions: Fix footer overflow. (77103)

DataViews

  • Fix Gutenberg_REST_View_Config_Controller_7_1 PHP warnings. (77290)

Patterns

  • Fix custom category in site editor not displaying pattern actions. (77251)

Media

  • MediaEdit: Handle '*' wildcard in validateMimeType. (77168)

Client Side Media

  • Use image.copyMemory() for batch thumbnail generation. (76979)

Accessibility

Components

  • ValidatedRangeControl: Fix aria-label rendered as [object Object]. (77042)

Performance

Post Editor

  • Autocompleters: Move and improve links search. (76995)

Client Side Media

  • Add performance metrics for client-side media processing. (76792)

Experiments

Post Editor

  • Add revisions panel to templates, template parts and patterns. (77008)

Documentation

  • Add missing documentation in collaboration.php. (77173)
  • Autocomplete: Clarify 'isDebounced' setting limitation. (77062)
  • Docs: Add README for DatePicker and TimePicker Components. (70365)
  • Editor: Fix 'selectedNote' action JSDoc. (77080)
  • Eslint: Suggest alternative in no-setting-ds-tokens rule. (77154)
  • Fix: A sentence has no ending punctuation in README.md file. (77027)
  • HStack, VStack: Mark as not recommended for use. (77041)
  • Improve CSS setup instructions in package readmes. (76975)
  • Storybook: Enable theming toolbar for wp-components. (77038)
  • Storybook: Fix "Default" cursor option in theming toolbar. (77037)
  • UI/Tooltip: Add usage guidelines documentation. (77158)
  • UI: Use Link component in details story example. (76997)
  • iAPI Docs: Fix typos, code errors, and inaccuracies in the documentation. (76636)
  • ui/docs: Add additional global css setup instructions. (77228)

Code Quality

  • TypeScript: Migrate a11y package to TS. (70680)

Components

  • Add .scss files to CSS module linting. (77140)
  • Block Directory: Use --wpds-cursor-control design token. (77330)
  • Autocomplete: Refactor useAutocomplete to use useReducer. (77020)
  • BoxControl: Remove unused state for icon side. (77143)
  • Build Tools: Update TypeScript to 6.0.2. (77010)
  • Button: Remove obsolete Safari + VoiceOver workaround. (77107)
  • Button: Remove unused Storybook stylesheet. (77031)
  • Dataviews: Remove unneeded ref callbacks. (77179)
  • Extract the autocomplete matcher into a separate function. (76957)
  • FormTokenField: Remove unnecessary styles. (77263)
  • Textarea: Remove unnecessary styles. (77221)
  • Theme: Rename typography tokens to use "typography" prefix. (76912)
  • Update React function names for better ESLint detection. (77148)
  • i18n: Make sprintf return FormattedText for type-safe createInterpolateElement. (76974)
  • ui/Card: Remove redundant margin reset from Card.Title. (77187)
  • ui/VisuallyHidden: Standardize composition pattern. (77190)

Block Editor

  • Block Editor store: Refactor controlledInnerBlocks to Set. (77094)
  • Global Styles: Move pseudo-state slicing logic into useStyle hook. (77104)
  • BlockMover: Remove unused disabled button props. (76993)
  • Extract getElementCSSRules from useBlockProps. (77327)
  • updateBlockListSettings: Convert state to Map, do all updates in one action. (46392)

Post Editor

  • BlockStyleVariationOverridesWithConfig: Change name and fix lint errors. (77130)
  • ESLint plugin: Disable jsx-a11y/heading-has-content. (77073)
  • Edit Post: Fix warning in 'useMetaBoxInitialization' hook. (77311)
  • RTC: Store metaboxes RTC-compatible flag on location entries. (77361)
  • Revisions: Simplify fetching. (77086)

Block Library

  • Tabs: Simplify anchor handling. (77189)
  • TypeScript: Migrate packages/list-reusable-blocks package to TypeScript. (70518)
  • TypeScript: Migrate viewport package. (71118)

Data Layer

  • Remove remaining esModuleInterop usage. (77095)
  • Blocks: Convert blocks package to TypeScript. (76312)

Guidelines

  • Remove jsxRuntime pragma. (77255)

Icons

  • Override WP_Icons_Registry singleton with Gutenberg icons registry. (76455)

Annotations

  • TypeScript: Migrate annotations package to TS. (70602)

Tools

Testing

  • Autocomplete: Fix flaky end-to-end tests. (77322)
  • E2E Tests: Ensure artifacts generate correctly and remove unnecessary artifacts. (77093)
  • Fix page.waitForFunction call arguments in e2e tests. (77300)
  • Guidelines: Add end-to-end tests based on the Settings page testing instructions. (77192)
  • Remove 'Home' and 'End' key usage from Navigation tests. (77102)
  • Restore original template registration tests alongside activation variants. (77068)
  • Tests: Auto-fix some new 'eslint-plugin-playwright' warnings. (77314)
  • Tests: Fix workspace test scripts (wp-env not found, argument forwarding). (77055), (77083)

Build Tooling

  • Add iteration issue template. (77113)
  • Build: Fix glob ignore patterns in dot-prefixed directories. (75114)
  • Convert directories in test/ to workspaces. (74684)
  • Env: Fix loopback requests when running on non-default ports. (77057)
  • Fix lint-staged API documentation path. (77203)
  • Resolve package-lock.json inconsistency for @babel/eslint-parser. (77256)
  • Storybook: Fix end-to-end subpath exports and add CI build smoke test. (77034)
  • Refactor: Migrate bin/api-docs to tools/api-docs as workspace @wordpress/api-docs-generator. (77019)
  • Upgrade ESLint to v10. (76654)

Data Layer

  • Fix pre-existing lint errors across the codebase. (77002)
  • Remove unused catch block variables across the codebase. (76969)

First-time contributors

The following PRs were merged by first-time contributors:

  • @DarkMatter-999: Fix numeric value clearing in preset input controls. (77139)
  • @dkotter: Update the AI plugin settings page slug we link to after activation. (77336)
  • @dpmehta: Search block: Match behavior of global styling for border and color with local styling (inspector controls) to remove inconsistency. (77060)
  • @mehrazmorshed: Fix: A sentence has no ending punctuation in README.md file. (77027)
  • @prachigarg19: Fix duotone filter not applying on style variation switch. (77229)
  • @samvaidya: Image block: Validate attachment ID exists before treating image as local. (77178)
  • @sandipr942: Added missing documentation in collaboration.php. (77173)
  • @superdav42: Connectors: Don't clobber third-party custom render in registerDefaultConnectors. (77116)

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @Adi-ty @aduth @alecgeatches @andrewserong @annezazu @aswasif007 @BugReportOnWeb @CGastrell @chriszarate @ciampo @coderGtm @DAreRodz @DarkMatter-999 @dinhtungdu @dkotter @dpmehta @ellatrix @gziolo @hbhalodia @iamchughmayank @Infinite-Null @ingeniumed @jameskoster @jeryj @jorgefilipecosta @jsnajdr @kushagra-goyal-14 @madhusudhand @MaggieCabrera @Mamaduka @manzoorwanijk @mehrazmorshed @mirka @nerrad @ntsekouras @oandregal @prachigarg19 @R1shabh-Gupta @ramonjd @samvaidya @sandipr942 @scruffian @shail-mehta @Shekhar0109 @shrivastavanolo @superdav42 @Swanand01 @t-hamano @talldan @tyxla @USERSATOSHI @yashjawale @yogeshbhutkar

Roster of design tools per block (WordPress 7.0 edition)

Below you find a table that lists all core blocks available in the inserter marks in the grid the feature they support in the block editor. It’s a basic lookup table that helps developers to find the information quickly.

While this post is released as part of 6.8, the content summarizes changes between 6.1 and 7.0. This is an updated of the 6.8 edition and provides a cumulative list of design supports added with the last ten WordPress releases. The icon indicates new in 6.9 or 7.0.

The features covered are:

  • Align

  • Typography

  • Color

  • Dimension

  • Border

  • Layout

  • Gradient

  • Duotone

  • Shadow

  • Background image

Changes to Blocks

  • The Verse block was renamed to Poetry block in WordPress 7.0

  • New Blocks added

Accordion with Accordion Heading, Accordion Item, Accordion Panel

  • Breadcrumbs

  • Icon

  • Math

  • Post Time to Read

  • Term Query with Term Template, Term Count, Term Name

Table changes

In previous editions of this roster, the PO/BB column tracked a small, hardcoded set of core blocks where Pattern Overrides and Block Bindings were manually enabled — Button, Image, Paragraph, and Heading. That model no longer reflects how the feature works. WordPress 6.9 moved Block Bindings to a server-communicated list of supported attributes via the block_bindings_supported_attributes filter, and WordPress 7.0 extended that same mechanism to Pattern Overrides, so any block attribute that opts into Block Bindings now also supports Pattern Overrides — including custom blocks. Because support is opt-in per block, per attribute, and per site, a single check mark in a lookup table can no longer represent it accurately. The column has been removed in favor of a note pointing readers to the Pattern Overrides in WP 7.0 and Block Bindings improvements in 6.9 dev notes.

BlockAlignTypographyColorDimensionBorderLayoutGradientDuotoneShadowBackgr.Img****Accordion new new new new new new new new newAccordion Heading new new new new new newAccordion Item new new new new new new newAccordion Panel new new new new new new newArchives ––– Audio–––––AvatarBreadcrumbs new new new new new newButtonButtonsCalendar––––Categories––Code––ColumnColumnsComment Author Avatar–––Comment Author Name–Comment Content–Comment Date––Comment Edit Link––Comment Reply Link––Comment Template new––Comments new–Comments Pagination–––Comments Pagination Next––––Comments Pagination Numbers new–––Comments Pagination Previous––––Comments Title–Cover new newDetails newEmbed–––File–FootnotesGallery–GroupHeading––Home Link – Navigation–––––HTML––––––Icon new new new newImageLatest Comments––Latest PostsList–––List Item– new––Login/logout–––––––Math new new new new– new–––Media & Text–More (Read More)–––––––Navigation new–Navigation Link––––––Navigation Submenu– new–––––Next Page (Page Break)–––––––Page List–––Paragraph newPoetry (formerly Verse)Post Author newPost Author Biography–Post Author Name–Post Comments Count new––Post Comments FormPost Comments Link new–Post Content Post Date–Post Excerpt–Post Featured ImagePost Navigation Link––––Post TemplatePost Terms––Post Title–Preformatted no link–PullquoteQuery––––Query No Results––––Query Pagination–––Query Pagination Next––––Query Pagination Numbers––––Query Pagination Previous––––Query TitleQuery TotalQuote–––Read More––RSS––––Search–Separator–––Site Logo–––Site Tagline––Site Title––Social Link––––––Social Links–Spacer–––––Table–Tag Cloud––Template PartTerm Count new new new new– newTerm Description–––Term Name new new new new new– new–––Terms Query new–––– new––––Term Template new new new new new new new–––Time To Read new new new new – new – – –Video – –––– –– – –

*Props to @awetz583, @westonruter, and @blackstar1991 for review. *

#7-0, #dev-notes, #dev-notes-7-0, #editor

WordPress 7.0 Release Party Updated Schedule

Good news, everyone! WordPress 7.0 has a new release date: May 20th, 2026!

Thank you all for your flexibility in these recent weeks while WordPress contributors around the world worked tirelessly on necessary architectural improvements for the 7.0 release. The team aims to ensure that this software version is the most stable and most performant it can be, while still delivering the much anticipated cornerstone features mapped out for WordPress 7.0.

Below is the new release schedule, with expected dates and times for each release party, and the release squad contributors involved in each party for the 7.0 milestone. It also includes the pre-release versions that have already been released, and a (pending) call for testing from web hosts meant to help ensure compatibility across hosting systems.

**Note: **While the most recent pre-release version was RC2, the RC3 release will be treated like a beta version in practice. That means that your continued testing and feedback, particularly on the part of web hosts, will be incredibly valuable in keeping the development process informed during the next phase of this release cycle. Thank you all for your continued testing!

Release Schedule

As always, last-minute adjustments to this schedule are possible, and there could be additional timeline iterations based on the impact of host feedback to ensure that feedback is properly addressed. The release squad will do its best to communicate any changes promptly by posting in the #core Slack channel, publishing a post on the change, and updating this post as the canonical reference.

Date (UTC)MilestoneEmcee / Release LeadCommitterSecurity****Mission Control (Coordination)February 19, 2026 at 15:00 UTCBeta 1@amykamala@ellatrix@audrasjb@sergeybiryukovFebruary 26, 2026 at 15:00 UTCBeta 2@amykamala@ellatrix@audrasjb@sergeybiryukovMarch 5, 2026 at 14:00 UTC Beta 3@amykamala@audrasjb Committing from WordCamp Nice Contributor Day@sergeybiryukovMarch 10, 2026 at 23:30 UTC Unplanned beta following the 6.9.2-6.9.3 security releasesBeta 4@desrosj@sergeybiryukov@sergeybiryukov@sergeybiryukovMarch 12, 2026 at 15:00 UTCBeta 5@chaion07@ellatrix@audrasjb@sergeybiryukovMarch 24, 2026 at 15:00 UTCRC 1@amykamala@ellatrix@audrasjb@sergeybiryukovMarch 26, 2026 at 15:00 UTCRC 2@4thhubbard@ellatrix@audrasjb@sergeybiryukovApril 24, 2026Call for host testing@desrosjn/an/an/aMay 8, 2026 at 15:00 UTCRC 3 (in name, but test as a “new Beta 1”)@amykamala@ellatrix@audrasjb@sergeybiryukovMay 14, 2026 at 15:00 UTCRC 4 (in name, but acting as a “new RC1”)@4thhubbard@ellatrix@audrasjb@sergeybiryukovTuesday, May 19, 2026 at 15:00 UTC

Dry Run / 24-Hour Code FreezeTBDTBDTBDTBDWednesday, May 20, 2026

Time TBAGeneral ReleaseTBDTBDTBDTBD

How to Join the Party

  • All parties happen in the #core channel on Slack.

  • Everyone is welcome! First-timers, veteran contributors, and all those curious about the process are invited.

Here are detailed instructions on how to contribute to a release party.

Thank you to every contributor and community member that helps make 7.0 a success. See you at the parties!

*Props to @desrosj, @4thhubbard, @annezazu, @griffbrad,@peterwilsoncc, and @jeffpaul for helping devise the new schedule, and @desrosj, @jeffpaul, and @sumitsingh for reviewing this post. *

#7-0, #release

Apr 21, 2026

The full chat log is available beginning here on Slack.

Performance Lab Plugin (and other performance plugins)

  • @mukesh27 shared that @westonruter discussed the Auto Sizes feature during WordCamp Asia and opened issue #2449 to outline next steps for further work. @mukesh27 mentioned plans to review the issue and pick it up again when possible, and invited others to contribute in the meantime.

@mukesh27 also noted that resolving the sizes issue for the Gallery block would put the feature in a good position to be proposed for WordPress Core.

  • @ravikhadka replied expressing interest in working on the feature.

Our next chat will be held on Tuesday, May 5, 2026 at 16:00 UTC in the #core-performance channel in Slack.

#core-performance, #hosting, #performance, #performance-chat, #summary

The next WordPress Developers Chat will take place on Wednesday, April 22, 2026, at 15:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

The various curated agenda sections below refer to additional items. If you have ticket requests for help, please continue to post details in the comments section at the end of this agenda or bring them up during the dev chat.

Announcements

WordPress 7.0 Updates

Roster of design tools per block (WordPress 7.0 edition)

General announcements

Editor

Discussions

The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the Core Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.

Open floor  

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.

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

Last Checked
5h ago
Domain
wordpress.org
Tracking since Dec 4, 2024