* Fix - Fixed `e(...).dialog is not a function` console error. This was due to a missing dependency on some pages.
* Fix - Fixed a style conflict for Kadence Gallery and other related blocks on the Course pages when in focus mode.
* Fix - Orders with a discount that reduces the price to 0 will now show on the Orders page.
* Fix - Resolved an issue where the Reporting block Download button would not return the same results as displayed on the page.
* Fix - Resolved issue with `[learndash_course_grid]` shortcode loading styles when rendered from an Elementor or Divi template.
* Fix - Resolves issue where the first comment would sometimes be cropped off at the top.
* Tweak - Added notice linking to documentation for v5.0.0. This notice will be displayed once v5.0.0 is available.
* Tweak - Added filters: `learndash_location_is_plugins_page`, `learndash_location_is_updates_page`.
* Fix - Authentication files that were automatically included in ZIPs downloaded from account.learndash.com will now be deleted when deauthenticating a site.
* Fix - Fixed a broken layout issue of the `OpenAI API Key` field's input note.
* Fix - Fixed a conflict with Divi theme builder when course reviews module was active.
* Fix - Fixed a fatal error with 3rd party plugins that was caused by an explicit return type on a filter.
* Fix - Fixed an issue where essays that were in draft, trashed or deleted appeared on user profile page.
* Fix - Fixed an issue where updating a quiz post after previously adding a custom field would create a duplicate custom field.
* Fix - Fixed missing LearnDash reports widgets titles.
* Fix - Resolved an issue when rendering free choice quiz question answers with angle brackets.
* Fix - Resolved an issue where disabling the quiz custom field setting would not keep it disabled after the editor page was reloaded.
* Fix - Resolved an issue where the "Save Quiz data to the server every" setting was not respected and instead always used the default value.
* Fix - 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.
* Fix - Restored the Question Overview Legend when enabled.
* Tweak - Added course and group type enrollment statistics to Site Health.
* Tweak - Added temporary seasonal UI enhancement.
* Tweak - Improved accessibility for the Question Overview Legend.
* Tweak - Modern Course Pages are no longer automatically enabled for new installs.
* Tweak - Added filters: `learndash_admin_banners`.
* Tweak - Added templates: `themes/ld30/templates/quiz/partials/show_quiz_review_legend.php`, `themes/ld30/templates/quiz/partials/show_quiz_review_questions.php`.
* Tweak - Updated templates: `includes/reports/templates/ld-propanel-full-page.php`, `themes/ld30/templates/shortcodes/profile/quiz-row.php`.
* Feature - Added a migration guide to the PayPal Standard settings page to help users update subscriptions and switch to PayPal Checkout.
* Feature - Added a new `[ld_migrate_paypal_subscription]` shortcode to help migrate PayPal Standard subscriptions to PayPal Checkout.
* Feature - Added a new mechanism to retry payments for failed PayPal Checkout subscriptions.
* Fix - Fixed an issue where limited subscriptions were charging one extra billing cycle when paid with PayPal Checkout.
* Fix - Fixed the OpenAPI security schemes array and empty properties.
* Fix - Removed an extra div element inside the Profile block.
* Tweak - Added PayPal Checkout Status to Site Health.
* Tweak - Display the "Saved Cards" section inside the Profile block only when a compatible payment gateway is enabled.
* Tweak - Enhanced PayPal Checkout onboarding with increased connection timeouts and improved error messaging to provide a smoother setup experience.
* Tweak - Improved checkout display by hiding the PayPal button and card fields when the selected payment method is not eligible.
* Tweak - Improved the LearnDash Orders Edit Page and the Profile shortcode to include the reason why a subscription was canceled.
* Tweak - Prevented the Telemetry Opt-in modal from showing during the onboarding wizard when setting up PayPal.
* Tweak - When a PayPal Standard subscription is cancelled, a user is unenrolled from a course or a group automatically.
* Tweak - Added actions: `learndash_paypal_standard_migration_shortcode_after`.
* Tweak - 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`.
* Tweak - 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`.
* Feature - Added OpenAPI documentation for Course-related `ldlms/v2` endpoints to `/wp-json/learndash/v1/docs/openapi`.
* Tweak - Added the `topic` parameter when retrieving assignments via the `ldlms/v2/sfwd-assignments/` and `ldlms/v2/sfwd-assignments/{id}` endpoints.
* Tweak - 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`.
* Feature - Merged course reviews addon feature to LearnDash core.
* Fix - 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.
* Fix - Fixed an issue where the "Groups" submenu was missing on the groups editor page.
* Fix - Resolved an issue where the Export User Course/Quiz Data buttons were missing on the Reports page.
* Tweak - Improved compatibility with PHP 8.3.
* Tweak - Removed open courses from Report Filters to avoid confusion.
* Tweak - 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`.
* Tweak - Added constants: `LEARNDASH_MODULE_COURSE_REVIEWS_DISABLED`.
* Tweak - 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`, `learndash_module_course_reviews_disabled`.
* Tweak - 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_started_course`.
* Feature - Added `wp-json/learndash/v1/docs/openapi` REST API endpoint.
* Feature - Added a new PayPal Checkout integration.
* Tweak - Added PayPal Checkout to the setup wizard.
* Tweak - Added a message on the setup page about the deprecation of the PayPal Standard gateway.
* Tweak - Added a warning about the deprecation of the PayPal Standard gateway.
* Tweak - Renamed "PayPal" to "PayPal Standard" in the payment gateways list.
* Tweak - 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_loaded`, `learndash_profile_add_card_form_content`, `learndash_profile_add_card_submit`, `learndash_shortcode_profile_before_template`.
* Tweak - 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_name}`, `learndash_paypal_checkout_client_data`, `learndash_rest_endpoints`, `learndash_rest_openapi_documentation`, `learndash_rest_v1_common_schemas`, `learndash_settings_payments_show_paypal_standard`, `learndash_stripe_is_on_payments_setting_page`, `learndash_subscription_payment_method_information`.
* Tweak - Updated templates: `src/admin_views/modules/payments/orders/edit/items/index.php`, `themes/ld30/templates/shortcodes/profile.php`.
* Feature - Added the new Modern Lesson and Topic Pages, which can be toggled under LearnDash > Settings > General -> Appearance -> Course Page.
* Fix - 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.
* Tweak - Removed duplicated "has access" check for Modern Course and Group pages.
* Tweak - Updated the styling for Alerts on Modern Course and Group pages.
* Tweak - Updated the styling of the Progress Bar for Modern Course and Group pages.
* Tweak - 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_assignment_points_awarded`, `learndash_model_assignment_related_step`, `learndash_model_assignment_uploaded_file_name`, `learndash_model_course_is_complete`, `learndash_model_course_is_linear_progression_enabled`, `learndash_model_group_last_activity`, `learndash_model_settings`, `learndash_model_topic_lesson`, `learndash_model_{$post_type_key}_is_content_visible`, `learndash_model_{$post_type_key}_is_video_watched`, `learndash_model_{$post_type_key}_next_step`, `learndash_model_{$post_type_key}_parent_step`, `learndash_model_{$post_type_key}_previous_step`, `learndash_model_{$post_type_key}_requires_watching_video_after_sub_steps`, `learndash_model_{$post_type_key}_requires_watching_video_before_sub_steps`, `learndash_model_{$post_type_key}_user_has_access`, `learndash_model_{$this->get_post_type_key()}_approved_assignments_number`, `learndash_model_{$this->get_post_type_key()}_assignment_points_maximum`, `learndash_model_{$this->get_post_type_key()}_assignment_upload_limit_size`, `learndash_model_{$this->get_post_type_key()}_assignments_number`, `learndash_model_{$this->get_post_type_key()}_assignments`, `learndash_model_{$this->get_post_type_key()}_has_assignment_points_enabled`, `learndash_model_{$this->get_post_type_key()}_last_activity`, `learndash_model_{$this->get_post_type_key()}_maximum_assignments_number`, `learndash_model_{$this->get_post_type_key()}_requires_assignments`, `learndash_model_{$this->get_post_type_key()}_submittable_assignments_number`, `learndash_model_{$this->get_post_type_key()}_supported_assignment_file_mime_types`, `learndash_model_{$this->get_post_type_key()}_supported_assignment_file_types`, `learndash_model_{$this->get_post_type_key()}_topics`, `learndash_progression_bar_is_complete`, `learndash_progression_bar_should_show`, `learndash_template_alert_action_type`, `learndash_template_alert_button_icon`, `learndash_template_alert_icon`, `learndash_template_alert_id`, `learndash_template_alert_link_target`, `learndash_template_alert_link_text`, `learndash_template_alert_link_url`, `learndash_template_alert_message`, `learndash_template_alert_type`, `learndash_template_breadcrumb_id`, `learndash_template_breadcrumb_is_last`, `learndash_template_breadcrumb_label`, `learndash_template_breadcrumb_url`, `learndash_template_progression_step_back_to_course_label`, `learndash_template_progression_step_back_to_course_url`, `learndash_template_progression_step_is_course_completed`, `learndash_template_progression_step_is_just_completed`, `learndash_template_progression_step_next_label`, `learndash_template_progression_step_next_short_label`, `learndash_template_progression_step_next_url`, `learndash_template_progression_step_previous_incomplete_step`, `learndash_template_progression_step_previous_label`, `learndash_template_progression_step_previous_short_label`, `learndash_template_progression_step_previous_url`, `learndash_template_progression_step_show_next`, `learndash_template_tab_content`, `learndash_template_tab_icon`, `learndash_template_tab_id`, `learndash_template_tab_is_first`, `learndash_template_tab_label`, `learndash_template_tab_order`, `learndash_template_tab_template`, `learndash_template_tabs_sorted`, `learndash_template_views_alerts`, `learndash_template_views_breadcrumbs`, `learndash_template_views_course_alerts`, `learndash_template_views_course_progress_bar`, `learndash_template_views_group_alerts`, `learndash_template_views_group_progress_bar`, `learndash_template_views_lesson_alerts`, `learndash_template_views_lesson_breadcrumbs`, `learndash_template_views_lesson_progress_bar`, `learndash_template_views_lesson_tabs`, `learndash_template_views_topic_alerts`, `learndash_template_views_topic_breadcrumbs`, `learndash_template_views_topic_progress_bar`, `learndash_template_views_topic_tabs`.
* Tweak - 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`.
* Tweak - Updated filters: `learndash_ld30_modern_course_show_header`, `learndash_ld30_modern_group_show_header`.
* Tweak - Updated functions: `learndash_course_get_step_completion_data`, `learndash_mark_complete`, `learndash_process_mark_incomplete`.
* Tweak - 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.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/attributes/topics.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/quizzes/quiz/attributes/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/attributes/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/title.php`, `themes/ld30/templates/modern/course/alerts/certificate.php`, `themes/ld30/templates/modern/course/alerts/progress.php`, `themes/ld30/templates/modern/course/header.php`, `themes/ld30/templates/modern/group/alerts/certificate.php`, `themes/ld30/templates/modern/group/alerts/progress.php`, `themes/ld30/templates/modern/group/header.php`.
* Feature - Added the new Modern Lesson and Topic Pages, which can be toggled under LearnDash > Settings > General -> Appearance -> Course Page.
* Fix - 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.
* Tweak - Removed duplicated "has access" check for Modern Course and Group pages.
* Tweak - Updated the styling for Alerts on Modern Course and Group pages.
* Tweak - Updated the styling of the Progress Bar for Modern Course and Group pages.
* Tweak - 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_assignment_points_awarded`, `learndash_model_assignment_related_step`, `learndash_model_assignment_uploaded_file_name`, `learndash_model_course_is_complete`, `learndash_model_course_is_linear_progression_enabled`, `learndash_model_group_last_activity`, `learndash_model_settings`, `learndash_model_topic_lesson`, `learndash_model_{$post_type_key}_is_content_visible`, `learndash_model_{$post_type_key}_is_video_watched`, `learndash_model_{$post_type_key}_next_step`, `learndash_model_{$post_type_key}_parent_step`, `learndash_model_{$post_type_key}_previous_step`, `learndash_model_{$post_type_key}_requires_watching_video_after_sub_steps`, `learndash_model_{$post_type_key}_requires_watching_video_before_sub_steps`, `learndash_model_{$post_type_key}_user_has_access`, `learndash_model_{$this->get_post_type_key()}_approved_assignments_number`, `learndash_model_{$this->get_post_type_key()}_assignment_points_maximum`, `learndash_model_{$this->get_post_type_key()}_assignment_upload_limit_size`, `learndash_model_{$this->get_post_type_key()}_assignments_number`, `learndash_model_{$this->get_post_type_key()}_assignments`, `learndash_model_{$this->get_post_type_key()}_has_assignment_points_enabled`, `learndash_model_{$this->get_post_type_key()}_last_activity`, `learndash_model_{$this->get_post_type_key()}_maximum_assignments_number`, `learndash_model_{$this->get_post_type_key()}_requires_assignments`, `learndash_model_{$this->get_post_type_key()}_submittable_assignments_number`, `learndash_model_{$this->get_post_type_key()}_supported_assignment_file_mime_types`, `learndash_model_{$this->get_post_type_key()}_supported_assignment_file_types`, `learndash_model_{$this->get_post_type_key()}_topics`, `learndash_progression_bar_is_complete`, `learndash_progression_bar_should_show`, `learndash_template_alert_action_type`, `learndash_template_alert_button_icon`, `learndash_template_alert_icon`, `learndash_template_alert_id`, `learndash_template_alert_link_target`, `learndash_template_alert_link_text`, `learndash_template_alert_link_url`, `learndash_template_alert_message`, `learndash_template_alert_type`, `learndash_template_breadcrumb_id`, `learndash_template_breadcrumb_is_last`, `learndash_template_breadcrumb_label`, `learndash_template_breadcrumb_url`, `learndash_template_progression_step_back_to_course_label`, `learndash_template_progression_step_back_to_course_url`, `learndash_template_progression_step_is_course_completed`, `learndash_template_progression_step_is_just_completed`, `learndash_template_progression_step_next_label`, `learndash_template_progression_step_next_short_label`, `learndash_template_progression_step_next_url`, `learndash_template_progression_step_previous_incomplete_step`, `learndash_template_progression_step_previous_label`, `learndash_template_progression_step_previous_short_label`, `learndash_template_progression_step_previous_url`, `learndash_template_progression_step_show_next`, `learndash_template_tab_content`, `learndash_template_tab_icon`, `learndash_template_tab_id`, `learndash_template_tab_is_first`, `learndash_template_tab_label`, `learndash_template_tab_order`, `learndash_template_tab_template`, `learndash_template_tabs_sorted`, `learndash_template_views_alerts`, `learndash_template_views_breadcrumbs`, `learndash_template_views_course_alerts`, `learndash_template_views_course_progress_bar`, `learndash_template_views_group_alerts`, `learndash_template_views_group_progress_bar`, `learndash_template_views_lesson_alerts`, `learndash_template_views_lesson_breadcrumbs`, `learndash_template_views_lesson_progress_bar`, `learndash_template_views_lesson_tabs`, `learndash_template_views_topic_alerts`, `learndash_template_views_topic_breadcrumbs`, `learndash_template_views_topic_progress_bar`, `learndash_template_views_topic_tabs`.
* Tweak - 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`.
* Tweak - Updated filters: `learndash_ld30_modern_course_show_header`, `learndash_ld30_modern_group_show_header`.
* Tweak - Updated functions: `learndash_course_get_step_completion_data`, `learndash_mark_complete`, `learndash_process_mark_incomplete`.
* Tweak - 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.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/attributes/topics.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/quizzes/quiz/attributes/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/attributes/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/index.php`, `themes/ld30/templates/modern/course/accordion/lessons/lesson/topics/topic/title.php`, `themes/ld30/templates/modern/course/alerts/certificate.php`, `themes/ld30/templates/modern/course/alerts/progress.php`, `themes/ld30/templates/modern/course/header.php`, `themes/ld30/templates/modern/group/alerts/certificate.php`, `themes/ld30/templates/modern/group/alerts/progress.php`, `themes/ld30/templates/modern/group/header.php`.
* Fix - Resolved an issue where the "View" and "Trash" links for Orders were missing from the Orders listing screen.