Version 2.11.3 — September 28, 2021
- New: When signing up for a free trial, the renewal amount is now displayed before the submit button.
- Fix: Refunding a subscription payment in PayPal not updating the status in EDD.
- Fix: Trial subscriptions created before the PayPal subscription was activated.
Version 2.11.2 — September 20, 2021
- Improvement: Add currency to the PayPal Commerce $plan_string logic. This ensures different PayPal plans are created for different currencies.
- Fix: Software Licensing – when upgrading a license key via PayPal Commerce, the subscription renewal date was not matching the license key’s expiration date.
- Fix: EDD occasionally reporting an incorrect subscription expiration date after an upgrade. (EDD’s date did not match the payment gateway’s renewal date, which was the correct one.)
- Fix: PayPal trials occasionally being created for the wrong amount of time.
Version 2.11.1 — August 30, 2021
- Improved: Better compatibility with caching pages when using the PayPal Commerce Gateway.
Version 2.10.5 — June 7, 2021
- Fix: Stripe – Renewal payments not being recorded correctly for zero decimal currencies.
- Fix: EDD 3.0 – Unable to capture Stripe payment intents with zero decimal currencies.
- Fix: EDD 3.0 – Automatic renewal payments not inheriting tax rate from parent order.
Version 2.11 — June 7, 2021
- New: Add support for the PayPal Commerce gateway.
- Fix: Software Licensing – The wrong expiration date could be calcualted when using one-time trials.
- Fix: Software Licensing – Upgrade logic now accounts for different license lengths with variable prices.
- Fix: PayPal Express – Renweal IPN could have incorrect payment amount recorded in EDD.
- Fix: A discount code could modify a $0 trial to a non-zero amount.
- Fix: Tax calculations were improved when using Signup Fees.
- Fix: EDD 3.0 – Updated more references to the `post_` function calls.
- Fix: EDD 3.0 – Orders table viwes were still using wp_count_posts for payments.
- Fix: EDD 3.0 – Recurring Payments may overwrite the order status parameter when querying orders.
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 2.9.7.1 — 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: Authorize.net logic was moved into the Authorize.net 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.