*** WooCommerce Square Changelog ***

= 3.3.0 - 2022-11-07 =
* Add - Adds digital wallet buttons in the Pay for Order page.
* Add - Declare support for High-performance Order Systems ("HPOS").
* Add - Digital Wallet support for Australia.
* Add - Filter 'wc_square_update_product_set_description' to override product description during update from Square.
* Add - Filter 'wc_square_update_product_set_name' to override product name during update from Square.
* Add - Filter 'wc_square_update_product_set_variation_name' to override variation name during update from Square.
* Add - Support to store transaction ID while using High-performance Order Storage ("HPOS") (formerly known as Custom Order Tables, "COT").
* Dev - Plugin version constant added to the main file.
* Fix - Broken detailed decline messages after migration to Payments API.
* Fix - Checkout without required state field being empty.
* Fix - Digital wallet errors on Checkout page.
* Fix - Error caused while fetching variation SKU.
* Fix - Failed payment due to 3D secure errors.
* Fix - Fixes variations shown for WooCommerce simple products in Square dashboard.
* Fix - Inability to sync products created in both Square and WooCommerce.
* Fix - Incorrectly set quantity during Product Import.
* Fix - Issue with checkout using digital wallet when company name is required.
* Fix - Issue with stock status during product import when the inventory count is 0.
* Fix - Manage stock value of variation products when the product is not synced with Square.
* Fix - Stock status visibility under inventory for variable products.
* Update - Replaces dynamic strings with string literals.
* Update - WC tested up to 7.1

= 3.2.0 - 2022-09-14 =
* Add - Ensure the `via WooCommerce` text can be translated and introduce a new filter to update that text while paying with Apple Pay.
* Add - Missing square_customers table.
* Dev - Remove unnecessary build process files.
* Fix - Add notice when trying to import CSV and product sync is turned on.
* Fix - Invalid object with ID error while syncing variable products with Woo as SOR.
* Fix - Issue where `woocommerce_order_status_refunded` hook previously ran twice after successful refund.
* Fix - Multiple digital wallet buttons shown when quantity is updated.
* Fix - Tax computation error caused by tax ID set to 0.
* Fix - The `Repeated field must have at least one value` error.
* Update - Deprecates the method `get_max_objects_per_batch`.

= 3.1.0 - 2022-06-09 =
* Fix - Hide shipping options in Google Pay form for virtual products. #800
* Fix - State-specific tax calculation when using Google Pay. #778
* Add - Validation that Business Location or SOR is set and Square settings are saved before enabling Import Products button. #463

= 3.0.3 - 2022-06-01 =
* Fix - Customer Token Editor wasn't loading for some stores after updating to Square 3.0.0. #799
* Fix - No such file or directory warnings on case-sensitive filesystems. #799
* Dev - Bump compatibility to WP 6.0. #812

= 3.0.2 - 2022-05-17 =
* Fix - Prevent fatal error caused by stale transient (cached location data from previous Square API). #788
* Fix - Disable all plugin features if server requirements are not met, to prevent fatal errors. #793

= 3.0.1 - 2022-05-09 =
* Fix - Checkout stuck processing when using a card that doesn't require a postal code. #782
* Dev - Update minimum PHP version requirement to 7.2. #787

= 3.0.0 - 2022-05-04 =
* New - Upgrade the payment form on checkout to use the latest Square Web Payments SDK. PR#668
* Fix - Compatibility issues with WooCommerce 6.1.0. PR#715
* Fix - Sync issues caused by product variations having an empty SKU and incorrectly being set to the variable product (parent product) SKU value. PR#764
* Update - Remove admin notice warning of v3.0.0 release. PR#744
* Dev - Product importing is now handled by Action Scheduler. PR#698
* Dev - Syncing is now handled by Action Scheduler. PR#699
* Dev - Manual Sync is now handled by Action Scheduler. PR#710
* Dev - Upgrade Action Scheduler to 3.4.0. PR#762
* Dev - Updated Square Connect to Square SDK v 15.0.0. PR#673 PR#670 PR#668 PR#664 PR#659 PR#657
* Dev - Remove SkyVerge framework. PR#690 PR#689 PR#688 PR#687 PR#684 PR#683 PR#681 PR#678

