Proposal for merging WP AI Client into WordPress 7.0

This proposes merging the WP AI Client into WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. for WordPress 7.0.

WP AI Client is developer infrastructure: a provider-agnostic 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. for WordPress code to call generative AI models via a consistent interface, with WordPress integrations for HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. transport, event handling, caching, credentials, and a browser-friendly REST/JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. layer.

Providing this foundation, in collaboration with the Abilities API that is already part of Core, will make WordPress ready for AI, both as a consumer and as a tool.

This merge does not ship any AI providers or automatically enable AI calls. Without explicit configuration and explicit calling code, WordPress will not send prompts or data to any external service. Site owners will be able to install plugins to enable usage of specific AI providers, built on top of this foundation.

Purpose & Goals

Goals

  • Provide a stable, provider-agnostic AI client foundation in Core, with seamless integration with the Abilities API
  • Reduce duplicated SDKs/settings pages by centralizing common infrastructure (transport, auth storage, prompt invocation, access controls).
  • Enable plugins to detect availability and gracefully disable AI features when no model is configured.

Non-goals

  • No bundled credentials or providers.
  • No end-user โ€œAI assistantโ€ UIUI User interface in core.
  • No product-level experiences standardized in this merge (those remain 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/ecosystem territory for now, e.g. AI Experiments plugin).

Proposed Scope

  1. PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher API + Prompt Builder โ€“ A WordPress-friendly API to construct prompts and invoke model capabilitiescapability Aย 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).. The underlying PHP AI Client will be bundled as an external library, while the WordPress specific wrapper code will become a direct part of Core.
  2. Provider/model abstraction โ€“ A consistent interface so hosts/site owners can choose providers via plugins, and plugins that use AI can remain vendor-neutral.
  3. Discoverability โ€“ Plugins can dynamically enable AI features, based on detecting whether any configured model on the site is able to respond to the relevant prompt(s).
  4. WordPress HTTP integration โ€“ Transport aligned with WP HTTP conventions and WP_Error behavior.
  5. Credentials management in wp-adminadmin (and super admin) โ€“ Admin UI/storage for provider credentials, used across plugins.
  6. REST endpoints + 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/. API โ€“ A REST-backed JS API for browser contexts (wp-admin/editor use cases).
  7. Simple control mechanism for prompt execution โ€“ A 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. allows allowing or disallowing certain prompts or prompt configurations, or even AI use in general.

Security, Privacy, Performance

  • Security: REST/JS execution must remain capabilitycapability Aย 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).-gated; secrets must not leak via REST/script data/logging.
  • Privacy: no outbound AI calls by default; calls only happen via explicit configuration + explicit invocation.
  • Performance: minimal footprint when unused; admin-only work should avoid affecting typical frontend requests.

Call for Feedback and Testing

Feedback is welcome via comments on this proposal or on the Trac ticket which has been opened for this change.

In particular, feedback is needed for:

  1. Is the REST/JS surface area and capability model appropriate for long-term support?
  2. Any missing core requirements for transport, errors, or credential storage?

As of now, there is no pull request yet. Please follow the Trac ticket to be notified when a pull request has been opened. Here are the steps you will need to follow for testing:

  1. Apply the core PR (install a test build or utilize the WordPress Playground instance from the PR) and confirm the admin credentials UI is access-limited.
  2. Configure a provider (or install/register a provider integration as needed).
  3. Run a minimal prompt test:
    • server-side (small MU plugin/snippet)
    • browser-side (JS API), verifying capability checks
  4. Verify behavior with no provider configured:
    • no unexpected networknetwork (versus site, blog) calls
    • no UI regressions
    • plugins can detect and gracefully disable AI features

Props to @isotropic @jason_the_adams @jeffpaul for collaborating on this post.

#core-ai

Dev Chat Agenda โ€“ February 11, 2026

The next WordPress Developers Chat will take place on Wednesday, February 11, 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 ๐Ÿ“ข

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/

Whatโ€™s new in Gutenberg 22.5? (04 February)

WordPress 7.0 Updates

