Fix: Two subscriptions with the same name may result in incorrect charge/duration in Stripe.
Fix: Content restricted to 'any' level was accessible to pending members.
Fix: Some posts incorrectly being included in rcp_get_post_ids_assigned_to_restricted_terms(). This would only be noticed if "Hide Restricted Posts" is checked on.
Fix: Incorrect expiration date given to member if they register, don't complete payment, then register again days later.
Fix: Stripe Checkout spinner icon still visible after closing modal without completing payment.
Fix: Payment form not re-appearing when removing an applied discount code.
Tweak: Pass $event variable to hooks in Stripe gateway, like rcp_stripe_charge_succeeded and rcp_stripe_charge_failed.
New: Add user note when recurring charge fails.
New: Add new RCP_Member methods for set_subscription_id() and set_subscription_key().
New: Filters for expiring soon email message and subject. Filters are: rcp_expiring_soon_email and rcp_expiring_soon_subject.
Enhancement: Add a note to a member's record when the "expiring soon" email is sent.
New: Added the rcp_export_members_get_data_row and rcp_export_payments_get_data_row filters, making it easier to custom data to member and payment exports.
New: Introduced a new function, rcp_is_valid_currency(), to determine if a given currency code matches the currency selected in the settings.
New: Added action hooks to the invoice template, making it easier to programmatically add information to the invoice. New hooks are: rcp_invoice_items, rcp_invoice_items_before_total_price, rcp_invoice_additional_info, rcp_invoice_after_additional_info.
Enhancement: Set user display name to username if first and last names are not filled out during registration.
Fix: Member notes added programmatically not saved when editing a member in the admin.
Fix: jQuery Migrate notice on registration form.
Fix: Login failure if username is an email address but is different from the account's actual email address.
Fix: Two cancellation emails sent when a member cancels.
Fix: rcp_get_current_url() not working when used behind a reverse proxy.
Fix: Only send the trial email when a member signs up for an old style trial plan, instead of the trial and active emails.
Fix: Remove brackets from lost password email link, making it work better with some email apps.
Fix: Don't load gateway webhook processing when not needed, such as during ajax, cron, and admin page views.
Fix: Totals not showing on the registration form on mobile devices.
Fix: Trial members not getting an activation email.
Fix: Table layout issue with [subscription_details] shortcode.
Fix: HTML emails have extra spacing when sent through Mandrill with the WPMandrill plugin.
Fix: Quick/bulk editing WooCommerce products no longer wipes out restriction settings.
Fix: Incomplete email subject line on admin notifications of free trials.
Fix: PHP notice: undefined gateway_obj on free registrations.
Fix: Email tags not parsed on plain text emails.
Tweak: Deprecate the unused rcp_rstrstr() function.
Developer: Introduced can_cancel() and cancel_payment_profile() methods in RCP_Member. rcp_can_member_cancel() and rcp_cancel_member_payment_profile() are now wrappers for these new methods.