- add: Evolution graphs for top 10 event names, categories, and actions over time
- add: 2 additional series colors (brown 800, blue grey 800) to display 10 curves on evolution graphs
- add: Plugin dependency declaration for Events plugin
- add: Vue shims and TypeScript configuration for reliable builds
- update: API layer refactored — 9 near-identical methods consolidated into a single
getSubtableForDimension()helper - update: Controller refactored — merged duplicate table configuration methods into
configureEventDimensionTable() - update: Added input validation for
dimensionTypeparameter across all controller actions - update: RecordBuilder
EventDimensionRelationssplit into 2 optimized SQL queries — dimension reports no longer includecustom_floatin GROUP BY, fixing inflated visit counts - update: Added RankingQuery support to both RecordBuilders for large dataset handling
- update: Removed premature
round()during archiving inEventsAllDimensionsto preserve full value precision - update: Removed
Common::getRequestVar()calls from Reportinit()methods (constructors should not access HTTP request) - update: Replaced hardcoded "Custom Dimension" labels with
translate('CustomDimensions_CustomDimensionId')for proper i18n - update: Plugin category changed from "database" to "analytics"
- update: Vue source files converted to LF line endings for ESLint compatibility
- update: Removed "Did you know?" promotional footer from all reports and evolution graphs
- fix: Evolution graphs now correctly limit to top 10 series globally across all periods (previously each period had independent top N, causing inconsistent series)
- fix: CSS typo in GoPremiumWidget (
100ùchanged to100%) - fix: Flattened nested CSS selectors in GoPremiumWidget for broader browser compatibility
- fix: Removed hardcoded
tabindex="6"from GoPremiumWidget (accessibility anti-pattern) - fix: GoPremiumWidget image path now uses computed
matomoBaseUrlinstead of hardcoded path - fix: Replaced deprecated
piwik.*globals withMatomo.*in row action JavaScript - fix: Used
Object.prototype.hasOwnProperty.call()instead of direct.hasOwnProperty()in row action - fix: Removed duplicate inline
styleattribute from DimensionSelectors component - fix: Fixed
fr.jsonindentation inconsistency
- add:
.gitignorefor.DS_Storeand.claude/files - add: Error logging via
LoggerInterfacein API and RecordBuilder exception handlers - remove: Dead code (
filterAndFlattenNestedSubtable,extractNestedSubtableByLabel) from API - remove: Unused
Commonimport from 6 Report files
- update: Plugin name to match marketplace requirements
- update: Plugin description to match marketplace requirements
- update: Define plugin licence to GPL v3+
- add: Cover image for Matomo marketplace
Plugin release, read README.md for more information.