*** Facebook for WooCommerce Changelog ***

= 2.6.30 - 2022-11-09 =
* Fix - Add backward compatibility for WC 6.1, 6.2, and 6.3 versions.
* Fix - Sync product set when the term name changes.

= 2.6.29 - 2022-11-08 =
* Add - Facebook Product Set under the Marketing menu.
* Add - HPOS Compatibility.
* Add - Inbox note about Facebook menu moved under the Marketing menu.
* Add - Set up Facebook task to the WooCommerce admin tasks.
* Dev - Replaced methods from classes in the `Internal` namespace.
* Fix - Ensure the enhanced product enhance catalog attributes value is unslashed before saving in the post_meta table.
* Fix - Hosted Woo Updates.
* Fix - Release/2.6.28.
* Fix - duplicate InitiateCheckout when using checkout block.
* Tweak - WC 7.1 compatibility.
* Tweak - WP 6.1 compatibility.
* Update - FB Product Set name changed to Facebook Product Set.
* Update - On successful FBE install users will be redirected to Advertise tab of the plugin.

= 2.6.28 - 2022-10-25 =
* Fix - Ensure bundles are not treated as virtual products on product_sync.
* Fix - Ensure google-product-category-fields-loads.js loads only on the product category screens.
* Fix - Server side sending of pixel events blocks generating pages .

= 2.6.27 - 2022-10-14 =
* Fix - Revert "Switch to Jetpack autoloader. (#1996 PR refresh)".

= 2.6.26 - 2022-10-13 =
* Add - wc_facebook_should_sync_product filter.
* Dev - Rename JobRegistry to JobManager.
* Dev - Replace composer autoloader with Jetpack autoloader.
* Fix - Fix content_name and content_category attributes set on ViewCategory pixel events.
* Tweak - WC 7.0 compatibility.

= 2.6.25 - 2022-10-04 =
* Add - New filter (wc_facebook_product_group_default_variation) to allow customizing a product group's default variation.
* Update - Remove Skyverge's sake as a dependency from the extension build process.

= 2.6.24 - 2022-09-27 =
* Fix - Adds helpful admin notices for correct user roles.
* Fix - Track purchase event flag in session variable instead post meta table.

= 2.6.23 - 2022-09-13 =
* Add - Show warning when creating product set with excluded categories.
* Fix - Messenger settings are no longer overridden after business config refresh.
* Fix - PHP notice thrown by get_page_id() in facebook-for-woocommerce/includes/API/FBE/Installation/Read/Response.php.
* Fix - When disabling Enable Messenger on the Messenger setting page, the setting does not persist after selecting Save Changes.

= 2.6.22 - 2022-09-06 =
* Fix - Adding an excluded category doesn't remove that category synced products.
* Fix - Ensure content_name and content_ids addToCart pixel event properties are correct for variable products when redirect to cart is enabled in WooCommerce.
* Fix - Remove out-of-stock products on Facebook when the "Hide out of stock items from the catalog" option in WooCommerce is checked.
* Tweak - WC 6.9 compatibility.
* Update - Facebook Business Extension flow from COMMERCE_OFFSITE to DEFAULT.

= 2.6.21 - 2022-08-16 =
* Dev - Add branch-labels GH workflow.
* Fix - `Undefined array key "HTTP_REFERER"` not longer happens when `new Event` is triggered from an AJAX call that doesn't include a referrer (likely due to browser configuration).
* Tweak - WC 6.8 compatibility.
* Tweak - WP 6.0 compatibility.

2022-08-09 - version 2.6.20
* Fix - Ensure product is deleted from FB when moved to trash.
* Fix - Price not updating when the sale price is removed.

= 2.6.19 - 2022-07-27 =
* Add  - `wc_facebook_string_apply_shortcodes` filter to check whether to apply shortcodes on a string before syncing.
* Tweak - Use the Heartbeat system to refresh the local business configuration data with the latest from Facebook.
* Tweak - WC 6.8 compatibility.

2022-07-19 - version 2.6.18
* Fix - Misaligned help icons on Product Categories > Google Product Categories form.
* Fix - Syncing WC custom placeholder to Facebook shop.
* Fix - is_search() causing fatal error when custom queries are used.

= 2.6.17 - 2022-07-06 =
* Fix - Add allow-plugins directive and adjust phpcs GitHub workflow.
* Fix - Scheduled product not synced when status becomes "publish".
* Tweak - WooCommerce 6.7 compatibility.
* Update - Facebook Marketing API from v12.0 to v13.0.

