LearnDash LMS
Fixes
- Resolved an issue where assigning a Question to a Quiz through the REST API
quizfield saved the Quiz post ID where the ProQuiz Quiz ID belongs. - Resolved an issue where creating a Question through the REST API returned an error when the
quizfield was left out. - Resolved an issue where creating a Quiz through the REST API returned an error when the
visible_after_specific_datefield was left out. - Resolved an issue where the Fix Scheduled Notification Recipients tool on the Notifications Status page fatally errored after the first batch and left the delayed emails table half-processed.
- Resolved an issue where the plus icon was misaligned with the button label on the "Add your first ..." buttons shown on empty LearnDash post type screens in WordPress 7.0 and later.
- Resolved an issue where the Quiz REST API did not validate the
passing_percentageandcertificate_award_thresholdfields, which let a non-numeric Passing Score save as 0.
Tweaks
- Added an admin notice prompting site administrators to update WordPress to 6.9 before the next LearnDash release.
Features
- Merged Notifications addon feature into LearnDash core.
- Merged WooCommerce addon feature into LearnDash core.
Fixes
- Resolved an issue where REST API requests for LearnDash post types could fail with a fatal error when a third-party plugin added a non-array entry to the settings metabox fields.
- Resolved quiz saving progress not working correctly when questions are set to display in a random order.
Tweaks
- Added constants:
LEARNDASH_MODULE_{$module_name}_DISABLED. - Added filters:
learndash_module_{$module_name}_disabled.
Fixes
- Resolved an issue where Export Progress and Export Results on the Group Administration page produced no download or progress indicator.
- Resolved an issue where the "Back to Challenge Exams" button was not visible in the header while editing a challenge exam.
- Resolved an issue where the quiz User Notification email was not sent to logged-out visitors, even when an Email custom field was filled in.
- Resolved an issue where the quiz results view reported assessment questions as correct without showing which answer the student had selected.
- Resolved an issue where starting a quiz more than once left an extra time limit countdown running, which repeatedly submitted the quiz to the server once the time expired.
- Resolved an issue where the User Course Data and User Quiz Data report exports could return incomplete or empty CSV files, or fail to complete and download, on sites with a large number of users.
Tweaks
- Added functions:
learndash_report_export_status_ajax.
Fixes
- Added compatibility with PHP 8.5.
Tweaks
- Improved the unified licensing page experience.
Fixes
- Resolved an issue where
learndash_user_progress_get_previous_incomplete_step()returned the current step ID instead of false when no previous step was incomplete, which could cause integrations to treat the current step as a blocker. - Resolved an issue where a Group Leader could not be added as a member of another group while Managed Groups Auto-enrollment was enabled.
- Resolved an issue where resetting a challenge exam from a user profile did not reset the associated course progress, leaving the course and its steps marked complete.
Tweaks
- Improved the consistency of the recursion guard used when saving course step post meta.
- Improved the discoverability of the unified software management screen by intercepting the entry of unified license keys on the legacy licensing screen.
- Updated functions:
learndash_get_users_group_ids,learndash_user_progress_get_previous_incomplete_step.
Fixes
- Prevented empty or zero Custom Pagination values from being saved on courses, which caused a fatal error on the modern course and lesson pages.
Security
- Tightened security around REST API endpoints.
Fixes
- Reporting Pro-Panel CSV exports returned empty files on sites with very large user bases.
- Resolved an issue where admin pages could be delayed by up to 10 seconds when the remote banners endpoint was slow or unreachable, by fetching banner data in the background instead of during the page load.
- Resolved an issue where custom fields and meta boxes added by other plugins were hidden below the block editor on Lesson and Topic edit screens in WordPress 7.0 and later.
- Resolved an issue where resuming a quiz that used randomized questions with a question subset could reset the quiz and lose already-answered questions; answered questions are now restored on resume and any that became unavailable are replaced.
Tweaks
- Cached the result of learndash_get_courses_count() so reporting views and synchronization routines no longer run an uncached query on every call.
- Added filters:
learndash_report_activity_list_view_chunk_size,learndash_report_admin_export_activity_types,learndash_report_user_activity_export_chunk_size.
Security
- Tightened security around assignment file uploads.
Fixes
- Resolved an issue where expanded lesson items in the Focus Mode sidebar were not fully rendering when the sidebar was initially collapsed.
- Resolved an issue where students could reach topics and quizzes that belong to a draft lesson, either through the course navigation or a direct link.
- Resolved an issue where the Resume Course button could redirect students to a draft or unavailable step, resulting in a 404 error.
Tweaks
- Added a disclaimer to the Extend Access section on the group edit screen to clarify that the access expiration date is a one-time tool and does not extend access automatically.
- Added filters:
learndash_model_{$post_type_key}_linear_step_ids. - Updated functions:
learndash_course_get_linear_step_ids,learndash_next_post_link,learndash_previous_post_link.