Skip to content

Releases: gocodebox/lifterlms

Version 7.1.4

28 Apr 14:12
1c8232e
Compare
Choose a tag to compare

v7.1.4 - 2023-04-28

Bug Fixes
  • Fixed an issue that prevented the correct saving of the course length when using the block editor. #2426
Developer Notes
  • Fixed an issue running unit tests on PHP 7.4 and WordPress 6.2 expecting render_block() returning a string while we were applying a filter that returned the boolean true.

Version 7.1.3

25 Apr 15:39
a4dfcb4
Compare
Choose a tag to compare

v7.1.3 - 2023-04-25

Updates and Enhancements
  • Wrapped some elements in HTML for better styling.
  • In Course and Lesson settings, replaced outdated URLs to WordPress' documentation about the list of sites you can embed from.
  • Updated few Italian province names. #2256
  • Avoid use of inline styles in course reviews. #410
Bug Fixes
  • Fixed "Unsaved Data" warning when adding vouchers. #2394
  • Fixed "Course Length" and "Difficulty" fields visible in the Block Editor which is meant for Classic Editor. #2174
  • Added missing $post_id parameter to the the_title filter hook when retrieving a form title. #2332
  • Added missing Armed Forces options to the US States dropdown in the Billing information form. #2325
  • Using strpos() instead of str_starts_with() for compatibility. #2415
Developer Notes
  • Added helper function llms_get_floats_rounding_precision() to return precision for rounding off floating values and filter hook lifterlms_floats_rounding_precision to filter precision value in reporting. #2237
  • Added lifterlms_dashboard_memberships_not_enrolled_text filter hook to allow altering the message displaying on the student dashboard when the current user is not enrolled in any memberships. #2396
  • Added lifterlms_dashboard_courses_not_enrolled_text filter hook to allow altering the message displaying on the student dashboard when the current user is not enrolled in any courses. #2396
Updated Templates

Version 7.1.2

23 Mar 15:55
Compare
Choose a tag to compare

v7.1.2 - 2023-03-22

Updates and Enhancements
  • Making the LifterLMS logo link to the LifterLMS.com site.
Bug Fixes
  • Fix bug in llms_featured_img function when featured image file is not available. #2381
  • Fixed manual certificates awarding broken when using the block editor. #2386

Version 7.1.1

13 Mar 22:52
Compare
Choose a tag to compare

v7.1.1 - 2023-03-13

Bug Fixes
  • Fixed notice display on WooCommerce dashboard pages.
  • Fixed View button URL when using WP in subdirectory.
  • Fixed blank System Report's copy for Support.

Version 7.1.0

03 Mar 11:51
Compare
Choose a tag to compare

v7.1.0 - 2023-03-02

New Features
  • Added lessons count column on the Courses post list table.
  • Added a new Dashboard page under the LifterLMS menu in the admin, whicih includes recent activity widgets and links to useful resources.
  • Added link to the course builder for each lesson on the Lessons post list table. Also added a link to either edit or add a quiz.
Updates and Enhancements
  • Updates LifterLMS Helper to v3.5.0.
  • Make the LifterLMS menu meta box initially available on Appearance -> Menus.
  • Updates LifterLMS REST to v1.0.0-beta.26.
Bug Fixes
  • Catch possible fatal when trying to display a "broken" basic notification and set its status to 'error' so that it'll be excluded from the next fetches.
  • Catch possible fatal when sending notification emails and in that case remove from the queue the item that produced it.
  • Fix cloned course retaining original course's ID in some restriction messages.
  • Fixed possible admin notices duplication when activating/deactivating or installing add-ons from the page Add-ons & more.
  • Avoided setting the llms-tracking cookie when there are no events to track.
  • Updated styles across the entire plugin.
  • Updated Add-ons & more list to hide old (uncategorized) products.
Deprecations
  • Deprecated methods LLMS_Admin_Notices_Core::sidebar_support() and LLMS_Admin_Notices_Core::clear_sidebar_notice().
  • Removed notice for theme sidebar support.