= 2.9.1 - 2022-03-17 =
* Fix - Fatal error while deactivating WooCommerce before WooCommerce Square.

= 2.9.0 - 2022-02-17 =
* New - Added admin notice about v3 major update. PR#707
* Fix - Trim spaces from postal code at prefix and suffix positions. PR#654

= 2.8.0 - 2022-01-24 =
* New - Add support for Square stores located in Spain. PR#704

= 2.7.0 - 2021-11-09 =
* New - `wc_square_beta_country_support_spain` filter to add Spain as a supported country. PR#663
* Fix - Visibility of digital wallet buttons based on account & privacy settings. PR#652

= 2.6.0 - 2021-09-29 =
* New - Add support for Square stores located in France. PR#650
* Fix - PHP warning when trying to load the Square digital wallet (Apple/Google Pay buttons) on a product page that isn't available for purchase. PR#640

= 2.5.3 - 2021-07-23 =
* Fix - Failed orders with error "Square Payment Failed (Status code VALUE_TOO_LOW)" caused by incorrect line item calculations on orders with discounts/coupons (introduced in 2.5.2). PR#635

= 2.5.2 - 2021-07-21 =
* Fix - Product and inventory data not being synced due to duplicate/orphaned product metadata in database. PR#625
* Fix - Bypass SSL verification when checking background job processing eligibility. PR#624
* Fix - Correctly apply taxes in the Order API request and report accurate percentages. PR#559

= 2.5.1 - 2021-05-18 =
* Fix - Pay for Order and Add Payment Method forms sometimes not working when choosing another payment method other than Square. PR#618

= 2.5.0 - 2021-05-13 =
* New - Add support for WooCommerce Checkout blocks. PR#604
* New - Add support for Square stores located in Ireland. PR#609
* Fix - Improve manual sync performance and reduce stream timeout responses from Square on stores with large catalogs. PR#612

= 2.4.1 - 2021-03-30 =
* Fix - Variable products are now properly importing from Square on newer versions of WooCommerce. PR#605

= 2.4.0 - 2021-03-23 =
* Fix - Update jQuery 3 deprecated functions. PR#560
* Fix - Don't display digital wallet buttons when the cart contains a subscription product as Square does not yet support tokenization through digital wallets. PR#597
* Dev - Replace CoffeeScript with plain JS. PR#560

= 2.3.4 - 2021-02-11 =
* Fix - Handle exceptions when loading digital wallet buttons on product pages with no stock or other serviceable issues. PR#591

= 2.3.3 - 2021-02-09 =
* Fix - Uncaught PHP error when attempting to setup Apple Pay and Square is not properly connected (i.e. no valid access token found). PR#587
* Fix - Improve error logging when the request to verify the store's domain with Square/Apple Pay fails. PR#587
* Fix - Allow variable products to be previewed when Square is active. PR#554

= 2.3.2 - 2021-02-04 =
* Fix - PHP error on the My Account > Payment Methods page when saving a new card. PR#585

= 2.3.1 - 2021-02-03 =
* Fix - Add the correct variation to the cart when purchasing with Apple Pay and Google Pay from the product page. PR#581

= 2.3.0 - 2021-02-02 =
* Feature - Apple Pay and Google Pay support (US, UK and CA stores only). PR#547
* Fix - Duplicate `idempotency_key` issues caused by order IDs being re-used on the same store URL (i.e. after restoring from a backup). PR#563
* Fix - Don't import item variations from Square that are not available at your store's business location. PR#562
* Fix - Restore stock in Square when processing partial refunds (previously was only restoring stock for full refunds). PR#565
* Fix - Only restore stock if the "Restock refunded items" option is checked when refunding an order. PR#565
* Fix - Fatal errors during the sync and import process caused by unexpected/invalid Square API responses. PR#500
* Fix - Sends only one sync complete email per update to products that are synced with Square. PR#552
* Fix - Allow products with large numbers of categories (600+) to sync to Square when WooCommerce is SOR. PR#568
* Fix - Database related errors with creating the Square customer's table when first installing Square. PR#558
* Fix - Allow variable products with valid variations to import when variations with missing skus are present. PR#573
* Tweak - Update the Customer Profile setting description to make it clear that this setting enables tokenization. PR#576

