laravolt/suitable
Laravolt Suitable is a Laravel package for adding approval workflows to Eloquent models. It provides configurable statuses, reviewer actions, and history tracking so records can be submitted, approved, or rejected with a clear audit trail.
-> operator when searching a JSON column means a single JSON column (e.g. metadata, settings, attributes, payload) can be queried by key — where('metadata->plan', 'pro') — instead of requiring a schema migration for every new filterable attribute. This directly enables roadmapped features like user-defined fields, per-tenant configurable filters, and admin-side advanced search.whereJsonContains vs. like semantics). This release extends the package's existing search/filter surface rather than forcing the team to hand-roll a query-builder abstraction, so the recommendation stays buy/adopt for the filtering layer.Consider adopting when:
json/jsonb, SQLite with the JSON1 extension). Confirm your matrix explicitly — JSON path behavior is the most likely thing to differ.=, like, in), which is what JSON path predicates are good at.Look elsewhere (or extend) when:
-> path predicate on a plain JSON column generally cannot use a standard index. Plan for generated columns + indexes (MySQL/Postgres) or a denormalized read model before shipping this behind a high-traffic endpoint.Adoption criteria / checklist: verify the Laravel + DB driver versions in your matrix; add integration tests covering nested paths and reserved/special characters in keys; measure the generated SQL on a realistic table size; confirm no reliance on the exact path-parsing behavior of the previous minor.
For executives (one paragraph): A routine, non-breaking patch release of a package we rely on for filtering and search. It adds the ability to filter records on fields stored inside flexible JSON data — the practical effect is that we can ship custom-field and advanced-filter features without new database migrations or new search infrastructure, and therefore without new vendor spend or a platform project. Risk is low (patch version, no deprecations, no required code changes) and the payoff is a roadmap item becoming deliverable in an upcoming cycle rather than a dedicated initiative.
For engineering leads: Semver-patch, additive only — support for the -> operator when searching JSON columns. No API removals, no config changes, no deprecations; upgrade is a composer bump plus a test run. Two caveats worth ticketing: (1) JSON path predicates typically don't use indexes — benchmark on production-shaped data and prefer generated columns for hot filters; (2) add coverage for nested paths and keys containing special characters, since path parsing is the fragile seam. Please also confirm our supported driver matrix in CI exercises at least one JSON-path-capable and one non-capable configuration if we claim portability.
For the product team: Net effect is that "filter by any custom field" moves from needs backend schema work to configurable in the existing filter UI. No user-visible change on its own; it's the enabler for the custom-fields and saved-search stories.
How can I help you explore Laravel packages today?