*** Dynamic Pricing Changelog ***
2022.01.08 - version 3.1.27
    * Correcting version number issue.

2022.01.08 - version 3.1.26
    * Fix:  Fix the sorting function to sort in the right direction.  Resolves issues with variations being discounted incorrectly.
    * Fix:  Fix problem with Membership rules not being cumulative with product specific rules.
    * Update:  Use current_datetime() rather than current_time() for date comparision.
    * Update:  Added, woocommerce_subscriptions_product_price filter to filter subscription price changes.
    * Update:  Only show discount price in the shop if the item is in categories to count for advanced product rules.
    * Update: WP and WC Version

2021.04.30 - version 3.1.25
    * Fix:  Update sorting functions for PHP 8.
    * Fix:  Update the way the jquery-sortable-ui is included.

2021.02.12 - version 3.1.24
    * Update: WP and WC Version

2020.12.15 - version 3.1.23
    * Update: WP and WC Version

2020.10.15 - version 3.1.22
    * Update: WP and WC Version

2020.08.21 - version 3.1.21
    * Fix:  Remove hardcoded value for num_decimals.
    * Update: Remove old compatibility file from the admin directory.

2020.08.18 - version 3.1.20
    * Update:  Allow variable products with a 0 based price to have their prices modified with a Fixed Price rule in the shop.
    * Update:  Allow variable products with a 0 based price to have their prices modified with the groups module.
    * Update:  Include modifications from WPML to allow translation of category rules.
    * Update:  Fix issue with simple pricing rules on variable products.
    * Update:  Fix an issue where prices reduced to 0 on variable products would not show the discount format after selecting a variation.
    * Update:  Fix an issue with empty prices being returned as 0.00 from Dynamic Pricing rather than an empty string.

2020.04.08 - version 3.1.19
    * Update:  Only show adjustments in the shop for advanced category rules when the product is in both the categories to count as well as the categories to adjust.

2020.03.30 - version 3.1.18
        * Fix:  Correct issue with discounts being show in the shop when minimum quantity was not reached.

2020.03.30 - version 3.1.17
    * Fix:  Correct issue with discounts being show in the shop when minimum quantity was not reached.

2020.03.27 - version 3.1.16
    * New: New filter to disable applying pricing rules in the shop when the quantity is 0, or 1.  Basically the adjustment will only show up in the cart.
        add_filter('woocommerce_dynamic_pricing_show_adjustments_in_shop', '__return_false');
    * Update:  Allow 0 based fixed prices to set the price of the product in the shop.
    * Update:  New filters to allow for custom taxonomy modules for processing.  Used specifically for variation attribute targeting.

2019.07.23 - version 3.1.15
    * Fix:  Fix issue when applying special offer discounts to specific variations based on variation quantity count.
    * Update:  Added the ability to add a percentage greater than 100 in the order total module to add a percentage up-charge.
    * Fix:  Fix issue in 3.1.14 where apache was throwing headers already sent errors due to a space before the opening <?php tag

2019.07.22 - version 3.1.14
    * Update:  Modify plugin url to allow for symlinks.
    * Update:  Update Membership Plan selector to the enhanced WC select box.
    * Update:  Allow percent increases for product prices for simple rules.
    * Update:  Add woocommerce_dynamic_pricing_get_rule_amount to the simple groups module.
    * Update:  Modify rules so that rules which are based on quantity of 1 will show in the store before adding to the cart.

2019.01.07 - version 3.1.13
    * Fix:  Fix issue where rules were being loaded for roles other than the logged on users role.

2019.01.03 - version 3.1.12
    * Fix:  Fix issue where discounted prices were being shown when in an invalid state.

2019.01.02 - version 3.1.11
    * Update:  Fix date ranges so they are localized to the WordPress time.
    * Update:  Update date range calculation to be inclusive.  Sales start at 00:00:01 and end at 23:59:59 on the selected dates.
    * Update:  Modify some labels to maintain consistency.
    * Update:  If cart item has deposits set, return the price being requested so deposit prices are not filtered twice.
    * Update:  Add WooCommerce Product Options totals back onto products with Fixed Price adjustments.

2018.10.23 - version 3.1.10
    * Update:  Check for null cart items in sorting function.  Should never happen unless a plugin or theme is incorrectly loading the cart.
    * Update:  Tested to WC 3.5

