Plugin Directory

Test out the new Plugin Directory and let us know what you think.

Easy Digital Downloads

The easiest way to sell digital products with WordPress.

2.6.17, December 28, 2016

  • Fix: Checkboxes in Downloads > Tools > Beta Versions do not retain checked state
  • Fix: Extension update notifications do not show up

2.6.16, December 21, 2016

  • Fix: 404 errors when downloading some files

2.6.15, December 19, 2016

  • Fix: Conflict with some object caching configurations and the extension update checks that resulted in poor performance.

2.6.14, December 15, 2016

  • New: Added hooks before and after cart on checkout screen
  • New: Added support for user-specific locales
  • Tweak: Improved performance of edd_get_payment_by(), making account pages faster
  • Fix: Quantity not set on cart items when adding multiple price options to the cart at once
  • Fix: Download links in email receipts over escaped, resulting in failed downloads
  • Fix: December point plotted improperly on earnings / sales graphs
  • Fix: Files still downloaded even if the file doesn't exist, resulting in a corrupted download file
  • Fix: Non-formatted amount not set in data attribute of cart when discount codes applied
  • Fix: Deleting an item from payment record does not delete the associated sale log
  • Fix: This Week and Last Week reports not showing sale stats
  • Fix: Calling edd_is_discount_valid() results in cart errors being set
  • Fix: Earnings value doubled for Today report
  • Fix: Price and currency not properly separated in schema microdata
  • Fix: Tax exempt products still show tax rate on purchase buttons
  • Fix: check_update() method is called twice in EDD_SL_Plugin_Updater class

2.6.13, November 21, 2016

  • Fix: Custom payment meta items were not being saved correctly.

2.6.12, November 17, 2016

  • New: Added new hooks to the profile editor form.
  • Fix: edd_has_active_discounts could return false when there were active discounts.
  • Fix: Supplying an invalid date range on reports could produce an incorrect graph.
  • Fix: EDD_Payment::update_meta could produce a PHP warning when used.
  • Fix: Variable Pricing options were inconsistently being shown and hidden when toggled.
  • Fix: Today/Yesterday Reports miscalculated hours to include the first hour of the next day.
  • Fix: When single day ranges were used on Payments list table, order status counts were not loading.
  • Fix: EDD HTML Select input had many cases where mixed variable types could trigger errors and warnings.
  • Fix: edd_get_users_purchases had outdated PHPDocs.
  • Fix: Determining the 'main' subsection of settings could fire hooks twice and had poor performance.
  • Fix: When changing report years, the report data could have been incorrect.
  • Fix: Payment counts were incorrect on the Payments list table when custom dates were used.
  • Fix: Certain hosting configurations caused the usage tracking notice to be improperly escaped.
  • Fix: Admin scripts were not requiring jquery-form.
  • Fix: Download limit setting isn't checked for existence before accessing it when saving a Download.
  • Fix: Timezone wasn't respected when setting up daily cron.
  • Fix: Upgrade routines could calculate incorrect number of total steps.
  • Fix: The notice about being in test mode was not linked to the correct settings page.
  • Fix: edd_get_users_purchased_products would fail if the first product ID supplied was not a download.
  • Fix: Checkout could require a state even if the country had no states associated with it.
  • Fix: Creating a discount would not save the product requirements and exclusions on first save.
  • Fix: PHP Warning was being caused by the new beta setting in the extension updater.
  • Fix: The EDD_SL_Plugin_Updater::check_update method could possibly be called twice.
  • Fix: Sanitized unescaped URLs with esc_url

2.6.11, November 8, 2016

  • New: WP CLI: Customers command now allows searching by user_id.
  • New: Add framework for the new Software Licensing beta support.
  • New: EDD Settings API now supports adding classes to registered settings.
  • New: Improve PayPal Standard IPN lookup logic.
  • New: Support iOS app one-click configuration.
  • New: Add hook after cart quantities are updated.
  • New: Add tooltip to "Display during checkout" tax option.
  • New: Allow exporting the file download history of a specific product.
  • New: Add action after discount is added to the cart.
  • New: Add action hook called "edd_payment_saved" for when EDD_Payment::save() is run.
  • New: Add "author" paramater support to [downloads] shortcode with support for username or ID.
  • Tweak: Correct branding of necessary assets.
  • Tweak: Block self-pings in tracking check-ins.
  • Tweak: Update author and author URI to Easy Digital Downloads.
  • Tweak: Update the Insert Download media button icon to use Dashicons.
  • Tweak: Allow download admin icon to be more easily customized.
  • Tweak: Exported CSVs show "Complete" status as "publish".
  • Fix: Corrected translation for login shortcode redirect description.
  • Fix: Improved the caching of stats transients for better performance.
  • Fix: API Keys were not able to be copied from user profile.
  • Fix: Corrected link to the iOS application.
  • Fix: Use new iPhone icon.
  • Fix: EDD_Payment::setup_tax did not always contain proper data.
  • Fix: Styles on Recount/Reset tool were lost.
  • Fix: CSV import tool were not importing Download Files in some circumstances.
  • Fix: Tooltip styles had a conflict with Gravity Forms.
  • Fix: Recount earning/sales tool for all downloads was failing to properly recount.
  • Fix: Multiple instances of cart widget was causing conflicts when adding or removing items.
  • Fix: API Key list table was unreadable on mobile.
  • Fix: Custom icons via edd_accepted_payment_icons were unwrapped.
  • Fix: Fees for specific download and price IDs did not check if the item or price ID is in the cart.
  • Fix: EDD API was always returning version 1 by default.
  • Fix: Changed uses of jQuery .toggle() to use .show() and .hide() to fix bad checkbox states.
  • Fix: Corrected translation for 'State / Province'.
  • Fix: Corrected a variable type issue in the HTML_Elements::select defaults.