Nominations for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps 2026

The nomination process for Core Team Representatives for 2026 is over. The current Team Reps have to open a poll forย voting.

Discussions ๐Ÿ’ฌ

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

From @flixos90: Proposal for merging WP AI Client into WordPress 7.0: There is an ongoing discussion about the readiness of this changeset, given that there is currently no PR ready for testing and we are 10 days from 7.0 betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1.

From @audrasjb: The Adminadmin (and super admin) โ€œreskinโ€ tickets needs to be committed (or punted) ASAP. See ticket #64308 from @fabiankaegy.

Open floor ย ๐ŸŽ™๏ธ

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

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

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

Preparing the Post Editor for Full iframe Integration

As part of an ongoing effort to modernize the editing experience, WordPress is moving toward running the post editor inside an 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.. This work builds upon the original iframe migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. in the template editor and introduces new compatibility measures in WordPress 6.9, ahead of the full transition planned for WordPress 7.0.

For background, seeย the original post.

Whatโ€™s Changing in WordPress 6.9

Starting with WordPress 6.9, several important updates have been introduced to prepare for this change, which will be completed in WordPress 7.0.

Browser console warnings for legacy blocks

To help developers identify legacy blocks, WordPress 6.9 now displays a warning in the browser console when a 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. is registered withย apiVersionย 2 or lower, and SCRIPT_DEBUG is enabled. This serves as an early signal to update existing blocks before the post editor becomes fully iframed in WordPress 7.0.

When a block is registered with apiVersion 2 or lower, the post editor runs in a non-iframe context as before to maintain backward compatibility. Developers are encouraged to migrate their blocks toย apiVersionย 3 and test them within the iframe-based editor to ensure full compatibility with future WordPress releases.

Seeย #70783ย for more details.

block.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema now only allows apiVersion: 3

Alongside these compatibility measures,ย the block.json schemaย has been updated to only allow apiVersion: 3 for new or updated blocks. Older versions (1 or 2) will no longer pass schema validation.

Seeย #71107ย for more details.

Why iframe the Post Editor?

The main goal of iframing the editor is isolation. By loading the editor content within an iframe, styles from the WordPress adminadmin (and super admin) no longer interfere with the editor canvas.

This separation ensures that the editing experience more closely mirrors what users see on the front end.

From a technical perspective, the iframe approach offers several benefits:

  • Admin styles no longer leak into the editor, eliminating the need to reset admin CSSCSS Cascading Style Sheets..
  • Viewport-relative units (vw,ย vh) and media queries now behave naturally within the editor.

The iframed Post Editor will make life easier for block and theme authors by reducing styling conflicts and improving layout accuracy.

Props to @mamaduka for helping review this dev-note.

#6-9, #dev-notes, #dev-notes-6-9

Whatโ€™s new in Gutenberg 22.5? (04 February)

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

Whatโ€™s New In
Gutenberg 22.5?

Gutenberg 22.5 has been released and is available for download!

It brings practical refinements for your editing workflow. You can now add custom CSSCSS Cascading Style Sheets. to individual blocks, and the Image 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. shows aspect ratio controls for wide and full alignments. List View gets more useful with full block titles and actual content displayed for list items. The release also stabilizes viewport-based block visibility and pattern editing, plus adds focal point controls for fixed Cover backgrounds and text column support for Paragraphs.

Table of contents

Custom CSS Support for Individual Blocks

Gutenberg 22.5 brings custom CSS support for individual block instances, letting you write styles that target specific blocks without affecting others of the same type. A has-custom-css class is automatically added in both the editor and frontend for dynamic blocks, making your custom styles easier to manage. If youโ€™ve been working around this limitation with extra wrapper blocks or global CSS, your workflow just got simpler. (73959, 74969)

Screenshot showing block-level custom css box

Image Block: Aspect Ratio Control for Wide and Full Alignment

The Image block now shows aspect ratio controls when you choose wide or full alignment. Previously, aspect ratio options only appeared for default-aligned images, a limitation when designing hero sections or full-width layouts. Now you can lock in your preferred proportions regardless of alignment, giving you more consistent control over how images display across different screen sizes (74519)

