zareismail/markable
Markable is a Laravel package for adding marks such as likes, bookmarks, or favorites to Eloquent models through polymorphic relationships. It provides simple traits and query helpers to attach, remove, and retrieve marks across your application.
composer versioning at 1.0.0 is the substantive signal in this release: the package is now making a semver commitment, which converts it from "unpinnable pre-1.0 churn" to "safe to pin with a caret constraint." That is a procurement/governance decision, not just a technical one.Caveat: this assessment is derived from the v1.0.0 release notes alone. No API surface, docs, test coverage, or download/maintainer data was available at review time, so treat the scope-layer inference as a hypothesis to confirm before committing.
Adopt when:
^1.0 and be insulated from breaking changes.where() chains rather than opaque.Look elsewhere (or inline it) when:
For executives (30 seconds): We evaluated a small Laravel query-scope package that just hit its 1.0 release. The practical upside is low and bounded — it replaces a small amount of hand-written query code with a maintained, versioned dependency. The practical risk is also low and bounded — the package is small enough to replace with in-house code in under a day if it stops being maintained. The 1.0 release is the meaningful event here: it comes with a semver commitment, which means we can pin it and stop worrying about breaking changes on minor upgrades. Recommendation: approve as a normal dependency, not a platform decision.
For engineering: The v1.0.0 changes are a correctness fix to a scope query call and the introduction of composer versioning. The fix is the more informative of the two — it tells us the package's risk is concentrated in query-scope resolution semantics, so our validation should focus there: confirm the scopes compose correctly with our existing global scopes and multi-tenancy setup before we depend on them in a list endpoint. The versioning addition means we can move to a ^1.0 constraint; no breaking changes are introduced by this release and no migration work is required. Before adoption, spend half a day reading the scope implementations and writing one integration test against a real model — if the scopes are thin wrappers around where() clauses, we should vendor them instead of taking the dependency.
How can I help you explore Laravel packages today?