= 2.2.5 - 2020-11-24 =
* Fix - Correctly saves inventory sync time when sync fails so items are re-synced on next attempt. PR#448
* Fix - Fixes warnings introduced with PHP 8. PR#533
* Fix - Corrects the plugin support URL. PR#539
* Fix - Allows imports containing products with variable pricing to complete successfully. PR#540
* Tweak - Updates assets to reflect WooCommerce color change. PR#544

= 2.2.4 - 2020-10-30 =
* Fix - Prevents logging anything if logging is disabled. PR#493
* Fix - Fixes a bug where products are imported even when it is not available at the store's location. PR#537

= 2.2.3 - 2020-10-23 =
* Fix - Display the correct stock quantity amount on all variations when product data is sent to Square. PR#503
* Fix - Avoid IDEMPOTENCY_KEY_REUSED API errors when syncing product data from WooCommerce to Square by using a more unique API request key. PR#528
* Fix - Added customer_id to Orders API to link Customers & Transactions on Square Dashboard and Transactions CSV Export. PR#527
* Fix - Issues with the postal code not matching WooCommerce data while saving cards. PR#501
* Fix - Prevents the "Send product data to Square" checkbox from being enabled when products and variations contain empty or duplicate SKUs. PR#525
* Fix - Issues that caused the Square Payment Form to be unclickable on the checkout page. PR#530
* Fix - Compatibility issues with the Square Payment form and conditional payment gateway extensions. PR#530

= 2.2.2 - 2020-09-15 =
* Fix - Don't import a new copy of each product image from Square when updating products during the import process. PR#513

= 2.2.1 - 2020-09-11 =
* New - Make the "Update existing products" part of the new import process optional by adding a new checkbox on Import Products modal. PR#508
* Fix - Stop the import process from getting stuck in a loop when reaching the time limit. PR#511
* Fix - Don't import/update categories from Square that are attached to products that cannot be found in WooCommerce. PR#511
* Fix - "idempotency_key must not be greater than 45 length" errors returned by some payment requests on stores using custom order number plugins. PR#507

= 2.2.0 - 2020-08-31 =
* Feature - Import new product variations from square to existing products in WooCommerce. PR#475
* Feature - Variations that are removed from Square will now be removed from products in WooCommerce during import. PR#475
* Feature - Upgrade to the Square Payments and Refunds API. PR#408
* Feature - New orders can be refunded up to one year after payment (up from 120 days). PR#408
* Fix - Only import products from Square that have non-empty SKUs. PR#475
* Fix - Empty product categories imported from Square into WooCommerce. PR#475
* Fix - Assign existing products to new categories imported from Square. PR#475
* Fix - Prevents loading of Square Assets on all pages except My Account -> Payment Methods & Checkout. PR#469
* Fix - Square Product Import & Product Manual Sync not triggering on mobile browsers. PR#472
* Fix - 3D Secure Verification Token is missing, Intent mismatch and other checkout errors related to SCA for merchants outside of the EU. PR#471
* Fix - Updated some of our documentation and support links in admin notices so they no longer redirect to an old URL or a 404 page. PR#474
* Fix - Use pagination to fetch inventory counts from Square. PR#478
* Fix - Display WooCommerce checkout validation errors along with Square payment form errors. PR#476
* Fix - Switching between sandbox and production environments will now show correct business locations. PR#462
* Fix - Don't wipe a customer's saved cards on when we receive an API error. PR#460
* Fix - Exclude draft and pending products from syncing from WooCommerce to Square. PR#484
* Fix - DevTools errors caused by missing minified JS files.
* Fix - PHP errors when syncing large amounts of products (`get_data() on null` and `getCursor() on a string`). PR#497