2.6.10, October 21, 2016

  • Fix: JavaScript error when removing a product from a payment that does not contain a fee.

2.6.9, October 20, 2016

  • Fix: Negative fees associated with cart item do not affect cart item earnings.
  • Fix: Z-index of tooltips needs to be increased.
  • Fix: Products endpoint returns empty response on v2 of the API.
  • Fix: Email property set twice in edd_insert_payment().
  • Fix: "Email already in use" error if capitalization does not match.
  • Fix: Chosen dropdowns cause a horizontal scroll bug in RTL.
  • Fix: record_fees() clears fees in the session before purchases are completed.
  • Fix: New user email strips login link on plain text email.
  • Fix: Country and state chosen fields on view order details broken.
  • Fix: Billing address fields are not saving in the payment details page when edited.
  • Fix: Not all settings and data removed when uninstall is run.
  • Fix: Don't output a label if one isn't set for text and select HTML elements.
  • Fix: Date in payment_meta should match the payment date when modified.
  • Fix: The edd_get_random_download() should return an item.
  • Fix: Potential PHP warning when using EDD_Payment->save().
  • Fix: Payment date is not included in the payment history export.
  • New: API sales endpoints now include both user_id and customer_id.
  • New: Add user_dropdown to HTML elements that support chosen.
  • New: Add support for product variations in the HTML elements product_dropdown.
  • Tweak: Change "Disable Guest Checkout" to "Require Login".
  • Tweak: Typo "assocaited" in error messages when adding emails to a customer.
  • Tweak: Resend Receipt button allows selecting which associated customer email address to send receipt to.

2.6.8, September 26, 2016

  • Fix: Category earnings report does not recover when the site has no download categories.
  • Fix: PHP notice caused by localized script loader.
  • Fix: CSV Product exporter/importer does not honor file conditions for variable pricing.
  • Fix: CSV importer improperly started variable pricing IDs as 0 instead of 1.
  • Fix: Repeatable rows not properly adding data-key attribute for variable price select boxes.
  • Fix: Undefined index warning when adding download details widget within the customizer.
  • Fix: edd_update_payment_status() creates new blank payment record if given an invalid payment ID.
  • Fix: REST API Products endpoint doesn't take into account search parameter API.
  • Tweak: Correct typo in country list for Philippines.
  • Tweak: Upload file text is misaligned within the input field.

2.6.7, September 14, 2016

  • Fix: Improved CSV file type detection to avoid 'invalid CSV' error.
  • Fix: The edd_payment_meta filter was not respecting values modified during the filter when saving a payment.
  • Fix: Redirect to Checkout setting was not keeping custom query string variables when direct cart URLs.
  • Fix: Cart Widget did not properly refresh the page when purchase links were present on the page.
  • Fix: Categories/Tags not created and assigned during product import.
  • Fix: Remove discount cron which could cause discount codes incorrectly changing to inactive without warning.
  • Fix: Can't Uncheck All Checkboxes in Multi-Check.
  • Fix: Verify discount is in array before unsetting the discount.
  • Fix: edd_stats_{key} transients causing performance issues.
  • Fix: Undefined Indexes when assigning new user ID to customer details.
  • Fix: Purchase Email Subject ampersands getting improperly HTML encoded.
  • Fix: Local files not being properly found when on a Windows server.
  • Fix: Properly catch default case for license activation callback.
  • Fix: Sequential payment number not assigned when creating payments with EDD_Payment.
  • Fix: Tax calculation should only run on values greater than 0.
  • Fix: Fix variable name in customer recount tool for post status array.
  • Fix: Discount functions not always having user_info array key.
  • Tweak: Rename Download List Table Taxonomy Headers.
  • Tweak: Fix horizontal alignment of items in the dashboard widget.
  • Tweak: Update codex link in readme.txt.
  • Tweak: Update EDD_SL_Plugin_Updater.php to latest version.
  • Tweak: Correct references of 'short code' to 'shortcode'.
  • Tweak: Filter "edd_get_cart_discounts_html" does not pass relevant arguments for developers.
  • Tweak: Update payments export to use EDD_Payment.
  • Tweak: Return null for all empty data returned from the API instead of an empty array.
  • Tweak: Update readme.txt with new donate link.
  • Tweak: Allow custom Arguments for Settings API Callbacks.
  • New: Accepted payment method icons have been updated to PNGs with transparent backgrounds.
  • New: Update MasterCard Logo.
  • New: Add filters to API endpoints.
  • New: Added actions to the adding and removing of fees.
  • New: Buy Now button option on Add/Edit Download now always shows, but is disabled when requirements are not.
  • New: Customer address can now be edited for customers who do not previously have an address on file.
  • New: Add edd_get_php_arg_separator_output on System Info.
  • New: Linking a Customer to a WordPress user now allows login or email address as a valid input.

