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

Feature Toggle Laravel Package

joshuaestes/feature-toggle

A feature toggle (feature flag) package for Laravel that lets you enable or disable application features at runtime. Define toggles in configuration, check them cleanly in your code, and roll out or hide functionality without redeploying.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Decoupling deploy from release: shipping dark code behind toggles lets teams merge incomplete work to trunk, keep releases small, and turn a feature on for customers only when the product/commercial decision is ready. This is the core product lever — it turns "when do we release?" from an engineering scheduling problem into a business decision.
  • Progressive delivery / canary exposure: rolling a capability out to internal users, design partners, or a percentage of traffic, and rolling back instantly if metrics degrade. Note: this package's model appears to be simple on/off evaluation, so percentage cohorts and targeting rules would need to be built around it.
  • Kill switches for third-party dependencies: fast mitigation for a flaky payment provider, SMS vendor, or AI endpoint without a revert-and-redeploy cycle. This directly supports incident MTTR and reliability commitments in SLAs.
  • Beta and early-access programs: gating a feature to a waitlist or a named account set, which is often a sales/CS request rather than an engineering one.
  • Packaging and entitlement decisions: if the roadmap includes tiered plans or usage-based pricing, flags are the mechanism for per-tenant feature gating. This package's config-style approach can support coarse entitlements but not per-account segments without extra work.
  • Build vs. buy: the flag layer is a classic "don't build a platform for a boolean" decision. This package represents the cheapest end of the spectrum (a library you vendor). Evaluating it forces the right question: do we need toggles, or do we need experimentation and targeting? Those have very different costs and vendors.
  • Flag lifecycle as a product process: any adoption decision should include ownership, expiry dates, and cleanup. Flags are debt by design; the decision is how much debt you're willing to carry and who pays it down.

When to Consider This Package

Consider it when:

  • You have a small-to-medium Laravel monolith and need straightforward on/off toggles read from configuration — no segmentation, no experimentation, no admin UI.
  • You've verified PHP and Laravel compatibility against your runtime (this is a 2015-era release; assume PHP 5.x/early Laravel idioms and budget for a spike or a fork).
  • You want a tiny, MIT-licensed surface area you can read end-to-end and vendor internally, with no vendor contract, no network calls at evaluation time, and no data leaving your infrastructure.
  • You want a reference implementation to inform a thin in-house abstraction rather than a long-term dependency.
  • The blast radius is contained: internal tools, admin surfaces, non-revenue-critical paths where a stale toggle is annoying rather than expensive.

Look elsewhere when:

  • You need targeting segments, percentage rollouts, A/B experiments, audit trails, approvals, or SSO — that's LaunchDarkly, Unleash, Flagsmith, or GrowthBook territory, and building it yourself is a multi-quarter commitment.
  • You're on modern Laravel (9/10/11) and PHP 8.1+: Laravel Pennant is first-party, actively maintained, supports scoped and lazy-evaluated flags, and removes the abandonment question entirely. For most Laravel shops this is the default answer.
  • You require vendor support, security review, or an SLA. Single maintainer, last release December 2015, zero dependents — that's a supply-chain and bus-factor risk that no amount of clean code offsets for a production-critical path.
  • You need flag evaluation consistency at scale (edge, multi-region, high QPS) or a management UI for non-engineers to flip switches. This package gives you neither.
  • You're compliance-sensitive and need evidence of maintenance, CVE response, or a documented deprecation policy.

How to Pitch It (Stakeholders)

For executives — one paragraph: Feature flags are a delivery-risk reduction capability, not a nice-to-have: they let us ship code continuously while controlling exactly who sees what, cut rollback time from hours to seconds, and unlock gated tiers and beta programs that sales is already asking for. The capability is worth funding. This specific package is not the vehicle — it's a 2015 library with a single maintainer and no downstream users, so adopting it as infrastructure would trade a small license saving for real abandonment and security-review risk. Recommend we standardize on Laravel's first-party Pennant for in-app toggles (free, maintained, fits our stack) and only evaluate a paid platform like LaunchDarkly or Unleash if we commit to experimentation, targeting, and non-engineer flag management. Ask: approve a 1–2 day spike to confirm Pennant covers our near-term use cases, and adopt a flag hygiene policy (owner + expiry on every flag) so we don't accrue permanent dead code.

For engineering — the trade-off: It's a small, readable, MIT-licensed toggle library — easy to vendor or fork. The cost is everything around it: unmaintained since 2015, likely incompatible with current PHP/Laravel without patching, no targeting/percentage evaluation, no audit, no UI, and no community to absorb bugs. Treat it as a prototype or a design reference, not a dependency. Unless we have a hard constraint forcing legacy compatibility, standardize on Pennant (first-party, actively maintained, supports scoped flags and multiple stores) and keep the abstraction thin so a future move to a hosted flag service is a swap, not a rewrite. Either way, instrument flag evaluation and enforce cleanup — the failure mode of feature flags isn't the library, it's the 200 stale flags nobody dares delete.

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.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core