2018.10.08 - version 3.1.9
    * New:  Included a new collector module to allow inclusive ( AND ) for advanced category rules.  Since this is a unusual use case a filter is needed to enable.
        -- add_filter('wc_dynamic_pricing_get_collector_object', function($collector, $type) { return 'WC_Dynamic_Pricing_Collector_Category_Inclusive'; }, 10, 2);
    * Fix:  Include check that categories have been selected before attempting count.

2018.09.18 - version 3.1.8
    * Update:  Added an argument to the quantity collector filter, which now passes in the rule set.
    * Update:  Properly sort cart items for discounting in ascending order.
    * Update:  Use multiselect fields instead of checkboxes in Advanced Category Rules.
    * Update:  Use multiselect fields instead of checkboxes in Advanced Product Rules.
    * Update:  Use multiselect fields instead of checkboxes in Order Total Pricing.
    * Update:  Use variation names instead of variation ID's only in Advanced Product Rules.
    * Fix: Fix issue with the woocommerce_dynamic_pricing_count_categories_for_cart_item filter where the wrong cart item was being passed.

2018.08.03 - version 3.1.7
    * Update: Include 0 based pricing for advanced category rules when using Groups.
    * Fix:  Fix issue where Mix and Match product children product titles were incorrectly being set to the parent name.
    * New:  Allow WooCommerce Memberships to be used for advanced pricing rules, "Applies To".
    * Fix:  Double check a variations parent exists before getting it's categories.

2018.04.25 - version 3.1.6
    * Fix:  Fix issue where prices were not discounted in the shop for Variable Subscription products.
    * Update:  Add filter to disable cumulative simple rules.  add_filter('woocommerce_dynamic_pricing_is_cumulative', '__return_false');
    * Update:  Skip cached prices when $force_calculation is passed into on_get_price();
    * Update:  Don't preform tax calculations on fixed price adjustments, WooCommerce already does the calculations for us.

2018.02.09 - version 3.1.5
    * Fix:  Non repeating advanced product special offer rules calculations when the Receive quantity is larger than the cart item quantity.
    * Update:  Check cart exists in context tracker before use.
    * Fix:  Fix issue with mini cart again for WC 3.3.1

2018.02.01 - version 3.1.4
    * Fix:  Fix category counter for WC < 3.0
    * Fix:  Check for a valid cart item in the counter before counting categories.
    * Fix:  Fix Advanced Category Rules where decimal separator is a comma.
    * Update: Update tested to WC 3.3.0, WP 4.9.2, copy @ 2018

2017.11.22 - version 3.1.3
    * Fix:  Check product exists before attempting to load pricing rules.
    * Update:  Added filter, wc_dynamic_pricing_flag_is_on_sale, to indicate if the extension should flag adjusted products as on sale.
                default is true.
    * Update:  Added filter, wc_dynamic_pricing_check_coupons, to determine if Dynamic Pricing should check coupons excluding sale items for discounts.
                default is true.
    * Update:  Add full ability to use custom taxonomies as discount types.
    * Fix:  Fix custom taxonomy counting for all custom taxonomies, including Product Brands.
    * Fix:  Added compatibility with WC 3.2.4, 3.2.5


2017.10.24 - version 3.1.2
    * Fix: Fix mini-cart refresh since WC 3.2

2017.10.03 - version 3.1.1
    * Fix:  Fix issue where Special Offer rules were not set as valid for valid users.
    * Update:  Added .pot files for translators

2017.08.29 - version 3.1.0
    * Update:  No longer need to force re-calculate totals on session loaded, fixes issues with VAT Number Extension.

2017.07.24 - version 3.0.12
    * Update:  Update woocommerce_dynamic_pricing_process_product_discounts in advanced totals with correct parameters.

2017.07.18 - version 3.0.11
    * Fix:  Fix integration with Product Bundles.  Important Update

2017.07.17 - version 3.0.10
    * Fix:  Fix deprecated warning for $coupon->exclude_sale_items();
    * Fix:  Fix issue where advanced category discounts would not accept 1% as the discount amount.
    * Fix:  Fix issue where bundled products not priced individually would have rules applied when part of a bundle.
    * Fix:  Add woocommerce_dynamic_pricing_process_product_discounts filter to special offer advanced category discount rules.

