eve/uuid
eve/uuid is a lightweight Laravel package for UUID primary keys. It helps generate RFC-compliant UUIDs, assign them to Eloquent models, and use UUIDs in routes and database columns with minimal configuration. Simple setup and sensible defaults make UUID support easy to add.
ramsey/uuid, meaning the value-add is roughly a service provider, a facade, and config defaults, not algorithm work.Str::uuid() / Str::orderedUuid(), the HasUuids trait, and the native uuid validation rule — all of which have made the wrapper's original convenience rationale largely obsolete.Adopt only under narrow, explicitly-acknowledged conditions:
Str::uuid() ergonomics) and want config-driven UUID version selection with a facade, in one line of setup.Look elsewhere when:
Str::uuid(), Str::orderedUuid(), Str::ulid(), HasUuids, and the uuid validation rule cover the wrapper's entire plausible surface with zero added dependency.ramsey/uuid ^4.7 (UUIDv7) or symfony/uid for ULID/UUIDv7 rather than through a stale intermediary that may cap the version.To executives: This is a convenience shim over a library we would use anyway. It saves no measurable engineering time, has no adoption (zero dependents), and hasn't shipped since 2020. The downside is an unmaintained dependency in our stack with no one contractually or reputationally on the hook to patch it. Recommendation: no-go — take ramsey/uuid directly, or use Laravel's built-in helpers, which now cover the same ground.
To engineering: Baseline is ramsey/uuid. If teams want a facade or config-driven version selection, we own a ~30-line internal helper with our own tests instead of importing an unmaintained wrapper. The wrapper's only real risk is that it silently pins us to an older Ramsey major, blocking UUIDv7 when we need time-ordered keys for index locality.
Revisit criteria (make the no-go falsifiable): reopen if the maintainer resumes releases with declared support for current PHP/Laravel, if our own teams hit repeated wiring duplication across services, or if a compliance requirement forces a facade-style abstraction. Absent that, this stays out of the approved dependency list.
How can I help you explore Laravel packages today?