2.6.6, August 1, 2016

  • Fix: Discount codes being marked as inactive
  • Fix: Incorrect state/province used in tax calculations in certain scenarios
  • Fix: Incorrect placeholder for Select Customer drop down
  • Fix: Incorrect redirect URL for [edd_login] shortcode
  • Fix: Spelling errors in internal documentation
  • New: Added $items parameter to edd_post_add_to_cart action

2.6.5, July 25, 2016

  • Fix: Incorrect parameters passed to edd_is_checkout()
  • Fix: Some records skipped during CSV import
  • Fix: update_option() cannot be used to update EDD settings
  • Fix: Incorrect date format used in CSV payment import
  • Fix: Product-specific sales / earnings graphs show no earnings
  • Fix: Spelling errors in PHPDocs
  • Fix: Resend Receipt box visible even when payment is not Complete
  • Fix: File URLs split on / during product import
  • Fix: Setting display:none on variable price options breaks add to cart processing
  • Fix: Prices can be set as negative
  • Fix: edd_get_variable_prices() returns prices even when variable prices are disabled
  • Tweak: Added filters to payment gateway labels on checkout screen
  • Tweak: Modified how metadata is registered in anticipation of WordPress 4.6
  • Tweak: Changed role required for deleting payment records to delete_shop_payments
  • New: Added Remember Me option to log in form
  • New: Added /info/ endpoint to REST API

2.6.4, July 6, 2016

  • Fix: Negative fees getting included twice with PayPal Standard
  • Fix: Non-standard status in the product import caused silent failure.
  • Fix: Rely on Customer's User ID when EDD_Payment::setup_user_id has incorrect data.
  • Fix: Date strings are not properly parsed in product import.
  • Fix: PHP notice is triggered when using purchase_link shortcode with an invalid SKU attribute.
  • Fix: PHP warning when activating on Multisite due to roles not being correcly instantiated.
  • Fix: It is possible for edd_get_ip() to return a CSV of IP addresses.
  • Fix: Products deleted after being added to the cart creates invalid cart data.

2.6.3, June 30, 2016

  • Fix: Product name needs to be trimmed during payment import to prevent duplicate products being created
  • Fix: Discount codes getting erroneously marked as Inactive
  • Fix: Importing settings causes a fatal error
  • Fix: Address Line 2 erroneously marked as required in some cases
  • Tweak: Improved inline documentation for edd_get_download_file_url()
  • Tweak: Add-on updater updated to 1.6.4

2.6.2, June 28, 2016

  • Fix: Existing guest customers cannot register a user account on checkout using the email address associated with their existing customer profile.
  • Fix: DocBloc for edd_delete_option function is incorrect.

2.6.1, June 24, 2016

  • Fix: PayPal Standard transaction ID links don't link to PayPal Sandbox when payment was made in test mode.
  • Fix: Opt-in tracking not sending after initial activation.
  • Tweak: Welcome page not showing on upgrade.
  • Tweak: Only show welcome page on major versions.
  • New: If enabled, send checkin data when Easy Digital Downloads is upgraded.
  • New: Add a filter for edd_price_options() that allows adding classes to the output.

