Skip to main content
Recurring Payments Changelog

Version 2.13.1 — June 25, 2025

  • Admin: Allow the Subscription list table to be sorted by expiration date.
  • Emails: Improved the subscription logic when sending reminders for months with different numbers of days.
  • Orders: Corrected an issue where EDD Refund modal totals could be higher than the actual order amount when taxes are included in prices.
  • Reports: Updated dashboard values to account for multi-currency settings.
  • Subscriptions: Added support for PayPal to the magic payment update links.
  • Subscriptions: Enabled expired subscriptions to be set to failing status.
  • Upgrades: Improved notes migration to ensure valid timestamps.
  • Dev: Resolved a fatal error when instantiating the subscriber class.

Version 2.13.0 — June 16, 2025

  • NEW: The minimum requirements have been updated to PHP 7.4, WordPress 5.8, and EDD 3.2.12.
  • NEW: Added a new ‘No-Login’ subscription update link for customers with Stripe Subscriptions.
  • NEW: Subscription renewal and failure emails can now include a ‘No-Login’ link to update the payment method for Stripe subscriptions.
  • NEW: Blocks – Add a new Subscriptions block for frontend management.
  • IMPORTANT: This update will run database updates in the background. Depending on the number of subscriptions these may take a while to complete, but your site will remain fully functional while they are running.
  • Admin: Fix incorrect pagination when filtering by download.
  • Admin: Scripts were throwing deprecation notices.
  • Admin: Update “Add New” text.
  • Compatibility: Textdomain is now loaded at the correct time.
  • Compatibility: Custom Prices – Update download metabox.
  • Compatibility: Invoices – Update invoices integration/filter.
  • Compatibility: Deprecation notices updated for admin scripts.
  • Compatibility: WP_CLI: Fix WP_CLI reference.
  • Compatibility: Software Licensing – Licenses table filter no longer unnecessarily gets the license object.
  • Downloads: Renewing a multiple items order can take the wrong Download name.
  • Downloads: Update recurring single price settings metabox.
  • Emails: Fixed an issue where subscription reminder emails could still send for upgraded subscriptions.
  • Emails: Fixed missing subscription admin notices.
  • Hooks: Post renew hook expiration date now handled correctly.
  • Hooks: Recurring email tag filters now trigger correctly.
  • Reports: Added an ‘Active Subscriptions’ tile.
  • Reports: Added ‘MRR’ and ‘ARR’ tiles to the Subscriptions report.
  • Reports: Revenue breakdown now more accurately tracks renewals without a license.
  • Reports: Update subscription exporter.
  • Reports: Improved the Dashboard widget to show more helpful MRR and ARR calculations.
  • Stripe: Cancelled subscription may not cancel in Stripe.
  • Stripe: Confusing handling of failed subscriptions improved.
  • Stripe: Fix for mismatch in gateway renewal date after price option upgrades.
  • Stripe: Re-attempt to account for out-of-sync server clocks when sending billing_cycle_anchor.
  • Stripe: Update Stripe scripts and fix subscription updates.
  • Stripe: Cancelling a failing subscription now closes out Stripe invoices.
  • Stripe: Improved the Stripe subscription update process.
  • Stripe: Stripe payment method updates now handle 3DS authentication correctly.
  • Stripe: Update Stripe subscription handling when failed.
  • Stripe: Orders with Stripe Link may not have EDD subscriptions activated.
  • Subscriptions: Reactivating a failed subscription may not charge customer.
  • Subscriptions: Allow subscription states to be filtered.
  • Subscriptions: Improve date display in the admin.
  • Subscriptions: Fix handling of incomplete reactivation.
  • Subscriptions: Move subscription notes to notes table.
  • Subscriptions: Store Gateway now supports mixed carts.
  • Subscriptions: Subscriptions list table now shows product name.
  • Subscriptions: The subscription’s lifetime value is now more accurate.
  • Subscriptions: Upgrade cancelled existing subscription before new order was complete.
  • Subscriptions: Start storing cancellation date as subscription meta.
  • Taxes: Fixed an issue where taxes were being calculated incorrectly for tax exclusive subscriptions.
  • Trials: Multi-term trial expiration date is now set correctly.