= 2.6.16 - 2022-06-07 =
* Fix - Updating reference from old master branch.
* Tweak - WC 6.6 compatibility.

2022-06-01 - version 2.6.15
* Fix - Do not set `sale_price` when the product is not on sale.
* Fix - FB Pixel is missing some ajax Add to cart events.
* Fix - Feed visibility field value for hidden items.
* Fix - Wrong Value Field in AddToCart Events.
* Tweak - Not show the removed from sync confirm modal for unpublished products.

2022-05-18 - version 2.6.14
* Fix - Non-latin custom product attribute names sync.
* Fix - Syncing brand FB attribute instead of the website name.
* Fix - Trigger InitiateCheckout event when site uses checkout block.
* Fix - Wrong sale price start date getting synced to FB Catalog.
* Fix - Allow products with "shop only" WooCommerce catalog visibility to sync to FB.
* Fix - Remove semicolon from custom attribute value.
* Tweak - Update the __experimental_woocommerce_blocks_checkout_update_order_meta action.
* Tweak - WooCommerce 6.5 compatibility.
* Tweak - WordPress 6.0 compatibility.

2022-04-26 - version 2.6.13
* Fix - Issue with Facebook not displayed in the new WC navigation.
* Fix - Issue with variable products syncing to FB product sets.
* Fix - Scheduled job logs written to options table are never removed if job does not complete.
* Fix - User-Agent to contain English extension name.
* Fix - clear out wc_facebook_external_business_id option on disconnect.
* Fix - fix product title length check to account for encoding.
* Tweak - Use `Automattic\WooCommerce\Admin\Features\Features::is_enabled` instead of the deprecated `WooCommerce\Admin\Loader::is_feature_enabled`.

2022-03-08 - version 2.6.12
* Add - Filter to change Facebook Retailer ID, wc_facebook_fb_retailer_id.

2022-02-28 - version 2.6.11
* Fix - The syntax parsing error "unexpected ')'" in facebook-for-woocommerce.php.

2022-02-22 - version 2.6.10
* Add - Filter to block full catalog batch API sync 'facebook_for_woocommerce_block_full_batch_api_sync'.
* Update - Deprecate 'facebook_for_woocommerce_allow_full_batch_api_sync' filter.
* Update - Facebook Marketing API from v11.0 to v12.0.

2022-01-14 - version 2.6.9
* Fix - Replace is_ajax with wp_doing_ajax
* Tweak - Update contributor guidelines
* Tweak - WC 6.1 compatibility

2021-12-21 - version 2.6.8
* Fix - Bump template from 1.0.4 to 1.0.5. #2115
* Fix - Fix empty "value" for variable products. #1784
* Tweak - WC 6.0 compatibility.
* Tweak - WP 5.9 compatibility.

2021-11-04 - version 2.6.7
* Fix - Parameter overloading error for PHP70 #2112

2021-11-03 - version 2.6.6
* New - Memory improved feed generation process. #2099
* New - Add compatibility with the WooCommerce checkout block. #2095
* New - Track batched feed generation time in the tracker snapshots. #2104
* New - Track usage of the new style feed generator in the tracker snapshots. #2103
* New - Hide headers in logs for better visibility. #2093
* Dev - Update composer dependencies. #2090
* New - Add no synchronization reason to the product edit screen in the Facebook meta box. #1937
* Fix - Use published variations only for the default variation. #2091

2021-09-16 - version 2.6.5
* Fix - Incorrect `is_readable()` usage when loading Integration classes.
* Tweak - WC 5.7 compatibility.
* Tweak - WP 5.8 compatibility.

2021-08-31 - version 2.6.4
* Fix - Correct the version string in the plugin file to remove -dev

2021.08.31 - version 2.6.3
* Fix – Include missing assets from previous build.

2021.08.31 - version 2.6.2
* Fix - Update the Facebook Marketing API to version 11

2021-06-28 - version 2.6.1
 * Dev - Add `facebook_for_woocommerce_allow_full_batch_api_sync` filter to allow opt-out full batch API sync, to avoid possible performance issues on large sites

2021-06-10 - version 2.6.0
 * Fix – Add cron heartbeat and use to offload feed generation from init / admin_init (performance) #1953
 * Fix – Clean up background sync options (performance) #1962
 * Dev – Add tracker props to understand usage of feed-based sync and other FB business config options #1972
 * Dev – Configure release tooling to auto-update version numbers in code #1982
 * Dev – Refactor code responsible for validating whether a product should be synced to FB into one place #19333

