setono/client-bundle
Setono ClientBundle provides a ready-to-use client integration for your Symfony application, handling service configuration and dependency injection so you can connect to external APIs with minimal boilerplate and consistent, testable client services.
setono/client-bundle is a small, single-purpose Symfony bundle that persists a client identifier in a cookie and exposes extension points around that write. It directly answers "do we hand-roll our own visitor-ID cookie and consent gate, or take a maintained dependency?" — most teams should not be maintaining this themselves.PreStoreCookieEvent is the product-relevant surface: it lets you defer or veto the cookie write until a CMP has recorded consent. This is a compliance feature, not just a technical hook, and it should be represented in privacy/legal reviews as a supported control rather than a custom patch.level: max, pinned quality tooling, and mutation testing at 100% MSI. That materially lowers the "will this rot / will a silent regression bite us" risk that normally argues against small OSS dependencies, and it is the kind of evidence to cite in a build-vs-buy or vendor-risk memo.Adopt when most of the following hold:
PreStoreCookieEvent) to integrate your existing CMP rather than bolting consent checks onto ad-hoc cookie writes.Look elsewhere when:
For executives: This is a small, actively maintained open-source component that gives us a reliable way to recognise returning visitors and attribute traffic, with a built-in hook so nothing is written to the user's device before consent is captured. The newly published v1.2.0 is a maintenance release — no new features, no API changes, no behavioural changes — so there is no user-facing impact and no product decision attached to it. What it does tell us is that the maintainer invested in static analysis, mutation testing, and rewritten documentation, which is exactly the evidence we want when we choose to depend on a small project instead of building and maintaining the equivalent ourselves. Our recommendation is to take the upgrade as a routine dependency bump and keep the build-vs-buy position unchanged.
For engineering: Drop-in upgrade from v1.1.0 — the changelog explicitly states no public API or runtime changes. Quality bar has gone up (Psalm replaced by PHPStan at max level, tooling unpinned from the setono/code-quality-pack meta-package and individually pinned, Infection added at 100% MSI, PHP 8.1 support retained). Expect the usual lockfile/tooling churn rather than functional risk. The rewritten README now documents requirements, install, the PreStoreCookieEvent consent path, and extension points, which meaningfully lowers onboarding cost for whoever owns this next.
Caveats to state plainly: this is a Symfony bundle, so the "Laravel package" framing overstates its fit for a Laravel codebase — confirm the runtime before we treat it as a candidate. And because v1.2.0 changes nothing functionally, it should not be used as justification for expanding scope into analytics or consent-management territory.
How can I help you explore Laravel packages today?