Skip to content

Commit c52171d

Browse files
committed
Merge branch 'develop' into trunk
2 parents e012381 + 6b02d4a commit c52171d

File tree

120 files changed

+21179
-7506
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

120 files changed

+21179
-7506
lines changed

.distignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
/.wordpress-org
55
/docs
66
/node_modules
7+
/routes
78
/src
89
/tests
10+
/tools
911

1012
# Files
1113
.*

.github/workflows/plugin-check.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,6 @@ jobs:
6969
plugin_header_unsupported_plugin_name
7070
exclude-directories: |
7171
.github
72+
build
7273
docs
7374
tests

.github/workflows/pr-playground-preview.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ jobs:
8383
}
8484
8585
const blueprint = {
86+
preferredVersions: {
87+
wp: 'beta',
88+
},
8689
steps: [
8790
{
8891
step: 'installPlugin',

.github/workflows/test.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,18 @@ jobs:
128128
- name: Make Composer packages available globally
129129
run: echo "${PWD}/vendor/bin" >> "$GITHUB_PATH"
130130

131+
- name: Setup Node.js
132+
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
133+
with:
134+
cache: 'npm'
135+
node-version-file: '.nvmrc'
136+
137+
- name: Install NPM dependencies
138+
run: npm ci
139+
140+
- name: Build assets
141+
run: npm run build
142+
131143
- name: Run PHP static analysis tests
132144
id: phpstan
133145
run: phpstan analyse -vvv --error-format=checkstyle | cs2pr

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Thumbs.db
1919
# Build output
2020
build/
2121
build-module/
22+
build-scripts/
2223
build-types/
2324

2425
# Environment

CHANGELOG.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,46 @@ All notable changes to this project will be documented in this file, per [the Ke
44

55
## [Unreleased] - TBD
66

7+
## [0.7.0] - 2026-04-09
8+
### Added
9+
- New Experiment: Content Classification to generate taxonomy terms based on post content ([#313](https://github.com/WordPress/ai/pull/313)).
10+
- New Experiment: SEO Descriptions that provides AI-generated meta description support ([#318](https://github.com/WordPress/ai/pull/318)).
11+
- Added a bulk "Generate Alt Text" action to Media Library to generate alt text for multiple images at once ([#330](https://github.com/WordPress/ai/pull/330)).
12+
- Added Category filtering to the Abilities table to improve organization and discoverability ([#355](https://github.com/WordPress/ai/pull/355)).
13+
- Added extensibility hooks for customizing system instructions, and post context during AI operations ([#304](https://github.com/WordPress/ai/pull/304)).
14+
- Added a new `wpai_has_ai_credentials` filter to allow 3rd parties to modify the credential detection logic, for instance to support non-API-key connectors to report their configured status ([#337](https://github.com/WordPress/ai/pull/337)).
15+
16+
### Changed
17+
- Adjust Alt Text Generation to better align with the W3C Alt Text decision tree guidance ([#374](https://github.com/WordPress/ai/pull/374)).
18+
- Updated AI settings page leveraging modern `wp-build` DataForm route ([#340](https://github.com/WordPress/ai/pull/340), [#376](https://github.com/WordPress/ai/pull/376)).
19+
- Revised Feature and Experiment Lifecycle and other documentation updates ([#326](https://github.com/WordPress/ai/pull/326), [#329](https://github.com/WordPress/ai/pull/329)).
20+
- Update some of our system instructions to prompt the LLM to return content in the same language as the original content they were given ([#357](https://github.com/WordPress/ai/pull/357)).
21+
- Updated end-to-end tests to resolve flaky failures and account for markup changes in the Connectors screen ([#360](https://github.com/WordPress/ai/pull/360)).
22+
- Updated preferred models to more recent ones for the three default providers ([#361](https://github.com/WordPress/ai/pull/361)).
23+
- Updated provider compatibility checks to use the AI Client's built-in `is_supported_*` methods for improved validation and error reporting ([#362](https://github.com/WordPress/ai/pull/362)).
24+
- Updated the PR preview workflow to use a preferred WordPress version for improved consistency during testing ([#366](https://github.com/WordPress/ai/pull/366)).
25+
- Switch to using a `Button` component instead of a `ToolbarButton` component within the Title Generation Experiment when in normal editing mode (non-template mode) ([#375](https://github.com/WordPress/ai/pull/375)).
26+
27+
### Removed
28+
- Unneeded `function_exists` checks ([#378](https://github.com/WordPress/ai/pull/378)).
29+
30+
### Fixed
31+
- Improved error messages when Image Generation or Editing fails due to incompatible providers ([#332](https://github.com/WordPress/ai/pull/332)).
32+
- Fixed an issue where Title Generation could fail when using the Anthropic provider ([#341](https://github.com/WordPress/ai/pull/341)).
33+
- Invalid schema type in the summarization ability that prevented proper execution in some environments ([#347](https://github.com/WordPress/ai/pull/347)).
34+
- Fixed an issue where the Generate Alt Text button could appear when an Image block was not selected, particularly when working with Patterns ([#356](https://github.com/WordPress/ai/pull/356)).
35+
- Fixed an issue where repeated calls to load system instructions could return empty content ([#358](https://github.com/WordPress/ai/pull/358)).
36+
- Fixed an issue where retrieving post content did not always return the most recently edited version ([#367](https://github.com/WordPress/ai/pull/367)).
37+
38+
### Developer
39+
- Bump `flatted` from 3.3.3 to 3.4.2 ([#328](https://github.com/WordPress/ai/pull/328)).
40+
- Bump `lodash-es` from 4.17.23 to 4.18.1 ([#369](https://github.com/WordPress/ai/pull/369)).
41+
- Bump `lodash` from 4.17.23 to 4.18.1 ([#370](https://github.com/WordPress/ai/pull/370)).
42+
- Bump `node-forge` from 1.3.3 to 1.4.0 ([#371](https://github.com/WordPress/ai/pull/371)).
43+
- Bump `picomatch` from 2.3.1 to 2.3.2 and from 4.0.3 to 4.0.4 ([#372](https://github.com/WordPress/ai/pull/372)).
44+
- Bump `yaml` from 1.10.2 to 1.10.3 and from 2.8.2 to 2.8.3 ([#373](https://github.com/WordPress/ai/pull/373)).
45+
- Updates Composer & NPM to their latest (semver-comptible) versions ([#401](https://github.com/WordPress/ai/pull/401)).
46+
747
## [0.6.0] - 2026-03-20
848
**There are Breaking Changes in this release.**
949

@@ -188,6 +228,8 @@ First public release of the AI Experiments plugin, introducing a framework for e
188228
- Utilities Ability for common AI tasks and testing
189229

190230
[Unreleased]: https://github.com/WordPress/ai/compare/trunk...develop
231+
[0.7.0]: https://github.com/WordPress/ai/compare/0.6.0...0.7.0
232+
[0.6.0]: https://github.com/WordPress/ai/compare/0.5.0...0.6.0
191233
[0.5.0]: https://github.com/WordPress/ai/compare/0.4.1...0.5.0
192234
[0.4.1]: https://github.com/WordPress/ai/compare/0.4.0...0.4.1
193235
[0.4.0]: https://github.com/WordPress/ai/compare/0.3.1...0.4.0

CREDITS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@ The following individuals are responsible for curating the list of issues, respo
1212

1313
Thank you to all the people who have already contributed to this repository via bug reports, code, design, ideas, project management, translation, testing, etc.
1414

15-
[Darin Kotter (@dkotter)](https://github.com/dkotter), [Jeffrey Paul (@jeffpaul)](https://github.com/jeffpaul), [Jason Adams (@JasonTheAdams)](https://github.com/JasonTheAdams), [Dovid Levine (@justlevine)](https://github.com/justlevine),[Md Aminul Islam (@theaminuli)](https://github.com/theaminuli), [Felix Arntz (@felixarntz)](https://github.com/felixarntz), [Jonathan Desrosiers (@desrosj)](https://github.com/desrosj), [Mohamed Khaled (@Ref34t)](https://github.com/Ref34t), [Iqbal Hossain (iqbal-web)](https://github.com/iqbal-web), [Lina Wiezkowiak (@linawiezkowiak)](https://github.com/linawiezkowiak), [Rachael Cortellessa (@rachaelcortellessa)](https://github.com/rachaelcortellessa), [James LePage (@Jameswlepage)](https://github.com/Jameswlepage), [Tammie Lister (@karmatosed)](https://github.com/karmatosed), [Aki Hamano (@t-hamano)](https://github.com/t-hamano), [Blake Bertuccelli-Booth (@bbertucc)](https://github.com/bbertucc), [Mujeebu Rahman (@mujuonly)](https://github.com/mujuonly), [Mukesh Panchal (@mukeshpanchal27)](https://github.com/mukeshpanchal27), [Pascal Birchler (@swissspidy)](https://github.com/swissspidy), [Dhruvang Shah (@dhruvang21)](https://github.com/dhruvang21), [Aslam Doctor (@aslamdoctor)](https://github.com/aslamdoctor), [John Parris (@mindctrl)](https://github.com/mindctrl), [James Morrison (@jamesmorrison)](https://github.com/jamesmorrison), [Paul Bearne (@pbearne)](https://github.com/pbearne), [Matt Cromwell (@mathetos)](https://github.com/mathetos), [Huzaifa Al Mesbah (@huzaifaalmesbah)](https://github.com/huzaifaalmesbah), [Mehraz Morshed (@mehrazmorshed)](https://github.com/mehrazmorshed), [JuanMa Garrido (@juanmaguitar)](https://github.com/juanmaguitar), [Adam Zieliński (@adamziel)](https://github.com/adamziel), [Weston Ruter (@westonruter)](https://github.com/westonruter), [Jonathan Bossenger (@jonathanbossenger)](https://github.com/jonathanbossenger), [Juan Aldasoro (@juanfra)](https://github.com/juanfra), [Casey Manos (@caseymanos)](https://github.com/caseymanos), [Stephanie Walters (@PypWalters)](https://github.com/PypWalters), [prabinjha (@prabinjha)](https://github.com/prabinjha), [Kurt Rank (@kurtrank)](https://github.com/kurtrank), [Lauren Woodmansee (@lwoodmansee)](https://github.com/lwoodmansee), [Andrew Palmer (@hellobertha)](https://github.com/hellobertha), [Md Aminul Islam (@theaminulai)](https://github.com/theaminulai), [Joe Dolson (@joedolson)](https://github.com/joedolson), [Andrei Zanouski (@andreizanik)](https://github.com/andreizanik), [Om vataliya (@Omcodes23)](https://github.com/Omcodes23), [Greg Ziółkowski (@gziolo)](https://github.com/gziolo), [Sapayth Hossain (@sapayth)](https://github.com/sapayth), [Ryuji Yasukochi (@Ryujiyasu)](https://github.com/Ryujiyasu), [Nischay (@zeus2611)](https://github.com/zeus2611), [Deepak Gupta (@raftaar1191)](https://github.com/raftaar1191), [George Mamadashvili (@Mamaduka)](https://github.com/Mamaduka).
15+
[Darin Kotter (@dkotter)](https://github.com/dkotter), [Jeffrey Paul (@jeffpaul)](https://github.com/jeffpaul), [Jason Adams (@JasonTheAdams)](https://github.com/JasonTheAdams), [Dovid Levine (@justlevine)](https://github.com/justlevine),[Md Aminul Islam (@theaminuli)](https://github.com/theaminuli), [Felix Arntz (@felixarntz)](https://github.com/felixarntz), [Jonathan Desrosiers (@desrosj)](https://github.com/desrosj), [Mohamed Khaled (@Ref34t)](https://github.com/Ref34t), [Iqbal Hossain (iqbal-web)](https://github.com/iqbal-web), [Lina Wiezkowiak (@linawiezkowiak)](https://github.com/linawiezkowiak), [Rachael Cortellessa (@rachaelcortellessa)](https://github.com/rachaelcortellessa), [James LePage (@Jameswlepage)](https://github.com/Jameswlepage), [Tammie Lister (@karmatosed)](https://github.com/karmatosed), [Aki Hamano (@t-hamano)](https://github.com/t-hamano), [Blake Bertuccelli-Booth (@bbertucc)](https://github.com/bbertucc), [Mujeebu Rahman (@mujuonly)](https://github.com/mujuonly), [Mukesh Panchal (@mukeshpanchal27)](https://github.com/mukeshpanchal27), [Pascal Birchler (@swissspidy)](https://github.com/swissspidy), [Dhruvang Shah (@dhruvang21)](https://github.com/dhruvang21), [Aslam Doctor (@aslamdoctor)](https://github.com/aslamdoctor), [John Parris (@mindctrl)](https://github.com/mindctrl), [James Morrison (@jamesmorrison)](https://github.com/jamesmorrison), [Paul Bearne (@pbearne)](https://github.com/pbearne), [Matt Cromwell (@mathetos)](https://github.com/mathetos), [Huzaifa Al Mesbah (@huzaifaalmesbah)](https://github.com/huzaifaalmesbah), [Mehraz Morshed (@mehrazmorshed)](https://github.com/mehrazmorshed), [JuanMa Garrido (@juanmaguitar)](https://github.com/juanmaguitar), [Adam Zieliński (@adamziel)](https://github.com/adamziel), [Weston Ruter (@westonruter)](https://github.com/westonruter), [Jonathan Bossenger (@jonathanbossenger)](https://github.com/jonathanbossenger), [Juan Aldasoro (@juanfra)](https://github.com/juanfra), [Casey Manos (@caseymanos)](https://github.com/caseymanos), [Stephanie Walters (@PypWalters)](https://github.com/PypWalters), [prabinjha (@prabinjha)](https://github.com/prabinjha), [Kurt Rank (@kurtrank)](https://github.com/kurtrank), [Lauren Woodmansee (@lwoodmansee)](https://github.com/lwoodmansee), [Andrew Palmer (@hellobertha)](https://github.com/hellobertha), [Md Aminul Islam (@theaminulai)](https://github.com/theaminulai), [Joe Dolson (@joedolson)](https://github.com/joedolson), [Andrei Zanouski (@andreizanik)](https://github.com/andreizanik), [Om vataliya (@Omcodes23)](https://github.com/Omcodes23), [Greg Ziółkowski (@gziolo)](https://github.com/gziolo), [Sapayth Hossain (@sapayth)](https://github.com/sapayth), [Ryuji Yasukochi (@Ryujiyasu)](https://github.com/Ryujiyasu), [Nischay (@zeus2611)](https://github.com/zeus2611), [Deepak Gupta (@raftaar1191)](https://github.com/raftaar1191), [George Mamadashvili (@Mamaduka)](https://github.com/Mamaduka), [Abdullah Ramzan (@abdullah1908)](https://github.com/abdullah1908), [Dominik Schilling (@ocean90)](https://github.com/ocean90), [Tyler Bailey (@TylerB24890)](https://github.com/TylerB24890), [Nur Mohammad (@nurmhm)](https://github.com/nurmhm), [Andrea Fercia (@afercia)](https://github.com/afercia), [Fellyph Cintra (@fellyph)](https://github.com/fellyph), [Lauri Saarni (@saarnilauri)](https://github.com/saarnilauri), [Jorge Costa (@jorgefilipecosta)](https://github.com/jorgefilipecosta), [Hilay Trivedi (@HILAYTRIVEDI)](https://github.com/HILAYTRIVEDI), [Phil Sola (@phil-sola)](https://github.com/phil-sola), [Estela Rueda (@estelaris)](https://github.com/estelaris).

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,14 @@ This [Canonical Plugin](https://make.wordpress.org/core/2022/09/11/canonical-plu
3535

3636
* **[Abilities Explorer](docs/experiments/abilities-explorer.md)** – Discover, inspect, test, and document all abilities registered via the WordPress Abilities API.
3737
* **[Alt Text Generation](docs/experiments/alt-text-generation.md)** - Generates descriptive alt text for images using AI vision models.
38+
* **[Content Classification](docs/experiments/content-classification.md)** – Suggests relevant tags and categories to organize content.
3839
* **[Content Summarization](docs/experiments/summarization.md)** - Summarizes long-form content into digestible overviews.
3940
* **[Excerpt Generation](docs/experiments/excerpt-generation.md)** - Generates excerpt suggestions from content.
4041
* **Experiment Framework** - Opt-in system that lets you enable only the AI features you want to use.
4142
* **[Image Generation and Editing](docs/experiments/image-generation.md)** - Create and edit images from post content in the editor, also via the Media Library.
43+
* **[Meta Description Generation](docs/experiments/meta-description.md)** - Generates meta description suggestions and integrates those with various SEO plugins.
4244
* **Multi-Provider Support** - Works with popular AI providers like OpenAI, Google, and Anthropic.
43-
* **Review Notes** - Reviews post content block-by-block and adds Notes with suggestions for Accessibility, Readability, Grammar, and SEO.
45+
* **[Review Notes](docs/experiments/review-notes.md)** - Reviews post content block-by-block and adds Notes with suggestions for Accessibility, Readability, Grammar, and SEO.
4446
* **Title Generation** - Generates title suggestions from content.
4547

4648
## Roadmap
@@ -49,11 +51,13 @@ You can view the active plugin roadmap in a filtered view in the WordPress AI [G
4951

5052
Overview of planned features:
5153

54+
* **Comment Moderation** – AI-assisted moderation tools to help classify or manage user comments.
55+
* **Type Ahead** – Contextual type-ahead assistance for suggestions while typing.
56+
* **AI Request Logging & Observability Dashboard** – Track AI requests and visualize performance and cost metrics.
5257
* **AI Playground** – Experiment with different AI models and providers.
5358
* **Content Assistant** – AI-powered writing and editing in Gutenberg.
5459
* **Site Agent** – Natural language WordPress administration.
5560
* **Workflow Automation** – AI-driven task automation.
56-
* **Contextual Tagging** – Suggests relevant tags and categories to organize content.
5761

5862
## Developer Experience
5963

ai.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* Plugin Name: AI
1212
* Plugin URI: https://github.com/WordPress/ai
1313
* Description: AI features, experiments and capabilities for WordPress.
14-
* Version: 0.6.0
14+
* Version: 0.7.0
1515
* Requires at least: 7.0
1616
* Requires PHP: 7.4
1717
* Author: WordPress.org Contributors
@@ -29,6 +29,8 @@
2929
/**
3030
* Shortcut constant to the path of this file.
3131
*/
32-
define( 'WPAI_DIR', plugin_dir_path( __FILE__ ) );
32+
if ( ! defined( 'WPAI_DIR' ) ) {
33+
define( 'WPAI_DIR', plugin_dir_path( __FILE__ ) );
34+
}
3335

3436
require_once WPAI_DIR . 'includes/bootstrap.php';

composer.lock

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)