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.