Releases: wpsharks/s2member
s2Member v161129
-
(s2Member Pro) Bug Fix: Stripe refund notifications via the Stripe Webhook were always interpreted by s2Member as full refunds. This release corrects this bug so that s2Member will handle partial refunds via the Stripe API properly in all cases. Props @raamdev for reporting.
-
(s2Member/s2Member Pro) Bug Fix: Updating profile via
[s2Member-Profile /]
when changing email addresses may leave the old email address on configured email list servers in some scenarios. Props @renzms for reporting. For further details see issue #1007. -
(s2Member/s2Member Pro) SSL Compatibility & Option Deprecation: In previous versions of s2Member there was a setting in the UI that allowed you to force non-SSL redirects to the Login Welcome Page. By popular demand, this setting has been deprecated and removed from the UI.
New Approach: The new approach taken in the latest release of s2Member is to automatically detect when a non-SSL redirection should occur, and when it should not occur (i.e., when the default WordPress core behavior should remain as-is).
s2Member does this by looking at the
FORCE_SSL_LOGIN
andFORCE_SSL_ADMIN
settings in WordPress, and also at your configuredsiteurl
option in WordPress. If you are not forcing SSL logins, or yoursiteurl
begins withhttps://
(indicating that your entire site is served over SSL), non-SSL redirects will no longer be forced by s2Member, which resolves problems on many sites that serve their entire site over SSL (a growing trend over the past couple years).Conversely, if
FORCE_SSL_LOGIN
orFORCE_SSL_ADMIN
are true, and your configuredsiteurl
option in WordPress does NOT begin withhttps://
(e.g., just plainhttp://
), then a non-SSL redirect is forced, as necessary, in order to avoid login cookie conflicts; i.e., the old behavior is preserved by this automatic detection.Overall, this new approach improves compatibility with WordPress core, particularly on sites that serve all of their pages over
https://
(as recommended by Google).Backward Compatibility: As noted previously, the old option that allowed you to configure s2Member to force non-SSL redirects to the Login Welcome Page has been officially deprecated and removed from the UI. However, the old option does still exist internally, but only for backward compatibility. A WordPress filter is exposed that allows developers to alter the old setting if necessary. You can use the filter to force a
true
orfalse
value.<?php add_filter('ws_plugin__s2member_login_redirection_always_http', '__return_true'); // OR add_filter('ws_plugin__s2member_login_redirection_always_http', '__return_false');
-
(s2Member/s2Member Pro) Bug Fix: Username/password email being sent to users whenever Custom Passwords are enabled in your s2Member configuration and registration occurs via the default
wp-login.php?action=register
form. Fixed in this release. See also: issue #870 if you'd like additional details. -
(s2Member Pro) Bug Fix: In the
[s2Member-List /]
search box shortcode an emptyaction=""
attribute produces a warning due to invalid syntax in HTML v5. Fixed in this release. See Issue #1006 -
(s2Member/s2Member Pro) IP Detection: This release improves s2Member's ability to determine the current user's IP address. s2Member now searches through
HTTP_CF_CONNECTING_IP
,HTTP_CLIENT_IP
,HTTP_X_FORWARDED_FOR
,HTTP_X_FORWARDED
,HTTP_X_CLUSTER_CLIENT_IP
,HTTP_FORWARDED_FOR
,HTTP_FORWARDED
,HTTP_VIA
, andREMOTE_ADDR
(in that order) to locate the first valid public IP address. Either IPv4 or IPv6. Among other things, this improves s2Member's compatibility with sites using CloudFlare. See also: issue #526 if you'd like additional details. -
(s2Member Pro) JSON API: In the pro version it is now possible to use the s2Member Pro Remote Operations API to send and receive JSON input/output. This makes the Remote Operations API in s2Member compatible with a variety of scripting languages, not just PHP; i.e., prior to this release the Remote Operations API required that you always use PHP's
serialize()
andunserialize()
functions when making API calls. The use ofserialize()
andunserialize()
are no longer a requirement since input/output data is now sent and received in the more portable JSON format. For new code samples, please see: Dashboard → s2Member → API / Scripting → Pro API For Remote Operations. See also: issue #987 if you'd like additional details on this change.Note: The old s2Member Pro Remote Operations API has been deprecated but will continue to function just like before (via
serialize()
andunserialize()
) for the foreseeable future. Moving forward, we recommend the new JSON code samples. Again, you will find those under: Dashboard → s2Member → API / Scripting → Pro API For Remote Operations -
(s2Member/s2Member Pro) Enforce data types when determining PHP constants. See this GitHub issue if you'd like further details.
-
(s2Member/s2Member Pro) Phing Build Routines: Starting with this release, developers working on the s2Member project are now able to perform builds of the software via the
websharks/phings
project; i.e., the structure of the plugin directories has been changed (slightly) to conform to Phing and PSR4 standards. This makes it easier for our developers to prepare and release new versions of the software in the future.
s2Member v161117-RC
-
(s2Member Pro) Bug Fix: Stripe refund notifications via the Stripe Webhook were always interpreted by s2Member as full refunds. This release corrects this bug so that s2Member will handle partial refunds via the Stripe API properly in all cases. Props @raamdev for reporting.
-
(s2Member/s2Member Pro) Bug Fix: Updating profile via
[s2Member-Profile /]
when changing email addresses may leave the old email address on configured email list servers in some scenarios. Props @renzms for reporting. For further details see issue #1007. -
(s2Member/s2Member Pro) Bug Fix: Username/password email being sent to users whenever Custom Passwords are enabled in your s2Member configuration and registration occurs via the default
wp-login.php?action=register
form. Fixed in this release. See also: issue #870 if you'd like additional details. -
(s2Member/s2Member Pro) SSL Compatibility & Option Deprecation: In previous versions of s2Member there was a setting in the UI that allowed you to force non-SSL redirects to the Login Welcome Page. By popular demand, this setting has been deprecated and removed from the UI.
New Approach: The new approach taken in the latest release of s2Member is to automatically detect when a non-SSL redirection should occur, and when it should not occur (i.e., when the default WordPress core behavior should remain as-is).
s2Member does this by looking at the
FORCE_SSL_LOGIN
andFORCE_SSL_ADMIN
settings in WordPress, and also at your configuredsiteurl
option in WordPress. If you are not forcing SSL logins, or yoursiteurl
begins withhttps://
(indicating that your entire site is served over SSL), non-SSL redirects will no longer be forced by s2Member, which resolves problems on many sites that serve their entire site over SSL (a growing trend over the past couple years).Conversely, if
FORCE_SSL_LOGIN
orFORCE_SSL_ADMIN
are true, and your configuredsiteurl
option in WordPress does NOT begin withhttps://
(e.g., just plainhttp://
), then a non-SSL redirect is forced, as necessary, in order to avoid login cookie conflicts; i.e., the old behavior is preserved by this automatic detection.Overall, this new approach improves compatibility with WordPress core, particularly on sites that serve all of their pages over
https://
(as recommended by Google).Backward Compatibility: As noted previously, the old option that allowed you to configure s2Member to force non-SSL redirects to the Login Welcome Page has been officially deprecated and removed from the UI. However, the old option does still exist internally, but only for backward compatibility. A WordPress filter is exposed that allows developers to alter the old setting if necessary. You can use the filter to force a
true
orfalse
value.<?php add_filter('ws_plugin__s2member_login_redirection_always_http', '__return_true'); // OR add_filter('ws_plugin__s2member_login_redirection_always_http', '__return_false');
-
(s2Member/s2Member Pro) IP Detection: This release improves s2Member's ability to determine the current user's IP address. s2Member now searches through
HTTP_CF_CONNECTING_IP
,HTTP_CLIENT_IP
,HTTP_X_FORWARDED_FOR
,HTTP_X_FORWARDED
,HTTP_X_CLUSTER_CLIENT_IP
,HTTP_FORWARDED_FOR
,HTTP_FORWARDED
,HTTP_VIA
, andREMOTE_ADDR
(in that order) to locate the first valid public IP address. Either IPv4 or IPv6. Among other things, this improves s2Member's compatibility with sites using CloudFlare. See also: issue #526 if you'd like additional details. -
(s2Member Pro) JSON API: In the pro version it is now possible to use the s2Member Pro Remote Operations API to send and receive JSON input/output. This makes the Remote Operations API in s2Member compatible with a variety of scripting languages, not just PHP; i.e., prior to this release the Remote Operations API required that you always use PHP's
serialize()
andunserialize()
functions when making API calls. The use ofserialize()
andunserialize()
are no longer a requirement since input/output data is now sent and received in the more portable JSON format. For new code samples, please see: Dashboard → s2Member → API / Scripting → Pro API For Remote Operations. See also: issue #987 if you'd like additional details on this change.Note: The old s2Member Pro Remote Operations API has been deprecated but will continue to function just like before (via
serialize()
andunserialize()
) for the foreseeable future. Moving forward, we recommend the new JSON code samples. Again, you will find those under: Dashboard → s2Member → API / Scripting → Pro API For Remote Operations -
(s2Member/s2Member Pro) Enforce data types when determining PHP constants. See this GitHub issue if you'd like further details.
-
(s2Member/s2Member Pro) Phing Build Routines: Starting with this release, developers working on the s2Member project are now able to perform builds of the software via the
websharks/phings
project; i.e., the structure of the plugin directories has been changed (slightly) to conform to Phing and PSR4 standards. This makes it easier for our developers to prepare and release new versions of the software in the future.
s2Member v160801
- (s2Member/s2Member Pro) WP v4.6 Compatibility. A full round of tests was performed against this release of s2Member, s2Member Pro, and the upcoming release of WordPress v4.6. In particular, the new HTTP API needed testing, along with the new optimized loading sequence in WordPress v4.6. Our tests indicate there are no compatibility issues, and we therefore encourage all s2Member site owners to upgrade to WordPress v4.6 whenever it becomes available publicly.
- (s2Member/s2Member Pro) Bug Fix: Allow for
<
and>
to work in the[s2If php="" /]
shortcode attribute as expected. Some Visual Editors convert these into<
and>
, so it's necessary to interpret them as such whenever the shortcode is parsed by s2Member. - (s2Member/s2Member Pro) JS API: Reducing the number of variables provided by the s2Member JavaScript API by default, and adding a new filter that allows them to all be enabled when/if desirable:
ws_plugin__s2member_js_api_constants_enable
. Props @JeffStarr for reporting.
s2Member v160728
Unified Changelog
- (s2Member/s2Member Pro) WP v4.6 Compatibility. A full round of tests was performed against this release of s2Member, s2Member Pro, and the upcoming release of WordPress v4.6. In particular, the new HTTP API needed testing, along with the new optimized loading sequence in WordPress v4.6. Our tests indicate there are no compatibility issues, and we therefore encourage all s2Member site owners to upgrade to WordPress v4.6 whenever it becomes available publicly.
- (s2Member/s2Member Pro) Bug Fix: Allow for
<
and>
to work in the[s2If php="" /]
shortcode attribute as expected. Some Visual Editors convert these into<
and>
, so it's necessary to interpret them as such whenever the shortcode is parsed by s2Member. - (s2Member/s2Member Pro) JS API: Reducing the number of variables provided by the s2Member JavaScript API by default, and adding a new filter that allows them to all be enabled when/if desirable:
ws_plugin__s2member_js_api_constants_enable
. Props @JeffStarr for reporting.
s2Member v160503
- (s2Member/s2Member Pro) Security Enhancement: This release forces
CURLOPT_SSL_VERIFYPEER
to a value ofTRUE
in the AWeber SDK that is used when/if you integrate with AWeber. In short, this forces AWeber to have a valid/verifiable SSL certificate before any data is exchanged between s2Member and the AWeber API behind-the-scenes. Props at WordPress security team for reporting this.
s2Member v160424
- (s2Member/s2Member Pro) PHP Compat./Bug Fix: This follow-up release includes a patch that will prevent fatal errors when s2Member and/or s2Member Pro are installed on a site running PHP v5.2 or PHP v5.3; i.e., this release corrects a bug that was causing fatal errors on these older versions of PHP. Note that s2Member and s2Member Pro are once again compatible with PHP v5.2+, up to PHP v7.0. Props @krumch. See also: this GitHub issue for details.
s2Member v160423
Unified Changelog
-
(s2Member/s2Member Pro) WP v4.5 Compatibility. This release offers full compatibility with the latest release of WordPress v4.5. Nothing major was changed for standard WordPress installations, but there were a few subtle tweaks here and there to improve v4.5 compatibility. We encourage all users to upgrade right away.
NOTE: WP v4.5 for Multisite Networks running s2Member Pro: This release corrects a bug first introduced in the previous release of s2Member Pro that resulted in an error message (
Uncaught Error: Class 'c_ws_plugin__s2member_mms_patches' not found
) when updating to WP v4.5. It has been corrected in this release, but in order to avoid this problem altogether please follow this procedure when upgrading WordPress.WP v4.5 Multisite Upgrade Procedure:
- Upgrade s2Member and s2Member Pro _before_ updating WordPress core.
- Then upgrade WordPress core and observe that Multisite Patches are applied properly.
If you have already upgraded to WP v4.5 and worked past this issue by patching manually, that's fine. You can still upgrade s2Member and s2Member Pro. After the upgrade you may feel free to enable automatic patching again if that's desirable.
-
(s2Member/s2Member Pro) Bug Fix: This release corrects a bug first introduced in the previous release which was causing a PHP warning about
cf_stream_extn_resource_exclusions
. A symptom was to have mysterious problems with[s2Stream /]
or the[s2File /]
shortcode. Fixed in this release. Props at @raamdev @renzms for reporting. See also this GitHub issue for details. -
(s2Member/s2Member Pro) PayPal SSL Compatibility: This release of s2Member provides an
https://
IPN URL for PayPal IPN integrations. It also provides a helpful note (in the Dashboard) about a new requirement that PayPal has with respect to the IPN URL that you configure at PayPal.com. s2Member has been updated to help you with this new requirement.New PayPal.com IPN Requirement: PayPal.com is now requiring any new IPN URL that you configure to be entered as an
https://
URL; i.e., if you log into your PayPal.com account and try to configure a brand new IPN URL, that URL must usehttps://
. PayPal.com will refuse it otherwise.However, the
notify_url=
parameter in standard PayPal buttons should continue to work with eitherhttp://
orhttps://
, and any existing configurations out there that still use anhttp://
IPN URL should continue to work as well. So this is about planning for the future. We have been told that PayPal will eventually require that all IPN URLs use anhttps://
protocol; i.e., they will eventually stop supportinghttp://
IPN URLs altogether (at some point in the future), they are not giving anyone a date yet. For this reason we strongly suggest that you review the details given here.Since PayPal is moving in a direction that will eventually require all site owners to have an SSL certificate in the future, s2Member's instructions (and the IPN URL it provides you with) will now be presented in the form of an
https://
URL with additional details to help you through the process of configuring an IPN handler for PayPal.See: Dashboard → s2Member → PayPal Options → PayPal IPN Integration
Props @codeforest for reporting. See this GitHub issue for further details.
-
(s2Member/s2Member Pro) Bug Fix: Email field on Registration page not shown as required via
*
symbol like other fields in this form. Caused by a change in WordPress core. Fixed in this release. Props @spottydog63 @renzms. See also: this GitHub issue for details. -
(s2Member/s2Member Pro) Bug Fix:
E_NOTICE
level errors in cache handler when running inWP_DEBUG
mode. Props at @KTS915 for reporting. Fixed in this release. See also: this GitHub issue. -
(s2Member/s2Member Pro) i18n Compatibility: This release of s2Member moves the
load_plugin_textdomain()
call into theplugins_loaded
hook instead of it being run oninit
. Props @KTS915 for reporting. See also: this GitHub issue for details. -
(s2Member Pro) Multisite Patches: Fixed a bug (
Uncaught Error: Class 'c_ws_plugin__s2member_mms_patches' not found
) whenever WordPress was being updated and Multisite Patches were being applied in the pro version of s2Member. See: this GitHub issue for details. -
(s2Member/s2Member Pro) Security Enhancement: This release of s2Member defaults PayPal Button Encryption to a value of
on
instead ofoff
; i.e., there is a new default behavior. Existing s2Member installations are unaffected by this change, but if you install s2Member on a new site you will notice that (if using PayPal Buttons), Button Encryption will be enabled by default.Note that in order for Button Encryption to work, you must fill-in the API credentials for s2Member under: Dashboard → s2Member → PayPal Options → PayPal Account Details
s2Member v160414-RC
Unified Changelog
-
(s2Member/s2Member Pro) WP v4.5 Compatibility. This release offers full compatibility with the latest release of WordPress v4.5. Nothing major was changed for standard WordPress installations, but there were a few subtle tweaks here and there to improve v4.5 compatibility. We encourage all users to upgrade right away.
NOTE: WP v4.5 for Multisite Networks running s2Member Pro: This release corrects a bug first introduced in the previous release of s2Member Pro that resulted in an error message (
Uncaught Error: Class 'c_ws_plugin__s2member_mms_patches' not found
) when updating to WP v4.5. It has been corrected in this release, but in order to avoid this problem altogether please follow this procedure when upgrading WordPress.WP v4.5 Multisite Upgrade Procedure:
- Upgrade s2Member and s2Member Pro _before_ updating WordPress core.
- Then upgrade WordPress core and observe that Multisite Patches are applied properly.
If you have already upgraded to WP v4.5 and worked past this issue by patching manually, that's fine. You can still upgrade s2Member and s2Member Pro. After the upgrade you may feel free to enable automatic patching again if that's desirable.
-
(s2Member/s2Member Pro) Bug Fix: This release corrects a bug first introduced in the previous release which was causing a PHP warning about
cf_stream_extn_resource_exclusions
. A symptom was to have mysterious problems with[s2Stream /]
or the[s2File /]
shortcode. Fixed in this release. Props at @raamdev @renzms for reporting. See also this GitHub issue for details. -
(s2Member/s2Member Pro) PayPal SSL Compatibility: This release of s2Member provides an
https://
IPN URL for PayPal IPN integrations. It also provides a helpful note (in the Dashboard) about a new requirement that PayPal has with respect to the IPN URL that you configure at PayPal.com. s2Member has been updated to help you with this new requirement.New PayPal.com IPN Requirement: PayPal.com is now requiring any new IPN URL that you configure to be entered as an
https://
URL; i.e., if you log into your PayPal.com account and try to configure a brand new IPN URL, that URL must usehttps://
. PayPal.com will refuse it otherwise.However, the
notify_url=
parameter in standard PayPal buttons should continue to work with eitherhttp://
orhttps://
, and any existing configurations out there that still use anhttp://
IPN URL should continue to work as well. So this is about planning for the future. We have been told that PayPal will eventually require that all IPN URLs use anhttps://
protocol; i.e., they will eventually stop supportinghttp://
IPN URLs altogether (at some point in the future), they are not giving anyone a date yet. For this reason we strongly suggest that you review the details given here.Since PayPal is moving in a direction that will eventually require all site owners to have an SSL certificate in the future, s2Member's instructions (and the IPN URL it provides you with) will now be presented in the form of an
https://
URL with additional details to help you through the process of configuring an IPN handler for PayPal.See: Dashboard → s2Member → PayPal Options → PayPal IPN Integration
Props @codeforest for reporting. See this GitHub issue for further details.
-
(s2Member/s2Member Pro) Bug Fix: Email field on Registration page not shown as required via
*
symbol like other fields in this form. Caused by a change in WordPress core. Fixed in this release. Props @spottydog63 @renzms. See also: this GitHub issue for details. -
(s2Member/s2Member Pro) Bug Fix:
E_NOTICE
level errors in cache handler when running inWP_DEBUG
mode. Props at @KTS915 for reporting. Fixed in this release. See also: this GitHub issue. -
(s2Member/s2Member Pro) i18n Compatibility: This release of s2Member moves the
load_plugin_textdomain()
call into theplugins_loaded
hook instead of it being run oninit
. Props @KTS915 for reporting. See also: this GitHub issue for details. -
(s2Member Pro) Multisite Patches: Fixed a bug (
Uncaught Error: Class 'c_ws_plugin__s2member_mms_patches' not found
) whenever WordPress was being updated and Multisite Patches were being applied in the pro version of s2Member. See: this GitHub issue for details. -
(s2Member/s2Member Pro) Security Enhancement: This release of s2Member defaults PayPal Button Encryption to a value of
on
instead ofoff
; i.e., there is a new default behavior. Existing s2Member installations are unaffected by this change, but if you install s2Member on a new site you will notice that (if using PayPal Buttons), Button Encryption will be enabled by default.Note that in order for Button Encryption to work, you must fill-in the API credentials for s2Member under: Dashboard → s2Member → PayPal Options → PayPal Account Details
s2Member v160303
- (s2Member/s2Member Pro) Comet Cache Compat.: This release improves compatibility with Comet Cache (formerly ZenCache), whenever you have it configured to cache logged-in users. See also: this GitHub issue. Props @KTS915 for reporting!
- (s2Member Pro) ClickBank IPN v6 Compat.: Version 6 of the ClickBank IPN system was recently updated in a way that causes it to return
transactionType = CANCEL-TEST-REBILL
in test mode, instead of the previous value, which was:TEST_CANCEL-REBILL
. s2Member Pro has been updated to understand either/or. See also this GitHub issue for further details. - (s2Member Pro) Stripe Bug Fix: This release corrects a bug caused by typos in the source code that were preventing refunds from being processed as expected whenever Stripe was integrated. Props @YearOfBenj for reporting this important issue. Props @patdumond for relaying vital information. See also this GitHub issue if you'd like additional details.
- (s2Member Pro) PayPal Bug Fix: Under some conditions, the EOT behavior in s2Member Pro (when integrated with PayPal Pro) would immediately terminate access whenever a customer's subscription naturally expires. Recent versions of the Payflow system set the status to
EXPIRED
, and this was handled as an immediate EOT instead of as a delayed EOT that is subject to date calculations to determine the correct date on which a customer should lose access; i.e., based on what they have already paid for. Fixed in this release. See also: this GitHub issue if you'd like additional details. - (s2Member Pro) One-Time Offer Bug Fix: This release corrects some inconsistencies in the One-Time Offers system that comes with s2Member Pro. Symptoms included seemingly unpredictable behavior whenever redirections were configured without a specific Membership Level. Props @jacobposey for reporting. See also: this GitHub issue if you'd like additional details.
- (s2Member/s2Member Pro) Bug Fix: s2Member was not properly respecting
DISALLOW_FILE_MODS
in a specific scenario related to GZIP. Props @renzms @kristineds. See also: this GitHub issue for further details. - (s2Member,s2Member Pro) Bug Fix: Resolved a minor glitch in the WordPress Dashboard → Settings → General panel, where s2Member's notice regarding Open Registration was inadvertently forcing the entire page into italics. Props @renzms @kristineds @raamdev ~ See also: this GitHub issue if you'd like additional details.
- (s2Member/s2Member Pro) PayPal Sandbox: This release updates the inline documentation under the PayPal Account Settings section of s2Member. We now suggest that instead of enabling PayPal Sandbox Mode (sometimes buggy at best), that site owners run tests with low-dollar amounts against a live PayPal account instead; e.g., $0.01 test transactions in live mode work great also. See this GitHub issue if you'd like additional details. Props @raamdev for mentioning this again.
s2Member v160225-RC
- (s2Member/s2Member Pro) Comet Cache Compat.: This release improves compatibility with Comet Cache (formerly ZenCache), whenever you have it configured to cache logged-in users. See also: this GitHub issue. Props @KTS915 for reporting!
- (s2Member Pro) ClickBank IPN v6 Compat.: Version 6 of the ClickBank IPN system was recently updated in a way that causes it to return
transactionType = CANCEL-TEST-REBILL
in test mode, instead of the previous value, which was:TEST_CANCEL-REBILL
. s2Member Pro has been updated to understand either/or. See also this GitHub issue for further details. - (s2Member Pro) Stripe Bug Fix: This release corrects a bug caused by typos in the source code that were preventing refunds from being processed as expected whenever Stripe was integrated. Props @YearOfBenj for reporting this important issue. Props @patdumond for relaying vital information. See also this GitHub issue if you'd like additional details.
- (s2Member Pro) PayPal Bug Fix: Under some conditions, the EOT behavior in s2Member Pro (when integrated with PayPal Pro) would immediately terminate access whenever a customer's subscription naturally expires. Recent versions of the Payflow system set the status to
EXPIRED
, and this was handled as an immediate EOT instead of as a delayed EOT that is subject to date calculations to determine the correct date on which a customer should lose access; i.e., based on what they have already paid for. Fixed in this release. See also: this GitHub issue if you'd like additional details. - (s2Member Pro) One-Time Offer Bug Fix: This release corrects some inconsistencies in the One-Time Offers system that comes with s2Member Pro. Symptoms included seemingly unpredictable behavior whenever redirections were configured without a specific Membership Level. Props @jacobposey for reporting. See also: this GitHub issue if you'd like additional details.
- (s2Member/s2Member Pro) Bug Fix: s2Member was not properly respecting
DISALLOW_FILE_MODS
in a specific scenario related to GZIP. Props @renzms @kristineds. See also: this GitHub issue for further details. - (s2Member,s2Member Pro) Bug Fix: Resolved a minor glitch in the WordPress Dashboard → Settings → General panel, where s2Member's notice regarding Open Registration was inadvertently forcing the entire page into italics. Props @renzms @kristineds @raamdev ~ See also: this GitHub issue if you'd like additional details.
- (s2Member/s2Member Pro) PayPal Sandbox: This release updates the inline documentation under the PayPal Account Settings section of s2Member. We now suggest that instead of enabling PayPal Sandbox Mode (sometimes buggy at best), that site owners run tests with low-dollar amounts against a live PayPal account instead; e.g., $0.01 test transactions in live mode work great also. See this GitHub issue if you'd like additional details. Props @raamdev for mentioning this again.