Improvement: Cycle AI now generates campaigns with full targeting — describe “20% off for wholesale customers in Germany” or “promote my summer tag” and the AI configures user roles, country (with billing or shipping source), and product tags directly. No need to add them in the wizard afterwards.
Improvement: Cycle AI now schedules time-of-day windows and recurring patterns from natural language — “every Friday 6pm to midnight until June 1” produces the exact daily/weekly/monthly recurrence with the right end date. Product rotation, free shipping, badge customization (color, position, custom text), smart product selection (best-sellers, featured, low-stock, new-arrivals), draft-vs-launch choice, and timezone overrides are all available too.
Improvement: When you refine a campaign in Cycle AI, your existing targeting and schedule settings are preserved — saying “extend by a week” no longer resets your role, location, or recurring configuration.
Improvement: When you ask Cycle AI for a Pro-only setting (usage limits, stacking, advanced filters), it now declines with a concrete upgrade link and offers to build a simpler version, instead of silently dropping the request.
Improvement: Review page now shows Location Targeting, User Role Targeting, and Tag selections in both the Configuration Summary card and the detailed sections, so every constraint is visible before launch.
Fix: Complex Cycle AI prompts no longer time out — extended both streaming and non-streaming HTTP timeouts to match the server-side processing budget.
Fix: Clicking “Review & Launch” after AI generation now correctly opens the prefilled wizard at the review step instead of an empty Basic step. The session cookie was being dropped because output started before the cookie could be sent.
Fix: Launch-blocker buttons in the review step now show actionable labels like “Change Priority” or “Adjust Discounts” instead of the generic “Go to Basic Step”.
2.0.0
NEW: Cycle AI — describe the sale you want in plain English and get a complete, store-aware campaign draft in seconds. Works for percentage discounts, BOGO, tiered pricing, fixed amounts, spend thresholds, and bundles.
NEW: Conversational refinement — keep the chat going to tweak anything (“make it 25% instead,” “add a 2-week deadline,” “cap at 200 uses”). The AI updates the draft in place, no starting over.
NEW: Store-aware drafts — Cycle AI reads your real catalog, so “all winter jackets” finds your actual products and categories instead of generic placeholders.
NEW: Dashboard chat panel — a persistent Cycle AI conversation on every admin page. Pick up where you left off, brainstorm promotions, or iterate on drafts without navigating away.
NEW: One-click “Review & Launch” — every AI draft drops into the campaign wizard pre-filled. You review every setting before the campaign goes live; the AI never publishes on its own.
NEW: Hosted AI service — works out of the box after a one-click consent. No API keys to configure.
NEW: Free plan includes 10 AI drafts per month; Pro plan gets 50 per day.
NEW: First-use consent flow — a modal explains exactly what data is sent and links to the privacy policy before anything is transmitted.
NEW: Plan-aware recommendations — Cycle AI knows which discount types are on your plan and focuses suggestions accordingly, with natural Pro upgrade mentions only when relevant.
NEW: Real-time streaming — AI reasoning text appears word-by-word as it thinks, with automatic fallback to non-streaming for older browsers.
1.8.31
Fix: Recurring campaigns now materialize reliably — a broken method reference caused every scheduled occurrence to fail silently, so merchants with weekly or monthly recurring campaigns weren’t getting new instances created on schedule.
Fix: Scheduled campaign status checks and email queue processing no longer duplicate themselves under parallel page loads — previously two concurrent requests could each schedule the same cron job, causing duplicate processing and wasted work.
Fix: Toggling daily/weekly email reports or alert monitors now takes effect within seconds instead of up to an hour after the settings change.
Fix: Campaign activation and deactivation errors now log clearly instead of failing silently — if a campaign misses its scheduled start, you’ll see why in the log and the safety check will still recover it.
Fix: Plugin uninstall now always runs its own cleanup (custom tables, scheduled actions, transients), even on sites where the licensing SDK fails to load — no more orphaned data on edge-case uninstalls.
Fix: Recurring-campaign maintenance now runs on every request (frontend, cron, AJAX, admin) instead of admin-only — fixes occurrence materialization on sites relying on WP-Cron fallback.
Fix: Scheduler no longer holds its internal lock for an hour when Action Scheduler is temporarily unavailable (e.g. during WooCommerce upgrades) — scheduling resumes on the next request instead.
Improvement: New Tools → Scheduled Jobs admin page shows every recurring job’s next run, handler status, and lets you trigger any job manually. Replaces the old debug-only diagnostic.
Improvement: Admin warning appears on the dashboard if the campaign safety check is more than 30 minutes overdue, with a link to the diagnostic page — catches misconfigured server cron early.
Reliability: All scheduled jobs across campaign lifecycle, email queue, alert monitoring, session cleanup, and license health check now catch and log errors cleanly instead of silently stopping mid-batch.
1.8.30
Fix: Service container initialization failure on frontend — page classes now load unconditionally since the container registers them before is_admin() is reliable.
Improvement: New FAQs covering sale filter compatibility, clean uninstall, and plugin conflict detection.
Improvement: WooCommerce compatibility headers added to readme.txt.
1.8.29
Feature: Setup wizard — 3-step onboarding (Store Scan, Recommendations, Ready) guides new merchants from activation to first campaign so they understand their store environment before creating discounts.
Feature: Setup wizard detects 19 conflicting discount plugins and lets merchants deactivate them directly from the wizard, preventing pricing conflicts before they start.
Feature: Setup wizard detects native WooCommerce sale prices and offers one-click batch removal so campaign discounts don’t clash with manual sale prices.
Feature: Campaign wizard now auto-generates a seasonal name (e.g. “Spring Sale”) so merchants can start building a campaign without thinking of a name first.
Feature: Completion modal now shows View Campaign, Preview Store, and Create Another buttons after creating a campaign, so merchants can choose their next step instead of being auto-redirected.
Feature: First campaign creation gets a celebratory moment (“Your First Campaign is Live!”) to reinforce the milestone.
Feature: Schedule step shows a reassurance hint (“These defaults work for most campaigns”) so new merchants aren’t blocked by unfamiliar options.
Performance: Dashboard page loads ~85% fewer database queries by caching campaign conditions, batching suggestion lookups, using grouped status counts, and eliminating duplicate fetches.
Performance: Shop pages load faster — product taxonomy terms are pre-warmed in a single batch query instead of 2 queries per product.
Performance: Migration schema checks now run once per day instead of on every page load, saving 3-4 queries per request.
Performance: WooCommerce Blocks cart no longer calculates discounts twice per product during REST API updates.
For the complete changelog of earlier versions, visit the full changelog.