== Changelog ==

= 10.9.1 =
* Fixed currency conversion issue that could render the Abandoned Carts report empty on single-currency stores

= 10.9 =
* Added 4th reminder step to WordPress, BulkGate and Push Notification recoveries
* Added Magic login for improved UX that allows to automatically sign in registered customers when they open their recovery link
* Added "Combined" currency mode to abandoned cart reports which automatically converts all amounts to a single currency for easy comparison
* Added license expiration reminder shown 1 month before expiry
* Moved time storage from local timezone to UTC to improve accuracy and cross-system consistency
* Code refactoring and optimization

= 10.8 =
* Added support for coupon tags in the subject line of WordPress recovery emails
* Added a secondary license activation server to improve reliability
* Added instant cart update and feedback after coupon application — no page refresh required
* Improved Dashboard (abandoned cart report) loading performance
* Improved detection of abandoned carts if WooCommerce session ID changes
* Improved how cart contents are stored to increase efficiency
* Improved API connection validation performance
* Restricted abandoned cart deletion to administrators only
* Transitioned from relying on WordPress transients to a custom transient management system

= 10.7 =
* Added Early capture compatibility with "Frequently bought together" plugins
* Added support for translating abandoned cart reminder messages using the GTranslate plugin
* Added a 10-email batch limit for WordPress recovery emails to help avoid falling into spam blacklists
* Improved compatibility with Multi-Currency plugins
* Improved duplicate abandoned cart detection by adding phone number validation
* Fixed incorrect duplicate cart removal when phone number was empty
* Fixed minor PHP notice linked with early cart currency detection

= 10.6 =
* Added option to restart the abandoned cart recovery process
* Added abandoned cart recovery and unsubscribe rate details to WordPress, BulkGate, and Web Push notification steps
* Added details about the specific messages responsible for unsubscribed and recovered abandoned carts in the abandoned cart table
* Updated Web push notifications
* Fixed a JavaScript issue affecting report updates
* Refactored coupon generation function

= 10.5.1 =
* Improved bot detection layer for better compatibility with various themes

= 10.5 =
* Improved bot detection layer
* Improved system report
* Improved abandoned cart saving for newly registered customers
* Added a new filter "cartbounty_pro_default_open_tab" to allow changing the default open CartBounty tab
* Fixed abandoned cart table bottom Bulk actions
* Code refactoring and optimization

= 10.4 =
* Added tracking for user unsubscriptions at specific automation steps in WordPress and Bulkgate recovery
* Added an option to restrict email usage for coupons generated by abandoned cart recovery
* Added an option to enable email consent collection
* Added an additional bot detection layer to exclude anonymous abandoned carts created by bots
* Added compatibility with the new WooCommerce checkout
* Compatibility improvements with PHP8

= 10.3 =
* Added an option to collect both email and phone fields in the Exit Intent popup
* Added support for saving abandoned carts through custom phone fields
* Improved abandoned cart export file
* Improved abandoned cart deletion and bulk action security
* Updated WordPress recovery email templates
* Fixed the display of anonymous carts when they are excluded

= 10.2 =
* Added a new report to Dashboard - Abandoned cart reports by country
* Improved ActiveCampaign automation list retrieval for list sizes above 100 automations
* Fixed PHP warnings on checkout page if address fields were not saved

= 10.1.3 =
* Added a new filter "cartbounty_pro_automation_hide_product_attributes" to hide product attributes from appearing in WordPress reminder messages

= 10.1.2 =
* Improved compatibility with translation plugins
* Improved compatibility with Product bundle plugins
* Added IP address information to system report
* Fixed minor issue upgrading from older CartBounty versions

= 10.1.1.1 =
* Minor compatibility fix with mini cart update

= 10.1.1 =
* Improved abandoned cart content storage
* Fixed coupon usage email restriction limitations
* Code refactoring and optimization

= 10.1 =
* Added option to exclude specific email or phone number from being saved by CartBounty
* Added a new and more efficient version of plugin update checker
* Added IP address capture alongside shopping cart data to help detect and prevent fraudulent activities
* Improved ActiveCampaign sync and requests
* Improved abandoned cart anonymization
* Replaced Webhook default PUT method with POST
* Code refactoring and optimization

= 10.0.5.1 =
* Fixed PHP warning related with displaying Top abandoned products

= 10.0.5 =
* Fixed minor issue with updating from older CartBounty versions
* Fixed minor issue with sending BulkGate SMS test messages

