Skip to main content
Software Licensing Changelog

Version 3.4.11 — October 4, 2016

  • Fix: License actions not working due to single slashed URLs.
  • Tweak: Spelling error in settings.
  • New: Add tooltips to relevant license settings and fields.

Version 3.4.10 — September 22, 2016

  • Fix: Renewal notices can be sent to lifetime license keys
  • Fix: PHP 5.2 compatibility
  • Fix: PHP notice when running prevent_expired_downloads() directly

Version 3.4.9 — August 12, 2016

  • Fix: Key icon click no longer works from Purchase History > View Licenses.
  • Fix: Renewal discount flags not properly cleared when renewals are removed from cart.
  • Tweak: Correct capitalization on edd_sl_get_license_keys_of_user filter.

Version 3.4.8 — August 8, 2016

  • Tweak: Improved  labels for activation limit settings
  • Tweak: Improved sample plugin and theme with better license key validation and error handling
  • Tweak: Added a filter to the check_item_name() method
  • Tweak: Added tooltips throughout the settings screens
  • Tweak: Replaced get_post_meta() with edd_get_payment_meta() for better future proofing
  • Tweak: Better display of current license key on Manage Sites screen
  • Tweak: Remove usage of _edd_sl_site_count post meta as it is not used
  • Tweak: get_price_id() now falls back to the default price ID if no price ID exists
  • Tweak: get_price_id() now looks at price_id stored in purchase meta if none is set on the license
  • Tweak: Combined all past license key generation options into a single tool
  • Fix: Removed unused JavaScript in edd_license_keys shortcode
  • Fix: Incorrect error message when trying to upgrade and renew a license key at the same time
  • Fix: Upgrade path should not be shown when license key is part of a bundle
  • Fix: Incorrect update count on Updates page for theme updater class
  • Fix: License key upgrades can be added to the cart multiple times
  • Fix: User ID now properly pulled from EDD_Payment if not set on license
  • Fix: Activation limits not set properly during license key generation for past purchases
  • Fix: Lifetime licenses sometimes show as expiring
  • Fix: edd_sl_override_history_content needs to check if in_the_loop
  • Fix: Upgrading from Bundle A to Bundle B places licenses of Bundle A inside of Bundle B
  • Fix: Translation error with {expiration} template tag
  • Fix: Custom date ranges break when crossing year boundary in Reports
  • Fix: PHP notice for undefined index
  • Fix: Incorrect table columns when purchase contains no products
  • Fix: Duplicate update notifications for plugins in multisite installs

Version 3.4.7 — April 25, 2016

  • Fix: Missing is_main_query() check in purchase history template file override
  • Fix: Error messages during license renewal not displayed properly on checkout
  • Fix: Upgrading license keys connected to Abandoned payments is improperly allowed
  • Fix: Undefined index notices for first_name, last_name, and email
  • Fix: View Licenses link shows even when there are no license keys
  • Fix: Incorrect backwards compatibility filter edd_sl_license_exp_lengh
  • Fix: Improved PHPDocs
  • Fix: Non-static method called statically
  • Fix: Chained upgrade paths not functioning properly
  • Fix: Properly detect .dev and .local TLDs
  • Fix: Ensure updater does not ping itself
  • Fix: Missing nonce verification when adding upgrade to cart
  • Fix: dev. subdomains are not considered development sites
  • Fix: Product names that include hyphens are not displayed properly in Licenses page
  • Fix: Incorrect class name in License Keys template file
  • Tweak: Display customer name and link name to customer details page instead of username in Licenses table
  • Tweak: Added license key to edd_sl_download_package_url filter
  • Tweak: Renewal link in emails should be clickable
  • Tweak: Use content_url() instead of WP_CONTENT_URL
  • Tweak: Removed markup from translation strings
  • Tweak: Added edd_sl_license_upgraded action
  • Tweak: Introduced can_extend() method to the license keys template file
  • Tweak: Allow stylesheets to be dequed
  • Tweak: Added new wp_override parameter to EDD_SL_Plugin_Updater class to permit overriding results from WordPress.org
  • Tweak: Added new edd_sl_row_actions filter
  • Tweak: Renamed get_download_by_license() method to get_download_id_by_license() for clarity

Version 3.4.6 — January 7, 2016

  • Fix: Notices when viewing Licenses shortcode when logged out
  • New: Support for EDD 2.5 Subsections

Version 3.4.5 — January 5, 2016

  • Fix: Invalid id attributes on upgrade path drop downs

Version 3.4.4 — December 31, 2015

  • Tweak: get_version no longer requires a license key
  • Fix: View Version Details link shows blank page
  • Fix: Renewal discount can be incorrect for old variable priced items
  • New: Added new edd_sl_column_{column_name} action

Version 3.4.3 — November 19, 2015

  • Fix: URLs with port numbers do not validate properly
  • Fix: Upgrading a license key that has been renewed can cause it to be marked as expired after upgrading
  • Fix: Undefined index error when entering page number manually on Licenses page
  • Fix: Deleting abandoned payment records that contain upgrades or renewals deletes the original license key

