== Changelog ==
= 3.4.2 =
* NEW: Branch Selector on Sync page allows merchants to choose which Loystar branch to import products from before starting the sync.
* FIX: Loystar product counts now accurately query the specific selected branch catalog instead of defaulting to the home branch.
* NEW: Added 1-click "Import from Home Branch" action when the selected branch has 0 products or returns an empty branch notice.

= 3.4.1 =
* FIX: Resolved critical error on login by executing auth handlers before HTML output and hardening API error handling.
* NEW: Real-time Ecommerce Branch management and refresh card in settings with auto-detection.
* FIX: Normalized branch API response parsing for single-branch merchants.
* UPDATED: Brand logo and repository showcase banners.

= 3.4.0 =
* NEW: Two-Way Order Status Sync between WooCommerce and Loystar Online Orders via secure webhook.
* NEW: Automatic store settings and webhook secret synchronization to Loystar App Marketplace.
* NEW: Modern Loystar brand logo, menu icon, and LoystarBizPWA visual design system.
* NEW: Optional Date of Birth and Gender checkout fields with clean styling.
* ENHANCEMENT: Real-time order streaming to Loystar dashboard.
* ENHANCEMENT: High-Performance Order Storage (HPOS) compatibility declared and verified.
* ENHANCEMENT: Production M-Tier GraphQL endpoint integration.
* FIX: Product deduplication logic during import/export matching by SKU, URL, and normalized name.
* FIX: Preserved decimal precision on all order totals and line items.
* FIX: Settings submenu positioning to always remain at the end of the menu list.

= 3.2.8 =
* Fixed: Login authentication issue after GraphQL UI removal - restored essential backend authentication logic
* Improved: Settings page stability and authentication validation
* Enhanced: MTier GraphQL integration reliability

= 3.2.7 =
* Updated: Production API endpoints - REST API now uses api.loystar.co and GraphQL uses mtier2.loystar.co
* Enhanced: Full production environment configuration for live deployments

= 3.2.6 =
* Fixed: Amount precision issue - order totals now preserve exact decimal values instead of rounding
* Fixed: Sales transaction duplicate prevention - prevents duplicate transaction posts
* Enhanced: GraphQL order totals and line item amounts maintain decimal precision (e.g., $694.95 stays $694.95, not $695)
* Enhanced: Sales transaction API duplicate prevention with success-only marking
* Improved: Consistent decimal handling across both GraphQL and REST API endpoints

= 3.2.3 =
* MAJOR: Added GraphQL MTier integration for real-time order synchronization
* NEW: Orders now automatically sent to Loystar when placed (processing/on-hold status)
* NEW: Order status updates sent via GraphQL when completed (prevents duplicates)  
* NEW: GraphQL configuration settings in admin panel with JWT token support
* Enhanced: Smart duplicate prevention - orders sent via GraphQL are updated, not recreated
* Enhanced: Comprehensive order data including delivery addresses and order notes
* Enhanced: Fallback to REST API for orders not initially sent via GraphQL
* Improved: Real-time order integration replaces delayed completion-only sync

= 3.2.2 =
* Patch: Minor enhancements and optimizations

= 3.2.1 =
* Fixed: Optional loyalty program for transactions - orders now sync to Loystar without requiring loyalty program setup
* Fixed: Import progress dialog stuck at 0% and "Sync in progress..." issues  
* Improved: Menu renamed from "Sync from Loystar" to "Import from Loystar" for better clarity
* Enhanced: Automatic recovery system for stuck import states with manual reset option
* Enhanced: Better progress tracking with accurate product count display and completion handling
* Added: Emergency sync state reset utility for troubleshooting stuck imports
* Fixed: Product matching logic with fallback SKU matching for better data integrity
* Performance: Extended completion display timing and automatic page refresh after imports

= 3.2.0 =
* MAJOR: Fixed product update functionality - existing products now properly update from Loystar changes
* Added: Smart product synchronization that updates existing products instead of creating duplicates  
* Added: Automatic sync of product name, price, quantity, and other details from Loystar
* Added: Professional sync intervals (6, 12, and 24 hours) suitable for production use
* Improved: Clean settings interface with streamlined sync configuration
* Enhanced: Background processing reliability for large product catalogs
* Fixed: Sync calls now properly handle both new and existing products
* Performance: Optimized sync logic for better efficiency

= 3.1.0 =
* Added: Automatic product sync functionality with cron jobs
* Added: Configurable sync intervals (6, 12, or 24 hours)
* Added: Background processing for automatic syncs
* Added: Sync status tracking and scheduling information
* Added: Easy-to-use settings interface for cron management
* Improved: Plugin activation/deactivation handling for cron jobs
* Enhanced: Settings page with new automatic sync section

= 2.1.1 =
* Fixed: Date of birth field format dd/mm/yy

= 2.1.0 =
* Added: Proper minifier through grunt
* Fixed: Javascript error preventing ajax load for checkout
* Fixed: Date of birth field not allowing manual format dd/mm/yyyy
* Fixed: styling for phone number clashing with flag on some themes

= 2.0.0 =
* Added restrictions for Unsubscribed loystar merchants
* Added Basic Woocommerce Product Sync with loystar Product
* Fixed the Inventory tracking for recording transactions to loystar
* Added importation of loystar products to woocommerce option
* Added inventory tracking update when a product inventory is edited from the loystar app
* Added inventory tracking for variations of a product
* Added customer viewing list
* Added Loyalty widget feature
* Added intl Telephone Input Javascript plugin for proper phone number validation

= 1.0.0 =
* Launching first version.