Developer Notes
  • The function llms_is_user_enrolled() will always return false for non existing users. While, before, it could return true if a now removed user was enrolled into a the given course or membership.
  • Added new LLMS_Course::get_lessons_count() method. It can be used in place of count( LLMS_Course::get_lessons() ) to improve performance.
  • Fixed compatibility with PHP 8.1 by using an empty string as menu parent page for the course builder submenu page in place of NULL.
  • Avoid passing null values to urlencode() and urldecode() that would produce PHP warnings on PHP 8.1+.
  • Added $autoload parameter to the function llms_get_student.
Performance Improvements
  • Improve performance when querying notifications via the LLMS_Notifications_Query and there's no need to count the total notifications found, or for pagination information.
  • Immediately return false when running llms_is_user_enrolled() on logged out or no longer existing users, avoiding running additional DB queries e.g. when displaying course or membership catalogs for visitors.
  • Skip counting the total transactions found when retrieving the last or the first transaction for an order.
Updated Templates
  • templates/admin/reporting/nav-filters.php
  • templates/admin/reporting/reporting.php
  • templates/admin/reporting/tabs/courses/course.php
  • templates/admin/reporting/tabs/memberships/membership.php
  • templates/admin/reporting/tabs/quizzes/quiz.php
  • templates/admin/reporting/tabs/students/student.php
  • templates/admin/reporting/tabs/widgets.php
  • templates/checkout/form-confirm-payment.php

Version 7.0.1

14 Nov 22:15
375aee4
Compare
Choose a tag to compare

v7.0.1 - 2022-11-14

Bug Fixes
  • Fixed a fatal error encountered on the payment confirmation screen when attempting to confirm a non-existent order. #2093
  • Use sanitize_file_name() in favor of sanitize_title() for generating the file name of reporting table export files. #1540
  • Resolved conflict encountered on post edit screens when using LifterLMS, Yoast SEO, and the Classic Editor plugin. #2298
Developer Notes
  • A stub method, get_title() has been added to the LLMS_Abstract_Exportable_Admin_Table abstract class. This method should be defined by any extending classes and will throw a _doing_it_wrong() error when undefined.
  • Added new filter to allow customizing which user roles are affected by the LLMS_Admin_Menus::instructor_menu_hack function.

Version 7.0.0

04 Oct 16:23
d350599
Compare
Choose a tag to compare

v7.0.0 - 2022-10-04

New Features
  • Added handling for admin settings options that store their option values in a nested array.
  • Added new AJAX checkout and payment source switching endpoints for payment gateways to utilize instead of the preexisting synchronous form submission methods.
  • On purchase completed retrieve the redirection URL from the INPUT_POST 'redirect' variable, if no 'redirect' variable is passed via INPUT_GET. The INPUT_POST 'redirect' variable comes from the new checkout form's hidden field 'redirect' populated with LLMS_Access_Plan::get_redirection_url(). #2229
Updates and Enhancements
  • Full Site Editing: [BREAKING] The wrappers in the custom header and footer templates have been changed to the semantic HTML tags <header> and <footer> in favor of default <div> tags. #2281
  • When an order post is restored from the trash its post status will now be "llms-pending" in favor of the default "draft" status.
Bug Fixes
  • Fixed unclosed checkout div wrapper on empty cart. #2277
  • Don't attempt to lookup the default payment gateway from user meta data.
  • Fixed required fields duplication when the form is a child of a .wp-block-column element. #2134
  • Fixed an issue that prevented disabling the access plan’s option, Override Membership Redirects, once enabled. #2234
  • Disabled scroll-behavior: smooth on checkout screen to address form element validity checking issues on Chromium-based browsers. #2206
