New: An admin notice will be displayed if you have the Stripe Checkout gateway enabled, explaining that the gateway will be removed in RCP version 3.2 due to SCA regulations. Read more here: Stripe Checkout - Deprecated - Restrict Content Pro
New: Added a date_completed column to the wp_rcp_queue table.
New: Unauthorized users are now redirected away from category archive pages if the category is restricted. (Requires that Hide Restricted Posts be checked on.)
New: Allow filtering by both level and status on Restrict > Memberships page. Note: you must choose a status filter first, then you can change the membership level.
New: Add support for a redirect query arg when generating a resend_verification link.
New: Add "Status" dropdown to the "add payment" form on the admin Membership Details page.
Tweak: Moved _rcp_reminder_sent_* user meta to membership meta.
Tweak: Adjust Redirect Default Login URL setting description to convey that the [login_form] shortcode is required on the page and not optional.
Fix: Free trial incorrectly granted again under certain circumstances.
Fix: If a customer signs up for a one-time payment membership and does not complete payment, they are unable to try again. (Usually only seen with the PayPal payment gateway.)
Fix: CSV import not setting correct password for new users.
Fix: CSV import missing old rcp_user_import_user_added action hook.
Fix: Incorrect ajax parameter used for error message when uploading a CSV import file fails.
Fix: Don't show an error message on [rcp_update_card] shortcode if the current user does not have a membership at all.
Fix: Ensure that free membership status is always converted to active (backwards compatibility with pre-3.0).
- Modified template files: card-update-form.php, paypal-express-confirm.php, register-single.php, register.php, subscription.php.
- New: Add support for multiple active memberships per customer.
- New (WARNING): Authorize.net has been removed from core and moved to a separate add-on. The new add-on can be installed here: Restrict Content Pro – Authorize.net
- New: One-time discounts can now be configured on a per-discount basis rather than globally.
- New: Stripe gateway has been updated to use Stripe Elements.
- New: CSV user import tool now available in Restrict > Tools > Import.
- New: Added WP-CLI integration.
- New: Expiration and renewal notices can now be limited to certain membership levels only.
- New: Added support for bulk adding memberships to existing users from the Users table.
- New: Added "payment received" email template for admins.
- New: Use WP_List_Table for all admin table pages.
- New: Add default email template content on new installs.
- New: Log all payment events in the customer notes.
- New: Send customer name in Stripe API request.
- New: Add payment meta and membership level meta functions.
- New: Signup fees are no longer applied when manually renewing an existing membership.
- New: Stripe gateway tested with API version 2019-05-16.
- Tweak: Stop unchecking "auto renew" when a membership expires.
- Tweak: All translation files have been updated from plugin source code.
- Tweak: Updated plugin author name and URL.
- Fix: RCP datepicker styles affecting other plugin datepickers.
- Fix: Reduce the three RCP membership columns on the Users table to one single "Membership" column. This reduces database queries and improves loading time on this page.
- Fix: Payments are now only recorded via webhooks/IPNs if we can match the payment to a very specific RCP membership. This resolves issues if the same PayPal account is used for multiple different products and one customer is involved in both products.
- 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.