2017.06.08 - version 3.0.9
    * Update:  Cache loaded product rules for performance improvements.
    * Update:  Update text domain to woocommerce-dynamic-pricing.
    * Update:  Localize all strings in the admin interface.

2017.05.24 - version 3.0.8
    * Update:  Fix issue with WC < 3.0 and WooCommerce Membership Discounts
    * Update:  Fix issue with the transient caching of variable products for different roles.
    * Update:  Compatibility with Subscribe All The Things 2.0

2017.04.26 - version 3.0.7
    * Update:  Better compatibility with Product Bundles.

2017.04.21 - version 3.0.6
    * Fix:  Patch to correct for error in WC < 3.0 where $product->get_parent() does not actually return the parent.

2017.04.18 - version 3.0.5
    * Fix:  Correct fatal error on variable products for older WooCommerce versions less than 3.0.0

2017.04.17 - version 3.0.4
    * Update: Switch context to use spl_object_hash
    * Fix:  Call get_price on cart items in edit mode to prevent extensions from applying duplicate modifications to the cart item price.
    * Fix:  Call get_price in get price to discount in edit mode to prevent subscriptions from applying the subscription price twice.
    
2017.04.10 - version 3.0.3
    * Fix:  Fixes and issue with Composite products displaying incorrect cart line item totals.

2017.04.05 - version 3.0.2
    * Fix:  Correct issue where 0 based discounts for variable products where not properly reflected in the catalog or single product page.

2017.04.04 - version 3.0.1
    * Fix:  Correct issue with invalid WC 3.0 delete_meta method.
    * Fix:  Correct issue with invalid WC 3.0 update_meta method.
    * Fix:  Correct deprecated get_product warning in admin.
    
2017.03.28 - version 3.0.0
    * Update:  Front End WC 2.7 Ready

2017.02.15 - version 2.12.3
    * Fix:  Fix issue where Product Brand discounts would not calculate when using advanced rules and having more than one quantity in the cart.

2016.12.29 - version 2.12.2
    * Fix:  Fix issue when using multiple rules, with role selection and selecting a label from one rule set selected the role from another.  #23
    * Fix:  Fix issue where the dates for advanced category rules were not respected in the shop page.
    * Fix:  Fix issue with Composite Products support where prices in the cart were displayed as 0.
    * Update:  Cache product discounts from the store so it does not have to be re-calculated every single time.

2016.12.07 - version 2.12.1
    * New:  Allow the use of Product Brands to be used to configure discounts.  Both simple brand and advanced brand discounts are available to configure
    * Update:  Allow the memberships first configuration to work with Advanced Category rules in addition to Advanced Product Rules.
    * Fix:  Correct an issue where a user was logged out and was not receiving regular discounts when using Memberships in conjunction with processing membership rules first.
    * Update:  Clear the cart counter when empty cart is triggered.  Resolves issues with quantities being incorrect if manually loading a cart from saved data.

2016.11.15 - version 2.12.0
    * Update: Added a custom integration for WooCommerce Memberships to allow membership discounts to be applied before Dynamic Pricing discounts.
                The default is that Memberships will apply discounts on top of anything Dynamic Pricing has already done.  This update allows you to change this by
                using the following filter.   To use this add it to your functions file, or elsewhere you have custom code.

                add_filter('wc_dynamic_pricing_apply_membership_discounts_first', '__return_true');

2016.11.03 - version 2.11.8
    * Update:  Use local date time for dynamic pricing date time and set the start time to 00:00:00.

2016.08.29 - version 2.11.7
    * Fix:  Run on_get_price filter for product shortcodes.  Required since 2.11.2 when we removed the price HTML filters.
    * Update:  Disable cart coupons which are set to exclude sale price items.

2016.08.05 - version 2.11.6
    * Fix:  Run on_get_price filter when is_shop is true.  Required since 2.11.2 when we removed the price HTML filters.

2016.07.29 - version 2.11.5
    * Fix:  Installer issue on WC 2.5.5 and below.
    * New:  Filter to get custom pricing rules for a cart item when using advanced product discounts.  Filter was added
            to support future updates which add better support for composite products.

2016.07.21 - version 2.11.4
    * Fix:  Correct issue with advanced category discounts displaying on sale when the discount hasn't started yet.
    * Fix:  Correct issue with advanced product discounts displaying on sale when the discount hasn't started yet.
    * Fix:  Correct issue with the mini cart not recalculating it's subtotal.

