| @@ -2,11 +2,11 @@ | ||
| 2 | 2 | |
| 3 | 3 | Plugin Name: s2Member Framework |
| 4 | 4 | Plugin URI: https://s2member.com/ |
| 5 | 5 | Tags: membership, content restriction, paid subscriptions, members only, paid access |
| 6 | -Version: 260927 | |
| 7 | -Stable tag: 260927 | |
| 8 | -Tested up to: 7.2-alpha-63947 | |
| 6 | +Version: 261001 | |
| 7 | +Stable tag: 261001 | |
| 8 | +Tested up to: 7.2-alpha-64027 | |
| 9 | 9 | Requires at least: 4.2 |
| 10 | 10 | Requires PHP: 5.6.2 |
| 11 | 11 | Tested up to PHP: 8.5.9 |
| 12 | 12 | License: GNU General Public License v2 or later. |
| @@ -175,13 +175,39 @@ | ||
| 175 | 175 | Please see: <http://s2member.com/r/translations/> |
| 176 | 176 | |
| 177 | 177 | == Upgrade Notice == |
| 178 | 178 | |
| 179 | -= v260927 = | |
| 179 | += v261001 = | |
| 180 | 180 | |
| 181 | 181 | (SECURITY RELEASE) UPGRADE IMMEDIATELY. v260215 included a CRITICAL VULNERABILITY fix, and you shouldn't wait any longer to update if you're behind. |
| 182 | 182 | |
| 183 | 183 | == Changelog == |
| 184 | + | |
| 185 | += v261001 = | |
| 186 | + | |
| 187 | +- (Framework) **Improvement:** PayPal Checkout buttons now keep a recoverable record of each checkout, allowing s2Member to complete a subscription signup even if the customer closes the page or loses their connection before the final confirmation. PayPal's verified webhook can finish the signup using the original purchase details, while checkout retries reuse the same subscription instead of creating another. Thanks to Felix for reporting the issue. See [thread #13627](https://f.wpsharks.com/t/13627). | |
| 188 | + | |
| 189 | +- (Framework) **Fix:** When a PayPal Checkout Buy Now payment succeeded but the browser lost the final response, the customer could see a payment error despite having been charged. s2Member now recovers the completed checkout and continues to the registration instructions without capturing the payment again. | |
| 190 | + | |
| 191 | +- (Framework) **Fix:** Corrected JavaScript issues that could prevent PayPal Checkout buttons from appearing, including incorrectly encoded characters and problems loading the PayPal SDK. | |
| 192 | + | |
| 193 | +- (Framework) **Fix:** Corrected an edge case where PayPal Checkout returns could fall back to the legacy site-wide proxy handler. Checkout returns now consistently use their transaction-specific return flow, with returned values normalized before downstream processing. | |
| 194 | + | |
| 195 | +- (Pro) **Security:** Hardened Remote Operations API authentication by using timing-safe comparisons when validating API keys. | |
| 196 | + | |
| 197 | +- (Pro) **Fix:** Improved legacy Multisite Membership-Only registration after WordPress core updates. s2Member now restores its required patches after successful automatic/background upgrades, while avoiding unnecessary rewrites when files are already patched. Thanks to Tim for reporting the issue. See [thread #13641](https://f.wpsharks.com/t/13641). | |
| 198 | + | |
| 199 | +- (Framework) **Compatibility:** Updated admin JSON handling to use WordPress's bundled JSON compatibility script instead of maintaining a separate bundled copy. | |
| 200 | + | |
| 201 | +- (Framework) **Maintenance:** Added missing direct-access safeguards to Markdown, AWeber, and IP utility files that are only intended to load through WordPress/s2Member. | |
| 202 | + | |
| 203 | +- (Framework) **Maintenance:** Removed obsolete inactive code that previously prevented automatic Framework updates when Pro was installed. | |
| 204 | + | |
| 205 | +- (Framework) **Maintenance:** Aligned the plugin's GPL license declaration with the existing GPLv2-or-later declaration in the readme. | |
| 206 | + | |
| 207 | +- (Pro) **Maintenance:** Added the existing GPLv2-or-later license declaration to the installer-compatible Pro plugin header. | |
| 208 | + | |
| 209 | +- (Framework) **Maintenance:** Updated release packaging so the internal language-generation marker remains available in the source repository without being included in the distributed ZIP build. | |
| 184 | 210 | |
| 185 | 211 | = v260927 = |
| 186 | 212 | |
| 187 | 213 | - (Pro) **Fix:** Improved Stripe 3D Secure recovery when browser and webhook processing overlap, or when the browser loses the final checkout response after successful authentication. s2Member now reconciles those recovery paths using the saved checkout state so successful signups can finish correctly without repeating fulfillment. Thanks to Felix for reporting it. See [thread #13627](https://f.wpsharks.com/t/13627). |