2021-05-28 - version 2.5.1
 * Fix - Reinstate reset and delete functions in Facebook metabox on Edit product admin screen #1980

2021-05-19 - version 2.5.0
 * New - Option to allow larger sites to opt-out of feed generation (product sync) job #1932
 * New - Log connection errors to allow easier troubleshooting #1857
 * Fix - Reduce default feed generation (product sync) interval to once per day to reduce overhead #1942
 * Fix - Trigger feed (product sync) job from to `admin_init` to reduce impact on front-end requests #1939
 * Fix - Ensure variable product attribute values containing comma (`,`) sync correctly #1922
 * Fix - Use existing / current tab for connection `Get Started` button #1885
 * Dev - Require PHP version 7.0 or newer #1908
 * Dev - Adopt Composer autoloader to avoid manually `require`ing PHP class files #1919
 * Dev - Adopt WooRelease release tool for deploying releases #1947
 * Dev - Use wp-scripts to build assets #1826
 * Dev - Add `phpcs` tooling to help standardise PHP code style #1911
 * Dev - Add JobRegistry engine for managing periodic background batch jobs #1913

2021.04.29 - version 2.4.1
 * Fix - PHP<7.1 incompatible code for Google Taxonomy Setting in products.

2021.04.23 - version 2.4.0
 * New - Add WooCommerce Usage Tracking properties: "product-sync-enabled", "messenger-enabled"
 * Fix - High memory usage when starting full catalog sync
 * Fix - High memory usage of Google Product Category data
 * Fix - Fatal error for product categories with missing attributes
 * Fix - Connection data is now correctly cleared when using the "Disconnect" button
 * Fix – Error modals when setting default exclude categories in Product sync now work correctly
 * Dev - Add an initial performance debug mode to measure resource usage in some areas

2021.03.31 - version 2.3.5
 * Fix - Critical issue for pre 5.0.0 WC sites.

2021.03.30 - version 2.3.4
 * Feature - Add connection state to WooCommerce Usage Tracking.
 * Feature - Register WooCommerce Navigation items.
 * Fix - Disable product sync on 2.3.3 update ( temporary fix ).
 * Fix - Add default placeholder for products with no image set.
 * Fix - Undefined array key error for products without 'Product image' set.
 * Dev - PHP Deprecated: Non-static method should not be called statically.

2021.03.22 - version 2.3.3
 * Fix - WooCommerce variation attribute sync not matching Enhanced Catalog attributes.
 * Fix - Enable display names to be used for variant attribute values.
 * Fix - Performance, do not auto-load Google Categories option.
 * Fix - Logs being recorded even with debug option disabled.

2021.03.02 - version 2.3.2
 * Tweak - Bump Facebook Marketing API version to 9.0

2021.02.23 - version 2.3.1
 * Fix - Fix errors when product set is empty
 * Fix - Ensure that events have an action_source

2021.02.16 - version 2.3.0
 * Feature - Add ability to create and assign products to Facebook product sets
 * Feature - Add support for Facebook App store flow
 * Tweak - Ask merchants to delete products when changing from sync to not sync state
 * Tweak - Remove business_management permission from login scopes
 * Tweak - Store parameters for Commerce merchant settings ID and Instagram business ID
 * Fix - Fix Products::get_google_product_category_id_from_highest_category() to handle WP_Error
 * Fix - Fix random HELLO appearing in the category settings
 * Fix - Make sure that list of strings params are now converted to actual arrays. Fixes an issue with the use of the additional_features parameter

2020.11.19 - version 2.2.0
 * Feature - Add an Advertise tab in the Facebook settings page to manage Facebook ads from within WooCommerce
 * Tweak - Move the Facebook settings page into the Marketing menu item (WooCommerce 4.0+)
 * Fix - Move the filter `facebook_for_woocommerce_integration_pixel_enabled` initialization to avoid possible uncaught JavaScript errors in front end
 * Fix - Update field name and format for additional_variant_attribute to resolve Facebook catalog sync for variable products.

2020.11.04 - version 2.1.4
 * Fix - Ensure product variant attributes are correctly handled when checking for enhanced attribute values.

2020.10.29 - version 2.1.3
 * Fix - Prevent error triggered while trying to refund orders

2020.10.28 - version 2.1.2
 * Tweak - Default variation selection will be synced to Facebook if the default product variation is already synced
 * Fix - Trigger a pixel Search event for product search requests with a single result (works for logged in users or visitors with an active WooCommerce session)
 * Fix - Prevent a JavaScript error on the Add New Product page when Facebook for WooCommerce is not connected to Facebook

