* FEATURE: Added a "User Fields" tab to the settings page. You can now add "Register Helper" style fields through the WP admin dashboard without code.
* FEATURE: The "Add Ons" tab has a new look, with better browsing and searching.
* FEATURE: Added support for level templates to more easily allow admins to create popular types of levels.
* FEATURE: Added a CSV export option to the built-in reports.
* ENHANCEMENT: Redesigned the Add/Edit Membership Level screen to focus on the applicable settings for the type of level.
* ENHANCEMENT: Testing PHP sessions in site health now.
* ENHANCEMENT: Fixed doc block for the pmpro_getLevel() function.
* ENHANCEMENT: Showing a notice on the PMPro settings pages if the next update for PMPro has an "update notice" section in the readme for that version.
* ENHANCEMENT: Removed the odd line break from the "Powered by Paid Memberships Pro" HTML comment.
* ENHANCEMENT: Added filter pmpro_membershiplevels_page_action_links to add/modify buttons on the Settings > Membership Levels admin page.
* ENHANCEMENT: Added pmpro_unhandled_webhook action that is thrown when a webhook or IPN handler encounters a webhook that isn't processed by PMPro. You can use this hook to log these cases for debugging purposes.
* ENHANCEMENT: Disabled the credit card options for the Stripe gateway. Instead, it now says "We accept all major credit cards".
* ENHANCEMENT: Added a pmpro_order_status_{status} hook that is fired whenever an order's status changes. Passes the $status, $order, and $original_status as params.
* BUG FIX/ENHANCEMENT: Added the pmpro_calculate_profile_start_date() function, which is used in all built-in gateways now. This fixes some issues with inconsistencies for subscriptions with multiple month billing periods.
* BUG FIX/ENHANCEMENT: Now handling the subscr_failed IPN message for PayPal. This message is now sent sometimes instead of the "recurring_payment_skipped" one.
* BUG FIX/ENHANCEMENT: The PayPal IPN handler is now treating "Voided", "Denied", and "Expired" payment statuses similar to "Failed".
* BUG FIX/ENHANCEMENT: Now requiring a name when adding/editing a level.
* BUG FIX/ENHANCEMENT: Updates to the level save logic to avoid some edge case issues. (@ideadude)
* BUG FIX/ENHANCEMENT: Removed some trailing commas in arrays that were breaking PHP 5.6 users.
* BUG FIX: Fixed "No such product" bug that happened sometimes when checking out with Stripe. We catch this now and create the products when they are missing.
* REFACTOR: Removed update notice RE Better Login Reports being merged into core PMPro (which happened a few years ago). Now using the general deprecation notices RE old add ons.
* REFACTOR: Refactored the MemberOrder class a bit to avoid PHP 8+ warnings.