Illustration of controling image aspect ratio for wide and full widths

List View Improvements

Two enhancements make List View considerably more useful in this release. Youโ€™ll now see full block titles instead of truncated labels, and List Items display their actual content rather than generic โ€œList Itemโ€ text. When youโ€™re navigating complex documents with nested lists, these small changes make a real differenceโ€”you can finally tell your list items apart at a glance (74798, 74794)

Other Notable Highlights

  • Cover Block: Focal point picker for fixed backgrounds: You can now set a focal point even when using fixed/parallax backgrounds (74600).
  • Paragraph Block: Text column support: Paragraphs can now flow into multiple columns directly via block supports (74656).
  • Navigation: Submenus always open option: A new toggle lets you keep submenus permanently expanded rather than requiring hover/click (74653).
  • In-editor 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. (initial implementation: Early groundwork for viewing revisions directly in the editor, though without โ€œdiffingโ€ yet (74771).

Changelog

Enhancements

Block Library

  • Add custom CSS support for individual block instances. (73959)
  • Add theย has-custom-cssย class name to the editor and dynamic blocks. (74969)
  • Allow for themes to define the overlay attribute without using a theme slug. (74119)
  • Breadcrumbs Block:
    • Show custom block name. (73690)
    • Add example block previews. (74808)
  • Comment Date: Add textAlign Support. (74599)
  • Comment Edit Link: Migrate to text-align block support. (74720)
  • Comment Reply Link: Migrate to text-align block support. (74760)
  • Comments Title: Migrate to text-align block support. (74945)
  • Cover Block: Enable focal point picker for fixed background. (74600)
  • Enhance Term List block: Pre-select current term on term archive pages. (74603)
  • Handle deleted navigation overlays. (74766)
  • Image block: Show aspect ratio control for wide and full alignment. (74519)
  • List Item: Show content instead of block name in List View. (74794)
  • Navigation Overlay:
    • Add 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. preview. (74780)
    • Insert default pattern on creation. (74650)
    • Update overlay control labels. (74690)
    • Default new blocks to โ€œalwaysโ€ show overlays. (74890)
  • Navigation overlay patterns:
    • Centered navigation with info. (74862)
    • Centered navigation. (74861)
    • Overlay with accent background. (74849)
    • Overlay with black background. (74847)
  • Navigation:
    • Add a new option that toggles submenus always open. (74653)
    • Donโ€™t use a nav 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.) for navigation blocks inside overlays. (74764)
  • Paragraph: Add text column support. (74656)
  • Verse Block: Add new textAlign support. (74724)
  • Feat/coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. tabs restructure. (74412)
  • Stabilise viewport based block visibility. (74839)

Block Editor

  • Block visibility:
    • Refactor metadata to use nested structure. (74602)
    • Create selectors for block visibility in current viewport (device setting or responsive). (74517)
    • Render blocks when hidden at all viewports (and other changes). (74679)
  • Inserter Component: Improving Stories. (74922)
  • List View support: Show full block titles. (74798)
  • MediaReplaceFlow: Move Reset option to bottom of menu. (74882)
  • Try storing global styles in static var in layout render. (74828)
  • Pattern editing: Stabilize and remove the experiment flag. (74843)

DataViews

  • Add card form layout validation. (74547)
  • Include totals items count in DataView footer. (73491)
  • MediaEdit: Supportย customย validation. (74704)
  • Show validation errors when a panel closes. (74995)
  • Add content element guidelines for fields in DataForm. (74817)

Components

  • DataForm: Addย comboboxย control. (74891)
  • UIUI User interface: Addย Selectย primitive. (74661)
  • Addย Tooltipย component toย @wordpress/ui. (74625)
  • Consolidate border tokens. (74617)
  • Design System: Add guidelines for destructive actions UXUX User experience. (74778)

Post Editor

  • In-editor revisions (initial changes, without diffing). (74771)

Icons

  • Add missing chevron-up-small icon. (74607)

