The Official Blog for LifterLMS Contributors

  • LifterLMS Version 4.15.0

    PHP 7.2 has reached its official end of life. LifterLMS aims to support only officially supported PHP versions and our goal is to drop support for PHP 7.2 by March of 2021 at which time minimum supported PHP version will be raised to 7.3. If you’re currently using PHP 7.2 please contact your host and request an upgrade to a supported PHP version as soon as possible!

    Updates
    • Database migration: remove any “orphaned” access plans which were not properly cleaned up during deletion of parent course or membership.
    • Improved performance of membership post association query methods.
    Bug fixes
    • Access plans will now be automatically deleted when their parent course or membership is deleted.
    • Fix an issue with donut charts/graphs on RTL sites.
    • Fix an issue causing unpublished (draft/private) courses from being returned during queries for membership post associations.
    LifterLMS REST 1.0.0-beta.15
    Updates
    • Added Access Plan resource and endpoint.
    • Provide a more significant error message when trying to delete an item without permissions.
    • Use WP_Http constants in favor of integers when referencing HTTP status codes.
    Bug fixes
    • Fixes localization issues where a singular name was used in favor of the expected plural form.
    • Fixed issues where an error object was not properly returned when expected
    • Fixed call to undefined function llms_bad_request_error(), must be llms_rest_bad_request_error().
    • Fixed access plans resource link.
    • Fixed wrong trigger retrieved when multiple trigger were present for the same user/post pair on Student Enrollment resources.
    Read more: LifterLMS Version 4.15.0
  • LifterLMS REST API Version 1.0.0-beta.18

    Updates
    • Added Access Plan resource and endpoint.
    • Provide a more significant error message when trying to delete an item without permissions.
    • Use WP_Http constants in favor of integers when referencing HTTP status codes.
    Bug fixes
    • Fixes localization issues where a singular name was used in favor of the expected plural form.
    • Fixed issues where an error object was not properly returned when expected
    • Fixed call to undefined function llms_bad_request_error(), must be llms_rest_bad_request_error().
    • Fixed access plans resource link.
    • Fixed wrong trigger retrieved when multiple trigger were present for the same user/post pair on Student Enrollment resources.
    Read more: LifterLMS REST API Version 1.0.0-beta.18
  • LifterLMS Version 4.14.0

    PHP 7.2 has reached its official end of life. LifterLMS aims to support only officially supported PHP versions and our goal is to drop support for PHP 7.2 by March of 2021 at which time minimum supported PHP version will be raised to 7.3. If you’re currently using PHP 7.2 please contact your host and request an upgrade to a supported PHP version as soon as possible!

    Updates
    • Added a user preference option allowing users to opt-out of the course builder’s autosave functionality. More information.
    • 5-star review request displayed at 30 enrollments instead of 50.
    Bug fixes
    • Fixed an issue encountered when using shortcodes in the description of an access plan.
    • Fixed an issue encountered when editing auto-draft courses on the course builder.
    Deprecations
    • LLMS_Controller_Quizzes::take_quiz() is deprecated in favor of LLMS_AJAX_Handler::quiz_start().
    • Method LLMS_Quiz::get_lessons() is deprecated with no replacement.
    Read more: LifterLMS Version 4.14.0
  • LifterLMS Version 4.13.0

    PHP 7.2 has reached its official end of life. LifterLMS aims to support only officially supported PHP versions and our goal is to drop support for PHP 7.2 by March of 2021 at which time minimum supported PHP version will be raised to 7.3. If you’re currently using PHP 7.2 please contact your host and request an upgrade to a supported PHP version as soon as possible!

    Updates
    • The minimum supported WordPress core version has been raised to 5.2. For more information, please review the LifterLMS Minimum System Requirements.
    • When cloning courses and lessons the cloned post will be created as a draft.
    • When cloning courses the suffix “(Clone)” will be appended to the title of the course to unify cloning behavior with lessons.
    • Added information about LifterLMS specific constant values to the LifterLMS system report.
    • Added a new constant LLMS_IS_SITE_CLONE which can be used to force the site’s clone status.
    Bug fixes
    • Reverts site clone detection check changes implemented in 4.12.0 to restore pre 4.12.0 functionality which only runs checks on the admin panel for logged in users with the manage_lifterlms capability.
    • Restore reliance on mb_convert_encoding() when passing html strings into DOMDocument and use the alternate method introduced in version 4.8.0 as a fallback.
    • Fixed an issue encountered when unexpected or malformed data is stored in the LifterLMS admin notices option.
    Read more: LifterLMS Version 4.13.0
  • LifterLMS Authorize.Net Version 1.1.0

    • The minimum required LifterLMS core version has been raised to version 4.9.0. Please ensure the LifterLMS core is upgraded in order to continue using this payment gateway.
    Updates
    • Use llms() in favor of deprecated LLMS().
    • Added the ability to store API credentials as constants (in your wp-config.php file) or as environment variables. See our updated Getting Started Guide for more information.
    • Creation requests for a customer profile which already will now silently use the existing profile in favor of returning an error.
    Bug Fixes
    • Retrieve $_POST data via llms_filter_input().
    • Ensure the profile is saved even when a duplicate is encountered.
    Changes to private class members

    The following changes have been made to private members of various classes. These changes do not constitute a breaking change but are noted for the sake of posterity:

    • Removed private class method LifterLMS_Authorize_Dot_Net::define_constants().
    • Private class property LifterLMS_Authorize_Dot_Net::$_instance changed to LifterLMS_Authorize_Dot_Net::$instance.
    • Private method LLMS_Authorize_Net_Charge::_get_transaction_request_data() renamed to remove the leading underscore prefix.
    • Private methods LLMS_Authorize_Net_Customer::_get_payment_profile_request_data() and LLMS_Authorize_Net_Customer::_get_profile_request_data() were renamed to remove the leading underscores prefix.
    Deprecations
    • Function LLMS_Auth_Net() is deprecated in favor of llms_gateway_auth_dot_net().
    • Filter llms_auth_net_customer_profile_description is deprecated with no replacement.
    • File includes/class-llms-gateway-authorize.net.php is deprecated in favor of includes/class-llms-payment-gateway-authorize.net.php.
    Read more: LifterLMS Authorize.Net Version 1.1.0
  • LifterLMS Version 4.12.0

    Updates
    • Automatic site clone detection checks have been adjusted to always run in favor of only running on the admin panel.
    • LifterLMS Site Features (like recurring payment status) can now be configured via constant values.
    • Added llms_load_admin_tools action to allow 3rd parties to easily hook into our admin tools system.
    • Made numerous performance improvements on the course data background processor.
    • Course data background processing will now be automatically throttled for courses with 500 students or more as opposed to the old value of 2,500 or more.
    Bug fixes
    • Fixed an incorrect HTML for attribute and added an id to the related input element on the student dashboard voucher redemption endpoint.
    • Fixed a pagination error encountered when using course or membership list shortcodes on the static front page.
    • Make sure is_lifterlms() exists before calling it in navigation menu-related classes.
    Deprecations
    • LLMS_Admin_Notices_Core::check_staging() is deprecated in favor of LLMS_Staging::notice().
    • Unused property LLMS_Course::$sections is replaced by LLMS_Course::get_sections().
    • Unused property LLMS_Course::$sku is deprecated with no replacement.
    • LLMS_Frontend_Forms is deprecated, functionality is available via LLMS_Controller_Account.
    • LLMS_Frontend_Forms::reset_password() is deprecated in favor of LLMS_Controller_Account::reset_password().
    Templates Updated
    • templates/myaccount/form-redeem-voucher.php
    Read more: LifterLMS Version 4.12.0