LearnDash Dashboard v7.5.0

= 7.5.0 =
* Rewrite: Complete plugin architecture overhaul — public class reduced from 9,276 to 1,822 lines with class extraction pattern.
* Rewrite: Modular JavaScript architecture — removed monolithic JS file, split into 20+ focused modules with conditional loading.
* Rewrite: Modular CSS architecture — split monolithic CSS into 17 component stylesheets with conditional loading.
* Rewrite: Field Builder architecture — fluent builder pattern for ACF field registration replacing 8 legacy field group classes.
* Rewrite: Tab Registry architecture — Template Method pattern with abstract base class for 7 content tabs.
* Rewrite: Module System — self-contained modules (Zoom, BuddyPress, To-Do List) with dependency checking and registry.
* Rewrite: Reports & Charts — unified registry with REST API, replacing legacy report classes (~2,500 lines removed).
* Rewrite: Quiz Report — merged quiz-attempts into quiz-report with unified filters and status badges.
* Added: Private Messaging system for student-instructor communication with inbox/compose UI.
* Added: Bulk Student Management admin tool with CSV export.
* Added: Dashboard Insights tab with revenue, instructor performance, and top courses charts.
* Added: Time Tracking tab for monitoring student time spent on courses.
* Added: Course Cloning with full hierarchy duplication (lessons, topics, quizzes, questions).
* Added: Enrollment Codes generator for bulk self-enrollment.
* Added: Assignment Deadlines with due dates, overdue badges, and student tab.
* Added: Uncanny Groups module with group creation wizard, seat badges, and hierarchy management.
* Added: Email Template system — WooCommerce-style templates with shared wrapper pattern and DB-backed queue.
* Added: Announcement meta box in WP Admin with course selection and email notification.
* Added: Dashboard widgets — Quick Actions, Action Items, Continue Learning.
* Added: AJAX Select2 course dropdowns and report exclusion filters.
* Added: Withdrawal tab with datepicker when commission is enabled.
* Added: Centralized menu defaults with v7.5.0 migration and type-safe settings fallbacks.
* Improved: Zoom module — OAuth token caching, Zoom Meeting SDK upgraded from v3.8.5 to v5.1.2, unified setup guide, live status check, recording download support.
* Improved: Instructor pages overhaul — merged Settings into Profile tab, centered course count/rating on listing cards.
* Improved: Email system — 10 templates converted to shared wrapper pattern, admin Design Settings brand colors applied.
* Improved: Admin settings — unified DataTables with AJAX, export buttons, column visibility across 4 admin pages.
* Improved: Mobile responsive — card layouts with data-title labels, chart container heights, bulk management tabs.
* Improved: ACF upgraded from 6.3.9 to 6.7.0.
* Improved: LearnDash 4.x compatibility with REST API migration and deprecated API replacements.
* Improved: Role detection standardized across 58 files.
* Improved: Group leader data access scoped across reports and dashboard stats.
* Improved: Settings defaults audit — 33 missing keys fixed, 2 unguarded accesses resolved.
* Improved: Admin settings simplified — dead options removed, tabs merged, primary fields protected.
* Improved: Performance — REGEXP queries replaced with LIKE patterns, pagination added to cron jobs, on-demand user statistics REST endpoint.
* Security: 35 security vulnerabilities fixed including IDOR, ownership checks, input sanitization, and nonce validation.
* Security: Content ownership checks added to assignment/essay approval, email send, and invite flows.
* Security: Comprehensive sanitization callbacks for general, design, and monetization settings.
* Security: npm dependencies updated to resolve 15 vulnerabilities.
* Fixed: 112 orphaned template files removed (18,367 lines cleanup).
* Fixed: 21 dead PHP methods and legacy JS monolith removed.
* Fixed: Course/lesson/topic auto-association when created from dashboard UI.
* Fixed: WpProQuiz records auto-created for quizzes and questions saved from dashboard.
* Fixed: Course steps and quiz questions no longer wiped when saving from frontend.
* Fixed: ACF form fields rendering with Field Builder architecture.
* Fixed: Report filter dropdowns no longer stripped by wp_kses_post.
* Fixed: Select2 dropdowns rendering above header (z-index fix).
* Fixed: Assignment approve button, essay grade filter, bulk AJAX handlers.
* Fixed: Co-instructor data preservation during course builder saves.
* Fixed: Meeting shortcode rendering full dashboard page instead of meeting.
* Fixed: Group leader course-progress report fatal error.
* Fixed: Quiz report showing attempts from unrelated courses.
* Fixed: Enrollment code generation with MySQL strict mode.
* Fixed: User avatar upload, withdrawal methods, earnings tab errors.
* Fixed: 100+ additional bug fixes from comprehensive QA audits.
LearnDash Dashboard
LearnDash Dashboard gives the admin, instructors, group leader and students a dashboard of their own, where they can easily manage anything related to their courses, lessons, and contact others.