- (Pro) **Enhancement**: Improved coupon usage logging for better tracking.
- (Pro) **Enhancement**: Added a new single-use per user option for coupons. Thanks to Carl Borsani for sponsoring this.
- (Pro) **Enhancement**: Coupons can now be limited to specific pro-forms. Thanks to Carl Borsani for sponsoring this.
- (Framework) **Fix**: s2Get can now handle s2Member’s custom profile fields. Thanks to Gerard Earley for reporting this.
- (Framework) **Fix**: Updated the admin notice about the PayPal button encryption setting.
- (Pro) **Enhancement**: Improved data handling in the Remote Operations API. Props to István.
- (Pro) **Enhancement**: Improved validation of the template attribute in pro-forms and s2Member-List shortcodes. Props to István.
- (Framework & Pro) **Fix**: An error could happen on PHP8 during Pro activation. Fixed in this release.
- (Framework) **Enhancement**: s2Get shortcode can now be used to show s2's current user constants. E.g. `[s2Get constant="S2MEMBER_CURRENT_USER_DISPLAY_NAME" /]` _WP Admin > s2Member > API / Scripting > s2Member PHP/API Constants_
- (Framework) **Fix**: Some sites were getting a warning from v240315's restriction improvement when the WP REST request doesn't include a type or ID. Fixed in this release.See [thread 11347](https://f.wpsharks.com/t/11347)
- (Pro) **Enhancement**: Checkout success redirection URLs are now validated as safe with WordPress' _wp_validate_redirect_. To use a domain different than the site's, it can be allowed with wp's filter [allowed_redirect_hosts](https://developer.wordpress.org/reference/hooks/allowed_redirect_hosts/).
- (Framework) **Enhancement**: Additional validation to prevent an invalid s2Member Level role during registration.
- (Framework) **Enhancement**: Improved access restrictions applied to WP REST requests.
- (Framework) **Fix**: PayPal button encryption default changed to "disabled".
- (Framework) **Fix**: Mailchimp interest groups integration wasn't working correctly all the time. Fixed in this release.
- (Framework) **Fix**: Potential security issue under rare circumstances. Fixed in this release.
- (Framework) **Fix**: Mailchimp's groups/interests were not transitioning correctly with the updated integration. Fixed in this release.
- (Framework) **UI**: Added a notice about PayPal giving trouble with encrypted buttons recently, recommending to not encrypt them for now. You may need to disable button encryption, and allow non-encrypted payments. _s2Member > PayPal Options > Account Details > Button Encryption_
- (Framework) **UI**: Brought back the "Expand All" and "Collapse All" buttons for the admin panels. See [thread 10796](https://f.wpsharks.com/t/10796)
- (Framework) **UI**: Updated the link to the PayPal IPN configuration.
- (Framework) **UI**: Added link to PayPal's IPN History page. _s2Member > PayPal Options > PayPal IPN > More Information_
- (Pro) **Fix**: Stripe's billing update pro-form gave an error sometimes. Fixed in this release. See [thread 10752](https://f.wpsharks.com/t/10752)
- (Framework) **Enhancement**: Updated the Mailchimp integration to v3 of their API. I made it so you shouldn't need to change anything, it should work with your existing configuration. Still worth doing a test or checking that things are normal after the update, and report any issues you notice. See: [thread 10666](https://f.wpsharks.com/t/10666)
- (Framework) **Bug Fix**: Removed latest changes to gateway notification and return handlers, that were causing difficulties with member access in some scenarios.
- (Framework) **Fix**: Initialized some array keys to prevent PHP warnings in PayPal notify and return files. Thanks Greg Mulhauser for your help.
- (Framework) **UI**: Widened the Logs viewer. Thanks Sim. See [thread 10064](https://f.wpsharks.com/t/10064)
- (Framework) **UI**: Framework auto-update is now allowed when Pro add-on installed.
- (Pro) **UI**: The Pro updater now shows when a newer version available, not just when required.