= 2.1.6 - 2020-07-15 =
* Fix - Make the "Sync Now" button disabled when no business location is set in Square settings.
* Fix - Enable checking/unchecking the Manage Stock setting for all variations.
* Fix - Refunding an order paid with another payment gateway will no longer sync inventory with Square when "Do not sync product data" is selected.
* Fix - Imported variation products that are out-of-stock will no longer show on the shop page when "Hide out of stock items from the catalog" is selected.
* Fix - Product images will now sync when Square is in Sandbox mode.
* Fix - Damaged stock adjustments will now sync properly to WooCommerce when multiple stock adjustments are made.
* Fix - Improve performance when manually syncing large amount of stock adjustments from Square (some inventory updates were missing).
* Fix - Quick editing products no longer sets incorrect stock quantities or disables syncing.
* Fix - Existing customer that have been removed from the connected Square account, or can't be found will now be able to save a new card on the checkout.
* Fix - When the System of Record is set to WooCommerce, product images will now properly sync to Square.
* Tweak - Use CSC consistently in all error messages when referring to the Card Security Code.
* Tweak - Change to using WordPress core methods to import/sync images from Square.

= 2.1.5 - 2020-05-15 =
* Fix - Fatal errors caused by incorrectly fetching locations before plugin init.
* Fix - WordPress database error when creating the Square Customers table on servers using utf8mb4.

= 2.1.4 - 2020-05-05 =
* Fix - Make sure that Square credit card fields are editable after checkout form refresh.

= 2.1.3 - 2020-04-30 =
* Fix - Persistent caching of locations to prevent unnecessary refetching and rate limiting.

= 2.1.2 - 2020-04-29 =
* Fix - INTENT_MISMATCH errors when guest customers save a card and registration is disabled.
* Fix - Improve checkout compatibility with password managers such as 1Password. This also avoids payment for reload on address change.
* Fix - Pass valid address values even if checkout fields are not present.
* Tweak - Sandbox mode can be turned on in the settings, no more need for setting the constant.
* Tweak - Change location URL to refer to our docs.

= 2.1.1 - 2020-03-23 =
* Fix - Inventory/Stock updates as a result of checkout via PayPal Standard does not reflect on the Square item.
* Fix - Error when trying to save an external product with the modified 'sync with square' value.
* Fix - Move product check on a possibly invalid product out of the try block avoiding potential further errors.

= 2.1.0 - 2020-02-11 =
* Feature - Add support for SCA (3D Secure 2)
* Fix     - Minor fixes to the Sync completed emails
* Tweak   - Add email notifications when connection issues are detected
* Fix     - Category sync when WooCommerce is the System of Record and there have been changes in Square

= 2.0.8 - 2019-12-09 =
* Fix   - Inventory changes through payments and refunds from other gateways not reflected on Square.
* Fix   - Fatal error on versions of WooCommerce before 4.3.
* Fix   - Sandbox API calls by passing is_sandbox flag to the Gateway API.
* Fix   - Quick edit view when editing a variable product without all variations SKU.
* Fix   - Verify if the product can be synced with Square before enabling sync when bulk/quick updating.
* Fix   - Disable sync for products that should not be synced after a REST API update.
* Fix   - Unable to create products during import.
* Fix   - Product inventory sync issue when WooCommerce is set as the Source of Record.
* Fix   - Inventory not updated when purchased through another gateway.
* Fix   - Category and description data not updated in a sync from Square.
* Fix   - Transactions on multiple stores connected to the same Square account would appear to succeed without actually charging the customer.
* Fix   - When making multiple partial refunds on the same order, only the first one would work.
* Tweak - Include product ID on failed sync record message.
* Tweak - Remove notices for refresh token when sandbox is enabled.
* Tweak - Prevent refreshing a token token when sandbox is enabled.

= 2.0.7 - 2019-11-18 =
* Fix   - No longer automatically disconnect on unexpected authorization errors
* Fix   - Bump compatibility for WooCommerce 3.8 and WordPress 5.3
* Fix   - Correct cents rounding that was causing invalid value errors
* Fix   - Fix encrypted token handling
* Fix   - No longer call revoke when disconnecting - just disconnect the site

