What’s new in Gutenberg 23.0? (22 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 tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.)) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor.

What’s New In
Gutenberg 23.0?

Gutenberg 23.0 has been released and is available for download!

This release introduces a revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. panel 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 metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. boxes and a range of reliability improvements, while the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. 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

  1. Revisions panel in templates, template parts, and patterns (experimental)
  2. Site Title and Site Tagline in the Design › Identity panel
  3. Other Notable Highlights
  4. Note for users of the Guidelines experiment
  5. Changelog
    1. Enhancements
    2. Bug Fixes
    3. Accessibility
    4. Performance
    5. Experiments
    6. Documentation
    7. Code Quality
    8. Tools
  6. First-time contributors
  7. Contributors

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 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. 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. 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. 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 CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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 typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. 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 CSSCSS Cascading Style Sheets. defense module. (76783)
  • Adminadmin (and super admin) UIUI User interface: Increase 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. 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 UXUX User experience. (76560)
  • Registers wp_guideline_type 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.. (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 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. 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 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/

  • 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

  • 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.: 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/htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 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 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.. (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 PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warnings. (77290)

Patterns

  • Fix custom categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. 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)

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

  • 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 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) 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 ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org function names for better ESLint detection. (77148)
  • 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.: 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 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. documentation path. (77203)
  • Resolve package-lock.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. 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 coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. blocks available in the inserter marks in the grid the feature they support in the blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. 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 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., 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 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..

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 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. 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 LeadRelease Lead The community member ultimately responsible for the Release.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.SecurityMission Control (Coordination)
February 19, 2026 at 15:00 UTCBeta 1@amykamala@ellatrix@audrasjb@sergeybiryukov
February 26, 2026 at 15:00 UTCBeta 2@amykamala@ellatrix@audrasjb@sergeybiryukov
March 5, 2026 at 14:00 UTC Beta 3@amykamala@audrasjb
Committing from 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. Nice 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/!
@audrasjb@sergeybiryukov
March 10, 2026 at 23:30 UTC
Unplanned beta following the 6.9.2-6.9.3 security releases
Beta 4@desrosj@sergeybiryukov@sergeybiryukov@sergeybiryukov
March 12, 2026 at 15:00 UTCBeta 5@chaion07@ellatrix@audrasjb@sergeybiryukov
March 24, 2026 at 15:00 UTCRCrelease 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). 1@amykamala@ellatrix@audrasjb@sergeybiryukov
March 26, 2026 at 15:00 UTCRC 2@4thhubbard@ellatrix@audrasjb@sergeybiryukov
April 24, 2026Call for host testing@desrosjn/an/an/a
May 8, 2026 at 15:00 UTCRC 3 (in name, but test as a “new Beta 1”)@amykamala@ellatrix@audrasjb@sergeybiryukov
May 14, 2026 at 15:00 UTCRC 4 (in name, but acting as a “new RC1”)@4thhubbard@ellatrix@audrasjb@sergeybiryukov
Tuesday, May 19, 2026 at 15:00 UTC

Dry Run / 24-Hour Code FreezeTBDTBDTBDTBD
Wednesday, May 20, 2026

Time TBA
General 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

Performance Chat Summary: 21 April 2026

The full chat log is available beginning here on Slack.

Performance Lab PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. (and other performance plugins)

  • @mukesh27 shared that @westonruter discussed the Auto Sizes feature during 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 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 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. would put the feature in a good position to be proposed for WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..
    • @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

X-post: WordPress Documentation Team Closes 200+ Issues — and Needs Your Help

X-comment from +make.wordpress.org/docs: Comment on WordPress Documentation Team Closes 200+ Issues — and Needs Your Help

Dev Chat Agenda – April 22, 2026

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 ticketticket Created for both bug reports and feature development on the bug tracker. 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

  • The Path Forward for WordPress 7.0. A new release schedule should be shared this week.
  • 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.:

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 CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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

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

WordPress Core Dev Environment Toolkit: A Faster Path to Your First Core Contribution

One of the most common complaints from 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/ facilitators is this: participants spend the entire session trying to set up their local environment and never get to actually contribute.

Before writing a single line of code, a first-time WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. contributor typically needs to install GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/, Node.js, npm, Docker, configure everything correctly, and troubleshoot whatever breaks along the way. At in-person events, this alone can take hours — sometimes the full day.

The WordPress Core Dev Environment Toolkit aims to eliminate this friction entirely.

What is it?

The WordPress Core Dev Environment Toolkit is a desktop application (available for macOS, Windows, and Linux) that sets up a full WordPress core development environment with zero prerequisites.

You install it, choose a directory for wordpress-develop, click a button, and you have:

  • A cloned wordpress-develop repository
  • A running WordPress dev server
  • The ability to make code changes and generate a patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing.

No Git, no Node.js, no npm, no Docker needed. Everything is bundled inside the application as JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors./WASM, powered by WordPress Playground.

Download the app →

What does it do?

