# Changelog - SesioneX

## Version 1.0.0 (2026-04-15)

### Initial Release

#### Features
- **Session Tracking**: Login/logout history with timestamps
- **IP Tracking**: Capture client IP addresses
- **Browser Detection**: Automatic browser and OS detection
- **Geolocation**: MaxMind GeoLite2 local database support
  - Country, city, region detection
  - Latitude/longitude coordinates
  - Geolocation cache for performance
- **Heartbeat System**: Configurable activity tracking
  - Real-time activity updates
  - Automatic session timeout detection
  - Configurable interval (default: 5 minutes)
- **Page Tracking**: Detailed module/page visit tracking
  - Track each page visited during session
  - Module detection from URL
  - Time spent per page
- **Dashboard**: KPIs and charts
  - Total sessions
  - Unique users
  - Average session duration
  - Countries count
  - Sessions per day chart
  - Top users chart
- **Reports**: DataTables with export
  - Excel, PDF, CSV export
  - Filtering by date range and user
  - Sortable columns
- **Multi-language**: EN, ES, FR, DE, IT
- **Multi-company**: Full entity support
- **Admin Setup**: Configuration page
  - Heartbeat interval
  - Page tracking toggle
  - Geolocation toggle
  - GeoLite2 database path
  - Session timeout

#### Technical
- Module ID: 193084 (reserved in Dolibarr wiki)
- Minimum Dolibarr: 14.0
- Minimum PHP: 7.4
- Maximum PHP: 8.3
- License: GPL v3

#### Database Tables
- `llx_sesionex_log`: Main session log
- `llx_sesionex_page_log`: Page visit tracking
- `llx_sesionex_geo_cache`: Geolocation cache

#### Security
- CSRF token protection
- SQL injection prevention
- XSS protection
- Input validation
- Admin-only setup access

#### Attribution
- This product includes GeoLite data created by MaxMind, available from https://www.maxmind.com
