Skip to main content
Recurring Payments Changelog

Version 2.10.4 — May 24, 2021

  • Improvement: Added HTML IDs to Software Licensing error notices.
  • Fix: “Cancel Subscription” checkbox shows even if there is no subscription associated with the payment.
  • Fix: Undefined index error in add_subscription_cart_details() method.
  • Fix: It was possible to have a note added to a subscription about a status change, even if the actual status change failed. Now the note is only added if the database record updated successfully.
  • Fix: Fatal errors when running old database upgrades.
  • Dev: Ensure PayPal functions file is always loaded.
  • EDD 3.0: Add “Cancel Subscription” checkbox to the new refund UI.

Version 2.10.3 — April 29, 2021

  • Improvement: Template tags can now be used in the Payment Received/Failed email subjects.
  • Improvement: The width of the “Times” input box has been increased.
  • Fix: Stripe integration not properly checking zero decimal currencies when creating a Stripe plan/product.
  • Fix: Automatic license renewals not showing in Software Licensing “License Renewals” report.
  • Fix: Renewal payments weren’t setting the “completed_date”.
  • Fix: Deprecation notices in PHP 8.
  • Fix: Unnecessary files being included in build.

Version 2.10.2 — March 4, 2021

  • Fix: A customer could end up with two subscriptions if they have a failing one and then manually renew. The failing one is now cancelled when the new one is created.
  • Fix: JavaScript errors when updating a payment method for a Stripe subscription.
  • Fix: Old subscription not cancelled when upgrading via the Test Gateway.
  • Fix: Addresses for renewal payments could be empty if the customer record doesn’t have an associated address, but the original payment did.
  • Fix: Fatal error when manually creating a subscription with an invalid payment ID.
  • Dev: EDD 3.0 compatibility with earnings export.

Version 2.10.1 — February 1, 2021

  • Fix: One time trials in not honored when purchasing via PayPal Express.
  • Fix: Tax rates stored incorrectly when using tax rates with more than one decimal place.
  • Fix: “Non-numeric value” error when viewing certain subscription records.
  • Fix: Undefined index errors.
  • Fix: Invalid timestamp error when upgrading from a lifetime license to a recurring subscription.
  • Fix: Incorrectly being offered pro-rated amount when upgrading from a free trial.
  • Fix: 2Checkout off-site payments not working in sandbox mode.
  • Fix: Tax rates not being stored for renewal payments.
  • Fix: Deprecation notices when the 2Checkout gateway is enabled.
  • Fix: “unexpected output during activation” when first activating the plugin.
  • Fix: Unable to remove a trial from a variable price when it was saved previously.
  • Improvement: Replace hard-coded date/time formats with site options.
  • Dev: Compatibility with EDD 3.0 release.
  • i18n: Added German translation.
  • i18n: Allow trial duration unit string to be translated.

Version 2.10 — September 2, 2020

  • Fix: Improved compatibility with PHP 7.3 and 7.4.
  • Fix: Replayed Stripe webhooks could cause duplicate actions to be taken.
  • Fix: Translatable strings were having capitalization forced.
  • New: Added support for Stripe PHP Library 7.x
  • New: Stripe – Now creates refund objects in the Stripe API.
  • New: Stripe – Switched to using the edds_api_request wrapper function.

Version 2.9.11 — August 6, 2020

  • Fix: Improve support for increased Stripe object identifiers.
  • Fix: With Stripe, schedules could cause overflows with some configurations.
  • Fix: The checkout during an upgrade could show the incorrect renewal amount for the new subscription that will be created.
  • Fix: The estimated recurring revenue on the Admin Dashboard was not extremely accurate.

Version 2.9.10 — May 4, 2020

  • Fix: Content Restriction – Improved compatibility with the ‘Active Subscribers Only?’ setting.
  • Fix: Corrected an issue that caused a PHP notice to be thrown in edge cases where the PayPal Standard IPN did not contain the array key.