Version 3.4.2 — November 2, 2015

  • Fix: Regenerating license keys for purchase can, in rare cases, cause license keys to get marked as expired
  • Fix: Prevent conflict with sites that have a “changelog” post type
  • Fix: Use 1,000 instead of -1 for posts_per_page parameter

Version 3.4.1 — October 26, 2015

  • Fix: Issue with license key icon displaying improperly in customer purchase history

Version 3.4 — October 20, 2015

  • New: Added new shortcode for showing complete license key history
  • New: Added new helper function for adding a license renewal to the cart
  • New: Price option name is now shown on purchase receipt and purchase history
  • Tweak: Improved version checks. Updates now show for al license keys, even if not activated
  • Fix: Price Option field in upgrade paths does not update properly when adding new upgrades
  • Fix: Renewal discounts not showing properly when renewing multiple license keys for the same product
  • Fix: Multiple license keys of the same product cannot be renewed at the same time
  • Fix: Renewal reminders get sent for non-published products
  • Fix: PHP notices when generating license keys for payment records with multiple bundles
  • Fix: Expiration date not set properly when upgrading from lifetime to non-lifetime
  • Fix: Property of non-object notice
  • Fix: Refunding a renewal purchase incorrectly revokes a non-expired license
  • Fix: License activation count increases without setting status to active

Version 3.3.3 — October 7, 2015

  • TWEAK: Actually add wrapper function for retrieving price ID

Version 3.3.2 — October 7, 2015

  • FIX: Disable allowing upgrades when a renewal for the same item is in the cart
  • FIX: Corrected issue with renewal links not always working for variable priced products
  • FIX: License deactivation fails when item_id is passed instead of item_name
  • FIX: Renewal Notices Sent on Recurring Payment Purchases
  • TWEAK: Add wrapper function for retrieving price ID

Version 3.3.1 — August 24, 2015

  • FIX: Upgrading a license key can improperly extend an expiration date
  • FIX: Upgrade prorate discount fails if price ID no longer exists
  • FIX: Renewal discount files if price ID no longer exists
  • TWEAK: Updated French language files

Version 3.3 — August 19, 2015

  • NEW: Added ability to create upgrade paths for license keys so customers can upgrade their licenses from their account page
  • NEW: Added Licenses tab to the Customer details screen
  • NEW: Added option to allow DEV sites to not count towards activation limits
  • FIX: Undefined variable in parse-readme.php
  • FIX: Special characters not supported in emails
  • FIX: EDD_BYPASS_ITEM_ID_CHECK constant now respected in package download process
  • FIX: Generate Missing Licenses button creates orphaned license keys when used on bundles
  • FIX: Renewal notice emails fail to send if email address contains a hyphen
  • FIX: Renewal notices now always sent to email address on customer record
  • FIX: Double update notification in multisite
  • FIX: Changelog text field too small
  • FIX: Marking an expired license as Lifetime leaves it as expired
  • FIX: Non-post object error on 404 pages
  • FIX: Refunded license keys can be renewed (should be allowed)
  • FIX: License keys not removed when item is removed from payment record
  • FIX: Renewal notices logged even if email is not sent
  • TWEAK: Added filters to download ID validation

Version 3.2.2 — August 14, 2015

  • Improved the display of the license renewal form
  • Fixed a PHP notice during activation
  • Fixed an error when Apply License Renewal is clicked before entering a license key
  • Fixed an issue with CSS being loaded on all pages
  • Fixed an issue with renewing multiple license keys at once

Version 3.2.6 — June 9, 2015

  • FIX: Fatal error when viewing licenses for a purchase
  • FIX: Licensing data now inserted into the EDD products API endpoint

Version 3.2.5 — June 8, 2015

  • NEW: Support for Lifetime Licenses
  • FIX: Security updates for a number of AJAX endpoints
  • FIX: Fatal Error when Easy Digital Downloads is not activated
  • FIX: Links were not properly generated in Licenses > Manage
  • FIX: WordPress Compatibility not working correctly with ReadMe parsing
  • TWEAK: Activated child-licenses were showing in the inactive licenses view due to their parent license being inactive
  • TWEAK: Do not show the input to add more sites to the end user when a license is expired or at its limit

Version 3.2.5 — May 19, 2015

  • NEW: Extend EDD API Products endpoint to return relevant SL data
  • FIX: “Extend” link not shown on bundles in list table view
  • FIX: Updates not installing correctly on Windows Servers
  • FIX: Fatal error in Admin on pre EDD 2.3
  • FIX: Replace wp_remote_get with wp_remote_post in sample plugin/theme
  • FIX: Correct issue with renewal reminder schedule
  • TWEAK: Show “Site Inactive” message when trying to deactivate a URL that is not activated
  • TWEAK: Properly escape query arg in example theme/plugin
  • TWEAK: Deactivate License button in sample theme behaving improperly
  • TWEAK: “All” filter in license list table did not show all license

Read our latest blog post:
Add More Stripe Payment Methods at Checkout