2020.10.27 - version 2.1.1
 * Fix - Adjust code syntax that may have issued errors in installations running PHP lower than 7.3

2020.10.26 - version 2.1.0
 * Feature - Set Google category at the shop level for the Facebook catalog sync (on the product sync tab).
 * Feature - Set Google category for the Facebook catalog sync at the WooCommerce category level.
 * Feature - Set Google category for the Facebook catalog sync at the product level.
 * Feature - Set Enhanced Catalog category specific fields for the Facebook catalog sync at the WooCommerce category level.
 * Feature - Set Enhanced Catalog category specific fields for the Facebook catalog sync at the product level.

2020.10.12 - version 2.0.5
 * Tweak - Update product availability when stock changes in the store
 * Fix - Don't prevent variation products from being updated when they're set to not sync with Facebook but have their categories excluded from syncing
 * Fix - Prevent an error during the feed generation when variable products are still using deleted terms

2020.10.08 - version 2.0.4
 * Fix - Fix SQL errors triggered while trying to remove duplicate visibility meta entries from postmeta table

2020.10.02 - version 2.0.3
 * Tweak - Pixel events now can include advanced matching information
 * Fix - Send contents parameter for ViewContent event using the correct format
 * Fix - Remove duplicate visibility meta entries from postmeta table

2020.09.25 - version 2.0.2
 * Tweak - Allow simple and variable products with zero/empty price to sync to Facebook
 * Tweak - Use the bundle price for Product Bundles products with individually priced items
 * Fix - Update connection parameters to use an array to pass the Messenger domain
 * Fix - Ensure out-of-stock products are marked as such in Facebook when the feed file replacement is run
 * Fix - Address a potential error when connecting from a site whose title contains special characters

2020.08.17 - version 2.0.1
 * Fix - Ensure the configured business name is never empty when connecting to Facebook

2020.07.30 - version 2.0.0
 * Tweak - Show Facebook options for virtual products and variations
 * Tweak - Hide "Sync and show" option for virtual products and variations
 * Tweak - On upgrade, automatically set sync-enabled and visible virtual products and virtual variations to Sync and hide
 * Tweak - Allow to bulk enable sync for virtual products, but automatically set them to Sync and hide
 * Fix - Use the plugin version instead of a timestamp as the version number for enqueued scripts and stylesheets
 * Fix - Use the short description of the parent product for product variations that don't have a description or Facebook description
 * Fix - Prevent an error when YITH Booking and Appointment for WooCommerce plugin is active

2020.06.04 - version 1.11.4
 * Fix - Do not sync variations for draft variable products created by duplicating products
 * Fix - Do not log an error when the product is null on add to cart redirect

2020.05.20 - version 1.11.3
 * Tweak - Write product feed to a temporary file and rename it when done, to prevent Facebook from downloading an incomplete feed file
 * Tweak - Hide Facebook options for virtual products and virtual variations
 * Tweak - Do not allow merchant to bulk enable sync for virtual products
 * Tweak - On upgrade, automatically disable sync for virtual products and virtual variations
 * Tweak - When using checkboxes for tags, make sure the modal is displayed when trying to enable sync for a product with an excluded tag
 * Fix - Prevent tracking of a duplicated purchase event in some circumstances such as when the customer reloads the "Thank You" page after completing an order
 * Fix - Fix a JavaScript issue that was causing a notice to be displayed when bulk editing product variations

2020.05.04 - version 1.11.2
 * Misc - Add support for WooCommerce 4.1

2020.04.27 - version 1.11.1
 * Fix - Fix integration with WPML

2020.04.23 - version 1.11.0
 * Tweak - Sync products using Facebook's feed pull method
 * Fix - When filtering products by sync enabled status, make sure variable products with sync disabled status do not show up in results
 * Fix - Make sure that the Facebook sync enabled and catalog visibility columns are properly displayed on narrow screen sizes on some browsers
 * Fix - Do not show a confirmation modal when saving a variable product that was previously synced but belongs now to a term excluded from sync
 * Fix - Ensure variable products excluded from sync are not synced in Facebook
 * Fix - Trigger a modal prompt when attempting to enable sync for variations of a variable product that belongs to a term excluded from sync
 * Fix - Address potential PHP warnings in the product feed with non-standard product variations introduced by third party plugins
 * Fix - Fix a JavaScript error triggered on the settings page while trying to excluded terms from sync
 * Fix - Fix a JavaScript error triggered when saving a product and using checkboxes for tags