2016.07.07 - version 2.11.3
    * Update:  Compatibility with WooCommerce Deposits.

2016.06.26 - version 2.11.2
	* Update:  No longer need to filter price HTML for variable products.  
		   Change from 2.11.1 which calculates the individual variation prices will cause WC Core to correctly display the correct details. 
	* Fix:  Fix rule builder for block rules when adding more than one special offer row.
    * Change:   Percentage discounts are now calculated using the exact amount you enter.  Previously you could enter in 50 OR .5 in the
                amount box and the result would be 50% discount.
                Now if you enter in .5 or 0.5 you will actually be getting a half a percent discount.
                Please review your rules if you have previously entered in things like .5 for a 50% discount.   If you now want to
                have a 50% discount the amount must read 50, not the previously allowed value of .5


2016.06.14 - version 2.11.1
	* Fix:  Better handling of sale prices for Variable and Variable Subscription products.   Prevents the sale badge from 
		showing up when the product isn't actually on sale or affected by Dynamic Pricing. 
	* Update:  Include filter for woocommerce_variation_prices_price to allow WC to properly show strike though Variable prices
		   if Dynamic Pricing has modified the prices. 

2016.05.18 - version 2.11.0
	* Update:  Add compatibility with WooCommerce Memberships when using discounts from Dynamic Pricing and Memberships. 
	* Update:  Override rules on checkout when user creates an account while checking out.  This will cause whatever rules they had applied
			or not applied to still be correctly applied even if they create an account which would actually trigger rules for logged in users 
			during the final order creation process.  This update changes that so rules applied on the checkout screen are the same which are applied
			on order creation. 
	* Note: WC 2.6 Ready

2016.04.01 - version 2.10.13
	* Update:  Disallow coupon use when an item is discounted with Dynamic Pricing and a coupon is set to exclude sale price items. 
	
2016.01.05 - version 2.10.12
	* Update:  Allow stacking of order total rules using the filter:  add_filter('wc_dynamic_pricing_stack_order_totals', '__return_true');

2015.12.07 - version 2.10.11
	* Update:  Correct issue when using simple modules and the result price is 0. Will correctly display "Free" now. 

2015.11.30 - version 2.10.10
	* Update:  Check if product is present inside of price html functions.  Resolves conflict with Free Gift plugin. 

	
2015.09.25 - version 2.10.9
	* Feature: Added filter for woocommerce_is_on_sale to return correct value when Dynamic Pricing has been applied. 
	
2015.09.25 - version 2.10.8
	* Fix:  Allow the decimal character to be entered in the amount field for advanced product rules. 
	
2015.09.02 - version 2.10.7
	* Update:  Allow 0 for the minimum order total for the Advanced Order Total module. 
	
2015.08.19 - version 2.10.6
	* Update:  Update simple category tab description. 
	
2015.08.10 - version 2.10.5
	* Update:  Enhance the filters for woocommerce_dynamic_pricing_is_cumulative to account for simple rules and their display in the main shop pages. 
	* Fix:     Always filter modules before use anywhere 
	
2015.07.24 - version 2.10.4
	* Update:  Clean up the variation selector for advanced product rules. 
	* Update:  Add a flag to the on_get_price filter so other extensions can call that function directly. 
	* Update:  Allow composite products to correctly reflect prices when optional products are used. 

2015.07.24 - version 2.10.3
	* Fixes issue with discount being calculated twice when the order is placed. 
	
2015.07.16 - version 2.10.2
	* WC 2.4 Compatibility
	* New Feature:  Added "Guest" to the selection box for Applies To.  This will allow rules to target unauthenticated users only. 
	* Update:  Allow the get_price filter to function on both is_product() and AJAX calls.  Fixes compatibility with composite products. 
	* Update:  Compatibility update for Composite Products. 
	* Update:  Correct CSS issues with the date fields. 
	* Fix:  When using 0 based advanced category rules only show the discount if the item is a target category, not a source category. 
	* Fix:  Fixes an issue where the mini-cart would display the wrong discount and total amount after quantities were changed.  
	* Fix:  Fixes an issue where the mini-cart would calculate the discount twice. 
	
2015.06.08 - version 2.10.1
	* Update:  Add in missing translation string. 

2015.05.27 - version 2.10.0
	* Update:  Don't apply block discounts to items which are already free. 
	
