laravel-enso/historytracker
HistoryTracker for Laravel Enso automatically records model changes, storing a versioned audit trail of created, updated, and deleted records with the user and timestamp behind each change, so you can review and roll back history from the Enso UI.
Architecture fit
laravel-enso/historytracker is an Eloquent-level audit package from the Laravel Enso admin-suite ecosystem. Integration model is a trait applied to models plus a polymorphic history table, with model events (create/update/delete) driving row writes.laravel-enso/core, laravel-enso/helpers, and by implication Enso's users/people conventions for the created_by / updated_by attribution columns). Confirm the exact dependency graph from composer.json before assuming an isolated install.historable_type / historable_id. This is convenient for "show me this record's timeline" UI, but it is not a tamper-evident audit ledger.Integration feasibility
composer require, publish/run migrations, add the trait, toggle tracked events in the package config. Hours, not days.Technical risk
Model::query()->update(), insert(), raw SQL, and queue/console contexts where auth attribution is absent. Any audit or compliance use case must be validated against these gaps.Key questions
Stack fit
spatie/laravel-activitylog or owen-it/laravel-auditing, both of which have broader version support and active maintenance.Migration path
acme/historytracker) under our namespace, bump composer.json constraints, patch deprecations, and add it to our own release cadence. MIT makes this clean.Compatibility
$guarded/$fillable interactions, JSON/array casts, and date/timezone handling — these are the usual breakage points across Laravel majors.created_by FK behavior under our auth guard, including API-token and service-account requests, and add an explicit system-user fallback.Sequencing
Maintenance
Support
Scaling
historable_type + historable_id and sort by time — ensure a composite index exists, or detail screens will degrade as the table grows.Failure modes
created_by, corrupting attribution and any downstream "who changed this" reporting.Ramp-up
How can I help you explore Laravel packages today?