2020.03.17 - version 1.10.2
 * Tweak - Add a setting to easily enable debug logging
 * Tweak - Allow third party plugins and themes to track an add-to-cart event on added_to_cart JS event
 * Tweak - When excluding a product term from syncing in the plugin settings page, offer an option to hide excluded synced products from Facebook
 * Tweak - When excluding product terms from syncing in the plugin settings page, and settings are saved, exclude corresponding products from sync
 * Tweak - Improve error messages shown when a problem occurs during products sync
 * Tweak - Log Graph API communication if logging is enabled
 * Fix - When excluding a product term from syncing in the plugin settings page, ensure a modal opens to warn about possible conflicts with already synced products
 * Fix - Messenger settings fields will correctly reflect the values selected during initial setup
 * Fix - Fix a bug that caused newly added gallery images not to be synced immediately after they were added
 * Fix - Fix a bug that prevented gallery images from being removed from products on Facebook
 * Fix - Fix AddToCart Pixel event tracking when adding products from archive with AJAX and redirect to cart enabled
 * Fix - Fix undefined index and undefined property notices
 * Dev - Make Pixel script attributes and event parameters filterable

2020.03.10 - version 1.10.1
 * Fix - Prevent Fatal error during the upgrade routine introduced in version 1.10.0
 * Fix - Only load the admin settings JavaScript on the Facebook settings page to prevent conflicts with other scripts
 * Misc - Add support for WooCommerce 4.0

2020.03.03 - version 1.10.0
 * Feature - Exclude specific products, variations, product categories, and product tags from syncing to Facebook
 * Feature - Add Facebook product settings like price and description to variations
 * Feature - Revamped settings screen with on-site control over pixel, product sync, and Messenger behavior
 * Tweak - Use Action Scheduler for the daily forced re-sync, if enabled
 * Fix - Improve pixel tracking accuracy for add-to-cart events
 * Misc - Add the SkyVerge plugin framework as the plugin base
 * Misc - Require WooCommerce 3.5 and above

2019-06-27 - Version 1.9.15
* CSRF handling for Ajax calls like ajax_woo_infobanner_post_click, ajax_woo_infobanner_post_xout, ajax_fb_toggle_visibility
* use phpcs to adhere to WP coding standards
* Minor UI changes on the iFrame

2019-06-20 - Version 1.9.14
* Revisit CSRF security issue
* Remove rest controller which is not used

2019-06-18 - Version 1.9.13
* Fix security issue
* Add more contributors to the plugin

2019-05-02 - Version 1.9.12
* Remove dead code which causes exception (Issue 975)

2019-02-26 - Version 1.9.11
* changing contributor to facebook from facebook4woocommerce, so that
  woo plugin will be shown under https://profiles.wordpress.org/facebook/#content-plugins
* adding changelog in readme.txt so that notifications will be sent for updates and
  changelog will be shown under https://wordpress.org/plugins/facebook-for-woocommerce/#developers
* removing debug flags notice under facebook-for-woocommerce.php so that developers will
  be able to debug with debug logs

2019-02-11 - Version 1.9.10
* Add facebook support link, this will help merchants to reach out to facebook customer service.
* Make plugin wordpress compatible by removing woocommerce updater and removing woo_include

2018-12-30 - Version 1.9.9
* Fix issue with missing file in v1.9.8
* Remove misleading content relating to Instagram which is not launched yet.

2018-11-30 - Version 1.9.8
* Prevent Show/Hide button auto scroll.
* DIY entry field for FB product Image.
* Initial Support for Advanced Bulk Edit.
* Added Option to Use short description instead of description.
* Added checkbox for disable sync with FB for dev environment.
* Add New Advanced Option : Auto Force Resync on Schedule.
* Don't sync out of stock items to FB depending on Woo setting.
* Add custom price.
* Fix 502 Bad Gateway Error When Redirect.
* Sync composite product with calculating the price based on the price of sub-items.
* Advanced Options Toggle in Configuration Screen.

2018-11-01 - Version 1.9.7
* Support messenger chat customization dialog
* Add Copyright header.
* Fix lowercasting product description.
* Fix Connect Woo AYMT Logic Flow and improve Logging.

2018-09-21 - Version 1.9.6
* Update plugin description of new design for WooCommerce.
* Remove get_date() in Woocommerce plugin.
* Add External Action-to-Make Channel Support.

2018-08-14 - Version 1.9.5
* Fix Subscription Event Injection