2015.05.19 - version 2.9.12
	* Update:  Add the current cart item array to the filter woocommerce_dynamic_pricing_process_product_discounts
	
2015.05.06 - version 2.9.11
	* Update:  Use wordpress current_time() rather than time() to get the correct system time. 
	
2015.04.10 - version 2.9.10
	* Update:  Added check before accessing the cart_contents variable.  Some themes incorrectly set this as a string when it's empty. 
	
2015.03.23 - version 2.9.9
	* Fix:  Remove double processing error from Groups module when using 0 based discount.  The groups module was processing individual product rules on top of the price calculated by simple_product. 
	* Fix:  Typo in adjustment_set referencing data_from rather than date_from. 
	
2015.03.09 - version 2.9.8
	* Update:  Update the way simple membership rules display on shop and archive pages.  Allow Dynamic Pricing to calculate the min / max prices of 
		variations. 
		
2015.02.28 - version 2.9.7
	* Fix:  Remove warning about missing date from adjustment set processing. 
	* Cleanup: Remove closing PHP tags. 
	* Cleanup: Format all source files according to WordPress coding standards. 
	
2015.02.25 - version 2.9.6
	* Tweak:    Undo change from 2.9.3 in situations where we are using category or product counts. 

2015.02.24 - version 2.9.5
	* Feature:  Added woocommerce_dynamic_pricing_process_product_discounts to the advanced category module.  
	* Feature:  Added configurable titles to advanced category pricing for admin dashboard reference. 
	* Feature:  Added configurable titles to advanced total pricing for admin dashboard reference. 

2015.02.17 - version 2.9.4
	* Fix:  Resolves problems with the subtotal in the cart widget. 
	* Feature:  Added filter woocommerce_dynamic_pricing_count_categories_for_cart_item.  Can be used to exclude cart items from counting towards a category total.  
			Used primarily for excluding Bundled Products which have per item pricing. 
			Filter:  woocommerce_dynamic_pricing_count_categories_for_cart_item
			Parameters:  
				$include:  If the cart item should include itself in category counts. 
				$cart_item:  The cart item being checked. 
				$cart_item_key:  The key of the cart item being checked. 
	
2015.02.05 - version 2.9.3
	* Fix:  Fix calculations when using block pricing and fixed prices. 
	* Update:  Compatibility with Paypal Express to fix rounding problems. 

2015.02.03 - version 2.9.2
	* Updates to on_get_variation_price to allow for when the function is called with some missing parameters from some custom themes. 
	
2015.01.28 - version 2.9.1
	* Added woocommerce_dynamic_pricing_process_product_discounts to the groups module. 
	
2015.01.03 - version 2.9.0
	* Updates to show prices in discount format when the discount result is free. 
	* Added category filter and category targets to the advanced order total module. This allows order total discounts
		to be applied only when a specific amount of products categories is ordered and allows the selection of 
		which products should receive the order total discount. 
	* Removed redundant price filters for variable and grouped products. 
	* Update to show the lowest prices for a variation when 0 based product or category rules are used. 
	* Update to remove validation from product rule inputs. Seems to cause problems in other languages. 
	* Update to enqueue scripts for dynamic pricing properly with WooCommerce >= 2.3
	* Updates for WooCommerce to remove the 'discounts' key from the cart when it is loaded from the session with WooCommerce >= 2.3
	* Update for the admin icon on the product edit dashboard with WooCommerce >= 2.3
		
2014.12.16 - version 2.8.0
	* Update advanced category counter to correctly count quantities when the targets and source categories are different. 
	* Only process rules when 1 or more of either clean or mixed souce quantities are found. 
	
2014.12.01 - version 2.7.9
	* Add in the WooCommerce Price Suffix when displaying discounted prices in the shop. 
	* Allow for the decimal separator for thousands. 

2014.11.25 - version 2.7.8
	* Run all pricing module amounts through number normalization functions.  Uses the WooCommerce currency settings for decimal separators.

2014.11.18 - version 2.7.7
	* Fixes issues with variation discounts being displayed as discounted twice. 

2014.11.12 - version 2.7.6
	* Fix widget price display when using simple rules. 
	
2014.11.04 - version 2.7.5
	* Enable proper display of 0 based advanced product rules on variable products when more than one rule present and those rules apply to different variations. 

