Added handling for admin settings options that store their option values in a nested array.
Added new AJAX checkout and payment source switching endpoints for payment gateways to utilize instead of the preexisting synchronous form submission methods.
Bug Fixes
Don’t attempt to lookup the default payment gateway from user meta data.
Fixes Hello Theme’s word-break and spacing for quiz answer options. Also fixes text/label alignment in Twenty-Twenty-Two Theme. #2132
Deprecations
Deprecated LLMS_Controller_Orders::switch_payment_source() in favor of LLMS_Controller_Checkout::switch_payment_source().
Deprecated the lifterlms_update_option_{$type} action in favor of the llms_update_option_{$type} filter.
Method LLMS_Controller_Orders::confirm_pending_order() is deprecated in favor of LLMS_Controller_Checkout::confirm_pending_order().
Method LLMS_Controller_Orders::create_pending_order() is deprecated in favor of LLMS_Controller_Checkout::create_pending_order().
Method LLMS_Controller_Orders::switch_payment_source() is deprecated in favor of LLMS_Controller_Checkout::switch_payment_source().
Deprecated hook llms_{$method}_title in favor of llms_{$method}_refund_title.
Developer Notes
Added admin settings helper function, llms_get_dashicon_link(), intended to enable the addition of external resource helper links to settings field descriptions.
The LLMS_Student object can be instantiated as an empty object and bypass current user autoloading. In the future this may affect integrations using the lifterlms_new_pending_order action hook which will receive an “empty” student object during order setup by gateways utilizing new AJAX-powered checkout endpoints.
Added a filter, llms_gateway_{$this->id}_logging_enabled, which will allow force enabling/disabling of gateway logging functions.
Improved payment gateway secure string logging by adding a method, add_secure_string() allowing developers to add secure strings during runtime without the necessity of registering the strings using filters.
Implemented new gateway feature: modify_recurring_payments. #2176
Admin settings fields now display after_html for additional field types which support desc.
Added new filter llms_transaction_can_be_refunded enabling custom refund restrictions to be applied to a transaction.
Added new AJAX checkout and payment source switching endpoints for payment gateways to utilize instead of the preexisting synchronous form submission methods.
Bug Fixes
Don’t attempt to lookup the default payment gateway from user meta data.
Deprecations
Deprecated LLMS_Controller_Orders::switch_payment_source() in favor of LLMS_Controller_Checkout::switch_payment_source().
Method LLMS_Controller_Orders::confirm_pending_order() is deprecated in favor of LLMS_Controller_Checkout::confirm_pending_order().
Method LLMS_Controller_Orders::create_pending_order() is deprecated in favor of LLMS_Controller_Checkout::create_pending_order().
Method LLMS_Controller_Orders::switch_payment_source() is deprecated in favor of LLMS_Controller_Checkout::switch_payment_source().
Deprecated hook llms_{$method}_title in favor of llms_{$method}_refund_title.
Developer Notes
The LLMS_Student object can be instantiated as an empty object and bypass current user autoloading. In the future this may affect integrations using the lifterlms_new_pending_order action hook which will receive an “empty” student object during order setup by gateways utilizing new AJAX-powered checkout endpoints.
Improved payment gateway secure string logging by adding a method, add_secure_string() allowing developers to add secure strings during runtime without the necessity of registering the strings using filters.
Implemented new gateway feature: modify_recurring_payments. #2176
Added new filter llms_transaction_can_be_refunded enabling custom refund restrictions to be applied to a transaction.
Raised the minimum supported WordPress core version to 5.6.
New Features
Added support for WordPress 6.0.
Bug Fixes
Fixed the ability for 3rd party plugins to use the lifterlms_external_engagement_handler_arguments and lifterlms_external_engagement_query_arguments filters.
Added automatic exclusion of “no cache” pages from the WP Engine server-side cache when using “pretty” permalinks. #1717
Stop subtracting LifterLMS order note comments from global comment counts via the wp_count_comments filter on WordPress 6.0 and later. See related WordPress Trac ticket #19901