Deprecations
  • Deprecated LLMS_Controller_Orders::switch_payment_source() in favor of LLMS_Controller_Checkout::switch_payment_source().
  • Deprecated the lifterlms_update_option_{$type} action in favor of the llms_update_option_{$type} filter.
  • Method LLMS_Controller_Orders::confirm_pending_order() is deprecated in favor of LLMS_Controller_Checkout::confirm_pending_order().
  • Method LLMS_Controller_Orders::create_pending_order() is deprecated in favor of LLMS_Controller_Checkout::create_pending_order().
  • Method LLMS_Controller_Orders::switch_payment_source() is deprecated in favor of LLMS_Controller_Checkout::switch_payment_source().
  • Passing jQuery selections into the window.LLMS.Spinner functions is deprecated. Use JS Elements or selection strings parseable by document.querySelector() instead.
  • Deprecated hook llms_{$method}_title in favor of llms_{$method}_refund_title.
Developer Notes
  • Added admin settings helper function, llms_get_dashicon_link(), intended to enable the addition of external resource helper links to settings field descriptions.
  • The LLMS_Student object can be instantiated as an empty object and bypass current user autoloading. In the future this may affect integrations using the lifterlms_new_pending_order action hook which will receive an "empty" student object during order setup by gateways utilizing new AJAX-powered checkout endpoints.
  • Added a filter, llms_gateway_{$this->id}_logging_enabled, which will allow force enabling/disabling of gateway logging functions.
  • Improved payment gateway secure string logging by adding a method, add_secure_string() allowing developers to add secure strings during runtime without the necessity of registering the strings using filters.
  • Introduces new function llms_is_option_secure() for determining if an "secured" option is defined in a "secure" manner.
  • Implemented new gateway feature: modify_recurring_payments. #2176
  • Added two new parameters to LLMS_Access_Plan::get_redirection_url() - $encode to optionally get a raw (not encoded) URL. - $querystring_only to optionally get only the redirect URL if set via NPUT_GET variable.
  • Added new parameter $querystring_only to the filter hook llms_plan_get_checkout_redirection.
  • Admin settings fields now display after_html for additional field types which support desc.
  • The CSS for .llms-spinning and .llms-spinner elements is no longer loaded as part of the lifterlms.css and admin.css files, instead it is loaded dynamically when window.LLMS.Spinner functions are called. In some cases CSS overrides to these elements which relied on CSS rule load order may no longer successfully override the default CSS rules. These overrides may need to be updated to have more specific selectors in order to ensure the overrides are retained.
  • The Javascript object, window.LLMS.Spinner, has been converted to a module accessible from the same variable.
  • The window.LLMS.Spinner methods now accept JS Elements and selector strings parseable by document.querySelector() in addition to jQuery selections.
  • Added new filter llms_transaction_can_be_refunded enabling custom refund restrictions to be applied to a transaction.
Updated Templates

Version 6.11.0

22 Sep 19:12
92cc895
Compare
Choose a tag to compare

v6.11.0 - 2022-09-22

Updates and Enhancements
  • Since version 6.0.0, the Certificate Title Block provided the option to use four Google-hosted fonts. These fonts will now be served from the site's server in favor of serving them from the Google Fonts CDN. For more information about this change, please refer to https://make.wordpress.org/themes/2022/06/18/complying-with-gdpr-when-using-google-fonts/. If you wish to continue loading fonts from Google's CDN, add the following code to your functions.php file: add_filter( 'llms_use_google_webfonts', '__return_true' );. #2189
  • Upgraded included library, @woocommerce/action-scheduler, to version 3.5.2.
Bug Fixes
  • Fixed a division by zero error encountered on quiz reporting screens for quizzes with 0 total available points. #2270

Version 7.0.0-rc.1

14 Sep 23:04
2b4312d
Compare
Choose a tag to compare
Version 7.0.0-rc.1 Pre-release
Pre-release

v7.0.0-rc.1 - 2022-09-14