= 10.0.4 =
* Added a new filter "cartbounty_pro_cart_cooldown_period" to change the cooldown period preventing the creation of a new abandoned cart during the same session after a user has already placed an order
* Fixed minor issue with coupon generation for Exit intent and Early capture tools

= 10.0.3 =
* Code refactoring

= 10.0.2 =
* Fixed Top abandoned product reporting date period inconsistency

= 10.0.1 =
* Minor improvement for abandoned cart data saving on WooCommerce Checkout form
* Minor improvement for reporting CSS
* Fixed abandoned cart bulk actions
* Fixed Top abandoned product reporting count issue

= 10.0 =
* Added a Dashboard including Abandoned cart reports and Top abandoned products
* Added an option to exclude abandoned carts from saving by user's IP address
* Added support for YITH WooCommerce Product Add-Ons & Extra Options by YITH
* Added date time localization
* Improved abandoned cart removal after placing an order
* Improved duplicate abandoned cart detection using phone number
* Improved "Remember checkout fields" feature - input field restoration
* Improved abandoned cart import from the Free version into Pro
* Compatibility improvements with PHP8
* Fixed Push notification permission request appearance
* Code refactoring

= 9.12 =
* Added Instant coupon codes using Exit Intent and Early capture tools
* Added support for saving abandoned carts through custom email fields
* Added an option to exclude specific emails or phone numbers from receiving abandoned cart reminders
* Added new filters to Webhook recovery for additional flexibility and compatibility
* Improved system report

= 9.11 =
* Added an option to exclude coupon codes by email or phone number
* Added an option to prevent repeat coupons
* Added support for Extra Product Options & Add-Ons for WooCommerce by ThemeComplete
* Added cart contents inside admin notification emails
* Improved product images in email reminders
* Improved coupon code generation
* Improved BulkGate SMS message delivery
* Improved checkout form data storage
* Reduced the size of the Exit Intent animated image
* Fixed Exit Intent phone number collection

= 9.10 =
* Added a new tool - Web push notifications which allows reminding about abandoned carts
* Added support for Product Add-Ons plugin by WooCommerce
* Added emoji support for BulkGate SMS messages
* Increased maximum abandoned cart sync period from 30 to 100 days
* Improved Early capture mandatory input
* Improved emoji support
* Fixed coupon expiration date preview
* Fixed anonymous and recoverable cart count update
* Fixed a warning if email or phone input fields missing from Checkout page
* Fixed WordPress email loop issue when an email could not be delivered

= 9.9.3 =
* Added option to automatically delete anonymous carts older than a set time
* Moving away from WP Cron in favour of Action Scheduler for improved efficiency
* Improved product title storage (HTML tag removal)
* Improved newly abandoned cart counter next to CartBounty admin menu
* Improved domain retrieval function
* Code refactoring

= 9.9.2 =
* Added new presonalization tag (coupon expiration date) to WordPress and BulkGate
* Added coupon expiration date information to ActiveCampaign, GetResponse and MailChimp
* Added additional bot detection layer to exclude abandoned carts left by Google Storebot and other popular bots. Use "cartbounty_pro_bot_list" filter to edit bot list
* Improved order handling
* Improved automation step creation
* Compatibility improvements with PHP8

= 9.9.1.2 =
* Compatibility improvements with PHP8

= 9.9.1.1 =
* Improved GetResponse custom field sync

= 9.9.1 =
* Improved abandoned cart table design
* Improved performance and efficiency of Exit Intent technology
* Added a new filter to enable CartBounty recovery link UTM tracking
* Minor abandoned cart order handling update

= 9.9 =
* Added webhook for automating abandoned cart recovery using Make (former Integromat), Pabbly, Zapier etc.
* Added new filters to exclude carts from recovery by language, country etc.
* Improved support for WPML multi-currency
* Improved Cc and Bcc parameter handling
* Code refactoring

= 9.8 =
* Added a new tool - Tab notification. Decrease shopping cart abandonment by grabbing customer attention and returning them to your store after they have switched to a new browser tab.
* Improved abandoned cart list ordering

= 9.7.5 =
* Added option to exclude carts from abandoned cart recovery containing specific products or product categories
* Added option to pause and resume individual abandoned cart recovery
* Improved Early capture performance on slower servers

= 9.7.4.3 =
* Added manualy entered coupon code saving and restoration
* Added support for Fancy Product Designer
* Added Cc and Bcc parameter filters to admin email notifications
* Added Bcc parameter filter to WordPress recovery emails
* Added filter to limit exported abandoned cart table columns
* Added Active Theme data to system report
* Improved BulkGate sync in case of an invalid phone number
* Improved Recoverable cart count rounding function

