Display downloads from the last 30, 60, or 90 days alongside cumulative totals.
The Problem It Solves
Currently, the download count only ever goes up - it’s the sum of every download across every version ever released. This creates several issues:
-
Old but abandoned plugins look popular - A plugin with 5,000 total downloads might only have 50 in the last 90 days, indicating it’s no longer actively used
-
New but growing plugins are buried - A 3-month-old plugin with 1,000 downloads (all recent) appears less popular than a 3-year-old plugin with 2,000 downloads (mostly from 2022)
-
You can’t see maintenance impact - When a developer ships improvements, there’s no way to see if users are responding positively
-
Discovery prioritises history over current value - Sorting by total downloads favours old plugins regardless of current relevance
How Recent Downloads Helps
A time-windowed metric (e.g., “last 90 days”) provides:
-
Current popularity signal - Shows what’s actively being downloaded right now
-
Maintenance health indicator - Plugins with steady recent downloads are actively maintained and trusted
-
Growth visibility - Developers can see if their updates are gaining traction
-
Better discovery - Users can find plugins that are currently popular, not just historically popular
Example Display
Plugin Name
├─ Total downloads: 4,113
├─ Last 90 days: 892
└─ Updated: 3 days ago
Or with visual indicators:
Plugin Name
4,113 downloads | 892 recent (90d) ↑
Implementation Notes
This should be calculable from existing data in community-plugin-stats.json since it already tracks:
-
Per-version download counts
-
Update timestamps (can derive when versions were released)
The calculation would be: sum all per-version downloads for versions released within the last X days, plus continued downloads of older versions during that window.
Why 90 Days Specifically?
-
Long enough to smooth out weekly/monthly variance
-
Short enough to show current trends (a quarter is a meaningful business timeframe)
-
Accounts for slow updaters - Users who check for updates monthly are still captured
Other options: 30 days (more volatile but shows very current activity) or 60 days (middle ground).