The Official Blog for LifterLMS Contributors

  • LifterLMS Version 7.0.0-alpha.4

    • Fixed error causing recurring payment reschedules to fail with a fatal error.
    Read more: LifterLMS Version 7.0.0-alpha.4
  • LifterLMS PayPal Version 3.0.0-alpha.3

    • New minimum LifterLMS core version requirement: 7.0.0-alpha.3.
    • Changed the invoice_prefix CP gateway option to site_prefix.
    • Improved PayPal plan creation requests to automatically create the related product as needed.
    • Added product (course/membership) bulk sync admin tool.
    • Added an API for syncing recurring orders statuses to the related PayPal subscription.
    • Added a success message when onboarding is completed.
    • Fixed an issue causing PayPal subscription to be inadvertently reactivated during certain scenarios when changing payment methods.
    • Fixed an undefined variable error which could be encountered when using constants/environment variables to define PayPal API credentials.
    • Added an upgrade routine used to inform pre 3.x users about plugin changes.
    • Changed the default alternative payment methods list to be an empty array.
    • Fixed issue causing the legacy gateway to display when adding or removing a coupon during checkout.
    • Fixed an issue causing the PayPal button to get “stuck” when changing gateways after adding or removing a coupon during checkout.
    • Added a webhook notification handler for recording failed subscription payments.
    • Fixed validation feedback issues encountered on iOS browsers.
    Read more: LifterLMS PayPal Version 3.0.0-alpha.3
  • LifterLMS Version 7.0.0-alpha.3

    • Add max-length sanitization to admin settings which specify a max length.
    • Fixed invalid user links on admin order screens when viewing incomplete orders missing a registered user.
    • Added new function llms_is_secure().
    • Added lifterlms- and llms- as automatically stripped prefixed when using llms_strip_prefixes().
    • Added new temporary metadata, temp_gateway_ids to orders for use by gateways when switching payment methods.
    • Moved LLMS.Spinner Javascript into an @lifterlms/components module and removed its reliance on jQuery.
    • Disabled scroll-behavior: scroll on checkout screens to address a validity reporting issue on Chromium-based browsers.
    Read more: LifterLMS Version 7.0.0-alpha.3
  • LifterLMS Version 6.8.0

    Bug Fixes
    • Fixed Hello Theme’s word-break and spacing for quiz answer options. #2132
    • Fixed text/label alignment in Twenty-Twenty-Two theme.
    • Fixed regression introduced in version 6.3.0 which prevented the Courses nav item from being customized in the BuddyPress profile nav menu. #2142
    Developer Notes
    • Added new filter llms_product_get_restrictions hook to filter the list of restrictions placed on a given product. #2201
    Read more: LifterLMS Version 6.8.0
  • LifterLMS PayPal Version 3.0.0-alpha.2

    • New minimum LifterLMS core version requirement: 7.0.0-alpha.2.
    • Fixed various translation functions using the incorrect textdomain.
    • When PayPal error responses provide specific error “details” the detailed error is returned and the generic error type is used as a fallback when details don’t exist.
    • Removed the PayPal account email option as it isn’t functionally necessary to record.
    • Improved PayPal Connect onboarding: the connected PayPal account must have a confirmed email address, subscribed to the PPCP “product”, and be eligible to receive payment before the gateway can be used at checkout.
    • Added PayPal button customization settings.
    • Fixed an issue encountered when attempting to perform two or more partial refunds on a single PayPal transaction.
    • Added webhook handling for PayPal subscription change events and refunds for recurring payment transactions originating from the PayPal account dashboard.
    Read more: LifterLMS PayPal Version 3.0.0-alpha.2
  • LifterLMS Version 7.0.0-alpha.2

    New Features
    • 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.
    Updated Templates
    Read more: LifterLMS Version 7.0.0-alpha.2