= 9.7.4.2 =
* Minor user experience improvements
* Improved variable product images inside abandoned cart reminder emails

= 9.7.4.1 =
* Code refactoring

= 9.7.4 =
* Added support for custom product fields
* Added support for WooCommerce Product Bundles
* Added a new filter "cartbounty_pro_display_full_address" for displaying full address in the location column
* Added Mobile Connect option to BulkGate sender types
* Improved UX of Easy international phone input

= 9.7.3 =
* MailChimp API improvements and refactoring
* Compatibility improvements with WPML
* WordPress options table collation upgrade to utf8mb4 to allow emojis
* Improved screen options

= 9.7.2.2 =
* Added support for unicode characters in BulkGate

= 9.7.2.1 =
* Improvements for RTL languages

= 9.7.2 =
* Added option to enable / disable unfinished order recovery
* Compatibility improvements with PHP8

= 9.7.1.1 =
* Improved compatibility with older WP versions

= 9.7.1 =
* Added RTL support

= 9.7 =
* Added integration with BulkGate to send automated abandoned cart recovery text messages (SMS)
* Added option to collect phone number consent
* All coupon codes will now auto apply in case it has been provided. Use "cartbounty_pro_coupon_auto_apply" filter to disable it
* Added a new filter to disable email and phone number anonymization inside administrator notification emails
* Compatibility improvements with WPML
* Code refactoring

= 9.6.1 =
* Minor code refactoring
* Translation updates

= 9.6 =
* Added WordPress recovery email personalization and conditional tags
* Added emoji selection button
* Added option to move phone field higher in the checkout form
* Added HTML tag support inside input and textarea fields
* Improved and optimized speed of Early capture
* Improved customization options with new filters
* Improved data output security
* Compatibility improvements with WPML
* Compatibility improvements with PHP8

= 9.5 =
* Improved order handling - unpaid orders will now be added to CartBounty abandoned cart recovery process
* Added a new filter for changing coupon expiration date format
* Improved email template design on mobile devices
* Optimized and improved data synchronization speed and efficiency
* General improvement of plugin actions and filters
* Fixed issues caused by admin_body_class filter
* Minor fix for admin email notifications

= 9.4.3 =
* Added WordPress email open rate statistics
* Added WordPress email click-through rate statistics
* Minor WordPress abandoned cart recovery automation UX improvements

= 9.4.2 =
* Included additional abandoned cart information inside admin email notifications
* Improved admin email notification design
* Improved license activation debugging information
* Template override information included in system status report

= 9.4.1 =
* Added option to edit the contents of Exit Intent and Early capture from settings
* Improved how prices are displayed - will match the default WooCommerce currency settings
* Fixed tax rounding issue

= 9.4 =
* Added option to send unique coupon codes using abandoned cart recovery emails and auto apply discount code
* Improved event schedule functions
* Minor visual improvements
* Fixed abandoned cart table footer Bulk delete feature

= 9.3.5 =
* Improved Exit Intent and Early Capture templates
* Improved translations
* Code cleanup

= 9.3.4 =
* Improved order handling function
* Refactored all update functions
* Improved debugging features
* Increased database language field data type length

= 9.3.3.1 =
* Added additional description for status "New"
* Added option to dismiss disabled WP Cron notice

= 9.3.3 =
* Abandoned cart contents will now display prices including taxes. Use "cartbounty_pro_include_tax" filter to disable it. After changing taxes - must disconnect and reconnect MailChimp and GetResponse to resync product prices.
* Improved WordPress recovery input field content options
* Improved WordPress recovery email template appearance
* Added "cartbounty_pro_automation_max_products" filter to control the maximum number of products that are presented in the reminder email

= 9.3.2.3 =
* Improved abandoned cart capture compatibility with various WordPress themes
* Improved MailChimp API status response

= 9.3.2.2 =
* Fixed cart removal bug after a new order created

= 9.3.2.1 =
* Database version update fix

= 9.3.2 =
* Compatibility update to the abandoned cart import from the Free version

= 9.3.1 =
* Added option for users with Shop manager role to close bubble window
* Improved update checker link

= 9.3 =
* Added WordPress recovery option for sending abandoned cart recovery emails
* Added phone validation to Exit Intent popup
* Renamed a filter from "cartbounty_pro_early_capture_phone_validation" to "cartbounty_pro_phone_validation"
* Fixed a bug when saving Early capture data with enabled Google reCAPTCHA

