*** Meta for WooCommerce Changelog ***

= 3.5.18 - 2026-02-24 =
* Fix - Fix/collection page batch2 by @vahidkay-meta in #3863
* Dev - Dev - break down e2e tests and automate supported version bumpup by @vahidkay-meta in #3856
* Fix - Fix Google Product Category dropdowns not rendering on product pages by @rafael-curran in #3866
* Add - [Rebranding]Update all references of Facebook for WooCommerce to Meta for WooCommerce by @sharunaanandraj in #3865

= 3.5.17 - 2026-02-17 =
* Fix - Fix - Removed the prefix from retailer id. by @vahidkay-meta in #3858
* Add - [WooCommernce] [Rich Order] Add rich-order payload gating and simplify per-item amount for events. by @ashutoshbondre in #3848
* Add - Fix pixel event tracking by isolating JS execution context by @cshing-meta in #3835
* Dev - Tweak - Broke down integration tests to run with PHP7.4 & PHP8.4 by @vahidkay-meta in #3855
* Fix - Tweak - Added logging to detect if we can reliably use fbcollection by @vahidkay-meta in #3854
* Fix - Fix duplicate CAPI Purchase events during checkout process by @cshing-meta in #3850
* Tweak - Optimize Release process, automate marketplace artifact verification by @vahidkay-meta in #3846
* Fix - Fix performance issue: Cache background sync job queries and skip on … by @devbodaghe in #3823
* Fix - Fix test with accurate retailer ID by @jarretth in #3852
* Fix - Pin Polylang version for PHP 7.4 in CI by @jarretth in #3851
* Tweak - Update parambuilder server version to 1.2.1 by @jarretth in #3844

