=== EasyCommerce - WordPress Ecommerce Plugin with AI Shopping Agent, Content Writer & Image Generator ===

Contributors: easycommerce, easysuite
Donate link: https://easycommerce.dev
Tags: ecommerce, ai ecommerce, sell digital products, woocommerce alternative, order management, subscriptions, online store, payments, checkout, stripe, paypal, sell online
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.40
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The only WordPress ecommerce plugin with AI shopping agent, content writer & image generator built in. Sells for you 24/7. Zero transaction fees.

== Description ==

**A customer visits your store at 2 AM and types: "Do you have red sneakers in size 10 under $80?"**

EasyCommerce's built-in AI shopping agent searches your catalog, filters by color and size, shows matching products with prices, collects the customer's details, places the order, and delivers a payment link - all in one conversation. No staff required. No abandoned browsing sessions. A completed sale while you slept.

That's not a future feature. That's EasyCommerce today.

**Rated 4.7★ by store owners on WordPress.org.**

---

= Why Store Owners Are Switching From WooCommerce =

Running WooCommerce properly costs money most people don't talk about:

- Subscriptions extension: **$199/year**
- License Manager: **$129/year**
- AI content tools: **$29-80/month**
- AI image tools: **$10-30/month**

Total: **$728-$1,528/year** - before you've sold a single product.

EasyCommerce includes all of this. The core plugin is **completely free**, with zero transaction fees. Every AI feature - shopping agent, content writer, image generator, business analyst - is built in and runs on **100 free credits every month**, refreshed automatically.

