Shared cart duplicate SKU handling improved with fix for change-type slideout
Product and Free Gift condition rules now correctly handle array-shaped rules
Cart condition evaluation now guards against null customer_conditions
Session/CSRF expiry redirects made HTMX-aware to prevent nested-page swaps
Bundle Components now render with native Matrix/NestedElementManager index UI
Free Gift rule IDs and exclusions properly registered in TableManager
Address book visibility gate fixed for multi-site configurations
BundleComponentsField label now displays correctly in Field Layout Designer
ProductData rows properly backfilled on first propagation to a new site
Applied coupon details preserved and correctly displayed in checkout summary
Digital consent requirement enforced for digital-only orders with visual indicators
Order tables updated with digital consent columns for compliance tracking
7.2026
Added configurable route prefix support for the checkout and cart system — the prefix can now be set in settings and is applied consistently across CartController, Twig URL helpers, and the settings UI
Added admin CP form for creating EU withdrawal requests directly from the Control Panel, with order selector and auto-fill support
Guest checkout gate is now enforced on cart and checkout pages
Cash rounding adjustments in orders now use the correct field names
Currency fallback chains now use the store base currency instead of a hardcoded EUR value
Added info notice in per-site mode when no Craft sites are available for a store
Widgets in the dashboard are now categorized by section for easier navigation
Invoices settings page restructured with tabs for better organisation
Email gradient editor modernized and JavaScript extracted to a separate file
Storefront agreements placeholder replaced with the yui-empty-state component
Formal (magázó) Hungarian register applied consistently across all customer-facing translations
5.2026
Introduced license domain management, letting customers manage licensed domains from their account, with a new CustomerLicenseDomainEvent and an updated customer-account licenses UI
Added a provider-based InvoiceService for order-status-driven invoice generation, with a RegisterInvoiceProvidersEvent for developers to register custom invoice providers
Added a payment gateway registration event for developers to hook in custom payment gateways
Added ProductQtyConditionRule and ProductWeightConditionRule for filtering products by quantity and weight in element queries
Refactored item type handling: virtual renamed to digital (ItemType::VIRTUAL now deprecated) across services, templates, and translations
Centralized country code resolution into a shared resolveAddressCountryCode helper for consistent address handling in checkout and customer templates
Improved tax handling to fall back to the store's default tax rate, with refined VAT validation and AJAX cart refresh behaviour
Fixed null-check issues in order and quote retrieval (OrderHelper) that could throw exceptions in multi-site environments
Improved customer account data handling: trimmed input values, refined email updates, and stronger password validation for sensitive account changes
4.2026
Added multi-store ("store views") support: per-store configuration for triggers, carts, and dashboards, a CP site selector on cart and checkout views, and store-specific order filtering with site-specific order status label overrides
Added a toggleable Backup & Restore feature in settings, backed by dedicated database tables and a redesigned backup page
License handling extended with feature-preview paths, a locked-feature redemption UI, and a new "My Licenses" page in the customer account
Added a notification system with flow-triggered admin notifications, cart and notification icons in the CP header, and Telegram integration exposing plugin events
Currency management improved with base-currency snapshots carried through order and checkout templates, bulk currency rate refresh, and a configurable currency rates API
Added order settings for soft-deleting orders and allowing zero-total orders, plus order access-token validation in the checkout flow
Added cross-sell recommendations to order details and cart templates
Added GraphQL and REST API reference documentation for developers
2.2026
Added a Marketing Flow Manager: a visual automation flow editor with triggers, actions, child-flow execution, credentials, audit trails, ready-to-use templates, and a dashboard widget for building automated marketing workflows
Added Watchdog, a stock/price monitoring feature with its own dashboard widget, popup notifications, and translated alerts across the storefront and CP
Added Cart Share, letting customers generate and share cart links, now surfaced as a feature card on the marketing dashboard
Added a variant generator slideout for bulk-creating configurable product variants, with SKU collision handling, inheritance of parent attributes, and a toggleable UI
Customer account dashboard expanded with order statistics, a recent-orders preview, downloadable invoices, and wishlists
Added base currency reassignment with automatic price-rebasing jobs for multi-currency stores
Product type fields were refactored from custom fields to native Craft fields
Order management gained cash rounding display on the orders index, origin-site tracking on orders and quotes, and visibility controls for order statuses
1.2026
Reworked the tax system with a Magento-style admin table for tax rates, tax classes, per-rate cart tax breakdown display, a tax-inclusive pricing setting, and a dashboard widget showing tax rate statistics
Store settings navigation was reorganized: tax, email, and widget settings moved under a new "Store" section with an overview/workspace page
Added a product authors feature — products can be assigned authors, with an AuthorTrait, a dedicated authors table, and author-based filtering in the product query and admin table
Checkout gained configurable layout options, including a Stripe-like layout, selectable from settings
Added Hyva theme support for cart and checkout, along with documentation for overriding and registering custom themes
Dashboard was redesigned with commerce-overview style widgets and configurable date-range filtering
Control Panel navigation is now filtered by user permissions, fixing 403 errors for non-admin users on restricted sections
Gift cards now support the configurable product type, and a bug causing gift card email copies to go to the wrong recipients was fixed
SKU generation now defaults to a {handle}-{siteId} format and is normalized to lowercase; product URI slugs are also derived from the URI format and stored in lowercase
Added a reset button for widget statistics in the dashboard settings
12.2025
Added a visual Flow automation editor (Shopware-style) for building triggers and actions with a node-based canvas, connectors, zoom/fullscreen controls, and CRUD management of flows
Added CheckoutAfterShippingMethodRegisterEvent and CheckoutAfterPaymentMethodRegisterEvent, letting developers hook into shipping and payment method registration during checkout
Product detail pages now show a collapsible price overview panel with price history, presented in a card-based layout
Added a console command to export entry-to-product relations, with streaming/batched processing to avoid memory exhaustion on large catalogs, including support for nested Matrix fields
Shipping table rates gained zone groups and a dedicated restrictions section for excluding shipping methods
Order invoice email template and translations were added, and the invoice download link now appears dynamically in order emails
Email settings now include a logo size option
Sales order numbers can now include a short-year token in the number format
Store settings gained a configurable default free shipping threshold and country-specific shipping data
Order details view now shows SEO title and description, and address management views include store country data
11.2025
Order statuses management was overhauled in the Control Panel with a redesigned slideout, search/filter by handle and description, color swatch indicators, duplication tools, and protection for system-defined statuses
Added a CartItemsEvent allowing developers to modify the cart items payload before it is returned
Fixed tier price deletion so removing the last tier price row now persists correctly, and added tier pricing based on customer source with related settings and translations
Product duplication no longer creates conflicting SKUs or shares linkage with the original entry when a Craft entry is duplicated
Cart tax calculation now applies the discount ratio to the taxable amount before computing tax
Widgets on the dashboard can now scroll horizontally when content overflows, and widget cache can be reset directly from the widget settings
Customer login now supports redirecting to "My Orders" or "Address Book" after sign-in, configurable in settings
Fixed order history comments not saving due to an incorrect foreign key reference
Fixed payment transaction validation to correctly locate the matching transaction instead of failing on unrelated ones
Product field relations are now preserved on save when no new value is submitted for the field
10.2025
Reworked the email header gradient editor with a more reliable JavaScript implementation, fixing several initialization and preview bugs
Redesigned the store settings overview page with visual widget cards for easier navigation
Added new Control Panel dashboard widgets, including an "Orders by Category" widget, alongside a redesigned marketing overview page
EU VAT number validation is now enforced when placing an order
Added a "Merge cart items by SKU" setting to control whether identical cart line items are combined
Order attachments now support GLS shipping labels, invoice status highlighting, and "View", "Refresh", and "Resync" actions
Order history is now displayed as a timeline with a toggleable detail view
Added new order export types for discounts and vouchers, and fixed several duplicate-row issues in existing exporters
Added console commands for batch product deletion, price updates, and product tax category updates
Address book metadata is now populated automatically when saving quotes and orders
9.2025
Added support for stackable, exclusive, and priority coupon properties, giving finer control over how multiple discount codes combine
Added a "Purchase without VAT" option for eligible customers, exposed in settings with dynamic total recalculation during checkout
Orders can now be locked to prevent automatic total recalculation while still allowing manual admin adjustments
Added "All Gift Card Codes" and "All Coupons" overview tabs to the marketing section
Introduced cron-driven marketing automation flows with a revamped drag-and-drop rule builder
Added sortable Grand Total and Discount Amount columns to the orders list, and improved discount display on the order edit page
Fixed handling of legacy, non-numeric product values that previously caused save errors
8.2025
Added a comprehensive GraphQL API for cart, checkout, orders, and customer accounts, including mutations for placing orders, applying coupons and gift cards, managing addresses, and querying paginated order history
Added tier pricing and attribute-based pricing for products, with customer group selection and cached table rendering on the product page
Guest checkout can now register a customer account during checkout and convert existing guest orders into registered-customer orders
Added a digital gift card system: customizable PDF voucher templates, security codes, personalized messages, validity extension requests, and bulk code deactivation
Added coupon code functionality with an editable discounts section on the order edit page
Added a wishlist feature for logged-in Craft users, exposed through the GraphQL API
Added newsletter subscription at checkout, with source tracking and unsubscribe handling for subscribers
Added customer- and admin-authored notes on orders
Restructured cart, checkout, order, shipping, and payment-method routes under a consistent yui/sales URL namespace
Added configurable cart session lifetime and default order category settings in the store configuration
6.2025
Added RemoteEntryConditionRule to product conditions, allowing products to be filtered by remote entry ID
Added a Calendar plugin integration that saves default product field values (title, SKU) for Calendar events when missing
Added purchased-products cache invalidation triggered automatically after checkout, so purchased product data is refreshed correctly
Added support for associating a user account with orders and quotes
Fixed checkout to fall back to the logged-in user's email when no customer email is otherwise available
Fixed a strict-comparison bug affecting cart lookups during checkout
Updated cart item price rendering, including tax-related price display logic in the cart items template
5.2025
Added a tax category selection field for products in the CP, replacing the old tax class mechanism with a unified taxCategoryId
Added currency-specific formatting for monetary values across order, shipping, and item templates, using a currency-to-locale mapping for accurate localization
Added tier price handling to the product field and Products service
Added the ability to duplicate product field values when duplicating entries
Fixed draft validation logic and default field-value handling so drafts and new entries behave correctly with product fields
Fixed null-safety issues in cache flushing and default tax class ID resolution
Updated dompdf version constraints for invoice/PDF generation
4.2025
Added tax category selection for products, replacing the old tax class field mechanism across the codebase
Added custom gift card value support — customers can specify a custom amount when purchasing a gift card, with configurable minimum/maximum limits and validation in the sales settings
Added coupon marketing enhancements: stackable, exclusive, and priority coupon properties, plus general coupon management on the quote model
Added a Feed Me event handler so product/element saves triggered via Feed Me imports are processed correctly
Added unique handle generation and improved cache invalidation for products, along with new composite indexes on product tables for performance
Fixed incorrect cached price condition and refined the price query to select only the needed fields, improving pricing accuracy
Fixed order status logic to derive status from the payment method state
Customer account/wishlist and invoice detail sections in settings are now hidden by default to reduce CP clutter until expanded
3.2025
Coupons can now be restricted with conditions, including site-specific and product-specific matching rules
Shipping methods now support product-based conditions, letting specific rules apply per product, alongside existing conditional shipping-fee handling
Added product change logging, so edits to products are recorded in a changelog
Fixed shipping delivery dates not resetting correctly when a shipping fee changes
Gift card edit pages now show read-only creation/update metadata
Fixed a Slovak translation typo in the shopping cart message and corrected default weight/quantity handling for products
2.2025
Added invoicing support for orders: PDF generation, invoice save/retrieve/delete actions, and configurable invoice settings and templates
Added tiered pricing for products, including tier price display, sorting, and configuration on product entries
Added attribute-based pricing for products, letting attribute combinations drive their own price structure, with inline editing support in the product field UI
Added coupon and voucher redemption in the cart, including grand-total validation and expiry-date checks
Added customer blacklisting and whitelisting, with IP address tracking on customer records
Added product price history and price indication tracking, with a scheduled job to clean up outdated price records
Payment methods can now enforce weight restrictions
Customer session timeout now correctly respects being disabled in settings
1.2025
Added abandoned cart tracking with automated recovery emails and CRON-based scheduling
Orders that remain unpaid past a configurable duration are now automatically cancelled
Payment processing was updated to correctly handle dynamic order numbers, generated with cryptographically safe random values
Gift card codes are now automatically cancelled when their associated order status changes
Added order data export
Customer accounts now support a newsletter subscription toggle in navigation, and subscriber records show a "Subscribed At" timestamp
Improved customer login security: added email/password validation, spam detection and removal, and proper redirect handling after login/authorization
Order/quote listing tables now paginate at 100 items per page for easier browsing
Fixed total weight calculation in the cart and coupon/discount code sanitization before it is applied to the cart
12.2024
Major version bump to 2.0 — this release is a full rewrite of the plugin for Craft CMS 5 compatibility, spanning the second half of 2024
Added a complete gift card system — accounts, code pools, code generation, designs and cover images, and redemption
Added a marketing module with coupon codes, individual coupon codes, and configurable call-to-action content
Introduced catalog price rules (renamed from the earlier "Catalog Rules"), including tax-inclusive and tax-exclusive pricing
Replaced third-party PDF invoice generation with an in-house implementation
Added multi-site support across checkout, quotes, and cart
Added pickup point support for shipping methods and the ability to hide unavailable shipping methods at checkout
Added abandoned cart management in the Control Panel
Added an age verification popup with a configurable, short-lived cookie
Added plugin license management in the Control Panel, including per-license validation on login
Added analytics tracking with encrypted data collection and scheduled export
Replaced the Redactor rich text field with CKEditor across the plugin
Added support for virtual and configurable products, including price and inventory handling adjustments in the cart
Added order attachments, order item management, and the ability to resend order confirmation emails
Added an offline mode toggle in store settings
8.2024
Introduced EVENT_AFTER_GIFT_CARD_CODES_GENERATED in the GiftCardService to trigger event after generating gift card codes
Introducing Configurable Products
New CP Marketing navigation, Gift Cards
7.2024
The x-defer directive now can be configured through the admin panel
Added configuration for the Order Status table, enabling easy recoloring of status labels
Added new yui/import/address command to remove import customer address lists
Added Speculation Rules configuration to the plugin Performance section
Introducing the Manage Stock configuration for products, allowing to enable/disable product availability based on quantity
Shipping methods can now be disabled based on weight restrictions
Added x-defer attribute to components to improve CWV
Added the ability to change the Cart & Checkout total summary labels through the configuration section
Added functionality to clear the Wishlist
Introduced Table Rates for shipping methods to offer customers a flexible pricing structure based on various factors such as weight
Introduced Shipping Zones to customize shipping options based on specific geographical regions, enhancing flexibility and control within the shipping infrastructure
Customers now have the ability to add and save multiple billing and shipping addresses during checkout, or manage them conveniently in their Address Book
Product & Shipping weight are now calculated and displayed as expected
Customer related email notifications now can be disabled/enabled