*** Product Addons Changelog ***

2020-08-18 - version 3.0.38
* Fix   - Sanitize Add-Ons serialized imported data and escape output.

2020-08-17 - version 3.0.37
* Fix   - Replace deprecated jQuery methods.
* Tweak - WordPress 5.5 compatibility.

2020-07-07 - version 3.0.36
* Fix - Escape output for selectWoo fields.

2020-06-23 - version 3.0.35
* Fix - Update API.

2020-06-10 - version 3.0.34
* Fix - Prevent PHP notice on cart when _product_type is empty.
* Tweak - WC 4.2 compatibility.

2020-05-12 - version 3.0.33
* Fix - All Products for WooCommerce Subscriptions: Reset subscription details in add-ons total when reverting to the one-time purchase option.
* Tweak - Improve error handling on filesize limits.

2020-04-30 - version 3.0.32
* Tweak - WC 4.1 compatibility.

2020-04-17 - version 3.0.31
* Fix - Fix issue on cart file add-on.

2020-04-14 - version 3.0.30
* Fix - Readd addon file when ordering again.

2020-04-08 - version 3.0.29
* Fix - Wrap price strings with amount class to allow for dynamic currency conversions.
* Tweak - WP 5.4 compatibility.

2020-03-29 - version 3.0.28
* Fix - Only show addon description if enabled.

2020-03-17 - version 3.0.27
* Fix - Double label for quantity input multiplier.

2020-03-11 - version 3.0.26
* Fix - Always use quantity based pricing for customer defined price field.
* Tweak - Remove legacy code.
* Fix - Fatal error when a product does not exist in the display (e.g. compat plugin creating products on runtime).

2020-03-04 - version 3.0.25
* Fix - Fix accessibility warnings for addon input labels.
* Tweak - WC 4.0 compatibility.

2020-02-14 - version 3.0.24
* Fix - Minified missing JS file.

2020-02-12 - version 3.0.23
* Fix - Unescaped HTML on the frontend.

2020-02-12 - version 3.0.22
* Fix - Display addons prices excluding tax when a user is tax exempt.
* Fix - Allow prices to be displayed correctly when using a price display suffix.
* Fix - Show addon totals when multiplying by a time duration.

2020-01-14 - version 3.0.21
* Fix - Don't clear data on Add To Cart when required un-checked checkbox is in the product page.
* Fix - Set character set when decoding entities.
* Tweak - WC 3.9 compatibility.

2019-11-12 - version 3.0.20
* Fix - Bug calculating taxes on orders with percentage-based addons.

2019-11-04 - version 3.0.19
* Tweak - WC 3.8 compatibility.

2019-10-30 - version 3.0.18
* Fix - Short Text field validation with value 0

2019-10-15 - version 3.0.17
* Fix - Display of prices when using WooCommerce Bookings Accommodations.

2019-09-24 - version 3.0.16
* Fix - Image swatch double tap required on iOS.

2019-08-28 - version 3.0.15
* Fix - Legacy Order data triggers fatal error.

2019-08-08 - version 3.0.14
* Tweak - Add compatibility with All Products For Subscriptions.
* Tweak - WC 3.7 compatibility.

2019-07-10 - version 3.0.13
* Tweak - Addon setting name from "Name Your Price" to "Customer Defined Price".

2019-07-02 - version 3.0.12
* Fix - Wrong "Subtotal" when "None" option is selected.

2019-04-16 - version 3.0.11
* Tweak - WC 3.6 compatibility.

2019-03-08 - version 3.0.10
* Fix - PHP 7.3 compatibility warnings.

2019-02-27 - version 3.0.9
* Fix - When paired with variable subscriptions, subtotal suffix label not displaying correct duration.
* Fix - Product title showing undefined in add-ons list with certain themes.

2019-02-06 - version 3.0.8
* Fix - Quantity and flat fee cost calculation regression.

2019-02-04 - version 3.0.7
* Fix - Missing minified javascript files.

2019-02-01 - version 3.0.6
* Fix - Quantity based price calculations were being performed on flat fee addons.
* Fix - Subtotals were hidden on non-bookable products if the bookings addon was active when selecting addons.

2018-12-11 - version 3.0.5
* Fix - Decode currency character correctly to support all WooCommerce currencies.
* Fix - Product page displaying incorrect price for per-person and per-block addons with WooCommerce Bookings.
* Fix - Handle option descriptions with value '0'.
* Fix - Numeric option descriptions are displaying incorrectly.
* Fix - Price update pushes "Add to Cart" button out of the way.