2.6, June 23, 2016

  • New: Added filters to process the earnings as they are updated.
  • New: Profile Editor state field shows as dropdown when possible.
  • New: Public API query mode to allow extension developers the ability to create API endpoints that do not require API keys.
  • New: Add/Improve inline help throughout the plugin with UI Tooltip.
  • New: Purchased Products column in payment export improved for better parsing.
  • New: Filters added to EDD_Customer increase and decrease methods.
  • New: Introduce Version 2 (v2) of the REST API.
  • New: (API v2) Products endpoint supports category and tag filtering.
  • New: (API v2) Customers endpoint supports filtering customers by creation date.
  • New: (API v2) Support searching products.
  • New: (API v2) Improve discount code reporting.
  • New: Add price(s) to oEmbed output for downloads.
  • New: Remove comment/trackback counts from oEmbed output for downloads.
  • New: Add new edd-table class to all tables outputted by Easy Digital Downloads.
  • New: Improve discount code status updates by setting inactive when usage reaches max.
  • New: Add daily cron to mark expired and discount codes at max usage as expired or inactive.
  • New: Add get_payments() method to the EDD_Customer class.
  • New: Make download ID more visible on the downloads list table.
  • New: Add filters to the add_fee() and get_fees() methods of EDD_Fees class.
  • New: Add price_id support for the Fees API.
  • New: PayPal Standard payments are now able to be refunded within the WordPress admin.
  • New: Deprecate edd_get_success_page_url().
  • New: Add default redirect option to [edd_login] and [edd_register] shortcodes.
  • New: Introduce customer meta table.
  • New: Add JavaScript trigger to edd_load_gateway() for 3rd party hooks.
  • New: Support post__in as an argument in [downloads] shortcode.
  • New: Final declaration removed from EDD_Payment class.
  • New: Allow edd_get_payment_status to also accept a payment ID.
  • New: Support additional email addresses for customers.
  • New: Add actions into the increase/decrease sales/earnings methods of the EDD_Download class.
  • New: Added CSV Import functionality.
  • Tweak: Use internal methods when getting sales counts and files in EDD_Download class.
  • Tweak: Add campaign tracking to links in the contextual help menus.
  • Tweak: Improve edd-admin.css coding standards.
  • Tweak: Update translation .mo files and add development tool for downloading translations from Language Packs.
  • Tweak: Improve EDD Licenses tab in settings.
  • Tweak: Improve edd_object_to_array method.
  • Tweak: Improve mobile breakpoints for customer details view.
  • Tweak: Remove pagination when [download] shortcode uses 'random' for the sort.
  • Tweak: Use existing function to build {receipt_link} email tag.
  • Tweak: PayPal Standard Buy Now was updated to use EDD_Payment.
  • Fix: New User Email alerts have incorrect header.
  • Fix: Transient being bypassed in EDD_Payment_Stats::get_earnings().
  • Fix: Remove unused variable and duplicate post_where filters in EDD_Payment_Stats.
  • Fix: Correct spelling error in edd_get_paypal_redirect().
  • Fix: Improved cache key generation in EDD_Payment_Stats::get_earnings().
  • Fix: Remove deprecated constructor method in System Info browser class.
  • Fix: Negative cart fees should not have tax charged on them.
  • Fix: Roles are being initialized on every admin request.
  • Fix: Negative item fees did not alter the taxation on the item.
  • Fix: System info shows Must-Use plugins when none are present.
  • Fix: Cart position (key) is not passed to the hooks in the cart.
  • Fix: Product dropdown search never shows the current download in results.
  • Fix: Trim response from country state lookup.
  • Fix: Update subscribe link in Welcome screen.
  • Fix: edd_get_users_purchased_products() can sometimes try an array_mege on a non-array value.
  • Fix: PayPal IPN Verification forced to HTTPS.
  • Fix: Incorrect earnings across a custom date range report.
  • Fix: Flat rate discounts can apply an amount larger than the cart total.
  • Fix: Improve performance of transient deletion when uninstalling Easy Digital Downloads.
  • Fix: Sales logs show incorrect item amounts with variable pricing sales.
  • Fix: (a11y) Customer details page icons are not focused.
  • Fix: (a11y) Removed title attributes.
  • Fix: (a11y) Focus is lost when removing price option.
  • Fix: (a11y) Make Add New Price a button when working with variable pricing.
  • Fix: (a11y) Repeatable field link to remove row should be a button.
  • Fix: Creating a payment sometimes doesn't save the correct user_id or customer_id.
  • Fix: Remove old WordPress version compatibility checks for WordPress versions less than 4.0.
  • Fix: Preview emails use default gateway.
  • Fix: EDD_API hooks for API key generation fire when extending the base class.
  • Fix: Remove incorrect messaging on profile editor related to password changes.
  • Fix: HTML validation fails if schema.org itemtype is missing.
  • Fix: Clicking 'Complete Purchase' button multiple times can result in Empty Cart error.
  • Fix: Replace calls to global settings variable with edd_get_option().
  • Fix: Duplicate get_post_meta calls in EDD_Download class.
  • Fix: Amazon Payments address field not showing with AJAX disabled.
  • Fix: Reporting is incorrect when changing predefined dates where year_end changes.
  • Fix: Allow no gateway to be enabled when purchase is free.
  • Fix: Item fees not taken into account when using EDD_Payment_Stats::get_earnings() for a specific download.
  • Fix: Subtotal and Total data attributes using incorrect amounts.
  • Fix: Taxonomies with numeric slugs are assumed to be the term_id in [downloads] shortcode.
  • Fix: Multiple instances of variable pricing output for a single product causes label target issue.
  • Fix: Correct schema.org structured data for items with variable pricing.
  • Fix: Correct HTML validation for the legend tag on forms by removing span wrappers.
  • Fix: Schema.org markup missing priceCurrency attribute.
  • Fix: Use tel input type and patterns to force numeric keyboard on checkout for card number and CVC inputs.
  • Fix: Settings sanitization for subsections unsets tax rates when a subsection is registered under taxes.

2.5.17, June 3, 2016

  • Fix: Discount codes are not always sent when opt-in tracking is enabled
  • Fix: Correct a capitilzation error in EDD_Customer class usage during edd_insert_payment
  • Fix: Correct error in the System Info browser detection

2.5.16, May 18, 2016

  • Fix: Checkboxes cannot be unchecked in the settings screens of some extensions if only one extension is activated

2.5.15, May 11, 2016

  • Fix: Removed unused variables and typos in unit tests
  • Fix: Non-standardized display of file names for items in bundles on receipts
  • Fix: Downloads not always removed from payment records when removed from the View Order Details screen
  • Tweak: Introduced new edd_checkout_user_error_checks action during purchase processing
  • Tweak: Placeholders on product dropdowns improved to help indicate searchability

2.5.14, May 5, 2016

  • Fix: New user emails do not have the proper heading
  • Fix: Opt-in tracking not always sending when allowed
  • Tweak: Added Locale to opt-in tracking

2.5.13, April 21, 2016

  • Fix: User info data not properly populated from customer record when missing in payment meta
  • Fix: filesize() run on external files during download process
  • Tweak: Changed log in form label to include email address
  • Tweak: Added PHP version, EDD version, install date, and WordPress version to opt-in tracking payload

