*** Facebook for WooCommerce Changelog ***

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)