Collaboration

  • Real-time collaboration: Add default HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. polling sync provider. (74564)
  • Real-time collaboration: Sync collections. (74665)
  • Real-time collaboration: Use relative positions in undo stack. (74878)

Bug Fixes

  • Core backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. for gutenberg_filter_global_styles_post: Protect from KSES mangling. (74731)
  • DataForm: Sync ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/.-level validation to native inputs on date fields. (74994)
  • DataViews: Use regular casing for bulk selection count. (74573)
  • Fix typo in comment for value change check. (74730)
  • Fix wp-theme dependencies in the build. (74743)
  • Remove the apiFetch named export. (74761)
  • ShortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site.: Fix non-string attribute values being silently dropped. (74949)

Block Library

  • Breadcrumbs: Fix placeholder separator preview. (74842)
  • Cover Block: Show current embed URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org in dialog. (74885)
  • Embed: Fix Flickr double-padding with responsive wrapper. (73902)
  • Fix : Image caption blur in Gallery block. (74063)
  • Fix: Add border-box sizing for verse block. (74722)
  • Inspector tabs: Reset tab selection if the selected tab is no longer present. (74682)
  • Make custom navigation overlay full width. (74559)
  • Media & Text: Revert โ€œFixed Media & Text Block โ€“ Image not rendered properly on frontend when inside stack (#68610)โ€. (74715)
  • Pattern Editing: Update template part to use tabs. (74793)
  • Post ExcerptExcerpt An excerpt is the description of the blog post or page that will by default show on the blog archive page, in search results (SERPs), and on social media. With an SEO plugin, the excerpt may also be in that pluginโ€™s metabox. Block: Fix excerpt trimming logic to handle whitespace correctly. (74925)
  • Post Excerpt Block: Fix length limits for both Editor and Front and fix ellipsis consistency. (74140)
  • Show submenu colors but remove the word overlay. (74818)
  • fix: Video block: video URLs pasted without โ€œhttps://โ€ show broken media. (74964)

Block Editor

  • Allow grid layout to use theme blockGap values for columns calculation. (74725)
  • Block Editor Provider: Fix editor error for contributor role when client-side media experiment is active. (74680)
  • Direct drag: Fix glitching around scrolling. (74608)
  • Ensure grid column never exceeds parentโ€™s width. (74795)
  • Fix missing onClose prop for InserterMenu. (74920)
  • Fix: Fit Text not working on calculated line heights. (74860)
  • Fix: Safari โ€œEdit as HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.โ€ for Fit Text deletes content. (74864)
  • Fix: Stretchy text issue when nested on flex containers. (73652)
  • List View: Ensure element exists in document before focusing. (74613)
  • Pattern Editing: Prevent double-click editing for template parts and synced patterns. (74755)
  • Calculate viewport based on iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the userโ€™s browser. size in resizable editor. (75156)

Collaboration

  • Real-time collaboration: Do not wrap persisted doc applied update in transaction. (74753)
  • Real-time collaboration: Pass non-cleaned (but merged) edits toย SyncManager#update. (74912)
  • Sync: Refactor ProviderCreator signature to an object. (74871)

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

  • iAPI Router: Fix initial router regions withย attachToย being duplicated afterย navigate(). (74857)
  • iAPI Router: Prevent router regions withย data-wp-keyย from being recreated on navigation. (74750)
  • iAPI: Fix and refactor runtime initialization logic. (71123)

DataViews

  • Fix actions visibility on smaller viewpoints and for lone action with isPrimary as true. (74836)
  • Fix insert left and right handling in table layout for RTL languages. (74681)

Components

  • Addย @types/reactย to dependencies. (74692)
  • Fix: Escape less-than character in HTML attributes to prevent block recovery errors. (74732)

Patterns

  • Restore pattern categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. actions for user patterns. (74927)

Typography

  • Fix: Canโ€™t disable textColumns UI. (74767)

Block Style Variations

  • Fix blockGap styles not working in block style variations. (74529)

Global Styles

  • Core backport for Global Styles: Allow arbitrary CSS, protect from KSES mangling. (74371)
  • Remove comment about non-existing property. (75003)

Performance

  • Enable build-blocks-manifest by default. (74846)
  • Update performance results endpoint to codevitals.run. (74802)
  • Use fetch API for performance results logging. (74803)

Experiments

  • Route: Add notFound to public API and add route validation. (74867)

Media

  • Media Modal Experiment: Add a simple notices-based uploading state. (74965)

Collaboration

  • Real-time Collaboration: Add user and selection information to awareness. (74728)

Post Editor

  • Media Editor: Add a simple media editor package and integrate into the editor package. (74601)

Block Library

  • Donโ€™t show overlay settings for navigation blocks that are inside othโ€ฆ. (74408)

Documentation

  • Added Missing Global Documentation class-wp-rest-block-editor-settings-controller file. (74973)
  • Added Missing Global Documentation extensibleExtensible This is the ability to add additional functionality to the code. Plugins extend the WordPress core software.-site-editor file. (74868)
  • Badge: Use stories for โ€œChoosing intentโ€ doc. (74675)
  • DataViews: Update storybook to add more context. (74819)
  • Docs: Add missingย @returnย tags to experimental functions. (74960)
  • Docs: Standardize use ofย @linkย tag for URL references in lib directory. (74984)
  • Pattern Overrides: Remove obsolete documentation. (74749)
  • Replaceย @seeย withย @linkย for URL references in Inline Documentation. (74961)
  • Storybook: Automate sidebar sort order. (74672)
  • Update wp-build documentation to describe โ€˜wpPlugin.nameโ€™. (74741)
  • Updated Typo in 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/. File. (74718)
  • iAPI Docs: Add configuration to state/context guide. (71355)
  • iAPI: Donโ€™t use deprecatedย data-wp-on-asyncย in documentation. (72591)
  • iAPI: Update deprecation warning for unique ID format. (74580)
  • Move grid manual mode sync into 7.1 folder. (74792)
  • Update: Preserve additional 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. properties on client side abilities. (73918)

Code Quality

  • core-data: Fix missing dependencies. (74934)
  • core-data: Fix yjs import and missing dependency. (74950)
  • dataviews: Fix missing dependency โ€“ @storybook/addon-docs. (74935)

Block Library

  • Comments Title: Copy deprecate from block.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. to deprecated.js to avoid legacy attribute usage. (74924)
  • Move selectLabelText to shared utility. (74805)
  • Move useIsDraggingWithin to a shared hook. (74804)

DataViews

  • Adjust table primary media field styles. (74813)
  • Move filtering logic in field types. (74733)

Components

  • Addย displayNameย to the anonymous components. (74716)
  • SlotFill: Unify registry and fill implementation. (68056)

Block Editor

  • Block Visibility: Fix failing 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.. (74840)

Post Editor

  • Blocks: Always trigger borwser console warnings for blocks with apiVersion below 2. (74057)

Tools

Testing

  • Block Visibility: Fix flaky end-to-end test. (74931)
  • Fix end-to-end tests: Update function names to include wp_ prefix. (74688)
  • Fix flaky โ€˜Revisionsโ€™ end-to-end test. (75002)
  • Real-time collaboration: Fix undo tests. (74955)
  • e2e: Fix flaky tests for settings sidebar. (74929)
  • end-to-end tests: Bump all test blocks to API v3. (74941)
  • end-to-end tests: Removeย switchToLegacyCanvasย from multi select and 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) suite. (74845)
  • end-to-end tests: Remove switchToLegacyCanvas from inserter drag and drop tests. (74892)
  • eslint-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: Add โ€œneverโ€ option for dependency-group rule. (74990)
  • selectBlock: Fall back to next block if no previous block is present. (74938)