= 2.0.6 - 2019-11-07 =
* Fix   - Access token renewal schedule action duplication.

= 2.0.5 - 2019-10-16 =
* Fix   - Access token renewal by adding support for refresh tokens as per the new Square API
* Fix   - Variable pricing import and adding an alert when these type of products are ignored.
* Fix   - Line item discounts and other adjustments being ignored.
* Tweak - Add a notice when a refresh token is not present to warn users to re-connect their accounts.
* Feature - Added support for Sandbox accounts.

= 2.0.4 - 2019-09-03 =
* Fix - Add adjustments to Square order in the event of discrepancy with WooCommerce total

= 2.0.3 - 2019-08-19 =
* Tweak - Re-introduce the "inventory sync" toggle to allow syncing product data without affecting inventory
* Fix - Adjust v1 upgrades to properly toggle inventory sync when not enabled in v1
* Fix - Ensure product prices are correctly converted to and from cents regardless of the decimal place setting
* Fix - Don't block the product stock management UI when product sync is disabled
* Fix - Ensure products that have multiple attributes that aren't used for variations can be synced
* Misc - Add support for WooCommerce 3.7

= 2.0.2 - 2019-08-13 =
* Tweak – WC 3.7 compatibility.

= 2.0.1 - 2019-07-23 =
* Fix - Don't display the "unsupported" payment processing admin notice for UK-based merchants

= 2.0.0 - 2019-07-22 =
* Feature - Support Square customer profiles for saved payment methods
* Feature - Customers can label their saved payment methods for easy identification when choosing how to pay
* Feature - Support enhanced payment form with auto formatting and retina card icons
* Feature - Show detailed decline messages when possible in place of generic errors
* Feature - Add support for WooCommerce Subscriptions
* Feature - Add support for WooCommerce Pre-Orders
* Feature - Orders with only virtual items can force a charge instead of authorization
* Feature - Void authorizations from WooCommerce
* Feature - Itemize Square transactions for improved reporting in Square
* Feature - Add sync records to notify admins of failed product syncs
* Feature - Changed "Synced with Square" option while bulk editing products
* Tweak - Introduce "System of Record" settings to control product data sync
* Tweak - Remove items from Square locations when deleted in WooCommerce (if WC is the system of record)
* Tweak - Allow users to hide WooCommerce products if removed from the linked Square location (if Square is the system of record)
* Tweak - Import images from Square when not set in WooCommerce (if Square is the system of record)
* Tweak - Remove Square postcode field when a postcode can be used from the checkout form
* Fix - Ensure connection tokens are refreshed ahead of expiration
* Fix - Always ensure settings are displayed in multisite
* Fix - Ensure Square prices update WooCommerce regular price, not sale price
* Fix - Remove usages of `$HTTP_RAW_POST_DATA`, which is deprecated
* Fix - Do not allow multiple sync processes to run simultaneously
* Fix - Avoid submitting duplicate orders with Checkout for WC plugin
* Misc - Upgrade to Square Connect v2 APIs
* Misc - Background process product sync for improved scalability
* Misc - Refactor for other miscellaneous fixes and improved reliability

= 1.0.38 - 2019-07-05 =
* Fix - Re-deploy due to erroneous inclusion of trunk folder

= 1.0.37 – 2019-04-16 =
* Fix – Use correct assets loading scheme.

= 1.0.36 – 2019-04-15 =
* Tweak – WC 3.6 compatibility.

= 1.0.35 - 2019-02-01 =
* Fix - Idempotency key reuse issue when checking out.

= 1.0.34 - 2018-11-07 =
* Update - Fieldset tag to div tag in payment box to prevent unwanted styling.
* Fix - Provide unique idempotency ID to the order instead of random unique number.
* Update - WP tested up to version 5.0

= 1.0.33 - 2018-09-27 =
* Update - WC tested up to version 3.5

= 1.0.32 - 2018-08-23 =
* Fix - UK/GB localed does not support Diners/Discover, so do not show these brands on checkout.

= 1.0.25 =
* Public Release!
