* Feature - LearnDash Experiments.
* Feature - Virtual Instructor [Experiment].
* Tweak - Added filters: `learndash_experiments`, `learndash_model_virtual_instructor_applied_to_all_courses`, `learndash_model_virtual_instructor_applied_to_all_groups`, `learndash_model_virtual_instructor_avatar_url`, `learndash_model_virtual_instructor_banned_words`, `learndash_model_virtual_instructor_course_ids`, `learndash_model_virtual_instructor_custom_instruction`, `learndash_model_virtual_instructor_error_message`, `learndash_model_virtual_instructor_group_ids`, `learndash_model_virtual_instructor_message_contains_banned_words`, `learndash_model_virtual_instructor_name`, `learndash_module_ai_chatgpt_summarizer_command_generate_summary`, `learndash_module_ai_chatgpt_summarizer_last_preserved_messages_count`, `learndash_module_ai_chatgpt_summarizer_max_context_characters`, `learndash_module_ai_chatgpt_summarizer_messages_summary_content`, `learndash_module_ai_virtual_instructor_chat_session_initial_message`, `learndash_module_ai_virtual_instructor_chat_session_max_message_length`, `learndash_module_ai_virtual_instructor_chat_session_message_is_valid`, `learndash_module_ai_virtual_instructor_chat_session_message`, `learndash_module_ai_virtual_instructor_chat_session_storage_period`, `learndash_service_chatgpt_model_max_context_window_tokens`, `learndash_template_template_paths`.
* Tweak - Added actions: `learndash_experiments_experiment_init_after`, `learndash_experiments_experiment_init_before`, `learndash_experiments_init_after`, `learndash_experiments_init_before`, `learndash_post_setting_updated`.
* Feature - Blended Learning.
* Fix - Stripe cancellation processing for finite subscriptions with no trial.
* Security - Tightened security around LearnDash Log.
* Security - Tightened security around quizzes.
* Performance - Course dashboard.
* Performance - Groups listing/editing page when there are many groups.
* Performance - Profile block when there are a lot of courses.
* Performance - Optimized functions: `learndash_get_certificate_count`, `learndash_get_groups_administrator_ids`, `learndash_get_groups_user_ids`, `learndash_get_user_stats`.
* Tweak - Fixed PHP 8.2 deprecation notices.
* Tweak - Improved the invoice PDF in the purchase email for subscriptions with no trial.
* Tweak - Make shared course steps option enabled by default.
* Tweak - Set minimum required PHP version to 7.4.
* Tweak - Updated constants: LEARNDASH_MIN_PHP_VERSION.
* Tweak - Updated the Stripe PHP library to version 13.
* Tweak - Added filters: `learndash_stripe_api_version`, `learndash_stripe_max_network_retries`.
* Tweak - Added functions: `learndash_course_steps_get_external_type`, `learndash_course_steps_is_external_attendance_required`, `learndash_course_steps_is_external`, `learndash_course_steps_map_external_type_to_label`, `learndash_process_password_reset_redirect`.
* Tweak - Updated functions: `learndash_course_get_step_completion_url`, `learndash_create_nonce`, `learndash_get_certificate_count`, `learndash_get_groups_administrator_ids`, `learndash_get_groups_user_ids`, `learndash_get_user_stats`, `learndash_mark_complete`, `learndash_process_mark_complete`, `learndash_reset_password_output`, `learndash_reset_password_set_user_new_password`, `learndash_stripe_api_version`, `learndash_stripe_max_network_retries`.
* Tweak - Updated templates: `ld30/templates/modules/course-steps.php`, `ld30/includes/helpers.php`, `ld30/templates/lesson/partials/row.php`, `themes/ld30/templates/topic/partials/row.php`, `ld30/templates/widgets/navigation/lesson-row.php`, `ld30/templates/widgets/navigation/topic-row.php`, `ld30/templates/quiz.php`.
* Feature - Add course completion page.
* Tweak - Updated course progression to flow as expected between steps in a course.
* Fix - Lesson not marking as complete when "Not Graded, full points awarded" option set in quiz essay type.
* Fix - Added additional validation for shortcodes and blocks.
* Tweak - Added filters: `learndash_course_completion_page_redirect_enabled`, `learndash_course_linear_step_ids`, `learndash_course_next_step_default_value`, `learndash_course_next_step_id`, `learndash_course_next_step_url`, `learndash_course_previous_step_default_value`, `learndash_course_previous_step_id`, `learndash_course_previous_step_url`, `learndash_course_step_completion_url`.
* Tweak - Updated filters: `learndash_course_completion_url`, `learndash_next_post_link`, `learndash_previous_post_link`.
* Tweak - Deprecated filters: `learndash_completion_redirect`, `learndash_show_parent_next_link`, `learndash_show_parent_previous_link`.
* Tweak - Added functions: `learndash_course_get_completion_url`, `learndash_course_get_linear_step_ids`, `learndash_course_get_step_completion_url`, `learndash_course_steps_requires_watching_video_after_sub_steps`.
* Tweak - Updated functions: `learndash_approve_assignment`, `learndash_get_step_post_statuses`, `learndash_mark_complete_process`, `learndash_next_post_link`, `learndash_previous_post_link`, `learndash_process_mark_complete`, `learndash_quiz_continue_link`, `learndash_quiz_redirect`, `learndash_upload_assignment_init`.
* Tweak - Deprecated functions: `learndash_ajax_mark_complete`, `learndash_course_progress_widget`, `learndash_get_next_lesson_redirect`, `learndash_next_global_quiz`, `learndash_next_lesson_quiz`, `learndash_update_completion`.
* Tweak - Updated templates: `ld30/templates/modules/course-steps.php`.
* Fix - User's essays and assignments posts do not get deleted permanently when the data erasure request is executed.
* Security - Tightened security around REST API.
* Security - Tightened security around assignments & essays files.
* Tweak - Changed assignment files uploading path to `uploads/learndash/assignments`.
* Tweak - Changed essay files uploading path to `uploads/learndash/essays`.
* Tweak - Made essay and assignment file links dynamic.
* Tweak - Added filters: `learndash_file_can_be_downloaded`, `learndash_file_protection_paths`.
* Tweak - Added functions: `learndash_assignment_get_download_url`, `learndash_quiz_essay_get_download_url`.
* Tweak - Deprecated classes: `LD_REST_Posts_Gutenberg_Controller`.
* Tweak - Deprecated filters: `learndash_rest_wp_archive_repsonse`, `learndash_rest_wp_archive_viewable`.
* Tweak - Updated filters: `learndash_assignment_process_init`, `learndash_essay_upload_dirbase`, `learndash_essay_upload_urlbase`, `learndash_fileupload_process`, `learndash_upload_assignment_init`.
* Tweak - Updated functions: , `learndash_add_new_essay_response`, `learndash_before_delete_essay`, `learndash_delete_user_data`, `learndash_essay_fileupload_process`, `learndash_essay_permissions`.
* Tweak - Updated templates: `ld30/templates/assignment/partials/row.php`, `ld30/templates/shortcodes/profile/assignment-row.php`, `themes/legacy/templates/learndash_lesson_assignment_uploads_list.php`.
* Fix - Disabling the /ldlms/v1 and /ldlms/v2 API for LearnDash post types now disables them for the /wp/v2 API as well.
* Security - Tightened security around the REST API.
* Fix - Stripe Conflict with multiple plugins.
* Fix - Incompatibility with other plugins using psr/container.
* Feature - Add an option to import demo content in the onboarding wizard.
* Fix - Quiz AI existing quiz steps resetting on new quiz creation.
* Fix - Course outline AI resetting existing course section headings.
* Fix - Fatal error on WooCommerce Subscriptions order pages.
* Tweak - Some Telemetry data was mapped incorrectly.
* Tweak - Fixed Stripe related PHP 8.2 deprecation notices.
* Tweak - Updated functions: `learndash_course_add_child_to_parent`.
* Feature - Add new course dashboard with course performance metrics and data.
* Fix - Course 'Mark Complete' button validations.
* Fix - Sidebar hiding does not work in tabs.
* Tweak - Added Course-Presell support for the Student and Visitor shortcodes.
* Tweak - Set default course access mode to Free.
* Tweak - Support non /wp-admin URLs in the course video playlist.
* Tweak - Added actions: `learndash_dashboard_widget_before_loading`, `learndash_dashboard_widget_after_loading`, `learndash_template_before_include`, `learndash_template_before_include:{template_name}`, `learndash_template_after_include`, `learndash_template_after_include:{template_name}`, `learndash_template_entry_point:{template_name}`, `learndash_template_entry_point:{template_name}:{entry_point_name}`.
* Tweak - Added filters: `learndash_template_after_include_html:{$template_name}`, `learndash_template_after_include_html`, `learndash_template_args:{$template_name}`, `learndash_template_args`, `learndash_template_filepath`, `learndash_template_before_include_html:{$template_name}`, `learndash_template_before_include_html`, `learndash_template_entry_point_html:{template_name}:{entry_point_name}`, `learndash_template_entry_point_html:{template_name}`, `learndash_template_entry_point_is_enabled`, `learndash_template_html:{template_name}`, `learndash_template_html`, `learndash_template_include_html:{template_name}`, `learndash_template_include_html`, `learndash_template_pre_html:{$template_name}`, `learndash_template_pre_html`, `learndash_template_skip_rendering`, `learndash_template_admin_template_paths`, `learndash_dashboard_tab_is_default`, `learndash_dashboard_widget_course_lifetime_sales_transactions_chunk_size`, `learndash_dashboard_widget_course_latest_enrollees_users_limit`, `learndash_dashboard_widget_course_latest_transactions_limit`, `learndash_dashboard_is_enabled`, `learndash_dashboard_post_is_enabled`, `learndash_dashboard_section_hint_supported_html_tags`, `learndash_dashboard_sections`, `learndash_dashboard_sections_course`, `learndash_dashboard_widget_view_path`.
* Tweak - Updated constants: LEARNDASH_DEFAULT_COURSE_PRICE_TYPE.
* Tweak - Updated filters: `learndash_template_filename`.
* Tweak - Updated functions: `learndash_mark_complete_process`.
* Fix - Error on Settings Support page when no .po file is available.
* Fix - Incompatibility of binary selectors (group courses and course groups) with the classic editor.