Build Tooling

  • Build script: Increase memory limit for storybook build process. (74933)
  • Build: Deduplicate and minify embedded styles. (74651)
  • Icons: Add a manifest containing icons metadata. (74943)
  • Remove react-refresh bundling. (74721)
  • Storybook: Fix missing props from component stories. (74807)
  • wp-env: Add experimental WordPress Playground runtime support. (74609)
  • Create Block: Simplify blocks-manifest registration. (74647)
  • Remove legacy babel plugins. (74916)

First-time contributors

The following PRs were merged by first-time contributors:

  • @gmjuhasz: Components: Add @types/react to dependencies. (74692)
  • @ItsYash1421: Post Excerpt Block: Fix length limits for both Editor and Front and fix ellipsis consistency. (74140)
  • @Mustafabharmal: Fix: Escape less-than character in HTML attributes to prevent block recovery errors. (74732)
  • @noruzzamans: Added Missing Global Documentation class-wp-rest-block-editor-settings-controller file. (74973)
  • @Shekhar0109: Fix: Add border-box sizing for verse block. (74722)
  • @shekharnwagh: Sync: Refactor ProviderCreator signature to an object. (74871)
  • @Swanand01: fix: Video block: video URLs pasted without โ€œhttps://โ€ show broken media. (74964)
  • @Swoyamjeetcodes: Image block: Show aspect ratio control for wide and full alignment. (74519)

