* Checkout: Improved checkout block field handling for guest customers.
* Checkout: Login fields on checkout were incorrectly trying to process the checkout when hitting the 'Enter' key.
* Admin: Better compatibility when loading EDD footer and documentation links for non-store admin pages.
* Admin: Custom EDD admin pages could throw an error if incorrectly filtered.
* Downloads: Improved handling of detecting download variable prices.
* Downloads: Custom product dropdown could incorrectly exclude the download being edited.
* Reports: The store dashboard widget revenue and sales stats sometimes parsed dates with an incorrect offset.
* Reports: Pie charts for revenue currency values were not correctly applying the currency symbol.
* Reports: Improve Export Product Sales accuracy.
* Compatibility: Further improve PHP 8.0+ support.
* Shortcodes: Some shortcode attributes were hardened before being output.
* Orders: Better handling of refunding orders.
* Stripe: Better error messages when some cart contents are not compatible with the Stripe gateway.
* Discounts: Ensure store discounts recorded for orders are unique.
View the full changelog at [https://easydigitaldownloads.com/ch...utm_campaign=edd-plugin&utm_term=description)
* Blocks: The user registration forms and lost password feature have been updated to allow customization via hooks.
* Stripe: Refunded payments initiated within the Stripe Dashboard now create a refund order in EDD.
* Cart: Improved product validation when adding an item to the cart.
* Emails: Admin payment & order notifications have been updated to allow further customization.
* Block Editor: Improved compatibility with themes and page builders.
* Payments: Ensure that tax rates are accurately stored when using legacy payment creation processes.
* Customers: Improved the performance and accuracy of checking if a user has previously made purchases.
* PayPal: The IPN Backup for PayPal was fixed to prevent a fatal error.
* PayPal: Improved the Buy Now with PayPal payments to bypass Checkout only when Buy Now is fully supported.
* PayPal: Improved the reliability of the PayPal IPN listener.
* Stripe: Improved the Buy Now with Stripe payments to bypass Checkout only when Buy Now is fully supported by the product.
* Stripe: The State/Region ensures that it is updated when the Country field is changed.
* Emails: Further improved the reliability of payment emails and admin payment notifications.
* Customers: Migrating the customer data from EDD 2.x to EDD 3.x is now more reliable.
* Customers: Existing guest customers can now use the EDD Registration form to create a user.
* Customers: Improved the customer email address detection and reliability.
* Payments: Updated the customer recent payments list to use the correct date format.
* Blocks: Improved the reliability of checkout when EDD Blocks or Gutenberg are disabled.
* Stripe: We've improved the error handling and informational messaging related to the Stripe Payments integration.
* PayPal: When new features are added to the PayPal integration, a background process attempts to register new payment endpoints automatically.
* API: Accessing the file download logs via the EDD API now supports querying by both customer ID and customer email address.
* Improvement: The checkout cart markup is now aware if the cart is using the shortcode or the block.
* Improvement: A filter has been added to the structured data for products to allow extensions to add additional offers.
* Improvement: The email marker (tagging) experience has been updated to be more accessible and easier to use.
* Improvement: EDD's admin JavaScript has been updated to prevent deprecation notices.
* Improvement: It is now possible to update the sequential start number as long as it does not conflict with existing orders.
* Improvement: The current file name is now stored with the file download log.
* Improvement: The emails on the order details screen has been updated to always include the customer's primary address, even if it wasn't used on an order.
* Fix: When the "last month" had fewer days than "month to date", reporting could incorrectly cross months.
* Fix: The `edd_link_helper` function could sometimes have an empty UTM medium attribute.
* Fix: Checkbox inputs for privacy/terms are now marked required with the HTML5 attribute.
* Fix: The Recapture onbording process could inconsistently fail to install or connect.
* Fix - Stripe: Recurring products with free trials were immediately creating an invoice with Payment Elements.
* Fix - Stripe: When using Payment Elements, clicking the purchase button did not show the loading animation.
* Fix - Stripe: Stripe data will be included in the Site Health debug information with EDD 3.1.4.
* Fix - Stripe: The list of countries which do not allow application fees has been updated.
* i18n: All countries and states are now translation ready.
* i18n: We have started the process of updating strings to add comments for translators where recommended.
* Dev: Hooks have been added to the license update/delete methods.
* Dev: EDD's pointer registration has been updated so that extensions can hook into it.
* Dev: EDD now has a status badge utility class to allow order status badges to be more universally used.
* Dev: The `edd_set_upgrade_complete` function is now in a file that's loaded outside of the admin, so it can be used in cron upgrades.
* Dev: The EDD debugging information under Site Health can now be filtered so that extensions can add key data.
* Dev: Extensions which use the EDD extension registry will attempt to validate the pro pass license before the individual extension license.
* Dev: The EDD debug log description has been updated to link to a support doc explaining the `edd_debug_log` function.
* Dev: The `edd_get_utc_date_string` helper function has been created to simplify getting a formatted UTC date.
* Dev: The EDD settings have been refactored for readability.
View the full changelog at [https://easydigitaldownloads.com/ch...utm_campaign=edd-plugin&utm_term=description)
* New: The EDD "System Info" has been retired and instead our data is registered with WordPress Core's Site Health.
* Improvement: We've drastically reduced the possibility of a collision when using Sequential Order Numbers.
* Improvement: We've changed the 'Default' item in the Product Type dropdown to 'Single Product' to avoid confusion.
* Improvement: Gateways can now inform EDD if they are properly set up, and prevent enabling them if they are not configured.
* Improvement: The PayPal Commerce onboarding process has been revamped for speed and reliability.
* Improvement: The EDD 3.x migration process has been updated to defer all customer and product calculations until the migration is complete, with improved messaging.
* Improvement - Stripe: We've added a filter to allow users to remove the 'Terms' text that shows below card fields.
* Improvement - Stripe: When a user disconnects from Stripe Connect, Stripe is unchecked as an 'active' gateway.
* Improvement - Blocks: When no downloads are created, download related blocks were not correctly showing the button to add a new download.
* Improvement - Blocks: EDD's blocks were not respecting custom Download labels.
* Fix: Pass license keys did not always hold their activation status on multisite installs.
* Fix: In some edge cases, it was possible to produce a fatal error in PHP 8.0 when adding items to the cart.
* Fix: Improved capability checks and nonce detection on some actions.
* Fix: Item fees could fail validation in some cases, resulting in missed fees.
* Fix: The Payments Query class was incorrectly passing the `id__not_in` as `id__in`.
* Fix: The AJAX cart content response was not using the new method of getting cart item names.
* Fix: A more user friendly error message is shown to non-privileged users if no gateways are enabled.
* Fix: The Login URL in user registration emails was not correct when the purchase was made with Stripe.
* Fix: The calculated fees could differ from the fees that are displayed in the cart contents.
* Fix: When importing downloads, in some cases, the images were not identified as local files.
* Fix: The Download Tag taxonomy admin area was not being identified as an EDD Admin area.
* Fix: There was a possibility of an undefined variable when requesting a password reset.
* Fix - Stripe: The Recurring Payments update form could load incorrectly if split fields was enabled prior to swtiching to Payment Elements.
* Fix - Stripe: Multiple improvements to the Stripe form load states when cart recalculations are being run.
* Fix - Stripe: In some cases, the purchase form was not re-enabled after fixing HTML5 validation errors.
* Fix - Stripe: Customers updating the payment method for a failing subscription could see an error message when the failed invoice was voided, even though the subscription was updated successfully.
* Fix - Blocks: The reCAPTCHA key field is now a Password field type.
* Fix - Blocks: The User Downloads blocks could show duplicate items.
* Fix - Blocks: Extensions which added data to the cart could display without styling.
* Dev: The functions to get the lowest & highest price options have been abstracted, improved, and now have unit tests.
* Dev: Upgrade routines prior to 3.0 have been deprecated.
* Dev: A new CLI command, `recalculate_customer_values` has been registered to recalculate sales and earnings for all customers.
* Dev - Stripe: It is now possible to force 'Card Fields' to be available on new installs, by switching on EDD's Debug Mode.
View the full changelog at [https://easydigitaldownloads.com/ch...utm_campaign=edd-plugin&utm_term=description)
- Improvement: The orders list table in the admin now sorts orders by date as the default.
- Improvement: Removed unnecessary options in the onboarding wizard.
- Improvement – Stripe: Store owners can now control which payment methods to accept within their Stripe account.
- Improvement – Stripe: We’ve added a better explanation for the Restrict Stripe Assets setting.
- Change: Translations are now always managed by WordPress.org.
- Fix: Existing tables might not have been updated correctly.
- Fix: Attempting to update the default email address from the profile editor could fail in some circumstances.