LifterLMS Version 3.29.0

Improved Access Plan Management
  • Added a set of methods for creating access plans programmatically.
  • Updated the Access Plan metabox on courses and lessons with improved data validation.
  • When using the block editor, the “Pricing Table” block will automatically update when access plan changes are saved to the database (from LifterLMS Blocks 1.3.5).
  • Access plans are now created and updated via AJAX requests, resolves a 5.0 editor issue causing duplicated access plans to be created.
Student Management Improvements
  • Added the ability for instructors and admins to mark lessons complete and incomplete for students via the student course reporting table.
Admin Panel Settings and Reporting Design Changes
  • Replaced LifterLMS logos and icons on the admin panel with our new logo LifterLMS Logo and Icons.
  • Revamped the design and layout of settings and reporting screens.
Checkout Improvements
  • Updated checkout javascript to expose an error addition functions
  • Abstracted the checkout form submission functionality into a callable function not directly tied to $_POST data
  • Removed display order field from payment gateway settings in favor of using the gateway table sortable list
Other Updates
  • Removed code related to an incompatibility between Yoast SEO Premium and LifterLMS resulting from former access plan save methods.
  • Reduced application logic in the course/complete-lesson-link.php template file by refactoring button display filters into functions.
  • Added function for checking if request is a REST request
  • Updated LifterLMS Blocks to version 1.3.7
Bug Fixes
  • Fixed an issue preventing “Pricing Table” blocks from displaying on the admin panel when the current user was enrolled in the course or no payment gateways were enabled on the site.
  • Fixed the checkout nonce to have a unique ID & name
  • Fixed an issue with deleted quizzes causing quiz notification’s to throw fatal errors.
  • Fixed an issue preventing notification timestamps from displaying on the notifications dashboard page.
  • Fix an issue causing GET requests with no query string variables from causing issues via incorrect JSON encoding via the API Handler abstract.
  • Fix an issue causing access plan sale end dates from using the default WordPress date format settings.
  • LLMS_Lesson::has_quiz() will now properly return a boolean instead of the ID of the associated quiz (or 0 when none found)
Template Updates
Templates Removed

Admin panel templates replaced with view files which cannot be overridden from a theme or custom plugin.

  • admin/post-types/product-access-plan.php
  • admin/post-types/product.php

LifterLMS Version 3.29.0-rc.1

  • Tweak access plan admin keyup event validation to only validate fields which have already been focused. Prevents the plan’s entire box from changing to “invalid” after editing the title due to no price being present.
  • Automatically save access plans on form submission when using the classic editor.
  • Update LifterLMS Blocks to 1.3.6

LifterLMS Version 3.29.0-beta.1

Updates
  • Updated the Access Plan metabox on courses and lessons with improved data validation.
  • Added a set of methods for creating access plans programmatically.
  • When using the block editor, the “Pricing Table” block will automatically update when access plan changes are saved to the database (from LifterLMS Blocks 1.3.5).
  • Removed code related to an incompatibility between Yoast SEO Premium and LifterLMS resulting from former access plan save methods.
  • Added the ability for instructors and admins to mark lessons complete and incomplete for students via the student course reporting table.
  • Reduced application logic in the course/complete-lesson-link.php template file by refactoring button display filters into functions.
  • Replaced LifterLMS logos and icons on the admin panel with our new logo assets.
  • Updated checkout javascript to expose an error addition functions
  • Removed display order field from payment gateway settings in favor of using the gateway table sortable list
  • Abstracted the checkout form submission functionality into a callable function not directly tied to $_POST data
  • Added function for checking if request is a REST request
  • Fix checkout nonce to have a unique ID & name
Bug Fixes
  • Access plans are now created and updated via AJAX requests, resolves a 5.0 editor issue causing duplicated access plans to be created.
  • Fix an issue causing GET requests with no query string variables from causing issues via incorrect JSON encoding via the API Handler abstract.
  • Fix an issue causing access plan sale end dates from using the default WordPress date format settings.
  • LLMS_Lesson::has_quiz() will now properly return a boolean instead of the ID of the associated quiz (or 0 when none found)
Template Updates
Templates Removed

Admin panel templates replaced with view files which cannot be overridden from a theme or custom plugin.

  • admin/post-types/product-access-plan.php
  • admin/post-types/product.php

LifterLMS Version 3.28.3

  • ❤❤❤ Happy Valentines Day or whatever ❤❤❤
  • Tested to WordPress 5.1
  • Fixed an issue causing JSON data saved by 3rd party plugins in course or lesson postmeta fields to be not duplicate properly during course duplications and imports.