v0.6.0
Foundation cleanup before 1.0: namespace migration, database portability CI, performance hardening, release workflow repair, and dependency security auditing.
Added
- Cross-database integration tests for SQLite, MySQL, and PostgreSQL (
tests/DatabaseIntegration/*,database.ymlworkflow). DatabaseSqlHelperfor driver-aware dashboard date SQL.- Configurable dashboard aggregate caching via
dashboard.cache_ttl(default0, disabled). - Configurable retention delete batching via
retention.chunk_size(default1000). - Composite index on
analytics_page_views (viewed_at, visitor_hash)for dashboard queries. - Dedicated
security.ymlworkflow andcomposer auditincomposer verify. docs/V0_6_0_READINESS_REPORT.md.
Changed
- Breaking: PHP namespace migrated from
LaravelAnalytics\LaravelAnalytics\toSimbaJirira\LaravelAnalytics\. - Breaking: Service provider renamed to
SimbaJirira\LaravelAnalytics\AnalyticsServiceProvider. - Breaking: Removed empty
LaravelAnalyticsfacade and root service class; use contracts, config, and container bindings instead. AnalyticsPrunerdeletes stale rows in bounded batches instead of single large deletes.AnalyticsDashboardQueryuses driver-aware SQL for traffic trends and distinct visitor-day counts.- Release workflow runs quality gates (including
composer audit) before publishing and uses CHANGELOG sections for GitHub Release bodies. - README updated with Packagist badge, current release status, PHP/Laravel support, and CI badges.
Removed
LaravelAnalyticsfacade alias and empty facade/service class.update-changelog.ymlworkflow that duplicated CHANGELOG sections after each release.