Version 2.5 beta 1

Easy Digital Downloads version 2.5 has been in active development for several months and now we’re happy to announce that the first beta is ready for testing.

In 2.5, we have addressed 72 distinct issues. Of those 72, 32 were enhancements and 40 were bugs or minor issues.

Testing the beta

To ensure that the update to version 2.5 goes smoothly, we need as many people as possible to help test the beta. Every bug that we catch between now and the final release is one lest problem for live sites.

Please do not test this beta on a live site. Use a staging or development site.

The latest version of the beta may be downloaded from GitHub.

Important changes

There are numerous important changes in 2.5, but there are several that we wish to highlight.

New EDD_Payment class

For developers, one of the most important changes coming with 2.5 is the introduction of the EDD_Payment class. This class has been built to provide a simple, intuitive way to interact with EDD payment records. It is similar to the EDD_Download and EDD_Customer classes we have introduced in other recent releases.

Recount and recalculate tools

Sometimes statistics get off. Perhaps due to database records being deleted, odd caching issues, a bug in Easy Digital Downloads or extensions. Whatever the reason, occasionally sale and earnings stats need to be recalculated. In 2.5, we have introduced new options in Downloads > Tools for recalculating various stats.

These new recount tools use the bulk processing API so they can easily handle thousands or event, potentially, millions of records.

Improved settings organization

When there are a lot of extensions active, the EDD settings screens can become unruly. To help better organize settings and make options easier to find and navigate, we have introduced new “sections” within the settings screens. This allows extensions to register their settings in a dedicated section within their tab.

CSV product export

A new tool has been added to the Export tab of the Reports screen that allows products to be exported to a CSV. Previously this option was only available in the CSV Manager plugin, which is notoriously unreliable and difficult to use. The new export option uses our batch processing API and can easily handle thousands or even hundreds of thousands of products. This is the first step at better import handling as well.

File download history now available in the REST API

The REST API now includes an endpoint for file downloads.

Other notable improvements

  • The download files section of the product edit screen can now be reorganized using drag-and-drop.
  • Payments can now be searched by discount code
  • REST API is now faster due to moving its processing to the “wp” hook
  • Product quantities now included in payment history export
  • Credit card fields now include HTML5 required attributes
  • Free products can now be excluded from sales and earnings graphs
  • Inline CSS styling removed from the [[downloads]] shortcode

Notable bugs fixed

  • Payment stats updated on customer when non-complete payments are deleted
  • PayPal IPN using deprecated mc_gross
  • Verification link missing from email when using plain-text template
  • Install process does not run properly when network activating
  • Invalid HTML markup when viewing in-browser receipt
  • Payment methods not hidden when 100% discount code applied
  • Ajax call to load dashboard store stats fires on every page
  • Symlink file downloads option does not work
  • File download links break when qTranslate/WPML plugins are activated
  • Payment search by download ID not working properly

At this time, we hope to release version 2.5 on or near December 15, 2015.

Have a question or comment? Think you found a bug? Let us know by leaving a comment below!

7 responses... add one

File path: /includes/download-functions.php
Function name: edd_get_download_file_url()
Line no.: 988
Bug: Firstly, in “if ( ! empty( $payment->ID ) )”
“$payment->ID” is protected member of “EDD_Payment” class. It should be accessed through “__get()” method.

In PHP 5.5.9, “$payment->ID” should be kept in a variable then the variable should be passed in empty() method. The way it is done now is returning “false” as result and the “$download_url” becomes “/index.php”.

Leave a Reply

Your email address will not be published. Required fields are marked *