Paid Memberships Pro version 1.7.6 is out! This is the first version of PMPro that included code written in sub-freezing temperatures (our furnace broke here as I was finishing things up yesterday — all fixed now). It also includes many many bug fixes and minor improvements. The full list is below.
The funnest update is the “old members” report, which can be access from the dropdown on the members list report. This is a much-requested feature that allows you to see a list of former members (either cancelled or expired) so you can follow up with them.
There were also important updates for PayPal Express users. Now, cancels that originate from PayPal will cancel memberships in WP/PMPro if your IPN is setup correctly.
For PayPal Standard users, we’ve implemented the same check for cancellations coming from PayPal. Cancelling at PayPal, will cancel members in PMPro. However, while testing this we realized that the other direction — cancelling at PMPro and having it update in PayPal — is not working as intended all the time. This feature of PayPal Standard is an undocumented feature, a kind off-label prescription. You must have your PayPal Express API settings updated in PMPro to get it to work, and even then it seems to randomly fail to cancel subscriptions .
We did update the email that goes out if a subscription cancellation fails. Some PMPro users who were getting these emails erroneously will notice fewer of these emails. Other PMPro users who should have gotten these emails in some cases will notice more emails like this. You should be notified by email if a cancelled membership on your site doesn’t cancel in PayPal (or any other gateway). If you are using PayPal Standard, I would assume that it is not cancelled and needs to be manually cancelled. We’ll try to get cancellations synced with PayPal Standard, but I am not sure a solution exists.
There was some good news RE PayPal Express. I hear that it can be configured to not require a PayPal account at checkout (which is I think the #1 reason to use PayPal Standard over Express). We are going to follow up on this rumor and try to fully support it in Paid Memberships Pro.
Finally, for those who follow us on GitHub, we’ve also updated our organization over there a bit. The idea is to make it easier for us to work on multiple releases at the same time. So right now we will be working on the next minor release (1.7.7) any hot fixes (184.108.40.206) and also the upcoming 2.0 release.
- We are now tagging releases just like we do in the WP SVN.
- We are now creating a separate branch for each major and minor revision as we are working on it. So the v2.0 branch will include updates for the upcoming 2.0 release.
- The “master” branch will always contain the current stable release that is sync’d to the WordPress repository.
- The “dev” branch will always contain the beta version of the next release. So version 220.127.116.11 or 1.7.7 right now. At times, we will merge it into the version specific branches. Pull requests should be made against the “dev” branch unless otherwise instructed (e.g. if you are working on 2.0-specific features).
All updates included in this release:
- Added “Old Members” option to the members list page to view members who don’t have an active membership, but did in the past. (Note that we don’t differentiate between members who expired and who cancelled.)
- Stripe now supports weekly recurring payments. Removed the error message RE this. You may have to upgrade your Stripe API from the Stripe dashboard to use this.
- The PayPal IPN Handler has been updated to process “subscr_cancel” messages from PayPal. This should cancel memberships in WP/PMPro when users or PayPal admins cancel a subscription at PayPal when using PayPal Express or Website Payments Pro. There are still known issues with syncing cancellations with PayPal Standard.
- Fixed bug where “error cancelling subscription” emails were being sent out erroneously. These should only go out now if PMPro has trouble cancelling a subscription. If you got a lot of these before, you should get less. If you never got this, you might start getting it sometimes.
- Orders are now set to “cancelled” status whether any attached subscriptions were cancelled or not. (Keeps us from trying again.)
- Fixed bug where All Pages view in WP dashboard would sometimes redirect to the registration page if you had Theme My Login installed.
- Setting startdate to NOW() when a user’s level is changed via pmpro_changeMembershipLevel() using a level ID… also when admin’s manually change a user’s level. This fixes issues with PMPro Series where users who were given a level this way appear to have a start date in 1970, etc.
- Fixed bug with the pmpro_save_discount_code_level filter where -1 was being passed as the code_id for brand new codes.
- Updated “The ____ code has been applied to your order” message to it is wrapped for localization.
- Now checking ICL_LANGUAGE_CODE instead of $_REQUEST[‘lang’] to support WPML using different language URL formats.
- Unsetting $all_membership_levels[$user_id] at the bottom of pmpro_changeMembershipLevel().
- Added $force parameter to pmpro_getMembershipLevelForUser($user_id, $force). If set to true, it will ignore the cached value and pull the level from the DB.
- Added autocomplete=”off” to credit card account number field on checkout and update billing pages.
- Added an optional $seed parameter to pmpro_getDiscountCode() which will add $seed to the scrambled string. Useful when generating many discount codes quickly and time() might not have changed.
- Now hiding “Change Membership Level” link from Member Links section of Membership Account page if PMPRO_DEFAULT_LEVEL is defined.
- Clearing the AccountNumber value at checkout if it is XXXX…, e.g. when we mask the Stripe CC number. This way users will know they need to re-enter the credit card again. (Thanks, Gary)
- Fixed bug on checkout page where html classes for the bstate field were being set based on the bcity value instead.
- Fixed bug where there was no space after the “.” in some level cost text. (Thanks, multiple observers 😉
- Added some explanatory text to the payment settings page about taxes and SSL seals.
- Added a pmpro_formatAddress() function to format billing addresses/etc.
- Fixed bug where blank billing addresses were showing up in confirmation emails. If you use custom email templates, update them to use the !!billing_address!! variable instead of the full address section.
- Design updates to checkout buttons, admin screens, etc, to work better with WP 3.8 and the TwentyFourteen theme.