Introducing Ipsum, the new default theme

Ipsum is the proposal for the next default theme, planned to be bundled in WordPress 7.2. It is an intentionally minimal blogblog (versus network, site) theme that centers on a blank canvas to make your own, with built-in room for creativity. The approach for this theme also marks a move away from year-based naming, based on direction from @matt. Going forward, default themes will have their own names and change when the design calls for it, not when the calendar does. The road to 7.2 is short, so we’re opening Ipsum for testing now—the sooner we get feedback, the more it will shape the release.

How we got here

Months ago, we began to develop the default theme, building real demo pages directly in the Editor rather than in Figma mockups. That work started as Mētis, a theme for writers, makers, and thinkers, designed to showcase the design possibilities 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/ now offers. After reviewing the direction with Matt, we shifted: the default theme bundled with WordPress should be the simplest possible starting point, and the more expressive design can still stand.

There’s a principle behind this choice: build in public, and ship. Mētis is a powerful theme that’s diverse and opinionated, with lots of ways to stretch what’s there. However, Matt gave clear direction to go with a simpler blank canvas style approach that could appeal more quickly to more people to make their own. That’s why we picked a blank canvas blog design and are sharing it with the public for suggestions, instead of making Mētis the one. Real artists ship.

Mētis remains a separate theme that won’t ship with this release. Our new flagship theme will have its own post as soon as it’s ready to download and test.

Image
Image
Image
Image
Image
Image

About the design

Ipsum is a blank canvas built around the blogging experience, our proposal for what this year’s default theme should be. Named after lorem ipsum, the placeholder that fills a page until real content arrives, it is composed enough to stand on its own and to be transformed the moment people start writing.

It keeps the page quiet: dotted underlines from an editor’s pencil, a handful of typesets, and style variations that re-ink the whole page, images included. Every combination passes WCAGWCAG WCAG is an acronym for Web Content Accessibility Guidelines. These guidelines are helping make sure the internet is accessible to all people no matter how they would need to access the internet (screen-reader, keyboard only, etc) https://www.w3.org/TR/WCAG21/. AA. Headers, heroes, and sidebars are there when you reach for them, but remain invisible when you just want to write.

What’s available today reflects the design work; development review is still ahead. The window before 7.2 is tight, so this is a focused ask: try it and tell us what breaks and what’s missing. We’ll fold in what we can before the release; what we can’t will shape the updates that follow, as it does for every default theme.

Development

As part of the 7.2 release, Carolina Nymark (@poena), Maggie Cabrera (@onemaggie), and Juanfra Aldasoro (@juanfra) are leading development, while Henrique Iamarino (@iamarinoh) is leading design and theme building. The current build reflects the design work; the formal development review comes next, folding in what we hear from you along the way—we look forward to your involvement throughout the process.

Learn more

For information about previous default themes, read the following posts:

Here are a few resources if you’re interested in learning more about 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. Themes and the Site Editor:

+make.wordpress.org/themes/

#7-2, #bundled-theme, #core-themes, #ipsum, #metis

Dev Chat Agenda – September 16, 2026

The next WordPress Developers Chat will take place on Wednesday, September 16, 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 📢

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