Contributors

The following contributors merged PRs in this release:@aduth @alecgeatches @andrewserong @annezazu @chriszarate @DAreRodz @dinhtungdu @ellatrix @fabiankaegy @gmjuhasz @hbhalodia @huzaifaalmesbah @ingeniumed @ItsYash1421 @jameskoster @jasmussen @jeryj @jonathanbossenger @jorgefilipecosta @joshualip-plaudit @JosVelasco @jsnajdr @luisherranz @MaggieCabrera @Mamaduka @manzoorwanijk @mcsf@mikachan @mirka @mtias @Mustafabharmal @noruzzamans @ntsekouras @oandregal @ockham @pkevan @prasadkarmalkar @ramonjd @retrofox @rilwis @scruffian @senadir @sethrubenstein @shail-mehta @Shekhar0109 @shekharnwagh @shimotmk @simison @SirLouen @sirreal @Swanand01 @Swoyamjeetcodes @t-hamano @talldan @tellthemachines @Vrishabhsk @youknowriad


Props for visuals to @joen, @sirlouen and @josvelasco for reviewing of the post.

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

Nominations for Core Team Reps: 2026 Edition

This post kicks off the formal election process with a call for nominations for the 2026 CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps. For 2025, Francesca Marano (@francina), Jb Audras (@audrasjb) and Benjamin Zekavica (@benjamin_zekavica) have served as the elected Core Team Reps.

The Role

In the WordPress open-source project, each team has on average one or two representatives, abbreviated as reps.ย For the historians out there, the role go way back to 2012.

Historically with the Core team, the 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. duration was around a year, though some reps stuck around longer if there was a specific need.

Anyone who serves as a team rep is responsible for communicating on behalf of the Core team to the other contributor groups via weekly updates, as well as occasional cross-team chats. Reps are also consulted on Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/., where they help to find someone within the Core team who will be at an event who can lead a Core table.ย Full details on the Team Rep role can be found on the Team Update site.

It is not called team lead for a reason.ย  Itโ€™s an administrative role. While people elected as team reps will generally come from the pool of folks that people think of as experienced leaders, the team rep role is designed to change hands regularly.

This role has a time commitment of at least one or two hours a week.

The main tasks include:

  • Posting the weekly Dev Chat agenda, hosting the chats, and summarizing them (which can include writing and encouraging others to contribute to the summaries). More details on coordinating devchat are available in the Core handbook.
  • Keeping up with the current releases (mainly WordPress major and minors and 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/ bi-weekly releases) and communicating updates.
  • Keeping a watch on the moving parts of the team to report for quarterly updates (example).

How the election works

Please nominate people in the comments of this post. Self-nominations are welcome. The deadline is January 31, 2026 at 23:59 UTC. If there are fewer than 2 nominees who have accepted their nominations, the deadline will be extended.

Once the nomination period expires, a poll will be opened for voting. It will stay open for two weeks. The new reps will start their role in February 2026.

