=== SmartyPress AI Engine — Free AI Engine for Content Generation ===
Contributors: alexkovalevv, wpaifactory
Author: alexkovalevv
Tags: ai engine, openai, free ai engine, content generation, gutenberg
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.31
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Free AI engine for WordPress: generate content, ALT text, and SEO metadata with AI. Magic Wand inline editing in Gutenberg.

== Description ==

**SmartyPress AI Engine is a free multi-provider AI engine for WordPress.** Generate posts, images, SEO metadata, image ALT text, and content improvements with OpenAI, Deepseek, Anthropic Claude, OpenRouter, YandexGPT, YandexART, and GigaChat.

= 📚 Documentation =

Before you start, check out the [complete documentation](https://wp-aifactory.com/docs/smartypress-ai-engine/) — provider setup guides, content and image generation workflows, Magic Wand usage, SEO modules, developer hooks and REST API reference, and troubleshooting.

= Quick Intro =

**No Ads Plugin. Completely Free. No extra fees** — connect directly through your own API keys. **1 Minute Installation.** Configure one or more providers and start generating posts, images, metadata, and SEO improvements from your WordPress admin.

I built this free AI engine to bring modern AI workflows directly into WordPress. Create SEO-optimized titles, generate full blog posts, write excerpts, create images, generate image ALT text, and refine existing text without leaving your editor.

Start simple: open any post, click "SmartyPress AI Writer" in the toolbar, and generate a title. Then try Magic Wand on any block — select text, pick an action, and watch AI transform your content. Need 50 blog posts at once, media metadata, or SEO fixes? The plugin includes dedicated modules for those workflows too.

This AI engine gives you a modular workspace: Content Generator, Magic Wand inline editing, Image Generator, Image ALT Generation, SEO Analysis, and SEO Optimization. Use the provider that fits each task: OpenAI, Deepseek, Anthropic Claude, OpenRouter, Yandex, or GigaChat.

= Core Modules =

**Content Generator**
Generate titles, full articles, excerpts, plans, drafts, and bulk content right inside WordPress. Supports public post types, WooCommerce products, Gutenberg, and Classic Editor workflows.

**Magic Wand (Inline Editing)**
Click the wand icon on any block to enhance, correct, translate, expand, or condense text. 10+ pre-built actions plus custom prompts. Replace mode inserts content instantly; Suggest mode offers multiple AI-generated variants to choose from.

**Image Generator**
Create images from text prompts, save them to the Media Library, generate titles/ALT/descriptions, and regenerate existing AI images with correction prompts where supported by the selected provider.

**Image ALT Generation**
Generate SEO-friendly ALT text, captions, titles, and descriptions for Media Library images. Use bulk generation, upload-time automation, visual context, and related post/SEO keyword context.

**SEO Analysis & Optimization**
Research competitor SERPs, enrich AI content plans with SEO context, and apply AI-assisted SEO fixes for supported SEO plugin workflows.

**AI Providers**
Switch between OpenAI, Deepseek, Anthropic Claude, OpenRouter, YandexGPT/YandexART, and GigaChat. Configure text and image models independently where supported.

= ✨ Key Features =

**Content Generation:**

- SEO-optimized title generation
- Full article and blog post creation
- Excerpt and summary generation
- Bulk post generation (1-50 posts at once)
- Support for public post types (posts, pages, custom post types, WooCommerce products)
- Plan-based post generation with structured drafts
- Real-time content insertion into editor
- Language, tone, style, and section controls

**Magic Wand (Inline Editing):**

Transform any block content with 10+ AI-powered actions.

Text Enhancement:
- Enhance Text — improve readability and quality
- Correct Text — fix grammar and spelling
- Longer Text — expand content with details
- Shorter Text — condense while keeping key points
- Translate Text — translate to any language

Content Generation:
- Generate Content — create new content from custom prompts
- Generate Title — get 5 title suggestions (suggest mode)
- Generate Excerpt — get 3 excerpt variants (suggest mode)
- Suggest Synonyms — get 5 synonym options (suggest mode)
- Generate Alt Text — create alt text for images

Supported Blocks:
- Paragraph, Heading, List, Quote, Code, Preformatted

= Image Generation =

- Text-to-image generation from the WordPress admin
- Save generated images to the Media Library
- Auto-generate image title, ALT text, caption, and description
- Regenerate AI images with correction prompts where supported
- Provider-specific image models for OpenAI, OpenRouter, YandexART, and GigaChat

= Image ALT & Media Metadata =

- Bulk ALT generation for existing Media Library images
- Generate captions, titles, and descriptions
- Use image content, attachment context, related posts, and SEO focus keywords
- Optional generation on upload
- Indexed bulk processing for larger media libraries

= SEO Workflows =

- Competitor SEO analysis hooks for content planning
- AI-assisted SEO recommendation fixes
- SEO metadata generation for supported SEO plugin integrations
- Optional Rank Math fix automation settings

= Provider & Admin Tools =

- Multiple AI providers with independent API keys
- OpenRouter dynamic model catalog and allow-list settings
- GigaChat endpoint selection for official API endpoints
- Yandex Cloud service account API key support
- Token usage tracking and estimated cost statistics
- Debug logs for API errors and module events

= Supported AI Models =

The exact model list can change as providers update their APIs. SmartyPress AI Engine includes model presets and, for OpenRouter, can load the provider catalog dynamically.

**OpenAI:** GPT-5.3 Codex, GPT-5.2, GPT-5.1, GPT-5, GPT-4.1, O-series models, GPT-4o, GPT-4o Mini, GPT-4 Turbo, GPT-3.5 Turbo, GPT Image, and DALL-E image models.

**Deepseek:** Deepseek Chat, Deepseek Coder, Deepseek V4 Flash, Deepseek V4 Pro.

**Anthropic Claude:** Claude Sonnet and other supported Claude Messages API models configured in the plugin.

**OpenRouter:** Text, vision, and image-capable models available through OpenRouter. You can optionally limit the visible text and image model lists in settings.

**Yandex Cloud:** YandexGPT Lite, YandexGPT Pro, and YandexART.

**GigaChat:** GigaChat 2, GigaChat 2 Pro, GigaChat 2 Max, legacy GigaChat models, and GigaChat image generation through the supported API flow.

= Why SmartyPress AI Engine? =

**Gutenberg-First**
Built specifically for the WordPress block editor. Native UI, native workflows, no clunky external interfaces.

**Multiple AI Providers**
OpenAI, Deepseek, Anthropic Claude, OpenRouter, Yandex Cloud, and GigaChat out of the box. Switch providers or models per task.

**Developer Friendly**
WordPress filters, REST API, and extensible architecture. Build custom AI workflows on top of this free AI engine.

**Privacy First**
Data is sent to AI providers only when you click Generate. No background requests, no tracking, no analytics. API keys stored in your database only.

**Free and Open Source**
This free AI engine is completely open source and free to use. You only pay for API usage to the external providers you configure.

= Use Cases =

This free AI engine is perfect for:

- Blog content creation and SEO articles
- Product descriptions for WooCommerce
- Landing page copy and marketing content
- AI-generated images and featured image ideas
- Media Library ALT text, captions, and image descriptions
- SEO research, content plans, and optimization workflows
- Social media posts and newsletters
- Documentation and knowledge bases
- Bulk content generation at scale

= Inspired By =

We were inspired by the following plugins and their capabilities:

- **AI Power (AIP)** - Comprehensive AI solution with multi-provider support and advanced content generation features
- **AIWU** - Workflow automation and AI content generation with visual workflow builder
- **WP Wand** - Unlimited AI content generation with support for multiple AI providers
- **Aiify** - AI copywriting and content editing with ChatGPT and OpenRouter integration
- **AI Bud** - AI content generator with chatbot and image generation capabilities

These plugins demonstrated the potential of AI integration in WordPress and inspired us to create a free AI engine focused on simplicity, performance, and developer-friendly architecture.

= Disclaimer =

SmartyPress AI Engine connects your site to third-party AI services. You need your own API keys and must follow the terms set by the providers you enable, such as OpenAI, Deepseek, Anthropic, OpenRouter, Yandex Cloud, or GigaChat. The developer is not responsible for AI-generated content. See the External Services section below for full details.

== Installation ==

= Automatic Installation =

1. Go to Plugins > Add New in your WordPress admin
2. Search for "SmartyPress AI Engine"
3. Click Install Now and then Activate
4. Go to SmartyPress AI > Settings
5. Enter one or more API keys for the providers you want to use
6. Save settings and start generating content!

= Manual Installation =

1. Download the plugin zip file
2. Upload to `/wp-content/plugins/` directory
3. Extract the files
4. Activate through the Plugins screen
5. Configure API keys in SmartyPress AI > Settings

= Getting API Keys =

You only need keys for the providers you plan to use.

**OpenAI:**
1. Visit https://platform.openai.com
2. Sign up or log in
3. Go to API Keys section
4. Create new secret key
5. Copy the key to plugin settings

**Deepseek:**
1. Visit https://platform.deepseek.com
2. Sign up or log in
3. Go to API Settings
4. Create new API key
5. Copy the key to plugin settings

**Anthropic Claude:**
1. Visit https://console.anthropic.com
2. Create or select your workspace
3. Go to API Keys
4. Create a new key
5. Copy the key to plugin settings

**OpenRouter:**
1. Visit https://openrouter.ai
2. Sign up or log in
3. Go to Keys
4. Create an API key
5. Copy the key to plugin settings and choose text/image model options

**Yandex Cloud:**
1. Create or select a Yandex Cloud folder
2. Create a service account with access to Foundation Models
3. Create a service account API key
4. Copy the API key and Folder ID to plugin settings
5. Select YandexGPT or YandexART where supported

**GigaChat:**
1. Get GigaChat API credentials from your Sber/GigaChat account
2. Copy the authorization key to plugin settings
3. Select the API scope for your account
4. Choose the official GigaChat API endpoint that matches your account type

= Building from Source (For Developers) =

**Important:** Pre-built assets are included in the WordPress.org distribution. You only need to build if you're developing or modifying the plugin.

= Build Requirements =

* Node.js 18+ and npm
* PHP 8.0+
* Composer (optional, for dev dependencies)

= Build Process =

The plugin uses Vite for building React applications. There are multiple build targets:

**1. Admin Dashboard (React SPA):**

```bash
cd includes/admin/assets/
npm install
npm run build
```

Output: `includes/admin/assets/dist/admin-app.js` and `admin-app.css`

**2. Content Generator Module:**

```bash
cd includes/modules/content-generator/assets/
npm install
npm run build
```

Output: `includes/modules/content-generator/assets/dist/content-generator.js`

**3. Image Generator Module:**

```bash
cd includes/modules/image-generator/assets/
npm install
npm run build
```

Output: `includes/modules/image-generator/assets/dist/image-generator.js`

**4. Gutenberg Integration (Magic Wand):**

Build modes: `gutenberg` (Magic Wand) and `wand` (toolbar integration)

```bash
cd includes/modules/content-generator/assets/
npm run build:gutenberg  # Magic Wand features
npm run build:wand       # Wand toolbar button
```

= Development Mode =

For development with hot reload:

```bash
cd includes/admin/assets/
npm run dev
```

Note: Development mode requires manually changing script handles in PHP to load from Vite dev server.

**Build configuration:**
* Vite 6+ for bundling
* React 18+ components
* SCSS preprocessing
* Autoprefixer for browser compatibility
* Minification enabled
* IIFE format for WordPress compatibility

== External Services ==

**IMPORTANT:** This plugin sends your prompts and related content to third-party AI services when you use a generation feature. Only providers you configure with your own API key are contacted, and only when you click Generate/Regenerate, use Magic Wand, or (if enabled by the admin) on media upload for ALT text — never in the background.

Data sent typically includes your prompt, the related post/image content, and generation settings (model, temperature, tokens); for image editing or vision-based metadata it also includes the image file. No WordPress user data, passwords, or site configuration are ever sent. API keys and generated content are stored only in your WordPress database; you can remove a key from Settings at any time to stop all requests to that provider.

= Services Used (each optional, contacted only if configured) =

* **OpenAI** — `api.openai.com` — text, image generation/edits, and metadata. [Terms](https://openai.com/policies/terms-of-use) · [Privacy](https://openai.com/policies/privacy-policy)
* **Deepseek** — `api.deepseek.com` — text generation. [Terms](https://www.deepseek.com/en/terms) · [Privacy](https://www.deepseek.com/en/privacy)
* **Anthropic Claude** — `api.anthropic.com` — text generation and vision-based image metadata. [Terms](https://www.anthropic.com/legal/consumer-terms) · [Privacy](https://www.anthropic.com/legal/privacy)
* **OpenRouter** — `openrouter.ai` — text, vision, and image models through one gateway. [Terms](https://openrouter.ai/terms) · [Privacy](https://openrouter.ai/privacy)
* **Yandex Cloud (YandexGPT/YandexART)** — `llm.api.cloud.yandex.net` — text and image generation. [Terms](https://yandex.cloud/en/docs/legal) · [Privacy](https://yandex.com/legal/confidential)
* **GigaChat (Sber)** — `gigachat.devices.sberbank.ru`, `api.giga.chat` — text and image generation. [Terms](https://developers.sber.ru/docs/ru/policies) · [Privacy](https://developers.sber.ru/docs/ru/policies/privacy-policy)

== Privacy & GDPR ==

This plugin is GDPR compliant with the following considerations:

* **User Consent:** Users must configure API keys, implying consent to use AI services
* **Data Minimization:** Only necessary data is sent to AI providers
* **Right to Delete:** You can delete all plugin settings and API keys anytime
* **Transparency:** All data transmission is documented in this section
* **No Tracking:** Plugin does not track users or collect analytics

**For Site Owners:**
If you use this plugin on a site with EU users, inform them in your privacy policy that:
* Content may be generated using third-party AI services
* User-provided content, prompts, image prompts, and image data may be sent to the configured AI providers
* Refer users to AI providers' privacy policies (links above)

== Frequently Asked Questions ==

= Where can I find the full documentation? =

Visit the [complete documentation](https://wp-aifactory.com/docs/smartypress-ai-engine/) for provider setup guides, content and image generation workflows, Magic Wand usage, SEO modules, developer hooks and REST API reference, and troubleshooting.

= Do I need API keys? =

Yes, you need at least one API key or authorization credential from a supported provider. You can configure OpenAI, Deepseek, Anthropic Claude, OpenRouter, Yandex Cloud, GigaChat, or any combination of them.

= How much does it cost? =

The plugin itself is completely free. However, you pay for API usage to the external providers you enable:
* **OpenAI:** Pay-per-token pricing, varies by model (check their pricing page)
* **Deepseek:** Generally more affordable than OpenAI (check their pricing page)
* **Anthropic, OpenRouter, Yandex Cloud, and GigaChat:** Pricing depends on your account, selected model, and provider terms

Typical costs:
* Generating a blog post title: $0.001 - $0.01
* Generating full article (500-1000 words): $0.02 - $0.10
* The exact cost depends on the model, prompt length, and generated content length

= Is my data safe? =

Yes. Security measures include:
* All API communications use HTTPS encryption
* API keys stored securely in WordPress database
* No data stored on third-party servers after generation
* WordPress nonces and capability checks
* Input sanitization and output escaping

Your content is sent to AI providers only when you explicitly request generation. Please review the "External Services" section and AI providers' privacy policies.

= Can I use custom prompts? =

Yes! Magic Wand feature allows you to enter completely custom prompts for any block. You can also customize default prompts using WordPress filters.

= Which AI provider should I use? =

**OpenAI:**
* Higher quality outputs
* Better understanding of complex prompts
* More expensive
* Recommended for: critical content, marketing copy

**Deepseek:**
* Faster generation
* More affordable
* Good quality for most use cases
* Recommended for: blog posts, drafts, bulk generation

**Anthropic Claude:**
* Strong long-form writing and reasoning
* Useful for structured drafts, rewriting, and image metadata workflows with supported vision models

**OpenRouter:**
* Access to a broad model catalog through one API
* Useful when you want to compare models or use text and image models from different vendors

**Yandex Cloud:**
* YandexGPT for text and YandexART for image generation
* Useful for Yandex Cloud users who want regional provider support

**GigaChat:**
* Sber/GigaChat text and image generation workflows
* Includes scope and endpoint settings for different account types

You can switch between configured providers anytime.

= Which post types are supported? =

All public post types including:
* Posts
* Pages
* Custom Post Types (configured in Settings)

= Can I limit who can use AI generation? =

Yes, the plugin respects WordPress capabilities:
* `edit_posts` - required for using generator panel and Magic Wand
* `publish_posts` - required for bulk post generation
* `manage_options` - required for plugin settings

Configure user roles in WordPress to control access.

= How does Magic Wand work? =

1. Select any supported block (paragraph, heading, quote, etc.)
2. Click the magic wand icon in the block toolbar
3. Enter your prompt (e.g., "Write about WordPress AI plugins")
4. Click Generate
5. Content appears in your block instantly!

= What languages are supported? =

AI models support all major languages. You can:
* Generate content in any language by specifying it in your prompt
* Use the Translate Text action to translate between languages
* Plugin interface available in English and Russian

= Can developers extend the plugin? =

Yes! The plugin provides WordPress filters for customization:

* `smartypress_ai_prompt_{action}` - Customize prompts
* `smartypress_ai_wand_params` - Modify AI parameters
* `smartypress_ai_wand_features` - Add custom actions

See the [Hooks, Filters and REST API documentation](https://wp-aifactory.com/docs/smartypress-ai-engine/) for examples.

= Does this work with the classic editor? =

Yes. Gutenberg gets the full Magic Wand block workflow, and the plugin also includes Classic Editor integration for supported post editing screens, including WooCommerce product descriptions.

= Can I use this for WooCommerce products? =

Yes, if WooCommerce products are enabled as a public post type, you can generate product descriptions, titles, and other content.

= Can the plugin generate images? =

Yes. The Image Generator module can create images from text prompts, save them to the WordPress Media Library, and generate image metadata. Supported image providers include OpenAI, OpenRouter, YandexART, and GigaChat depending on your configured API keys and selected models.

= Can it generate ALT text for existing images? =

Yes. The Image ALT Generation module can generate ALT text, captions, titles, and descriptions for Media Library images. It can use visual context, attachment context, related post content, and SEO focus keywords where available.

= Does it support SEO plugins? =

The plugin includes SEO analysis and optimization workflows. It can generate SEO metadata and apply AI-assisted recommendations through supported integrations, including Rank Math-oriented optimization settings and generic SEO metadata flows.

= What happens if I run out of API credits? =

Generation will fail with an error message. You'll need to add credits or resolve billing/API access with the selected provider. The plugin will show the API error message to help you troubleshoot.

= What happens when I uninstall the plugin? =

When you delete the plugin through WordPress admin, all plugin data will be completely removed:
* Plugin settings and API keys
* All options and transients
* Post meta created by the plugin (if any)
* User meta created by the plugin (if any)

**Note:** Generated content (posts, titles, excerpts) will NOT be deleted as they are your content. Only plugin-specific data is removed.

If you want to keep your settings for future use, simply deactivate the plugin instead of deleting it.

== Screenshots ==

1. Generate WordPress content with SmartyPress AI - your all-in-one AI writing assistant
2. Create posts directly from the WordPress Posts list with one click
3. Single post generation - review and edit the AI content plan (title, meta, and structure)
4. Single post generation - the AI builds the content plan step by step
5. Bulk generation - track real-time progress as multiple posts are created
6. Bulk generation - paste topics or upload a file to generate many posts at once
7. Generate full article content from a custom prompt inside the editor
8. SmartyPress AI Writer menu - generate title, content, excerpt, or fix SEO errors
9. One-click access to AI tools from the Gutenberg toolbar
10. Choose the AI provider and model for content generation
11. Settings - configure API keys for multiple AI providers (DeepSeek shown)
12. Settings - per-provider configuration with optional proxy support (OpenAI shown)
13. Fix SEO Errors - one-click AI fixes for Rank Math issues
14. Image ALT Generation - bulk SEO ALT text and captions for the Media Library
15. Inline AI Generate button in the block toolbar
16. Rewrite, expand, or improve any text with the AI Generate modal
17. Built-in actions - rewrite, expand, fix grammar, summarize, translate, and more
18. Image Generation - create images from prompts with auto-generated metadata
19. Generate images straight into the Media Library
20. AI-generated ALT text, title, caption, and description for media
21. AI image markers placed inside generated articles for one-click illustration

= 🔌 Our Other Plugins =

**[Everyone Accessibility Suite](https://wordpress.org/plugins/everyone-accessibility-suite/)** - Make your WordPress site accessible to everyone with 40+ accessibility features, 5 accessibility profiles, and WCAG 2.1 compliance. Includes accessibility toolbar, reading aids, keyboard navigation, and screen-reader support for users with disabilities.
**[AdsDestroyer](https://wordpress.org/plugins/ads-destroyer/)** - Transform your WordPress admin into a clean, distraction-free workspace. Remove unwanted notices, promotional banners, and clutter with visual selection. Perfect for maintaining focus and creating professional client experiences.
**[AI Thumbnails Maker](https://wordpress.org/plugins/ai-thumbnails-maker/)** - Automatically generate beautiful AI-powered thumbnails and force regenerate featured images for your WordPress posts. Perfect for keeping your media library fresh and professional.
**[Unnotifier](https://wordpress.org/plugins/unnotifier/)** - Take complete control over WordPress admin notifications. Hide, customize, or remove any admin notice with precision. Essential for agencies managing multiple client sites or power users who value a clean interface.

== Changelog ==

= 1.0.31 - 2026-08-07 =

**Added:**
* New "Metadata token budget" setting for image generation: choose Auto, a fixed budget (800/1500/3000) or Unlimited when SEO metadata comes back empty

**Fixed:**
* Image metadata generation with GPT-5 no longer fails: the model spent the whole 400-token budget on internal reasoning and returned an empty answer; the catalog now pins a minimal reasoning effort for the GPT-5 line and reasoning models get a safe minimum output budget
* An empty answer caused by exhausted reasoning budget is now reported as an explicit error instead of a misleading "API error" message, and the image table tooltip explains exactly what happened
* API logs now record reasoning effort, response format, finish reason and reasoning token counts for easier diagnostics

**Changed:**
* Documentation link across the plugin now points to the new docs site; added a Documentation section and FAQ entry in the readme
* Trimmed the "External Services" section and removed "Developer Tools" and "Tech Stack" from the readme to reduce redundant text

= 1.0.30 - 2026-08-07 =

**Fixed:**
* The magic wand no longer shows raw HTML tags in the diff preview: lists and quotes are exchanged with the AI as structured plain text and rendered with line breaks
* Applying a wand result to a list or quote no longer breaks the block markup: HTML answers are sanitized without escaping tags and inline formatting such as bold text is preserved
* The editor stylesheet is now versioned by the build timestamp so style fixes are picked up without a stale browser cache

= 1.0.29 - 2026-08-06 =

**Added:**
* The magic wand is now available on a single list item: only that item is rewritten while the whole list is passed to the AI as context

**Fixed:**
* The magic wand sent empty text for list and quote blocks because it read a deprecated attribute instead of the inner blocks
* Applying a wand result to a list no longer wipes the list: items and nested sublists are rebuilt from the answer and can be reverted with undo

= 1.0.28 - 2026-08-06 =

**Fixed:**
* OpenRouter image models that only output images (GPT Image 1, Qwen Image 3, Krea 2 and others) failed with a "cannot be used with the chat/completions endpoint" error and now use the dedicated OpenRouter images endpoint
* Aspect ratio choices in the image generation widget are now read from the OpenRouter catalog per model, so unsupported ratios are no longer offered

= 1.0.23 - 2026-06-24 =

**Changed:**
* Technical rerelease to refresh the WordPress.org readme and translation sources

= 1.0.22 - 2026-06-21 =

**Changed:**
* Restored keyword-rich plugin title in readme header

= 1.0.21 - 2026-06-21 =

**Added:**
* New AI providers: Anthropic Claude, OpenRouter, YandexGPT/YandexART, and GigaChat
* Image ALT Generation module for bulk Media Library metadata generation
* SEO Analysis and SEO Optimization modules for AI-assisted content planning and fixes
* OpenRouter dynamic model catalog and text/image model allow-list settings
* GigaChat endpoint selection for official API endpoints
* Token usage tracking and estimated cost statistics

**Changed:**
* Yandex integration now uses service account API keys instead of OAuth-to-IAM exchange
* Readme and External Services disclosure updated for all supported AI providers
* WordPress.org compatibility fixes for plugin packaging and code standards

= 1.0.15 - 2026-02-16 =

**Fixed:**
* Translation loading for WordPress 6.7+: moved initialization to the init hook. Resolves "translation loading triggered too early" notice.

= 1.0.14 - 2026-02-07 =

**Changed:**
* Minor changes

= 1.0.13 - 2026-02-12 =

**Added:**
* Review notice on admin pages: invitation to rate the plugin and share ideas on WordPress.org
* Notice shows 7 days after install, then 30/90/180 days after dismiss. DEBUG constant for instant display

**Fixed:**
* Content generator: model selection now persists in localStorage after page refresh
* Preview: Markdown displayed in preview, HTML conversion only when creating post

= 1.0.11 - 2026-02-12 =

**Enhanced:**
* Extended translation support for content generation prompts (title, sections, content, excerpt)
* Improved translation coverage across settings and editor interfaces
* Fixes for translation file references to ensure correct loading of translations

= 1.0.10 - 2026-02-10 =

**Fixed:**
* Module toggle error: "Cannot use a scalar value as an array" when switching modules on/off
* Automatic migration of module settings from scalar (boolean) to array format
* Backward compatibility with old installations

= 1.0.9 - 2026-02-10 =

**Image Generator:**
* Module enabled by default (same as Content Generator)
* Sidebar menu updates immediately when activating or deactivating the module (no page reload)
* Module scripts always loaded on plugin admin page so toggling works without refresh

**Components / Navigation:**
* ModulesContext provides live routes from enabled modules; Layout and Navigation react to changes after toggle

= 1.0.8 - 2026-02-10 =

**Image Generator:**
* Generate images from text prompts, save to Media Library with auto-generated title, alt, and description
* Regenerate existing images with correction prompt (Image Edit API for GPT Image, DALL-E via describe + regenerate)
* Settings: provider, model, resolution, text model for metadata; persistence in localStorage
* "Create attachment with AI" button on media library (upload.php) page

**API Logs:**
* Support for module events (image generation logs) with stage, context, and data display

= 1.0.7 - 2026-02-08 =

**Fixed:**
* Language parameter now correctly passed to AI API for title, content, and excerpt generation
* Prompts in Gutenberg editor now use {LANGUAGE} variable instead of "same language as content"

**Enhanced:**
* Full request/response logging for debugging (enable in Settings > Debug)
* Option to log successful API requests for troubleshooting
* Improved log display with word wrap (no horizontal scroll)
* Increased log block height for better readability

**Changed:**
* Temporarily hidden "Suggest Categories" feature (will return in future update)

= 1.0.6 - 2026-02-08 =

**Fixed:**
* WooCommerce short description generation now correctly updates TinyMCE editor
* Magic Wand button now available in WooCommerce product short description editor
* Default AI model from settings now properly applied in Classic Editor modal
* API key corruption issue when saving settings with masked keys

**Enhanced:**
* Improved Classic Editor integration for WooCommerce products
* Better model selection handling across all editor interfaces

= 1.0.5 - 2026-02-07 =

**Changes:** OpenAI proxy support for blocked regions. Model selection in Single post Current Settings and general settings. Magic Wand no longer wraps plain text in extra paragraph tags. Modal header padding set to zero in Gutenberg. PHPCS fixes: removed debug error_log, nonce ignore for classic editor detection, prefixed global variables.

= 1.0.4 - 2026-02-07 =

**Changes:** Added permalink notice on plugin pages when Pretty Permalinks are disabled. Extended API key notice to all admin pages. Improved error messages with user-friendly descriptions for API key and REST API issues.

= 1.0.3 - 2026-02-07 =

**Changes:** Documentation link in readme and plugin UI. API key notice with link to docs. Inspired By section. Everyone Accessibility Suite and other plugins in Our Other Plugins. Screenshots reordered (Dashboard as overview), 17 descriptions. Keyword "free AI engine" in copy.

= 1.0.2 - 2026-02-06 =

**Changes:** Hide third-party admin notices on plugin pages. Sanitization and validation for settings API; secure uninstall queries (wpdb->prepare). CSS isolation for admin UI.

= 1.0.0 - 2025-10-26 =

**Initial release.** AI Content Generator panel in Gutenberg (titles, full posts, excerpts, categories). Magic Wand for inline editing with 10+ actions (enhance, correct, translate, etc.). OpenAI and Deepseek support. Bulk generation (1-50 posts). REST API, nonce/capability checks, filters for developers. React 18 + Vite.

== Upgrade Notice ==

= 1.0.23 =
Technical rerelease to refresh the WordPress.org readme and translation sources.

= 1.0.22 =
Restored the keyword-rich plugin title in the readme header.

= 1.0.21 =
Adds Anthropic, OpenRouter, Yandex, and GigaChat providers, Image ALT generation, SEO modules, and updated WordPress.org External Services disclosure.

= 1.0.15 =
Fixed translation loading for WordPress 6.7+. Resolves "translation loading triggered too early" notice.

= 1.0.14 =
Minor changes.

= 1.0.13 =
Review notice on admin pages. Fixed model selection persistence and preview Markdown display.

= 1.0.11 =
Extended translation support for content generation prompts and interface elements.

= 1.0.10 =
Fixed module toggle error for installations with scalar module settings. Automatic migration to array format.

= 1.0.9 =
Image Generator enabled by default. Sidebar menu updates without reload when toggling modules. Module scripts always loaded on admin page.

= 1.0.8 =
Image Generator: generate images from prompts, save to Media Library, regenerate with correction prompt. Settings persistence. "Create attachment with AI" button on media library. API Logs: support for module events.

= 1.0.7 =
Fixed language parameter for AI generation, improved debug logging with full request/response data, temporarily hidden Suggest Categories.

= 1.0.6 =
WooCommerce integration fixes: short description generation, Magic Wand support, default model selection in Classic Editor, API key handling improvements.

= 1.0.5 =
OpenAI proxy option, model in settings and Single post preview, Magic Wand paragraph fix, modal styling, code quality fixes.

= 1.0.4 =
Improved admin notices for permalinks and API key configuration. Better error messages across all generation features.

= 1.0.3 =
Documentation links, API key notice, Inspired By section, updated screenshots and plugin links.

= 1.0.0 =
Initial release. Requires an API key from a supported AI provider. Configure in SmartyPress AI > Settings after activation. Plugin connects to external AI services - see External Services section for details.

== Privacy ==

This plugin sends data to external AI services. For complete privacy information, see the "External Services" and "Privacy & GDPR" sections above.


= Contributing =

Contributions are welcome! Please submit pull requests or open issues on GitHub.

== Credits ==

Developed by Alex Kovalev



