Easy Digital Downloads version 2.6 is getting close to being ready. Today we’re happy to announce the first beta version of the release.
There are numerous significant improvements in 2.6 and we would like to encourage all theme and plugin developers, as well as store owners, to test the beta version as soon as possible so that we can ensure the final release goes smoothly.
2.6 includes more than 250 commits 10 different contributors. Numerous other contributors assisted in bug reporting and enhancement testing.
Testing the beta
To ensure that the update to version 2.6 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 less 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.
There are numerous important changes in 2.6, but there are several that we wish to highlight.
CSV product import
In version 2.5 we introduced improved product export. On the heels of that, we have now introduced a robust and reliable product import method for Easy Digital Downloads. From the Downloads > Tools > Import / Export page, you can now upload a CSV file of products and import them. This import process uses our batch processing API so can reliable handle hundreds or even thousands of products at a time.
The import process includes a step where site administrators can map CSV columns to product fields, making the import capable of handling just about any CSV file.
CSV payment import
Similarly to the CSV product import, we have also introduced a CSV importer for payment records.
Just like the product importer, site administrators are able to map the CSV columns to specific payment fields, making it possible to import just about any CSV file.
These two import options are designed to replace the rather unreliable CSV Manager plugin.
Additional email address for customers
As most people are aware, almost everyone has at least two email address. Some has as many as 5 or 10. It’s very common for customers to purchase a product with one email address then come back later, log into their account, and use a different email.
In 2.6, we have introduced support for secondary email addresses on customer records.
This enhancement makes record keeping easier and helps prevent customers from having multiple accounts. Customers can return to your site and purchase with any of the email addresses on their account and the purchases will be attributed properly.
Customer metadata API
We have introduced a metadata API for customers. This API is nearly identical to the standard WordPress postmeta and usermeta APIs except it is for customer records.
The EDD_Customer class has new helper methods for adding, updating, deleting, and retrieving metadata.
These methods work just like the standard WordPress metadata functions, except they are methods within the EDD_Customer class.
$customer = new EDD_Customer( 1 ); $meta = $customer->get_meta( $key, $single = true );
For version 2.6, one of the most significant features for store owners is the ability to refund PayPal payments directly from the View Order Details screen.
To initiate a refund, simply change the status to Refunded and check the box to refund the payment in PayPal:
Refunding PayPal payments is made possible through the introduction of additional settings in Downloads > Settings > Payment Gateways > PayPal Standard for account API keys. In order to refund payments to PayPal, API keys from the PayPal account must be set.
EDD REST API V2
We are including v2 of our REST API in Easy Digital Downloads 2.6, which adds several enhancements to the API and introduces a few breaking changes.
If you are not familiar with our API versioning, see our documentation. Note: the documentation has not been updated to reflect v2 at this time but will be before 2.6 is officially released.
V2 of the REST API includes the following changes:
- /customers/ endpoint now properly shows the customer’s ID instead of the associated user ID
- /customers/ endpoint now includes the customer’s creation date
- /customers/ endpoint now accepts a “date” parameter
- /products/ endpoint now includes product SKUs
- /products/ endpoint now accepts a “s” parameter for searching
- /products/ endpoint now accepts a “category” parameter
- /products/ endpoint now accepts a “tag” parameter
- /sales/ endpoint now includes more verbose details for “discounts” field
To see exact changes in the REST API v2, see GitHub.
Other notable improvements
The changes above are the primary features we’d like to highlight, but there are other important improvements as well.
- Credit card number fields on checkout now use the proper input types to trigger a numerical keyboard type on mobile devices
- All HTML tables now include a common “edd-table” class
- Several new actions added to the increase_earnings(), increase_sales(), decrease_sales(), and decrease_earnings() methods of EDD_Download
- edd_get_payment_status() now accepts a payment ID or object
- Download product oEmbed templates now display prices
- Added support for post__in to [downloads]
- Added new “edd_gateway_loaded” JS trigger
- Log in and register forms now redirect to purcahse history page by default
- Duplicate function for getting success page URL deprecated
- EDD_Fees now supports price_id specific fees
- Download ID is now shown on Downloads list table
- EDD_Customer now includes a get_payments() method
- Added new “Products (raw)” column to payment history export
Notable bugs fixed
As with any release, there are always bugs to fix. In 2.6 beta 1 we have fixed 24 bugs.
- /customers/ endpoint of REST API shows user ID in place of customer ID
- Incorrect heading set on new user notification emails
- “nostates” response for country drop down fields fails sometimes due to non-trimmed whitespace
- Resolved occasional PHP notice with edd_get_users_purchased_products()
- Flat rate discounts can result in a purchase total becoming negative
- Transients deleted during uninstall are non-performant
- Sales log shows incorrect price option
- Accessibility problems with navigation tabs of customer details pages
- User ID not stored properly on payment records in some cases
- Hooks in EDD_API fire once for each time EDD_API is instantiated
- Incorrect message on change password form
- Accessibility problem with Add New button for variable prices
- Accessibility problem with delete button for variable prices
- Clicking purchase multiple times on checkout can result in empty cart message
- Some settings not retrieved with edd_get_option()
- No gateway enabled error shown erroneously even when purchase total is 0.00
- Customer details screen not responsive
- Incorrect “for” attributes in purchase form when a page contains multiple purchase forms
- Invalid schema microdata on some pages
- Missing priceCurrency schema microdata
At this time, we hope to release version 2.6 on or near June 22, 2016.
Have a question or comment? Think you found a bug? Let us know by leaving a comment below!