Release Notes

LifterLMS Version 3.36.0

User Interaction event and session Tracking
  • Added user interaction tracking for the following events:

  • User sign in and out.

  • Page load and exit (for LMS content)

  • Page focus and blur (for LMS content)

  • And more to come

  • Interaction events are grouped into sessions automatically. A session is “closed” after 30 minutes of inactivity or a log-out event.

  • Added “Last Seen” student reporting column which reports the last recorded activity for the student.

Enhancements
  • Automatically hydrate when calling LLMSAbstractDatabaseStore::toarray().
  • Added CSS to make course and lesson video embeds automatically responsive.
Bug Fixes
  • Correctly pass the $remember variable when using llms_set_person_auth_cookie().
  • Fixed undefined index error when retrieving an unset value from an unsaved database model.
  • Fix issue causing quotes to be encoded in shortcodes used in course and membership restriction message settings fields.
  • Fix issue preventing manual updates of order dates (next payment, trial expiration, and access expiration) from being saved properly.

LifterLMS Version 3.35.2

  • When sanitizing settings, don’t strip tags on editor and textarea fields that allow HTML.
  • Added JS filter llms_lesson_rerender_change_events to lesson editor view re-render change events.

LifterLMS Stripe Version 5.0.0

Updates
  • Updated to support PSD2 (SCA). For more details on what this means see Stripe’s article at https://stripe.com/guides/strong-customer-authentication.
  • LifterLMS version 3.29.0 or later is now required.
  • Updated Stripe API Version to 2019-08-14.
  • Added a purchase-aware dynamic statement descriptor for each charge.
  • Added automatic installation of Stripe Webhooks from admin settings screen.
  • Added webhook receipt endpoints for receiving updates from Stripe when asynchronous payments fail and charges are refunded.
  • Added minimum transaction checks for the following currencies: BRL, INR, MYR, & NZD.
  • Added UGX as a supported zero-decimal currency.
  • Database installation script no longer installs tables from version 2.x and 3.x.
Bug fixes
  • Fixed typo in filter llms_stripe_get_card_desrcription, use llms_stripe_get_card_description.
Deprecations
  • Removed class constant LLMS_Stripe_API::API_VERSION, use LLMS_STRIPE_API_VERSION instead.
  • Removed method LLMS_Payment_Gateway_Stripe::get_stripe_amount() use llms_stripe_get_amount() instead.
  • Removed method LLMS_Payment_Gateway_Stripe::get_transaction_minimum() use llms_stripe_get_transaction_minimum() instead.
  • Removed method LLMS_Payment_Gateway_Stripe::get_card_desrcription() use llms_stripe_get_card_description() instead.
  • Removed method LLMS_Payment_Gateway_Stripe::charge()
  • Removed class LLMS_Stripe_Crons
  • Renamed file includes/class-llms-gateway-stripe.php to includes/class-llms-payment-gateway-stripe.php

LifterLMS Version 3.35.0

Security Notice
  • Fixed a security vulnerability disclosed by the WordPress plugin review team. Please upgrade immediately!
Updates
  • Explicitly setting css and js file versions for various static assets..
  • Added data sanitization methods in various form handlers.
  • Added nonce verification to various form handlers.
Bug fixes
  • Fixed some translation strings that had literal variables instead of placeholders.
  • Fixed undefined index error encountered when attempting to email a voucher export.
  • Fixed undefined index error when PHP file upload errors are encountered during a course import.
Deprecations

The following unused classes have been marked as deprecated and will be removed from LifterLMS in the next major release.

  • LLMSAnalyticsMemberships
  • LLMSAnalyticsCourses
  • LLMSAnalyticsSales
  • LLMSMetaBox_Expiration
  • LLMSMetaBox_Video
Template Updates

LifterLMS Version 3.34.5

  • Fixed logic issues preventing pending orders from being completed.
Templates Changed
  • [checkout/form-confirm-payment.php](https://github.com/gocodebox/lifterlms/blob/master/templates/checkout/form-confirm-payment.php

LifterLMS Stripe Version 5.0.0-beta.1

Updates
  • Updated to support PSD2 (SCA). For more details on what this means see Stripe’s article at https://stripe.com/guides/strong-customer-authentication.
  • LifterLMS version 3.29.0 or later is now required.
  • Updated Stripe API Version to 2019-08-14.
  • Added a purchase-aware dynamic statement descriptor for each charge.
  • Added automatic installation of Stripe Webhooks from admin settings screen.
  • Added webhook receipt endpoints for receiving updates from Stripe when asynchronous payments fail and charges are refunded.
  • Added minimum transaction checks for the following currencies: BRL, INR, MYR, & NZD.
  • Added UGX as a supported zero-decimal currency.
  • Database installation script no longer installs tables from version 2.x and 3.x.
Bug fixes
  • Fixed typo in filter llms_stripe_get_card_desrcription, use llms_stripe_get_card_description.
Deprecations
  • Removed class constant LLMS_Stripe_API::API_VERSION, use LLMS_STRIPE_API_VERSION instead.
  • Removed method LLMS_Payment_Gateway_Stripe::get_stripe_amount() use llms_stripe_get_amount() instead.
  • Removed method LLMS_Payment_Gateway_Stripe::get_transaction_minimum() use llms_stripe_get_transaction_minimum() instead.
  • Removed method LLMS_Payment_Gateway_Stripe::get_card_desrcription() use llms_stripe_get_card_description() instead.
  • Removed method LLMS_Payment_Gateway_Stripe::charge()
  • Removed class LLMS_Stripe_Crons
  • Renamed file includes/class-llms-gateway-stripe.php to includes/class-llms-payment-gateway-stripe.php

LifterLMS Version 3.34.4

  • Add a new admin settings field type, “keyval”, used for displaying custom html alongside a setting.
  • Added filter llms_order_can_be_confirmed.
  • Always bind JS for the login form handler on checkout and registration screens.
Templates Changed
LifterLMS REST API v1.0.0-beta.6
  • Fix issue causing certain webhooks to not trigger as a result of action load order.
  • Change “access_plans” to “Access Plans” for better human reading.