Fix: Issue where expired members or manually renewing members paying via Stripe could have ended up with two subscriptions in Stripe.
Fix: Updated the Authorize.net SDK to the latest version, to help with all the Authorize.net fixes listed below.
Fix: Authorize.net will now authorize cards before creating a subscription, which should reduce or eliminate failed payments due to Authorize.net delaying captures.
Fix: Authorize.net now does single charges instead of one-time recurring charges when auto-renew is disabled or not selected.
Fix: Proration message no longer shows if the member isn't eligible for proration.
Fix: Downgrading from a paid to a free subscription will now properly cancel the paid subscription.
Fix: Authorize.net will no longer attempt to create invalid subscriptions with a duration greater than 1 year, since they don't support that.
Fix: Removed Alipay from Stripe Checkout since Stripe no longer supports Alipay via Stripe Checkout. Alipay will be introduced again in the future using another method.
Fix: [register_form_stripe] shortcode behavior is now more consistent with the [register_form] shortcode. It now shows the subscription name in the Stripe Checkout popup instead of the site name. It also now supports image.
Fix: REST API requests failing when the Prevent Account Sharing option is enabled.
Fix: PHP notice when using RCP_Payments::get_payment() with a non-existent payment ID.
Fix: PHP notice Undefined property: RCP_Emails:
payment_id when sending emails.
Fix: When a member has a lifetime membership, RCP no longer shows that membership level to them on the registration page because renewing a lifetime membership makes no sense.
Fix: rcp_is_post_taxonomy_restricted() is unavailable during AJAX requests, which caused issues with certain WooCommerce extensions.
Fix: Invoice notes now better support multiple paragraphs and other formatting.
Fix: RCP_Payments::get_payment_by() now works properly with strings as parameters.
Fix: Braintree compatibility with old Braintree add-on that existed before Braintree was merged into RCP.
New: New action hooks for developers: rcp_options_install and rcp_create_tables.
New: Allow admins to manually verify accounts that are subject to email verification.
New: Added rcp_get_currency_symbol function to get the just the currency symbol of the site's currency.
New: Password reset form now shows a success message after members successfully reset their passwords.
Tweak: Discount code input fields on the registration form are now wrapped in a span element, to make layouts in CSS easier.
Tweak: Change capability required to view Tools menu from rcp_view_payments to rcp_manage_settings. For admin users, this means nothing since you already have both of those capabilities. This is for fine grained access control to menus, if needed.
Tweak: Improve rcp_has_post_restrictions() checks to better support legacy data.