Skip to main content
Software Licensing Changelog

Version 3.6.12 — November 2, 2020

  • New: Samples updated to support auto updates.
  • Improvement: Increase width of input fields on Edit Download page.
  • Fix: Conflicts with ManageWP Orion.
  • Fix: Bundled products containing variable priced products without specifying a price option may incorrectly show a price option in license key lists.
  • Fix: License key price ID not updated when upgrading from an individual product to a bundle containing that same product.
  • Fix: “Uncaught TypeError” JavaScript error when running upgrade for update license activation records.
  • Fix: JSON response broken by Redis Object Cache plugin.
  • Fix: Proration calculation when upgrading from a limited license to a lifetime license.
  • Fix: Timeout when using Test Email button on purchase receipts.
  • Fix: Minimum WordPress and PHP versions not showing when viewing update version details.

Version 3.6.11 — May 18, 2020

  • Fix: Disabled licenses were able to be upgraded.
  • Fix: The EDD_SL_License_Meta:get_license_id was not respecting the single argument.
  • Fix: The EDD_SL_License_DB class was not respecting the date range when an end date was only passed.
  • Fix: Changelogs were being inproperly truncated on some customer sites when the more tag was not supplied.
  • Fix: When renewals were not enabled, the option to send a renewal notice was still visible.
  • Sample Plugin (EDD_SL_Plugin_Updater version 1.7.1):
    • Fix: Removed a duplication of the icon data.
    • Fix: Prevent the possibility of duplicate entries of cached update information.
    • Fix: Improve the no_update data set.

Version 3.6.10 — April 8, 2020

  • Fix: When Apache forced trailing slashes, update packages could fail to be downloaded.
  • Fix: When upgrading a bundle, the child licenses may not have gotten their price IDs updated.
  • Fix: It was not possible to renew multiple licenses for the same product, at the same time.
  • Fix: When using bundle licenses with children, the license list table had some performance issues.
  • Fix: Child licenses could have a different activation limit than their parent.
  • Fix: License counts on the list table for license statuses could be incorrect when child licenses were used.
  • Fix: Some of the Readme information was not being parsed correctly after the latest parser update.
  • Fix: Searching for a child licenses could give incorrect results, or no results.
  • Fix: Updates could intermittently cause the ‘Too Many Redirects’ error.
  • Fix: Searching for partial license keys and email addresses could cause PHP notices and/or warnings.
  • Fix: When jQuery was being loaded in the footer, some JavaScript errors could occur when managing licenses on the front end.
  • Fix: Searching for a non-existent license key, returned all license keys in the list table.
  • Fix: Improved the reliability of the checks to make sure an update can be downloaded.
  • Fix: When using custom keys, it was possible to use a key length that exceeded the database column’s allowed length.
  • Sample Theme:
    • Fix: The sample theme was missing the theme_slug parameter from the API calls.
    • New: The sample theme now supports the item_id parameter.
  • Sample Plugin:
    • Fix: The “View Details” link on the plugin list was not always present.
    • Fix: Sample plugin did not define the EDD_SAMPLE_ITEM_NAME string.
  • New: Changelogs now support the “Read More” tag, to allow reducing changelog information stored in the get_version API calls.
  • Dev: The license list table columns are now filterable and sortable.

Version 3.6.9 — March 12, 2020

  • Fix: Some information that can be included in the readme.txt files were not being parsed.
  • Fix: The “Tested Up To” value was not being read properly in the get_version calls.
  • Fix: The contributors section of the readme.txt files was not being parsed correctly.
  • Fix: Corrected an issue that caused an `is_countable` notice being thrown on PHP 7.2+.

