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.