After an extensive beta period and four release candidates, Software Licensing version 3.6 is now available! This new version is the next iteration in a series of plugin updates we have been releasing that introduces dedicated database tables for eCommerce data. The migration of data into dedicated database tables significantly improves performance and adds greater flexibility and control for future enhancements.
As this is a major release that makes significant changes to the underlying data structure, we have chosen to roll out the update to customers slowly. At first the update will be made available to a select number of customers followed by a few more each day. This will allow us to watch out for issues that were not identified during the beta phase before all customers are updated.
New database schema
With version 3.6, we have introduced three database tables for license keys, license meta data, and license activations. After the update is installed, store owners will be shown a prompt to initiate an upgrade routine that will migrate the existing license data into the new, dedicated tables.
Once the migration is complete, all functionality related to license keys will have better performance, as will many related pieces of functionality, such as checkout and store administration.
The new database tables have the following names and columns:
Added user role capabilities
Along with the performance improvements, Software Licensing 3.6 also includes better control over user role capabilities. We have added new capabilities to user roles so that store owners can better fine-tune the data and actions staff can access and perform.
- view_licenses: Allows viewing the list table and details page of individual license keys. The capability has been added to the Shop Manager, Shop Worker, and Administrator roles.
- manage_licenses: Allows modifying license data. The capability has been added to the Shop Manager, Shop Worker, and Administrator roles.
- delete_licenses: Allows deleting license records. The capability has been added to the Shop Manager and Administrator.
Upgrade or downgrade price IDs on license keys
License keys with a variable price assigned to them can now have their price option edited from the Manage screen. This provides store owners and staff an easy way to upgrade or downgrade a customer’s license key from one option to another.
Download betas from the front-end
Beta version releases have been supported in Software Licensing since 3.5. In 3.6 we have improved the feature by adding support for displaying download links for available beta versions on the front-end in the customer account areas.
- More information has been added to the Licenses list table.
- Item ID has been added to the API responses.
- License search has been improved to allow partial license search.
- Front-end tables have the
.edd-tableclass added to allow better theme support.
- Changelog output can now be filtered.
- Refunding a renewal payment rolls back the license expiration.
- Better tool-tips for license management.
finalkeyword from the
- License export tool now uses batch processing API to avoid timeouts.
- Upgrade and Renewal dates are now stored in License meta.
Notable bug fixes
- Improved overall performance of license count checks.
- Lifetime child license expirations are now tied to their parent licenses.
activate_licenseAPI call logged the activation twice in the license logs.
- Upgrading from lifetime to a bundle caused some issues with the expiration dates.
- Deleting a payment record now properly affects license meta for renewals and upgrades.
- Beta file URLs are no longer forced to
- Sample plugin now uses
current_time( 'timestamp' ).
- Using the
empty_cartfunction now removes any renewal session data.
There are two additional important notes for this update.
First, license key counts will likely be different after the update is complete.
You may notice, after running the migration, that some of the status counts in the license list table have changed. This is because during the migration, some checks were run against the licenses to correct any incorrect statuses. While you may see some differences in the counts for individual statuses, the overall license count should remain the same.
Second, new purchases and license keys may be created normally during the migration.
While the data migration is running, your store will still be able to process payments and generate new licenses. This means your store will continue to operate normally and new customers will not be affecte by the data migration.