= 3.5.16 - 2026-02-03 =
* Fix - Fix/collection page bugs - Batch 1 by @vahidkay-meta in #3837
* Fix - Fixed composer autoload warnings. also fixed a bug regarding fbcollection page registration. by @vahidkay-meta in #3834
* Fix - Replace deprecated wc_enqueue_js with wp_add_inline_script by @ukilla in #3836
* Dev - fix unsafe domain check warning on capture.js by @ashiqursuperfly in #3829
* Tweak - fix: recursion call bug by @rithikb24 in #3824
* Dev - retry adding helpers/js/facebook by @ashiqursuperfly in #3831
* Dev - organize E2E test helpers by @ashiqursuperfly in #3821
* Update - update parambuiler library to 1.2.0 by @chc421 in #3825
* Fix - Fix TypeError: array_map(): Argument #2 must be of type array, string given in fbproduct.php:1775 by @ashiqursuperfly in #3822
* Add - fix for unused variable by @rithikb24 in #3776
* Tweak - Restrict E2E tests to facebook repo and add daily schedule (#3799) by @jarretth in #3800
* Tweak - Add param_builder_server_setup test (#3790) by @jarretth in #3795
* Dev - add additional unit tests for facebook-commerce.php by @ashiqursuperfly in #3815
* Add - Add unit tests for Admin.php and WCFacebookProductFeedTest.php by @immadhavv in #3816
* Add - Added unit tests for Feed, Products , WC_Facebookcommerce_EventsTracker by @immadhavv in #3813
* Dev - make exactSearchSelect2Container E2E test helper more robust by @ashiqursuperfly in #3809
* Add - Added User consent check for events tracking test by @immadhavv in #3789
* Dev - remove tests.describe.serial by @ashiqursuperfly in #3788
* Add - Add test to check plugin compatibility with other major plugins by @immadhavv in #3785
* Dev - add E2E test for product attribute mapping and syncing by @ashiqursuperfly in #3784
* Dev - Catalog rotation by @ashiqursuperfly in #3781
* Add - DevmateWooCommerceGenerateTests: Add tests for facebook-commerce-events-tracker.php by @immadhavv in #3783
* Fix - Fix bug - Remove "Delete all products" button as it calls an unimplemented method by @immadhavv in #3782
* Add - Plugin level e2e tests remaining by @immadhavv in #3780
* Add - Add workflow to auto-label internal PRs by @immadhavv in #3769
* Add - e2e test for csv import update by @rithikb24 in #3762
* Dev - fix batch api E2E test category leak bug by @ashiqursuperfly in #3763
* Add - Adding Profit Margin signal to AddToCart and Purchase events by @vahidkay-meta in #3730
* Dev - add E2E test for product sync batch api monitoring  by @ashiqursuperfly in #3760
* Add - Catalog api e2e tests plugin level by @immadhavv in #3761
* Dev - add E2E test to create product from feed file by @ashiqursuperfly in #3754
* Add - CAPI/Pixel e2e tests added for remaining events, framework updated. by @immadhavv in #3755
* Tweak - standarize tests by @rithikb24 in #3745
* Dev - add E2E tests to verify category/product_set update and delete by @ashiqursuperfly in #3744
* Dev - add E2E test for product set creation by @ashiqursuperfly in #3740

= 3.5.15 - 2025-12-05 =
* Add - Adding Language Override Feeds for Products by @rafael-curran in #3713
* Add - Automated CAPI/Pixel E2E testing by @immadhavv in #3738
* Dev - set unique SKU for composite product E2E test by @ashiqursuperfly in #3741
* Add - continue on error temporarily for e2e tests by @immadhavv in #3742
* Dev - add E2E test for composite product creation by @ashiqursuperfly in #3734
* Dev - Add E2E tests for product sync exclusion by @ashiqursuperfly in #3732
* Dev - Add E2E test for managing product stock by @ashiqursuperfly in #3731
* Dev - misc improvements to playwright test suite by @ashiqursuperfly in #3723
* Add - add e2e test by @chc421 in #3722
* Add - Feature/Purchase use order currency by @ukilla in #3720
* Dev - add E2E test editing variable product FB options by @ashiqursuperfly in #3719
* Dev - Add E2E test for simple product FB options edit flow by @ashiqursuperfly in #3709
* Add - Request unit test by @chc421 in #3702
* Add - Feature/add fb video by @devbodaghe in #3657
* Add - [Code Cleanup] Remove WhatsApp Integration Alpha PHP Code by @woo-ardsouza in #3708
* Dev - Add E2E test for simple and variable product delete flow by @ashiqursuperfly in #3705
* Dev - add E2E test for variable product edit flow by @ashiqursuperfly in #3699
* Add - Remove WooCommerce call to Message Events Post API by @woo-ardsouza in #3704
* Add - quick edit testing by @rithikb24 in #3701
* Add - [WIFI][Customer Events] Support additional order statuses by @woo-ardsouza in #3700

= 3.5.14 - 2025-11-19 =
* Tweak - Adjust ParamBuilder to pixel integration

= 3.5.13 - 2025-11-10 =
* Fix - [Woo-Alpha][Deprecate][1/n] Remove WhatsApp Webhook from Woo by @sharunaanandraj in #3693
* Dev - Enhance E2E testing infrastructure for WooCommerce product workflows and add tests for product modification/edit flow by @ashiqursuperfly in #3692
* Fix - Fix: Prevent integer overflow in Facebook product IDs by @sol-loup in #3688
* Add - Feature/ Update Integration Config Endpoint by @olu-meta in #3665
* Add - feat: logging plugin versions for better tracking by @rithikb24 in #3677
* Fix - Fix: CRON error calling is_master_sync_on() on null plugin_render_han… by @devbodaghe in #3676
* Fix - removing external-time from feed job by @rithikb24 in #3673
* Fix - Fix click_id API validation error by @devbodaghe in #3668
* Fix - Update checkout page to prevent lazy loading plugin interference by @carterbuce in #3664
* Fix - Fix/Optimize is wp com detection by @ukilla in #3661

= 3.5.12 - 2025-10-20 =
* Fix - Fix click_id API validation error by @devbodaghe in #3668
* Add - Promo Banner for WhatsApp Utility by @woo-ardsouza in #3660
* Add - Pb fix option 3 by @chc421 in #3617
* Fix - Fix: Facebook product videos and attributes not saving by @devbodaghe in #3655
* Tweak - feat: reducing promotions feed overhead by @rithikb24 in #3654
* Fix - Updated the ajax calls to check if the caller is a legit user by @vahidkay-meta in #3647
* Add - feat: making product update sync to fb async by @rithikb24 in #3645
* Dev - Fix/automate stable version prep release by @vahidkay-meta in #3646
* Fix - Stale pixel fix by @jczhuoMeta in #3640

= 3.5.10 - 2025-10-14 =
* Add - Promo Banner for WhatsApp Utility by @woo-ardsouza in #3660
* Add - Pb fix option 3 by @chc421 in #3617
* Fix - Fix: Facebook product videos and attributes not saving by @devbodaghe in #3655
* Tweak - feat: reducing promotions feed overhead by @rithikb24 in #3654
* Fix - Updated the ajax calls to check if the caller is a legit user by @vahidkay-meta in #3647
* Add - feat: making product update sync to fb async by @rithikb24 in #3645
* Dev - Fix/automate stable version prep release by @vahidkay-meta in #3646
* Fix - Stale pixel fix by @jczhuoMeta in #3640

= 3.5.9 - 2025-09-30 =
* Tweak - Focus admin user check on order creation capabilities by @iodic in #3643
* Fix - Added code to exclude purchases registered by the admin user by @vahidkay-meta in #3641
* Add - [WIFI][EZ] Localization Fix on WhatsApp Splash page by @sharunaanandraj in #3642
* Tweak - Removed get_product_fbid graph api functionality by @vinkmeta in #3624
* Dev - Plugin availability logging by @rafael-curran in #3637
* Add - Added complete e2e tests automation framework by @immadhavv in #3634
* Fix - Fix/issue with set stable tag by @vahidkay-meta in #3636
* Fix - Removed the new changes by @vahidkay-meta in #3635
* Tweak - Removed API call to delete products by @vinkmeta in #3623
* Tweak - Cleanup deprecated product delete functionality by @vinkmeta in #3622
* Fix - [EZ] Error Message for Customer Events API call by @woo-ardsouza in #3630

= 3.5.8 - 2025-09-23 =
* Add - Add on-hold and pending as valid purchase order states by @ukilla in #3629
* Fix - Added a check for the # of posts found with a query by @vahidkay-meta in #3606
* Add - changelog: add parambuilder by @chc421 in #3549
* Tweak - Removing unnecessary banner for every item publish by @vinkmeta in #3620
* Fix - Fix - PHP 8.2 string interpolation warning by @ukilla in #3626
* Fix - [WIFI][EZ]Update switch from only dogfooding GK to one combined with prod GK by @sharunaanandraj in #3627
* Tweak - Deprecated product group update functionality by @vinkmeta in #3619
* Tweak - Removed Graph API product delete functionality by @vinkmeta in #3621
* Add - [WIFI]Return Error Banner if Iframe Management Url Fetching Fails by @sharunaanandraj in #3618
* Add - Changes to support Order Placed by @woo-ardsouza in #3615
* Add - Woo Changes to support Order Refunded by @woo-ardsouza in #3614
* Fix - Remediate privacy vulnerability due to lack of nonce check by @guansu-meta in #3610
* Add - WooCommerce Changes to call Customer Events Endpoint for Order Fulfilled by @woo-ardsouza in #3611
* Add - [WIFI]Add Logs for WooCommerce WhatsApp Iframe Infra to Help with Debugging by @sharunaanandraj in #3612
* Fix - [WIFI][EZ] Fix Iframe Management Url Stefi API Call by @sharunaanandraj in #3608
* Fix - [WIFI][80/n][EZ]Fix Resize issue by listening to WA specific Resize PostMessage by @sharunaanandraj in #3607
* Fix - Feat/stock update fix by @rithikb24 in #3602
* Add - [EZ][WIFI][56/n] Fix CSS in Iframe for whatsapp integration by @sharunaanandraj in #3599
* Fix - Rollout Switch Test for cache update on version upgrade by @rithikb24 in #3601
* Add - [WIFI][51/n]Add Support to receive WA Disconnect message to delete settings in Woo DB by @sharunaanandraj in #3598
* Fix - [WooCommerce] Fix selected category values bug after a new category is created by @Rebeca-Reis in #3597
* Add - [WIFI][49/n]Add admin banner to Whatsapp Utility Page by @sharunaanandraj in #3596
* Fix - fix: category name by @rithikb24 in #3590
* Add - Feat/csv reupload changes by @rithikb24 in #3585
* Fix - Adding back set-stable-tag workflow by @vahidkay-meta in #3594
* Add - fix: rollout-switch-transient-flag by @rithikb24 in #3595
* Add - [WIFI][45/n] Add changes to receive Resizing postMessage and update the Whatsapp iframe by @sharunaanandraj in #3592
* Add - integrate last change time into external_update_time calculation by @rithikb24 in #3577
* Add - add product meta change time update handler by @rithikb24 in #3576
* Add - main decision function based on meta key & product validation by @rithikb24 in #3575
* Add - add helper functions for tracking product meta change times & rate limit them (#3571) by @rithikb24 in #3578
* Add - changelog: add parambuilder by @chc421 in #3549
* Fix - Fix unit tests failing silently by @immadhavv in #3587
* Add - [WIFI][43/n][EZ] Polish UI for Whatsapp Utility Message Iframe Beta by @sharunaanandraj in #3591
* Add - [WIFI][37/n]Minor changes to move to new 2P app ID and allow WA Installation Creation by @sharunaanandraj in #3586

= 3.5.7 - 2025-09-02 =
* Add - DO change: Add route & feed column by @unnivgit in #3580
* Fix - removing set stable tag to unblock release for now by @immadhavv in #3584
* Fix - Fixed syncing of excluded product categories and tags info by @vinkmeta in #3582
* Add - feat: quick edit syncing by @rithikb24 in #3557
* Add - [WIFI]30/n]Fetch the iframe management url through the Stefi API by @sharunaanandraj in #3569
* Add - changelog: add referrer url by @chc421 in #3545
* Fix - Fix sale price higher than fb price by @guansu-meta in #3567
* Add - [WIFI][26/n]Add Listener and update Whatsapp Settings in DB after onboarding by @sharunaanandraj in #3568
* Add - [WIFI][25/n]Add scaffolding Iframe Integration in the Whatsapp Tab by @sharunaanandraj in #3566
* Add - [WIFI][1/n] Add Scaffolding WhatsApp Page under Marketing for WAUM Beta Experience by @sharunaanandraj in #3564
* Dev - cleanup: remove dead code for product sets sync rollout switch by @devbodaghe in #3560
* Add - Automatically set last release from release-plugin workflow as latest by @immadhavv in #3552
* Add - Run unit tests with coverage and compare against threshold by @immadhavv in #3553

= 3.5.6 - 2025-08-18 =
* Fix - Improving website prformance by reducing frequency of heavy queries by @vinkmeta in #3556
* Dev - chore: add multiple images functionality tests with rollout switch in… by @devbodaghe in #3554
* Update - Enable Offer Management APIs + Tweaks by @mradmeta in #3548
* Add - Add Rollout Switches for Gating Multiple Variants by @devbodaghe in #3551
* Add - Feature/multiple images for variants by @devbodaghe in #3543
* Fix - Fix product set banner reappearance after dismissal  by @mshymon in #3547
* Fix - Remove unnecessary logging for product attribute mapper attributes by @devbodaghe in #3546
* Update - Deprecate FB Product Sets tab and migrate legacy product sets by @mshymon in #3534
* Add - Automated secondary QA test to compare artifact from prepare-release and marketplace version by @immadhavv in #3544
* Fix - Fix: Disable dropdown fields when 'Do not sync' is selected by @devbodaghe in #3541
* Fix - Show Facebook Product Video field for variable products by @ukilla in #3542
* Fix - Fix bug in plugin version upgrade/downgrade logic in Lifecycle by @mshymon in #3539
* Add - Run e2e tests on marketplace release of the plugin by @immadhavv in #3535
* Fix - Fix/prevent woocommerce attribute summaries in facebook short descriptions by @devbodaghe in #3531

= 3.5.5 - 2025-07-23 =
* Fix - Updated the links to Meta Support by @vahidkay-meta in #3523
* Fix - Improving AAM settings params being captured + Purchase events captured by Pixel by @vahidkay-meta in #3512
* Fix - Prevent cleanupAllUIElements from resetting selects with one option to maintain Composite Products compatibility by @ukilla in #3515
* Tweak - Updated the agent string to be more accurate by @vahidkay-meta in #3514
* Fix - Add surface catalog id display with link to commerce manager in produ… by @devbodaghe in #3517
* Fix - Restrict Facebook banner to only show on attributes page and Facebook settings page by @devbodaghe in #3516
* Fix - [WAUM] Add country_code to Message Events API by @woo-ardsouza in #3510
* Fix - Updating promotions feed upload utils tests to fix failure by @nrostrow-meta in #3511
* Update - Update Node.js & NPM versions used in the plugin by @iodic in #3361
* Fix - Adding better queries for Filters & removing variant dependencies by @SayanPandey in #3496
* Add - [facebook-for-woocommerce][PR] Add default brand name in Facebook tab by @Rebeca-Reis in #3505
* Fix - Updated logger for JsonFeedFileWriter by @vinkmeta in #3503
* Fix - Migrated Handler exceptions to centralisedLogger by @vinkmeta in #3498
* Fix - Migrated Abstract Feed Meta loggers to centralised Logger by @vinkmeta in #3499
* Fix - Moved AbstractFeedFileWriter Meta logs to centralised logger by @vinkmeta in #3500
* Fix - Migrated CsvFeedFileWriter logs by @vinkmeta in #3501
* Fix - Updated FeedUploadUtils loggers by @vinkmeta in #3502
* Fix - Added support for exceptions in Logger by @vinkmeta in #3497
* Fix - Fix UTF-8 character encoding in normalization method by @devbodaghe in #3495
* Fix - Fixes add new attribute mapping row selection by @yuriferretti in #3490
* Tweak - Remove tax attribute mapping option by @juan-goncalves in #3488
* Fix - Rolling back out of stock change by @SayanPandey in #3492
* Tweak - [BUG] fix: Product description is a different font size from the rest of the fields on the fb product page  by @mangalutsav in #3493
* Fix - [Bug] fix: 'Facebook Product Video' field placement by @sarthakpandeymeta in #3491
* Fix - Adding visibility hidden check for out of stock products by @SayanPandey in #3489
* Fix - Fix exclude_sale_price Value Type in Discount Syncing by @mradmeta in #3487
* Dev - Create unit tests for ./Framework/Plugin/Dependancies.php by @ajello-meta in #3485
* Dev - Create unit tests for ./Framework/Plugin/Compatibility.php by @ajello-meta in #3484
* Dev - Create unit tests for ./Framework/Api/JSONResponse.php by @ajello-meta in #3481
* Dev - Create unit tests for ./Framework/Api/Request.php by @ajello-meta in #3479
* Dev - Improve unit tests for ./Admin/Settings_Screens/Shops.php by @ajello-meta in #3477
* Dev - Create unit tests for ./Framework/Api/Response.php by @ajello-meta in #3480
* Dev - Create unit tests for ./Admin/Abstract_Settings_Screen.php by @ajello-meta in #3478
* Dev - Improve unit tests for ./Admin/Settings_Screens/Connection.php by @ajello-meta in #3476
* Add - Validate PR has single changelog label by @tzahgr in #3470
* Add - Set stable tag manual workflow by @tzahgr in #3454

= 3.5.4 - 2025-06-25 =
* Add - Enhanced product attribute mapping system with improved support for custom fields and value normalization by @devbodaghe in #3234
* Fix - Single batch call for bulk edit by @SayanPandey in #3352
* Tweak - Redundant api calls reduction by @SayanPandey in #3356
* Fix - Whatsapp consent checkbox enable for classic checkout by @sharunaanandraj in #3451
* Add - Unit tests for FeedConfigurationDetection class by @sol-loup in #3450
* Add - Unit tests for DebugTools class by @sol-loup in #3448
* Add - Unit tests for AdminMessageHandler class by @sol-loup in #3447
* Add - Unit tests for Enhanced_Catalog_Attribute_Fields class by @sol-loup in #3449
* Add - Comprehensive unit tests for Google_Product_Category_Field class to improve code coverage by @sol-loup in #3446
* Add - Comprehensive unit tests for Product_Categories class to improve code coverage by @sol-loup in #3426
* Add - Unit tests for ProductCatalog ProductSets Delete Request class by @sol-loup in #3417
* Add - Comprehensive unit tests for Request_Limit_Reached exception to improve code coverage by @sol-loup in #3427
* Add - Comprehensive unit tests for WC_Facebookcommerce_WarmConfig to improve code coverage by @sol-loup in #3424
* Add - Comprehensive unit tests for Commerce class to improve code coverage by @sol-loup in #3425
* Add - Unit tests for SettingsMoved note class to improve code coverage by @sol-loup in #3428
* Add - Comprehensive unit tests for ProfilingLoggerProcess to improve code coverage by @sol-loup in #3412
* Fix - Logs for excluded categories and tags by @SayanPandey in #3445
* Fix - Age group normalisation error and updating supported FB fields for age group by @devbodaghe in #3460

= 3.5.3 - 2025-06-17 =
*   Tweak - Add comprehensive unit tests for Locale class by @sol-loup in #3362
*   Tweak - Add unit tests for Idempotent_Request trait by @sol-loup in #3380
*   Tweak - Add comprehensive unit tests for MetaLog Response by @sol-loup in #3376
*   Tweak - Add comprehensive unit tests for ProductSets Delete Response class by @sol-loup in #3398
*   Fix - Since tags by @sol-loup in #3397
*   Tweak - Add comprehensive unit tests for Pages Read Response by @sol-loup in #3378
*   Tweak - Add comprehensive unit tests for User Response to improve code coverage by @sol-loup in #3377
*   Fix - Linter errors for ./includes/fbproductfeed.php by @ajello-meta in #3396
*   Tweak - Add unit tests for Events AAMSettings class by @sol-loup in #3369
*   Tweak - Improve CAPI event handling & add logging for Purchase events by @iodic in #3360
*   Fix - Adding links to the updated banner by @SayanPandey in #3388
*   Fix - Removing deprecated tag from Product Sync tab by @SayanPandey in #3387
*   Fix - Transmit opted_out_woo_all_products timestamp by @vinkmeta in #3386
*   Tweak - Product sync tab deprecation using Rollout Switches by @SayanPandey in #3364
*   Tweak - Excluded categories and tags from Rollout Switches by @SayanPandey in #3382
*   Tweak - Add unit tests for ProductExcludedException and ProductInvalidException by @sol-loup in #3357
*   Tweak - Global sync check for Rollout Switches by @SayanPandey in #3367
*   Fix - Limiting BatchLogHandler processing for performance reasons by @vinkmeta in #3381
*   Tweak - Add unit tests for Framework Api Exception class by @sol-loup in #3370
*   Tweak - Add unit tests for Framework Plugin Exception class by @sol-loup in #3371
*   Fix - Updated since tags across a few files by @sol-loup in #3374
*   Fix - Deprecated the concept of tip info by @vinkmeta in #3373
*   Fix - Removed instance of deprecated logger by @vinkmeta in #3372
*   Fix - the process to share ExternalVersionUpdate with Meta by @vinkmeta in #3365
*   Fix - Failing tests by @vinkmeta in #3366
*   Fix - Deprecated legacy logging apis by @vinkmeta in #3351
*   Fix - Issue with productSetSyncTest causing warnings during PHPUnit by @sol-loup in #3355
*   Tweak - Add comprehensive unit tests for Events\Normalizer class by @sol-loup in #3359
*   Tweak - Add unit tests for API Response classes to improve code coverage by @sol-loup in #3358
*   Fix - Deprecated the concept of fblog by @vinkmeta in #3354
*   Fix - Deprecated tool tip event concepts by @vinkmeta in #3349
*   Fix - Removed unnecessary logs being sent to Meta servers by @vinkmeta in #3347
*   Fix - Clean up info Banner releated class and components by @vinkmeta in #3348
*   Fix - Sending backgroung syncing jobs action logs to Meta by @vinkmeta in #3346
*   Fix - Tracking error messages being displayed to Admins by @vinkmeta in #3345
*   Tweak - Workflow for Releasing Plugin by @tzahgr in #3309
*   Fix - Deleted wp_ajax_ajax_sync_all_fb_products action by @vinkmeta in #3343
*   Fix - Deprecated log_with_debug_mode_enabled by @vinkmeta in #3342
*   Fix - Removed unnecessary logs by @vinkmeta in #3341
*   Fix - removing duplicate logging by @vinkmeta in #3337
*   Fix - Updated exception logs to centralized logger by @vinkmeta in #3338
*   Fix - Migrated Feed Logger by @vinkmeta in #3340
*   Fix - Deprecated log_to_meta functionality by @vinkmeta in #3336
*   Fix - Enabled fbproduct for code sniffing in #3328
*   Fix - Enabled phpcs for plugin banners by @vinkmeta in #3332
*   Fix - Updated loggers for Feeds by @vinkmeta in #3335
*   Fix - Updated loggers for checkout flow by @vinkmeta in #3334
*   Fix - Logging background product syncing debug logs by @vinkmeta in #3329
*   Fix - Enabled Pixel Normalizer for CS by @vinkmeta in #3333
*   Fix - Update to Feed Loggers by @vinkmeta in #3330
*   Fix - Debug logs for background product syncing by @vinkmeta in #3327
*   Add - Sync all products if user has opted-in for Woo All Products by @SayanPandey in #3281
*   Fix - PHPUnit warnings by renaming test files to match their class names by @sol-loup in #3311
*   Tweak - Removing exclusion of sync of excluded categories and tags by @SayanPandey in #3244
*   Fix - Lints and phpcs issues with fbproduct by @vinkmeta in #3324
*   Fix - Code sniffing fixes for fbproduct by @vinkmeta in #3323
*   Fix - Migrated Product Feed Progress Logging Mechanism by @vinkmeta in #3321
*   Fix - Added critical log when user attempting non-permissible actions by @vinkmeta in #3322
*   Fix - Handling edge case with BatchLogHandler in #3320
*   Fix - Product Group Logging by @vinkmeta in #3317
*   Fix - PHPCBF for fbproduct by @vinkmeta in #3319
*   Fix - Linting for WC_Facebookcommerce_Background_Process by @vinkmeta in #3318
*   Tweak - Adding tags on excluded categories and tags by @SayanPandey in #3308
*   Tweak - Removing unnecessary modal for excluded categories by @SayanPandey in #3307
*   Tweak - Removing delete on stock check by @SayanPandey in #3306
*   Add - Showing a banner to the user about the changes by @SayanPandey in #3256
*   Fix - Updated location for Product Feeds by @vinkmeta in #3316
*   Tweak - Removing internal wiki links by @vinkmeta in #3315
*   Add - Introducing a centralized logger by @vinkmeta in #3313
*   Fix - Update ratings and reviews query logic and fix tests by @nrostrow-meta in #3312
*   Fix - Restoring the product sync tagging with integers by @SayanPandey in #3305
*   Tweak - Removing Enable Sync checkbox by @SayanPandey in #3241
*   Fix - Flush rewrite rules to ensure /fb-checkout endpoint is working correctly by @ajello-meta in #3301
*   Tweak - Deprecating Product Sync tab by @SayanPandey in #3273
*   Tweak - Updated GitHub PR template by @vinkmeta in #3304
*   Fix - Changed json_encode to wp_json_encode to avoid phpcs issues by @vinkmeta in #3303
*   Fix - Replaced json_encode with wp_json_encode by @vinkmeta in #3276
*   Fix - Linting issues resolved for includes/ProductSets/Sync.phpby @sol-loup in #3188
*   Fix - Linting issues resolved for includes/Utilities/Background_Remove_Duplicate_Visibility_Meta.php by @sol-loup in #3187
*   Fix - Linting issues resolved for includes/Events/Event.php by @sol-loup in #3189
*   Tweak - Enable Video sync at Variable Product Level by @gurtejrehal in #3291
*   Fix - Revert #3295 by @vinkmeta in #3299

= 3.5.2 - 2025-06-04 =
*  Tweak - Update ALL_PRODUCTS_PLUGIN_VERSION to 3.5.3 @tzahgr

= 3.5.0 - 2025-05-28 =
*  Add - Create basic checkout permalink w/ products and coupon support by @ajello-meta in #2887
*  Add - Common Feed Upload Framework by @jmencab in #2875
*  Fix - Fix bug where templates were not loading correctly by @ajello-meta in #2915
*  Tweak - Change MICE to use base site url instead of shop url by @carterbuce in #2934
*  Tweak - Improve custom checkout UI by @ajello-meta in #2930
*  Tweak - Make custom checkout UI mobile compatible by @ajello-meta in #2942
*  Fix - Update parsing for Checkout URL Product IDs by @carterbuce in #2935
*  Add - Implement dummy logging util by @nealweiMeta in #2920
*  Add - Setup cron job for batch logging with global message queue by @nealweiMeta in #2924
*  Add - Error log request api activate by @nealweiMeta in #2933
*  Add - Log locally with debug mode enabled by @nealweiMeta in #2939
*  Add - Ratings and reviews feed upload by @nrostrow-meta in #2937
*  Tweak - Feed upload skip logic and logging calls by @nrostrow-meta in #2964
*  Add - Add function to fetch feed upload instance by @nrostrow-meta in #2970
*  Tweak - Have feed uploads always use feed generator by @nrostrow-meta in #2971
*  Tweak - Trigger metadata feed uploads on CPI ID change (post onboarding) by @nrostrow-meta in #2995
*  Add - Shipping profile feed upload button by @nrostrow-meta in #3140
*  Add - Navigation menu feed upload logic by @nrostrow-meta in #3159
*  Fix - Fixing some fclose and logging gaps in the feed upload logic by @nrostrow-meta in #3192
*  Add - Enabling navigation menu feed upload and adding manual sync button by @nrostrow-meta in #3223
*  Add - Promotions feed upload by @carterbuce in #2941
*  Add - Plugin AJAX API Framework by @sol-loup in #2928
*  Tweak - Test Infrastructure Enhancement by @sol-loup in #2944
*  Add - Implement telemetry logs api by @nealweiMeta in #2940
*  Fix -  Make error logging event configurable by @nealweiMeta in #2954
*  Add - Implement logging toggle by @nealweiMeta in #2959
*  Fix - auto products sync by @nealweiMeta in #2978
*  Tweak - Sync products with restriction by @nealweiMeta in #2983
*  Fix - Fix use_enhanced_onboarding for legacy connections by @carterbuce in #2986
*  Add - Create enhanced settings UI by @ajello-meta in #2968
*  Add - Create new troubleshooting drawer from legacy debug settings by @ajello-meta in #2977
*  Add - Add manual product and coupon sync buttons by @ajello-meta in #2984
*  Tweak - Make page title in enhanced settings static by @ajello-meta in #2985
*  Tweak - Align finalized content for logging toggle by @nealweiMeta in #2992
*  Tweak - Improve local log by @nealweiMeta in #3009
*  Fix - Fix free shipping coupon sync by @carterbuce in #2993
*  Tweak - Add logging for feed generation scheduling failure by @carterbuce in #2994
*  Tweak - Add logging in checkout for coupon code by @ajello-meta in #2991
*  Tweak - Clean up CSS in enhanced settings UI by @ajello-meta in #2996
*  Tweak - Remove the "Advertise" tab by @ajello-meta in #3024
*  Tweak - Sync "Usage Count" in Promos Feed by @carterbuce in #3036
*  Tweak - Disable mini_shops product capability for unsupported items by @carterbuce in #3084
*  Add - Add usage logging for enhanced settings tabs by @ajello-meta in #3202
*  Tweak - Remove UI of a checkbox that controls enablement of the new style feed generation by @mshymon in #3056
*  Fix - Fix linter errors for ./includes/fbutils.php files by @ajello-meta in #3075
*  Tweak - Removing Variant Level Sync by @SayanPandey in #2931
*  Tweak - Removed concept of Product Group Deletion from the plugin by @vinkmeta in #3062
*  Tweak - Tagging woo all products using a flag by @SayanPandey in #3165
*  Add - A simple column for Woo All Products sync in feed file by @SayanPandey in #3197
*  Tweak - Preparation for migrating Batch API to Graph API by @vinkmeta in #3203
*  Tweak Block Product Group Creation for Simple Products by @vinkmeta in #3204
*  Fix - Removed html tags from product set description by @mshymon in #3230
*  Fix - Fix for the rollout Switches by @vinkmeta in #3236
*  Add - Opt out sync experience. by @SayanPandey in #3220
*  Fix - Added a transient flag to avoid flooding of product set api requests by @vinkmeta in #3245
*  Fix - Additional check for the opt-out banner by @SayanPandey in #3259
*  Fix - Bump up GraphAPI version to 21 by @vahidkay-meta in #3219
*  Fix - fix linter errors for ./class-wc-facebookcommerce.php by @ajello-meta in #3255
*  Fix - fix linter errors for ./facebook-commerce-events-tracker.php by @ajello-meta in #3254
*  Fix - fix linter errors for ./includes/Admin/Settings_Screens/Advertise.php by @ajello-meta in #3237
*  Fix - fix linter errors for ./includes/Admin/Settings_Screens/Product_Sync.php by @ajello-meta in #3239
*  Fix - fix function return typing for get_settings() by @ajello-meta in #3257
*  Tweak - Addition check for opt out by @SayanPandey in #3259
*  Tweak - Update the GraphAPI version to 21 by @vahidkay-meta in #3219
*  Fix - Enabled rollout switch only for plugin admins by @vinkmeta in #3242
*  Add - reset connection functionality by @jczhuoMeta in #3262
*  Fix - fixing the non static method called as static issue by @SayanPandey in #3263
*  Fix - Fix linter errors for ./facebook-commerce.php by @ajello-meta in #3251
*  Fix - updating banners to show the latest version as 3.5.1 by @SayanPandey in #3265
*  Tweak - enforced product sets functionality for plugin admins by @vinkmeta in #3243
*  Tweak - removing the product set functionality migration to Admin by @vinkmeta in #3267
*  Tweak - removing the migration of rollout switch to Admin by @vinkmeta in #3268
*  Fix - fix to remove html encoding in fb product sets names by @mshymon in #3266
*  Add - trigger product sets sync in Handler on catalog ID update (new SAOff MBE onboarding flow) by @mshymon in #3270
*  Fix - fix linter errors for ./facebook-commerce-pixel-event.php by @ajello-meta in #3248
*  Fix - fix /variation field persistence & rich text description handling for variants by @devbodaghe in #3269
*  Tweak - update product validation logic for checkout by @ajello-meta in #3271
*  Fix - Adding precautionary bug fix by @SayanPandey in #3275
*  Add - Added Loading States to WAUM flows by @woo-ardsouza in #3272
*  Add - Add logging for coupon in checkout by @ajello-meta in #3279
*  Fix - fix inconsistency between enhanced and legacy flow by @jczhuoMeta in #3285
*  Fix - Removing the tag to get rid of warnings by @SayanPandey in #3287

= 3.4.10 - 2025-05-22 =
* Fix - Disabled the RollOut switch
* Fix - Removed the Global Admin Notice

= 3.4.9 - 2025-05-14 =
* Add - Support for rollout switches in the plugin to control feature rollouts from meta side @francorisso in #3126
* Fix - Tests in the rollout switches file by @francorisso in #3146
* Fix - RolloutSwitches Init by @carterbuce in #3157
* Add - Integrate Whatsapp Utility Messaging for WooCommerce Order Update Notifications by @sharunaanandraj in #3164
* Tweak - Improve Test Filter Management with AbstractWPUnitTestWithSafeFiltering by @sol-loup in #2944
* Fix - Namespacing issue causing some tests to be skipped @sol-loup in #3037
* Tweak - Additional logs and timeout for Utility Message Flows by @woo-ardsouza in #3171
* Fix - The WAUM payment progress to only Show Up after Consent Collection is Enabled by @sharunaanandraj in #3175
* Tweak - Update language dropdown based on supported_languages in GET api response by @woo-ardsouza in #3178
* Add - Error notice to gracefully handle errors in Manage Events view by @woo-ardsouza in #3179
* Fix - The Status on the Whatsapp Consent Collection Pill and Button @sharunaanandraj in #3183
* Tweak - Update Message Sending API from Messages to Message Events by @woo-ardsouza in #3182
* Tweak - Update the Authentication mechanism for Whatsapp Webhook by @sharunaanandraj #3186
* Tweak - Minor design updates to Utility Event Settings card by @woo-ardsouza in #3193
* Add - Admin notice for WhatsApp utility messaging recruitment @iodic in #3177
* Fix - The product sync button showing up twice by @sharunaanandraj in #3199
* Tweak - Bump WooCommerce and WordPress compatibility by @iodic in #3200
* Add - An automated process that synchronizes all WooCommerce product categories with Meta, creating catalog product sets for each category. The synchronization process ensures that any changes made to the WooCommerce product categories are reflected in the corresponding Meta catalog product sets by @mshymon in #3168
* Add - A banner in product sets tab to explain recent changes to product sets sync by @mshymon in #3207
* Add - Admin notice for WhatsApp utility messaging recruitment by @iodic in #3211

= 3.4.8 - 2025-05-06 =
* Add - Feature to sync global attributes to Meta and test API format by @devbodaghe in #3050
* Fix - Facebook attribute dropdown display and syncing issues by @devbodaghe in #3051
* Tweak - Set helper text for dropdown sync by @devbodaghe in #3104
* Tweak - Remove unused condition field code for variable products by @devbodaghe in #3114
* Fix - Cursor style not resetting after attribute removal by @devbodaghe in #3113
* Fix - 'Call to a member function is_taxonomy() on string' error when processing variable products by @devbodaghe in #3155

= 3.4.7 - 2025-04-17 =
* Tweak - Added external_variant_id to the feed file by @mshymon in #2998
* Tweak - Added support for syncing product type by @vinkmeta in #3013
* Tweak - Relocating bulk actions by @SayanPandey in #2943
* Tweak - Filtration on All Products page | Synced and Not Synced by @SayanPandey in #2999
* Tweak - Updated PR Template by @vinkmeta in #3019
* Fix - Null check exceptions by @vinkmeta in #3015
* Tweak - Relaxing sync validations by @raymon1 in #2969
* Tweak - Truncates extra characters from title and description by @raymon1 in #3023
* Tweak - Updated PR template by @vinkmeta in #3053
* Fix - The item not found error by using filter in the product endpoint @vinkmeta in #3054
* Fix - Bug where MPN input box had no tooltip by @devbodaghe in #3034
* Tweak - Investigation: WooCommerce to Facebook Product Attribute Syncing by @devbodaghe in #3033
* Fix - Add parent product material inheritance for variations by @devbodaghe in #3035
* Fix - Tooltip Messages for Skirt Length and Sleeve Length by @devbodaghe in #3039
* Fix - Typo in Admin.php by @SayanPandey in #3063
* Add - Add separate short_description field to Facebook product data by @devbodaghe in #3029
* Tweak - Sync short description remove dropdown by @devbodaghe in #3031
* Tweak - Short Description Fallback by @devbodaghe in #3048
* Fix - A problem where Purchase event was not firing if thankyou page was not shown or Purchase state updated through Woo dashboard by @vahidkay-meta in #3060
* Tweak - Remove type casting for gpc to int by @devbodaghe in 3078
* Tweak - Disable unmapped fields to batch api by @devbodaghe in #3079
* Fix - Product variation fields not saving correctly by @devbodaghe in #3090
* Fix - Removed failing test due to merge conflicts @vinkmeta in #3103

= 3.4.6 - 2025-04-04 =
* Fix - Product availability syncing by @vinkmeta in #3010
* Fix - Product attribute sort error which prevented product edits in certain scenarios by @iodic in #3012

= 3.4.5 - 2025-04-01 =
* Tweak - Add new product field external_update_time to measure product update latency by @mshymon in #2973
* Fix - for 'PHP Warning: Undefined variable $fb_product_parent' by @mshymon in #2976
* Fix - Updated logic to choose/create the feed for product sync by @mshymon in #2989
* Add - Facebook Product Data Tab Enhancement by @devbodaghe in #2938
* Fix - PHP Warning for empty attributes by @vinkmeta in #3001

= 3.4.4 - 2025-03-26 =
* Add - Create tests for ProductFeedUploads create endpoint by @ajello-meta in #2902
* Add - Create tests for ProductFeedUploads read endpoint by @ajello-meta in #2903
* Tweak - Remove phpcs:ignoreFile annotation + Enable code coverage report generation with phpunit by @sol-loup in #2897 and #2901
* Fix - Restores the original dynamic property behavior in the AsyncRequest class by @sol-loup in #2921
* Tweak - Changing APP to PLUGIN on README.MD by @SayanPandey in #2916
* Tweak - Update README.md - Added noification for ownership transfer by @SayanPandey in #2910
* Tweak - Added is_multisite logging to the update_plugin_version_configuration request by @carterbuce in #2955
* Tweak - Add woo_commerce_retailer_id to products API request by @crisojog in #2958
* Tweak - Syncing plugin version info by @vinkmeta in #2960
* Fix - sync products out of stock to meta despite visibility config by @francorisso in #2952
* Fix - Update woo_commerce_retailer_id to existing field external_variant_id by @crisojog in #2963
* Tweak - Update readme.txt by @vinkmeta in #2949

= 3.4.3 - 2025-03-19 =
* Add - Items batch request and response tests by @nrostrow-meta in #2917
* Tweak - Always run PHP-based github workflows by @carterbuce in #2926
* Fix - feed upload error "feed_column_count_mismatch" when product has multiple colors separated by a comma by @mshymon in #2947
* Tweak - Updated Pull Request Template by @vinkmeta in #2948
* Dev - Improved readability of function prepare_product() in fbproduct.php by @mshymon in #2889
* Tweak - Enabled PHPUnit code coverage report generation by @carterbuce in #2893

= 3.4.2 - 2025-03-13 =
* Tweak - Update README.md - Added noification for ownership transfer by @SayanPandey in #2910 and #2916

= 3.4.1 - 2025-02-27 =
* Tweak - Removed custom field definitions by @devbodaghe in #2876
* Dev - Improved readability of function prepare_product() in fbproduct.php by @mshymon in #2889
* Dev - Enabled PHPUnit code coverage report generation by @carterbruce in #2893

= 3.4.0 - 2025-02-19 =
* Add - FB product video field to add videos. Also added products sync to support the video field with Batch API by @gurtejrehal in #2874
* Tweak - tests for #2874 by @gurtejrehal in #2888
* Tweak - tests for Product Update action as ramp up task by @nealweiMeta in #2883
* Fix - translations loading before the init hook by @iodic in #2866
* Fix - Fixed feeds by requesting a feed file upload session after feed file is generated and added missing new fields to the feed file by @mshymon in #2841

= 3.3.5 - 2025-02-12 =
* Add - Rich Text Description to Woo Product Sync with Meta by devbodaghe in #2843

= 3.3.4 - 2025-02-11 =
* Fix - Fixing the issue with version number

= 3.3.3 - 2025-02-06 =
* Fix - Use of recommended delete connection endpoint over delete permission endpoint by atuld123 in #2844
* Add - Expose Brand & MPN to Woocommerce UI by @devbodaghe in #2842

= 3.3.2 - 2025-01-21 =
* Fix - a bug that arose from reliance on the plugin version compatibility tag by @vinkmeta in #2856
* Fix - Update catalog link in connections tab to point to Catalog by @devbodaghe in #2848
* Fix - Product URL links now point to items tab by @vinkmeta in #2852
* Tweak - Removed sell on Instagram by @mshymon in #2854
* Tweak - Add custom fields to product data structure by @devbodaghe in #2836
* Fix - Multiple issues with Fixed FB Attribute Syncing by @vinkmeta in #2860

= 3.3.1 - 2024-12-06 =
* Fix - Sale price effective date by @vinkmeta in #2809
* Fix - Sync stock quantity when available by @mshymon in #2811
* Fix - Sync product GTIN when available by @mshymon in #2810

= 3.3.0 - 2024-11-07 =
* Add - Extension navigation tabs on Product Sets screens.
* Tweak - Tooltips, config labels, documentation links.
* Tweak - WC 9.4 compatibility.
* Tweak - WP 6.7 compatibility.

= 3.2.10 - 2024-09-30 =
* Update -  Remove Marketing Products Sets menu entry.

= 3.2.9 - 2024-09-12 =
* Break - Removes WooCommerce navigation items.
* Tweak - WC 9.3 compatibility.

= 3.2.8 - 2024-09-03 =
* Update - Access Token retrieval procedure.
* Update - Use get_title() for content_name to match catalog name.

= 3.2.7 - 2024-08-13 =
* Dev - Updated `phpcs` ruleset.
* Fix - Update failing due to undefined constant error in Lifecycle.
* Tweak - WC 9.2 compatibility.

= 3.2.6 - 2024-07-23 =
* Add - Filter facebook_for_woocommerce_fb_product_description.
* Fix - Remove deprecated FILTER_SANITIZE_STRING usage.
* Tweak - Align PHP require version to composer.json.

= 3.2.5 - 2024-07-10 =
* Tweak - WC 9.1 compatibility.
* Tweak - WP 6.6 compatibility.

= 3.2.4 - 2024-06-13 =
* Dev - Adds support for wp-env.
* Tweak - Fully remove Facebook Messenger code references.
* Tweak - WC 9.0 compatibility.

= 3.2.3 - 2024-05-28 =
* Add - Versioning and compatibility checks to implement support policy.
* Fix - Errors and warnings while generating pot file.
* Tweak - Bump Marketing API version to v20.0.
* Tweak - Remove hidden files from build archive.

= 3.2.2 - 2024-05-14 =
* Fix - Incorrect alert for Product Sets without excluded categories.
* Tweak - WC 8.9 compatibility.

= 3.2.1 - 2024-05-07 =
* Fix - Defer only AddToCart events if applicable.
* Fix - Direct upgrade path from < 3.1.13 to ≥ 3.2.0.
* Tweak - Adds WooCommerce as a dependency to the plugin header.
* Tweak - Revert to WooCommerce.com domain.

= 3.2.0 - 2024-05-01 =
* Tweak - PHP8.3 to GitHub PHPCS and Unit Tests workflows.
* Update - Remove the sunsetted Messenger Chat feature.

= 3.1.15 - 2024-04-16 =
* Tweak - Replace the middleware URL from connect.woocommerce.com to api.woocommerce.com/integrations.
* Tweak - Test environment setup to resolve notice.

= 3.1.14 - 2024-04-03 =
* Fix - Remove facebook_messenger_deprecation_warning notice on deactivation.
* Tweak - Insert pixel-event-placeholder element via vanilla JS.
* Tweak - WC 8.8 compatibility.

= 3.1.13 - 2024-03-27 =
* Add - Messenger feature deprecation notices.

= 3.1.12 - 2024-03-19 =
* Tweak - Check if condition is set before setting a default value.
* Tweak - Updates readme.txt to meet WordPress requirements.

= 3.1.11 - 2024-03-12 =
* Fix - Add video syncs to fbproduct.
* Fix - Deprecation warnings with PHP 8.2.
* Tweak - WC 8.7 compatibility.
* Tweak - WP 6.5 compatibility.

= 3.1.10 - 2024-02-14 =
* Tweak - WC 8.6 compatibility.

= 3.1.9 - 2024-01-09 =
* Tweak - Changed minimum WC version to 6.4.
* Tweak - WC 8.5 compatibility.

= 3.1.8 - 2024-01-03 =
* Fix - Fatal Error on order screens.

= 3.1.7 - 2024-01-03 =
* Add - Create/Update products sync to facebook with Batch API.

= 3.1.6 - 2023-12-27 =
* Fix - Facebook Pixel events missing on redirect to cart.

= 3.1.5 - 2023-11-29 =
* Fix - Remove mentions of shops.

= 3.1.4 - 2023-11-25 =
* Fix - Remove popup modal blocking product edit when product is using category excluded from sync.

= 3.1.3 - 2023-11-07 =
* Fix - Doc - Use new Woo.com domain.
* Tweak - WC 8.3 compatibility.
* Tweak - WP 6.4 compatibility.

= 3.1.2 - 2023-10-19 =
* Dev - Add phpcs on changed files only.

= 3.1.1 - 2023-10-12 =
* Update - Revert "Advandtage+ Shoppings Ads support in Advertise tab".

= 3.0.34 - 2023-10-05 =
* Add - Filter the size of the Facebook product image.
* Fix - AddToCart duplication when other plugins clone cart.
* Tweak - WC 8.2 compatibility.

= 3.0.33 - 2023-09-05 =
* Dev - Updates PHP unit tests matrix in git workflow and versions of dev dependencies in composer.
* Fix - Issues with Facebook Sync status display while product filtering in admin.
* Tweak - WC 8.1 compatibility.

= 3.0.32 - 2023-08-18 =
* Fix - Changes property access of product id from private to public.
* Fix - Eliminates dynamic property creation deprecation warnings.
* Fix - Update WPML compatibility to prevent fatal errors on PHP 8+.
* Tweak - Bump Marketing API version to v17.0.
* Tweak - Displays warnings on accessing private/protected properties incorrectly.

= 3.0.31 - 2023-08-09 =
* Dev - Filters Business Manager ID.
* Fix - Fatal error when facebook_config option is empty.
* Fix - WC_Facebookcommerce_Pixel::get_options() throwing a fatal error if facebook_config is invalid.
* Tweak - Adds backward arrow to Facebook Product Sets backlink.
* Tweak - Update product data options icon.
* Tweak - WC 8.0 compatibility.
* Tweak - WP 6.3 compatibility.

= 3.0.30 - 2023-08-01 =
* Dev - Add release preparation GH workflow.
* Fix - Facebook sync for newly published product without Google product category.
* Fix - Syncs products with All Caps title to Facebook and displays a warning in Facebook meta box.

= 3.0.29 - 2023-07-18 =
* Fix - Corrects backlink to 'Go to Facebook Product Sets' in success notice on Edit Facebook Product Sets page.
* Tweak - Removes duplicate code.

= 3.0.28 - 2023-07-13 =
* Add - Priority to enhanced catalog attributes and display as per priority.
* Fix - Woo category synced as Google Product category.

= 3.0.27 - 2023-07-05 =
* Fix - Products are deleted from facebook once changed to draft.

= 3.0.26 - 2023-06-28 =
* Tweak - WC 7.9 compatibility.

= 3.0.25 - 2023-06-13 =
* Fix - Fatal error when Facebook.net returns an empty response.
* Fix - PHP Warning caused by array_filter() call.
* Fix - Remove assigned Google product category at individual product level.
* Tweak - WC 7.8 compatibility.

= 3.0.24 - 2023-06-06 =
* Fix - Product variants weren't deleted correctly from the Facebook catalog in some instances.

= 3.0.23 - 2023-05-09 =
* Fix - Delete product in the Facebook catalog when products are deleted via WC Rest API.

= 3.0.22 - 2023-05-03 =
* Fix - Pixel code not activated on checkout.

= 3.0.21 - 2023-05-02 =
* Fix - Issue in admin product search.

= 3.0.20 - 2023-05-02 =
* Fix - Adds escaping to outputs and sanitizing to inputs.
* Tweak - WC 7.7 compatibility.

= 3.0.19 - 2023-04-18 =
* Tweak - Bump Marketing API version from v16.0.

= 3.0.18 - 2023-04-11 =
* Fix - Fatal error when facebook_config option is empty.
* Fix - Selected categories not showing on Product Sets edit page.

= 3.0.17 - 2023-04-05 =
* Tweak - WC 7.6 compatibility.

= 3.0.16 - 2023-03-21 =
* Fix - Deprecation notices thrown by nonce_user_logged_out.
* Fix - Display the Facebook tab and sync settings for external products.
* Fix - viewContent events triggering PHP server notices on elementor sites.

= 3.0.15 - 2023-03-14 =
* Tweak - WC 7.5 compatibility.
* Tweak - WP 6.2 compatibility.

= 3.0.14 - 2023-03-02 =
* Fix - Fatal error due to the latest WC Blocks changes.
* Fix custom attribute name with special characters breaks sync.

= 3.0.13 - 2023-02-28 =
* Fix - WC()->session causing fatal error when the `woocommerce_add_to_cart_redirect` filter is called via REST API.

= 3.0.12 - 2023-02-21 =
* Fix - Replace is_ajax calls with wp_doing_ajax().
* Fix - out-of-stock products not deleted in Facebook catalog.

= 3.0.11 - 2023-02-14 =
* Fix - Default sync mode on new product.

= 3.0.10 - 2023-02-07 =
* Add - Ping Meta server with the currently installed plugin version.
* Fix - PHP 8.1 deprecated warnings.
* Tweak - WC 7.4 compatibility.

= 3.0.9 - 2023-01-31 =
* Fix - CAPI purchase event not firing with orders from FB/Instagram app on iOS.
* Fix - Setting a product's Facebook sync status to "Do not sync" not working.
* Update - Onboarding task title and remove task content.

= 3.0.8 - 2023-01-10 =
* Add - Add support for Mix and Match containers with per-item pricing.
* Dev - Fix phpcs violations in Framework/Api folder.
* Tweak - Facebook Marketing API from v13.0 to v14.0.
* Tweak - Use specific Bundles/Composites functions for calculating prices.

= 3.0.7 - 2023-01-03 =
* Dev - Add node and npm version restrictions.
* Dev - Ease current node version restrictions.
* Dev - Fix `phpcs` violations in the `includes/admin` folder.
* Dev - Fix phpcs violations in the includes/API folder.
* Dev - Updated `phpcs` ruleset.
* Fix - Deprecated notice fix.
* Fix - Facebook Sync status is incorrect when a product has catalog visibility hidden.
* Fix - Issue in running Background Process Test debug tool.
* Fix - Made Advertise tab be the default when connected.
* Fix - PHP Warning: Attempt to read property on array in Tracker.php.
* Tweak - WC 7.3 compatibility.

= 3.0.6 - 2022-12-13 =
* Dev - Add node and npm version restrictions.
* Fix  - PHP Warning: Attempt to read property on array in Tracker.php.
* Fix - Deprecated notice fix.
* Fix - Facebook Sync status is incorrect when a product has catalog visibility hidden.
* Fix - Issue in running Background Process Test debug tool.
* Tweak - WC 7.2 compatibility.

= 3.0.5 - 2022-11-30 =
* Add - Debug tools to help reset settings, delete background options and delete catalog products.
* Add - Inbox note about Facebook menu moved under the Marketing menu.
* Dev - Add .nvmrc file.
* Fix - Facebook Product ID is different from what Facebook ID actually is.
* Fix - Prevent class redeclaration error for class WC_Facebookcommerce_Utils.
* Fix - Prevent errors in the disconnection procedure when the user id is missing.
* Tweak - Remove Facebook Orders sync functionality.
* Tweak - Update the API version set in the fbAsyncInit script in Advertise tab.
* Tweak - Update the plugin URI in the plugin file.

= 3.0.4 - 2022-11-21 =
* Dev - Ensure return value matches method signature.

= 3.0.3 - 2022-11-18 =
* Fix - Remove flexible heredoc syntax that is incompatible with PHP 7.2

= 3.0.2 - 2022-11-18 =
* Fix - Properly handle API exceptions
* Fix - Set correct PHP version in plugin header
* Dev - Add ArrayAccess implementation to JSONResponse class

= 3.0.1 - 2022-11-17 =
* Fix - Wrong path to the fbutils.php file.

= 3.0.0 - 2022-11-17 =
* Dev - Adding API Unit Tests.
* Dev - Adding unit test workflow.
* Dev - Adjusting php code styling.
* Dev - Refactoring multiple Facebook APIs into a single one.
* Dev - Removing SkyVerge dependency.
* Dev - Removing deprecations.
* Tweak - WC 5.4 compatibility.

= 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)
