diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9730dea
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,16 @@
+# Composer dependencies (regenerated with composer install)
+/vendor/
+
+# PHPUnit cache
+.phpunit.result.cache
+
+# Stray gettext output written by `msgfmt` (without -o) to the CWD.
+/messages.mo
+
+# Claude Code config and code graph
+/.claude/
+/.codegraph/
+
+# OS
+.DS_Store
+Thumbs.db
diff --git a/changelog.txt b/changelog.txt
index 0e2e1d5..e26c9d6 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,5 +1,26 @@
== Changelog ==
+= 1.2.1 =
+
+_Release date: 2026-08-07_
+
+**Highlights**
+
+* Confirmed compatibility with WordPress 7.1. No functional changes.
+
+**Compatibility**
+
+* WordPress: 7.0 - 7.1
+* PHP: 7.4 - 8.5
+* WP-CLI: 2.12 or newer
+
+**Tests**
+
+* PHP Coding Standards: WordPress-Core, WordPress-Docs, WordPress-Extra
+* PHPCompatibility: 7.4 - 8.5
+* PHPStan: level 9 (incl. wp-compat @ Requires at least 7.0)
+* PHPUnit: 51/51 tests passing (single-site)
+
= 1.2.0 =
_Release date: 2026-05-28_
diff --git a/readme.txt b/readme.txt
index 32c3789..20a8315 100644
--- a/readme.txt
+++ b/readme.txt
@@ -4,7 +4,7 @@ Tags: ai, translation, multilingual, multisite, editor
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 7.4
-Stable tag: 1.2.0
+Stable tag: 1.2.1
License: GPL-3.0-or-later
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
@@ -140,6 +140,10 @@ The plugin reads the post title and content from the database, not from the edit
== Changelog ==
+= 1.2.1 =
+
+* Confirmed compatibility with WordPress 7.1. No functional changes.
+
= 1.2.0 =
* Added configurable "Request timeout" setting (default 60 s, minimum 30 s, maximum 300 s) in site and network admin pages.
diff --git a/robotstxt-ai-translator.php b/robotstxt-ai-translator.php
index f5a1e1f..0a24b81 100644
--- a/robotstxt-ai-translator.php
+++ b/robotstxt-ai-translator.php
@@ -4,7 +4,7 @@
* Plugin URI: https://git.robotstxt.es/ROBOTSTXT/robotstxt-ai-translator
* Gitea Plugin URI: ROBOTSTXT/robotstxt-ai-translator
* Description: Translate post titles and content from the editor using the native WordPress AI client (available in WP 7.0+). Multisite-ready with global or per-site configuration.
- * Version: 1.2.0
+ * Version: 1.2.1
* Author: ROBOTSTXT
* Author URI: https://www.robotstxt.es/
* License: GPL-3.0-or-later
@@ -25,7 +25,7 @@ if ( ! defined( 'ABSPATH' ) ) {
/**
* Plugin version.
*/
-define( 'AI_TRANSLATOR_VERSION', '1.2.0' );
+define( 'AI_TRANSLATOR_VERSION', '1.2.1' );
/**
* Main plugin file path.
diff --git a/update.json b/update.json
index e9d5662..c1f78c9 100644
--- a/update.json
+++ b/update.json
@@ -1,20 +1,20 @@
{
"name": "AI Translator (by ROBOTSTXT)",
"slug": "robotstxt-ai-translator",
- "version": "1.2.0",
- "download_url": "https://git.robotstxt.es/ROBOTSTXT/robotstxt-ai-translator/releases/download/1.2.0/robotstxt-ai-translator-1.2.0.zip",
+ "version": "1.2.1",
+ "download_url": "https://git.robotstxt.es/ROBOTSTXT/robotstxt-ai-translator/releases/download/1.2.1/robotstxt-ai-translator-1.2.1.zip",
"requires": "7.0",
"requires_php": "7.4",
"tested": "7.1",
- "last_updated": "2026-05-26",
+ "last_updated": "2026-08-07",
"author": "ROBOTSTXT",
"author_profile": "https://www.robotstxt.es/",
"homepage": "https://git.robotstxt.es/ROBOTSTXT/robotstxt-ai-translator",
"description": "Translate post titles and content from the WordPress editor using the native WordPress AI client (available in WP 7.0+). Multisite-ready with global or per-site configuration.",
- "changelog": "
1.2.0 - 2026-05-26
- Added: Configurable request timeout — new \"Request timeout\" setting (default 60 s, min 30 s, max 300 s) controls how long the server waits for an AI response before timing out.
- Added: Parallel chunked content translation — long post content is automatically split at block (Gutenberg) or paragraph (Classic editor) boundaries and translated in parallel, eliminating timeout errors on lengthy posts.
- Added: Progress indicator — the Translate button shows \"Translating… (2/5)\" while chunks are in flight.
- Added: New REST endpoint POST /wp-json/ai-translator/v1/translate-text for raw-text translation; used internally by the chunked content path.
1.1.0 - 2026-05-25
- Added: Excerpt translation — post_excerpt is now a translatable field with its own settings toggle.
- Added: MultilingualPress integration — auto-translate new connected posts at creation time (opt-in).
- Changed: Removed Requires Plugins: ai header — wp_ai_client_prompt() is native to WordPress 7.0; works with any configured AI provider.
- Changed: Admin notice now fires when no text-generation provider is configured.
1.0.0 - 2026-05-23
- Added: Block editor sidebar and Classic editor metabox with language selector and Translate button.
- Added: REST endpoint POST /wp-json/ai-translator/v1/translate.
- Added: WP-CLI command wp ai-translator translate for single-post and bulk translation.
- Added: Network admin settings page with global / per-site configuration mode.
- Added: Site admin settings page with title and content translation toggles.
- Added: Model recommendations table in the settings pages.
",
+ "changelog": "1.2.1 - 2026-08-07
- Changed: Confirmed compatibility with WordPress 7.1. No functional changes.
1.2.0 - 2026-05-26
- Added: Configurable request timeout — new \"Request timeout\" setting (default 60 s, min 30 s, max 300 s) controls how long the server waits for an AI response before timing out.
- Added: Parallel chunked content translation — long post content is automatically split at block (Gutenberg) or paragraph (Classic editor) boundaries and translated in parallel, eliminating timeout errors on lengthy posts.
- Added: Progress indicator — the Translate button shows \"Translating… (2/5)\" while chunks are in flight.
- Added: New REST endpoint POST /wp-json/ai-translator/v1/translate-text for raw-text translation; used internally by the chunked content path.
1.1.0 - 2026-05-25
- Added: Excerpt translation — post_excerpt is now a translatable field with its own settings toggle.
- Added: MultilingualPress integration — auto-translate new connected posts at creation time (opt-in).
- Changed: Removed Requires Plugins: ai header — wp_ai_client_prompt() is native to WordPress 7.0; works with any configured AI provider.
- Changed: Admin notice now fires when no text-generation provider is configured.
1.0.0 - 2026-05-23
- Added: Block editor sidebar and Classic editor metabox with language selector and Translate button.
- Added: REST endpoint POST /wp-json/ai-translator/v1/translate.
- Added: WP-CLI command wp ai-translator translate for single-post and bulk translation.
- Added: Network admin settings page with global / per-site configuration mode.
- Added: Site admin settings page with title and content translation toggles.
- Added: Model recommendations table in the settings pages.
",
"sections": {
"description": "Translate post titles and content from the WordPress editor using the native WordPress AI client (available in WP 7.0+). Multisite-ready with global or per-site configuration.",
- "changelog": "1.2.0 - 2026-05-26
- Added: Configurable request timeout — new \"Request timeout\" setting (default 60 s, min 30 s, max 300 s) controls how long the server waits for an AI response before timing out.
- Added: Parallel chunked content translation — long post content is automatically split at block (Gutenberg) or paragraph (Classic editor) boundaries and translated in parallel, eliminating timeout errors on lengthy posts.
- Added: Progress indicator — the Translate button shows \"Translating… (2/5)\" while chunks are in flight.
- Added: New REST endpoint POST /wp-json/ai-translator/v1/translate-text for raw-text translation; used internally by the chunked content path.
1.1.0 - 2026-05-25
- Added: Excerpt translation — post_excerpt is now a translatable field with its own settings toggle.
- Added: MultilingualPress integration — auto-translate new connected posts at creation time (opt-in).
- Changed: Removed Requires Plugins: ai header — wp_ai_client_prompt() is native to WordPress 7.0; works with any configured AI provider.
- Changed: Admin notice now fires when no text-generation provider is configured.
1.0.0 - 2026-05-23
- Added: Block editor sidebar and Classic editor metabox with language selector and Translate button.
- Added: REST endpoint POST /wp-json/ai-translator/v1/translate.
- Added: WP-CLI command wp ai-translator translate for single-post and bulk translation.
- Added: Network admin settings page with global / per-site configuration mode.
- Added: Site admin settings page with title and content translation toggles.
- Added: Model recommendations table in the settings pages.
"
+ "changelog": "1.2.1 - 2026-08-07
- Changed: Confirmed compatibility with WordPress 7.1. No functional changes.
1.2.0 - 2026-05-26
- Added: Configurable request timeout — new \"Request timeout\" setting (default 60 s, min 30 s, max 300 s) controls how long the server waits for an AI response before timing out.
- Added: Parallel chunked content translation — long post content is automatically split at block (Gutenberg) or paragraph (Classic editor) boundaries and translated in parallel, eliminating timeout errors on lengthy posts.
- Added: Progress indicator — the Translate button shows \"Translating… (2/5)\" while chunks are in flight.
- Added: New REST endpoint POST /wp-json/ai-translator/v1/translate-text for raw-text translation; used internally by the chunked content path.
1.1.0 - 2026-05-25
- Added: Excerpt translation — post_excerpt is now a translatable field with its own settings toggle.
- Added: MultilingualPress integration — auto-translate new connected posts at creation time (opt-in).
- Changed: Removed Requires Plugins: ai header — wp_ai_client_prompt() is native to WordPress 7.0; works with any configured AI provider.
- Changed: Admin notice now fires when no text-generation provider is configured.
1.0.0 - 2026-05-23
- Added: Block editor sidebar and Classic editor metabox with language selector and Translate button.
- Added: REST endpoint POST /wp-json/ai-translator/v1/translate.
- Added: WP-CLI command wp ai-translator translate for single-post and bulk translation.
- Added: Network admin settings page with global / per-site configuration mode.
- Added: Site admin settings page with title and content translation toggles.
- Added: Model recommendations table in the settings pages.
"
},
"banners": {
"low": "",