- Modified template files: change-password.php, invoice.php.
- Fix: Pending memberships no longer expire when passing their expiration date; they just remain pending.
- Fix: Discount codes not being forced to all lowercase when being edited.
- Fix: Trial memberships not being considered "paid" when restricting content.
- Fix: $membership parameter missing from expired email filters.
- Fix: Stop using Stripe idempotency keys on discount code API requests.
- Fix: Imported memberships being incorrectly disabled after a renewal payment failure.
- Fix: Incorrect calculation in RCP_Registration::get_total() when combining both fees and credits.
- Fix: Admin notices not displaying after using bulk action in membership/customers table.
- Fix: Invoices not supporting RTL.
- Fix: Proration credit incorrectly given when upgrading / downgrading while still in the middle of a free trial.
- Fix: Hide "New Password" fields on password reset page when the reset link is invalid.
- Fix: Memberships table "Cancel" action fails due to invalid nonce.
- Fix: Stripe error when recreating customers that had previously been deleted earlier that day.
- Fix: When a discount code is used that has been restricted to certain membership levels, the membership levels restriction becomes invalidated.
Security Fix: Harden permission checks when performing membership actions.
Fix: Auto renew checkbox incorrectly appearing for lifetime memberships.
Fix: Display bug on email search dropdown when manually adding memberships/customers.
Fix: User role granted while membership is still pending.
- New: Add clear membership notes explaining where a cancellation originated from (customer action vs admin action vs webhook).
- New: Add get_user_id() method to RCP_Emails class.
- New: Add $membership parameter to "rcp_subscription_details_action_links" action.
- Tweak: Adjust logic in cron job that expires memberships, which will now allow the 2-day grace period to be removed with custom code.
- Fix: rcp_get_term_restrictions() - Can return an array with "access_level" => "None", which breaks restriction functionality.
- Fix: Registration form not able to be submitted after completing CAPTCHA.