2018-11-21 - version 3.0.4
* Fix - Ensure prices are displayed correctly on the frontend when using a comma as decimal separator.

2018-11-12 - version 3.0.3
* Fix - Currencies with comma separator not saving.
* Fix - Revert per line item level add-ons.

2018-11-7 - version 3.0.2
* Selective testing.

2018-10-29 - version 3.0.1
* Fix - Admin settings display sometimes not refreshed to new 3.0 version. Add versioning to CSS.
* Fix - Non required radio buttons causes undefined error when selecting on None.
* Fix - Remove file upload path from displaying on line item summary.
* Fix - When show tax inclusive on shop/pages is enabled, summary amount not reflecting tax.
* Fix - When saving price type settings, the type gets reverted to previous settings in certain cases.

2018-10-23 - version 3.0.0
* New - Flat fee based pricing.
* New - Percentage based pricing.
* New - Image swatches.
* New - Display add-ons as line items.
* Fix - Plugin prefix has been added to meta data so its identifyable.
* Fix - Cannot edit product if default label is empty.
* Add - Error handling on filesize limits.

2018-09-26 - version 2.9.7
* Update - WC 3.5 compatibility.

2018-05-23 - version 2.9.6
* Update - WC 3.4 compatibility.

2018-05-15 - version 2.9.5
* Fix    - Use proper conditional for trim trailing zeroes on precision.

2018-05-11 - version 2.9.4
* Revert - Labels should be required in 2.9.3.

2018-05-02 - version 2.9.3
* Fix    - No respect for the price_trim_zeros filter.
* Fix    - Cannot remove labels prior to saving changes.
* Fix    - Labels should be required.

2018-03-05 - version 2.9.2
* Update - POT file.
* Fix    - Display issue when subscription and simple products are combined in shortcodes.
* Fix    - Add-ons with negative price (or discounts) do not alter price.
* Fix    - PHP 7.1 compatibility notice
* Fix    - Line Breaks of a Custom Input add-on not shown in the order details page.

2017-12-12 - version 2.9.1
* Fix - When re-ordering, not all addons accounted for.
* Fix - Do not show addon totals before variations have been selected.
* Fix - When removing old global addons after import, all addons disappears.
* Fix - Taxes not calculating correct on display when using {price_including_tax} in price suffix.
* Update - Changed default Grand Total verbiage to Sub total for a more accurate description.
* Update - WC tested up to version.

2017-07-13 - version 2.9.0
* Fix - Further updates for WooCommerce 3.0 compatibility.
* Fix - Minor code cleanup (unused variable, PHPDocs).
* Fix - Variable products with required custom textarea not able to add to cart.
* Fix - Prevent global addon fields not saving when no name is entered.
* Fix - Issue resetting global product.
* Fix - Don't make custom price input required when not set.
* Add - new REST API endpoints for managing global and product addons
* Fix - Fatal error when combined with the Memberships extension.
* Fix - When grouped product contains simple and subscription product amount suffix shown incorrectly.
* Fix - Re-order addons were not being added.
* Fix - Notices when product object not found.
* Fix - Prevent filtering prices twice due to context issue.
* Fix - Inline VAT/TAX pricing not updating correctly on product page on addon grand total.
* New - Added the new Woo plugin header, for WooCommerce 3.1 compatibility.
* New - Compatibility with Smart Coupons Credit/gift coupon.

2017-04-03 - version 2.8.1
* Fix - Update for WooCommerce 3.0 compatibility.

2017-02-23 - version 2.8.0
* Fix - When re-adding items to cart, similar named addons is missing.

2016-12-09 - version 2.7.26
* Fix - Issue where required fields are failing to add to the cart using the order again option.
* Fix - Issue product add-ons are not being re-added when paying for pending or failed renewal orders.
* Fix - Update deprecated API of WooCommerce being used this extension.

2016-10-26 - version 2.7.25
* Fix - Text field type addon is not accounting for multibyte characters.

2016-09-29 - version 2.7.24
* Fix - Undefined error when variation data is not found.
* Fix - Product totals not updated instantly when clicking up and down number input.
* Fix - In Safari browser, validation not working when minimum set to 0.

2016-09-06 - version 2.7.23
* Fix - Addon totals were displayed on top of options due to last version.

