Back to LearnDash LMS
LearnDash LMS changelog
Release notes for every version we have on record, newest first.
Latest 5.2.2 · 13 Oct 2026
40 versions
Since Jul 2025
2026 28 versions
5.2.2 Latest 13 Oct 2026 3 improved
Improved
- Added a dismissible announcement banner to plugin admin pages.
- Improved the unified licensing page experience.
- Updated functions: learndash_is_learndash_license_valid, learndash_is_license_hub_valid.
5.2.1 30 Sep 2026 1 improved6 fixed
Improved
- Added an admin notice prompting site administrators to update WordPress to 6.9 before the next LearnDash release.
Fixed
- Resolved an issue where assigning a Question to a Quiz through the REST API quiz field 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 quiz field was left out.
- Resolved an issue where creating a Quiz through the REST API returned an error when the visible_after_specific_date field 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_percentage and certificate_award_threshold fields, which let a non-numeric Passing Score save as 0.
5.2.0 16 Sep 2026 2 new2 improved2 fixed
New
- Merged Notifications addon feature into LearnDash core.
- Merged WooCommerce addon feature into LearnDash core.
Improved
- Added constants: LEARNDASH_MODULE_{$module_name}_DISABLED.
- Added filters: learndash_module_{$module_name}_disabled.
Fixed
- 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.
5.1.10 2 Sep 2026 1 improved6 fixed
Improved
- Added functions: learndash_report_export_status_ajax.
Fixed
- 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.
5.1.9 5 Aug 2026 1 improved1 fixed
Improved
- Improved the unified licensing page experience.
Fixed
- Added compatibility with PHP 8.5.
5.1.8 22 Jul 2026 3 improved3 fixed
Improved
- 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.
Fixed
- 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.
5.1.7 8 Jul 2026 1 fixed
Fixed
- Prevented empty or zero Custom Pagination values from being saved on courses, which caused a fatal error on the modern course and lesson pages.
5.1.6.1 29 Jun 2026 1 security
Security
- Tightened security around REST API endpoints.
5.1.6 24 Jun 2026 2 improved4 fixed
Improved
- 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.
Fixed
- 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.
5.1.5.1 22 Jun 2026 1 security
Security
- Tightened security around assignment file uploads.
5.1.5 10 Jun 2026 3 improved3 fixed
Improved
- 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.
Fixed
- 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.
5.1.4 1 Jun 2026 1 improved3 fixed
Improved
- Added functions: learndash_ajax_switch_to_site_locale.
Fixed
- Resolved an issue on the Group Administration screen where the export file created when clicking "Export Progress" was returning the name and ID of the group instead the course ID and title.
- Resolved an issue where the translation of Course pagination would not be applied during AJAX requests.
- Resolved an issue where turning off Auto Paragraph on the "LearnDash Student" block in the block editor did not apply on the front end when the block wrapped nested LearnDash blocks (for example the LearnDash Profile block), which added unwanted paragraph markup and broke the course list layout.
5.1.3 26 May 2026 1 improved
Improved
- Improved the LearnDash add-ons update flow for legacy licenses.
5.1.2 14 May 2026 1 improved
Improved
- The Settings -> Liquid Web Products page no longer requires an opt-in to communicate with external servers.
5.1.1 13 May 2026 2 improved
Improved
- Moved the Liquid Web menu item to Settings -> Liquid Web Products.
- The Settings -> Liquid Web Products page now requires a opt-in to communicate with external servers.
5.1.0 11 May 2026 1 new4 improved
New
- Integrate with Nexcess Licensing and Portal.
Improved
- Removed the license fields from the LearnDash setup wizard.
- Updated branding references from StellarWP to Nexcess.
- Added constants: LEARNDASH_PLAYLIST_PARSER_SERVICE_ENDPOINT, LEARNDASH_PLAYLIST_PARSER_SERVICE_SSL_VERIFY.
- Added functions: learndash_get_license_email, learndash_get_license_key.
5.0.5.1 7 May 2026 1 security
Security
- Tightened security around REST API endpoints.
5.0.5 8 Apr 2026 2 fixed
Fixed
- Resolved an issue where group leaders with basic settings could not view or grade assignments submitted by users in their groups. Admins and advanced group leaders are unchanged and still see all assignments; author and group filters respect the same visibility rules.
- Resolved an issue where, for group leaders assigned to more than one group, exporting group progress could include users beyond those in the exported group.
5.0.4 25 Mar 2026 1 improved1 fixed
Improved
- Added filters: learndash_payment_subscription_delay_between_actions.
Fixed
- Added delay between scheduled payment actions to prevent overwhelming the payment gateway when many subscriptions are due at once (e.g. on first run after upgrade).
5.0.3.1 19 Mar 2026 1 security
Security
- Tightened security around SQL queries.
5.0.3 11 Mar 2026 1 improved1 fixed
Improved
- Updated functions: learndash_user_progress_get_first_incomplete_step.
Fixed
- Resolved an issue where the [ld_course_resume] shortcode/block could redirect users to the wrong course step.
5.0.2.1 9 Mar 2026 1 security
Security
- Tightened security around PDF generation.
5.0.2 25 Feb 2026 3 improved6 fixed
Improved
- Improved blocks compatibility with PHP 8.4.
- Added hints to the Modern Course and Modern Group fields to clarify tabs behavior.
- Added filters: learndash_hub_installed_projects.
Fixed
- Fixed courses filtering by progress status in the LearnDash Course Grid block.
- Number input fields now properly return a number via the REST API if the field is saved with no value.
- Prevented PayPal scripts from being enqueued on Checkout and Profile pages when PayPal Checkout is disabled.
- Resolved an issue where cloning a Lesson, Topic, or Course built with Elementor would result in a broken layout.
- Resolved an issue where locally installed translations without remote GlotPress data were not displayed and could not be removed on the Translations page.
- Resolved an issue where non LearnDash plugins could be visible on the Add-ons page.
5.0.1.1 17 Feb 2026 1 fixed
Fixed
- Resolved an issue where downloaded Report CSVs would only contain the header row.
5.0.1 11 Feb 2026 5 improved6 fixed
Improved
- Added extra loading styles and messages for User Course Data and User Quiz Data exports on the LearnDash LMS -> Reports page.
- Course activity records are now created for users when they added to a group or when new courses are added to a group. Course activity records can be generated for groups created prior to this change by running the data upgrade at LearnDash LMS -> Settings -> Advanced -> Data Upgrades -> Upgrade Group Course Access Data.
- Updated [ld_lesson_list] shortcode to follow the course lessons order by default when a course is provided and the shared course steps are disabled.
- Added filters: learndash_bulk_create_course_access_activities_skip, learndash_group_access_activity_chunk_size, learndash_group_courses_access_user_batch_size, learndash_scroll_offset.
- Updated functions: ld_update_course_group_access, ld_update_group_access.
Fixed
- Fixed the course category counters in a Course List block.
- Resolved an issue where approving an assignment via API did not complete the related lesson.
- Resolved an issue where creating a course using the Course Creation Wizard could not maintain the video ordering for Vimeo showcases.
- Resolved an issue where resuming a quiz could result in a corrupted start timestamp.
- Resolved an issue where when moving between questions in a quiz, the WordPress Admin Bar could overlap the question text after scrolling to the question.
- Resolved deprecated warnings in the Course Creation Wizard page.
5.0.0 4 Feb 2026 2 new57 improved17 fixed4 removed
New
- Added Angie Agentic AI integration.
- Added compatibility with our MCP Server, available using npm as @stellarwp/learndash-mcp-server.
Improved
- Added documentation for the approved_status parameter for the GET ldlms/v2/sfwd-assignment endpoint.
- Added pagination support to the REST API v2 User Course Progress Steps endpoint.
- Added request body examples to OpenAPI documentation of ldlms/v2/sfwd-courses/{id}/steps.
- Added the REST API v2 User Course Progress Exam endpoint.
- Added the date_gmt field in the ldlms/v2/sfwd-quiz/{quiz}/statistics endpoint.
- Added the date_started_gmt and date_completed_gmt fields to the REST API v2 User Course Progress Steps endpoint.
- Added the date_started_gmt and date_completed_gmt fields to the REST API v2 User Course Progress endpoints.
- Added the enrolled_at and enrolled_at_gmt fields to the REST API v2 List User Courses endpoint.
- Added the ldlms/v2/users/{user_id}/courses/{course_id} endpoint to allow updating an enrollment date for a user.
- Added the learndash/v1/progress-status, learndash/v1/progress-status/{type} and learndash/v1/progress-status/{type}/{slug} endpoints.
- Added the step_name field to the REST API v2 User Course Progress Steps endpoint.
- Added the value field to the ldlms/v2/progress-status/ and ldlms/v2/progress-status/{slug}/ endpoints.
- Adds the following fields to the ldlms/v2/groups and ldlms/v2/groups/{id} endpoints: group_start_date, group_end_date, group_courses_order_enabled, group_seats_limit.
- Administrators can now access the GET ldlms/v2/sfwd-question endpoint whether or not the "Bypass Course limits" setting is enabled or disabled.
- All logged in users can now access the GET ldlms/v2/sfwd-assignment and GET ldlms/v2/sfwd-assignment/{id} endpoints. Admins will be able to retrieve all Assignments, Group Leaders only Assignments submitted by themselves or a user within one of their Groups for Courses within those Groups, and all other users will only be able to retrieve their own Assignments.
- By default, learndash/v1/docs/openapi no longer documents certain HTTP methods for ldlms/v2 endpoints in order to save on token size. This can be reverted to the previous functionality using learndash/v1/docs/openapi?trim=false.
- Group Course pagination settings can now be set via POST ldlms/v2/groups and PATCH ldlms/v2/groups/{id}. At this time, this setting does nothing if Modern Group Pages are enabled.
- Improved REST API parameter descriptions for setting Course Prerequisites.
- Improved parameters description for /ldlms/v2/users/{user_id}/course-progress/{course_id} and /ldlms/v2/users/{user_id}/course-progress/{course_id}/steps.
- Improved parameters description for the ldlms/v2/sfwd-quiz/{quiz}/statistics, ldlms/v2/sfwd-quiz/{quiz}/statistics/{statistic}, ldlms/v2/sfwd-quiz/{quiz}/statistics/{statistic}/questions and ldlms/v2/sfwd-quiz/{quiz}/statistics/{statistic}/questions/{id} endpoints.
- Improved route discovery for OpenAPI documentation of existing REST API endpoints.
- Improved the ldlms/v2/question-types/ and ldlms/v2/question-types/{slug}/ endpoints. Added the value field, removed the description field, updated the slug field to be a hyphenated slug instead of an underscore slug, both variants are supported for compatibility.
- Improved the descriptions for parameters in the ldlms/v2/sfwd-quiz and ldlms/v2/sfwd-quizzes endpoints.
- Improved the descriptions for parameters in the ldlms/v2/users/{user_id}/course-progress/* endpoints.
- Normalized the ldlms/v2/users/{user_id}/courses endpoints to always return the code field with the learndash_ prefix.
- Normalized the ldlms/v2/users/{user_id}/groups endpoints to always return the code field with the learndash_ prefix.
- Now lesson and topicparameters in GET ldlms/v2/sfwd-essays work with or without the course parameter.
- Now the GET endpoint ldlms/v2/users/{user_id}/course-progress/{course_id}/steps returns the status value in the step_status field (with underscore).
- Now the GET endpoints ldlms/v2/users/{user_id}/course-progress and ldlms/v2/users/{user_id}/course-progress/{course_id} returns the status value in the progress_status field (with underscore).
- Now the date field from the ldlms/v2/sfwd-quiz/{quiz}/statistics endpoint returns the date in the local timezone.
- Removed admin alerts related to Solid Backups.
- Removed the "Course Admin Auto-enrollment" permission dependency for administrators in wp-json/ldlms/v2/sfwd-courses//steps.
- Removed the nested array from the GET endpoint /ldlms/v2/users/{user_id}/course-progress/{course_id}.
- Removed the nested array from the REST API v2 User Course Progress Steps endpoint.
- Removed the nested array from the ldlms/v2/sfwd-quiz/{quiz}/statistics/{statistic}/questions/{id}endpoint response.
- Removed the unused search parameter from ldlms/v2/users/{id}/quiz-progress.
- Retrieving quizzes via ldlms/v2/sfwd-quiz no longer requires a course parameter for administrators.
- The GET endpoint ldlms/v2/groups/{id}/courses now returns the same fields as the GET ldlms/v2/sfwd-courses endpoint.
- The GET endpoint ldlms/v2/users/{user_id}/courses now returns the same fields as the GET ldlms/v2/sfwd-courses endpoint.
- The GET endpoint ldlms/v2/users/{user_id}/groups now returns the same fields as the GET ldlms/v2/groups endpoint.
- The REST API settings section under LearnDash LMS -> Settings -> Advanced is now hidden if you had not made any modifications there previously.
- The PATCH ldlms/v2/sfwd-assignment endpoint is now available to admins and any user with the ability to edit other user's Assignments, which normally would only include Group Leaders. Admins can edit any user's Assignments including their own. Group Leaders will only be able to edit those belonging to users within their Groups and only for Assignments submitted for a Course within their Groups.
- The course_start_date and course_end_date field types for POST ldlms/v2/sfwd-courses and PATCH ldlms/v2/sfwd-courses/{id} have been reverted to string as they were before v4.25.2.
- The custom_fields_forms parameter for ldlms/v2/sfwd-quiz and ldlms/v2/sfwd-quiz/{id} is now marked read-only. Attempting to set the value previously did nothing.
- The date_started and date_completed fields in the REST API v2 User Course Progress endpoints now return the date in the site timezone.
- The ldlms/v2/sfwd-quiz and ldlms/v2/sfwd-quiz/{id} endpoints now accept and return WordPress Post IDs for the prerequisites field instead of internal Pro Quiz IDs.
- The ldlms/v2/sfwd-quiz endpoint no longer requires the course parameter for non-administrators if they pass through a lesson or topic parameter when Shared Course Steps are disabled.
- The ldlms/v2/users/{user_id}/course-progress/{course_id}/steps endpoint now returns the appropriate progress status based on the post type of the course step.
- The learndash/v1/docs/openapi endpoint now explicitly lists the namespace as part of the paths key to avoid potential collisions across namespaces.
- The parameter description for question_type for the ldlms/v2/sfwd-question and ldlms/v2/sfwd-question/{id} endpoints has been improved.
- Updated the order parameter for ldlms/v2/users/{id}/quiz-progress to no longer be case sensitive.
- Updated the orderby parameter for ldlms/v2/users/{id}/quiz-progress to no longer expect ID when sorting by IDs and can now also accept id as it was documented.
- Updated the required WP version from 6.6 to 6.7.
- POST ldlms/v2/sfwd-question and PATCH ldlms/v2/sfwd-question/{id} now return the same structure as GET ldlms/v2/sfwd-question/{id}.
- Prerequisite_enabled is no longer exposed to the REST API for ldlms/v2/sfwd-courses and ldlms/v2/sfwd-courses/{id}. This setting is not meant to be set via the REST API and you should instead set requirements_for_enrollment to course_prerequisite_enabled for the same behavior.
- Added filters: learndash_model_assignment_course, learndash_post_type_progress_statuses, learndash_settings_section_{$this->settings_section_key}_is_visible.
- Added functions: learndash_course_challenge_exam_get_questions_stats, learndash_get_user_quiz_average.
Fixed
- Corrected the ldlms/v2 REST API parameter documentation for materials for each ldlms/v2 endpoint.
- Fixed an issue where administrators could not access essays in GET ldlms/v2/sfwd-essays.
- Fixed error code handling for the ldlms/v2/sfwd-quiz/{quiz}/statistics, ldlms/v2/sfwd-quiz/{quiz}/statistics/{statistic}, ldlms/v2/sfwd-quiz/{quiz}/statistics/{statistic}/questions and ldlms/v2/sfwd-quiz/{quiz}/statistics/{statistic}/questions/{id} endpoints.
- Fixed pagination and include/exclude parameters support in the REST API v2 List User Courses endpoint.
- Resolved an issue when setting dates via the REST API for date fields such as Course and Group Start and End Date. Now they will work with RFC3339 formatted dates as expected.
- Resolved an issue where Lesson and Topic pagination settings could not be set for Courses using the POST ldlms/v2/sfwd-courses and PATCH ldlms/v2/sfwd-courses/{id} endpoints.
- Resolved an issue where POST ldlms/v2/sfwd-question and PATCH ldlms/v2/sfwd-question/{id} were unable to set an associated Quiz correctly.
- Resolved an issue where ldlms/v2/sfwd-courses/{id}/users would return the wrong users.
- Resolved an issue where ldlms/v2/sfwd-question and ldlms/v2/sfwd-question/{id} would not return answer data.
- Resolved an issue where a default was not being shown for endpoints under /learndash/v1/docs/openapi.
- Resolved an issue where some fields marked as being exposed to the ldlms/v2 REST API would not be exposed properly.
- Resolved an issue where the Quiz Statistic link would not be included with the results for ldlms/v2/users/{id}/quiz-progress when it should be.
- Resolved an issue where the step_status field was incorrect in the REST API v2 User Course Progress Steps endpoint.
- Resolved an issue where updating a quiz using the REST API could change the internal quiz pro ID.
- The page and per_page parameters for ldlms/v2/users/{id}/quiz-progress now work as expected.
- POST ldlms/v2/sfwd-question and PATCH ldlms/v2/sfwd-question/{id} now set answer data using the already documented answer key instead of the undocumented _answerData.
- Ldlms/v2 REST API endpoints to retrieve a specific resource no longer expose the wrong parameters.
Removed
- Deprecated actions: learndash_report_page_buttons.
- Deprecated constants: LEARNDASH_COURSE_FUNCTIONS_LEGACY, LEARNDASH_IS_QUIZ_ACCESSABLE_LEGACY.
- Deprecated filters: learndash_course_autocompletion_multiple_final_quizzes_step, learndash_course_status_recalc_total_steps, learndash_get_content_label, learndash_get_lesson_progress_defaults, learndash_get_lesson_progress, learndash_lesson_attributes, learndash_responsive_video_domains, learndash_responsive_video_post_types, learndash_update_posts_comment_status, learndash_users_can_register.
- Deprecated functions: ld_course_check_user_access, learndash_30_focus_mode_can_complete, learndash_30_responsive_videos, learndash_activity_complete_course, learndash_activity_complete_quiz, learndash_check_query_post_type, learndash_course_get_completed_steps_legacy, learndash_course_status_legacy, learndash_get_content_label, learndash_get_course_data_legacy, learndash_get_course_lessons_list...
4.25.8.1 21 Jan 2026 1 improved1 security
Improved
- Updated templates: themes/legacy/templates/course_navigation_admin.php, themes/legacy/templates/quiz_navigation_admin.php.
Security
- Tightened security around user content when editing LearnDash elements.
4.25.8 19 Jan 2026 4 improved3 fixed
Improved
- Fixed the markup of the modern topic layout.
- Improved validation for quiz resume data to prevent corrupted data from causing issues when resuming a quiz.
- Quiz Resume Data is now stored via localStorage instead of a Cookie to avoid issues with large Quizzes.
- Updated templates: themes/ld30/templates/modern/topic/content.php.
Fixed
- Addressed a regression in the RazorPay library related to the REQUESTS_SILENCE_PSR0_DEPRECATIONS constant.
- Fixed an issue where the quiz Legend (question numbers at the top of the quiz) could lose the correct/incorrect flag, after the user answered a question.
- Resolved an issue where if Quiz Resume Data was stored in the browser and not yet sent to the server and the logged-in user logged out and another user logged in, the Quiz Resume Data would be shared between them.
2025 11 versions
4.25.7.1 16 Dec 2025 4 fixed
Fixed
- Fixed an issue with block toolbars in WP 6.9.
- Resolved an issue where Lesson, Topic, Group, and Challenge Exam settings tabs would not load.
- Resolved an issue where links within LearnDash Blocks could be clicked and would replace the block with the contents of that page.
- Resolved an issue where sometimes the block editor wouldn't be visible for Courses.
4.25.7 8 Dec 2025 4 improved5 fixed
Improved
- Improved Block compatibility with WordPress 6.9.
- Improved get_comments_number filter return type to match WordPress core behavior for strict type comparison compatibility.
- LearnDash Cloud: removed the LearnDash Cloud menu and standardized the LearnDash help page.
- Removed the "new" tag from Presenter Mode.
Fixed
- Fixed a PHP warning when accessing post content in contexts where the global $post variable is null.
- Fixed the WP logo in the fullscreen mode on post editing page.
- Resolved an issue where the Course Builder would not be visible if meta boxes are hidden in WP 6.9+.
- Resolved an issue where the Course CSV Export on the LearnDash LMS -> Reports page would sometimes get stuck at 50% complete.
- Resolved an issue where the export buttons on the LearnDash LMS -> Reports page would not initialize properly in some circumstances.
4.25.6 27 Oct 2025 6 fixed
Fixed
- Fixed e(...).dialog is not a function console error. This was due to a missing dependency on some pages.
- Fixed a style conflict for Kadence Gallery and other related blocks on the Course pages when in focus mode.
- Orders with a discount that reduces the price to 0 will now show on the Orders page.
- Resolved an issue where the Reporting block Download button would not return the same results as displayed on the page.
- Resolved issue with [learndash_course_grid] shortcode loading styles when rendered from an Elementor or Divi template.
- Resolves issue where the first comment would sometimes be cropped off at the top.
4.25.5 23 Oct 2025 2 improved
Improved
- Added notice linking to documentation for v5.0.0. This notice will be displayed once v5.0.0 is available.
- Added filters: learndash_location_is_plugins_page, learndash_location_is_updates_page.
4.25.4 13 Oct 2025 7 improved12 fixed
Improved
- Added course and group type enrollment statistics to Site Health.
- Added temporary seasonal UI enhancement.
- Improved accessibility for the Question Overview Legend.
- Modern Course Pages are no longer automatically enabled for new installs.
- Added filters: learndash_admin_banners.
- Added templates: themes/ld30/templates/quiz/partials/show_quiz_review_legend.php, themes/ld30/templates/quiz/partials/show_quiz_review_questions.php.
- Updated templates: includes/reports/templates/ld-propanel-full-page.php, themes/ld30/templates/shortcodes/profile/quiz-row.php.
Fixed
- Authentication files that were automatically included in ZIPs downloaded from account.learndash.com will now be deleted when deauthenticating a site.
- Fixed a broken layout issue of the OpenAI API Key field's input note.
- Fixed a conflict with Divi theme builder when course reviews module was active.
- Fixed a fatal error with 3rd party plugins that was caused by an explicit return type on a filter.
- Fixed an issue where essays that were in draft, trashed or deleted appeared on user profile page.
- Fixed an issue where updating a quiz post after previously adding a custom field would create a duplicate custom field.
- Fixed missing LearnDash reports widgets titles.
- Resolved an issue when rendering free choice quiz question answers with angle brackets.
- Resolved an issue where disabling the quiz custom field setting would not keep it disabled after the editor page was reloaded.
- Resolved an issue where the "Save Quiz data to the server every" setting was not respected and instead always used the default value.
- Resolved an issue where the LEARNDASH_QUIZ_RESUME_COOKIE_SEND_TIMER_DEFAULT constant was not respected by the "Save Quiz data to the server every" quiz setting. The default value is now 20 seconds instead of 5.
- Restored the Question Overview Legend when enabled.
4.25.3 6 Oct 2025 3 new10 improved3 fixed
New
- Added a migration guide to the PayPal Standard settings page to help users update subscriptions and switch to PayPal Checkout.
- Added a new [ld_migrate_paypal_subscription] shortcode to help migrate PayPal Standard subscriptions to PayPal Checkout.
- Added a new mechanism to retry payments for failed PayPal Checkout subscriptions.
Improved
- Added PayPal Checkout Status to Site Health.
- Display the "Saved Cards" section inside the Profile block only when a compatible payment gateway is enabled.
- Enhanced PayPal Checkout onboarding with increased connection timeouts and improved error messaging to provide a smoother setup experience.
- Improved checkout display by hiding the PayPal button and card fields when the selected payment method is not eligible.
- Improved the LearnDash Orders Edit Page and the Profile shortcode to include the reason why a subscription was canceled.
- Prevented the Telemetry Opt-in modal from showing during the onboarding wizard when setting up PayPal.
- When a PayPal Standard subscription is cancelled, a user is unenrolled from a course or a group automatically.
- Added actions: learndash_paypal_standard_migration_shortcode_after.
- Added filters: learndash_profile_show_saved_cards, learndash_show_telemetry_modal, learndash_subscription_max_retries, learndash_subscription_payment_retry_email_message, learndash_subscription_payment_retry_email_placeholders, learndash_subscription_payment_retry_email_subject, learndash_subscription_retry_intervals.
- Updated templates: src/admin_views/modules/payments/orders/edit/subscription/details/cells/status.php, themes/ld30/templates/shortcodes/profile/saved-cards/index.php, themes/ld30/templates/shortcodes/profile/subscriptions/canceled/cancellation-date.php.
Fixed
- Fixed an issue where limited subscriptions were charging one extra billing cycle when paid with PayPal Checkout.
- Fixed the OpenAPI security schemes array and empty properties.
- Removed an extra div element inside the Profile block.
4.25.2 15 Sep 2025 1 new2 improved
New
- Added OpenAPI documentation for Course-related ldlms/v2 endpoints to /wp-json/learndash/v1/docs/openapi.
Improved
- Added the topic parameter when retrieving assignments via the ldlms/v2/sfwd-assignments/ and ldlms/v2/sfwd-assignments/{id} endpoints.
- Added the following fields to the ldlms/v2/sfwd-courses/ and ldlms/v2/sfwd-courses/{id}/ endpoints when creating or updating a Course: course_start_date, course_end_date, course_seats_limit.
4.25.1 3 Sep 2025 1 new6 improved3 fixed
New
- Merged course reviews addon feature to LearnDash core.
Improved
- Improved compatibility with PHP 8.3.
- Removed open courses from Report Filters to avoid confusion.
- Added actions: learndash_course_reviews_after_review_pagination, learndash_course_reviews_after_review, learndash_course_reviews_after_reviews, learndash_course_reviews_average_review, learndash_course_reviews_before_review, learndash_course_reviews_before_reviews, learndash_course_reviews_review_form, learndash_course_reviews_review_list, learndash_course_reviews_review_reply.
- Added constants: LEARNDASH_MODULE_COURSE_REVIEWS_DISABLED.
- Added filters: learndash_course_reviews_locate_template_args, learndash_course_reviews_locate_template_name, learndash_course_reviews_locate_template, learndash_course_reviews_render_reviews_args, learndash_course_reviews_show_review_form, learndash_course_reviews_user_has_not_started_course, learndash_course_reviews_user_has_started_course, learndash_course_reviews_user_logged_out_message, lea...
- Added functions: LEARNDASHCOURSEREVIEWS, learndash_course_reviews_add_review, learndash_course_reviews_get_average_review_score, learndash_course_reviews_get_user_review, learndash_course_reviews_is_review_enabled, learndash_course_reviews_load, learndash_course_reviews_locate_template, learndash_course_reviews_star_rating, learndash_course_reviews_stars_input, learndash_course_reviews_user_has...
Fixed
- Fixed an issue where a new quiz question had zero points by default. Now it supports the LEARNDASH_LMS_DEFAULT_QUESTION_POINTS constant and is 1 by default.
- Fixed an issue where the "Groups" submenu was missing on the groups editor page.
- Resolved an issue where the Export User Course/Quiz Data buttons were missing on the Reports page.
4.25.0 26 Aug 2025 2 new7 improved
New
- Added wp-json/learndash/v1/docs/openapi REST API endpoint.
- Added a new PayPal Checkout integration.
Improved
- Added PayPal Checkout to the setup wizard.
- Added a message on the setup page about the deprecation of the PayPal Standard gateway.
- Added a warning about the deprecation of the PayPal Standard gateway.
- Renamed "PayPal" to "PayPal Standard" in the payment gateways list.
- Added actions: learndash_dialog_closed, learndash_dialog_opened, learndash_payment_subscription_after_failure_{$gateway_name}, learndash_payment_subscription_after_success_{$gateway_name}, learndash_payment_subscription_before_process_{$gateway_name}, learndash_payment_subscription_check_due_payments, learndash_payment_subscription_process_due_payment, learndash_profile_add_card_form_content_lo...
- Added filters: learndash_handle_remove_card_{$gateway_id}, learndash_model_product_final_price, learndash_model_user_cards, learndash_payment_subscription_batch_size, learndash_payment_subscription_check_end_timestamp, learndash_payment_subscription_check_start_timestamp, learndash_payment_subscription_daily_check_start_timestamp, learndash_payment_subscription_process_with_gateway_{$gateway_na...
- Updated templates: src/admin_views/modules/payments/orders/edit/items/index.php, themes/ld30/templates/shortcodes/profile.php.
4.24.0 12 Aug 2025 1 new8 improved1 fixed
New
- Added the new Modern Lesson and Topic Pages, which can be toggled under LearnDash > Settings > General -> Appearance -> Course Page.
Improved
- Removed duplicated "has access" check for Modern Course and Group pages.
- Updated the styling for Alerts on Modern Course and Group pages.
- Updated the styling of the Progress Bar for Modern Course and Group pages.
- Added filters: learndash_ld30_modern_lesson_show_header, learndash_ld30_modern_topic_show_header, learndash_mapper_models_step_map, learndash_mark_complete_input_button_html, learndash_mark_complete_timer_html, learndash_model_assignment_can_be_deleted, learndash_model_assignment_delete_url, learndash_model_assignment_download_url, learndash_model_assignment_is_approved, learndash_model_assignm...
- Deprecated templates: themes/ld30/templates/modern/course/alerts/certificate.php, themes/ld30/templates/modern/course/alerts/index.php, themes/ld30/templates/modern/course/alerts/progress.php.
- Updated filters: learndash_ld30_modern_course_show_header, learndash_ld30_modern_group_show_header.
- Updated functions: learndash_course_get_step_completion_data, learndash_mark_complete, learndash_process_mark_incomplete.
- Updated templates: themes/ld30/templates/modern/course/accordion/final-quizzes/heading.php, themes/ld30/templates/modern/course/accordion/final-quizzes/index.php, themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/attributes/index.php, themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/index.php, themes/ld30/templates/modern/course/accordion/final-quizzes/quiz/title....
Fixed
- Resolved an issue where if a Lesson was marked as a Sample Lesson and was set to be available in the future, the content could be visible for not logged in users.
4.23.2.1 24 Jul 2025 1 fixed
Fixed
- Resolved an issue where the "View" and "Trash" links for Orders were missing from the Orders listing screen.
Undated 1 version
4.23.2 5 improved7 fixed
Improved
- Replaced references of "ProPanel" with "Reports" in the LearnDash Shortcode picker in the classic editor.
- Added [ld_reports] as an alias for the [ld_propanel] shortcode.
- Added easter egg.
- Updated templates: themes/ld30/templates/modern/course/enrollment/pricing/closed/with-price.php.
- Added filters: learndash_module_extras_disabled.
Fixed
- Resolved an issue where "Fill in the blanks" question answer result indicators would overlap when the question contained multiple answer inputs across multiple lines.
- Fixed an issue where the Quiz Question Overview Table would horizontally scroll, instead of wrapping. This was a bug introduced in 4.22.1.
- Fixed an issue where fluid width elements added to the Quiz question container would not expand to fit as expected.
- Fixed the incorrect closing tag for the themes/ld30/templates/modern/course/enrollment/pricing/closed/with-price.php template.
- Resolved a JS error on non-Focus Mode pages that prevented some functionality from working correctly.
- Resolved an issue where "Add New" buttons were missing in the backend for some content types created by addons.
- Resolved an issue where an "Add New" button was incorrectly shown for Orders and Assignments in the backend.