2.5.12, April 14, 2016

  • Fix: Removed incorrect title attribute from Send Test Email button
  • Fix: Made add to cart AJAX action Accessible
  • Tweak: Added Delete Payment option to View Order Details screen
  • Tweak: Moved Resend Receipt button to separate box on View Order Details screen

2.5.11, April 7, 2016

  • Fix: Non-complete payments permitting file downloads
  • Fix: Double POST requests for plugin update checks
  • Fix: Missing validation for discount code ID in edd_decrease_discount_usage()
  • Fix: Default view of Sales / Earnings graphs for individual products not working
  • Fix: Download Details widget will not save "Current" display option
  • Fix: Sessions should never start on RSS feeds
  • Fix: Missing screen reader text for Default Price Option radio buttons
  • Fix: Incorrect heading size for some admin screens
  • Fix: Payment History Search results now stay after performing actions on shown payments
  • Tweak: Added new filters to recount stats tool for customers to allow support for other payment statuses
  • Tweak: Added new filters to allow URIs to be added to the session blacklist to prevent sessions from starting on those URIs
  • Tweak: Added filter to permit disabling wpautop() in emails
  • Tweak: Set "filter_items_list", "items_list_navigation", and "items_list" labels for Download post type
  • Tweak: Added new "edd_payment_advanced_filters_row" filter

2.5.10, March 24, 2016

  • Fix: Fatal PHP error when adding multiple price IDs to the card when same item is already in cart
  • Fix: New user registration notification email does not support HTML
  • Fix: {receipt_link} HTML stripped from plain text emails
  • Fix: fees_total property not set up in EDD_Payment object
  • Fix: Payment History not properly setting end date filter
  • Fix: filesize() being run on external files during file download
  • Fix: Symlinked file downloads result in 0 byte files
  • Fix: 100% discount codes with taxes enabled fail to allow purchase
  • Fix: Extraneous hyphen after product name for products without price options
  • Fix: Payments cannot be searched by user ID
  • Fix: Undefined index "download_method"
  • Fix: Ajax Download search excludes bundles improperly
  • Fix: Custom date range over multiple years does not work well in earnings reports
  • Fix: HTTP/HTTPS protocol stored on file URLs in database, resulting in failed downloads if site protocol changes
  • Fix: Extensions settings tab displays empty Main section in some cases
  • Fix: "No checkout page has been configured" notice cannot be dismissed properly
  • Fix: EDD transients not deleted during uninstall
  • Fix: Sales logs not deleted when payment is changed from Complete to Pending
  • Fix: Inconsistent formatting in Dashboard stats widget
  • Fix: About and Welcome pages not compatible with Admin Menu Editor plugin
  • Fix: State / Province field not populating saved country / state / province when shown as text field
  • Fix: discount_dropdown() method of EDD_HTML_Elements does not support non-item label
  • Fix: widgets.php page dies if site has large number of products
  • Fix: Form to create new API key not shown
  • Tweak: Re-adding support for retrieving card item price without tax

2.5.9, February 18, 2016

  • Fix: Settings cannot be saved

2.5.8, February 18, 2016

  • Fix: Transaction ID detection not working properly for old payment records that stored transaction ID in notes
  • Fix: 100% discount codes not properly removing billing fields when decimal separator is not a period
  • Fix: [edd_receipt payment_key="false"] results in error retrieving receipt message
  • Fix: Unused variable in Javascript
  • Fix: File downloads failing with Force download method on nginx
  • Fix: Undefined variable $file_path during file downloads on some servers
  • Fix: Incorrect inline PHP documentation
  • Fix: Settings with some non-alphanumeric keys not saved properly
  • Fix: Price override in add_download() method of EDD_Payment does not respect price of 0
  • Fix: Dash incorrectly shown after product name on the receipt page
  • Fix: Missing P tag on View Order Details screen
  • Tweak: Replace usage of $edd_options with edd_get_option() helper function
  • Tweak: URL in New User Notification email now linked
  • Tweak: edd_price() now displays the value of the Default price option
  • New: Introduced edd_payment_currency_default filter

