Added new engagement triggers for Quiz completion, quiz failure, and quiz passed.
Refactored Lesson Completion for sanity
Added function llms_mark_complete() for simple programmatic completion of courses, sections, lessons, and tracks. See usage docs for more information.
Class function LLMS_Lesson::mark_complete() has been staged for deprecation. It will still function but developers should update code to use above function.
LifterLMS background updaters will now display a progress report on the admin panel to add some transparency to how the update is doing.
Added author support to llms_membership post type
Added a way to remove all LifterLMS-generated data during plugin uninstallation.
llms_get_post() will now work with any LifterLMS Post Model post types
Removed references to LLMS_Activate class which was removed back in 2.0.
Changed include method to session related classes for better handling via phpunit
Refactored some of the LLMS_Install class for reliability and test coverage
Changed order of table and option creation during installation. Prevents a database warning from being thrown during installation.
Added function for retrieving default difficulty categories added during installation
Added function for removing default categories added during installation
llms_are_terms_and_conditions_required() ensure the page id used in this function is an absint
Removed redundant function LLMS_Lesson::single_mark_complete_text()
Add css classes for buttons to be auto-width rather than the width of their containers
Fix ID of engagement email class. Allows some filters and actions to actually be used.
Properly display quiz failures as failures on the quiz results screen
loop/feature-image.php now works for unsupported PHP 5.5 and down
Fix issue with modifying section titles from within the course builder
Fix undefined warning resulting from admin notice “flash” being undefined on pre-existing saved notices
Updated template at templates/course/complete-lesson-link.php to include a few new CSS classes and utilize llms_form_field() to standardize buttons
New course option allows displaying the video embed in place of the featured image on course tiles displayed on the course catalog screen
Courses can now be exported individually or in bulk. Export of a course includes all course content, sections, lessons, and quizzes.
Courses can now be duplicated. Duplication duplicates all course content, sections, lessons, and quizzes.
Upon completion of the Setup Wizard a sample course can be automatically installed.
Postmeta keys for Lessons and Sections which denote their relationship to their parents have been renamed for consistency, database upgrade 330 included in this release will rename the keys automatically. Read more here
Update to LLMS_Post_Model to allow easier programmatic definition and handling of extending class properties
classes extending LLMS_Post_Model can now be serialized to json and converted to arrays programmatically
new function llms_get_post() allows easier instantiation of an LLMS_Post_Model instance
Added LifterLMS Database Version to the system report