Once installed, the app lets you:

  • Clone wordpress-develop into a directory of your choice
  • Run npm install, npm run build, and npm run dev automatically
  • Start a WordPress dev server using Playground’s CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.
  • Make changes to core files directly
  • Generate a patch from your changes, ready to attach to a TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticketticket Created for both bug reports and feature development on the bug tracker.

The entire toolchain — npm, Node, Git — runs as JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/WASM bundled with the app. There’s no terminal work required for the basic contributor workflow.

Here’s the full setup flow — from a fresh install to a running WordPress development environment:

Once your environment is running, generating a patch to submit to Trac takes just a few clicks:

Why this matters for Contributor Days

Environment setup has historically been one of the biggest drop-off points during Contributor Days. When participants can’t get set up in time, the session is over before it starts — regardless of their interest or motivation.

This tool makes it realistic to go from attendee to first patch in a single afternoon. It’s designed specifically for the Contributor Day context: fast setup, no prerequisites, no troubleshooting.

How to use it at your next Contributor Day

If you’re organizing or facilitating a core table at a 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.:

  1. Share the download link with participants ahead of the event so they can install it at home on good WiFi (the app is a larger download).
  2. Walk through the setup at the start of the session: install, click to set up the environment, make a small change, generate a patch.
  3. Point participants to the Core Contributor Handbook for guidance on what to contribute and how once they’re set up.

Download and feedback

  • 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 releases: https://github.com/WordPress/experimental-wp-dev-env
  • The tool is experimental and under active development. Feedback is welcome via GitHub issues.

If you use this tool at a Contributor Day, please share how it went — either in the comments below or in the #core channel on 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/. Reports from the field help prioritize improvements.

Props to @greenshady @desrosj @audrasjb for review

+make.wordpress.org/playground/ +make.wordpress.org/test/ +make.wordpress.org/community/

#contributor-day, #playground, #wordcamp

Dev Chat Agenda – April 15, 2026

The next WordPress Developers Chat will take place on Wednesday, April 15, 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 ticketticket Created for both bug reports and feature development on the bug tracker. 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

The release schedule is currently still on hold, pending further validation of a new 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)..

General announcements

Discussions 💬

The discussion section of the agenda is for discussing important topics affecting the upcoming release or larger initiatives that impact the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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

Elevating Individuals

Posting here since it spans +make.wordpress.org/design/ , +make.wordpress.org/community/ +make.wordpress.org/marketing/ +make.wordpress.org/meta/ .

My request: Let’s go back to how we used to elevate individual identity and contribution. Learn how to celebrate sponsorship in ways that encourage and cheer equally or more volunteers and people contributing in their spare time, and remember that’s how almost all of us started and how beautiful and fun that was.

To expand a bit on what I tried to say in the Q&A, I was referring to this tweet:

HFkC1nSagAAoUBl

Krupa, sorry to use you as an example, but the giant SELF EMPLOYED on your badge shocked me, and led me down a path of thinking of all the ways my push to get companies doing what Automattic and Yoast has created some issues in its success, and the unintended consequences it’s maybe led us to.

I’m not saying someone deliberately created this bad badge design on purpose or maliciously, but I do want to know what led to a result here that everyone involved thought Name and Company was just fine, and no one advocated for personal info you could have on a badge, and that we have before in previous designs. I would suggest WEBSITE since we’re software trying to help people make websites, and want to encourage and promote that, then WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ username, for same reason, maybe hometown because that’s usually one of the first things people ask and it’s interesting. I’d put all those things over the company, because the company for people who want to show it off is usually obvious from their shirt or buttons before you can read the badge.

@desrosj and @peterwilsoncc, Very sorry today for only being able to express disagreement in such a brief and unnuanced way. I’d love to get a Zoom when I’m feeling better so we can discuss and understand each other’s positions better.

Be a good conversationalist

I know I get annoyed when the first question someone asks when you meet is “what do you do for work?” Here are fun openers that are better, and how can that inspire how we experiment with badges.

Individual Complaints

I was first made aware of this issue by hearing complaints from coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. WP devs who said they feel like we doing so much more to recognize the contribution of companies. I’ve heard several versions of “it’s a bigger deal for me to contribute without being paid for it!”

Where else is this showing up?

  • In every Five for the Future testimonial.
  • Very much on 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. and theme directories.
  • In the business model of WordCamps.
  • In a lot of our language and goals.
  • In my presentations starting probably 6-7 years ago.

We’re measuring and celebrating inputs and contributions, not impact or results

I keep repeating this as the biggest thing we need to change in the WordPress culture and way of doing things. In hindsight, how silly is it to emphasize hours pledged in Five for the Future and not actual activity? And then check regularly if that activity is actually aligned with our goals, or perhaps working against them? (It has happened!)

When is more contribution a bad thing? How has our emphasis on participation, process, or inclusive consensus slowed us down, even as we add more people? Are we surprised, given The Mythical Man-Month figured that out in 1975! What have we lost, and who have we lost, as a result of the structure and processes we’ve created?

How am I so smart yet so dumb sometimes?! 🙂

Here’s a better version. The most powerful question from Jerry Collona: “How have I been complicit in creating the conditions I say I don’t want?” It works so well in all parts of life.