Version 3.6.8 — March 19, 2019

  • Fix: Licenses were missing from REST API sales data response when sequential order numbers was enabled.
  • Fix: License list table was getting 20 per page, but building pagination for 30.
  • Fix: Corrected an issue with the template for managing licenses causing the ‘Back’ link to be incorrect.
  • Fix: A PHP warning was being logged when logging a license renewal email being sent.
  • Fix: Custom activation count meta could get removed if deleting a license that has activations.
  • Fix: With URL Checking Disabled, the attempt to get a URL is still run, it should not have been.
  • Fix: De/activating with no URL parameter was returning success when it should have failed with URL checking required.
  • Fix: We now support ‘staging-` in the local URL detection to support Kinsta staging environments.
  • Dev: The EDD_SL_DB::insert method wasn’t using the type passed into the method.

Version 3.6.7 — February 22, 2019

  • Fix: Prevent the license query from accepting a user ID or customer ID of 0.

Version 3.6.6 — February 11, 2019

  • Fix: Database class generated invalid MySQL statement when using arrays for parameters in some cases.
  • Fix: Changelog widget was not using readme data.
  • Fix: Corrected an issue when parsing readme.txt files
  • Fix: URLs containing query strings could not be activated/deactivated from admin or frontend.
  • Fix: Bulk actions for licenses were not working.
  • Fix: Improved the accuracy of the get_license_keys_of_user() method.
  • Fix: Price option settings are no longer displayed when licensing is disabled.
  • Fix: Corrected a compatibility issue with updates and the Git Updater extension.
  • Fix: The cron that sends renwal reminders now verifies that the Send Renewal Reminders option is checked.
  • Fix: Child licenses now have the correct expiration date when the bundle license is renewed.
  • Fix: Disabled licenses are not able to be automatically set to expired.
  • Fix: Improved issues around user IDs and license keys.
  • Fix: Corrected an issue that caused a ‘key_mismatch’ error in the API when keys had leading or trailing whitespace.
  • Fix: Using contributors in the readme.txt caused a fatal error.
  • Fix: The sales API previously caused a PHP error when no licenses were present for an order.
  • Fix: Status changes did not always call the appropriate do_action hooks.
  • Fix: The `is_local_url` variable was possibly undefined when calling the get_version API endpoint.
  • Sample Plugin/Theme Chagnes
    • Updated the theme sample to not use wp_die when errors are encountered.
    • Fixed an undefined property in the EDD_SL_Plugin_Updater class.
    • The EDD_SL_Plugin_Updater class now uses the verify_ssl method when making remote calls.
    • Bumped the EDD_SL_Plugin_Updater version to 1.6.18
    • Included samples in the delivered/downloaded extension, as well as available within your account.

Version 3.6.5 — September 10, 2018

  • Fix: License activate/deactivate status is now fully controlled by the Activations database.
  • Fix: Corrected an issue where using Emoji in changelogs could cause problems on customer sites using old Database Schemas.
  • Fix: Configuring the changelog widget could cause problems on sites with a large number of products.
  • Fix: The check_license endpoint was returning “valid” for local URLs even when “Ignore Local URLs” was not enabled.
  • Fix: Before the first save of a download, existing downloads were not able to be selected for the upgrade paths.
  • Fix: The license deactivate response was incorrect when passing erroneous URLs.
  • Fix: Further improved isolating unnecessary queries from license management views on the front end.
  • Fix: The check_license now returns “site_inactive” when checking a local URL and Ignore Local URLs is enabled.
  • Fix: The manage license front end views are now limited to only logged in users.
  • Fix: EDD REST API Sales endpoint now returns no licenses when an invalid payment ID is provided.
  • Fix: License Card view used `get_the_time` for Purcahse Date instead of the built in method of EDD_Payment.
  • New: Added ‘test’ as a valid subdomain and tld to the local URL checks.
  • New: Added a confirmation when regenerate an existing license key.
  • New: Update readme.txt parsing to use unmodified helper classes.
  • New: Licensed products can now have renewal discounts disabled on a per-product basis.
  • Dev: Added a method to the EDD_SL_Download class to allow for easier logging.

Samples:

  • New: Plugin Updater – Support was added for plugin icons introduced in WordPress 4.9.
  • Fix: Plugin Updater – Added a health-check for store URLs before attempting to run get_version calls.

Version 3.6.4 — July 2, 2018

  • Fix: Deleting a parent license does not remove the association for child license keys.
  • Fix: Searching for a child license failed in the license list table.
  • Fix: Upgrading a license from a deleted price ID caused unexpected pro-ration amounts.
  • Fix: Removed some duplicate queries on the license list table.
  • Fix: Guest licenses were not updated to have the user ID when a guest was converted to a user.
  • Fix: Reduced the number of queries run when getting a license’s sites.
  • Fix: License exports contained the product ID instead of name.
  • Fix: Improved cache accuracy for license objects.
  • Fix: Searching for licenses by email was not working in the license list table.
  • New: Added customer name and email to the license export.
  • New: Removed dependency on jQuery for license management overview.
  • Dev: Minor changes to the output for the WP CLI command to migrate licenses.

Version 3.6.3 (Phased Roll-out) — May 17, 2018

  • Fix: Corrected an issue causing license expiration emails to be sent at incorrect intervals or times.

Version 3.6.2 (Phased Roll-out) — May 10, 2018

  • Fix: When ignoring local domains for activation counts, package updates were failing when only local domains were activated.
  • Fix: You can now search for licenses by activated domains in the licenses list view, again.
  • Fix: Remove usage of sanitize_key for license key generation and migration so that keys keep their case sensitivity.

Version 3.6.1 (Phased Roll-out) — April 25, 2018

  • Fix: Corrected many textdomain issues.
  • Fix: License term could be incorrectly determined if the license had a price ID but was not assocaited with a variable priced product.
  • Fix: License Deactivation with Disable URL Checking resulted in resetting the activation count to 0.
  • Fix: Corrected an issue with the license status sometimes reporting as inactive when it should be active.
  • Fix: Fixed an issue with the new Activations DB class that resulted with incorrect Sites being returned when not sending in a license id.
  • Fix: Disabled licenses were listed as “inactive” in the API.
  • Fix: Software Licensing could cause a fatal error if Easy Digital Downloads was not active.
  • New: Added the ability to regenerate a license key from the License view.

Version 3.6 (Phased Roll-out) — April 3, 2018

  • IMPORTANT: This update will ask you to perform database maintenance once installed. Your site should remain functional during this time.
  • New: Improved stability and performance by moving license data to custom database tables.
  • New: Added license status CSS class to customers license list view.
  • New: When a license is renewed or upgraded, the timestamp of the purchase is now stored on the license meta.
  • New: Added .test to the TLDs to check when determining if it is a local activation or not.
  • New: Added capabilities for license management (view_licenses, manage_licenses, delete_licenses).
  • New: Added the ability to swap the price_id of a license.
  • New: Included helper text to the +/- buttons for license activation increase and decrease.
  • New: Clarified terminology for ‘activate’ regarding licenses vs sites.
  • New: Improved the hooks and filters in the Software Licensing API.
  • New: Improved the flexibility of EDD_SL_Package_Download.
  • New: Enhanced licenses list table with more helpful data.
  • New: Tables on the front end now have the .edd-table class.
  • New: Removed the final keyword from the EDD_SL_License class.
  • New: Improved searching for license keys by supporting partial key search.
  • New: Change ‘View’ to ‘Manage’ on the licenses list table.
  • New: Changelogs can now be filtered.
  • New: Betas can now be downloaded from the front-end by users.
  • New: Refunded renewals now rollback the expiration date of any associated licenses (Recurring Payments).
  • New: Improve stability of package delivery when files are added and removed from downloads.
  • New: API Responses now include the Item ID.
  • New: Improved the license export tool to avoid timeouts when exporting a large number of licenses.
  • Fix: Corrected an issue preventing files from being downloaded when a purchase had 2 license keys for the same product.
  • Fix: Improved the accuracy and stability of the Retroactive License Processor.
  • Fix: We now prevent a case where you can ‘upgrade’ to the same price ID that is already owned.
  • Fix: Increased get_license_keys_of_user() to get 50 keys.
  • Fix: Deleting initial payment attached to licenses could cause MySQL errors.
  • Fix: Fixed data inconsistencies between bundle and child license keys.
  • Fix: Renewal payment IDs are now being added to the license meta (Recurring Payments).
  • Fix: Renewal notices were sometimes being sent to refunded licenses.
  • Fix: Prevent an issue with lifetime licenses when upgrading to a bundle.
  • Fix: License activation is now only logged once.
  • Fix: Child license expirations could sometimes get out of sync with their bundle license expiration.
  • Fix: Deleting a payment did not remove it from the license meta.
  • Fix: HTTP was being forced on the beta file URLs, causing issues.
  • Fix: Replaced current_time(‘timestamp’) with time() in the sample plugin.
  • Fix: Generally improved the performance of getting license counts.
  • Fix: The edd_empty_cart function was not clearing edd_is_renewal data.
  • Fix: Frontend output of the changelog is now run through stripslashes().
  • Fix: There was an undefined variable notice in the Sample Theme.
  • Fix: Upgrading from a single-site Bundle to a multi-site Bundle wasn’t always applying the correct price id assignment.
  • Fix: Updated the Automattic_Readme parser.
  • Fix: Updated the Markdown_Parser.
  • Dev: Added filters to the EDD_SL_Download upgrade file key methods.
  • Dev: Added filters for hash verification in package links.
  • Dev: Added edd_ignore_x_accel_redirect filter.
  • Dev: Improved comments and documentation throughout the plugin and samples.

Version 3.5.23 — December 13, 2017

  • Fix: Local URL identification during API calls could fail for some domain non-local domain schemas.

Version 3.5.22 — November 20, 2017

  • New: Add actions to the upgrades metabox.
  • Fix: Corrected an issue causing inline upgrade links to throw PHP Notices.
  • Fix: Prevent an issue causing retrieving a renewal discount amount on a non-existant license key.

Version 3.5.21 — October 10, 2017

  • Fix: Repeatable row wrappers for upgrades incorrectly had the edd_repeatable_upload_wrapper class applied.
  • Fix: Upgrading from lifetime licenses to time-limited licenses fall back to cost-based proration.
  • Fix: Upgrades from lifetime licenses to time-limited licenses caused incorrect license expiration dates.
  • New: Added prefix to Software Licensing API response cache keys
  • New: Activating/Deactivating licenses from Admin now shows an entry in the license logs.
  • New: Improved staging detection of EDD_Software_Licensing::is_local_url.`

