Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Revisionable Laravel Package

rhyanrandolph/revisionable

Laravel package that keeps a revision history for Eloquent models, automatically logging create, update, and delete changes with user context. Easily inspect past versions, compare field changes, and restore or revert records when needed.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Audit trail / compliance feature decisions. The package provides model-level change history (who changed what, when, old vs. new values) via a trait and a revisions table. This is the cheapest credible way to answer "do we need an audit log?" for internal tools, admin panels, and customer-facing record histories. It informs whether audit logging is a feature (customer-visible "history" tab, undo/restore) or a compliance obligation (SOC 2, HIPAA, SOX-style change tracking) — those have very different scopes and buyers.
  • Build vs. buy for change history. Build cost is deceptively small (one migration + a trait), but a production-grade version carries diffing, attribution to a user, restore-to-revision, retention policy, PII handling, and UI for viewing history. This package front-loads the data model so the team can validate demand before investing in the UI and retention layer.
  • Roadmap input for "undo" and support tooling. Restoring a model to a prior revision is a concrete, high-value support workflow (accidental edits, bad imports, customer disputes). Having revisions available lets you scope an "undo/revert" capability without a schema migration later, and lets support answer "what did this record look like last Tuesday?" without engineering.
  • Data-governance decisions with real trade-offs. Revision tables accumulate PII and grow unbounded. Adopting this package forces an explicit decision on retention windows, erasure/right-to-be-forgotten vs. immutable audit, and storage growth — decisions that are much cheaper to make before the table exists than after.
  • Prioritization signal via the package's own health. 256 stars, single maintainer lineage, last release Jan 2023, low opportunity score. That's a decision input in itself: fine for an internal, low-blast-radius feature; a poor foundation for a compliance-critical system of record.

When to Consider This Package

Consider it when:

  • You're on Laravel, need per-model change history with user attribution, and want it working in days, not a quarter.
  • The use case is internal or mid-scale: admin back office, CMS, CRM records, ticketing — writes are human-driven and modest in volume.
  • You can tolerate a community-maintained, low-activity dependency (last release 2023) and are willing to pin, fork, or vendor it if upstream stalls.
  • Your write paths go through Eloquent. If significant data changes happen via raw queries, bulk updates, jobs, or imports, you'll get silent audit gaps — model events won't fire, and an incomplete audit log can be worse than none because it creates false confidence.
  • You have a plan for retention and PII in revision rows before launch, not after.

Look elsewhere (or build) when:

  • You need tamper-evident, append-only, legally defensible audit — look at dedicated audit packages with stronger guarantees (e.g., owen-it/laravel-auditing) or an external immutable log/event store.
  • You need event sourcing, temporal queries, or analytical history ("state of all records at time T"), not just per-record diffs.
  • Write volume is high or models are large/hot — every update writes a revision row; measure before committing.
  • Compliance scope is broad (many models, many actors, system/service accounts, impersonation) — attribution and actor modeling get complicated fast.
  • You need vendor-backed support or a long support horizon; a 2023-dormant package is a maintenance liability for anything customer-facing and contractual.
  • You're not on Laravel/Eloquent, or you're on a Laravel version outside the package's tested range.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed library that gives us a "history" of every record — what changed, who changed it, and what it looked like before. It's the fastest way to close the "we can't tell who changed this" gap that shows up in support tickets, incident reviews, and security questionnaires. Cost is near zero to try; the real decision it unlocks is whether audit history is a checkbox for sales/compliance or a product feature customers will pay for. Risk is maintenance: the package is small and hasn't shipped since early 2023, so we'd treat it as an internal-tool dependency, not the backbone of a compliance-certified system. If we later need legally defensible audit, we'd move to a dedicated auditing layer — and this pilot tells us whether that spend is justified.

To engineering: One migration, one trait on the models that matter, and we get before/after diffs, user attribution, and restore. It's a pragmatic 80% solution. Constraints to design around: only Eloquent-originated writes are captured (bulk/raw updates create audit gaps), revision rows are PII-bearing and grow forever, and the upstream is quiet — so pin the version, own a fork if needed, and add a retention job from day one. Treat it as a spike with a clear exit path to laravel-auditing or an internal implementation if the requirements harden.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk