ensure every return from llms_page_restricted is filtered. Thanks to @matthalliday
Ensure purchase page can only load for valid access plans
Course / Membership taxonomy archives now obey orders defined by their respective catalog settings
Fix language of automatic validation error message for numeric field types
Fix translation function error causing course syllabus to display incorrect “x of x” text
Added correct text domain to an i18n string displayed on the checkout confirmation screen, thanks @ymashev
Ensure search result pages are viewable by members and non members regardless of result membership restrictions (unless site is restricted to sitewide membership)
Fixed tooltips on lesson preview tiles (in course syllabus and on next/prev tiles inside lessons) to show the actual reason the lesson is inaccessible rather than always showing a generic enrollment message
Removed the language “You must enroll in this course to unlock this lesson” in favor of “You do not have permission to access to this content” as a restriction message fallback when no better message is available
“Quiz Results” title is now translatable
Removed deprecated JS file “llms-metabox-data.js” which controlled UI/X for 2.x subscription data on courses and memberships
Non LMS Content (pages, posts, forums, etc…) restricted to multiple memberships will now correctly allow users access to the content as long as they have access to at least one of the memberships
Fixed a redirect loop encountered if direct access to a lesson with an incomplete prerequisite was attempted
Adds filter llms_student_dashboard_login_redirect allowing customization of the redirect upon login via the Student Dashboard
Adds a shortcode parameter, login_redirect to [lifterlms_my_account] allowing customization of the redirect upon login via the Student Dashboard
Adds a new tool under “Tools and Utilities” on the LifterLMS Settings screen which allows users to clear the cached student overall progress and overall grade data
Fixes a compatibility issue with the OptimizePress live editor
Adds a text domain to a translation function where none was present, rendering the string untranslatable
Added support for WordPress Twenty Seventeen theme
Improved the messaging and functions related to LifterLMS Sidebar support
Add alternate language for a quiz requiring 100% grade to pass
Added CSS class .llms-button-primaray to lesson “Mark as Complete” buttons
Add box-sizing css rule to LifterLMS form field elements. Fixes layout issues on themes that don’t border-box everything.
Fix an issue that prevented the admin notice to enable/disable recurring payments from clearing when a button was pressed from screens other than the LLMS Settings screen
Fix next payment date error when viewing a cancelled recurring order on the student dashboard
Recurring payments now scheduled based on UTC time in accordance with the action scheduler which executes based on UTC rather than site timezone
Add existing lesson to course modal now relies on async search. Improves performance and prevents timeouts on sites with a 500+ lessons
Removed 2.x -> 3.x update notification message
Fix an issue with comment counting on PHP7
Updated action scheduler library to latest version