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.