2.5.7, February 10, 2016

  • New: Added refund() method to EDD_Payment class
  • New: Added filters to enable/disable product and customer stat adjustments during refunds
  • New: Addded new hooks to EDD_Payment class that run before payment is setup
  • Tweak: Improved taxonomy labels for categories and tags
  • Tweak: Automatically flush permalinks when a 404 is detected on EDD archive pages
  • Tweak: Add proper 403 headers to REST API
  • Tweak: Removed usage of soon-to-be-deprecated function get_currentuserinfo()
  • Tweak: Improved CSS formatting for edd.css
  • Tweak: Improved label/field HTML markup on checkout
  • Fix: Store earnings reports can cause memory problems when store has only 0.00 sales
  • Fix: Incorrect query arguments when redirecting back to checkout with ?payment-mode if query args are already present
  • Fix: Maybe unserialize user_info array in EDD_Payment
  • Fix: Recalculate Totals button ignores item quantities
  • Fix: Incorrect item price stored in sales log when adding item to existing payment
  • Fix: .jpeg files blocked by .htaccess file
  • Fix: Product search on customer export returns customer names instead of products
  • Fix: Editing items on payment do not save properly in some instances
  • Fix: File download links fail with qTranslate-X plugin active
  • Fix: Admin notice about expired and invalid keys should show only to site admins
  • Fix: Cart widget cannot be shown on checkout screen
  • Fix: Incorrect date format when viewing Last Week report
  • Fix: PHP notice when sending test payment receipt
  • Fix: edit_date not passed in when updating payment record
  • Fix: Unneeded product query on discount add/edit screen
  • Fix: Profile editor does not update customer name
  • Fix: Price not formatted in placeholder for price field
  • Fix: Unnecessary paragraph tags inside of form elements on Export screen
  • Fix: Payments list filters are off by one day
  • Fix: File download links break if UTM variables are added to them
  • Fix: pagination=false parameter in [downloads] shortcode does not work
  • Fix: Coupon code use count not decremented when payment marked as failed
  • Fix: Username field not validated before submitting form to generate new API key
  • Fix: Download Details widget requires settings to be saved before it displays

2.5.6, January 13, 2016

  • Fix: Payment dates recorded with incorrect dates depending on the timezone selected in settings
  • Fix: Download links missing from purchase receipts for some sites

2.5.5, January 12, 2016

  • Fix: Timezones still not set properly for some sites. This resulted in download links missing from purchase receipts.

2.5.4, January 12, 2016

  • Fix: Timezones set improperly sometimes when payments are created
  • Fix: PHP notices in edd_process_add_to_cart() when AJAX is disabled
  • Fix: PHP warning in Recount Single Customer Stats tool
  • Fix: Payment date cannot be changed in the admin
  • Fix: Currency code not properly returned if payment is missing currency metadata
  • Fix: "Sorry trouble retrieving payment receipt" error shown occasionally
  • Fix: Sanitization process for settings breaks some extension's settings
  • Fix: Download links blank for some customers
  • Fix: Prevent default placeholder from showing as an option in multi-select fields

2.5.3, January 9, 2016

  • Fix: Status passed to edd_insert_payment() not respected. Caused subscription payments to be marked as pending
  • Fix: edd_is_payment_complete() returns false improperly
  • Fix: Buy Now links going to empty checkout screen when customer is not logged in
  • Tweak: Removed redundant Max Uses column on Discounts screen

2.5.2, January 8, 2016

  • Fix: Item specific fees applying twice

2.5.1, January 7, 2016

  • Fix: Infinite loop in some instances where add_filter() is used by extensions
  • Fix: Deactivate License button missing on valid license keys
  • Fix: Payments not properly attached to customer records if last name is not supplied during checkout while logged out
  • Fix: Item amounts not saving properly when adding new Download to payment record
  • Fix: PHP warning on explode() due to empty customer notes field

2.5, January 7, 2016

  • New: Improved settings organization with subsections
  • New: Product export to CSV tool
  • New: Recount stats tool
  • New: EDD_Payment class for developers
  • New: Credit card fields now include HTML5 attributes
  • New: Improved license key fields for extensions
  • New: Discount codes can now be sorted
  • New: 0.00 value sales can now be excluded from sales graphs
  • New: File download history now available in REST API at /edd-api/file-download-logs
  • New: Quantities now included in payment history export
  • New: Payment History can be searched by discount code
  • New: File Downloads on products can now be re-ordered with drag-and-drop
  • New: Added filter to disable "edd_items_in_cart" cookie
  • Tweak: Improved customer options in purchase history export
  • Tweak: All meta keys now registered with WordPress
  • Tweak: EDD_API now runs on wp hook for improved performance
  • Tweak: Show item price instead of sale price in sales log
  • Tweak: Post type labels now used for Featured Image labels
  • Tweak: Inline styles have been removed from [downloads] shortcode
  • Tweak: Improved labels for checkbox options in Emails settings tab
  • Tweak: Improved SSL detection
  • Tweak: Improved abstraction of Customer UI so it can be re-used
  • Tweak: edd_get_cart_contents() standardized
  • Tweak: Set minimum WordPress version to 4.0
  • Tweak: Customer name on Payment History now goes to Customer details screen
  • Tweak: Properties in EDD_Amazon class are now public
  • Fix: Bulk actions not shown when list tables have no items
  • Fix: Fatal error in earnings by category reports
  • Fix: edd_maybe_remove_menu_profile_links() breaks some AJAX actions
  • Fix: PHP notices in PayPal if cart_details is not an array
  • Fix: "This Week" reports fail when crossing a month or year boundary
  • Fix: Deleting non-complete payment updates customer stats
  • Fix: inline-edit-post loaded when it shouldn't be
  • Fix: PayPal IPN listener using deprecated mc_gross key
  • Fix: PayPal listener not properly decoding data keys in some server environments
  • Fix: Downloads cannot be sorted in DESC order
  • Fix: User verification URL missing from email when plain text template is used
  • Fix: Incorrectly spelled UTM tags in Add Ons page
  • Fix: CSS for Welcome Page affects other pages
  • Fix: Properly run install routine when network activating EDD
  • Fix: Remove use of WP_CONTENT_URL constant
  • Fix: North/South Korea country codes reversed
  • Fix: WordPress 4.4 tab styles fix
  • Fix: Extension updates do not display if license key is not entered
  • Fix: Undefined variable $payment_id when seding test email
  • Fix: Cart widgets break add to cart button
  • Fix: edd_render_receipt_in_browser() outputs invalid markup
  • Fix: Parameters for [edd_receipt] shortcode not working properly
  • Fix: Payment Method fields not hidden when 100% discount code is applied
  • Fix: Running EDD_Payment_Stats::get_earnings() twice gives inconsistent values
  • Fix: Running EDD_Payment_Stats::get_sales() twice gives inconsistent values
  • Fix: AJAX call to load dashboard sales widget fires on all admin pages
  • Fix: Quantity not added with variable prices and multi-purchase mode when AJAX is disabled
  • Fix: user_id field not removed when customer's user account is deleted
  • Fix: Symlink File Download option not functioning
  • Fix: Order of bundled products not kept when saving Download product
  • Fix: Ugly display of long transaction IDs in View Order Details
  • Fix: File download links break when language parameter from qTranslate and WPML are present
  • Fix: Excluded products improperly count towards minimum purchase total of discount codes
  • Fix: Incorrect dates displayed when using custom date ranges in earnings reports
  • Fix: Subtotal should be removed from checkout when prices are inclusive of tax
  • Fix: price="0" fails when price_id="x" is used in [purchase_link] shortcode
  • Fix: Pagination fails when searching Payment History by download ID