What’s new in Gutenberg 24.0? (16 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.

Image

What’s new in
Gutenberg 24.0?

Gutenberg 24.0 has been released and is available for download!

This version extends 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. to include the post title, gives 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. a grid layout with per-breakpoint controls, and lets a site title scale to the width it is given.

Visual revisions now cover the post title

Visual revisions have been growing over the last few releases, and until now the post title sat outside them. In 24.0, the title participates like any other piece of content, including displaying change diffs directly in the post title (#82536, #82586).

Seeing it in the same view as body changes removes the need to guess when a rename happened.

The Gallery block gains a Grid variation that can be switched on from the block inspector, replacing the default non-editable flex layout with a fully customizable grid (#81909).

“Column count” and “Crop images to fit” can now also be set per breakpoint through viewport states. A gallery can show four columns on a wide screen and two on a tablet without any custom CSSCSS Cascading Style Sheets. (#82003).

Site titles that fill their available space

The Site Title block now supports fit-text (#82074). Toggle it on from the ellipsis menu in the typography panel and the title scales to the full width available to it, rather than being sized in points and left to wrap or fall short.

Other notable highlights

  • A redrawn icon set. Nearly 100 icons have been redrawn from a mix of filled and outlined shapes into a single, consistently stroke-based visual language (78812, 78808, 82338).
  • Tab indents lists. In the List block, Tab and Shift+Tab now indent and outdent a fully selected list item, and work across a multi-item selection instead of only at the caret (82460, 82411).
  • Background images from a URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org. Background image support can now accept an image URL, rather than requiring an entry in the Media Library (82230).
  • Non-breaking spaces are visible. The format library now visualizes non-breaking spaces, so a character that silently changes wrapping is no longer invisible while editing (74040).

Changelog

Enhancements

Components

  • Add defaultShown, onShownChange to ToolsPanelItem. (78010)
  • Border Box Control: Try moving the unlink button to the label row, and rename the panel to Borders. (82163)
  • Breadcrumb: Add UIUI User interface component. (80425)
  • DataForm: Add a showPlaceholderIfEmpty option to the panel layout. (82527)
  • DataForm: Communicate the timezone in the datetime control. (82291)
  • Editor: Migrate post-card-panel Badge to UI Badge. (82500)
  • Global Styles UI: Migrate revisions Active Badge to UI Badge. (82560)
  • Icons: Redraw 35 prominent icons with consistent stroke widths. (78808)
  • Icons: Redraw 64 icons to be stroke-based. (78812)
  • Menu: Stabilize portaled 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. 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.. (82092)
  • Menu: Support multiple item descriptions. (81825)
  • Menu: Use Text for item labels and descriptions. (82237)
  • SearchableSelect: Add form primitive to wordpress/ui. (80961)
  • Storybook: Persist 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. theme in URL. (82111)
  • Support isAny and isNone 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. operators for numeric fields. (77942)
  • Tab Panel: Show focus with outline instead of legacy box-shadow ring. (82421)
  • Text: Use pretty wrapping by default. (82133)
  • Theme: Build default ramps before token artifacts. (82525)
  • Theme: Reduce repeated color ramp search work. (82545)
  • UI: Add CheckboxControl. (82213)
  • UI: Add Combobox and Autocomplete Status. (82195)
  • UI: Add popupWidth prop to item popup components. (82087)
  • UI: Add Radio form primitive. (82214)
  • UI: Align overlay Trigger props with Base UI. (81824)
  • UI: Put overflow on Select.List instead of a nested wrapper. (82470)
  • UI: Rename Popup popupWidth prop to width. (82193)
  • UI: Reset completed calendar ranges by default. (82612)
  • UI: Support custom targets on Link and Menu.LinkItem. (82347)
  • UI: Use root theme for portaled overlays. (82038)
  • Validated form controls: Use design token for invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. focus rings. (82410)

Block Library

  • Math: Declare clientNavigation interactivity support. (82248)
  • Allow themes to override the padding added via background color. (82024)
  • Audio: Update autoplay help text for clarity. (69978)
  • Enable Gallery columns and crop controls in viewport states. (82003)
  • Icons: Convert Search icon to strokes. (82338)
  • List: Indent and outdent a fully selected list item with Tab. (82460)
  • List: Indent and outdent multi-selected items with Tab. (82411)
  • 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: Rename the “Keyword” filter to “Search terms” and add help text. (82387)
  • Query: Replace the “Reload full page enabled” modal with a snackbar notice. (82246)
  • Site title: Add fit-text support. (82074)
  • Try adding a Grid block variation to Gallery. (81909)
  • Update navigation link block name, use a default variation for custom link. (82375)
  • Use ‘useEntityProp’ in Site Title and Tagline blocks. (82518)
  • Video block: Switch to UI Badge. (82441)
  • feat: Introduce ‘Add Media’ in the block controls for media-text block. (82420)

Post Editor

  • Autocompleters: Consider email address context in user mention. (47249)
  • CSS Styling: Represent focus with outline for list view component. (82129)
  • DataViews: Append an ellipsis to action labels that open a dialog. (81994)
  • Editor: Refactor the Options menu to use the Menu component. (81564)
  • Editor: Refactor the View menu to use the Menu component. (82321)
  • Editor: Render change diffs in the post title in revisions. (82586)
  • Editor: Show revision data in Post Title component. (82536)
  • Media: Attach unattached media to the current post on save/publish. (81977)
  • Menu: Align selection indicators and prefix icons with item labels. (82346)
  • Post slug: Prefer server sanitization in the editor. (78135)
  • Try: Add “reading settings” link to Front Page template. (81987)

Site Editor

  • Add New Template: Show the design system focus ring instead of legacy box-shadow rings. (82164)
  • Add a root error boundary to prevent a blank screen. (82486)
  • Site editor v2: Identity takes its form from the view configuration endpoint. (82692)
  • Site editor v2: Navigation takes view configuration from endpoint. (82138)
  • Site editor v2: Pages take view configuration from endpoint. (82140)
  • Site editor v2: Patterns take view configuration from endpoint. (82458)
  • Site editor v2: Template parts take view configuration from endpoint. (82457)
  • Site editor v2: Templates take view configuration from endpoint. (82456)
  • Site editor v2: Use the canonical template fields in the templates list. (82666)
  • Site editor v2: Use the canonical wp_block fields in the patterns list. (82672)

Block Editor

  • Background image: Support setting the image from a URL. (82230)
  • BlockPreview: Assert preview contents are inert. (82682)
  • Format library: Visualise non-breaking spaces. (74040)
  • List View: Disable block icon colors while the block is selected. (82498)
  • Show the block outline where the grab cursor shows. (81798)
  • Tab trap escape hatch: Leave/enter the canvas with Escape/Enter. (82314)

Dashboard

  • Site Health 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.: Route the body’s review link through the host. (82066)
  • Widget Dashboard: Add a Policy provider to govern what users may do. (81967)
  • Widget Dashboard: Enforce the policy on the staging layer for every instance operation. (82256)
  • Widget Dashboard: Govern Reset to default through the policy. (82255)

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

  • Add unregister to remove a registered middleware. (82408)
  • Expose defaultFetchHandler so overrides can restore it. (82553)
  • api-fetch: Resolve to null for a 200 response with an empty body. (79325)

Media

  • Media Editor: Refactor the panel layout. (81840)
  • Media Fields: Pass the field’s disabled state to the textarea controls. (82516)
  • Media editor: Lock the editing tools while a save is running. (82417)

Widgets Editor

  • Widgets: Surface debugging details in the ErrorBoundary. (82099)
  • Widgets: Use the layout icon for widget areas. (82025)

Fields

  • Migrate page-title Badge to UI Badge. (82499)

Data Layer

  • Privacy policy page badge: Make it visible in Site Editor > Pages and Editor Inspector. (82422)

Widget Dashboard

  • Make the column count a host decision. (82204)

Grid

  • Per-item tile size limits. (81899)

Bug Fixes

  • CI: Do not immediately fail the type label check on a newly opened pull request. (82322)
  • Fix LocationPicker popover alignment. (82090)

Components

  • BorderBoxControl: Make sure the group of controls is associated with the label. (82279)
  • DataForm: Render untyped fields without an edit control that are read-only. (82514)
  • DataForm: Treat combined form fields purely as layout containers. (82175)
  • DataViews: Fix Field.sort TypeScript type definition. (82162)
  • DataViews: Restrict the isAll filter operator to array fields. (82463)
  • DataViews: Scope the search field’s fixed width to the default UI search row. (82128)
  • DataViews: Skip table columns for field ids without a field definition. (82601)
  • Disabled: Keep the consumer className when isDisabled is false. (82648)
  • Fieldset: Fix gap token to match spec. (75479)
  • Fix: Alert dialog box cancel button color. (82261)
  • FormTokenField: Wrap to the last suggestion when pressing ArrowUp with nothing selected. (82646)
  • Inserter: Keep the block preview inside the viewport. (82060)
  • Keep foreign items out of a ToolsPanel menu. (82127)
  • Searchable selects: Hide creatable footer when it is filtered out. (82566)
  • Snackbar: Restart timeout when a notice is recreated. (81764)
  • Theme: Enforce active fill contrast. (82542)
  • Theme: Make chroma capacity caching deterministic. (82505)
  • Theme: Remove chroma capacity cache. (82591)
  • ToggleGroupControl: Honor the root disabled prop. (82259)
  • UI, DataViews: Give input and selection controls solid backgrounds. (82391)
  • UI: Fix Link target detection. (82447)
  • UI: Fix Menu.LinkItem target detection. (82442)
  • UI: Fix Minimal Select popup width. (82461)
  • UI: Fix enabled input placeholder contrast. (82304)
  • UI: Hide Input field ring when a slot control is focused. (82257)
  • UI: Keep borderless InputLayout chrome when disabled. (82468)
  • UI: Keep focus rings visible in overlay content. (82443)
  • UI: Name unlabeled form primitive stories. (82311)
  • UI: Re-read the native validity on blur in ControlWithError. (82376)
  • UI: Remove ValidityIndicator outer margin. (82267)

Block Library

  • Accordion Panel: Reset padding-block when panel is hidden. (81782)
  • Fix categories block handling of invalid 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.. (82153)
  • Fix: Footnote IDs can start with a digit and break CSS selectors. (82398)
  • Fix: Tabs block: Anchor links in tab panels are not functional. (81744)
  • Gallery block: Fix ‘Crop images to fit’ broken in editor. (82318)
  • Gallery: Shorten “Use images attached to the post” button, add description. (82617)
  • Image block cropping: Sync image size and link destination settings. (82316)
  • List: Merge into the previous line on Backspace instead of outdenting. (82145)
  • List: Outdent an empty middle item without adding an item. (82011)
  • Navigation: Restore flex-grow on container when accessible label is present. (78447)
  • Query Loop: Fall back to post when the query has no postType. (82465)
  • Query: Don’t write excludeCurrent into blocks that never had it. (82147)

Block Editor

  • Columns: Fix appender drop zone visibility when dragging into empty column. (77852)
  • DOM: Exclude visibility-hidden elements from focusable results. (82574)
  • Fix auto-capitalization after Enter on iOSiOS The operating system used on iPhones and iPads. Safari. (82475)
  • Fix editor link colour cascade order for nested blocks. (77833)
  • Fix: Responsive horizontal orientation does not override a vertical layout. (82364)
  • Fix: Retain focus and caret position after Backspace undo of a prefix block transform. (82116)
  • List View: Don’t focus the last Table cell on keyboard activation. (81964)
  • Rich text: Restore contenteditable on pointercancel. (82598)
  • Writing Flow: Bail out of Enter handling when no block is selected. (82424)

Post Editor

  • Editor: Deprecate the as prop of the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. menu item components. (82319)
  • Editor: Derive post-only block list layout from the assigned template. (82599)
  • Editor: Store the finalize response as the attachment record. (81947)
  • Fields: Hide the slug field for posts without a permalink. (82341)
  • Media: Refuse a multi-file drop on a placeholder that takes one file. (82046)
  • Media: Stop claiming “Upload complete” when every upload failed. (81397)
  • 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: Move meta box markup with moveBefore to keep classic editors alive. (82243)
  • Post URL: Translate the copy permalink button label. (82642)

wp-build

  • Build Package: Restore CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Boot layout compatibility. (82112)
  • Build: Allow wp-theme 2.x peer deps. (82139)
  • Build: Fix regular CSS injection in Vitest Browser Mode. (82154)
  • Pages: Require authentication and a capabilitycapability capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). to render generated standalone pages. (82254)

Data Layer

  • Core Data: Return a stable record for equivalent _fields queries. (82552)
  • Core Data: Scope revisionId to the entity it is provided for. (82517)
  • DataViews: Clamp page after delete. (82244)

Client Side Media

  • Media: Keep indexed PNG sub-sizes indexed. (81884)
  • Media: Only blame the browser’s codecs when HEIC really cannot be decoded. (82265)
  • Media: Report server upload failures in plain language. (81735)

Site Editor

  • Boot, Site Editor: Seed content surfaces with default background color. (81646)
  • Fields: Remove unused custom sort from the author fields. (82559)

Global Styles

  • Global styles engine: Return a copy from getResolvedValue instead of mutating. (82278)
  • Resolve theme-relative background image URLs for display. (82242)

Env

  • wp-env: Fix Docker build errors with Debian Bullseye repositories. (82478)

Layout

  • Fix: Restore layout styles for block style variations. (82335)

Format library

  • Fix Edit as HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. crash with background-only highlight. (82215)

Views

  • useViewConfig: Don’t request the view configuration twice. (82141)

Dashboard

  • Widget Dashboard: Keep the plain anchor for an empty-string download. (82073)

Font Library

  • Keep CSS custom properties unquoted in font previews. (82010)

Fields

  • Fix pattern export filenames by normalizing special characters. (77033)

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)

  • Workflow: Replace cmdk with the wordpress/ui Autocomplete primitive. (82504)

Components

  • Match the wordpress/ui disabled styles in form controls. (82454)
  • ProgressBar: Respect reduced motion preferences. (82490)

Connectors screen

  • Fix help paragraph color contrast ratio in the Connectors page. (82378)

Guidelines

  • Fix: Content Guidelines: UXUX User experience/UI Accessibility issues. (80306)

Post Editor

  • Standardize ‘Back’ and ‘Go back’ labels. (79211)

Performance

  • Tests: Skip pull requests that only change Storybook stories. (82459)

Themes

  • 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.: Avoid rebuilding identical block schemas during sanitization. (82203)

Components

  • Cut the ToolsPanel render cascade. (82180)

Style States

  • Block Supports: Bail early in state styles when a block has no style attribute. (81908)

Block Editor

  • Rich text: Resolve owned event listeners once instead of per subscriber. (80605)

Experiments

  • Editor assets endpoint: Prime the theme JSON resolver before capturing. (82134)

Post Editor

  • ExtensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software. site editor: Add a revisions entry point to the Styles route. (82142)
  • Media Modal Experiment: Allow filtering by attached to the post, or unattached. (81974)

Block Library

  • Remove the form blocks experiment. (82451)

Block Editor

  • Block Fields Media: Handle ‘audio’ in chooseItemLabel. (82389)

Site Editor

  • Extensible site editor: Fall back to the raw title in edit route document titles. (82143)
  • Extensible Site Editor: Let menu items be added from the navigation screen. (82125)

Documentation

  • API Fetch: Rename defaultFetchHandler parameter to options. (82588)
  • Add recommended bulk suppressions configuration for ESLint VSCode. (82303)
  • Components: Add an Emotion-to-SCSS migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. skill and guide. (82567)
  • DataViews: Add hierarchical levels story. (82344)
  • DataViews: Document that table column styles do not apply to the primary column. (82238)
  • DataViews: Remove the rich text options from the control configuration type. (82330)
  • Docs: Document isolated worktree setup. (82524)
  • Docs: Explain when the Cover block’s overlay controls appear. (82234)
  • Docs: Fix grammar in documentation. (82032)
  • Docs: Improve setAttributes updater function wording. (82405)
  • Docs: Update Playground CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. wording. (77579)
  • Document every type for DataViews/DataForm/Field API. (82326)
  • Fix spelling typos in documentation and inline comments. (82217)
  • Menu: Correct alignment documentation and changelog. (82455)
  • Packages: Add cross-version compatibility skill. (81890)
  • Popover storybook: Add infotip with link example. (82653)
  • Remove invalid references to Babel in packages README. (82176)
  • Storybook: Demonstrate light, dark, and nested themes. (82039)
  • Theme: Clarify color seed and warning guarantees. (82526)
  • Theme: Move post-release changelog entry to Unreleased. (82093)
  • UI: Add Form best practices Storybook page. (82197)
  • Update Style Engine block supports documentation. (82585)

Code Quality

  • CI: Pin npm version in the private API check job. (82222)
  • CodeRabbit: Disable the review status comment. (82534)
  • CodeRabbit: Only review on request, keep PR descriptions untouched. (82448)
  • 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 lib/ docblocks. (81902)
  • Docs: Align param tag columns in phpunit/ docblocks. (81904)
  • Docs: Remove the blank line between param and return in test docblocks. (81907)
  • Packages: Exclude src from block-serialization-default-parser package. (77307)
  • Performance tests: Reuse the plugin an earlier 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. run already built. (82223)
  • Replace npm-run-all with native npm script chaining. (82166)
  • Reusable Blocks: Remove leftover merge conflictconflict A conflict occurs when a patch changes code that was modified after the patch was created. These patches are considered stale, and will require a refresh of the changes before it can be applied, or the conflicts will need to be resolved. markers from the changelog. (82126)
  • list-reusable-blocks: Exclude src from published files. (77305)

Components

  • Add compound component composition diagnostics. (82509)
  • Adminadmin (and super admin) UI: Exclude src from published files and sideEffects. (77285)
  • Block editor, Components: Stop relying on Disabled class name. (82651)
  • DataViews layout storybook: Action names and primary status. (82104)
  • DataViews: Declare dependencies imported by the ./wp bundle. (81843)
  • Icons: Remove the obsolete forced colors mode hack. (82481)
  • Migrate remaining JSX files to TypeScript. (82132)
  • Theme, Widget dashboard: Declare the @storybook/addon-docs dependency. (82676)
  • Theme: Migrate Terrazzo modes to resolvers. (82537)
  • UI: Drop Status and Empty live region test assertions. (82300)
  • UI: Remove ESLint ref suppressions and refactor AlertDialog state. (82131)
  • UI: Remove unused outset-ring–focus-within-visible class. (82077)
  • UI: Test Calendar raw-offset timezones directly. (82658)
  • UI: Validate compound component context. (82510)

Block Editor

  • CSS Styling: Cleanup focus outline override for grid component. (82337)
  • Migrate __experimentalText and __experimentalHeading to wordpress/ui Text in Inspector Popover 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.. (77449)
  • Migrate __experimentalText to wordpress/ui Text in Allowed Blocks Modal. (78119)
  • Migrate __experimentalText to wordpress/ui Text in Block switcher bindings hint. (77366)
  • Migrate __experimentalText to wordpress/ui Text in Pattern Overrides Dropdown. (77492)
  • Span the writing flow focus capture elements over the canvas. (82354)
  • TypeScript: Migrate format-library package to TS. (79486)

Post Editor

  • Block Editor: Remove the dead Write/Design editor tool plumbing. (82677)
  • Editor: Apply the showListViewByDefault preference in the shared editor. (82119)
  • Editor: Fix disabled and link items of the more menu adapter. (82428)
  • Editor: Mark __unstableSaveForPreview options as optional. (81858)
  • Editor: Merge duplicate “Enhancements” changelog sections. (82533)
  • Make @wordpress/reusable-blocks a no-op compatibility package. (79186)

Block Library

  • Docs: Remove invalid @return tag from the block_core_social_link_get_services hook docblockdocblock (phpdoc, xref, inline docs). (82488)
  • List: Simplify indent code & keep client ID. (59216)
  • Navigation: Change WCText to Text. (82130)
  • Remove the content-only inspector fields (block fields) experiment. (82531)

Data Layer

  • Core Data: Convert hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. tests to renderHook and drop JSX. (82276)
  • Remove the template activation experiment. (82241)
  • Validate tsconfig references against declared dependencies. (82106)
  • feat: Improve TypeScript definitions in the getEntityRecord function. (81863)

Fields

  • Declare the caption, alt text, description and pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” status controls through the Field API. (82539)
  • Remove unused CSS rule from slug field control. (77961)

Widgets Editor

  • Edit Widgets: Guard canInsertBlockInWidgetArea against an empty block list. (82107)
  • Widgets: Replace {TODO} placeholder with PR number in changelog entries. (82450)

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/

  • Templates REST API: Prevent fatal error when a null template reaches prepare_item_for_response. (82374)
  • View Config: Move the table column style descriptions to the 7.2 compat layer. (82372)

Create Block

  • Test package at supported Node.js versions. (82657)

Site Editor

  • View config: Remove stale fields from the wp_template default view. (82602)

Global Styles

  • Remove the color randomizer experiment. (82452)

Server Side Render

  • Tests: Fix Vitest setup and stale jest types under non-hoisting installs. (82290)

Url

  • Test: Fix unit test failures on trunk. (82201)

Blocks

  • Make BlockTransform a discriminated union over its type. (81831)

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)

  • Exclude src from published package files. (77309)

Keycodes

  • Exclude src from published files. (77306)

Escape HTML

  • Exclude src from published package files. (77304)

Deprecated

  • Packages: Exclude src from deprecated published package. (77303)

DOM ready

  • Exclude src from published package files. (77302)

Blob

  • Exclude src from published package files. (77289)

Autop

  • Packages: Exclude src from autop published package. (77283)

Tools

  • Point to docmumentation about release assets. (82250)
  • Project Management: Add validation for missing 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/ labels configuration. (76263)
  • Project Management: Remove empty entries from CODEOWNERS. (82292)
  • Project Management: Restore CODEOWNERS exclusions for suppression lists. (82538)
  • Project Management: Update CODEOWNERS to reflect current participation. (82262)
  • Update changelog instructions for agents. (82097)

Testing

  • Add more end-to-end tests for the editor inspector consolidation experiment. (82239)
  • Add more end-to-end tests for the editor inspector consolidation experiment. (82327)
  • Add promptfoo for testing agent development setup and skills. (80812)
  • Add the template end-to-end tests for the editor inspector consolidation experiment. (82394)
  • Automated Testing: Enforce .tsx for all new ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org files. (80123)
  • Automated Testing: Fix failing categories test on trunk. (82182)
  • Automated Testing: Fix unit test compatibility with Node.js v26. (82618)
  • CI: Add “Required changes from trunk” PR check. (82272)
  • CI: Add a per-workflow status check job and filter paths. (81015)
  • CI: Unify the automation comments into a single PR comment. (82249)
  • DataViews: Remove obsolete Node 20 timezone test gate. (82644)
  • DateTime tests: Freeze the clock in the empty-value calendar test. (82282)
  • e2e-test-utils-playwright: Update Lighthouse and web-vitals. (81916)
  • E2E: Run the site editor suite against the extensible site editor too. (82117)
  • Fix privacy policy page setting unit test on 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. (82467)
  • Jest: Update to 30.5.0. (82181)
  • Media Utils: Preserve arrays in multipart form data. (82353)
  • Packages: Replace stale jest types with the Vitest test environment. (82605)
  • Performance tests: Build once and shard the suites across parallel CI jobs. (82160)
  • Scaffold end-to-end tests for the editor inspector consolidation experiment. (82178)
  • Stylelint tools: Resolve test configuration extends from the workspace. (82336)
  • Tabs: Remove core’s duplicate render_block_context filter. (82610)
  • Test: Drop the jest-dom Vitest entry point from test files. (82606)
  • Test: Enforce 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 test runner ownership. (82299)
  • Test: Migrate Node unit tests to Vitest. (82211)
  • Test: Migrate deterministic JSDOM tests and harden Vitest isolation. (82212)
  • Test: Prepare TypeScript test graphs for Vitest. (82210)
  • Test: Root the Vitest browser project where its dependencies are declared. (82699)
  • Test: Update Vitest to version 5. (82687)
  • Update Playwright to 1.63.0. (82654)

Build Tooling

  • Add browserslist configuration for build targeting. (82179)
  • Build Scripts: Suggest –verbose when a type check fails. (82604)
  • Build: Enforce NodeNext resolution for ESM packages. (82088)
  • Build: Require explicit JSX file extensions. (82189)
  • Bump vite from 8.2.1 to 8.2.2. (82668)
  • Bundled packages: Add a check for transitive private API usage. (82027)
  • CI: Collapse package CHANGELOG check exclusions into a single grep pattern. (82121)
  • CI: Read the required npm version from a single source. (82235)
  • Change stray ubuntu-latest to ubuntu-24.04. (82156)
  • Fix the high-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. sharp audit failure in AI development tests. (82627)
  • Framework: Error on npm versions older than the required floor. (82320)
  • Framework: Update @types/node to v24. (82616)
  • Framework: Update Node.js to v24 LTS and npm to v11. (80395, 82355, 82370)
  • Package lock: Deduplicate Jest dependencies. (82187)
  • Packages: Recover August 26 npm release metadata. (82085)
  • Release: Make npm publication verification resumable. (82089)
  • Release: Map [Type] Flaky Test to the Tools changelog section. (82078)
  • Release: Use the CLI Node.js version for all package publishing. (82122)
  • Storybook: Drop unused support for js-as-jsx. (82192)
  • Storybook: Include stories in docgen TypeScript project. (82694)
  • Test: Classify and enforce unit test environments by filename. (80991)
  • Test: Enforce Vitest conventions and CI guardrails. (81040)
  • Test: Update SWC dependencies. (82660)
  • Theme: Add LightningCSS WPDS token fallback plugin. (80401)
  • Theme: Add bin-specific tsconfig with nodenext module resolution. (82622)
  • Theme: Use Node.js native type-stripping for scripts. (82680)
  • Update Actions and Octokit dependencies. (82663)
  • Update Stylelint to v17 and related packages. (80738)

ESLint plugin

  • ESLint: Thin use-recommended-components tests. (82407)
  • Remove usage of Babel parser. (82144)

Data Layer

  • Build: Normalize JSX file extensions. (80990)
  • Remove unused dependencies across the monorepo. (82103)

Components

  • UI: Add Field.VisualLabel. (82095)

Block Library

  • Docs: Align param tag columns in packages/ docblocks. (81903)

Security

WP Scripts

  • Build/Test Tools: Replace npx with npm exec –no. (82331)

First-time contributors

The following PRs were merged by first-time contributors:

  • @0xDI: Navigation: Restore flex-grow on container when accessible label is present. (78447)
  • @antwonw: Media Utils: Preserve arrays in multipart form data. (82353)
  • @dmallory42: DataForm: Render untyped fields without an edit control that are read-only. (82514)
  • @Jiwoon-Kim: Fix: Restore layout styles for block style variations. (82335)
  • @Joseph-Mutua: Docs: Update Playground CLI wording. (77579)
  • @MicahelE: api-fetch: Resolve to null for a 200 response with an empty body. (79325)
  • @shameemreza: Pages: Require authentication and a capability to render generated standalone pages. (82254)
  • @wprashed: DataViews: Fix Field.sort TypeScript type definition. (82162)

Contributors

The following contributors merged PRs in this release:

@0xDI @aaronrobertshaw @adamsilverstein @adimoldovan @aduth @afercia @ahirpravin @andrewserong @antwonw @ciampo @coderGtm @desrosj @dilipom13 @dinhtungdu @dmallory42 @ellatrix @hbhalodia @himanshupathak95 @i-am-chitti @im3dabasia @Infinite-Null @jasmussen @jeryj @Jiwoon-Kim @jorgefilipecosta @Joseph-Mutua @jsnajdr @karthikeya-io @Kgupta62 @Mamaduka @manzoorwanijk @marekdedic @maxschmeling @mcsf @MicahelE @mikeybinns @mirka @mreishus @mukeshpanchal27 @Mustafabharmal @Nikschavan @ntsekouras @oandregal @R1shabh-Gupta @ramonjd @retrofox @SainathPoojary @sanketio @saranshsinhaa @sarthaknagoshe2002 @scruffian @shail-mehta @shameemreza @simison @sirreal @swissspidy @t-hamano @talldan @tellthemachines @tyxla @widoz @wprashed @yashjawale @youknowriad

Props

Special thanks to @im3dabasia and @ralucastn for the review.

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

Maintainer changes for WordPress/WordPress GitHub repo

Maintenance of the GitHub mirror of the WordPress build repository has recently being transferred 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/ systems team.

In future, any syncing issues with the GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. https://github.com/ mirror should be reported to the system team, either on the make/systems blogblog (versus network, site) of via the 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/ #meta channel if you are unable to post a report to the systems blog.

Background

The WordPress git mirror began as an unofficial project maintained by Mark Jaquith an Emeritus 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. and WordPress Lead Developer. In 2014 official Git mirrors were created and mirrored to GitHub.

The original GitHub mirror of the build repository continued to be maintained by Mark as it used a different 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". and 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.) naming structure to the official mirror along with different hashes.

Although Mark is no longer active in the project, until recently he has continued maintaining the mirror single handedly. The move to systems will increase the number of people maintaining the sync.

Thank you @markjaquith for maintaining the mirror since you stopped being active in the project day-to-day.

Props @barry and @jorbin for reviewing this post prior to publication.

#git, #github

Dev Chat summary: September 9, 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 🔗 See the agenda post.

Announcements 📢

7.1

7.1.1

  • WordPress 7.1.1 RC1 is planned on September 10.

7.2

General

Discussion 💬

@drivingralle is asking for feedback on 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/ issue 79082 / PR 79146.


@n8finch is requesting feedback on two Gutenberg PRs: 82367 and 81944.

Background (apart from what’s in the Issue and PRs): these are two features that are available in 7.1, but are incomplete:

  • Icons: being able to use keywords in the search is invaluable
  • Placeholder: would be great for this to work outside the Site Editor, 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

@n8finch‘s team is pretty jazzed about these features, and would like to be able to use them. These PRs push the features over the finish line.


@oglekler proposed to move the new contributor meeting a bit earlier at 1 pm UTC so that it will be more convenient for people from Asia, but of course another shift in timing is something that people will need to get used to. She added that people from Asia are mostly who are attending, even if time isn’t ideal for them. Ideally we need to 2 meeting to cover all the globe.


@joefusco shared that tracking RTC’s polling cost and the Gutenberg & Presence 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. overlap in presence-api#444, for anyone following that space. Originating from this thread.


@ericmann shared that for those who didn’t see the comments on his make/core post about the Secrets API proposal, he have an initial working draft of a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins live at https://github.com/ericmann/secrets-api and would love feedback on this. His hope is this also addresses some of the feedback we’ve gotten from hosts/providers about how they can integrate with their own platforms as well.

More chances to come as it develops and we work on interop with other systems, but feedback is absolutely welcome and encouraged

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

WordPress 7.1.1 RC1 is now available

WordPress 7.1.1 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). 1 (RC1) is available for testing! Some ways you can help test this minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality.:

  • Use the WordPress Beta Tester 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.
    • As this is a minor 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, select the Point ReleaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality. channel and the Nightlies stream. This is the latest build including the RC and potentially any subsequent commits in 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..
  • Use WP-CLI to test: wp core update https://wordpress.org/wordpress-7.1.1-RC1.zip
  • Directly download the Beta/RC version.

What’s in this release candidate?

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.

WordPress 7.1.1 is led by @adamsilverstein, @adrianduffell, and @andraganescu.

The following coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. tickets are included:

  • #66001 – Accessing /wp-adminadmin (and super admin)/admin-post.php?page=font-library while logged loads Site Editor
  • #65929BlockBlock 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. Supports: Bail early in wp_render_block_states_support() when a block has no style attribute
  • #65674 – Tooltip Delay Timer Race Condition (wp-includes/js/wp-tooltip.js)
  • #65943 – wp-tooltip 7.1 bug
  • #65914 – wp_get_tooltip() treats custom button markup as a sprintf() format string
  • #65918 –  Tooltip icon is not aligned with “Remember Me” text in login box
  • #66056 – Media: prepare the attachment finalize response from the current post row
  • #65922regressionregression 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.: client-side processing creates thumbnails larger than original for indexed PNG images
  • #66012Multisitemultisite 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: reassign dropdown missing when deleting a user, silently destroying content (7.1 regression)
  • #65919 – Array keys in WP_Hook::$callbacks may now be integers instead of strings in 7.1 causing fatal errors with string functions
  • #65985 – Plugins: In < 782px screens paused plugins has two left borders
  • #65956 – Mobile layout breaks on post list table during plugin update
  • #65945 – Native sitemap is served with a 404 status on sites with no published posts
  • #66044 – spacing.blockGap in a block style variation stops emitting any gap
  • #66064 – Site icon in the Admin Bar (Toolbar) sits atop the site title when using a tablet in portrait orientation
  • #65924 – Set Site Icon background color to transparent

The following 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/ PRs are included:

  • #81770 – Block Editor: Add translator context to pseudo-state labels
  • #81813 – Fix: Post Editor: 403 on /wp/v2/settings at boot for users without manage_options cap
  • #82046 – Media: Refuse a multi-file drop on a placeholder that takes one file
  • #82011 – List: outdent an empty middle item without adding an item
  • #81782 – Accordion Panel: Reset padding-block when panel is hidden
  • #81964 – List View: Don’t focus the last Table cell on keyboard activation
  • #81397 – Media: Stop claiming “Upload complete” when every upload failed
  • #81884 – Media: keep indexed PNG sub-sizes indexed
  • #82316 – Image block cropping: Sync image size and link destination settings
  • #82318 – Gallery block: Fix ‘Crop images to fit’ broken in editor
  • #82254 – Pages: require authentication and a capabilitycapability capability is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on their role. For example, users who have the Author role usually have permission to edit their own posts (the “edit_posts” capability), but not permission to edit other users’ posts (the “edit_others_posts” capability). to render generated standalone pages
  • #82353 – Media Utils: Preserve arrays in multipart form data
  • #82478 – wp-env: Fix Docker build errors with Debian Bullseye repositories
  • #82465 – 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: Fall back to post when the query has no postType
  • #81908 – Block Supports: Bail early in state styles when a block has no style attribute
  • #82335 – Fix: Restore layout styles for block style variations
  • #81947 – Editor: Store the finalize response as the attachment record
  • #82265 – Media: Only blame the browser’s codecs when HEIC really cannot be decoded
  • #82249 – CI: Unify the automation comments into a single PR comment
  • #82183 – useViewConfig: don’t request the view config twice
  • #82635 – Framework: Update Node.js to v24 LTS and npm to v11

What’s next?

Reminder: the dev-reviewed workflow (double committer sign-off) is required when making changes to 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"..

The final release is expected on Thursday, September 17, 2026. This date is subject to change if any issues with RC1 are discovered. Coordination will happen in 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/ 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/ #7-1-release-leads channel, and releases are always packaged and tested in #core.

A special thanks to everyone who reported issues, helped test, and helped create patches. The success of 7.1.1 depends on proper testing, so please lend a helping hand.

Thanks to @andraganescu and @adamsilverstein for pre-publication review.

#7-1, #7-1-1, #minor-releases, #release

Updating WordPress to use Node.js 24 and npm 11

As of September 8th, the versions of Node.js and npm required for WordPress development are now 24.x (minimum 24.18.0) and 11.x (minimum 11.16.0).

This applies to trunk in both repositories, the wp/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". in gutenberg, and the 7.1 branch in wordpress-develop. Older branches remain unchanged (requiring >=20.10.0 and >=10.2.3 of Node.js and npm, respectively). See “What’s next” below for details on the long-term plan.

Required action by contributors

Here is a list of steps that you may need to take to continue contributing to WordPress:

  1. Update your local environment to a version of Node.js >=24.18.0.
    • With nvm, run nvm install && nvm use inside your wordpress-develop or gutenberg checkout to pick up the version from .nvmrc, then reinstall dependencies with npm ci.
    • Similar commands exist if you use fnm (Fast Node Manager): fnm install && fnm use.
  2. If you have an open pull request, merge or rebase the latest trunk into it. 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/, the required CI checks now run on Node.js 24, so PRs based on an older 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. will not contain the required checks until updated merging will be blocked by the repository’s configured rulesets.

The .nvmrc files temporarily pin 24.18 (major.minor) to make it easier for contributors to have the required version when they use nvm use. It will be relaxed to the major version later, per the upgrade handbook page.

Timing Node.js Upgrades

While running the most recent version of any software is highly desirable, sometimes it’s perfectly fine to remain on a stable, supported version. While 20.x has not been Active LTS since October 2024, it has remained a Maintenance LTS release until reaching end-of-life in April 2026. As a result, packages and ecosystems have begun to drop support (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/ announced the removal of 20.x from Actions runner images), and a growing queue of tooling and security work has combined to make running more modern versions a necessity.

What this unblocks

Over the past year, PR-72973 accumulated a long list of work blocked on these versions. Highlights:

  1. Isolated dependencies (PR-76195): switching Gutenberg to npm’s linked install-strategy so packages can only import what they declare. This closes a six-year class of “works in the monorepo, breaks for consumers” bugs in the published @wordpress/* packages. The implementation (PR-75814) has been ready since February and kept rebased against trunk the whole time. That continuous testing surfaced bugs in npm’s isolated mode and led to three major features contributed upstream to npm 12, so the tooling is ready the moment we flip the switch.
  2. OIDC trusted publishing (PR-77227): publishing the @wordpress/* packages from CI without a long-lived npm token, eliminating a whole categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. of supply-chain risk. Requires npm 11.5.1+.
  3. Supply-chain hardening for every contributor: the minimumReleaseAge protection already configured in Gutenberg only takes effect on npm 11, so it now applies to every local installLocal Install A local install of WordPress is a way to create a staging environment by installing a LAMP or LEMP stack on your local computer., not just CI.
  4. TypeScript without a build step: Node.js 24 runs TypeScript natively via type stripping. With the coding guidelines recommending TypeScript for new code, scripts and tools can be written in TS and executed directly.
  5. Queued dependency updates that require Node.js 22+: Lerna 10, Lighthouse 13, webpack-dev-server 6, markdownlint-cli, and others.
  6. Platform improvements: full ES module/CommonJS interop, and native glob, fetch, and crypto APIs that let us drop packages like rimraf, fast-glob, uuid, and node-fetch, shrinking the dependency tree that supply-chain attacks target.
  7. npm 12 locally: npm 12’s Node.js requirement (^22.22.2 || ^24.15.0 || >=26.0.0) is now satisfied, so contributors can adopt its install-time security improvements today.

What’s next?

This is just the first step in this plan to upgrade the WordPress codebase to use the latest versions of Node.js. Here is an outline of the tasks that are targeted next.

Upgrading to Node.js 26.x

When choosing which version to target, the guidance is to only choose versions with Active LTS status (currently 24.x). 26.x will be given this status later this year, in October. The goal is to ride the momentum from this change and upgrade to 26.x at that time.

The relevant workflows in both repositories will be updated to run the relevant tests against Node.js 26 to get a head start on this effort.

What does this mean for older branches?

In general, the goal is for the underlying tools to be as consistent as possible across all versions of WordPress that are eligible to receive security patches. This includes the versions of Node.js and npm whenever possible, provided upgrading does not result in changes to the user-facing software.

Contributors have begun exploring the feasibility of updating Node.js to 24.x in the 6.4-7.0 branches of WordPress (and wp/X.Y branches in gutenberg), all of which currently use 20.x. The hope is that all of these branches can also be updated to 26.x in October along with trunk

The 6.3-4.7 branches will remain on Node.js 14.x and there are currently no plans to upgrade them.

Increase the minimum required version of npm

As detailed above, the jump to 11.16.0 unlocks several security features. Security-focused work has continued into npm 12.x with install-time improvements.

The Node.js team recently announced that npm 12 will not be bundled with Node.js 26. Historically, the minimum version of npm required to contribute to WordPress has been set to the version bundled with the respective Node.js version. This avoids making the requirement more complicated than it needs to be, and contributors are always free to run any version that satisfies the minimum.

Because these security features are significant, the goal is to raise the minimum required version of npm to 12.x to ensure that everyone contributing to WordPress benefits from these security features.

Because this deviates from the historical practice, it requires some exploration to ensure that the w.org build server and explicit pins in each relevant repository all work as intended. That roadblock is already been cleared in the gutenberg repository when PR-82235 made devEngines.packageManager in package.json the single source of truth for the npm version that CI and the release tooling install. Moving Gutenberg to npm 12 now becomes a one-line change.

Because this upgrade may involve more changes due to enhanced security measures, upgrading this independent of Node.js will likely make this more manageable.

Changes to the Node.js project’s release strategy

Starting with version 27.x, Node.js will move from two major releases per year to one major release per year and the odd/even distinction is eliminated. Future upgrades will be planned around that cadence.

Notes

  1. The update initially landed in the Gutenberg repository through PR-80395 but was reverted due to some unanticipated Actions workflow failures in older numbered branches of wordpress-develop. These were addressed in #66040, and the changes were merged again in gutenberg through PR-82370. In wordpress-develop, the upgrade landed in r63539/#65451.

Preparing for this update took a considerable amount of time and effort. Thank you to everyone involved for helping to make WordPress better and easier to maintain. There are awesome things ahead.

Questions or problems after updating? Comment here or ask in #core-editor.

Props to @aduth, @desrosj, @jsnajdr, @jonsurrell, @mciampini, @tyxla, @mamaduka for driving and reviewing this work, @aduth and @desrosj for reviewing this post, and 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/ Systems team for preparing the build servers for the new version of Node.js.

#build-test-tools, #gutenberg, #node-js, #npm

Bug Scrub Schedule for WordPress 7.2

It’s time to get WordPress 7.2 ready for release, and help is needed to ensure it’s smooth and bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority.-free. Whether you’re an experienced contributor or joining in for the first time, everyone is welcome! 🎉

Schedule Overview

Regular bug scrubs are being held twice a week with @audrasjb and @im3dabasia1 leading them. As the release date approaches and activity ramps up, the number of scrubs may be increased. These efforts will help ensure everything is on track for a smooth launch. Participation is welcome at any of these sessions, so feel free to join. Bring questions, ideas, and let’s scrub some bugs together!

Weekly Bug Scrub Schedule 🗓️

Alpha Bug Scrubs

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. Bug Scrubs

Focus: issues reported from the previous beta.

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). Bug Scrubs

Focus: issues reported from the previous 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)..

Where?

All scrubs happen in the #core channel on Make WordPress 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/. Just hop in at the scheduled time to get started! If you haven’t joined Slack yet, now’s the perfect time.

Want to Lead a Bug Scrub? 

Reach out in Slack, and assistance will be provided to get everything set up. Everyone is welcome—whether you’re a developer, designer, tester, or work on documentation, you can help! Just hop into the #core channel on Slack during any of the scheduled times. No experience? No problem—feel free to ask for help anytime! It’s a great way to contribute, learn new things, and connect with the community.

Check this schedule often, as it will change to reflect the latest information.

What about recurring component scrubs and triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. sessions?

For your reference, here are some of the recurring sessions:

Have a recurring component scrub or triage session?

PingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” @audrasjb or @im3dabasia1 on Slack to have it added to this page.

Want to lead a bug scrub?

Did you know that anyone can lead a bug scrub at any time? Yes, you can!

How? Ping @audrasjb or @im3dabasia1 on Slack with the day and time you’re considering as well as the report or tickets you want to scrub.

Planning one that’s 7.2-focused? Awesome! It can be added to the schedule here. You’ll get well deserved props in Dev Chat, as well as in the #props Slack channel!

Where can you find tickets to scrub?

Need a refresher on bug scrubs? Checkout Leading Bug Scrubs in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. handbook.

Props @im3dabasia1 for proofreading and review.

#7-2, #bug-scrub, #core

Announcing the WordPress 7.2 Release Squad

This post is announcing the formation of the 7.2 release squad after a call for volunteers.

Exciting News: The WordPress 7.2 Release Squad is assembled!

As with the 6.7, 6.8, 6.9, 7.0, and 7.1 release cycles, WordPress 7.2 will continue the approach of forming a smaller, focused Release Squad. This streamlined structure places more emphasis on collaboration with the various Make Team Reps, who are encouraged to help coordinate efforts from within their respective teams. The goals are to reduce the overhead on the Release Squad while still ensuring each Make Team’s contributions and priorities are represented throughout the cycle, and to reduce overlap between a Make Team RepTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. and that team’s Release Squad Leads. Noteworthy Contributors will be captured from Team Reps towards the end of the release cycle.

The number of volunteers far exceeded the available squad roles, so we selected folks whose experience and focus best aligned with the needs of the 7.2 release. If you weren’t selected this time, your contributions are still incredibly valuable, and there are plenty of ways to stay involved throughout the release cycle, including testing, 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. scrubs, triage, documentation, and more. Every contribution helps move WordPress forward, and we’re grateful for your continued participation.

While the Default Theme (aka Twenty Twenty-Seven) leads are included in the squad above, it’s worth resurfacing the Twenty Twenty-Seven: Team Announcement post from earlier this year. In addition to the design and development leads, the team includes a dedicated lead mentor role (Juanfra Aldasoro) and an intentional focus on creating structured, supported opportunities for new contributors to get involved in the default theme effort.

Big thanks to everyone who volunteered for the release squad, and heartfelt appreciation to everyone helping move WordPress 7.2 forward through testing, triage, documentation, bug scrubs, and more. Your efforts make this release possible, and there’s a lot to be excited about as WordPress 7.2 comes together!

Props to @jorbin for reviewing this post and @jorbin, @desrosj, @annezazu, and @4thhubbard for helping assemble the 7.2 release squad.

#7-2, #planning

Dev Chat Agenda – September 9, 2026

The next WordPress Developers Chat will take place on Wednesday, September 9, 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 📢

7.2

7.1

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