The Official Blog for LifterLMS Contributors

  • LifterLMS Version 5.0.0-beta.2

    • Updates LifterLMS Blocks to 2.0.0-beta.6.
    • (Re-)introduces the user information shortcode as [llms-user].
    • Add Admins status tool to reinstall core forms & reusable blocks.
    • Fixed issue causing data from conditionally disabled fields (like state) from being cleared during form submission
    • Updated form post type labels and added missing labels
    • Removed the previously deprecated class LLMS_Frontend_Forms and it’s deprecated class methods reset_password() and voucher_check().
    • Removed the previously deprecated class LLMS_Frontend_Password and it’s deprecated class methods: retrieve_password(), check_password(), and reset_password().
    • Updated country and state localization lists.
    Read more: LifterLMS Version 5.0.0-beta.2
  • LifterLMS Custom Fields Version 2.0.0-beta.4

    • Extend LifterLMS core admin status tool “Reinstall Forms” to update core reusable blocks in custom forms.
    • Fix issues encountered displaying custom fields on admin reporting screens
    • Various changes to reflect changes in 5.0.0-beta.2.
    Read more: LifterLMS Custom Fields Version 2.0.0-beta.4
  • LifterLMS Blocks Version 2.0.0-beta.6

    • (Re-)introduces user information shortcode through a block editor rich text area format button.
    • Prevent usage the “User Login” block on account edit forms (usersnames cannot be edited in WordPress).
    • Only prevent form posts from being made “draft” status on the “core” forms.
    • Modifies field localization data strategy for field validation and others.
    Read more: LifterLMS Blocks Version 2.0.0-beta.6
  • LifterLMS Version 4.21.3

    Updates
    • Increase 3rd party support for WP core hook lostpassword_post hook.
    Bug fixes
    • Props to Hemant Patidar for discovering an issue preventing rate limiting in various security plugins from working on the LifterLMS password recovery form.
    • Fixed an issue encountered when updating LifterLMS premium add-ons via the LifterLMS Helper encountered when API errors are occur.
    • Updated the failure error code from ‘activation’ to ‘deactivation’ in the LLMS_Add_On class.
    • Updated the API connection error message returned when using the LLMS_Abstract_API_Handler class.
    Deprecations
    • Class LLMS_Frontend_Password is deprecated, see deprecated methods and their replacments below:

    • LLMS_Frontend_Password::retrieve_password() is deprecated in favor of LLMS_Controller_Account::lost_password().

    • LLMS_Frontend_Password::check_password_reset_key() is deprecated in favor of check_password_reset_key().

    • LLMS_Frontend_Password::reset_password() is deprecated in favor of reset_password().

    Read more: LifterLMS Version 4.21.3
  • LifterLMS Social Learning Version 1.4.0

    Updates
    • Adds support for LifterLMS 5.0.0
    • Only show and process the “Display Name” field for LifterLMS 4.x and earlier.
    Bug fixes
    • Fix typo: wpsafeedirect => wpsaferedirect.
    Deprecations
    • Class method LLMS_SL_Student_Dashboard::insert_data() is deprecated with no replacement. This functionality is included in the LifterLMS 5.0.0-beta.1 and later.
    Read more: LifterLMS Social Learning Version 1.4.0
  • Preparing for LifterLMS 5.0.0

    LifterLMS 5.0.0 is scheduled for release in mid-June, 2021. In addition to various bug fixes and improvements, this major release focuses primarily on improving the management and construction of student checkout, enrollment, and registration forms.

    As a major release, some backwards incompatible changes have been made to the code base. These changes have been noted in the changelogs and compiled in the Breaking Changes section below.

    # Release Schedule

    The following is our target release schedule for LifterLMS version 5.0.0. The dates of these prerelease builds may be adjusted and additional versions may be added. The date of General Public Release may be delayed but will not be released early.

    Wednesday May 19, 2021Beta.1
    Tuesday May 25, 2021 +6dBeta.2
    Tuesday June 1, 2021 +1wBeta.3
    Tuesday June 8, 2021 +1wRC.1
    Tuesday June 15, 2021 +1wRC.2
    Monday, June 21, 2021 +6d5.0.0 General Public Release

    # Breaking Changes

    We strive, wherever possible, to remain backwards compatible. Doing so ensures that themes and integration do not have to worry about their code bases being negatively impacted by changes in LifterLMS. However, this also results in a larger code base full of many unused and deprecated functions, classes, and files.

    All breaking changes have been noted in the alpha version changelogs and are summarized here:

    The locations of some included libraries have been moved. Direct references to any files in these libraries will have to be updated.

    • Core libraries (lifterlms-blocks and lifterlms-rest) are now loaded from the libraries/ directory in favor of the vendor/ directory.
    • The WP Background Processing library is now being loaded as a composer dependency and will be located in the vendor/deliciousbrains/wp-background-processing directory.

    The following items have been removed from the codebase:

    • The vendor script dependency topModal.js has been removed.
    • Previously deprecated class method LLMS_Quiz::get_lessons() has been removed.
    • Previously deprecated class method LLMS_Controller_Quizzes::take_quiz() has been removed.
    • Previously deprecated class LLMS_Processor_Table_To_Csv has been removed.
    • Private method LLMS_Processors::includes() has been removed.
    • Private methods LLMS_Person_Handler::fill_fields() and LLMS_Person_Handler::insert_data() were removed.

    The following deprecations have been made and will be removed in a future major update.

    • Class Method: LLMS_Person_Handler::get_available_fields() is deprecated in favor of LLMS_Forms::get_form_fields().
    • Class Method: LLMS_Person_Handler::register() is deprecated, in favor of llms_register_user().
    • Class Method: LLMS_Person_Handler::sanitize_field() (private method) is deprecated with no replacement.
    • Class Method: LLMS_Person_Handler::update() is deprecated, in favor of llms_update_user().
    • Class Method: LLMS_Person_Handler::validate_fields() is deprecated with no replacement.
    • Class Method: LLMS_Person_Handler::voucher_toggle_script() is deprecated with no replacement.
    • Filter: lifterlms_get_user_custom_fields in favor of llms_admin_profile_fields
    • Filter: llms_usernames_blacklist is deprecated, use llms_usernames_blocklist instead.
    • Function: llms_get_minimum_password_strength() is deprecated with no replacement.
    • Option: lifterlms_registration_generate_username is deprecated in favor of the new method LLMS_Forms::are_usernames_enabled().

    What Happens to 4.x?

    LifterLMS does not (and will not) maintain multiple forks. We support and maintain a single stable release.

    Upon the public release of LifterLMS 5.0.0, all users are encouraged to update to this version. All future updates to LifterLMS will be updates to version 5.0.0.

    Contributing as a Beta Tester

    The prereleases are available publicly to anyone interested in helping the core team root out bugs and issues.

    Beta testing is not always fun or easy. The prereleases are considered generally stable but you should still use caution and expect to find some issues.

    If you find any issues, please let us know by filing a new bug report or submitting a support request.

    If you have general comments or feedback on the beta let us know in the comments below or post a reply in GitHub on our 5.0.0 general feedback issue.

    # How to Install a LifterLMS Pre-release

    There are three ways to install a prerelease version for evaluation and testing. Please do not install prereleases on production websites!

    1. You can subscribe to the beta release channel using the LifterLMS Helper and to start receiving automatic updates for beta releases through the WordPress admin panel.
    2. You can download the latest releases directly from the LifterLMS GitHub repository and install the zip file as a plugin on the WordPress admin panel.
    3. You can get a free temporary testing site hosted on LifterLMS servers.

    What Should a Beta Tester Look For?

    The changes in this release primarily revolve around building and managing the forms (checkout, enrollment, registration, and user information) that your students see on the front-end of the website, so, start with your forms.

    If you nave any 3rd-party integrations or themes installed on your site, you should check if developer has tested compatibility with LifterLMS 5.0.0 and, if they haven’t, ask them to do so as soon as possible to ensure there’s no issues when 5.0.0 is released to the stable channel.

    If you have any custom code on your site that is meant to programmatically add custom fields or modify your site’s forms, you should test to ensure this code continues to work as expected. LifterLMS 5.0.0 will still allow for programmatic modification of user forms but the new functionality aims to render code like this useless since much of what you may have wanted to modify can now be done in the block editor without any code.

    If you encounter any problems you should let your developer know and if you get stuck, file a new bug report or submit a support request and we’ll point you in the right direction.

    A Call to 3rd-Party Integration and Theme Developers

    If you maintain a LifterLMS theme, plugin, or integration we need your help!

    Please install the latest prerelease version and test your code against ours. If you find any issues along the way let us know by reporting an issue in GitHub.

    After testing your integration please let us know by commenting on our 5.0.0 feedback issue.

    A Call to LifterLMS Experts

    If you’re a member of the LifterLMS Experts program please collaborate with us during this beta period and help us ensure the transition to version 5.0.0 is as smooth as possible for your clients.

    We’d like you to, at the very least, install and test the beta in your own testing environment.

    As an expert we expect that you have a few LifterLMS clients, possibly with custom templates and feature plugins. If your clients (and contracts) allow, please test (or help your clients test) the beta in a safe testing or staging environment.

    If you encounter any issues or run tests and find that everything goes well, please let us know by posting in GitHub or by directly emailing your contact at LifterLMS.

    Read more: Preparing for LifterLMS 5.0.0