Runnable code examples are now live in the Code Reference

WordPress 7.1 shipped the first two runnable code examples in the Code Reference. They are powered by WordPress Playground, and more are coming in 7.2.

On the WP_HTML_Processor::class_list() Code Reference page, select Run button in the code snippet and the code example will run right there, in your browser.

Runnable snippets can be defined in the DocBlock of each method directly in the WordPress codebase. They use a slightly different syntax from the regular code examples:

<?php
/**
 * Generator for a foreach loop to step through each class name for the matched tag.
 *
 * ```php interactive
 * $p = new WP_HTML_Tag_Processor( "<div class='free &lt;egg&gt;\tlang-en'>" );
 * $p->next_tag();
 * foreach ( $p->class_list() as $class_name ) {
 *   echo "{$class_name} ";
 * }
 * // Outputs: "free <egg> lang-en "
 * ```
 */
public function class_list() {}

The part that makes it interactive is the ```php interactive language 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.) on the code fence. A handbook page with all the details and instructions for authoring interactive code snippets will be published shortly.

Props to @jonsurrell, @dmsnell, @westonruter.

+make.wordpress.org/docs/

+make.wordpress.org/playground/

Dev Chat summary: September 2, 2026

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

Announcements 📢

7.2

7.1.1

General

Discussion 💬

From @jeffpaul

Jeff resurfaced this heads up from @annezazu, for anyone who’s working on something for 7.2 to ensure they flag that to Anne for the roadmap post:

Howdy! I’m starting to work on a roadmap for WordPress 7.2 since we’re less than 2 months from betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1. I wanted to check in to see what might be coming up across the project that folks are dedicated to working on. As a reminder, roadmaps aren’t meant to be completely comprehensive but are meant to reflect the priority work slated for the release. As a result, I won’t include every little detail and instead focus on getting the broad strokes in place. As always, I’ll share drafts as I go but just want to flush out anything early as I have a long list already!

@annezazu – link to the Slack thread

@audrasjb: “On my side, I’d say this feature (ticket #65910) may be a huge thing for support teams (on dotorg as well as for plugins/themes support teams if we make it an 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.). Design welcome but I think we can probably make a POC with the existing dashicons and basic styling.”

From @pbearne

Paul would love to see some of his patches that add tests get merged.

#7-1-1, #7-2, #core, #dev-chat

What’s new in Gutenberg 23.9? (2 September)

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

What’s new in
Gutenberg 23.9?

Gutenberg 23.9 has been released and is available for download!

This version of Gutenberg brings some big quality-of-life editing improvements around 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. insertion and custom styling.

Stop searching for the inserter

Finding the inserter was challenging on some block selections. Now, you can insert from the block toolbar. Easily add a new block to a group or another image to your gallery without having to change selection or scroll to find the inserter. Be on the lookout for more improvements to the block inserter in upcoming releases.

Easily find custom style overrides

Global Styles now makes it easy to see which blocks have custom overrides applied to them. Rather than drilling through each block to find which ones have custom styles, a dot indicator is on each block with a custom style. If you want to see all of the customized blocks together, there’s an option to 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. only by blocks with custom styles.

Other Notable Highlights

  • Axial block gap for the group block. Flex and grid layouts can now have independent vertical and horizontal block gap spacing so you can dial in your design. (81476)
  • Style <label> elements from theme.json (81160)
  • Global Styles for more elements: Citations, Inputs, and Selects were all available in theme.json, but now you can use Global Styles to easily customize them. (80852)
  • Add custom Duotone colors to Global Styles. theme.json could provide duotone palettes, but you couldn’t add custom ones via Global Styles. Now, if you don’t like the theme’s provided duotones, add your own via the new Duotone tab in the Global Styles Colors section. (81605)

Changelog

Enhancements

Components

  • Adminadmin (and super admin) UIUI User interface: Add Navigation component and Page navigation slot. (79746)
  • Align legacy form control focus rings with WPDS. (80417)
  • Base Styles: Align input-control mixin to design system. (81357)
  • Base styles: Streamline focus ring override. (81242)
  • Calendar: Support custom root roles. (81443)
  • CollapsibleCard: Support multiple 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. descriptions. (81227)
  • DataViews: Pass the WordPress localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. to the date/datetime calendar controls. (81592)
  • Global Styles: Allow editing duotone palettes. (81605)
  • Menu: Add UI component. (79560)
  • RadioControl: Allow individual options to be disabled. (82026)
  • SearchableChipSelect: Add grouped items support. (80989)
  • SearchableChipSelectControl: Add form control to @wordpress/ui. (80980)
  • Theme: Add color warning diagnostics workbench. (81817)
  • UI: Accept locale codes in Calendar components. (81814)
  • UI: Add Spinner component. (81358)
  • UI: Add TextareaControl component. (81359)
  • UI: Add tooltips to Calendar and RangeCalendar navigation buttons. (81983)
  • UI: Align Calendar styling with WPDS tokens. (81438)
  • UI: Collapse item-popup item sizing to default and small. (81354)
  • UI: Expose keyboard shortcut presentation utilities. (81826)
  • UI: Set Calendar text direction automatically. (81982)
  • UI: Use the default neutral border for Cards (81746)

Block Library

  • Add transform to Row for Columns block. (81802)
  • Enable axial gap for Group and restrict to flex and grid layouts. (81476)
  • Global Styles: Register as label element. (81160)
  • List: Add Align Support. (68002)
  • More block: Clarify description about excerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that plugin’s metabox. vs full content. (80619)
  • Playlist Track: Show upload spinner inline. (81445)
  • Playlist: Add bulk track metadata editing. (81441)
  • Query No Results: Add Border & Spacing Support. (64601)
  • Tabs: Make inactive panel content findable in page. (81743)

Post Editor

  • Command Palette: Add View post command. (66720)
  • Command Palette: Allow commands to override the categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. icon. (81787)
  • Editor: Defer hierarchical term filtering and soften announcements. (81422)
  • Editor: Migrate hierarchical term selector to @wordpress/ui. (81848)
  • Editor: Refactor ‘ErrorBoundary’ to use the new recommended components. (81638)
  • Editor: Simplify List View 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. shortcut handling. (81693)
  • Editor: Surface debugging details in the ErrorBoundary. (81642)
  • Editor: Use PluginSidebar in GlobalStylesSidebar. (81570)
  • Pre-publish panel: Remove the headings that repeat the panel title. (81806)

Block Editor

  • Add an inserter to the parent selector. (81532)
  • Global Styles: Expose additional elements in Typography and Colors. (80852)
  • Patterns explorer: Refactor the category sidebar to use Tabs. (81807)
  • Quick Inserter: Standardize the design of the Browse all button. (81827)
  • Writing flow: Select next block on Enter key. (63484)
  • Inbetween Inserter: Use average width of adjacent blocks for inserter size. (68074)

Dashboard

  • Dashboard Widgets: Let the host decide which component renders an action link. (81740)
  • Dashboard Widgets: Promote high-relevance actions into a chrome footer. (81556)
  • Dashboard Widgets: Resolve widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. types without a metadata module. (81738)

Fields

  • Export the package stylesheet. (81769)

DataViews

  • DataViews: Add an aspect ratio toggle for grid layouts. (81604)

Collaboration

  • Add __unstable_wp_sync_storage filter for pluggable storage backends. (81697)

Site Editor

  • Update template section description. (81613)

Global Styles

  • Filter and indicate blocks that have custom styles. (81373)

Font Library

  • Add skeleton loader for the font preview images. (81047)

Bug Fixes

Components

  • InputControl: Hide the value-like placeholder Safari renders in empty date and time inputs in ui and components packages. (81991)
  • Admin UI: Fix the primary color of the Fresh admin color scheme. (81618)
  • BoxControl: Update the opposite side when ALT is held on the left or right input. (81530)
  • Button: Fix alignment in loading spinner for rtl screens. (81901)
  • DataForm: Fix the datetime control sending two updates per calendar interaction. (81440)
  • DataForm: Make the panel layout edit button the real field trigger. (80689)
  • DataViews: Fix date and datetime controls selecting the adjacent day. (81498)
  • DataViews: Fix invisible sticky Actions column divider. (82055)
  • DataViews: Sync the displayed calendar month with external value changes. (81635)
  • Duotone Picker: Stop the duotone bar offering to move its control points. (81850)
  • Fix Storybook accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) issues in stories. (81777)
  • Improve text detection for button icon-with-text. (81521)
  • InputControl: Vertically center date and time input values in Safari. (81361)
  • Menu: Close non-modal menus on iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser. interaction. (81952)
  • Modal: Stop Escape key propagation on dismiss. (81785)
  • PaletteEdit: Expose palette swatches as command buttons. (82023)
  • Storybook: Handle production module load failures. (81867)
  • Theme: Improve color ramp contrast safeguards. (81185)
  • UI: Fix accessibility issues in form primitives and their stories. (81853)

Block Library

  • Accordion Heading: Route theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. spacing to the toggle button. (81976)
  • Dynamic Gallery block: Skip transforms that expect inner blocks, e.g. Image and Grid transforms. (82009)
  • Enable blockGap spacing supports in Query loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop block. (79689)
  • Fix MediaPlaceholder drag eligibility. (81431)
  • Fix playlist track toolbar insertion. (81639)
  • Fix: Accordion: Anchored hash inside the accordion throws the malformed URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org console error. (81780)
  • Fix: Skip empty block markup in navigation to prevent split UL elements. (78793)
  • Fix: Term Description block skips display filters inside Terms Query. (81290)
  • Icon: Fix margin being applied twice in the editor. (81292)
  • Inner Blocks: Fix bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. that caused alignment controls to show in Image blocks within a Gallery. (81606)
  • Pattern: Disable visibility support. (81866)
  • Playlist Track: Improve track upload error flows. (81878)
  • Post Template: Fix mover arrows and labels for blocks inside the grid view. (81120)
  • Preserve layout and style attributes on Column transform. (81855)
  • Rename the media editor toolbar button to ‘Edit image’. (81705)

Post Editor

  • Add context to change “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. code diff”. (81820)
  • Editor: Correctly mark ToolsMoreMenuGroup as a private SlotFill. (81503)
  • Editor: Fix start page/template modal footer overflowing the modal width. (82021)
  • Editor: Register the editor keyboard shortcuts from the provider. (81580)
  • Fix: Post Editor: 403 on /wp/v2/settings at boot for users without manage_options cap. (81813)
  • Fix: Post Editor: Canvas animates from the left when switching mobile/tablet preview to desktop. (81484)
  • List View: Make focus on mount opt in. (81659)
  • Notes: Keep the note actions menu in view for long display names. (81414)
  • Notes: Stop forcing capitalization of user names. (81788)

Block Editor

  • Block Editor: Don’t close inserter panel when inline quick inserter opens. (76241)
  • Border Panel: Fix incorrect panel label. (78830)
  • Dimensions: Fix aspect ratio and scale controls not reflecting external updates. (80747)
  • Fix parent inserter toolbar button alignment when text labels is enabled. (81608)
  • Fix viewport state values set by grid resizer. (81601)
  • Fix: Delete key on empty heading transforms following paragraph into heading. (78779)
  • Global Styles: Keep storing shadow presets as CSSCSS Cascading Style Sheets. variables when custom presets exist. (81346)
  • Hide layout panel when no controls are available. (81968)
  • RichText: Use the current record when handling Enter. (81696)

Global Styles

  • Close the revisions screen on the first back click. (81897)
  • Color Palette panel: Remove empty whitespace when there are no theme colors. (81894)
  • Fix: Responsive styles: When enabled and a font-size is set, the corresponding CSS variable remains undefined. (81854)
  • Group shadow editor rows as items. (81871)

URL

  • Clamp the truncated file name slice in filterURLForDisplay. (81529)
  • Fix: getQueryArgs discards everything after the second = in a query argument value. (81066)
  • Fix: URL: normalizePath drops the rest of the query after a second “?”. (81612)
  • Stop normalizePath throwing on a malformed percent sequence. (81086)

Data Layer

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Stop storing NaN pagination totals for unpaginated endpoints. (82059)
  • Core Data: Validate the parsed-blocks cache against registered block types. (81809)

Env

  • Fall back to cached docker images when the registry is unreachable. (81631)
  • Update git to latest commit when --update passed. (81447)

Boot

  • Restore centered snackbar notices. (81995)

Element

  • Serialize memo-wrapped components instead of an empty string. (81986)

Collaboration

  • RTC: Disable collaboration for post types without custom fields. (81946)
  • RTC: Add fallback identities when user profiles are unavailable. (81408)
  • RTC: Fix hidden cursor in Details block. (81322)

wp-build

  • Build Package: Use Core’s boot module when a 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. has none. (81761)

Font Library

  • Fix the preview weight for variable fonts. (81748)

Media

  • Fix clipped focus outlines in the media editor Details sidebar. (81703)

Site Editor

  • Use inverted ThemeProvider seed for portaled UI. (81653)

DOM

  • Treat a caret at a soft line wrap as an ambiguous position in Firefox. (81003)

Media Utils

  • Prevent white screen crash during undo operations when Media Modal is open. (79898)

Parsing

  • Fix: Line Break Tags Added to Scripts and Styles. (77542)

Paste

  • Fix: Stop stripping spaces inside inline HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. elements on paste. (76696)

Accessibility

Post Editor

  • Editor: Announce publish date changes to screen readers. (81629)
  • Make Back button grid column flexible. (81701)

Block Editor

  • Block Styles: Refactor the variation UI to use ui/Button. (81833)

Block Library

  • Playlist: Add aria-label to prevent placeholder as label. (81654)
  • Playlist: Update playlist track placeholder to match aria label. (81762)

Media

  • Media editor: Keep initial modal focus on the dialog frame. (81541)

Performance

Post Editor

  • Editor: Speed up the hierarchical term selector for large taxonomies. (81376)
  • Editor: Stop :has() selectors recalculating the whole document on every block selection. (81471)

Global Styles

  • Try caching gutenberg_get_global_styles. (81889)

Components

  • Theme: Avoid root-level relational selectors. (81457)

Experiments

Site Editor

  • Boot: Contain a surface failure to that surface. (81622)
  • Boot: Do not offer to edit a trashed entity. (81632)
  • Boot: Let the editor canvas navigate between entity records. (81590)
  • Boot: Mount the registered plugins. (81754)
  • Boot: Preview the site where the canvas has nothing to open. (81749)
  • Boot: Sync the editor’s device preview with the URL. (81617)
  • Boot: Translate the canvas click-to-edit label. (81620)
  • Boot: Warn before leaving with unsaved changes. (81625)
  • Edit Site Init: Seed the editor preferences the editor expects. (81628)
  • ExtensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. Site Editor: Add a theme preview page with global styles editing. (81954)
  • Extensible Site Editor: Add the Identity route. (81576)
  • Extensible Site Editor: Preview the site on Home for classic themes. (81578)
  • Extensible Site Editor: Show only the style book on Styles for classic themes. (81579)
  • Extensible Site Editor: Gate theme screens on theme support. (81581)
  • Lazy Editor: Keep the theme’s editor styles on the canvas. (81747)
  • Lazy Editor: Render the editor preferences modal. (81630)
  • Pattern List: Import a pattern from JSON. (81919)
  • Site editor v2: Fix block error with navigation-edit route. (82051)
  • Site editor v2: Fix template part list pagination and sorting. (82054)

Media

  • Media Editor Route: Override media edit links to point to the new experimental media editor. (81559)
  • Media Editor Route: Make the route look like it’s part of the media menu in the sidebar. (81565)
  • Media Editor Route: Try adding undo/redo and save/cancel actions to the header. (81563)

Post Editor

  • Editor: Offer the theme export from both site editors. (81992)
  • Editor: Set the width an entity opens at from the editor provider. (81750)

Dashboard

  • Quick draft: Replace Button+Link with LinkButton. (82031)
  • Dashboard: Add a Site Health detail page as the dashboard’s second route. (81729)

Documentation

  • Add Gutenberg version details for WordPress 7.1. (81600)
  • Adds JSdoc for audio block’s edit.js. (68865)
  • Adds JSdoc for avatar block’s edit.js. (68867)
  • Adds JSdoc for column and columns block’s edit.js. (68873)
  • Adds README for inspector-controls-tabs component. (69072)
  • BlockEditVisuallyButton: Update Developer Documentation. (68987)
  • Components: Update the combobox changes to be part of breaking change. (81923)
  • Design System: Add portable agent skills. (80597)
  • Docs: Add Background image control Readme. (69409)
  • Docs: Add Block Editing Mode Readme. (69411)
  • Docs: Fix broken link to the Document-Isolation-Policy explainer. (81790)
  • Docs: Fix broken link to the getEntityRecords selector reference. (81791)
  • Docs: Fix broken links to the Block APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. reference guides. (81571)
  • Docs: Fix broken skip ahead anchor on the custom block editor guide. (81835)
  • Docs: Fix dead link in the dynamic blocks tutorial. (81399)
  • Docs: Narrow the tsconfig split guidance to the standard layout. (81828)
  • Docs: Require site editor features to land in the extensible site editor too. (81752)
  • Fix Broken Links in Package file. (81700)
  • Fix broken documentation link in accessibility.md file. (81832)
  • PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS.: Refactor parameter type hints and clean comments. (81898)
  • Schemas: Document what the theme.json schema checks. (81773)
  • Storybook: Add Story for InnerBlocks. (68651)
  • Storybook: Add Story for BlockPopover. (68681)
  • Storybook: Add Story for URLPopup component. (68449)
  • Storybook: Fix default background color for Example Application theme story. (81765)
  • Storybook: Upgrade to 10.5. (80692)
  • UI: Add initial agents guidance mapping to contributing guidelines. (81400)
  • UI: Mark Autocomplete, Field, and Fieldset as recommended. (80636)
  • UI: Mark Input-related components as recommended. (81658)
  • UI: Move controlled prop guidance to contributing documentation. (82044)
  • Update coding guidelines to recommend TypeScript. (81763)
  • Update save & submit documentation. (81077)
  • Update broken links in document files. (81961)

Code Quality

  • Docs: Align param 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.) columns in test/ docblocks. (81905)

Components

  • BorderControl, BorderBoxControl: Migrate styles to CSS Modules. (80437)
  • ComboboxControl: Narrow onChange callback type to string | null. (81568)
  • DataViews: Use Menu from @wordpress/ui. (81783)
  • DataViews: Vendor ValidatedComboboxControl. (81449)
  • DataViews: Vendor ValidatedFormTokenField. (81451)
  • DataViews: Vendor ValidatedToggleControl. (81492)
  • DataViews: Vendor ValidatedToggleGroupControl. (81450)
  • Fix DataViews list layout color token usage. (81074)
  • Migrate ComboboxControl to SCSS module. (80471)
  • Migrate DropdownContentWrapper to SCSS module. (81522)
  • Migrate GradientPicker, ColorPalette to SCSS module. (80473)
  • Migrate ProgressBar styles from Emotion to SCSS module. (80512)
  • Migrate ResizableBox to SCSS module. (81792)
  • Migrate Scrollable to SCSS module. (80694)
  • Migrate StyledLabel to SCSS module. (80001)
  • Migrate ZStack styles from Emotion to SCSS module. (80514)
  • Migrate BoxControl to SCSS module. (80715)
  • Migrate TextareaControl to SCSS module. (81353)
  • Storybook: Add missing @types/jest devDependency. (82017)
  • Storybook: Keep Vitest story scanning independent of the Vite root. (82020)
  • Theme: Rename ThemeProvider wrapper CSS class from root to wrapper. (81996)
  • Theme: Update Terrazzo packages to 2.7.1. (81978)
  • TypeScript: Bring the remaining route projects under the typecheck run. (81847)
  • UI: Add ControlWithError component. (81574)
  • UI: Add ValidatedInputControl component. (81627)
  • UI: Add ValidatedTextArea control. (81984)
  • UI: Update Base UI to 1.7.0. (81390)
  • Update Ariakit packages (0.4.35 => 0.4.37). (81080)
  • Update Terrazzo packages to 2.5.0. (81082)

Block Library

  • Block API: Address review feedback on block keyboard shortcuts. (81621)
  • Block API: Declare block keyboard shortcuts on variations and transforms. (81588)
  • Stop saving Table of Contents output. (80404)
  • Tabs: Number generated tab IDs from 1 and keep them sequential. (81781)
  • Playlist: Remove block toolbar sharing between parent and child blocks. (81432)
  • Update waveform player dependency 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.. (81454)

Post Editor

  • ActionItem: Move the more menu deduplication out of the Slot. (81507)
  • Block Editor: Never spotlight blocks in a preview. (81615)
  • Editor: Remove FlexItem usage from NoteCard. (81851)
  • Use WCInputControl alias for legacy InputControl imports. (81830)
  • Use WCTextareaControl alias for legacy TextareaControl imports. (81834)

Data Layer

  • Core Data: Allow keyless entities to be addressed without a record ID. (81857)
  • TypeScript: Drop redundant undefined casts for keyless entity record IDs. (82018)
  • Update is-plain-object to 5.1.0. (81926)

Block Editor

  • Add translator context to pseudo-state labels. (81770)
  • Remove leftover files. (81793)
  • refactor: Convert createColorHOC to functional component. (70408)

Dashboard

  • Dashboard widgets & Grid: Use kebab-case for CSS selectors. (82053)
  • Quick Draft widget: Drop a reference to a class that does not exist. (82064)

Media

  • Media Editor Route: Add missing dependency to media-editor route. (81845)

Fields

  • Migrate last remaining JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. file to TS. (81808)

Boot

  • Migrate styles to CSS Modules. (81756)

Layout

  • Layout block supports: Cast numeric grid attributes before use. (81560)

Private APIs

  • DataViews: Add a lint rule preventing private API imports. (81478)

Global Styles

  • Style: Update color to use CSS variable in global-styles-ui. (79053)

Tools

Build Tooling

  • Build Scripts: Force tsc –pretty so CI reports the project behind global diagnostics. (81937)
  • Build Tools: Stop watcher process trees on shutdown. (81504)
  • Build: Emit TypeScript declarations with –noCheck. (81839)
  • Build: Fix ESM declaration resolution. (82022)
  • CI: Skip the package CHANGELOG check when only the CHANGELOG changed. (82069)
  • Components, DataViews, Editor, UI: Split tsconfigs into build and dev projects. (81515)
  • Dependency updates Aug 2026 (2). (81906)
  • Dependency updates Aug 2026. (81870)
  • Lint: Prevent private API imports in all bundled packages. (82015)
  • Packages: Split story package tsconfigs into build and dev projects. (81516)
  • Packages: Split tsconfigs for utility and mid-size packages. (81514)
  • Release: Improve changelog categorization. (81475)
  • Replace the Storybook test runner with the Vitest integration. (81918)
  • Storybook: Fix production build warnings. (81758)
  • Storybook: Upgrade Vite to 8. (81494)
  • Styles Route: Reference the api-fetch and html-entities projects. (81989)
  • Test: Add Vitest ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org, Emotion compilation, console, and snapshot parity. (81039)
  • TypeScript: Add typecheck script and split root tsconfig into build and dev solutions. (81499)
  • TypeScript: Put route projects under the typecheck run. (81829)
  • Validation: Update dependency-audit to 0.4.6 and ignore the dataviews ./wp bundle. (81928)

Testing

  • Automated Testing: Change Storybook default a11yAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) test to error on failure. (81597)
  • Block Library: Fix failing test in playlist block. (81950)
  • E2E: Replace flaky router styles screenshot assertions. (81739)
  • List View: Fix flaky global shortcut test and re-enable it. (81690)
  • Perf: Report the first block selection as its own metric. (81616)
  • Test: Port shared Vitest test environment. (81038)
  • Tests: Make PHPUnit tests independent of test configuration flags and theme root. (79159)
  • Vitest: Resolve @flakiness/vitest reporter to an absolute path. (81582)
  • end-to-end Tests: Use str_starts_with()/str_contains() in hide-user-rest-routes plugin. (82030)

Data Layer

  • Update 23.8 release changes on trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. (81485)

ESLint plugin

  • Remove fixable on i18n-no-flanking-whitespace. (70279)

First-time contributors

The following PRs were merged by first-time contributors:

  • @benazeer-ben: Add command: View post. (66720)
  • @dhruvikpatel18: Storybook: Add Story for URLPopup component. (68449)
  • @josephfusco: Add __unstable_wp_sync_storage filter for pluggable storage backends. (81697)
  • @konnen916: URL: Stop normalizePath throwing on a malformed percent sequence. (81086)
  • @sanketio: Accordion Heading: Route theme.json spacing to the toggle button. (81976)
  • @vedant-ere: Fix: Skip empty block markup in navigation to prevent split UL elements. (78793)

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @aduth @afercia @amitraj2203 @andrewserong @annezazu @arthur791004 @benazeer-ben @ciampo @coderGtm @dhruvikpatel18 @dilipom13 @ellatrix @getdave @giteshsarvaiya @gregsullivan @hbhalodia @i-am-chitti @im3dabasia @Infinite-Null @ingeniumed @jasmussen @jeremyfelt @jeryj @jorgefilipecosta @josephfusco @jsnajdr @juanfra @Kgupta62 @konnen916 @MaggieCabrera @Mamaduka @manzoorwanijk @maxschmeling @mirka @mukeshpanchal27 @Mustafabharmal @ntsekouras @oandregal @ramonjd @retrofox @sanketio @sarthaknagoshe2002 @scruffian @shail-mehta @shimotmk @simison @sirreal @Soean @swissspidy @t-hamano @tellthemachines @timse201 @USERSATOSHI @vedant-ere @youknowriad

Props

Thanks to @mciampini and @aduth for helping with the npm package distribution and stable release, @manzoorwanijk, @onemaggie and @softglaze for 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). support and testing, @coreyhall93 for the video highlights, and @tyxla, @ramonopoly, and @ellatrix for reviewing this post.

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

WordPress 7.1.1 Release Schedule

Since WordPress 7.1 was released, contributors have kept a close eye on incoming reports to the 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/ Support Forums, TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., and 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/ repository on 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/. The volume and severityseverity The seriousness of the ticket in the eyes of the reporter. Generally, severity is a judgment of how bad a bug is, while priority is its relationship to other bugs. of tickets mean that the maintenance release should be prepared habitually.

This release will be co-led by @adamsilverstein, @adrianduffell, and @andraganescu.

Schedule

Date/TimeEvent
Thursday, September 3, 2026 at 14:00 UTCBug Scrub
Friday, September 4, 2026 at 14:00 UTCBug Scrub
Tuesday, September 8, 2026 at 20:00 UTCBug Scrub. WordPress 7.1.2 Milestone will be opened, and some tickets may be punted.
Wednesday, September 9, 2026 at 10:00 UTCBug Scrub
Thursday, September 10th, 2026 at 17:30 UTCWordPress 7.1.1 RC1
Tuesday, September 15, 2026 at 14:00 UTCBug Scrub.
Thursday, September 17, 2026 at 15:00 UTCWordPress 7.1.1 General Release

Note that the above times are estimates – exact times for scrubs, RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). and General release will be announced in the 7.1 Release Leads room and will be based on availability of individuals helping with the release.

Targeted Fixes

WordPress 7.1.1 is intended as a bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.-fix only maintenance release. Tickets will be included provided they are issues introduced during the 7.1 cycle or intentionally deferred at the end of the 7.1 cycle. You can follow trac report 4 or the 7.1.x editor tasks board for proposed fixes.

Get Involved with 7.1.1

Bug Scrubs will happen in the #core room during the times posted above. Each of the open tickets is going to require development work along with testing and review. You can also run your own scrubs to help ensure that all of the correct tickets are fixed in this release. Additionally, some locales have strings in 7.1 in need of translation.

General coordination for the release will happen in the 7.1 Release Leads room and decisions around code for the release will be made in the #core room.

Props to @jorbin and @adrianduffell for reviewing this post.

#7-1, #7-1-1, #7-1-x, #minor-releases

Performance Chat Summary: 25 August 2026

The full chat log is available beginning here on Slack.

WordPress Performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets

  • @mukesh27 shared a performance regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. found in WordPress 7.1 and reported as #65929 and asked anyone with time to take a look and said any review or feedback would be greatly appreciated.
  • @westonruter shared that WCUS 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://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ was formatted like a hackathon this year. His team worked on eliminating script and style concatenation in favor of prefetching scripts and styles likely to be used on the next screen. For example, the login screen prefetches the scripts and styles used on the dashboard, while the dashboard or edit posts list screen prefetches styles used in the post editor. They saw promising performance improvements, including a greater than 70% reduction in LCP when accessing the dashboard from the login screen. The PR #13084 is in progress and ready for early review and testing. He added that the biggest benefit is eliminating script and style concatenation, which is the source of many bugs. In his view, the performance benefit is a bonus.

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 asked @westonruter whether there was a plan for releasing PR #2639.
    • @westonruter re-shared that the PR for the next round of Performance Lab plugin updates is ready for review and testing: PR #2639. ZIPs are available at (comment). He noted that the release includes strict_types, so it warrants extra testing, and also includes several housekeeping changes intended to improve the release process. The PR already has approvals, but he was not sure whether smoke testing had been completed for each build. If that could be done that day, he said he would feel comfortable going ahead with the release

Open Floor

  • @westonruter shared that he is coming off a very busy summer of travel and CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. security work. He is finally back home and can start catching up. His security work will continue, but hopefully at a more managed pace. He noted that there are many PR reviews needed.
  • @mukesh27 added that there are also Core commits. @westonruter responded that commits are now cheap, while reviews are hard.

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

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

What’s new in Gutenberg 23.8? (19 August)

“What’s new in GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/…” posts (labeled with the #gutenberg-new 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.8?

Gutenberg 23.8 has been released and is available for download!

Version 23.8 continues to build on recent releases, adding shareable URLs and an in-editor code diff view to visual 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., email notifications for users mentioned in a note, major List View performance improvements on large posts, and a smoother writing flow that renders a real default 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. in place of the empty-canvas appender.

Visual revisions: Shareable URLs and a code diff view

A demonstration of the URL in the revision review to demonstrate the direct link to revision feature.

Visual revisions keep getting more capable. You can now link directly to a specific revision: opening a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org with a revision parameter takes you straight to that revision in the editor, and the address bar stays up to date as you move through history so sharing the exact change you’re discussing is as simple as copying the URL. Toggle the code editor to see the diff in code. (79934, 80314)

Email notifications for mentions in notes

Collaboration in the editor took another step forward: when someone @-mentions you in a note, you now receive an email letting you know, written in your own language and linking to the editor where the conversation is happening. This completes the mentions feature whose autocomplete UIUI User interface landed in a previous release. (79606)

Other notable highlights

The List View received a series of performance improvements that add up to a dramatically better experience on long posts. Opening it is faster thanks to a leaner rendering path that cuts most of its DOM nodes and skips a second render pass, expanding and collapsing sections triggers far fewer re-renders, and a freeze when selecting all blocks on large posts is gone. On a post with 1,000 paragraphs, “Select all” dropped from 16.8 seconds to 0.4 seconds. (81210, 80953, 80929, and others)

The empty canvas now renders a real default block instead of a lookalike appender, so what you see before typing is exactly what you get (81231). Along the same lines, a new block added next to an existing one now inherits its neighbor’s styling consistently, no matter how it was inserted (81250).

The experimental Playlist block became easier to work with: Audio blocks can transform into a Playlist and back, and you can select multiple audio files from the Media Library at once (80926). The Tabs block now shows each tab’s actual title in the Document Overview instead of a generic “Tab” label (81427) and supports Home and End keys for keyboard navigation (80912).

For developers, blocks can now declare their inner blocks template directly in registerBlockType() settings, applied synchronously at insertion (80027); @wordpress/element is importable in ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org 19 (80053); DataViews gained a time field type (80830) and configurable preview aspect ratios (79329); and @wordpress/ui now offers public Calendar and RangeCalendar components (81337).

Changelog

Features

Collaboration

  • Notes: Email users mentioned in a note. (79606)

Enhancements

  • Element: Make the package importable in React 19. (80053)
  • Interface: Let CSSCSS Cascading Style Sheets. own the ComplementaryArea width and use AnimatePresence custom for exit. (81363)
  • WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. Dashboard: Preserve widget chrome flex layout. (80570)
  • Normalize block gap values in layout. (81460)
  • Visual revisions: Add shareable urls. (79934)

Block Library

  • Block editor: Render a real default block in place of the default appender. (81231)
  • Block editor: Unify what a new sibling block inherits. (81250)
  • Blocks: Support static block templates in block type settings. (80027)
  • Feature: Tabs block: Consider using the tab title in the Document Overview instead of a generic “Tab” label. (81427)
  • Page List: Rename the Edit action to Detach and confirm it in a dialog. (80847)
  • Pass Playlist controls to track blocks. (80368)
  • Quote: Ensure paragraph placeholder appears after deleting nested blocks. (77151)
  • Table of Contents: Replace “Convert to static list” with confirmed “Detach” action. (80844)
  • Post Navigation Link: Use the ‘next’ icon. (81384)
  • Writing flow: Stop the caret on containers that do not merge with the text flow. (81456)
  • Playlist: Add track icon. (80959)

Components

  • Add allowForms prop to SandBox component. (76471)
  • DataViews: Add time field type and control. (80830)
  • DataViews: Make grid and table item preview aspect ratio configurable. (79329)
  • IconButton: Improve keyboard shortcut 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). (80402)
  • Icons: Move the inline image icon into the library. (81271)
  • SearchableChipSelect: Add form primitive to wordpress/ui. (80779)
  • UI: Add Combobox.InputGroup primitive. (80869)
  • UI: Add Calendar and RangeCalendar, moved from components private APIs. (81337)
  • UI: Derive Base UI direction from WordPress 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.. (80399)
  • UI: Use focus styles from base-styles. (80635)

Post Editor

  • Add opt-out for block style state controls. (80956)
  • Editor: Clarify autosave failure notice. (76470)
  • Editor: Migrate settings sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. to Tabs from wordpress/ui. (81054)
  • Notes: Display shortcut for form action buttons. (81064)
  • Visual revisions: Add a code diff view inside the editor. (80314)

Dashboard

  • Dashboard Widgets: Add icon and relevance to the widget action envelope. (81275)
  • Dashboard Widgets: Split action icons into wire and resolved forms. (81381)
  • Widget Dashboard: Host-tunable tile spacing via public custom properties. (81352)
  • Widgets: Carry a declarative icon through the widget pipeline. (80969)

Widgets Editor

  • Add ThemeProvider for adminadmin (and super admin) color schemes. (81173)
  • CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. widgets: Add ThemeProvider for admin color schemes. (81174)

Global Styles

  • Migrate font size presets to the shared preset layer. (79811)
  • Migrate shadows presets to use the preset management layer. (79812)

Bug Fixes

  • 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. coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. fixes for finalize route. (81465)
  • Boot: Adjust specificity of the image reset styles so components can size their own images. (80845)
  • Fix end-to-end tests that break when shard rebalancing changes their neighbors. (81117)
  • Fix: Add missing target to the webpack dev server proxy configuration. (81141)
  • Fix: Flaky autosave shareable URL revisions end-to-end test. (81455)
  • Fix: Flaky list view paste block styles end-to-end test. (81229)
  • Fix: Flaky revisions pagination end-to-end cross-page diff assertion. (81119)
  • Interface: Increase footer breadcrumb height to prevent focus ring clipping. (81145)
  • Views: Honor all developer-defined view configuration overrides. (80832)
  • Interface: Stop the secondary sidebar animating into place on page load. (81362)
  • Site editor: Fix sidebar item hover color. (81317)
  • theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema: Allow responsive states on block style variations. (81309)
  • Dashboard Widgets: Remove the Hello Dolly download action. (81272)
  • Decode HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities in Identity fields. (81269)
  • Make downloadable block item labels translatable. (81237)
  • Edit Widgets: Fix 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. toolbar button focus ring. (81176)
  • Fix template modified and date return value for file templates. (80733)

Block Editor

  • Background: Fix the legacy gradient UI where a gradient cannot be selected. (81056)
  • Block Inspector: Disable the ‘Edit original’ button when the entity ID is missing. (81288)
  • Copy: Preserve the block when its entire text is selected. (80994)
  • Disclose the nested block count of a multi selection. (80745)
  • Fix Escape from the block toolbar and stop redundant last focus dispatches. (81319)
  • Fix empty list block with anchor persisting after backspace deletion. (77000)
  • Fix overflowing block UI being covered after a block is moved. (80824)
  • Link Control: Restore the preview title underline. (81083)
  • Make the Group action wrap blocks with a group transform. (80891)
  • PanelColorSettings: Restore the missing space below the panel header. (81155)
  • Quote & List v2: Deleting empty list item should delete list block. (42503)
  • Return false from isBlockSelected when there is no client ID. (81212)
  • Style states: Fix state deselection when selecting the already selected block. (81277)
  • URLInput: Skip search requests while an IME composition is in progress. (80602)
  • Writing flow: Forward delete an empty paragraph without breaking apart the next block. (80813)

Block Library

  • Clarify the GIF Video variation description. (81181)
  • Fix: Tabs block: Start with empty tab labels with placeholders. (81009, 81429)
  • Media: Reword the HEIC upload error and keep it up until dismissed. (81130)
  • Navigation Overlay Close: Inherit typography and color from the overlay. (80751)
  • Playlist: Improve audio conversion and track selection. (80926)
  • Playlist: Normalize Waveform Player configuration handling. (81342)
  • Post Author Biography: Fix horizontal overflow with long unbroken text. (81018)
  • Remove the editableRoot opt-in from the paragraph block. (81184)
  • Video: Hide settings for the GIF variation. (81142)
  • Fix: Add optional chaining for empty reusable block (#81165). (81177)

Components

  • Button: Suppress UA focus ring when focused and pressed. (81113)
  • DataForm: Fix hidden fields validation. (81377)
  • DataViews: Fix array field type validation for empty values. (81378)
  • DataViews: Fix the between date 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. losing a manually typed date on blur. (81150)
  • DataViews: Pass only eligible items to a bulk action callback. (81198)
  • Scope breakpoint media queries to screen so printing does not look like a resize. (81367)
  • Theme: Omit color properties when neither provided nor inherited. (80600)
  • Admin UI: Reset the wp-admin li margin that misaligns Breadcrumbs. (81134)

Post Editor

  • Add ThemeProvider for admin color schemes. (81112)
  • DataViews: Move the rich text control into the editor package. (81430)
  • Editor: Fix document tools button focus ring. (81115)
  • Editor: Keep the canvas height stable while resizing the canvas. (81163)
  • Ensure device preview is always accurate when window is zoomed in. (81193)
  • Notes: Fix text wrapping for long usernames in collaboration sidebar. (81406)

Global Styles

  • Button: Turn on the width setting by default in theme.json. (81196)
  • Kebab-case preset slugs when converting references to custom properties. (80583)
  • Render element styles set only inside a breakpoint. (81265)
  • Report border, shadow, outline, filter and dimension changes. (81407)
  • theme.json schema: Fix block pseudo-classes and custom states. (81209)
  • theme.json schema: Responsive states belong to blocks. (81253)

Data Layer

  • Core Data: saveDirtyEntities: Improve messaging of server errors. (81151)
  • RTC: Fix mixed block selection awareness. (79836)
  • Footnotes: Guard against invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. post metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. values. (81201)
  • RTC: Remove excess autosave notices (when not useful). (80539)
  • Order site identity changes predictably. (81283)

Media

  • Cover client-side big image scaling and orphaned files. (81061)
  • Media Attached to: Fix issue with the popover unexpectedly flipping, tweak wording. (81206)
  • Upload Media: Fail the item when the /finalize request fails. (80725)

Style States

  • Fix phantom pseudo element style output. (81291)
  • Render viewport state element styles in the editor. (81307)

Collaboration

  • Notes: Fix the mention notification email composition. (81187)
  • RTC: Disable custom autosave controller when RTC is disabled. (80769)

Accessibility

  • Fix: New route-based admin pages are empty when no JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. (80628)
  • Interface: Remove incorrect aria-expanded from pin-to-toolbar button. (79874)
  • wp-build: Render the no-JS fallback in the generated page templates. (81365)

Block Editor

  • Block Mover: Add the keyboard shortcut to the buttons’ spoken description. (81380)

Components

  • Menu: Restore Modal focus return when menu items close. (81164)

Block Library

  • Tabs: Support Home and End keys for keyboard navigation. (80912)

Performance

List View

  • Fix Select all freezing on large posts. (81210)
  • List View: Collapse off-window placeholder rows into a single spacer row. (80953)
  • List View: Narrow the dependants of the memoized List View tree. (81129)
  • List View: Only subscribe to the block subtree for rows that can show images. (81076)
  • List View: Reduce per-row store subscriptions. (81136)
  • List View: Speed up opening by removing a forced style recalculation. (80929)
  • List View: Speed up opening by removing a second render pass. (80935)
  • List View: Pass only minimal required data to sub-tree branches. (81111)
  • List View: Split the context and drop dead props to cut re-renders on expand and collapse. (81159)

Documentation

  • Agents: Add a defensive data design skill and route to the copy guide. (81131)
  • Block JSON schema & PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher-only blocks: Add autoRegister support. (80173)
  • Block Library: Document security 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. releases. (81295)
  • Changed Build Process Link and remove unused tags. (81360)
  • CheckboxControl: Add “With Visual” Storybook story. (80849)
  • Components: Opt-in ConfirmDialog for auto-documentation. (80866)
  • Components: Use p elements for callout alerts in README documentation. (81234)
  • Docs: Add Block Actions Readme. (69408)
  • Docs: Add Block List Readme. (69432)
  • Docs: Add Block Lock Readme. (69434)
  • Docs: Add error message guidance. (81143)
  • Docs: Explain how the theme.json schema fixtures work. (81263)
  • Docs: Fix broken Figma links on the design resources page. (81166)
  • Docs: Fix broken link to the Node.js debugging guide. (81398)
  • Docs: Fix broken links to the removed 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 build setup guide. (81232)
  • Docs: Fix typo in block file structure guide. (81348)
  • Docs: Remove breakpoint-only element style example from global styles guide. (81308)
  • Docs: Remove dependency group import guidance. (81245)
  • Docs: Use gutenberg instead of Gutenberg in package name. (81051)
  • Document editEntityRecord’s options.isCached param. (81318)
  • Fix typos in code comments and JSDoc. (81045)
  • Navigation: Complete the DocBlocks for the responsive container and overlay style helpers. (80622)
  • Storybook: Enable design system theme tool globally. (81116)
  • ToggleControl: Add “With Visual” Storybook story. (80803)
  • View Config: Add reference documentation. (81149)
  • Widget Primitives: Document actions as verbs, not links. (80974)

Code Quality

  • Block Supports: Guard against non-string attribute values to avoid fatal errors. (80501)
  • Blocks: Declare the @types/react-is devDependency. (81203)
  • Blocks: Update hpq to 1.4.0 and drop the ts-expect-error suppressions. (81199)
  • CI: Resolve Playwright through the workspace that declares it. (81137)
  • Declare missing prettier and stylelint workspace dependencies. (81065)
  • ESLint: Define dependency import rules. (81246)
  • ESLint: Drop @eslint/compat fixup for jest-dom and testing-library. (80842)
  • Ignore node_modules in schema integration test globs. (81013)
  • Jest Preset Default: Support self-referencing via exports. (80837)
  • Report Flaky Tests: Declare @types/node dependency. (80838)
  • Storybook: Move smoke-test deps into the storybook workspace. (81017)
  • Storybook: Use SelectControl in Motion tokens story. (80790)
  • Tools: Make agent setup a workspace. (81418)
  • Tools: Use native agent skill discovery. (80811)
  • Unit Tests: Reorganise the jest configuration file. (80940)
  • View config: Lowercase dynamic filter names. (81068)
  • Views: Add React to the package’s dev dependencies. (81139)
  • DataViews: Use the public @wordpress/ui Badge instead of the private one. (81236)
  • Remove unused duplicate font family preview utilities. (81194)
  • Media Editor: Render sidebar tabs via ComplementaryArea’s render prop. (81133)
  • Fix ESLint errors for ‘navigateRegionsProps’ spread. (81052)
  • Replace deprecated useResizeObserver for useScaleCanvas. (67508)

Components

  • DataViews: Remove kebabCase private import by inlining it. (81284)
  • DataViews: Vendor validated form controls:
    • ValidatedCheckboxControl (81435)
    • ValidatedNumberControl (81433)
    • ValidatedRadioControl (81434)
    • ValidatedSelectControl (81391)
  • Deprecate Animate. (80931)
  • Deprecate Surface. (80943)
  • ESLint: Remove legacy import suppressions. (81338)
  • Keycodes: Make withIgnoreIMEEvents a public 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.. (81343)
  • Migrate ItemGroup to SCSS module. (80797)
  • Migrate Spinner styles from Emotion to SCSS module. (80511)
  • New kebab-case package: Extract utility and migrate private API calls. (81294)
  • Theme: Colocate 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. tests with implementations. (81247)
  • Types: Replace remaining @ts-expect-error suppressions with proper typing. (81200)
  • UI: Upgrade React DayPicker to version 10. (81439)
  • Update Ariakit packages. (80765)
  • Update Floating UI to 2.1.9. (80761)
  • Update react-day-picker to 9.14.0. (80792)
  • Remove ValidatedTextControl private API. (80680)

Block Editor

  • Bail out of hasSelectedInnerBlock when there is no clientId. (81315)
  • Convert useBlockVisibility hook to TypeScript. (80390)
  • Format Library: Remove unused CSS rule. (77831)
  • List View: Migrate label wrapper to UI Stack and drop Badge from the anchor. (81266)
  • Simplify InspectorControlsFill rendering logic. (81286)
  • Spacing Sizes Control: Make the control label translatable independently of the input aria label. (81240)
  • URLInput: Simplify keyboard handling and fix arrow keys with a text selection. (80780)

Block Library

  • Cover: Avoid passing null as the featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. size. (81444)
  • List View: Replace expand/collapse callbacks with reducer dispatch. (81138)
  • Query: Guard non-scalar queryId to avoid fatal in enhanced pagination. (80724)

Data Layer

  • Core Data: Add missing wordpress/base-styles dependency. (81012)
  • ESLint: Replace strict configuration with bulk suppressions. (81248)

Post Editor

  • Editor: Remove sidebar tabs focus sync effect. (81020)
  • Rename blockStatesEnabled setting to blockStatesEditingEnabled. (81058)

Tools

  • AGENTS: Update development tips section. (81224)
  • Revise CODEOWNERS for package ownership (removing nerrad). (81175)
  • ESLint: Ban @ts-ignore in favour of @ts-expect-error. (81148)

Testing

  • Automated Testing: Add Storybook component documentation regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. testing. (80655)
  • CI: Add job timeouts to E2E, static checks, bundle size, and create block. (80801)
  • CI: Build once and reuse the build across end-to-end tests shards. (81031)
  • CI: Cache the system packages Playwright downloads for WebKit. (80846)
  • Fix: Trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. end-to-end failures caused by the navigation spec leaving plain permalinks. (81238)
  • Flaky tests: Fix router navigate latest HTML. (80178)
  • Perf Tests: Merge selection event windows instead of summing durations. (81002)
  • Performance Tests: Ignore the locally generated artifacts directory. (81024)
  • Perf Tests: Avoid inflating interaction metrics with startTracing. (81264)
  • Remove content types experiment. (81340)
  • Remove the jest-puppeteer-axe package. (80775)
  • Storybook e2e: Add small, compact and icon examples to button matrix. (80793)
  • Test: Add Vitest migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. routing guardrails. (81036)
  • Test: Add private Vitest configuration and migrate a pilot test. (81037)
  • Tests: Replace page-level selectors with locators in end-to-end specs. (81053)
  • Upgrade Playwright to v1.62. (81001)
  • Balance Playwright shards by duration. (79479)

Build Tooling

  • Allow organization or repository variable to dictate the Actions runner. (81087)
  • Build: Wrap script bundles in an IIFE to contain ‘use strict’. (79792)
  • Components: Update polymorphism types to allow all attributes when specifying as. (80705)
  • Docs: Add VS Code setup guidance. (77913)
  • ESLint: Rename root eslint.config.cjs to eslint.config.mjs. (81468)
  • Ensure static checks can run for private mirrors. (80817)
  • Flaky tests: Report as a PR comment only, stop creating issues. (81218)
  • Markdownlint: Disable the MD033 (no-inline-html) rule project-wide. (81213)
  • Monitor all setup-related composite Actions. (81192)
  • Packages: Recover July 29 npm release metadata. (81303)
  • Scripts: Prevent a UTF-8 BOM in the middle of extracted CSS. (81383)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@adamsilverstein @adrianmoldovanwp @adithyanaik @aduth @ajlende @alecgeatches @amitraj2203 @andrewserong @aslushnikov @chihsuan @mciampini @desrosj @dhasilva @dhruvik18 @dognose24 @mehtadev @linewebdigital @ellatrix @getdave @giteshsarvaiya @hbhalodia @im3dabasia @ingeniumed @itzmekhokan @joen @jorgefilipecosta @juanfra @makdia @Mamaduka @manzoorwanijk @mcsf @mirka @nerrad @ntsekouras @oandregal @pranjal4804 @priethor @rishabhwp @ramonopoly @retrofox @scruffian @shailu25 @simison @SirLouen @SteveJonesDev @wildworks @talldan @isabel_brison @williamvianas @westonruter @yogeshbhutkar @youknowriad @yvett

Props

Special thanks to @joen for review and providing assets for this post. Thanks to @mamaduka, @jorgefilipecosta, @adamsilverstein, and @dhruvang21 for reviewing the post. Thanks to @bernhard-reiter, @mcsf, @aduth, @tyxla, @jsnajdr, and @wildworks for help throughout the release process.

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

Dev Chat summary: August 18, 2026

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

Announcements 📢

7.1

  • 7.1 RC3 was released on August 12th.
  • The Accessibility Improvements dev notedev 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. was published.
  • 7.1 RC4 was released on August 17th.
  • WordPress 7.1 Field Guide
  • As of Aug 10th, 7.1 is branched. Committers: Trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. is open for 7.2 and the 7.1 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". requires double sign off.
  • Learn more about WordPress 7.1 Release Day Process.

@amykamala mentioned that commit freeze is currently in effect until Wednesday post-release.

From @joedolson: “Nothing else to share from the release squad. At the moment, everything is looking like it’s in good shape for the release.” 🚀

7.2

General

Discussion 💬

From @amykamala

“Dev chat scheduling! Back to Wednesdays next week?”

ℹ️ We will indeed move back to the regular schedule starting next week: Wednesdays at 15:00 UTC.

From @jeffpaul

More a 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. thing than coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., but it sounds like https://meta.trac.wordpress.org/ticket/1181 had some folks at WCUS discussing it this week.  So if anyone has interest or experience there, commenting with feedback on the ticketticket Created for both bug reports and feature development on the bug tracker. would be helpful.

#7-1, #7-2, #core, #dev-chat

Dev Chat Agenda – August 18, 2026

The next WordPress Developers Chat will take place on Tuesday, August 18, 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 📢

Note: Dev Chat has been moved to Tuesdays at 15:00 UTC for the duration of the 7.1 release cycle.

7.1

  • 7.1 RC3 was released on August 12th.
  • The Accessibility Improvements dev notedev 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. was published.
  • 7.1 RC4 was released on August 17th.
  • WordPress 7.1 Field Guide
  • As of Aug 10th, 7.1 is branched. Committers: Trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. is open for 7.2 and the 7.1 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch". requires double sign off.
  • Learn more about WordPress 7.1 Release Day Process.

7.2

General

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-1, #7-2, #agenda, #core, #dev-chat

WordPress 7.1 Release Day Process

Preparation for the WordPress 7.1 release is underway.

This post shares the release process, including the timeline and how you can help.

Release Timeline Overview

Extended Code Freeze

A mandatory code freeze will be in effect from August 17, 2026 at 14:00 UTC through the General Release on Wednesday, August 19. It begins one hour ahead of the RC4 release at 15:00 UTC, which is followed immediately by the Dry Run. Committing does not reopen once the Dry Run is complete. At the request of the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers, the freeze has been extended beyond the usual 24 hours, so everyone has time to verify the release in full before it ships.

What does this mean?

No source code for 7.1.0 (i.e., in the 7.1 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".) can be changed during the code freeze.

What happens if a critical bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. is reported during this period?

The release squad will meet with committers and maintainers to determine if the issue is a blockerblocker A bug which is so severe that it blocks a release..

  • If it is, another RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). release happens and the release process restarts,
    meaning the Dry Run repeats and the code freeze starts again.
  • If it is not, the bug is targeted for the 7.1.1 release.

The Release Party

The WordPress 7.1 release party will run in two parts.

Part one is scheduled on August 19, 2026 at 19:45 UTC in the #core Slack channel and covers the release process itself.

Part two will take place live on stage at 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. US in Phoenix and will also be streamed. From August 19, 2026 at 23:10 UTC, WordPress 7.1 will be published from the event. The party in the #core Slack channel continues alongside it, where the remaining release tasks are completed.

The release party walks through the steps in the Major Version Release process if you want to follow along.

Please note: releasing a major version requires more time than releasing 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. or 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).. There are more steps in the process. If any last-minute issues need addressing, those issues will take more time, as well.

How You Can Help

A key part of the release process is checking that the .zip packages work on all server configurations. If you have any less commonly used servers available for testing (IIS, in particular), that would be super helpful. Servers running older versions of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com will also need testing.

You can start this early by running the WordPress 7.1 RC packages, which are built using the same method as the final packages.

During the release party, you will be instructed on several ways to help test the release package.

Tips on What to Test

In particular, testing the following types of installs and updates would be much appreciated:

  • Does a new WordPress install work correctly? This includes running through the manual install process, as well as WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ or one-click installers.
  • Test upgrading from various versions.
  • Remove the wp-config.php file and test a fresh install.
  • Test single site and multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site/networknetwork (versus site, blog) (both subdirectory and subdomain) installations.
  • Does it upgrade correctly? Are the files listed in $_old_files removed when you upgrade?
  • Does multisite upgrade properly?

Testing the following user flows on both desktop and mobile would be great to validate each function as expected:

  • Publish a post, including a variety of different blocks.
  • Comment on the post.
  • Install a new 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./theme, or upgrade an existing one.
  • Change the site language.
  • If you’re a plugin developer, or if there are complex plugins you depend upon, test that they’re working correctly.

For a more in-depth list of what features to test, make sure to check the Help Test WordPress 7.1

Props to @amykamala, @benjamin_zekavica, @westonruter, @joedolson and @wildworks for help reviewing to this post. 

#7-1, #development, #dry-run, #releases

WordPress 7.1 Release Candidate 4

The fourth 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). (“RC4”) for WordPress 7.1 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 RC4 on a test server and site.

Reaching this phase of the release cycle is an important milestone. While release candidates are considered ready for release, testing remains crucial to ensure that everything in WordPress 7.1 is the best it can be.

You can test WordPress 7.1 RC4 in four ways:

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.Install and activate the WordPress Beta Tester plugin on a WordPress install. (Select the “Bleeding edgebleeding edge The latest revision of the software, generally in development and often unstable. Also known as trunk.” channel and “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./RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). Only” stream).
Direct DownloadDownload the RC4 version (zip) and install it on a WordPress website.
Command LineUse the following WP-CLI command: wp core update --version=7.1-RC4
WordPress PlaygroundUse the 7.1 RC4 WordPress Playground instance to test the software directly in your browser without the need for a separate site or setup.

The scheduled final release date for WordPress 7.1 is August 19, 2026. The full release schedule can be found here. Your help testing RC versions is vital to making this release as stable and powerful as possible.

Please continue checking the Make WordPress Core blog for 7.1-related posts for more updates and information.

What’s in WordPress 7.1 RC4?

WordPress 7.1 RC4 contains more than 26 updates and fixes since the RC3 release, including 8 in the Editor and 18 in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress..

Want to look deeper into the details and technical notes for this release? Take a look at the WordPress 7.1 Field Guide. For technical information related to issues addressed since WordPress 7.1 RC1 release, you can browse the following links:

How you can contribute

WordPress is open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. software made possible by a passionate community of people collaborating on and contributing to its development. The resources below outline various ways you can help 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.1 RC4 version is key to ensuring that the final release is the best it can be. While testing the upgrade process is essential, trying out new features is equally important. This detailed guide will walk you through testing features in WordPress 7.1.

If you encounter an 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 bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. 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.1 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.1

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.

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 (RC4) also marks the hard string freeze point of the 7.1 release cycle.

An RC4 haiku

The code goes quiet,
we run it through once for real—
Phoenix waits ahead.

Props to @amykamala, @krupajnanda, @wildworks and @annezazu for proofreading and review.

#7-1, #development, #release