# Changelog — MokoSuiteInsight ## [Unreleased] ### Fixed - **Honest install success** — the package installer no longer shows the license / next-steps message when a bundled child extension failed to install. A fail-open manifest verifier confirms every child extension landed in `#__extensions` and reports any that are missing. ### Added - **Package Manifest** — `pkg_mokosuitesight.xml` with dlid and updateservers - **Plugin Manifest** — `mokosuitesight.xml` with config fieldsets (auto-refresh, max dashboards) - **Extension Class** — `Insight.php` SubscriberInterface plugin - **Services Provider** — DI container registration for system plugin - **SQL Install** — 6 tables: dashboards, widgets, data_sources, alerts, alert_log, snapshots - **Seeded Data Sources** — 5 built-in sources (crm.contact_count, crm.deals_pipeline, crm.revenue_monthly, pos.daily_sales, hrm.headcount) - **SQL Uninstall** — reverse-dependency drop order - **Language Files** — en-GB .ini and .sys.ini - **DashboardHelper** — CRUD, widget management, user dashboards, add widget - **DataSourceHelper** — pluggable metric connectors (CRM, POS, HRM built-in) - **AlertHelper** — threshold monitoring, fire/acknowledge, cooldown - **WidgetHelper** — Chart.js data formatting for counter, line, bar, pie, gauge, table - **ExportHelper** — CSV export from any widget, dashboard snapshot logging - **Wiki** — Home, guides/Installation, reference/Helpers - **README** — data source overview - **CLAUDE.md** — repo-specific with data source architecture, widget types ### Fixed - **AlertHelper** — non-scalar data sources now skipped (prevents false triggers on list-type sources) ### Removed - **Makefile** — template artifact, not used for Joomla packages ### Security - Review #19: 1 critical fix applied