Download Tracker
Version 1.0.2
July 3, 2026
Fixed
- Settings page is now viewable (read-only) for admins in environments where
allowAdminChangesis off, instead of returning a 403. Saving is still blocked in those environments. - The Tracked extensions, Tracked path prefixes, and Excluded hosts textareas no longer render their values run together on a single line - each value now appears on its own line again.
Changed
- Redrew the control-panel icon with a more balanced arrow-and-tray glyph so it no longer looks squished in the sidebar.
Version 1.0.1
July 3, 2026
Changed
- Adopted the standard Coysh Digital commercial license.
- Refreshed the plugin icon and updated the README.
Version 1.0.0
July 3, 2026
Added
- Initial release.
- Atomic per-file download counter (one row per file) plus a bounded per-day rollup - no element-per-download or row-per-download bloat.
- Zero-touch JS beacon that auto-detects download links and counts them
without any template changes. Works with full-page static caches (e.g. Blitz)
because counting happens on a non-cached
/actions/...request. - Optional served-download route (
craft.downloadTracker.url(asset)) that streams or redirects to the file after counting - for gated, private, remote, or forced ("Save as…") downloads, with a signed, tamper-proof link. - Twig API:
craft.downloadTracker.url(),.total(),.record(),.top(). - Control panel: a sortable/searchable Downloads list with CSV export, saved reports, and a Top Downloads dashboard widget.
- Automatic garbage collection of the daily rollup beyond a configurable retention window.