The Official Blog for LifterLMS Contributors

  • LifterLMS Version 4.0.0-beta.1

    General Bug fixes
    • Fixes issues encountered when using Bootstrap. See https://github.com/gocodebox/lifterlms/issues/922 & https://github.com/gocodebox/lifterlms/issues/888.
    Development changes
    • Move db update functions to their own files, details: https://github.com/gocodebox/lifterlms/pull/1158
    Action Scheduler Library

    Switches from prospress/action-scheduler to woocommerce/action-scheduler — The repository has been moved but it’s the same library & upgrades to latest version (3.1.6)

    While this is a semantically major upgrade of the library there are no backwards incompatible changes to the public API.

    There have been several deprecated functions/classes. The LifterLMS core does not directly use any of these deprecated functions but 3rd parties might and should review the changelog of the library to see if they are affected by any deprecations: https://github.com/woocommerce/action-scheduler/releases

    Deprecations
    • Function LLMS() is deprecated in favor of llms().
    Templates Modified
    • templates/global/form-login.php
    • templates/global/form-registration.php

    Breaking Changes

    WP Session Manager Library
    • Removes the bundled WP Session Manager plugin dependency, all public methods included with this plugin have been removed without direct replacements.
    • Removes bundled JS bootstrap 3 dependencies: “collapse” and “transition”

    Removes classnames from student dashbord login and registration form wrapper elements which conflict with bootstrap causing visual issues.

    These classes are not used by the LifterLMS core or add-ons and are a legacy class that hasn’t been removed for fear of creating backwards compatibility issues with any custom css, 3rd party themes, etc…

    Removed CSS Classes
    • templates/global/form-login.php: Removes col-1 class from the div.llms-person-login-form-wrapper element.
    • templates/global/form-registration.php: : Removes col-2 class from the div.llms-new-person-form-wrapper element.
    Previously deprecated classes that have been removed
    • LLMS_Admin_Analytics: includes/admin/class.llms.admin.analytics.php
    • LLMS_Analytics: includes/class.llms.analytics.php
    • LLMS_Analytics_Courses: includes/admin/analytics/class.llms.analytics.courses.php
    • LLMS_Analytics_Memberships: includes/admin/analytics/class.llms.analytics.memberships.php
    • LLMS_Analytics_Page: includes/admin/analytics/class.llms.analytics.page.php
    • LLMS_Analytics_Sales: includes/admin/analytics/class.llms.analytics.sales.php
    • LLMS_Course_Basic: includes/class.llms.course.basic.php
    • LLMS_Course_Handler: includes/class.llms.course.handler.php
    • LLMS_Course_Factory: includes/class.llms.course.factory.php
    • LLMS_Lesso_nBasic: includes/class.llms.lesson.basic.php
    • LLMS_Meta_Box_Expiration: includes/admin/post-types/meta-boxes/class.llms.meta.box.expiration.php
    • LLMS_Meta_Box_Video: includes/admin/post-types/meta-boxes/class.llms.meta.box.video.php
    • LLMS_Quiz_Legacy: includes/class.llms.quiz.legacy.php
    • LLMS\Users\User: includes/Users/User.php
    Previously deprecated class properties that have been removed
    • LLMS_Analytics_Widget->date_end
    • LLMS_Analytics_Widget->date_start
    • LLMS_Analytics_Widget->output
    • LLMS_Certificate->enabled
    • LLMS_Course_Data->$course
    • LLMS_Course_Data->$course_id
    Previously deprecated class methods that have been removed
    • LLMS_Admin_Table::queue_export()
    • LLMS_AJAX::get_achievements()
    • LLMS_AJAX::get_all_posts()
    • LLMS_AJAX::get_associated_lessons()
    • LLMS_AJAX::get_certificates()
    • LLMS_AJAX::get_courses()
    • LLMS_AJAX::get_course_tracks()
    • LLMS_AJAX::get_emails()
    • LLMS_AJAX::get_enrolled_students()
    • LLMS_AJAX::get_enrolled_students_ids()
    • LLMS_AJAX::get_lesson()
    • LLMS_AJAX::get_lessons()
    • LLMS_AJAX::get_lessons_alt()
    • LLMS_AJAX::get_memberships()
    • LLMS_AJAX::get_question()
    • LLMS_AJAX::get_sections()
    • LLMS_AJAX::get_sections_alt()
    • LLMS_AJAX::get_students()
    • LLMS_AJAX::update_syllabus()
    • LLMS_Course::get_children_sections()
    • LLMS_Course::get_children_lessons()
    • LLMS_Course::get_author()
    • LLMS_Course::get_author_id()
    • LLMS_Course::get_author_name()
    • LLMS_Course::get_sku()
    • LLMS_Course::get_id()
    • LLMS_Course::get_title()
    • LLMS_Course::get_permalink()
    • LLMS_Course::get_user_postmeta_data()
    • LLMS_Course::get_user_postmetas_by_key()
    • LLMS_Course::get_checkout_url()
    • LLMS_Course::get_start_date()
    • LLMS_Course::get_end_date()
    • LLMS_Course::get_next_uncompleted_lesson()
    • LLMS_Course::get_lesson_ids()
    • LLMS_Course::get_syllabus_sections()
    • LLMS_Course::get_short_description()
    • LLMS_Course::get_syllabus()
    • LLMS_Course::get_user_enroll_date()
    • LLMS_Course::get_user_post_data()
    • LLMS_Course::check_enrollment()
    • LLMS_Course::is_user_enrolled()
    • LLMS_Course::get_student_progress()
    • LLMS_Course::get_membership_link()
    • LLMS_Lesson::get_assigned_quiz()
    • LLMS_Lesson::get_drip_days()
    • LLMS_Lesson::mark_complete()
    • LLMS_PlayNice::wc_is_account_page()
    • LLMS_Post_Instructors::get_defaults()
    • LLMS_Query::set_dashboard_pagination()
    • LLMS_Query::add_query_vars()
    • LLMS_Question::get_options()
    • LLMS_Quiz::get_remaining_attempts_by_user()
    • LLMS_Quiz::get_time_limit()
    • LLMS_Quiz::get_total_allowed_attempts()
    • LLMS_Quiz::get_total_attempts_by_user()
    • LLMS_Quiz_Attempt::get_status()
    • LLMS_Shortcode_My_Account::lost_password()
    • LLMS_Sections::get_children_lessons()
    • LLMS_Student::delete_quiz_attempt()
    • LLMS_Student::get_best_quiz_attempt()
    • LLMS_Student::get_quiz_data()
    • LLMS_Student::has_access()
    • LLMS_Student_Dashboard::output_courses_content()
    • LLMS_Student_Dashboard::output_dashboard_content()
    • LLMS_Student_Dashboard::output_notifications_content()
    • LLMS_Widget_Course_Progress::widget_contents()
    Previously deprecated functions that have been removed
    • is_filtered()
    • llms_create_new_person()
    • llms_set_user_password_rest_key()
    • llms_verify_password_reset_key()
    Previously deprecated filters that have been removed
    • lifterlms_completed_transaction_message
    • lifterlms_is_filtered
    • lifterlms_get_analytics_pages
    • lifterlms_analytics_tabs_array
    Previously deprecated shortcodes that have been removed
    • [courses]
    • [lifterlms_user_statistics]
    Removed classes
    • LLMS_Number: includes/class.llms.number.php
    • LLMS_Person: includes/class.llms.person.php
    Removed class methods
    • LLMS_Quiz::get_passing_percent(), use LLMS_Quiz::get( 'passing_percent' ) instead.
    • LLMS_Quiz::get_assoc_lesson(), use LLMS_Quiz::get( 'lesson_id' ) instead.
    • LLMS_Session::init()
    • LLMS_Session::maybe_start_session()
    • LLMS_Session::set_expiration_variant_time()
    • LLMS_Session::set_expiration_time()
    • LLMS_Session::use_php_sessions()
    Removed class properties
    • LifterLMS->person, generally accessed via LLMS()->person.
    Removed functions
    • llms_add_user_table_columns()
    • llms_add_user_table_rows()
    • llms_setup_question_data()
    • llms_get_question()
    • llms_get_quiz()
    Removed global variables
    • $question
    Read more: LifterLMS Version 4.0.0-beta.1
  • LifterLMS Version 3.39.0

    • Student Welcome notifications and user registered engagements now fire when users are created via the REST POST requests to the /students endpoint.
    • Bugfix: Error encountered when printing full-page certificates on certain themes.
    LifterLMS REST 1.0.0-beta.12
    • Feature: Added the ability to filter student and instructor collection list requests by various user information fields.
    • Fix: Prevent infinite loops encountered when invalid API keys are utilized.
    • Fix: Add an action used to fire LifterLMS core engagement and notification emails
    Read more: LifterLMS Version 3.39.0
  • LifterLMS REST API Version 1.0.0-beta.12

    • Fix: Prevent infinite loops encountered when invalid API keys are utilized.
    • Fix: Add an action used to fire LifterLMS core engagement and notification emails
    • Feature: Added the ability to filter student and instructor collection list requests by various user information fields.
    Read more: LifterLMS REST API Version 1.0.0-beta.12
  • LifterLMS PayPal Version 1.3.0

    • Fixed an issue causing $0 trials to fail when reference transactions are disabled.
    Read more: LifterLMS PayPal Version 1.3.0
  • LifterLMS Gravity Forms Version 2.1.0

    Updates
    • Added support for Gravity Form blocks.
    Deprecations

    The following functions and classes have been deprecated and will be removed in the next major release.

    • Function LLMS_GravityForms() is deprecated in favor of llms_gf().
    • Class LLMS_GravityForms_Engagements is deprecated in favor of LLMS_GF_Engagements.
    Read more: LifterLMS Gravity Forms Version 2.1.0
  • LifterLMS Helper Version 3.1.0

    • Load changelogs from the make.lifterlms.com release notes archive in favor of from static html files.
    • Remove reliance on file_get_contents() causing errors on servers without access to the function.
    Read more: LifterLMS Helper Version 3.1.0