2.4.10, December 12, 2015

  • Fix: Security vulnerability related to session IDs

2.4.9, October 14, 2015

  • Fix: Importing payments caused payments to be associated with customer of user doing the import
  • Fix: Corrected spelling for edd_customer_recent_purchases_actions hook

2.4.8, October 12, 2015

  • New: Added option to manually verify a user account from the customer details screen
  • New: Added support for searching customer records by user ID
  • New: Added improved error logging for email sending
  • Fix: Incorrect CSS animation property
  • Fix: Removed unused code in edd_get_purchase_link() function
  • Fix: Corrected spelling error in EDD_Stats class
  • Fix: New customers improperly created when logged-in user completed purchases with a different email
  • Fix: User verification process should not run on the very first purchase by a customer
  • Fix: edd_get_current_page_url() returns improper URL when WordPress is installed in sub folder
  • Tweak: Improved formatting of the welcome screen to match the styles of WordPress core

2.4.7, September 29, 2015

  • Tweak: Changed text domain from "edd" to "easy-digital-downloads"
  • Fix: User ID not properly set on customer record when user account is created
  • Fix: Earnings / sales graph reporting 0 stats for some days incorrectly

2.4.6, September 18, 2015

  • Fix: Bug in user verification process causing redirect loop when Purchase History page is not set
  • Fix: Warning: Missing argument 3 for edd_receipt_show_download_files()
  • Fix: Quick Edits on Downloads not always expanding the form
  • Fix: Occasional redirect loop caused by edd_enforced_ssl_redirect_handler()
  • Fix: Item quantity not properly added to cart when AJAX is disabled
  • Tweak: Fix extra parameter being provided in get sales by date

2.4.5, September 16, 2015

  • Fix: Bug with AJAX URL on checkout and mixed-content error messages for sites that use HTTPS on checkout but not in /wp-admin/

2.4.4, September 14, 2015

  • Fix: Incorrectly shown "Sorry, trouble retrieving payment receipt" error
  • Fix: Credit / debit cards with an expiration more than 10 years in the future cannot be used
  • Fix: Non-object notice on /edd-api/customers endpoint
  • Fix: Javascript error on category / tag quick edit screen
  • Fix: Not array PHP error on customer details screen when customer has purchases without any items
  • Fix: Cart item quantities cannnot be changed in HTML structure of cart items is changed
  • Fix: Purchase link shortcode attributes for "text" not working properly
  • Fix: Default price ID cannot be saved with ID of 0
  • Fix: New user notifications not working properly since WordPress 4.3
  • Fix: Incorrect URl returned by edd_get_current_page_url() in some instances
  • Tweak: Improved account creation process
  • Tweak: Introduced "pagination" parameter for downloads shortcode to disable pagination
  • Tweak: Introduced edd_protected_directory_allowed_filetypes filter
  • Tweak: Add $item to edd_receipt_show_download_files filter
  • Tweak: Better error reporting when batch export process fails

2.4.3, August 18, 2015

  • Tweak: Added new action hooks to the Sales Summary widget
  • Tweak: Added new action hook that fires when an item is removed from a payment record
  • Tweak: Updated logo on PDF reports
  • Tweak: Updated logo on welcome screen
  • Tweak: Improved order of operations when updating discount codes
  • Tweak: Amazon Payments Address widget is hidden on reload when a charge is declined
  • Tweak: Only show address widget for Amazon Payments when taxes are enabled
  • Tweak: Update Amazon Payment registration URLs for EU and DE
  • Tweak: Retrieve complete billing address from Amazon
  • Tweak: Updated language files
  • Fix: Profile editor missing P tag when user is logged out
  • Fix: Email headers should only be added if header text is set
  • Fix: Undefined index "plugin"
  • Fix: Sale log entries not deleted when purchase is refunded
  • Fix: Preset discount code logic tries to run when bulk deleting discount codes
  • Fix: Adding ?discount={code} to static home page URL causes blog page to be shown
  • Fix: Ensure we have a user before trying to get purchase history
  • Fix: Properly format decimals for HUF currency
  • Fix: Prevent fatal errors when entering invalid date in start/end date of payment history
  • Fix: Removed unused function edd_add_ons_init()
  • Fix: Prevent multiple batch processes from being started at the same time
  • Fix: Re-instantiate Chosen when cloning a repeatable row with a Chosen field
  • Fix: Variable typo in edd_is_admin_page()
  • Fix: Customer name not stored properly if three names are entered when purchasing through Amazon Payments
  • Fix: Sales report column fails does not work for guest customers
  • Fix: direct="true" does not work properly if price_id="1" is also set
  • Fix: Products without a title cannot be purchased through PayPal