2018-08-10 - Version 1.9.4
* Support Lead Gen Event - Contact Form 7
* Separate Redirect Entry Point Logging
* Fix undefined variable warnings.
* Add a Settings link to the plugin config page from the WP Plugins page.
* Adding filter to Pixel init for injection of fbq(consent, revoke) (GDPR)

2018-08-01 - Version 1.9.3
* Add Edge Cases for Integration Test.
* Fix Undefined PHP Warning.
* Add subscribe event.
* Fix Unable to Change Pixel after Setup.
* Fix Integration Test Confirmation Dialog.

2018-07-08 - Version 1.9.2
* Exclude Virtual Variation and Set Staging.
* Add Version Number for Logging.

2018-06-22 - version 1.9.1
* Fix Page Name Extra Space .
* Remove Strange Box in Design.

2018-06-15 - version 1.9.0
* Fix Performance Issue by Reusing Existing wp_query Object Contents.
* Rename Long Column Which Causes UI Issues for Users in Product Overview.
* Update Admin Notice Content.
* Fix Weird ID Error Message.
* Fix Product ID for Brand Attribute.
* Don't use Checkout URL for Unknown Product Types.
* Add Beta Integration Test for Syncing Products by Uploading Feed.
* Fix Pixel Fired on Related Products.
* Redesign Admin Panel.
* Add Integration Test Entry Point Button.

2018-05-02 - version 1.8.7
* Fix PHP Error Due to product_brand Taxonomy Not Existing

2018-04-26 - version 1.8.6
* Potential Fix for Compatibility with Enhanced ECommerce Plugin
* Reduce Fetch ID API Call for Hidden Products
* Support Product Bundles Extension
* Basic Support for WP All Import
* Fix Trashing and Deletion
* Fetch Brand and Support WooCommerce Brand Extension
* Remove warning for duplicate SKUs
* Remove upsell header on config page
* Update Info Banner Content
* Fix Warning When Deleting NON PRODUCT post
* WPML Support : Language Selector

2018-04-17 - version 1.8.5
* Fix ViewContent event incorrectly firing with content_type 'product'
* Fix product group retailer id not matching ViewContent content id.
* Added logging and defensive code to debug #348
* Warning about Cart URL changes now clears with Force Resync

2018-04-06 - version 1.8.4
* Fire AddToCart on Cart Viewed for shops which redirect to cart.
* Fix HTML AJAX comment inside script breaking HTML optimizers.
* Log product sync speed as a performance metric.

2018-03-30 - version 1.8.3
* Fix Hidden Product Showing Up in Shop after Initial Sync.
* Hiding a variable product now hides the product on FB.
* Fix Variable Subscription Products Not Syncing Variants.
* Support Default Variant in Plugin via Graph API: Create and Update.
* Set Default Variant as Default Product in Feed.

2018-03-20 - version 1.8.2
* Fix category column in feed.
* Update Force Resync to use a feed if feed was used for initial sync. (~15x faster)
* Fix all caps description products being rejected from feed.
* Fix gallery images for variable products not showing in feed.
* Fix multiple category error in feed upload.

2018-02-27 - version 1.8.1
* Fix Upgrade TagName For Beta Version

2018-02-14 - version 1.8.0
* Up to 15x Performance Improvement of Initial Product Sync by using a feed upload.
* Fix Subscription Product Bug Due to API Change.
* Fix Undefined Index Notices.
* Ensure jQuery is Loaded before Using it.
* Moved apply_filters from Constructor to wp_head Action.
* Remove Atlernative Pixel Basecode Fetching.
* [WordPress]Separate the Plugins to Different Directories

2018-02-01 - version 1.7.11
* Fix permission error due to difference in data format between graphapi and feed uploading.

2018-01-31 - version 1.7.10
* Disable Alternate Pixel Basecode fetching due to issues for some stores.
* Fix variation carry main description if variant description is empty.
* Add version check information.

2018-01-30 - version 1.7.9
* Add Filter hook for other plugins to override pixel behavior.
* Fix 500 errors when saving settings.

2018-01-25 - version 1.7.8
* Fixes WC_Facebookcommerce_Pixel reference error

2018-01-22 - version 1.7.7
* Fix purchase event not firing for Stripe.
* Fix duplicate pixel issue for Initiate Checkout and Purchase events
* Pixel basecode is fetched from Facebook when setup is completed.
* Pixel proxy endpoints added for cases where pixel script cannot be loaded.

2018-01-03 - version 1.7.6
* WordPress only plugin notice on missing Pixel ID.
* WordPress only plugin direct link to settings page from plugin page.

