wickedone/muppet-bundle
Symfony bundle that integrates the Muppet library, registering its services and configuration with Symfony's dependency injection container. Install via Composer, enable it in bundles.php, and configure it to start using Muppet in your application.
What actually shipped in 2.0.0
The 2.0.0 changelog is not a feature changelog. Of the visible entries, only two are authored changes (setup tools, struker badge — almost certainly a Stryker mutation-testing badge and CI/tooling scaffolding). Everything else is Dependabot: phpstan, php-cs-fixer, php_codesniffer, infection, phpunit, php-parser, and a long tail of symfony/* components moved from 5.3.x into 5.4.x. That means the semver-major number was almost certainly triggered by dependency-constraint movement, not by a designed API break — but the maintainer has published no migration guide, upgrade notes, or statement of what changed in the public surface. Treat "no documented breaking change" as unknown, not as safe.
Architecture fit — the framing needs correcting first
This is a Symfony bundle (wickedOne/muppet-bundle), not a Laravel package. That distinction is decisive:
Bundle subclass, a DI extension, and compiler passes resolved by the Symfony kernel at boot. Laravel has no bundle loader; config/bundles.php has no Laravel equivalent.ServiceProvider, no Facade, no config/*.php publish tag, no artisan surface. Dropping it into a Laravel app yields a Composer dependency that is never registered, never booted, and never invoked.Integration feasibility
The hard blocker is the dependency floor. The release pins the symfony/* family at 5.4 (and framework-bundle at 5.4.2 in the visible window). Symfony 5.4 is past end-of-life for fixes and its security window has closed; current Laravel releases ship Symfony 6.x/7.x components. Consequences:
symfony/* downgrade across the whole application — which is not a viable trade.nette/utils, nikic/php-parser, psr/container) is narrow, which is good, but the transitive set is also dev-tooling heavy — a strong hint this bundle is closer to a developer/build-time utility than a runtime service, which changes the risk calculus (see Operational Impact).Technical risk
...). The published list is not complete, so absence of a breaking-change entry is not evidence of absence.Key questions for the maintainer
UPGRADE-2.0.md?Recommendation: Do not adopt for a Laravel codebase. If already consuming it in a Symfony 5.4 app, pin to the last 1.x release and hold until 2.0.0 has a written upgrade guide and a stated framework-support policy.
Stack fit
| Target stack | Fit | Reason |
|---|---|---|
| Laravel 10/11 | None | No service provider; Symfony component constraints conflict |
| Laravel 8/9 (older Symfony components) | Poor | Still no bundle boot path; bridge required |
| Symfony 5.4 | Native | Intended environment, but EOL |
| Symfony 6.x/7.x | Blocked by 2.0.0 constraints | No compatible release identified |
| Standalone PHP / CLI | Depends | Only if the underlying services are instantiable without the kernel |
Migration path (if you are already on 1.x)
composer.json and commit the lockfile. Do not float.composer why symfony/framework-bundle, then composer show --tree on the package. The goal is the constraint delta, not a working install.src/. If src/ is identical or near-identical, the major bump is constraint-only and a ^1.0 || ^2.0-style resolution may be unnecessary — stay on 1.x anyway to avoid the Symfony 5.4 floor being introduced by a future patch.Compatibility checks before any decision
symfony/* constraints from the 2.0.0 composer.json, not from the changelog — the changelog lists transitive bumps, which are a different thing from the package's own require block.framework-bundle is in require or require-dev. If it's dev-only, the production conflict risk drops sharply — this is the highest-value single fact to establish and the changelog does not tell you.Sequencing
require constraints from the 2.0.0 tag.Maintenance
Single-maintainer project (@wickedOne authors both the functional commits and the release). Release cadence is dominated by Dependabot, producing large-version-count, low-information releases. That pattern is fine for a hobby utility and expensive for a production dependency: every bump requires the consumer to do the changelog archaeology that the maintainer hasn't done. Budget for a recurring per-release triage cost, or pin and accept missing fixes.
Support
phpstan / php-cs-fixer / infection bumps indicate genuine investment in static analysis and mutation testing — a positive quality signal, but it measures the maintainer's own codebase, not your integration.Scaling
If this is build/dev tooling (which the dependency mix strongly suggests), runtime scaling is a non-issue — it never runs in the request path, and the concern is CI wall-clock time from added analysis tools. If it does run in the request path, the EOL framework ceiling becomes a production availability concern rather than a hygiene concern. Resolve this ambiguity before signing off; it inverts the risk profile.
Failure modes
src/ between tags rather than trusting the release text.Ramp-up
Low conceptual surface, high discovery cost: the release notes contain zero functional documentation, and the package's purpose must be inferred from dependencies and source. Assume 1–2 days for a competent PHP engineer to establish what it does and whether it is runtime or tooling; add 3–5 days if a Laravel bridge is attempted. No onboarding material should be assumed to exist.
Bottom line: 2.0.0 is a housekeeping release wearing a major version number. It does not make this package more suitable for Laravel — if anything, the Symfony 5.4 floor makes it less suitable than before. Reject for Laravel; hold at 1.x with an explicit pin for Symfony 5.4 consumers; escalate to the maintainer for a support-matrix and upgrade-guide statement before any new adoption.
Assessment status: No prior assessment existed; this constitutes the baseline. Do not re-evaluate on the next Dependabot-only release — re-evaluate only on a change to the require block, a framework-support announcement, or a written upgrade guide.
How can I help you explore Laravel packages today?