Disclaimer: if you are nominated, please donโ€™t feel like you have to agree to say yes. The election poll will only include the names of the people who have agreed to be nominated. So feel free to reply with a โ€œThank you, but no thank youโ€.

If you have any questions, please feel free to ask in the comments or speak to the current team reps. Finally, for reference, these are the 2020, 2021, 2022, 2023, 2024, 2025 nomination posts.

Thanks to @francina for reviewing this post.

#team-reps

Dev Chat Agenda โ€“ February 4, 2026

The next WordPress Developers Chat will take place on Wednesday, February 4, 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 ๐Ÿ“ข

Nominations for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps 2026

The nomination process for Core Team Representatives for 2026 is over. The current Team Reps are putting together the nominations, then a poll will be opened forย voting. It will stay open for two weeks.

WordPress 6.9.1 Release Schedule

WordPress 6.9.1 was released on February 3, 2026. It is a maintenance release.

See the WP 6.9.1 RC1 announcement for more information about the release.

WordPress 7.0 Release Squad and Bug Scrub Schedule

The WordPress 7.0 Release Squad has been announced.

The 7.0 bug scrub schedule was published.

Discussions ๐Ÿ’ฌ

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

From @adamsilverstein:

Iโ€™d like to mention I have posted a detailed progress update for the Client Side Media feature on the tracking issue. The summary is: last week we landed the wordpress/worker-threads package, which unlocks running VIPS directly in a worker thread. This means the feature can now be tested. Also: the final 7 pre-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. PRs are nearly ready for review.

The main thing I need support on is code reviews and testing!

The meetings are currently at a difficult time for me to attend, iโ€™m happy to answer questions a bit later if i am not able to join.


From @flixos90: Proposal for merging WP AI Client into WordPress 7.0

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.

#6-9, #6-9-1, #7-0, #agenda, #core, #dev-chat

WordPress 6.9 Release Retrospective

Congratulations to all who helped make WordPress 6.9 possible!

Now that the release cycle is complete, youโ€™re invited to reflect and share your thoughtsย on the release cycle, release processes, release squad, or whatever else is on your mind.ย Feedback loops are critical to learning what works and what doesnโ€™t so that the teams involved can iterate on the processes to improve for future releases.ย 

Everyone is welcome to submit feedback about the release using this form, even contributors who did not contribute directly to the release itself.

A member of the community that casually observes a release cycle will have very different thoughts and opinions than someone who was heavily involved on a weekly or daily basis. The more viewpoints and backgrounds represented within this feedback 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. the better. So please take a moment toย complete the formย or leave public feedback in the comments below.

Please note: the survey is not anonymous, but anything submitted will be anonymized before being shared in a post summarizing the results. Your wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ username is required just case the person processing the responses needs to reach out to you for further clarification.

The form and comments will be open until January 15, 2026. A follow-up post with the collected, anonymized results will be published shortly after.

Again, thank you for your contributions to 6.9 โ€œGene,โ€ and for taking the time to provide valuable feedback to help make future releases even better!

Props toย @amykamala, @desrosj for the peer review.

#6-9, #release-process, #retrospective

Dropping support for PHP 7.2 and 7.3

Support for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 7.2 and 7.3 will be dropped in WordPress 7.0, currently scheduled for release in April 2026. The minimum recommended version of PHP will remain at 8.3, but the new minimum supported version of PHP will be 7.4.0.

The minimum supported version of PHP was last raised in July 2024 to 7.2.24. Since then usage of PHP 7.2 and 7.3 has dropped below 4% of monitored WordPress installations.

Historically, the project has used 5% as the baseline usage percentage that a PHP version must fall below before it can be considered for a well-earned retirement. Now that usage of PHP 7.2 and 7.3 combined has fallen well below that, the process to increase the minimum supported PHP version can proceed.

The goal of increasing the minimum supported version of PHP is to ensure the long-term maintainability of WordPress. The benefits to increasing the minimum supported PHP version manifest over time across multiple areas, including the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and theme ecosystem, tooling and libraries for AI, the long-term perception of the WordPress project, developer relations, and eventually within the WordPress codebase itself, including its developer tooling and automated testing infrastructure.