2018-01-11 - version 1.7.5
* Fix auto-updater to upgrade facebook-for-woocommerce only.

2018-01-05 - version 1.7.4
* Fix purchase event not firing for some payment types.
* Provide functionality to refresh API token when invalid.
* Added Quick Edit Compatibility.
* Fix Incompatibility with remove HTTP extension.
* Added Bulk Edit Compatibility.
* WPML compatibility: products in non-default language set to staging
* Add support for variable subscription products.

2017-12-13 - version 1.7.3
* Fix security hole that would allow a logged in user without
  manage_woocommerce permissions to toggle the fb_visibility of products.
* Handle shortcodes.
* Support product duplication.

2017-11-30 - version 1.7.2
* Fix issue with get_plugin_data being called before it was loaded.
* Improve perf of info dialog.
* Move class loading and DB read into admin gate to fix site slowdown.

2017-11-29 - version 1.7.0
* Enable auto-upgrading.
* Remove the extra content IDs to fix match rate issue.
* Only show 'Any' in attribute value string and show attribute name.
* Fix trash/restore products visibility on Facebook Shop.
* Fix deprecated function for variant description.
* Add hook and fix checkout url for external products.
* Clean HTML tag in product title.
* Add info dialog on WooCommerce report, settings and status page.

2017-11-03 - version 1.6.6
* Solve race condition to avoid minus remaining number in syncing process.
* Fix sync of variant product description.
* Enable line breaks in product main description.
* Enable upsell message and redirect link visible for upgrading users.
* Improve upsell message content and style.

2017-10-19 - version 1.6.5
* Fix unterminated div tag. Thanks @pwag42
* After 7 days, show a link to a new ads interface on the settings page.

2017-10-04 - version 1.6.4
* Default to variant specific image as primary image for FB.
  * Add a Checkbox to allow override to use the parent product image.
* Don't sync items which have zero price.
  * Existing 0 price items will be marked invisible after Force-Resync.
* Support Syncing Bookable Items with 'Display Cost' set.
* Fix 'Update' and 'Publish' for Bookable Items.


2017-10-03 - version 1.6.3
* Use Bookable price when regular price doesn't exist.
* Support Default Variations.
* Fix warning when generating attribute names.

2017-09-28 - version 1.6.2
* Fix "Invalid Parameter" API error caused by invalid sale dates.
* Fix variable product unable to sync gallery images.
* Cache gallery image urls for variable products to reduce DB load.
* Fix exception during generation of some ViewCategory events.

2017-09-21 - version 1.6.1
* Prevent save settings button for other WooCommerce plugins erasing FB settings.

2017-09-15 - version 1.6.0
* Support sale start and end dates
* Include tax on sale price as needed
* Fix visibility toggle on the product page
* No longer publish hidden products
* Use variable products' attribute name, instead of slug name
* Fix encoding issue in Variation names
* Resolve W3 validation error caused by pixel code
* Correctly sync variants where the attribute is not specified or set to 'any'.
* Save Changes button no longer disappears in other settings pages
* Fix a JS warning caused by ViewCategory events by switching to trackCustom
* Fix quoted strings having unneeded slashes in the FB Description
* Fix Unicode encoding in Category Names. Thanks @jancinert.

2017-09-05 - version 1.5.1
* Fix critical issue with ViewContent events not matching products.

2017-09-05 - version 1.5.0
* Added support for generic WordPress installations (without WooCommerce)
  * Added Search events
  * Setting page for Pixel ID and for enabling advanced measurement
* Use featured image as primary image for variants, and variant images as additional images.

2017-08-25 - version 1.4.6
* Fix issue where prices were rounded incorrectly

2017-08-15 - version 1.4.5
* Prevent printed output from breaking the popupOrigin
* Add composer.json file

2017-07-25 - version 1.4.4
* Remove duplicate and blank content ids in pixel fires.
* Fix warning when sale price is malformed.

2017-07-26 - version 1.4.3
* Remove search event for admin panel searches (fix JS error preventing quick edit)
* Prevent search event from firing twice
* Add categories to items
* Add re-configure button back if merchant is locked out (e.g. due to password change)

2017-06-20 - version 1.4.2
* Add custom Facebook description box
* Less yelling during product sync
* Remove deprecation warnings
* Fix RTL issue for JS loading (thanks Ariel!)
* Validate gender param to FB enum
* Fix product deletion for sub variants

2017-06-15 - version 1.4.1
* Fix OOM/whitescreen of death error (constrain product count query to IDs)

