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 Auditing Laravel Package

mintbridge/eloquent-auditing

Eloquent auditing for Laravel models that records create, update, and delete events with the changed attributes, old and new values, and the responsible user, so you can review a full, queryable history of every record directly from your database.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Audit trail / activity log as a feature decision. This package provides the "who changed what, when, and from where" record for Eloquent models. It supports roadmap decisions around compliance-adjacent features (SOC 2, GDPR data-access records, internal investigations) without building a bespoke change-tracking layer.
  • Build vs. buy. v0.0.5 is a strong signal that the package is still an early-stage, thin dependency. If the decision is "build our own audit table," this package is a candidate for buy/adopt only if we accept pre-1.0 risk; otherwise it is a useful reference implementation for our own schema.
  • v0.0.5 specifically reduces implementation cost. Auto-populating the IP address from the Request removes per-write boilerplate from every model/service that audits, and allowing ip_address to be NULL unblocks non-HTTP write paths — queue workers, scheduled commands, artisan/console actions, and seeders. That directly enables decisions like "audit changes made by background jobs" and "audit during CLI-driven migrations/backfills," which previously would have failed or required dummy data.
  • Operational forensics use cases. Customer-support "who changed this record," billing/entitlement tampering investigations, and admin-action review — all of which shape whether we expose an in-app audit viewer, an export, or neither.
  • Retention and data-model decisions. A nullable IP column is a privacy-positive default: we can choose not to capture IPs in jurisdictions/contexts where we don't want to store personal data, rather than being forced into it by a NOT NULL constraint.

When to Consider This Package

  • Consider it when: you need lightweight, model-level change auditing (not full event sourcing), you're on Laravel/Eloquent, the audit volume is modest, and you're comfortable pinning a pre-1.0 dependency while the API stabilizes.
  • Consider it when the request-context convenience matters: the v0.0.5 auto-population is genuinely useful for web-driven admin actions and it degrades gracefully (null IP) in console/queue contexts — a good fit if your write paths are mixed HTTP and jobs.
  • Look elsewhere when: you need immutable/append-only guarantees, tamper-evident logs, long retention with partitioning, or high write throughput — a database table written synchronously from model events becomes a hot path and a data-loss risk if the audit write fails.
  • Look elsewhere when: you need per-field diffs with typed casting, actor impersonation chains, or first-class integration with an external SIEM/warehouse. Also look elsewhere if the 0.0.x version line, single-maintainer risk, or the absence of a documented upgrade policy is unacceptable for a compliance-bearing system.
  • Do not treat this release as production-hardening. Both changes are ergonomics and schema-flexibility fixes, not stability, security, or performance work.

How to Pitch It (Stakeholders)

For executives: This is a small open-source Laravel component that records changes to our database records — who touched what, when, and from where. The new release makes it usable in background jobs and automated processes, not just when a person clicks something in the browser, and it stops forcing us to store an IP address when there isn't a meaningful one to store (a privacy and correctness win). It's early-stage software (version 0.0.5), so the recommendation is to pilot it behind an admin-facing feature rather than make it a compliance dependency.

For engineering: v0.0.5 makes ip_address nullable and auto-fills it from the current Request, so auditing no longer breaks or requires manual plumbing in console, queue, and scheduled contexts. Adopt it for admin-action auditing if you're comfortable pinning a 0.0.x package; validate that audit writes don't silently fail inside model events, and confirm the null-IP path is acceptable for your retention and privacy requirements before relying on it for any regulated record-keeping.

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.
mydnic/volet-feature-board-filament-plugin
wmde/email-address
refinery29/test-util
dees040/laravel-api-responses
teamzac/geocoder
ideatica/config-writer
keaton-php/pipe-dream
jacksonwebservices/laravel-user-suite
maksimru/conditional-laravel-debugbar
gismatul/nova-support-chat
gismatul/laravel-support-chat
networkrailbusinesssystems/oracle-api
alphabalex/messaging-made-easy
rawphp/warp
shootkiran/merobug
narakode/fineauth
numencode/wn-syncops-plugin
ibnnajjaar/mib-global-pay
refinery29/php-cs-fixer-config
parsnick/steak