2016-08-10 - version 2.7.22
* Tweak - Relocate addon fields to be after the variation description.

2016-07-16 - version 2.7.21
* Fix - Tax inclusive display is not showing on addons in cart/checkout.

2016-07-07 - version 2.7.20
* Tweak - Load frontend CSS with wp_enqueue_script hook instead of get_header

2016-06-14 - version 2.7.19
* Fix - Product addons not applying to grouped products when using global addons.

2016-05-26 - version 2.7.18
* Tweak - Adjusts the 'Product Data' icon to use Dashicons
* Fix   - Ensure compatibility with bookings where the price was not affected by the cost multiplier.

2016-04-04 - version 2.7.17
* Fix - Options total/grand total does not work with "Free" product.
* Fix - Missing minified quickview.js.

2016-03-20 - version 2.7.16
* Fix - When fields are not required and left empty, prevented add to cart from working.
* Fix - Compatibility with Subscriptions title when addon is present.
* Tweak - Compatibility with Composite Products.
* Tweak - Clear addon fields when clear variations link is clicked.
* Tweak - Using custom multiplier if zero is entered, don't show addons in cart.
* Update - POT file.
* Remove - accounting.js file in favor of using the one that comes with WC core.

2016-01-26 - version 2.7.15
* Tweak - Show the price display suffix on the grand total.

2016-01-14 - version 2.7.14
* Fix - WooCommerce 2.5 compatibility.
* Fix - Made the 'required' tooltip translatable.

2015-11-24 - version 2.7.13
* Fix - Compatibility fix for WooCommerce Photography. The "select options" button should now lead to the correct screen when using WC Photography 1.0.6.
* i18n / translation updates

2015-11-06 - version 2.7.12
* Fix - Compatibility fix for WooCommerce Photography. Users can no longer add photography products to cart without filling any required add-on fields.
* Fix - The "default label" place holder now clears when you click into it.
* Fix - Fix toggle display on "global add-ons" page.
* Fix - Compatibility fix for WooCommerce Quick View. Prices with variations now quickly display the correct grand total on single product pages.

2015-09-29 - version 2.7.11
* Limit input element names in HTML to less than 64 characters to avoid issues on some hosts

2015-08-20 - version 2.7.10
* Automatically add a default option when a new add-on group is added to a product
* Prevent merchant from removing all options in a given add-on group
* Add custom email as an add-on field option
* Add custom letters only text, digits only text and letters and digits only text as add-on field options
* Add subscription period to add-on prices and totals for simple subscriptions too (not just those with variations)

2015-07-29 - version 2.7.9
* Fix - 2.4 compatibility.
* Tweak - Improved bundles/composite compatibility.
* Tweak - Don't auto select radio buttons.
* Tweak - add filter woocommerce_product_addons_validate_value

2015-07-04 - version 2.7.8
* Fix - Using the POST data to get the product ID caused issues with 3rd party plugins. The issue around grouped products this was added to fix needs to be tackled by a different approach. In this case we decided to..
* Tweak - Make children products inherit addons from the parent (e.g the grouped product parent).
* Tweak - Don't allow addons with required fields to be purchased from grouped product pages.

2015-07-03 - version 2.7.7
* Fix - Compatibility with OPC and other plugins which change the add to cart process.

2015-06-28 - version 2.7.6
* Fix - Only add file upload cost if a file was actually uploaded .

2015-06-19 - version 2.7.5
* Fix - Link product-level add-ons to grouped products when adding to cart
* Fix - Use the correct ID for validation
* Tweak - Allow plugins to hide grand total.

2015-05-27 - version 2.7.4
* Bookings compatibility.

2015-03-13 - version 2.7.3
* Fix duplicates when ordering again.

2015-03-02 - version 2.7.2
* Fix woocommerce_order_item_display_meta_value
* Fix totals calc when currency contains decimal.

2015-02-24 - Version 2.7.1
* Filter upload dir
* Upload attachments linked in the notification emails

2015-01-27 - version 2.7.0
* Renamed main file.
* Make addons script hookable.
* Added WC 2.3.0 compatibility.

2014-12-18 - version 2.6.11
* Reverted previous change

2014-12-12 - version 2.6.10
* Fixed unwanted capitalization on attribute label in order item details of thank you page.

2014-12-02 - version 2.6.9
* Fixed the checkbox add-ons when using re-order action.
* Fixed the file upload path on order confirmation page and order review page.