Version 2.12.5.1 — November 22, 2024

  • Fix: Improved discount support for Easy Digital Downloads 3.3.5+

Version 2.12.5 — August 5, 2024

  • Downloads: Fixes an issue where deleting a customer email address could block access to a file download for a customer with an active subscription.
  • Emails: Registers an admin renewal notification email for when renewal orders are received (requires EDD 3.3.0).
  • Emails: Updates the email tag handling.
  • Integrations: Updates the Software Licensing integration for logging when a license key is renewed.
  • Orders: If a renewal order cannot be recorded, the subscription is not renewed.
  • Settings: Updates the settings screen checkbox inputs.
  • Dev: Dynamic properties are allowed on the EDD_Subscription class.

Version 2.12.4 — June 20, 2024

  • New: Updated to integrate with EDD email management.
  • Sessions: Improved integration with EDD user sessions for requiring user registration during checkout.
  • Admin: CSS which replicates EDD core CSS has been removed.
  • Subscriptions: Subscriptions which are expired, cancelled, or failing can no longer be set to failing from a webhook event.

Version 2.12.3 — April 11, 2024

  • Checkout: the initial subscription amount could be incorrect with a Discounts Pro discount.
  • Admin: In certain cases, Recurring could cause a deprecation notice in the EDD dashboard widget.
  • Dev: Helper functions have been added for getting a subscription and subscriber from the database.
  • Dev: The subscriptions table indexes have been updated to improve performance.
  • Translations: All localized strings/comments have been updated for easier translation.

Version 2.12.2 — February 28, 2024

  • Checkout: Repeat trial messaging could show incorrectly.
  • Renewals: For stores with inclusive taxes, renewal order subtotals could show incorrectly, affecting refunds.
  • Renewals: Stores collecting addresses with orders could have incomplete address data for renewal orders.

Version 2.12.1 — February 16, 2024

  • Fix: Purchasing a subscription for some stores with taxes enabled was not calculating subscription amounts correctly.
  • Fix: Renewal orders were not being assigned sequential order numbers when that was enabled.
  • Admin: Documentation links have been updated to go directly to relevant docs.
  • Dev: Saving a variable price download with recurring enabled has been updated for PHP compatibility.

Version 2.12.0 — February 6, 2024

  • Reports: New! Introducing the Revenue Breakdown report, giving insights into gross revenue for new, renewal, and upgrades (with Software Licensing).
  • Compatibility: Improved PHP 8.0/8.1/8.2 support.
  • Checkout: Improved multi-currency support.
  • Dashboard: Added a filter to the subscription count arguments in the Dashboard Widget.
  • Downloads: Improved the reliability of being able to download files if the “Limit File Downloads” setting was enabled.
  • EDD 3.0: Improved migration when upgrading from EDD 2.x to EDD 3.x.
  • Emails: Improved email tags with Subscription ID merge tag.
  • Emails: Improved settings screens for Subscription renewal and expiration reminder emails.
  • Performance: Improved the performance of getting the lifetime value of a subscription.
  • Software Licensing: Fixed a situation where getting the license of a subscription could sometimes return a child license for bundles.
  • Stripe: Completed subscriptions could end up in the ‘cancelled’ status instead of remaining in ‘completed’ for subscriptions that only bill a certain number of times.
  • Stripe: Improved messaging when cart contains conflicting items.
  • Subscriptions: Improved CSS Styling for Admin Subscription management views.
  • Subscriptions: Improved support for custom columns in the Subscriptions list table.
  • Subscriptions: Improved the cancellation link logic to not allow cancelling a subscription when in a state that could cause issues if cancelled.
  • Subscriptions: Improved support for custom sections when managing subscriptions from the admin.
  • Dev: Recurring now requires PHP 7.2, WordPress 5.4, and EDD 3.1.5.

Version 2.11.11.1 — August 7, 2023

  • Fix: Revert cancelled subscriptions past their expiration date from having their status updated to ‘expired’ to avoid possible looping of status updates.

Version 2.11.11 — July 26, 2023

  • Fix: One time discounts did not correctly update the cart total.
  • Fix: Stripe actions could run for subscriptions for other gateways.
  • Dev: After payment actions are updated to use new functionality scheduled for EDD 3.2.

