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

Eloquent Versioned Laravel Package

sbarre/eloquent-versioned

Keep a full revision history for your Eloquent models: automatically store versions on save, browse past changes, and restore earlier states. Handy for audit trails, undo, and content workflows in Laravel apps.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for revision history. This package supplies per-model version trails and traversal (getNextModel() / getPreviousModel()), which removes a common "we'll build our own audit table later" backlog item. Compare the cost of a sprint of custom work against adopting a pre-1.0 dependency.
  • Roadmap: history/undo UX. The two new traversal methods make sequential revision browsing (next/previous revision, rollback-to-previous, step-through diffs) cheap to ship. This is the main roadmap unlock in 0.1.2 — treat "version history viewer" as an S–M sized item rather than an L.
  • Reliability commitments for concurrent editing. The improved model_id determination reduces race conditions when multiple users write to the same record. This affects any customer-facing claim about multi-editor safety, and it's the kind of defect that shows up as corrupted or orphaned version rows in production, not in QA.
  • Use-case fit: editorial/content revision tracking, internal admin "who changed what" views, lightweight audit trails, and rollback for misconfigured records. Less suitable as the backbone for regulated audit logging.
  • Prioritization signal: the changelog is community-driven (two credited contributors), which suggests an engaged but very small maintainer base. Factor maintenance risk into the adoption decision rather than treating this as a stable platform bet.

When to Consider This Package

Consider it when:

  • You need straightforward, per-model revision history on Eloquent models and nothing more elaborate.
  • Your product surface includes "view previous versions" or "restore this version" flows.
  • You are on — or can pin to — Laravel 5.2-era framework constraints; this release explicitly targets that line.
  • The team is comfortable owning a small, readable dependency and patching it if the maintainer goes quiet.

Look elsewhere when:

  • You need compliance-grade audit logging (immutable, tamper-evident, retention policy, actor attribution guarantees). This is a versioning convenience, not an audit system.
  • You need diffing, branching, merge, or event-sourcing semantics — the API here is linear traversal only.
  • You are on a modern Laravel release. "Laravel 5.2 compatibility" as a headline feature is a strong signal the package's center of gravity is legacy; verify current-version support and PHP compatibility before assuming it fits.
  • You require high write throughput or have strict performance budgets on the versioned tables.
  • You need a vendor with SLAs or a formal security disclosure process.

Version-risk caveat: at 0.1.2 the package is pre-1.0. Assume the public API can change without a major-version bump; pin exact versions and wrap calls behind your own interface.

How to Pitch It (Stakeholders)

For executives: Version history is a recurring customer ask and a recurring engineering distraction. This package gives us revision tracking on our existing models plus ready-made "next/previous version" navigation, so we can ship a history-and-restore feature at a fraction of custom-build cost. The 0.1.2 release also fixes a concurrency bug in how version rows are attributed, which reduces the risk of corrupted history under simultaneous edits.

For engineering: 0.1.2 adds Laravel 5.2 support, adds getNextModel() and getPreviousModel() for walking a model's version chain, and tightens model_id determination to avoid race conditions. Small footprint, plain Eloquent. Two caveats to plan around: it's pre-1.0, so pin the version and isolate the API behind our own adapter; and its framework support skews legacy, so confirm it runs cleanly on our stack before we commit.

Recommendation: Worth a short spike, not a platform commitment. Validate the concurrency fix under load and confirm framework compatibility, then decide whether the traversal methods save us more than the maintenance overhead of an early-stage dependency.

Note: this assessment is derived from the 0.1.2 release notes; no prior evaluation or benchmark data exists. Treat the build-vs-buy comparison and maintenance-risk judgment as provisional pending a hands-on spike.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console