    = 3.0.0-beta.1 =
    * IMPORTANT: Requires WooCommerce 3.0+ WordPress 4.8+ and PHP 5.3+
    * FIX/PERFORMANCE: Rewritten handling of auto-coupons. Performance improvement
    * (PRO) ENHANCEMENT: Free products: Better handling and performance of cart ajax events
    * (PRO) FIX: Duplicate notices when enqueuing a coupon
    * INTERNAL: Removed code for backwards compatibility with WC versions prior to 3.0
    * INTERNAL: Rewritten boot-process. Class auto-loading. Code cleanup.

    = 2.6.3 =
    *Release Date - 2018-06-04*
    * FIX: WJECF_Controller: Don't use wp_get_current_user() for admin-orders
    * FIX: WJECF_Controller: Don't use WC()->cart->subtotal for admin-orders
    * FIX: Possible division by zero when calculating multiplier value
    * FEATURE: Filter 'wjecf_coupon_multiplier_value' to allow overriding the coupon's multiplier value

    = 2.6.2 =
    *Release Date - 2018-04-02*
    * FEATURE: Auto-coupon compatibility with the 'WooCommerce Free Gift Coupons'-plugin
    * FIX: CATEGORIES AND in combination with variable products
    * FIX: Call to undefined function wc_add_notice()
    * FIX: (PRO) First order purchase: Ignore cancelled/waiting for payment order statuses
    * FIX: (PRO) Auto updater plugins_api return $def instead of false

    = 2.6.1.1 =
    *Release Date - 2017-12-24*
    * FIX: (PRO) Possible crash on null reference in filter woocommerce_coupon_get_discount_amount

    = 2.6.1 =
    *Release Date - 2017-12-22*
    * German translation (Thanks to, Guido Hloch)
    * FIX: Use WC_Coupon::get_description (for translation plugins)
    * FIX: (PRO) ADMIN - Auto update: Allow multiple license activation
    * FIX: (PRO) ADMIN - Auto update: Removed invalid warning 'Invalid response block'

    = 2.6.0.2 =
    *Release Date - 2017-12-04*
    * FIX: Typo 'impode' (Thanks to Constantine for reporting)

    = 2.6.0.1 =
    *Release Date - 2017-12-02*
    * ADMIN: Fix: Changelog of plugin update screen

    = 2.6.0 =
    *Release Date - 2017-12-02*
    * ADMIN: Compatibility with coupons added on the Order page from wp-admin (requires WC3.3+)
    * ADMIN: Show 'settings' link on the plugin screen
    * INTERNAL: Moved debugging functions to WJECF_Debug. Use template/log.php for output rendering of the log
    * (PRO) FEATURE: Limit coupon to first time purchase only
    * (PRO) ENHANCEMENT: Free products: Better grid layout of the free product selector
    * (PRO) ENHANCEMENT: Free products: Auto submit of selection (works for inputs in container with class 'wjecf-auto-submit')
    * (PRO) FIX: Free products: Respect "sold individually" when adding free products to the cart
    * (PRO) FIX: Free products: WC2.6 compatibility (product->get_status())

    = 2.5.5.1 =
    *Release Date - 2017-11-07*
    * (PRO) FIX: 'Limit discount to' not applied correctly in combination with WC3.2.3

    = 2.5.5 =
    *Release Date - 2017-11-01*
    * (PRO) FIX: Free products: Removed unnecessary $lt;tr&gt; in cart / checkout table if no free product selection applies
    * (PRO) FIX: Free products: Preserve notices when updating cart after applying/removing a coupon
    * (PRO) FIX: Free products: Compatibility with Subscriptions plugin (prevent trigger of calculate_totals when adding free product to the cart)
    * (PRO) FIX: Free products: Compatibility with WPML plugin (translation of the free products)

    = 2.5.4 =
    *Release Date - 2017-09-23*
    * TWEAK: Get coupon description using WC_Coupon::get_description() to respect applicable filters (for example used by Polylang)
    * (PRO) FEATURE: Allow customer to remove 'Auto Coupons' from the cart (see settings page)
    * (PRO) FEATURE: Filter 'wjecf_get_limit_to_options' to allow adding custom 'Limit to'-options
    * (PRO) PERFORMANCE: Free products: Only load js and css when required
    * (PRO) FIX: Free products: "update cart"-button not automatically enabled after selecting a free product (in combination with certain themes (e.g. Flatsome)
    * (PRO) FIX: Free products: Prevent certain plugins from parsing attribute fields containing [products] as shortcode
    * (PRO) FIX: Limit discount to cheapest item failed in WC3.0 in combination with a percent discount
    * (PRO) FIX: Custom fields: Accept WC3.0 core fields (e.g. _price)
    * (PRO) FIX: PHP Warnings in WJECF_Pro_Admin_Auto_Update

    = 2.5.3 =
    *Release Date - 2017-06-12*
    * (PRO) FIX: Free products: Free product selection always visible on checkout-page
    * (PRO) FIX: Free products: JS error when using IE / Safari
    * (PRO) FIX: Free products: Cart contents was not updated when applying a coupon
    * (PRO) FIX: Free products: wjecf_free_product_amount_for_coupon not called for $max_quantity variable in the template

    = 2.5.2.2 =
    *Release Date - 2017-06-01*
    * (PRO) FIX: Documentation url
    * (PRO) FIX: Forgot to raise version number, causing a permanent 'An update is available'

    = 2.5.2.1 =
    *Release Date - 2017-06-01*
    * (PRO) FIX: Duplicate products at free product selection

    = 2.5.2 =
    * (PRO) FEATURE: Free product selection using checkboxes / numeric inputs
    * (PRO) FIX: Free product selection fails if coupon code contains a space
    * (PRO) FIX: CSS for column system used by the free product selection
    * DOCUMENTATION: Added the API part to the documentation (work in progress)

    = 2.5.1 =
    * FIX: Draft settings not being saved
    * FIX: PHP < 5.5 compatibility
    * FIX: Abstract_WJECF_Plugin log function
    * INTERNAL: Functions add_action_once / add_filter_once. To guarantee execution only once.
    * INTERNAL: Updated the API example; also usable from CLI
    * INTERNAL: Created Sanitizer for form data handling
    * INTERNAL: Reorganised coupon meta handling ( Abstract_WJECF_Plugin::admin_coupon_meta_fields )

    = 2.5.0 =
    * (PRO) FEATURE: Auto update!
    * (PRO) FEATURE: Checkbox 'Allow applying coupon when invalid'
    * (PRO) FEATURE: Custom message when applying a coupon which does not yet validate
    * FEATURE: Settings page
    * FEATURE REMOVED: Experimental feature 'Allow when minimum spend not reached' (Use 'Allow applying coupon when invalid' instead)
    * COSMETIC: Products tab is now 'Free Products' tab. Moved other items to the 'Usage restriction'-tab
    * FIX: Issue with 'Allow discount on cart with excluded items'
    * FIX: Notice if a free product without weight is added/removed to/from the cart
    * FIX: Deprecation notice in WJECF_AutoCoupon::sort_auto_coupons
    * INTERNAL: Introduced 'allow_overwrite_coupon_values'

    = 2.4.3 =
    * FIX: Customer selector WooCommerce 3.0.0 compatibility

    = 2.4.2.1 =
    * FIX: WooCommerce < 2.7 compatibility

    = 2.4.2 =
    * FIX: Invalid calculation of subtotal/quantity of matching product since WC 3.0.0
    * FIX: Missing "PRODUCT AND/OR" selector on Admin since WC 3.0.0 (Javascript)
    * FIX: WooCommerce version detection if woocommerce is not installed in /wp-content/plugins/woocommerce directory

    = 2.4.1 =
    * (PRO) FIX: Product selector compatability with select2 v4 (WooCommerce 3.0)

    = 2.4.0 =
    * FIX: WooCommerce 3.0.0 Compatibility
    * INTERNAL: Also load textdomain from WP_LANG_DIR/woocommerce-jos-autocoupon/woocommerce-jos-autocoupon-LOCALE.mo

    = 2.3.7.5 =
    * FIX: Limit usage to cheapest discounting the wrong product when the quantity of cheapest product was greater than 1.

    = 2.3.7.4 =
    * FIX: Combining add-to-cart and apply_coupon in a single querystring

    = 2.3.7.3 =
    * FIX: Invalid usage of get_plugin_data

    = 2.3.7.2 =
    * FIX: Backwards compatibility with WooCommerce < 2.5.0
    * INTERNAL: Introducing WJECF_WC() to maintain backwards compatibility

    = 2.3.7.1 =
    * (PRO) FIX: Bug in 'Limit discount to'

    = 2.3.7 =
    * PERFORMANCE: Admin could hang in some occasions on a jQuery-selector
    * FIX: Suppresed warnings were displayed by the Query Monitor plugin if pro files are missing
    * FIX: WPML Compatibility
    * FIX: Invalid textdomain in woocommerce_coupon_error (Thanks, 7o599)
    * (PRO) FIX: 'Limit discount to' skipped non-matching products on cart % discount
    * (PRO) FEATURE: Limit discount to every nth (matching) item in the cart

    = 2.3.6 =
    * FIX: Compatibility with WooCommerce < 2.3.0 for coupon by url
    * COSMETIC: On the admin page, moved AND/OR selector near the product/categories input
    * (PRO) FEATURE: Filter matching products by custom field.

    = 2.3.5 =
    * (PRO) FIX: Workaround for missing WooCommerce 2.6.3 constant WC_ROUNDING_PRECISION
    * (PRO) FIX: Refresh the cart when a coupon is applied/removed by AJAX (to add/remove free products)

    = 2.3.4 =
    * FIX: WooCommerce 2.6 and UPS / USPS Shipping method compatibility ( those plugins use : as separator )
    * FIX: Coupon by url (hook on wp_loaded instead of init)
    * FIX: Admin pages invalid parsing of Chosen inputboxes WooCommerce < 2.3.0
    * FIX: Free product on WooCommerce < 2.3.0
    * INTERNAL: Rewritten overwrite_success_message methods
    * (PRO) Ajax 'Apply coupon' support for free product selection on cart and checkout page. (OVERRIDEABLE TEMPLATE FILES UPDATED!)
    * (PRO) FEATURE: Remember coupons that are not valid when applying (on the cart page) and apply them automatically when they validate

    = 2.3.3 =
    * FIX: limit_usage_to_x_items: Removed call to get_discount_amount from coupon_has_a_value; it is redundant and caused limit_usage_to_x_items to change
    * (PRO) FEATURE: Filters wjecf_free_product_amount_for_coupon, wjecf_bogo_product_amount_for_coupon and wjecf_set_free_product_amount_in_cart
    * (PRO) FEATURE: Keep track of by-url-coupons (?apply_coupon=) and apply when they validate
    * (PRO) FIX: Experimental feature 'Allow discount on cart with excluded items' didn't work since 2.2.3
    * (PRO) FIX: Invalid free product quantity applied when using both BOGO and FREE products in a single coupon.
    * (PRO) FIX: limit_usage_to_x_items: Possible wrong discount on combination of limit_usage_to_x_items and \_wjecf_apply_discount_to

    = 2.3.2 =
    * FEATURE: Display custom error message when coupon is invalidated by this plugin
    * FIX: apply_coupon redirected to wrong url when home_url contained a subdirectory
    * FIX: Remove add-to-cart when redirecting for apply_coupon
    * FIX: Auto Coupon Backwards compatability for WooCommerce versions prior to 2.3.0 that don't have hook woocommerce_after_calculate_totals
    * TRANSLATION: Persian. Thanks to Ehsan Shahnazi.

    = 2.3.1.1 =
    * TRANSLATION: Brazilian Portuguese. Thanks to Francisco.

    = 2.3.1 =
    * FIX: WPML Compatibility for AND Products / AND Categories
    * FIX: Redirect to page without ?apply_coupon= after applying coupon by url
    * FIX: Auto coupon meta_query issue (thanks to hwillson)
    * FIX: Compatibility with WooCommerce prior to 2.2.9 (WC_Cart::get_cart_item)
    * (PRO) FIX: Free products: Add variant attributes to cart items for variable products
    * (PRO) FEATURE: Apply discount only to the cheapest product

    = 2.3.0 =
    * (PRO) FEATURE: Allow customer to choose a free product
    * (PRO) FEATURE: Setting the priority of auto coupons (Useful for Individual use coupons)
    * (PRO) FEATURE: Display extra columns on the Coupon Admin page (auto coupon, individual use, priority, free products)
    * (PRO) TWEAK: Free products: Display 'Free!' as subtotal for free products, (adaptable with filter 'wjecf_free_cart_item_subtotal' )
    * (PRO) FIX: Free products: Plugin wouldn't always detect the free products in cart and kept appending free products
    * (PRO) Introduction of the API for developers, see wjecf-pro-api.php
    * FEATURE: Filter to only display Auto Coupons on the Coupon Admin page
    * FIX: Compatibilty PHP 5.4
    * FIX: Rewritten and simplified Autocoupon removal/addition routine making it more robust
    * FIX: Multiplier value calculation (as for now only used for Free Products)
    * FIX: Coupon must never be valid for free products (_wjecf_free_product_coupon set in cart_item)
    * INTERNAL: Refactoring of all classes
    * INTERNAL: New log for debugging

    = 2.2.5.1 =
    * FIX: When checkbox 'Individual use' was ticked, Autocoupons would be removed/added multiple times

    = 2.2.5 =
    * (PRO) FEATURE: BOGO On all matching products
    * FIX: Changed WooCommerce detection method for better Multi Site support
    * (PRO) FIX: Free products: Fixed an inconsistency that could cause a loop on removal/adding of free variant products
    * (PRO) TWEAK: Free products: Hooking before_calculate_totals for most cases but also on woocommerce_applied_coupon, which is required when one coupon is replaced by another
    * INTERNAL: Check if classes already exist before creating them

    = 2.2.4 =
    * FEATURE: Online documentation added
    * FEATURE: Use AND-operator for the selected categories (default is OR)
    * FIX: Backwards compatibility with WooCommerce 2.3.7 (WC_Cart::is_empty)
    * FIX: Backwards compatibility with WooCommerce < 2.3.0 (WC_Coupon::is_type, Chosen in stead of Select2)

    = 2.2.3 =
    * (PRO) FEATURE: Allow discount on cart with excluded items
    * (PRO) FEATURE: Free products!
    * FEATURE: Allow coupon in cart even if minimum spend not reached
    * FEATURE: New coupon feature: Minimum / maximum price subtotal of matching products in the cart
    * COSMETIC: Admin Extended coupon features in multiple tabs
    * FIX: Create session cookie if no session was initialized when applying coupon by url
    * TWEAK: Auto coupon: Use woocommerce_after_calculate_totals hook for update_matched_autocoupons
    * API: New function: $wjecf_extended_coupon_features->get_quantity_of_matching_products( $coupon )
    * API: New function: $wjecf_extended_coupon_features->get_subtotal_of_matching_products( $coupon )

    = 2.2.1 =
    * FIX: Prevent mulitple apply_coupon calls (for example through ajax)
    * FIX: Don't redirect to cart when using WooCommerce's ?add-to-cart=xxx in combination with ?apply_coupon=xxx as this would prevent the application of the coupon.

    = 2.2.0 =
    * FIX: Lowered execution priority for apply_coupon by url for combinations with add-to-cart.
    * FEATURE: New coupon feature: Excluded customer role restriction
    * FEATURE: New coupon feature: Customer / customer role restriction
    * FEATURE: New coupon feature: Minimum / maximum quantity of matching products in the cart
    * FEATURE: New coupon feature: Allow auto coupons to be applied silently (without displaying a message)
    * TWEAK: Moved all settings to the 'Extended features'-tab on the admin page.
    * FIX: 2.0.0 broke compatibility with PHP versions older than 5.3
    * FIX: Changed method to fetch email addresses for auto coupon with email address restriction
    * FILTER: Filter wjecf_coupon_has_a_value (An auto coupon will not be applied if this returns false)
    * FILTER: Filter wjecf_coupon_can_be_applied (An auto coupon will not be applied if this returns false)
    * INTERNAL: db_version tracking for automatic updates
    * INTERNAL: Consistent use of wjecf prefix.
    * INTERNAL: Renamed meta_key woocommerce-jos-autocoupon to \_wjecf_is_auto_coupon

    = 2.0.0 =
    * RENAME: Renamed plugin from "WooCommerce auto added coupons" to "WooCommerce Extended Coupon Features"
    * FEATURE: Restrict coupons by payment method
    * FEATURE: Restrict coupons by shipping method
    * FEATURE: Use AND-operator for the selected products (default is OR)
    * FIX: Validate email restrictions for auto coupons
    * Norwegian translation added (Thanks to Anders Zorensen)

    = 1.1.5 =
    * FIX: Cart total discount amount showing wrong discount value in newer WooCommerce versions (tax)
    * Performance: get_all_auto_coupons select only where meta woocommerce_jos_autocoupon = yes (Thanks to ircary)

    = 1.1.4 =
    * Translation support through .mo / .po files
    * Included translations: Dutch, German, Spanish (Thanks to stephan.sperling for the german translation)

    = 1.1.3.1 =
    * FIX: Apply auto coupon if discount is 0.00 and free shipping is ticked

    = 1.1.3 =
    * Don't apply coupon if the discount is 0.00
    * Allow applying multiple coupons via an url using *?apply_coupon=coupon_code1,coupon_code2*

    = 1.1.2 =
    * Minor change to make the plugin compatible with WooCommerce 2.3.1
    * Loop through coupons in ascending order

    = 1.1.1 =
    * Tested with Wordpress 4.0

    = 1.1.0 =
    * Allow applying coupon via an url using *?apply_coupon=coupon_code*

    = 1.0.1 =
    * Don't add the coupon if *Individual use only* is checked and another coupon is already applied.

    = 1.0 =
    * First version ever!

« Previous