jbi/browscap-bundle
Symfony bundle integrating the browscap/browscap-php library to detect browser capabilities from user-agent strings. Adds service configuration and caching for fast, accurate browser, platform, and crawler detection in Symfony applications.
This package is a thin Symfony2 service-container wrapper around the browscap PHP library, which parses User-Agent strings into structured capability data (browser name/version, platform, device type, crawler/bot flag). The product decisions it would inform:
Caveat that overrides all of the above: this specific bundle is archived, has 3 stars, zero dependents, and targets Symfony2 (end-of-life since 2018). Any decision here is really a decision about the underlying browscap-php library or a modern equivalent — not this package.
Adopt this package: effectively never. Archived, unmaintained, Symfony2-only, no downstream dependents, no security response path. Installing it means pinning a dead framework generation and an unpatched dependency tree. There is no scenario where this is the right call for new work.
When the underlying capability is still worth evaluating:
When to look elsewhere:
browscap-php directly behind your own thin service, or better, a maintained alternative such as Matomo's device-detector, which has active releases and broader modern coverage.navigator.userAgentData, feature detection, and CSS @supports handle most presentation decisions without server-side sniffing at all.Migration note if already installed: the bundle contributes almost nothing beyond DI wiring. Replace it with a direct browscap-php dependency (or a modern parser) behind a UserAgentResolver interface so the implementation stays swappable and the detection layer isn't a permanent liability.
To executives: We evaluated a PHP package for browser/device detection and recommend against adoption. It is archived, targets a framework generation we no longer run, has no active user base, and would introduce an unpatched dependency into our stack — a compliance and security exposure with no offsetting benefit. If we need device/browser awareness, it's a small, bounded investment in a maintained library or a low-cost detection service, and we should frame it as infrastructure hygiene rather than a feature bet. Recommend we decline and, if the need is real, scope a two-week spike against a maintained alternative.
To engineering: Treat this as a non-starter — Symfony2-only, archived, 3 stars, zero dependents. The only durable asset in the ecosystem is the Browscap dataset; the bundle is disposable DI glue. If we need UA resolution, depend on browscap-php or device-detector directly, wrap it behind an interface, cache aggressively, and keep it off any security or entitlement decision path — UA strings are spoofable. If the bundle is already in the codebase, schedule removal as tech debt and replace with a direct dependency.
How can I help you explore Laravel packages today?