Well the time has arrived! We are tagging our final release candidate for EDD 3.0. Many of you have been following along on our GitHub repository over the last several months, helping test and finding things that need to be addressed. We’re very thankful for your help getting to this point.
As we approach the final release date of July 13th, 2022 here are the changes since the last major tag we gave you all.
There have been a significant number of bug fixes, but we wanted to call attention to some of the larger changes that might pose an issue for developers as they integrate with EDD.
We’ve made a few changes related to the reports to help give store owners an actionable set of information on the ‘Dashboard’ of reports. Many of these changes came after we’ve had a chance to use Easy Digital Downloads 3.0 on our own site, for our daily business operations.
The first thing you’ll notice is that we’ve consolidated some of the ’tiles’. We reduced the number of tiles in this Dashboard to make the overall view much more useful.
We’ve also been focused on fixing some issues around reporting with Timezones. As of EDD 3.0 all dates recorded in the database are in UTC. By doing this we gave ourselves a point of reference, so that we can always show the store’s reports based on the Timezone setting defined in the general WordPress settings.
Order status helper functions
As we started focusing on not just reporting on Gross and Net stats, we also found it necessary to define some ‘grouped’ order status keys. The following functions are helper functions to get specific order status that should be grouped. Each of these functions also contains a similar filter to allow extensions and customizations to add their own statuses.
Returns an array of order status keys that should be used when wanting orders that should be considered part of a ‘gross’ report.
Returns an array of order status keys that should be used when wanting orders that should be considered part of a ‘net’ report.
Returns an array of order status keys that can be used in the core payment recovery feature.
Returns an array of order status keys that are considered ‘complete’. This means they have hit the end of any automated purchase process and no further action needs to be taken at this time.
Returns an array of order status keys that are incomplete. This includes things like pending, abandoned, processing, failed or cancelled.
Returns an array of order status keys that can be refunded.
Returns an array of order item status keys that should be considered when delivering files. Note that in EDD 3.0, deliverability should be handled at the individual order item level, since one order can contain multiple items with different statuses.
Enabled block editor on Download post type
The download custom post type is now available in the REST API, so your product pages can now be edited with the block editor.
Language files removed
We’ve removed all of our translation files from our package, in order to rely on the WordPress Translation community. We found a number of translation files that were out of date and causing fatal errors due to being incorrectly translated, so we felt it was best to remove them from our plugin entirely, and allow them to be downloaded from translate.wordpress.org.
On-the-fly Backwards Compatibility
We know that keeping stores accepting payments is important, and from day one of EDD 3.0’s development, we wanted to allow new purchases to be able to be completed, while the site was migrating existing payment data.
We’ve taken this a step further, so that when renewals are processed with Recurring Payments or licenses keys are interacted with (checking for updates, activating, deactivating, or checking), that these actions complete successfully with a ‘semi-backwards compatible’ layer of EDD that ensures critical functionality will still work.
We’ve also added the
edd_v3_migration_pending option so that you can identify when a migration is either pending start or running. For instance, you may have seen this on our site a few weeks back while we were running this migration ourselves:
Other Bug Fixes and Changes
- Order details will now always show quantities for items.
- Improved performance getting cart total, by making tax calculations more efficient.
- Added a new Currency class, to help support multi-currency stores.
- Filters were added to the discount list table.
- Added a new
- Improved performance of status calculations for downloads.
So what is next?
Well, now that we’ve tagged our final release, we’re going to be pushing this to WordPress.org as a ‘development version’ in order to allow translators to start translating all the new strings.
Shortly after that we will tag our final release on WordPress.org and we’ll go live on July 13, 2022!
As always with large releases like this, especially ones that are moving data around, we would suggest making backups of your site and database prior to any changes being made, as well as testing this out on a staging or local copy of your site first! We’ve tested it extensively and are already running this on our site, but it is always good practice to try it in staging first.
Thanks for your help and support!