Here is the Changelog for s2Member v3.0.5/3.0.6. ~Enjoy.
Upgrade Notice
= 3.0.6 =
* Upgrade highly recommended.
= 3.0.5 =
* Several bug fixes, improvements, and some new features.
Changelog
= 3.0.6 =
* Bug fix. The file `paypal-button.html` was renamed in s2Member v3.0.5, to `paypal-checkout-button.html`. The "missing file error" has been corrected in v3.0.6.
= 3.0.5 =
- s2Member v3.0.5 is the first version of s2Member that is fully compatible with the s2Member Pro Module. Available now @ [s2Member.com](http://www.s2member.com/).
- New Level #0. s2Member now supports a new reserved Level #0 for Free Subscribers. s2Member has always supported Free Subscribers, but in past versions it was not possible to set custom permissions in the s2Member configuration panels for Level #0. Now you can. See: `s2Member -> General Options -> Open Registration`. You can now set Page, Post, Tag, Category, and even URI restrictions for Level #0.
- New feature. You can now create a "demo" account for public testing. Demo accounts ( where the Username MUST be "demo" ), will NOT be allowed to change their password. This will allow you to share a demo `username` / `password` with potential Customers, without having to worry about the password for the special "demo" account being changed during a demonstration. Any other restrictions you need to impose, if any; must be done through custom programming, using s2Member's Advanced Conditionals. See `s2Member -> API Scripting -> Advanced Conditionals`.
- New filter. s2Member now provides a well-hidden feature where a developer can use a WordPress® Filter to modify the default demotion Role. In other words, instead of having Members who cancel, demoted to a Free Subscriber by the s2Member Auto-EOT System, it is now possible through custom programming to modify this using `ws_plugin__s2member_force_demotion_role`.
- New feature. s2Member now supports Custom Capability Sub-directories for protected file downloads. See: `s2Member -> API Scripting -> Custom Capability Files`.
- New feature. s2Member now supports site-specific/time-sensitive and unique "Download Keys", which can be created for specific files that you've protected with s2Member. For full details, see: `s2Member -> Download Options -> Advanced Restricions`.
- Deprecated. The method `md5(s2member_xencrypt())` for protected file Keys has been deprecated; in favor of `s2member_file_download_key("location of file")`. For full details, see: `s2Member -> Download Options -> Advanced Restricions`. The older md5 method still works, but it will be removed in a future release of s2Member, so please update your site if you've been using Download Keys.
- Bug fix. When s2Member is configured to allow Custom Passwords during registration, instead of asking the User to check their email after registering, the message after registration now reads: `Registration complete. Please log in.` Since the Customer chose their own password during registration, asking them to check their email before logging in is a bit weird. This has been resolved in s2Member v3.0.5.
- Bug fix. A bug was found in two regex patterns that matched against the PayPal® `item_number` field. This was causing the registration system to fail under certain conditions, with the error: `Registration is currently not allowed`. This has been resolved in s2Member v3.0.5.
- Bug fix. Some regex patterns were being processed incorrectly by the function `preg_replace()`. This was only happening when a dollar sign was used within the second argument value. A new function has been added: `ws_plugin__s2member_esc_ds()`, which resolves the issue by escaping dollar signs before regex pattern matching is performed.
- Improvement. Improved validation routines in the PayPal® Button Generator. This helps to catch potential problems for novice/beginning site owners.
- General cleanup / attribute escaping. The function `esc_attr()` is now applied to all Shortcode processing attributes. This prevents conflicts with some plugins.
- CKEditor. It appears that the CKEditor plugin does not preserve WordPress® Shortcodes on some installations we've seen. s2Member has been updated to strip `"` from Shortcode attributes, which helps to fight against this issue. That being said, we highly recommend the default WordPress® Editor. Should you install a custom Editor plugin, you may have unexpected results with WordPress® Shortcodes.
- Framework in place for additional gateways to be added in future releases of the s2Member Pro Module.
- Bug fix. A minor bug was found in a few Hooks called upon inside `menu-pages/paypal-buttons.inc.php`. These were incorrectly referencing the `options_page`. This bug was first introduced in v3.0.4 and has been corrected in v3.0.5.
- Interface. By popular demand, the background color of the Profile Modification Page has been changed from light grey, to pure white.
- Bug fix. A Special Redirection URL in the s2Member API Constant ( `S2MEMBER_LOGIN_WELCOME_PAGE_URL` ) was not being filled with possible Replacement Codes. This was only affecting the API Constant, and not the internal functionality of s2Member. None the less, this has been corrected in v3.0.5.
- API Constants. Some new API Constants have been added in support of Level #0. See: `s2Member -> API Scripting -> API Constants`.
- Positioning of the s2Member Menu panels has been moved up, so it now sits just beneath the Users menu in WordPress®.
- Bug fix. Forced type casting (int) on API Constants `S2MEMBER_CURRENT_USER_REGISTRATION_TIME` and `S2MEMBER_CURRENT_USER_REGISTRATION_DAYS`.
- Bug fix. A couple of routines using `WP_User` were not checking for the correct instantiation of the `WP_User` class. This has been corrected in v3.0.5.
- Improvement. Additional routines added to various functions in order to further optimize database queries.
- Utility function. A new function was added to `utilities.inc.php`. See: `ws_plugin__s2member_esc_dq()`.
- IPN routines cleaned up a bit. Now supports s2Member Pro/PayPal® Pro integrations - when the s2Member Pro Module is installed.
- Bug fix. IPN processing routines were sending API / Signup Notifications and creating Signup Tracking Codes whenever an account was being updated through a subscr_signup response with advanced update vars ( on0, os0 ). This was not the intended behavior. Signup Notifications and Signup Tracking Codes should only be processed ONE time for each Customer. This has now been resolved in v3.0.5.
- Bug fix. Hooks/Filters were not being given a chance inside `profile.inc.php` because s2Member was loading this on `init`, instead of through `template_redirect`. This has been resolved now in v3.0.5.
- Conditional fix. Possible Registration URL failure during IPN processing was not reporting anything in the logs. There was not much chance of this happening, but, at any rate; the log reporting mechanism has now been corrected in v3.0.5.
- Internal feature. The IPN processing routines are now capable of self-verifying proxy requests through `$_GET["s2member_paypal_proxy"]` and `$_GET["s2member_paypal_proxy_verification"]`. This is useful only for advanced site owners who are extremely familiar with s2Member. The s2Member Pro Module uses this feature.
- New Replacement Codes for Signup Confirmation Emails. These new Replacement Codes are now available: `%%initial_cycle%%`, `%%regular_cycle%%`, `%%recurring/regular_cycle%%`. These are available only for the Signup Confirmation Email; making it easier; since conditional analysis is not possible for email templates.
- FAQs updated. See: `s2Member -> s2Member Info` inside your WordPress® Dashboard.
- Changelog trimmed away at version v2.0.