Plugin changelog

3.0.2 – 20/Oct/2023

  • FIX: Fix a regression in version 3.0.0 when identifying how many items to add to the cart for a licence renewal with variable products
  • TWEAK: Declare plugin compatible with cart/checkout blocks

3.0.1 – 29/Sep/2023

  • FIX: Version 3.0.0 introduced a regression in the parsing of the number of licence entitlements stored in custom fields on variable products, resulting in variations wrongly being given 1 licence in situations where more than 1 was indicated
  • TWEAK: Replace use of string style deprecated in PHP 8.2
  • TWEAK: Update updater class to latest series

3.0.0 – 06/Jul/2023

  • FEATURE: Supports WooCommerce high-performance order storage (

2.9.0 – 17/Jun/2023

  • TWEAK: Remove obsolete WooCommerce compatibility code (for versions not supported for a long time)
  • TWEAK: Correct formatting of headings in changelog

2.8.9 – 19/Apr/2023

  • FIX: Incorrect handling of -1 indicating an unlimited-time licence in meta-key processing
  • TWEAK: Remove an obsolete compatibility call

2.8.8 – 14/Sep/2022

  • TWEAK: Correct wrong variable reference when adding an order note for an updated download link

2.8.7 – 01/Sep/2022

  • FEATURE: After a renewal purchase is made, all renewed sites will be requested to check for plugin updates
  • FIX: Incorrect order note status when receiving unlimited-licence non-renewal purchases. It stated 'Product entitlement renewed' instead of 'Product entitlement added'
  • TWEAK: Prevent a fatal error if a product could unexpectedly not be found

2.8.6 – 02/Apr/2022

  • TWEAK: Force rebuild to pick up latest updater library version
  • TWEAK: Bump requirements to WP 5.2+, WC 4.2+ (nothing is believed to be incompatible with now-dropped versions, we just will not provide support for them)

2.8.5 – 07/Apr/2021

  • TWEAK: Replace deprecated WooCommerce methods
  • TWEAK: Update jQuery document ready style to the one not deprecated in jQuery 3.0
  • TWEAK: Bump requirements to WP 5.0+, WC 3.7+

2.8.4 – 03/Sep/2020

  • TWEAK: When a user renews less licences than they had, prefer those with the most recent check-ins

2.8.3 – 14/May/2020

  • FIX: If updraftmanager_support_renewupgrade filter was over-ridden then renewals could be performed for wrong amount of time
  • TWEAK: Fix wrong variable reference in get_renewal_start_end()
  • TWEAK: Mark as supporting WC 4.2 (requires WC 3.5+)

2.8.1 – 18/Apr/2020

  • TWEAK: Updater now will make checks on availability without needing login
  • TWEAK: Now marked as supporting WC 4.1 (requires WC 3.5+)

2.8.0 – 10/Apr/2020

  • FEATURE: Handling of renewals of long-expired licences has been improved. Previously, if a purchase was made without a coupon any long-expired licences were ignored: the user was assumed to want new licences (on the grounds that adding, e.g. a year, to long-expired licences was of no value). Now, the list of expired licences is handled more dynamically: if they are long-expired and no discount was gained, then the user can check the "Renewal" checkbox at the checkbox, and if they do in-use licences have the licence period added on to today's date instead of to the previous expiry date.
  • TWEAK: Remove some code used by no-longer-supported WooCommerce versions, plus some code tidying
  • TWEAK: Do not use the renewal coupon transient cache if WP_DEBUG is active

2.7.9 – 07/Mar/2020

  • TWEAK: Now marked as supporting WC 4.0 and WP 5.4 (requires WC 3.4+, WP 4.9+)

2.7.8 – 10/Jan/2020

  • TWEAK: Now marked as supporting WC 3.9 (requires WC 3.3+, WP 4.8+)

2.7.7 – 19/Dec/2019

  • TWEAK: Fix a bug that could occur with the number of renewal months shown in WooCommerce order notes (the actual number of months used was not affected)

2.7.6 – 13/Nov/2019

  • TWEAK: Subscriben compatibility
  • TWEAK: Update updater class to latest version (1.8)
  • TWEAK: Add filter updraftmanager_support_renewupgrade to allow modification of behaviour with "combine renew with upgrade" purchases

2.7.5 – 06/Aug/2019

  • FIX: Handle WC_Order::get_date_completed() returning null
  • TWEAK: Now marked as supporting WC 3.7 (requires WC 3.1+, WP 4.7+)
  • TWEAK: Update use of method deprecated in WC 3.7

2.7.4 – 06/Apr/2019

  • TWEAK: The renewal handling code will now select the best fitting product, if the number of entitlements being renewed does not have an exact match in the products
  • TWEAK: Now marked as supporting WC 3.6 and WP 5.2

2.7.3 – 22/Feb/2019

  • FIX: Correct the URL for receiving updates to this plugin

2.7.2 – 20/Feb/2019

  • TWEAK: Some internal re-factoring to pave the way for future tweaking of WooCommerce download grant expiries

2.7.1 – 04/Feb/2019

  • FEATURE: Subscription renewals created by WooCommerce Subscriptios or by Subscriptio are now automatically marked as renewals

2.7.0 – 22/Jan/2019

  • FIX: The "is renewal?" checkbox on the checkout was not processed if the payment method was not on-site

2.6.7 – 22/Jan/2019

  • TWEAK: The udmanager_get_orders filter now returns more information
  • TWEAK: Update bundled WooCommerce_Compat library to 0.3.1

2.6.6 – 14/Dec/2018

  • TWEAK: Update updater class to latest version (1.5.10)
  • TWEAK: Update a deprecated use of update_post_meta()

2.6.5 – 09/Nov/2018

  • TWEAK: Update updater class to latest version (1.5.7)

2.6.3 – 25/Oct/2018

  • TWEAK: Mark as supporting WordPress 4.4 – 5.0
  • TWEAK: Update updater class to latest version (1.5.6)
  • FIX: Prevent PHP fatal error when a linked product did not exist

2.6.2 – 15/Oct/2018

  • TWEAK: Update updater class to latest version (1.5.5)
  • COMPATIBILITY: Mark as compatible with WooCommerce 3.5 (from 3.0 upwards)

2.6.1 – 08/Jun/2018

  • TWEAK: Make the where_to_get_entitlements() method public

2.6.0 – 28/May/2018

  • FIX: Get the "please login" form working again on the "Cart" page on renewal links for users who cannot auto-login (stopped probably with WC 3.0)

2.5.1 – 21/May/2018

  • TWEAK: Update updater class to latest version (1.5.3)
  • TWEAK: Mark as compatible with WooCommerce 3.4 (from 2.6 upwards)
  • TWEAK: Mark as supporting WP 4.3+

2.5.0 – 27/Jan/2018

  • FEATURE: The updraftmanager_productkeyname custom meta item can now list multiple entitlements (separated via commas) on a single product
  • TWEAK: When uploading a new zip file for a plugin which has a linked product, the linked product's downloads are now only replaced if the existing download began with the plugin's slug
  • TWEAK: Updated bundled updater to latest version (1.5.0)

2.4.2 – 06/Oct/2017

  • TWEAK: Update bundled updater to latest version (1.4.8)

2.4.1 – 24/Aug/2017

  • COMPATIBILITY: Now requiring WooCommerce 3.0+
  • MAINTENANCE: Removal of some pre WC-3.0 code
  • FIX: Will now replace an existing download if there is one, instead of effectively deleting it and adding one (which caused WooCommerce to not update users' download entitlements)

2.3.2 – 22/Aug/2017

  • FIX: Getting item quantities now fixed on WC 3.0+ (thanks to David Nutbourne)

2.3.1 – 18/Aug/2017

  • FEATURE: Added the facility to add a changelog link to product listings (to activate, hook the filter updraftmanagerwcc_changelog_page_url and return a page including the shortcode [udmanager_changelog userid="(id)"])
  • TWEAK: Removed use of get_posts() for searching orders – thus henceforth requiring WC 2.6+
  • TWEAK: Update bundled WooCommerce_Compat library to 0.3

2.2.16 – 07/Aug/2017

  • TWEAK: Update the bundled updater library version to the latest (1.4 series)
  • TWEAK: Change the action updraftmanagerwcc_edit_zip_saved_downloadable_files to a filter which runs before the downloads are updated and gives the opportunity to replace the default action

2.2.15 – 29/Jul/2017

  • FIX: Drag/drop uploader was failing to call WC_Product::save() when automatically updating the downloads for an associated product
  • TWEAK: Add an action updraftmanagerwcc_edit_zip_saved_downloadable_files, called when a zip with associated product downloads is updated

2.2.14 – 27/Jun/2017

  • FIX: Fix a fatal incorrect variable reference triggered adding to cart on WC 3.0+

2.2.13 – 23/May/2017

  • FIX: Update the updater library version, fixing a bug in it

2.2.12 – 20/May/2017

  • TWEAK: Update fragment that produced a deprecation warning in WooCommerce 3.0

2.2.11 – 18/May/2017

  • FIX: Fix a further bug when processing products on WooCommerce 3.0

2.2.10 – 12/May/2017

  • FIX: Fix a bug when processing products on WooCommerce 3.0
  • TWEAK: Update the bundled updater to version 1.3.5
  • TWEAK: Make the noun describing the password adjustable via a filter

2.2.9 – 28/Mar/2017

  • FIX: Updated bundled woocommerce-compat library to version 0.2.2, fixing a bug with getting meta on WC 3.0+
  • COMPATIBILITY: Compatible with WooCommerce 3.0 (tested on release candidate 2)

2.2.6 – 04/Mar/2017

  • FIX: Fix a fatal error when processing renewal coupons
  • TWEAK: Update updater version

2.2.5 – 16/Feb/2017

  • TWEAK: Update woocommerce-compat library version, fixing a bug in meta saving on WC 2.7

2.2.4 – 11/Feb/2017

  • TWEAK: Avoid deprecated code paths on WC 2.7+ for getting the user ID of an order

2.2.3 – 07/Feb/2017

  • FIX: 2.2.1 introduced bugs in the validating of renewal coupons and the handling of variable products

2.2.1 – 04/Feb/2017

  • COMPATIBILITY: Compatibility with WC 2.7+
  • TWEAK: Import woocommerce-compat library to abstract away changes in WC 2.7
  • TWEAK: Port all accesses of WC_Order::id over to woocommerce-compat library
  • TWEAK: Replace all uses of the deprecated variation_id property

2.1.0 – 03/Jan/2017

  • FEATURE: Plugins can now be linked to specific WooCommerce products, such that uploading a new zip in this plugin automatically updates the download for the WooCommerce product
  • TWEAK: Update the updater class to the most recent release, managed by Composer

2.0.14 – 05/Oct/2016

  • FIX: The setting for unsubscribing from renewal reminder emails in a user's account was not taking effect

2.0.13 – 26/Sep/2016

  • TWEAK: Added a new filter allowing override of the results of the internal where_to_get_entitlements function

2.0.12 – 12/Sep/2016

  • TWEAK: Added a new filter which allows sites to adjust the SQL used to find products that renew entitlements
  • TWEAK: By default, only consider products with a post status of "publish", when looking for potential products to renew entitlements
  • TWEAK: Add a new filter which allows sites to remove specified products from the list of potential products to renew entitlements, including by user
  • TWEAK: Renewal coupons when expiry dates are ignored if non-expiring coupons exist, when looking for a default renewal window
  • FIX: Avoid examining expired coupons when looking for a default renewal window

2.0.10 – 29/Apr/2016

  • TWEAK: Use the newly-introduced (WC 2.6) wc_get_orders function for future compatibility

2.0.9 – 19/Jan/2016

  • TWEAK: Add a few extra filters to allow for further customisation
  • TWEAK: Updated bundled updater class

2.0.8 – 20/Nov/2015

  • FIX: Fix bug in cacheing mechanism when calculating which products were needed to be purchased to satisfy expiring licence entitlements
  • TWEAK: Make the cart URL use SSL if WooCommerce's 'force SSL checkout' option is set and its 'force HTTP elsewhere' option is not set
  • TWEAK: When looking for licence renewal coupons in order to set default renewal periods, exclude limited-use coupons

2.0.7 – 13/Nov/2015

  • FIX: Prevent an unlimited purchase being renewed by a non-unlimited purchase, in the case of variable products where at least one variation was unlimited and one limited
  • FIX: Use wc_get_page_id to get the cart URL, independently of session existence
  • FIX: Add variants to cart with correct variant information
  • TWEAK: Mark is_renewal in order meta upon renewals
  • TWEAK: Don't allow possession of the bbp_participant role to affect the check for being only a customer

2.0.3 – 10/Nov/2015

  • META: Began changelog
  • UPDATES: Added updater class
  • META: 2.0 is a complete re-write – now much more elegant
  • REWRITE: Handles renewal coupons internally now, without reliance on a secondary plugin
  • REWRITE: Now uses the entitlements table (rather than the previous usermeta entries)
  • REWRITE: Renewals now look primarily at licence expiry dates, not at past purchase date windows (which caused problems with renewals-of-renewals)
  • REWRITE: Now requiring WooCommerce 2.2+
  • TESTING: Now tested up to WordPress 4.4 (beta)