=== Easy Digital Downloads – Sell Digital Files (eCommerce Store & Payments Made Easy) === Author URI: https://easydigitaldownloads.com Plugin URI: https://easydigitaldownloads.com Contributors: easydigitaldownloads, am, cklosows, littlerchicken, achchu93, smub, mordauk, sunnyratilal, chriscct7, section214, sumobi, sdavis2702, mindctrl, sksmatt, SpencerFinnell, johnstonphilip, brashrebel, drewapicture, johnjamesjacoby, nosegraze, lisacee, zkawesome Tags: ecommerce, payments, sell, digital store, stripe Requires at least: 5.8 Tested up to: 6.3 Requires PHP: 7.4 Stable Tag: 3.2.3 License: GNU Version 2 or Any Later Version The #1 eCommerce plugin to sell digital products. Manage eCommerce orders, increase store revenue & accept credit card payments with Stripe + PayPal. == Description == = eCommerce without limits = We believe that _your passion_ for creating shouldn't be restricted by your choice of ecommerce software. **Easy Digital Downloads** gives you unlimited products with no hidden listing fees, unlimited products, unlimited transactions, and provides unlimited possibilities. Too often, digital creators must choose between powerful and cheap. Not with Easy Digital Downloads. It's easy to start with limitless possibilities, which is why some of the most popular digital ecommerce businesses trust Easy Digital Downloads with their store. = Sell effortlessly = Whether it is selling [software like WordPress plugins or themes](https://easydigitaldownloads.com/blog/selling-software/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description), [documents](https://easydigitaldownloads.com/blog/selling-documents/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description) and [spreadsheets](https://easydigitaldownloads.com/blog/sell-excel-or-google-spreadsheets/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description), [photography](https://easydigitaldownloads.com/blog/selling-photographs/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description), [ebooks](https://easydigitaldownloads.com/blog/selling-ebooks/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description), [music](https://easydigitaldownloads.com/blog/selling-audio-and-music/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description), [graphics or digital artwork](https://easydigitaldownloads.com/blog/selling-graphics-and-digital-artwork/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description), [videos](https://easydigitaldownloads.com/blog/selling-videos/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description), or any other type of media file, Easy Digital Downloads provides a complete ecommerce platform that just works, so you can get back to creating. > Easy Digital Downloads is an invaluable tool that I use throughout my business and for my clients. I love its simplicity yet powerful features and library of useful extensions. EDD stands out as one of the only affordable options for scaling a business centered around providing digital ecommerce sites to its clients. > Mark Hunter - Mark of Approval Within minutes of starting the Setup Wizard, you'll have access to the base features you'll need to start selling: - **Complete shopping cart** - Customers can browse your products, add items to their cart, and checkout when ready. Or they can bypass the cart using Buy Now buttons from your product page. - **Flexible payment methods** - Your customers can pay by card, PayPal, PayPal Credit, Apple Pay, Google Pay, and Link by Stripe. - **Highly customizable and clean checkout** - Buyers can easily complete their purchase, directly on your site's checkout page with the included WordPress Block. - **Complete customer management** - View and manage detailed records of all customers and their purchase history. - **Detailed eCommerce reports** - Keep track of your earnings, refunds, sales, average order value, and more. - **Secure file protection** - Prevent unauthorized visitors from accessing your product files without paying. - **Discount codes** - Boost conversions by offering potential customers a coupon or discount code which can be applied at checkout. - **Works with any theme** - Let your chosen WordPress theme handle the design. Easy Digital Downloads will fit right in. - [And much more](https://easydigitaldownloads.com/edd-features/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_content=much-more&utm_term=description)! = Localized for your language = Easy Digital Downloads has been translated into more than two dozen languages and new translations are being added all the time, letting you have a natural, native experience, regardless of where you live. If your language is not available, we welcome translation contributions! See our [FAQ](https://easydigitaldownloads.com/docs/easy-digital-downloads-in-your-own-language/?utm_source=docs&utm_medium=description_tab&utm_content=languages&utm_campaign=readme). > EDD gives me a solid platform out of the box, with the flexibility of being able to customize anything I want or need to. The best of both worlds! > Brian Hogg - SellingPlugins.com = Support for many payment gateways, including Stripe and PayPal = The internet has made it possible for anyone to sell their products to a world-wide audience. No matter where you live, Easy Digital Downloads can be your e-Commerce solution. We offer integrations for the most common merchant processors. Offer multiple payment methods, and start selling today: * Credit Cards/Bank Cards - Via Stripe * Apple Pay * Google Pay * CashApp * Link by Stripe * PayPal * PayPal Credit * Venmo * Sofort Payment gateways supported through free or paid extensions: * Stripe Pro (reduced fees and preapproved payments functionality) * PayPal Commerce Pro (unbranded card payments and additional payment methods) > What can I say? Stripe is my go-to payment processor, and without this [integration] I don't know what I would do. Connect EDD to your Stripe account in seconds, and you're done! Having a simple test mode toggle is also a valuable development tool. > Matt Whiteley - Whiteley Designs Easy Digital Downloads is a verified member of the [Stripe partner program](https://stripe.com/partners/directory/easy-digital-downloads). This program recognizes software that meets Stripe's strict quality requirements and provides users of Easy Digital Downloads and Stripe with the confidence they need to trust thier business is secure. = Grow revenue with a Pass = With our Passes you can get access to [additional features](https://easydigitaldownloads.com/downloads/?utm_source=extensions&utm_medium=description_tab&utm_content=extensions&utm_campaign=readme) and super-charge your ecommerce business. Some of our most popular features in Pro are: * [Subscriptions](https://easydigitaldownloads.com/downloads/recurring-payments/?utm_source=extension&utm_medium=description_tab&utm_content=recurring-payments&utm_campaign=readme) allows store owners to sell recurring subscriptions for digital products using payment gateways like Stripe and PayPal. * [Reviews](https://easydigitaldownloads.com/downloads/product-reviews/?utm_source=extension&utm_medium=description_tab&utm_content=reviews&utm_campaign=readme) allows customers to leave reviews and feedback on the products they have purchased. * [Content Restriction](https://easydigitaldownloads.com/downloads/content-restriction/?utm_source=extension&utm_medium=description_tab&utm_content=content-restriction&utm_campaign=readme) allows site owners to restrict access to page content to paying customers. * [Software Licensing](https://easydigitaldownloads.com/downloads/software-licensing/?utm_source=extension&utm_medium=description_tab&utm_content=software-licensing&utm_campaign=readme) provides a complete solution for selling software license keys and distributing software updates to customers. Trusted by some of the most successful WordPress Theme and Plugin developers. * [Frontend Submissions](https://easydigitaldownloads.com/downloads/frontend-submissions/?utm_source=extension&utm_medium=description_tab&utm_content=frontend-submissions&utm_campaign=readme) transforms your store into a full-featured multi-vendor marketplace. * [Commissions](https://easydigitaldownloads.com/downloads/commissions/?utm_source=extension&utm_medium=description_tab&utm_content=commissions&utm_campaign=readme) enables store owners to easily track earnings for product vendors. * [Free Downloads](https://easydigitaldownloads.com/downloads/free-downloads/?utm_source=extension&utm_medium=description_tab&utm_content=free-downloads&utm_campaign=readme) allows you to give free products away as lead magnets. * [Recommended Products](https://easydigitaldownloads.com/downloads/recommended-products/?utm_source=extension&utm_medium=description_tab&utm_content=recommended-products&utm_campaign=readme) increases revenue by showing customers recommendations on additional products to purchase based on real sales data. * [Mailchimp](https://easydigitaldownloads.com/downloads/mailchimp/?utm_source=extension&utm_medium=description_tab&utm_content=mailchimp&utm_campaign=readme) connects your store to your Mailchimp account so you can easily subscribe customers to email lists based on which products they purchase. These are just a few of the features available to help you optimize your digital store and increase revenue. See our [complete list of extensions](https://easydigitaldownloads.com/downloads/?utm_source=extensions&utm_medium=description_tab&utm_content=extensions&utm_campaign=readme) for more. = Powerful yet flexible = Extensible, adaptable, and open source -- Easy Digital Downloads is created with designers and developers in mind. Consult our detailed [developer documentation](https://easydigitaldownloads.com/categories/docs/developer-docs/?utm_source=wporg&utm_medium=readme&utm_content=documentation&utm_campaign=dev-docs) to learn how you can extend and customize your Easy Digital Downloads powered eCommerce store. The Easy Digital Downloads API makes it possible for developers to make customizations such as: - Modifying the checkout form - Overriding default plugin behavior - Generating custom e-Commerce reports - Extending native features - Creating new product page templates - Integrating with other plugins and web applications ...and much much more! > As a developer, Easy Digital Downloads is very pleasant to work with since you can absolutely extend anything available within EDD. > Yudhistira Mauris - WP House = Get help = Easy Digital Downloads is backed by world-class technical support from our globally distributed full-time support team. We also have an [extensive documentation site available](https://easydigitaldownloads.com/docs/?utm_medium=readme&utm_source=wporg&utm_campaign=lite-plugin&utm_content=docs&utm_term=description). If you're looking for faster support via email, we encourage you to [purchase an Easy Digital Downloads pass](https://easydigitaldownloads.com/pricing/?utm_medium=readme&utm_source=wporg&utm_campaign=lite-plugin&utm_content=upgrade&utm_term=description). > EDD has been a long standing, rock-solid e-commerce solution for WordPress. The team lives and breathes WordPress, understands the platform, and is embedded in the community. > Joe Casabona - Creator Courses = From our blog = Check out some of our popular posts for actionable advice for running your business and selling digital files on the web. - [The 12 Most Popular Digital Products You Can Sell Online](https://easydigitaldownloads.com/blog/the-12-most-popular-digital-products-you-can-sell-online/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description) - [How to Add Lead Magnets in WordPress to Grow Your Email List](https://easydigitaldownloads.com/blog/how-to-add-lead-magnets-in-wordpress-to-grow-your-email-list/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_content=lead-magnets&utm_term=description) - [How to Successfully Launch Your Digital Product](https://easydigitaldownloads.com/blog/how-to-successfully-launch-your-digital-product/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_content=launch&utm_term=description) - [How to Sell Canva Templates with WordPress](https://easydigitaldownloads.com/blog/how-to-sell-canva-templates-with-wordpress/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_content=canva&utm_term=description) - [The Astonishing Benefits of Selling Digital Products](https://easydigitaldownloads.com/blog/top-10-benefits-selling-digital-products/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_content=benefits&utm_term=description) **[Subscribe to our newsletter](https://easydigitaldownloads.com/subscribe/?utm_medium=readme&utm_source=wporg&utm_campaign=lite-plugin&utm_content=subscribe&utm_term=description)** to get posts like these in your inbox as soon as they're published. = Looking to change e-Commerce solutions? = Easy Digital Downloads is the perfect digital e-Commerce alternative to Etsy, Gumroad, WooCommerce, Shopfiy, BigCommerce, or Wix. You can use Easy Digital Downloads to sell your digital products with less fees than Gumroad or Etsy, and create unlimited products, and never pay a listing fee. If Easy Digital Downloads doesn't quite fit your needs, we suggest you try WP Simple Pay. [WP Simple Pay](https://wpsimplepay.com/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_content=something-else&utm_term=description) is the #1 Stripe Payments Plugin for WordPress. = Branding guideline = Easy Digital Downloads is a product by Sandhills Development, LLC. When writing about the digital eCommerce plugin by Easy Digital Downloads, please make sure to always reference us by full name before you use our short name of EDD. Easy Digital Downloads (correct) EDD (correct) easy digital downloads (incorrect) Edd (incorrect, this is our mascot's name!) edd (incorrect) == Installation == 1. Activate the plugin 2. Complete the Onboarding Wizard 3. Start selling your first product! 4. For more detailed setup instructions, vist the official [Documentation](https://easydigitaldownloads.com/docs/quickstart-guide/?utm_source=docs&utm_medium=installation_tab&utm_content=documentation&utm_campaign=readme) page. == Frequently Asked Questions == = Where can I find complete documentation? = Full searchable docs for Easy Digital Downloads and all our extensions can be found at [https://easydigitaldownloads.com/docs](https://easydigitaldownloads.com/docs/?utm_source=docs&utm_medium=faq_tab&utm_content=documentation&utm_campaign=readme) = Where can I ask for help with my digital e-Commerce store? = You can submit a support ticket via the [support forum](https://wordpress.org/support/plugin/easy-digital-downloads/) at anytime. = Which file types can I sell? = Any file type can be sold using Easy Digital Downloads. You can sell .PDF, .DOC, .MP3, .MOV, .EPUB, .PSD, .MP4, .JPG, or any other extension which exists. On the product creation form, there is a file upload field which will accept any file type. Whatever file is uploaded to that field is the file customers will receive instantly when they complete a purchase. = How can I increase conversions? = Due to its popularity, many ecommerce tools have built direct integrations with Easy Digital Downloads, such as [OptinMonster](https://optinmonster.com). With the direct EDD integration, you can optimize your sales funnel using OptinMonster's display rules based on the customer's EDD cart contents and conditions. = Is an SSL certificate required to sell digital products? = Easy Digital Downloads can function without an SSL certificate just fine, making it easy to set up in a testing or development environment. We still strongly recommend you have an SSL certificate for your live store, both for security and for the peace of mind of your customers. [Documentation here](https://easydigitaldownloads.com/docs/do-i-need-an-ssl-certificate/?994-how-to-set-up-ssl?utm_source=docs&utm_medium=faq_tab&utm_content=documentation&utm_campaign=readme) = What themes work with Easy Digital Downloads? = While nearly any theme will work with Easy Digital Downloads, we've worked with industry-leading theme developers to curate a [list of themes that are specifically written for Easy Digital Downloads](https://easydigitaldownloads.com/themes/?utm_source=docs&utm_medium=faq_tab&utm_term=import_addon&utm_content=faqs&utm_campaign=readme). = Is there a sample import file I can use to setup a demo store? = Yes! Simply go to Tools > Import and install the WordPress Importer, then navigate to wp-content/plugins/easy-digital-downloads/assets/ and select the sample-products-import.xml file. This will create several sample products and plugin pages for you. = Can I import all the products from my existing store into EDD? = Yes! We do have a [basic import solution](https://easydigitaldownloads.com/docs/importing-exporting-products/?utm_source=docs&utm_medium=faq_tab&utm_term=import_addon&utm_content=faqs&utm_campaign=readme) that imports a CSV file, so if you can get your data into the appropriate format then we can import it. = How do I migrate from Gumroad? = Check out our guide on [migrating to Easy Digital Downloads from Gumroad](https://easydigitaldownloads.com/docs/migrating-to-easy-digital-downloads-from-gumroad/?utm_source=docs&utm_medium=faq_tab&utm_term=import_addon&utm_content=faqs&utm_campaign=readme). = How do I show the user's purchase history? = You can display your customer's purchase history with the EDD Order History Block or if you prefer, you can show users a list of their available downloads with the EDD User Downloads block. Check out our documentation for more information about [Easy Digital Download's Blocks](https://easydigitaldownloads.com/docs/easy-digital-downloads-blocks/?utm_source=docs&utm_medium=faq_tab&utm_content=faqs&utm_campaign=readme). = How do I display my digital products? = Easy Digital Downloads comes with a [customizable WordPress Block](https://easydigitaldownloads.com/docs/easy-digital-downloads-blocks/?utm_source=docs&utm_medium=faq_tab&utm_content=faqs&utm_campaign=readme), giving you the ability to display your products your way. = Can I set up an affiliate program? = Yes! EDD integrates directly with several affiliate platforms that provide complete affiliate systems you can use to award commissions to your affiliate marketers. This means when affiliates refer customers to you, and those customers buy your products, those affiliates earn a commission from you. [Check out AffiliateWP](https://affiliatewp.com?utm_source=edd_readme&utm_medium=faq_tab&utm_content=home&utm_campaign=readme) = Can I give my customers downloadable PDF Invoices? = Yes, with a Personal Pass, you can provide beautiful and downloadable invoices to your customers with the [Invoices](https://easydigitaldownloads.com/downloads/edd-invoices/?utm_source=edd-invoices&utm_medium=faq_tab&utm_content=pdf-invoices&utm_campaign=readme) extension. = Are recurring payments (subscriptions) supported? = Yes, with an Extended Pass you get access to [Recurring Payments](https://easydigitaldownloads.com/downloads/recurring-payments/?utm_source=docs&utm_medium=faq_tab&utm_term=recurring_addon&utm_content=faqs&utm_campaign=readme). [Full documentation here](https://easydigitaldownloads.com/docs/recurring-payments-setup-overview/?utm_source=docs&utm_medium=faq_tab&utm_term=recurring_addon&utm_content=faqs&utm_campaign=readme). The Recurring Payments extension allows you to create subscriptions so that customers continue paying you over time. This is great for selling memberships, courses, all access passes, software licenses, and other products which require an ongoing payment. == Screenshots == 1. Detailed and actionable reports 2. Customer Management 3. Order History 4. Order Details 5. Product Grid - Vendd 6. Checkout - Vendd 7. Product Grid - Default Theme 8. Checkout - Default Theme == Changelog == = 3.2.3 = * 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. View the full changelog at [https://easydigitaldownloads.com/changelogs/plugin/easy-digital-downloads/](https://easydigitaldownloads.com/changelogs/plugin/easy-digital-downloads/?utm_medium=readme&utm_source=wporg&utm_campaign=edd-plugin&utm_term=description) = 3.2.2 = * 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. = 3.2.1 = * 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. = 3.2.0 = * Important: This release requires PHP 7.4 or higher and WordPress 5.8 or higher. * Important: Amazon Pay has been formally deprecated and is no longer available for new installs. Existing stores using Amazon Pay are encouraged to explore other options. * New: PHP 8.1 is now fully supported. * New: Discount codes can now be applied to specific price variations. * New: A discount code can now be set to include or exclude specific download categories. * New: Store owners can now archive discount codes, to make managing their promotions simpler. * New: The discount list now has improved visibility for the status and usage of discounts. * New: A new 'Service' product type was added to the Product Type dropdown, to allow for non-downloadable products. * New: Disputed payments in PayPal and Stripe set the order to a new 'On Hold' status, and restrict access to downloads. * New: When a payment is disputed with PayPal or Stripe, a link to the dispute is added to the view order details in the admin along with order notes. * New: The date that the completed order actions were run is now stored as part of the order itself, not as metadata, and will be displayed more clearly on the order details screens. Existing meta will be migrated in the background; notifications will be updated to keep store owners advised of progress. * Improvement: Purchase receipts are now sent using deferred actions, to improve the performance of the payment processing. * Improvement: The bundle product metabox has been improved for performance on sites with many products. * Improvement: The query for non-bundled products has been updated to be more performant, specifically when editing a download product. * Improvement: Improved performance of checkout and customer lookups by conditionally running legacy hooks and filters that contained payment objects. * Improvement: Site Health and telemetry now check the health of the REST API via a test endpoint. * Improvement: The application fee for Stripe payments is removed for pass holders who have access to the Stripe Pro extension even if they do not have Stripe Pro installed. * Improvement: Easy Digital Downloads' block styles have been updated for non block themes to load only when the block is rendered. * Improvement: The EDD Products block now allows products to be filtered by author. * Fix: Update Stripe's non-licensed application fee to 3%. * Fix: Stripe Payment Elements no longer supported a theme of 'none', and 'stripe' has been defaulted. * Fix: Added hardening around viewing the adjustments list table. * Fix: To avoid conflicts with other plugins, critical vendor libraries have been moved to the EDD namespace. * Fix: Regional support for Stripe now checks the Stripe account country before checking the store country. * Fix: PayPal Commerce orders where not always being completed when using the confirmation page. * Fix: The Stripe Payment Element now uses the browser's locale for localization. * Fix: Using the Import tool could produce a fatal error. * Fix: Discount codes resulting in a 100% discount could restrict the cart from allowing the user to complete the purchase. * Fix: Saved cards were not correctly saving for some users. * Fix: When saving a cart with Stripe as the active gateway, the message stating the cart was saved was removed prematurely. * Fix: Recalculating a customer's stats was not always being scheduled correctly. * Fix: Malformed add to cart URLs could result in a PHP warning being thrown. * Fix: Flat discount can result in an incorrect rounding total depending on the cart conditions. * Fix: Viewing the order details of a migrated order that had its discount deleted looked incomplete. * Fix: It was possible for sites with incompatible MySQL versions to not see the appropriate warnings. * Fix: Attempting to activate a pass with an empty license key could appear to be stuck. * Fix: The Stripe JavaScript has been improved to be more efficient, remove only error messages, and only run when the Stripe gateway is selected. * Fix: Stripe could attempt to update a property that is not supported by the Stripe API. * Fix: New PayPal Commerce subscriptions might not be correctly marked as complete. * Fix: EDD Blocks placeholder styles could interfere with WordPress Core placeholders. * Fix: Additional, not officially supported fee data is now stored as order adjustment metadata. * Dev: Many filters and hooks that passed `EDD_Payment` objects now have a complementary hook or filter that uses `EDD\Orders\Order` objects. Custom code should be updated for improved performance. * Dev: Easy Digital Downloads is no longer registering the `edd_payment` and `edd_discount` post types. * Dev: Easy Digital Downloads - Core now holds the Stripe base code, and Stripe Pro 3.0.0 only contains pro features. * Dev: Code for old, unsupported versions of PHP has been removed. * Dev: A new `edd_after_order_actions` hook has been introduced to manage all events which should happen when an order is created. This uses the order object for improved performance and any usage of `edd_after_payment_actions` should be updated accordingly. * i18n: 141 Additions, 199 Removals/Location Changes, 17 Differences (counts are approximate). = 3.1.5 = * Fix: India Regions were not being properly loaded. * Fix: Fixed compatibility with PHP 7.1 when adding a new discount. * Dev: Tax settings tab was overriding the base class method for getting the ID. = 3.1.4 = * 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: Sequential payment numbers are more flexible. * 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 a payment. * 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. = 3.1.3 = * Improvement: Licensing messages for third party extensions no longer link to the main EDD site. * Improvement: The default number of tax rates to query has been increased. * Fix: Using a custom `straight_to_gateway` link did not add a product to the cart. * Fix: Products which are marked as having variable prices, but which don't have any prices, could cause a PHP notice or error. * Fix: Duplicate purchase receipt emails could be sent when editing an order. * Fix: The product sales export was not respecting the end date when set. * Fix: The product sales export was showing incorrect payment amounts for orders with multiple items, or partially refunded orders. * Fix: For stores which collect sales tax, tax exempt fees sometimes had tax applied. * Fix: `edd_store_discount` now accepts times for start/expiration dates. * Fix: Users who are not also customers were unable to update their profile using the EDD profile editor. * Fix: The pass ID for pro licenses could be incorrect in some cases. * Fix: If EDD settings were removed, the telemetry data could cause a PHP notice. * Fix: Prevent a JavaScript error that could occur if the cart widget was present on the checkout page when taxes are enabled. * Dev: Third party developers who use EDD's licensing screen can now customize licensing messages. = 3.1.2 = * 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 duplicate orders numbers 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 for payments. * 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. = 3.1.1.4.2 = * Security: Improved validation for edd hooks. = 3.1.1.4.1 = * Fix - Blocks: Harden blocks loader to verify files exist before requiring them. = 3.1.1.4 = * Improvement: Removed a possible unsupported PHP configuration from the email summaries. * Improvement: The edd_get_users_purchases function has been updated to account for customer email address changes. * Improvement: Reports have been updated to more accurately account for timezones and date ranges. * Improvement: The onboarding wizard loading was not allowing a close and exit after the first step. * Improvement: License key handling for 3rd party extensions has been accounted for. * Improvement: When using sequential order numbers, searching has been updated to account for order number. * Improvement - Stripe: The Payment Element has been improved to handle failed 3DS challenges. * Improvement - Stripe: Failed payment attempts are now more reliably accounted for. * Improvement - Stripe: The Payment Element billing fields can now be filtered. * Improvement - Stripe: The Payment Element now supports mandates, improving multi-regional payments. * Improvement - Stripe: The 'Card Name' field is re-introduced for regions that require it. * Improvement - Blocks: Better support for custom fields with the Checkout Block. * Improvement - Blocks: Developers can now register custom columns for the User Downloads block. * Improvement - Blocks: The Buy Now button can now have its behavior defined as Add to Cart or Buy Now. * Fix: Discounts with high value amounts were not saving correctly. * Fix: Bulk Editing prices was not working with WordPress 6.1+. * Fix: Exporting product sales was not always respecting the date range filters. * Fix: Exports with date queries were not always accounting for timezones accurately. * Fix - Blocks: Cart section headings were not always displayed when reloading the section via AJAX. * Dev: New custom hooks in database row transitions have been added. = 3.1.1.3 = * 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](https://easydigitaldownloads.com/docs/stripe/#how-to-manage-payment-methods). * 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. = 3.1.1.2 = * Improvement: The order details screen in the admin has been updated to use the Currency class to be consistent with customer receipts. * Improvement: Determining whether a plugin is a core extension for telemetry data has been improved. * Fix: Enabling/disabling the sequential order numbers setting no longer prompts an upgrade notice, since that setting does not affect past orders. * Fix: When exiting the onboarding wizard, the double overlay has been removed. * Fix: The typos in the pro eligibility pointer notice have been corrected. * Fix: The user verification email could cause a fatal error with some translations. * Fix - Stripe: Improve custom Payment Element rules to merge with existing. * Fix - Stripe: Single price products purchased through "Buy Now" no longer have a price ID assigned in the order items table. * Dev: Using `get_page_by_title` has been deprecated in WordPress 6.2; our importer has been updated accordingly. * Dev - Stripe: Unneeded source files are no longer included in the release. = 3.1.1.1 = * Fix: Ensure that Stripe only tries to verify the domain for Apple Pay when Stripe is connected. * Fix: PHP 7.1 Compatibility with Stripe. * Improvement: Avoid a race condition when updating where a function might not be available for a moment. = 3.1.1 = * New: New installations will be directed to an onboarding wizard to help set up key features and get new stores up and running more quickly. * New: Users with an active pass can manage extensions with one license key and easily upgrade to Easy Digital Downloads (Pro). * New - Stripe: Our Stripe integration now uses the Universal Payment Elements and Link support. Legacy users are encouraged to opt in. * New - Blocks: A new EDD User Downloads block has been registered to show users the files they can download. * Improvement: Trashed orders can now be deleted in bulk. * Improvement: EDD's metaboxes have been moved up in priority when editing a download. * Improvement: Reports styling has been updated to account for different graph types. * Improvement: The Product Sales export tool has been added back to the Reports > Export screen. * Improvement: EDD telemetry tracking has been completely rewritten to anonymize data collection. * Improvement: The extensions licensing screen has been updated to improve messaging and the license management experience. * Improvement: Querying for a customer by email address has been improved to include all email addresses. * Improvement: The PayPal Commerce connection error messaging has been updated to give users more information to help troubleshoot before contacting support. * Improvement: Improved performance when using order related functions which have been updated to accept the order object directly. * Improvement: EDD admin screens now show only EDD notices. * Improvement - Blocks: New installs will automatically use the checkout block instead of the legacy shortcode. * Improvement - Blocks: The Login Page and Login Redirect Page settings have been reordered. * Improvement - Blocks: When adding the EDD Buy Button to a download, the current download is set as the default. * Improvement - Blocks: Additional security has been added to the checkout, login, and register blocks. * Fix: Report charts could group orders by date incorrectly when dates spanned a change in Daylight Savings. * Fix: In some cases, the customer database table was not getting the updates needed. * Fix: An additional security check has been added to the system info file download form. * Fix: The ajax spinner could be duplicated on the checkout screen for stores which collect taxes. * Fix: Stores with quantities enabled could experience unexpected behavior on checkout. * Fix - Stripe: Support links have been updated. * Fix - Blocks: Some themes/plugins caused the checkout forms script to not be enqueued. * Dev: The new minimum WordPress version is 5.4. * Dev: The new minimum PHP version is 7.1. * Dev: The `edd_sanitize_amount` function has been updated for PHP8 compatibility. * Dev: Notifications are now registered as an EDD component. * Dev: Notifications can now be registered locally. * Dev: Additional debugging has been added if a legacy payment cannot be migrated due to invalid payment metadata. * Dev: The discounts HTML is now always filterable, even if there are no discounts applied. * Dev: Code for the legacy WordPress media loader has been removed. == Upgrade Notice == IMPORTANT: Upgrading from Easy Digital Downloads 2.x to 3.0+ is a major release that includes many improvements and changes. You will be asked to perform database maintenance once installed. Please ensure you make a backup of your site prior to upgrading. Your site should remain functional during this maintenance, but as with all updates, it is best to make a backup of your site prior to updating.