2.4.2, July 13, 2015

  • Tweak: Allow filtering the ajax user search
  • Tweak: Send first_name and last_name to PayPal
  • Tweak: edd_filter_success_page_content() not run early enough
  • Tweak: URLs to remove fees and items should not be caught by caching
  • Tweak: Improve batch exporter extensibility
  • Tweak: Add ABSPATH check to Amazon gateway files
  • Fix: Multiple tax rates with same id in taxes settings
  • Fix: Clarified opt-in messaging
  • Fix: Microdata wrapper showing in sidebar
  • Fix: Excerpt missing from products API Endpoint
  • Fix: Customer search not working with name or email in API
  • Fix: Invalid markup on profile editor save
  • Fix: API Key fields caused fatal error when viewed in front end profile editors
  • Fix: Invalid 'for' attribute in username label for login shortcode
  • Fix: Correct edd_listen_for_failed_payments() s

Requires: 4.0 or higher
Compatible up to: 4.8
Last Updated: 3 weeks ago
Active Installs: 50,000+


4.8 out of 5 stars


20 of 33 support threads in the last two months have been marked resolved.

Got something to say? Need help?


Not enough data

2 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,4,4 100,3,3 100,3,3 100,2,2 100,3,3 100,3,3 100,2,2 100,1,1
100,3,3 100,2,2 100,5,5 100,1,1 100,3,3 100,3,3 100,1,1 100,2,2 67,3,2 75,4,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
0,1,0 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,4,4 100,1,1 100,1,1 100,2,2 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,3,3 100,2,2 100,3,3 100,1,1 100,4,4 100,3,3 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2
100,1,1 100,1,1 67,3,2 100,1,1 100,1,1 100,2,2 100,5,5 100,1,1 100,4,4 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
0,1,0 100,3,3 100,1,1 100,2,2 100,7,7 100,3,3 75,4,3 100,6,6 100,3,3 100,1,1 100,2,2 100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,6,6 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,2,2 100,4,4 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1
100,3,3 100,2,2 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,1,1 100,5,5 50,2,1 100,1,1 80,10,8 100,1,1
100,1,1 100,1,1
100,5,5 100,3,3 100,4,4 100,3,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,3,3 75,4,3 100,1,1 100,1,1
100,6,6 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,5,5 100,4,4 100,2,2 100,5,5 100,3,3 100,4,4 100,1,1 100,3,3 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,4,4 100,3,3 100,3,3 100,3,3 100,1,1 100,2,2 100,6,6 100,3,3 100,2,2 100,1,1 100,1,1
100,1,1 100,8,8 100,1,1 100,2,2 100,2,2 100,5,5 100,5,5 100,6,6 100,5,5 100,2,2 100,1,1
100,1,1 100,2,2
100,3,3 100,1,1 100,1,1 100,2,2
100,2,2 100,2,2 100,1,1 100,1,1
100,3,3 100,2,2 100,5,5 100,6,6 100,5,5 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
100,2,2 100,1,1 100,2,2 100,2,2 100,1,1
100,6,6 100,6,6 100,4,4 100,2,2 100,4,4 100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,2,2 100,3,3 100,1,1 100,1,1 100,5,5 100,5,5 100,5,5 100,6,6 100,6,6 100,2,2 100,1,1
100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,5,5 100,4,4 100,3,3 100,2,2 100,2,2 100,1,1 100,1,1 100,3,3 100,2,2 100,2,2 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
100,4,4 100,5,5 100,3,3 100,1,1 100,1,1 100,2,2 100,1,1 100,5,5 100,2,2 100,3,3 100,2,2 100,7,7 100,3,3 100,2,2 100,2,2 100,1,1
100,5,5 100,5,5 100,4,4 100,4,4 100,1,1 100,1,1 0,1,0 100,8,8 100,7,7 100,10,10 100,1,1
100,6,6 100,3,3 100,7,7 100,3,3 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,5,5 100,7,7 100,5,5 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
86,7,6 100,4,4 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,5,5 100,5,5 100,1,1 100,3,3 100,7,7 100,7,7 100,5,5 100,4,4 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,8,8 100,2,2 100,2,2 100,1,1
100,2,2 100,5,5 100,4,4 100,4,4 100,1,1 100,1,1 100,2,2 100,2,2 88,8,7 100,9,9 100,3,3
100,10,10 100,4,4 100,7,7 100,3,3 100,6,6