Discussion around this minimum version bump can be found here on the Trac ticket.

What about PHP 8 and higher?

WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. is fully compatible with PHP 8.0 to 8.3 and is beta compatible with PHP 8.4 and 8.5.

A full breakdown of which PHP versions are compatible with each version of WordPress can be found in the WordPress Core Handbook..

What about security support?

Sites that are running PHP 7.2 or 7.3 will remain on the 6.9 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". of WordPress once 7.0 is released. While only one branch officially receives security updates, fixes are backported down to WordPress 4.7 as a courtesy when possible.

What about the GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses โ€˜blocksโ€™ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ plugin?

The minimum supported version of PHP will also be increased to 7.4 in the Gutenberg plugin.

Going forward

There are no plans to bump the minimum supported PHP version on a set schedule. The Core team will continue to monitor PHP version usage and work with the Hosting team to encourage users and hosting companies to upgrade their versions of PHP as swiftly as possible. The 5% usage threshold will continue to be used as the standard for the foreseeable future.

At the time of publishing, the PHP version usage is as follows:

  • 8.5: 0.23%
  • 8.4: 4.90%
  • 8.3: 16.74%
  • 8.2: 27.29%
  • 8.1: 15.39%
  • 8.0: 5.69%
  • 7.4: 22.20%
  • 7.3: 2.04%
  • 7.2: 1.81%

Update PHP today

If you need more information about PHP or how to update it,ย check out this support article that explains more, guides you through the process, and provides instructions for contacting your web hosting provider for assistance.

Props to all those that have contributed to this discussion recently. Thanks to @desrosj, @westonruter, and @jorbin for feedback and proof-reading this post.

#7-0, #dev-notes, #php

Dev Chat Agenda โ€“ January 28, 2026

The next WordPress Developers Chat will take place on Wednesday, January 28, 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 ๐Ÿ“ข

Nominations for CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team Reps 2026

The nomination process for Core Team Representatives for 2026 is still open. Please submit your nomination here.

Recap: WordPress 6.9 โ€œGeneโ€ Retrospective

A retrospective of WP 6.9 was published by its release squad, with detailed feedback on the 6.9 cycle.

WordPress 6.9.1 Release Schedule

The WordPress 6.9.1 maintenance release is planned on February 3, 2026. See the release schedule announcement for more information.

WordPress 7.0 Release Squad and Bug Scrub Schedule

The WordPress 7.0 Release Squad has been announced.

The 7.0 bug scrub schedule was published.

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/ 22.4

Gutenberg 22.4 was released, with a detailed announcement.

Discussions ๐Ÿ’ฌ

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

Open floor ย ๐ŸŽ™๏ธ

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

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

#6-9, #6-9-1, #7-0, #agenda, #core, #dev-chat

Summary, Dev Chat, January 21, 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 @desrosj ๐Ÿ”— Agenda post.

Announcements ๐Ÿ“ข

Nominations forย CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.ย Team Reps 2026

The nomination process for Core Team Representatives for 2026 is now open. Please submit your nomination here.

Dropping support forย PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higherย 7.2 and 7.3

Support for PHP 7.2 and 7.3 will be dropped in WordPress 7.0.ย More details are available in this post.

7.4 is currently at ~22% of all WP sites. So letโ€™s find ways to work with Hosts and site owners to decrease that number.

WordPress 6.9.1 Release Schedule

The WordPress 6.9.1 maintenance release is planned on February 3, 2026. See theย release schedule announcementย for more information.

@jorbin shared this update: โ€œJust a general note that here are multiple scrubs being held each week (see the 6.9.1 announcement). If you want to join for one of those or feel free to work on any of the tickets in tracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. or 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 be the repository owner. https://github.com/ in your own time. You may see pings on those tickets, if you are able to help it would be appreciated as we work to resolutions on these. No concerns as of now, we seem to be in good shape for a release on 3 February.โ€

#6-9-1, #7-0, #core, #dev-chat