LifterLMS

LifterLMS Version 4.4.4

Bug fixes
  • Don’t pass unsupported parameter $use_cache to the calculate_grade() method, thanks @pondermatic!
  • Add an HTML title attribute to the admin setup wizard page.
  • Fix issue causing notices to be logged during quiz attempt deletion on the admin panel.
Deprecations
  • Method LLMS_Admin_Setup_Wizard::scripts() & LLMS_Admin_Setup_Wizard::output_step_html() are deprecated with no replacements.
LifterLMS REST API version 1.0.0-beta.15
  • Bugfix: Created lessons will now have the derivative course_id property set according to the ID of the lesson’s parent section.
  • Bugfix: The course_id property of lessons is now properly marked as read-only.

LifterLMS Version 4.4.1

  • Bugfix: Delayed engagement emails will not be sent to students who’s enrollment is not active in the related course or membership which triggered the email.
  • Bugfix: Fixed regression introduced in 4.4.0 preventing the certificates.css stylesheet from loading on certificate screens.
  • Update: Engagement email related logs will be logged to a separate logfile, engagement-emails in favor of the main llms log.

LifterLMS Version 4.4.0

Updates
  • Improved LifterLMS static asset registration, queuing, definitions, and management.
  • Added strict comparators in various areas of the codebase.
Changes to deprecated function logs and warnings
  • The llms_deprecated_function() method now uses _deprecated_function() (from the WP core) under the hood.
  • LifterLMS deprecation warnings are logged to the WP core debug.log file in favor of the LifterLMS log file.
  • LifterLMS deprecation warnings will now trigger a E_USER_DEPRECATED error when WP_DEBUG is enabled.
Bugfixes
  • Fixed a lesson navigation issue encountered when sections contain unpublished lessons.
  • Fixed an undefined variable notice encountered on the student dashboard.
  • Fixed an issue encountered when the wp_login_url() function returns an empty string.
  • Fixed a double slash found in an asset URI.
Deprecations
  • LLMS_Frontend_Assets::is_inline_script_enqueued() is deprecated in favor of LLMS_Frontend_Assets::is_inline_enqueued().
  • LLMS_Ajax::register_script() is deprecated with no replacement.
  • LLMS_Ajax::get_ajax_data() is deprecated with no replacement.
  • Javascript AJAX nonce variable is moved from wp_ajax_data.nonce to window.llms.ajax-nonce.
Templates Updated
  • templates/checkout/form-gateways.php
  • templates/course/lesson-preview.php
  • templates/course/syllabus.php

LifterLMS Version 4.3.3

  • Fixed an issue causing legends of reporting charts to be truncated and only readable after a mouse hover.
  • Fixed an issue caused by passing null values to wp_insert_post().
  • Fixed a javascript error encountered on LifterLMS settings screens.

LifterLMS Version 4.3.1

  • When resetting tracking data cookies, set a “secure” cookie where possible.
  • Catch an unhandled error encountered when generating certificate exports.
  • When an error is encountered during certificate export generation, display an error notice instead of a general notice.

LifterLMS Version 4.3.0

Security Fix
  • Fixed an XSS issue on account edit and registration forms. Thanks to Morningstar for reporting this issue!
Bug fixes
  • Fixed an error encountered during customizer live theme preview encountered when Twenty-twenty is the current theme.
  • The $type property of the LLMS_Abstract_Database_Store is now set to a default placeholder value (_db_record_) in favor of an empty string.
  • Set the $type property of the LLMS_Event class to event.
  • Set the $type property of the LLMS_Quiz_Attempt class to quiz_attempt.
  • Set the $type property of the LLMS_User_Post_Meta class to user_postmeta.
Updates
  • Added a filter llms_form_field_args to allow extending form fields prior to HTML rendering.
Deprecations

The following filter hooks have been deprecated. These hooks were being called as the result of a bug (noted above) and should no longer be used. They will be removed in the next major version of LifterLMS.

  • llms__created has been deprecated, use llms_{$type}_created where {$type} is the database record type defined by the class property.
  • llms__deleted has been deprecated, use llms_{$type}_deleted where {$type} is the database record type defined by the class property.
  • llms__updated has been deprecated, use llms_{$type}_updated where {$type} is the database record type defined by the class property.

LifterLMS Version 4.2.0

Updates
  • Admins can now preview the checkout screen as visitors or students using the “View As” function from the WP Admin bar
  • Javascript cookies now set cookies with sameSite set to strict as recommended by Firefox/Mozilla.
  • Added filters to allow 3rd parties to use LifterLMS completion tracking APIs to “complete” external or non-LMS content.
  • Added “deep” orphan checks when checking the relationship between a quiz and a lesson.
  • Normalized the return structure in LLMS_Post_Instructors::get_instructors() when no instructor set, thanks @nicolas-jaussaud!
  • Update LifterLMS rocket icon used in the WP Admin Bar in the “View As” area.
Bug fixes
  • When deleting a quiz attempt the related lesson will now be automatically marked as “Incomplete” when appropriate.
  • LLMS_Abstact_User_Data::get_id() now always returns an integer.
  • Fixed a 404 error resulting from settings tooltips referencing a missing icon asset.
  • Added logic to set the order status to ‘cancelled’ when an enrollment linked to an order is deleted.