[Try it live - no signup required →](https://tastewp.com/recipe/easycommerce) 🚀

---

= What Is EasyCommerce? =

EasyCommerce is a WordPress online store builder and AI ecommerce plugin built from the ground up for the AI era. While WooCommerce, Easy Digital Downloads, and other traditional platforms were designed before AI existed, EasyCommerce was built with it at the core - not bolted on.

**Built on dedicated database tables** (not WordPress posts), EasyCommerce delivers 3-5× faster performance than post-based systems, handles 10,000+ products without slowdown, and keeps your site lean even as your catalog grows.

Sell **digital products**, **physical goods**, **software licenses**, and **subscriptions** - all in one plugin, without the 10-15 extension stack WooCommerce requires.

---

= 🤖 AI Features =

**🛒 [Agentic AI](https://easycommerce.dev/features/ai/agentic) - Your AI Sales & Store Management Team**

Two autonomous agents work together: one sells on your storefront 24/7, the other manages your store from the admin panel.

**[Shopping Agent](https://easycommerce.dev/features/ai/agentic/shopping-agent) - Conversational Storefront**

Customers interact in natural language and complete the full purchase journey without leaving the chat.

**Discovery:** Search by keyword, color, size, or price. Browse by category or brand. Get full product details, variants, reviews, and ratings.

**Pre-purchase:** Get an order total with shipping and coupon applied. Validate coupon codes. Calculate shipping to a specific address.

**Order placement:** Collects customer details conversationally, creates a pending order with one or more products, auto-creates a WordPress account for new customers, and delivers a payment link - all in one conversation.

**Post-purchase self-service:** Check order status, view price breakdown, apply a coupon to an unpaid order, update delivery address, add notes, cancel a pending order, or request a confirmation email resend - all verified by email ownership, no support ticket needed.

**[Store Copilot](https://easycommerce.dev/features/ai/agentic/store-copilot) - Natural Language Store Management**

Available on every EasyCommerce admin page. Ask questions and take action in plain English.

[youtube https://www.youtube.com/watch?v=W3wPVeWIgEo]

- *"What were my top 5 products last month vs this month?"* → Ranked table with units sold and revenue.
- *"Create a 20% off coupon called SUMMER20, minimum spend $50, expires December 31"* → Done.
- *"Issue a refund on order #1042"* → Validates balance, updates status, sends refund email.
- *"Show customers who haven't purchased in 90 days"* → Instant filtered list.

**Replaces:** $50-500/month in business intelligence tools.

**[Multi-Channel Agent](https://easycommerce.dev/features/ai/agentic/multi-channel)**
Extend the shopping agent to Facebook Messenger and WhatsApp via addons. Each channel is a separate addon - launch one, then add more.
---

**[AI Smart Search](https://easycommerce.dev/features/ai/agentic/smart-search)**

Understands intent even with typos and natural language.

[youtube https://www.youtube.com/watch?v=E8xWgn0f5-o]

- "ifon" → iPhone products
- "apple's phone" → iPhone products
- "wirless hedphones" → Wireless headphones

WooCommerce requires exact keyword matches and charges $79-199/year for intelligent search. EasyCommerce includes it free.

---

**✍️ [Generative AI](https://easycommerce.dev/features/ai/generative) — Your AI Copywriter & Product Photographer**

Three tools that write product descriptions, generate visuals from text, and edit product photos - no designers or copywriters required.
---

**[AI Content Writer](https://easycommerce.dev/features/ai/generative/writer)**

Generate professional product descriptions from your product title and a custom prompt.

[youtube https://www.youtube.com/watch?v=F9xy8pdaVzs]

- Short summaries: 20-40 words (catalog pages)
- Long descriptions: 600-900 words (product pages)
- SEO-optimised and conversion-focused

**Replaces:** $29-80/month on Jasper AI, Copy.ai, or freelance copywriters.

---

**[AI Image Generator](https://easycommerce.dev/features/ai/generative/image-generator)**

Create professional product visuals from a text description.

[youtube https://www.youtube.com/watch?v=_6e0yqXaVUE]

- Digital product covers and concept art
- Marketing graphics and social media assets
- Product visualisations before a photoshoot

**Replaces:** $10-30/month on Midjourney or DALL-E.

---

**[AI Image Editor](https://easycommerce.dev/features/ai/generative/image-editor)**

Professional photo editing with simple text commands.

[youtube https://www.youtube.com/watch?v=Lx_NlDa-MyU]

- Background removal (studio-quality results)
- Image enhancement: lighting, clarity, colour
- Style transformation and object editing

**Replaces:** $9-29/month on removal.bg, Canva Pro, or Photoshop.

**[Luna](https://easycommerce.dev/features/ai/agentic/luna)**
Always-free in-dashboard help assistant. Answers how-to questions whenever you're stuck.

---

**🔗 Quick Links**

- [Live Demo](https://tastewp.com/recipe/easycommerce) - Try EasyCommerce instantly. No signup, no install.
- [AI Features](https://easycommerce.dev/features/ai) - Full AI feature overview
- [Ecommerce Features](https://easycommerce.dev/features/ecommerce) - Complete code ecommerce feature list
- [Addons](https://easycommerce.dev/addons) - 25+ free addons: Mailchimp, Klaviyo, FluentCRM, HubSpot, Zendesk, Slack, Google Sheets Sync, WPBakery, Paddle, PDF Invoices, Points & Rewards, Wishlist, Sliding Cart, Delivery Date Picker, and more
- [Pricing](https://easycommerce.dev/pricing) - Free core, simple Pro upgrade
- [Compare](https://easycommerce.dev/compare) - vs WooCommerce, EDD, FluentCart, SureCart
- [Documentation](https://easycommerce.dev/docs/) - Step-by-step guides
- [Developer Docs](https://easycommerce.dev/docs/dev/) - REST API, hooks, models, payment gateways, addons
- [Support](https://support.easycommerce.dev/) - Get expert help

---

= 🎯 Who Is EasyCommerce For? =

**[Digital Product Creators](https://easycommerce.dev/use-cases/digital-products)**

Course creators, authors, designers, and software developers selling ebooks, templates, PDFs, videos, music, and downloadable files.

✓ Secure digital file delivery with download limits
✓ AI-generated product descriptions and cover images
✓ Software license management (Pro addon)
✓ Zero per-transaction fees

---

**[Subscription Businesses](https://easycommerce.dev/features/ecommerce/subscriptions)**

SaaS founders, membership sites, coaching programmes, and communities selling recurring access.

✓ Flexible billing: weekly, monthly, quarterly, yearly
✓ Automatic recurring payments via Stripe and PayPal
✓ Customer self-service subscription dashboard
✓ Pause and cancel subscriptions
✓ Subscription expiry management
✓ Email notifications for renewals, failures, and cancellations

[Learn more →](https://easycommerce.dev/addons/easycommerce-subscriptions)

---

**[Software Licensing Businesses](https://easycommerce.dev/features/ecommerce/license-manager)**

WordPress plugin and theme developers, SaaS products, and any digital product requiring activation control.

✓ Automatic license key generation
✓ Activation limits per license
✓ Usage and activation tracking
✓ Automatic renewal handling for subscriptions
✓ Remote deactivation management
✓ API for license validation

[Learn more →](https://easycommerce.dev/addons/easycommerce-license)

---

**[Physical Product Stores](https://easycommerce.dev/use-cases/physical-products)**

Retailers and handmade goods sellers managing real inventory.

✓ Product variations: size, color, material
✓ Per-variant inventory tracking and stock alerts
✓ AI product photography (eliminate expensive photoshoots)
✓ Shipping calculators and tax management
✓ Fast page loads even with 10,000+ products

---

**[WordPress Agencies](https://easycommerce.dev/use-cases/agencies)**

Web developers building ecommerce sites for clients.

✓ One plugin instead of a 10+ extension stack
✓ Clean, well-documented codebase with hooks and filters
✓ AI features clients immediately understand and love
✓ Faster sites mean happier clients
✓ Predictable, affordable pricing - no surprise extension bills

---

= 🚀 EasyCommerce vs WooCommerce =

WooCommerce has been the default for 15 years. It's also become bloated, extension-dependent, and expensive to run properly. Here's the honest comparison - [see the full breakdown](https://easycommerce.dev/compare/woocommerce):

**⚡ Performance**
WooCommerce uses WordPress post tables - performance degrades with large catalogs.
EasyCommerce uses dedicated database tables - 3-5× faster, scales to 10,000+ products without slowdown.

**🛒 AI Shopping Agent**
**WooCommerce:** no conversational agent exists at any price point.
**EasyCommerce:** built-in AI handles product discovery, order placement, and post-purchase support 24/7.

**🤖 Store Management**
**WooCommerce:** no AI management tools.
**EasyCommerce:** Store Copilot answers questions, updates orders, and runs analytics in natural language.

**🎨 AI Content & Images**
**WooCommerce:** requires external tools at $30-100/month each.
**EasyCommerce:** 8+ AI features built in with 100 free credits refreshed every month.

**💰 Annual Cost**
WooCommerce with subscriptions, license manager, and AI tools: **$728-$1,528/year**.
EasyCommerce: **Free core**, optional Pro for advanced features.

**🎯 Setup**
WooCommerce: 10-15 plugins needed for comparable functionality.
EasyCommerce: everything included or available as simple one-click addons.

**📊 Transaction Fees**
Both: zero platform fees.

---

= ⭐ Complete Feature List =

**🤖 Agentic AI**

✓ **[Shopping Agent](https://easycommerce.dev/features/ai/agentic/shopping-agent)** - Conversational storefront chatbot: product discovery, order placement, and post-purchase support 24/7
✓ **[Store Copilot](https://easycommerce.dev/features/ai/agentic/store-copilot)** - Natural language store management: analytics, orders, catalog, customers, complex data queries
✓ **[Multi-Channel Agent](https://easycommerce.dev/features/ai/agentic/multi-channel)** - Extend the shopping agent to Facebook Messenger and WhatsApp via addons
✓ **[Luna Help Assistant](https://easycommerce.dev/features/ai/agentic/luna)** - Always-free in-dashboard help for store owners
✓ **[AI Smart Search](https://easycommerce.dev/features/ai/agentic/smart-search)** - Intent-based search with typo correction and natural language understanding
✓ **[AI Business Analyst](https://easycommerce.dev/features/ai/agentic/store-copilot)** - Natural language business intelligence across your entire store

**✍️ Generative AI**

✓ **[AI Content Writer](https://easycommerce.dev/features/ai/generative/writer)** - Product descriptions and summaries from title and prompt
✓ **[AI Image Generator](https://easycommerce.dev/features/ai/generative/image-generator)** - Product visuals from text descriptions
✓ **[AI Image Editor](https://easycommerce.dev/features/ai/generative/image-editor)** - Background removal, enhancement, style transformation
✓ **[AI Template Builder](https://easycommerce.dev/features/ai/generative/template-generator)** - Complete store layouts and product page designs
✓ **[AI Attribute Generator](https://easycommerce.dev/features/ai/generative/attribute-generator)** - Auto-create product options in one click

**Sell Anything**

✓ **[Digital Products](https://easycommerce.dev/features/ecommerce/digital-delivery)** - PDFs, videos, music, software, ebooks with secure delivery
✓ **[Physical Products](https://easycommerce.dev/features/ecommerce/physical-digital)** - Inventory, shipping, size/color/material variants
✓ **[Subscriptions](https://easycommerce.dev/features/ecommerce/subscriptions)** - Recurring billing for memberships, SaaS, coaching (Pro addon)
✓ **[Software Licenses](https://easycommerce.dev/features/ecommerce/license-manager)** - Activation keys, renewal management (Pro addon)
✓ **[Variable Products](https://easycommerce.dev/features/ecommerce/product-variations)** - Auto-generate all variants with one click
✓ **Mixed Physical + Digital Products** - Sell a paperback, hardcover, and audiobook as a single product listing. Physical and digital variants co-exist; each delivers appropriately (shipping for physical, secure download for digital)

**[Payments](https://easycommerce.dev/features/ecommerce/payments) - Zero Transaction Fees**

✓ **Stripe** - Credit cards, Apple Pay, Google Pay (200+ countries, 135+ currencies)
✓ **PayPal** - Instant checkout, PayPal Credit
✓ **Mollie** - European payment methods
✓ **Braintree** - Enterprise-grade processing
✓ **Square** - Credit cards, partial refunds
✓ **Cash on Delivery** - Accept payment on delivery; automatically disabled for digital-product orders
✓ **Local Gateways** - bKash, Nagad, and regional methods via [addons](https://easycommerce.dev/addons)
✓ **No Platform Fees** - Keep 100% of revenue

**Marketing & Conversion**

✓ **[AI Shopping Agent](https://easycommerce.dev/features/ai/agentic/shopping-agent)** - Converts visitors through conversation, not passive browse-and-abandon
✓ **[Abandoned Cart Recovery](https://easycommerce.dev/features/ecommerce/abandoned-carts)** - Automated personalised reminder emails
✓ **[Coupons & Discounts](https://easycommerce.dev/features/ecommerce/coupons)** - Percentage, fixed amount, Buy X Get Y, free shipping, product-specific
✓ **[Email Automation](https://easycommerce.dev/features/ecommerce/emails)** - Order confirmations, shipping updates with dynamic placeholders
✓ **[Cross-Sell & Upsell](https://easycommerce.dev/features/ecommerce/cross-sell-upsell)** - Strategic suggestions at product page, cart, and checkout
✓ **Product Reviews & Ratings** - Customer reviews with star ratings on storefront product pages; moderation, search, and bulk management from the admin

**Store Management**

✓ **[Real-Time Dashboard](https://easycommerce.dev/features/ecommerce/dashboard)** - Sales charts, trending products, low-stock alerts with predicted days to out-of-stock
✓ **[Inventory Control](https://easycommerce.dev/features/ecommerce/inventory)** - Per-variant stock levels with SKU support
✓ **[Order Management](https://easycommerce.dev/features/ecommerce/order-management)** - Full order lifecycle: pending, completed, failed, refunded, partial refunds
✓ **Manual Order Creation** - Create orders directly from the admin panel for phone, email, or offline sales
✓ **Guest Checkout** - Customers complete purchases without creating an account; account auto-created after order if email is new
✓ **[Customer Profiles](https://easycommerce.dev/features/ecommerce/customer-management)** - Purchase history, lifetime value, internal notes
✓ **[Shipping Calculators](https://easycommerce.dev/features/ecommerce/shipping)** - Weight-based, flat rate, regional zones
✓ **[Tax Management](https://easycommerce.dev/features/ecommerce/tax)** - Country/region rates, tax-inclusive pricing, RTL support; one-click pre-populated tax rate tables for the US, Canada, and Brazil
✓ **[Reports & Analytics](https://easycommerce.dev/features/ecommerce/reports-analytics)** - Overview, orders, revenue, customers, and product reports with interactive charts, GeoMap, and heatmaps
✓ **[Activity & Audit Log](https://easycommerce.dev/features/ecommerce/audit-log)** - Full history of every significant store action
✓ **CSV Product Importer** - Bulk-import simple and variable products with all attributes via CSV upload
✓ **Direct Checkout** - Skip the cart: send customers straight to checkout from product pages or via URL parameters. Configurable per-store.
✓ **Profit & Margin Tracking** - Set product cost, view profit amount and margin per product. Profit data surfaces across reports and order views.
✓ **Store Mode** - Put your store in Coming Soon or Maintenance mode with a visible badge on the storefront, shop, checkout, and dashboard. Flip back to live with one toggle.
✓ **Brands Taxonomy** - Assign products to brands alongside categories and tags; filterable on the storefront

**Design & Customisation**

✓ **[Gutenberg-Native](https://easycommerce.dev/features/builder/gutenberg-blocks)** - Build product pages with WordPress blocks
✓ **[Variation Swatches](https://easycommerce.dev/features/ecommerce/product-variations)** - Color, image, and label selectors instead of dropdowns
✓ **[Storefront Templates](https://easycommerce.dev/features/builder/storefront)** - Three shop designs with AJAX category, price, and attribute filters
✓ **[Page Builder Ready](https://easycommerce.dev/features/builder/page-builders)** - Compatible with Elementor and Beaver Builder
✓ **Responsive Templates** - Mobile-optimised shop and checkout pages
✓ **No-Code Product Builder** - Drag-and-drop layout customisation
✓ **Quick View** - Customers preview product details in a modal without leaving the shop page
✓ **Product Comparisons** - Side-by-side attribute and price comparison across multiple products
✓ **WordPress Shortcodes** - Six built-in shortcodes for embedding any store page anywhere: `[easycommerce-checkout]`, `[easycommerce-dashboard]`, `[easycommerce-login]`, `[easycommerce-register]`, `[easycommerce-reset]`, `[easycommerce-payment]`

**Performance & Scalability**

✓ **Dedicated Database Tables** - 3-5× faster than WordPress post-based systems
✓ **Optimised Queries** - Handles 10,000+ products without performance degradation
✓ **Lightweight Architecture** - Minimal footprint vs 15-plugin WooCommerce stacks
✓ **Cache-Friendly** - Works with all major caching plugins
✓ **[Security First](https://easycommerce.dev/features/ecommerce/security)** - Nonce verification, capability checks, sanitisation, output escaping

**Developer Features**

✓ **REST API** - Full programmatic access to products, orders, and customers
✓ **Hooks & Filters** - 100+ actions, 50+ filters to customise any behaviour
✓ **[Developer Documentation](https://easycommerce.dev/docs/dev/)** - Complete guides: REST API, hooks, data models, custom payment gateways, and building addons

---

= 🛍️ Shop Display & Product Experience =

Your storefront is the first impression. EasyCommerce ships three fully responsive shop templates with AJAX filtering - no page reloads when customers browse by category, price, or attribute.

- **Variation Swatches** - Color, image, and label selectors replace dropdowns on product pages and shop grids
- **Quick View** - Customers inspect product details in a lightbox without navigating away from the shop
- **Product Comparisons** - Side-by-side feature and price comparison so customers make faster decisions
- **Advanced AJAX Filters** - Filter by category, brand, price range, and attributes simultaneously. Results update instantly.
- **Stock Badges** - Configurable low-stock indicators to create urgency at the right moment
- **Variation Images** - Each variant (color, size, style) shows its own image when selected

---

= 📊 Dashboard & Reporting =

EasyCommerce replaces the spreadsheet and the separate analytics plugin.

**Real-Time Dashboard:**
- Dual Y-axis sales chart tracking revenue and order volume simultaneously
- Recent Activities feed - live stream of store events with per-type filtering
- Trending Products - what customers are buying right now
- Low-Stock Alerts - inventory warnings with predicted days until out-of-stock
- Abandoned Cart Modal - view abandoned carts and send a custom reminder email directly from the dashboard without switching screens
- Order status breakdown across pending, completed, failed, and refunded

**Advanced Reports - five dedicated pages:**

**Overview:** Gross revenue, net revenue, order count, refunds, products sold, and customer count - each with comparison period and trend indicator.

**Orders:** Order volume over time, status breakdown, order type (new vs renewal), fulfillment performance.

**Revenue:** Gross vs net revenue trends, refund rate, average order value, revenue by product.

**Customers:** New vs returning customer ratio, top customers by lifetime value, customer geographic distribution via interactive GeoMap.

**Products:** Most Sold and Least Sold product lists - spot winners and dead inventory at a glance. Single Product deep-dive - sales, refunds, current stock, and average rating in one view. Profit margin by product.

**Interactive Visualisations:**
- Line, Doughnut, and Bar charts powered by Recharts and CanvasJS
- GeoMap - orders and customers plotted by country with hover detail
- Activity Heatmap - customer purchase patterns by day and hour (spot your peak trading windows)
- Top Customers component - ranked by total revenue with order history

---

= 📦 Product Management =

Everything in one place. No switching between five menus.

- **Single-screen product creation** - title, description (or generate with AI), images (or generate with AI), price, stock, variants, and shipping all on one page
- **Auto-variant generation** - define size, color, and material once; EasyCommerce generates every combination automatically
- **Per-variant inventory** - track stock, SKU, and price independently per variant
- **Profit calculator** - enter your product cost and see profit amount and margin update in real time
- **Mixed physical + digital variants** - one product listing with both physical and digital variants. Each delivers correctly.
- **AI in the editor** - generate descriptions and images without leaving the product screen
- **Categories, tags, and brands** - full taxonomy support with filters on the storefront
- **CSV import** - bulk-upload simple and variable products via CSV

---

= 🔁 Abandoned Cart Recovery =

The average ecommerce abandonment rate is 70%. EasyCommerce recovers those sales automatically.

- **Configurable recovery timer** - set the delay before an abandoned cart triggers a reminder
- **Personalised emails** - include the customer's name, cart items, total, and a direct checkout link
- **Dashboard action** - view all abandoned carts and send a custom follow-up email from the dashboard modal without switching screens
- **Recovery tracking** - monitor how many carts were recovered and which email timing works best

---

= 💳 Payments & Checkout =

- **Zero platform fees** - you keep 100% of revenue. Only standard processor fees apply (Stripe ~2.9% + 30¢, PayPal similar).
- **135+ currencies** - auto-detection based on customer location
- **Guest checkout** - no account required to purchase; account auto-created if the email is new
- **Direct checkout** - send customers straight to checkout, bypassing the cart
- **Pre-populated tax rates** - one-click tax table import for the US, Canada, and Brazil
- **Apple Pay & Google Pay** - via Stripe, no extra setup
- **Partial refunds** - supported across Stripe, PayPal, Square, Braintree, and Mollie

---


= 🗺️ On the Roadmap =

Active development. These features are in progress and will ship in upcoming releases:

- **Voice Search** - Hands-free product search
- **AI Cross-Sell** - AI-powered product recommendations at checkout
- **Smart Retry for Failed Payments** - Automatic recovery logic for subscription renewals
- **Subscription Plan Changes** - Upgrade and downgrade flows for customers
- **Setup Fees** - One-time charges on subscription signup
- **Free Trial Periods** - Trial access before the first subscription billing charge

---

= 🔄 Migrate From WooCommerce in One Click =

Switching stores is easier than you think.

**What gets migrated:**
✓ All products (simple, variable, digital)
✓ Product images and galleries
✓ Categories, tags, and brands
✓ All orders and order history
✓ Customer accounts and data
✓ Reviews and ratings

**How it works:**
1. Install the free [Migration addon](https://easycommerce.dev/addons/easycommerce-migration)
2. Click "Start Migration"
3. Wait 5-30 minutes depending on catalog size
4. Done - zero downtime, store stays live throughout

Pro customers get free white-glove migration assistance from our team.

= 🔌 Addon Ecosystem =

25+ free addons at [easycommerce.dev/addons](https://easycommerce.dev/addons). Install in one click from within your dashboard:

**CRM & Email Marketing:** Mailchimp, Klaviyo, FluentCRM, HubSpot
**Support & Operations:** Zendesk, Slack notifications, Google Sheets Sync
**Store Experience:** Points & Rewards, Wishlist, Sliding Cart, Delivery Date Picker
**Payments:** Paddle, bKash, Nagad, Rocket, Bank Transfer
**Content & Design:** WPBakery integration, PDF Invoices, Checkout Editor
**Migration:** WooCommerce Migration (one-click import of all products, orders, customers, and reviews)

All addons are free. Premium addons are included in Pro.

---

= 📱 Community =

- [Facebook Community](https://www.facebook.com/groups/easycommerce.community/) - Tips, questions, and store owner discussions
- [Facebook Page](https://www.facebook.com/easycommercedev) - Product updates and announcements
- [X (Twitter)](https://x.com/easycommercedev) - News and tips
- [LinkedIn](https://www.linkedin.com/company/easycommercedev/) - Business and agency content
- [YouTube](https://www.youtube.com/@EasyCommercedev) - Tutorials and feature walkthroughs

---

= 🌟 Why Developers Choose EasyCommerce =

**Clean architecture:**
Modern, maintainable codebase. Dedicated database tables. Follows WordPress coding standards.

**Extensible:**
Complete REST API. 100+ action hooks. 50+ filter hooks. Custom endpoint and headless support.

**Well-documented:**
Full developer guides at [easycommerce.dev/docs/dev](https://easycommerce.dev/docs/dev/): getting started, architecture, REST API, hooks and filters, database models, custom payment gateways, and building addons.

**Performance:**
Optimised SQL queries. Minimal database calls. Cache-friendly. Lazy-loaded assets. 3-5× faster than post-based systems.

---

== Frequently Asked Questions ==

= What is EasyCommerce? =

EasyCommerce is an AI ecommerce plugin for WordPress with a built-in AI shopping agent that sells on your storefront 24/7, a Store Copilot that manages your store in natural language, and a full suite of generative AI tools for content, images, and analytics. Sell digital products, physical goods, and subscriptions with dedicated database architecture for 3-5× faster performance and zero transaction fees.

= Is EasyCommerce free? =

Yes. The core plugin is completely free with no transaction fees. The optional Pro version unlocks Subscription Management and License Management. You only ever pay standard payment processor fees (Stripe, PayPal, etc.).

= How is EasyCommerce different from WooCommerce? =

EasyCommerce includes a built-in AI shopping agent that handles the full customer purchase journey - no WooCommerce equivalent exists at any price. It ships with 8+ AI features (shopping agent, Store Copilot, smart search, content writer, image generator, image editor, business analyst) that WooCommerce completely lacks. Built on dedicated database tables for 3-5× faster performance. Pro includes subscriptions and license management - WooCommerce charges $328+/year for equivalent extensions. [Full comparison →](https://easycommerce.dev/compare/woocommerce)

= What can the AI Shopping Agent do? =

The AI Shopping Agent is a conversational chatbot on your storefront. It helps customers find products, quote order totals with shipping and coupons applied, collect their details, place orders, and deliver a payment link - all through chat. After purchase, customers can check order status, update their address, cancel a pending order, or request a confirmation email resend without contacting support.

= What can the Store Copilot do? =

The Store Copilot is available on every EasyCommerce admin page. Ask business questions, look up orders or customers, update order statuses, adjust stock, run complex analytics, and manage coupons - all in plain English. No SQL required.

= Can I sell digital and physical products together? =

Yes. EasyCommerce handles digital downloads, physical goods with inventory tracking, subscriptions with recurring billing, and software licenses - all in one plugin.

= What payment gateways are supported? =

Stripe, PayPal, Mollie, Braintree, and Square are built in. Regional gateways including bKash and Nagad are available as free addons. All major methods supported: credit cards, Apple Pay, Google Pay, and bank transfers.

= Do you charge transaction fees? =

No. Zero platform fees, ever. You keep 100% of revenue and pay only standard processor fees (Stripe ~2.9% + 30¢, PayPal similar).

= How do AI credits work? =

Every plan includes a monthly credit allowance that refreshes automatically. The free plan gives you **100 credits/month** (200 in your first month).

Credit cost per action:
- Shopping Agent: 1 credit per conversation turn
- Store Copilot: 1 credit per conversation turn
- AI Content Writer: 1 credit per generation
- AI Business Analyst: 2 credits per query
- AI Smart Search: 1 credit per search
- AI Template Builder: 3 credits per generation
- AI Image Generator: 50 credits per image
- AI Image Editor: 50 credits per edit
- AI Background Remover: 50 credits per action

**For most store owners, 100 free credits/month covers:** 100 product descriptions, or 100 customer conversations via the shopping agent, or 100 smart search queries - all valuable daily workflows.

AI image generation and editing use significantly more computing resources (50 credits each). Paid plans - Personal (1,000/mo), Professional (3,000/mo), Agency (8,000/mo) - are designed for high-volume image work.

*How conversation turns work:* The Shopping Agent and Store Copilot may take several internal steps to answer a complex question (reading data, calling tools, refining the answer). Each step costs 1 credit. Simple questions cost 1-2 credits; complex multi-step requests cost more.

Credits refresh monthly and do not roll over.

= How does AI content generation work? =

Enter your product title and an optional prompt ("Emphasise durability and the 2-year warranty"). EasyCommerce generates professional descriptions in seconds - 20-40 words for summaries or 600-900 words for detailed pages. Uses 1 credit per generation.

= Can I remove product image backgrounds automatically? =

Yes. The AI Image Editor removes backgrounds, enhances lighting, and creates studio-quality product photos using simple text commands - no Photoshop or design skills needed. Uses 50 credits per edit.

= What's included in EasyCommerce Pro? =

Pro includes Subscription Management (recurring billing, automatic renewals, free trials, pause and cancel) and Software License Manager (activation keys, usage tracking, renewal handling). Pro customers also receive a larger monthly AI credit allowance, priority support, and free migration assistance.

= Can I use EasyCommerce for a membership site? =

Yes. With the Pro Subscriptions addon, EasyCommerce handles recurring billing, member self-service dashboards, flexible billing intervals (weekly, monthly, yearly), and subscription lifecycle management - pause, cancel, expiry. Used for coaching programmes, online course platforms, exclusive communities, and SaaS businesses.

= Can I migrate from WooCommerce? =

Yes. The free [Migration addon](https://easycommerce.dev/addons/easycommerce-migration) transfers all products, orders, customers, and reviews in one click with zero downtime. Takes 5-30 minutes depending on catalog size. Pro customers get free white-glove migration assistance.

= Does EasyCommerce work with my WordPress theme? =

Yes. EasyCommerce is Gutenberg-native and auto-compatible with virtually all modern WordPress themes. No theme conflicts in standard setups.

= Does EasyCommerce support multiple currencies? =

Yes. 135+ currencies via payment gateway integrations, with auto-detection based on customer location.

= Is EasyCommerce fast with large product catalogs? =

Yes. Dedicated database tables instead of WordPress posts deliver 3-5× faster queries even with 10,000+ products. Performance does not degrade as your catalog grows.

= What are the system requirements? =

- WordPress 6.0 or greater
- PHP 7.4 or greater (PHP 8.0+ recommended)
- MySQL 5.6+ or MariaDB 10.1+
- HTTPS recommended for secure payments
- Pretty permalinks enabled

= Why do I need an API key? =

The API key is optional but recommended. It connects your store to EasyCommerce's system for addon integration, AI feature synchronisation, and automatic updates. Your store works without it, but the API key unlocks full functionality.

= Is there a refund policy? =

Yes. 30-day money-back guarantee on EasyCommerce Pro, no questions asked.

= Where can I get support? =

Free community support via WordPress.org forums and the [Facebook Community](https://www.facebook.com/groups/easycommerce.community/). Pro customers get priority support through our [support centre](https://support.easycommerce.dev/). Full documentation at [easycommerce.dev/docs](https://easycommerce.dev/docs/).

---

== Installation ==

= Automatic Installation =

1. Log in to your WordPress dashboard
2. Go to **Plugins > Add New**
3. Search for "EasyCommerce"
4. Click **Install Now**, then **Activate**
5. Follow the Setup Wizard to configure your store

= Manual Installation =

1. Download the EasyCommerce plugin zip
2. Go to **Plugins > Add New > Upload Plugin**
3. Upload the zip and click **Install Now**, then **Activate**
4. Follow the Setup Wizard

= After Installation =

**Setup Wizard:** Configure store name and logo, currency and location, payment gateways, shipping options, and tax settings.

**Create Your First Product:** Go to **EasyCommerce > Products > Add New**. Enter a title, use AI to generate description and image (optional), set price and stock, publish.

**Enable AI:** Connect your EasyCommerce account in Settings to activate the shopping agent, Store Copilot, content writer, and image tools. 100 free credits/month, no credit card required.

= Minimum Requirements =

- WordPress 6.0+
- PHP 7.4+ (PHP 8.0+ recommended)
- MySQL 5.6+ or MariaDB 10.1+
- HTTPS recommended
- Pretty permalinks enabled

---

== Screenshots ==

1. AI Shopping Agent - a customer asks for products in natural language; the agent searches the catalog, checks stock, applies coupons, takes the order, and delivers a payment link in one conversation.
2. Store Copilot - an admin AI assistant; ask "Which product is performing best?" or "Which products are low in stock?" and get an instant answer without opening a single report.
3. Dashboard - real-time sales chart, recent activity feed, top-selling products, low-stock alerts, and abandoned-cart overview.
4. AI Content Writer - enter a product title, add a prompt, and generate an SEO-optimised description in seconds.
5. AI Drag-and-Drop Builder - design store and product pages visually with Gutenberg blocks, no code required.
6. Product Management - add products, generate variants, manage stock per variant, write with AI, and generate images from the same screen.
7. Order Management - full order lifecycle with status and fulfillment tracking, refunds, order notes, and customer details.
8. Shop Page - responsive storefront design with AJAX filters by category, price, and attribute.
9. Checkout - streamlined billing, live cart, and order summary with coupon support on a single page.
10. Coupons - flexible discounts: percentage or fixed, with min/max spend, product targeting, and expiry dates.
11. Abandoned Cart Recovery - overview of abandoned carts with one-click reminder email sending.
12. Shipping - zone-based shipping plans with country/state/city rates and flexible calculation methods.
13. Integrations - built-in payment gateways (Stripe, PayPal, Square, Braintree, Mollie), CRM and marketing addons, WooCommerce migration, and more.

---


== Changelog ==

= 1.40 - 2026-06-16 =

**🤖 NEW: Agentic AI - Your 24/7 AI Sales & Management Team**

The headline feature of 1.40. EasyCommerce now ships autonomous AI agents that sell on your storefront and manage your store from the admin - a first for WordPress ecommerce.

- **Shopping Agent** - conversational storefront chatbot that searches your catalog, checks stock, applies coupons, places orders, and delivers payment links, all in one chat
- **Store Copilot** - natural-language admin assistant; renders responses as HTML and supports multi-line input via Shift+Enter
- Added AI usage log to track credit consumption

**🔒 Security**

- Fixed Stripe webhook signature verification bypass
- Added authentication to the Stripe webhook and payment-intent REST endpoints
- PayPal order amount now re-verified after payment to block tampered totals
- Fixed authentication bypass on all Tax REST endpoints
- Fixed path traversal in the CSV tax-rate loader; country parameter now validated before building the file path

**💳 Payments**

- Added Stripe SetupIntent support for subscription checkouts (fixes a double-charge on the first order)
- Fixed Stripe card element render failures and auto-render on cart change
- Fixed checkout not listing the correct Stripe payment methods (e.g. US bank methods showing as "N/A")
- Fixed saved payment method not displaying at checkout
- Fixed inverted Braintree refund status check and partial-refund/void handling
- Fixed undefined variables crashing PayPal refunds

**🧾 Tax**

- Fixed tax being calculated on the pre-discount price

**🚀 Onboarding & Setup**

- Removed the AI step from the setup wizard; replaced token copy-paste with a magic link
- Added progress indicator while locations.json downloads on fresh install

**🎨 Storefront & Theme Compatibility**

- Improved storefront rendering on modern themes via automatic CSS isolation and width fixes
- Fixed frontend container layout issue

**📊 Dashboard & Reports**

- Redesigned the dashboard with a cleaner, modern layout
- Fixed incorrect number formatting in revenue display
- Fixed dashboard order status chart and layout issues

**🛒 Products & Abandoned Cart**

- Fixed demo product importer not importing product images
- Show product names and cart total in the abandoned cart list
- Fixed abandoned cart reminder not sending on the Remind button

**🧩 Addons**

- Fixed Klaviyo and PDF Invoice addons incorrectly shown as Pro
- Fixed addons installing under a wrong/temporary directory
- Fixed prompt to install the bundled Stripe plugin when using subscriptions

**🐛 Bug Fixes & UI**

- Search now triggers on Enter key across all screens
- Switched the admin menu to monochrome icons
- Fixed state and city dropdowns not working
- Fixed coupon status dropdown not appearing
- Fixed wrong date placeholder in search fields
- Fixed last order date not displaying in order details
- Fixed sort dropdown label overflowing its button
- Fixed the WordPress admin sidebar not highlighting the EasyCommerce Dashboard
- Fixed a broken placeholder page link in email settings
- Fixed documentation page not loading

= 1.31 - 2026-04-29 =

- [fix] Fixed Mozart compatibility

= 1.30 - 2026-04-29 =

**📊 Reports Overhaul**

- Complete Reports API and frontend restructure with improved architecture
- New Overview, Orders, Revenue, Customers, and Products report pages
- Added stats cards with comparison periods and tooltips
- Added interactive Line, Doughnut, and Bar charts using Recharts/CanvasJS
- Added GeoMap for orders and customers by location
- Added Heatmap for customer activity patterns
- Added Top Customers component with revenue breakdown
- Added Single Product report page with sales, refunds, stock, and rating stats
- Added Most Sold and Least Sold product lists
- Added order type and customer type (new vs returning) breakdowns
- Improved report caching with full cache invalidation on order/review changes
- Fixed JOIN-multiplication bugs and revenue decimal precision issues
- Fixed order/refund calculations across all report endpoints
- Fixed country hover highlighting on GeoMap

**📈 Dashboard Improvements**

- Added Recent Sales chart with dual Y-axis
- Added Recent Activities feed with per-type filtering
- Added Abandoned Cart modal with custom reminder email support
- Added predicted days until out-of-stock for low stock items
- Fixed dashboard stats caching issue
- Fixed dashboard date range filter

**💳 Payments**

- Added Square and Mollie order metadata display in order details
- Fixed Braintree Mozart namespace issues and JS re-initialization race condition
- Added PayPal backend validation and improved payment form handling

**🏪 Store**

- Added store visibility settings with store mode (coming soon / maintenance)
- Added admin bar indicator for store mode
- Added currency mismatch notice in settings
- Added payment breakdown in order details

**🐛 Bug Fixes**

- Fixed dependent addon installation failing for non-canonical plugin directories
- Fixed abandoned cart clean action not working
- Fixed email sending issues including missing refund emails and empty recipient guard
- Fixed help and support page doc API path
- Fixed products tab display issue

**🎨 UI**

- Updated sidebar icons with hover and active states
- Fixed active menu color and hover icon in sidebar
- Updated order fulfillment status colors to match dropdown

**⚙️ Developer / CI**

- Added PR quality check workflow
- Added PHPUnit test suite with PSR-4 layout and base test case
- Added Reports architecture documentation

= 1.29 - 2026-04-14 =

- [fix] Fix initialization error
- [fix] Fix Braintree error message handling
- [fix] Fix API key modal error
- [fix] Fix AI assistant button error
- [fix] Fix coupon discount type field error
- [fix] Fix out of stock issue for templates 1 and 3
- [fix] Fix stock badge initialization issue
- [fix] Fix product count issue on single product page
- [fix] Prevent adding out of stock products to cart
- [fix] Add correct link for addon page
- [feat] Add stock badge feature with enable/disable option
- [feat] Add stock badge for templates 1, 2, and 3
- [feat] Add fallback value to stock badge
- [feat] Set stock badge button default value
- [feat] Update stock count logic
- [feat] Preserve dashboard data when navigating setup wizard
- [feat] Reset offer value to empty array when switching to Free Products type
- [ui] Change background color for stock badge

= 1.28 - 2026-04-02 =

- [feat] Add store status feature - display status badge on shop, checkout, and dashboard pages
- [feat] Add visibility tab - visibility settings for store pages
- [feat] Remove store mode field from business settings tab
- [ui] Improve store status badge styling and add dot indicator
- [ui] Improve multicheck render function styling
- [ui] Update tab content and layout across store pages
- [ui] Include utility helper class in checkout template 2
- [fix] Fix stock status style issue
- [refactor] Restructure store mode function for improved maintainability

= 1.27 - 2026-03-15 =

- [feat] Add payment method API with enhanced checkout flow - store selected payment method in cart data
- [feat] Add fallback payment method selection when selected method is unavailable for digital products
- [feat] Add payment method handling in checkout templates 2 and 3
- [fix] Fix downloads pagination issue in dashboard
- [fix] Fix navigation issues for dashboard downloads, transactions, and orders tabs
- [fix] Fix shipping tax calculation when billing/shipping countries differ
- [fix] Fix shipping method radio button value type in order summary
- [fix] Fix various PHP warnings
- [refactor] Optimize code and improve payment method selection logic

= 1.26 - 2026-03-12 =

- [fix] Fix order status display in orders tab, recent orders widget, and order info
- [fix] Fix order notes status format consistency
- [refactor] Stripe code refactoring for improved maintainability
- [refactor] Replace PascalCase naming with snake_case naming convention
- [db] Add one-time migration code for future updates
- [fix] Declare variables for order and fulfill statuses functions

= 1.25 - 2026-03-12 =

- [security] Fix privilege escalation vulnerability (CVE-2026-3397, CVSS 8.8) in REST API profile endpoint
- [feat] Separate product and shipping tax - display taxes independently in admin and frontend order views
- [feat] Add business address fields settings for tax calculations
- [feat] RTL support for all admin pages - settings, dashboard, products, orders, customers, coupons, transactions, checkout templates
- [fix] Shipping tax calculation when billing/shipping countries differ
- [fix] Disable shipping taxable button when shipping country is not in taxable country list
- [fix] Show discount label only when coupon is applied
- [fix] Show shipping and discount in order details only when greater than 0
- [fix] Fix transaction ID display - limit to 10 characters visible, store 13 characters
- [fix] Fix partial refund display - add colored badge for order count
- [fix] Fix order note default appearing issue
- [fix] Fix logs API permission issue
- [fix] Fix checkout preview button functionality
- [fix] Fix shipping method radio button value type in order summary
- [fix] Fix Stripe payment element load errors
- [fix] Fix title length truncation in product lists
- [fix] Improve cart fragment updates on billing address changes
- [fix] Improve payment method updates when amount changes
- [ui] Add padding to settings and help/support pages
- [ui] Fix dashboard visibility issues

= 1.24 - 2026-03-03 =

- [fix] Fix PayPal breakdown issue and payment payload bugs
- [fix] Fix shipping fee calculation issues during checkout
- [fix] Fix cart API response issues
- [imp] Update PayPal JavaScript integration
- [imp] Improve prompts for AI image generator, image enhancement, and analyst templates

= 1.23 - 2026-02-26 =

- [fix] Fix fatal error while activating this plugin in (WP 6.0) & (PHP 7.4) version
- [fix] Handle empty results in AI data retrieval. Return 'no data found' for missing data
- [fix] Fix save button text is not updating based on the status dropdown field
- [fix] Fix variation not displaying on frontend
- [feat] Change discount type input field from dropdown to radio
- [feat] Use active or inactive dropdown to save coupon status
- [ui] Use dropdown and remove active and inactive toggle switcher for coupon creation
- [ui] Make some changes in the coupon creation UI
- [refactor] Remove unused variable and redundant attribute deletion logic in product variations

= 1.22 - 2026-02-26 =

- [feat] Improve smart search functionality with enhanced fuzzy matching
- [feat] Add SKU generation for price items based on product title and attributes
- [fix] Remove border from add-to-cart button on shop page
- [fix] Fix image editor file missing error
- [fix] Fix duplicate attribute issue in product editor
- [fix] Fix demo product import errors
- [fix] Resolve undefined variable warning
- [fix] Remove duplicate id and slug in taxonomy handling
- [ui] Change styling of 'partially refunded' status across all admin screens
- [ui] Add styling for partiallyRefunded order status in dashboard
- [ui] Update navigation links to point to 'get-pro' page in Header, ProModal, and CommonHeader components
- [refactor] Refactor abandoned cart API methods to simplify naming conventions
- [refactor] Refactor abandoned cart methods to unify naming conventions and improve clarity

= 1.21 - 2026-02-24 =

- [feat] Bulk delete functionality for taxonomies - Added bulk delete for attributes, brands, categories, and tags with confirmation modals in both API and frontend
- [feat] Store updater automation - Enhanced store update mechanism
- [add] Documentation links for shipping and taxation settings screens
- [add] Hamburger icon at the top of order single page
- [add] Filter to prepare method of AI service
- [fix] 'Read more' button displayed even when summary is not too long
- [fix] SKU calculation logic to handle previous SKU data correctly
- [fix] Pro menu not navigating to 'pro' page
- [fix] AI modal access condition based on licensing status
- [fix] Package compatibility issues
- [fix] CSS consistency for shipping and taxation screen
- [refactor] Refactor sidebar rendering functions and move to helpers
- [refactor] Refactor API modal components and improve user session handling
- [refactor] Remove unnecessary dependency from SKU component useEffect
- [refactor] Button styles for bulk delete functionality across attributes, brands, categories, and tags
- [ui] Improve setup wizard UI

= 1.20.1 - 2026-02-19 =

- [feat] Add credit notice in AI Analyst
- [add] Add explainer videos

= 1.20 - 2026-02-19 =

**🚀 New Features**

- Refunds Management System - Complete refund functionality with transaction ID support for Stripe, PayPal, Square, Braintree, and Mollie
- AI Image Enhancement - AI-powered image editing with AI integration (background removal, enhancement, style transformation)
- Demo Product Generator - Generate sample products for testing
- Product SKU Field - Added SKU support to single products
- Full-Width Layout Template - New template option for wider content display
- AI Analyst Button - Quick access to AI business analytics in header
- CSV Importer - Import simple and variable products via CSV
- Refunds Menu - Dedicated refunds page in admin navigation

**🎨 UI/UX Improvements**

- Theme Compatibility - Enhanced support for Sydney, Storefront, Neve, Blocksy, GeneratePress, Woostify, Shopeo themes
- Dashboard Redesign - Migrated to React Router v6 with improved navigation
- Responsive Fixes - Admin pages optimized for all screen sizes
- New Admin Notices API - Dynamic notices across all EasyCommerce pages
- Menu Improvements - Auto-collapse admin menu, reorganized navigation

**⚡ AI Features**

- AI Credit System - Unified credit system with improved deduction logic
- AI Attribute Generation - Support for existing global attributes
- AI Response Validation - Better error handling and validation

**💳 Payments & Checkout**

- Stripe Improvements - Enhanced payment intent handling, subscription support
- Payment Method Settings - Direct settings button in payment method tabs
- Auto-Detect User Location - Currency auto-detection based on country
- Currency Formatting - Dynamic currency symbol and code display

**📊 Tax & Shipping**

- Tax Calculation - Improved tax rate calculation and region ordering
- Taxable Field - Added taxable toggle for products
- Shipping Methods - Better condition handling and plan ordering
- Shipping Calculators - Enhanced weight-based and regional shipping

**🐛 Bug Fixes**

- Attribute handling in product editor
- Order notes performance and display
- Price item state management
- Payment method layout consistency
- Coupon table height issues
- Currency dropdown caching

= 1.15 - 2025-12-23 =

- [feat] CSV Importer Feature add (Import dynamic simple & variation product)
- [feat] Refactor PaymentIntent creation/update to use fresh cart data and add persistent payment intent storage
- [add] Default SVG icons for all payment methods + show uploaded/custom logo if set
- [add] Payment method logos in setup wizard
- [add] Admin Notices for Missing Required Elements on Key EasyCommerce Pages
- [add] Stripe subscription and payment id in subscription meta table
- [add] Permission_callback to Stripe API routes
- [fix] Responsive issues across all admin pages
- [fix] Notice positioning in EasyCommerce by dynamically moving notices outside the render container
- [fix] Show completed and processing stats data only
- [fix] Single product short summary word count fix
- [fix] Various attribute handling improvements in product editor
- [imp] Clean option for abandoned cart
- [imp] Relevant settings link in 'Addons page' addon list
- [update] Block controller to register blocks with render_callback instead of render.php
- [update] Template paths in API and controllers to use blocks/shops-page/ directory
- [refactor] Template override logic to use unified template_include filter and add override filters
- [update] Build configuration: simplify scripts, add copy-webpack-plugin, update webpack to copy block.json to build/
- [ci] Update GitHub workflows and package.json

= 1.14 - 2025-12-23 =

- [fix] Fix blocks packaging issues
- [imp] Clean option for abandoned cart
- [add] Default SVG icons for all payment methods + show uploaded/custom logo if set
- [feat] Refactor PaymentIntent creation/update to use fresh cart data and add persistent payment intent storage
- [fix] Notice positioning in EasyCommerce by dynamically moving notices outside the render container
- [fix] Conditional notices hook add for missing shop, checkout, and dashboar
- [fix] Make the hardcoded notice id dynamic via props
- [fix] Responsive issues across all admin pages
- [fix] Show completed and processing stats data only
- [imp] Relevant settings link in 'Addons page' addon list
- [fix] Single product short summary word count fix
- [feat] CSV Importer Feature add (Import dynamic simple & variation product)
- [add] Payment method logos in setup wizard
- [add] Admin Notices for Missing Required Elements on Key EasyCommerce Pages
- [change] Change 'AI Assistant' button text to 'Y.E.S! - Save 50%'
- [add] Sale notice for year end campaign

= 1.13 - 2025-12-09 =

- [fix] Add timeout to docs API call
- [fix] Prevent execution if Stripe is not properly initialized
- [fix] Prevent payment intent creation when payment form is hidden
- [fix] Update addon page responsive issue fix
- [fix] Submenu Highlighting Issue in EasyCommerce Admin
- [fix] Prevent Duplicate Attribute Values by Slug & Add Client-Side Duplicate Validation
- [imp] Compatibility trested with WordPrss 6.9

= 1.12 - 2025-12-03 =

- [feat] Enhanced AI features with improved image generation and template builder.
- [fix] Fixed compatibility issues with WordPress 6.9.
- [fix] Updated payment gateway integrations for enhanced security.
- [imp] Improved checkout flow and overall user experience.
- [fix] Resolved various UI bugs and performance optimizations.

= 1.11 - 2025-11-26 =

- [fix] Fixed compatibility with square/square with php 7.4
- [fix] Updated the deactivation popup
- [fix] Various UI and copy modifications

= 1.10.1 - 2025-11-20 =

- [fix] Fixed compatibility issues with PHP 7.4

= 1.10 - 2025-11-20 =

- [fix] Fixed Customer model class compatibility with tests.
- [feat] Added PHP filters and actions.
- [feat] Added JS filters and slots.
- [fix] Fixed syntax error.

= 1.9 - 2025-11-19 =

- [fix] Fixed privilege escalation vulnerability (CVE-2025-11457) by preventing user-supplied roles in user creation.
- [fix] Resolved coupon application issues and improved discount calculations.
- [fix] Fixed product category, tags, and brand name decoding issues.
- [fix] Corrected product status changes affecting variations.
- [fix] Fixed bulk delete count display in tabs.
- [fix] Resolved Square payment form display issues in checkout.
- [fix] Fixed undefined currency issues in payments.
- [fix] Improved variation swatches handling for duplicate attribute values.
- [fix] Updated product action bar to reflect deleted status properly.
- [fix] Fixed setup wizard skipping payment step redirecting to dashboard.
- [fix] Resolved payment method-related bugs and transaction insertion hooks.
- [fix] Fixed Braintree and Cash on Delivery payment processing.
- [fix] Corrected Stripe payment options, billing address handling, and element initialization.
- [fix] Fixed attribute slug issues and payment method selections in setup wizard.
- [fix] Resolved importer errors and indentation issues.
- [fix] Fixed subscription processing on webhooks.
- [feat] Enhanced AI Assistant and chat components with visibility toggles, message management, and reset functionality.
- [feat] Added Pro menu and admin bar improvements with license-based visibility and upgrade links.
- [feat] Implemented license activation, deactivation, and verification components.
- [feat] Added FAQ component and CompareTable for Pro features.
- [feat] Enhanced Stripe payment methods management, domain verification, and dynamic payment elements.
- [feat] Added CSV importer with popup interface on product listing screen.
- [feat] Included time in order creation date formatting.
- [feat] Added reviewer images and BFCM campaign notices.
- [feat] Implemented addon installation modal and loading skeletons.
- [feat] Added customizable Stripe payment element layouts and themes.
- [feat] Improved payment gateway JavaScript implementations across providers.
- [feat] Added Pro page and updated admin menu structure.
- [feat] Enhanced action links for conditional Pro/Activate License display.
- [feat] Added keyboard selection styles and animations to datepicker.
- [feat] Implemented tooltip for AI Assistant button.
- [feat] Added tracking parameters to upgrade links.
- [imp] Updated button texts, coupon texts, Pro notices, FAQs, and links.
- [imp] Improved AI assistant placement and BFCM pricing links.
- [imp] Enhanced payment controllers with SDK upgrades and credential descriptions.
- [imp] Updated text domains for payment methods.
- [imp] Improved Pro modal designs and license field handling.
- [imp] Added default payment currency and method configurations.
- [imp] Enhanced toaster messages and tooltip positioning.
- [imp] Updated dummy product CSV titles and descriptions.
- [imp] Improved chart bubble functionality.
- [imp] Added comprehensive PHPDoc comments to Stripe classes.

= 1.8.3 - 2025-11-08 =

- [fix] Fixed privilege escalation vulnerability (CVE-2025-11457) by preventing user-supplied roles in user creation.

= 1.8.2 - 2025-11-03 =

- [add] **Profit & Reporting**: Added comprehensive profit margin calculation with frontend display. Updated reporting terminology from "Margin Amount" to "Profit Amount" for clarity. Fixed profit calculations for free products and coupon discounts. Excluded non-profitable products from total calculations.
- [fix] **Shop Templates**: Major responsiveness fixes for Templates 1, 2, and 3. Resolved "no products" display issues across all templates. Refactored filter layouts and improved grid structures for better consistency.
- [imp] **UI Improvements**: Updated add-to-cart and cart button widths for better usability. Enhanced product list styles and pagination buttons. Improved mobile accordion functionality and added search input to filter drawers.
- [fix] **Validation**: Added frontend validation for product attributes, brands, tags, and categories. Included tooltips for AI generation buttons in product title validation.
- [imp] **Code Quality**: Refactored profit calculation structure, renamed meta capability function, removed duplicate error handling in addon installation, and updated coding standards.

= 1.8.1 - 2025-10-24 =

* [fix] Improve addon activation & error handling (enhanced error messages, retries, activation cache).
* [fix] Resolve addon download / file conflict issues and correct file permissions for newly created addon directories.
* [fix] Reflect selected active payment method on setup wizard.
* [fix] Hide stock message when stock is `null` (no limit).
* [fix] Fix single product page start-count and box-shadow visual issue.
* [add] Rating count method and apply on shop page.
* [add] Added `easycommerce_override_single_template` filter hook.

= 1.8 - 2025-10-21 =

- [feat] Auto-reload payment settings so changes apply immediately.
- [feat] Hide price on the addons list (optional).
- [add] Preview images for all checkout templates.
- [add] Random coupon code generator and settings (can issue coupons for abandoned carts).
- [add] Cart now exposes total used by checkout templates.
- [imp] Create categories, tags and brands from the product add/edit screen (modal).
- [fix] Coupon amount display and discount calculations across all checkout templates.
- [fix] Checkout product totals after discounts applied.
- [fix] Digital product display and download issues.
- [fix] Empty-cart redirect now sends users back to the shop.
- [fix] Attribute selection behavior when all values are selected.
- [fix] Product and order action button layout and width.
- [fix] Removed the extra "Add customer" button where it was not needed.
- [db] Fixed coupon columns issue in the database.
- [chore] Cleaned up unnecessary code, docs and indentation; updated doc links.

= 1.7 - 2025-10-14 =

- [feat] AI: add **AI Credit Tracker** and credit-management for AI features (description, image, template generators, editor). Free-user usage limits updated; remaining credits shown in editor and AI modals.
- [feat] **Direct Checkout**: add direct-checkout option, settings, localized data, and redirects to checkout when enabled.
- [add] 2 new checkout templated added.
- [feat] Product screen UX: allow creation of **categories, tags and brands** from the product add/edit screen (modals).
- [feat] **Review management**: add API endpoints, modal/ui components, frontend listing with search, delete action and status controls.
- [add] New action hook `easycommerce_option_updated` to trigger tasks when options are updated via API.
- [add] Settings and UI improvements for AI Template Builder and AI generation components (labels, error handling, modal UX).
- [db] Add dynamic hooks for database table migrations (installer improvements).
- [refactor] Large refactor across AI services, credit retrieval functions, and response handling to improve clarity, validation and error handling.
- [refactor] Cart & order handling: improved subtotal calculation and handling of free items (set price/subtotal to 0.00 where applicable).
- [feat/refactor] **Coupons**: add new coupon/offer types (Buy X Get Y, free products support, free shipping), validation improvements, and better coupon data handling in components.
- [fix] Hide payment methods in template 2 when product price is zero.
- [fix] Apply WordPress Coding Standards and fix indentation in checkout templates.
- [fix] Shop block migration and setup-wizard fixes (including making pro payment addons free in setup wizard).
- [fix] Resolve fatal on functions.php when `add_filter` does not exist; fix setupwizard shop template insertion.
- [fix] Multiple UI/UX bugfixes: overflow issue in product-brand/tag modal, pagination issues, tax-class update notice, review list pagination, duplicate AI summary text, toaster error messages for duplicates.
- [fix] Remove unnecessary/unreferenced code and files; cleanup naming/indentation issues across components.
- [perf] Improve product list/search by using product model for searching and refactor list functions for readability/maintainability.
- [misc] Update localized data (checkout redirect, direct-checkout flag), structural files, and several merge/sync tasks with `develop`.

= 1.6 - 2025-10-07 =

- [feat] Checkout templates: dynamic loading + full redesign for billing, shipping, summary & payment.
- [feat] Shipping: apply shipping cost by product weight during checkout.
- [feat] Shipping methods: added UI fields `min_unit` and `max_unit` and DB support.
- [db] Altered `shipping_plan_methods` table: added `min_unit` and `max_unit` (migration required).
- [add] Unit dropdown added for min/max weight in shipping method UI.
- [fix] Settings menu icon visual issue.
- [fix] Abandoned cart: remove cart when item count is 0.
- [fix] Default checkout template rendering issues.
- [fix] Checkout template rendering fragment fixes across templates.
- [fix] Cash-on-Delivery payment trigger renamed/updated in `checkout.js`.
- [fix] Payment option updates for checkout template-2 and template-3.
- [fix] Terms & Privacy links updated in checkout template-3.
- [fix] Shipping address population fixed for logged-in and guest users (city/state edge cases).
- [fix] Billing info autofill fixes in checkout template-2.
- [fix] Input field height / font-size issues in all checkout templates.
- [fix] Multiple responsive issues across checkout templates (mobile grid, template spacing, column issues).
- [fix] Checkout template-2 mobile grid and rendering fixes.
- [fix] Payment method input smoothing issue resolved.
- [fix] Weight unit save/display issues fixed in product edit and shipping method screens.
- [fix] Weight min/max input design, placeholder and dropdown styling fixes.
- [fix] Save logic for `min_unit` and `max_unit` corrected (DB persistence).
- [imp] Localize cart billing & shipping for non-logged-in users.
- [perm] Editor access granted to Store menu and required customer APIs.
- [perm] Replaced `is_admin_or_editor` with `is_manager` and updated related permission checks.
- [perm] Adjusted transaction visibility/permissions for editors.
- [imp] Shop templates & filters: renames, bug fixes, JS optimizations, WPCS applied.
- [fix] Shop filter bug fixes (template 1, 2 & 3) and filter attribute slug handling for multiword attributes.
- [fix] Shop templates: initial product load and category fixes.
- [fix] Back to shop button added/fixed.
- [imp] Summary & payment section improvements in checkout templates.
- [imp] Product items, billing and shipping UI improvements in checkout.
- [chore] JS optimizations, assets and image renames, css/file renames, indentation fixes.
- [chore] Misc code cleanups, merge conflict resolutions and general housekeeping.
- [chore] Removed unnecessary code from localization and other minor misc fixes.
- [merge] Multiple merges from `develop` into `feature/checkout` and various bugfix branches.
- [note] Developers: run DB migration to add `min_unit` / `max_unit`; audit custom references to `is_admin_or_editor` and update to `is_manager`; test all checkout templates (desktop + mobile) and payment triggers after upgrade.
- [fix] Attribute list not fully displayed
- [update] Removed duplicate/unnecessary JS and bulk delete functions
- [update] Removed unnecessary comments and fixed indentation in multiple files
- [update] Set max height improvements in UI

= 1.5.1 - 2025-09-30 =

- [fix] Removed failed order related code causing conflicts
- [fix] Replaced cart reset with remove flag to avoid creating new carts after order completion
- [fix] Tags pagination base slug issue
- [fix] Show all categories, tags, and brands in add/edit product screen
- [fix] ProductActionBar local status counts not updating after bulk delete/trash actions
- [fix] Missing pagination in customers section
- [fix] Attribute list not fully displayed
- [update] Removed duplicate/unnecessary JS and bulk delete functions
- [update] Removed unnecessary comments and fixed indentation in multiple files
- [update] Set max height improvements in UI

= 1.5.0 = 2025-09-23

✅ **Added**

- Order Notes: UI + backend to display/manage customer notes on orders.
- Failed order support: create/show `failed` orders and send failure emails.
- Image upload recommendations on product screen (suggested sizes).
- Loading UI for AI generation (GIF/indicators + animations).
- Email placeholders: API endpoints, TinyMCE + Select2 integration, SVG icon, instant insertion.
- Product API: include `description` and `summary` fields.
- Abandoned carts: include `created_at` and sort by `created_at`.

✅ **Changed/Improved**

- AI components: improved loading states, animations, and post-content update behavior.
- Attribute system: realtime updates in attribute select; modal UI alignment; UI/UX polish (borders, icons, positions).
- Shop templates & Shop Trendy block: layout, grid/list toggle, filter accordion, short-by, responsive fixes (Shop-3).
- Cart save: store customer name and email.
- Currency display: use dynamic currency symbol consistently.
- Checkout: restrict/disable shipping-address copy for unsupported billing countries; trigger shipping methods update on billing changes.
- Editor/block assets: conditionally enqueue AI editor assets; remove debug logs and unnecessary AI params.

✅ **Fixed**

- Addon installer bug.
- Prevent duplicate attribute creation (name + slug validation).
- Multiple-pricing and duplicate-attribute edge cases.
- Selected tags not persisting after product save.
- Thumbnail & list-view image sizing; added default images for templates.
- Tax & tax-class edge cases (city selection, first-time edit, deleting last country).
- Abandoned carts sorting bug and email placeholder CSS/selector issues.
- Product visibility when remote SSL verification fails.
- Checkout tax amount and related tax calculation bugs.
- API permission and SSL-related fixes for product endpoints.
- Misc UI/UX bugs across attribute modal, product add/edit screens, and templates.

✅ **Refactor**

- Split `PriceItem` into `Price`, `ManageProfit`, `Stock`, `Dimensions`, `Thumbnail`.
- `class` → `className` in `ProductDesc` and `ProductSummary`.
- Major attribute handling refactor: safer variant generation, improved filtering/matching.
- Refactor editor, filters, and shop components for clarity and performance.

✅ **Performance & Misc**

- PHP optimizations for tax CSV loading and backend performance.
- Removed AI debug logs and unnecessary API params.
- Code quality, formatting, and WPCS fixes.
- UX polish: SVG organization, icons, scrollbars, spacing.

= 1.4.1 - 2025-09-22 =
- [fix] Fix addon installer

= 1.4.0 - 2025-09-16 =

- [feat] AI template builder: integrated AI template generator modal, improved API integration and post-content update behavior.
- [feat] Native AI chatbot API for QA and `ask` native API usage.
- [refactor] PriceItem component refactor - split into Price, ManageProfit, Stock, Dimensions, Thumbnail; removed Popup; standardized imports and JSDoc.
- [refactor] Major attribute system overhaul - new attribute structure, improved matching, filtering, MultiSelect integration, and safer variant generation.
- [fix] Product attribute bugs: prevent empty-value variants, fix deletion/matching issues, ensure proper ID assignment and unique price item IDs.
- [fix] Address multiple attribute edge-cases in AddProduct and EditProduct; ensure proper initialization and update logic.
- [feat] Populate tax rates: CSV import mechanism, US-focused populate button (moved/visible based on country), and tax rate population fixes.
- [fix] Tax class fixes: correct city selection, first-time edit load issue, and deleting last country behavior.
- [fix] Abandoned carts: disable sorting on last activity; update placeholder to use cart total in emails.
- [fix] Layout and UI: single product gallery and laptop (1685px) layout fixes; dropdown width and city dropdown initial display fixes.
- [perf] PHP optimizations for loading tax rates from CSV and other backend improvements.
- [refactor] Editor assets: conditionally enqueue block editor assets based on AI template setting; simplify AI error handling; remove debug logs.
- [add] Smart search improvements and AI editor labels/icons enhancements.
- [misc] Code formatting, cleanup, WPCS fixes, removed incomplete tax CSVs, and removal of unnecessary params from AI API calls.

= 1.3.3 - 2025-09-07 =

- [fix] Removed unnecessary param from the AI API calls
- [add] Added typing effect while waiting for the API response
- [add] Added native AI chatbot API for QA

= 1.3.2 - 2025-09-04 =

- [fix] Add `has_order` cap check to verify a customer in API calls

= 1.3.1 - 2025-09-04 =

- [feat] AI assistant now works without connecting the EasyCommerce API
- [fix] Fixed authentication issue of AI API requests

= 🔥 1.3.0 - 2025-09-03 =

**Highlights**
- New AI features: Draw & Design APIs, image import, product-name image referencing, and gallery/image UX polish.
- Product & pricing: product cost, profit margin and profit calculator added to product screen.
- Multiple UI, pagination and stability fixes.

[Added]
- Product cost & profit calculation feature.
- Draw API and Design API for AI-driven image/template generation.
- AI image generation.
- Product-name based reference when generating AI images.
- Adjusted AI settings fields and admin dummy AI settings.

[Changed]
- Refactor: OrderChart shows "No data found" when orderStatus is empty.
- Refactor downloads handling and pagination logic for customer/download lists.
- Refactor AiGenerate and Product components to remove user-state & cookie handling.
- Various merges & structural refactors to stabilize feature/ai and classic-shop-page branches.
- AI popup text updates and removed conditional gating for AI Assistant modal.
- Preserve existing active connectivity methods when updating options.

[Fixed]
- Category and Brand overflow UI issue.
- SKU generation bug for long product titles.
- Pagination fixes: customers, orders, subscriptions, transactions, downloads, licenses.
- Bulk delete and several frontend filter/template preview/long-summary layout bugs.
- Report fixes: Total Sales, processing counts, customer count queries.
- Shipping zip-code handling and related updates.
- Misc stability and UX fixes across admin and frontend.

[Developer / API notes]
- New/updated AI endpoints (Draw/Design/AI) - review external API paths and keys.
- Check AI settings after upgrade (fields adjusted).
- Hook definitions & SOP updates - review custom integrations that depend on existing hooks.

= 1.2.5 - 2025-08-22 =

- [feat] Billing & Shipping basic tab added to order screen.
- [feat] Checkout button controller added and checkout flow handlers improved.
- [feat] Frontend pagination for products added; pagination API for categories & tags added.
- [feat] Dashboard SlotFill integration added (append sections after order items) and `easycommerce-order_placeholders` filter.
- [feat] `get_address` method added to Customer model.
- [feat] Option to hide quantity fields for digital products added.
- [feat] Show/hide filter added for Shop page block.
- [change] Default to WP user name/email for customer data when available.
- [change] Trim long titles in breadcrumb and edit areas for better layout.
- [refactor] PriceItem, MultiSelect, and AttrItem refactored; attribute option objects now include `id`.
- [fix] Order status counts and order-table status updates fixed.
- [fix] Long product names causing layout overlap and hidden action buttons fixed.
- [fix] Product thumbnail/variation image mismatches and fatal `get_type()` error fixed.
- [fix] Media upload file-type checks fixed; first uploaded image now becomes default thumbnail.
- [fix] Variation title save/display and attributes dropdown bugs fixed.
- [fix] Category/tag pagination issues fixed.
- [fix] Payment methods not enabling in Setup Wizard after activating payment addons fixed.
- [fix] Coupon filters (by date, by code) and related coupon API issues fixed.
- [fix] Abandoned cart filtering (email/date) and abandoned cart data mapping fixed.
- [fix] Shipping section hidden when shipping data is empty.
- [fix] Customer list not showing all customers (correct `has_order` check) fixed.
- [fix] Address/name/city validation issues in orders and admin/customer email mapping for notifications corrected.
- [docs] README updated.
- [misc] Merges, UI/design tweaks (tabs, hover effects), and general housekeeping.

= 1.2.4 - 2025-08-17 =

- [fix] Cash-on-delivery method name issue resolved.
- [fix] COD method name change and related mapping adjustments.
- [fix] Email text overlap in UI.
- [fix] Prevent hardcoded counts from showing incorrectly.
- [fix] Fatal error when calling `get_type()` on product variations fixed.
- [fix] Product thumbnail not updating on single product page fixed.
- [fix] Select/input issues on Edit Product screen resolved.
- [fix] File-type check when uploading media from WP fixed.
- [fix] Ensure first uploaded image is set as default thumbnail.
- [fix] Variation title save/display issues fixed; attributes dropdown bug fixed.
- [fix] Auto-generation issues for attributes corrected.
- [feat] Added Slot component to `ItemsTable` and applied filters in `SingleOrder`.
- [feat] Added SlotFillProvider to EasyCommerce dashboard and new slot to append sections after order items in customer dashboard.
- [feat] `easycommerce-order_placeholders` filter added.
- [feat] `get_address` method added to Customer model.
- [refactor] PriceItem, MultiSelect and AttrItem components refactored for correct attribute handling and to remove debug logs.
- [dev] Changed API structure for attributes - option objects now include `id`.
- [dev] General code optimizations, merges, README sync, and miscellaneous cleanup.

= 1.2.3 - 2025-08-14 =

- [fix] Fixed email not updating from user profile settings in the user dashboard
- [fix] Prevented non-email values from being entered as email
- [fix] Included email in license activation requests
- [fix] Resolved repeated license screen display issue
- [fix] Corrected product attribute update handling
- [fix] Fixed price not saving/displaying for products with same name & SKU
- [fix] Improved handling for adding products with existing SKU
- [fix] Resolved multi-SKU related issues
- [dev] Miscellaneous code improvements and cleanup

= 1.2.2 - 2025-08-13 =

- [fix] Fixed the auth check for order API that identified if a user is logged in

= 1.2.1 - 2025-08-13 =

- [fix] Missing customer dashboard screen after order creation for new customers
- [fix] Filtered out abandoned cart data with no customer information
- [improve] Added pagination in customer dashboard data table
- [dev] Removed commented-out code for cleaner codebase

= 1.2.0 - 2025-08-12 =

- [new] Added loader animation for shop search results
- [new] Added utility functions to check current page type
- [fix] Customer list issue on permalink structure change
- [fix] Abandoned cart count filter value update
- [fix] Pagination alignment and update issues on shop page
- [fix] Redirect to setup wizard upon EasyCommerce activation
- [fix] Dashboard "Recent Sales" UI blur and broken numbers
- [fix] Deleted product reappearing after deletion
- [fix] Product count mismatch after bulk delete
- [fix] Negative/invalid values allowed in price input
- [fix] Customers in non-standard roles not appearing in customer list
- [fix] Shop invalid product count
- [fix] Sale price exceeding regular price restriction not working
- [fix] Single product show/hide not functioning
- [fix] Incorrect sorting on shop page
- [improve] Refactored Dashboard and Summary components for improved layout
- [improve] Reports amount formatting
- [improve] Enabled saving products without pricing data
- [update] Added `is_shop` API param and included it in shop API call
- [update] Added hook in `Cart` model to apply coupon by object reference instead of code

= 1.1.3 - 2025.08.07 =

- [fix] Coupon not applied when adding products via URL with coupon parameter
- [fix] Prevent fatal error by removing unnecessary variable
- [fix] Sale price input now restricted from exceeding regular price
- [improve] Checkout process updated with new `supports_recurring` method and additional hook
- [refactor] Minor internal code cleanup and maintenance updates

= 1.1.2 - 2025.08.07 =

- [fix] Prevent applying duplicate or blank coupon codes
- [fix] Sanitize coupon code early and fix wrong coupon calculation
- [fix] Fix cart shipping value mismatch
- [fix] Hide Account step in setup wizard when API is already connected
- [feature] Support multiple comma-separated coupon codes via URL
- [feature] Add `easycommerce-set_order_status` hook and order-status-change hook to the Orders API; reposition email hook
- [improve] Multi-API call reliability
- [improve] Dynamic store URL support
- [improve] Deactivation and license email validation flow
- [improve] Product list API with extra filter parameters, result count, and custom filter hook
- [improve] Make single-product view dynamic and extendable
- [refactor] Clean up affiliate-fee function and logic

= 1.1.1 - 2025.07.31 =

- [fix] Fixed product description not showing on the product page
- [fix] Fixed issue where all orders were shown under a single customer
- [fix] Fixed premium addon being auto-enabled when API key was connected
- [fix] Fixed incorrect shipping method when cart had both physical and digital products
- [fix] Fixed tax calculation failure during checkout
- [fix] Fixed rating display issue on the shop page
- [fix] Fixed unformatted product rating values
- [fix] Fixed product reviews not showing
- [fix] Fixed "Hide from shop" option not working for products
- [fix] Fixed warnings on the single product screen
- [fix] Fixed broken slug editing in product settings
- [fix] Fixed product status label display issue
- [improve] Improved product summary block with initial pattern setup
- [improve] Improved order model with meta query support
- [improve] Added search by customer email to the /orders API

= 1.1.0 - 2025.07.26 =

[license]
- Added full license validation logic with email and store URL headers
- Integrated license activation and deactivation flows
- Added slot support for addons
- Improved error handling for invalid or missing keys
- Replaced localStorage-based license checks with WordPress native options
- Standardized related hooks and filters

[setup wizard]
- Completed setup wizard flow with working conditions and redirects
- Integrated payment addon install and activation directly from wizard
- Hardcoded currency and country data to avoid location storage download delay
- Improved screen transitions and layout consistency

[addons]
- Added multi-addon install and activation support
- Fixed activation issues for individual and grouped addons
- Improved addon UI states and button behavior during API calls

[slot-fill]
- Introduced reusable SlotField components
- Added slots for license, after-price, and pricing areas
- Verified slot rendering and fallback behavior across different screens

[products]
- Fixed double API call issue on product add/edit screen
- Added "Live" status for product publishing
- Fixed dimension dropdown and attribute repeater issues
- Improved padding, layout, and field consistency
- Added action bar for bulk actions

[orders, coupons, transactions]
- Improved filter and search functionality
- Fixed customer and transaction search issues
- Added and refined skeleton states and empty results messages
- Updated API calls to separate counts and data
- Improved bulk update and delete flows
- Added status dropdowns and multi-select support for coupons

[customers]
- Fixed filtering issues and improved search accuracy
- Separated API calls for customer counts

[general UI/UX]
- Standardized input height and spacing across all modules
- Fixed breadcrumbs and layout nesting in many sections
- Removed unnecessary toast messages and dead code
- Cleaned up tab states and improved default views

= 1.0.3 - 2025.07.15 =

- [fix] Deleted entry not disappearing automatically
- [fix] Rating stars issue in Addons list
- [fix] Currency switch not working properly
- [fix] Wrong stock message on product page
- [fix] "Add to cart" button disabled if stock is zero
- [improve] Optimized image attribute values retrieval
- [improve] Addons installation flow updated
- [improve] Slug field added to product settings

= 1.0.1 - 2025.07.12 =

- [update] Product template layout improvements
- [update] Updated template images for better clarity
- [fix] Fixed "headers already sent" warning
- [fix] Improved status and state skeleton loaders
- [misc] General UI enhancements and internal refactoring

= 🔥 1.0.0 - 2025.07.10 =

- [revamp] Complete UI/UX overhaul for a faster, cleaner, and more intuitive experience
- [add] Introduced AI Writer to auto-generate product summaries and descriptions
- [add] Added AI Chatbot to assist store owners with instant responses
- [imp] Enhanced dashboard with real-time insights and improved usability
- [imp] Redesigned checkout flow for higher conversion and better mobile experience
- [imp] Optimized performance across admin and frontend

= 0.9.26-beta - 2025.07.01 =

- [fix] Fix the bug that would change the price_id of variations every time a product is saved

= 0.9.25-beta - 2025.06.25 =

- [fix] Permalink issue (showing 404 after creating a product) fixed

= 0.9.24-beta - 2025.06.23 =

- [fix] Compatibility fixed with PHP 7.4
- [imp] Optimize the list() method in the Database model for better performance
- [imp] Show secure download link in the customer dashboard

= 0.9.23-beta - 2025.06.22 =

- [fix] Fix deactivation popup height
- [add] Include site URL in the setup wizard API call
- [fix] Remove addon meta from the Addons admin screen

= 0.9.22-beta - 2025.06.14 =

- [fix] Fixed error in the Installer

= 0.9.21.1-beta - 2025.06.14 =

- [imp] Improved background processor for handle large amount of requests

= 0.9.20-beta - 2025.05.27 =

- [add] External fee support in cart models
- [fix] Automatically select the first shipping method by default
- [add] Pagination support for transaction table
- [add] Single transaction view implemented
- [imp] Reorganized deactivation reason settings

= 0.9.19-beta - 2025.05.18 =

- [fix] If no countries are selected in the settings, it defaults to all countries.

= 0.9.18.2-beta - 2025.05.14 =

- [fix] Code improved

= 0.9.18.1-beta - 2025.05.14 =

- [fix] Delivery date picker input field issue fixed

= 0.9.18-beta - 2025.05.07 =

- [improve] Ensured the first available payment gateway is selected by default.
- [improve] Updated order records to store the selected payment gateway immediately after a new order.
- [improve] Removed deprecated refund hooks and outdated updater/filter returns, replacing them with a unified updater.
- [improve] Payment module rewritten for better extendibility.

= 0.9.17.2-beta - 2025.05.05 =

- [fix] Fixed the price formatting error

= 0.9.17.1-beta - 2025.05.04 =

- [fix] Force using block editor even if the Classic Editor plugin is activated

= 0.9.17-beta - 2025.05.02 =

- [improve] Compatibility tested with WordPress v6.8.1
- [fix] UI changes in the addons screen
- [add] New addons released

= 0.9.16-beta - 2025.04.30 =

- [improve] Request for addon from added
- [improve] Feedback from bug fixed

= 0.9.15-beta - 2025.04.28 =

- [fix] Fixed logo reset, upload, and save issues in the setup wizard
- [fix] Fixed product list disappearance when permalink structure set to plain
- [fix] Fixed sticky header shaking issue in settings pages
- [fix] Fixed chart hover issue in reports
- [fix] Fixed deactivate button visibility issue on small screens
- [fix] Fixed sale price display when set to zero
- [fix] Fixed manual save issues across store, business, payment, and account steps in setup wizard
- [fix] Fixed business email and countries field missing issues
- [remove] Removed Redux library and unnecessary codes
- [improve] Improved currency format localization and added dynamic price formatting
- [improve] Improved setup wizard layout
- [improve] Improved settings save success/failure messages
- [modify] Changed brand step to business step in the wizard
- [modify] Adjusted helper functions for price formatting and settings consistency

= 0.9.14.1-beta - 2025.04.21 =

- [fix] Redirect to checkout after product added to cart to avoid query string issue
- [fix] Accept sale price as 0
- [fix] Remove Cash on Delivery (COD) payment method from the core
- [fix] Fix shipping calculation base method
- [fix] Fixed abandoned cart email placeholders issues
- [new] Added the sliding cart feature added
- [new] Show downloadable items in single order view
- [imp] Do not add variation array for non-digital products
- [new] New business type added

= 0.9.13-beta - 2025.04.17 =

- [fix] Remove irrelevant text from the `on-hold` email to the admin
- [fix] Fix i18n issue related to `_load_textdomain_just_in_time`
- [fix] Fixed thumbnail URL and undefined array key issue

= 0.9.12-beta - 2025.04.14 =

- [improve] Compatibility tested with WordPress v6.8
- [fix] Updated default texts for the order emails
- [remove] Removed unnecessary placeholders
- [modify] Changed the color label for order status in the report page
- [fix] Fixed the color mismatch for order status in two sections in admin dashboard page
- [fix] Fixed JS errors in the shipping and tax sections
- [add] Added a new function `easycommerce_price` to format price
- [add] Admin notification section added to send emails of different order events
- [improve] Email system improve with new header and footer builder
- [fix] Fixed the manual order email sending feature
- [improve] Centralized order and cart placeholders
- [remove] The `new_order` was removed from the order event's list, falling back on order status
- [improve] Code improved

= 0.9.11-beta - 2025.04.09 =

- [fix] Updated the CDN URL
- [fix] Fixed the issue related to not sending order emails
- [add] Added Transaction ID row in the order details screen
- [add] Added new hooks for the checkout fields

= 0.9.10-beta - 2025.04.06 =

- [fix] Fixed CSS conflict of the `.easycommerce` class in the body tag on all pages

= 0.9.9-beta - 2025.03.19 =

- [fix] Fix the addon installer to auto activate the addon

= 0.9.8-beta - 2025.03.19 =

- [fix] Fix CSS and JS minifier scripts

= 0.9.8-beta - 2025.03.19 =

- [fix] Fix minified JS and CSS

= 0.9.7-beta - 2025.03.19 =

- [improve] Minify JS and CSS
- [fix] Adjust version number in enqueue as it was using timestamp values (2 hours ago)
- [improve] Improve deactivation survey
- [add] Enable filter to post type and taxonomies

= 0.9.6-beta - 2025.03.17 =

- [add] It now accepts `columns` param for the checkout shortcode
- [add] It now accepts `shipping` param for the checkout shortcode
- [fix] Validated shortcode template param
- [change] Changed hook name from `easycommerce_settings_assets` to `easycommerce_after_settings_assets` for settings fields list
- [add] Enabled a filter hook for the settings fields list

= 0.9.5-beta - 2025.03.13 =

- [fix] Fixed missing email in the customer page
- [fix] Fixed header already sent error when session is not set
- [fix] Code validated
- [add] Added an option to allow adding products via parameter to the `[easycommerce-checkout]` shortcode

= 0.9.4-beta1 - 2025.03.08 =

- [fix] Orders redundancy fixed
- [fix] CoD for digital products is now hidden
- [add] More placholders added
- [fix] Missing deafault order and fullfill status codes added
- [fix] CoD duplicate transaction issue fixed

= 0.9.3-beta5 - 2025.03.05 =

- [fix] Invalid order redirect issue fixed
- [change] Email body content changed

= 0.9.3-beta4 - 2025.03.04 =

- [fix] Order history showing static text

= 0.9.3-beta3 - 2025.03.03 =

- [fix] Order data missing issue fixed

= 0.9.3-beta2 - 2025.03.02 =
- [change] Invoice emails removed from email settings
- [improve] Order filter code optimized
- [improve] Docs link added in the settings

= 0.9.3-beta1 - 2025.02.27 =

- [imoprove] Invoice is now separated from the default emails list
- [imoprove] Filter enabled for the order data
- [security] Security vulnerabilities fixed

= 0.9.2-beta2 - 2025.02.26 =

- [fix] Fixed the issue related to the checkout fields not populating

= 0.9.2-beta1 - 2025.02.26 =

- [new] Added new options to set default order status and fulfillment status
- [security] Some security vulnerabilities are fixed

= 0.9.1-beta1 - 2025.02.25 =

- [new] New method added to list downloads of a product
- [fix] Adding product to the cart using URL parameters is fixed

= 0.9.0-beta6 - 2025.02.25 =

- [security] Strings escaped and sanitized

= 0.9.0-beta5 - 2025.02.23 =

- [security] Strings escaped and sanitized

= 0.9.0-beta4 - 2025.02.21 =

- [security] Strings escaped and sanitized

= 0.9.0-beta3 - 2025.02.21 =

- [assets] SVN assets updated

= 0.9.0-beta2 - 2025.02.20 =

- [new] Initial beta release

== Upgrade Notice ==

= 1.5.0 =
Important: this release adds a `failed` order status and updates the orders table. Make a DB backup before updating.

= 1.16 =
Important update with enhanced AI features and performance improvements. Backup recommended before upgrading.

= 1.20 =
Backup recommended before upgrading.
 Enhanced AI features with improved image generation and template builder.
- [fix] Fixed compatibility issues with WordPress 6.9.
- [fix] Updated payment gateway integrations for enhanced security.
- [imp] Improved checkout flow and overall user experience.
- [fix] Resolved various UI bugs and performance optimizations.

= 1.11 - 2025-11-26 =

- [fix] Fixed compatibility with square/square with php 7.4
- [fix] Updated the deactivation popup
- [fix] Various UI and copy modifications

= 1.10.1 - 2025-11-20 =

- [fix] Fixed compatibility issues with PHP 7.4

= 1.10 - 2025-11-20 =

- [fix] Fixed Customer model class compatibility with tests.
- [feat] Added PHP filters and actions.
- [feat] Added JS filters and slots.
- [fix] Fixed syntax error.

= 1.9 - 2025-11-19 =

- [fix] Fixed privilege escalation vulnerability (CVE-2025-11457) by preventing user-supplied roles in user creation.
- [fix] Resolved coupon application issues and improved discount calculations.
- [fix] Fixed product category, tags, and brand name decoding issues.
- [fix] Corrected product status changes affecting variations.
- [fix] Fixed bulk delete count display in tabs.
- [fix] Resolved Square payment form display issues in checkout.
- [fix] Fixed undefined currency issues in payments.
- [fix] Improved variation swatches handling for duplicate attribute values.
- [fix] Updated product action bar to reflect deleted status properly.
- [fix] Fixed setup wizard skipping payment step redirecting to dashboard.
- [fix] Resolved payment method-related bugs and transaction insertion hooks.
- [fix] Fixed Braintree and Cash on Delivery payment processing.
- [fix] Corrected Stripe payment options, billing address handling, and element initialization.
- [fix] Fixed attribute slug issues and payment method selections in setup wizard.
- [fix] Resolved importer errors and indentation issues.
- [fix] Fixed subscription processing on webhooks.
- [feat] Enhanced AI Assistant and chat components with visibility toggles, message management, and reset functionality.
- [feat] Added Pro menu and admin bar improvements with license-based visibility and upgrade links.
- [feat] Implemented license activation, deactivation, and verification components.
- [feat] Added FAQ component and CompareTable for Pro features.
- [feat] Enhanced Stripe payment methods management, domain verification, and dynamic payment elements.
- [feat] Added CSV importer with popup interface on product listing screen.
- [feat] Included time in order creation date formatting.
- [feat] Added reviewer images and BFCM campaign notices.
- [feat] Implemented addon installation modal and loading skeletons.
- [feat] Added customizable Stripe payment element layouts and themes.
- [feat] Improved payment gateway JavaScript implementations across providers.
- [feat] Added Pro page and updated admin menu structure.
- [feat] Enhanced action links for conditional Pro/Activate License display.
- [feat] Added keyboard selection styles and animations to datepicker.
- [feat] Implemented tooltip for AI Assistant button.
- [feat] Added tracking parameters to upgrade links.
- [imp] Updated button texts, coupon texts, Pro notices, FAQs, and links.
- [imp] Improved AI assistant placement and BFCM pricing links.
- [imp] Enhanced payment controllers with SDK upgrades and credential descriptions.
- [imp] Updated text domains for payment methods.
- [imp] Improved Pro modal designs and license field handling.
- [imp] Added default payment currency and method configurations.
- [imp] Enhanced toaster messages and tooltip positioning.
- [imp] Updated dummy product CSV titles and descriptions.
- [imp] Improved chart bubble functionality.
- [imp] Added comprehensive PHPDoc comments to Stripe classes.

= 1.8.3 - 2025-11-08 =

- [fix] Fixed privilege escalation vulnerability (CVE-2025-11457) by preventing user-supplied roles in user creation.

= 1.8.2 - 2025-11-03 =

- [add] **Profit & Reporting**: Added comprehensive profit margin calculation with frontend display. Updated reporting terminology from "Margin Amount" to "Profit Amount" for clarity. Fixed profit calculations for free products and coupon discounts. Excluded non-profitable products from total calculations.
- [fix] **Shop Templates**: Major responsiveness fixes for Templates 1, 2, and 3. Resolved "no products" display issues across all templates. Refactored filter layouts and improved grid structures for better consistency.
- [imp] **UI Improvements**: Updated add-to-cart and cart button widths for better usability. Enhanced product list styles and pagination buttons. Improved mobile accordion functionality and added search input to filter drawers.
- [fix] **Validation**: Added frontend validation for product attributes, brands, tags, and categories. Included tooltips for AI generation buttons in product title validation.
- [imp] **Code Quality**: Refactored profit calculation structure, renamed meta capability function, removed duplicate error handling in addon installation, and updated coding standards.

= 1.8.1 - 2025-10-24 =

* [fix] Improve addon activation & error handling (enhanced error messages, retries, activation cache).
* [fix] Resolve addon download / file conflict issues and correct file permissions for newly created addon directories.
* [fix] Reflect selected active payment method on setup wizard.
* [fix] Hide stock message when stock is `null` (no limit).
* [fix] Fix single product page start-count and box-shadow visual issue.
* [add] Rating count method and apply on shop page.
* [add] Added `easycommerce_override_single_template` filter hook.

= 1.8 - 2025-10-21 =

- [feat] Auto-reload payment settings so changes apply immediately.
- [feat] Hide price on the addons list (optional).
- [add] Preview images for all checkout templates.
- [add] Random coupon code generator and settings (can issue coupons for abandoned carts).
- [add] Cart now exposes total used by checkout templates.
- [imp] Create categories, tags and brands from the product add/edit screen (modal).
- [fix] Coupon amount display and discount calculations across all checkout templates.
- [fix] Checkout product totals after discounts applied.
- [fix] Digital product display and download issues.
- [fix] Empty-cart redirect now sends users back to the shop.
- [fix] Attribute selection behavior when all values are selected.
- [fix] Product and order action button layout and width.
- [fix] Removed the extra "Add customer" button where it was not needed.
- [db] Fixed coupon columns issue in the database.
- [chore] Cleaned up unnecessary code, docs and indentation; updated doc links.

= 1.7 - 2025-10-14 =

- [feat] AI: add **AI Credit Tracker** and credit-management for AI features (description, image, template generators, editor). Free-user usage limits updated; remaining credits shown in editor and AI modals.
- [feat] **Direct Checkout**: add direct-checkout option, settings, localized data, and redirects to checkout when enabled.
- [add] 2 new checkout templated added.
- [feat] Product screen UX: allow creation of **categories, tags and brands** from the product add/edit screen (modals).
- [feat] **Review management**: add API endpoints, modal/ui components, frontend listing with search, delete action and status controls.
- [add] New action hook `easycommerce_option_updated` to trigger tasks when options are updated via API.
- [add] Settings and UI improvements for AI Template Builder and AI generation components (labels, error handling, modal UX).
- [db] Add dynamic hooks for database table migrations (installer improvements).
- [refactor] Large refactor across AI services, credit retrieval functions, and response handling to improve clarity, validation and error handling.
- [refactor] Cart & order handling: improved subtotal calculation and handling of free items (set price/subtotal to 0.00 where applicable).
- [feat/refactor] **Coupons**: add new coupon/offer types (Buy X Get Y, free products support, free shipping), validation improvements, and better coupon data handling in components.
- [fix] Hide payment methods in template 2 when product price is zero.
- [fix] Apply WordPress Coding Standards and fix indentation in checkout templates.
- [fix] Shop block migration and setup-wizard fixes (including making pro payment addons free in setup wizard).
- [fix] Resolve fatal on functions.php when `add_filter` does not exist; fix setupwizard shop template insertion.
- [fix] Multiple UI/UX bugfixes: overflow issue in product-brand/tag modal, pagination issues, tax-class update notice, review list pagination, duplicate AI summary text, toaster error messages for duplicates.
- [fix] Remove unnecessary/unreferenced code and files; cleanup naming/indentation issues across components.
- [perf] Improve product list/search by using product model for searching and refactor list functions for readability/maintainability.
- [misc] Update localized data (checkout redirect, direct-checkout flag), structural files, and several merge/sync tasks with `develop`.

= 1.6 - 2025-10-07 =

- [feat] Checkout templates: dynamic loading + full redesign for billing, shipping, summary & payment.
- [feat] Shipping: apply shipping cost by product weight during checkout.
- [feat] Shipping methods: added UI fields `min_unit` and `max_unit` and DB support.
- [db] Altered `shipping_plan_methods` table: added `min_unit` and `max_unit` (migration required).
- [add] Unit dropdown added for min/max weight in shipping method UI.
- [fix] Settings menu icon visual issue.
- [fix] Abandoned cart: remove cart when item count is 0.
- [fix] Default checkout template rendering issues.
- [fix] Checkout template rendering fragment fixes across templates.
- [fix] Cash-on-Delivery payment trigger renamed/updated in `checkout.js`.
- [fix] Payment option updates for checkout template-2 and template-3.
- [fix] Terms & Privacy links updated in checkout template-3.
- [fix] Shipping address population fixed for logged-in and guest users (city/state edge cases).
- [fix] Billing info autofill fixes in checkout template-2.
- [fix] Input field height / font-size issues in all checkout templates.
- [fix] Multiple responsive issues across checkout templates (mobile grid, template spacing, column issues).
- [fix] Checkout template-2 mobile grid and rendering fixes.
- [fix] Payment method input smoothing issue resolved.
- [fix] Weight unit save/display issues fixed in product edit and shipping method screens.
- [fix] Weight min/max input design, placeholder and dropdown styling fixes.
- [fix] Save logic for `min_unit` and `max_unit` corrected (DB persistence).
- [imp] Localize cart billing & shipping for non-logged-in users.
- [perm] Editor access granted to Store menu and required customer APIs.
- [perm] Replaced `is_admin_or_editor` with `is_manager` and updated related permission checks.
- [perm] Adjusted transaction visibility/permissions for editors.
- [imp] Shop templates & filters: renames, bug fixes, JS optimizations, WPCS applied.
- [fix] Shop filter bug fixes (template 1, 2 & 3) and filter attribute slug handling for multiword attributes.
- [fix] Shop templates: initial product load and category fixes.
- [fix] Back to shop button added/fixed.
- [imp] Summary & payment section improvements in checkout templates.
- [imp] Product items, billing and shipping UI improvements in checkout.
- [chore] JS optimizations, assets and image renames, css/file renames, indentation fixes.
- [chore] Misc code cleanups, merge conflict resolutions and general housekeeping.
- [chore] Removed unnecessary code from localization and other minor misc fixes.
- [merge] Multiple merges from `develop` into `feature/checkout` and various bugfix branches.
- [note] Developers: run DB migration to add `min_unit` / `max_unit`; audit custom references to `is_admin_or_editor` and update to `is_manager`; test all checkout templates (desktop + mobile) and payment triggers after upgrade.
- [fix] Attribute list not fully displayed
- [update] Removed duplicate/unnecessary JS and bulk delete functions
- [update] Removed unnecessary comments and fixed indentation in multiple files
- [update] Set max height improvements in UI

= 1.5.1 - 2025-09-30 =

- [fix] Removed failed order related code causing conflicts
- [fix] Replaced cart reset with remove flag to avoid creating new carts after order completion
- [fix] Tags pagination base slug issue
- [fix] Show all categories, tags, and brands in add/edit product screen
- [fix] ProductActionBar local status counts not updating after bulk delete/trash actions
- [fix] Missing pagination in customers section
- [fix] Attribute list not fully displayed
- [update] Removed duplicate/unnecessary JS and bulk delete functions
- [update] Removed unnecessary comments and fixed indentation in multiple files
- [update] Set max height improvements in UI

= 1.5.0 = 2025-09-23

✅ **Added**

- Order Notes: UI + backend to display/manage customer notes on orders.
- Failed order support: create/show `failed` orders and send failure emails.
- Image upload recommendations on product screen (suggested sizes).
- Loading UI for AI generation (GIF/indicators + animations).
- Email placeholders: API endpoints, TinyMCE + Select2 integration, SVG icon, instant insertion.
- Product API: include `description` and `summary` fields.
- Abandoned carts: include `created_at` and sort by `created_at`.

✅ **Changed/Improved**

- AI components: improved loading states, animations, and post-content update behavior.
- Attribute system: realtime updates in attribute select; modal UI alignment; UI/UX polish (borders, icons, positions).
- Shop templates & Shop Trendy block: layout, grid/list toggle, filter accordion, short-by, responsive fixes (Shop-3).
- Cart save: store customer name and email.
- Currency display: use dynamic currency symbol consistently.
- Checkout: restrict/disable shipping-address copy for unsupported billing countries; trigger shipping methods update on billing changes.
- Editor/block assets: conditionally enqueue AI editor assets; remove debug logs and unnecessary AI params.

✅ **Fixed**

- Addon installer bug.
- Prevent duplicate attribute creation (name + slug validation).
- Multiple-pricing and duplicate-attribute edge cases.
- Selected tags not persisting after product save.
- Thumbnail & list-view image sizing; added default images for templates.
- Tax & tax-class edge cases (city selection, first-time edit, deleting last country).
- Abandoned carts sorting bug and email placeholder CSS/selector issues.
- Product visibility when remote SSL verification fails.
- Checkout tax amount and related tax calculation bugs.
- API permission and SSL-related fixes for product endpoints.
- Misc UI/UX bugs across attribute modal, product add/edit screens, and templates.

✅ **Refactor**

- Split `PriceItem` into `Price`, `ManageProfit`, `Stock`, `Dimensions`, `Thumbnail`.
- `class` → `className` in `ProductDesc` and `ProductSummary`.
- Major attribute handling refactor: safer variant generation, improved filtering/matching.
- Refactor editor, filters, and shop components for clarity and performance.

✅ **Performance & Misc**

- PHP optimizations for tax CSV loading and backend performance.
- Removed AI debug logs and unnecessary API params.
- Code quality, formatting, and WPCS fixes.
- UX polish: SVG organization, icons, scrollbars, spacing.

= 1.4.1 - 2025-09-22 =
- [fix] Fix addon installer

= 1.4.0 - 2025-09-16 =

- [feat] AI template builder: integrated AI template generator modal, improved API integration and post-content update behavior.
- [feat] Native AI chatbot API for QA and `ask` native API usage.
- [refactor] PriceItem component refactor - split into Price, ManageProfit, Stock, Dimensions, Thumbnail; removed Popup; standardized imports and JSDoc.
- [refactor] Major attribute system overhaul - new attribute structure, improved matching, filtering, MultiSelect integration, and safer variant generation.
- [fix] Product attribute bugs: prevent empty-value variants, fix deletion/matching issues, ensure proper ID assignment and unique price item IDs.
- [fix] Address multiple attribute edge-cases in AddProduct and EditProduct; ensure proper initialization and update logic.
- [feat] Populate tax rates: CSV import mechanism, US-focused populate button (moved/visible based on country), and tax rate population fixes.
- [fix] Tax class fixes: correct city selection, first-time edit load issue, and deleting last country behavior.
- [fix] Abandoned carts: disable sorting on last activity; update placeholder to use cart total in emails.
- [fix] Layout and UI: single product gallery and laptop (1685px) layout fixes; dropdown width and city dropdown initial display fixes.
- [perf] PHP optimizations for loading tax rates from CSV and other backend improvements.
- [refactor] Editor assets: conditionally enqueue block editor assets based on AI template setting; simplify AI error handling; remove debug logs.
- [add] Smart search improvements and AI editor labels/icons enhancements.
- [misc] Code formatting, cleanup, WPCS fixes, removed incomplete tax CSVs, and removal of unnecessary params from AI API calls.

= 1.3.3 - 2025-09-07 =

- [fix] Removed unnecessary param from the AI API calls
- [add] Added typing effect while waiting for the API response
- [add] Added native AI chatbot API for QA

= 1.3.2 - 2025-09-04 =

- [fix] Add `has_order` cap check to verify a customer in API calls

= 1.3.1 - 2025-09-04 =

- [feat] AI assistant now works without connecting the EasyCommerce API
- [fix] Fixed authentication issue of AI API requests

= 🔥 1.3.0 - 2025-09-03 =

**Highlights**
- New AI features: Draw & Design APIs, image import, product-name image referencing, and gallery/image UX polish.
- Product & pricing: product cost, profit margin and profit calculator added to product screen.
- Multiple UI, pagination and stability fixes.

[Added]
- Product cost & profit calculation feature.
- Draw API and Design API for AI-driven image/template generation.
- AI image generation.
- Product-name based reference when generating AI images.
- Adjusted AI settings fields and admin dummy AI settings.

[Changed]
- Refactor: OrderChart shows "No data found" when orderStatus is empty.
- Refactor downloads handling and pagination logic for customer/download lists.
- Refactor AiGenerate and Product components to remove user-state & cookie handling.
- Various merges & structural refactors to stabilize feature/ai and classic-shop-page branches.
- AI popup text updates and removed conditional gating for AI Assistant modal.
- Preserve existing active connectivity methods when updating options.

[Fixed]
- Category and Brand overflow UI issue.
- SKU generation bug for long product titles.
- Pagination fixes: customers, orders, subscriptions, transactions, downloads, licenses.
- Bulk delete and several frontend filter/template preview/long-summary layout bugs.
- Report fixes: Total Sales, processing counts, customer count queries.
- Shipping zip-code handling and related updates.
- Misc stability and UX fixes across admin and frontend.

[Developer / API notes]
- New/updated AI endpoints (Draw/Design/AI) - review external API paths and keys.
- Check AI settings after upgrade (fields adjusted).
- Hook definitions & SOP updates - review custom integrations that depend on existing hooks.

= 1.2.5 - 2025-08-22 =

- [feat] Billing & Shipping basic tab added to order screen.
- [feat] Checkout button controller added and checkout flow handlers improved.
- [feat] Frontend pagination for products added; pagination API for categories & tags added.
- [feat] Dashboard SlotFill integration added (append sections after order items) and `easycommerce-order_placeholders` filter.
- [feat] `get_address` method added to Customer model.
- [feat] Option to hide quantity fields for digital products added.
- [feat] Show/hide filter added for Shop page block.
- [change] Default to WP user name/email for customer data when available.
- [change] Trim long titles in breadcrumb and edit areas for better layout.
- [refactor] PriceItem, MultiSelect, and AttrItem refactored; attribute option objects now include `id`.
- [fix] Order status counts and order-table status updates fixed.
- [fix] Long product names causing layout overlap and hidden action buttons fixed.
- [fix] Product thumbnail/variation image mismatches and fatal `get_type()` error fixed.
- [fix] Media upload file-type checks fixed; first uploaded image now becomes default thumbnail.
- [fix] Variation title save/display and attributes dropdown bugs fixed.
- [fix] Category/tag pagination issues fixed.
- [fix] Payment methods not enabling in Setup Wizard after activating payment addons fixed.
- [fix] Coupon filters (by date, by code) and related coupon API issues fixed.
- [fix] Abandoned cart filtering (email/date) and abandoned cart data mapping fixed.
- [fix] Shipping section hidden when shipping data is empty.
- [fix] Customer list not showing all customers (correct `has_order` check) fixed.
- [fix] Address/name/city validation issues in orders and admin/customer email mapping for notifications corrected.
- [docs] README updated.
- [misc] Merges, UI/design tweaks (tabs, hover effects), and general housekeeping.

= 1.2.4 - 2025-08-17 =

- [fix] Cash-on-delivery method name issue resolved.
- [fix] COD method name change and related mapping adjustments.
- [fix] Email text overlap in UI.
- [fix] Prevent hardcoded counts from showing incorrectly.
- [fix] Fatal error when calling `get_type()` on product variations fixed.
- [fix] Product thumbnail not updating on single product page fixed.
- [fix] Select/input issues on Edit Product screen resolved.
- [fix] File-type check when uploading media from WP fixed.
- [fix] Ensure first uploaded image is set as default thumbnail.
- [fix] Variation title save/display issues fixed; attributes dropdown bug fixed.
- [fix] Auto-generation issues for attributes corrected.
- [feat] Added Slot component to `ItemsTable` and applied filters in `SingleOrder`.
- [feat] Added SlotFillProvider to EasyCommerce dashboard and new slot to append sections after order items in customer dashboard.
- [feat] `easycommerce-order_placeholders` filter added.
- [feat] `get_address` method added to Customer model.
- [refactor] PriceItem, MultiSelect and AttrItem components refactored for correct attribute handling and to remove debug logs.
- [dev] Changed API structure for attributes - option objects now include `id`.
- [dev] General code optimizations, merges, README sync, and miscellaneous cleanup.

= 1.2.3 - 2025-08-14 =

- [fix] Fixed email not updating from user profile settings in the user dashboard
- [fix] Prevented non-email values from being entered as email
- [fix] Included email in license activation requests
- [fix] Resolved repeated license screen display issue
- [fix] Corrected product attribute update handling
- [fix] Fixed price not saving/displaying for products with same name & SKU
- [fix] Improved handling for adding products with existing SKU
- [fix] Resolved multi-SKU related issues
- [dev] Miscellaneous code improvements and cleanup

= 1.2.2 - 2025-08-13 =

- [fix] Fixed the auth check for order API that identified if a user is logged in

= 1.2.1 - 2025-08-13 =

- [fix] Missing customer dashboard screen after order creation for new customers
- [fix] Filtered out abandoned cart data with no customer information
- [improve] Added pagination in customer dashboard data table
- [dev] Removed commented-out code for cleaner codebase

= 1.2.0 - 2025-08-12 =

- [new] Added loader animation for shop search results
- [new] Added utility functions to check current page type
- [fix] Customer list issue on permalink structure change
- [fix] Abandoned cart count filter value update
- [fix] Pagination alignment and update issues on shop page
- [fix] Redirect to setup wizard upon EasyCommerce activation
- [fix] Dashboard "Recent Sales" UI blur and broken numbers
- [fix] Deleted product reappearing after deletion
- [fix] Product count mismatch after bulk delete
- [fix] Negative/invalid values allowed in price input
- [fix] Customers in non-standard roles not appearing in customer list
- [fix] Shop invalid product count
- [fix] Sale price exceeding regular price restriction not working
- [fix] Single product show/hide not functioning
- [fix] Incorrect sorting on shop page
- [improve] Refactored Dashboard and Summary components for improved layout
- [improve] Reports amount formatting
- [improve] Enabled saving products without pricing data
- [update] Added `is_shop` API param and included it in shop API call
- [update] Added hook in `Cart` model to apply coupon by object reference instead of code

= 1.1.3 - 2025.08.07 =

- [fix] Coupon not applied when adding products via URL with coupon parameter
- [fix] Prevent fatal error by removing unnecessary variable
- [fix] Sale price input now restricted from exceeding regular price
- [improve] Checkout process updated with new `supports_recurring` method and additional hook
- [refactor] Minor internal code cleanup and maintenance updates

= 1.1.2 - 2025.08.07 =

- [fix] Prevent applying duplicate or blank coupon codes
- [fix] Sanitize coupon code early and fix wrong coupon calculation
- [fix] Fix cart shipping value mismatch
- [fix] Hide Account step in setup wizard when API is already connected
- [feature] Support multiple comma-separated coupon codes via URL
- [feature] Add `easycommerce-set_order_status` hook and order-status-change hook to the Orders API; reposition email hook
- [improve] Multi-API call reliability
- [improve] Dynamic store URL support
- [improve] Deactivation and license email validation flow
- [improve] Product list API with extra filter parameters, result count, and custom filter hook
- [improve] Make single-product view dynamic and extendable
- [refactor] Clean up affiliate-fee function and logic

= 1.1.1 - 2025.07.31 =

- [fix] Fixed product description not showing on the product page
- [fix] Fixed issue where all orders were shown under a single customer
- [fix] Fixed premium addon being auto-enabled when API key was connected
- [fix] Fixed incorrect shipping method when cart had both physical and digital products
- [fix] Fixed tax calculation failure during checkout
- [fix] Fixed rating display issue on the shop page
- [fix] Fixed unformatted product rating values
- [fix] Fixed product reviews not showing
- [fix] Fixed "Hide from shop" option not working for products
- [fix] Fixed warnings on the single product screen
- [fix] Fixed broken slug editing in product settings
- [fix] Fixed product status label display issue
- [improve] Improved product summary block with initial pattern setup
- [improve] Improved order model with meta query support
- [improve] Added search by customer email to the /orders API

= 1.1.0 - 2025.07.26 =

[license]
- Added full license validation logic with email and store URL headers
- Integrated license activation and deactivation flows
- Added slot support for addons
- Improved error handling for invalid or missing keys
- Replaced localStorage-based license checks with WordPress native options
- Standardized related hooks and filters

[setup wizard]
- Completed setup wizard flow with working conditions and redirects
- Integrated payment addon install and activation directly from wizard
- Hardcoded currency and country data to avoid location storage download delay
- Improved screen transitions and layout consistency

[addons]
- Added multi-addon install and activation support
- Fixed activation issues for individual and grouped addons
- Improved addon UI states and button behavior during API calls

[slot-fill]
- Introduced reusable SlotField components
- Added slots for license, after-price, and pricing areas
- Verified slot rendering and fallback behavior across different screens

[products]
- Fixed double API call issue on product add/edit screen
- Added "Live" status for product publishing
- Fixed dimension dropdown and attribute repeater issues
- Improved padding, layout, and field consistency
- Added action bar for bulk actions

[orders, coupons, transactions]
- Improved filter and search functionality
- Fixed customer and transaction search issues
- Added and refined skeleton states and empty results messages
- Updated API calls to separate counts and data
- Improved bulk update and delete flows
- Added status dropdowns and multi-select support for coupons

[customers]
- Fixed filtering issues and improved search accuracy
- Separated API calls for customer counts

[general UI/UX]
- Standardized input height and spacing across all modules
- Fixed breadcrumbs and layout nesting in many sections
- Removed unnecessary toast messages and dead code
- Cleaned up tab states and improved default views

= 1.0.3 - 2025.07.15 =

- [fix] Deleted entry not disappearing automatically
- [fix] Rating stars issue in Addons list
- [fix] Currency switch not working properly
- [fix] Wrong stock message on product page
- [fix] "Add to cart" button disabled if stock is zero
- [improve] Optimized image attribute values retrieval
- [improve] Addons installation flow updated
- [improve] Slug field added to product settings

= 1.0.1 - 2025.07.12 =

- [update] Product template layout improvements
- [update] Updated template images for better clarity
- [fix] Fixed "headers already sent" warning
- [fix] Improved status and state skeleton loaders
- [misc] General UI enhancements and internal refactoring

= 🔥 1.0.0 - 2025.07.10 =

- [revamp] Complete UI/UX overhaul for a faster, cleaner, and more intuitive experience
- [add] Introduced AI Writer to auto-generate product summaries and descriptions
- [add] Added AI Chatbot to assist store owners with instant responses
- [imp] Enhanced dashboard with real-time insights and improved usability
- [imp] Redesigned checkout flow for higher conversion and better mobile experience
- [imp] Optimized performance across admin and frontend

= 0.9.26-beta - 2025.07.01 =

- [fix] Fix the bug that would change the price_id of variations every time a product is saved

= 0.9.25-beta - 2025.06.25 =

- [fix] Permalink issue (showing 404 after creating a product) fixed

= 0.9.24-beta - 2025.06.23 =

- [fix] Compatibility fixed with PHP 7.4
- [imp] Optimize the list() method in the Database model for better performance
- [imp] Show secure download link in the customer dashboard

= 0.9.23-beta - 2025.06.22 =

- [fix] Fix deactivation popup height
- [add] Include site URL in the setup wizard API call
- [fix] Remove addon meta from the Addons admin screen

= 0.9.22-beta - 2025.06.14 =

- [fix] Fixed error in the Installer

= 0.9.21.1-beta - 2025.06.14 =

- [imp] Improved background processor for handle large amount of requests

= 0.9.20-beta - 2025.05.27 =

- [add] External fee support in cart models
- [fix] Automatically select the first shipping method by default
- [add] Pagination support for transaction table
- [add] Single transaction view implemented
- [imp] Reorganized deactivation reason settings

= 0.9.19-beta - 2025.05.18 =

- [fix] If no countries are selected in the settings, it defaults to all countries.

= 0.9.18.2-beta - 2025.05.14 =

- [fix] Code improved

= 0.9.18.1-beta - 2025.05.14 =

- [fix] Delivery date picker input field issue fixed

= 0.9.18-beta - 2025.05.07 =

- [improve] Ensured the first available payment gateway is selected by default.
- [improve] Updated order records to store the selected payment gateway immediately after a new order.
- [improve] Removed deprecated refund hooks and outdated updater/filter returns, replacing them with a unified updater.
- [improve] Payment module rewritten for better extendibility.

= 0.9.17.2-beta - 2025.05.05 =

- [fix] Fixed the price formatting error

= 0.9.17.1-beta - 2025.05.04 =

- [fix] Force using block editor even if the Classic Editor plugin is activated

= 0.9.17-beta - 2025.05.02 =

- [improve] Compatibility tested with WordPress v6.8.1
- [fix] UI changes in the addons screen
- [add] New addons released

= 0.9.16-beta - 2025.04.30 =

- [improve] Request for addon from added
- [improve] Feedback from bug fixed

= 0.9.15-beta - 2025.04.28 =

- [fix] Fixed logo reset, upload, and save issues in the setup wizard
- [fix] Fixed product list disappearance when permalink structure set to plain
- [fix] Fixed sticky header shaking issue in settings pages
- [fix] Fixed chart hover issue in reports
- [fix] Fixed deactivate button visibility issue on small screens
- [fix] Fixed sale price display when set to zero
- [fix] Fixed manual save issues across store, business, payment, and account steps in setup wizard
- [fix] Fixed business email and countries field missing issues
- [remove] Removed Redux library and unnecessary codes
- [improve] Improved currency format localization and added dynamic price formatting
- [improve] Improved setup wizard layout
- [improve] Improved settings save success/failure messages
- [modify] Changed brand step to business step in the wizard
- [modify] Adjusted helper functions for price formatting and settings consistency

= 0.9.14.1-beta - 2025.04.21 =

- [fix] Redirect to checkout after product added to cart to avoid query string issue
- [fix] Accept sale price as 0
- [fix] Remove Cash on Delivery (COD) payment method from the core
- [fix] Fix shipping calculation base method
- [fix] Fixed abandoned cart email placeholders issues
- [new] Added the sliding cart feature added
- [new] Show downloadable items in single order view
- [imp] Do not add variation array for non-digital products
- [new] New business type added

= 0.9.13-beta - 2025.04.17 =

- [fix] Remove irrelevant text from the `on-hold` email to the admin
- [fix] Fix i18n issue related to `_load_textdomain_just_in_time`
- [fix] Fixed thumbnail URL and undefined array key issue

= 0.9.12-beta - 2025.04.14 =

- [improve] Compatibility tested with WordPress v6.8
- [fix] Updated default texts for the order emails
- [remove] Removed unnecessary placeholders
- [modify] Changed the color label for order status in the report page
- [fix] Fixed the color mismatch for order status in two sections in admin dashboard page
- [fix] Fixed JS errors in the shipping and tax sections
- [add] Added a new function `easycommerce_price` to format price
- [add] Admin notification section added to send emails of different order events
- [improve] Email system improve with new header and footer builder
- [fix] Fixed the manual order email sending feature
- [improve] Centralized order and cart placeholders
- [remove] The `new_order` was removed from the order event's list, falling back on order status
- [improve] Code improved

= 0.9.11-beta - 2025.04.09 =

- [fix] Updated the CDN URL
- [fix] Fixed the issue related to not sending order emails
- [add] Added Transaction ID row in the order details screen
- [add] Added new hooks for the checkout fields

= 0.9.10-beta - 2025.04.06 =

- [fix] Fixed CSS conflict of the `.easycommerce` class in the body tag on all pages

= 0.9.9-beta - 2025.03.19 =

- [fix] Fix the addon installer to auto activate the addon

= 0.9.8-beta - 2025.03.19 =

- [fix] Fix CSS and JS minifier scripts

= 0.9.8-beta - 2025.03.19 =

- [fix] Fix minified JS and CSS

= 0.9.7-beta - 2025.03.19 =

- [improve] Minify JS and CSS
- [fix] Adjust version number in enqueue as it was using timestamp values (2 hours ago)
- [improve] Improve deactivation survey
- [add] Enable filter to post type and taxonomies

= 0.9.6-beta - 2025.03.17 =

- [add] It now accepts `columns` param for the checkout shortcode
- [add] It now accepts `shipping` param for the checkout shortcode
- [fix] Validated shortcode template param
- [change] Changed hook name from `easycommerce_settings_assets` to `easycommerce_after_settings_assets` for settings fields list
- [add] Enabled a filter hook for the settings fields list

= 0.9.5-beta - 2025.03.13 =

- [fix] Fixed missing email in the customer page
- [fix] Fixed header already sent error when session is not set
- [fix] Code validated
- [add] Added an option to allow adding products via parameter to the `[easycommerce-checkout]` shortcode

= 0.9.4-beta1 - 2025.03.08 =

- [fix] Orders redundancy fixed
- [fix] CoD for digital products is now hidden
- [add] More placholders added
- [fix] Missing deafault order and fullfill status codes added
- [fix] CoD duplicate transaction issue fixed

= 0.9.3-beta5 - 2025.03.05 =

- [fix] Invalid order redirect issue fixed
- [change] Email body content changed

= 0.9.3-beta4 - 2025.03.04 =

- [fix] Order history showing static text

= 0.9.3-beta3 - 2025.03.03 =

- [fix] Order data missing issue fixed

= 0.9.3-beta2 - 2025.03.02 =
- [change] Invoice emails removed from email settings
- [improve] Order filter code optimized
- [improve] Docs link added in the settings

= 0.9.3-beta1 - 2025.02.27 =

- [imoprove] Invoice is now separated from the default emails list
- [imoprove] Filter enabled for the order data
- [security] Security vulnerabilities fixed

= 0.9.2-beta2 - 2025.02.26 =

- [fix] Fixed the issue related to the checkout fields not populating

= 0.9.2-beta1 - 2025.02.26 =

- [new] Added new options to set default order status and fulfillment status
- [security] Some security vulnerabilities are fixed

= 0.9.1-beta1 - 2025.02.25 =

- [new] New method added to list downloads of a product
- [fix] Adding product to the cart using URL parameters is fixed

= 0.9.0-beta6 - 2025.02.25 =

- [security] Strings escaped and sanitized

= 0.9.0-beta5 - 2025.02.23 =

- [security] Strings escaped and sanitized

= 0.9.0-beta4 - 2025.02.21 =

- [security] Strings escaped and sanitized

= 0.9.0-beta3 - 2025.02.21 =

- [assets] SVN assets updated

= 0.9.0-beta2 - 2025.02.20 =

- [new] Initial beta release

== Upgrade Notice ==

= 1.5.0 =
Important: this release adds a `failed` order status and updates the orders table. Make a DB backup before updating.

= 1.16 =
Important update with enhanced AI features and performance improvements. Backup recommended before upgrading.

= 1.20 =
Backup recommended before upgrading.