Version 2.9.9 — March 24, 2020

  • Fix: PayPal Express: Licensed upgrades could cause incorrect profile renewal date within PayPal.
  • Fix: Taxes were being added to renewal payments for products marked as “Exclusive of tax”.
  • Fix: There was a PHP warning about a non-countable variable.
  • New: 3rd Party Gateways can now be returned from the get_gateway_class using the edd_recurring_gateway filter

Version 2.9.8 — February 3, 2020

  • Fix: Stripe – Corrected an issue causing subscriptions to have an invalid expiration date.
  • Fix: Stripe – Added a check for subscriptions that will automatically sync invalid expiration dates with the subscription record in Stripe.

Version — January 30, 2020

  • Fix: Stripe – Ensure expiration date for renewal always exists.

Version 2.9.7 — January 30, 2020

  • Fix: Prevent a conflict in the billing_cycle_anchor when the date calculated is later than the natural billing date due to months having a different number of days.

Version 2.9.6 — January 21, 2020

  • New: logic was moved into the extension (version 2.0+).
  • New: Added protection to avoid collision between trials and billing_cycle_anchors.
  • New: Partial refunds in Stripe are now handled by the Stripe extension (version 2.7.5+).
  • Fix: When a server’s time is slightly out of sync, purchases could fail.
  • Fix: Corrected an issue where Custom Prices would cause subscription renewal dates of 1/1/1970.

Version 2.9.5 — December 18, 2019

  • Fix: Stripe MRR reporting was incorrect because free trials were used to offset initial subscription payment. It is now switched to billing_cycle_anchor which resolves it.

Version 2.9.5 — December 18, 2019

  • Fix: Stripe MRR reporting was incorrect because free trials were used to offset initial subscription payment. It is now switched to billing_cycle_anchor which resolves it.

Version 2.9.4 — December 4, 2019

  • Fix: Auto Register race condition was causing unverified new accounts or no user login to happen.
  • Fix: Multiple cancellation calls were going out to Stripe during a Software Licensing upgrade. Fixed by adding a “cancel_immediately” method to the gateways.
  • Fix: Legacy variable prices were getting the wrong recurring amount after a manual renewal via Software Licensing.

Version 2.9.3 — October 25, 2019

  • New: Integrate with PayPal’s new requirements of 1 recurring item per checkout.
  • New: Added a checkbox to cancel a subscription when refunding a payment.

Version 2.9.2 — September 20, 2019

  • Fix: Corrected an issue in the subscriptions table that caused some subscriptions to be skipped in the last upgrade routine. Please run the new upgrade routine to ensure all price IDs are assigned correctly.
  • Dev: Added a new generic hook for Stripe events: `edd_pre_recurring_stripe_event`

Version 2.9.1 — September 16, 2019

  • Fix: If a product was deleted, it could cause subscription lists and emails to fail.
  • Fix: Updated .pot file for translators.
  • Fix: Stripe – Subscriptions were failing to be created on new purchases with Quarterly or Semi-Year periods.

Version 2.9 — September 12, 2019

  • New: Stripe – Support for SCA/3DS2.
  • New: Stripe – Support was added for mixed carts.
  • New: Added the {subscription_id} email tag.
  • New: Admins can not configure and receive emails when a customer cancels their subscription.
  • New: You can now customize the text used for the ‘Cancel’ link.
  • New: Subscriptions can now have their price ID association changed.
  • New: You can now choose to count completed subscriptions as active, when limiting file downloads to active customers.
  • Fix: Reactivating a cancelled subscription did not properly charge the customer with Stripe.
  • Fix: The Invoice ‘closed’ property was deprecated.
  • Fix: Avoid an exception when trying to set the ‘id’ of an invoice.
  • Fix: Verify that the PayPal Express and Pro gateways only listen for their own IPN calls.
  • Fix: Prevent a bug that caused renewal reminders to not be sent when a user was not connected to the customer.

Version 2.8.8 — July 26, 2019

  • Fix: Free trials with variable priced products do not work in PayPal Express
  • Fix: Subscription payments improperly recorded as Complete in PayPal Standard when renewal payment fails