Version 2.11.10.1 — July 21, 2023

  • Automatic license renewals could incorrectly cancel subscriptions.

Version 2.11.10 — July 19, 2023

  • Important: Recurring Payments now requires a minimum of WordPress 4.9 and Easy Digital Downloads 3.0.
  • Improvement: PayPal Commerce subscriptions have be updated to correctly cancel the subscription after two failed payment attempts. Existing subscriptions will be updated accordingly.
  • Improvement: Recurring reports in EDD 3.0+ have been updated to accurately group orders based on the store time zone.
  • Improvement: Cancelled subscriptions past their expiration date will now be marked as expired. Developers using the edd_subscription_expired hook will want to check their code.
  • Fix: If edd_get_receipt_page_uri is available, the transactions shortcode did not link to the correct receipt.
  • Fix: Existing users who were not already customers were prevented from purchasing in some scenarios.
  • Fix: Refunding a subscription would send a cancellation email.
  • Fix: Expiration notices were still emailed when a subscription was refunded.
  • Fix: The Content Restriction integration could allow users to all variations rather than those expressly set.
  • Fix: Recurring discounts now work with free trials.
  • Fix: Stripe cancellation errors no longer show markup in subscription notes.
  • Fix: A failing subscription that is cancelled in Stripe was not correctly cancelled in EDD.
  • Fix: Cancelling a subscription in Stripe did not update the subscription in EDD.
  • Fix: Querying subscriptions with a null price ID did not return subscriptions for single-price products.
  • Fix: If a free trial was in the cart and a discount was added, the cart total was incorrect.
  • Fix: Upgrading or renewing a licensed product could cancel the existing subscription prior to the new subscription being created.
  • Fix: Some users were incorrectly denied access when limiting downloads to active subscribers.
  • Dev: get_page_by_title was deprecated in WordPress 6.2; Recurring now uses WP_Query directly.
  • Dev: The plugin installation and upgrade process has been improved to reduce the load on a website.
  • Dev: edd_recurring_add_payment_pre_args has been added for developers who need to modify payment details before adding renewals to the database.
  • Dev: The database query methods have been updated to ensure consistency between getting and counting subscriptions.

Version 2.11.9 — February 9, 2023

  • New: Recurring now registers subscription specific capabilities to allow for better role management and access to subscriptions.
  • Improvement: Allow dates to be defined when adding a new renewal order.
  • Improvement: Software Licensing discount calculations have been revised to be correct and work with cart discounts.
  • Fix: Currencies were not always properly displayed in the order details on sites with multiple currencies.
  • Fix: Renewal orders were not always linked to the correct email after a customer updated their email address.
  • Fix: The subscription order status has been added to the list of deliverable order items statuses.
  • Fix: An error could occur on the order details screen if orders were considered part of a subscription but a subscription did not exist.
  • Fix: The license renewal link on the subscription details screen did not display correctly.
  • Dev: An unneeded legacy filter for PDF Invoices has been removed.

Version 2.11.8.1 — November 11, 2022

  • Improvement: It is now possible to manually add a subscription with a $0 initial amount.
  • Fix: The Stripe express checkout could cause PHP notices when Recurring loaded.
  • Fix: The discount check could error in EDD 2.x.
  • Fix: The updated admin script might not have loaded due to caching.
  • Fix: The Stripe gateway could cause a fatal error with one time trials.
  • Dev: Unnecessary files have been removed from the vendors directory.

Version 2.11.8 — November 9, 2022

  • New: Subscriptions can now be exported to a CSV file.
  • New: The subscriptions table now has a filter bar to filter by product or subscription status.
  • New: The subscription_details email tag has been registered for purchase receipt emails.
  • New: subscription_details, subscription_period, and subscription_term email tags have been registered for the renewal and expiration emails.
  • New: One time discounts can be enabled on an individual discount basis.
  • Improvement: The admin subscription forms have been completely rewritten to be more accessible, responsive, and intuitive.
  • Improvement: The subscriptions tables have been updated to be more consistent with WordPress and EDD.
  • Improvement: Subscriptions now have their own tab when viewing customer details.
  • Fix: In EDD 3.0, updating the customer for an order did not update the related subscription.
  • Fix: The Content Restriction integration could have had an undefined variable.
  • Fix: In certain cases, the order items migration appeared to never stop, even though it was done.
  • Fix: It is now possible to purchase a product with a free trial using PayPal Commerce.
  • Fix: When erasing a customer’s data, active subscriptions are now cancelled automatically.
  • Dev: The minimum PHP version is now 5.6; the minimum EDD version is 2.9.
  • Dev: How the plugin loads has been updated.