2014.10.30 - version 2.7.4
	* Enable 0 based product rules on archive pages when the product rule is applied to specific variations.   Checks if is_single() before checking if the 
		variation id matches. 

2014.09.22 version 2.7.3
	* Added filter, wc_dynamic_pricing_get_use_sale_price, to control if the discount should be applied to the sale price or to the regular price. 
		Use apply_filters('wc_dynamic_pricing_get_use_sale_price', '__return_false'); to use regular prices for discounts. 

2014.09.11 - version 2.7.2
	* Update 0 based advanced category display to only use bulk rules and to verify from is set to 0. 
	
2014.09.03 - version 2.7.1
	* Added filter wc_dynamic_pricing_get_product_pricing_rule_sets to allow filtering of advanced product rule sets which get applied to a product. 
	
2014.08.28 - version 2.7.0
	* Added support for 0 based advanced category rules.  Will show the discounted price on the shop when product is in 
		"Categories to apply adjustment to" and the first rule is configured From 0. 

2014.08.19 - version 2.6.1
	* Added better support for Google Rich Snipplets when displaying prices adjusted by simple modules. 

2014.08.01 - version 2.6.0
	* Updated price display for fixed prices in shop to respect tax display settings. 
	* Added filter wc_dynamic_pricing_price_html to filter the returned HTML, same as woocommerce_price_html

2014.07.24 - version 2.5.9
	* Updated single product price display to respect the tax display settings. 
	
2014.07.22 - version 2.5.8
	* Fixed bug in advanced product module when using category counts and choosing sub-categories as the source of the 
		calculation. 
	* Added filter - wc_dynamic_pricing_apply_cart_item_adjustment to control the amount of discount which will actually be applied. 

2014.06.30 - version 2.5.7
	* Modified advanced category function from private to protected. 

2014.05.27 - version 2.5.6
	* Added woocommerce_dynamic_pricing_process_product_discounts to simple category discounts. 

2014.04.23 - version 2.5.5
	* Fix to allow using the filter wc_dynamic_pricing_load_modules to move advanced category rules before other rules. 

2014.03.25 - version 2.5.4
	* Added consistent filters to the group module. 
	* Added filter for simple product rules. 
	* Added additional category ID parameter to filter, woocommerce_dynamic_pricing_is_applied_to for simple category module. 

2014.02.13 - version 2.5.3
	* Filter advanced category adjustment rules prior to processing to improve performance. 
	* Update styles for role and variation selectors on edit product page. 
	* Update styles for 2.1 on edit product page. 

2014.02.01 - version 2.5.2 
	* Added 'woocommerce_dynamic_pricing_apply_cartitem_adjustment'  when an adjustment is applied to a cart item.  


2014.01.14 - version 2.5.1
	* Request:  Removed auto-generated set ID each time the product panel was loaded. Allows for better importing and exporting 
		of Advanced Product Rules. 

2014.01.07 - version 2.5.0
	* Added filter to disable showing prices in strike through, discount format.  
		Use apply_filters('wc_dynamic_pricing_use_discount_format', '__return_false') to disable. 
		
	* Updated display logic for variable product price.  	
	* Fixed warning when deleting all advanced product rules from a product. 
	
	* 2.1 Compatibility
		* Added compatibility class.
		* Added compatibility for product tab icons.
		* Changed from woocommerce_cart_item_price_html to woocommerce_cart_item_price.
		* Changed woocommerce_price to use compatibility method. 

2013.12.30 - version 2.4.4
	* Update to fix problem with simple category rules not saving and getting incorrect settings when categories were removed or added. 
	* Update to advanced product rules to change the ID for the inputs / labels to prevent changes in the second ruleset from changing the first. 
	* Update to remove special handling of text input on the advanced product rules. 

2013.12.21 - version 2.4.3
	* Compatibility with WooDeposits.  Check if cart item key exists before attempting to use the cart item.   

2013.12.19 - version 2.4.2
	* Show categories in hierarchical format on Simple Category rules screen. 

2013.12.08 - version 2.4.1
	* Added check to make sure product categories are present before allowing access to the Category rules screens. 
	* Added filter to filter the number of decimal places Dynamic Pricing uses to calculate prices.  woocommerce_dynamic_pricing_get_decimals