2017-06-05 - version 1.4.0
* Background sync! Products will now sync in the background if you keep your settings page open.
* Fix purchase pixel fires for product variants
* Fix state on hide/show buttons
* Fix issue with incorrect price rounding
* Delete FB metadata from product items as well as groups
* Add GPL license to repo

2017-05-30 - version 1.3.3
* Use display prices for regular prices (includes VAT if used)
* Switch from checkboxes to buttons on Products page
* Add "Reset Facebook metadata" option for merchants that duplicate products
* Add "Delete on Facebook" option for products
* Only delete products when actually deleted (vs trashed)
* Allow pixel resetting after setup completion
* Disable plugin if WP_DEBUG_DISPLAY is detected (prevent PHP notice injection)

2017-05-25 - version 1.3.2
* Allow Force Resync button to resume stalled product syncs.
* Handle WP_Error errors

2017-05-23 - version 1.3.1
* Only use checkout urls if valid cart url is detected
* Set priority and namespacing for all ajax functions
* Workaround for staticxx domain redirects

2017-05-15 - version 1.3.0
* Improve memory usage and remove OOM for large product catalogs
* Split variant methods for product groups and product items (fix mismatches)
* Make re-sync button work for updates as well as creates
* Fix issue with newly added variants breaking out of their product group
* Use default form values for variants if present
* Strip registered shortcodes from descriptions via strip_shortcodes
* Remove PHP warning about variable passed by reference
* Capture and save existing FBIDs on "Duplicate Retailer ID" error

2017-05-11 - version 1.2.6
* Remove use of post guid for product URLs

2017-05-06 - version 1.2.5
* Ajax lockdown: transmit fb-specific code and set priority on save_settings

2017-05-05 - version 1.2.4
* Fix issue with pixel selection step freezing due to missing site url.

2017-05-04 - version 1.2.3
* Workaround for servers that send additional characters on ajax responses

2017-05-02 - version 1.2.2
* Fix issues with non-english variant labels
* Support gallery image urls

2017-05-02 - version 1.2.1
* Use wc_get_cart_url to support custom cart URLs
* Fix logging bug for users without manage_woocommerce attempting to set up

2017-04-27 - version 1.2.0
* Allow regular admins with manage_woocommerce permission to use plugin
* Lock settings during product sync
* Do not allow product sync during an existing product sync
* Validate catalog ID before product sync
* Fix issue with resync products button
* Fix issue with plugin breaking product search

2017-04-25 - version 1.1.0
* Support duplicate SKUs via better retailer ID logic
* Add "resync products" button
* Update FB logging to support objects as well as strings
* Add support for regular and sale pricing

2017-04-20 - version 1.0.3
* Remove delete button (use Advanced Settings tab instead)
* Cleaned up admin messages, prepended them with "Facebook for WooCommerce"

2017-04-13 - version 1.0.2
* Remove Save Settings button when not in debug mode

2017-04-11 - version 1.0.1
* Prevent blank item descriptions
* Update copy on setup page
* Sanitize settings before sending via fblog
* Show better warnings for duplicate SKUs

2017-04-10 - version 1.0.0
 * First release! Woo!

2017-04-09 - version 0.8.0
 * Include status messages during background sync
 * Fix several PHP warnings and various WooCommerce 3.0 compatibility issues

2017-04-07 - version 0.7.2
 * Fix issue where products were not being created due to blank descriptions

2017-04-04 - version 0.7.1
 * Clean up output for checkboxes via printf
 * Bug fixes and performance improvements

2017-04-03 - version 0.7.0
 * Add new product visibility checkbox toggle for Facebook Shops on Product list
 * Official rename: Facebook for WooCommerce

2017-03-30 - version 0.6.0
 * Revert back to minor revisions for versioning
 * Add ability to reset all settings to start over

2017-03-20 - version 0.0.5
 * Fix "Get Started" button bug
 * Fix issue preventing "Use Advanced Matching" setting from properly saving
 * Various security fixes

2017-03-01 - version 0.0.4

 * Add Facebook metabox on product page with products' FB ID and a Visibility toggle (publish/unpublish).

2017-02-15 - version 0.0.3

 * Add a change log!
 * Modify plugin to check for both local and network installs of WooCommerce.
 * Disable plugin hooks that were triggering before setup was complete.
 * Escape HTML tags in product descriptions.
 * Use attribute label name instead of first-letter-capitalized slug.

2017-02-02 - version 0.0.2

 * Fix breaking when debug mode is disabled (null check in facebook-settings.js)