= 9.2.3 =
* Improved compatibility with translation plugins
* Product and coupon table export refactoring
* Improved recovery process using ActiveCampaign
* Added filter "cartbounty_pro_waiting_time" to customize default waiting time after which the cart is considered abandoned

= 9.2.2 =
* Fixed a minor bug counting recoverable carts
* Fixed a minor issue if saving carts with excluded anonymous carts

= 9.2.1 =
* Added option to export System status report
* Added Early capture error handling in case of a restricted access to admin-ajax.php
* Admin notification refactoring

= 9.2 =
* Added option to exclude specific guest cart countries
* Added a new status information in case the cart was captured by one of the available tools
* Fixed a minor bug when trying to Bulk delete a row without selecting any row

= 9.1 =
* Added a new productivity tool - Early capture. Allows to ask for customer's details (email or phone) when "Add to cart" button pressed.
* Added option to use phone number field instead of email in Exit Intent popup
* Exit Intent template labels replaced with placeholders
* Replaced 2 previous hooks responsible for removing abandoned carts after order creation with a single hook
* Fixed minor hiccup with saving Grouped products
* Slight visual Exit Intent design improvements

= 9.0 =
* Overall design, UI / UX improvements
* Moved CartBounty menu closer to WooCommerce Orders section
* Fixed issue with saving abandoned carts without an email field present in the checkout form
* Fixed issue with abandoned cart count next to CartBounty menu with disabled anonymous carts

= 8.2.4 =
* Improved plugin update checker

= 8.2.3 =
* Code cleanup

= 8.2.2 =
* Added individual product prices in the Cart contents column
* Improved "Remember user input" function for authorized users who edit their account details

= 8.2.1 =
* Added filter "cartbounty_pro_from_email" to change the From email address that sends out notifications about abandoned carts
* Added abandoned cart recovery link to exported carts
* Code cleanup

= 8.2 =
* Added cart search / filter
* Added country name to country code in Location column. Hover over country code to view its name
* Added link to user's profile page for registered abandoned cart users in the "Name, Surname" column
* Fixed issue with adding a manual WooCommerce order

= 8.1.1 =
* CartBounty database table name renamed from "captured_wc_fields_pro" to "cartbounty_pro"
* CartBounty product table name renamed from "captured_wc_fields_pro_products" to "cartbounty_pro_products"
* CartBounty coupon table name renamed from "captured_wc_fields_pro_coupons" to "cartbounty_pro_coupons"
* Fixed issue with removing abandoned cart in case a user chooses to create an account during checkout

= 8.1 =
* Added option to see recovered carts
* Added option to save and view anonymous carts
* Added option to filter between anonymous and recoverable carts
* Added email notifications on newly recovered carts
* Added option to send abandoned cart notifications to multiple emails

= 8.0 =
* Added integration with GetResponse for automated abandoned cart recovery
* Added option to replace the default Exit Intent image via admin panel
* Minor visual design updates
* Additional log data
* Other minor fixes

= 7.1 =
* Plugin performance and speed update

= 7.0 =
* Added option to import abandoned carts captured via the Free version
* Added synchronization indicator in the abandoned cart Status column
* Added CartBounty privacy policy suggestions for WordPress
* Added compliance with GDPR. Now supporting abandoned cart personal data export and erasure (anonymization)
* Added automated old (older than 180 days) abandoned cart personal data anonymization
* Fixed option to set visible abandoned carts per page
* Fixed conflict issue with WP Cron schedules

= 6.8.1 =
* API request optimization
* Added a new and more efficient version of plugin update checker

= 6.8 =
* Introduced Compact abandoned Cart contents with product thumbnails
* Added Postcode to location output
* Fixed abandoned cart sorting by Name and added sorting by Email and Phone number
* Improved Time column output in a more user-friendly way (hover to see get the exact time)
* Improved abandoned cart removal after order completion
* Abandoned cart time calculations changed to local time
* Removed link to product in the Cart contents column in case the product no longer exists
* Fixed an issue when trying to sync to MailChimp abandoned cart with a product that was deleted

= 6.7.1 =
* Improved function that restores checkout fields in case of missing some values

= 6.7 =
* Added option to move email field higher in the checkout form
* Changed the script loading hook from "woocommerce_after_checkout_form" to "woocommerce_before_checkout_form"

= 6.6.1 =
* Translation files updated

= 6.6 =
* Fixed issue when trying to sync deleted products to MailChimp

= 6.5 =
* Fixed issue when an additional abandoned cart was left after a user logged in
* Added a function that removes duplicate abandoned carts of registered users

