LifterLMS 6.0.0 is scheduled for release in mid to late February, 2022. In addition to various bug fixes and improvements, this major release focuses primarily on improving the creation and management of certificates.
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 version 6.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.
Friday, February 11, 2022 | Alpha.4 |
Tuesday, February 15, 2022 +4d | Beta.1 |
Monday, February 21, 2022 +6d | Beta.2 |
Friday, February 25, 2022 +4d | RC.1 |
Tuesday, March 1, 2022 +4d | RC.2 |
Monday, March 7, 2022 +6d | 6.0.0 General Public Release |
# Breaking Changes
We strive, wherever possible, to remain backwards compatible. Doing so ensures that themes and integrations 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 were deprecated in previous versions of LifterLMS and have been recorded in the 6.0.0 alpha version changelogs. They are summarized here as well:
- Removed the deprecated
LLMS()
function in favor of thellms()
function. - Removed the deprecated
LLMS_SendWP::do_remote_install()
method in favor of theLLMS_Abstract_Email_Provider::do_remote_install()
method. - Removed the deprecated
LLMS_Abstract_Email_Provider::output_css()
method. - Removed the deprecated
LLMS_Abstract_Generator_Posts::increment()
method. - Removed the deprecated
LLMS_Admin_Users_Table::load_dependencies()
method. - Removed the deprecated
LLMS_Admin_Import::localize_stat()
method. - Removed the deprecated
LLMS_Admin_Notices_Core::check_staging()
method. - Removed the deprecated
LLMS_Admin_Setup_Wizard::generator_course_status()
method. - Removed the deprecated
LLMS_Admin_Setup_Wizard::output_step_html()
method. - Removed the deprecated
LLMS_Admin_Setup_Wizard::scripts()
method. - Removed the deprecated
LLMS_Admin_Setup_Wizard::watch_course_generation()
method. - Removed the deprecated
llms_format_decimal()
function. - Removed the deprecated
llms_set_person_auth_cookie()
function. - Removed the deprecated
LLMS_Course::sections
property. - Removed the deprecated
LLMS_Course::sku
property. - Removed the deprecated
LLMS_Frontend_Assets::enqueue_inline_pw_script()
method. - Removed the deprecated
LLMS_Frontend_Assets::enqueue_inline_script()
method. - Removed the deprecated
LLMS_Frontend_Assets::is_inline_script_enqueued()
method. - Removed the deprecated
LLMS_Generator::add_custom_values()
method. - Removed the deprecated
LLMS_Generator::add_custom_values()
method. - Removed the deprecated
LLMS_Generator::format_date()
method. - Removed the deprecated
LLMS_Generator::get_author_id_from_raw()
method. - Removed the deprecated
LLMS_Generator::get_default_post_status()
method. - Removed the deprecated
LLMS_Generator::get_generated_posts()
method. - Removed the deprecated
LLMS_Generator::increment()
method. - Removed the deprecated
llms__created
action hook from theLLMS_Abstract_Database_Store::create()
method. - Removed the deprecated
llms__deleted
action hook from theLLMS_Abstract_Database_Store::delete()
method. - Removed the deprecated
llms__updated
action hook from theLLMS_Abstract_Database_Store::update()
method. - Removed the deprecated
llms_user_removed_from_membership_level
action hook from theLLMS_Student::unenroll()
method. - Removed the deprecated and misspelled
$purchaseable
global variable in thelifterlms_template_pricing_table()
function. - Removed the deprecated and misspelled
$purchaseable
global variable in thetemplates/product/pricing-table.php
file. - Removed the deprecated
LLMS_Frontend_Password
class. - Removed the deprecated
LLMS_Install::db_updates()
method. - Removed the deprecated
LLMS_Install::update_notice()
method. - Removed the deprecated
LLMS_Notifications::dispatch_processors()
method. - Removed the deprecated
llms_processors_async_dispatching
filter hook from theLLMS_Notifications::__construct()
method. - Removed the deprecated
LLMS_Notifications::$_instance
property. - Removed the deprecated
LLMS_Person_Handler::register()
method. - Removed the deprecated
LLMS_Person_Handler::sanitize_field()
method. - Removed the deprecated
LLMS_Person_Handler::update()
method. - Removed the deprecated
LLMS_Person_Handler::validate_fields()
method. - Removed the deprecated
LLMS_Person_Handler::voucher_toggle_script()
method. - Removed the deprecated
templates/admin/notices/db-update.php
file. - Removed the deprecated
templates/admin/notices/db-updating.php
file. - Removed the deprecated
llms_usernames_blacklist
filter hook in thellms_get_usernames_blocklist()
function. - Removed the deprecated
includes/libraries/wp-background-processing/index.php
file. - Removed the deprecated
includes/libraries/wp-background-processing/wp-async-request.php
file. - Removed the deprecated
includes/libraries/wp-background-processing/wp-background-process.php
file. - Removed the deprecated
LLMS_Section::get_next_available_lesson_order()
method. - Removed the deprecated
LLMS_Section::get_order()
method. - Removed the deprecated
LLMS_Section::get_parent_course()
method. - Removed the deprecated
LLMS_Section::set_parent_course()
method. - Removed the deprecated
LLMS_AJAX::get_ajax_data()
method. - Removed the deprecated
LLMS_AJAX::register_script()
method. - Removed the deprecated
LLMS_Interface_Post_Audio
interface. - Removed the deprecated
LLMS_Interface_Post_Sales_Page
interface. - Removed the deprecated
LLMS_Interface_Post_Video
interface. - Removed the deprecated
LLMS_Achievements::$_instance
property. - Removed the deprecated
LLMS_Certificates::$_instance
property. - Removed the deprecated
LLMS_Emails::$_instance
property. - Removed the deprecated
LLMS_Engagements::$_instance
property. - Removed the deprecated
LLMS_Events::$_instance
property. - Removed the deprecated
LLMS_Grades::$_instance
property. - Removed the deprecated
LLMS_Integrations::$_instance
property. - Removed the deprecated
LLMS_Payment_Gateways::$_instance
property. - Removed the deprecated
LLMS_Processors::$_instance
property. - Removed the deprecated
LLMS_Sessions::$_instance
property.
What Happens to 5.x?
LifterLMS does not maintain multiple forks. We support and maintain a single stable release.
Upon the public release of LifterLMS 6.0.0, all users are encouraged to update to this version. All future updates to LifterLMS will be updates to version 6.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 6.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!
- 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.
- 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.
What Should a Beta Tester Look For?
The changes in this release primarily revolve around designing and creating certificates.
If you nave any 3rd-party integrations or themes installed on your site, you should check if developer has tested compatibility with LifterLMS 6.0.0 and, if they haven’t, ask them to do so as soon as possible to ensure there’s no issues when 6.0.0 is released to the stable channel.
If you have any custom code on your site, make sure it continues to function as expected and doesn’t utilize and code removed in this major release.
If you’ve added any CSS or custom code specific to the way certificates are viewed, you should see if it creates any issues with the changes to certificates.
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 6.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 6.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.