2013.11.11 - version 2.4.0
	* Added date range filters for advanced product, advanced category and order total pricing.  Thanks to Illimar Tambek illimar@divid.ee for the patch. 
	* Added filter, woocommerce_dynamic_pricing_process_product_discounts, to order total pricing.  Allows exclusion of items that make up the total
		to be discounted. 
	
2013.10.01 - version 2.3.10
	* Only enqueue cagegory scripts on the dynamic pricing settings page. 

2013.09.18 - version 2.3.9
	* Modified advanced product when using either cart line item quantity or quantity of product for both repeating and 
		non-repeating rule types. 
        * Admin:  Added collapsible advanced category and order total rules.  
        * Allow for empty or * to signify unlimited amount in advanced rules Max Quantity fields. 

2013.08.22 - version 2.3.8
	* Update: Spelling error
	* Fix: Correct processing of order totals with multiple rules, when the first item discounted reduced the overall cart price
		enough to stop the remaining rules from processing. 

2013.08.03 - version 2.3.7
	* Update: Sum of category and variable products compatibility
	* Update: Adjustment to the woocommerce_dynamic_pricing_process_product_discounts filter to better handle products 
			which are on sale. 
	* Update: Support for multiple, combined, sepcial offer and bulk category pricing rulesets

2013.07.24 - version 2.3.6
	* Update ( 1 ) : Added the woocommerce_dynamic_pricing_process_product_discounts filter to simple membership module. 
	* Update ( 2 ) : Added Free price text for simple modules that have a discounted price that equals 0

2013.07.15 - version 2.3.5
	* Fix:  Advanced Category pricing was not correctly calculating prices for some more advanced quantity configurations. 

2013.06.29 - version 2.3.4
	* Update: Re-enable discount price display throughout the store on all products when rules apply. 

2013.06.23 - version 2.3.3
	* Update:  Show discounts on variation price HTML when specific variations are targeted. 
	* Fix: Show correct product price in cart with strike through. 

2013.06.13 - version 2.3.2
	* Fix: Update for special offer advanced category pricing to process various edge case combinations correctly. 

2013.06.05 - version 2.3.1
	* New: Added Groups plugin support to all advanced rules. 

2013.06.04 - version 2.3.0
	* New:  Added Simple Group module for the Groups Plugin

2013.05.30 - version 2.2.8
	* Update:  Add filter for loading the modules and the sort order of the modules that will be used to apply a discount. 
	* Example Usage:  Apply membership discounts first, then process advanced product rules. 
		add_filter('wc_dynamic_pricing_load_modules', 'custom_dynamic_pricing_module_order');
		function custom_dynamic_pricing_module_order($modules) {
			$modules = array();

			$modules['advanced_category'] = WC_Dynamic_Pricing_Advanced_Category::instance();
			$modules['simple_product'] = WC_Dynamic_Pricing_Simple_Product::instance();
			$modules['simple_category'] = WC_Dynamic_Pricing_Simple_Category::instance();
			$modules['simple_membership'] = WC_Dynamic_Pricing_Simple_Membership::instance();
			//Move advanced product below simple membership
			$modules['advanced_product'] = WC_Dynamic_Pricing_Advanced_Product::instance();
			$modules['advanced_totals'] = WC_Dynamic_Pricing_Advanced_Totals::instance();

			return $modules;

		}

		add_filter('woocommerce_dynamic_pricing_is_cumulative', 'custom_dynamic_pricing_cumulative', 10, 4);
		function custom_dynamic_pricing_cumulative($default, $module_id, $cart_item, $cart_item_key) {
			if ($module_id == 'advanced_product') {
				return true;
			} else {
				return $default;
			}
		}

2013.05.29 - version 2.2.7
	* Fix: Version 2.2.7 - Block category discounts when discount number was bigger than the required amount. 
	* Update: Use a new field, display price, to show the source price.  Fixes a problem with prices that included tax displaying incorrectly. 

2013.05.24 - version 2.2.6
    * Update:  Added woocommerce_dynamic_pricing_process_product_discounts filter to the advanced product module. 

2013.05.24 - version 2.2.5
    * Fix:  Multiple advanced category rules were only processing the first rule. 

2013.05.15 - version 2.2.4
    * Update:  Further modification to category calculations so that one item in multiple categories is only counted once. 

2013.05.06 - version 2.2.3
    * Fix: Fixed pricing rules on advanced products with special offer + buy 1 get 1 repeating. 