Version 3.5.20 — September 15, 2017

  • Fix: Item name check did not account for if a download had been deleted.
  • Fix: Revoking a license was only limited to ‘completed’ payments, affecting some gateways.
  • Fix: Activations on licenses did not change after upgrading to a different product.
  • Fix: Remove use of wp_cache to avoid issues with licenses having incorrect status.

Version 3.5.19 — September 5, 2017

  • Fix: User ID not set properly on some license keys
  • Tweak: Adjusted plugin name to be consistent with product name
  • Tweak: Added support for bypassing cache with EDD_SL_SKIP_CACHE constant

Version 3.5.18 — July 27, 2017

  • Tweak: $license parameter now passed to edd_sl_check_item_name filter
  • Fix: Duplicate license keys generated when purchasing a bundle with multiple of the same product assigned to different price options
  • Fix: Empty customer column on license keys table and license details screen when custom record does not have a name set
  • Fix: Price option of bundled products not properly set on license keys when purchasing a bundle

Version 3.5.17 — July 20, 2017

  • Fix: Improved cache invalidation of instantiated EDD_SL_License objects.
  • Fix: EDD_SL_License did not properly update status when it was changed programatically.
  • Fix: “View Details” link was missing from update notifications in some instances.
  • Fix: Customer license list did not account for alphanumeric payment numbers.
  • Fix: Use check_item_name() when comparing names in get_version API calls.
  • New: Plugin and Theme updaters now default verifying SSLs when calling the Software Licensing API.
  • New: Added a filter to X-Accel-Redirect file delivery to allow customizations.
  • New: Added a filter to the license manage overview list.
  • New: Add two new filters in the check and activate license methods.
  • Tweak: Use is_callable on license card view instead of function_exists.
  • Tweak: Cart quantities are now disabled on license renewal items on checkout.
  • Tweak: @return inline docs for EDD_Software_Licensing::get_license() was incorrect.