codinglabsau/laravel-feature-flags
A Laravel package for database-backed feature flags. Define flags, enable or disable them globally or for individual users, and check their status in controllers, Blade templates, and middleware through a simple, expressive API.
Feature-flag infrastructure underpins a specific class of product decisions, and this package is a candidate to power them:
The build vs. buy call this informs: build it ourselves (a DB table + a model + a helper) vs. adopt a package. A DB-backed Laravel package is squarely in "cheap to adopt, cheap to rip out" territory, so the PM-level decision is less about licensing cost and more about maintenance risk and API stability. That is precisely the axis on which v1.6.1 is informative — see below.
Assessment of v1.6.1 specifically: a single fix to the FeatureFlag facade alias, which previously pointed at a nonexistent plural class. No new features, no breaking changes, no deprecations. From a roadmap standpoint this is a no-decision release — it does not unlock capability, it does not force migration. It is, however, a credibility signal worth logging: the package shipped a documented facade that didn't actually resolve, which means the public API surface is still being tightened at the 1.x line, and you should not assume the documented usage is battle-tested.
Adopt it when:
Look elsewhere when:
Concrete pre-adoption check for this release: in a throwaway branch, install v1.6.1, register the facade, and confirm FeatureFlag:: resolves. The bug being fixed here is exactly the kind of thing that silently breaks a "quick" integration the day someone copies a snippet from the README.
To executives (30 seconds): We can add feature-flagging for near-zero cost by adopting a small open-source Laravel package that stores flags in our own database — no new vendor contract, no per-seat fees, no data leaving our infrastructure. It lets us ship features dark, roll out gradually, and turn things off instantly if something breaks. The trade-off is that it's maintained by a single developer, so we should treat it as "we may end up owning this code." Given it's a few hundred lines, that's a bet I'm comfortable making for internal tooling and non-regulated surfaces, and not one I'd make for regulated or revenue-critical paths without a fallback.
To engineering: Low-ceremony, DB-backed, native to our stack, forkable. The v1.6.1 release is a one-line facade alias fix — no action required if we're not yet on it, and a trivial patch bump if we are. The substantive read is that the documented facade didn't resolve until now, so treat the public API as "mostly stable" rather than "stable": pin the version, write our own usage notes rather than linking to their docs, and wrap flag reads behind a thin internal interface so swapping to a managed service later is a contained change. Please estimate that wrapper as part of the spike — it's our insurance policy against the maintainer going quiet.
To the wider business (support, sales, marketing): Nothing to communicate. This is infrastructure plumbing with no user-visible change.
How can I help you explore Laravel packages today?