2013.05.01 - version 2.2.2
    * Update: Modification to category calculations so that one item in multiple categories is only counted once. 

2013.04.29 - version 2.2.1
    * Update:  Use WooCommerce Decimal Count for all calculations

2013.04.09 - version 2.2.0
    * Added support for simple rules + gravity forms display. 

2013.03.22 - version 2.1.2
 * Advanced Category Special Offer Tweak for Quantities

2013.03.23 - version 2.1.1
 * Cart Line Item Quantity in Advanced Categories
 

2013.03.22 - version 2.1.0
 * Dynamic pricing will now update all cart widgets properly. 
 * WC 2.0 Compatibility with Tax Display in Cart. 


2013.03.12 - version 2.0.2
* Multiple rulesets and individual target variations were not picking the correct ruleset. This has been resolved. 

2013.03.06 - version 2.0.1
* Updated location of enqueued legacy assets

2013.03.01 - version 2.0
* Release version for WC 1.6, WC 2.0
* Added compatibility for WooCommerce 2.0
* Added buy x adjust y style adjustments to advanced product rules.  This extends Dynamic Pricing from just bulk based pricing adding functionality required to add buy one get one type rules.
    This feature will allow you to continue to use Bulk based pricing on advanced product rules, or configure special Offer based discounts, allowing users to purchase a set number of items at full price and then receive a set number at a discount.
* Added buy x adjust y style adjustments to advanced category rules.  This extends Dynamic Pricing from just bulk based pricing adding functionality required to add buy one get one type rules.
    This feature will allow you to continue to use Bulk based pricing on advanced category rules, or configure special Offer based discounts, allowing users to purchase a set number of items at full price and then receive a set number at a discount.
* Added targets to advanced category rules, allowing you to discount a quantity which is different from the quantity that was used to build the required amounts to trigger the adjustments.
*Changed the way prices are modified so that dynamic pricing does not adjust the base price of the product until much later in the processing of the cart.  This allows add-ons to participate in dynamic pricing.
* Added missing localization strings on admin pages.


2012.12.03 - version 1.6.1
* Fixed settings save error for shop managers

2012.12.03 - version 1.6.0
* Added a filter - woocommerce_dynamic_pricing_process_product_discounts which allows products to be excluded from discount eligibility.
* Example use of the filter:
    add_filter('woocommerce_dynamic_pricing_process_product_discounts', 'is_product_eligible', 10, 4);
    function is_product_eligible($eligible, $product, $discounter_name, $discounter_object) {
        if ( $product->is_on_sale() ) {
            $eligible = false;
        }

        return $eligible;
    }
* New updater

2012.09.11 - version 1.5.0
* Updated the way quantities are calculated for Advanced Category Pricing.  Products in multiple categories are only counted once now.  Before
this update a product in the cart with a quantity of 5 and when that product was in two categories would set the quantity for matching to 10.  This update changes that behavior and the product will report to dynamic pricing a quantity of 5.

2012.09.05 - version 1.4.5
*Fixed issue with simple category rule and the display of variation prices.

2012.08.02 - version 1.4.4
*Fixed is admin check to account for the AJAX update order totals action

2012.06.22 - version 1.4.3
*Fixed is admin check to account for the AJAX update order totals action

2012.06.22 - version 1.4.2
*Added filters to allow filtering the price begin discounted.
*Fix cumulative membership rules catalog price display.

2012.06.21 - version 1.4.1
*Fixed missing files issue.

2012.06.21 - version 1.4
*Added ability to configure cumulative rules with a filter.   The filter is woocommerce_dynamic_pricing_is_cumulative, and takes three arguments.  Argument 1: current filter value, Argument 2: the name of the discounter asking if it should be cumulative, Argument 3: the cart item being discounted.

2012.06.14 - version 1.3.1
*Fixed issue with multiple category rules

2012.06.14 - version 1.3
*Added ability to process 0 quantity product based rules

2012.03.12 - version 1.2
*Fixed references
*Fixed multiple category rule processing

2012.02.08 - version 1.1.1
* Removed references
* Notices

2012.02.08 - version 1.1
* Added support for discounts based on order totals
* Added additional option for how Advanced Category Pricing calculates it's total quantities used when applying price adjustments.
* Label fix

2012.02.07 - version 1.0
 * First release