New Features
  • Added handling for admin settings options that store their option values in a nested array.
  • Added new AJAX checkout and payment source switching endpoints for payment gateways to utilize instead of the preexisting synchronous form submission methods.
  • On purchase completed retrieve the redirection URL from the INPUT_POST 'redirect' variable, if no 'redirect' variable is passed via INPUT_GET. The INPUT_POST 'redirect' variable comes from the new checkout form's hidden field 'redirect' populated with LLMS_Access_Plan::get_redirection_url(). #2229
Updates and Enhancements
  • When an order post is restored from the trash its post status will now be "llms-pending" in favor of the default "draft" status.
Bug Fixes
  • Don't attempt to lookup the default payment gateway from user meta data.
  • Fixed an issue that prevented disabling the access plan’s option, Override Membership Redirects, once enabled. #2234
  • Disabled scroll-behavior: smooth on checkout screen to address form element validity checking issues on Chromium-based browsers. #2206
Deprecations
  • Deprecated LLMS_Controller_Orders::switch_payment_source() in favor of LLMS_Controller_Checkout::switch_payment_source().
  • Deprecated the lifterlms_update_option_{$type} action in favor of the llms_update_option_{$type} filter.
  • Method LLMS_Controller_Orders::confirm_pending_order() is deprecated in favor of LLMS_Controller_Checkout::confirm_pending_order().
  • Method LLMS_Controller_Orders::create_pending_order() is deprecated in favor of LLMS_Controller_Checkout::create_pending_order().
  • Method LLMS_Controller_Orders::switch_payment_source() is deprecated in favor of LLMS_Controller_Checkout::switch_payment_source().
  • Passing jQuery selections into the window.LLMS.Spinner functions is deprecated. Use JS Elements or selection strings parseable by document.querySelector() instead.
  • Deprecated hook llms_{$method}_title in favor of llms_{$method}_refund_title.
Developer Notes
  • Added admin settings helper function, llms_get_dashicon_link(), intended to enable the addition of external resource helper links to settings field descriptions.
  • The LLMS_Student object can be instantiated as an empty object and bypass current user autoloading. In the future this may affect integrations using the lifterlms_new_pending_order action hook which will receive an "empty" student object during order setup by gateways utilizing new AJAX-powered checkout endpoints.
  • Added a filter, llms_gateway_{$this->id}_logging_enabled, which will allow force enabling/disabling of gateway logging functions.
  • Improved payment gateway secure string logging by adding a method, add_secure_string() allowing developers to add secure strings during runtime without the necessity of registering the strings using filters.
  • Introduces new function llms_is_option_secure() for determining if an "secured" option is defined in a "secure" manner.
  • Implemented new gateway feature: modify_recurring_payments. #2176
  • Added two new parameters to LLMS_Access_Plan::get_redirection_url() - $encode to optionally get a raw (not encoded) URL. - $querystring_only to optionally get only the redirect URL if set via NPUT_GET variable.
  • Added new parameter $querystring_only to the filter hook llms_plan_get_checkout_redirection.
  • Admin settings fields now display after_html for additional field types which support desc.
  • The CSS for .llms-spinning and .llms-spinner elements is no longer loaded as part of the lifterlms.css and admin.css files, instead it is loaded dynamically when window.LLMS.Spinner functions are called. In some cases CSS overrides to these elements which relied on CSS rule load order may no longer successfully override the default CSS rules. These overrides may need to be updated to have more specific selectors in order to ensure the overrides are retained.
  • The Javascript object, window.LLMS.Spinner, has been converted to a module accessible from the same variable.
  • The window.LLMS.Spinner methods now accept JS Elements and selector strings parseable by document.querySelector() in addition to jQuery selections.
  • Added new filter llms_transaction_can_be_refunded enabling custom refund restrictions to be applied to a transaction.
Updated Templates

Version 6.10.2

14 Sep 17:50
97e3cc3
Compare
Choose a tag to compare

v6.10.2 - 2022-09-14

Updates and Enhancements
  • Updated woocommerce/action-scheduler to version 3.5.1.
Security Fixes
  • Fixed a data sanitization issue related to achievement permalinks.