Software Licensing is one of our essential extensions that truly sets Easy Digital Downloads apart. It is what makes it possible for so many great software products to be sold and managed by developers and product creators around the world. It is also one of our oldest extensions and was first released on September 12, 2012.
Many parts of the plugin have begun to show their age. Today, however, we’re thrilled to announce the release of version 3.5 of Software Licensing, an update that makes dramatic improvements throughout the entire plugin.
There are a lot of improvements in this update. Let’s look at the highlights.
Redesigned licensing admin
There is a lot of data associated with license keys. In version 3.5 we have redesigned the most of the administration areas of Software Licensing.
Downloads → Licenses
The list table that shows all license keys has been improved to help remove clutter and improve the display on smaller screens.
License details screen
Each license key now has a dedicated details screen where all of the pertinent information for the license key is available. This screen also provides tools for action items, such as renewing or disabling a license, editing an expiration date, obtaining an upgrade URL, related license keys, and even related payment records. This makes managing license keys and locating associated customer and payment records much, much easier.
Improved upgrade proration
In version 3.3 we introduced upgrade paths for license keys that allowed customers to upgrade from one license level to the next. With the original upgrade paths feature we included support for simple proration that gave customers discounts on the upgrade based on how much they had already paid. We have now further improved upgrade paths by adding support for time-based proration discounts.
Site admins can now select either Cost-Based or Time-Based proration. With time-based calculations, the cost of an upgrade takes into account how much time is left on the existing license and then prorates the new purchase accordingly.
Per-item renewal discounts
License keys often need to be renewed on a monthly or yearly basis. For this Software Licensing has always supported renewal discounts so customers can receive a discount, such as 30%, when they renew an existing license key. In version 3.5 we have extended this feature to support per-item renewal discounts.
This means products can now have custom renewal discounts. Would you like to offer 20% on one product but 30% on another? Now you can!
Development API: EDD_SL_License class
Software Licensing is built for developers and product creators and in 3.5 we have dramatically improved the internal APIs to make it easier for developers to work with and extend Software Licensing. The new EDD_SL_License class provides easy access to all data associated with license keys and makes interacting with and adjusting that data easy.
Beta versions
Successful software update releases often include beta versions (like 3.5 of Software Licensing) so we have introduced a new feature that allows you to release beta versions of your software and provide customers with an easy way to install those beta versions.
See our documentation for more information.
We actually used this feature to release a beta version of Software Licensing 3.5 several weeks ago.
New updater classes for WordPress themes and plugins
The updater classes for WordPress themes and plugins have been updated to fix some bugs, improve performance, and make new features (such as beta versions) available. Please update your themes and plugins if you use these classes.
The new versions of the classes are:
- 1.6.9 for plugins
- 1.0.2 for themes
Other improvements
Along with the new features noted above, we’ve made a significant number of additional improvements as well.
- A new option has been added to enforce email matching on license renewals. This allows site admins to require that license renewals be purchased with the same email address as the original license.
- The EDD_SL_Plugin_Updater class has improved caching and support for beta versions. Please update your integrations.
- The EDD_Theme_Updater class has been updated with support for beta versions. Please update your integrations.
- New action hooks have been added to the license renewal process.
- New filters have been added to get_licenses_of_purchase() and get_licenses_by_purchase().
- License keys are now included in the /sales/ endpoint of the EDD REST API.
- License keys for bundles are now grouped in the
You must be logged in to view license keys.
shortcode display. - License upgrade purchases can now be performed through a direct URL.
- License keys and associated meta data are now deleted when a complete store reset is done.
- The license keys metabox in View Order Details has been improved.
- Inline upgrade links can now be shown on purchase buttons.
- MD5 checksums are now included in all license REST API responses.
- A new {expiration_time} template tag has been added to license renewal notice emails.
- A new option has been added to disable discount codes on license renewals.
- Banner images can now be added to WordPress plugins through the ReadMe.txt parsing.
- License keys list table can now be filtered by download product ID by entering download:# in the search field.
- Improved labels and layout of the licensing metabox.
- Improved file organization and naming.
Bugs fixed
A number of major and minor bugs have also been fixed.
- Action links on license keys list table should return user to previous screen.
- Extra paragraphs added to license renewal notice emails
- Expiration dates are shown in GMT instead of local time.
- Incorrect renewal flags and discounts left in cart when removing renewal from cart.
- Invalid download message returned when using “item_name” instead of “item_id” in licensing REST API.
- Incorrect license keys generated when re-generating keys for a purchase.
- Updating customer email does not update the email address on license keys.
- Error message shown when loading “View Update Details” modal window multiple times.
- Upgrade paths shown for expired and disabled license keys.
- Incorrect upgrade path set as the default when products contain variable prices.
- Extend license link missing from View Licenses page in frontend Purchase History.
- Duplicate license keys created when regenerating license keys on a purchase.
- Site URLs can still be managed by customer when license is disabled.
- Setting a license key to lifetime does not update the status of the license.
- License keys improperly set to disabled when a refund is processed for a renewal.
- Extra dash shown on checkout when renewing a license key without variable prices.
- Deleting a renewal payment also deletes the associated license key.
How to get the update
Version 3.5 of Software Licensing can be downloaded from your account page or through one-click updates inside of your WordPress install. If you’re new to Software Licensing, the extension can be purchased from the product page.









