v0.64.0
20 Jul 2026
Added
- Message Templates management page: administrators can edit the Initial Contact and Follow-up template subject and body from a dedicated tab bar page — changes apply immediately site-wide without visiting plugin settings. Setup Guide page: a built-in 5-step onboarding guide for administrators covering the cache task, admin settings, risk rules, message templates, and starting interventions — accessible from the tab bar on every plugin page.
v0.65.0
20 Jul 2026
Improved
- Staff-to-student messages now use system notifications for reliable delivery regardless of site messaging policies or user block lists.
Fixed
- Intervention messages now delivered correctly to students — the intervention_contact message provider had a staff-only capability restriction that silently blocked student receipt. Error notice now shown when message delivery fails.
v1.0.0
20 Jul 2026
Added
- Version milestone: first stable 1.0 release after 65 iterations of development, testing, and refinement.
v0.60.2
19 Jul 2026
Improved
- Engagement heatmap now reads from a pre-aggregated daily rollup table instead of scanning logstore directly; heatmap data is built incrementally by the nightly cache task.
v0.60.3
19 Jul 2026
Improved
- Composite index (courseid, timecreated) added to the Moodle logstore table; reduces the nightly cache build task from 80+ minutes to seconds on sites with large logstore tables.
v0.60.4
19 Jul 2026
Fixed
- Removed invalid empty-string DEFAULT from CHAR NOT NULL columns (ruletype, label, title) that triggered XMLDB debug warnings during upgrade and uninstall.
v0.63.0
19 Jul 2026
Fixed
- Site administrators are now included in the Assign To dropdown on intervention case detail pages. Previously, only users with the createintervention capability appeared because get_users_by_capability() silently excludes admin bypass users.
v0.55.0
18 Jul 2026
Added
- Send Message to Student: staff can message a student directly from an intervention case using configurable Initial Contact and Follow-up templates with {firstname}, {lastname}, {course}, and {adviser} placeholders. Sends are automatically logged as a note on the case timeline.
v0.56.0
18 Jul 2026
Added
- Adviser caseload dashboard (My Cases): staff now see a personal filtered view of only their assigned or created cases. Cases are sorted by urgency — overdue follow-ups appear first, followed by cases due within 7 days, then active cases, then cases with no follow-up date set. Overdue and due-soon badges appear inline. The My Cases tab shows a live count of open cases.
v0.57.0
18 Jul 2026
Added
- Student Engagement Since Intervention: every intervention case detail page now shows a before/after comparison of course visits, forum posts, assignment submissions, and quiz attempts for the 30 days before the case was opened vs. the days since. Trend badges (Improving / Declining / Stable) use per-day rates for fair comparison across different window lengths. The section appears automatically after a case is 3 days old.
v0.61.0
18 Jul 2026
Added
- Added configurable monthly trend window setting (3, 6, 9, or 12 months) so admins can tune the logstore scan window to match their site size.
Fixed
- Fixed duplicate daybucket debug warnings in the Build Summary Cache scheduled task. Fixed assigned-to form field issue in intervention management.
v0.49.0
15 Jul 2026
Added
- Configurable Student Risk Scoring engine: five weighted signal rules (inactivity days, missed assignments, grade below threshold, completion below threshold, no course activity). Risk scores are computed with a single batch DB read — no N+1 query loops. Risk Rules admin page for admins to tune thresholds and weights per rule. Risk badges (Low/Medium/High/Critical) displayed on the Site Overview at-risk table with reason tooltips. Four new capabilities: viewrisk, createintervention, manageinterventions, viewprivatenotes. Full Moodle Privacy API coverage for risk_scores table.
Improved
- At-risk student table enriched with risk score column. Bulk fetch pattern ensures one DB round-trip regardless of how many students appear on the page.
v0.50.0
15 Jul 2026
Added
- Student Intervention Manager: one-click case creation from at-risk table, six-stage workflow (New/In Progress/Contacted/Monitoring/Resolved/Closed), manager-only status and follow-up date editing, timestamped case notes timeline with private notes flag. Two new DB tables: local_courseinsights_interventions and local_courseinsights_intervention_notes. Interventions list page with status filter and pagination. Full Moodle Privacy API coverage for both new tables.
Improved
- Interventions tab added to all plugin pages; Interventions and Risk Rules tabs shown conditionally based on user capability.
v0.51.0
15 Jul 2026
Added
- Automated follow-up reminder notifications: a daily scheduled task sends a Moodle message to the assigned staff member when an intervention follow-up date passes and the case is still open.
Improved
- Intervention follow-up reminders are sent once per follow-up date — resetting the date to a later value triggers a fresh reminder.
v0.52.0
15 Jul 2026
Added
- Intervention Reports page: managers can view resolution rates, average days to resolve, cases by status, and a per-staff caseload breakdown — filterable by last 30, 90, or 365 days or all time.
Improved
- Reports tab added to the Interventions tab bar (visible to managers only).
v0.53.0
15 Jul 2026
Added
- Course Visits column added to the Student Activity table on the course detail page — shows the total number of log events per student in that course.
v0.54.0
15 Jul 2026
Added
- Forum Posts column added to the Student Activity table on the course detail page — shows the total number of forum posts per student in that course.
v0.48.0
09 Jul 2026
Added
- Activity funnel analytics showing drop-off rates between course activities. Student engagement leaderboard ranked by activity completions.
Improved
- Site Overview performance: MUC cache layer added for cold load reduction.
v0.47.0
05 Jul 2026
Added
- Filter sidebar uses numbered step indicators for clearer UX.
Improved
- All MMRT-109 Moodle Marketplace review issues resolved: curl wrapper, Frankenstyle constants, cachedef/messageprovider lang strings, Privacy API full implementation.
v0.46.9
28 Jun 2026
Improved
- Compare Period section uses plugin-owned details/summary HTML to avoid theme conflicts.
v0.46.8
20 Jun 2026
Added
- PRIVACY.md and about.md documentation files added.
Improved
- At-risk snapshot query improvements; GROUP BY fix for reminder queries.
v0.46.7
15 Jun 2026
Added
- Per-course Detailed Report snapshot table (local_courseinsights_detail) for faster drill-down loads.
Improved
- Snapshot caches now update in-place rather than rebuilding from scratch on each run.
v0.46.1
20 May 2026
Added
- Site-wide snapshot table (local_courseinsights_site) and at-risk snapshot table (local_courseinsights_atrisk) added.
Improved
- MUC cache layer on Site Overview dashboard.