2014-11-28 - version 2.6.8
* Added hooks to allow Global Add-ons for custom taxonomies.
* Added compressed assets.

2014-09-01 - version 2.6.7
* Fix notices when ordering again.
* Hooks for WPML.

2014-07-21 - version 2.6.6
* input multiplier - Set default value to avoid "This must be a number!".
* Added POT file.
* wc_format_decimal needs to be used on save.
* Correct display after saving global addon.

2014-06-30 - version 2.6.5
* Fixed notices when re-adding item to cart.

2014-06-09 - version 2.6.4
* Fixed undefined variable.
* Fixed frontend option with zero price.
* Fixed undefined variable when custom textarea used.

2014-05-29 - version 2.6.3
* Implemented wc_input_price field for addon costs
* Show addon prices inc/ex tax based on shop settings.
* Additional filters.

2014-05-21 - version 2.6.2
* Fix text domains

2014-05-02 - version 2.6.1
* Fix closing label tags

2014-04-22 - version 2.6.0
* Extra filters for wider plugin compatibility
* Bookings support
* Class refactor
* Impoved 'order again' code
* Updated textdomain
* Fix conflict with quick view

2014-03-21 - version 2.5.6
* Fix upload dir when "subdir" is not set.

2014-02-23 - version 2.5.5
* Fix cart button text for required addons in 2.1

2014-02-20 - version 2.5.4
* Styling fixes

2014-01-16 - version 2.5.3
* 2.1 compat

2013-12-06 - version 2.5.2
* Check for subscription product type for add to cart urls

2013-12-06 - version 2.5.1
* Increased add_to_cart_text hook priority so that it applies to subscriptions too

2013-12-02 - version 2.5.0
* Removed legacy support
* Order again - restore addons

2013-10-10 - version 2.4.5
* Allow zero value for custom text inputs

2013-10-10 - version 2.4.4
* Only set addons to array when not set already

2013-10-10 - version 2.4.3
* Added min attribute when min is 0

2013-10-10 - version 2.4.2
* Prevent negative multiplier

2013-10-10 - version 2.4.1
* get_product_addons filter

2013-09-16 - version 2.4.0
* New custom input multipler field type which multiples an input value by the price. Thanks Andrew Beeken.

2013-09-08 - version 2.3.0
* Exclude products from Global Addons option

2013-08-22 - version 2.2.0
* Various tweaks to support composite products

2013-07-31 - version 2.1.3
* Corrected product type checking
* Unique class per addon

2013-07-23 - version 2.1.2
* Better compatibility with quick view

2013-07-18 - version 2.1.0
* Allow HTML in the addon descriptions
* Improved sanitization of posted options

2013-06-28 - version 2.0.9
* Global addons - include_children false so sibling category addons are not found.

2013-06-27 - version 2.0.8
* Rename addon totals string

2013-06-07 - version 2.0.7
* Change event on page load to show totals if needed
* Currency converter compatibility

2013-06-07 - version 2.0.6
* Labels are optional
* Select first radio element by default

2013-06-07 - version 2.0.5
* Variable product support when variations all cost the same

2013-06-07 - version 2.0.4
* Variable product support

2013-06-03 - version 2.0.3
* Fix global import

2013-05-31 - version 2.0.2
* get_woocommerce_price_format fallback
* Stripslashes fix

2013-05-29 - version 2.0.1
* Fix escaping of user defined data

2013-02-01 - version 2.0.0
* Complete rewrite for WooCommerce 2.0 with new interface.
* Global forms which can be applied to any product.
* Custom price inputs.
* More hooks for extending the plugin.
* Template based overrides for fields.
* Dynamic total cost display
* Removed upload size filter for the benefit of WP MU
* When required, select box default is "Select an option" rather than "None"
* Add to cart button on archives links to product page for products with required add ons
* Removed colon for text fields when label is empty
* required-product-addon class on wrapper div for required fields
* Add option to provide id for product_addons function

2013-02-09 - version 1.2.0
* WC 2.0 Compat

2012-12-04 - version 1.1.1
* New updater

2012-01-26 - version 1.1
 * Required fields
 * Textarea field type
 * File upload field type
 * Import/export forms between products
 * Validation hook - woocommerce_validate_posted_addon_data

2012-01-26 - version 1.0.2
 * Small plugin header update
 * Strip tags from prices/meta

2011.12.1 - version 1.0.1
 * Woo Updater
 * Hook change

2011-11-17 - version 1.0
 * First Release
