Changelog
SquareWooSync Pro version history and release notes.
8.9.7
- Added Cash App Pay as a standalone payment gateway for WooCommerce Blocks and Classic checkout.
8.9.6
- Update webhook proxy endpoint.
8.9.5
- Fixed single product export failing with duplicate image IDs
- Fixed product meta not saving to correct product when exporting duplicated products
8.9.4
- Fixed license validation incorrectly treating null activatedDomain as deactivated
8.9.3
- Preserve pre-filled billing/shipping address when using digital wallet
8.9.2
- Fixed license key persistence - keys now saved across sessions and not deleted on validation errors
- Increased license API timeout from 30s to 60s and improved network error handling
8.9.1
- Fixed license being removed during plugin updates due to domain comparison mismatch
- Fixed update detection not recognizing new versions when API returns version without explicit flag
8.9.0
- Fixed Apple Pay/Google Pay shipping method changes not updating totals in legacy checkout
- Added proper event listeners for shipping address and option changes in digital wallets
8.8.21
- Fixed loyalty reward redemption in legacy checkout not applying discount fee
- Added pricing rule validation for loyalty rewards (minimum spend, date validity, customer groups)
8.8.20
- Fixed Apple Pay/Google Pay checkout failing silently by adding buyer verification (SCA compliance)
- Fixed billing fallback to use WooCommerce billing fields when wallet doesn't provide billing data
8.8.19
- Fixed attribute value "0" being treated as empty during import/export (causing "Any Size" display and validation errors)
8.8.18
- Fixed payment processing for zero-decimal currencies (JPY, KRW, etc.) using incorrect multiplier
8.8.17
- Added option to import both regular categories and reporting category together
- Added category fallback setting - imports from opposite category type when selected type is empty
8.8.15
- Fixed cron auto-create not setting variation attributes correctly (causing "any size" display issues)
- Added self-healing to remove duplicate variations created by previous cron runs
8.8.14
- Added phone number matching as fallback for customer syncing - Square loyalty accounts without email can now be matched by phone
- Added support for Square Multi-Select attribute import as a comma seperated list.
8.8.13
- Fixed fatal error when syncing Square products with missing category names
- Fixed negative WooCommerce fees now sync as discounts in Square instead of negative service charges
- When checking out using digital wallet, only replace billing information if required fields are not set
8.8.12
- Increased Square API timeout to 30 seconds to prevent timeouts when exporting products with images
8.8.11
- Fixed order discounts not syncing to Square - manual orders now correctly use discounted prices
8.8.10
- Custom checkout compatibility for payment nonces
8.8.9
- Add data import filter for status
- Prevent MENU_CATEGORY from showing in category filters.
8.8.8
- Added native support for variation-level custom field mapping (Square to WooCommerce bidirectional sync)
8.8.7
- Fixed tips from Orderable being sent to Square as service charges instead of tip_money field for proper tip reporting
8.8.6
- Fixed Square order imports incorrectly mapping variations to parent products
8.8.5
- Fixed inventory tracking not respecting Square location overrides during product import
8.8.4
- Reset Square nonce and card instance after failed payments (Blocks and legacy checkout) to prevent "nonce already used" errors on retry
8.8.3
- Align Square tax with Woo "Display tax totals"; fix simple-product tax save
8.8.2
- Fixed Square payment gateway (credit card and digital wallets) on pay-for-order pages
8.8.1
- Fixed automated scheduler batching - Square to Woo and Woo to Square syncs now queue separate jobs per batch
- Created CronImportJob class for automated imports that bypass UI dependencies
- Fixed automated scheduler creating 100+ individual jobs instead of batching products
- Implemented real-time sync batching with 30-60s collection window to prevent queue buildup
- Added sws_import_running transient lock to prevent reverse syncs during Square to Woo imports
- Fixed false "permanently failed" error messages for successfully completed import chunks
- Added CronImportJob to allowed jobs list for wp-queue processing
- Improved overlap prevention with three-layer defense (per-product, import, and cron locks)
8.8.0
- Fixed image order preservation - first image in Square's image_ids array now correctly becomes WooCommerce featured image
- Added support for importing variation-specific images that aren't in product-level image_ids
- Fixed variation images not being downloaded to media library
- Updated import_product_images to download all unique images (product + variation-specific)
- Variation images now properly downloaded and assigned to WooCommerce variations
- Improved fetch_square_image_urls to preserve order of input image_ids array
- Fixed array_unique usage in WebhookProcessJob to maintain image order
- Fixed duplicate order sync attempts when using Square payment gateway
- Added early exit when Square payment gateway creates orders - prevents duplicate background jobs
- Improved status change hook guards to skip all checkout-created orders (checkout, store-api, checkout-block, wc-api)
- Added persistent queue flag (_square_sync_queued) to prevent race conditions
- Implemented atomic lock mechanism in OrderSyncJob to prevent parallel duplicate processing
- Eliminates "Skipping Order - already synced to Square" duplicate messages in logs
- Fixed $0 orders not syncing to Square - now allows 'pending' status for $0 orders (COD, coupons, etc.)
- Fixed order sync logic: when Square gateway is enabled, all orders sync regardless of orders.enabled setting
- Fixed orders with non-Square payment methods (COD, BACS, etc.) being skipped when Square gateway is enabled
- Improved product sync log messages to show what fields are being synced (e.g., "stock only" vs "full product")
8.7.57
- Fixed tax UID reference mismatch between order-level taxes and line item applied_taxes
- Line items now correctly reference all tax UIDs defined at order level
- Resolves "There is no tax on this order with uid" errors when syncing to Square
8.7.56
- Fixed duplicate tax UID error when orders have multiple tax rates (GST+PST, Federal+State, etc.)
- Added WooCommerce order notes for Square order creation failures during checkout
- Added order notes for Square API errors in split order processing
- Added order notes for Square sync failures in manual order sync
- Enhanced Square API error extraction to capture all error details (code, detail, field)
- Improved error visibility - store admins can now see complete Square error messages directly in WooCommerce order interface
8.7.55
- Fix order creation conditional when not using gateway
8.7.5
- Added 9 new developer hooks for webhook order imports (Square to WooCommerce)
- New filter:
squarewoosync_webhook_order_import_enabled- Control which webhook orders to import - New filter:
squarewoosync_square_order_data- Primary hook for modifying complete order data before import - New filter:
squarewoosync_order_customer_id- Override customer assignment logic - New filter:
squarewoosync_order_line_items- Modify line items before processing - New filter:
squarewoosync_order_taxes- Modify tax data before applying to order - New filter:
squarewoosync_order_discounts- Modify discount data before applying - New filter:
squarewoosync_order_status_mapping- Customize status mapping logic - New action:
squarewoosync_before_order_import- Run logic before order import starts - New filter:
squarewoosync_before_process_square_order- Modify raw API data after fetch
8.7.4
- Added bidirectional GTIN/UPC sync - products now export GTIN/UPC from WooCommerce to Square
- GTIN/UPC now syncs in both directions: Square to WooCommerce (existing) and WooCommerce to Square (new)
- Supports both WooCommerce native GTIN field (_global_unique_id) and Product GTIN plugin (_wpm_gtin_code)
- GTIN/UPC automatically syncs during product export, manual sync, and real-time updates
8.7.3
- Fixed frontend polling to continue through matching phase, ensuring accurate progress display
- Frontend now recognizes 'matching' state and polls until completion
8.7.2
- Fixed Afterpay checkout for WooCommerce Blocks - country and state fields now populate correctly
- Fixed Afterpay modal closing when changing shipping methods during checkout
8.7.1
- Fixed inventory sync to always match products with WooCommerce, preventing import status issues
- Separated inventory matching into dedicated job for reliable completion
- Fixed PHP 8.2 deprecation warning in SquareInventory
8.7.0
- Added new filter hook:
squarewoosync_skip_square_product_importto prevent specific Square products from being imported - Filter works for both manual/bulk imports and real-time webhook updates
- Developers can now skip products by custom attributes, SKU, name, category, visibility, or any Square product data
- Added comprehensive documentation for the new filter hook in hooks-reference.html
- Skipped products are properly logged with status and reason
8.6.9
- Update licence key endpoint
8.6.8
- Fix order cancellation on failed payments
8.6.7
- Added location-based filtering for automatic product imports (webhook and scheduler)
- Added category-based filtering for automatic product imports (webhook and scheduler)
- New setting: "Only import products from configured location" for webhook auto-creation
- New setting: "Only import products from selected categories" for webhook auto-creation
- New setting: "Only import products from configured location" for scheduled imports
- New setting: "Only import products from selected categories" for scheduled imports
- Filters check both categories array and reporting_category fields
- Comprehensive logging for filtered products with detailed skip reasons
8.6.6
- Fixed orphaned Square orders being created when Apple Pay and other payment methods fail
- Added automatic Square order cancellation when payment authorization fails
- Added real-time modifier syncing via webhooks when catalog products are updated in Square
8.6.5
- Fixed inventory sync fatal error caused by getmypid() function not being available on all servers
- Replaced getmypid() with uniqid() for better server compatibility and reliability
8.6.4
- Fixed inventory sync infinite loop issue where cursor pagination could get stuck
8.6.3
- Sync hidden modifiers but have toggle to hide/show
8.6.2
- Fixed UPC/GTIN field not syncing from Square to WooCommerce during product imports
- Major Performance Improvement: Optimized image importing with 2-4x faster processing
- Added intelligent image change detection - skips re-import when images haven't changed (70-85% faster re-imports)
- Implemented transient caching for attachment lookups (30-40% faster database operations)
- Added deferred thumbnail generation via Action Scheduler (50-70% faster perceived import time)
- Replaced WP_Query with optimized direct database queries for image lookups (20-30% faster)
- Added 15-second configurable timeouts for image downloads to prevent hung imports
- Implemented batch image processing with improved error handling and logging
- Added comprehensive thumbnail generation status monitoring and verification tools
- Images now process in background, keeping product imports fast and responsive
8.6.1
- Added automatic plan upgrade notification to external API on plugin activation
- Plugin now registers as 'pro' with proxy.squaresyncforwoo.com when Square is already connected
8.6.0
- Added "Split Orders by Product Available Locations" feature for intelligent multi-location order routing
- Orders are now automatically split across Square locations based on product inventory availability
- Payment is taken first, then order splitting happens in background to prevent checkout delays
- Smart location assignment prioritizes default location, falls back to alternatives based on stock levels
- Real-time inventory checking across all locations ensures optimal order placement
- Automatically disabled for local pickup orders to maintain location-specific pickup requirements
- Support for Square's present_at_all_locations and absent_at_location_ids logic
- Orders are automatically marked as paid in Square for complete transaction visibility
- New toggle in Order Settings to enable/disable automatic order splitting
- Added automatic product creation toggle to scheduled updates (cron)
- Scheduled updates can now create WooCommerce products from Square products that don't exist yet
- Product auto-creation only available when Square is the source of truth
- New checkbox in Inventory Settings under Automatic Update Scheduler section
- Respects batch size settings to prevent server overload
- Includes clear warnings about potential impact with large catalogs
- Optimized wp-queue processing interval from 15 seconds to 1 minute for improved performance
8.5.3
- Added optional "Require Pickup Date/Time" setting for local pickup orders with full validation
- Fixed Square Auth dialog to redirect to settings page with streamlined connection flow
- Fixed product import batch size not respecting user-selected value with automatic persistence
- Fixed race condition causing import completion to show before final batch results were saved
- Enhanced import progress tracking with atomic updates and comprehensive debug logging
8.5.2
- Added merchant-specific rate limiting API integration for webhook processing control
- Performance settings now sync to proxy.squaresyncforwoo.com with Save Settings button
- Added rate limit status display showing webhook processing state and pending counts
- Implemented automatic webhook forwarding toggle based on source of truth settings
- When WooCommerce is source of truth, webhook forwarding is automatically disabled
- When Square is source of truth, webhook forwarding is automatically enabled
- Plugin updates now sync webhook forwarding state with current configuration
- Added REST endpoints for rate limit management and forwarding toggle
- Enhanced Performance settings with real-time API status monitoring
8.5.1
- Fixed inventory table search functionality - now uses proper JSON extraction for accurate searching
- Search now works correctly for product names, descriptions, SKUs, and variation names
- Improved category filter to use JSON_SEARCH for proper array searching
- Enhanced location filter with JSON_SEARCH for better array handling
- Fixed archive filter to properly handle 'hide', 'show', and 'archived_only' values
- Updated ecom visibility filter to recognize 'ecom' value and use proper JSON functions
- Improved sorting to use JSON_UNQUOTE and CAST for proper type handling
- Added validation for invalid variable products (products with variations missing option sets)
- Invalid variable products now display with warning icon and tooltip in inventory table
- Added detailed debug logging for inventory queries to aid troubleshooting
8.5.0
- Added unified Automatic Sync Settings interface with single toggle and source of truth selector
- Replaced separate Square to Woo and Woo to Square settings with streamlined component
- Added configurable data point selection (Stock, Title, SKU, Price, Description, Images, Category, Metafields)
- Implemented async job queuing for WooCommerce to Square product updates to prevent blocking
- Added metafields conditional sync support - only syncs when enabled in settings
- Fixed duplicate job queuing with 10-second deduplication transient
- Improved sync performance by moving from inline execution to background wp-queue jobs
- Enhanced settings to respect user-configured data points for all sync operations
8.4.3
- Bug Fix
8.4.2
- Added support for Square's max_selected_modifiers feature
- Modifier sets can now enforce maximum selection limits (e.g., "Select up to 2 extras")
- Real-time frontend validation with visual feedback and selection counter
- Server-side validation prevents cart addition when limits are exceeded
- Admin UI shows/hides max selections field based on single/multiple choice setting
- Dynamic checkbox disabling when maximum selections reached
- Clear error messages guide customers when selection limits exceeded
- Performance optimized - validation script only loads when needed
- Syncs max_selected_modifiers from Square to WooCommerce automatically
- Disabled modifier lists (enabled: false) are now skipped during sync
- Hidden modifier lists (hidden_from_customer: true) are now skipped during sync
- Individual modifiers marked as hidden_online are now excluded from sync
8.4.1
- Fixed simple product sync
8.4.0
- Added pickup date/time selector for WooCommerce Blocks checkout
- Customers can now select their preferred pickup date and time when choosing pickup shipping
- Pickup times sync to Square as SCHEDULED fulfillments with accurate timezone handling
- Added enable/disable toggle in Order Settings (disabled by default)
- Pickup date/time displayed on thank you page and admin order view
- Supports any WordPress timezone configuration (UTC, named timezones, UTC offsets)
- Fully integrated with WooCommerce Blocks Store API and legacy checkout
8.3.2
- Fixed variable product variations showing as "sold out" in Square after syncing from WooCommerce
- Added track_inventory flag update during variation sync to ensure stock tracking is properly enabled
- Enhanced inventory sync logging with detailed per-variation tracking and error reporting
- Improved stock management field synchronization (sellable, stockable, track_inventory)
8.3.1
- Fixed $0 orders not syncing to Square when using the Square payment gateway
- Orders with $0 total (fully covered by coupons, gift cards, or loyalty rewards) now properly sync to Square
8.3.0
- Added full support for catalog-based loyalty rewards (product-specific, category-based, and product sets)
- Added support for free item loyalty rewards (100% discount rewards)
- Free items are now automatically added to cart when reward is applied
- Free items are automatically removed from cart when reward is removed
- Enhanced category-based rewards to match by WooCommerce category names
- Improved variation support for loyalty rewards (checks both variation and parent product IDs)
- Fixed "Currency mismatch" errors for free item rewards with missing max_discount fields
- Added better error handling with user-friendly messages for reward application
- Updated admin UI to remove "Disabled" overlay for catalog-based rewards
- Added visual badges to indicate catalog-specific and free item rewards
- Improved reward eligibility validation for both legacy and blocks checkout
- Fixed loyalty reward display to show all eligible rewards including catalog-based ones
8.2.0
- Added WooCommerce Local Pickup location mapping to Square locations
- Orders with selected pickup locations now automatically route to the correct Square location
- Added pickup location configuration UI in Orders settings
- Enhanced order synchronization to detect and use customer-selected pickup locations
- Improved location resolution for multi-location Square accounts
- Fixed pending job status display to show loading animation
8.1.0
- Added "Combine stock from all Square locations" setting for multi-location inventory management
- When enabled, WooCommerce stock shows the total quantity from all Square locations
- Updated product import, webhook processing, and scheduled sync to support combined stock
- Improved inventory sync to fetch products from all locations (not just primary)
- Hidden "Enable real-time stock updates to/from all locations" toggle (setting preserved for compatibility)
- Multi-location stock combining works across all sync methods: manual import, webhooks, and cron
8.0.5
- Optimized Square payment scripts for faster and more consistent loading
- Fixed race conditions in Square SDK initialization
- Fixed Google Pay initialization to use correct paymentRequest object
- Fixed credit card field disappearing when applying coupons during checkout
- Improved wallet instance caching to prevent unnecessary re-initialization
- Fixed empty digital wallet containers showing in blocks checkout
- Added proper visibility controls for wallet containers when wallets fail to initialize
- Removed debug logs for cleaner console output
- Improved error handling and attachment logic for digital wallets in blocks checkout
8.0.4
- Fixed custom attribute mapping sync from WooCommerce to Square
- Added proper Square API structure for custom attributes with key, type, and definition ID
- Fixed false success messages when Square API returns errors
- Improved error handling to show specific Square API error messages
- Custom attributes now properly sync at both ITEM and ITEM_VARIATION levels
8.0.3
- Fixed order syncing to Square when using non-Square payment gateways (hook-based sync)
- Fixed wp-queue job execution by adding missing job classes to allowed list
- Improved separation between gateway-based and hook-based order syncing
8.0.2
- Minor bug fixes and improvements
8.0.1
- Fix customer loyalty account page error.
8.0.0
- Custom Queue system with Redis support
- Improved Product Syncing with Queue System
- Improved Order Import with Queue System
- Improved Customer Import with Queue System
- Fix loyalty point display
- Allow mapping multiple shipping methods to delivery and pickup Square methods.
7.6.17
- Fixed HTML rendering issue in gift card emails where balance was showing raw HTML tags instead of formatted currency
- Updated plain text gift card email template to properly strip HTML tags from balance amount
7.6.16
- Fixed loyalty points display updating for both WooCommerce hooks and shortcodes when product variations change
- Removed console logging from loyalty product points JavaScript
- Improved JavaScript to handle both LoyaltyDisplay elements and shortcode elements independently
7.6.15
- Enhanced loyalty points calculation to account for sale prices and Square catalog discounts
- Added comprehensive loyalty messaging customization system with live preview
- Created dedicated Loyalty Messaging settings page as submenu under Loyalty settings
- Fixed loyalty points display for variable products showing correct points based on minimum variation price
- Improved AJAX handlers for dynamic loyalty points updates when product variations change
- Added customizable loyalty program name field for branding
- Fixed variation-specific loyalty points to properly respect Square discounts in real-time
- Implemented proper discount price calculation using reflection to access DiscountApplicator methods
7.6.14
- Fix product export/sync to Square disregarding image options
- Less aggressive square order import status polling
7.6.13
- Fix payment token conflict between wallet/express checkout and credit card checkout
- Improve payment handler registration to only activate when wallet buttons are clicked
- Resolve "Payment token is missing" error for credit card transactions
7.6.12
- Fix loyalty rewards shortcode plural/singular point terminology
- Add clarifying text to distinguish earned rewards from required points
- Improve reward display clarity with "Redeemable" label and "Reward:" prefix
- Add complete gift card "Send as Gift" functionality with recipient fields
- Implement gift card email scheduling for future delivery dates
- Add recipient name, email, and personal message fields to gift card products
- Improve gift card email formatting with proper amount display
- Add styling for gift card form fields on product pages
7.6.11
- Fix category syncing when they shouldnt be
7.6.10
- Payment token reference bug
7.6.9
- Fix duplicate custom attributes error when exporting products to Square
- Ensure custom attributes are only added at ITEM level, not variation level
- Add duplicate prevention logic for custom attribute mappings
7.6.8
- Digital wallet pre-fill billing information before checkout
7.6.7
- Gateway js script loading issue fix
7.6.6
- Add image export to automated scheduler
- Add bulk sync (all pages) from woo to square in bulk actions
- Fix potential duplicate category export issue.
7.6.5
- Add loyalty program shortcodes for customizable display
- Fix encoding differences between translated values for non-english sites
7.6.4
- Fix few issues relating to non-english Square stores and zero decimal currencies
7.6.3
- Calculate line items via sub-total over total for accurate tax reporting.
7.6.2
- Refresh Token Tester
- Auto re-fetch token in unauthorized api requests
- Add customer info to Square Orders Tab
7.6.1
- Fix import issue on non-english sites.
7.6.0
- Process Square Refunds within WooCommerce
7.5.1
- Add email sending options to Auto Import Square orders
7.5.0
- New feature: View and Import Square orders
- Bug Fix: Fix attribute term creation for "0" values
7.4.6
- Fix product export without custom attributes
7.4.5
- New developer hook, squarewoosync_product_created
7.4.4
- Set Square Reporting Category on export/sync
7.4.3
- Support Square Custom Metafields as Woo Attributes
7.4.2
- Fix variation location overrides on stock counts
7.4.1
- Change auth url
7.4.0
- New feature - Metafield mapping
7.3.3
- Stop discount syncing if global setting disabled
7.3.2
- Fix hidden categories in settings
7.3.1
- Fix conflict between orderable and new discounts
7.3.0
- New feature: Real-time discount syncing
7.2.10
- Fix gift card variable pricing display
7.2.9
- Loyalty program settings bug not showing plan
7.2.8
- Fix auth plan
7.2.7
- Payment rounding adjustments
- Max 100 inventory updates at once
- Add woocommerce order notes to order export
7.2.6
- Added fallback for the Application ID when users have not yet migrated to OAuth authentication.
7.2.5
- Refined order-rounding logic for greater pricing accuracy.
7.2.4
- Fixed OAuth redirect URL.
- Removed redundant order line-item notes sent to Square.
7.2.3
- Implemented handling for the
order.updatedSquare webhook.
7.2.2
- Resolved issue preventing successful gift-card redemption during checkout.
7.2.1
- Corrected location retrieval for the Orderable integration under OAuth.
7.2.0
- Migrated authentication flow to OAuth for simplified setup and token management.
- Deprecated legacy Application ID/Secret settings.
7.1.10
- Ensured all gallery and variation images are included during the initial product export.
- Fixed import-completion banner that displayed on each page reload.
7.1.9
- Removed 100-option export limit for variation options.
7.1.8
- Strengthened validation and error handling during product syncs to Square.
7.1.7
- Added developer filter to skip individual variation exports or syncs.
7.0.7
- Eliminated duplicate filter triggers during product sync.
7.0.6
- Prioritized customer matching via loyalty account identifiers.
- Added debounce to customer-search inputs.
7.0.5
- Fixed Square location-override setting not applying during order sync.
7.0.4
- Added toggle to enable/disable modifier syncing.
- Corrected attribute-name mapping during export.
- Fixed variation-image assignment logic.
7.0.3
- Export process now uses human-readable variation names rather than slugs.
7.0.2
- Resolved duplicated credit-card fields on initial load.
- Corrected customer phone-number formatting.
- Removed miscellaneous non-critical warnings.
7.0.1
- Fixed WooCommerce order-sync error when Square metadata was missing.
7.0.0
- Major Release - added full support for Square Modifier syncing, including pricing and stock options.
6.16.2
- Improved legacy checkout reliability when loading Square payment elements.
6.16.1
- Fixed card-block rendering issue.
6.16.0
- Added Square category-identifier option to product settings.
- Introduced additional duplicate-card checks and prevention.
- Added developer filters:
squarewoosync_order_location_id- adjust order/payment location IDs.squarewoosync_prepare_order_data- modify payload sent to Square.
6.15.1
- Removed composer dependency that enforced PHP 8.0+.
- Added fallback to remove Square metadata if a product export fails.
6.15.0
- Added Afterpay/Clearpay support.
- Enhanced digital-wallet (Apple Pay / Google Pay) integration.
6.14.10
- Added developer filters:
squarewoosync_square_customer_payloadsquarewoosync_create_square_customer_payload
6.14.9
- Fixed gift-card creation edge-case.
6.14.8
- Added tax-inclusive gift-card options.
- Enabled "sold individually" flag for gift-card products.
- Fixed product-search pagination logic.
6.14.7
- Fixed Apple Pay checkout for virtual products.
6.14.6
- Added granular sync/export options on single-product pages.
- Cleaned up various PHP warnings.
6.14.5
- Fixed loyalty-redeem session reset.
- Resolved stock-tracking issue when syncing from all locations.
6.14.4
- Scheduled tasks now create new WooCommerce variations when detected.
6.14.3
- Fixed inventory search indexing.
6.14.2
- Added fail-safe when Square product retrieval times out.
6.14.1
- Included newly added variations in Woo to Square sync.
- Correctly resets "loading" state in inventory table.
6.14.0
- Added SKU-priority product-matching option.
6.13.2
- Fixed product-import edge-cases.
6.13.1
- Switched Orders page to server-side pagination.
- Cleared cron warnings and minor PHP notices.
6.13.0
- Overhauled Customers page with server-side pagination.
- Added customer import via Action Scheduler with logging and statuses.
6.12.1
- Added developer hooks:
squarewoosync_square_order_createdsquarewoosync_square_order_import
- Skipped invalid variable products during bulk import.
6.12.0
- Added bulk export to Square across all product views.
- Added WP All Import compatibility.
6.11.2
- Prevented duplicate stock sync when Square auto-adjusts inventory.
6.11.1
- Re-enabled automatic customer matcher.
- Synced variation images and categories from Woo to Square.
6.11.0
- Added pre-export validation checks.
- Improved bulk-export error handling.
6.10.4
- Moved inventory syncing from WP-Cron to WooCommerce Scheduler actions.
6.10.3
- Fixed price typecasting bug in product export.
6.10.2
- Resolved Jetpack compatibility conflict.
6.10.1
- Stopped pending orders from syncing to Square.
6.10.0
- Added category and image exports for Woo to Square sync.
6.9.2
- Assigned variation images to Square variations on export.
6.9.1
- Fixed gift-card pricing and stock export bugs.
6.9.0
- Introduced sellable gift-card product type.
6.8.0
- Overhauled Products page:
- Server-side pagination.
- Background imports.
- Enhanced error handling.
6.7.2
- Hot-fix for checkout edge-case causing failures.
6.7.1
- Fixed duplicate global attributes issue.
6.7.0
- Added Square Gift Card payment option.
6.6.5
- Ensured manual order sync includes transaction data when Square gateway enabled.
6.6.4
- Added inventory-status filter to Products table.
6.6.3
- Fixed toggle states for archived products, eCom availability, and pending-review statuses.
- Ensured images attach correctly during auto-creation.
- Added rate-limiting performance options.
6.6.2
- Prevented creation of unintended "random" products.
6.6.0
- Added subscription-product support.
6.5.4
- Correctly links simple products in Square orders.
6.5.3
- Stored variation IDs in Square orders.
- Added validation checker for imported products.
6.5.2
- Assigned variation images on import.
6.5.1
- Fixed image-import regression.
6.5.0
- New feature: auto-complete Square orders from WooCommerce.
6.4.13
- Stored Square location IDs in product and order metadata.
6.4.12
- Added support for Square delivery mapping.
6.4.11
- Integrated Orderable pickup-time mapping.
6.4.10
- Added support for zero-decimal currencies in import and sync operations.
6.4.9
- Auto-creates new variations when "automatic creation" is enabled.
6.4.8
- Increased category-import limit (100+).
6.4.7
- Added "track inventory" toggle recognition.
- Alphabetized category dropdown.
6.4.6
- Fixed variation import anomaly.
6.4.5
- Resolved order-sync block when loyalty points reduce totals to zero.
- Added stock-status sync feature.
6.4.4
- Patched legacy-checkout Square loading bug.
6.4.3
- Disabled Square "pickup window duration," preventing unwanted auto-cancellations.
6.4.2
- Fixed Square modifiers export bug.
- Added additional filtering to Products table.
6.4.1
- Enabled real-time inventory sync across all Square locations.
6.4.0
- Added real-time Square to Woo order imports.
6.3.6
- Created Square orders for alternate payment gateways.
6.3.5
- Fixed automatcher for product variations.
6.3.4
- Preserved variation attributes when attribute creation is disabled.
6.3.3
- Corrected image assignment mismatch during product import.
6.3.2
- Added option to disable attribute creation.
- Moved Square webhook handling to WooCommerce actions.
6.3.1
- Fixed customer-role sync from Woo to Square.
6.3.0
- Added real-time order-status sync Square to WooCommerce.
6.2.3
- Added option to set default import status.
- Enabled sub-row search in Products table.
6.2.2
- Fixed image mismatch during import.
- Added categories to automated scheduler.
6.2.1
- Refined order-rounding logic.
6.2.0
- Fixed missing loyalty account handling.
- Added saved-credit-card support.
6.1.1
- Optimized order-creation performance.
6.1.0
- Added Square modifier mapping and bulk "Sync to Square" actions.
- Displayed contextual UI warnings.
6.0.9
- Ensured tax-jar compatibility for Square orders.
6.0.0
- Released integrated Loyalty Program.
- Added local-pickup settings on order page.
5.1.3
- Skipped webhook states that would push zero stock updates.
5.1.2
- Added stock adjustment to bulk-export actions.
5.1.1
- Improved logging and execution flow for bulk exports.
5.1.0
- Export to Square now includes images.
5.0.5
- Adjusted stock updates to affect only "IN-STOCK" webhook states.
5.0.4
- Enhanced stock-update logging and added numeric validation.
5.0.3
- Corrected real-time stock update calculation.
5.0.2
- Redirected Payments UI to WooCommerce settings.
5.0.1
- Resolved duplicate Google Pay instances.
5.0.0
- Added support for credit-card, Google Pay, and Apple Pay payments.
4.4.4
- Allowed Automatic Scheduler to handle separated variable products.
4.4.3
- Extended automatcher to separated variable products.
4.4.1
- Temporarily disabled bulk export in settings; remains in bulk actions.
4.4.0
- Added "Export to Square" to Product bulk-action menu.
4.3.4
- Synced categories during automatic product creation.
- Fixed category sync during real-time updates.
4.3.3
- Fixed invalid SKU error on Products table.
4.3.1
- Fixed product-import error for malformed data.
4.3.0
- Introduced automatic product creation (Square to Woo).
4.2.2
- Corrected sub-row visibility in product filters.
4.2.1
- Added "Only show products from selected location" toggle.
4.1.1
- Resolved conflicts with third-party plugins.
4.1.0
- Backgrounded inventory updates during manual order adjustments.
4.0.3
- Prevented multiple customer-match triggers on user update.
4.0.2
- Enforced numeric price data in Automatic Scheduler.
4.0.1
- Released advanced customer syncing with role mapping, Action Scheduler queue, and optimized UI.
3.9.7
- Added support for single-attribute product exports.
3.9.6
- Fixed sync-to-Square product mismatch.
3.9.5
- Handled archived/deleted Square products.
- Reduced scheduler log verbosity to errors only.
3.9.4
- Forced inventory resync on Woo order-status change.
3.9.2
- Fixed variation import edge-case.
3.9.1
- Minor stability fixes.
3.9.0
- Significantly improved product-import performance.
3.8.2
- Added translation support.
3.8.1
- Defaulted single variations when only one exists.
3.8.0
- Added dynamic variation-sync selector.
3.7.5
- Fixed inventory update when variation has no SKU.
3.7.3
- Corrected location-ID handling when switching tokens.
3.7.2
- Patched multiple stock-state mismatch.
3.7.1
- Fixed tax-inclusion calculations.
3.7.0
- Added automatic product deletion feature.
3.6.0
- Added option to exclude already-linked products from export.
3.5.16
- Fixed local attribute export mapping.
3.5.13
- Fixed attribute-name case sensitivity.
- Switched to slugs for attribute export.
3.5.12
- Added inventory-update on single-product export.
3.5.11
- Improved Square inventory retrieval speed.
3.5.9
- Export now uses attribute display names.
3.5.8
- Utilized options/option-values for Square export.
3.5.7
- Moved inventory fetches to WP-Cron for very large catalogs.
3.5.6
- Bypassed Square Inventory API limit during exports.
3.5.5
- Optimized product-export payload structure.
3.5.3
- Fixed order sync anomalies.
3.4.2
- Added optional transaction syncing.
- Introduced auto product creation Woo to Square and new dashboard layout.
3.3.3
- Fixed export-result state on single product export.
3.3.1
- Corrected export-status updater.
3.3.0
- Added single product "Export to Square" action.
3.2.9
- Added automatic product-matcher utility.
3.2.8
- Injected location-ID into Square transaction exports.
3.2.7
- Improved scheduler performance under heavy load.
3.2.6
- Optimized real-time inventory update queries.
3.2.4
- Added Woo to Square export UI.
3.2.3
- Enabled Woo to Square bulk export.
3.2.2
- Displayed next runtime for scheduler on dashboard.
3.1.1
- Fixed variation update error in auto order-sync.
3.1.0
- Enabled automatic order sync.
3.0.0
- Major Release - introduced Automatic Update Scheduler.
2.2.1
- Fixed stock sync for Square webhook changes.
2.1.0
- Enhanced stock-sync logic.
- Added hierarchical log structure.
2.0.2
- Removed phone numbers from orders to comply with Square formatting.
2.0.1
- Hot-fix for null order values.
2.0.0
- Major Release - added order and transaction syncing.
1.5.7
- Added Square ID column to inventory table.
1.5.6
- Improved efficiency of inventory-table imports.
1.5.5
- Removed unnecessary logs.
1.5.4
- Fixed admin CSS conflicts.
1.5.1
- Added navigation bar.
- Fixed license-key validation bug.
1.5.0
- Added editable Square product IDs to manually link variations.
1.4.0
- Added Square location selector for inventory counts.
1.3.2
- Switched default API environment to production.
1.3.1
- Bundled missing vendor libraries.
1.3.0
- Initial public release.