CodePress CMS v1.9.0: visitor statistics with SVG world map and GeoIP
- Add GeoIP class with provider chain: local DB-IP Lite, MaxMind .mmdb, external API - Add built-in pure-PHP MMDBReader so .mmdb works without Composer - Add cli/geoip-update.php to download DB-IP Lite and build a compact binary index - Add cli/generate-world-map.php to generate the world map SVG from Natural Earth TopoJSON - Add Analytics class aggregating stats in admin/storage/stats.json with LOCK_EX - Add admin statistics page with choropleth world map, country list, top pages, daily chart, referrers and a period filter - Add GeoIP and privacy settings with database update and stats reset buttons - Add optional IP anonymization and configurable retention period - Add country field to requests.log (parser accepts 7, 8 or 9 fields) - Add country column to request log and KPI cards to the dashboard - Ignore GeoIP binaries and stats.json in Git - Update TODO.md, guides and version to 1.9.0
This commit is contained in:
+17
-2
@@ -6,12 +6,27 @@
|
||||
*/
|
||||
|
||||
return [
|
||||
'version' => '1.8.0',
|
||||
'version' => '1.9.0',
|
||||
'release_date' => '2026-07-29',
|
||||
'codename' => 'BotGuard',
|
||||
'codename' => 'Atlas',
|
||||
'status' => 'stable',
|
||||
|
||||
'changelog' => [
|
||||
'1.9.0' => [
|
||||
'date' => '2026-07-29',
|
||||
'changes' => [
|
||||
'Visitor statistics dashboard (/admin/statistics) with SVG world map choropleth',
|
||||
'GeoIP country resolution with provider chain: local DB-IP Lite, MaxMind .mmdb, or external API',
|
||||
'Built-in pure-PHP MaxMind DB reader (no Composer dependency required)',
|
||||
'cli/geoip-update.php downloads DB-IP Lite and builds a compact binary index',
|
||||
'cli/generate-world-map.php generates the world map SVG from Natural Earth TopoJSON',
|
||||
'Aggregated statistics in admin/storage/stats.json (survives log clearing)',
|
||||
'Unique visitors, human vs bot split, top pages, referrers and daily chart',
|
||||
'Period filter (7 / 30 / 90 days / all time)',
|
||||
'Optional IP anonymization and configurable retention period',
|
||||
'Country column with flags in the request log and KPI cards on the dashboard',
|
||||
]
|
||||
],
|
||||
'1.8.0' => [
|
||||
'date' => '2026-07-29',
|
||||
'changes' => [
|
||||
|
||||
Reference in New Issue
Block a user