Title: What’s new for developers? (September 2025)
Author: Ryan Welcher
Published: September 10, 2025
Last modified: October 10, 2025

---

 * [Showcase](https://wordpress.org/showcase/)
 * [Plugins](https://wordpress.org/plugins/)
 * [Themes](https://wordpress.org/themes/)
 * [Hosting](https://wordpress.org/hosting/)
 * [News](https://wordpress.org/news/)
    - [Learn WordPress](https://learn.wordpress.org/)
    - [Documentation](https://wordpress.org/documentation/)
    - [Education](https://wordpress.org/education/)
    - [Forums](https://wordpress.org/support/forums/)
    - [Developers](https://developer.wordpress.org/)
    - [Blocks](https://wordpress.org/blocks/)
    - [Patterns](https://wordpress.org/patterns/)
    - [Photos](https://wordpress.org/photos/)
    - [Openverse ︎](https://openverse.org/)
    - [WordPress.tv ︎](https://wordpress.tv/)
 *  - [About WordPress](https://wordpress.org/about/)
    - [Make WordPress](https://make.wordpress.org/)
    - [Events](https://events.wordpress.org/)
    - [Five for the Future](https://wordpress.org/five-for-the-future/)
    - [Enterprise](https://wordpress.org/enterprise/)
    - [Gutenberg ︎](https://wordpress.org/gutenberg/)
    - [Job Board ︎](https://jobs.wordpress.net/)
 * [Swag ︎](https://mercantile.wordpress.org/)
 * [Get WordPress](https://wordpress.org/download/)

Search in WordPress.org

 [ Get WordPress ](https://wordpress.org/download/)

[WordPress Developer Blog](https://developer.wordpress.org/news)

What’s new for developers? (September 2025)

 * [Snippets](https://developer.wordpress.org/news/snippets/)
    - [Blocks](https://developer.wordpress.org/news/category/blocks/)
    - [Concepts](https://developer.wordpress.org/news/category/concepts/)
    - [Common APIs](https://developer.wordpress.org/news/category/common-apis/)
    - [Design](https://developer.wordpress.org/news/category/design/)
    - [Playground](https://developer.wordpress.org/news/category/playground/)
    - [Plugins](https://developer.wordpress.org/news/category/plugins/)
    - [Themes](https://developer.wordpress.org/news/category/themes/)
 *  - [About this site](https://developer.wordpress.org/news/about/)
    - [Updates](https://developer.wordpress.org/news/category/updates/)
    - [How to contribute](https://developer.wordpress.org/news/how-to-contribute/)
    - [Tips and guidelines](https://developer.wordpress.org/news/tips-and-guidelines-for-writers/)
 * [Subscribe](https://developer.wordpress.org/news/subscribe/)
 * [Developer Resources](https://developer.wordpress.org/)

 * [Snippets](https://developer.wordpress.org/news/snippets/)
    - [Blocks](https://developer.wordpress.org/news/category/blocks/)
    - [Concepts](https://developer.wordpress.org/news/category/concepts/)
    - [Common APIs](https://developer.wordpress.org/news/category/common-apis/)
    - [Design](https://developer.wordpress.org/news/category/design/)
    - [Playground](https://developer.wordpress.org/news/category/playground/)
    - [Plugins](https://developer.wordpress.org/news/category/plugins/)
    - [Themes](https://developer.wordpress.org/news/category/themes/)
 *  - [About this site](https://developer.wordpress.org/news/about/)
    - [Updates](https://developer.wordpress.org/news/category/updates/)
    - [How to contribute](https://developer.wordpress.org/news/how-to-contribute/)
    - [Tips and guidelines](https://developer.wordpress.org/news/tips-and-guidelines-for-writers/)
 * [Subscribe](https://developer.wordpress.org/news/subscribe/)
 * [Developer Resources](https://developer.wordpress.org/)

# What’s new for developers? (September 2025)

By [Ryan Welcher](https://profiles.wordpress.org/welcher/)

September 10, 2025

[AI](https://developer.wordpress.org/news/category/ai/), [Blocks](https://developer.wordpress.org/news/category/blocks/),
[Playground](https://developer.wordpress.org/news/category/playground/), [Plugins](https://developer.wordpress.org/news/category/plugins/),
[Themes](https://developer.wordpress.org/news/category/themes/)

Table of Contents

 1.  [Highlights](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#highlights)
 2.   a. [New Composer package for the Abilities API](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#new-composer-package-for-the-abilities-api)
      b. [WordPress gets an Accordion block](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#wordpress-gets-an-accordion-block)
      c. [Style input elements with theme.json](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#style-input-elements-with-theme-json)
 3.  [Plugins and Tools](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#plugins-and-tools)
 4.   a. [Data Views](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#data-views)
      b. [Create Block: Variants can define their own files](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#create-block-variants-can-define-their-own-files)
      c. [Miscellaneous](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#miscellaneous)
 5.  [AI](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#ai)
 6.  [Playground](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#playground)
 7.   a. [Get your Playground Contributor badge](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#get-your-playground-contributor-badge)
      b. [Playground CLI and Query API updates](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#playground-cli-and-query-api-updates)
      c. [PHP prototyping in the browser](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#php-prototyping-in-the-browser)
      d. [General Updates](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#general-updates)
 8.  [Themes](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#themes)
 9.   a. [Date block supports custom dates and block bindings](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#date-block-supports-custom-dates-and-block-bindings)
      b. [New Query Loop Title block variation](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#new-query-loop-title-block-variation)
      c. [Early look at template duplication and active templates](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#early-look-at-template-duplication-and-active-templates)
      d. [Theme.json supports border radius presets](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#theme-json-supports-border-radius-presets)
      e. [Various theme related bug fixes](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#various-theme-related-bug-fixes)
 10. [Resources and News](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/#resources-and-news)

## Highlights

### New Composer package for the Abilities API

The Composer package `wordpress/abilities-api` [is now properly configured ](https://github.com/WordPress/abilities-api/pull/35)
and [available for early testing](https://github.com/WordPress/abilities-api/releases/tag/v0.1.1).
WordPress extenders can begin experimenting with the Abilities API ahead of its 
official release in WordPress 6.9.

### WordPress gets an Accordion block

![Image showing the new Accordion block in the bock editor. There are two headings
and the first one is expanded to show the content.](https://developer.wordpress.
org/news/files/2025/09/wnfd-sept-accordion.png)

This change [introduces four new experimental blocks](https://github.com/WordPress/gutenberg/pull/64119):

 * Accordion
 * Accordion Item
 * Accordion Header
 * Accordion Panel

This has been a long time coming, with the [original issue](https://github.com/WordPress/gutenberg/issues/21584)
dating back to 2020. A lot of work went into ensuring that the blocks followed the
HTML semantics and practices presented by examples from [WCAG](https://www.w3.org/WAI/ARIA/apg/patterns/accordion/examples/accordion/)
and [USWDS](https://designsystem.digital.gov/components/accordion/). The front-end
experience is powered by the Interactivity API, making this block completely self-
contained within the tools provided by WordPress core.

To try out these new blocks, be sure to have the latest version of the Gutenberg
plugin installed. Then, visit **Gutenberg > Experiments** and check the option to“
Enable experimental blocks.”

### Style input elements with theme.json

As part of the effort to [allow theme.json to style form elements](https://github.com/WordPress/gutenberg/issues/34198),
it’s now possible to target [text based controls](https://github.com/WordPress/gutenberg/pull/70378)
as well as [select or dropdown](https://github.com/WordPress/gutenberg/pull/70379)
elements using the `styles.elements` property in `theme.json`. 

You can try this out with the latest version of the Gutenberg plugin installed by
enabling the Form block under the **Experiments** page. Add the following to your`
theme.json` to add a red border to the text inputs and textareas.

    ```language-json
    "elements": {
    	"textInput": {
    		"border": {
    			"radius": "0",
    			"style": "solid",
    			"width": "1px",
    			"color": "red"
    		},
    		"color": {
    			"text": "var(--wp--preset--color--theme-2)"
    		},
    		"typography": {
    			"fontFamily": "var(--wp--preset--font-family--inter)"
    		}
    	}
    }
    ```

You can test the select/dropdown by adding either a Categories List or Archives 
block with the “Display as dropdown” option active and then add the following to
your `theme.json`:

    ```language-json
    "elements": {
    	"select": {
    		"color": {
    			"text": "red",
    			"background": "blue"
    		}
    	}
    }
    ```

## Plugins and Tools

### Data Views

Data Views has seen a number of updates and enhancements in the last month. Some
of the more notable additions are [adding infinite scroll to dataviews](https://github.com/WordPress/gutenberg/pull/70955),
[adding a smaller preview size](https://github.com/WordPress/gutenberg/pull/71077),
and [adding a new card layout](https://github.com/WordPress/gutenberg/pull/71100),
along with a number of smaller updates and enhancements:

 * DataForm: Panel layout can open as dropdown or modal. ([71212](https://github.com/WordPress/gutenberg/pull/71212))
 * Add enableMoving option to the table layout to allow or disallow columns moving
   left and right. ([71120](https://github.com/WordPress/gutenberg/pull/71120))
 * Allow hiding configuration. ([71173](https://github.com/WordPress/gutenberg/pull/71173))
 * DataForm: Add array control. ([71136](https://github.com/WordPress/gutenberg/pull/71136))
 * DataViews story: Rename “Non-interactive” to “Minimal UI”. ([71178](https://github.com/WordPress/gutenberg/pull/71178))

### Create Block: Variants can define their own files

Creating templates for the `@wordpress/create-block` package is not new, but when
those templates support a lot of variants, the associated template files can get
very complicated to manage. The latest version of the package now supports [variants defining their own template files to override the main ones](https://github.com/WordPress/gutenberg/pull/70855).
This will effectively remove the need to wrap file contents in complicated mustache
conditional checks and make managing the templates much easier. 

You can read more about how to implement this in your templates in [official documentation](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-create-block/packages-create-block-external-template/#variants)
for variants.

### Miscellaneous

 * Private Form components now support async validation. ([71184](https://github.com/WordPress/gutenberg/pull/71184))
 * A new `useServerSideRender` [hook is now available](https://github.com/WordPress/gutenberg/pull/70543).
   Using SSR is a little on the controversial side with some developers, but George
   Mamadashvili has a [great comment on why this is still a valid use case](https://github.com/WordPress/gutenberg/pull/70543#issuecomment-3126546719)
   in certain scenarios.

## AI

The Core AI team has been hard at work this month. Along with the [v0.1.1 release of the Abilities API](https://github.com/WordPress/abilities-api/releases/tag/v0.1.1),
the PHP AI Client saw its first stable release with [version 0.1.0](https://github.com/WordPress/php-ai-client/releases/tag/0.1.0).
To demonstrate both of those libraries, Felix Arntz has released an AI Chatbot demo
on [GitHub](https://github.com/felixarntz/wp-ai-sdk-chatbot-demo). To top it off,
the [WordPress MCP](https://github.com/WordPress/mcp-adapter) adapter now officially
supports Cursor.

They are still hard at work on a[ client-side library for the Abilities API](https://github.com/WordPress/abilities-api/pull/60)
and are looking for help with testing.

## Playground

### Get your Playground Contributor badge

If you’ve contributed to the work being done on WordPress Playground, you can now
request a contributor badge. Head over to the [Requesting a Profile Badge](https://wordpress.github.io/wordpress-playground/contributing/contributor-badge/#requesting-a-profile-badge)
page on the Playground documentation site for more information and the steps to 
follow. While you’re there, check out the newly updated landing page for [Playground](https://playground.wordpress.net/).
There you can learn more about the project and try out blueprints.

### Playground CLI and Query API updates

The Query API now supports [installing multiple themes](https://github.com/WordPress/wordpress-playground/pull/2581)
and plugins by repeating the `theme` or `plugin` parameter in the URL string.

    ```bash
    http://playground.wordpress.net/?theme=acai&theme=skincare-brand
    ```

[Two new flags have been added to the Playground CLI](https://github.com/WordPress/wordpress-playground/pull/2525):

 * `--site-url` will set a custom URL for the local environment
 * `--auto-mount` allows users to specify the folder where the auto-mount will be
   applied

### PHP prototyping in the browser

Adam Zieliński created a [PHP Playground](https://playground.wordpress.net/php-playground.html)
for developers to prototype PHP code directly in the browser. 

### General Updates

XDebug Bridge, an experimental feature that allows developers to debug WordPress
playground on Chrome, has received several improvements, such as highlighting the
debugged code and better connection with DevTools. Have a look at the following 
issues to dig into the details:

 * [Fetch all array keys when inspecting an array (#2409)](https://github.com/WordPress/wordpress-playground/pull/2409)
 * [List additional ASYNCIFY_ONLY functions to prevent unreachable crashes when using Devtools (#2454)](https://github.com/WordPress/wordpress-playground/pull/2454)
 * [Load files in Devtools before running PHP with Xdebug enabled (#2527)](https://github.com/WordPress/wordpress-playground/pull/2527)
 * [Highlight syntax of php scripts from mime type in Devtools (#2566)](https://github.com/WordPress/wordpress-playground/pull/2566)
 * [Fix create hash error in xdebug bridge (#2612)](https://github.com/WordPress/wordpress-playground/pull/2612)

[PHP WASM, php.cli() is exposed for being used by PHP ](https://github.com/WordPress/wordpress-playground/pull/2590)
WASM, and has support for [`intl`](https://github.com/WordPress/wordpress-playground/pull/2501),
a dynamic extension for internationalization.

## Themes

### Date block supports custom dates and block bindings

The Date block has seen some major upgrades. In addition to supporting custom dates,
the existing variations for Post Date and Last Modified Date have been [updated to use Block Bindings](https://github.com/WordPress/gutenberg/pull/70585).
To enable this change, a new binding source named `core/post-data` was created, 
which now exposes the publish date as `date` and the last modified date as `modified`
for a given post.

### New Query Loop Title block variation

The new [Post Type Label variation](https://github.com/WordPress/gutenberg/pull/71167)
allows users to display the post type of current item being shown inside a Query
Loop block. This is particularly useful for displaying the post type name when building
custom post type archive templates.

### Early look at template duplication and active templates

There is some exploratory work being done on the [concept of having a set of active templates and allowing templates to be duplicated](https://github.com/WordPress/gutenberg/pull/67125).
There is a lot of unpack in the issue but theme authors should have a look and provide
feedback at this early stage.

### Theme.json supports border radius presets

It’s now possible to define border radius presets in the `theme.json` for your theme.
Test this out using the latest version of Gutenberg and adding this following to
the `settings`property of your `theme.json` file:

    ```language-json
    "border": {
    	"radiusSizes": [
    		{
    			"name": "Small",
    			"slug": "small",
    			"size": "2px"
    		},
    		{
    			"name": "Medium",
    			"slug": "medium",
    			"size": "4px"
    		},
    		{
    			"name": "Large",
    			"slug": "large",
    			"size": "6px"
    		}
    	]
    }
    ```

### Various theme related bug fixes

 * Elements: Support unitless value in CSS custom properties. (#[70704](https://github.com/WordPress/gutenberg/pull/70704))
 * Post Excerpts Block: Fix “read more” theme override. (#[71179](https://github.com/WordPress/gutenberg/pull/71179))
 * Fields Components: Add missing style resets for fieldset elements. (#[71217](https://github.com/WordPress/gutenberg/pull/71217))
 * Cover Block: Fix placeholder interaction in contentOnly mode. (#[70157](https://github.com/WordPress/gutenberg/pull/70157))

## Resources and News

This month, the Developer Blog published three new articles you won’t want to miss.

First up, Justin Tadlock walks you through [how to register your own social media icons](https://developer.wordpress.org/news/2025/08/registering-custom-social-icons-in-wordpress-6-9/)—
perfect prep for when this feature lands in WordPress 6.9.

The ever-prolific Troy Chaplin released not one but **two** in-depth articles on
plugin development:

 * [**Implementing Namespaces and Coding Standards in WordPress Plugin Development**](https://developer.wordpress.org/news/2025/09/implementing-namespaces-and-coding-standards-in-wordpress-plugin-development/)–
   a practical guide for writing clean, organized, and scalable code.
 * [**Refactoring the Multi-Block Plugin: Build Smarter, Register Cleaner, Scale Easier**](https://developer.wordpress.org/news/2025/08/refactoring-the-multi-block-plugin-build-smarter-register-cleaner-scale-easier/)–
   a continuation of his earlier article [_How to Build a Multi-Block_](https://developer.wordpress.org/news/2024/09/how-to-build-a-multi-block-plugin/)_
   Plugin_, this piece dives deeper into optimizing your plugin architecture.

The Developer Blog is always looking for new contributors! If you’re passionate 
about sharing your WordPress knowledge, consider joining us. It’s a rewarding way
to give back to the community.

_Props to _[@psykro](https://profiles.wordpress.org/psykro/)_, [@fellyph](https://profiles.wordpress.org/fellyph/),_
[@greenshady](https://profiles.wordpress.org/greenshady/) _and _[@areziaal](https://profiles.wordpress.org/areziaal/)_
for contributing to and/or providing feedback on this article._

**Share the post: **

**Categories:** [AI](https://developer.wordpress.org/news/category/ai/), [Blocks](https://developer.wordpress.org/news/category/blocks/),
[Playground](https://developer.wordpress.org/news/category/playground/), [Plugins](https://developer.wordpress.org/news/category/plugins/),
[Themes](https://developer.wordpress.org/news/category/themes/)

**Tags:** [Monthly Roundups](https://developer.wordpress.org/news/tag/roundup/)

### Leave a Reply 󠀁[Cancel reply](https://developer.wordpress.org/news/2025/09/whats-new-for-developers-september-2025/?output_format=md#respond)󠁿

Your email address will not be published. Required fields are marked *

Comment *

Name *

Email *

Website

 Save my name, email, and website in this browser for the next time I comment.

 Notify me of follow-up comments by email.

 Notify me of new posts by email.

Δ

## Have an idea for a new post?

### 󠀁[Learn how to contribute](https://developer.wordpress.org/news/how-to-contribute/)󠁿

Share your knowledge with fellow WordPress developers.

Search

### 󠀁[Review tips and guidelines](https://developer.wordpress.org/news/tips-and-guidelines-for-writers/)󠁿

Everything you need to know about writing for the Blog.

## Subscribe to the Blog

  Email Address

 Join 1,773 other subscribers

 * [About](https://wordpress.org/about/)
 * [News](https://wordpress.org/news/)
 * [Hosting](https://wordpress.org/hosting/)
 * [Privacy](https://wordpress.org/about/privacy/)

 * [Showcase](https://wordpress.org/showcase/)
 * [Themes](https://wordpress.org/themes/)
 * [Plugins](https://wordpress.org/plugins/)
 * [Patterns](https://wordpress.org/patterns/)

 * [Learn](https://learn.wordpress.org/)
 * [Documentation](https://wordpress.org/documentation/)
 * [Developers](https://developer.wordpress.org/)
 * [WordPress.tv ](https://wordpress.tv/)

 * [Get Involved](https://make.wordpress.org/)
 * [Events](https://events.wordpress.org/)
 * [Donate ](https://wordpressfoundation.org/donate/)
 * [Swag ](https://mercantile.wordpress.org/)

 * [WordPress.com ](https://wordpress.com/?ref=wporg-footer)
 * [Matt ](https://ma.tt/)
 * [bbPress ](https://bbpress.org/)
 * [BuddyPress ](https://buddypress.org/)

 The WordPress® trademark is the intellectual property of the WordPress Foundation.

 * [Visit our X (formerly Twitter) account](https://www.x.com/WordPress)
 * [Visit our Bluesky account](https://bsky.app/profile/wordpress.org)
 * [Visit our Mastodon account](https://mastodon.world/@WordPress)
 * [Visit our Threads account](https://www.threads.net/@wordpress)
 * [Visit our Facebook page](https://www.facebook.com/WordPress/)
 * [Visit our Instagram account](https://www.instagram.com/wordpress/)
 * [Visit our LinkedIn account](https://www.linkedin.com/company/wordpress)
 * [Visit our TikTok account](https://www.tiktok.com/@wordpress)
 * [Visit our YouTube channel](https://www.youtube.com/wordpress)
 * [Visit our Tumblr account](https://wordpress.tumblr.com/)