Version 2.11.7 — May 31, 2022

  • Improvement: The payment method update form now uses the Stripe action hook to load the credit card form instead of calling it directly.
  • Change: The EDD Subscriber role will not be registered for new installs.
  • Change: Renewal orders will now be assigned a unique payment key.
  • Fix: The EDD Subscriber role capability was not correctly registered.
  • Fix: Manually creating a subscription for a single price product could throw a PHP notice.
  • Fix: If a renewal transaction failed in PayPal Commerce, it was not marked as failed in EDD.
  • Fix: Manually creating a subscription did not set the correct payment mode when test mode was enabled.
  • Dev: The subscriptions count method used an ambiguous column reference for the primary key.
  • Improvement: EDD 3.0 – subscription information will be moved to the order details tabs.
  • Fix: EDD 3.0 – the Stripe gateway now checks for the `complete` order status when checking if a subscription can be reactivated.
  • Fix: EDD 3.0 – Renewal orders were setting an incorrect price ID for single price products.
  • Fix: EDD 3.0 – Renewal orders no longer run ledger functions to update download/customer statistics.
  • Fix: EDD 3.0 – The edd_subscription order status has been added to the arrays of complete, refundable, net, and gross order statuses.
  • Fix: EDD 3.0 – Manually added subscription orders did not set the correct order item status.
  • Dev: EDD 3.0 – Order items in will be migrated to have the correct status. This affects existing 3.0 installs only.
  • Dev: EDD 3.0 – Unit tests have been updated for EDD 3.0 compatibility.

Version 2.11.6 — February 8, 2022

  • Fix: The transaction list in the edd_subscriptions shortcode now shows the correct date.
  • Fix: Content Restriction — The active subscription check for a specific product in the shortcode attributes has been fixed.
  • Change: Content Restriction — When the subscription parameter is added to the shortcode, the Content Restriction messages are used if a user does not have access to the content.

Version 2.11.5 — January 26, 2022

  • Improvement: The “View Invoice” link on the front-end subscription page has been replaced with a “View Transactions” link. This allows the customer to view all transactions associated with a subscription, instead of just the first one.
  • Improvement: Stripe – Activate EDD subscriptions via webhook. This fixes an edge case scenario where the Stripe payment was taken but the EDD subscription was not activated.
  • Fix: Content Restriction – When using the edd_restrict shortcode, the message parameter was ignored when subscription check is set.
  • Fix: Content Restriction – The edd_restrict shortcode wasn’t working well when using a mixture of recurring and non-recurring products.
  • Fix: PayPal – Subscription status incorrectly changed to “expired” after subscription has completed. (When using the “Times” field.)
  • Fix: Renewal payments don’t show the subscription status on the admin Payment Details page.
  • Fix: Add an additional check to ensure renewal reminders are not sent for cancelled subscriptions.

Version 2.11.4 — December 7, 2021

  • Refactor: Recurring email settings have been moved to the “Emails” tab in their own section.
  • Refactor: Recurring settings have been moved to the “Payments” tab if you’re on EDD 2.11.3 or higher.
  • Improvement: Allow all email template tags (including ones from EDD core and other extensions) to be used in recurring payment emails.
  • Improvement: When viewing a payment that has an associated subscription, the status of that subscription is now shown next to the ID.
  • Improvement: Better error message logging when the PayPal Commerce PAYMENT.SALE.COMPLETED webhook fails.
  • Fix: Potential undefined index error when calling edd_get_settings_tabs().
  • Fix: The cron job that auto updates subscription statuses to “expired” now also checks for “trialling” subscriptions in addition to “active” ones.
  • Fix: PHP notice when downloading a file under certain circumstances.
  • Fix: PHP warnings when viewing a subscription whose parent payment has been deleted.
  • Dev: Refactor how licensing gets instantiated.

Read our latest blog post:
NEW: Accept Square Payments With EDD