= 6.4.1 =
* Fixed issue when restoring state field for logged in users

= 6.4 =
* Added reporting of recovered abandoned carts to MailChimp and ActiveCampaign
* Improved syncing to MailChimp and ActiveCampaign for abandoned carts without products

= 6.3 =
* Transferred the plugin to a new update server - cartbounty.com

= 6.2 =
* Improved function that restores checkout fields after user logged in

= 6.1 =
* Fixed Cart content saving if product's title contains HTML tags

= 6.0 =
* Baby's got a new name - please welcome CartBounty :) (ex. WooCommerce Live abandoned cart)
* All class names and hooks changed

= 5.1 =
* Improved database query security
* Optimized plugin load time
* Minor content updates

= 5.0 =
* Added integration with ActiveCampaign to create automated abandoned cart recovery
* Improved MailChimp abandoned cart synchronization

= 4.4.1 =
* Added deleted or nonexistent product error handling

= 4.4 =
* Added Mobile Exit Intent Technology popup

= 4.3 =
* Update server management improvements
* Code cleanup

= 4.2 =
* Added Google reCAPTCHA v3 security to add protection against bots leaving abandoned carts
* Added a new and more efficient version of plugin update checker
* Added Log option under the Help tab
* Other minor fixes

= 4.1.2 =
* Minor content updates

= 4.1.1 =
* Fixed issue when saving City data for logged in users
* Fixed PHP notices if checkboxes were not defined

= 4.1 =
* Added support for Checkout form checkboxes

= 4.0.3 =
* Reverted the ability to clear the checkout fields without the submit button

= 4.0.2 =
* Fixed the ability to clear the checkout form fields

= 4.0.1 =
* Added additional descriptions about Exit Intent
* Fixed wrong counter function near menu

= 4.0 =
* Added Exit Intent Technology popup
* Added instant shopping cart capture for logged in users
* Added support for coupon synchronization over to MailChimp
* Fixed total captured abandoned cart counter
* Fixed total MailChimp list display limits

= 3.3.1 =
* Fixed notice about a disabled hook if notifications are disabled

= 3.3 =
* Added support for using plugin together with other MailChimp plugins
* Added debugging options with WP Cron
* Improved review bubble

= 3.2 =
* Added option to export plugin tables for debugging purposes
* Added option to export last MailChimp synchronization status
* Code cleanup

= 3.1 =
* Added option to leave Feedback
* Code cleanup

= 3.0.5 =
* Fixed PHP notice and a bug when working with WooCommerce orders within admin panel

= 3.0.4 =
* Fixed MailChimp integration issue with older WooCommerce versions prior 3.1.1

= 3.0.3 =
* Fixed minor CSS related conflicts

= 3.0.2 =
* Fixed bug with Checkout form textarea field

= 3.0.1 =
* Modified "Remember user input" function. All Checkout form input fields are now triggering save data action

= 3.0 =
* Added "Remember user input" function that keeps user input in Checkout form until the Session has expired or user completes the Checkout

= 2.0.4 =
* PHP default sessions functionality replaced by WooCommerce sessions

= 2.0.3 =
* Added additional hook for removing abandoned cart from the table once a corresponding WooCommerce order is created

= 2.0.2 =
* Added ability for Shop managers to access Abandoned carts

= 2.0.1 =
* Code cleanup

= 2.0 =
* Ability to send out automated abandoned cart recovery emails via MailChimp API 3.0
* Added ability to save abandoned carts via phone number input
* Added function that collects and saves input field data if input fields already filled on Checkout page load
* Fixed license verification timeout issue

= 1.4.2 =
* Fixed bug when in some cases abandoned carts not being removed from table after reaching WooCommerce "Thank you" page

= 1.4.1 =
* Fixed database update issue when upgrading to 1.4

= 1.4 =
* Added location registration (Country and City)
* Added links on product titles in Cart content column
* Added additional output for product variations

= 1.3 =
* Fixed issue when in some cases single abandoned cart was saved multiple times creating duplicate entries in the table
* Added update mechanism

= 1.2 =
* Added email notifications for abandoned carts
* Added option to set notification frequency or disable notifications
* Added option to set custom email address for notifications
* Added language support
* Added statuses for abandoned carts - Shopping, New
* Added notification bubble near plugin menu
* Fixed minor database warnings and notices

= 1.1 =
* Fixed PHP and MySQL warnings and notices
* Updated security requirements that were introduced in WooCommerce 3.0

= 1.0 =
* Birthday